@vtx/cs-map 1.0.122 → 1.0.123

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (294) hide show
  1. package/CHANGELOG.md +124 -0
  2. package/README.md +202 -202
  3. package/lib/_util/EventEmitter.js.map +1 -1
  4. package/lib/_util/Provider.js.map +1 -1
  5. package/lib/_util/StyleCache.js.map +1 -1
  6. package/lib/_util/cesium.js +10 -10
  7. package/lib/_util/cesium.js.map +1 -1
  8. package/lib/_util/encryptParams.js.map +1 -1
  9. package/lib/_util/filterSpecialCharacters.js +6 -6
  10. package/lib/_util/filterSpecialCharacters.js.map +1 -1
  11. package/lib/_util/generateRandomPosition.js +5 -5
  12. package/lib/_util/generateRandomPosition.js.map +1 -1
  13. package/lib/_util/getBBoxFromGeojson.js +11 -11
  14. package/lib/_util/getBBoxFromGeojson.js.map +1 -1
  15. package/lib/_util/getComponentProps.js.map +1 -1
  16. package/lib/_util/getCookie.js +4 -4
  17. package/lib/_util/getCookie.js.map +1 -1
  18. package/lib/_util/getDefaultMapInfo.js.map +1 -1
  19. package/lib/_util/getSystemInfo.js.map +1 -1
  20. package/lib/_util/getToken.js +2 -2
  21. package/lib/_util/getToken.js.map +1 -1
  22. package/lib/_util/getUrlParam.js.map +1 -1
  23. package/lib/_util/heightAndZoom.js.map +1 -1
  24. package/lib/_util/http.js +18 -18
  25. package/lib/_util/http.js.map +1 -1
  26. package/lib/_util/isFunction.js.map +1 -1
  27. package/lib/_util/isObject.js.map +1 -1
  28. package/lib/_util/layer.js +2 -2
  29. package/lib/_util/layer.js.map +1 -1
  30. package/lib/_util/mapTool.js +34 -34
  31. package/lib/_util/mapTool.js.map +1 -1
  32. package/lib/_util/parabola.js +7 -7
  33. package/lib/_util/parabola.js.map +1 -1
  34. package/lib/_util/setCookie.js +4 -4
  35. package/lib/_util/setCookie.js.map +1 -1
  36. package/lib/_util/transformRgb.js.map +1 -1
  37. package/lib/_util/useColSize.js.map +1 -1
  38. package/lib/_util/useInterval.js.map +1 -1
  39. package/lib/_util/useProps.js.map +1 -1
  40. package/lib/_util/useSet.js.map +1 -1
  41. package/lib/building-tiles-layer/BuildingTilesLayer.js +2 -2
  42. package/lib/building-tiles-layer/BuildingTilesLayer.js.map +1 -1
  43. package/lib/building-tiles-layer/index.js.map +1 -1
  44. package/lib/building-tiles-layer/style/css.js.map +1 -1
  45. package/lib/building-tiles-layer/style/index.js.map +1 -1
  46. package/lib/cesium-tiles-layer/CesiumTilesLayer.js +2 -2
  47. package/lib/cesium-tiles-layer/CesiumTilesLayer.js.map +1 -1
  48. package/lib/cesium-tiles-layer/demo/index.less +111 -111
  49. package/lib/cesium-tiles-layer/demo/putian/index.less +27 -27
  50. package/lib/cesium-tiles-layer/index.js.map +1 -1
  51. package/lib/cesium-tiles-layer/style/css.js.map +1 -1
  52. package/lib/cesium-tiles-layer/style/index.js.map +1 -1
  53. package/lib/circle/Circle.js +2 -2
  54. package/lib/circle/Circle.js.map +1 -1
  55. package/lib/circle/index.js.map +1 -1
  56. package/lib/circle-fly/index.js.map +1 -1
  57. package/lib/circle-fly/style/css.js.map +1 -1
  58. package/lib/circle-fly/style/index.js.map +1 -1
  59. package/lib/cone-glow-layer/BottomCircle.js.map +1 -1
  60. package/lib/cone-glow-layer/ButtomRotateCircle.js +8 -8
  61. package/lib/cone-glow-layer/ButtomRotateCircle.js.map +1 -1
  62. package/lib/cone-glow-layer/ConeGlowLayer.js.map +1 -1
  63. package/lib/cone-glow-layer/Texture.js.map +1 -1
  64. package/lib/config.js.map +1 -1
  65. package/lib/demand-layer/index.js.map +1 -1
  66. package/lib/demand-layer/style/css.js.map +1 -1
  67. package/lib/demand-layer/style/index.js.map +1 -1
  68. package/lib/dom/Dom.js.map +1 -1
  69. package/lib/dom/index.js +2 -2
  70. package/lib/dom/index.js.map +1 -1
  71. package/lib/events/index.js.map +1 -1
  72. package/lib/excavation-analysis/Cut.js +19 -19
  73. package/lib/excavation-analysis/Cut.js.map +1 -1
  74. package/lib/excavation-analysis/TilesetCut.js +5 -5
  75. package/lib/excavation-analysis/TilesetCut.js.map +1 -1
  76. package/lib/excavation-analysis/hooks/useDrawHandler.js.map +1 -1
  77. package/lib/excavation-analysis/hooks/useTerrainClipPlan.js.map +1 -1
  78. package/lib/excavation-analysis/hooks/useTileSetCut.js.map +1 -1
  79. package/lib/excavation-analysis/index.js.map +1 -1
  80. package/lib/excavation-analysis/style/css.js.map +1 -1
  81. package/lib/excavation-analysis/style/index.js.map +1 -1
  82. package/lib/feature-layer/FeatureLayer.js +2 -2
  83. package/lib/feature-layer/FeatureLayer.js.map +1 -1
  84. package/lib/feature-layer/createFeatureCollection.js +11 -11
  85. package/lib/feature-layer/createFeatureCollection.js.map +1 -1
  86. package/lib/feature-layer/index.js +2 -2
  87. package/lib/feature-layer/index.js.map +1 -1
  88. package/lib/feature-layer/style/css.js.map +1 -1
  89. package/lib/feature-layer/style/index.js.map +1 -1
  90. package/lib/fence-layer/FenceLayer.js.map +1 -1
  91. package/lib/fence-layer/GradualLightRingMaterialProperty.js +5 -5
  92. package/lib/fence-layer/GradualLightRingMaterialProperty.js.map +1 -1
  93. package/lib/fence-layer/index.js.map +1 -1
  94. package/lib/fence-layer/style/css.js.map +1 -1
  95. package/lib/fence-layer/style/index.js.map +1 -1
  96. package/lib/flight-line-layer/FlightLineLayer.js.map +1 -1
  97. package/lib/flight-line-layer/index.js +2 -2
  98. package/lib/flight-line-layer/index.js.map +1 -1
  99. package/lib/flight-line-layer/style/css.js.map +1 -1
  100. package/lib/flight-line-layer/style/index.js.map +1 -1
  101. package/lib/fly-line-layer/FlyLineLayer.js.map +1 -1
  102. package/lib/fly-line-layer/LineFlowMaterialProperty.js.map +1 -1
  103. package/lib/fly-line-layer/index.js.map +1 -1
  104. package/lib/fly-line-layer/style/css.js.map +1 -1
  105. package/lib/fly-line-layer/style/index.js.map +1 -1
  106. package/lib/gif-dom-layer/GifDomLayer.js.map +1 -1
  107. package/lib/gif-dom-layer/index.js.map +1 -1
  108. package/lib/gif-dom-layer/style/css.js.map +1 -1
  109. package/lib/gif-dom-layer/style/index.js.map +1 -1
  110. package/lib/gradation-line-layer/GradationLineLayer.js.map +1 -1
  111. package/lib/gradation-line-layer/index.js.map +1 -1
  112. package/lib/gradation-line-layer/style/css.js.map +1 -1
  113. package/lib/gradation-line-layer/style/index.js.map +1 -1
  114. package/lib/group-layer/GroupLayer.js.map +1 -1
  115. package/lib/group-layer/index.js.map +1 -1
  116. package/lib/group-layer/style/css.js.map +1 -1
  117. package/lib/group-layer/style/index.js.map +1 -1
  118. package/lib/heatmap-layer/CesiumHeatmap.js +20 -20
  119. package/lib/heatmap-layer/CesiumHeatmap.js.map +1 -1
  120. package/lib/heatmap-layer/HeatmapLayer.js.map +1 -1
  121. package/lib/heatmap-layer/heatmap.js +41 -41
  122. package/lib/heatmap-layer/heatmap.js.map +1 -1
  123. package/lib/heatmap-layer/index.js +2 -2
  124. package/lib/heatmap-layer/index.js.map +1 -1
  125. package/lib/heatmap-layer/style/css.js.map +1 -1
  126. package/lib/heatmap-layer/style/index.js.map +1 -1
  127. package/lib/highlight-layer/HighlightLayer.js +10 -9
  128. package/lib/highlight-layer/HighlightLayer.js.map +1 -1
  129. package/lib/highlight-layer/index.js.map +1 -1
  130. package/lib/highlight-layer/style/css.js.map +1 -1
  131. package/lib/highlight-layer/style/index.js.map +1 -1
  132. package/lib/image-layer/ImageLayer.js.map +1 -1
  133. package/lib/image-layer/index.js +2 -2
  134. package/lib/image-layer/index.js.map +1 -1
  135. package/lib/image-layer/style/css.js.map +1 -1
  136. package/lib/image-layer/style/index.js.map +1 -1
  137. package/lib/image-wms-layer/ImageWmsLayer.js +2 -2
  138. package/lib/image-wms-layer/ImageWmsLayer.js.map +1 -1
  139. package/lib/image-wms-layer/index.js +2 -2
  140. package/lib/image-wms-layer/index.js.map +1 -1
  141. package/lib/image-wms-layer/style/css.js.map +1 -1
  142. package/lib/image-wms-layer/style/index.js.map +1 -1
  143. package/lib/index.js.map +1 -1
  144. package/lib/inundate-analysis/index.js.map +1 -1
  145. package/lib/inundate-analysis/style/css.js.map +1 -1
  146. package/lib/inundate-analysis/style/index.js.map +1 -1
  147. package/lib/label/Label.js +2 -2
  148. package/lib/label/Label.js.map +1 -1
  149. package/lib/label/index.js.map +1 -1
  150. package/lib/legend/index.js +2 -2
  151. package/lib/legend/index.js.map +1 -1
  152. package/lib/legend/style/css.js.map +1 -1
  153. package/lib/legend/style/index.js.map +1 -1
  154. package/lib/legend/style/index.less +74 -74
  155. package/lib/line-flow-layer/LineFlowLayer.js.map +1 -1
  156. package/lib/line-flow-layer/index.js.map +1 -1
  157. package/lib/line-flow-layer/style/css.js.map +1 -1
  158. package/lib/line-flow-layer/style/index.js.map +1 -1
  159. package/lib/map/InfoTool/index.js +43 -43
  160. package/lib/map/InfoTool/index.js.map +1 -1
  161. package/lib/map/InfoTool/index.less +46 -46
  162. package/lib/map/InfoTool/util.js +23 -23
  163. package/lib/map/InfoTool/util.js.map +1 -1
  164. package/lib/map/InfoWindow.js.map +1 -1
  165. package/lib/map/Layers.js.map +1 -1
  166. package/lib/map/Popup.js +14 -9
  167. package/lib/map/Popup.js.map +1 -1
  168. package/lib/map/base/imagery/amap/AmapImageryProvider.js.map +1 -1
  169. package/lib/map/base/imagery/amap/AmapMercatorTilingScheme.js.map +1 -1
  170. package/lib/map/base/imagery/baidu/BaiduImageryProvider.js.map +1 -1
  171. package/lib/map/base/imagery/baidu/BaiduMercatorProjection.js +77 -77
  172. package/lib/map/base/imagery/baidu/BaiduMercatorProjection.js.map +1 -1
  173. package/lib/map/base/imagery/baidu/BaiduMercatorTilingScheme.js +13 -13
  174. package/lib/map/base/imagery/baidu/BaiduMercatorTilingScheme.js.map +1 -1
  175. package/lib/map/base/imagery/geoq/GeoQImageryProvider.js.map +1 -1
  176. package/lib/map/base/imagery/google/GoogleImageryProvider.js.map +1 -1
  177. package/lib/map/base/imagery/irs/IRSImageryProvider.js.map +1 -1
  178. package/lib/map/base/imagery/tdt/JiangSuTdtImageryProvider.js.map +1 -1
  179. package/lib/map/base/imagery/tdt/TdtImageryProvider.js.map +1 -1
  180. package/lib/map/base/imagery/tencent/TencentImageryProvider.js.map +1 -1
  181. package/lib/map/base/imagery/transform/AmapMercatorTilingScheme.js.map +1 -1
  182. package/lib/map/base/imagery/transform/CoordTransform.js +42 -42
  183. package/lib/map/base/imagery/transform/CoordTransform.js.map +1 -1
  184. package/lib/map/base/index.js +2 -2
  185. package/lib/map/base/index.js.map +1 -1
  186. package/lib/map/hooks/useGetMapFeatureInfoByText.js.map +1 -1
  187. package/lib/map/index.js +4 -4
  188. package/lib/map/index.js.map +1 -1
  189. package/lib/map/material/AroundPoint.js.map +1 -1
  190. package/lib/map/material/CircleRippleMaterialProperty.js +5 -5
  191. package/lib/map/material/CircleRippleMaterialProperty.js.map +1 -1
  192. package/lib/map/material/ODLineLayer.js.map +1 -1
  193. package/lib/map/material/PolylineTrailLinkMaterialProperty.js.map +1 -1
  194. package/lib/map/material/PolylineTrailMaterialProperty.js.map +1 -1
  195. package/lib/map/material/TilesBuilding.js.map +1 -1
  196. package/lib/map/material/index.js.map +1 -1
  197. package/lib/map/style/css.js.map +1 -1
  198. package/lib/map/style/index.js.map +1 -1
  199. package/lib/map/style/index.less +248 -248
  200. package/lib/marker/Marker.js +2 -2
  201. package/lib/marker/Marker.js.map +1 -1
  202. package/lib/marker/index.js.map +1 -1
  203. package/lib/model/Model.js +2 -2
  204. package/lib/model/Model.js.map +1 -1
  205. package/lib/model/index.js +2 -2
  206. package/lib/model/index.js.map +1 -1
  207. package/lib/navigation/index.js.map +1 -1
  208. package/lib/navigation/style/css.js.map +1 -1
  209. package/lib/navigation/style/index.js.map +1 -1
  210. package/lib/navigation/style/index.less +176 -176
  211. package/lib/pipe-tiles-layer/PipeTilesLayer.js.map +1 -1
  212. package/lib/pipe-tiles-layer/index.js.map +1 -1
  213. package/lib/pipe-tiles-layer/style/css.js.map +1 -1
  214. package/lib/pipe-tiles-layer/style/index.js.map +1 -1
  215. package/lib/point/Point.js +2 -2
  216. package/lib/point/Point.js.map +1 -1
  217. package/lib/point/index.js.map +1 -1
  218. package/lib/polygon/Polygon.js +2 -2
  219. package/lib/polygon/Polygon.js.map +1 -1
  220. package/lib/polygon/index.js.map +1 -1
  221. package/lib/polyline/Polyline.js +2 -2
  222. package/lib/polyline/Polyline.js.map +1 -1
  223. package/lib/polyline/index.js.map +1 -1
  224. package/lib/renderer/index.js +24 -18
  225. package/lib/renderer/index.js.map +1 -1
  226. package/lib/renderer/style/css.js.map +1 -1
  227. package/lib/renderer/style/index.js.map +1 -1
  228. package/lib/road-line-layer/RoadLineLayer.js +1 -3
  229. package/lib/road-line-layer/RoadLineLayer.js.map +1 -1
  230. package/lib/road-line-layer/index.js.map +1 -1
  231. package/lib/road-line-layer/style/css.js.map +1 -1
  232. package/lib/road-line-layer/style/index.js.map +1 -1
  233. package/lib/scene-roam/index.js.map +1 -1
  234. package/lib/scene-roam/style/css.js.map +1 -1
  235. package/lib/scene-roam/style/index.js.map +1 -1
  236. package/lib/slider-scene/index.js.map +1 -1
  237. package/lib/slider-scene/style/css.js.map +1 -1
  238. package/lib/slider-scene/style/index.js.map +1 -1
  239. package/lib/slider-scene/style/index.less +13 -13
  240. package/lib/split-screen/index.js +2 -2
  241. package/lib/split-screen/index.js.map +1 -1
  242. package/lib/style/index.less +2 -2
  243. package/lib/style/themes/compact.less +1 -1
  244. package/lib/style/themes/dark.less +9 -9
  245. package/lib/style/themes/default.less +7 -7
  246. package/lib/style/themes/index.less +1 -1
  247. package/lib/style/themes/variable.less +5 -5
  248. package/lib/three-line-layer/ThreeLineLayer.js.map +1 -1
  249. package/lib/three-line-layer/index.js.map +1 -1
  250. package/lib/three-line-layer/style/css.js.map +1 -1
  251. package/lib/three-line-layer/style/index.js.map +1 -1
  252. package/lib/three-point-layer/DiffuseCircle.js.map +1 -1
  253. package/lib/three-point-layer/ThreePointLayer.js.map +1 -1
  254. package/lib/three-point-layer/index.js.map +1 -1
  255. package/lib/three-point-layer/style/css.js.map +1 -1
  256. package/lib/three-point-layer/style/index.js.map +1 -1
  257. package/lib/tools/base-map-switch/index.js.map +1 -1
  258. package/lib/tools/components/Icon/svg.js.map +1 -1
  259. package/lib/tools/components/item-wrap/index.js.map +1 -1
  260. package/lib/tools/index.js.map +1 -1
  261. package/lib/tools/layer-control/index.js +2 -2
  262. package/lib/tools/layer-control/index.js.map +1 -1
  263. package/lib/tools/layer-control-popover/LayersCheckService.js.map +1 -1
  264. package/lib/tools/loading/index.js.map +1 -1
  265. package/lib/tools/map-search/Select/index.js +7 -7
  266. package/lib/tools/map-search/Select/index.js.map +1 -1
  267. package/lib/tools/map-search/Select/style/css.js.map +1 -1
  268. package/lib/tools/map-search/Select/style/index.js.map +1 -1
  269. package/lib/tools/map-search/Select/style/index.less +47 -47
  270. package/lib/tools/map-search/index.js +5 -5
  271. package/lib/tools/map-search/index.js.map +1 -1
  272. package/lib/tools/tip/index.js.map +1 -1
  273. package/lib/tools/tool-box/Measure/Area/index.js.map +1 -1
  274. package/lib/tools/tool-box/Measure/Distance/index.js.map +1 -1
  275. package/lib/tools/tool-box/Measure/index.js +2 -2
  276. package/lib/tools/tool-box/Measure/index.js.map +1 -1
  277. package/lib/trail-polyline-layer/TrailPolylineLayer.js.map +1 -1
  278. package/lib/trail-polyline-layer/TrailPolylineMaterial.js.map +1 -1
  279. package/lib/trail-polyline-layer/style/css.js.map +1 -1
  280. package/lib/trail-polyline-layer/style/index.js.map +1 -1
  281. package/lib/wall/WallGeometry.js.map +1 -1
  282. package/lib/wall/style/css.js.map +1 -1
  283. package/lib/wall/style/index.js.map +1 -1
  284. package/lib/water-surface-layer/WaterSurfaceLayer.js +2 -2
  285. package/lib/water-surface-layer/WaterSurfaceLayer.js.map +1 -1
  286. package/lib/water-surface-layer/index.js.map +1 -1
  287. package/lib/water-surface-layer/style/css.js.map +1 -1
  288. package/lib/water-surface-layer/style/index.js.map +1 -1
  289. package/lib/weather/Weather.js +28 -28
  290. package/lib/weather/Weather.js.map +1 -1
  291. package/lib/weather/index.js.map +1 -1
  292. package/lib/weather/style/css.js.map +1 -1
  293. package/lib/weather/style/index.js.map +1 -1
  294. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_cesium","_ahooks","_HighlightLayer","_base","_getDefaultMapInfo2","_classnames","_events","_Popup","_Provider","_Layers","_EventEmitter","_useGetMapFeatureInfoByText","_lodash","_createFeatureCollection","_getBBoxFromGeojson","_heightAndZoom","_TdtImageryProvider","_IRSImageryProvider","_excluded","_excluded2","e","__esModule","_getRequireWildcardCache","WeakMap","r","t","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_construct","_isNativeReflectConstruct","Reflect","construct","apply","arguments","o","push","p","bind","_setPrototypeOf","prototype","setPrototypeOf","Boolean","valueOf","_regeneratorRuntime","value","Symbol","iterator","c","asyncIterator","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","_next","_throw","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","Array","from","isArray","_arrayLikeToArray","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","indexOf","propertyIsEnumerable","ownKeys","filter","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","_toPrimitive","toPrimitive","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","test","Map","props","_props$width","width","_props$height","height","_props$dark","dark","tk","children","onCloseTemplateBefore","onZoom","_props$defaultPitch","defaultPitch","_props$onEvents","onEvents","baseMapUrl","_props$duration","duration","_props$baseMapStyle","baseMapStyle","imageryProvider","style","_props$autoView","autoView","_props$closePopupAuto","closePopupAutoView","_props$highlightColor","highlightColor","hideHighlight","wrapDomStyle","mapDomStyle","baseMapOptions","_props$viewMode","viewMode","baseColor","setLoading","_useState","useState","_useState2","mapLoaded","setMapLoaded","_useState3","_useState4","tipVis","setTipVis","_useState5","_useState6","tip","setTip","mapRef","useRef","mapDomRef","tipRef","popupRef","getMapFeatureInfoByText","useGetMapFeatureInfoByText","useEffect","initMap","useUpdateEffect","current","baseMap","setBaseMap","JSON","stringify","addLabelImageryProvider","hideLabel","cia","TdtLabelImageryProvider","imageryLayers","addImageryProvider","IRSLabelImageryProvider","layers","_layers","ciaLayer","find","item","_item$_imageryProvide","_imageryProvider","_layer","remove","center","fitViewHeight","zoom","createdMap","options","_getDefaultMapInfo","getDefaultMapInfo","minZoom","maxZoom","defaultZoomLevel","longitude","latitude","viewDefault","z","zoomToHeight","Ion","defaultAccessToken","Imagery","url","crs","map","Viewer","shouldAnimate","animation","baseLayerPicker","fullscreenButton","geocoder","homeButton","timeline","infoBox","sceneModePicker","selectionIndicator","sceneMode","SceneMode","SCENE3D","navigationHelpButton","scene3DOnly","navigationInstructionsInitiallyVisible","showRenderLoopErrors","process","env","NODE_ENV","orderIndependentTranslucency","_viewDefault","scene","globe","Color","fromCssColorString","eventEmitter","EventEmitter","helper","EventHelper","add","tileLoadProgressEvent","emit","RequestScheduler","maximumRequestsPerServer","throttleRequests","_cesiumWidget","_creditContainer","display","BaseMap","layer","Layers","highlightLayer","HighlightLayer","color","on","layersChange","layersAdd","layersRemove","layersClear","visible","onChange","hideTemplate","layersVisible","getAllKeys","getLayersShowKeys","getShowKeys","getLayersHiddenKeys","getHiddenKeys","setLayersShowByKeys","_keys","setShowByKeys","setLayersHideByKeys","setHideByKeys","addLayer","index","removeLayer","clearLayers","getImageLayers","getFeatureLayers","getImageryLastIndex","_index","getImageryLayers","findIndex","zIndex","_i","getAllLayers","_map$dataSources","_map$imageryLayers","_map$scene","dataSources","_dataSources","primitives","_primitives","concat","_map$imageryLayers2","key","includes","getLayerByFeature","entity","ImageryLayerFeatureInfo","_entity$imageryLayer","imageryLayer","Cesium3DTileset","Cesium3DTileFeature","_entity$primitive","primitive","Primitive","_entity$primitive2","get3DTileFeatureProperties","feature","properties","getPropertyNames","propertyIds","propertyId","getProperty","getProperties","_feature$primitive","data","id","_feature$_properties","_properties","getValue","_id","getLayerByKey","getLayerById","getLayerByKeys","destroyhighlightLayer","clearFeatures","addHighlightFeature","getVisibleLayersByKeys","show","showTip","content","hideTip","showTemplateByFilter","_ref","_callee","field","_highlightLayer","obj","_callee$","_context","getFeatureByFieldValue","features","showTemplate","_x","_x2","_x3","_x4","handleEvent","ScreenSpaceEventHandler","canvas","pickDataSourcesFeature","event","position","_pick","pick","isObject","checkClickable","pickImageryLayerFeatures","pickRay","camera","getPickRay","getCenterPosition","centerResult","pickEllipsoid","Cartesian2","clientWidth","clientHeight","curPosition","Ellipsoid","WGS84","cartesianToCartographic","curLongitude","window","Math","PI","curLatitude","setViewMode","fitView","getViewExtend","params","extend","computeViewRectangle","upperLeft","lowerRight","ellipsoid","upperLeft3","lowerRight3","upperLeftCartographic","lowerRightCartographic","minx","CesiumMath","toDegrees","maxx","miny","maxy","east","north","west","south","heightToZoom","registerEventLayer","registerMapEvent","registerEvent","eventName","_feature$eventName","unclickable","viewOnly","setInputAction","lonLat","getPositionLonLat","_clickObject","cancelBubble","template","onClickTemplateAfter","featuresPromise","_layer$cluster","cluster","defined","handleFeatures","sort","b","_layerIndex","when","ScreenSpaceEventType","LEFT_CLICK","trackedEntity","undefined","LEFT_DOUBLE_CLICK","hoverFeature","getUid","random","endPosition","labelField","tipTemplate","label","uid","hoverUid","MOUSE_MOVE","moveEnd","addEventListener","viewRectangle","cameraHeight","positionCartographic","ceil","_ref2","geoJson","geometryInfo","lng","lat","_ref2$height","rest","pitch","flyTo","offset","heading","toRadians","range","destination","Cartesian3","fromDegrees","orientation","roll","_geoJson","createFeatureCollection","box","getBBoxFromGeojson","padding","unit","Rectangle","_viewDefault$center","x","_viewDefault$center$","flyToBoundingSphere","BoundingSphere","HeadingPitchRange","cartesian","cartographic","Cartographic","fromCartesian","setTimeout","_viewDefault$center2","_viewDefault$center2$","setView","onMouseMove","left","nativeEvent","layerX","top","layerY","createElement","background","className","classnames","ref","onMouseOver","onMouseOut","showModal","_default","exports","propTypes","PropTypes","oneOfType","string","number","func","array","bool","mapStyle","isRequired","object","node"],"sources":["map/index.jsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport {\r\n Viewer,\r\n SceneMode,\r\n Cartesian3,\r\n Ion,\r\n defined,\r\n when,\r\n ScreenSpaceEventHandler,\r\n ScreenSpaceEventType,\r\n ImageryLayerFeatureInfo,\r\n Primitive,\r\n Cartesian2,\r\n Ellipsoid,\r\n Cartographic,\r\n Math as CesiumMath,\r\n Rectangle,\r\n BoundingSphere,\r\n HeadingPitchRange,\r\n RequestScheduler,\r\n Cesium3DTileFeature,\r\n Cesium3DTileset,\r\n EventHelper,\r\n Color,\r\n} from 'cesium';\r\nimport { useUpdateEffect } from 'ahooks';\r\nimport HighlightLayer from '../highlight-layer/HighlightLayer';\r\nimport { BaseMap, Imagery } from './base';\r\nimport './material';\r\nimport getDefaultMapInfo from '../_util/getDefaultMapInfo';\r\nimport 'cesium/Build/Cesium/Widgets/widgets.css';\r\nimport classnames from 'classnames';\r\nimport { registerEventLayer } from '../events';\r\nimport Popup from './Popup';\r\nimport Provider from '../_util/Provider';\r\nimport Layers from './Layers';\r\nimport EventEmitter from '../_util/EventEmitter';\r\nimport useGetMapFeatureInfoByText from './hooks/useGetMapFeatureInfoByText';\r\nimport { isObject } from 'lodash';\r\nimport { createFeatureCollection } from '../feature-layer/createFeatureCollection';\r\nimport getBBoxFromGeojson from '../_util/getBBoxFromGeojson.js';\r\nimport { heightToZoom, zoomToHeight } from '../_util/heightAndZoom.js';\r\nimport { TdtLabelImageryProvider } from './base/imagery/tdt/TdtImageryProvider';\r\nimport { IRSLabelImageryProvider } from './base/imagery/irs/IRSImageryProvider';\r\n\r\nfunction Map(props) {\r\n const {\r\n width = '100%',\r\n height = '100%',\r\n dark = true,\r\n tk,\r\n children,\r\n onCloseTemplateBefore,\r\n onZoom,\r\n defaultPitch = -88.0,\r\n onEvents = {},\r\n baseMapUrl,\r\n duration = 3,\r\n baseMapStyle = {\r\n imageryProvider: 'GeoQImageryProvider',\r\n style: 'Blue',\r\n },\r\n autoView = true,\r\n closePopupAutoView = true,\r\n highlightColor = '#f7ff01',\r\n hideHighlight,\r\n wrapDomStyle,\r\n mapDomStyle,\r\n baseMapOptions,\r\n viewMode = '2D',\r\n baseColor,\r\n setLoading,\r\n } = props;\r\n\r\n const [mapLoaded, setMapLoaded] = useState(false);\r\n const [tipVis, setTipVis] = useState(false);\r\n const [tip, setTip] = useState(null);\r\n\r\n const mapRef = useRef(null);\r\n const mapDomRef = useRef(null);\r\n const tipRef = useRef(null);\r\n const popupRef = useRef();\r\n const getMapFeatureInfoByText = useGetMapFeatureInfoByText(mapRef);\r\n\r\n useEffect(() => {\r\n initMap();\r\n\r\n return () => {\r\n setLoading?.(false);\r\n };\r\n }, []);\r\n\r\n useUpdateEffect(() => {\r\n if (mapRef.current) {\r\n mapRef.current.baseMap.setBaseMap(baseMapStyle);\r\n }\r\n }, [JSON.stringify(baseMapStyle)]);\r\n\r\n const addLabelImageryProvider = () => {\r\n if (!baseMapStyle.hideLabel) {\r\n // 调用影响中文注记服务\r\n if (baseMapStyle.imageryProvider === 'TdtImageryProvider') {\r\n let cia = new TdtLabelImageryProvider({ tk, ...baseMapStyle });\r\n mapRef.current.imageryLayers.addImageryProvider(cia); // 添加到cesium图层上\r\n } else if (baseMapStyle.imageryProvider === 'IRSImageryProvider') {\r\n let cia = new IRSLabelImageryProvider(baseMapStyle);\r\n mapRef.current.imageryLayers.addImageryProvider(cia); // 添加到cesium图层上\r\n }\r\n } else {\r\n if (mapRef.current) {\r\n let layers = mapRef.current.imageryLayers._layers || [];\r\n const ciaLayer = layers.find(item => item._imageryProvider?._layer === 'cia_w');\r\n if (ciaLayer) {\r\n mapRef.current.imageryLayers.remove(ciaLayer);\r\n }\r\n }\r\n }\r\n };\r\n\r\n const initMap = () => {\r\n const { center, fitViewHeight, dark, zoom, createdMap, ...options } = props;\r\n\r\n let { minZoom, maxZoom, defaultZoomLevel, longitude, latitude } = getDefaultMapInfo();\r\n\r\n // 全屏\r\n let viewDefault = {\r\n center: center ||\r\n (longitude && latitude && [longitude, latitude]) || [120.081627, 30.89638],\r\n zoom: zoom || (defaultZoomLevel && Number(defaultZoomLevel)) || 0,\r\n minZoom: (minZoom && Number(minZoom)) || 0,\r\n maxZoom: (maxZoom && Number(maxZoom)) || 20,\r\n };\r\n\r\n if (viewDefault.zoom && !viewDefault.center[3]) {\r\n let z = zoomToHeight(viewDefault.zoom);\r\n viewDefault.center = [viewDefault.center[0], viewDefault.center[1], z];\r\n }\r\n\r\n Ion.defaultAccessToken =\r\n 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJhZjc0ZDQ1ZS0wNWNhLTRhMDQtODJmYy03NTcyNDcxYzgzMDUiLCJpZCI6NzE4MTQsImlhdCI6MTYzNTQ3NzgyNX0.4TrdZWPWc9_6jLeGe90bRmBPB14XptwinSewVMu1iCE';\r\n\r\n let imageryProvider = baseMapStyle.imageryProvider && Imagery[baseMapStyle.imageryProvider] && new Imagery[baseMapStyle.imageryProvider]({\r\n style: baseMapStyle.style,\r\n url: baseMapUrl,\r\n crs: 'WGS84',\r\n dark,\r\n ...baseMapStyle,\r\n });\r\n\r\n let map = new Viewer(mapDomRef.current, {\r\n shouldAnimate: true,\r\n animation: false, // 控制场景动画的播放速度控件\r\n baseLayerPicker: false, // 底图切换控件\r\n fullscreenButton: false, // 全屏控件\r\n geocoder: false, // 地理位置查询定位控件\r\n homeButton: false, // 默认相机位置控件\r\n timeline: false, // 时间滚动条控件\r\n infoBox: false, //是否显示信息框\r\n sceneModePicker: false, //是否显示3D/2D选择器\r\n selectionIndicator: false, // 点击点绿色弹出 是否显示选取指示器组件\r\n sceneMode: SceneMode.SCENE3D, //设定3维地图的默认场景模式: SceneMode.SCENE2D、SceneMode.SCENE3D、SceneMode.MORPHING\r\n navigationHelpButton: false, // 默认的相机控制提示控件\r\n scene3DOnly: true, // 每个几何实例仅以3D渲染以节省GPU内存\r\n navigationInstructionsInitiallyVisible: false,\r\n showRenderLoopErrors: process.env.NODE_ENV === 'development', //是否显示渲染错误\r\n orderIndependentTranslucency: false, //设置背景透明\r\n imageryProvider,\r\n\r\n ...options,\r\n });\r\n\r\n map._viewDefault = viewDefault;\r\n\r\n // 设置地球暗色\r\n if (dark) {\r\n map.scene.globe.baseColor = Color.fromCssColorString('#152937');\r\n }\r\n\r\n // 设置地球颜色\r\n if (baseColor) {\r\n map.scene.globe.baseColor = Color.fromCssColorString(baseColor);\r\n }\r\n\r\n // 事件订阅\r\n map.eventEmitter = new EventEmitter();\r\n\r\n // 监听加载是否完成\r\n const helper = new EventHelper();\r\n helper.add(map.scene.globe.tileLoadProgressEvent, e => {\r\n setLoading?.(true);\r\n map.eventEmitter.emit('loading', e);\r\n if (e === 0) {\r\n setLoading?.(false);\r\n }\r\n });\r\n\r\n // 设置cesium请求调度器的最大并发数量\r\n RequestScheduler.maximumRequestsPerServer = 18;\r\n\r\n // 关闭请求调度器的请求节流\r\n RequestScheduler.throttleRequests = false;\r\n\r\n map.viewMode = viewMode;\r\n\r\n // 自动调整视角\r\n map.autoView = autoView;\r\n\r\n // 关闭气泡自动调整视角\r\n map.closePopupAutoView = closePopupAutoView;\r\n\r\n // 去版权信息\r\n map._cesiumWidget._creditContainer.style.display = 'none'; // 隐藏cesium ion\r\n\r\n mapRef.current = map;\r\n map.dark = dark;\r\n\r\n // 地图fit高度\r\n map.fitViewHeight = fitViewHeight || 5000;\r\n\r\n // 隐藏高亮效果\r\n map.hideHighlight = hideHighlight;\r\n\r\n // 底图服务\r\n map.baseMap = new BaseMap({\r\n map,\r\n imageryProvider: baseMapStyle.imageryProvider,\r\n style: baseMapStyle.style,\r\n layer: imageryProvider,\r\n options: baseMapOptions,\r\n });\r\n\r\n // 添加 dataSource 和 imagery 图层\r\n map.layers = new Layers({ map });\r\n\r\n // 高亮图层\r\n map.highlightLayer = new HighlightLayer({\r\n map,\r\n color: highlightColor,\r\n });\r\n\r\n // 图层改变的时候\r\n map.layers.on('change', layers => {\r\n onEvents.layersChange && onEvents.layersChange(layers);\r\n map.eventEmitter.emit('layersChange', layers);\r\n });\r\n\r\n // 图层新增\r\n map.layers.on('add', layer => {\r\n onEvents.layersAdd && onEvents.layersAdd(layer);\r\n map.eventEmitter.emit('layersAdd', layer);\r\n });\r\n\r\n // 图层移除\r\n map.layers.on('remove', layer => {\r\n onEvents.layersRemove && onEvents.layersRemove(layer);\r\n map.eventEmitter.emit('layersRemove', layer);\r\n });\r\n\r\n // 图层清空\r\n map.layers.on('clear', () => {\r\n onEvents.layersClear && onEvents.layersClear();\r\n map.eventEmitter.emit('layersClear');\r\n });\r\n\r\n // 图层展示隐藏\r\n map.layers.on('visible', (layer, visible) => {\r\n map.layers.onChange(); // 触发图层改变\r\n\r\n // 图层关闭时,隐藏自身的气泡\r\n if (!visible && map.popupRef) {\r\n map.hideTemplate(layer);\r\n }\r\n\r\n onEvents.layersVisible && onEvents.layersVisible(layer, visible);\r\n map.eventEmitter.emit('layersVisible');\r\n });\r\n\r\n // 图层变化\r\n map.layersChange = () => {\r\n map.layers.onChange();\r\n };\r\n\r\n // 获取 layers 里面的 key 集合\r\n map.getAllKeys = () => {\r\n return map.layers.getAllKeys();\r\n };\r\n\r\n // 获取当前展示的 keys\r\n map.getLayersShowKeys = () => {\r\n return map.layers.getShowKeys();\r\n };\r\n\r\n // 获取当前隐藏的 keys\r\n map.getLayersHiddenKeys = () => {\r\n return map.layers.getHiddenKeys();\r\n };\r\n\r\n // 根据 keys 设置图层的显示,其他的隐藏\r\n map.setLayersShowByKeys = _keys => {\r\n return map.layers.setShowByKeys(_keys);\r\n };\r\n\r\n // 根据 keys 设置图层的隐藏,其他的显示\r\n map.setLayersHideByKeys = _keys => {\r\n return map.layers.setHideByKeys(_keys);\r\n };\r\n\r\n // 添加图层\r\n map.addLayer = (layer, index) => {\r\n return map.layers.addLayer(layer, index);\r\n };\r\n\r\n // 移除图层\r\n map.removeLayer = layer => {\r\n return map.layers.removeLayer(layer);\r\n };\r\n\r\n // 清除图层和entity\r\n map.clearLayers = () => {\r\n return map.layers.clearLayers();\r\n };\r\n\r\n // 获取 ImageLayer 图层\r\n map.getImageLayers = keys => {\r\n return map.layers.getImageLayers(keys);\r\n };\r\n\r\n // 获取 FeatureLayer 图层\r\n map.getFeatureLayers = keys => {\r\n return map.layers.getFeatureLayers(keys);\r\n };\r\n\r\n // 获取 Imagery 图层最后一个 index 值\r\n map.getImageryLastIndex = _index => {\r\n let index = 1;\r\n const layers = map.getImageryLayers();\r\n if (layers?.length) {\r\n if (_index && layers.findIndex(v => _index < v.zIndex) !== -1) {\r\n let _i = layers.findIndex(v => _index < v.zIndex) + 1;\r\n index = _i < index ? _i : index;\r\n } else {\r\n index = layers.length;\r\n }\r\n }\r\n\r\n return index;\r\n };\r\n\r\n // 查找所有dataSource和imagery图层\r\n map.getAllLayers = () => {\r\n const dataSources = map?.dataSources?._dataSources || [];\r\n const imageryLayers = map?.imageryLayers?._layers || [];\r\n const primitives = map?.scene?.primitives?._primitives || [];\r\n\r\n return [...dataSources, ...imageryLayers, ...primitives];\r\n };\r\n\r\n // 根据key查找imageryLayers图层\r\n map.getImageryLayers = _keys => {\r\n const layers = map?.imageryLayers?._layers || [];\r\n\r\n if (_keys && layers.length) {\r\n const keys = Array.isArray(_keys) ? _keys : [_keys];\r\n\r\n return layers.filter(layer => layer.key && keys.includes(layer.key));\r\n }\r\n\r\n return layers;\r\n };\r\n\r\n // 通过图形查询所属图层\r\n map.getLayerByFeature = entity => {\r\n if (!entity) return;\r\n return map.getAllLayers().find(layer => {\r\n if (entity instanceof ImageryLayerFeatureInfo) {\r\n if (layer?.key && layer.key === entity?.imageryLayer?.key) {\r\n return layer;\r\n }\r\n } else if (\r\n layer instanceof Cesium3DTileset &&\r\n entity instanceof Cesium3DTileFeature\r\n ) {\r\n if (layer?.key && layer.key === entity?.primitive?.key) {\r\n return layer;\r\n }\r\n } else if (layer instanceof Primitive) {\r\n if (layer?.key && layer.key === entity?.primitive?.key) {\r\n return layer;\r\n }\r\n } else {\r\n if (layer?.key && layer.key === entity?.key) {\r\n return layer;\r\n }\r\n }\r\n });\r\n };\r\n\r\n // 获取 3DTiles feature 属性\r\n map.get3DTileFeatureProperties = feature => {\r\n let properties = {};\r\n if (feature && feature.getPropertyNames) {\r\n const propertyIds = feature.getPropertyNames() || [];\r\n if (propertyIds?.length) {\r\n const length = propertyIds.length;\r\n for (let i = 0; i < length; ++i) {\r\n const propertyId = propertyIds[i];\r\n properties[propertyId] = feature.getProperty(propertyId);\r\n }\r\n }\r\n }\r\n\r\n return properties;\r\n };\r\n\r\n // 获取entity中数据\r\n map.getProperties = feature => {\r\n if (feature instanceof Cesium3DTileFeature) {\r\n return map.get3DTileFeatureProperties(feature);\r\n } else if (feature?.primitive?.data && feature?.primitive instanceof Primitive) {\r\n return feature.primitive.data.find(item => item.id === feature.id);\r\n } else {\r\n let properties =\r\n feature?._properties?.getValue(feature._id) || feature?.properties || {};\r\n properties = properties?.properties || properties;\r\n return properties;\r\n }\r\n };\r\n\r\n // 通过key查询图层\r\n map.getLayerByKey = key => {\r\n return map.getAllLayers().find(layer => {\r\n return key && layer.key && layer.key === key;\r\n });\r\n };\r\n\r\n // 根据id查询图层\r\n map.getLayerById = map.getLayerByKey;\r\n\r\n // 通过keys查询多个图层\r\n map.getLayerByKeys = keys => {\r\n return map.getAllLayers().filter(layer => {\r\n return layer.key && keys.includes(layer.key);\r\n });\r\n };\r\n map.destroyhighlightLayer = () => {\r\n map.highlightLayer.clearFeatures();\r\n };\r\n // 添加高亮entity\r\n map.addHighlightFeature = (feature, style) => {\r\n map.highlightLayer.addHighlightFeature(feature, style);\r\n };\r\n // 通过返回值控制是否执行关闭\r\n map.onCloseTemplateBefore = feature => {\r\n // 清除高亮\r\n map.destroyhighlightLayer();\r\n if (onCloseTemplateBefore) {\r\n return onCloseTemplateBefore(feature);\r\n }\r\n };\r\n\r\n // 根据key查找展示的图层\r\n map.getVisibleLayersByKeys = keys => {\r\n let layers = map.getAllLayers() || [];\r\n return layers.filter(layer => {\r\n if (typeof keys === 'string') {\r\n return layer.key === keys && layer.show;\r\n } else if (Array.isArray(keys)) {\r\n return keys.includes(layer.key) && layer.show;\r\n } else {\r\n return layer.show && layer.key;\r\n }\r\n });\r\n };\r\n\r\n // 展示提示\r\n map.showTip = content => {\r\n setTip(content);\r\n };\r\n\r\n // 隐藏提示\r\n map.hideTip = () => {\r\n setTip(null);\r\n };\r\n\r\n // 根据图层条件设置图层选中\r\n map.showTemplateByFilter = async (key, field, value, _highlightLayer) => {\r\n let layer = map.getLayerByKey(key);\r\n if (layer?.show) {\r\n let obj = layer.getFeatureByFieldValue(field, value);\r\n if (obj) {\r\n if (obj.then) {\r\n obj.then(features => {\r\n if (features?.length) {\r\n let feature = features[0];\r\n map.showTemplate(\r\n feature.feature,\r\n _highlightLayer || map.highlightLayer,\r\n );\r\n }\r\n });\r\n } else {\r\n map.showTemplate(obj, _highlightLayer || map.highlightLayer);\r\n }\r\n } else {\r\n map.hideTemplate();\r\n }\r\n }\r\n };\r\n\r\n // 展示看板\r\n map.showTemplate = feature => {\r\n popupRef.current.showTemplate(feature);\r\n };\r\n\r\n // 隐藏看板\r\n map.hideTemplate = () => {\r\n popupRef.current.hideTemplate();\r\n };\r\n\r\n // 鼠标事件控制器\r\n let handleEvent = new ScreenSpaceEventHandler(map.scene.canvas);\r\n\r\n // 获取图层上的图形信息\r\n map.pickDataSourcesFeature = event => {\r\n if (event?.position) {\r\n const { position } = event;\r\n let pick = map.scene.pick(position);\r\n if (isObject(pick?.id)) {\r\n pick = pick.id;\r\n }\r\n\r\n if (checkClickable(pick)) {\r\n return;\r\n }\r\n\r\n return pick;\r\n }\r\n };\r\n\r\n // 根据关键字获取图形信息\r\n map.getMapFeatureInfoByText = getMapFeatureInfoByText;\r\n\r\n // 获取wms的图形数据\r\n map.pickImageryLayerFeatures = event => {\r\n if (event?.position) {\r\n const { position } = event;\r\n const pickRay = map.camera.getPickRay(position);\r\n\r\n return map.imageryLayers.pickImageryLayerFeatures(pickRay, map.scene);\r\n }\r\n };\r\n\r\n // 获取当前地图中心的经纬度\r\n map.getCenterPosition = () => {\r\n let centerResult = map.camera.pickEllipsoid(\r\n new Cartesian2(map.canvas.clientWidth / 2, map.canvas.clientHeight / 2),\r\n );\r\n let curPosition = Ellipsoid.WGS84.cartesianToCartographic(centerResult);\r\n let curLongitude = (curPosition.longitude * 180) / window.Math.PI;\r\n let curLatitude = (curPosition.latitude * 180) / window.Math.PI;\r\n return [curLongitude, curLatitude];\r\n };\r\n\r\n // 二三维切换\r\n map.setViewMode = type => {\r\n map.viewMode = type;\r\n map.fitView();\r\n };\r\n\r\n // 获取当前地图视图的边界\r\n map.getViewExtend = () => {\r\n let params = {};\r\n let extend = map.camera.computeViewRectangle();\r\n if (typeof extend === 'undefined') {\r\n //2D下会可能拾取不到坐标,extend返回undefined,因此作如下转换\r\n let canvas = map.scene.canvas;\r\n let upperLeft = new Cartesian2(0, 0); //canvas左上角坐标转2d坐标\r\n let lowerRight = new Cartesian2(canvas.clientWidth, canvas.clientHeight); //canvas右下角坐标转2d坐标\r\n\r\n let ellipsoid = map.scene.globe.ellipsoid;\r\n let upperLeft3 = map.camera.pickEllipsoid(upperLeft, ellipsoid); //2D转3D世界坐标\r\n\r\n let lowerRight3 = map.camera.pickEllipsoid(lowerRight, ellipsoid); //2D转3D世界坐标\r\n\r\n let upperLeftCartographic = map.scene.globe.ellipsoid.cartesianToCartographic(\r\n upperLeft3,\r\n ); //3D世界坐标转弧度\r\n let lowerRightCartographic = map.scene.globe.ellipsoid.cartesianToCartographic(\r\n lowerRight3,\r\n ); //3D世界坐标转弧度\r\n\r\n let minx = CesiumMath.toDegrees(upperLeftCartographic.longitude); //弧度转经纬度\r\n let maxx = CesiumMath.toDegrees(lowerRightCartographic.longitude); //弧度转经纬度\r\n\r\n let miny = CesiumMath.toDegrees(lowerRightCartographic.latitude); //弧度转经纬度\r\n let maxy = CesiumMath.toDegrees(upperLeftCartographic.latitude); //弧度转经纬度\r\n\r\n params.minx = minx;\r\n params.maxx = maxx;\r\n params.miny = miny;\r\n params.maxy = maxy;\r\n } else {\r\n //3D获取方式\r\n params.maxx = CesiumMath.toDegrees(extend.east);\r\n params.maxy = CesiumMath.toDegrees(extend.north);\r\n\r\n params.minx = CesiumMath.toDegrees(extend.west);\r\n params.miny = CesiumMath.toDegrees(extend.south);\r\n }\r\n\r\n // 返回屏幕所在经纬度范围\r\n return params;\r\n };\r\n\r\n // 根据camera高度近似计算当前层级\r\n map.heightToZoom = heightToZoom;\r\n\r\n // 根据当前层级近似计算camera高度\r\n map.zoomToHeight = zoomToHeight;\r\n\r\n // 注册事件\r\n registerEventLayer(map, props);\r\n\r\n // 注册地图组件事件\r\n function registerMapEvent(e, event) {\r\n if (map[event]) {\r\n map[event](e);\r\n onEvents[event] && onEvents[event](e);\r\n }\r\n }\r\n\r\n // 注册图层组件事件\r\n function registerEvent(feature, event, eventName) {\r\n if (feature) {\r\n let layer = map.getLayerByFeature(feature);\r\n if (layer?.[eventName] || feature[eventName]) {\r\n let properties = map.getProperties(feature) || {};\r\n if (feature instanceof ImageryLayerFeatureInfo && feature?.data) {\r\n properties = {\r\n ...properties,\r\n data: feature?.data,\r\n };\r\n }\r\n\r\n // 触发自身事件\r\n feature[eventName]?.(properties, {feature, event});\r\n\r\n if (layer?.[eventName]) {\r\n layer[eventName](properties, {feature, event});\r\n }\r\n }\r\n }\r\n }\r\n\r\n // 监测图层是否允许点击\r\n function checkClickable(feature) {\r\n let layer = map.getLayerByFeature(feature);\r\n let unclickable = false;\r\n // 无法单独设置group内的图层\r\n // 暂时为了取消行政区划影像图层的点击效果\r\n if (layer) {\r\n unclickable = layer.viewOnly || layer.unclickable;\r\n }\r\n return unclickable;\r\n }\r\n\r\n // 点击事件\r\n handleEvent.setInputAction(event => {\r\n event.lonLat = map.getPositionLonLat(event);\r\n map._clickObject = event;\r\n registerMapEvent(event, 'onClick');\r\n map.hideTip();\r\n\r\n // 是否禁止冒泡\r\n if (!map.cancelBubble) {\r\n const pick = map.scene.pick(event.position);\r\n if (pick instanceof Cesium3DTileFeature) {\r\n let layer = map.getLayerByFeature(pick);\r\n if (layer) {\r\n if (layer.unclickable) {\r\n return;\r\n }\r\n\r\n registerEvent(pick, event, 'onClick');\r\n\r\n if (layer.template) {\r\n map.onClickTemplateAfter && map.onClickTemplateAfter(pick);\r\n\r\n map.showTemplate(pick);\r\n }\r\n }\r\n } else {\r\n const entity = map.pickDataSourcesFeature(event);\r\n const featuresPromise = map.pickImageryLayerFeatures(event);\r\n if (entity) {\r\n registerEvent(entity, event, 'onClick');\r\n\r\n let layer = map.getLayerByFeature(entity?.[0] || entity);\r\n if (Array.isArray(entity) || (layer && layer.template)) {\r\n map.onClickTemplateAfter && map.onClickTemplateAfter(entity);\r\n if (\r\n Array.isArray(entity) &&\r\n entity?.length > 1 &&\r\n layer?.cluster?.hideTemplate\r\n ) {\r\n return;\r\n }\r\n map.showTemplate(entity);\r\n }\r\n } else if (defined(featuresPromise)) {\r\n // 兼容1.98.0版本\r\n const handleFeatures = features => {\r\n features.sort((a, b) => {\r\n return b.imageryLayer._layerIndex - a.imageryLayer._layerIndex;\r\n });\r\n\r\n const feature = features?.[0];\r\n if (checkClickable(feature)) {\r\n return;\r\n }\r\n registerEvent(feature, event, 'onClick');\r\n map.showTemplate(feature);\r\n };\r\n\r\n // 针对低于 1.90.0 版本\r\n if (when) {\r\n when(featuresPromise, handleFeatures);\r\n } else {\r\n featuresPromise.then(handleFeatures);\r\n }\r\n }\r\n }\r\n }\r\n }, ScreenSpaceEventType.LEFT_CLICK);\r\n\r\n // 双击事件\r\n handleEvent.setInputAction(event => {\r\n map.trackedEntity = undefined; // 取消双击锁定\r\n\r\n event.lonLat = map.getPositionLonLat(event);\r\n\r\n registerMapEvent(event, 'onDoubleClick');\r\n\r\n const feature = map.pickDataSourcesFeature(event);\r\n\r\n registerEvent(feature, event, 'onDoubleClick');\r\n }, ScreenSpaceEventType.LEFT_DOUBLE_CLICK);\r\n\r\n // 鼠标移动\r\n let hoverFeature;\r\n const getUid = feature => {\r\n if (feature && !feature._id) {\r\n feature._id = window.Math.random();\r\n }\r\n\r\n return feature._id;\r\n };\r\n\r\n // 鼠标移入移出\r\n handleEvent.setInputAction(event => {\r\n event.lonLat = map.getPositionLonLat({ position: event.endPosition });\r\n\r\n registerMapEvent(event, 'onMouseMove');\r\n const feature = map.pickDataSourcesFeature({ position: event.endPosition });\r\n\r\n if (feature) {\r\n let layer = map.getLayerByFeature(feature);\r\n if (layer && (layer.labelField || layer.tipTemplate)) {\r\n const { labelField, tipTemplate } = layer;\r\n const properties = map.getProperties(feature);\r\n\r\n let label;\r\n if (tipTemplate) {\r\n label = tipTemplate(properties);\r\n } else {\r\n label = properties ? properties[labelField] : '';\r\n }\r\n\r\n if (label) {\r\n map.showTip(label);\r\n } else {\r\n map.hideTip();\r\n }\r\n } else {\r\n map.hideTip();\r\n }\r\n\r\n registerEvent(feature, event, 'onMouseMove');\r\n\r\n // 判断是否在图形内移动\r\n if (hoverFeature) {\r\n let uid = getUid(feature);\r\n let hoverUid = getUid(hoverFeature);\r\n\r\n // 判断是否进入新的图形\r\n if (uid !== hoverUid) {\r\n registerEvent(hoverFeature, event, 'onMouseLeave');\r\n\r\n registerEvent(feature, event, 'onMouseEnter');\r\n hoverFeature = feature;\r\n }\r\n } else {\r\n registerEvent(feature, event, 'onMouseEnter');\r\n hoverFeature = feature;\r\n }\r\n\r\n registerEvent(feature, event, 'onMouseMove');\r\n } else {\r\n if (hoverFeature) {\r\n registerEvent(hoverFeature, event, 'onMouseLeave');\r\n }\r\n\r\n hoverFeature = null;\r\n map.hideTip();\r\n }\r\n }, ScreenSpaceEventType.MOUSE_MOVE);\r\n\r\n // 层级事件\r\n if (onZoom) {\r\n map.camera.moveEnd.addEventListener(() => {\r\n let viewRectangle = map.camera.computeViewRectangle();\r\n const west = (viewRectangle.west / window.Math.PI) * 180; // 左上方(西)\r\n const north = (viewRectangle.north / window.Math.PI) * 180; //右上方(北)\r\n const east = (viewRectangle.east / window.Math.PI) * 180; // 右下方(东)\r\n const south = (viewRectangle.south / window.Math.PI) * 180; // 左下方(南)\r\n const cameraHeight = map.camera.positionCartographic.height;\r\n const zoom = map.heightToZoom(window.Math.ceil(cameraHeight));\r\n onZoom && onZoom({ west, north, east, south, cameraHeight, viewRectangle, zoom });\r\n });\r\n }\r\n\r\n // 动态调整视角,不传参数为默认视角,参数可以是图层、图形、数据等\r\n map.fitView = e => {\r\n const {\r\n geoJson,\r\n geometryInfo,\r\n data,\r\n entity,\r\n lng,\r\n lat,\r\n height = 50000,\r\n options,\r\n ...rest\r\n } = e || {};\r\n let pitch = map.camera.pitch;\r\n\r\n // 判断是否点击了图形\r\n if (entity) {\r\n if (map.viewMode === '3D') {\r\n map.flyTo(entity, { duration: 2 });\r\n } else {\r\n map.flyTo(entity, {\r\n duration: 2,\r\n offset: {\r\n heading: CesiumMath.toRadians(0.0),\r\n pitch,\r\n range: height,\r\n },\r\n });\r\n }\r\n } else if (lng && lat) {\r\n map.camera.flyTo({\r\n destination: new Cartesian3.fromDegrees(Number(lng), Number(lat), height),\r\n orientation: {\r\n pitch: CesiumMath.toRadians(-88.0),\r\n roll: 0.0,\r\n },\r\n duration: 2,\r\n ...rest,\r\n });\r\n } else if (data || geometryInfo || geoJson) {\r\n let _geoJson = geoJson;\r\n\r\n if (geometryInfo) {\r\n _geoJson = createFeatureCollection([{ geometryInfo }]);\r\n }\r\n\r\n if (data) {\r\n _geoJson = createFeatureCollection(Array.isArray(data) ? data : [data]);\r\n }\r\n\r\n let box = getBBoxFromGeojson(_geoJson, {\r\n padding: 100,\r\n unit: 'px', // px | m\r\n ...options,\r\n }); // 单位为米\r\n\r\n map.camera.flyTo({\r\n destination: new Rectangle.fromDegrees(...box), //west, south, east, north,\r\n orientation: {\r\n pitch:\r\n map.viewMode === '3D'\r\n ? CesiumMath.toRadians(-35)\r\n : CesiumMath.toRadians(defaultPitch),\r\n roll: 0.0,\r\n },\r\n duration: 2,\r\n ...rest,\r\n });\r\n } else {\r\n let [x, y, z = 80000.0] = viewDefault.center;\r\n\r\n if (map.viewMode === '3D') {\r\n const center = Cartesian3.fromDegrees(x, y);\r\n const heading = CesiumMath.toRadians(0.0);\r\n const pitch = CesiumMath.toRadians(-35.0);\r\n map.camera.flyToBoundingSphere(new BoundingSphere(center, z), {\r\n offset: new HeadingPitchRange(heading, pitch, z),\r\n duration: 2,\r\n });\r\n } else {\r\n map.camera.flyTo({\r\n destination: new Cartesian3.fromDegrees(x, y, z),\r\n orientation: {\r\n pitch: CesiumMath.toRadians(defaultPitch),\r\n roll: 0.0,\r\n },\r\n duration: 2,\r\n });\r\n }\r\n }\r\n };\r\n\r\n map.getPositionLonLat = event => {\r\n const cartesian = map.camera.pickEllipsoid(event.position, map.scene.globe.ellipsoid); // Cartesian3对象\r\n if (cartesian) {\r\n const cartographic = Cartographic.fromCartesian(cartesian); // 经纬高对象\r\n const lng = CesiumMath.toDegrees(cartographic.longitude);\r\n const lat = CesiumMath.toDegrees(cartographic.latitude);\r\n return [lng, lat];\r\n }\r\n\r\n return [];\r\n };\r\n\r\n if (duration) {\r\n // 自动调整视角\r\n map.fitView();\r\n\r\n // 延时触发回调事件\r\n setTimeout(() => {\r\n createdMap && createdMap(map, handleEvent);\r\n\r\n addLabelImageryProvider();\r\n\r\n onEvents.createdMap && onEvents.createdMap(map, handleEvent);\r\n\r\n setMapLoaded(true);\r\n }, (duration + 0.5) * 1000);\r\n } else {\r\n const [x, y, z = 80000.0] = viewDefault.center;\r\n if (map.viewMode === '3D') {\r\n const center = Cartesian3.fromDegrees(x, y);\r\n const heading = CesiumMath.toRadians(0.0);\r\n const pitch = CesiumMath.toRadians(-35.0);\r\n map.camera.flyToBoundingSphere(new BoundingSphere(center, z), {\r\n offset: new HeadingPitchRange(heading, pitch, z),\r\n duration: 0,\r\n });\r\n } else {\r\n map.camera.setView({\r\n destination: new Cartesian3.fromDegrees(x, y, z),\r\n });\r\n }\r\n\r\n // 延时触发回调事件\r\n setTimeout(() => {\r\n createdMap && createdMap(map, handleEvent);\r\n\r\n addLabelImageryProvider();\r\n\r\n onEvents.createdMap && onEvents.createdMap(map, handleEvent);\r\n\r\n setMapLoaded(true);\r\n }, 500);\r\n }\r\n };\r\n\r\n const onMouseMove = event => {\r\n if (tip && tipRef.current) {\r\n tipRef.current.style.left = `${event.nativeEvent.layerX + 15}px`;\r\n tipRef.current.style.top = `${event.nativeEvent.layerY + 15}px`;\r\n }\r\n };\r\n\r\n return (\r\n <div\r\n style={{\r\n width,\r\n height,\r\n background: baseColor || dark ? '#152937' : '#cccccc',\r\n ...wrapDomStyle,\r\n }}\r\n className={classnames('cs-map-container')}\r\n >\r\n <div\r\n ref={mapDomRef}\r\n className={classnames('cs-map')}\r\n onMouseMove={onMouseMove}\r\n onMouseOver={() => setTipVis(true)}\r\n onMouseOut={() => setTipVis(false)}\r\n style={mapDomStyle}\r\n >\r\n {tip && tipVis && (\r\n <div ref={tipRef} className={classnames('custom-tip')}>\r\n {tip}\r\n </div>\r\n )}\r\n </div>\r\n\r\n {mapLoaded && (\r\n <Provider\r\n value={{\r\n map: mapRef.current,\r\n showModal: props.showModal,\r\n }}\r\n >\r\n {children}\r\n {mapRef.current && <Popup ref={popupRef} map={mapRef.current} />}\r\n </Provider>\r\n )}\r\n </div>\r\n );\r\n}\r\n\r\nexport default Map;\r\n\r\nMap.propTypes = {\r\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\r\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\r\n createdMap: PropTypes.func,\r\n onCloseTemplateBefore: PropTypes.func,\r\n onZoom: PropTypes.func,\r\n center: PropTypes.array,\r\n zoom: PropTypes.number,\r\n minZoom: PropTypes.number,\r\n maxZoom: PropTypes.number,\r\n defaultPitch: PropTypes.number,\r\n dark: PropTypes.bool,\r\n baseColor: PropTypes.string,\r\n mapStyle: PropTypes.oneOfType(['vec', 'img']),\r\n tk: PropTypes.string.isRequired,\r\n onEvents: PropTypes.object,\r\n baseMapUrl: PropTypes.string,\r\n duration: PropTypes.number,\r\n baseMapStyle: PropTypes.object,\r\n children: PropTypes.node,\r\n autoView: PropTypes.bool,\r\n closePopupAutoView: PropTypes.bool,\r\n highlightColor: PropTypes.string,\r\n viewMode: PropTypes.string,\r\n showModal: PropTypes.func,\r\n wrapDomStyle: PropTypes.object,\r\n mapDomStyle: PropTypes.object,\r\n baseMapOptions: PropTypes.object,\r\n setLoading: PropTypes.func,\r\n fitViewHeight: PropTypes.number,\r\n hideHighlight: PropTypes.bool,\r\n};\r\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAwBA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,eAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AACAA,OAAA;AACA,IAAAO,mBAAA,GAAAL,sBAAA,CAAAF,OAAA;AACAA,OAAA;AACA,IAAAQ,WAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,OAAA,GAAAT,OAAA;AACA,IAAAU,MAAA,GAAAR,sBAAA,CAAAF,OAAA;AACA,IAAAW,SAAA,GAAAT,sBAAA,CAAAF,OAAA;AACA,IAAAY,OAAA,GAAAV,sBAAA,CAAAF,OAAA;AACA,IAAAa,aAAA,GAAAX,sBAAA,CAAAF,OAAA;AACA,IAAAc,2BAAA,GAAAZ,sBAAA,CAAAF,OAAA;AACA,IAAAe,OAAA,GAAAf,OAAA;AACA,IAAAgB,wBAAA,GAAAhB,OAAA;AACA,IAAAiB,mBAAA,GAAAf,sBAAA,CAAAF,OAAA;AACA,IAAAkB,cAAA,GAAAlB,OAAA;AACA,IAAAmB,mBAAA,GAAAnB,OAAA;AACA,IAAAoB,mBAAA,GAAApB,OAAA;AAAgF,IAAAqB,SAAA;EAAAC,UAAA;AAAA,SAAApB,uBAAAqB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,gBAAAA,CAAA;AAAA,SAAAE,yBAAAF,CAAA,6BAAAG,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAD,wBAAA,YAAAA,yBAAAF,CAAA,WAAAA,CAAA,GAAAK,CAAA,GAAAD,CAAA,KAAAJ,CAAA;AAAA,SAAAxB,wBAAAwB,CAAA,EAAAI,CAAA,SAAAA,CAAA,IAAAJ,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,eAAAA,CAAA,gBAAAM,OAAA,CAAAN,CAAA,0BAAAA,CAAA,sBAAAA,CAAA,QAAAK,CAAA,GAAAH,wBAAA,CAAAE,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAE,GAAA,CAAAP,CAAA,UAAAK,CAAA,CAAAG,GAAA,CAAAR,CAAA,OAAAS,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAf,CAAA,oBAAAe,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAe,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAf,CAAA,CAAAe,CAAA,YAAAN,CAAA,cAAAT,CAAA,EAAAK,CAAA,IAAAA,CAAA,CAAAc,GAAA,CAAAnB,CAAA,EAAAS,CAAA,GAAAA,CAAA;AAAA,SAAAW,WAAAf,CAAA,EAAAL,CAAA,EAAAI,CAAA,QAAAiB,yBAAA,WAAAC,OAAA,CAAAC,SAAA,CAAAC,KAAA,OAAAC,SAAA,OAAAC,CAAA,WAAAA,CAAA,CAAAC,IAAA,CAAAH,KAAA,CAAAE,CAAA,EAAA1B,CAAA,OAAA4B,CAAA,QAAAvB,CAAA,CAAAwB,IAAA,CAAAL,KAAA,CAAAnB,CAAA,EAAAqB,CAAA,aAAAtB,CAAA,IAAA0B,eAAA,CAAAF,CAAA,EAAAxB,CAAA,CAAA2B,SAAA,GAAAH,CAAA;AAAA,SAAAE,gBAAAzB,CAAA,EAAAL,CAAA,WAAA8B,eAAA,GAAAlB,MAAA,CAAAoB,cAAA,GAAApB,MAAA,CAAAoB,cAAA,CAAAH,IAAA,eAAAxB,CAAA,EAAAL,CAAA,WAAAK,CAAA,CAAAK,SAAA,GAAAV,CAAA,EAAAK,CAAA,KAAAyB,eAAA,CAAAzB,CAAA,EAAAL,CAAA;AAAA,SAAAqB,0BAAA,cAAAhB,CAAA,IAAA4B,OAAA,CAAAF,SAAA,CAAAG,OAAA,CAAAjB,IAAA,CAAAK,OAAA,CAAAC,SAAA,CAAAU,OAAA,iCAAA5B,CAAA,aAAAgB,yBAAA,YAAAA,0BAAA,aAAAhB,CAAA;AAAA,SAAA8B,oBAAA,kBA3ChF,qJAAAA,mBAAA,YAAAA,oBAAA,WAAAnC,CAAA,SAAAK,CAAA,EAAAL,CAAA,OAAAI,CAAA,GAAAQ,MAAA,CAAAmB,SAAA,EAAAtB,CAAA,GAAAL,CAAA,CAAAY,cAAA,EAAAU,CAAA,GAAAd,MAAA,CAAAC,cAAA,cAAAR,CAAA,EAAAL,CAAA,EAAAI,CAAA,IAAAC,CAAA,CAAAL,CAAA,IAAAI,CAAA,CAAAgC,KAAA,KAAAlB,CAAA,wBAAAmB,MAAA,GAAAA,MAAA,OAAA1B,CAAA,GAAAO,CAAA,CAAAoB,QAAA,kBAAAC,CAAA,GAAArB,CAAA,CAAAsB,aAAA,uBAAAzB,CAAA,GAAAG,CAAA,CAAAuB,WAAA,8BAAAC,OAAArC,CAAA,EAAAL,CAAA,EAAAI,CAAA,WAAAQ,MAAA,CAAAC,cAAA,CAAAR,CAAA,EAAAL,CAAA,IAAAoC,KAAA,EAAAhC,CAAA,EAAAuC,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAAxC,CAAA,CAAAL,CAAA,WAAA0C,MAAA,mBAAArC,CAAA,IAAAqC,MAAA,YAAAA,OAAArC,CAAA,EAAAL,CAAA,EAAAI,CAAA,WAAAC,CAAA,CAAAL,CAAA,IAAAI,CAAA,gBAAA0C,KAAAzC,CAAA,EAAAL,CAAA,EAAAI,CAAA,EAAAK,CAAA,QAAAS,CAAA,GAAAlB,CAAA,IAAAA,CAAA,CAAA+B,SAAA,YAAAgB,SAAA,GAAA/C,CAAA,GAAA+C,SAAA,EAAApC,CAAA,GAAAC,MAAA,CAAAoC,MAAA,CAAA9B,CAAA,CAAAa,SAAA,GAAAQ,CAAA,OAAAU,OAAA,CAAAxC,CAAA,gBAAAiB,CAAA,CAAAf,CAAA,eAAAyB,KAAA,EAAAc,gBAAA,CAAA7C,CAAA,EAAAD,CAAA,EAAAmC,CAAA,MAAA5B,CAAA,aAAAwC,SAAA9C,CAAA,EAAAL,CAAA,EAAAI,CAAA,mBAAAgD,IAAA,YAAAC,GAAA,EAAAhD,CAAA,CAAAY,IAAA,CAAAjB,CAAA,EAAAI,CAAA,cAAAC,CAAA,aAAA+C,IAAA,WAAAC,GAAA,EAAAhD,CAAA,QAAAL,CAAA,CAAA8C,IAAA,GAAAA,IAAA,MAAAQ,CAAA,qBAAAC,CAAA,qBAAAC,CAAA,gBAAAC,CAAA,gBAAAC,CAAA,gBAAAX,UAAA,cAAAY,kBAAA,cAAAC,2BAAA,SAAAhC,CAAA,OAAAc,MAAA,CAAAd,CAAA,EAAAjB,CAAA,qCAAAkD,CAAA,GAAAjD,MAAA,CAAAkD,cAAA,EAAAC,CAAA,GAAAF,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAG,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAA3D,CAAA,IAAAK,CAAA,CAAAQ,IAAA,CAAA8C,CAAA,EAAApD,CAAA,MAAAiB,CAAA,GAAAmC,CAAA,OAAAE,CAAA,GAAAL,0BAAA,CAAA7B,SAAA,GAAAgB,SAAA,CAAAhB,SAAA,GAAAnB,MAAA,CAAAoC,MAAA,CAAApB,CAAA,YAAAsC,sBAAA7D,CAAA,gCAAA8D,OAAA,WAAAnE,CAAA,IAAA0C,MAAA,CAAArC,CAAA,EAAAL,CAAA,YAAAK,CAAA,gBAAA+D,OAAA,CAAApE,CAAA,EAAAK,CAAA,sBAAAgE,cAAAhE,CAAA,EAAAL,CAAA,aAAAsE,OAAAlE,CAAA,EAAAsB,CAAA,EAAAR,CAAA,EAAAP,CAAA,QAAA4B,CAAA,GAAAY,QAAA,CAAA9C,CAAA,CAAAD,CAAA,GAAAC,CAAA,EAAAqB,CAAA,mBAAAa,CAAA,CAAAa,IAAA,QAAArC,CAAA,GAAAwB,CAAA,CAAAc,GAAA,EAAAC,CAAA,GAAAvC,CAAA,CAAAqB,KAAA,SAAAkB,CAAA,gBAAAhD,OAAA,CAAAgD,CAAA,KAAA7C,CAAA,CAAAQ,IAAA,CAAAqC,CAAA,eAAAtD,CAAA,CAAAuE,OAAA,CAAAjB,CAAA,CAAAkB,OAAA,EAAAC,IAAA,WAAApE,CAAA,IAAAiE,MAAA,SAAAjE,CAAA,EAAAa,CAAA,EAAAP,CAAA,gBAAAN,CAAA,IAAAiE,MAAA,UAAAjE,CAAA,EAAAa,CAAA,EAAAP,CAAA,QAAAX,CAAA,CAAAuE,OAAA,CAAAjB,CAAA,EAAAmB,IAAA,WAAApE,CAAA,IAAAU,CAAA,CAAAqB,KAAA,GAAA/B,CAAA,EAAAa,CAAA,CAAAH,CAAA,gBAAAV,CAAA,WAAAiE,MAAA,UAAAjE,CAAA,EAAAa,CAAA,EAAAP,CAAA,SAAAA,CAAA,CAAA4B,CAAA,CAAAc,GAAA,SAAAjD,CAAA,EAAAsB,CAAA,oBAAAU,KAAA,WAAAA,MAAA/B,CAAA,EAAAI,CAAA,aAAAiE,2BAAA,eAAA1E,CAAA,WAAAA,CAAA,EAAAI,CAAA,IAAAkE,MAAA,CAAAjE,CAAA,EAAAI,CAAA,EAAAT,CAAA,EAAAI,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAAqE,IAAA,CAAAC,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAAxB,iBAAAlD,CAAA,EAAAI,CAAA,EAAAK,CAAA,QAAAiB,CAAA,GAAA4B,CAAA,mBAAApC,CAAA,EAAAP,CAAA,QAAAe,CAAA,KAAA8B,CAAA,QAAAmB,KAAA,sCAAAjD,CAAA,KAAA+B,CAAA,oBAAAvC,CAAA,QAAAP,CAAA,WAAAyB,KAAA,EAAA/B,CAAA,EAAAuE,IAAA,eAAAnE,CAAA,CAAAoE,MAAA,GAAA3D,CAAA,EAAAT,CAAA,CAAA4C,GAAA,GAAA1C,CAAA,UAAA4B,CAAA,GAAA9B,CAAA,CAAAqE,QAAA,MAAAvC,CAAA,QAAAxB,CAAA,GAAAgE,mBAAA,CAAAxC,CAAA,EAAA9B,CAAA,OAAAM,CAAA,QAAAA,CAAA,KAAA2C,CAAA,mBAAA3C,CAAA,qBAAAN,CAAA,CAAAoE,MAAA,EAAApE,CAAA,CAAAuE,IAAA,GAAAvE,CAAA,CAAAwE,KAAA,GAAAxE,CAAA,CAAA4C,GAAA,sBAAA5C,CAAA,CAAAoE,MAAA,QAAAnD,CAAA,KAAA4B,CAAA,QAAA5B,CAAA,GAAA+B,CAAA,EAAAhD,CAAA,CAAA4C,GAAA,EAAA5C,CAAA,CAAAyE,iBAAA,CAAAzE,CAAA,CAAA4C,GAAA,uBAAA5C,CAAA,CAAAoE,MAAA,IAAApE,CAAA,CAAA0E,MAAA,WAAA1E,CAAA,CAAA4C,GAAA,GAAA3B,CAAA,GAAA8B,CAAA,MAAA5B,CAAA,GAAAuB,QAAA,CAAAnD,CAAA,EAAAI,CAAA,EAAAK,CAAA,oBAAAmB,CAAA,CAAAwB,IAAA,QAAA1B,CAAA,GAAAjB,CAAA,CAAAmE,IAAA,GAAAnB,CAAA,GAAAF,CAAA,EAAA3B,CAAA,CAAAyB,GAAA,KAAAK,CAAA,qBAAAtB,KAAA,EAAAR,CAAA,CAAAyB,GAAA,EAAAuB,IAAA,EAAAnE,CAAA,CAAAmE,IAAA,kBAAAhD,CAAA,CAAAwB,IAAA,KAAA1B,CAAA,GAAA+B,CAAA,EAAAhD,CAAA,CAAAoE,MAAA,YAAApE,CAAA,CAAA4C,GAAA,GAAAzB,CAAA,CAAAyB,GAAA,mBAAA0B,oBAAA/E,CAAA,EAAAI,CAAA,QAAAK,CAAA,GAAAL,CAAA,CAAAyE,MAAA,EAAAnD,CAAA,GAAA1B,CAAA,CAAAsC,QAAA,CAAA7B,CAAA,OAAAiB,CAAA,KAAArB,CAAA,SAAAD,CAAA,CAAA0E,QAAA,qBAAArE,CAAA,IAAAT,CAAA,CAAAsC,QAAA,eAAAlC,CAAA,CAAAyE,MAAA,aAAAzE,CAAA,CAAAiD,GAAA,GAAAhD,CAAA,EAAA0E,mBAAA,CAAA/E,CAAA,EAAAI,CAAA,eAAAA,CAAA,CAAAyE,MAAA,kBAAApE,CAAA,KAAAL,CAAA,CAAAyE,MAAA,YAAAzE,CAAA,CAAAiD,GAAA,OAAA+B,SAAA,uCAAA3E,CAAA,iBAAAiD,CAAA,MAAAxC,CAAA,GAAAiC,QAAA,CAAAzB,CAAA,EAAA1B,CAAA,CAAAsC,QAAA,EAAAlC,CAAA,CAAAiD,GAAA,mBAAAnC,CAAA,CAAAkC,IAAA,SAAAhD,CAAA,CAAAyE,MAAA,YAAAzE,CAAA,CAAAiD,GAAA,GAAAnC,CAAA,CAAAmC,GAAA,EAAAjD,CAAA,CAAA0E,QAAA,SAAApB,CAAA,MAAA/C,CAAA,GAAAO,CAAA,CAAAmC,GAAA,SAAA1C,CAAA,GAAAA,CAAA,CAAAiE,IAAA,IAAAxE,CAAA,CAAAJ,CAAA,CAAAqF,UAAA,IAAA1E,CAAA,CAAAyB,KAAA,EAAAhC,CAAA,CAAAkF,IAAA,GAAAtF,CAAA,CAAAuF,OAAA,eAAAnF,CAAA,CAAAyE,MAAA,KAAAzE,CAAA,CAAAyE,MAAA,WAAAzE,CAAA,CAAAiD,GAAA,GAAAhD,CAAA,GAAAD,CAAA,CAAA0E,QAAA,SAAApB,CAAA,IAAA/C,CAAA,IAAAP,CAAA,CAAAyE,MAAA,YAAAzE,CAAA,CAAAiD,GAAA,OAAA+B,SAAA,sCAAAhF,CAAA,CAAA0E,QAAA,SAAApB,CAAA,cAAA8B,aAAAnF,CAAA,QAAAL,CAAA,KAAAyF,MAAA,EAAApF,CAAA,YAAAA,CAAA,KAAAL,CAAA,CAAA0F,QAAA,GAAArF,CAAA,WAAAA,CAAA,KAAAL,CAAA,CAAA2F,UAAA,GAAAtF,CAAA,KAAAL,CAAA,CAAA4F,QAAA,GAAAvF,CAAA,WAAAwF,UAAA,CAAAlE,IAAA,CAAA3B,CAAA,cAAA8F,cAAAzF,CAAA,QAAAL,CAAA,GAAAK,CAAA,CAAA0F,UAAA,QAAA/F,CAAA,CAAAoD,IAAA,oBAAApD,CAAA,CAAAqD,GAAA,EAAAhD,CAAA,CAAA0F,UAAA,GAAA/F,CAAA,aAAAiD,QAAA5C,CAAA,SAAAwF,UAAA,MAAAJ,MAAA,aAAApF,CAAA,CAAA8D,OAAA,CAAAqB,YAAA,cAAAQ,KAAA,iBAAAhC,OAAAhE,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAI,CAAA,GAAAJ,CAAA,CAAAW,CAAA,OAAAP,CAAA,SAAAA,CAAA,CAAAa,IAAA,CAAAjB,CAAA,4BAAAA,CAAA,CAAAsF,IAAA,SAAAtF,CAAA,OAAAiG,KAAA,CAAAjG,CAAA,CAAAkG,MAAA,SAAAxE,CAAA,OAAAR,CAAA,YAAAoE,KAAA,aAAA5D,CAAA,GAAA1B,CAAA,CAAAkG,MAAA,OAAAzF,CAAA,CAAAQ,IAAA,CAAAjB,CAAA,EAAA0B,CAAA,UAAA4D,IAAA,CAAAlD,KAAA,GAAApC,CAAA,CAAA0B,CAAA,GAAA4D,IAAA,CAAAV,IAAA,OAAAU,IAAA,SAAAA,IAAA,CAAAlD,KAAA,GAAA/B,CAAA,EAAAiF,IAAA,CAAAV,IAAA,OAAAU,IAAA,YAAApE,CAAA,CAAAoE,IAAA,GAAApE,CAAA,gBAAAkE,SAAA,CAAA9E,OAAA,CAAAN,CAAA,kCAAA2D,iBAAA,CAAA5B,SAAA,GAAA6B,0BAAA,EAAAlC,CAAA,CAAAuC,CAAA,mBAAA7B,KAAA,EAAAwB,0BAAA,EAAAhB,YAAA,SAAAlB,CAAA,CAAAkC,0BAAA,mBAAAxB,KAAA,EAAAuB,iBAAA,EAAAf,YAAA,SAAAe,iBAAA,CAAAwC,WAAA,GAAAzD,MAAA,CAAAkB,0BAAA,EAAA7C,CAAA,wBAAAf,CAAA,CAAAoG,mBAAA,aAAA/F,CAAA,QAAAL,CAAA,wBAAAK,CAAA,IAAAA,CAAA,CAAAgG,WAAA,WAAArG,CAAA,KAAAA,CAAA,KAAA2D,iBAAA,6BAAA3D,CAAA,CAAAmG,WAAA,IAAAnG,CAAA,CAAAsG,IAAA,OAAAtG,CAAA,CAAAuG,IAAA,aAAAlG,CAAA,WAAAO,MAAA,CAAAoB,cAAA,GAAApB,MAAA,CAAAoB,cAAA,CAAA3B,CAAA,EAAAuD,0BAAA,KAAAvD,CAAA,CAAAK,SAAA,GAAAkD,0BAAA,EAAAlB,MAAA,CAAArC,CAAA,EAAAU,CAAA,yBAAAV,CAAA,CAAA0B,SAAA,GAAAnB,MAAA,CAAAoC,MAAA,CAAAiB,CAAA,GAAA5D,CAAA,KAAAL,CAAA,CAAAwG,KAAA,aAAAnG,CAAA,aAAAmE,OAAA,EAAAnE,CAAA,OAAA6D,qBAAA,CAAAG,aAAA,CAAAtC,SAAA,GAAAW,MAAA,CAAA2B,aAAA,CAAAtC,SAAA,EAAAQ,CAAA,iCAAAvC,CAAA,CAAAqE,aAAA,GAAAA,aAAA,EAAArE,CAAA,CAAAyG,KAAA,aAAApG,CAAA,EAAAD,CAAA,EAAAK,CAAA,EAAAiB,CAAA,EAAAR,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAAwF,OAAA,OAAA/F,CAAA,OAAA0D,aAAA,CAAAvB,IAAA,CAAAzC,CAAA,EAAAD,CAAA,EAAAK,CAAA,EAAAiB,CAAA,GAAAR,CAAA,UAAAlB,CAAA,CAAAoG,mBAAA,CAAAhG,CAAA,IAAAO,CAAA,GAAAA,CAAA,CAAA2E,IAAA,GAAAb,IAAA,WAAApE,CAAA,WAAAA,CAAA,CAAAuE,IAAA,GAAAvE,CAAA,CAAA+B,KAAA,GAAAzB,CAAA,CAAA2E,IAAA,WAAApB,qBAAA,CAAAD,CAAA,GAAAvB,MAAA,CAAAuB,CAAA,EAAAlD,CAAA,gBAAA2B,MAAA,CAAAuB,CAAA,EAAAtD,CAAA,iCAAA+B,MAAA,CAAAuB,CAAA,6DAAAjE,CAAA,CAAA2G,IAAA,aAAAtG,CAAA,QAAAL,CAAA,GAAAY,MAAA,CAAAP,CAAA,GAAAD,CAAA,gBAAAK,CAAA,IAAAT,CAAA,EAAAI,CAAA,CAAAuB,IAAA,CAAAlB,CAAA,UAAAL,CAAA,CAAAwG,OAAA,aAAAtB,KAAA,WAAAlF,CAAA,CAAA8F,MAAA,SAAA7F,CAAA,GAAAD,CAAA,CAAAyG,GAAA,QAAAxG,CAAA,IAAAL,CAAA,SAAAsF,IAAA,CAAAlD,KAAA,GAAA/B,CAAA,EAAAiF,IAAA,CAAAV,IAAA,OAAAU,IAAA,WAAAA,IAAA,CAAAV,IAAA,OAAAU,IAAA,QAAAtF,CAAA,CAAAgE,MAAA,GAAAA,MAAA,EAAAf,OAAA,CAAAlB,SAAA,KAAAsE,WAAA,EAAApD,OAAA,EAAA+C,KAAA,WAAAA,MAAAhG,CAAA,aAAA8G,IAAA,WAAAxB,IAAA,WAAAN,IAAA,QAAAC,KAAA,GAAA5E,CAAA,OAAAuE,IAAA,YAAAE,QAAA,cAAAD,MAAA,gBAAAxB,GAAA,GAAAhD,CAAA,OAAAwF,UAAA,CAAA1B,OAAA,CAAA2B,aAAA,IAAA9F,CAAA,WAAAI,CAAA,kBAAAA,CAAA,CAAA2G,MAAA,OAAAtG,CAAA,CAAAQ,IAAA,OAAAb,CAAA,MAAA6F,KAAA,EAAA7F,CAAA,CAAA4G,KAAA,cAAA5G,CAAA,IAAAC,CAAA,MAAA4G,IAAA,WAAAA,KAAA,SAAArC,IAAA,WAAAvE,CAAA,QAAAwF,UAAA,IAAAE,UAAA,kBAAA1F,CAAA,CAAA+C,IAAA,QAAA/C,CAAA,CAAAgD,GAAA,cAAA6D,IAAA,KAAAhC,iBAAA,WAAAA,kBAAAlF,CAAA,aAAA4E,IAAA,QAAA5E,CAAA,MAAAI,CAAA,kBAAA+G,OAAA1G,CAAA,EAAAiB,CAAA,WAAAf,CAAA,CAAAyC,IAAA,YAAAzC,CAAA,CAAA0C,GAAA,GAAArD,CAAA,EAAAI,CAAA,CAAAkF,IAAA,GAAA7E,CAAA,EAAAiB,CAAA,KAAAtB,CAAA,CAAAyE,MAAA,WAAAzE,CAAA,CAAAiD,GAAA,GAAAhD,CAAA,KAAAqB,CAAA,aAAAA,CAAA,QAAAmE,UAAA,CAAAK,MAAA,MAAAxE,CAAA,SAAAA,CAAA,QAAAR,CAAA,QAAA2E,UAAA,CAAAnE,CAAA,GAAAf,CAAA,GAAAO,CAAA,CAAA6E,UAAA,iBAAA7E,CAAA,CAAAuE,MAAA,SAAA0B,MAAA,aAAAjG,CAAA,CAAAuE,MAAA,SAAAqB,IAAA,QAAAvE,CAAA,GAAA9B,CAAA,CAAAQ,IAAA,CAAAC,CAAA,eAAAH,CAAA,GAAAN,CAAA,CAAAQ,IAAA,CAAAC,CAAA,qBAAAqB,CAAA,IAAAxB,CAAA,aAAA+F,IAAA,GAAA5F,CAAA,CAAAwE,QAAA,SAAAyB,MAAA,CAAAjG,CAAA,CAAAwE,QAAA,gBAAAoB,IAAA,GAAA5F,CAAA,CAAAyE,UAAA,SAAAwB,MAAA,CAAAjG,CAAA,CAAAyE,UAAA,cAAApD,CAAA,aAAAuE,IAAA,GAAA5F,CAAA,CAAAwE,QAAA,SAAAyB,MAAA,CAAAjG,CAAA,CAAAwE,QAAA,qBAAA3E,CAAA,QAAA4D,KAAA,qDAAAmC,IAAA,GAAA5F,CAAA,CAAAyE,UAAA,SAAAwB,MAAA,CAAAjG,CAAA,CAAAyE,UAAA,YAAAR,MAAA,WAAAA,OAAA9E,CAAA,EAAAL,CAAA,aAAAI,CAAA,QAAAyF,UAAA,CAAAK,MAAA,MAAA9F,CAAA,SAAAA,CAAA,QAAAsB,CAAA,QAAAmE,UAAA,CAAAzF,CAAA,OAAAsB,CAAA,CAAA+D,MAAA,SAAAqB,IAAA,IAAArG,CAAA,CAAAQ,IAAA,CAAAS,CAAA,wBAAAoF,IAAA,GAAApF,CAAA,CAAAiE,UAAA,QAAAzE,CAAA,GAAAQ,CAAA,aAAAR,CAAA,iBAAAb,CAAA,mBAAAA,CAAA,KAAAa,CAAA,CAAAuE,MAAA,IAAAzF,CAAA,IAAAA,CAAA,IAAAkB,CAAA,CAAAyE,UAAA,KAAAzE,CAAA,cAAAP,CAAA,GAAAO,CAAA,GAAAA,CAAA,CAAA6E,UAAA,cAAApF,CAAA,CAAAyC,IAAA,GAAA/C,CAAA,EAAAM,CAAA,CAAA0C,GAAA,GAAArD,CAAA,EAAAkB,CAAA,SAAA2D,MAAA,gBAAAS,IAAA,GAAApE,CAAA,CAAAyE,UAAA,EAAAjC,CAAA,SAAA0D,QAAA,CAAAzG,CAAA,MAAAyG,QAAA,WAAAA,SAAA/G,CAAA,EAAAL,CAAA,oBAAAK,CAAA,CAAA+C,IAAA,QAAA/C,CAAA,CAAAgD,GAAA,qBAAAhD,CAAA,CAAA+C,IAAA,mBAAA/C,CAAA,CAAA+C,IAAA,QAAAkC,IAAA,GAAAjF,CAAA,CAAAgD,GAAA,gBAAAhD,CAAA,CAAA+C,IAAA,SAAA8D,IAAA,QAAA7D,GAAA,GAAAhD,CAAA,CAAAgD,GAAA,OAAAwB,MAAA,kBAAAS,IAAA,yBAAAjF,CAAA,CAAA+C,IAAA,IAAApD,CAAA,UAAAsF,IAAA,GAAAtF,CAAA,GAAA0D,CAAA,KAAA2D,MAAA,WAAAA,OAAAhH,CAAA,aAAAL,CAAA,QAAA6F,UAAA,CAAAK,MAAA,MAAAlG,CAAA,SAAAA,CAAA,QAAAI,CAAA,QAAAyF,UAAA,CAAA7F,CAAA,OAAAI,CAAA,CAAAuF,UAAA,KAAAtF,CAAA,cAAA+G,QAAA,CAAAhH,CAAA,CAAA2F,UAAA,EAAA3F,CAAA,CAAAwF,QAAA,GAAAE,aAAA,CAAA1F,CAAA,GAAAsD,CAAA,yBAAA4D,OAAAjH,CAAA,aAAAL,CAAA,QAAA6F,UAAA,CAAAK,MAAA,MAAAlG,CAAA,SAAAA,CAAA,QAAAI,CAAA,QAAAyF,UAAA,CAAA7F,CAAA,OAAAI,CAAA,CAAAqF,MAAA,KAAApF,CAAA,QAAAI,CAAA,GAAAL,CAAA,CAAA2F,UAAA,kBAAAtF,CAAA,CAAA2C,IAAA,QAAA1B,CAAA,GAAAjB,CAAA,CAAA4C,GAAA,EAAAyC,aAAA,CAAA1F,CAAA,YAAAsB,CAAA,YAAAiD,KAAA,8BAAA4C,aAAA,WAAAA,cAAAvH,CAAA,EAAAI,CAAA,EAAAK,CAAA,gBAAAqE,QAAA,KAAAxC,QAAA,EAAA0B,MAAA,CAAAhE,CAAA,GAAAqF,UAAA,EAAAjF,CAAA,EAAAmF,OAAA,EAAA9E,CAAA,oBAAAoE,MAAA,UAAAxB,GAAA,GAAAhD,CAAA,GAAAqD,CAAA,OAAA1D,CAAA;AAAA,SAAAwH,mBAAA/G,CAAA,EAAAJ,CAAA,EAAAL,CAAA,EAAAI,CAAA,EAAAsB,CAAA,EAAAf,CAAA,EAAA4B,CAAA,cAAArB,CAAA,GAAAT,CAAA,CAAAE,CAAA,EAAA4B,CAAA,GAAAxB,CAAA,GAAAG,CAAA,CAAAkB,KAAA,WAAA3B,CAAA,gBAAAT,CAAA,CAAAS,CAAA,KAAAS,CAAA,CAAA0D,IAAA,GAAAvE,CAAA,CAAAU,CAAA,IAAA2F,OAAA,CAAAnC,OAAA,CAAAxD,CAAA,EAAA0D,IAAA,CAAArE,CAAA,EAAAsB,CAAA;AAAA,SAAA+F,kBAAAhH,CAAA,6BAAAJ,CAAA,SAAAL,CAAA,GAAAyB,SAAA,aAAAiF,OAAA,WAAAtG,CAAA,EAAAsB,CAAA,QAAAf,CAAA,GAAAF,CAAA,CAAAe,KAAA,CAAAnB,CAAA,EAAAL,CAAA,YAAA0H,MAAAjH,CAAA,IAAA+G,kBAAA,CAAA7G,CAAA,EAAAP,CAAA,EAAAsB,CAAA,EAAAgG,KAAA,EAAAC,MAAA,UAAAlH,CAAA,cAAAkH,OAAAlH,CAAA,IAAA+G,kBAAA,CAAA7G,CAAA,EAAAP,CAAA,EAAAsB,CAAA,EAAAgG,KAAA,EAAAC,MAAA,WAAAlH,CAAA,KAAAiH,KAAA;AAAA,SAAAE,mBAAAxH,CAAA,WAAAyH,kBAAA,CAAAzH,CAAA,KAAA0H,gBAAA,CAAA1H,CAAA,KAAA2H,2BAAA,CAAA3H,CAAA,KAAA4H,kBAAA;AAAA,SAAAA,mBAAA,cAAA5C,SAAA;AAAA,SAAA0C,iBAAA1H,CAAA,8BAAAiC,MAAA,YAAAjC,CAAA,CAAAiC,MAAA,CAAAC,QAAA,aAAAlC,CAAA,uBAAA6H,KAAA,CAAAC,IAAA,CAAA9H,CAAA;AAAA,SAAAyH,mBAAAzH,CAAA,QAAA6H,KAAA,CAAAE,OAAA,CAAA/H,CAAA,UAAAgI,iBAAA,CAAAhI,CAAA;AAAA,SAAAiI,yBAAArI,CAAA,EAAAK,CAAA,gBAAAL,CAAA,iBAAA0B,CAAA,EAAAtB,CAAA,EAAAc,CAAA,GAAAoH,6BAAA,CAAAtI,CAAA,EAAAK,CAAA,OAAAO,MAAA,CAAA2H,qBAAA,QAAA9H,CAAA,GAAAG,MAAA,CAAA2H,qBAAA,CAAAvI,CAAA,QAAAI,CAAA,MAAAA,CAAA,GAAAK,CAAA,CAAAyF,MAAA,EAAA9F,CAAA,IAAAsB,CAAA,GAAAjB,CAAA,CAAAL,CAAA,GAAAC,CAAA,CAAAmI,OAAA,CAAA9G,CAAA,aAAA+G,oBAAA,CAAAxH,IAAA,CAAAjB,CAAA,EAAA0B,CAAA,MAAAR,CAAA,CAAAQ,CAAA,IAAA1B,CAAA,CAAA0B,CAAA,aAAAR,CAAA;AAAA,SAAAoH,8BAAAlI,CAAA,EAAAJ,CAAA,gBAAAI,CAAA,iBAAAC,CAAA,gBAAAI,CAAA,IAAAL,CAAA,SAAAY,cAAA,CAAAC,IAAA,CAAAb,CAAA,EAAAK,CAAA,SAAAT,CAAA,CAAAwI,OAAA,CAAA/H,CAAA,kBAAAJ,CAAA,CAAAI,CAAA,IAAAL,CAAA,CAAAK,CAAA,YAAAJ,CAAA;AAAA,SAAAqI,QAAA1I,CAAA,EAAAI,CAAA,QAAAC,CAAA,GAAAO,MAAA,CAAA+F,IAAA,CAAA3G,CAAA,OAAAY,MAAA,CAAA2H,qBAAA,QAAA7G,CAAA,GAAAd,MAAA,CAAA2H,qBAAA,CAAAvI,CAAA,GAAAI,CAAA,KAAAsB,CAAA,GAAAA,CAAA,CAAAiH,MAAA,WAAAvI,CAAA,WAAAQ,MAAA,CAAAE,wBAAA,CAAAd,CAAA,EAAAI,CAAA,EAAAuC,UAAA,OAAAtC,CAAA,CAAAsB,IAAA,CAAAH,KAAA,CAAAnB,CAAA,EAAAqB,CAAA,YAAArB,CAAA;AAAA,SAAAuI,cAAA5I,CAAA,aAAAI,CAAA,MAAAA,CAAA,GAAAqB,SAAA,CAAAyE,MAAA,EAAA9F,CAAA,UAAAC,CAAA,WAAAoB,SAAA,CAAArB,CAAA,IAAAqB,SAAA,CAAArB,CAAA,QAAAA,CAAA,OAAAsI,OAAA,CAAA9H,MAAA,CAAAP,CAAA,OAAA8D,OAAA,WAAA/D,CAAA,IAAAyI,eAAA,CAAA7I,CAAA,EAAAI,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAQ,MAAA,CAAAkI,yBAAA,GAAAlI,MAAA,CAAAmI,gBAAA,CAAA/I,CAAA,EAAAY,MAAA,CAAAkI,yBAAA,CAAAzI,CAAA,KAAAqI,OAAA,CAAA9H,MAAA,CAAAP,CAAA,GAAA8D,OAAA,WAAA/D,CAAA,IAAAQ,MAAA,CAAAC,cAAA,CAAAb,CAAA,EAAAI,CAAA,EAAAQ,MAAA,CAAAE,wBAAA,CAAAT,CAAA,EAAAD,CAAA,iBAAAJ,CAAA;AAAA,SAAA6I,gBAAA7I,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAA4I,cAAA,CAAA5I,CAAA,MAAAJ,CAAA,GAAAY,MAAA,CAAAC,cAAA,CAAAb,CAAA,EAAAI,CAAA,IAAAgC,KAAA,EAAA/B,CAAA,EAAAsC,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAA7C,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAgJ,eAAA3I,CAAA,QAAAa,CAAA,GAAA+H,YAAA,CAAA5I,CAAA,gCAAAC,OAAA,CAAAY,CAAA,IAAAA,CAAA,GAAAA,CAAA;AAAA,SAAA+H,aAAA5I,CAAA,EAAAD,CAAA,oBAAAE,OAAA,CAAAD,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAgC,MAAA,CAAA6G,WAAA,kBAAAlJ,CAAA,QAAAkB,CAAA,GAAAlB,CAAA,CAAAiB,IAAA,CAAAZ,CAAA,EAAAD,CAAA,gCAAAE,OAAA,CAAAY,CAAA,UAAAA,CAAA,YAAAkE,SAAA,yEAAAhF,CAAA,GAAA+I,MAAA,GAAAC,MAAA,EAAA/I,CAAA;AAAA,SAAAgJ,eAAAjJ,CAAA,EAAAJ,CAAA,WAAAsJ,eAAA,CAAAlJ,CAAA,KAAAmJ,qBAAA,CAAAnJ,CAAA,EAAAJ,CAAA,KAAA+H,2BAAA,CAAA3H,CAAA,EAAAJ,CAAA,KAAAwJ,gBAAA;AAAA,SAAAA,iBAAA,cAAApE,SAAA;AAAA,SAAA2C,4BAAA3H,CAAA,EAAAO,CAAA,QAAAP,CAAA,2BAAAA,CAAA,SAAAgI,iBAAA,CAAAhI,CAAA,EAAAO,CAAA,OAAAN,CAAA,MAAAoJ,QAAA,CAAAxI,IAAA,CAAAb,CAAA,EAAA4G,KAAA,6BAAA3G,CAAA,IAAAD,CAAA,CAAAiG,WAAA,KAAAhG,CAAA,GAAAD,CAAA,CAAAiG,WAAA,CAAAC,IAAA,aAAAjG,CAAA,cAAAA,CAAA,GAAA4H,KAAA,CAAAC,IAAA,CAAA9H,CAAA,oBAAAC,CAAA,+CAAAqJ,IAAA,CAAArJ,CAAA,IAAA+H,iBAAA,CAAAhI,CAAA,EAAAO,CAAA;AAAA,SAAAyH,kBAAAhI,CAAA,EAAAO,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAAP,CAAA,CAAA8F,MAAA,MAAAvF,CAAA,GAAAP,CAAA,CAAA8F,MAAA,YAAAlG,CAAA,MAAAS,CAAA,GAAAwH,KAAA,CAAAtH,CAAA,GAAAX,CAAA,GAAAW,CAAA,EAAAX,CAAA,IAAAS,CAAA,CAAAT,CAAA,IAAAI,CAAA,CAAAJ,CAAA,UAAAS,CAAA;AAAA,SAAA8I,sBAAAnJ,CAAA,EAAAmD,CAAA,QAAAlD,CAAA,WAAAD,CAAA,gCAAAiC,MAAA,IAAAjC,CAAA,CAAAiC,MAAA,CAAAC,QAAA,KAAAlC,CAAA,4BAAAC,CAAA,QAAAL,CAAA,EAAAS,CAAA,EAAAS,CAAA,EAAAH,CAAA,EAAAJ,CAAA,OAAA6C,CAAA,OAAA9B,CAAA,iBAAAR,CAAA,IAAAb,CAAA,GAAAA,CAAA,CAAAY,IAAA,CAAAb,CAAA,GAAAkF,IAAA,QAAA/B,CAAA,QAAA3C,MAAA,CAAAP,CAAA,MAAAA,CAAA,UAAAmD,CAAA,uBAAAA,CAAA,IAAAxD,CAAA,GAAAkB,CAAA,CAAAD,IAAA,CAAAZ,CAAA,GAAAuE,IAAA,MAAAjE,CAAA,CAAAgB,IAAA,CAAA3B,CAAA,CAAAoC,KAAA,GAAAzB,CAAA,CAAAuF,MAAA,KAAA3C,CAAA,GAAAC,CAAA,iBAAApD,CAAA,IAAAsB,CAAA,OAAAjB,CAAA,GAAAL,CAAA,yBAAAoD,CAAA,YAAAnD,CAAA,eAAAU,CAAA,GAAAV,CAAA,cAAAO,MAAA,CAAAG,CAAA,MAAAA,CAAA,2BAAAW,CAAA,QAAAjB,CAAA,aAAAE,CAAA;AAAA,SAAA2I,gBAAAlJ,CAAA,QAAA6H,KAAA,CAAAE,OAAA,CAAA/H,CAAA,UAAAA,CAAA;AA6CA,SAASuJ,GAAGA,CAACC,KAAK,EAAE;EAChB,IAAAC,YAAA,GA0BID,KAAK,CAzBLE,KAAK;IAALA,KAAK,GAAAD,YAAA,cAAG,MAAM,GAAAA,YAAA;IAAAE,aAAA,GAyBdH,KAAK,CAxBLI,MAAM;IAANA,MAAM,GAAAD,aAAA,cAAG,MAAM,GAAAA,aAAA;IAAAE,WAAA,GAwBfL,KAAK,CAvBLM,IAAI;IAAJA,IAAI,GAAAD,WAAA,cAAG,IAAI,GAAAA,WAAA;IACXE,EAAE,GAsBFP,KAAK,CAtBLO,EAAE;IACFC,QAAQ,GAqBRR,KAAK,CArBLQ,QAAQ;IACRC,qBAAqB,GAoBrBT,KAAK,CApBLS,qBAAqB;IACrBC,MAAM,GAmBNV,KAAK,CAnBLU,MAAM;IAAAC,mBAAA,GAmBNX,KAAK,CAlBLY,YAAY;IAAZA,YAAY,GAAAD,mBAAA,cAAG,CAAC,IAAI,GAAAA,mBAAA;IAAAE,eAAA,GAkBpBb,KAAK,CAjBLc,QAAQ;IAARA,QAAQ,GAAAD,eAAA,cAAG,CAAC,CAAC,GAAAA,eAAA;IACbE,UAAU,GAgBVf,KAAK,CAhBLe,UAAU;IAAAC,eAAA,GAgBVhB,KAAK,CAfLiB,QAAQ;IAARA,QAAQ,GAAAD,eAAA,cAAG,CAAC,GAAAA,eAAA;IAAAE,mBAAA,GAeZlB,KAAK,CAdLmB,YAAY;IAAZA,YAAY,GAAAD,mBAAA,cAAG;MACXE,eAAe,EAAE,qBAAqB;MACtCC,KAAK,EAAE;IACX,CAAC,GAAAH,mBAAA;IAAAI,eAAA,GAWDtB,KAAK,CAVLuB,QAAQ;IAARA,QAAQ,GAAAD,eAAA,cAAG,IAAI,GAAAA,eAAA;IAAAE,qBAAA,GAUfxB,KAAK,CATLyB,kBAAkB;IAAlBA,kBAAkB,GAAAD,qBAAA,cAAG,IAAI,GAAAA,qBAAA;IAAAE,qBAAA,GASzB1B,KAAK,CARL2B,cAAc;IAAdA,cAAc,GAAAD,qBAAA,cAAG,SAAS,GAAAA,qBAAA;IAC1BE,aAAa,GAOb5B,KAAK,CAPL4B,aAAa;IACbC,YAAY,GAMZ7B,KAAK,CANL6B,YAAY;IACZC,WAAW,GAKX9B,KAAK,CALL8B,WAAW;IACXC,cAAc,GAId/B,KAAK,CAJL+B,cAAc;IAAAC,eAAA,GAIdhC,KAAK,CAHLiC,QAAQ;IAARA,QAAQ,GAAAD,eAAA,cAAG,IAAI,GAAAA,eAAA;IACfE,SAAS,GAETlC,KAAK,CAFLkC,SAAS;IACTC,UAAU,GACVnC,KAAK,CADLmC,UAAU;EAGd,IAAAC,SAAA,GAAkC,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAAC,UAAA,GAAA7C,cAAA,CAAA2C,SAAA;IAA1CG,SAAS,GAAAD,UAAA;IAAEE,YAAY,GAAAF,UAAA;EAC9B,IAAAG,UAAA,GAA4B,IAAAJ,eAAQ,EAAC,KAAK,CAAC;IAAAK,UAAA,GAAAjD,cAAA,CAAAgD,UAAA;IAApCE,MAAM,GAAAD,UAAA;IAAEE,SAAS,GAAAF,UAAA;EACxB,IAAAG,UAAA,GAAsB,IAAAR,eAAQ,EAAC,IAAI,CAAC;IAAAS,UAAA,GAAArD,cAAA,CAAAoD,UAAA;IAA7BE,GAAG,GAAAD,UAAA;IAAEE,MAAM,GAAAF,UAAA;EAElB,IAAMG,MAAM,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EAC3B,IAAMC,SAAS,GAAG,IAAAD,aAAM,EAAC,IAAI,CAAC;EAC9B,IAAME,MAAM,GAAG,IAAAF,aAAM,EAAC,IAAI,CAAC;EAC3B,IAAMG,QAAQ,GAAG,IAAAH,aAAM,EAAC,CAAC;EACzB,IAAMI,uBAAuB,GAAG,IAAAC,sCAA0B,EAACN,MAAM,CAAC;EAElE,IAAAO,gBAAS,EAAC,YAAM;IACZC,OAAO,CAAC,CAAC;IAET,OAAO,YAAM;MACTtB,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAG,KAAK,CAAC;IACvB,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAuB,uBAAe,EAAC,YAAM;IAClB,IAAIT,MAAM,CAACU,OAAO,EAAE;MAChBV,MAAM,CAACU,OAAO,CAACC,OAAO,CAACC,UAAU,CAAC1C,YAAY,CAAC;IACnD;EACJ,CAAC,EAAE,CAAC2C,IAAI,CAACC,SAAS,CAAC5C,YAAY,CAAC,CAAC,CAAC;EAElC,IAAM6C,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAA,EAAS;IAClC,IAAI,CAAC7C,YAAY,CAAC8C,SAAS,EAAE;MACzB;MACA,IAAI9C,YAAY,CAACC,eAAe,KAAK,oBAAoB,EAAE;QACvD,IAAI8C,GAAG,GAAG,IAAIC,2CAAuB,CAAAnF,aAAA;UAAGuB,EAAE,EAAFA;QAAE,GAAKY,YAAY,CAAE,CAAC;QAC9D8B,MAAM,CAACU,OAAO,CAACS,aAAa,CAACC,kBAAkB,CAACH,GAAG,CAAC,CAAC,CAAC;MAC1D,CAAC,MAAM,IAAI/C,YAAY,CAACC,eAAe,KAAK,oBAAoB,EAAE;QAC9D,IAAI8C,IAAG,GAAG,IAAII,2CAAuB,CAACnD,YAAY,CAAC;QACnD8B,MAAM,CAACU,OAAO,CAACS,aAAa,CAACC,kBAAkB,CAACH,IAAG,CAAC,CAAC,CAAC;MAC1D;IACJ,CAAC,MAAM;MACH,IAAIjB,MAAM,CAACU,OAAO,EAAE;QAChB,IAAIY,MAAM,GAAGtB,MAAM,CAACU,OAAO,CAACS,aAAa,CAACI,OAAO,IAAI,EAAE;QACvD,IAAMC,QAAQ,GAAGF,MAAM,CAACG,IAAI,CAAC,UAAAC,IAAI;UAAA,IAAAC,qBAAA;UAAA,OAAI,EAAAA,qBAAA,GAAAD,IAAI,CAACE,gBAAgB,cAAAD,qBAAA,uBAArBA,qBAAA,CAAuBE,MAAM,MAAK,OAAO;QAAA,EAAC;QAC/E,IAAIL,QAAQ,EAAE;UACVxB,MAAM,CAACU,OAAO,CAACS,aAAa,CAACW,MAAM,CAACN,QAAQ,CAAC;QACjD;MACJ;IACJ;EACJ,CAAC;EAED,IAAMhB,OAAO,GAAG,SAAVA,OAAOA,CAAA,EAAS;IAClB,IAAQuB,MAAM,GAAwDhF,KAAK,CAAnEgF,MAAM;MAAEC,aAAa,GAAyCjF,KAAK,CAA3DiF,aAAa;MAAE3E,IAAI,GAAmCN,KAAK,CAA5CM,IAAI;MAAE4E,IAAI,GAA6BlF,KAAK,CAAtCkF,IAAI;MAAEC,UAAU,GAAiBnF,KAAK,CAAhCmF,UAAU;MAAKC,OAAO,GAAA3G,wBAAA,CAAKuB,KAAK,EAAA9J,SAAA;IAE3E,IAAAmP,kBAAA,GAAkE,IAAAC,8BAAiB,EAAC,CAAC;MAA/EC,OAAO,GAAAF,kBAAA,CAAPE,OAAO;MAAEC,OAAO,GAAAH,kBAAA,CAAPG,OAAO;MAAEC,gBAAgB,GAAAJ,kBAAA,CAAhBI,gBAAgB;MAAEC,SAAS,GAAAL,kBAAA,CAATK,SAAS;MAAEC,QAAQ,GAAAN,kBAAA,CAARM,QAAQ;;IAE7D;IACA,IAAIC,WAAW,GAAG;MACdZ,MAAM,EAAEA,MAAM,IACTU,SAAS,IAAIC,QAAQ,IAAI,CAACD,SAAS,EAAEC,QAAQ,CAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;MAC9ET,IAAI,EAAEA,IAAI,IAAKO,gBAAgB,IAAIjG,MAAM,CAACiG,gBAAgB,CAAE,IAAI,CAAC;MACjEF,OAAO,EAAGA,OAAO,IAAI/F,MAAM,CAAC+F,OAAO,CAAC,IAAK,CAAC;MAC1CC,OAAO,EAAGA,OAAO,IAAIhG,MAAM,CAACgG,OAAO,CAAC,IAAK;IAC7C,CAAC;IAED,IAAII,WAAW,CAACV,IAAI,IAAI,CAACU,WAAW,CAACZ,MAAM,CAAC,CAAC,CAAC,EAAE;MAC5C,IAAIa,CAAC,GAAG,IAAAC,2BAAY,EAACF,WAAW,CAACV,IAAI,CAAC;MACtCU,WAAW,CAACZ,MAAM,GAAG,CAACY,WAAW,CAACZ,MAAM,CAAC,CAAC,CAAC,EAAEY,WAAW,CAACZ,MAAM,CAAC,CAAC,CAAC,EAAEa,CAAC,CAAC;IAC1E;IAEAE,WAAG,CAACC,kBAAkB,GAClB,sLAAsL;IAE1L,IAAI5E,eAAe,GAAGD,YAAY,CAACC,eAAe,IAAI6E,aAAO,CAAC9E,YAAY,CAACC,eAAe,CAAC,IAAI,IAAI6E,aAAO,CAAC9E,YAAY,CAACC,eAAe,CAAC,CAAApC,aAAA;MACpIqC,KAAK,EAAEF,YAAY,CAACE,KAAK;MACzB6E,GAAG,EAAEnF,UAAU;MACfoF,GAAG,EAAE,OAAO;MACZ7F,IAAI,EAAJA;IAAI,GACDa,YAAY,CAClB,CAAC;IAEF,IAAIiF,GAAG,GAAG,IAAIC,cAAM,CAAClD,SAAS,CAACQ,OAAO,EAAA3E,aAAA;MAClCsH,aAAa,EAAE,IAAI;MACnBC,SAAS,EAAE,KAAK;MAAE;MAClBC,eAAe,EAAE,KAAK;MAAE;MACxBC,gBAAgB,EAAE,KAAK;MAAE;MACzBC,QAAQ,EAAE,KAAK;MAAE;MACjBC,UAAU,EAAE,KAAK;MAAE;MACnBC,QAAQ,EAAE,KAAK;MAAE;MACjBC,OAAO,EAAE,KAAK;MAAE;MAChBC,eAAe,EAAE,KAAK;MAAE;MACxBC,kBAAkB,EAAE,KAAK;MAAE;MAC3BC,SAAS,EAAEC,iBAAS,CAACC,OAAO;MAAE;MAC9BC,oBAAoB,EAAE,KAAK;MAAE;MAC7BC,WAAW,EAAE,IAAI;MAAE;MACnBC,sCAAsC,EAAE,KAAK;MAC7CC,oBAAoB,EAAEC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa;MAAE;MAC9DC,4BAA4B,EAAE,KAAK;MAAE;MACrCtG,eAAe,EAAfA;IAAe,GAEZgE,OAAO,CACb,CAAC;IAEFgB,GAAG,CAACuB,YAAY,GAAG/B,WAAW;;IAE9B;IACA,IAAItF,IAAI,EAAE;MACN8F,GAAG,CAACwB,KAAK,CAACC,KAAK,CAAC3F,SAAS,GAAG4F,aAAK,CAACC,kBAAkB,CAAC,SAAS,CAAC;IACnE;;IAEA;IACA,IAAI7F,SAAS,EAAE;MACXkE,GAAG,CAACwB,KAAK,CAACC,KAAK,CAAC3F,SAAS,GAAG4F,aAAK,CAACC,kBAAkB,CAAC7F,SAAS,CAAC;IACnE;;IAEA;IACAkE,GAAG,CAAC4B,YAAY,GAAG,IAAIC,wBAAY,CAAC,CAAC;;IAErC;IACA,IAAMC,MAAM,GAAG,IAAIC,mBAAW,CAAC,CAAC;IAChCD,MAAM,CAACE,GAAG,CAAChC,GAAG,CAACwB,KAAK,CAACC,KAAK,CAACQ,qBAAqB,EAAE,UAAAjS,CAAC,EAAI;MACnD+L,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAG,IAAI,CAAC;MAClBiE,GAAG,CAAC4B,YAAY,CAACM,IAAI,CAAC,SAAS,EAAElS,CAAC,CAAC;MACnC,IAAIA,CAAC,KAAK,CAAC,EAAE;QACT+L,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAG,KAAK,CAAC;MACvB;IACJ,CAAC,CAAC;;IAEF;IACAoG,wBAAgB,CAACC,wBAAwB,GAAG,EAAE;;IAE9C;IACAD,wBAAgB,CAACE,gBAAgB,GAAG,KAAK;IAEzCrC,GAAG,CAACnE,QAAQ,GAAGA,QAAQ;;IAEvB;IACAmE,GAAG,CAAC7E,QAAQ,GAAGA,QAAQ;;IAEvB;IACA6E,GAAG,CAAC3E,kBAAkB,GAAGA,kBAAkB;;IAE3C;IACA2E,GAAG,CAACsC,aAAa,CAACC,gBAAgB,CAACtH,KAAK,CAACuH,OAAO,GAAG,MAAM,CAAC,CAAC;;IAE3D3F,MAAM,CAACU,OAAO,GAAGyC,GAAG;IACpBA,GAAG,CAAC9F,IAAI,GAAGA,IAAI;;IAEf;IACA8F,GAAG,CAACnB,aAAa,GAAGA,aAAa,IAAI,IAAI;;IAEzC;IACAmB,GAAG,CAACxE,aAAa,GAAGA,aAAa;;IAEjC;IACAwE,GAAG,CAACxC,OAAO,GAAG,IAAIiF,aAAO,CAAC;MACtBzC,GAAG,EAAHA,GAAG;MACHhF,eAAe,EAAED,YAAY,CAACC,eAAe;MAC7CC,KAAK,EAAEF,YAAY,CAACE,KAAK;MACzByH,KAAK,EAAE1H,eAAe;MACtBgE,OAAO,EAAErD;IACb,CAAC,CAAC;;IAEF;IACAqE,GAAG,CAAC7B,MAAM,GAAG,IAAIwE,kBAAM,CAAC;MAAE3C,GAAG,EAAHA;IAAI,CAAC,CAAC;;IAEhC;IACAA,GAAG,CAAC4C,cAAc,GAAG,IAAIC,0BAAc,CAAC;MACpC7C,GAAG,EAAHA,GAAG;MACH8C,KAAK,EAAEvH;IACX,CAAC,CAAC;;IAEF;IACAyE,GAAG,CAAC7B,MAAM,CAAC4E,EAAE,CAAC,QAAQ,EAAE,UAAA5E,MAAM,EAAI;MAC9BzD,QAAQ,CAACsI,YAAY,IAAItI,QAAQ,CAACsI,YAAY,CAAC7E,MAAM,CAAC;MACtD6B,GAAG,CAAC4B,YAAY,CAACM,IAAI,CAAC,cAAc,EAAE/D,MAAM,CAAC;IACjD,CAAC,CAAC;;IAEF;IACA6B,GAAG,CAAC7B,MAAM,CAAC4E,EAAE,CAAC,KAAK,EAAE,UAAAL,KAAK,EAAI;MAC1BhI,QAAQ,CAACuI,SAAS,IAAIvI,QAAQ,CAACuI,SAAS,CAACP,KAAK,CAAC;MAC/C1C,GAAG,CAAC4B,YAAY,CAACM,IAAI,CAAC,WAAW,EAAEQ,KAAK,CAAC;IAC7C,CAAC,CAAC;;IAEF;IACA1C,GAAG,CAAC7B,MAAM,CAAC4E,EAAE,CAAC,QAAQ,EAAE,UAAAL,KAAK,EAAI;MAC7BhI,QAAQ,CAACwI,YAAY,IAAIxI,QAAQ,CAACwI,YAAY,CAACR,KAAK,CAAC;MACrD1C,GAAG,CAAC4B,YAAY,CAACM,IAAI,CAAC,cAAc,EAAEQ,KAAK,CAAC;IAChD,CAAC,CAAC;;IAEF;IACA1C,GAAG,CAAC7B,MAAM,CAAC4E,EAAE,CAAC,OAAO,EAAE,YAAM;MACzBrI,QAAQ,CAACyI,WAAW,IAAIzI,QAAQ,CAACyI,WAAW,CAAC,CAAC;MAC9CnD,GAAG,CAAC4B,YAAY,CAACM,IAAI,CAAC,aAAa,CAAC;IACxC,CAAC,CAAC;;IAEF;IACAlC,GAAG,CAAC7B,MAAM,CAAC4E,EAAE,CAAC,SAAS,EAAE,UAACL,KAAK,EAAEU,OAAO,EAAK;MACzCpD,GAAG,CAAC7B,MAAM,CAACkF,QAAQ,CAAC,CAAC,CAAC,CAAC;;MAEvB;MACA,IAAI,CAACD,OAAO,IAAIpD,GAAG,CAAC/C,QAAQ,EAAE;QAC1B+C,GAAG,CAACsD,YAAY,CAACZ,KAAK,CAAC;MAC3B;MAEAhI,QAAQ,CAAC6I,aAAa,IAAI7I,QAAQ,CAAC6I,aAAa,CAACb,KAAK,EAAEU,OAAO,CAAC;MAChEpD,GAAG,CAAC4B,YAAY,CAACM,IAAI,CAAC,eAAe,CAAC;IAC1C,CAAC,CAAC;;IAEF;IACAlC,GAAG,CAACgD,YAAY,GAAG,YAAM;MACrBhD,GAAG,CAAC7B,MAAM,CAACkF,QAAQ,CAAC,CAAC;IACzB,CAAC;;IAED;IACArD,GAAG,CAACwD,UAAU,GAAG,YAAM;MACnB,OAAOxD,GAAG,CAAC7B,MAAM,CAACqF,UAAU,CAAC,CAAC;IAClC,CAAC;;IAED;IACAxD,GAAG,CAACyD,iBAAiB,GAAG,YAAM;MAC1B,OAAOzD,GAAG,CAAC7B,MAAM,CAACuF,WAAW,CAAC,CAAC;IACnC,CAAC;;IAED;IACA1D,GAAG,CAAC2D,mBAAmB,GAAG,YAAM;MAC5B,OAAO3D,GAAG,CAAC7B,MAAM,CAACyF,aAAa,CAAC,CAAC;IACrC,CAAC;;IAED;IACA5D,GAAG,CAAC6D,mBAAmB,GAAG,UAAAC,KAAK,EAAI;MAC/B,OAAO9D,GAAG,CAAC7B,MAAM,CAAC4F,aAAa,CAACD,KAAK,CAAC;IAC1C,CAAC;;IAED;IACA9D,GAAG,CAACgE,mBAAmB,GAAG,UAAAF,KAAK,EAAI;MAC/B,OAAO9D,GAAG,CAAC7B,MAAM,CAAC8F,aAAa,CAACH,KAAK,CAAC;IAC1C,CAAC;;IAED;IACA9D,GAAG,CAACkE,QAAQ,GAAG,UAACxB,KAAK,EAAEyB,KAAK,EAAK;MAC7B,OAAOnE,GAAG,CAAC7B,MAAM,CAAC+F,QAAQ,CAACxB,KAAK,EAAEyB,KAAK,CAAC;IAC5C,CAAC;;IAED;IACAnE,GAAG,CAACoE,WAAW,GAAG,UAAA1B,KAAK,EAAI;MACvB,OAAO1C,GAAG,CAAC7B,MAAM,CAACiG,WAAW,CAAC1B,KAAK,CAAC;IACxC,CAAC;;IAED;IACA1C,GAAG,CAACqE,WAAW,GAAG,YAAM;MACpB,OAAOrE,GAAG,CAAC7B,MAAM,CAACkG,WAAW,CAAC,CAAC;IACnC,CAAC;;IAED;IACArE,GAAG,CAACsE,cAAc,GAAG,UAAA3N,IAAI,EAAI;MACzB,OAAOqJ,GAAG,CAAC7B,MAAM,CAACmG,cAAc,CAAC3N,IAAI,CAAC;IAC1C,CAAC;;IAED;IACAqJ,GAAG,CAACuE,gBAAgB,GAAG,UAAA5N,IAAI,EAAI;MAC3B,OAAOqJ,GAAG,CAAC7B,MAAM,CAACoG,gBAAgB,CAAC5N,IAAI,CAAC;IAC5C,CAAC;;IAED;IACAqJ,GAAG,CAACwE,mBAAmB,GAAG,UAAAC,MAAM,EAAI;MAChC,IAAIN,KAAK,GAAG,CAAC;MACb,IAAMhG,MAAM,GAAG6B,GAAG,CAAC0E,gBAAgB,CAAC,CAAC;MACrC,IAAIvG,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEjI,MAAM,EAAE;QAChB,IAAIuO,MAAM,IAAItG,MAAM,CAACwG,SAAS,CAAC,UAAA5Q,CAAC;UAAA,OAAI0Q,MAAM,GAAG1Q,CAAC,CAAC6Q,MAAM;QAAA,EAAC,KAAK,CAAC,CAAC,EAAE;UAC3D,IAAIC,EAAE,GAAG1G,MAAM,CAACwG,SAAS,CAAC,UAAA5Q,CAAC;YAAA,OAAI0Q,MAAM,GAAG1Q,CAAC,CAAC6Q,MAAM;UAAA,EAAC,GAAG,CAAC;UACrDT,KAAK,GAAGU,EAAE,GAAGV,KAAK,GAAGU,EAAE,GAAGV,KAAK;QACnC,CAAC,MAAM;UACHA,KAAK,GAAGhG,MAAM,CAACjI,MAAM;QACzB;MACJ;MAEA,OAAOiO,KAAK;IAChB,CAAC;;IAED;IACAnE,GAAG,CAAC8E,YAAY,GAAG,YAAM;MAAA,IAAAC,gBAAA,EAAAC,kBAAA,EAAAC,UAAA;MACrB,IAAMC,WAAW,GAAG,CAAAlF,GAAG,aAAHA,GAAG,gBAAA+E,gBAAA,GAAH/E,GAAG,CAAEkF,WAAW,cAAAH,gBAAA,uBAAhBA,gBAAA,CAAkBI,YAAY,KAAI,EAAE;MACxD,IAAMnH,aAAa,GAAG,CAAAgC,GAAG,aAAHA,GAAG,gBAAAgF,kBAAA,GAAHhF,GAAG,CAAEhC,aAAa,cAAAgH,kBAAA,uBAAlBA,kBAAA,CAAoB5G,OAAO,KAAI,EAAE;MACvD,IAAMgH,UAAU,GAAG,CAAApF,GAAG,aAAHA,GAAG,gBAAAiF,UAAA,GAAHjF,GAAG,CAAEwB,KAAK,cAAAyD,UAAA,gBAAAA,UAAA,GAAVA,UAAA,CAAYG,UAAU,cAAAH,UAAA,uBAAtBA,UAAA,CAAwBI,WAAW,KAAI,EAAE;MAE5D,UAAAC,MAAA,CAAA1N,kBAAA,CAAWsN,WAAW,GAAAtN,kBAAA,CAAKoG,aAAa,GAAApG,kBAAA,CAAKwN,UAAU;IAC3D,CAAC;;IAED;IACApF,GAAG,CAAC0E,gBAAgB,GAAG,UAAAZ,KAAK,EAAI;MAAA,IAAAyB,mBAAA;MAC5B,IAAMpH,MAAM,GAAG,CAAA6B,GAAG,aAAHA,GAAG,gBAAAuF,mBAAA,GAAHvF,GAAG,CAAEhC,aAAa,cAAAuH,mBAAA,uBAAlBA,mBAAA,CAAoBnH,OAAO,KAAI,EAAE;MAEhD,IAAI0F,KAAK,IAAI3F,MAAM,CAACjI,MAAM,EAAE;QACxB,IAAMS,IAAI,GAAGsB,KAAK,CAACE,OAAO,CAAC2L,KAAK,CAAC,GAAGA,KAAK,GAAG,CAACA,KAAK,CAAC;QAEnD,OAAO3F,MAAM,CAACxF,MAAM,CAAC,UAAA+J,KAAK;UAAA,OAAIA,KAAK,CAAC8C,GAAG,IAAI7O,IAAI,CAAC8O,QAAQ,CAAC/C,KAAK,CAAC8C,GAAG,CAAC;QAAA,EAAC;MACxE;MAEA,OAAOrH,MAAM;IACjB,CAAC;;IAED;IACA6B,GAAG,CAAC0F,iBAAiB,GAAG,UAAAC,MAAM,EAAI;MAC9B,IAAI,CAACA,MAAM,EAAE;MACb,OAAO3F,GAAG,CAAC8E,YAAY,CAAC,CAAC,CAACxG,IAAI,CAAC,UAAAoE,KAAK,EAAI;QACpC,IAAIiD,MAAM,YAAYC,+BAAuB,EAAE;UAAA,IAAAC,oBAAA;UAC3C,IAAInD,KAAK,aAALA,KAAK,eAALA,KAAK,CAAE8C,GAAG,IAAI9C,KAAK,CAAC8C,GAAG,MAAKG,MAAM,aAANA,MAAM,gBAAAE,oBAAA,GAANF,MAAM,CAAEG,YAAY,cAAAD,oBAAA,uBAApBA,oBAAA,CAAsBL,GAAG,GAAE;YACvD,OAAO9C,KAAK;UAChB;QACJ,CAAC,MAAM,IACHA,KAAK,YAAYqD,uBAAe,IAChCJ,MAAM,YAAYK,2BAAmB,EACvC;UAAA,IAAAC,iBAAA;UACE,IAAIvD,KAAK,aAALA,KAAK,eAALA,KAAK,CAAE8C,GAAG,IAAI9C,KAAK,CAAC8C,GAAG,MAAKG,MAAM,aAANA,MAAM,gBAAAM,iBAAA,GAANN,MAAM,CAAEO,SAAS,cAAAD,iBAAA,uBAAjBA,iBAAA,CAAmBT,GAAG,GAAE;YACpD,OAAO9C,KAAK;UAChB;QACJ,CAAC,MAAM,IAAIA,KAAK,YAAYyD,iBAAS,EAAE;UAAA,IAAAC,kBAAA;UACnC,IAAI1D,KAAK,aAALA,KAAK,eAALA,KAAK,CAAE8C,GAAG,IAAI9C,KAAK,CAAC8C,GAAG,MAAKG,MAAM,aAANA,MAAM,gBAAAS,kBAAA,GAANT,MAAM,CAAEO,SAAS,cAAAE,kBAAA,uBAAjBA,kBAAA,CAAmBZ,GAAG,GAAE;YACpD,OAAO9C,KAAK;UAChB;QACJ,CAAC,MAAM;UACH,IAAIA,KAAK,aAALA,KAAK,eAALA,KAAK,CAAE8C,GAAG,IAAI9C,KAAK,CAAC8C,GAAG,MAAKG,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEH,GAAG,GAAE;YACzC,OAAO9C,KAAK;UAChB;QACJ;MACJ,CAAC,CAAC;IACN,CAAC;;IAED;IACA1C,GAAG,CAACqG,0BAA0B,GAAG,UAAAC,OAAO,EAAI;MACxC,IAAIC,UAAU,GAAG,CAAC,CAAC;MACnB,IAAID,OAAO,IAAIA,OAAO,CAACE,gBAAgB,EAAE;QACrC,IAAMC,WAAW,GAAGH,OAAO,CAACE,gBAAgB,CAAC,CAAC,IAAI,EAAE;QACpD,IAAIC,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEvQ,MAAM,EAAE;UACrB,IAAMA,MAAM,GAAGuQ,WAAW,CAACvQ,MAAM;UACjC,KAAK,IAAIhF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGgF,MAAM,EAAE,EAAEhF,CAAC,EAAE;YAC7B,IAAMwV,UAAU,GAAGD,WAAW,CAACvV,CAAC,CAAC;YACjCqV,UAAU,CAACG,UAAU,CAAC,GAAGJ,OAAO,CAACK,WAAW,CAACD,UAAU,CAAC;UAC5D;QACJ;MACJ;MAEA,OAAOH,UAAU;IACrB,CAAC;;IAED;IACAvG,GAAG,CAAC4G,aAAa,GAAG,UAAAN,OAAO,EAAI;MAAA,IAAAO,kBAAA;MAC3B,IAAIP,OAAO,YAAYN,2BAAmB,EAAE;QACxC,OAAOhG,GAAG,CAACqG,0BAA0B,CAACC,OAAO,CAAC;MAClD,CAAC,MAAM,IAAIA,OAAO,aAAPA,OAAO,gBAAAO,kBAAA,GAAPP,OAAO,CAAEJ,SAAS,cAAAW,kBAAA,eAAlBA,kBAAA,CAAoBC,IAAI,IAAI,CAAAR,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEJ,SAAS,aAAYC,iBAAS,EAAE;QAC5E,OAAOG,OAAO,CAACJ,SAAS,CAACY,IAAI,CAACxI,IAAI,CAAC,UAAAC,IAAI;UAAA,OAAIA,IAAI,CAACwI,EAAE,KAAKT,OAAO,CAACS,EAAE;QAAA,EAAC;MACtE,CAAC,MAAM;QAAA,IAAAC,oBAAA,EAAAC,WAAA;QACH,IAAIV,UAAU,GACV,CAAAD,OAAO,aAAPA,OAAO,gBAAAU,oBAAA,GAAPV,OAAO,CAAEW,WAAW,cAAAD,oBAAA,uBAApBA,oBAAA,CAAsBE,QAAQ,CAACZ,OAAO,CAACa,GAAG,CAAC,MAAIb,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEC,UAAU,KAAI,CAAC,CAAC;QAC5EA,UAAU,GAAG,EAAAU,WAAA,GAAAV,UAAU,cAAAU,WAAA,uBAAVA,WAAA,CAAYV,UAAU,KAAIA,UAAU;QACjD,OAAOA,UAAU;MACrB;IACJ,CAAC;;IAED;IACAvG,GAAG,CAACoH,aAAa,GAAG,UAAA5B,GAAG,EAAI;MACvB,OAAOxF,GAAG,CAAC8E,YAAY,CAAC,CAAC,CAACxG,IAAI,CAAC,UAAAoE,KAAK,EAAI;QACpC,OAAO8C,GAAG,IAAI9C,KAAK,CAAC8C,GAAG,IAAI9C,KAAK,CAAC8C,GAAG,KAAKA,GAAG;MAChD,CAAC,CAAC;IACN,CAAC;;IAED;IACAxF,GAAG,CAACqH,YAAY,GAAGrH,GAAG,CAACoH,aAAa;;IAEpC;IACApH,GAAG,CAACsH,cAAc,GAAG,UAAA3Q,IAAI,EAAI;MACzB,OAAOqJ,GAAG,CAAC8E,YAAY,CAAC,CAAC,CAACnM,MAAM,CAAC,UAAA+J,KAAK,EAAI;QACtC,OAAOA,KAAK,CAAC8C,GAAG,IAAI7O,IAAI,CAAC8O,QAAQ,CAAC/C,KAAK,CAAC8C,GAAG,CAAC;MAChD,CAAC,CAAC;IACN,CAAC;IACDxF,GAAG,CAACuH,qBAAqB,GAAG,YAAM;MAC9BvH,GAAG,CAAC4C,cAAc,CAAC4E,aAAa,CAAC,CAAC;IACtC,CAAC;IACD;IACAxH,GAAG,CAACyH,mBAAmB,GAAG,UAACnB,OAAO,EAAErL,KAAK,EAAK;MAC1C+E,GAAG,CAAC4C,cAAc,CAAC6E,mBAAmB,CAACnB,OAAO,EAAErL,KAAK,CAAC;IAC1D,CAAC;IACD;IACA+E,GAAG,CAAC3F,qBAAqB,GAAG,UAAAiM,OAAO,EAAI;MACnC;MACAtG,GAAG,CAACuH,qBAAqB,CAAC,CAAC;MAC3B,IAAIlN,qBAAqB,EAAE;QACvB,OAAOA,qBAAqB,CAACiM,OAAO,CAAC;MACzC;IACJ,CAAC;;IAED;IACAtG,GAAG,CAAC0H,sBAAsB,GAAG,UAAA/Q,IAAI,EAAI;MACjC,IAAIwH,MAAM,GAAG6B,GAAG,CAAC8E,YAAY,CAAC,CAAC,IAAI,EAAE;MACrC,OAAO3G,MAAM,CAACxF,MAAM,CAAC,UAAA+J,KAAK,EAAI;QAC1B,IAAI,OAAO/L,IAAI,KAAK,QAAQ,EAAE;UAC1B,OAAO+L,KAAK,CAAC8C,GAAG,KAAK7O,IAAI,IAAI+L,KAAK,CAACiF,IAAI;QAC3C,CAAC,MAAM,IAAI1P,KAAK,CAACE,OAAO,CAACxB,IAAI,CAAC,EAAE;UAC5B,OAAOA,IAAI,CAAC8O,QAAQ,CAAC/C,KAAK,CAAC8C,GAAG,CAAC,IAAI9C,KAAK,CAACiF,IAAI;QACjD,CAAC,MAAM;UACH,OAAOjF,KAAK,CAACiF,IAAI,IAAIjF,KAAK,CAAC8C,GAAG;QAClC;MACJ,CAAC,CAAC;IACN,CAAC;;IAED;IACAxF,GAAG,CAAC4H,OAAO,GAAG,UAAAC,OAAO,EAAI;MACrBjL,MAAM,CAACiL,OAAO,CAAC;IACnB,CAAC;;IAED;IACA7H,GAAG,CAAC8H,OAAO,GAAG,YAAM;MAChBlL,MAAM,CAAC,IAAI,CAAC;IAChB,CAAC;;IAED;IACAoD,GAAG,CAAC+H,oBAAoB;MAAA,IAAAC,IAAA,GAAAvQ,iBAAA,eAAAtF,mBAAA,GAAAoE,IAAA,CAAG,SAAA0R,QAAOzC,GAAG,EAAE0C,KAAK,EAAE9V,KAAK,EAAE+V,eAAe;QAAA,IAAAzF,KAAA,EAAA0F,GAAA;QAAA,OAAAjW,mBAAA,GAAAW,IAAA,UAAAuV,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAxR,IAAA,GAAAwR,QAAA,CAAAhT,IAAA;YAAA;cAC5DoN,KAAK,GAAG1C,GAAG,CAACoH,aAAa,CAAC5B,GAAG,CAAC;cAClC,IAAI9C,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEiF,IAAI,EAAE;gBACTS,GAAG,GAAG1F,KAAK,CAAC6F,sBAAsB,CAACL,KAAK,EAAE9V,KAAK,CAAC;gBACpD,IAAIgW,GAAG,EAAE;kBACL,IAAIA,GAAG,CAAC3T,IAAI,EAAE;oBACV2T,GAAG,CAAC3T,IAAI,CAAC,UAAA+T,QAAQ,EAAI;sBACjB,IAAIA,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEtS,MAAM,EAAE;wBAClB,IAAIoQ,OAAO,GAAGkC,QAAQ,CAAC,CAAC,CAAC;wBACzBxI,GAAG,CAACyI,YAAY,CACZnC,OAAO,CAACA,OAAO,EACf6B,eAAe,IAAInI,GAAG,CAAC4C,cAC3B,CAAC;sBACL;oBACJ,CAAC,CAAC;kBACN,CAAC,MAAM;oBACH5C,GAAG,CAACyI,YAAY,CAACL,GAAG,EAAED,eAAe,IAAInI,GAAG,CAAC4C,cAAc,CAAC;kBAChE;gBACJ,CAAC,MAAM;kBACH5C,GAAG,CAACsD,YAAY,CAAC,CAAC;gBACtB;cACJ;YAAC;YAAA;cAAA,OAAAgF,QAAA,CAAArR,IAAA;UAAA;QAAA,GAAAgR,OAAA;MAAA,CACJ;MAAA,iBAAAS,EAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA;QAAA,OAAAb,IAAA,CAAAxW,KAAA,OAAAC,SAAA;MAAA;IAAA;;IAED;IACAuO,GAAG,CAACyI,YAAY,GAAG,UAAAnC,OAAO,EAAI;MAC1BrJ,QAAQ,CAACM,OAAO,CAACkL,YAAY,CAACnC,OAAO,CAAC;IAC1C,CAAC;;IAED;IACAtG,GAAG,CAACsD,YAAY,GAAG,YAAM;MACrBrG,QAAQ,CAACM,OAAO,CAAC+F,YAAY,CAAC,CAAC;IACnC,CAAC;;IAED;IACA,IAAIwF,WAAW,GAAG,IAAIC,+BAAuB,CAAC/I,GAAG,CAACwB,KAAK,CAACwH,MAAM,CAAC;;IAE/D;IACAhJ,GAAG,CAACiJ,sBAAsB,GAAG,UAAAC,KAAK,EAAI;MAClC,IAAIA,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEC,QAAQ,EAAE;QAAA,IAAAC,KAAA;QACjB,IAAQD,QAAQ,GAAKD,KAAK,CAAlBC,QAAQ;QAChB,IAAIE,IAAI,GAAGrJ,GAAG,CAACwB,KAAK,CAAC6H,IAAI,CAACF,QAAQ,CAAC;QACnC,IAAI,IAAAG,gBAAQ,GAAAF,KAAA,GAACC,IAAI,cAAAD,KAAA,uBAAJA,KAAA,CAAMrC,EAAE,CAAC,EAAE;UACpBsC,IAAI,GAAGA,IAAI,CAACtC,EAAE;QAClB;QAEA,IAAIwC,cAAc,CAACF,IAAI,CAAC,EAAE;UACtB;QACJ;QAEA,OAAOA,IAAI;MACf;IACJ,CAAC;;IAED;IACArJ,GAAG,CAAC9C,uBAAuB,GAAGA,uBAAuB;;IAErD;IACA8C,GAAG,CAACwJ,wBAAwB,GAAG,UAAAN,KAAK,EAAI;MACpC,IAAIA,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEC,QAAQ,EAAE;QACjB,IAAQA,QAAQ,GAAKD,KAAK,CAAlBC,QAAQ;QAChB,IAAMM,OAAO,GAAGzJ,GAAG,CAAC0J,MAAM,CAACC,UAAU,CAACR,QAAQ,CAAC;QAE/C,OAAOnJ,GAAG,CAAChC,aAAa,CAACwL,wBAAwB,CAACC,OAAO,EAAEzJ,GAAG,CAACwB,KAAK,CAAC;MACzE;IACJ,CAAC;;IAED;IACAxB,GAAG,CAAC4J,iBAAiB,GAAG,YAAM;MAC1B,IAAIC,YAAY,GAAG7J,GAAG,CAAC0J,MAAM,CAACI,aAAa,CACvC,IAAIC,kBAAU,CAAC/J,GAAG,CAACgJ,MAAM,CAACgB,WAAW,GAAG,CAAC,EAAEhK,GAAG,CAACgJ,MAAM,CAACiB,YAAY,GAAG,CAAC,CAC1E,CAAC;MACD,IAAIC,WAAW,GAAGC,iBAAS,CAACC,KAAK,CAACC,uBAAuB,CAACR,YAAY,CAAC;MACvE,IAAIS,YAAY,GAAIJ,WAAW,CAAC5K,SAAS,GAAG,GAAG,GAAIiL,MAAM,CAACC,IAAI,CAACC,EAAE;MACjE,IAAIC,WAAW,GAAIR,WAAW,CAAC3K,QAAQ,GAAG,GAAG,GAAIgL,MAAM,CAACC,IAAI,CAACC,EAAE;MAC/D,OAAO,CAACH,YAAY,EAAEI,WAAW,CAAC;IACtC,CAAC;;IAED;IACA1K,GAAG,CAAC2K,WAAW,GAAG,UAAAvX,IAAI,EAAI;MACtB4M,GAAG,CAACnE,QAAQ,GAAGzI,IAAI;MACnB4M,GAAG,CAAC4K,OAAO,CAAC,CAAC;IACjB,CAAC;;IAED;IACA5K,GAAG,CAAC6K,aAAa,GAAG,YAAM;MACtB,IAAIC,MAAM,GAAG,CAAC,CAAC;MACf,IAAIC,MAAM,GAAG/K,GAAG,CAAC0J,MAAM,CAACsB,oBAAoB,CAAC,CAAC;MAC9C,IAAI,OAAOD,MAAM,KAAK,WAAW,EAAE;QAC/B;QACA,IAAI/B,MAAM,GAAGhJ,GAAG,CAACwB,KAAK,CAACwH,MAAM;QAC7B,IAAIiC,SAAS,GAAG,IAAIlB,kBAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACtC,IAAImB,UAAU,GAAG,IAAInB,kBAAU,CAACf,MAAM,CAACgB,WAAW,EAAEhB,MAAM,CAACiB,YAAY,CAAC,CAAC,CAAC;;QAE1E,IAAIkB,SAAS,GAAGnL,GAAG,CAACwB,KAAK,CAACC,KAAK,CAAC0J,SAAS;QACzC,IAAIC,UAAU,GAAGpL,GAAG,CAAC0J,MAAM,CAACI,aAAa,CAACmB,SAAS,EAAEE,SAAS,CAAC,CAAC,CAAC;;QAEjE,IAAIE,WAAW,GAAGrL,GAAG,CAAC0J,MAAM,CAACI,aAAa,CAACoB,UAAU,EAAEC,SAAS,CAAC,CAAC,CAAC;;QAEnE,IAAIG,qBAAqB,GAAGtL,GAAG,CAACwB,KAAK,CAACC,KAAK,CAAC0J,SAAS,CAACd,uBAAuB,CACzEe,UACJ,CAAC,CAAC,CAAC;QACH,IAAIG,sBAAsB,GAAGvL,GAAG,CAACwB,KAAK,CAACC,KAAK,CAAC0J,SAAS,CAACd,uBAAuB,CAC1EgB,WACJ,CAAC,CAAC,CAAC;;QAEH,IAAIG,IAAI,GAAGC,YAAU,CAACC,SAAS,CAACJ,qBAAqB,CAAChM,SAAS,CAAC,CAAC,CAAC;QAClE,IAAIqM,IAAI,GAAGF,YAAU,CAACC,SAAS,CAACH,sBAAsB,CAACjM,SAAS,CAAC,CAAC,CAAC;;QAEnE,IAAIsM,IAAI,GAAGH,YAAU,CAACC,SAAS,CAACH,sBAAsB,CAAChM,QAAQ,CAAC,CAAC,CAAC;QAClE,IAAIsM,IAAI,GAAGJ,YAAU,CAACC,SAAS,CAACJ,qBAAqB,CAAC/L,QAAQ,CAAC,CAAC,CAAC;;QAEjEuL,MAAM,CAACU,IAAI,GAAGA,IAAI;QAClBV,MAAM,CAACa,IAAI,GAAGA,IAAI;QAClBb,MAAM,CAACc,IAAI,GAAGA,IAAI;QAClBd,MAAM,CAACe,IAAI,GAAGA,IAAI;MACtB,CAAC,MAAM;QACH;QACAf,MAAM,CAACa,IAAI,GAAGF,YAAU,CAACC,SAAS,CAACX,MAAM,CAACe,IAAI,CAAC;QAC/ChB,MAAM,CAACe,IAAI,GAAGJ,YAAU,CAACC,SAAS,CAACX,MAAM,CAACgB,KAAK,CAAC;QAEhDjB,MAAM,CAACU,IAAI,GAAGC,YAAU,CAACC,SAAS,CAACX,MAAM,CAACiB,IAAI,CAAC;QAC/ClB,MAAM,CAACc,IAAI,GAAGH,YAAU,CAACC,SAAS,CAACX,MAAM,CAACkB,KAAK,CAAC;MACpD;;MAEA;MACA,OAAOnB,MAAM;IACjB,CAAC;;IAED;IACA9K,GAAG,CAACkM,YAAY,GAAGA,2BAAY;;IAE/B;IACAlM,GAAG,CAACN,YAAY,GAAGA,2BAAY;;IAE/B;IACA,IAAAyM,0BAAkB,EAACnM,GAAG,EAAEpG,KAAK,CAAC;;IAE9B;IACA,SAASwS,gBAAgBA,CAACpc,CAAC,EAAEkZ,KAAK,EAAE;MAChC,IAAIlJ,GAAG,CAACkJ,KAAK,CAAC,EAAE;QACZlJ,GAAG,CAACkJ,KAAK,CAAC,CAAClZ,CAAC,CAAC;QACb0K,QAAQ,CAACwO,KAAK,CAAC,IAAIxO,QAAQ,CAACwO,KAAK,CAAC,CAAClZ,CAAC,CAAC;MACzC;IACJ;;IAEA;IACA,SAASqc,aAAaA,CAAC/F,OAAO,EAAE4C,KAAK,EAAEoD,SAAS,EAAE;MAC9C,IAAIhG,OAAO,EAAE;QACT,IAAI5D,KAAK,GAAG1C,GAAG,CAAC0F,iBAAiB,CAACY,OAAO,CAAC;QAC1C,IAAI5D,KAAK,aAALA,KAAK,eAALA,KAAK,CAAG4J,SAAS,CAAC,IAAIhG,OAAO,CAACgG,SAAS,CAAC,EAAE;UAAA,IAAAC,kBAAA;UAC1C,IAAIhG,UAAU,GAAGvG,GAAG,CAAC4G,aAAa,CAACN,OAAO,CAAC,IAAI,CAAC,CAAC;UACjD,IAAIA,OAAO,YAAYV,+BAAuB,IAAIU,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEQ,IAAI,EAAE;YAC7DP,UAAU,GAAA3N,aAAA,CAAAA,aAAA,KACH2N,UAAU;cACbO,IAAI,EAAER,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEQ;YAAI,EACtB;UACL;;UAEA;UACA,CAAAyF,kBAAA,GAAAjG,OAAO,CAACgG,SAAS,CAAC,cAAAC,kBAAA,eAAlBA,kBAAA,CAAAtb,IAAA,CAAAqV,OAAO,EAAcC,UAAU,EAAE;YAACD,OAAO,EAAPA,OAAO;YAAE4C,KAAK,EAALA;UAAK,CAAC,CAAC;UAElD,IAAIxG,KAAK,aAALA,KAAK,eAALA,KAAK,CAAG4J,SAAS,CAAC,EAAE;YACpB5J,KAAK,CAAC4J,SAAS,CAAC,CAAC/F,UAAU,EAAE;cAACD,OAAO,EAAPA,OAAO;cAAE4C,KAAK,EAALA;YAAK,CAAC,CAAC;UAClD;QACJ;MACJ;IACJ;;IAEA;IACA,SAASK,cAAcA,CAACjD,OAAO,EAAE;MAC7B,IAAI5D,KAAK,GAAG1C,GAAG,CAAC0F,iBAAiB,CAACY,OAAO,CAAC;MAC1C,IAAIkG,WAAW,GAAG,KAAK;MACvB;MACA;MACA,IAAI9J,KAAK,EAAE;QACP8J,WAAW,GAAG9J,KAAK,CAAC+J,QAAQ,IAAI/J,KAAK,CAAC8J,WAAW;MACrD;MACA,OAAOA,WAAW;IACtB;;IAEA;IACA1D,WAAW,CAAC4D,cAAc,CAAC,UAAAxD,KAAK,EAAI;MAChCA,KAAK,CAACyD,MAAM,GAAG3M,GAAG,CAAC4M,iBAAiB,CAAC1D,KAAK,CAAC;MAC3ClJ,GAAG,CAAC6M,YAAY,GAAG3D,KAAK;MACxBkD,gBAAgB,CAAClD,KAAK,EAAE,SAAS,CAAC;MAClClJ,GAAG,CAAC8H,OAAO,CAAC,CAAC;;MAEb;MACA,IAAI,CAAC9H,GAAG,CAAC8M,YAAY,EAAE;QACnB,IAAMzD,IAAI,GAAGrJ,GAAG,CAACwB,KAAK,CAAC6H,IAAI,CAACH,KAAK,CAACC,QAAQ,CAAC;QAC3C,IAAIE,IAAI,YAAYrD,2BAAmB,EAAE;UACrC,IAAItD,KAAK,GAAG1C,GAAG,CAAC0F,iBAAiB,CAAC2D,IAAI,CAAC;UACvC,IAAI3G,KAAK,EAAE;YACP,IAAIA,KAAK,CAAC8J,WAAW,EAAE;cACnB;YACJ;YAEAH,aAAa,CAAChD,IAAI,EAAEH,KAAK,EAAE,SAAS,CAAC;YAErC,IAAIxG,KAAK,CAACqK,QAAQ,EAAE;cAChB/M,GAAG,CAACgN,oBAAoB,IAAIhN,GAAG,CAACgN,oBAAoB,CAAC3D,IAAI,CAAC;cAE1DrJ,GAAG,CAACyI,YAAY,CAACY,IAAI,CAAC;YAC1B;UACJ;QACJ,CAAC,MAAM;UACH,IAAM1D,MAAM,GAAG3F,GAAG,CAACiJ,sBAAsB,CAACC,KAAK,CAAC;UAChD,IAAM+D,eAAe,GAAGjN,GAAG,CAACwJ,wBAAwB,CAACN,KAAK,CAAC;UAC3D,IAAIvD,MAAM,EAAE;YACR0G,aAAa,CAAC1G,MAAM,EAAEuD,KAAK,EAAE,SAAS,CAAC;YAEvC,IAAIxG,MAAK,GAAG1C,GAAG,CAAC0F,iBAAiB,CAAC,CAAAC,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAG,CAAC,CAAC,KAAIA,MAAM,CAAC;YACxD,IAAI1N,KAAK,CAACE,OAAO,CAACwN,MAAM,CAAC,IAAKjD,MAAK,IAAIA,MAAK,CAACqK,QAAS,EAAE;cAAA,IAAAG,cAAA;cACpDlN,GAAG,CAACgN,oBAAoB,IAAIhN,GAAG,CAACgN,oBAAoB,CAACrH,MAAM,CAAC;cAC5D,IACI1N,KAAK,CAACE,OAAO,CAACwN,MAAM,CAAC,IACrB,CAAAA,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEzP,MAAM,IAAG,CAAC,IAClBwM,MAAK,aAALA,MAAK,gBAAAwK,cAAA,GAALxK,MAAK,CAAEyK,OAAO,cAAAD,cAAA,eAAdA,cAAA,CAAgB5J,YAAY,EAC9B;gBACE;cACJ;cACAtD,GAAG,CAACyI,YAAY,CAAC9C,MAAM,CAAC;YAC5B;UACJ,CAAC,MAAM,IAAI,IAAAyH,eAAO,EAACH,eAAe,CAAC,EAAE;YACjC;YACA,IAAMI,cAAc,GAAG,SAAjBA,cAAcA,CAAG7E,QAAQ,EAAI;cAC/BA,QAAQ,CAAC8E,IAAI,CAAC,UAAC3c,CAAC,EAAE4c,CAAC,EAAK;gBACpB,OAAOA,CAAC,CAACzH,YAAY,CAAC0H,WAAW,GAAG7c,CAAC,CAACmV,YAAY,CAAC0H,WAAW;cAClE,CAAC,CAAC;cAEF,IAAMlH,OAAO,GAAGkC,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAG,CAAC,CAAC;cAC7B,IAAIe,cAAc,CAACjD,OAAO,CAAC,EAAE;gBACzB;cACJ;cACA+F,aAAa,CAAC/F,OAAO,EAAE4C,KAAK,EAAE,SAAS,CAAC;cACxClJ,GAAG,CAACyI,YAAY,CAACnC,OAAO,CAAC;YAC7B,CAAC;;YAED;YACA,IAAImH,YAAI,EAAE;cACN,IAAAA,YAAI,EAACR,eAAe,EAAEI,cAAc,CAAC;YACzC,CAAC,MAAM;cACHJ,eAAe,CAACxY,IAAI,CAAC4Y,cAAc,CAAC;YACxC;UACJ;QACJ;MACJ;IACJ,CAAC,EAAEK,4BAAoB,CAACC,UAAU,CAAC;;IAEnC;IACA7E,WAAW,CAAC4D,cAAc,CAAC,UAAAxD,KAAK,EAAI;MAChClJ,GAAG,CAAC4N,aAAa,GAAGC,SAAS,CAAC,CAAC;;MAE/B3E,KAAK,CAACyD,MAAM,GAAG3M,GAAG,CAAC4M,iBAAiB,CAAC1D,KAAK,CAAC;MAE3CkD,gBAAgB,CAAClD,KAAK,EAAE,eAAe,CAAC;MAExC,IAAM5C,OAAO,GAAGtG,GAAG,CAACiJ,sBAAsB,CAACC,KAAK,CAAC;MAEjDmD,aAAa,CAAC/F,OAAO,EAAE4C,KAAK,EAAE,eAAe,CAAC;IAClD,CAAC,EAAEwE,4BAAoB,CAACI,iBAAiB,CAAC;;IAE1C;IACA,IAAIC,YAAY;IAChB,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAG1H,OAAO,EAAI;MACtB,IAAIA,OAAO,IAAI,CAACA,OAAO,CAACa,GAAG,EAAE;QACzBb,OAAO,CAACa,GAAG,GAAGoD,MAAM,CAACC,IAAI,CAACyD,MAAM,CAAC,CAAC;MACtC;MAEA,OAAO3H,OAAO,CAACa,GAAG;IACtB,CAAC;;IAED;IACA2B,WAAW,CAAC4D,cAAc,CAAC,UAAAxD,KAAK,EAAI;MAChCA,KAAK,CAACyD,MAAM,GAAG3M,GAAG,CAAC4M,iBAAiB,CAAC;QAAEzD,QAAQ,EAAED,KAAK,CAACgF;MAAY,CAAC,CAAC;MAErE9B,gBAAgB,CAAClD,KAAK,EAAE,aAAa,CAAC;MACtC,IAAM5C,OAAO,GAAGtG,GAAG,CAACiJ,sBAAsB,CAAC;QAAEE,QAAQ,EAAED,KAAK,CAACgF;MAAY,CAAC,CAAC;MAE3E,IAAI5H,OAAO,EAAE;QACT,IAAI5D,KAAK,GAAG1C,GAAG,CAAC0F,iBAAiB,CAACY,OAAO,CAAC;QAC1C,IAAI5D,KAAK,KAAKA,KAAK,CAACyL,UAAU,IAAIzL,KAAK,CAAC0L,WAAW,CAAC,EAAE;UAClD,IAAQD,UAAU,GAAkBzL,KAAK,CAAjCyL,UAAU;YAAEC,WAAW,GAAK1L,KAAK,CAArB0L,WAAW;UAC/B,IAAM7H,UAAU,GAAGvG,GAAG,CAAC4G,aAAa,CAACN,OAAO,CAAC;UAE7C,IAAI+H,KAAK;UACT,IAAID,WAAW,EAAE;YACbC,KAAK,GAAGD,WAAW,CAAC7H,UAAU,CAAC;UACnC,CAAC,MAAM;YACH8H,KAAK,GAAG9H,UAAU,GAAGA,UAAU,CAAC4H,UAAU,CAAC,GAAG,EAAE;UACpD;UAEA,IAAIE,KAAK,EAAE;YACPrO,GAAG,CAAC4H,OAAO,CAACyG,KAAK,CAAC;UACtB,CAAC,MAAM;YACHrO,GAAG,CAAC8H,OAAO,CAAC,CAAC;UACjB;QACJ,CAAC,MAAM;UACH9H,GAAG,CAAC8H,OAAO,CAAC,CAAC;QACjB;QAEAuE,aAAa,CAAC/F,OAAO,EAAE4C,KAAK,EAAE,aAAa,CAAC;;QAE5C;QACA,IAAI6E,YAAY,EAAE;UACd,IAAIO,GAAG,GAAGN,MAAM,CAAC1H,OAAO,CAAC;UACzB,IAAIiI,QAAQ,GAAGP,MAAM,CAACD,YAAY,CAAC;;UAEnC;UACA,IAAIO,GAAG,KAAKC,QAAQ,EAAE;YAClBlC,aAAa,CAAC0B,YAAY,EAAE7E,KAAK,EAAE,cAAc,CAAC;YAElDmD,aAAa,CAAC/F,OAAO,EAAE4C,KAAK,EAAE,cAAc,CAAC;YAC7C6E,YAAY,GAAGzH,OAAO;UAC1B;QACJ,CAAC,MAAM;UACH+F,aAAa,CAAC/F,OAAO,EAAE4C,KAAK,EAAE,cAAc,CAAC;UAC7C6E,YAAY,GAAGzH,OAAO;QAC1B;QAEA+F,aAAa,CAAC/F,OAAO,EAAE4C,KAAK,EAAE,aAAa,CAAC;MAChD,CAAC,MAAM;QACH,IAAI6E,YAAY,EAAE;UACd1B,aAAa,CAAC0B,YAAY,EAAE7E,KAAK,EAAE,cAAc,CAAC;QACtD;QAEA6E,YAAY,GAAG,IAAI;QACnB/N,GAAG,CAAC8H,OAAO,CAAC,CAAC;MACjB;IACJ,CAAC,EAAE4F,4BAAoB,CAACc,UAAU,CAAC;;IAEnC;IACA,IAAIlU,MAAM,EAAE;MACR0F,GAAG,CAAC0J,MAAM,CAAC+E,OAAO,CAACC,gBAAgB,CAAC,YAAM;QACtC,IAAIC,aAAa,GAAG3O,GAAG,CAAC0J,MAAM,CAACsB,oBAAoB,CAAC,CAAC;QACrD,IAAMgB,IAAI,GAAI2C,aAAa,CAAC3C,IAAI,GAAGzB,MAAM,CAACC,IAAI,CAACC,EAAE,GAAI,GAAG,CAAC,CAAC;QAC1D,IAAMsB,KAAK,GAAI4C,aAAa,CAAC5C,KAAK,GAAGxB,MAAM,CAACC,IAAI,CAACC,EAAE,GAAI,GAAG,CAAC,CAAC;QAC5D,IAAMqB,IAAI,GAAI6C,aAAa,CAAC7C,IAAI,GAAGvB,MAAM,CAACC,IAAI,CAACC,EAAE,GAAI,GAAG,CAAC,CAAC;QAC1D,IAAMwB,KAAK,GAAI0C,aAAa,CAAC1C,KAAK,GAAG1B,MAAM,CAACC,IAAI,CAACC,EAAE,GAAI,GAAG,CAAC,CAAC;QAC5D,IAAMmE,YAAY,GAAG5O,GAAG,CAAC0J,MAAM,CAACmF,oBAAoB,CAAC7U,MAAM;QAC3D,IAAM8E,IAAI,GAAGkB,GAAG,CAACkM,YAAY,CAAC3B,MAAM,CAACC,IAAI,CAACsE,IAAI,CAACF,YAAY,CAAC,CAAC;QAC7DtU,MAAM,IAAIA,MAAM,CAAC;UAAE0R,IAAI,EAAJA,IAAI;UAAED,KAAK,EAALA,KAAK;UAAED,IAAI,EAAJA,IAAI;UAAEG,KAAK,EAALA,KAAK;UAAE2C,YAAY,EAAZA,YAAY;UAAED,aAAa,EAAbA,aAAa;UAAE7P,IAAI,EAAJA;QAAK,CAAC,CAAC;MACrF,CAAC,CAAC;IACN;;IAEA;IACAkB,GAAG,CAAC4K,OAAO,GAAG,UAAA5a,CAAC,EAAI;MACf,IAAA+e,KAAA,GAUI/e,CAAC,IAAI,CAAC,CAAC;QATPgf,OAAO,GAAAD,KAAA,CAAPC,OAAO;QACPC,YAAY,GAAAF,KAAA,CAAZE,YAAY;QACZnI,IAAI,GAAAiI,KAAA,CAAJjI,IAAI;QACJnB,MAAM,GAAAoJ,KAAA,CAANpJ,MAAM;QACNuJ,GAAG,GAAAH,KAAA,CAAHG,GAAG;QACHC,GAAG,GAAAJ,KAAA,CAAHI,GAAG;QAAAC,YAAA,GAAAL,KAAA,CACH/U,MAAM;QAANA,MAAM,GAAAoV,YAAA,cAAG,KAAK,GAAAA,YAAA;QACdpQ,OAAO,GAAA+P,KAAA,CAAP/P,OAAO;QACJqQ,IAAI,GAAAhX,wBAAA,CAAA0W,KAAA,EAAAhf,UAAA;MAEX,IAAIuf,KAAK,GAAGtP,GAAG,CAAC0J,MAAM,CAAC4F,KAAK;;MAE5B;MACA,IAAI3J,MAAM,EAAE;QACR,IAAI3F,GAAG,CAACnE,QAAQ,KAAK,IAAI,EAAE;UACvBmE,GAAG,CAACuP,KAAK,CAAC5J,MAAM,EAAE;YAAE9K,QAAQ,EAAE;UAAE,CAAC,CAAC;QACtC,CAAC,MAAM;UACHmF,GAAG,CAACuP,KAAK,CAAC5J,MAAM,EAAE;YACd9K,QAAQ,EAAE,CAAC;YACX2U,MAAM,EAAE;cACJC,OAAO,EAAEhE,YAAU,CAACiE,SAAS,CAAC,GAAG,CAAC;cAClCJ,KAAK,EAALA,KAAK;cACLK,KAAK,EAAE3V;YACX;UACJ,CAAC,CAAC;QACN;MACJ,CAAC,MAAM,IAAIkV,GAAG,IAAIC,GAAG,EAAE;QACnBnP,GAAG,CAAC0J,MAAM,CAAC6F,KAAK,CAAA3W,aAAA;UACZgX,WAAW,EAAE,IAAIC,kBAAU,CAACC,WAAW,CAAC1W,MAAM,CAAC8V,GAAG,CAAC,EAAE9V,MAAM,CAAC+V,GAAG,CAAC,EAAEnV,MAAM,CAAC;UACzE+V,WAAW,EAAE;YACTT,KAAK,EAAE7D,YAAU,CAACiE,SAAS,CAAC,CAAC,IAAI,CAAC;YAClCM,IAAI,EAAE;UACV,CAAC;UACDnV,QAAQ,EAAE;QAAC,GACRwU,IAAI,CACV,CAAC;MACN,CAAC,MAAM,IAAIvI,IAAI,IAAImI,YAAY,IAAID,OAAO,EAAE;QACxC,IAAIiB,QAAQ,GAAGjB,OAAO;QAEtB,IAAIC,YAAY,EAAE;UACdgB,QAAQ,GAAG,IAAAC,gDAAuB,EAAC,CAAC;YAAEjB,YAAY,EAAZA;UAAa,CAAC,CAAC,CAAC;QAC1D;QAEA,IAAInI,IAAI,EAAE;UACNmJ,QAAQ,GAAG,IAAAC,gDAAuB,EAACjY,KAAK,CAACE,OAAO,CAAC2O,IAAI,CAAC,GAAGA,IAAI,GAAG,CAACA,IAAI,CAAC,CAAC;QAC3E;QAEA,IAAIqJ,GAAG,GAAG,IAAAC,8BAAkB,EAACH,QAAQ,EAAArX,aAAA;UACjCyX,OAAO,EAAE,GAAG;UACZC,IAAI,EAAE;QAAI,GACPtR,OAAO,CACb,CAAC,CAAC,CAAC;;QAEJgB,GAAG,CAAC0J,MAAM,CAAC6F,KAAK,CAAA3W,aAAA;UACZgX,WAAW,EAAAxe,UAAA,CAAMmf,iBAAS,CAACT,WAAW,EAAAlY,kBAAA,CAAIuY,GAAG,EAAC;UAAE;UAChDJ,WAAW,EAAE;YACTT,KAAK,EACDtP,GAAG,CAACnE,QAAQ,KAAK,IAAI,GACf4P,YAAU,CAACiE,SAAS,CAAC,CAAC,EAAE,CAAC,GACzBjE,YAAU,CAACiE,SAAS,CAAClV,YAAY,CAAC;YAC5CwV,IAAI,EAAE;UACV,CAAC;UACDnV,QAAQ,EAAE;QAAC,GACRwU,IAAI,CACV,CAAC;MACN,CAAC,MAAM;QACH,IAAAmB,mBAAA,GAAAnX,cAAA,CAA0BmG,WAAW,CAACZ,MAAM;UAAvC6R,CAAC,GAAAD,mBAAA;UAAE9c,CAAC,GAAA8c,mBAAA;UAAAE,oBAAA,GAAAF,mBAAA;UAAE/Q,EAAC,GAAAiR,oBAAA,cAAG,OAAO,GAAAA,oBAAA;QAEtB,IAAI1Q,GAAG,CAACnE,QAAQ,KAAK,IAAI,EAAE;UACvB,IAAM+C,OAAM,GAAGiR,kBAAU,CAACC,WAAW,CAACW,CAAC,EAAE/c,CAAC,CAAC;UAC3C,IAAM+b,OAAO,GAAGhE,YAAU,CAACiE,SAAS,CAAC,GAAG,CAAC;UACzC,IAAMJ,MAAK,GAAG7D,YAAU,CAACiE,SAAS,CAAC,CAAC,IAAI,CAAC;UACzC1P,GAAG,CAAC0J,MAAM,CAACiH,mBAAmB,CAAC,IAAIC,sBAAc,CAAChS,OAAM,EAAEa,EAAC,CAAC,EAAE;YAC1D+P,MAAM,EAAE,IAAIqB,yBAAiB,CAACpB,OAAO,EAAEH,MAAK,EAAE7P,EAAC,CAAC;YAChD5E,QAAQ,EAAE;UACd,CAAC,CAAC;QACN,CAAC,MAAM;UACHmF,GAAG,CAAC0J,MAAM,CAAC6F,KAAK,CAAC;YACbK,WAAW,EAAE,IAAIC,kBAAU,CAACC,WAAW,CAACW,CAAC,EAAE/c,CAAC,EAAE+L,EAAC,CAAC;YAChDsQ,WAAW,EAAE;cACTT,KAAK,EAAE7D,YAAU,CAACiE,SAAS,CAAClV,YAAY,CAAC;cACzCwV,IAAI,EAAE;YACV,CAAC;YACDnV,QAAQ,EAAE;UACd,CAAC,CAAC;QACN;MACJ;IACJ,CAAC;IAEDmF,GAAG,CAAC4M,iBAAiB,GAAG,UAAA1D,KAAK,EAAI;MAC7B,IAAM4H,SAAS,GAAG9Q,GAAG,CAAC0J,MAAM,CAACI,aAAa,CAACZ,KAAK,CAACC,QAAQ,EAAEnJ,GAAG,CAACwB,KAAK,CAACC,KAAK,CAAC0J,SAAS,CAAC,CAAC,CAAC;MACvF,IAAI2F,SAAS,EAAE;QACX,IAAMC,YAAY,GAAGC,oBAAY,CAACC,aAAa,CAACH,SAAS,CAAC,CAAC,CAAC;QAC5D,IAAM5B,GAAG,GAAGzD,YAAU,CAACC,SAAS,CAACqF,YAAY,CAACzR,SAAS,CAAC;QACxD,IAAM6P,GAAG,GAAG1D,YAAU,CAACC,SAAS,CAACqF,YAAY,CAACxR,QAAQ,CAAC;QACvD,OAAO,CAAC2P,GAAG,EAAEC,GAAG,CAAC;MACrB;MAEA,OAAO,EAAE;IACb,CAAC;IAED,IAAItU,QAAQ,EAAE;MACV;MACAmF,GAAG,CAAC4K,OAAO,CAAC,CAAC;;MAEb;MACAsG,UAAU,CAAC,YAAM;QACbnS,UAAU,IAAIA,UAAU,CAACiB,GAAG,EAAE8I,WAAW,CAAC;QAE1ClL,uBAAuB,CAAC,CAAC;QAEzBlD,QAAQ,CAACqE,UAAU,IAAIrE,QAAQ,CAACqE,UAAU,CAACiB,GAAG,EAAE8I,WAAW,CAAC;QAE5D1M,YAAY,CAAC,IAAI,CAAC;MACtB,CAAC,EAAE,CAACvB,QAAQ,GAAG,GAAG,IAAI,IAAI,CAAC;IAC/B,CAAC,MAAM;MACH,IAAAsW,oBAAA,GAAA9X,cAAA,CAA4BmG,WAAW,CAACZ,MAAM;QAAvC6R,CAAC,GAAAU,oBAAA;QAAEzd,CAAC,GAAAyd,oBAAA;QAAAC,qBAAA,GAAAD,oBAAA;QAAE1R,GAAC,GAAA2R,qBAAA,cAAG,OAAO,GAAAA,qBAAA;MACxB,IAAIpR,GAAG,CAACnE,QAAQ,KAAK,IAAI,EAAE;QACvB,IAAM+C,QAAM,GAAGiR,kBAAU,CAACC,WAAW,CAACW,CAAC,EAAE/c,CAAC,CAAC;QAC3C,IAAM+b,OAAO,GAAGhE,YAAU,CAACiE,SAAS,CAAC,GAAG,CAAC;QACzC,IAAMJ,KAAK,GAAG7D,YAAU,CAACiE,SAAS,CAAC,CAAC,IAAI,CAAC;QACzC1P,GAAG,CAAC0J,MAAM,CAACiH,mBAAmB,CAAC,IAAIC,sBAAc,CAAChS,QAAM,EAAEa,GAAC,CAAC,EAAE;UAC1D+P,MAAM,EAAE,IAAIqB,yBAAiB,CAACpB,OAAO,EAAEH,KAAK,EAAE7P,GAAC,CAAC;UAChD5E,QAAQ,EAAE;QACd,CAAC,CAAC;MACN,CAAC,MAAM;QACHmF,GAAG,CAAC0J,MAAM,CAAC2H,OAAO,CAAC;UACfzB,WAAW,EAAE,IAAIC,kBAAU,CAACC,WAAW,CAACW,CAAC,EAAE/c,CAAC,EAAE+L,GAAC;QACnD,CAAC,CAAC;MACN;;MAEA;MACAyR,UAAU,CAAC,YAAM;QACbnS,UAAU,IAAIA,UAAU,CAACiB,GAAG,EAAE8I,WAAW,CAAC;QAE1ClL,uBAAuB,CAAC,CAAC;QAEzBlD,QAAQ,CAACqE,UAAU,IAAIrE,QAAQ,CAACqE,UAAU,CAACiB,GAAG,EAAE8I,WAAW,CAAC;QAE5D1M,YAAY,CAAC,IAAI,CAAC;MACtB,CAAC,EAAE,GAAG,CAAC;IACX;EACJ,CAAC;EAED,IAAMkV,WAAW,GAAG,SAAdA,WAAWA,CAAGpI,KAAK,EAAI;IACzB,IAAIvM,GAAG,IAAIK,MAAM,CAACO,OAAO,EAAE;MACvBP,MAAM,CAACO,OAAO,CAACtC,KAAK,CAACsW,IAAI,MAAAjM,MAAA,CAAM4D,KAAK,CAACsI,WAAW,CAACC,MAAM,GAAG,EAAE,OAAI;MAChEzU,MAAM,CAACO,OAAO,CAACtC,KAAK,CAACyW,GAAG,MAAApM,MAAA,CAAM4D,KAAK,CAACsI,WAAW,CAACG,MAAM,GAAG,EAAE,OAAI;IACnE;EACJ,CAAC;EAED,oBACIpjB,MAAA,YAAAqjB,aAAA;IACI3W,KAAK,EAAArC,aAAA;MACDkB,KAAK,EAALA,KAAK;MACLE,MAAM,EAANA,MAAM;MACN6X,UAAU,EAAE/V,SAAS,IAAI5B,IAAI,GAAG,SAAS,GAAG;IAAS,GAClDuB,YAAY,CACjB;IACFqW,SAAS,EAAE,IAAAC,sBAAU,EAAC,kBAAkB;EAAE,gBAE1CxjB,MAAA,YAAAqjB,aAAA;IACII,GAAG,EAAEjV,SAAU;IACf+U,SAAS,EAAE,IAAAC,sBAAU,EAAC,QAAQ,CAAE;IAChCT,WAAW,EAAEA,WAAY;IACzBW,WAAW,EAAE,SAAAA,YAAA;MAAA,OAAMzV,SAAS,CAAC,IAAI,CAAC;IAAA,CAAC;IACnC0V,UAAU,EAAE,SAAAA,WAAA;MAAA,OAAM1V,SAAS,CAAC,KAAK,CAAC;IAAA,CAAC;IACnCvB,KAAK,EAAES;EAAY,GAElBiB,GAAG,IAAIJ,MAAM,iBACVhO,MAAA,YAAAqjB,aAAA;IAAKI,GAAG,EAAEhV,MAAO;IAAC8U,SAAS,EAAE,IAAAC,sBAAU,EAAC,YAAY;EAAE,GACjDpV,GACA,CAER,CAAC,EAELR,SAAS,iBACN5N,MAAA,YAAAqjB,aAAA,CAACxiB,SAAA,WAAQ;IACLgD,KAAK,EAAE;MACH4N,GAAG,EAAEnD,MAAM,CAACU,OAAO;MACnB4U,SAAS,EAAEvY,KAAK,CAACuY;IACrB;EAAE,GAED/X,QAAQ,EACRyC,MAAM,CAACU,OAAO,iBAAIhP,MAAA,YAAAqjB,aAAA,CAACziB,MAAA,WAAK;IAAC6iB,GAAG,EAAE/U,QAAS;IAAC+C,GAAG,EAAEnD,MAAM,CAACU;EAAQ,CAAE,CACzD,CAEb,CAAC;AAEd;AAAC,IAAA6U,QAAA,GAAAC,OAAA,cAEc1Y,GAAG;AAElBA,GAAG,CAAC2Y,SAAS,GAAG;EACZxY,KAAK,EAAEyY,qBAAS,CAACC,SAAS,CAAC,CAACD,qBAAS,CAACE,MAAM,EAAEF,qBAAS,CAACG,MAAM,CAAC,CAAC;EAChE1Y,MAAM,EAAEuY,qBAAS,CAACC,SAAS,CAAC,CAACD,qBAAS,CAACE,MAAM,EAAEF,qBAAS,CAACG,MAAM,CAAC,CAAC;EACjE3T,UAAU,EAAEwT,qBAAS,CAACI,IAAI;EAC1BtY,qBAAqB,EAAEkY,qBAAS,CAACI,IAAI;EACrCrY,MAAM,EAAEiY,qBAAS,CAACI,IAAI;EACtB/T,MAAM,EAAE2T,qBAAS,CAACK,KAAK;EACvB9T,IAAI,EAAEyT,qBAAS,CAACG,MAAM;EACtBvT,OAAO,EAAEoT,qBAAS,CAACG,MAAM;EACzBtT,OAAO,EAAEmT,qBAAS,CAACG,MAAM;EACzBlY,YAAY,EAAE+X,qBAAS,CAACG,MAAM;EAC9BxY,IAAI,EAAEqY,qBAAS,CAACM,IAAI;EACpB/W,SAAS,EAAEyW,qBAAS,CAACE,MAAM;EAC3BK,QAAQ,EAAEP,qBAAS,CAACC,SAAS,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;EAC7CrY,EAAE,EAAEoY,qBAAS,CAACE,MAAM,CAACM,UAAU;EAC/BrY,QAAQ,EAAE6X,qBAAS,CAACS,MAAM;EAC1BrY,UAAU,EAAE4X,qBAAS,CAACE,MAAM;EAC5B5X,QAAQ,EAAE0X,qBAAS,CAACG,MAAM;EAC1B3X,YAAY,EAAEwX,qBAAS,CAACS,MAAM;EAC9B5Y,QAAQ,EAAEmY,qBAAS,CAACU,IAAI;EACxB9X,QAAQ,EAAEoX,qBAAS,CAACM,IAAI;EACxBxX,kBAAkB,EAAEkX,qBAAS,CAACM,IAAI;EAClCtX,cAAc,EAAEgX,qBAAS,CAACE,MAAM;EAChC5W,QAAQ,EAAE0W,qBAAS,CAACE,MAAM;EAC1BN,SAAS,EAAEI,qBAAS,CAACI,IAAI;EACzBlX,YAAY,EAAE8W,qBAAS,CAACS,MAAM;EAC9BtX,WAAW,EAAE6W,qBAAS,CAACS,MAAM;EAC7BrX,cAAc,EAAE4W,qBAAS,CAACS,MAAM;EAChCjX,UAAU,EAAEwW,qBAAS,CAACI,IAAI;EAC1B9T,aAAa,EAAE0T,qBAAS,CAACG,MAAM;EAC/BlX,aAAa,EAAE+W,qBAAS,CAACM;AAC7B,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_cesium","_ahooks","_HighlightLayer","_base","_getDefaultMapInfo2","_classnames","_events","_Popup","_Provider","_Layers","_EventEmitter","_useGetMapFeatureInfoByText","_lodash","_createFeatureCollection","_getBBoxFromGeojson","_heightAndZoom","_TdtImageryProvider","_IRSImageryProvider","_excluded","_excluded2","e","__esModule","_getRequireWildcardCache","WeakMap","r","t","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_construct","_isNativeReflectConstruct","Reflect","construct","apply","arguments","o","push","p","bind","_setPrototypeOf","prototype","setPrototypeOf","Boolean","valueOf","_regeneratorRuntime","value","Symbol","iterator","c","asyncIterator","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","_catch","delegateYield","asyncGeneratorStep","_asyncToGenerator","_next","_throw","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","Array","from","isArray","_arrayLikeToArray","_objectWithoutProperties","_objectWithoutPropertiesLoose","getOwnPropertySymbols","includes","propertyIsEnumerable","ownKeys","filter","_objectSpread","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","_toPrimitive","toPrimitive","String","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","toString","test","Map","props","_props$width","width","_props$height","height","_props$dark","dark","tk","children","onCloseTemplateBefore","onZoom","_props$defaultPitch","defaultPitch","_props$onEvents","onEvents","baseMapUrl","_props$duration","duration","_props$baseMapStyle","baseMapStyle","imageryProvider","style","_props$autoView","autoView","_props$closePopupAuto","closePopupAutoView","_props$highlightColor","highlightColor","hideHighlight","wrapDomStyle","mapDomStyle","baseMapOptions","_props$viewMode","viewMode","baseColor","setLoading","_useState","useState","_useState2","mapLoaded","setMapLoaded","_useState3","_useState4","tipVis","setTipVis","_useState5","_useState6","tip","setTip","mapRef","useRef","mapDomRef","tipRef","popupRef","getMapFeatureInfoByText","useGetMapFeatureInfoByText","useEffect","initMap","useUpdateEffect","current","baseMap","setBaseMap","JSON","stringify","addLabelImageryProvider","hideLabel","cia","TdtLabelImageryProvider","imageryLayers","addImageryProvider","IRSLabelImageryProvider","layers","_layers","ciaLayer","find","item","_item$_imageryProvide","_imageryProvider","_layer","remove","center","fitViewHeight","zoom","createdMap","options","_getDefaultMapInfo","getDefaultMapInfo","minZoom","maxZoom","defaultZoomLevel","longitude","latitude","viewDefault","z","zoomToHeight","Ion","defaultAccessToken","Imagery","url","crs","map","Viewer","shouldAnimate","animation","baseLayerPicker","fullscreenButton","geocoder","homeButton","timeline","infoBox","sceneModePicker","selectionIndicator","sceneMode","SceneMode","SCENE3D","navigationHelpButton","scene3DOnly","navigationInstructionsInitiallyVisible","showRenderLoopErrors","process","env","NODE_ENV","orderIndependentTranslucency","_viewDefault","scene","globe","Color","fromCssColorString","eventEmitter","EventEmitter","helper","EventHelper","add","tileLoadProgressEvent","emit","RequestScheduler","maximumRequestsPerServer","throttleRequests","_cesiumWidget","_creditContainer","display","BaseMap","layer","Layers","highlightLayer","HighlightLayer","color","on","layersChange","layersAdd","layersRemove","layersClear","visible","onChange","hideTemplate","layersVisible","getAllKeys","getLayersShowKeys","getShowKeys","getLayersHiddenKeys","getHiddenKeys","setLayersShowByKeys","_keys","setShowByKeys","setLayersHideByKeys","setHideByKeys","addLayer","index","removeLayer","clearLayers","getImageLayers","getFeatureLayers","getImageryLastIndex","_index","getImageryLayers","findIndex","zIndex","_i","getAllLayers","_map$dataSources","_map$imageryLayers","_map$scene","dataSources","_dataSources","primitives","_primitives","concat","_map$imageryLayers2","key","getLayerByFeature","entity","ImageryLayerFeatureInfo","_entity$imageryLayer","imageryLayer","Cesium3DTileset","Cesium3DTileFeature","_entity$primitive","primitive","Primitive","_entity$primitive2","get3DTileFeatureProperties","feature","properties","getPropertyNames","propertyIds","propertyId","getProperty","getProperties","_feature$primitive","data","id","_feature$_properties","_properties","getValue","_id","getLayerByKey","getLayerById","getLayerByKeys","destroyhighlightLayer","clearFeatures","addHighlightFeature","getVisibleLayersByKeys","show","showTip","content","hideTip","showTemplateByFilter","_ref","_callee","field","_highlightLayer","obj","_callee$","_context","getFeatureByFieldValue","features","showTemplate","_x","_x2","_x3","_x4","handleEvent","ScreenSpaceEventHandler","canvas","pickDataSourcesFeature","event","position","_pick","pick","isObject","checkClickable","pickImageryLayerFeatures","pickRay","camera","getPickRay","getCenterPosition","centerResult","pickEllipsoid","Cartesian2","clientWidth","clientHeight","curPosition","Ellipsoid","WGS84","cartesianToCartographic","curLongitude","window","Math","PI","curLatitude","setViewMode","fitView","getViewExtend","params","extend","computeViewRectangle","upperLeft","lowerRight","ellipsoid","upperLeft3","lowerRight3","upperLeftCartographic","lowerRightCartographic","minx","CesiumMath","toDegrees","maxx","miny","maxy","east","north","west","south","heightToZoom","registerEventLayer","registerMapEvent","registerEvent","eventName","_feature$eventName","unclickable","viewOnly","setInputAction","lonLat","getPositionLonLat","_clickObject","cancelBubble","template","onClickTemplateAfter","featuresPromise","_layer$cluster","cluster","defined","handleFeatures","sort","b","_layerIndex","when","ScreenSpaceEventType","LEFT_CLICK","trackedEntity","undefined","LEFT_DOUBLE_CLICK","hoverFeature","getUid","random","endPosition","labelField","tipTemplate","label","uid","hoverUid","MOUSE_MOVE","moveEnd","addEventListener","viewRectangle","cameraHeight","positionCartographic","ceil","_ref2","geoJson","geometryInfo","lng","lat","_ref2$height","rest","pitch","flyTo","offset","heading","toRadians","range","destination","Cartesian3","fromDegrees","orientation","roll","_geoJson","createFeatureCollection","box","getBBoxFromGeojson","padding","unit","Rectangle","_viewDefault$center","x","_viewDefault$center$","flyToBoundingSphere","BoundingSphere","HeadingPitchRange","cartesian","cartographic","Cartographic","fromCartesian","setTimeout","_viewDefault$center2","_viewDefault$center2$","setView","onMouseMove","left","nativeEvent","layerX","top","layerY","createElement","background","className","classnames","ref","onMouseOver","onMouseOut","showModal","_default","exports","propTypes","PropTypes","oneOfType","string","number","func","array","bool","mapStyle","isRequired","object","node"],"sources":["map/index.jsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n Viewer,\n SceneMode,\n Cartesian3,\n Ion,\n defined,\n when,\n ScreenSpaceEventHandler,\n ScreenSpaceEventType,\n ImageryLayerFeatureInfo,\n Primitive,\n Cartesian2,\n Ellipsoid,\n Cartographic,\n Math as CesiumMath,\n Rectangle,\n BoundingSphere,\n HeadingPitchRange,\n RequestScheduler,\n Cesium3DTileFeature,\n Cesium3DTileset,\n EventHelper,\n Color,\n} from 'cesium';\nimport { useUpdateEffect } from 'ahooks';\nimport HighlightLayer from '../highlight-layer/HighlightLayer';\nimport { BaseMap, Imagery } from './base';\nimport './material';\nimport getDefaultMapInfo from '../_util/getDefaultMapInfo';\nimport 'cesium/Build/Cesium/Widgets/widgets.css';\nimport classnames from 'classnames';\nimport { registerEventLayer } from '../events';\nimport Popup from './Popup';\nimport Provider from '../_util/Provider';\nimport Layers from './Layers';\nimport EventEmitter from '../_util/EventEmitter';\nimport useGetMapFeatureInfoByText from './hooks/useGetMapFeatureInfoByText';\nimport { isObject } from 'lodash';\nimport { createFeatureCollection } from '../feature-layer/createFeatureCollection';\nimport getBBoxFromGeojson from '../_util/getBBoxFromGeojson.js';\nimport { heightToZoom, zoomToHeight } from '../_util/heightAndZoom.js';\nimport { TdtLabelImageryProvider } from './base/imagery/tdt/TdtImageryProvider';\nimport { IRSLabelImageryProvider } from './base/imagery/irs/IRSImageryProvider';\n\nfunction Map(props) {\n const {\n width = '100%',\n height = '100%',\n dark = true,\n tk,\n children,\n onCloseTemplateBefore,\n onZoom,\n defaultPitch = -88.0,\n onEvents = {},\n baseMapUrl,\n duration = 3,\n baseMapStyle = {\n imageryProvider: 'TdtImageryProvider',\n style: 'dark',\n },\n autoView = true,\n closePopupAutoView = true,\n highlightColor = '#f7ff01',\n hideHighlight,\n wrapDomStyle,\n mapDomStyle,\n baseMapOptions,\n viewMode = '2D',\n baseColor,\n setLoading,\n } = props;\n\n const [mapLoaded, setMapLoaded] = useState(false);\n const [tipVis, setTipVis] = useState(false);\n const [tip, setTip] = useState(null);\n\n const mapRef = useRef(null);\n const mapDomRef = useRef(null);\n const tipRef = useRef(null);\n const popupRef = useRef();\n const getMapFeatureInfoByText = useGetMapFeatureInfoByText(mapRef);\n\n useEffect(() => {\n initMap();\n\n return () => {\n setLoading?.(false);\n };\n }, []);\n\n useUpdateEffect(() => {\n if (mapRef.current) {\n mapRef.current.baseMap.setBaseMap(baseMapStyle);\n }\n }, [JSON.stringify(baseMapStyle)]);\n\n const addLabelImageryProvider = () => {\n if (!baseMapStyle.hideLabel) {\n // 调用影响中文注记服务\n if (baseMapStyle.imageryProvider === 'TdtImageryProvider') {\n let cia = new TdtLabelImageryProvider({ tk, ...baseMapStyle });\n mapRef.current.imageryLayers.addImageryProvider(cia); // 添加到cesium图层上\n } else if (baseMapStyle.imageryProvider === 'IRSImageryProvider') {\n let cia = new IRSLabelImageryProvider(baseMapStyle);\n mapRef.current.imageryLayers.addImageryProvider(cia); // 添加到cesium图层上\n }\n } else {\n if (mapRef.current) {\n let layers = mapRef.current.imageryLayers._layers || [];\n const ciaLayer = layers.find(item => item._imageryProvider?._layer === 'cia_w');\n if (ciaLayer) {\n mapRef.current.imageryLayers.remove(ciaLayer);\n }\n }\n }\n };\n\n const initMap = () => {\n const { center, fitViewHeight, dark, zoom, createdMap, ...options } = props;\n\n let { minZoom, maxZoom, defaultZoomLevel, longitude, latitude } = getDefaultMapInfo();\n\n // 全屏\n let viewDefault = {\n center: center ||\n (longitude && latitude && [longitude, latitude]) || [120.081627, 30.89638],\n zoom: zoom || (defaultZoomLevel && Number(defaultZoomLevel)) || 0,\n minZoom: (minZoom && Number(minZoom)) || 0,\n maxZoom: (maxZoom && Number(maxZoom)) || 20,\n };\n\n if (viewDefault.zoom && !viewDefault.center[3]) {\n let z = zoomToHeight(viewDefault.zoom);\n viewDefault.center = [viewDefault.center[0], viewDefault.center[1], z];\n }\n\n Ion.defaultAccessToken =\n 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJhZjc0ZDQ1ZS0wNWNhLTRhMDQtODJmYy03NTcyNDcxYzgzMDUiLCJpZCI6NzE4MTQsImlhdCI6MTYzNTQ3NzgyNX0.4TrdZWPWc9_6jLeGe90bRmBPB14XptwinSewVMu1iCE';\n\n let imageryProvider = baseMapStyle.imageryProvider && Imagery[baseMapStyle.imageryProvider] && new Imagery[baseMapStyle.imageryProvider]({\n style: baseMapStyle.style,\n url: baseMapUrl,\n crs: 'WGS84',\n dark,\n ...baseMapStyle,\n });\n\n let map = new Viewer(mapDomRef.current, {\n shouldAnimate: true,\n animation: false, // 控制场景动画的播放速度控件\n baseLayerPicker: false, // 底图切换控件\n fullscreenButton: false, // 全屏控件\n geocoder: false, // 地理位置查询定位控件\n homeButton: false, // 默认相机位置控件\n timeline: false, // 时间滚动条控件\n infoBox: false, //是否显示信息框\n sceneModePicker: false, //是否显示3D/2D选择器\n selectionIndicator: false, // 点击点绿色弹出 是否显示选取指示器组件\n sceneMode: SceneMode.SCENE3D, //设定3维地图的默认场景模式: SceneMode.SCENE2D、SceneMode.SCENE3D、SceneMode.MORPHING\n navigationHelpButton: false, // 默认的相机控制提示控件\n scene3DOnly: true, // 每个几何实例仅以3D渲染以节省GPU内存\n navigationInstructionsInitiallyVisible: false,\n showRenderLoopErrors: process.env.NODE_ENV === 'development', //是否显示渲染错误\n orderIndependentTranslucency: false, //设置背景透明\n imageryProvider,\n\n ...options,\n });\n\n map._viewDefault = viewDefault;\n\n // 设置地球暗色\n if (dark) {\n map.scene.globe.baseColor = Color.fromCssColorString('#152937');\n }\n\n // 设置地球颜色\n if (baseColor) {\n map.scene.globe.baseColor = Color.fromCssColorString(baseColor);\n }\n\n // 事件订阅\n map.eventEmitter = new EventEmitter();\n\n // 监听加载是否完成\n const helper = new EventHelper();\n helper.add(map.scene.globe.tileLoadProgressEvent, e => {\n setLoading?.(true);\n map.eventEmitter.emit('loading', e);\n if (e === 0) {\n setLoading?.(false);\n }\n });\n\n // 设置cesium请求调度器的最大并发数量\n RequestScheduler.maximumRequestsPerServer = 18;\n\n // 关闭请求调度器的请求节流\n RequestScheduler.throttleRequests = false;\n\n map.viewMode = viewMode;\n\n // 自动调整视角\n map.autoView = autoView;\n\n // 关闭气泡自动调整视角\n map.closePopupAutoView = closePopupAutoView;\n\n // 去版权信息\n map._cesiumWidget._creditContainer.style.display = 'none'; // 隐藏cesium ion\n\n mapRef.current = map;\n map.dark = dark;\n\n // 地图fit高度\n map.fitViewHeight = fitViewHeight || 5000;\n\n // 隐藏高亮效果\n map.hideHighlight = hideHighlight;\n\n // 底图服务\n map.baseMap = new BaseMap({\n map,\n imageryProvider: baseMapStyle.imageryProvider,\n style: baseMapStyle.style,\n layer: imageryProvider,\n options: baseMapOptions,\n });\n\n // 添加 dataSource 和 imagery 图层\n map.layers = new Layers({ map });\n\n // 高亮图层\n map.highlightLayer = new HighlightLayer({\n map,\n color: highlightColor,\n });\n\n // 图层改变的时候\n map.layers.on('change', layers => {\n onEvents.layersChange && onEvents.layersChange(layers);\n map.eventEmitter.emit('layersChange', layers);\n });\n\n // 图层新增\n map.layers.on('add', layer => {\n onEvents.layersAdd && onEvents.layersAdd(layer);\n map.eventEmitter.emit('layersAdd', layer);\n });\n\n // 图层移除\n map.layers.on('remove', layer => {\n onEvents.layersRemove && onEvents.layersRemove(layer);\n map.eventEmitter.emit('layersRemove', layer);\n });\n\n // 图层清空\n map.layers.on('clear', () => {\n onEvents.layersClear && onEvents.layersClear();\n map.eventEmitter.emit('layersClear');\n });\n\n // 图层展示隐藏\n map.layers.on('visible', (layer, visible) => {\n map.layers.onChange(); // 触发图层改变\n\n // 图层关闭时,隐藏自身的气泡\n if (!visible && map.popupRef) {\n map.hideTemplate(layer);\n }\n\n onEvents.layersVisible && onEvents.layersVisible(layer, visible);\n map.eventEmitter.emit('layersVisible');\n });\n\n // 图层变化\n map.layersChange = () => {\n map.layers.onChange();\n };\n\n // 获取 layers 里面的 key 集合\n map.getAllKeys = () => {\n return map.layers.getAllKeys();\n };\n\n // 获取当前展示的 keys\n map.getLayersShowKeys = () => {\n return map.layers.getShowKeys();\n };\n\n // 获取当前隐藏的 keys\n map.getLayersHiddenKeys = () => {\n return map.layers.getHiddenKeys();\n };\n\n // 根据 keys 设置图层的显示,其他的隐藏\n map.setLayersShowByKeys = _keys => {\n return map.layers.setShowByKeys(_keys);\n };\n\n // 根据 keys 设置图层的隐藏,其他的显示\n map.setLayersHideByKeys = _keys => {\n return map.layers.setHideByKeys(_keys);\n };\n\n // 添加图层\n map.addLayer = (layer, index) => {\n return map.layers.addLayer(layer, index);\n };\n\n // 移除图层\n map.removeLayer = layer => {\n return map.layers.removeLayer(layer);\n };\n\n // 清除图层和entity\n map.clearLayers = () => {\n return map.layers.clearLayers();\n };\n\n // 获取 ImageLayer 图层\n map.getImageLayers = keys => {\n return map.layers.getImageLayers(keys);\n };\n\n // 获取 FeatureLayer 图层\n map.getFeatureLayers = keys => {\n return map.layers.getFeatureLayers(keys);\n };\n\n // 获取 Imagery 图层最后一个 index 值\n map.getImageryLastIndex = _index => {\n let index = 1;\n const layers = map.getImageryLayers();\n if (layers?.length) {\n if (_index && layers.findIndex(v => _index < v.zIndex) !== -1) {\n let _i = layers.findIndex(v => _index < v.zIndex) + 1;\n index = _i < index ? _i : index;\n } else {\n index = layers.length;\n }\n }\n\n return index;\n };\n\n // 查找所有dataSource和imagery图层\n map.getAllLayers = () => {\n const dataSources = map?.dataSources?._dataSources || [];\n const imageryLayers = map?.imageryLayers?._layers || [];\n const primitives = map?.scene?.primitives?._primitives || [];\n\n return [...dataSources, ...imageryLayers, ...primitives];\n };\n\n // 根据key查找imageryLayers图层\n map.getImageryLayers = _keys => {\n const layers = map?.imageryLayers?._layers || [];\n\n if (_keys && layers.length) {\n const keys = Array.isArray(_keys) ? _keys : [_keys];\n\n return layers.filter(layer => layer.key && keys.includes(layer.key));\n }\n\n return layers;\n };\n\n // 通过图形查询所属图层\n map.getLayerByFeature = entity => {\n if (!entity) return;\n return map.getAllLayers().find(layer => {\n if (entity instanceof ImageryLayerFeatureInfo) {\n if (layer?.key && layer.key === entity?.imageryLayer?.key) {\n return layer;\n }\n } else if (\n layer instanceof Cesium3DTileset &&\n entity instanceof Cesium3DTileFeature\n ) {\n if (layer?.key && layer.key === entity?.primitive?.key) {\n return layer;\n }\n } else if (layer instanceof Primitive) {\n if (layer?.key && layer.key === entity?.primitive?.key) {\n return layer;\n }\n } else {\n if (layer?.key && layer.key === entity?.key) {\n return layer;\n }\n }\n });\n };\n\n // 获取 3DTiles feature 属性\n map.get3DTileFeatureProperties = feature => {\n let properties = {};\n if (feature && feature.getPropertyNames) {\n const propertyIds = feature.getPropertyNames() || [];\n if (propertyIds?.length) {\n const length = propertyIds.length;\n for (let i = 0; i < length; ++i) {\n const propertyId = propertyIds[i];\n properties[propertyId] = feature.getProperty(propertyId);\n }\n }\n }\n\n return properties;\n };\n\n // 获取entity中数据\n map.getProperties = feature => {\n if (feature instanceof Cesium3DTileFeature) {\n return map.get3DTileFeatureProperties(feature);\n } else if (feature?.primitive?.data && feature?.primitive instanceof Primitive) {\n return feature.primitive.data.find(item => item.id === feature.id);\n } else {\n let properties =\n feature?._properties?.getValue(feature._id) || feature?.properties || {};\n properties = properties?.properties || properties;\n return properties;\n }\n };\n\n // 通过key查询图层\n map.getLayerByKey = key => {\n return map.getAllLayers().find(layer => {\n return key && layer.key && layer.key === key;\n });\n };\n\n // 根据id查询图层\n map.getLayerById = map.getLayerByKey;\n\n // 通过keys查询多个图层\n map.getLayerByKeys = keys => {\n return map.getAllLayers().filter(layer => {\n return layer.key && keys.includes(layer.key);\n });\n };\n map.destroyhighlightLayer = () => {\n map.highlightLayer.clearFeatures();\n };\n // 添加高亮entity\n map.addHighlightFeature = (feature, style) => {\n map.highlightLayer.addHighlightFeature(feature, style);\n };\n // 通过返回值控制是否执行关闭\n map.onCloseTemplateBefore = feature => {\n // 清除高亮\n map.destroyhighlightLayer();\n if (onCloseTemplateBefore) {\n return onCloseTemplateBefore(feature);\n }\n };\n\n // 根据key查找展示的图层\n map.getVisibleLayersByKeys = keys => {\n let layers = map.getAllLayers() || [];\n return layers.filter(layer => {\n if (typeof keys === 'string') {\n return layer.key === keys && layer.show;\n } else if (Array.isArray(keys)) {\n return keys.includes(layer.key) && layer.show;\n } else {\n return layer.show && layer.key;\n }\n });\n };\n\n // 展示提示\n map.showTip = content => {\n setTip(content);\n };\n\n // 隐藏提示\n map.hideTip = () => {\n setTip(null);\n };\n\n // 根据图层条件设置图层选中\n map.showTemplateByFilter = async (key, field, value, _highlightLayer) => {\n let layer = map.getLayerByKey(key);\n if (layer?.show) {\n let obj = layer.getFeatureByFieldValue(field, value);\n if (obj) {\n if (obj.then) {\n obj.then(features => {\n if (features?.length) {\n let feature = features[0];\n map.showTemplate(\n feature.feature,\n _highlightLayer || map.highlightLayer,\n );\n }\n });\n } else {\n map.showTemplate(obj, _highlightLayer || map.highlightLayer);\n }\n } else {\n map.hideTemplate();\n }\n }\n };\n\n // 展示看板\n map.showTemplate = feature => {\n popupRef.current.showTemplate(feature);\n };\n\n // 隐藏看板\n map.hideTemplate = () => {\n popupRef.current.hideTemplate();\n };\n\n // 鼠标事件控制器\n let handleEvent = new ScreenSpaceEventHandler(map.scene.canvas);\n\n // 获取图层上的图形信息\n map.pickDataSourcesFeature = event => {\n if (event?.position) {\n const { position } = event;\n let pick = map.scene.pick(position);\n if (isObject(pick?.id)) {\n pick = pick.id;\n }\n\n if (checkClickable(pick)) {\n return;\n }\n\n return pick;\n }\n };\n\n // 根据关键字获取图形信息\n map.getMapFeatureInfoByText = getMapFeatureInfoByText;\n\n // 获取wms的图形数据\n map.pickImageryLayerFeatures = event => {\n if (event?.position) {\n const { position } = event;\n const pickRay = map.camera.getPickRay(position);\n\n return map.imageryLayers.pickImageryLayerFeatures(pickRay, map.scene);\n }\n };\n\n // 获取当前地图中心的经纬度\n map.getCenterPosition = () => {\n let centerResult = map.camera.pickEllipsoid(\n new Cartesian2(map.canvas.clientWidth / 2, map.canvas.clientHeight / 2),\n );\n let curPosition = Ellipsoid.WGS84.cartesianToCartographic(centerResult);\n let curLongitude = (curPosition.longitude * 180) / window.Math.PI;\n let curLatitude = (curPosition.latitude * 180) / window.Math.PI;\n return [curLongitude, curLatitude];\n };\n\n // 二三维切换\n map.setViewMode = type => {\n map.viewMode = type;\n map.fitView();\n };\n\n // 获取当前地图视图的边界\n map.getViewExtend = () => {\n let params = {};\n let extend = map.camera.computeViewRectangle();\n if (typeof extend === 'undefined') {\n //2D下会可能拾取不到坐标,extend返回undefined,因此作如下转换\n let canvas = map.scene.canvas;\n let upperLeft = new Cartesian2(0, 0); //canvas左上角坐标转2d坐标\n let lowerRight = new Cartesian2(canvas.clientWidth, canvas.clientHeight); //canvas右下角坐标转2d坐标\n\n let ellipsoid = map.scene.globe.ellipsoid;\n let upperLeft3 = map.camera.pickEllipsoid(upperLeft, ellipsoid); //2D转3D世界坐标\n\n let lowerRight3 = map.camera.pickEllipsoid(lowerRight, ellipsoid); //2D转3D世界坐标\n\n let upperLeftCartographic = map.scene.globe.ellipsoid.cartesianToCartographic(\n upperLeft3,\n ); //3D世界坐标转弧度\n let lowerRightCartographic = map.scene.globe.ellipsoid.cartesianToCartographic(\n lowerRight3,\n ); //3D世界坐标转弧度\n\n let minx = CesiumMath.toDegrees(upperLeftCartographic.longitude); //弧度转经纬度\n let maxx = CesiumMath.toDegrees(lowerRightCartographic.longitude); //弧度转经纬度\n\n let miny = CesiumMath.toDegrees(lowerRightCartographic.latitude); //弧度转经纬度\n let maxy = CesiumMath.toDegrees(upperLeftCartographic.latitude); //弧度转经纬度\n\n params.minx = minx;\n params.maxx = maxx;\n params.miny = miny;\n params.maxy = maxy;\n } else {\n //3D获取方式\n params.maxx = CesiumMath.toDegrees(extend.east);\n params.maxy = CesiumMath.toDegrees(extend.north);\n\n params.minx = CesiumMath.toDegrees(extend.west);\n params.miny = CesiumMath.toDegrees(extend.south);\n }\n\n // 返回屏幕所在经纬度范围\n return params;\n };\n\n // 根据camera高度近似计算当前层级\n map.heightToZoom = heightToZoom;\n\n // 根据当前层级近似计算camera高度\n map.zoomToHeight = zoomToHeight;\n\n // 注册事件\n registerEventLayer(map, props);\n\n // 注册地图组件事件\n function registerMapEvent(e, event) {\n if (map[event]) {\n map[event](e);\n onEvents[event] && onEvents[event](e);\n }\n }\n\n // 注册图层组件事件\n function registerEvent(feature, event, eventName) {\n if (feature) {\n let layer = map.getLayerByFeature(feature);\n if (layer?.[eventName] || feature[eventName]) {\n let properties = map.getProperties(feature) || {};\n if (feature instanceof ImageryLayerFeatureInfo && feature?.data) {\n properties = {\n ...properties,\n data: feature?.data,\n };\n }\n\n // 触发自身事件\n feature[eventName]?.(properties, {feature, event});\n\n if (layer?.[eventName]) {\n layer[eventName](properties, {feature, event});\n }\n }\n }\n }\n\n // 监测图层是否允许点击\n function checkClickable(feature) {\n let layer = map.getLayerByFeature(feature);\n let unclickable = false;\n // 无法单独设置group内的图层\n // 暂时为了取消行政区划影像图层的点击效果\n if (layer) {\n unclickable = layer.viewOnly || layer.unclickable;\n }\n return unclickable;\n }\n\n // 点击事件\n handleEvent.setInputAction(event => {\n event.lonLat = map.getPositionLonLat(event);\n map._clickObject = event;\n registerMapEvent(event, 'onClick');\n map.hideTip();\n\n // 是否禁止冒泡\n if (!map.cancelBubble) {\n const pick = map.scene.pick(event.position);\n if (pick instanceof Cesium3DTileFeature) {\n let layer = map.getLayerByFeature(pick);\n if (layer) {\n if (layer.unclickable) {\n return;\n }\n\n registerEvent(pick, event, 'onClick');\n\n if (layer.template) {\n map.onClickTemplateAfter && map.onClickTemplateAfter(pick);\n\n map.showTemplate(pick);\n }\n }\n } else {\n const entity = map.pickDataSourcesFeature(event);\n const featuresPromise = map.pickImageryLayerFeatures(event);\n if (entity) {\n registerEvent(entity, event, 'onClick');\n\n let layer = map.getLayerByFeature(entity?.[0] || entity);\n if (Array.isArray(entity) || (layer && layer.template)) {\n map.onClickTemplateAfter && map.onClickTemplateAfter(entity);\n if (\n Array.isArray(entity) &&\n entity?.length > 1 &&\n layer?.cluster?.hideTemplate\n ) {\n return;\n }\n map.showTemplate(entity);\n }\n } else if (defined(featuresPromise)) {\n // 兼容1.98.0版本\n const handleFeatures = features => {\n features.sort((a, b) => {\n return b.imageryLayer._layerIndex - a.imageryLayer._layerIndex;\n });\n\n const feature = features?.[0];\n if (checkClickable(feature)) {\n return;\n }\n registerEvent(feature, event, 'onClick');\n map.showTemplate(feature);\n };\n\n // 针对低于 1.90.0 版本\n if (when) {\n when(featuresPromise, handleFeatures);\n } else {\n featuresPromise.then(handleFeatures);\n }\n }\n }\n }\n }, ScreenSpaceEventType.LEFT_CLICK);\n\n // 双击事件\n handleEvent.setInputAction(event => {\n map.trackedEntity = undefined; // 取消双击锁定\n\n event.lonLat = map.getPositionLonLat(event);\n\n registerMapEvent(event, 'onDoubleClick');\n\n const feature = map.pickDataSourcesFeature(event);\n\n registerEvent(feature, event, 'onDoubleClick');\n }, ScreenSpaceEventType.LEFT_DOUBLE_CLICK);\n\n // 鼠标移动\n let hoverFeature;\n const getUid = feature => {\n if (feature && !feature._id) {\n feature._id = window.Math.random();\n }\n\n return feature._id;\n };\n\n // 鼠标移入移出\n handleEvent.setInputAction(event => {\n event.lonLat = map.getPositionLonLat({ position: event.endPosition });\n\n registerMapEvent(event, 'onMouseMove');\n const feature = map.pickDataSourcesFeature({ position: event.endPosition });\n\n if (feature) {\n let layer = map.getLayerByFeature(feature);\n if (layer && (layer.labelField || layer.tipTemplate)) {\n const { labelField, tipTemplate } = layer;\n const properties = map.getProperties(feature);\n\n let label;\n if (tipTemplate) {\n label = tipTemplate(properties);\n } else {\n label = properties ? properties[labelField] : '';\n }\n\n if (label) {\n map.showTip(label);\n } else {\n map.hideTip();\n }\n } else {\n map.hideTip();\n }\n\n registerEvent(feature, event, 'onMouseMove');\n\n // 判断是否在图形内移动\n if (hoverFeature) {\n let uid = getUid(feature);\n let hoverUid = getUid(hoverFeature);\n\n // 判断是否进入新的图形\n if (uid !== hoverUid) {\n registerEvent(hoverFeature, event, 'onMouseLeave');\n\n registerEvent(feature, event, 'onMouseEnter');\n hoverFeature = feature;\n }\n } else {\n registerEvent(feature, event, 'onMouseEnter');\n hoverFeature = feature;\n }\n\n registerEvent(feature, event, 'onMouseMove');\n } else {\n if (hoverFeature) {\n registerEvent(hoverFeature, event, 'onMouseLeave');\n }\n\n hoverFeature = null;\n map.hideTip();\n }\n }, ScreenSpaceEventType.MOUSE_MOVE);\n\n // 层级事件\n if (onZoom) {\n map.camera.moveEnd.addEventListener(() => {\n let viewRectangle = map.camera.computeViewRectangle();\n const west = (viewRectangle.west / window.Math.PI) * 180; // 左上方(西)\n const north = (viewRectangle.north / window.Math.PI) * 180; //右上方(北)\n const east = (viewRectangle.east / window.Math.PI) * 180; // 右下方(东)\n const south = (viewRectangle.south / window.Math.PI) * 180; // 左下方(南)\n const cameraHeight = map.camera.positionCartographic.height;\n const zoom = map.heightToZoom(window.Math.ceil(cameraHeight));\n onZoom && onZoom({ west, north, east, south, cameraHeight, viewRectangle, zoom });\n });\n }\n\n // 动态调整视角,不传参数为默认视角,参数可以是图层、图形、数据等\n map.fitView = e => {\n const {\n geoJson,\n geometryInfo,\n data,\n entity,\n lng,\n lat,\n height = 50000,\n options,\n ...rest\n } = e || {};\n let pitch = map.camera.pitch;\n\n // 判断是否点击了图形\n if (entity) {\n if (map.viewMode === '3D') {\n map.flyTo(entity, { duration: 2 });\n } else {\n map.flyTo(entity, {\n duration: 2,\n offset: {\n heading: CesiumMath.toRadians(0.0),\n pitch,\n range: height,\n },\n });\n }\n } else if (lng && lat) {\n map.camera.flyTo({\n destination: new Cartesian3.fromDegrees(Number(lng), Number(lat), height),\n orientation: {\n pitch: CesiumMath.toRadians(-88.0),\n roll: 0.0,\n },\n duration: 2,\n ...rest,\n });\n } else if (data || geometryInfo || geoJson) {\n let _geoJson = geoJson;\n\n if (geometryInfo) {\n _geoJson = createFeatureCollection([{ geometryInfo }]);\n }\n\n if (data) {\n _geoJson = createFeatureCollection(Array.isArray(data) ? data : [data]);\n }\n\n let box = getBBoxFromGeojson(_geoJson, {\n padding: 100,\n unit: 'px', // px | m\n ...options,\n }); // 单位为米\n\n map.camera.flyTo({\n destination: new Rectangle.fromDegrees(...box), //west, south, east, north,\n orientation: {\n pitch:\n map.viewMode === '3D'\n ? CesiumMath.toRadians(-35)\n : CesiumMath.toRadians(defaultPitch),\n roll: 0.0,\n },\n duration: 2,\n ...rest,\n });\n } else {\n let [x, y, z = 80000.0] = viewDefault.center;\n\n if (map.viewMode === '3D') {\n const center = Cartesian3.fromDegrees(x, y);\n const heading = CesiumMath.toRadians(0.0);\n const pitch = CesiumMath.toRadians(-35.0);\n map.camera.flyToBoundingSphere(new BoundingSphere(center, z), {\n offset: new HeadingPitchRange(heading, pitch, z),\n duration: 2,\n });\n } else {\n map.camera.flyTo({\n destination: new Cartesian3.fromDegrees(x, y, z),\n orientation: {\n pitch: CesiumMath.toRadians(defaultPitch),\n roll: 0.0,\n },\n duration: 2,\n });\n }\n }\n };\n\n map.getPositionLonLat = event => {\n const cartesian = map.camera.pickEllipsoid(event.position, map.scene.globe.ellipsoid); // Cartesian3对象\n if (cartesian) {\n const cartographic = Cartographic.fromCartesian(cartesian); // 经纬高对象\n const lng = CesiumMath.toDegrees(cartographic.longitude);\n const lat = CesiumMath.toDegrees(cartographic.latitude);\n return [lng, lat];\n }\n\n return [];\n };\n\n if (duration) {\n // 自动调整视角\n map.fitView();\n\n // 延时触发回调事件\n setTimeout(() => {\n createdMap && createdMap(map, handleEvent);\n\n addLabelImageryProvider();\n\n onEvents.createdMap && onEvents.createdMap(map, handleEvent);\n\n setMapLoaded(true);\n }, (duration + 0.5) * 1000);\n } else {\n const [x, y, z = 80000.0] = viewDefault.center;\n if (map.viewMode === '3D') {\n const center = Cartesian3.fromDegrees(x, y);\n const heading = CesiumMath.toRadians(0.0);\n const pitch = CesiumMath.toRadians(-35.0);\n map.camera.flyToBoundingSphere(new BoundingSphere(center, z), {\n offset: new HeadingPitchRange(heading, pitch, z),\n duration: 0,\n });\n } else {\n map.camera.setView({\n destination: new Cartesian3.fromDegrees(x, y, z),\n });\n }\n\n // 延时触发回调事件\n setTimeout(() => {\n createdMap && createdMap(map, handleEvent);\n\n addLabelImageryProvider();\n\n onEvents.createdMap && onEvents.createdMap(map, handleEvent);\n\n setMapLoaded(true);\n }, 500);\n }\n };\n\n const onMouseMove = event => {\n if (tip && tipRef.current) {\n tipRef.current.style.left = `${event.nativeEvent.layerX + 15}px`;\n tipRef.current.style.top = `${event.nativeEvent.layerY + 15}px`;\n }\n };\n\n return (\n <div\n style={{\n width,\n height,\n background: baseColor || dark ? '#152937' : '#cccccc',\n ...wrapDomStyle,\n }}\n className={classnames('cs-map-container')}\n >\n <div\n ref={mapDomRef}\n className={classnames('cs-map')}\n onMouseMove={onMouseMove}\n onMouseOver={() => setTipVis(true)}\n onMouseOut={() => setTipVis(false)}\n style={mapDomStyle}\n >\n {tip && tipVis && (\n <div ref={tipRef} className={classnames('custom-tip')}>\n {tip}\n </div>\n )}\n </div>\n\n {mapLoaded && (\n <Provider\n value={{\n map: mapRef.current,\n showModal: props.showModal,\n }}\n >\n {children}\n {mapRef.current && <Popup ref={popupRef} map={mapRef.current} />}\n </Provider>\n )}\n </div>\n );\n}\n\nexport default Map;\n\nMap.propTypes = {\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n createdMap: PropTypes.func,\n onCloseTemplateBefore: PropTypes.func,\n onZoom: PropTypes.func,\n center: PropTypes.array,\n zoom: PropTypes.number,\n minZoom: PropTypes.number,\n maxZoom: PropTypes.number,\n defaultPitch: PropTypes.number,\n dark: PropTypes.bool,\n baseColor: PropTypes.string,\n mapStyle: PropTypes.oneOfType(['vec', 'img']),\n tk: PropTypes.string.isRequired,\n onEvents: PropTypes.object,\n baseMapUrl: PropTypes.string,\n duration: PropTypes.number,\n baseMapStyle: PropTypes.object,\n children: PropTypes.node,\n autoView: PropTypes.bool,\n closePopupAutoView: PropTypes.bool,\n highlightColor: PropTypes.string,\n viewMode: PropTypes.string,\n showModal: PropTypes.func,\n wrapDomStyle: PropTypes.object,\n mapDomStyle: PropTypes.object,\n baseMapOptions: PropTypes.object,\n setLoading: PropTypes.func,\n fitViewHeight: PropTypes.number,\n hideHighlight: PropTypes.bool,\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"AroundPoint.js","names":["_cesium","require","_typeof","o","Symbol","iterator","constructor","prototype","_classCallCheck","a","n","TypeError","_defineProperties","e","r","t","length","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","i","_toPrimitive","toPrimitive","call","String","Number","AroundPoint","exports","_ref","viewer","amount","position","_viewer","_amount","_position","value","_bindEvent","clock","onTick","addEventListener","_aroundPoint","_unbindEvent","camera","lookAtTransform","Matrix4","IDENTITY","removeEventListener","start","shouldAnimate","stop","heading","pitch","CesiumMath","toRadians","Math","PI","lookAt","HeadingPitchRange"],"sources":["map/material/AroundPoint.js"],"sourcesContent":["import { Matrix4, HeadingPitchRange, Math as CesiumMath } from 'cesium';\r\n\r\nexport default class AroundPoint {\r\n constructor({ viewer, amount, position }) {\r\n this._viewer = viewer;\r\n this._amount = amount;\r\n this._position = position;\r\n }\r\n\r\n _bindEvent() {\r\n this._viewer.clock.onTick.addEventListener(this._aroundPoint, this);\r\n }\r\n\r\n _unbindEvent() {\r\n this._viewer.camera.lookAtTransform(Matrix4.IDENTITY);\r\n this._viewer.clock.onTick.removeEventListener(this._aroundPoint, this);\r\n }\r\n\r\n start() {\r\n this._viewer.clock.shouldAnimate = true;\r\n this._unbindEvent();\r\n this._bindEvent();\r\n return this;\r\n }\r\n\r\n stop() {\r\n this._unbindEvent();\r\n return this;\r\n }\r\n\r\n // 相机绕点旋转函数\r\n _aroundPoint() {\r\n let heading = this._viewer.camera.heading;\r\n let pitch = this._viewer.camera.pitch;\r\n\r\n heading += CesiumMath.toRadians(this._amount);\r\n if (heading >= Math.PI * 2 || heading <= -Math.PI * 2) {\r\n heading = 0;\r\n }\r\n\r\n this._viewer.camera.lookAt(this._position, new HeadingPitchRange(heading, pitch, 5000.0));\r\n }\r\n}\r\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"AroundPoint.js","names":["_cesium","require","_typeof","o","Symbol","iterator","constructor","prototype","_classCallCheck","a","n","TypeError","_defineProperties","e","r","t","length","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","i","_toPrimitive","toPrimitive","call","String","Number","AroundPoint","exports","_ref","viewer","amount","position","_viewer","_amount","_position","value","_bindEvent","clock","onTick","addEventListener","_aroundPoint","_unbindEvent","camera","lookAtTransform","Matrix4","IDENTITY","removeEventListener","start","shouldAnimate","stop","heading","pitch","CesiumMath","toRadians","Math","PI","lookAt","HeadingPitchRange"],"sources":["map/material/AroundPoint.js"],"sourcesContent":["import { Matrix4, HeadingPitchRange, Math as CesiumMath } from 'cesium';\n\nexport default class AroundPoint {\n constructor({ viewer, amount, position }) {\n this._viewer = viewer;\n this._amount = amount;\n this._position = position;\n }\n\n _bindEvent() {\n this._viewer.clock.onTick.addEventListener(this._aroundPoint, this);\n }\n\n _unbindEvent() {\n this._viewer.camera.lookAtTransform(Matrix4.IDENTITY);\n this._viewer.clock.onTick.removeEventListener(this._aroundPoint, this);\n }\n\n start() {\n this._viewer.clock.shouldAnimate = true;\n this._unbindEvent();\n this._bindEvent();\n return this;\n }\n\n stop() {\n this._unbindEvent();\n return this;\n }\n\n // 相机绕点旋转函数\n _aroundPoint() {\n let heading = this._viewer.camera.heading;\n let pitch = this._viewer.camera.pitch;\n\n heading += CesiumMath.toRadians(this._amount);\n if (heading >= Math.PI * 2 || heading <= -Math.PI * 2) {\n heading = 0;\n }\n\n this._viewer.camera.lookAt(this._position, new HeadingPitchRange(heading, pitch, 5000.0));\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -7,11 +7,11 @@ exports["default"] = void 0;
7
7
  var _cesium = require("cesium");
8
8
  var CircleRippleMaterialSource = "\nuniform vec4 color;\nuniform float speed;\nuniform float count;\nuniform float gradient;\nczm_material czm_getMaterial(czm_materialInput materialInput)\n{\nczm_material material = czm_getDefaultMaterial(materialInput);\nmaterial.diffuse = 1.5 * color.rgb;\nvec2 st = materialInput.st;\nfloat dis = distance(st, vec2(0.5, 0.5));\nfloat per = fract(czm_frameNumber * speed / 1000.0);\nif(count == 1.0){\n if(dis > per * 0.5){\n discard;\n }else {\n material.alpha = color.a * dis / per / 2.0;\n }\n} else {\n vec3 str = materialInput.str;\n if(abs(str.z) > 0.001){\n discard;\n }\n if(dis > 0.5){\n discard;\n } else {\n float perDis = 0.5 / count;\n float disNum;\n float bl = 0.0;\n for(int i = 0; i <= 999; i++){\n if(float(i) <= count){\n disNum = perDis * float(i) - dis + per / count;\n if(disNum > 0.0){\n if(disNum < perDis){\n bl = 1.0 - disNum / perDis;\n }\n else if(disNum - perDis < perDis){\n bl = 1.0 - abs(1.0 - disNum / perDis);\n }\n material.alpha = pow(bl,(1.0 + 10.0 * (1.0 - gradient)));\n }\n }\n }\n }\n}\nreturn material;\n}";
9
9
 
10
- /**
11
- * 圆形扫描以及圆形扩散的类对象
12
- * @alias EV_CircleScan
13
- * @constructor
14
- * @param {Viewer} viewer 视图对象
10
+ /**
11
+ * 圆形扫描以及圆形扩散的类对象
12
+ * @alias EV_CircleScan
13
+ * @constructor
14
+ * @param {Viewer} viewer 视图对象
15
15
  */
16
16
 
17
17
  function CircleRippleMaterialProperty(options) {