@kando-env/kando-ui 1.2.351-alpha.0 → 1.2.351

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 (576) hide show
  1. package/lib/Router.js +73 -36
  2. package/lib/Widgets/EventsCarousel/EventsCarousel.js +33 -23
  3. package/lib/Widgets/EventsRow/EventsRow.js +37 -25
  4. package/lib/Widgets/Map/GraphUtils.js +3 -3
  5. package/lib/Widgets/Map/Map.js +83 -66
  6. package/lib/Widgets/Map/MapUtils.js +39 -40
  7. package/lib/Widgets/Map/areas/AreaPolygon.js +76 -52
  8. package/lib/Widgets/Map/areas/AreaPolygons.js +24 -23
  9. package/lib/Widgets/Map/areas/AreaUtils.js +46 -46
  10. package/lib/Widgets/Map/areas/Patterns.js +4 -4
  11. package/lib/Widgets/Map/edges/Edge.js +31 -24
  12. package/lib/Widgets/Map/edges/Edges.js +23 -19
  13. package/lib/Widgets/Map/edges/arrows/Arrows.js +44 -23
  14. package/lib/Widgets/Map/events/Event.js +17 -17
  15. package/lib/Widgets/Map/events/EventIndicator.js +52 -57
  16. package/lib/Widgets/Map/events/EventPath.js +22 -24
  17. package/lib/Widgets/Map/events/EventUtils.js +78 -55
  18. package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +18 -17
  19. package/lib/Widgets/Map/events/PointOfEvent.js +34 -29
  20. package/lib/Widgets/Map/events/PointsForSpecificEvent.js +37 -30
  21. package/lib/Widgets/Map/events/Snail.js +20 -19
  22. package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +86 -93
  23. package/lib/Widgets/Map/map/FloatingGraph.js +18 -22
  24. package/lib/Widgets/Map/map/GraphDateButton.js +17 -25
  25. package/lib/Widgets/Map/matchGraph/MatchGraph.js +12 -13
  26. package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +15 -16
  27. package/lib/Widgets/Map/points/PointIcon.js +13 -15
  28. package/lib/Widgets/Map/points/PointMarker.js +87 -71
  29. package/lib/Widgets/Map/points/PointMarkers.js +66 -45
  30. package/lib/Widgets/Map/points/PointUtils.js +75 -69
  31. package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +45 -28
  32. package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +10 -11
  33. package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +11 -10
  34. package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +3 -3
  35. package/lib/Widgets/MostPolluting/Areas/Areas.js +57 -28
  36. package/lib/Widgets/MostPolluting/Areas/areas.mock.js +3 -3
  37. package/lib/Widgets/MostPolluting/Areas/styles.js +3 -3
  38. package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +8 -11
  39. package/lib/Widgets/MostPolluting/Factories/Factories.js +64 -33
  40. package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +17 -14
  41. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +7 -7
  42. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +10 -12
  43. package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +3 -3
  44. package/lib/Widgets/MostPolluting/Factories/factories.mock.js +2 -2
  45. package/lib/Widgets/MostPolluting/Factories/styles.js +3 -3
  46. package/lib/Widgets/MostPolluting/MostPolluting.js +27 -21
  47. package/lib/Widgets/MostPolluting/MostPolluting.stories.js +22 -18
  48. package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +4 -6
  49. package/lib/Widgets/MostPolluting/ShowMore/styles.js +4 -6
  50. package/lib/Widgets/MostPolluting/assets/index.js +10 -10
  51. package/lib/Widgets/MostPolluting/components/ChangePercent.js +13 -19
  52. package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +30 -35
  53. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +31 -34
  54. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +35 -39
  55. package/lib/Widgets/MostPolluting/components/PotentialImpact.js +26 -27
  56. package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +47 -51
  57. package/lib/Widgets/MostPolluting/styles.js +3 -3
  58. package/lib/Widgets/PotentialImpactSummary/Back/Back.js +5 -7
  59. package/lib/Widgets/PotentialImpactSummary/Icon.js +6 -8
  60. package/lib/Widgets/PotentialImpactSummary/index.js +27 -19
  61. package/lib/Widgets/PotentialImpactSummary/index.test.js +52 -47
  62. package/lib/Widgets/PotentialImpactSummary/styles.js +7 -7
  63. package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +7 -9
  64. package/lib/Widgets/QualitySummary/PieChart/PieChart.js +17 -22
  65. package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +32 -35
  66. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +24 -26
  67. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +37 -35
  68. package/lib/Widgets/QualitySummary/QualitySummary.js +13 -9
  69. package/lib/Widgets/QualitySummary/qualitySummary.mock.js +4 -4
  70. package/lib/Widgets/QualitySummary/styles.js +15 -23
  71. package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +13 -12
  72. package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +24 -25
  73. package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +24 -29
  74. package/lib/Widgets/UtilityInformation/UtilityInformation.js +40 -23
  75. package/lib/Widgets/UtilityInformation/styles.js +22 -31
  76. package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +3 -3
  77. package/lib/assets/icons/TopNavbar/index.js +6 -6
  78. package/lib/assets/icons/TrendSvg.js +6 -6
  79. package/lib/assets/icons/index.js +15 -15
  80. package/lib/assets/icons/kandoStepper/index.js +5 -5
  81. package/lib/assets/icons/siteTypes/index.js +1 -1
  82. package/lib/components/ApplyButton/ApplyButton.js +8 -8
  83. package/lib/components/Backdrop/Backdrop.js +4 -6
  84. package/lib/components/ContentLoader/ContentLoader.js +9 -11
  85. package/lib/components/ContentLoader/index.js +1 -1
  86. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +9 -10
  87. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +5 -3
  88. package/lib/components/CustomInputs/DoubleTabs/styles.js +12 -20
  89. package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +19 -12
  90. package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +4 -6
  91. package/lib/components/CustomInputs/Search/Search.js +60 -39
  92. package/lib/components/CustomInputs/Select/Select.js +55 -42
  93. package/lib/components/CustomInputs/Select/Select.stories.js +6 -4
  94. package/lib/components/DamageType/DamageType.js +56 -34
  95. package/lib/components/DataLoaderError/DataLoaderError.js +6 -8
  96. package/lib/components/DischargeHeatmap/DischargeHeatmap.js +10 -9
  97. package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +71 -70
  98. package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +37 -27
  99. package/lib/components/DischargeHeatmap/HighchartsOptions.js +12 -10
  100. package/lib/components/DischargeHeatmap/mocks/handlers.js +3 -3
  101. package/lib/components/DischargeHeatmap/popupText.js +9 -9
  102. package/lib/components/DischargeHeatmap/titles.js +3 -3
  103. package/lib/components/ErrorBoundary.js +41 -27
  104. package/lib/components/Events/Events.js +45 -28
  105. package/lib/components/Graph/Graph.js +86 -67
  106. package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +21 -17
  107. package/lib/components/Header/DoubleTabs/DoubleTabs.js +26 -18
  108. package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +5 -3
  109. package/lib/components/Header/DoubleTabs/styles.js +4 -4
  110. package/lib/components/Header/Header.js +2 -2
  111. package/lib/components/Header/Header.stories.js +5 -3
  112. package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +197 -82
  113. package/lib/components/Header/InfoBar/InfoBar.js +95 -66
  114. package/lib/components/Header/InfoBar/Search/Control.js +9 -9
  115. package/lib/components/Header/InfoBar/Search/GroupLabel.js +4 -6
  116. package/lib/components/Header/InfoBar/Search/Search.js +19 -14
  117. package/lib/components/Header/InfoBar/Search/SearchContainer.js +27 -15
  118. package/lib/components/Header/InfoBar/Search/searchStyle.js +49 -41
  119. package/lib/components/Header/InfoBar/TimeFilter.js +14 -11
  120. package/lib/components/Header/KandoNavbar/KandoNavbar.js +87 -62
  121. package/lib/components/Header/Slideshow/Slideshow.js +89 -67
  122. package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +4 -6
  123. package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +23 -21
  124. package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +13 -13
  125. package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +41 -35
  126. package/lib/components/Header/Toolbar/Toolbar.js +74 -55
  127. package/lib/components/InfoBar/InfoBar.js +23 -10
  128. package/lib/components/InfoBar/InfoBar.stories.js +5 -3
  129. package/lib/components/KandoModal/KandoModal.js +37 -23
  130. package/lib/components/Link.js +7 -8
  131. package/lib/components/Links/CustomRedirect/CustomRedirect.js +8 -9
  132. package/lib/components/Links/StyledLink/StyledLink.js +12 -12
  133. package/lib/components/Links/StyledNavLink/StyledNavLink.js +10 -11
  134. package/lib/components/LiveEvents/CarouselSlide.js +7 -9
  135. package/lib/components/LiveEvents/LiveEvents.js +3 -5
  136. package/lib/components/LoaderByPercent/LoaderByPercent.js +28 -36
  137. package/lib/components/Map/Map.js +22 -19
  138. package/lib/components/Modal/Modal.js +9 -9
  139. package/lib/components/NarrowHeader.js +31 -17
  140. package/lib/components/PointInfo/PointInfo.js +16 -18
  141. package/lib/components/PopupModal/PopupModal.js +16 -12
  142. package/lib/components/PopupModal/PopupModal.stories.js +19 -15
  143. package/lib/components/Sector/Sector.js +6 -8
  144. package/lib/components/Sector/Sector.test.js +20 -19
  145. package/lib/components/Sector/sectorIcons.js +2 -2
  146. package/lib/components/SevereEvent/Eta/Eta.js +51 -48
  147. package/lib/components/SevereEvent/Eta/styles.js +6 -10
  148. package/lib/components/SevereEvent/SevereEvent.js +34 -27
  149. package/lib/components/Spinner/Spinner.js +7 -7
  150. package/lib/components/Spinner/Spinner.stories.js +6 -4
  151. package/lib/components/Spinner/styles.js +12 -20
  152. package/lib/components/Tabs/Tabs.js +27 -18
  153. package/lib/components/Tabs/Tabs.stories.js +6 -4
  154. package/lib/components/Tabs/assets/index.js +5 -5
  155. package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +15 -12
  156. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +45 -34
  157. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +31 -19
  158. package/lib/components/TimeRangeSelector/TimeRangeHelper.js +21 -16
  159. package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +11 -11
  160. package/lib/components/TimeRangeSelector/TimeRangeList.js +24 -23
  161. package/lib/components/TimeRangeSelector/TimeRangeOptions.js +24 -16
  162. package/lib/components/TimeRangeSelector/TimeRangeSelector.js +29 -28
  163. package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +6 -4
  164. package/lib/components/TimeRangeSelector/constants.js +3 -3
  165. package/lib/components/Toggle/Toggle.js +15 -10
  166. package/lib/components/TrendGraph/TrendGraph.js +38 -22
  167. package/lib/components/TrendGraphNVL/TrendGraphNVL.js +30 -24
  168. package/lib/development-environment/index.js +12 -8
  169. package/lib/development-environment/mock/browser.js +4 -2
  170. package/lib/development-environment/mock/get.js +10 -8
  171. package/lib/development-environment/mock/handlers.js +2 -2
  172. package/lib/development-environment/mock/mockBus.js +4 -4
  173. package/lib/development-environment/mock/mockObjects/area-trends-graph.js +2 -2
  174. package/lib/development-environment/mock/mockObjects/areaInformation.js +2 -2
  175. package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +2 -2
  176. package/lib/development-environment/mock/mockObjects/areaSitesData.js +2 -2
  177. package/lib/development-environment/mock/mockObjects/areasJson.js +2 -2
  178. package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +2 -2
  179. package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +2 -2
  180. package/lib/development-environment/mock/mockObjects/data-menuData.js +2 -2
  181. package/lib/development-environment/mock/mockObjects/data-search.js +2 -2
  182. package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +2 -2
  183. package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +2 -2
  184. package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +2 -2
  185. package/lib/development-environment/mock/mockObjects/eventsJson.js +2 -2
  186. package/lib/development-environment/mock/mockObjects/metascore.js +2 -2
  187. package/lib/development-environment/mock/mockObjects/permissionsJson.js +2 -2
  188. package/lib/development-environment/mock/mockObjects/pointsJson.js +2 -2
  189. package/lib/development-environment/mock/mockObjects/site-info.js +2 -2
  190. package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +2 -2
  191. package/lib/development-environment/togly/ToglyDashboard.js +22 -13
  192. package/lib/development-environment/togly/ToglyItem.js +28 -25
  193. package/lib/development-environment/togly/init.js +2 -2
  194. package/lib/development-environment/togly/macro.js +9 -13
  195. package/lib/development-environment/togly/useDoubleKeyDown.js +9 -7
  196. package/lib/development-environment/togly/useLocalStorage.js +18 -13
  197. package/lib/hooks/useApi.js +55 -19
  198. package/lib/hooks/useApiWithDashboardQuery.js +49 -30
  199. package/lib/hooks/useClickOutside.js +3 -3
  200. package/lib/hooks/useInitializeHeaders.js +5 -5
  201. package/lib/hooks/useKandoFetch.js +28 -15
  202. package/lib/hooks/useMap.js +34 -22
  203. package/lib/hooks/useNavContext.js +26 -22
  204. package/lib/hooks/useRemoveExistingLayers.js +6 -6
  205. package/lib/hooks/useUpdateEventBodyTail.js +17 -13
  206. package/lib/hooks/useUserTimeZone.js +30 -33
  207. package/lib/hooks/useUserTimeZone.test.js +22 -19
  208. package/lib/hooks/useWindowSize.js +14 -7
  209. package/lib/index.js +12 -11
  210. package/lib/macros/getVersion.js +2 -2
  211. package/lib/pages/AreaPage/AreaPage.js +67 -34
  212. package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +16 -15
  213. package/lib/pages/AreaPage/Dashboard/Dashboard.js +24 -23
  214. package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +25 -17
  215. package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +4 -4
  216. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +7 -7
  217. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +9 -9
  218. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +3 -3
  219. package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +2 -2
  220. package/lib/pages/AreaPage/Dashboard/Sites/styles.js +4 -4
  221. package/lib/pages/AssessmentPage/AssessmentPage.js +43 -37
  222. package/lib/pages/CannyWidget/Feedback.js +13 -13
  223. package/lib/pages/CovidPage/CovidPage.js +13 -8
  224. package/lib/pages/CovidPage/components/Body.js +27 -25
  225. package/lib/pages/CovidPage/components/Map.js +37 -27
  226. package/lib/pages/CovidPage/components/Sidebar.js +13 -14
  227. package/lib/pages/CovidPage/components/Summary.js +26 -19
  228. package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +30 -24
  229. package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +73 -51
  230. package/lib/pages/CovidPage/components/areas/Area.js +35 -24
  231. package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +43 -44
  232. package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +35 -32
  233. package/lib/pages/CovidPage/components/areas/AreasList.js +41 -29
  234. package/lib/pages/CovidPage/components/areas/Sort.js +14 -11
  235. package/lib/pages/CovidPage/components/nvlStatusHelper.js +11 -11
  236. package/lib/pages/DashboardMap/AreaCard.js +26 -26
  237. package/lib/pages/DashboardMap/AssessmentIcon.js +6 -7
  238. package/lib/pages/DashboardMap/Capacity.js +85 -34
  239. package/lib/pages/DashboardMap/FactoryCard.js +24 -28
  240. package/lib/pages/DashboardMap/HighchartsOptions.js +4 -5
  241. package/lib/pages/DashboardMap/List.js +94 -68
  242. package/lib/pages/DashboardMap/ListContext.js +19 -15
  243. package/lib/pages/DashboardMap/Loader.js +2 -2
  244. package/lib/pages/DashboardMap/SeverityBadge.js +18 -10
  245. package/lib/pages/DashboardMap/WWTPMap.js +59 -49
  246. package/lib/pages/DashboardMap/WaterDischarge.js +8 -8
  247. package/lib/pages/DashboardMap/Widget.js +70 -53
  248. package/lib/pages/DashboardMap/utils.js +50 -41
  249. package/lib/pages/EventsPage/Body/Body.js +15 -20
  250. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +19 -17
  251. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +35 -27
  252. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +6 -8
  253. package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +7 -11
  254. package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +30 -21
  255. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +63 -52
  256. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +23 -17
  257. package/lib/pages/EventsPage/EventsPage.js +10 -7
  258. package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +37 -25
  259. package/lib/pages/EventsPage/events/MoreInfo.js +16 -17
  260. package/lib/pages/EventsPage/events/Sidebar.js +16 -21
  261. package/lib/pages/EventsPage/events/event_info/Contaminants/Contaminants.js +7 -7
  262. package/lib/pages/EventsPage/events/event_info/Contaminants/ContaminantsList.js +20 -17
  263. package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +35 -30
  264. package/lib/pages/EventsPage/events/event_info/EventDetails.js +29 -32
  265. package/lib/pages/EventsPage/events/event_info/EventInfo.js +40 -41
  266. package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +4 -4
  267. package/lib/pages/EventsPage/events/event_info/EventSection.js +18 -16
  268. package/lib/pages/EventsPage/events/event_info/EventSection.test.js +38 -43
  269. package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +46 -38
  270. package/lib/pages/EventsPage/events/event_info/Header/Header.js +4 -6
  271. package/lib/pages/EventsPage/events/event_info/Header/HeaderContainer.js +31 -28
  272. package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +4 -4
  273. package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +36 -29
  274. package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +6 -4
  275. package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +21 -22
  276. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResult.js +19 -12
  277. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResultButton.js +3 -5
  278. package/lib/pages/EventsPage/events/event_info/SamplingList/SamplingDetails.js +9 -11
  279. package/lib/pages/EventsPage/events/event_info/SamplingList/Samplings.js +25 -21
  280. package/lib/pages/EventsPage/events/event_info/SeverityScore/ScoreExplanation.js +7 -11
  281. package/lib/pages/EventsPage/events/event_info/SeverityScore/SeverityScore.js +6 -6
  282. package/lib/pages/EventsPage/events/event_info/SourceDetails/Confidence.js +3 -5
  283. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.js +2 -2
  284. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.test.js +10 -12
  285. package/lib/pages/EventsPage/events/event_info/SourceDetails/IconAndTitles.js +4 -6
  286. package/lib/pages/EventsPage/events/event_info/SourceDetails/MoreInfoButton.js +12 -10
  287. package/lib/pages/EventsPage/events/event_info/SourceDetails/OtherSources.js +3 -5
  288. package/lib/pages/EventsPage/events/event_info/SourceDetails/PotentialSources.js +5 -7
  289. package/lib/pages/EventsPage/events/event_info/SourceDetails/SingleSource.js +5 -7
  290. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceCardBody.js +4 -6
  291. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.js +9 -11
  292. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.test.js +15 -15
  293. package/lib/pages/EventsPage/events/event_info/SourceDetails/WaterDischarge.js +6 -6
  294. package/lib/pages/EventsPage/events/event_info/Timelines/DischargeBox.js +5 -7
  295. package/lib/pages/EventsPage/events/event_info/Timelines/EarlyWarning.js +15 -17
  296. package/lib/pages/EventsPage/events/event_info/Timelines/LiveStatusBadge.js +4 -4
  297. package/lib/pages/EventsPage/events/event_info/Timelines/SeenBox.js +8 -10
  298. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.js +11 -16
  299. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.test.js +8 -9
  300. package/lib/pages/EventsPage/events/event_info/Timelines/Titles.js +2 -2
  301. package/lib/pages/EventsPage/events/event_info/Timelines/style.js +3 -3
  302. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +37 -24
  303. package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +36 -29
  304. package/lib/pages/EventsPage/events/event_info/samplingsOld/Sampling.js +9 -11
  305. package/lib/pages/EventsPage/events/event_info/samplingsOld/Samplings.js +17 -15
  306. package/lib/pages/EventsPage/events/event_info/sources/Source.js +28 -25
  307. package/lib/pages/EventsPage/events/event_info/sources/Sources.js +24 -21
  308. package/lib/pages/EventsPage/events/event_info/styles.js +12 -20
  309. package/lib/pages/EventsPage/events/events_list/EventItem.js +18 -17
  310. package/lib/pages/EventsPage/events/events_list/EventUtils.js +10 -10
  311. package/lib/pages/EventsPage/events/events_list/EventsList.js +134 -113
  312. package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +53 -38
  313. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +108 -72
  314. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +69 -52
  315. package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +41 -38
  316. package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +36 -29
  317. package/lib/pages/EventsPage/events/events_list/Sort.js +16 -13
  318. package/lib/pages/ImportFileWizard/FileUploadRespones.js +19 -12
  319. package/lib/pages/ImportFileWizard/ImportButtomButtons.js +4 -6
  320. package/lib/pages/ImportFileWizard/ImportFile.js +22 -20
  321. package/lib/pages/ImportFileWizard/ResponseBody.js +33 -24
  322. package/lib/pages/ImportFileWizard/ValidationForm.js +20 -21
  323. package/lib/pages/ImportFileWizard/ValidationResponse.js +21 -21
  324. package/lib/pages/ImportFileWizard/importFileUtils.js +1 -1
  325. package/lib/pages/ImportGisPage/ImportGisContainer.js +24 -21
  326. package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +23 -21
  327. package/lib/pages/ImportGisPage/importGisUtils.js +20 -12
  328. package/lib/pages/ImportGisProcess/index.js +15 -12
  329. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +12 -7
  330. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +19 -17
  331. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +3 -3
  332. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +57 -28
  333. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +8 -6
  334. package/lib/pages/NotificationsPage/Notification/Notification.js +12 -16
  335. package/lib/pages/NotificationsPage/Notifications.mock.js +2 -2
  336. package/lib/pages/NotificationsPage/Notifications.stories.js +6 -4
  337. package/lib/pages/NotificationsPage/NotificationsPage.js +36 -18
  338. package/lib/pages/NotificationsPage/assets/index.js +9 -9
  339. package/lib/pages/NotificationsPageV2/NotificationsPage.js +93 -70
  340. package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +62 -93
  341. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +137 -126
  342. package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +71 -71
  343. package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +87 -90
  344. package/lib/pages/NotificationsPageV2/notificationUtils.js +33 -39
  345. package/lib/pages/OldSitePage/OldSitePage.js +131 -56
  346. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +5 -5
  347. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +5 -3
  348. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +6 -8
  349. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +20 -18
  350. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +7 -9
  351. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +18 -12
  352. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +12 -16
  353. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +5 -3
  354. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +11 -17
  355. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +63 -51
  356. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +7 -9
  357. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +53 -29
  358. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +4 -4
  359. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +12 -10
  360. package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +10 -11
  361. package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +11 -10
  362. package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +22 -26
  363. package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +28 -26
  364. package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +4 -4
  365. package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +9 -15
  366. package/lib/pages/ProfilePage/Container.js +2 -2
  367. package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +39 -23
  368. package/lib/pages/ProfilePage/ProfilePage.js +202 -114
  369. package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +33 -25
  370. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +15 -18
  371. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +25 -23
  372. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +116 -56
  373. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +20 -17
  374. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +10 -12
  375. package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +40 -38
  376. package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +26 -25
  377. package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +16 -16
  378. package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +15 -13
  379. package/lib/pages/SamplingsPage/NavigationDropdown.js +29 -42
  380. package/lib/pages/SamplingsPage/NewSamplingAction.js +97 -73
  381. package/lib/pages/SamplingsPage/SamplingMobileModal.js +97 -123
  382. package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +22 -21
  383. package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +22 -34
  384. package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +56 -33
  385. package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +18 -15
  386. package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +6 -8
  387. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +191 -107
  388. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +53 -47
  389. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +38 -42
  390. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +38 -42
  391. package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +20 -19
  392. package/lib/pages/SamplingsPage/SamplingProperties/styles.js +3 -3
  393. package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +6 -10
  394. package/lib/pages/SamplingsPage/SamplingsMobileItem.js +52 -51
  395. package/lib/pages/SamplingsPage/SamplingsMobileList.js +28 -21
  396. package/lib/pages/SamplingsPage/SamplingsPage.js +31 -25
  397. package/lib/pages/SamplingsPage/SamplingsPageContainer.js +57 -49
  398. package/lib/pages/SamplingsPage/samplingsPageUtils.js +75 -67
  399. package/lib/pages/SitePage/DischargePattern/DischargePattern.js +4 -6
  400. package/lib/pages/SitePage/PollutionContributor/PollutionContributor.js +13 -14
  401. package/lib/pages/SitePage/PollutionContributor/PollutionContributorContainer.js +13 -10
  402. package/lib/pages/SitePage/PollutionContributor/contributorUtils.js +16 -16
  403. package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +5 -3
  404. package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +10 -14
  405. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +8 -9
  406. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +23 -26
  407. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +17 -14
  408. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +32 -36
  409. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +7 -9
  410. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +24 -15
  411. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +12 -16
  412. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +5 -3
  413. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +11 -17
  414. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +70 -58
  415. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +7 -9
  416. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +26 -15
  417. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +5 -5
  418. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +12 -10
  419. package/lib/pages/SitePage/SamplingParameters/body/Body.js +8 -8
  420. package/lib/pages/SitePage/SamplingParameters/body/BodyContainer.js +37 -29
  421. package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +11 -11
  422. package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +11 -10
  423. package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +53 -53
  424. package/lib/pages/SitePage/SamplingParameters/dataParser.js +38 -29
  425. package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +9 -11
  426. package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +4 -4
  427. package/lib/pages/SitePage/SamplingParameters/styles/styles.js +9 -15
  428. package/lib/pages/SitePage/SiteInformation/EmptyState.js +7 -11
  429. package/lib/pages/SitePage/SiteInformation/SiteInformation.js +31 -31
  430. package/lib/pages/SitePage/SitePage.js +73 -34
  431. package/lib/pages/UploadLabResult/index.js +13 -13
  432. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +35 -26
  433. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +8 -6
  434. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +8 -9
  435. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +5 -3
  436. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +47 -46
  437. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +6 -10
  438. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +2 -2
  439. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +6 -4
  440. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +9 -10
  441. package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +12 -15
  442. package/lib/pages/UtilityDashboardPage/TopBar/constants.js +7 -7
  443. package/lib/pages/UtilityDashboardPage/TopBar/styles.js +2 -2
  444. package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +24 -16
  445. package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +30 -26
  446. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +16 -15
  447. package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +13 -7
  448. package/lib/pages/UtilityDashboardPage/VirtualAreaDashboardPage.js +30 -26
  449. package/lib/pages/WbeDashboard/ExpandableComponent.js +8 -9
  450. package/lib/pages/WbeDashboard/GraphWrapper.js +34 -28
  451. package/lib/pages/WbeDashboard/IndividualTinyGraph.js +19 -17
  452. package/lib/pages/WbeDashboard/SearchInput.js +20 -15
  453. package/lib/pages/WbeDashboard/SummaryGraph.js +76 -50
  454. package/lib/pages/WbeDashboard/SummaryGraphModal.js +17 -19
  455. package/lib/pages/WbeDashboard/Tabs.js +10 -10
  456. package/lib/pages/WbeDashboard/WbeDashboardPage.js +206 -144
  457. package/lib/pages/WbeDashboard/WbeSummaryBar.js +47 -39
  458. package/lib/pages/WwtpPage/DashboardCard.js +20 -23
  459. package/lib/pages/WwtpPage/DischargePatternCard.js +23 -14
  460. package/lib/pages/WwtpPage/InletsCard/InletsBar.js +21 -25
  461. package/lib/pages/WwtpPage/InletsCard/InletsCard.js +18 -19
  462. package/lib/pages/WwtpPage/Map.js +3 -5
  463. package/lib/pages/WwtpPage/OrganicCard.js +2 -2
  464. package/lib/pages/WwtpPage/PotentialSaving/ImpactCard.js +2 -2
  465. package/lib/pages/WwtpPage/PotentialSaving/PotentialItem.js +4 -6
  466. package/lib/pages/WwtpPage/PotentialSaving/PotentialSaving.js +8 -9
  467. package/lib/pages/WwtpPage/PotentialSaving/PotentialSavingContainer.js +14 -18
  468. package/lib/pages/WwtpPage/PredictionCard.js +2 -2
  469. package/lib/pages/WwtpPage/TrendCard.js +19 -18
  470. package/lib/pages/WwtpPage/UpgradeBox.js +2 -2
  471. package/lib/pages/WwtpPage/WwtpPage.js +7 -7
  472. package/lib/pages/WwtpPage/WwtpPageContainer.js +16 -21
  473. package/lib/providers/Slideshow/SlideshowContext.js +9 -11
  474. package/lib/providers/Slideshow/SlideshowProvider.js +38 -22
  475. package/lib/providers/Slideshow/SlideshowRunner.js +19 -17
  476. package/lib/providers/UrlHistory/UrlHistoryContext.js +4 -6
  477. package/lib/providers/UrlHistory/UrlHistoryProvider.js +11 -12
  478. package/lib/providers/UrlHistory/index.js +2 -2
  479. package/lib/providers/UrlHistory/useLastVisited.js +4 -4
  480. package/lib/store/ImportGis/actionTypes.js +1 -1
  481. package/lib/store/ImportGis/actionsCreator.js +5 -7
  482. package/lib/store/ImportGis/reducer.js +29 -40
  483. package/lib/store/WBE/actionTypes.js +2 -2
  484. package/lib/store/WBE/reducer.js +9 -13
  485. package/lib/store/WWTPDashboard/WWTPDashboardSlice.js +14 -24
  486. package/lib/store/areas/actionTypes.js +4 -4
  487. package/lib/store/areas/actions.js +13 -7
  488. package/lib/store/areas/reducer.js +6 -8
  489. package/lib/store/context/actionTypes.js +3 -3
  490. package/lib/store/context/actions.js +3 -3
  491. package/lib/store/context/contextMiddlewares.js +16 -14
  492. package/lib/store/context/reducer.js +9 -13
  493. package/lib/store/dashboard/dashboardSlice.js +10 -18
  494. package/lib/store/edges/actionTypes.js +5 -5
  495. package/lib/store/edges/actions.js +8 -4
  496. package/lib/store/edges/reducer.js +17 -13
  497. package/lib/store/events/actionTypes.js +17 -17
  498. package/lib/store/events/actions.js +7 -3
  499. package/lib/store/events/reducer.js +49 -42
  500. package/lib/store/global/actionTypes.js +11 -11
  501. package/lib/store/global/actions.js +6 -8
  502. package/lib/store/global/reducer.js +10 -11
  503. package/lib/store/permissions/permissionsSlice.js +8 -12
  504. package/lib/store/points/actionTypes.js +3 -3
  505. package/lib/store/points/actions.js +7 -3
  506. package/lib/store/points/reducer.js +5 -7
  507. package/lib/store/rootActionTypes.js +2 -2
  508. package/lib/store/rootReducer.js +12 -17
  509. package/lib/store/rootStore.js +5 -5
  510. package/lib/store/samplings/actionTypes.js +1 -1
  511. package/lib/store/samplings/reducer.js +14 -16
  512. package/lib/styles/StylesLayout.js +3 -5
  513. package/lib/styles/theme/theme.js +27 -26
  514. package/lib/test/mocks/browser.js +4 -2
  515. package/lib/test/test-utils.js +15 -17
  516. package/lib/ui-kit/Button/Button.js +79 -127
  517. package/lib/ui-kit/Button/Button.test.js +29 -24
  518. package/lib/ui-kit/Checkbox/Checkbox.js +20 -30
  519. package/lib/ui-kit/ContentCard/ContentCard.js +17 -14
  520. package/lib/ui-kit/Dashboard/Dashboard.js +19 -22
  521. package/lib/ui-kit/DropDown/DropDown.js +23 -22
  522. package/lib/ui-kit/DropDown/DropDown.test.js +12 -12
  523. package/lib/ui-kit/DropDown/DropDownItem.js +21 -24
  524. package/lib/ui-kit/DropDown/DropdownToggle.js +8 -12
  525. package/lib/ui-kit/EmptyState/EmptyState.js +3 -5
  526. package/lib/ui-kit/IconAction/IconAction.js +5 -7
  527. package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +62 -46
  528. package/lib/ui-kit/InfoTooltip/InfoTooltip.js +48 -57
  529. package/lib/ui-kit/InletsPie/InletsPie.js +13 -15
  530. package/lib/ui-kit/InletsPie/options.js +6 -6
  531. package/lib/ui-kit/KandoList/KandoList.js +12 -14
  532. package/lib/ui-kit/KandoTable/KandoTable.js +40 -48
  533. package/lib/ui-kit/KandoTable/KandoTable.test.js +22 -16
  534. package/lib/ui-kit/Layout/Layout.js +4 -6
  535. package/lib/ui-kit/MobileInput/MobileInput.js +49 -55
  536. package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +16 -13
  537. package/lib/ui-kit/OrganicEvents/GaugeChart.js +5 -7
  538. package/lib/ui-kit/OrganicEvents/OrganicEvents.js +6 -6
  539. package/lib/ui-kit/OrganicEvents/OrganicEventsContainer.js +20 -27
  540. package/lib/ui-kit/OrganicEvents/TextInfo.js +10 -15
  541. package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +8 -10
  542. package/lib/ui-kit/SamplingStatus/SamplingStatus.js +17 -14
  543. package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +3 -3
  544. package/lib/ui-kit/ScoreGauge/ScoreGauge.js +19 -19
  545. package/lib/ui-kit/ScoreGauge/constant.js +3 -3
  546. package/lib/ui-kit/TimeLineChart/TrendChart.js +42 -54
  547. package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +7 -8
  548. package/lib/ui-kit/Tooltip/Tooltip.js +8 -14
  549. package/lib/ui-kit/index.js +8 -8
  550. package/lib/ui-kit/kandoStepper/KandoStepper.js +11 -11
  551. package/lib/ui-kit/siteName/SiteName.js +8 -11
  552. package/lib/utilities/ActionUtility.js +7 -7
  553. package/lib/utilities/Alert.js +17 -21
  554. package/lib/utilities/Analytics.js +11 -11
  555. package/lib/utilities/Array.js +5 -4
  556. package/lib/utilities/Enum.js +51 -15
  557. package/lib/utilities/ErrorBoundary.js +41 -27
  558. package/lib/utilities/File.js +69 -40
  559. package/lib/utilities/GetDir.js +7 -8
  560. package/lib/utilities/KandoDate.js +15 -7
  561. package/lib/utilities/KandoModal.js +26 -16
  562. package/lib/utilities/LocalStorage.js +7 -5
  563. package/lib/utilities/ThousandsToK.js +2 -2
  564. package/lib/utilities/TimeFormat.js +20 -21
  565. package/lib/utilities/Truncate.js +24 -16
  566. package/lib/utilities/edgesMath.js +15 -14
  567. package/lib/utilities/i18n.js +3 -3
  568. package/lib/utilities/kql.js +12 -10
  569. package/lib/utilities/map/icons.js +3 -3
  570. package/lib/utilities/polylinedecorator.js +112 -87
  571. package/lib/utilities/scoreToData.js +10 -10
  572. package/lib/utilities/scoreToData.test.js +5 -5
  573. package/lib/utilities/time.js +8 -8
  574. package/lib/utilities/uploadToS3.js +11 -11
  575. package/lib/utilities/urls.js +14 -16
  576. package/package.json +1 -1
@@ -1,26 +1,25 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.AreaPolygons = void 0;
8
9
  var _react = _interopRequireWildcard(require("react"));
9
10
  var _AreaPolygon = _interopRequireDefault(require("./AreaPolygon"));
10
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
11
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
12
- const AreaPolygons = props => {
13
- const {
14
- L,
15
- areas,
16
- map,
17
- mapZoom,
18
- global_data,
19
- featureGroup
20
- } = props;
11
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
+ var AreaPolygons = function AreaPolygons(props) {
14
+ var L = props.L,
15
+ areas = props.areas,
16
+ map = props.map,
17
+ mapZoom = props.mapZoom,
18
+ global_data = props.global_data,
19
+ featureGroup = props.featureGroup;
21
20
  // const [shouldFly, setShouldFly] = useState(true);
22
21
 
23
- (0, _react.useEffect)(() => {
22
+ (0, _react.useEffect)(function () {
24
23
  featureGroup.addTo(map);
25
24
  }, []);
26
25
 
@@ -33,16 +32,18 @@ const AreaPolygons = props => {
33
32
  // }
34
33
  // }
35
34
 
36
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, areas.length !== 0 && areas.map(area => /*#__PURE__*/_react.default.createElement(_AreaPolygon.default, {
37
- area: area,
38
- map: map,
39
- L: L,
40
- key: area.area_id,
41
- mapZoom: mapZoom,
42
- global_data: global_data,
43
- bindPopup: true,
44
- featureGroup: featureGroup
45
- })));
35
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, areas.length !== 0 && areas.map(function (area) {
36
+ return /*#__PURE__*/_react.default.createElement(_AreaPolygon.default, {
37
+ area: area,
38
+ map: map,
39
+ L: L,
40
+ key: area.area_id,
41
+ mapZoom: mapZoom,
42
+ global_data: global_data,
43
+ bindPopup: true,
44
+ featureGroup: featureGroup
45
+ });
46
+ }));
46
47
  };
47
48
  exports.AreaPolygons = AreaPolygons;
48
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfQXJlYVBvbHlnb24iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIkFyZWFQb2x5Z29ucyIsInByb3BzIiwiTCIsImFyZWFzIiwibWFwIiwibWFwWm9vbSIsImdsb2JhbF9kYXRhIiwiZmVhdHVyZUdyb3VwIiwidXNlRWZmZWN0IiwiYWRkVG8iLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJsZW5ndGgiLCJhcmVhIiwiYXJlYV9pZCIsImJpbmRQb3B1cCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvYXJlYXMvQXJlYVBvbHlnb25zLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCBBcmVhUG9seWdvbiBmcm9tICcuL0FyZWFQb2x5Z29uJztcbmltcG9ydCB7IEZlYXR1cmVHcm91cCB9IGZyb20gJ2xlYWZsZXQnO1xuXG50eXBlIFByb3BzID0ge1xuICBtYXA6IGFueTtcbiAgTDogYW55O1xuICBhcmVhczogSUFyZWFbXTtcbiAgbWFwWm9vbTogbnVtYmVyO1xuICBhcmVhVG9DZW50ZXJCeT86IGFueTtcbiAgZ2xvYmFsX2RhdGE6IGFueTtcbiAgZmVhdHVyZUdyb3VwOiBGZWF0dXJlR3JvdXA7XG59O1xuXG5leHBvcnQgY29uc3QgQXJlYVBvbHlnb25zOiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBMLCBhcmVhcywgbWFwLCBtYXBab29tLCBnbG9iYWxfZGF0YSwgZmVhdHVyZUdyb3VwIH0gPSBwcm9wcztcbiAgLy8gY29uc3QgW3Nob3VsZEZseSwgc2V0U2hvdWxkRmx5XSA9IHVzZVN0YXRlKHRydWUpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZmVhdHVyZUdyb3VwLmFkZFRvKG1hcCk7XG4gIH0sIFtdKTtcblxuICAvLyBpZiAoc2hvdWxkRmx5KSB7XG4gIC8vICAgaWYgKGZlYXR1cmVHcm91cC5nZXRMYXllcnMoKS5sZW5ndGggPiAwICYmICFhcmVhVG9DZW50ZXJCeSkge1xuICAvLyAgICAgbWFwLmZpdEJvdW5kcyhmZWF0dXJlR3JvdXAuZ2V0Qm91bmRzKCksIHtcbiAgLy8gICAgICAgcGFkZGluZzogWzQyMCwgNDIwXSxcbiAgLy8gICAgIH0pO1xuICAvLyAgICAgc2V0U2hvdWxkRmx5KGZhbHNlKTtcbiAgLy8gICB9XG4gIC8vIH1cblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7YXJlYXMubGVuZ3RoICE9PSAwICYmXG4gICAgICAgIGFyZWFzLm1hcCgoYXJlYTogSUFyZWEpID0+IChcbiAgICAgICAgICA8QXJlYVBvbHlnb25cbiAgICAgICAgICAgIGFyZWE9e2FyZWF9XG4gICAgICAgICAgICBtYXA9e21hcH1cbiAgICAgICAgICAgIEw9e0x9XG4gICAgICAgICAgICBrZXk9e2FyZWEuYXJlYV9pZH1cbiAgICAgICAgICAgIG1hcFpvb209e21hcFpvb219XG4gICAgICAgICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICAgICAgICBiaW5kUG9wdXA9e3RydWV9XG4gICAgICAgICAgICBmZWF0dXJlR3JvdXA9e2ZlYXR1cmVHcm91cH1cbiAgICAgICAgICAvPlxuICAgICAgICApKX1cbiAgICA8Lz5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxZQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFBd0MsU0FBQUcseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLENBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQUwsd0JBQUFTLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxvQkFBQUEsR0FBQSx3QkFBQUEsR0FBQSw0QkFBQUUsT0FBQSxFQUFBRixHQUFBLFVBQUFHLEtBQUEsR0FBQVIsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBTyxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBSixHQUFBLFlBQUFHLEtBQUEsQ0FBQUUsR0FBQSxDQUFBTCxHQUFBLFNBQUFNLE1BQUEsV0FBQUMscUJBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsR0FBQSxJQUFBWCxHQUFBLFFBQUFXLEdBQUEsa0JBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWQsR0FBQSxFQUFBVyxHQUFBLFNBQUFJLElBQUEsR0FBQVIscUJBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBVixHQUFBLEVBQUFXLEdBQUEsY0FBQUksSUFBQSxLQUFBQSxJQUFBLENBQUFWLEdBQUEsSUFBQVUsSUFBQSxDQUFBQyxHQUFBLEtBQUFSLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSCxNQUFBLEVBQUFLLEdBQUEsRUFBQUksSUFBQSxZQUFBVCxNQUFBLENBQUFLLEdBQUEsSUFBQVgsR0FBQSxDQUFBVyxHQUFBLFNBQUFMLE1BQUEsQ0FBQUosT0FBQSxHQUFBRixHQUFBLE1BQUFHLEtBQUEsSUFBQUEsS0FBQSxDQUFBYSxHQUFBLENBQUFoQixHQUFBLEVBQUFNLE1BQUEsWUFBQUEsTUFBQTtBQWFqQyxNQUFNVyxZQUE2QixHQUFJQyxLQUFLLElBQUs7RUFDdEQsTUFBTTtJQUFFQyxDQUFDO0lBQUVDLEtBQUs7SUFBRUMsR0FBRztJQUFFQyxPQUFPO0lBQUVDLFdBQVc7SUFBRUM7RUFBYSxDQUFDLEdBQUdOLEtBQUs7RUFDbkU7O0VBRUEsSUFBQU8sZ0JBQVMsRUFBQyxNQUFNO0lBQ2RELFlBQVksQ0FBQ0UsS0FBSyxDQUFDTCxHQUFHLENBQUM7RUFDekIsQ0FBQyxFQUFFLEVBQUUsQ0FBQzs7RUFFTjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztFQUVBLG9CQUNFL0IsTUFBQSxDQUFBWSxPQUFBLENBQUF5QixhQUFBLENBQUFyQyxNQUFBLENBQUFZLE9BQUEsQ0FBQTBCLFFBQUEsUUFDR1IsS0FBSyxDQUFDUyxNQUFNLEtBQUssQ0FBQyxJQUNqQlQsS0FBSyxDQUFDQyxHQUFHLENBQUVTLElBQVcsaUJBQ3BCeEMsTUFBQSxDQUFBWSxPQUFBLENBQUF5QixhQUFBLENBQUNsQyxZQUFBLENBQUFTLE9BQVc7SUFDVjRCLElBQUksRUFBRUEsSUFBSztJQUNYVCxHQUFHLEVBQUVBLEdBQUk7SUFDVEYsQ0FBQyxFQUFFQSxDQUFFO0lBQ0xSLEdBQUcsRUFBRW1CLElBQUksQ0FBQ0MsT0FBUTtJQUNsQlQsT0FBTyxFQUFFQSxPQUFRO0lBQ2pCQyxXQUFXLEVBQUVBLFdBQVk7SUFDekJTLFNBQVMsRUFBRSxJQUFLO0lBQ2hCUixZQUFZLEVBQUVBO0VBQWEsQ0FDNUIsQ0FDRixDQUNILENBQUM7QUFFUCxDQUFDO0FBQUNTLE9BQUEsQ0FBQWhCLFlBQUEsR0FBQUEsWUFBQSJ9
49
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfQXJlYVBvbHlnb24iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJBcmVhUG9seWdvbnMiLCJwcm9wcyIsIkwiLCJhcmVhcyIsIm1hcCIsIm1hcFpvb20iLCJnbG9iYWxfZGF0YSIsImZlYXR1cmVHcm91cCIsInVzZUVmZmVjdCIsImFkZFRvIiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwibGVuZ3RoIiwiYXJlYSIsImFyZWFfaWQiLCJiaW5kUG9wdXAiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL2FyZWFzL0FyZWFQb2x5Z29ucy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgQXJlYVBvbHlnb24gZnJvbSAnLi9BcmVhUG9seWdvbic7XG5pbXBvcnQgeyBGZWF0dXJlR3JvdXAgfSBmcm9tICdsZWFmbGV0JztcblxudHlwZSBQcm9wcyA9IHtcbiAgbWFwOiBhbnk7XG4gIEw6IGFueTtcbiAgYXJlYXM6IElBcmVhW107XG4gIG1hcFpvb206IG51bWJlcjtcbiAgYXJlYVRvQ2VudGVyQnk/OiBhbnk7XG4gIGdsb2JhbF9kYXRhOiBhbnk7XG4gIGZlYXR1cmVHcm91cDogRmVhdHVyZUdyb3VwO1xufTtcblxuZXhwb3J0IGNvbnN0IEFyZWFQb2x5Z29uczogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgTCwgYXJlYXMsIG1hcCwgbWFwWm9vbSwgZ2xvYmFsX2RhdGEsIGZlYXR1cmVHcm91cCB9ID0gcHJvcHM7XG4gIC8vIGNvbnN0IFtzaG91bGRGbHksIHNldFNob3VsZEZseV0gPSB1c2VTdGF0ZSh0cnVlKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGZlYXR1cmVHcm91cC5hZGRUbyhtYXApO1xuICB9LCBbXSk7XG5cbiAgLy8gaWYgKHNob3VsZEZseSkge1xuICAvLyAgIGlmIChmZWF0dXJlR3JvdXAuZ2V0TGF5ZXJzKCkubGVuZ3RoID4gMCAmJiAhYXJlYVRvQ2VudGVyQnkpIHtcbiAgLy8gICAgIG1hcC5maXRCb3VuZHMoZmVhdHVyZUdyb3VwLmdldEJvdW5kcygpLCB7XG4gIC8vICAgICAgIHBhZGRpbmc6IFs0MjAsIDQyMF0sXG4gIC8vICAgICB9KTtcbiAgLy8gICAgIHNldFNob3VsZEZseShmYWxzZSk7XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge2FyZWFzLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgICBhcmVhcy5tYXAoKGFyZWE6IElBcmVhKSA9PiAoXG4gICAgICAgICAgPEFyZWFQb2x5Z29uXG4gICAgICAgICAgICBhcmVhPXthcmVhfVxuICAgICAgICAgICAgbWFwPXttYXB9XG4gICAgICAgICAgICBMPXtMfVxuICAgICAgICAgICAga2V5PXthcmVhLmFyZWFfaWR9XG4gICAgICAgICAgICBtYXBab29tPXttYXBab29tfVxuICAgICAgICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgICAgICAgYmluZFBvcHVwPXt0cnVlfVxuICAgICAgICAgICAgZmVhdHVyZUdyb3VwPXtmZWF0dXJlR3JvdXB9XG4gICAgICAgICAgLz5cbiAgICAgICAgKSl9XG4gICAgPC8+XG4gICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFlBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUF3QyxTQUFBRyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQUwsd0JBQUFTLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxhQUFBRSxPQUFBLENBQUFGLEdBQUEseUJBQUFBLEdBQUEsNEJBQUFHLE9BQUEsRUFBQUgsR0FBQSxVQUFBSSxLQUFBLEdBQUFULHdCQUFBLENBQUFDLFdBQUEsT0FBQVEsS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQUwsR0FBQSxZQUFBSSxLQUFBLENBQUFFLEdBQUEsQ0FBQU4sR0FBQSxTQUFBTyxNQUFBLFdBQUFDLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLEdBQUEsSUFBQVosR0FBQSxRQUFBWSxHQUFBLGtCQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFmLEdBQUEsRUFBQVksR0FBQSxTQUFBSSxJQUFBLEdBQUFSLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQVgsR0FBQSxFQUFBWSxHQUFBLGNBQUFJLElBQUEsS0FBQUEsSUFBQSxDQUFBVixHQUFBLElBQUFVLElBQUEsQ0FBQUMsR0FBQSxLQUFBUixNQUFBLENBQUFDLGNBQUEsQ0FBQUgsTUFBQSxFQUFBSyxHQUFBLEVBQUFJLElBQUEsWUFBQVQsTUFBQSxDQUFBSyxHQUFBLElBQUFaLEdBQUEsQ0FBQVksR0FBQSxTQUFBTCxNQUFBLENBQUFKLE9BQUEsR0FBQUgsR0FBQSxNQUFBSSxLQUFBLElBQUFBLEtBQUEsQ0FBQWEsR0FBQSxDQUFBakIsR0FBQSxFQUFBTyxNQUFBLFlBQUFBLE1BQUE7QUFhakMsSUFBTVcsWUFBNkIsR0FBRyxTQUFoQ0EsWUFBNkJBLENBQUlDLEtBQUssRUFBSztFQUN0RCxJQUFRQyxDQUFDLEdBQXFERCxLQUFLLENBQTNEQyxDQUFDO0lBQUVDLEtBQUssR0FBOENGLEtBQUssQ0FBeERFLEtBQUs7SUFBRUMsR0FBRyxHQUF5Q0gsS0FBSyxDQUFqREcsR0FBRztJQUFFQyxPQUFPLEdBQWdDSixLQUFLLENBQTVDSSxPQUFPO0lBQUVDLFdBQVcsR0FBbUJMLEtBQUssQ0FBbkNLLFdBQVc7SUFBRUMsWUFBWSxHQUFLTixLQUFLLENBQXRCTSxZQUFZO0VBQ3pEOztFQUVBLElBQUFDLGdCQUFTLEVBQUMsWUFBTTtJQUNkRCxZQUFZLENBQUNFLEtBQUssQ0FBQ0wsR0FBRyxDQUFDO0VBQ3pCLENBQUMsRUFBRSxFQUFFLENBQUM7O0VBRU47RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7RUFFQSxvQkFDRWhDLE1BQUEsQ0FBQWEsT0FBQSxDQUFBeUIsYUFBQSxDQUFBdEMsTUFBQSxDQUFBYSxPQUFBLENBQUEwQixRQUFBLFFBQ0dSLEtBQUssQ0FBQ1MsTUFBTSxLQUFLLENBQUMsSUFDakJULEtBQUssQ0FBQ0MsR0FBRyxDQUFDLFVBQUNTLElBQVc7SUFBQSxvQkFDcEJ6QyxNQUFBLENBQUFhLE9BQUEsQ0FBQXlCLGFBQUEsQ0FBQ25DLFlBQUEsQ0FBQVUsT0FBVztNQUNWNEIsSUFBSSxFQUFFQSxJQUFLO01BQ1hULEdBQUcsRUFBRUEsR0FBSTtNQUNURixDQUFDLEVBQUVBLENBQUU7TUFDTFIsR0FBRyxFQUFFbUIsSUFBSSxDQUFDQyxPQUFRO01BQ2xCVCxPQUFPLEVBQUVBLE9BQVE7TUFDakJDLFdBQVcsRUFBRUEsV0FBWTtNQUN6QlMsU0FBUyxFQUFFLElBQUs7TUFDaEJSLFlBQVksRUFBRUE7SUFBYSxDQUM1QixDQUFDO0VBQUEsQ0FDSCxDQUNILENBQUM7QUFFUCxDQUFDO0FBQUNTLE9BQUEsQ0FBQWhCLFlBQUEsR0FBQUEsWUFBQSJ9
@@ -10,23 +10,23 @@ require("leaflet.pattern");
10
10
  var _scoreToData = require("../../../utilities/scoreToData");
11
11
  var _theme = require("../../../styles/theme/theme");
12
12
  var _Patterns = require("./Patterns");
13
- const getAreaName = area => {
14
- let name = area.area_name || area.name;
13
+ var getAreaName = function getAreaName(area) {
14
+ var name = area.area_name || area.name;
15
15
  return name;
16
16
  };
17
- const getAreaId = area => {
18
- let name = area.area_id || area.id;
17
+ var getAreaId = function getAreaId(area) {
18
+ var name = area.area_id || area.id;
19
19
  return name;
20
20
  };
21
- const genericPolygon = (area, mapZoom) => {
22
- let areaPolygon;
23
- let latlngs = area.shape_data.map(location => {
21
+ var genericPolygon = function genericPolygon(area, mapZoom) {
22
+ var areaPolygon;
23
+ var latlngs = area.shape_data.map(function (location) {
24
24
  return [location['lat'], location['lng']];
25
25
  });
26
26
  if (latlngs.length < 1) return;
27
- let color = area.color ? area.color : (0, _scoreToData.scoreToColor)(area.area_score);
27
+ var color = area.color ? area.color : (0, _scoreToData.scoreToColor)(area.area_score);
28
28
  areaPolygon = _leaflet.default.polygon(latlngs, {
29
- color,
29
+ color: color,
30
30
  fillOpacity: area.showColorOnlyInBorders ? 0.3 : 0.4,
31
31
  weight: area.showColorOnlyInBorders ? 2 : 0,
32
32
  fill: false
@@ -34,25 +34,25 @@ const genericPolygon = (area, mapZoom) => {
34
34
  return areaPolygon;
35
35
  };
36
36
  exports.genericPolygon = genericPolygon;
37
- const calculatePolygonArea = coordinates => {
38
- let area = 0;
39
- let numPoints = coordinates.length;
40
- for (let i = 0; i < numPoints; i++) {
41
- let x1 = coordinates[i][0];
42
- let y1 = coordinates[i][1];
43
- let x2 = coordinates[(i + 1) % numPoints][0];
44
- let y2 = coordinates[(i + 1) % numPoints][1];
37
+ var calculatePolygonArea = function calculatePolygonArea(coordinates) {
38
+ var area = 0;
39
+ var numPoints = coordinates.length;
40
+ for (var i = 0; i < numPoints; i++) {
41
+ var x1 = coordinates[i][0];
42
+ var y1 = coordinates[i][1];
43
+ var x2 = coordinates[(i + 1) % numPoints][0];
44
+ var y2 = coordinates[(i + 1) % numPoints][1];
45
45
  area += x1 * y2 - x2 * y1;
46
46
  }
47
47
  return Math.abs(area / 2);
48
48
  };
49
49
  exports.calculatePolygonArea = calculatePolygonArea;
50
- const polygonTitle = (area, mapZoom) => {
50
+ var polygonTitle = function polygonTitle(area, mapZoom) {
51
51
  return "<div class=\"area-tooltip\" style=\"color:".concat(_theme.theme.colorScheme.primary.ps1, ";font-weight:700;background-color:transparent;font-size: ").concat(mapZoom * 1.5, "px;-webkit-text-stroke: 0.8px #ffffff;\"> ").concat(getAreaName(area), " \n </div>");
52
52
  };
53
- const bindTooltip = (layer, area) => {
54
- const mapZoom = layer._map !== undefined ? layer._map.getZoom() : 0;
55
- const title = polygonTitle(area, mapZoom);
53
+ var bindTooltip = function bindTooltip(layer, area) {
54
+ var mapZoom = layer._map !== undefined ? layer._map.getZoom() : 0;
55
+ var title = polygonTitle(area, mapZoom);
56
56
  layer.bindTooltip(title, {
57
57
  className: 'area-tooltip',
58
58
  permanent: true,
@@ -62,9 +62,9 @@ const bindTooltip = (layer, area) => {
62
62
  };
63
63
 
64
64
  // The tooltip is showing the area name
65
- const handleToltipBasedOnZoomLevel = (polygon, mapZoom) => {
65
+ var handleToltipBasedOnZoomLevel = function handleToltipBasedOnZoomLevel(polygon, mapZoom) {
66
66
  if (mapZoom > 11) {
67
- const tooltip = polygon.getTooltip();
67
+ var tooltip = polygon.getTooltip();
68
68
  tooltip.setContent(polygonTitle(polygon, mapZoom));
69
69
  polygon.openTooltip();
70
70
  } else {
@@ -72,11 +72,11 @@ const handleToltipBasedOnZoomLevel = (polygon, mapZoom) => {
72
72
  }
73
73
  };
74
74
  exports.handleToltipBasedOnZoomLevel = handleToltipBasedOnZoomLevel;
75
- const drillDownBasedOnZoomLevel = (areaPolygon, area, percentage, zoomPercentageToDrillDown, isPartialPolygonVisible, map, featureGroup) => {
76
- const drillDownCondition = () => {
75
+ var drillDownBasedOnZoomLevel = function drillDownBasedOnZoomLevel(areaPolygon, area, percentage, zoomPercentageToDrillDown, isPartialPolygonVisible, map, featureGroup) {
76
+ var drillDownCondition = function drillDownCondition() {
77
77
  return percentage >= zoomPercentageToDrillDown && isPartialPolygonVisible && area.sub_areas.length !== 0 && areaPolygon._map !== null;
78
78
  };
79
- const hidePolygon = polygon => {
79
+ var hidePolygon = function hidePolygon(polygon) {
80
80
  polygon.bringToBack();
81
81
  polygon.closeTooltip();
82
82
  polygon['hidden'] = true;
@@ -85,7 +85,7 @@ const drillDownBasedOnZoomLevel = (areaPolygon, area, percentage, zoomPercentage
85
85
  fill: false
86
86
  });
87
87
  };
88
- const showPolygon = (polygon, fill) => {
88
+ var showPolygon = function showPolygon(polygon, fill) {
89
89
  polygon.bringToFront();
90
90
  polygon['hidden'] = false;
91
91
  polygon.setStyle({
@@ -97,10 +97,10 @@ const drillDownBasedOnZoomLevel = (areaPolygon, area, percentage, zoomPercentage
97
97
  fillOpacity: 0.4
98
98
  });
99
99
  };
100
- const handleSubAreas = show => {
100
+ var handleSubAreas = function handleSubAreas(show) {
101
101
  if (areaPolygon['sub_areas'] !== undefined) {
102
- areaPolygon['sub_areas'].forEach(subAreaId => {
103
- featureGroup.eachLayer(layer => {
102
+ areaPolygon['sub_areas'].forEach(function (subAreaId) {
103
+ featureGroup.eachLayer(function (layer) {
104
104
  if (layer['kando_object_id'] === subAreaId) {
105
105
  show ? showPolygon(layer, true) : hidePolygon(layer);
106
106
  }
@@ -123,32 +123,32 @@ const drillDownBasedOnZoomLevel = (areaPolygon, area, percentage, zoomPercentage
123
123
  }
124
124
  }
125
125
  };
126
- const zoomControlForArea = (areaPolygon, area, map, featureGroup) => {
126
+ var zoomControlForArea = function zoomControlForArea(areaPolygon, area, map, featureGroup) {
127
127
  map.on('zoomend', function () {
128
- let getMapBounds = map.getBounds();
129
- let polygonBounds = areaPolygon.getBounds();
130
- let isPartialPolygonVisible = getMapBounds.intersects(polygonBounds);
131
- let mapBoundsPolygon = _leaflet.default.polygon([getMapBounds.getSouthWest(), getMapBounds.getNorthWest(), getMapBounds.getNorthEast(), getMapBounds.getSouthEast()]);
132
- let mapBounds = calculatePolygonArea(mapBoundsPolygon.toGeoJSON().geometry.coordinates[0]);
133
- let areaSurface = areaPolygon['calculated_surface'];
134
- const zoomPercentageToDrillDown = 15.0;
135
- const percentage = areaSurface / mapBounds * 100;
128
+ var getMapBounds = map.getBounds();
129
+ var polygonBounds = areaPolygon.getBounds();
130
+ var isPartialPolygonVisible = getMapBounds.intersects(polygonBounds);
131
+ var mapBoundsPolygon = _leaflet.default.polygon([getMapBounds.getSouthWest(), getMapBounds.getNorthWest(), getMapBounds.getNorthEast(), getMapBounds.getSouthEast()]);
132
+ var mapBounds = calculatePolygonArea(mapBoundsPolygon.toGeoJSON().geometry.coordinates[0]);
133
+ var areaSurface = areaPolygon['calculated_surface'];
134
+ var zoomPercentageToDrillDown = 15.0;
135
+ var percentage = areaSurface / mapBounds * 100;
136
136
  drillDownBasedOnZoomLevel(areaPolygon, area, percentage, zoomPercentageToDrillDown, isPartialPolygonVisible, map, featureGroup);
137
137
  });
138
138
  };
139
139
  exports.zoomControlForArea = zoomControlForArea;
140
- const customAttributesForAreaPolygon = (areaPolygon, area) => {
140
+ var customAttributesForAreaPolygon = function customAttributesForAreaPolygon(areaPolygon, area) {
141
141
  areaPolygon['kando_object_id'] = getAreaId(area);
142
142
  areaPolygon['kando_object'] = 'Area';
143
143
  areaPolygon['area_name'] = getAreaName(area);
144
144
  areaPolygon['calculated_surface'] = area.calculated_surface;
145
145
  };
146
- const createPolygon = (area, mapZoom, featureGroup, map, popupCreator) => {
147
- let polygon;
146
+ var createPolygon = function createPolygon(area, mapZoom, featureGroup, map, popupCreator) {
147
+ var polygon;
148
148
  if (area.shape_data !== null && area.shape_data !== undefined && area.shape_data.length > 0) {
149
149
  polygon = genericPolygon(area, mapZoom);
150
150
  customAttributesForAreaPolygon(polygon, area);
151
- const pattern = getPattern(area);
151
+ var pattern = getPattern(area);
152
152
  if (pattern) {
153
153
  pattern === null || pattern === void 0 ? void 0 : pattern.addTo(map);
154
154
  polygon.setStyle({
@@ -165,11 +165,11 @@ const createPolygon = (area, mapZoom, featureGroup, map, popupCreator) => {
165
165
  return null;
166
166
  };
167
167
  exports.createPolygon = createPolygon;
168
- const getPattern = area => {
168
+ var getPattern = function getPattern(area) {
169
169
  if (area.is_assessment === false) {
170
170
  return null;
171
171
  }
172
- const color = (0, _scoreToData.scoreToColor)(area.area_score);
172
+ var color = (0, _scoreToData.scoreToColor)(area.area_score);
173
173
  return (0, _Patterns.assesmentPattern)(color);
174
174
  };
175
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3Njb3JlVG9EYXRhIiwiX3RoZW1lIiwiX1BhdHRlcm5zIiwiZ2V0QXJlYU5hbWUiLCJhcmVhIiwibmFtZSIsImFyZWFfbmFtZSIsImdldEFyZWFJZCIsImFyZWFfaWQiLCJpZCIsImdlbmVyaWNQb2x5Z29uIiwibWFwWm9vbSIsImFyZWFQb2x5Z29uIiwibGF0bG5ncyIsInNoYXBlX2RhdGEiLCJtYXAiLCJsb2NhdGlvbiIsImxlbmd0aCIsImNvbG9yIiwic2NvcmVUb0NvbG9yIiwiYXJlYV9zY29yZSIsIkwiLCJwb2x5Z29uIiwiZmlsbE9wYWNpdHkiLCJzaG93Q29sb3JPbmx5SW5Cb3JkZXJzIiwid2VpZ2h0IiwiZmlsbCIsImV4cG9ydHMiLCJjYWxjdWxhdGVQb2x5Z29uQXJlYSIsImNvb3JkaW5hdGVzIiwibnVtUG9pbnRzIiwiaSIsIngxIiwieTEiLCJ4MiIsInkyIiwiTWF0aCIsImFicyIsInBvbHlnb25UaXRsZSIsImNvbmNhdCIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJwcmltYXJ5IiwicHMxIiwiYmluZFRvb2x0aXAiLCJsYXllciIsIl9tYXAiLCJ1bmRlZmluZWQiLCJnZXRab29tIiwidGl0bGUiLCJjbGFzc05hbWUiLCJwZXJtYW5lbnQiLCJkaXJlY3Rpb24iLCJoYW5kbGVUb2x0aXBCYXNlZE9uWm9vbUxldmVsIiwidG9vbHRpcCIsImdldFRvb2x0aXAiLCJzZXRDb250ZW50Iiwib3BlblRvb2x0aXAiLCJjbG9zZVRvb2x0aXAiLCJkcmlsbERvd25CYXNlZE9uWm9vbUxldmVsIiwicGVyY2VudGFnZSIsInpvb21QZXJjZW50YWdlVG9EcmlsbERvd24iLCJpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSIsImZlYXR1cmVHcm91cCIsImRyaWxsRG93bkNvbmRpdGlvbiIsInN1Yl9hcmVhcyIsImhpZGVQb2x5Z29uIiwiYnJpbmdUb0JhY2siLCJzZXRTdHlsZSIsInN0cm9rZSIsInNob3dQb2x5Z29uIiwiYnJpbmdUb0Zyb250Iiwib3BhY2l0eSIsImhhbmRsZVN1YkFyZWFzIiwic2hvdyIsImZvckVhY2giLCJzdWJBcmVhSWQiLCJlYWNoTGF5ZXIiLCJ6b29tQ29udHJvbEZvckFyZWEiLCJvbiIsImdldE1hcEJvdW5kcyIsImdldEJvdW5kcyIsInBvbHlnb25Cb3VuZHMiLCJpbnRlcnNlY3RzIiwibWFwQm91bmRzUG9seWdvbiIsImdldFNvdXRoV2VzdCIsImdldE5vcnRoV2VzdCIsImdldE5vcnRoRWFzdCIsImdldFNvdXRoRWFzdCIsIm1hcEJvdW5kcyIsInRvR2VvSlNPTiIsImdlb21ldHJ5IiwiYXJlYVN1cmZhY2UiLCJjdXN0b21BdHRyaWJ1dGVzRm9yQXJlYVBvbHlnb24iLCJjYWxjdWxhdGVkX3N1cmZhY2UiLCJjcmVhdGVQb2x5Z29uIiwicG9wdXBDcmVhdG9yIiwicGF0dGVybiIsImdldFBhdHRlcm4iLCJhZGRUbyIsImZpbGxQYXR0ZXJuIiwiaXNfYXNzZXNzbWVudCIsImFzc2VzbWVudFBhdHRlcm4iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvYXJlYXMvQXJlYVV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMLCB7IEZlYXR1cmVHcm91cCwgUG9seWdvbiB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0ICdsZWFmbGV0LnBhdHRlcm4nO1xuaW1wb3J0IHsgc2NvcmVUb0NvbG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL3Njb3JlVG9EYXRhJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcbmltcG9ydCB7IGFzc2VzbWVudFBhdHRlcm4gfSBmcm9tICcuL1BhdHRlcm5zJztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5cbmNvbnN0IGdldEFyZWFOYW1lID0gKGFyZWEpID0+IHtcbiAgbGV0IG5hbWUgPSBhcmVhLmFyZWFfbmFtZSB8fCBhcmVhLm5hbWU7XG5cbiAgcmV0dXJuIG5hbWU7XG59O1xuXG5jb25zdCBnZXRBcmVhSWQgPSAoYXJlYSkgPT4ge1xuICBsZXQgbmFtZSA9IGFyZWEuYXJlYV9pZCB8fCBhcmVhLmlkO1xuXG4gIHJldHVybiBuYW1lO1xufTtcblxuZXhwb3J0IGNvbnN0IGdlbmVyaWNQb2x5Z29uID0gKGFyZWEsIG1hcFpvb20pID0+IHtcbiAgbGV0IGFyZWFQb2x5Z29uOiBQb2x5Z29uO1xuICBsZXQgbGF0bG5ncyA9IGFyZWEuc2hhcGVfZGF0YS5tYXAoKGxvY2F0aW9uOiBhbnkpID0+IHtcbiAgICByZXR1cm4gW2xvY2F0aW9uWydsYXQnXSwgbG9jYXRpb25bJ2xuZyddXTtcbiAgfSk7XG5cbiAgaWYgKGxhdGxuZ3MubGVuZ3RoIDwgMSkgcmV0dXJuO1xuXG4gIGxldCBjb2xvciA9IGFyZWEuY29sb3IgPyBhcmVhLmNvbG9yIDogc2NvcmVUb0NvbG9yKGFyZWEuYXJlYV9zY29yZSk7XG5cbiAgYXJlYVBvbHlnb24gPSBMLnBvbHlnb24obGF0bG5ncywge1xuICAgIGNvbG9yLFxuICAgIGZpbGxPcGFjaXR5OiBhcmVhLnNob3dDb2xvck9ubHlJbkJvcmRlcnMgPyAwLjMgOiAwLjQsXG4gICAgd2VpZ2h0OiBhcmVhLnNob3dDb2xvck9ubHlJbkJvcmRlcnMgPyAyIDogMCxcbiAgICBmaWxsOiBmYWxzZSxcbiAgfSk7XG5cbiAgcmV0dXJuIGFyZWFQb2x5Z29uO1xufTtcblxuZXhwb3J0IGNvbnN0IGNhbGN1bGF0ZVBvbHlnb25BcmVhID0gKGNvb3JkaW5hdGVzKSA9PiB7XG4gIGxldCBhcmVhID0gMDtcbiAgbGV0IG51bVBvaW50cyA9IGNvb3JkaW5hdGVzLmxlbmd0aDtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IG51bVBvaW50czsgaSsrKSB7XG4gICAgbGV0IHgxID0gY29vcmRpbmF0ZXNbaV1bMF07XG4gICAgbGV0IHkxID0gY29vcmRpbmF0ZXNbaV1bMV07XG4gICAgbGV0IHgyID0gY29vcmRpbmF0ZXNbKGkgKyAxKSAlIG51bVBvaW50c11bMF07XG4gICAgbGV0IHkyID0gY29vcmRpbmF0ZXNbKGkgKyAxKSAlIG51bVBvaW50c11bMV07XG5cbiAgICBhcmVhICs9IHgxICogeTIgLSB4MiAqIHkxO1xuICB9XG5cbiAgcmV0dXJuIE1hdGguYWJzKGFyZWEgLyAyKTtcbn07XG5cbmNvbnN0IHBvbHlnb25UaXRsZSA9IChhcmVhLCBtYXBab29tKSA9PiB7XG4gIHJldHVybiBgPGRpdiBjbGFzcz1cImFyZWEtdG9vbHRpcFwiIHN0eWxlPVwiY29sb3I6JHtcbiAgICB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnBzMVxuICB9O2ZvbnQtd2VpZ2h0OjcwMDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZTogJHtcbiAgICBtYXBab29tICogMS41XG4gIH1weDstd2Via2l0LXRleHQtc3Ryb2tlOiAwLjhweCAjZmZmZmZmO1wiPiAke2dldEFyZWFOYW1lKGFyZWEpfSBcbiAgICAgICAgPC9kaXY+YDtcbn07XG5cbmNvbnN0IGJpbmRUb29sdGlwID0gKGxheWVyLCBhcmVhKSA9PiB7XG4gIGNvbnN0IG1hcFpvb20gPSBsYXllci5fbWFwICE9PSB1bmRlZmluZWQgPyBsYXllci5fbWFwLmdldFpvb20oKSA6IDA7XG4gIGNvbnN0IHRpdGxlID0gcG9seWdvblRpdGxlKGFyZWEsIG1hcFpvb20pO1xuICBsYXllci5iaW5kVG9vbHRpcCh0aXRsZSwge1xuICAgIGNsYXNzTmFtZTogJ2FyZWEtdG9vbHRpcCcsXG4gICAgcGVybWFuZW50OiB0cnVlLFxuICAgIGRpcmVjdGlvbjogJ2NlbnRlcicsXG4gIH0pO1xuICBoYW5kbGVUb2x0aXBCYXNlZE9uWm9vbUxldmVsKGxheWVyLCBtYXBab29tKTtcbn07XG5cbi8vIFRoZSB0b29sdGlwIGlzIHNob3dpbmcgdGhlIGFyZWEgbmFtZVxuZXhwb3J0IGNvbnN0IGhhbmRsZVRvbHRpcEJhc2VkT25ab29tTGV2ZWwgPSAocG9seWdvbiwgbWFwWm9vbSkgPT4ge1xuICBpZiAobWFwWm9vbSA+IDExKSB7XG4gICAgY29uc3QgdG9vbHRpcCA9IHBvbHlnb24uZ2V0VG9vbHRpcCgpO1xuICAgIHRvb2x0aXAuc2V0Q29udGVudChwb2x5Z29uVGl0bGUocG9seWdvbiwgbWFwWm9vbSkpO1xuICAgIHBvbHlnb24ub3BlblRvb2x0aXAoKTtcbiAgfSBlbHNlIHtcbiAgICBwb2x5Z29uLmNsb3NlVG9vbHRpcCgpO1xuICB9XG59O1xuXG5jb25zdCBkcmlsbERvd25CYXNlZE9uWm9vbUxldmVsID0gKFxuICBhcmVhUG9seWdvbixcbiAgYXJlYSxcbiAgcGVyY2VudGFnZSxcbiAgem9vbVBlcmNlbnRhZ2VUb0RyaWxsRG93bixcbiAgaXNQYXJ0aWFsUG9seWdvblZpc2libGUsXG4gIG1hcCxcbiAgZmVhdHVyZUdyb3VwLFxuKSA9PiB7XG4gIGNvbnN0IGRyaWxsRG93bkNvbmRpdGlvbiA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgcGVyY2VudGFnZSA+PSB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duICYmXG4gICAgICBpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSAmJlxuICAgICAgYXJlYS5zdWJfYXJlYXMubGVuZ3RoICE9PSAwICYmXG4gICAgICBhcmVhUG9seWdvbi5fbWFwICE9PSBudWxsXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBoaWRlUG9seWdvbiA9IChwb2x5Z29uOiBQb2x5Z29uKSA9PiB7XG4gICAgcG9seWdvbi5icmluZ1RvQmFjaygpO1xuICAgIHBvbHlnb24uY2xvc2VUb29sdGlwKCk7XG4gICAgcG9seWdvblsnaGlkZGVuJ10gPSB0cnVlO1xuICAgIHBvbHlnb24uc2V0U3R5bGUoe1xuICAgICAgc3Ryb2tlOiBmYWxzZSxcbiAgICAgIGZpbGw6IGZhbHNlLFxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IHNob3dQb2x5Z29uID0gKHBvbHlnb246IFBvbHlnb24sIGZpbGw6IGJvb2xlYW4pID0+IHtcbiAgICBwb2x5Z29uLmJyaW5nVG9Gcm9udCgpO1xuICAgIHBvbHlnb25bJ2hpZGRlbiddID0gZmFsc2U7XG4gICAgcG9seWdvbi5zZXRTdHlsZSh7XG4gICAgICAvL3N0cm9rZTogZmlsbCA/IGZhbHNlIDogdHJ1ZSxcbiAgICAgIHN0cm9rZTogdHJ1ZSxcbiAgICAgIG9wYWNpdHk6IDAuNCxcbiAgICAgIHdlaWdodDogMixcbiAgICAgIGZpbGw6IGZpbGwsXG4gICAgICBmaWxsT3BhY2l0eTogMC40LFxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVN1YkFyZWFzID0gKHNob3c6IGJvb2xlYW4pID0+IHtcbiAgICBpZiAoYXJlYVBvbHlnb25bJ3N1Yl9hcmVhcyddICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGFyZWFQb2x5Z29uWydzdWJfYXJlYXMnXS5mb3JFYWNoKChzdWJBcmVhSWQpID0+IHtcbiAgICAgICAgZmVhdHVyZUdyb3VwLmVhY2hMYXllcigobGF5ZXIpID0+IHtcbiAgICAgICAgICBpZiAobGF5ZXJbJ2thbmRvX29iamVjdF9pZCddID09PSBzdWJBcmVhSWQpIHtcbiAgICAgICAgICAgIHNob3cgPyBzaG93UG9seWdvbihsYXllciwgdHJ1ZSkgOiBoaWRlUG9seWdvbihsYXllcik7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICAvLyBTaG93IHRoZSBhcmVhIHdpdGggYm9yZGVyIG9ubHlcbiAgLy8gT3IgYmFja2dyb3VuZCBjb2xvclxuICBpZiAoZHJpbGxEb3duQ29uZGl0aW9uKCkpIHtcbiAgICBzaG93UG9seWdvbihhcmVhUG9seWdvbiwgZmFsc2UpO1xuICAgIGFyZWFQb2x5Z29uLmNsb3NlVG9vbHRpcCgpO1xuICAgIGhhbmRsZVN1YkFyZWFzKHRydWUpO1xuICB9IGVsc2Uge1xuICAgIGhhbmRsZVN1YkFyZWFzKGZhbHNlKTtcblxuICAgIGlmICghYXJlYVBvbHlnb25bJ2hpZGRlbiddKSB7XG4gICAgICBzaG93UG9seWdvbihhcmVhUG9seWdvbiwgdHJ1ZSk7XG4gICAgICBoYW5kbGVUb2x0aXBCYXNlZE9uWm9vbUxldmVsKGFyZWFQb2x5Z29uLCBtYXAuZ2V0Wm9vbSgpKTtcbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB6b29tQ29udHJvbEZvckFyZWEgPSAoYXJlYVBvbHlnb24sIGFyZWEsIG1hcCwgZmVhdHVyZUdyb3VwKSA9PiB7XG4gIG1hcC5vbignem9vbWVuZCcsIGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgZ2V0TWFwQm91bmRzID0gbWFwLmdldEJvdW5kcygpO1xuICAgIGxldCBwb2x5Z29uQm91bmRzID0gYXJlYVBvbHlnb24uZ2V0Qm91bmRzKCk7XG4gICAgbGV0IGlzUGFydGlhbFBvbHlnb25WaXNpYmxlID0gZ2V0TWFwQm91bmRzLmludGVyc2VjdHMocG9seWdvbkJvdW5kcyk7XG4gICAgbGV0IG1hcEJvdW5kc1BvbHlnb24gPSBMLnBvbHlnb24oW1xuICAgICAgZ2V0TWFwQm91bmRzLmdldFNvdXRoV2VzdCgpLFxuICAgICAgZ2V0TWFwQm91bmRzLmdldE5vcnRoV2VzdCgpLFxuICAgICAgZ2V0TWFwQm91bmRzLmdldE5vcnRoRWFzdCgpLFxuICAgICAgZ2V0TWFwQm91bmRzLmdldFNvdXRoRWFzdCgpLFxuICAgIF0pO1xuXG4gICAgbGV0IG1hcEJvdW5kcyA9IGNhbGN1bGF0ZVBvbHlnb25BcmVhKFxuICAgICAgbWFwQm91bmRzUG9seWdvbi50b0dlb0pTT04oKS5nZW9tZXRyeS5jb29yZGluYXRlc1swXSxcbiAgICApO1xuXG4gICAgbGV0IGFyZWFTdXJmYWNlID0gYXJlYVBvbHlnb25bJ2NhbGN1bGF0ZWRfc3VyZmFjZSddO1xuICAgIGNvbnN0IHpvb21QZXJjZW50YWdlVG9EcmlsbERvd24gPSAxNS4wO1xuICAgIGNvbnN0IHBlcmNlbnRhZ2UgPSAoYXJlYVN1cmZhY2UgLyBtYXBCb3VuZHMpICogMTAwO1xuXG4gICAgZHJpbGxEb3duQmFzZWRPblpvb21MZXZlbChcbiAgICAgIGFyZWFQb2x5Z29uLFxuICAgICAgYXJlYSxcbiAgICAgIHBlcmNlbnRhZ2UsXG4gICAgICB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duLFxuICAgICAgaXNQYXJ0aWFsUG9seWdvblZpc2libGUsXG4gICAgICBtYXAsXG4gICAgICBmZWF0dXJlR3JvdXAsXG4gICAgKTtcbiAgfSk7XG59O1xuXG5jb25zdCBjdXN0b21BdHRyaWJ1dGVzRm9yQXJlYVBvbHlnb24gPSAoYXJlYVBvbHlnb24sIGFyZWEpID0+IHtcbiAgYXJlYVBvbHlnb25bJ2thbmRvX29iamVjdF9pZCddID0gZ2V0QXJlYUlkKGFyZWEpO1xuICBhcmVhUG9seWdvblsna2FuZG9fb2JqZWN0J10gPSAnQXJlYSc7XG4gIGFyZWFQb2x5Z29uWydhcmVhX25hbWUnXSA9IGdldEFyZWFOYW1lKGFyZWEpO1xuICBhcmVhUG9seWdvblsnY2FsY3VsYXRlZF9zdXJmYWNlJ10gPSBhcmVhLmNhbGN1bGF0ZWRfc3VyZmFjZTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVQb2x5Z29uID0gKFxuICBhcmVhLFxuICBtYXBab29tLFxuICBmZWF0dXJlR3JvdXA6IEZlYXR1cmVHcm91cCxcbiAgbWFwLFxuICBwb3B1cENyZWF0b3I/OiAocG9seWdvbjogUG9seWdvbiwgYXJlYTogSUFyZWEpID0+IHZvaWQsXG4pID0+IHtcbiAgbGV0IHBvbHlnb246IFBvbHlnb247XG4gIGlmIChcbiAgICBhcmVhLnNoYXBlX2RhdGEgIT09IG51bGwgJiZcbiAgICBhcmVhLnNoYXBlX2RhdGEgIT09IHVuZGVmaW5lZCAmJlxuICAgIGFyZWEuc2hhcGVfZGF0YS5sZW5ndGggPiAwXG4gICkge1xuICAgIHBvbHlnb24gPSBnZW5lcmljUG9seWdvbihhcmVhLCBtYXBab29tKTtcblxuICAgIGN1c3RvbUF0dHJpYnV0ZXNGb3JBcmVhUG9seWdvbihwb2x5Z29uLCBhcmVhKTtcbiAgICBjb25zdCBwYXR0ZXJuID0gZ2V0UGF0dGVybihhcmVhKTtcbiAgICBpZiAocGF0dGVybikge1xuICAgICAgcGF0dGVybj8uYWRkVG8obWFwKTtcbiAgICAgIHBvbHlnb24uc2V0U3R5bGUoe1xuICAgICAgICBmaWxsUGF0dGVybjogcGF0dGVybixcbiAgICAgICAgY29sb3I6IHNjb3JlVG9Db2xvcihhcmVhLmFyZWFfc2NvcmUpLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHBvbHlnb24uYWRkVG8oZmVhdHVyZUdyb3VwKTtcbiAgICBwb3B1cENyZWF0b3IgJiYgcG9wdXBDcmVhdG9yKHBvbHlnb24sIGFyZWEpO1xuICAgIGJpbmRUb29sdGlwKHBvbHlnb24sIGFyZWEpO1xuICAgIHpvb21Db250cm9sRm9yQXJlYShwb2x5Z29uLCBhcmVhLCBtYXAsIGZlYXR1cmVHcm91cCk7XG4gICAgcmV0dXJuIHBvbHlnb247XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59O1xuXG5jb25zdCBnZXRQYXR0ZXJuID0gKGFyZWEpID0+IHtcbiAgaWYgKGFyZWEuaXNfYXNzZXNzbWVudCA9PT0gZmFsc2UpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBjb2xvciA9IHNjb3JlVG9Db2xvcihhcmVhLmFyZWFfc2NvcmUpO1xuICByZXR1cm4gYXNzZXNtZW50UGF0dGVybihjb2xvcik7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBQyxZQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxTQUFBLEdBQUFILE9BQUE7QUFHQSxNQUFNSSxXQUFXLEdBQUlDLElBQUksSUFBSztFQUM1QixJQUFJQyxJQUFJLEdBQUdELElBQUksQ0FBQ0UsU0FBUyxJQUFJRixJQUFJLENBQUNDLElBQUk7RUFFdEMsT0FBT0EsSUFBSTtBQUNiLENBQUM7QUFFRCxNQUFNRSxTQUFTLEdBQUlILElBQUksSUFBSztFQUMxQixJQUFJQyxJQUFJLEdBQUdELElBQUksQ0FBQ0ks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
175
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3Njb3JlVG9EYXRhIiwiX3RoZW1lIiwiX1BhdHRlcm5zIiwiZ2V0QXJlYU5hbWUiLCJhcmVhIiwibmFtZSIsImFyZWFfbmFtZSIsImdldEFyZWFJZCIsImFyZWFfaWQiLCJpZCIsImdlbmVyaWNQb2x5Z29uIiwibWFwWm9vbSIsImFyZWFQb2x5Z29uIiwibGF0bG5ncyIsInNoYXBlX2RhdGEiLCJtYXAiLCJsb2NhdGlvbiIsImxlbmd0aCIsImNvbG9yIiwic2NvcmVUb0NvbG9yIiwiYXJlYV9zY29yZSIsIkwiLCJwb2x5Z29uIiwiZmlsbE9wYWNpdHkiLCJzaG93Q29sb3JPbmx5SW5Cb3JkZXJzIiwid2VpZ2h0IiwiZmlsbCIsImV4cG9ydHMiLCJjYWxjdWxhdGVQb2x5Z29uQXJlYSIsImNvb3JkaW5hdGVzIiwibnVtUG9pbnRzIiwiaSIsIngxIiwieTEiLCJ4MiIsInkyIiwiTWF0aCIsImFicyIsInBvbHlnb25UaXRsZSIsImNvbmNhdCIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJwcmltYXJ5IiwicHMxIiwiYmluZFRvb2x0aXAiLCJsYXllciIsIl9tYXAiLCJ1bmRlZmluZWQiLCJnZXRab29tIiwidGl0bGUiLCJjbGFzc05hbWUiLCJwZXJtYW5lbnQiLCJkaXJlY3Rpb24iLCJoYW5kbGVUb2x0aXBCYXNlZE9uWm9vbUxldmVsIiwidG9vbHRpcCIsImdldFRvb2x0aXAiLCJzZXRDb250ZW50Iiwib3BlblRvb2x0aXAiLCJjbG9zZVRvb2x0aXAiLCJkcmlsbERvd25CYXNlZE9uWm9vbUxldmVsIiwicGVyY2VudGFnZSIsInpvb21QZXJjZW50YWdlVG9EcmlsbERvd24iLCJpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSIsImZlYXR1cmVHcm91cCIsImRyaWxsRG93bkNvbmRpdGlvbiIsInN1Yl9hcmVhcyIsImhpZGVQb2x5Z29uIiwiYnJpbmdUb0JhY2siLCJzZXRTdHlsZSIsInN0cm9rZSIsInNob3dQb2x5Z29uIiwiYnJpbmdUb0Zyb250Iiwib3BhY2l0eSIsImhhbmRsZVN1YkFyZWFzIiwic2hvdyIsImZvckVhY2giLCJzdWJBcmVhSWQiLCJlYWNoTGF5ZXIiLCJ6b29tQ29udHJvbEZvckFyZWEiLCJvbiIsImdldE1hcEJvdW5kcyIsImdldEJvdW5kcyIsInBvbHlnb25Cb3VuZHMiLCJpbnRlcnNlY3RzIiwibWFwQm91bmRzUG9seWdvbiIsImdldFNvdXRoV2VzdCIsImdldE5vcnRoV2VzdCIsImdldE5vcnRoRWFzdCIsImdldFNvdXRoRWFzdCIsIm1hcEJvdW5kcyIsInRvR2VvSlNPTiIsImdlb21ldHJ5IiwiYXJlYVN1cmZhY2UiLCJjdXN0b21BdHRyaWJ1dGVzRm9yQXJlYVBvbHlnb24iLCJjYWxjdWxhdGVkX3N1cmZhY2UiLCJjcmVhdGVQb2x5Z29uIiwicG9wdXBDcmVhdG9yIiwicGF0dGVybiIsImdldFBhdHRlcm4iLCJhZGRUbyIsImZpbGxQYXR0ZXJuIiwiaXNfYXNzZXNzbWVudCIsImFzc2VzbWVudFBhdHRlcm4iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvYXJlYXMvQXJlYVV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMLCB7IEZlYXR1cmVHcm91cCwgUG9seWdvbiB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0ICdsZWFmbGV0LnBhdHRlcm4nO1xuaW1wb3J0IHsgc2NvcmVUb0NvbG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL3Njb3JlVG9EYXRhJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcbmltcG9ydCB7IGFzc2VzbWVudFBhdHRlcm4gfSBmcm9tICcuL1BhdHRlcm5zJztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5cbmNvbnN0IGdldEFyZWFOYW1lID0gKGFyZWEpID0+IHtcbiAgbGV0IG5hbWUgPSBhcmVhLmFyZWFfbmFtZSB8fCBhcmVhLm5hbWU7XG5cbiAgcmV0dXJuIG5hbWU7XG59O1xuXG5jb25zdCBnZXRBcmVhSWQgPSAoYXJlYSkgPT4ge1xuICBsZXQgbmFtZSA9IGFyZWEuYXJlYV9pZCB8fCBhcmVhLmlkO1xuXG4gIHJldHVybiBuYW1lO1xufTtcblxuZXhwb3J0IGNvbnN0IGdlbmVyaWNQb2x5Z29uID0gKGFyZWEsIG1hcFpvb20pID0+IHtcbiAgbGV0IGFyZWFQb2x5Z29uOiBQb2x5Z29uO1xuICBsZXQgbGF0bG5ncyA9IGFyZWEuc2hhcGVfZGF0YS5tYXAoKGxvY2F0aW9uOiBhbnkpID0+IHtcbiAgICByZXR1cm4gW2xvY2F0aW9uWydsYXQnXSwgbG9jYXRpb25bJ2xuZyddXTtcbiAgfSk7XG5cbiAgaWYgKGxhdGxuZ3MubGVuZ3RoIDwgMSkgcmV0dXJuO1xuXG4gIGxldCBjb2xvciA9IGFyZWEuY29sb3IgPyBhcmVhLmNvbG9yIDogc2NvcmVUb0NvbG9yKGFyZWEuYXJlYV9zY29yZSk7XG5cbiAgYXJlYVBvbHlnb24gPSBMLnBvbHlnb24obGF0bG5ncywge1xuICAgIGNvbG9yLFxuICAgIGZpbGxPcGFjaXR5OiBhcmVhLnNob3dDb2xvck9ubHlJbkJvcmRlcnMgPyAwLjMgOiAwLjQsXG4gICAgd2VpZ2h0OiBhcmVhLnNob3dDb2xvck9ubHlJbkJvcmRlcnMgPyAyIDogMCxcbiAgICBmaWxsOiBmYWxzZSxcbiAgfSk7XG5cbiAgcmV0dXJuIGFyZWFQb2x5Z29uO1xufTtcblxuZXhwb3J0IGNvbnN0IGNhbGN1bGF0ZVBvbHlnb25BcmVhID0gKGNvb3JkaW5hdGVzKSA9PiB7XG4gIGxldCBhcmVhID0gMDtcbiAgbGV0IG51bVBvaW50cyA9IGNvb3JkaW5hdGVzLmxlbmd0aDtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IG51bVBvaW50czsgaSsrKSB7XG4gICAgbGV0IHgxID0gY29vcmRpbmF0ZXNbaV1bMF07XG4gICAgbGV0IHkxID0gY29vcmRpbmF0ZXNbaV1bMV07XG4gICAgbGV0IHgyID0gY29vcmRpbmF0ZXNbKGkgKyAxKSAlIG51bVBvaW50c11bMF07XG4gICAgbGV0IHkyID0gY29vcmRpbmF0ZXNbKGkgKyAxKSAlIG51bVBvaW50c11bMV07XG5cbiAgICBhcmVhICs9IHgxICogeTIgLSB4MiAqIHkxO1xuICB9XG5cbiAgcmV0dXJuIE1hdGguYWJzKGFyZWEgLyAyKTtcbn07XG5cbmNvbnN0IHBvbHlnb25UaXRsZSA9IChhcmVhLCBtYXBab29tKSA9PiB7XG4gIHJldHVybiBgPGRpdiBjbGFzcz1cImFyZWEtdG9vbHRpcFwiIHN0eWxlPVwiY29sb3I6JHtcbiAgICB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnBzMVxuICB9O2ZvbnQtd2VpZ2h0OjcwMDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2ZvbnQtc2l6ZTogJHtcbiAgICBtYXBab29tICogMS41XG4gIH1weDstd2Via2l0LXRleHQtc3Ryb2tlOiAwLjhweCAjZmZmZmZmO1wiPiAke2dldEFyZWFOYW1lKGFyZWEpfSBcbiAgICAgICAgPC9kaXY+YDtcbn07XG5cbmNvbnN0IGJpbmRUb29sdGlwID0gKGxheWVyLCBhcmVhKSA9PiB7XG4gIGNvbnN0IG1hcFpvb20gPSBsYXllci5fbWFwICE9PSB1bmRlZmluZWQgPyBsYXllci5fbWFwLmdldFpvb20oKSA6IDA7XG4gIGNvbnN0IHRpdGxlID0gcG9seWdvblRpdGxlKGFyZWEsIG1hcFpvb20pO1xuICBsYXllci5iaW5kVG9vbHRpcCh0aXRsZSwge1xuICAgIGNsYXNzTmFtZTogJ2FyZWEtdG9vbHRpcCcsXG4gICAgcGVybWFuZW50OiB0cnVlLFxuICAgIGRpcmVjdGlvbjogJ2NlbnRlcicsXG4gIH0pO1xuICBoYW5kbGVUb2x0aXBCYXNlZE9uWm9vbUxldmVsKGxheWVyLCBtYXBab29tKTtcbn07XG5cbi8vIFRoZSB0b29sdGlwIGlzIHNob3dpbmcgdGhlIGFyZWEgbmFtZVxuZXhwb3J0IGNvbnN0IGhhbmRsZVRvbHRpcEJhc2VkT25ab29tTGV2ZWwgPSAocG9seWdvbiwgbWFwWm9vbSkgPT4ge1xuICBpZiAobWFwWm9vbSA+IDExKSB7XG4gICAgY29uc3QgdG9vbHRpcCA9IHBvbHlnb24uZ2V0VG9vbHRpcCgpO1xuICAgIHRvb2x0aXAuc2V0Q29udGVudChwb2x5Z29uVGl0bGUocG9seWdvbiwgbWFwWm9vbSkpO1xuICAgIHBvbHlnb24ub3BlblRvb2x0aXAoKTtcbiAgfSBlbHNlIHtcbiAgICBwb2x5Z29uLmNsb3NlVG9vbHRpcCgpO1xuICB9XG59O1xuXG5jb25zdCBkcmlsbERvd25CYXNlZE9uWm9vbUxldmVsID0gKFxuICBhcmVhUG9seWdvbixcbiAgYXJlYSxcbiAgcGVyY2VudGFnZSxcbiAgem9vbVBlcmNlbnRhZ2VUb0RyaWxsRG93bixcbiAgaXNQYXJ0aWFsUG9seWdvblZpc2libGUsXG4gIG1hcCxcbiAgZmVhdHVyZUdyb3VwLFxuKSA9PiB7XG4gIGNvbnN0IGRyaWxsRG93bkNvbmRpdGlvbiA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgcGVyY2VudGFnZSA+PSB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duICYmXG4gICAgICBpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSAmJlxuICAgICAgYXJlYS5zdWJfYXJlYXMubGVuZ3RoICE9PSAwICYmXG4gICAgICBhcmVhUG9seWdvbi5fbWFwICE9PSBudWxsXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBoaWRlUG9seWdvbiA9IChwb2x5Z29uOiBQb2x5Z29uKSA9PiB7XG4gICAgcG9seWdvbi5icmluZ1RvQmFjaygpO1xuICAgIHBvbHlnb24uY2xvc2VUb29sdGlwKCk7XG4gICAgcG9seWdvblsnaGlkZGVuJ10gPSB0cnVlO1xuICAgIHBvbHlnb24uc2V0U3R5bGUoe1xuICAgICAgc3Ryb2tlOiBmYWxzZSxcbiAgICAgIGZpbGw6IGZhbHNlLFxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IHNob3dQb2x5Z29uID0gKHBvbHlnb246IFBvbHlnb24sIGZpbGw6IGJvb2xlYW4pID0+IHtcbiAgICBwb2x5Z29uLmJyaW5nVG9Gcm9udCgpO1xuICAgIHBvbHlnb25bJ2hpZGRlbiddID0gZmFsc2U7XG4gICAgcG9seWdvbi5zZXRTdHlsZSh7XG4gICAgICAvL3N0cm9rZTogZmlsbCA/IGZhbHNlIDogdHJ1ZSxcbiAgICAgIHN0cm9rZTogdHJ1ZSxcbiAgICAgIG9wYWNpdHk6IDAuNCxcbiAgICAgIHdlaWdodDogMixcbiAgICAgIGZpbGw6IGZpbGwsXG4gICAgICBmaWxsT3BhY2l0eTogMC40LFxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZVN1YkFyZWFzID0gKHNob3c6IGJvb2xlYW4pID0+IHtcbiAgICBpZiAoYXJlYVBvbHlnb25bJ3N1Yl9hcmVhcyddICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGFyZWFQb2x5Z29uWydzdWJfYXJlYXMnXS5mb3JFYWNoKChzdWJBcmVhSWQpID0+IHtcbiAgICAgICAgZmVhdHVyZUdyb3VwLmVhY2hMYXllcigobGF5ZXIpID0+IHtcbiAgICAgICAgICBpZiAobGF5ZXJbJ2thbmRvX29iamVjdF9pZCddID09PSBzdWJBcmVhSWQpIHtcbiAgICAgICAgICAgIHNob3cgPyBzaG93UG9seWdvbihsYXllciwgdHJ1ZSkgOiBoaWRlUG9seWdvbihsYXllcik7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfTtcblxuICAvLyBTaG93IHRoZSBhcmVhIHdpdGggYm9yZGVyIG9ubHlcbiAgLy8gT3IgYmFja2dyb3VuZCBjb2xvclxuICBpZiAoZHJpbGxEb3duQ29uZGl0aW9uKCkpIHtcbiAgICBzaG93UG9seWdvbihhcmVhUG9seWdvbiwgZmFsc2UpO1xuICAgIGFyZWFQb2x5Z29uLmNsb3NlVG9vbHRpcCgpO1xuICAgIGhhbmRsZVN1YkFyZWFzKHRydWUpO1xuICB9IGVsc2Uge1xuICAgIGhhbmRsZVN1YkFyZWFzKGZhbHNlKTtcblxuICAgIGlmICghYXJlYVBvbHlnb25bJ2hpZGRlbiddKSB7XG4gICAgICBzaG93UG9seWdvbihhcmVhUG9seWdvbiwgdHJ1ZSk7XG4gICAgICBoYW5kbGVUb2x0aXBCYXNlZE9uWm9vbUxldmVsKGFyZWFQb2x5Z29uLCBtYXAuZ2V0Wm9vbSgpKTtcbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB6b29tQ29udHJvbEZvckFyZWEgPSAoYXJlYVBvbHlnb24sIGFyZWEsIG1hcCwgZmVhdHVyZUdyb3VwKSA9PiB7XG4gIG1hcC5vbignem9vbWVuZCcsIGZ1bmN0aW9uICgpIHtcbiAgICBsZXQgZ2V0TWFwQm91bmRzID0gbWFwLmdldEJvdW5kcygpO1xuICAgIGxldCBwb2x5Z29uQm91bmRzID0gYXJlYVBvbHlnb24uZ2V0Qm91bmRzKCk7XG4gICAgbGV0IGlzUGFydGlhbFBvbHlnb25WaXNpYmxlID0gZ2V0TWFwQm91bmRzLmludGVyc2VjdHMocG9seWdvbkJvdW5kcyk7XG4gICAgbGV0IG1hcEJvdW5kc1BvbHlnb24gPSBMLnBvbHlnb24oW1xuICAgICAgZ2V0TWFwQm91bmRzLmdldFNvdXRoV2VzdCgpLFxuICAgICAgZ2V0TWFwQm91bmRzLmdldE5vcnRoV2VzdCgpLFxuICAgICAgZ2V0TWFwQm91bmRzLmdldE5vcnRoRWFzdCgpLFxuICAgICAgZ2V0TWFwQm91bmRzLmdldFNvdXRoRWFzdCgpLFxuICAgIF0pO1xuXG4gICAgbGV0IG1hcEJvdW5kcyA9IGNhbGN1bGF0ZVBvbHlnb25BcmVhKFxuICAgICAgbWFwQm91bmRzUG9seWdvbi50b0dlb0pTT04oKS5nZW9tZXRyeS5jb29yZGluYXRlc1swXSxcbiAgICApO1xuXG4gICAgbGV0IGFyZWFTdXJmYWNlID0gYXJlYVBvbHlnb25bJ2NhbGN1bGF0ZWRfc3VyZmFjZSddO1xuICAgIGNvbnN0IHpvb21QZXJjZW50YWdlVG9EcmlsbERvd24gPSAxNS4wO1xuICAgIGNvbnN0IHBlcmNlbnRhZ2UgPSAoYXJlYVN1cmZhY2UgLyBtYXBCb3VuZHMpICogMTAwO1xuXG4gICAgZHJpbGxEb3duQmFzZWRPblpvb21MZXZlbChcbiAgICAgIGFyZWFQb2x5Z29uLFxuICAgICAgYXJlYSxcbiAgICAgIHBlcmNlbnRhZ2UsXG4gICAgICB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duLFxuICAgICAgaXNQYXJ0aWFsUG9seWdvblZpc2libGUsXG4gICAgICBtYXAsXG4gICAgICBmZWF0dXJlR3JvdXAsXG4gICAgKTtcbiAgfSk7XG59O1xuXG5jb25zdCBjdXN0b21BdHRyaWJ1dGVzRm9yQXJlYVBvbHlnb24gPSAoYXJlYVBvbHlnb24sIGFyZWEpID0+IHtcbiAgYXJlYVBvbHlnb25bJ2thbmRvX29iamVjdF9pZCddID0gZ2V0QXJlYUlkKGFyZWEpO1xuICBhcmVhUG9seWdvblsna2FuZG9fb2JqZWN0J10gPSAnQXJlYSc7XG4gIGFyZWFQb2x5Z29uWydhcmVhX25hbWUnXSA9IGdldEFyZWFOYW1lKGFyZWEpO1xuICBhcmVhUG9seWdvblsnY2FsY3VsYXRlZF9zdXJmYWNlJ10gPSBhcmVhLmNhbGN1bGF0ZWRfc3VyZmFjZTtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVQb2x5Z29uID0gKFxuICBhcmVhLFxuICBtYXBab29tLFxuICBmZWF0dXJlR3JvdXA6IEZlYXR1cmVHcm91cCxcbiAgbWFwLFxuICBwb3B1cENyZWF0b3I/OiAocG9seWdvbjogUG9seWdvbiwgYXJlYTogSUFyZWEpID0+IHZvaWQsXG4pID0+IHtcbiAgbGV0IHBvbHlnb246IFBvbHlnb247XG4gIGlmIChcbiAgICBhcmVhLnNoYXBlX2RhdGEgIT09IG51bGwgJiZcbiAgICBhcmVhLnNoYXBlX2RhdGEgIT09IHVuZGVmaW5lZCAmJlxuICAgIGFyZWEuc2hhcGVfZGF0YS5sZW5ndGggPiAwXG4gICkge1xuICAgIHBvbHlnb24gPSBnZW5lcmljUG9seWdvbihhcmVhLCBtYXBab29tKTtcblxuICAgIGN1c3RvbUF0dHJpYnV0ZXNGb3JBcmVhUG9seWdvbihwb2x5Z29uLCBhcmVhKTtcbiAgICBjb25zdCBwYXR0ZXJuID0gZ2V0UGF0dGVybihhcmVhKTtcbiAgICBpZiAocGF0dGVybikge1xuICAgICAgcGF0dGVybj8uYWRkVG8obWFwKTtcbiAgICAgIHBvbHlnb24uc2V0U3R5bGUoe1xuICAgICAgICBmaWxsUGF0dGVybjogcGF0dGVybixcbiAgICAgICAgY29sb3I6IHNjb3JlVG9Db2xvcihhcmVhLmFyZWFfc2NvcmUpLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHBvbHlnb24uYWRkVG8oZmVhdHVyZUdyb3VwKTtcbiAgICBwb3B1cENyZWF0b3IgJiYgcG9wdXBDcmVhdG9yKHBvbHlnb24sIGFyZWEpO1xuICAgIGJpbmRUb29sdGlwKHBvbHlnb24sIGFyZWEpO1xuICAgIHpvb21Db250cm9sRm9yQXJlYShwb2x5Z29uLCBhcmVhLCBtYXAsIGZlYXR1cmVHcm91cCk7XG4gICAgcmV0dXJuIHBvbHlnb247XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59O1xuXG5jb25zdCBnZXRQYXR0ZXJuID0gKGFyZWEpID0+IHtcbiAgaWYgKGFyZWEuaXNfYXNzZXNzbWVudCA9PT0gZmFsc2UpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBjb2xvciA9IHNjb3JlVG9Db2xvcihhcmVhLmFyZWFfc2NvcmUpO1xuICByZXR1cm4gYXNzZXNtZW50UGF0dGVybihjb2xvcik7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBQyxZQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxTQUFBLEdBQUFILE9BQUE7QUFHQSxJQUFNSSxXQUFXLEdBQUcsU0FBZEEsV0FBV0EsQ0FBSUMsSUFBSSxFQUFLO0VBQzVCLElBQUlDLElBQUksR0FBR0QsSUFBSSxDQUFDRSxTQUFTLElBQUlGLElBQUksQ0FBQ0MsSUFBSTtFQUV0QyxPQUFPQSxJQUFJO0FBQ2IsQ0FBQztBQUVELElBQU1FLFNBQVMsR0FBRyxTQUFaQSxTQUFTQSxDQUFJSCxJQUFJLEVBQUs7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
@@ -7,8 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.assesmentPattern = void 0;
8
8
  var _leaflet = _interopRequireDefault(require("leaflet"));
9
9
  require("leaflet.pattern");
10
- const assesmentPattern = color => {
11
- const shape = new _leaflet.default.PatternCircle({
10
+ var assesmentPattern = function assesmentPattern(color) {
11
+ var shape = new _leaflet.default.PatternCircle({
12
12
  x: 3,
13
13
  y: 3,
14
14
  radius: 1,
@@ -17,7 +17,7 @@ const assesmentPattern = color => {
17
17
  fillOpacity: 1,
18
18
  stroke: true
19
19
  });
20
- const pattern = new _leaflet.default.Pattern({
20
+ var pattern = new _leaflet.default.Pattern({
21
21
  width: 10,
22
22
  height: 10
23
23
  });
@@ -25,4 +25,4 @@ const assesmentPattern = color => {
25
25
  return pattern;
26
26
  };
27
27
  exports.assesmentPattern = assesmentPattern;
28
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiYXNzZXNtZW50UGF0dGVybiIsImNvbG9yIiwic2hhcGUiLCJMIiwiUGF0dGVybkNpcmNsZSIsIngiLCJ5IiwicmFkaXVzIiwiZmlsbCIsImZpbGxPcGFjaXR5Iiwic3Ryb2tlIiwicGF0dGVybiIsIlBhdHRlcm4iLCJ3aWR0aCIsImhlaWdodCIsImFkZFNoYXBlIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9hcmVhcy9QYXR0ZXJucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTCBmcm9tICdsZWFmbGV0JztcbmltcG9ydCAnbGVhZmxldC5wYXR0ZXJuJztcblxuZXhwb3J0IGNvbnN0IGFzc2VzbWVudFBhdHRlcm4gPSAoY29sb3I6IHN0cmluZykgPT4ge1xuICBjb25zdCBzaGFwZSA9IG5ldyBMLlBhdHRlcm5DaXJjbGUoe1xuICAgIHg6IDMsXG4gICAgeTogMyxcbiAgICByYWRpdXM6IDEsXG4gICAgZmlsbDogdHJ1ZSxcbiAgICBjb2xvcjogY29sb3IsXG4gICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgc3Ryb2tlOiB0cnVlLFxuICB9KTtcbiAgY29uc3QgcGF0dGVybiA9IG5ldyBMLlBhdHRlcm4oeyB3aWR0aDogMTAsIGhlaWdodDogMTAgfSk7XG4gIHBhdHRlcm4uYWRkU2hhcGUoc2hhcGUpO1xuXG4gIHJldHVybiBwYXR0ZXJuO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBQSxPQUFBO0FBRU8sTUFBTUMsZ0JBQWdCLEdBQUlDLEtBQWEsSUFBSztFQUNqRCxNQUFNQyxLQUFLLEdBQUcsSUFBSUMsZ0JBQUMsQ0FBQ0MsYUFBYSxDQUFDO0lBQ2hDQyxDQUFDLEVBQUUsQ0FBQztJQUNKQyxDQUFDLEVBQUUsQ0FBQztJQUNKQyxNQUFNLEVBQUUsQ0FBQztJQUNUQyxJQUFJLEVBQUUsSUFBSTtJQUNWUCxLQUFLLEVBQUVBLEtBQUs7SUFDWlEsV0FBVyxFQUFFLENBQUM7SUFDZEMsTUFBTSxFQUFFO0VBQ1YsQ0FBQyxDQUFDO0VBQ0YsTUFBTUMsT0FBTyxHQUFHLElBQUlSLGdCQUFDLENBQUNTLE9BQU8sQ0FBQztJQUFFQyxLQUFLLEVBQUUsRUFBRTtJQUFFQyxNQUFNLEVBQUU7RUFBRyxDQUFDLENBQUM7RUFDeERILE9BQU8sQ0FBQ0ksUUFBUSxDQUFDYixLQUFLLENBQUM7RUFFdkIsT0FBT1MsT0FBTztBQUNoQixDQUFDO0FBQUNLLE9BQUEsQ0FBQWhCLGdCQUFBLEdBQUFBLGdCQUFBIn0=
28
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiYXNzZXNtZW50UGF0dGVybiIsImNvbG9yIiwic2hhcGUiLCJMIiwiUGF0dGVybkNpcmNsZSIsIngiLCJ5IiwicmFkaXVzIiwiZmlsbCIsImZpbGxPcGFjaXR5Iiwic3Ryb2tlIiwicGF0dGVybiIsIlBhdHRlcm4iLCJ3aWR0aCIsImhlaWdodCIsImFkZFNoYXBlIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9hcmVhcy9QYXR0ZXJucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTCBmcm9tICdsZWFmbGV0JztcbmltcG9ydCAnbGVhZmxldC5wYXR0ZXJuJztcblxuZXhwb3J0IGNvbnN0IGFzc2VzbWVudFBhdHRlcm4gPSAoY29sb3I6IHN0cmluZykgPT4ge1xuICBjb25zdCBzaGFwZSA9IG5ldyBMLlBhdHRlcm5DaXJjbGUoe1xuICAgIHg6IDMsXG4gICAgeTogMyxcbiAgICByYWRpdXM6IDEsXG4gICAgZmlsbDogdHJ1ZSxcbiAgICBjb2xvcjogY29sb3IsXG4gICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgc3Ryb2tlOiB0cnVlLFxuICB9KTtcbiAgY29uc3QgcGF0dGVybiA9IG5ldyBMLlBhdHRlcm4oeyB3aWR0aDogMTAsIGhlaWdodDogMTAgfSk7XG4gIHBhdHRlcm4uYWRkU2hhcGUoc2hhcGUpO1xuXG4gIHJldHVybiBwYXR0ZXJuO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLFFBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBQSxPQUFBO0FBRU8sSUFBTUMsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFnQkEsQ0FBSUMsS0FBYSxFQUFLO0VBQ2pELElBQU1DLEtBQUssR0FBRyxJQUFJQyxnQkFBQyxDQUFDQyxhQUFhLENBQUM7SUFDaENDLENBQUMsRUFBRSxDQUFDO0lBQ0pDLENBQUMsRUFBRSxDQUFDO0lBQ0pDLE1BQU0sRUFBRSxDQUFDO0lBQ1RDLElBQUksRUFBRSxJQUFJO0lBQ1ZQLEtBQUssRUFBRUEsS0FBSztJQUNaUSxXQUFXLEVBQUUsQ0FBQztJQUNkQyxNQUFNLEVBQUU7RUFDVixDQUFDLENBQUM7RUFDRixJQUFNQyxPQUFPLEdBQUcsSUFBSVIsZ0JBQUMsQ0FBQ1MsT0FBTyxDQUFDO0lBQUVDLEtBQUssRUFBRSxFQUFFO0lBQUVDLE1BQU0sRUFBRTtFQUFHLENBQUMsQ0FBQztFQUN4REgsT0FBTyxDQUFDSSxRQUFRLENBQUNiLEtBQUssQ0FBQztFQUV2QixPQUFPUyxPQUFPO0FBQ2hCLENBQUM7QUFBQ0ssT0FBQSxDQUFBaEIsZ0JBQUEsR0FBQUEsZ0JBQUEifQ==
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
@@ -9,33 +10,39 @@ var _react = _interopRequireWildcard(require("react"));
9
10
  var _reactRedux = require("react-redux");
10
11
  require("./Edge.scss");
11
12
  var _actions = require("../../../store/events/actions");
12
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
- const Edge = _ref => {
15
- let {
16
- L,
17
- map,
18
- edge,
19
- points,
20
- hideEdges = false,
21
- allowUnmonitoredDescendants = false,
22
- specificEvent
23
- } = _ref;
24
- const dispatch = (0, _reactRedux.useDispatch)();
25
- const shapeDataExist = () => {
26
- return Object.keys(edge.shape_data).length !== 0 && edge.shape_data.find(data => data.lat === null || data.lng === null) === undefined;
13
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+ var Edge = function Edge(_ref) {
16
+ var L = _ref.L,
17
+ map = _ref.map,
18
+ edge = _ref.edge,
19
+ points = _ref.points,
20
+ _ref$hideEdges = _ref.hideEdges,
21
+ hideEdges = _ref$hideEdges === void 0 ? false : _ref$hideEdges,
22
+ _ref$allowUnmonitored = _ref.allowUnmonitoredDescendants,
23
+ allowUnmonitoredDescendants = _ref$allowUnmonitored === void 0 ? false : _ref$allowUnmonitored,
24
+ specificEvent = _ref.specificEvent;
25
+ var dispatch = (0, _reactRedux.useDispatch)();
26
+ var shapeDataExist = function shapeDataExist() {
27
+ return Object.keys(edge.shape_data).length !== 0 && edge.shape_data.find(function (data) {
28
+ return data.lat === null || data.lng === null;
29
+ }) === undefined;
27
30
  };
28
- (0, _react.useEffect)(() => {
31
+ (0, _react.useEffect)(function () {
29
32
  if (shapeDataExist()) {
30
- let latlngs = [];
31
- edge.shape_data.forEach(data => {
33
+ var latlngs = [];
34
+ edge.shape_data.forEach(function (data) {
32
35
  latlngs.push([data.lat, data.lng]);
33
36
  });
34
- let sourcePoint = points.filter(point => point.id === edge.source_point_id);
35
- let targetPoint = points.filter(point => point.id === edge.target_point_id);
37
+ var sourcePoint = points.filter(function (point) {
38
+ return point.id === edge.source_point_id;
39
+ });
40
+ var targetPoint = points.filter(function (point) {
41
+ return point.id === edge.target_point_id;
42
+ });
36
43
  if (points.length === 0) return;
37
44
  if (sourcePoint[0] === undefined || targetPoint[0] === undefined) return;
38
- let polylineBack = L.polyline(latlngs, {
45
+ var polylineBack = L.polyline(latlngs, {
39
46
  color: 'rgb(227,227,227)',
40
47
  weight: 6,
41
48
  opacity: hideEdges ? 0 : 1
@@ -44,7 +51,7 @@ const Edge = _ref => {
44
51
  polylineBack['kando_object_id'] = edge.id;
45
52
  polylineBack['kando_object'] = 'Edge';
46
53
  polylineBack.bringToFront();
47
- let polylineFront = L.polyline(latlngs, {
54
+ var polylineFront = L.polyline(latlngs, {
48
55
  color: 'rgb(29,29,29)',
49
56
  weight: hideEdges ? 0 : 1,
50
57
  opacity: hideEdges ? 0 : 1
@@ -59,7 +66,7 @@ const Edge = _ref => {
59
66
  }, [edge, specificEvent]);
60
67
  return /*#__PURE__*/_react.default.createElement("div", null);
61
68
  };
62
- const connector = (0, _reactRedux.connect)(null);
69
+ var connector = (0, _reactRedux.connect)(null);
63
70
  var _default = connector(Edge);
64
71
  exports.default = _default;
65
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIkVkZ2UiLCJfcmVmIiwiTCIsIm1hcCIsImVkZ2UiLCJwb2ludHMiLCJoaWRlRWRnZXMiLCJhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHMiLCJzcGVjaWZpY0V2ZW50IiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsInNoYXBlRGF0YUV4aXN0Iiwia2V5cyIsInNoYXBlX2RhdGEiLCJsZW5ndGgiLCJmaW5kIiwiZGF0YSIsImxhdCIsImxuZyIsInVuZGVmaW5lZCIsInVzZUVmZmVjdCIsImxhdGxuZ3MiLCJmb3JFYWNoIiwicHVzaCIsInNvdXJjZVBvaW50IiwiZmlsdGVyIiwicG9pbnQiLCJpZCIsInNvdXJjZV9wb2ludF9pZCIsInRhcmdldFBvaW50IiwidGFyZ2V0X3BvaW50X2lkIiwicG9seWxpbmVCYWNrIiwicG9seWxpbmUiLCJjb2xvciIsIndlaWdodCIsIm9wYWNpdHkiLCJhZGRUbyIsImJpbmRQb3B1cCIsImNvbmNhdCIsImdyb3VwIiwibmFtZSIsImRpc3RhbmNlIiwiYnJpbmdUb0Zyb250IiwicG9seWxpbmVGcm9udCIsInNldEhvdmVyZWRFZGdlUGF0aHMiLCJjcmVhdGVFbGVtZW50IiwiY29ubmVjdG9yIiwiY29ubmVjdCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9lZGdlcy9FZGdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3NyYy91dGlsaXRpZXMvcG9seWxpbmVkZWNvcmF0b3InO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNvbm5lY3QsIENvbm5lY3RlZFByb3BzLCB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0ICcuL0VkZ2Uuc2Nzcyc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBzZXRIb3ZlcmVkRWRnZVBhdGhzIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xudHlwZSBQcm9wcyA9IENvbm5lY3RlZFByb3BzPHR5cGVvZiBjb25uZWN0b3I+ICYge1xuICBtYXA6IGFueTtcbiAgTDogYW55O1xuICBlZGdlOiBJRWRnZTtcbiAgcG9pbnRzOiBhbnk7XG4gIGhpZGVFZGdlcz86IGJvb2xlYW47XG4gIHNwZWNpZmljRXZlbnQ/OiBJRXZlbnQ7XG4gIGFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50cz86IGJvb2xlYW47XG59O1xuXG5jb25zdCBFZGdlOiBSZWFjdC5GQzxQcm9wcz4gPSAoe1xuICBMLFxuICBtYXAsXG4gIGVkZ2UsXG4gIHBvaW50cyxcbiAgaGlkZUVkZ2VzID0gZmFsc2UsXG4gIGFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50cyA9IGZhbHNlLFxuICBzcGVjaWZpY0V2ZW50LFxufSkgPT4ge1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHNoYXBlRGF0YUV4aXN0ID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICBPYmplY3Qua2V5cyhlZGdlLnNoYXBlX2RhdGEpLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgZWRnZS5zaGFwZV9kYXRhLmZpbmQoXG4gICAgICAgIChkYXRhOiBhbnkpID0+IGRhdGEubGF0ID09PSBudWxsIHx8IGRhdGEubG5nID09PSBudWxsLFxuICAgICAgKSA9PT0gdW5kZWZpbmVkXG4gICAgKTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChzaGFwZURhdGFFeGlzdCgpKSB7XG4gICAgICBsZXQgbGF0bG5nczogYW55ID0gW107XG4gICAgICBlZGdlLnNoYXBlX2RhdGEuZm9yRWFjaCgoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIGxhdGxuZ3MucHVzaChbZGF0YS5sYXQsIGRhdGEubG5nXSk7XG4gICAgICB9KTtcblxuICAgICAgbGV0IHNvdXJjZVBvaW50ID0gcG9pbnRzLmZpbHRlcihcbiAgICAgICAgKHBvaW50OiBJUG9pbnQpID0+IHBvaW50LmlkID09PSBlZGdlLnNvdXJjZV9wb2ludF9pZCxcbiAgICAgICk7XG4gICAgICBsZXQgdGFyZ2V0UG9pbnQgPSBwb2ludHMuZmlsdGVyKFxuICAgICAgICAocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQuaWQgPT09IGVkZ2UudGFyZ2V0X3BvaW50X2lkLFxuICAgICAgKTtcblxuICAgICAgaWYgKHBvaW50cy5sZW5ndGggPT09IDApIHJldHVybjtcbiAgICAgIGlmIChzb3VyY2VQb2ludFswXSA9PT0gdW5kZWZpbmVkIHx8IHRhcmdldFBvaW50WzBdID09PSB1bmRlZmluZWQpIHJldHVybjtcblxuICAgICAgbGV0IHBvbHlsaW5lQmFjazogYW55ID0gTC5wb2x5bGluZShsYXRsbmdzLCB7XG4gICAgICAgIGNvbG9yOiAncmdiKDIyNywyMjcsMjI3KScsXG4gICAgICAgIHdlaWdodDogNixcbiAgICAgICAgb3BhY2l0eTogaGlkZUVkZ2VzID8gMCA6IDEsXG4gICAgICB9KS5hZGRUbyhtYXApO1xuXG4gICAgICBwb2x5bGluZUJhY2suYmluZFBvcHVwKGBFZGdlIElEOiAke2VkZ2UuaWR9LDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2UgcG9pbnQ6ICR7c291cmNlUG9pbnRbMF0uZ3JvdXAubmFtZX0sPGJyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldCBwb2ludDogJHt0YXJnZXRQb2ludFswXS5ncm91cC5uYW1lfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXN0YW5jZTogJHtlZGdlLmRpc3RhbmNlfWApO1xuXG4gICAgICBwb2x5bGluZUJhY2tbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICAgIHBvbHlsaW5lQmFja1sna2FuZG9fb2JqZWN0J10gPSAnRWRnZSc7XG5cbiAgICAgIHBvbHlsaW5lQmFjay5icmluZ1RvRnJvbnQoKTtcblxuICAgICAgbGV0IHBvbHlsaW5lRnJvbnQ6IGFueSA9IEwucG9seWxpbmUobGF0bG5ncywge1xuICAgICAgICBjb2xvcjogJ3JnYigyOSwyOSwyOSknLFxuICAgICAgICB3ZWlnaHQ6IGhpZGVFZGdlcyA/IDAgOiAxLFxuICAgICAgICBvcGFjaXR5OiBoaWRlRWRnZXMgPyAwIDogMSxcbiAgICAgIH0pLmFkZFRvKG1hcCk7XG5cbiAgICAgIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICAgIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdCddID0gJ0VkZ2VGcm9udCc7XG5cbiAgICAgIHBvbHlsaW5lRnJvbnQuYnJpbmdUb0Zyb250KCk7XG4gICAgICBpZiAoc3BlY2lmaWNFdmVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFZGdlUGF0aHMoW3BvbHlsaW5lQmFjaywgcG9seWxpbmVGcm9udF0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtlZGdlLCBzcGVjaWZpY0V2ZW50XSk7XG5cbiAgcmV0dXJuIDxkaXY+PC9kaXY+O1xufTtcblxuY29uc3QgY29ubmVjdG9yID0gY29ubmVjdChudWxsKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RvcihFZGdlKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUFBLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFDLHVCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFILE9BQUE7QUFHQUEsT0FBQTtBQUVBLElBQUFJLFFBQUEsR0FBQUosT0FBQTtBQUFvRSxTQUFBSyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBSix3QkFBQVEsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLG9CQUFBQSxHQUFBLHdCQUFBQSxHQUFBLDRCQUFBRSxPQUFBLEVBQUFGLEdBQUEsVUFBQUcsS0FBQSxHQUFBUix3QkFBQSxDQUFBQyxXQUFBLE9BQUFPLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFKLEdBQUEsWUFBQUcsS0FBQSxDQUFBRSxHQUFBLENBQUFMLEdBQUEsU0FBQU0sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFYLEdBQUEsUUFBQVcsR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBZCxHQUFBLEVBQUFXLEdBQUEsU0FBQUksSUFBQSxHQUFB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
72
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfcmVhY3RSZWR1eCIsIl9hY3Rpb25zIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJFZGdlIiwiX3JlZiIsIkwiLCJtYXAiLCJlZGdlIiwicG9pbnRzIiwiX3JlZiRoaWRlRWRnZXMiLCJoaWRlRWRnZXMiLCJfcmVmJGFsbG93VW5tb25pdG9yZWQiLCJhbGxvd1VubW9uaXRvcmVkRGVzY2VuZGFudHMiLCJzcGVjaWZpY0V2ZW50IiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsInNoYXBlRGF0YUV4aXN0Iiwia2V5cyIsInNoYXBlX2RhdGEiLCJsZW5ndGgiLCJmaW5kIiwiZGF0YSIsImxhdCIsImxuZyIsInVuZGVmaW5lZCIsInVzZUVmZmVjdCIsImxhdGxuZ3MiLCJmb3JFYWNoIiwicHVzaCIsInNvdXJjZVBvaW50IiwiZmlsdGVyIiwicG9pbnQiLCJpZCIsInNvdXJjZV9wb2ludF9pZCIsInRhcmdldFBvaW50IiwidGFyZ2V0X3BvaW50X2lkIiwicG9seWxpbmVCYWNrIiwicG9seWxpbmUiLCJjb2xvciIsIndlaWdodCIsIm9wYWNpdHkiLCJhZGRUbyIsImJpbmRQb3B1cCIsImNvbmNhdCIsImdyb3VwIiwibmFtZSIsImRpc3RhbmNlIiwiYnJpbmdUb0Zyb250IiwicG9seWxpbmVGcm9udCIsInNldEhvdmVyZWRFZGdlUGF0aHMiLCJjcmVhdGVFbGVtZW50IiwiY29ubmVjdG9yIiwiY29ubmVjdCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9lZGdlcy9FZGdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3NyYy91dGlsaXRpZXMvcG9seWxpbmVkZWNvcmF0b3InO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNvbm5lY3QsIENvbm5lY3RlZFByb3BzLCB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IElFZGdlIH0gZnJvbSAnc3JjL3N0b3JlL2VkZ2VzL21vZGVscy9JRWRnZSc7XG5pbXBvcnQgeyBJUG9pbnQgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnQnO1xuaW1wb3J0ICcuL0VkZ2Uuc2Nzcyc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBzZXRIb3ZlcmVkRWRnZVBhdGhzIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvZXZlbnRzL2FjdGlvbnMnO1xudHlwZSBQcm9wcyA9IENvbm5lY3RlZFByb3BzPHR5cGVvZiBjb25uZWN0b3I+ICYge1xuICBtYXA6IGFueTtcbiAgTDogYW55O1xuICBlZGdlOiBJRWRnZTtcbiAgcG9pbnRzOiBhbnk7XG4gIGhpZGVFZGdlcz86IGJvb2xlYW47XG4gIHNwZWNpZmljRXZlbnQ/OiBJRXZlbnQ7XG4gIGFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50cz86IGJvb2xlYW47XG59O1xuXG5jb25zdCBFZGdlOiBSZWFjdC5GQzxQcm9wcz4gPSAoe1xuICBMLFxuICBtYXAsXG4gIGVkZ2UsXG4gIHBvaW50cyxcbiAgaGlkZUVkZ2VzID0gZmFsc2UsXG4gIGFsbG93VW5tb25pdG9yZWREZXNjZW5kYW50cyA9IGZhbHNlLFxuICBzcGVjaWZpY0V2ZW50LFxufSkgPT4ge1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IHNoYXBlRGF0YUV4aXN0ID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICBPYmplY3Qua2V5cyhlZGdlLnNoYXBlX2RhdGEpLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgZWRnZS5zaGFwZV9kYXRhLmZpbmQoXG4gICAgICAgIChkYXRhOiBhbnkpID0+IGRhdGEubGF0ID09PSBudWxsIHx8IGRhdGEubG5nID09PSBudWxsLFxuICAgICAgKSA9PT0gdW5kZWZpbmVkXG4gICAgKTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChzaGFwZURhdGFFeGlzdCgpKSB7XG4gICAgICBsZXQgbGF0bG5nczogYW55ID0gW107XG4gICAgICBlZGdlLnNoYXBlX2RhdGEuZm9yRWFjaCgoZGF0YTogYW55KSA9PiB7XG4gICAgICAgIGxhdGxuZ3MucHVzaChbZGF0YS5sYXQsIGRhdGEubG5nXSk7XG4gICAgICB9KTtcblxuICAgICAgbGV0IHNvdXJjZVBvaW50ID0gcG9pbnRzLmZpbHRlcihcbiAgICAgICAgKHBvaW50OiBJUG9pbnQpID0+IHBvaW50LmlkID09PSBlZGdlLnNvdXJjZV9wb2ludF9pZCxcbiAgICAgICk7XG4gICAgICBsZXQgdGFyZ2V0UG9pbnQgPSBwb2ludHMuZmlsdGVyKFxuICAgICAgICAocG9pbnQ6IElQb2ludCkgPT4gcG9pbnQuaWQgPT09IGVkZ2UudGFyZ2V0X3BvaW50X2lkLFxuICAgICAgKTtcblxuICAgICAgaWYgKHBvaW50cy5sZW5ndGggPT09IDApIHJldHVybjtcbiAgICAgIGlmIChzb3VyY2VQb2ludFswXSA9PT0gdW5kZWZpbmVkIHx8IHRhcmdldFBvaW50WzBdID09PSB1bmRlZmluZWQpIHJldHVybjtcblxuICAgICAgbGV0IHBvbHlsaW5lQmFjazogYW55ID0gTC5wb2x5bGluZShsYXRsbmdzLCB7XG4gICAgICAgIGNvbG9yOiAncmdiKDIyNywyMjcsMjI3KScsXG4gICAgICAgIHdlaWdodDogNixcbiAgICAgICAgb3BhY2l0eTogaGlkZUVkZ2VzID8gMCA6IDEsXG4gICAgICB9KS5hZGRUbyhtYXApO1xuXG4gICAgICBwb2x5bGluZUJhY2suYmluZFBvcHVwKGBFZGdlIElEOiAke2VkZ2UuaWR9LDxicj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb3VyY2UgcG9pbnQ6ICR7c291cmNlUG9pbnRbMF0uZ3JvdXAubmFtZX0sPGJyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhcmdldCBwb2ludDogJHt0YXJnZXRQb2ludFswXS5ncm91cC5uYW1lfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXN0YW5jZTogJHtlZGdlLmRpc3RhbmNlfWApO1xuXG4gICAgICBwb2x5bGluZUJhY2tbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICAgIHBvbHlsaW5lQmFja1sna2FuZG9fb2JqZWN0J10gPSAnRWRnZSc7XG5cbiAgICAgIHBvbHlsaW5lQmFjay5icmluZ1RvRnJvbnQoKTtcblxuICAgICAgbGV0IHBvbHlsaW5lRnJvbnQ6IGFueSA9IEwucG9seWxpbmUobGF0bG5ncywge1xuICAgICAgICBjb2xvcjogJ3JnYigyOSwyOSwyOSknLFxuICAgICAgICB3ZWlnaHQ6IGhpZGVFZGdlcyA/IDAgOiAxLFxuICAgICAgICBvcGFjaXR5OiBoaWRlRWRnZXMgPyAwIDogMSxcbiAgICAgIH0pLmFkZFRvKG1hcCk7XG5cbiAgICAgIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdF9pZCddID0gZWRnZS5pZDtcbiAgICAgIHBvbHlsaW5lRnJvbnRbJ2thbmRvX29iamVjdCddID0gJ0VkZ2VGcm9udCc7XG5cbiAgICAgIHBvbHlsaW5lRnJvbnQuYnJpbmdUb0Zyb250KCk7XG4gICAgICBpZiAoc3BlY2lmaWNFdmVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFZGdlUGF0aHMoW3BvbHlsaW5lQmFjaywgcG9seWxpbmVGcm9udF0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtlZGdlLCBzcGVjaWZpY0V2ZW50XSk7XG5cbiAgcmV0dXJuIDxkaXY+PC9kaXY+O1xufTtcblxuY29uc3QgY29ubmVjdG9yID0gY29ubmVjdChudWxsKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RvcihFZGdlKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBQSxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyx1QkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBSCxPQUFBO0FBR0FBLE9BQUE7QUFFQSxJQUFBSSxRQUFBLEdBQUFKLE9BQUE7QUFBb0UsU0FBQUsseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFKLHdCQUFBUSxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdBQUEsWUFBQUksS0FBQSxDQUFBRSxHQUFBLENBQUFOLEdBQUEsU0FBQU8sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFaLEdBQUEsUUFBQVksR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxT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