@kando-env/kando-ui 1.2.466-alpha.7 → 1.2.466-alpha.9

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 (728) hide show
  1. package/lib/Router.js +81 -40
  2. package/lib/Widgets/EventsCarousel/EventsCarousel.js +35 -24
  3. package/lib/Widgets/EventsRow/EventsRow.js +39 -26
  4. package/lib/Widgets/Map/GraphUtils.js +6 -4
  5. package/lib/Widgets/Map/Map.js +139 -100
  6. package/lib/Widgets/Map/MapUtils.js +102 -83
  7. package/lib/Widgets/Map/areas/AreaPolygon.js +84 -57
  8. package/lib/Widgets/Map/areas/AreaPolygons.js +25 -23
  9. package/lib/Widgets/Map/areas/AreaUtils.js +46 -46
  10. package/lib/Widgets/Map/areas/Patterns.js +5 -5
  11. package/lib/Widgets/Map/edges/Edge.js +41 -32
  12. package/lib/Widgets/Map/edges/Edges.js +24 -19
  13. package/lib/Widgets/Map/edges/arrows/Arrows.js +45 -24
  14. package/lib/Widgets/Map/events/Event.js +14 -15
  15. package/lib/Widgets/Map/events/EventIndicator.js +63 -66
  16. package/lib/Widgets/Map/events/EventPath.js +34 -33
  17. package/lib/Widgets/Map/events/EventUtils.js +78 -54
  18. package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +19 -17
  19. package/lib/Widgets/Map/events/PointOfEvent.js +36 -27
  20. package/lib/Widgets/Map/events/PointsForSpecificEvent.js +39 -29
  21. package/lib/Widgets/Map/events/Snail.js +11 -10
  22. package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +79 -77
  23. package/lib/Widgets/Map/map/FloatingGraph.js +21 -24
  24. package/lib/Widgets/Map/map/GraphDateButton.js +20 -27
  25. package/lib/Widgets/Map/matchGraph/MatchGraph.js +14 -14
  26. package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +16 -17
  27. package/lib/Widgets/Map/points/PointIcon.js +22 -23
  28. package/lib/Widgets/Map/points/PointMarker.js +88 -68
  29. package/lib/Widgets/Map/points/PointMarkers.js +36 -30
  30. package/lib/Widgets/Map/points/PointUtils.js +90 -76
  31. package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +43 -25
  32. package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +11 -11
  33. package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +14 -11
  34. package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +6 -4
  35. package/lib/Widgets/MostPolluting/Areas/Areas.js +60 -28
  36. package/lib/Widgets/MostPolluting/Areas/areas.mock.js +4 -3
  37. package/lib/Widgets/MostPolluting/Areas/areasResponse.interface.js +1 -1
  38. package/lib/Widgets/MostPolluting/Areas/styles.js +6 -4
  39. package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +9 -12
  40. package/lib/Widgets/MostPolluting/Factories/Factories.js +65 -33
  41. package/lib/Widgets/MostPolluting/Factories/FactoryBox/CardLayout.js +20 -15
  42. package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +20 -15
  43. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +10 -9
  44. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +11 -13
  45. package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +6 -4
  46. package/lib/Widgets/MostPolluting/Factories/factories.mock.js +3 -2
  47. package/lib/Widgets/MostPolluting/Factories/factoriesResponse.interface.js +1 -1
  48. package/lib/Widgets/MostPolluting/Factories/styles.js +6 -4
  49. package/lib/Widgets/MostPolluting/MostPolluting.js +34 -23
  50. package/lib/Widgets/MostPolluting/MostPolluting.stories.js +32 -20
  51. package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +5 -7
  52. package/lib/Widgets/MostPolluting/ShowMore/styles.js +6 -7
  53. package/lib/Widgets/MostPolluting/assets/index.js +12 -12
  54. package/lib/Widgets/MostPolluting/components/ChangePercent.js +14 -20
  55. package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +31 -36
  56. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +54 -49
  57. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +40 -44
  58. package/lib/Widgets/MostPolluting/components/PotentialImpact.js +27 -28
  59. package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +49 -53
  60. package/lib/Widgets/MostPolluting/models.js +1 -1
  61. package/lib/Widgets/MostPolluting/styles.js +6 -4
  62. package/lib/Widgets/PotentialImpactSummary/Back/Back.js +6 -8
  63. package/lib/Widgets/PotentialImpactSummary/Icon.js +39 -30
  64. package/lib/Widgets/PotentialImpactSummary/index.js +28 -20
  65. package/lib/Widgets/PotentialImpactSummary/index.test.js +54 -48
  66. package/lib/Widgets/PotentialImpactSummary/styles.js +13 -8
  67. package/lib/Widgets/PotentialImpactSummary/useCasesResponse.interface.js +1 -1
  68. package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +8 -10
  69. package/lib/Widgets/QualitySummary/PieChart/PieChart.js +18 -23
  70. package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +31 -34
  71. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +26 -28
  72. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +38 -35
  73. package/lib/Widgets/QualitySummary/QualitySummary.js +14 -10
  74. package/lib/Widgets/QualitySummary/qualitySummary.mock.js +7 -4
  75. package/lib/Widgets/QualitySummary/qualitySummaryResponse.interface.js +1 -1
  76. package/lib/Widgets/QualitySummary/styles.js +21 -24
  77. package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +14 -12
  78. package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +25 -25
  79. package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +21 -26
  80. package/lib/Widgets/UtilityInformation/UtilityInformation.js +36 -23
  81. package/lib/Widgets/UtilityInformation/UtilityInformationResponse.interface.js +1 -1
  82. package/lib/Widgets/UtilityInformation/styles.js +31 -30
  83. package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +5 -3
  84. package/lib/assets/icons/TopNavbar/index.js +7 -7
  85. package/lib/assets/icons/TrendSvg.js +7 -7
  86. package/lib/assets/icons/index.js +16 -16
  87. package/lib/assets/icons/kandoStepper/index.js +7 -7
  88. package/lib/assets/icons/siteTypes/index.js +2 -2
  89. package/lib/components/ApplyButton/ApplyButton.js +11 -10
  90. package/lib/components/ApplyButton/index.js +4 -3
  91. package/lib/components/Backdrop/Backdrop.js +5 -7
  92. package/lib/components/ContentLoader/ContentLoader.js +10 -12
  93. package/lib/components/ContentLoader/index.js +2 -2
  94. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +12 -12
  95. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +9 -5
  96. package/lib/components/CustomInputs/DoubleTabs/styles.js +16 -21
  97. package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +20 -12
  98. package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +6 -7
  99. package/lib/components/CustomInputs/Search/Search.js +60 -37
  100. package/lib/components/CustomInputs/Search/index.js +4 -3
  101. package/lib/components/CustomInputs/Select/Select.js +55 -38
  102. package/lib/components/CustomInputs/Select/Select.stories.js +10 -6
  103. package/lib/components/DamageType/DamageType.js +60 -35
  104. package/lib/components/DamageType/index.js +4 -3
  105. package/lib/components/DataLoaderError/DataLoaderError.js +7 -9
  106. package/lib/components/DischargeHeatmap/DischargeHeatmap.js +13 -11
  107. package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +73 -72
  108. package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +37 -25
  109. package/lib/components/DischargeHeatmap/HighchartsOptions.js +16 -12
  110. package/lib/components/DischargeHeatmap/index.js +4 -3
  111. package/lib/components/DischargeHeatmap/mocks/handlers.js +6 -5
  112. package/lib/components/DischargeHeatmap/popupText.js +12 -11
  113. package/lib/components/DischargeHeatmap/titles.js +6 -4
  114. package/lib/components/DischargeHeatmap/types.js +1 -1
  115. package/lib/components/ErrorBoundary.js +42 -27
  116. package/lib/components/Events/Events.js +48 -29
  117. package/lib/components/Events/index.js +4 -3
  118. package/lib/components/Graph/Graph.js +95 -74
  119. package/lib/components/Graph/index.js +4 -3
  120. package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +24 -19
  121. package/lib/components/Header/Breadcrumbs/index.js +4 -3
  122. package/lib/components/Header/DoubleTabs/DoubleTabs.js +28 -18
  123. package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +9 -5
  124. package/lib/components/Header/DoubleTabs/styles.js +8 -5
  125. package/lib/components/Header/Header.js +3 -3
  126. package/lib/components/Header/Header.stories.js +9 -5
  127. package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +36 -24
  128. package/lib/components/Header/InfoBar/InfoBar.js +102 -69
  129. package/lib/components/Header/InfoBar/Search/Control.js +10 -11
  130. package/lib/components/Header/InfoBar/Search/GroupLabel.js +7 -8
  131. package/lib/components/Header/InfoBar/Search/Search.js +24 -17
  132. package/lib/components/Header/InfoBar/Search/SearchContainer.js +35 -21
  133. package/lib/components/Header/InfoBar/Search/index.js +4 -3
  134. package/lib/components/Header/InfoBar/Search/searchStyle.js +49 -36
  135. package/lib/components/Header/InfoBar/TimeFilter.js +17 -13
  136. package/lib/components/Header/InfoBar/types.js +1 -1
  137. package/lib/components/Header/KandoNavbar/KandoNavbar.js +93 -66
  138. package/lib/components/Header/KandoNavbar/index.js +4 -3
  139. package/lib/components/Header/Slideshow/Slideshow.js +91 -67
  140. package/lib/components/Header/Slideshow/index.js +4 -3
  141. package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +5 -7
  142. package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +24 -22
  143. package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +17 -17
  144. package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +42 -36
  145. package/lib/components/Header/Toolbar/Toolbar.js +76 -58
  146. package/lib/components/InfoBar/InfoBar.js +24 -10
  147. package/lib/components/InfoBar/InfoBar.stories.js +9 -5
  148. package/lib/components/KandoModal/KandoModal.js +62 -26
  149. package/lib/components/KandoModal/index.js +4 -3
  150. package/lib/components/Link.js +8 -9
  151. package/lib/components/Links/CustomRedirect/CustomRedirect.js +7 -10
  152. package/lib/components/Links/StyledLink/StyledLink.js +20 -17
  153. package/lib/components/Links/StyledNavLink/StyledNavLink.js +10 -12
  154. package/lib/components/LiveEvents/CarouselSlide.js +10 -11
  155. package/lib/components/LiveEvents/LiveEvents.js +6 -7
  156. package/lib/components/LiveEvents/index.js +4 -3
  157. package/lib/components/LoaderByPercent/LoaderByPercent.js +30 -37
  158. package/lib/components/Map/Map.js +25 -20
  159. package/lib/components/Map/index.js +4 -3
  160. package/lib/components/Modal/Modal.js +10 -10
  161. package/lib/components/NarrowHeader.js +32 -18
  162. package/lib/components/PointInfo/PointInfo.js +19 -20
  163. package/lib/components/PointInfo/index.js +4 -3
  164. package/lib/components/PopupModal/PopupModal.js +17 -13
  165. package/lib/components/PopupModal/PopupModal.stories.js +24 -17
  166. package/lib/components/SeasonalInsights/SeasonalInsights.js +147 -0
  167. package/lib/components/Sector/Sector.js +40 -34
  168. package/lib/components/Sector/Sector.test.js +24 -24
  169. package/lib/components/Sector/SectorIconsNew.js +19 -26
  170. package/lib/components/Sector/index.js +4 -3
  171. package/lib/components/Sector/sectorIcons.js +5 -4
  172. package/lib/components/SevereEvent/Eta/Eta.js +54 -49
  173. package/lib/components/SevereEvent/Eta/styles.js +8 -11
  174. package/lib/components/SevereEvent/SevereEvent.js +52 -28
  175. package/lib/components/SevereEvent/SevereEvent.scss +24 -0
  176. package/lib/components/SevereEvent/UpstreamBadge.js +60 -0
  177. package/lib/components/Spinner/Spinner.js +8 -8
  178. package/lib/components/Spinner/Spinner.stories.js +11 -6
  179. package/lib/components/Spinner/index.js +4 -3
  180. package/lib/components/Spinner/styles.js +16 -21
  181. package/lib/components/Tabs/Tabs.js +31 -18
  182. package/lib/components/Tabs/Tabs.stories.js +10 -6
  183. package/lib/components/Tabs/assets/index.js +6 -6
  184. package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +18 -13
  185. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +45 -32
  186. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +34 -20
  187. package/lib/components/TimeRangeSelector/KandoRangePicker/index.js +4 -3
  188. package/lib/components/TimeRangeSelector/TimeRangeHelper.js +22 -17
  189. package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +14 -13
  190. package/lib/components/TimeRangeSelector/TimeRangeItem/index.js +4 -3
  191. package/lib/components/TimeRangeSelector/TimeRangeList.js +27 -24
  192. package/lib/components/TimeRangeSelector/TimeRangeOptions.js +27 -17
  193. package/lib/components/TimeRangeSelector/TimeRangeSelector.js +31 -26
  194. package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +10 -6
  195. package/lib/components/TimeRangeSelector/constants.js +5 -3
  196. package/lib/components/TimeRangeSelector/index.js +4 -3
  197. package/lib/components/Toggle/Toggle.js +18 -11
  198. package/lib/components/Toggle/index.js +4 -3
  199. package/lib/components/TopBanner/TopBanner.js +235 -0
  200. package/lib/components/TopBanner/insightsDismissalStorage.js +36 -0
  201. package/lib/components/TrendGraph/TrendGraph.js +42 -24
  202. package/lib/components/TrendGraph/index.js +4 -3
  203. package/lib/components/TrendGraphNVL/TrendGraphNVL.js +33 -26
  204. package/lib/components/TrendGraphNVL/index.js +4 -3
  205. package/lib/development-environment/index.js +13 -9
  206. package/lib/development-environment/mock/browser.js +5 -2
  207. package/lib/development-environment/mock/get.js +10 -8
  208. package/lib/development-environment/mock/handlers.js +3 -2
  209. package/lib/development-environment/mock/mockBus.js +5 -4
  210. package/lib/development-environment/mock/mockObjects/area-trends-graph.js +3 -2
  211. package/lib/development-environment/mock/mockObjects/areaInformation.js +3 -2
  212. package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +3 -2
  213. package/lib/development-environment/mock/mockObjects/areaSitesData.js +3 -2
  214. package/lib/development-environment/mock/mockObjects/areasJson.js +3 -2
  215. package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +3 -2
  216. package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +3 -2
  217. package/lib/development-environment/mock/mockObjects/data-menuData.js +3 -2
  218. package/lib/development-environment/mock/mockObjects/data-search.js +3 -2
  219. package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +3 -2
  220. package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +3 -2
  221. package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +3 -2
  222. package/lib/development-environment/mock/mockObjects/eventsJson.js +3 -2
  223. package/lib/development-environment/mock/mockObjects/metascore.js +3 -2
  224. package/lib/development-environment/mock/mockObjects/permissionsJson.js +3 -2
  225. package/lib/development-environment/mock/mockObjects/pointsJson.js +3 -2
  226. package/lib/development-environment/mock/mockObjects/site-info.js +3 -2
  227. package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +3 -2
  228. package/lib/development-environment/togly/ToglyDashboard.js +23 -13
  229. package/lib/development-environment/togly/ToglyItem.js +31 -24
  230. package/lib/development-environment/togly/flags.js +1 -1
  231. package/lib/development-environment/togly/init.js +4 -4
  232. package/lib/development-environment/togly/macro.js +9 -13
  233. package/lib/development-environment/togly/useDoubleKeyDown.js +9 -7
  234. package/lib/development-environment/togly/useLocalStorage.js +18 -13
  235. package/lib/hooks/useApi.js +56 -20
  236. package/lib/hooks/useApiWithDashboardQuery.js +43 -23
  237. package/lib/hooks/useClickOutside.js +5 -4
  238. package/lib/hooks/useInitializeHeaders.js +6 -6
  239. package/lib/hooks/useKandoFetch.js +31 -17
  240. package/lib/hooks/useMap.js +37 -25
  241. package/lib/hooks/useNavContext.js +26 -22
  242. package/lib/hooks/useQueryURL.js +3 -2
  243. package/lib/hooks/useRemoveExistingLayers.js +8 -7
  244. package/lib/hooks/useUpdateEventBodyTail.js +19 -14
  245. package/lib/hooks/useUserTimeZone.js +31 -34
  246. package/lib/hooks/useUserTimeZone.test.js +23 -19
  247. package/lib/hooks/useWindowSize.js +14 -7
  248. package/lib/i18n/en.json +15 -3
  249. package/lib/i18n/fr.json +4 -0
  250. package/lib/i18n/he.json +12 -1
  251. package/lib/i18n/it.json +4 -0
  252. package/lib/index.js +13 -11
  253. package/lib/macros/getVersion.js +2 -2
  254. package/lib/models/IAction.js +1 -1
  255. package/lib/models/IAppState.js +1 -1
  256. package/lib/pages/AreaPage/AreaPage.js +68 -34
  257. package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +17 -15
  258. package/lib/pages/AreaPage/Dashboard/Dashboard.js +28 -26
  259. package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +23 -14
  260. package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +5 -5
  261. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +8 -8
  262. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +10 -10
  263. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +6 -4
  264. package/lib/pages/AreaPage/Dashboard/Sites/SitesResponse.interface.js +1 -1
  265. package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +3 -2
  266. package/lib/pages/AreaPage/Dashboard/Sites/styles.js +8 -5
  267. package/lib/pages/AssessmentPage/AssessmentPage.js +46 -38
  268. package/lib/pages/CannyWidget/Feedback.js +16 -14
  269. package/lib/pages/CovidPage/CovidPage.js +16 -9
  270. package/lib/pages/CovidPage/components/Body.js +30 -26
  271. package/lib/pages/CovidPage/components/Map.js +40 -28
  272. package/lib/pages/CovidPage/components/Sidebar.js +16 -15
  273. package/lib/pages/CovidPage/components/Summary.js +29 -20
  274. package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +33 -26
  275. package/lib/pages/CovidPage/components/TrendGraphNVL/index.js +4 -3
  276. package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +76 -52
  277. package/lib/pages/CovidPage/components/TrendPopupContent/index.js +4 -3
  278. package/lib/pages/CovidPage/components/areas/Area.js +36 -24
  279. package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +46 -45
  280. package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +36 -32
  281. package/lib/pages/CovidPage/components/areas/AreasList.js +42 -29
  282. package/lib/pages/CovidPage/components/areas/Sort.js +17 -12
  283. package/lib/pages/CovidPage/components/nvlStatusHelper.js +11 -11
  284. package/lib/pages/DashboardMap/AreaCard.js +27 -27
  285. package/lib/pages/DashboardMap/AssessmentIcon.js +7 -8
  286. package/lib/pages/DashboardMap/Capacity.js +77 -28
  287. package/lib/pages/DashboardMap/FactoryCard.js +24 -28
  288. package/lib/pages/DashboardMap/HighchartsOptions.js +5 -6
  289. package/lib/pages/DashboardMap/List.js +65 -55
  290. package/lib/pages/DashboardMap/ListContext.js +19 -14
  291. package/lib/pages/DashboardMap/Loader.js +3 -3
  292. package/lib/pages/DashboardMap/SeverityBadge.js +24 -16
  293. package/lib/pages/DashboardMap/WWTPMap.js +71 -57
  294. package/lib/pages/DashboardMap/WaterDischarge.js +9 -9
  295. package/lib/pages/DashboardMap/Widget.js +67 -48
  296. package/lib/pages/DashboardMap/index.js +4 -3
  297. package/lib/pages/DashboardMap/utils.js +60 -41
  298. package/lib/pages/EventsPage/Body/Body.js +12 -15
  299. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +20 -17
  300. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +27 -16
  301. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +9 -10
  302. package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +10 -13
  303. package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +31 -22
  304. package/lib/pages/EventsPage/DragAndDropArea/index.js +4 -3
  305. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +38 -30
  306. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +23 -14
  307. package/lib/pages/EventsPage/EventsPage.js +17 -10
  308. package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +40 -26
  309. package/lib/pages/EventsPage/events/MoreInfo.js +19 -18
  310. package/lib/pages/EventsPage/events/Sidebar.js +11 -14
  311. package/lib/pages/EventsPage/events/event_info/Contaminants/Contaminants.js +10 -9
  312. package/lib/pages/EventsPage/events/event_info/Contaminants/ContaminantsList.js +24 -19
  313. package/lib/pages/EventsPage/events/event_info/Contaminants/index.js +4 -3
  314. package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +38 -31
  315. package/lib/pages/EventsPage/events/event_info/EventDetails.js +33 -35
  316. package/lib/pages/EventsPage/events/event_info/EventInfo.js +60 -50
  317. package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +5 -5
  318. package/lib/pages/EventsPage/events/event_info/EventSection.js +21 -18
  319. package/lib/pages/EventsPage/events/event_info/EventSection.test.js +23 -29
  320. package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +50 -39
  321. package/lib/pages/EventsPage/events/event_info/Header/Header.js +7 -8
  322. package/lib/pages/EventsPage/events/event_info/Header/HeaderContainer.js +35 -30
  323. package/lib/pages/EventsPage/events/event_info/Header/index.js +4 -3
  324. package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +7 -6
  325. package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +39 -30
  326. package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +9 -6
  327. package/lib/pages/EventsPage/events/event_info/PollutionAssessment /PollutionAssessment.js +15 -14
  328. package/lib/pages/EventsPage/events/event_info/PollutionAssessment /PollutionTypesList.js +12 -9
  329. package/lib/pages/EventsPage/events/event_info/PollutionAssessment /index.js +4 -3
  330. package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +24 -23
  331. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResult.js +22 -13
  332. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResultButton.js +6 -7
  333. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/index.js +4 -3
  334. package/lib/pages/EventsPage/events/event_info/SamplingList/SamplingDetails.js +12 -13
  335. package/lib/pages/EventsPage/events/event_info/SamplingList/Samplings.js +28 -22
  336. package/lib/pages/EventsPage/events/event_info/SamplingList/index.js +4 -3
  337. package/lib/pages/EventsPage/events/event_info/SeverityScore/ScoreExplanation.js +10 -13
  338. package/lib/pages/EventsPage/events/event_info/SeverityScore/SeverityScore.js +9 -8
  339. package/lib/pages/EventsPage/events/event_info/SeverityScore/index.js +4 -3
  340. package/lib/pages/EventsPage/events/event_info/SourceDetails/Confidence.js +9 -9
  341. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.js +5 -4
  342. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.test.js +11 -13
  343. package/lib/pages/EventsPage/events/event_info/SourceDetails/IconAndTitles.js +5 -7
  344. package/lib/pages/EventsPage/events/event_info/SourceDetails/MoreInfoButton.js +14 -11
  345. package/lib/pages/EventsPage/events/event_info/SourceDetails/OtherSources.js +6 -7
  346. package/lib/pages/EventsPage/events/event_info/SourceDetails/PotentialSources.js +8 -9
  347. package/lib/pages/EventsPage/events/event_info/SourceDetails/SingleSource.js +8 -9
  348. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceCardBody.js +7 -8
  349. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.js +12 -13
  350. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.test.js +19 -18
  351. package/lib/pages/EventsPage/events/event_info/SourceDetails/WaterDischarge.js +7 -7
  352. package/lib/pages/EventsPage/events/event_info/Timelines/DischargeBox.js +8 -9
  353. package/lib/pages/EventsPage/events/event_info/Timelines/EarlyWarning.js +18 -19
  354. package/lib/pages/EventsPage/events/event_info/Timelines/LiveStatusBadge.js +7 -6
  355. package/lib/pages/EventsPage/events/event_info/Timelines/SeenBox.js +12 -13
  356. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.js +19 -23
  357. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.test.js +11 -12
  358. package/lib/pages/EventsPage/events/event_info/Timelines/Titles.js +7 -8
  359. package/lib/pages/EventsPage/events/event_info/Timelines/index.js +4 -3
  360. package/lib/pages/EventsPage/events/event_info/Timelines/style.js +6 -4
  361. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +40 -25
  362. package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +39 -30
  363. package/lib/pages/EventsPage/events/event_info/samplingsOld/Sampling.js +12 -13
  364. package/lib/pages/EventsPage/events/event_info/samplingsOld/Samplings.js +20 -17
  365. package/lib/pages/EventsPage/events/event_info/sources/Source.js +31 -27
  366. package/lib/pages/EventsPage/events/event_info/sources/Sources.js +27 -22
  367. package/lib/pages/EventsPage/events/event_info/styles.js +15 -21
  368. package/lib/pages/EventsPage/events/events_list/EventItem.js +21 -18
  369. package/lib/pages/EventsPage/events/events_list/EventUtils.js +11 -11
  370. package/lib/pages/EventsPage/events/events_list/EventsList.js +142 -111
  371. package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +58 -41
  372. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +135 -90
  373. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +76 -54
  374. package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +44 -39
  375. package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +41 -32
  376. package/lib/pages/EventsPage/events/events_list/Filter/SingleSelect.js +21 -19
  377. package/lib/pages/EventsPage/events/events_list/Sort.js +39 -28
  378. package/lib/pages/ImportFileWizard/FileUploadRespones.js +22 -14
  379. package/lib/pages/ImportFileWizard/ImportButtomButtons.js +8 -9
  380. package/lib/pages/ImportFileWizard/ImportFile.js +25 -21
  381. package/lib/pages/ImportFileWizard/ResponseBody.js +36 -26
  382. package/lib/pages/ImportFileWizard/ValidationForm.js +23 -23
  383. package/lib/pages/ImportFileWizard/ValidationResponse.js +25 -23
  384. package/lib/pages/ImportFileWizard/importFileUtils.js +5 -4
  385. package/lib/pages/ImportFileWizard/index.js +4 -3
  386. package/lib/pages/ImportGisPage/ImportGisContainer.js +27 -22
  387. package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +44 -38
  388. package/lib/pages/ImportGisPage/importGisUtils.js +52 -43
  389. package/lib/pages/ImportGisProcess/index.js +18 -14
  390. package/lib/pages/ImportSiteProcess/index.js +18 -14
  391. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +13 -7
  392. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +20 -18
  393. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +4 -4
  394. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +60 -28
  395. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +12 -8
  396. package/lib/pages/NotificationsPage/Notification/Notification.js +13 -17
  397. package/lib/pages/NotificationsPage/Notifications.interface.js +1 -1
  398. package/lib/pages/NotificationsPage/Notifications.mock.js +3 -2
  399. package/lib/pages/NotificationsPage/Notifications.stories.js +10 -6
  400. package/lib/pages/NotificationsPage/NotificationsPage.js +38 -19
  401. package/lib/pages/NotificationsPage/assets/index.js +10 -10
  402. package/lib/pages/NotificationsPageV2/NotificationsPage.js +101 -72
  403. package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +65 -95
  404. package/lib/pages/NotificationsPageV2/components/NotificationsForm/EventType.js +15 -13
  405. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSendVia.js +17 -19
  406. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSensors.js +22 -18
  407. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSources.js +22 -18
  408. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationTags.js +23 -19
  409. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +71 -82
  410. package/lib/pages/NotificationsPageV2/components/NotificationsForm/WaterAuthoritySelection.js +23 -19
  411. package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +74 -71
  412. package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +94 -80
  413. package/lib/pages/NotificationsPageV2/notificationUtils.js +39 -40
  414. package/lib/pages/OldSitePage/IDashboardData.js +1 -1
  415. package/lib/pages/OldSitePage/OldSitePage.js +132 -56
  416. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +10 -6
  417. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +9 -5
  418. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +7 -9
  419. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +19 -16
  420. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +12 -10
  421. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +19 -12
  422. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +11 -14
  423. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +9 -5
  424. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +16 -18
  425. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +64 -51
  426. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +8 -10
  427. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +54 -29
  428. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +7 -4
  429. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +19 -12
  430. package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +11 -11
  431. package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +12 -10
  432. package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +23 -27
  433. package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +30 -28
  434. package/lib/pages/OldSitePage/SamplingParameters/models.js +1 -1
  435. package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +8 -5
  436. package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +12 -16
  437. package/lib/pages/OperationsPage/LeftPanel.js +55 -35
  438. package/lib/pages/OperationsPage/Map/Map.js +12 -12
  439. package/lib/pages/OperationsPage/Map/useMap.js +64 -52
  440. package/lib/pages/OperationsPage/OperationsContainerPage.js +59 -32
  441. package/lib/pages/OperationsPage/OperationsFilePage.js +12 -10
  442. package/lib/pages/OperationsPage/OperationsUtilityPage.js +6 -5
  443. package/lib/pages/OperationsPage/RightPanel.js +25 -22
  444. package/lib/pages/OperationsPage/index.js +4 -4
  445. package/lib/pages/PollutionRiskAssessment/FactoryDetails.js +60 -27
  446. package/lib/pages/PollutionRiskAssessment/FilterBehaviors.js +25 -19
  447. package/lib/pages/PollutionRiskAssessment/FilterButton.js +10 -11
  448. package/lib/pages/PollutionRiskAssessment/Map.js +42 -38
  449. package/lib/pages/PollutionRiskAssessment/SearchButton.js +10 -11
  450. package/lib/pages/PollutionRiskAssessment/SearchField.js +40 -26
  451. package/lib/pages/PollutionRiskAssessment/TotalSavings.js +16 -16
  452. package/lib/pages/PollutionRiskAssessment/UseCases.js +34 -32
  453. package/lib/pages/PollutionRiskAssessment/index.js +136 -76
  454. package/lib/pages/PollutionRiskAssessment/useMap.js +50 -34
  455. package/lib/pages/PollutionRiskAssessment/utils.js +7 -7
  456. package/lib/pages/ProfilePage/Container.js +4 -3
  457. package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +40 -23
  458. package/lib/pages/ProfilePage/ProfilePage.js +205 -106
  459. package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +34 -25
  460. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +20 -20
  461. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +30 -27
  462. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +119 -57
  463. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +23 -18
  464. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +13 -14
  465. package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +45 -40
  466. package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +24 -25
  467. package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +19 -18
  468. package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +18 -15
  469. package/lib/pages/SamplingsPage/DesktopActions/index.js +4 -3
  470. package/lib/pages/SamplingsPage/NavigationDropdown.js +31 -43
  471. package/lib/pages/SamplingsPage/NewSamplingAction.js +102 -75
  472. package/lib/pages/SamplingsPage/SamplingMobileModal.js +98 -124
  473. package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +25 -23
  474. package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +25 -36
  475. package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +61 -36
  476. package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +21 -16
  477. package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +9 -10
  478. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +193 -108
  479. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +54 -47
  480. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +39 -42
  481. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +39 -42
  482. package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +28 -21
  483. package/lib/pages/SamplingsPage/SamplingProperties/styles.js +6 -4
  484. package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +7 -11
  485. package/lib/pages/SamplingsPage/SamplingsMobileItem.js +53 -51
  486. package/lib/pages/SamplingsPage/SamplingsMobileList.js +31 -22
  487. package/lib/pages/SamplingsPage/SamplingsPage.js +33 -25
  488. package/lib/pages/SamplingsPage/SamplingsPageContainer.js +58 -49
  489. package/lib/pages/SamplingsPage/index.js +3 -2
  490. package/lib/pages/SamplingsPage/samplingsPageUtils.js +83 -52
  491. package/lib/pages/SitePage/DischargePattern/DischargePattern.js +6 -7
  492. package/lib/pages/SitePage/PollutionContributor/PollutionContributor.js +16 -16
  493. package/lib/pages/SitePage/PollutionContributor/PollutionContributorContainer.js +16 -12
  494. package/lib/pages/SitePage/PollutionContributor/contributorUtils.js +16 -16
  495. package/lib/pages/SitePage/PollutionContributor/index.js +4 -3
  496. package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +9 -5
  497. package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +15 -15
  498. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +9 -10
  499. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +24 -27
  500. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +16 -12
  501. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +33 -37
  502. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +12 -10
  503. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +25 -15
  504. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +11 -14
  505. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +9 -5
  506. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +16 -18
  507. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +71 -58
  508. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +8 -10
  509. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +27 -15
  510. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +9 -5
  511. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +19 -12
  512. package/lib/pages/SitePage/SamplingParameters/body/Body.js +9 -10
  513. package/lib/pages/SitePage/SamplingParameters/body/BodyContainer.js +40 -30
  514. package/lib/pages/SitePage/SamplingParameters/body/index.js +4 -3
  515. package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +12 -11
  516. package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +12 -10
  517. package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +54 -54
  518. package/lib/pages/SitePage/SamplingParameters/dataParser.js +41 -32
  519. package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +9 -11
  520. package/lib/pages/SitePage/SamplingParameters/models.js +1 -1
  521. package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +8 -5
  522. package/lib/pages/SitePage/SamplingParameters/styles/styles.js +12 -16
  523. package/lib/pages/SitePage/SiteInformation/EmptyState.js +10 -13
  524. package/lib/pages/SitePage/SiteInformation/SiteInformation.js +31 -31
  525. package/lib/pages/SitePage/SitePage.js +77 -37
  526. package/lib/pages/UploadLabResult/index.js +16 -15
  527. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +37 -27
  528. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +13 -8
  529. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +15 -11
  530. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +9 -5
  531. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +50 -47
  532. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +8 -11
  533. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +5 -4
  534. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +9 -6
  535. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +10 -11
  536. package/lib/pages/UtilityDashboardPage/MostSevereEvents/models.js +1 -1
  537. package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +13 -16
  538. package/lib/pages/UtilityDashboardPage/TopBar/constants.js +8 -8
  539. package/lib/pages/UtilityDashboardPage/TopBar/styles.js +4 -3
  540. package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +30 -20
  541. package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +40 -28
  542. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +17 -15
  543. package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +14 -7
  544. package/lib/pages/UtilityDashboardPage/VirtualAreaDashboardPage.js +31 -26
  545. package/lib/pages/WbeDashboard/ExpandableComponent.js +9 -9
  546. package/lib/pages/WbeDashboard/GraphWrapper.js +35 -28
  547. package/lib/pages/WbeDashboard/IndividualTinyGraph.js +19 -16
  548. package/lib/pages/WbeDashboard/SearchInput.js +21 -15
  549. package/lib/pages/WbeDashboard/SummaryGraph.js +77 -50
  550. package/lib/pages/WbeDashboard/SummaryGraphModal.js +18 -20
  551. package/lib/pages/WbeDashboard/Tabs.js +11 -11
  552. package/lib/pages/WbeDashboard/WbeDashboardPage.js +210 -147
  553. package/lib/pages/WbeDashboard/WbeSummaryBar.js +48 -39
  554. package/lib/pages/WwtpPage/DashboardCard.js +21 -25
  555. package/lib/pages/WwtpPage/DischargePatternCard.js +25 -14
  556. package/lib/pages/WwtpPage/InletsCard/InletsBar.js +11 -11
  557. package/lib/pages/WwtpPage/InletsCard/InletsCard.js +22 -22
  558. package/lib/pages/WwtpPage/InletsCard/index.js +4 -3
  559. package/lib/pages/WwtpPage/Map.js +6 -6
  560. package/lib/pages/WwtpPage/OrganicCard.js +5 -4
  561. package/lib/pages/WwtpPage/PotentialSaving/ImpactCard.js +5 -4
  562. package/lib/pages/WwtpPage/PotentialSaving/PotentialItem.js +7 -8
  563. package/lib/pages/WwtpPage/PotentialSaving/PotentialSaving.js +11 -11
  564. package/lib/pages/WwtpPage/PotentialSaving/PotentialSavingContainer.js +17 -20
  565. package/lib/pages/WwtpPage/PotentialSaving/index.js +4 -3
  566. package/lib/pages/WwtpPage/PotentialSaving/types.js +1 -1
  567. package/lib/pages/WwtpPage/PredictionCard.js +5 -4
  568. package/lib/pages/WwtpPage/TrendCard.js +22 -20
  569. package/lib/pages/WwtpPage/UpgradeBox.js +5 -4
  570. package/lib/pages/WwtpPage/WwtpPage.js +8 -9
  571. package/lib/pages/WwtpPage/WwtpPageContainer.js +19 -23
  572. package/lib/pages/WwtpPage/index.js +4 -3
  573. package/lib/providers/Slideshow/SlideshowContext.js +10 -11
  574. package/lib/providers/Slideshow/SlideshowProvider.js +40 -22
  575. package/lib/providers/Slideshow/SlideshowRunner.js +21 -18
  576. package/lib/providers/UrlHistory/UrlHistoryContext.js +6 -7
  577. package/lib/providers/UrlHistory/UrlHistoryProvider.js +13 -12
  578. package/lib/providers/UrlHistory/index.js +4 -4
  579. package/lib/providers/UrlHistory/useLastVisited.js +6 -5
  580. package/lib/react-app-env.d.js +1 -1
  581. package/lib/store/ImportGis/action.js +1 -1
  582. package/lib/store/ImportGis/actionTypes.js +5 -4
  583. package/lib/store/ImportGis/actionsCreator.js +5 -7
  584. package/lib/store/ImportGis/models/gisImports.js +1 -1
  585. package/lib/store/ImportGis/reducer.js +7 -9
  586. package/lib/store/WBE/actionTypes.js +3 -2
  587. package/lib/store/WBE/actions.js +1 -1
  588. package/lib/store/WBE/models/IAreaWBE.js +1 -1
  589. package/lib/store/WBE/models/IWBE.js +1 -1
  590. package/lib/store/WBE/models/IWBEState.js +1 -1
  591. package/lib/store/WBE/reducer.js +8 -10
  592. package/lib/store/WWTPDashboard/WWTPDashboardSlice.js +15 -24
  593. package/lib/store/WWTPDashboard/types.js +1 -1
  594. package/lib/store/areas/actionTypes.js +7 -4
  595. package/lib/store/areas/actions.js +13 -7
  596. package/lib/store/areas/models/IArea.js +1 -1
  597. package/lib/store/areas/models/IAreasState.js +1 -1
  598. package/lib/store/areas/reducer.js +6 -8
  599. package/lib/store/context/actionTypes.js +5 -3
  600. package/lib/store/context/actions.js +3 -3
  601. package/lib/store/context/contextMiddlewares.js +18 -15
  602. package/lib/store/context/models/INavContext.js +1 -1
  603. package/lib/store/context/models/INavContextState.js +1 -1
  604. package/lib/store/context/reducer.js +8 -10
  605. package/lib/store/dashboard/dashboardSlice.js +11 -18
  606. package/lib/store/dashboard/periodType.js +1 -1
  607. package/lib/store/edges/actionTypes.js +9 -5
  608. package/lib/store/edges/actions.js +8 -4
  609. package/lib/store/edges/models/IEdge.js +1 -1
  610. package/lib/store/edges/models/IEdgesState.js +1 -1
  611. package/lib/store/edges/reducer.js +17 -13
  612. package/lib/store/events/actionTypes.js +33 -17
  613. package/lib/store/events/actions.js +7 -3
  614. package/lib/store/events/models/IEvent.js +1 -1
  615. package/lib/store/events/models/IEventsState.js +1 -1
  616. package/lib/store/events/models/ISource.js +1 -1
  617. package/lib/store/events/reducer.js +39 -28
  618. package/lib/store/filters/IFilter.js +1 -1
  619. package/lib/store/filters/IFilterItem.js +1 -1
  620. package/lib/store/global/actionTypes.js +21 -11
  621. package/lib/store/global/actions.js +6 -8
  622. package/lib/store/global/models/IGlobalState.js +1 -1
  623. package/lib/store/global/reducer.js +7 -9
  624. package/lib/store/permissions/permissionsSlice.js +9 -12
  625. package/lib/store/points/actionTypes.js +5 -3
  626. package/lib/store/points/actions.js +10 -6
  627. package/lib/store/points/models/IGeoPoint.js +1 -1
  628. package/lib/store/points/models/IGroup.js +1 -1
  629. package/lib/store/points/models/IIssue.js +1 -1
  630. package/lib/store/points/models/IPoint.js +1 -1
  631. package/lib/store/points/models/IPointsState.js +1 -1
  632. package/lib/store/points/reducer.js +5 -7
  633. package/lib/store/rootActionTypes.js +3 -2
  634. package/lib/store/rootActions.js +1 -1
  635. package/lib/store/rootReducer.js +10 -12
  636. package/lib/store/rootStore.js +6 -6
  637. package/lib/store/samplings/action.js +1 -1
  638. package/lib/store/samplings/actionTypes.js +5 -4
  639. package/lib/store/samplings/actionsCreator.js +1 -1
  640. package/lib/store/samplings/models/Samplings.js +1 -1
  641. package/lib/store/samplings/reducer.js +10 -10
  642. package/lib/styles/StylesLayout.js +6 -7
  643. package/lib/styles/theme/theme.js +26 -23
  644. package/lib/test/mocks/browser.js +5 -2
  645. package/lib/test/test-utils.js +9 -12
  646. package/lib/ui-kit/Alert/KandoAlert.js +6 -8
  647. package/lib/ui-kit/Button/Button.js +83 -129
  648. package/lib/ui-kit/Button/Button.test.js +33 -27
  649. package/lib/ui-kit/Button/ButtonUtils.js +1 -1
  650. package/lib/ui-kit/Checkbox/Checkbox.js +27 -34
  651. package/lib/ui-kit/ContentCard/ContentCard.js +20 -16
  652. package/lib/ui-kit/Dashboard/Dashboard.js +28 -29
  653. package/lib/ui-kit/Dashboard/index.js +4 -3
  654. package/lib/ui-kit/DropDown/DropDown.js +22 -23
  655. package/lib/ui-kit/DropDown/DropDown.test.js +13 -13
  656. package/lib/ui-kit/DropDown/DropDownItem.js +25 -26
  657. package/lib/ui-kit/DropDown/DropdownToggle.js +10 -13
  658. package/lib/ui-kit/EmptyState/EmptyState.js +6 -7
  659. package/lib/ui-kit/HierarchyGraph/AutoFitTree.js +81 -69
  660. package/lib/ui-kit/HierarchyGraph/HierarchyGraph.js +167 -89
  661. package/lib/ui-kit/HierarchyGraph/LeafSign.js +7 -7
  662. package/lib/ui-kit/HierarchyGraph/MicroStackedBar.js +19 -17
  663. package/lib/ui-kit/HierarchyGraph/NodeIcon.js +8 -9
  664. package/lib/ui-kit/HierarchyGraph/NodeLayout.js +25 -22
  665. package/lib/ui-kit/HierarchyGraph/PollutionContributorNode.js +10 -11
  666. package/lib/ui-kit/HierarchyGraph/ScoreNode.js +9 -10
  667. package/lib/ui-kit/HierarchyGraph/index.js +4 -3
  668. package/lib/ui-kit/HierarchyGraph/utils.js +67 -57
  669. package/lib/ui-kit/IconAction/IconAction.js +8 -9
  670. package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +64 -47
  671. package/lib/ui-kit/InfoTooltip/InfoTooltip.js +49 -58
  672. package/lib/ui-kit/InletsPie/InletsPie.js +16 -17
  673. package/lib/ui-kit/InletsPie/index.js +4 -3
  674. package/lib/ui-kit/InletsPie/options.js +9 -7
  675. package/lib/ui-kit/KandoBottomSheet/KandoBottomSheet.js +38 -29
  676. package/lib/ui-kit/KandoFilter/KandoFilter.js +11 -10
  677. package/lib/ui-kit/KandoList/KandoList.js +12 -13
  678. package/lib/ui-kit/KandoList/kandoListUtils.js +1 -1
  679. package/lib/ui-kit/KandoTable/KandoTable.js +41 -48
  680. package/lib/ui-kit/KandoTable/KandoTable.test.js +27 -21
  681. package/lib/ui-kit/KandoTable/kandoTableUtils.js +1 -1
  682. package/lib/ui-kit/Layout/Layout.js +7 -8
  683. package/lib/ui-kit/MobileInput/MobileInput.js +50 -56
  684. package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +17 -14
  685. package/lib/ui-kit/ModalConfirmation/index.js +3 -2
  686. package/lib/ui-kit/OrganicEvents/GaugeChart.js +8 -9
  687. package/lib/ui-kit/OrganicEvents/OrganicEvents.js +9 -8
  688. package/lib/ui-kit/OrganicEvents/OrganicEventsContainer.js +22 -26
  689. package/lib/ui-kit/OrganicEvents/TextInfo.js +13 -17
  690. package/lib/ui-kit/OrganicEvents/index.js +4 -3
  691. package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +11 -12
  692. package/lib/ui-kit/SamplingStatus/SamplingStatus.js +21 -17
  693. package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +4 -3
  694. package/lib/ui-kit/ScoreGauge/ScoreGauge.js +24 -21
  695. package/lib/ui-kit/ScoreGauge/constant.js +4 -3
  696. package/lib/ui-kit/ScoreGauge/index.js +4 -3
  697. package/lib/ui-kit/TimeLineChart/TrendChart.js +28 -25
  698. package/lib/ui-kit/TimeLineChart/index.js +4 -3
  699. package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +11 -10
  700. package/lib/ui-kit/Tooltip/Tooltip.js +9 -15
  701. package/lib/ui-kit/index.js +8 -8
  702. package/lib/ui-kit/kandoStepper/KandoStepper.js +14 -13
  703. package/lib/ui-kit/siteName/SiteName.js +11 -13
  704. package/lib/utilities/ActionUtility.js +7 -7
  705. package/lib/utilities/Alert.js +20 -23
  706. package/lib/utilities/Analytics.js +19 -19
  707. package/lib/utilities/Array.js +5 -4
  708. package/lib/utilities/Enum.js +51 -15
  709. package/lib/utilities/ErrorBoundary.js +42 -27
  710. package/lib/utilities/File.js +73 -45
  711. package/lib/utilities/GetDir.js +10 -10
  712. package/lib/utilities/KandoDate.js +15 -7
  713. package/lib/utilities/KandoModal.js +28 -16
  714. package/lib/utilities/LocalStorage.js +7 -5
  715. package/lib/utilities/ThousandsToK.js +2 -2
  716. package/lib/utilities/TimeFormat.js +23 -22
  717. package/lib/utilities/Truncate.js +27 -17
  718. package/lib/utilities/edgesMath.js +16 -15
  719. package/lib/utilities/i18n.js +6 -5
  720. package/lib/utilities/kql.js +12 -10
  721. package/lib/utilities/map/icons.js +18 -18
  722. package/lib/utilities/polylinedecorator.js +113 -88
  723. package/lib/utilities/scoreToData.js +26 -20
  724. package/lib/utilities/scoreToData.test.js +5 -5
  725. package/lib/utilities/time.js +10 -9
  726. package/lib/utilities/uploadToS3.js +12 -12
  727. package/lib/utilities/urls.js +16 -19
  728. package/package.json +9 -12
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
9
11
  var _react = _interopRequireWildcard(require("react"));
10
12
  var _reactRedux = require("react-redux");
11
13
  var _AreaUtils = require("./AreaUtils");
@@ -15,80 +17,104 @@ var _utils = require("pages/DashboardMap/utils");
15
17
  var _scoreToData = require("utilities/scoreToData");
16
18
  var _Capacity = require("pages/DashboardMap/Capacity");
17
19
  var _reactRouterDom = require("react-router-dom");
18
- const AreaPolygon = props => {
19
- const {
20
- map,
21
- area,
22
- mapZoom,
23
- global_data,
24
- featureGroup
25
- } = props;
26
- const points = (0, _reactRedux.useSelector)(state => state.points_data.items);
27
- const areas = (0, _reactRedux.useSelector)(state => state.areas_data.items);
28
- const WWTPMode = (0, _reactRedux.useSelector)(state => state.wwtp_dashboard.map !== null);
29
- const capacity = global_data.waterAuthorityIsCapacity;
30
- const dispatch = (0, _reactRedux.useDispatch)();
31
- const history = (0, _reactRouterDom.useHistory)();
32
- const WWTPMapLogic = (polygon, area) => {
20
+ 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); }
21
+ 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; }
22
+ var AreaPolygon = function AreaPolygon(props) {
23
+ var map = props.map,
24
+ area = props.area,
25
+ mapZoom = props.mapZoom,
26
+ global_data = props.global_data,
27
+ featureGroup = props.featureGroup;
28
+ var points = (0, _reactRedux.useSelector)(function (state) {
29
+ return state.points_data.items;
30
+ });
31
+ var areas = (0, _reactRedux.useSelector)(function (state) {
32
+ return state.areas_data.items;
33
+ });
34
+ var WWTPMode = (0, _reactRedux.useSelector)(function (state) {
35
+ return state.wwtp_dashboard.map !== null;
36
+ });
37
+ var capacity = global_data.waterAuthorityIsCapacity;
38
+ var dispatch = (0, _reactRedux.useDispatch)();
39
+ var history = (0, _reactRouterDom.useHistory)();
40
+ var WWTPMapLogic = function WWTPMapLogic(polygon, area) {
33
41
  if (!WWTPMode || !capacity) return;
34
- const fetchDataAndShowPopup = async () => {
35
- const widgetContainer = document.createElement('span');
36
- (0, _utils.createPopupForObject)({
37
- renderedElement: widgetContainer,
38
- marker: polygon
39
- });
40
- const type = (area === null || area === void 0 ? void 0 : area.is_virtual) === true ? 'varea' : 'area';
41
- (0, _Capacity.fetchCapacity)(type, area.area_id, global_data.waterAuthorityId).then(listData => {
42
- _reactDom.default.render(/*#__PURE__*/_react.default.createElement(_Widget.Widget, {
43
- object: area,
44
- dispatch: dispatch,
45
- areas: areas,
46
- points: points,
47
- map: map,
48
- global_data: global_data,
49
- listData: listData,
50
- history: history
51
- }), widgetContainer);
52
- });
53
- if (!polygon.isPopupOpen()) {
54
- polygon.openPopup();
55
- }
56
- };
57
- polygon.on('click-event', () => {
42
+ var fetchDataAndShowPopup = /*#__PURE__*/function () {
43
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
44
+ var widgetContainer, type;
45
+ return _regenerator.default.wrap(function _callee$(_context) {
46
+ while (1) {
47
+ switch (_context.prev = _context.next) {
48
+ case 0:
49
+ widgetContainer = document.createElement('span');
50
+ (0, _utils.createPopupForObject)({
51
+ renderedElement: widgetContainer,
52
+ marker: polygon
53
+ });
54
+ type = (area === null || area === void 0 ? void 0 : area.is_virtual) === true ? 'varea' : 'area';
55
+ (0, _Capacity.fetchCapacity)(type, area.area_id, global_data.waterAuthorityId).then(function (listData) {
56
+ _reactDom.default.render( /*#__PURE__*/_react.default.createElement(_Widget.Widget, {
57
+ object: area,
58
+ dispatch: dispatch,
59
+ areas: areas,
60
+ points: points,
61
+ map: map,
62
+ global_data: global_data,
63
+ listData: listData,
64
+ history: history
65
+ }), widgetContainer);
66
+ });
67
+ if (!polygon.isPopupOpen()) {
68
+ polygon.openPopup();
69
+ }
70
+ case 5:
71
+ case "end":
72
+ return _context.stop();
73
+ }
74
+ }
75
+ }, _callee);
76
+ }));
77
+ return function fetchDataAndShowPopup() {
78
+ return _ref.apply(this, arguments);
79
+ };
80
+ }();
81
+ polygon.on('click-event', function () {
58
82
  polygon.isPopupOpen() ? polygon.closePopup() : fetchDataAndShowPopup();
59
83
  polygon.openTooltip();
60
84
  });
61
- polygon.on('click', () => {
85
+ polygon.on('click', function () {
62
86
  fetchDataAndShowPopup();
63
- const subject = 'Map View - Area clicked';
87
+ var subject = 'Map View - Area clicked';
64
88
  (0, _utils.sendAnalyticsEvent)(subject, 'map', {
65
89
  area_id: area.area_id,
66
90
  area_name: area.area_name
67
91
  });
68
92
  });
69
93
  };
70
- const getPolygon = id => {
71
- let polygon;
72
- featureGroup.eachLayer(layer => {
94
+ var getPolygon = function getPolygon(id) {
95
+ var polygon;
96
+ featureGroup.eachLayer(function (layer) {
73
97
  if (layer.kando_object_id === id) {
74
98
  polygon = layer;
75
99
  }
76
100
  });
77
101
  return polygon;
78
102
  };
79
- const isPolygonChangedColor = (polygon, area) => {
103
+ var isPolygonChangedColor = function isPolygonChangedColor(polygon, area) {
80
104
  if (!polygon) return true;
81
- const areaColor = (0, _scoreToData.objectToColor)(area);
82
- const polygonColor = polygon.options.color;
105
+ var areaColor = (0, _scoreToData.objectToColor)(area);
106
+ var polygonColor = polygon.options.color;
83
107
  return areaColor !== polygonColor;
84
108
  };
85
- (0, _react.useEffect)(() => {
86
- const area_id = (0, _AreaUtils.getAreaId)(area);
87
- const existingPolygon = getPolygon(area_id);
109
+ (0, _react.useEffect)(function () {
110
+ var area_id = (0, _AreaUtils.getAreaId)(area);
111
+ var existingPolygon = getPolygon(area_id);
88
112
  if (isPolygonChangedColor(existingPolygon, area)) {
89
- const polygon = (0, _AreaUtils.createPolygon)(area, mapZoom, featureGroup, map, WWTPMapLogic);
113
+ var polygon = (0, _AreaUtils.createPolygon)(area, mapZoom, featureGroup, map, WWTPMapLogic);
90
114
  if (polygon) {
91
- const subAreas = area.sub_areas.map(subArea => subArea.area_id);
115
+ var subAreas = area.sub_areas.map(function (subArea) {
116
+ return subArea.area_id;
117
+ });
92
118
  if (subAreas.length > 0) {
93
119
  polygon['sub_areas'] = subAreas;
94
120
  }
@@ -101,6 +127,7 @@ const AreaPolygon = props => {
101
127
  }, [area, mapZoom, map, featureGroup]);
102
128
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
103
129
  };
104
- const connector = (0, _reactRedux.connect)(null);
105
- var _default = exports.default = connector(AreaPolygon);
106
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9BcmVhVXRpbHMiLCJfcmVhY3REb20iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1dpZGdldCIsIl91dGlscyIsIl9zY29yZVRvRGF0YSIsIl9DYXBhY2l0eSIsIl9yZWFjdFJvdXRlckRvbSIsIkFyZWFQb2x5Z29uIiwicHJvcHMiLCJtYXAiLCJhcmVhIiwibWFwWm9vbSIsImdsb2JhbF9kYXRhIiwiZmVhdHVyZUdyb3VwIiwicG9pbnRzIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsInBvaW50c19kYXRhIiwiaXRlbXMiLCJhcmVhcyIsImFyZWFzX2RhdGEiLCJXV1RQTW9kZSIsInd3dHBfZGFzaGJvYXJkIiwiY2FwYWNpdHkiLCJ3YXRlckF1dGhvcml0eUlzQ2FwYWNpdHkiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwiaGlzdG9yeSIsInVzZUhpc3RvcnkiLCJXV1RQTWFwTG9naWMiLCJwb2x5Z29uIiwiZmV0Y2hEYXRhQW5kU2hvd1BvcHVwIiwid2lkZ2V0Q29udGFpbmVyIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwiY3JlYXRlUG9wdXBGb3JPYmplY3QiLCJyZW5kZXJlZEVsZW1lbnQiLCJtYXJrZXIiLCJ0eXBlIiwiaXNfdmlydHVhbCIsImZldGNoQ2FwYWNpdHkiLCJhcmVhX2lkIiwid2F0ZXJBdXRob3JpdHlJZCIsInRoZW4iLCJsaXN0RGF0YSIsIlJlYWN0RE9NIiwicmVuZGVyIiwiZGVmYXVsdCIsIldpZGdldCIsIm9iamVjdCIsImlzUG9wdXBPcGVuIiwib3BlblBvcHVwIiwib24iLCJjbG9zZVBvcHVwIiwib3BlblRvb2x0aXAiLCJzdWJqZWN0Iiwic2VuZEFuYWx5dGljc0V2ZW50IiwiYXJlYV9uYW1lIiwiZ2V0UG9seWdvbiIsImlkIiwiZWFjaExheWVyIiwibGF5ZXIiLCJrYW5kb19vYmplY3RfaWQiLCJpc1BvbHlnb25DaGFuZ2VkQ29sb3IiLCJhcmVhQ29sb3IiLCJvYmplY3RUb0NvbG9yIiwicG9seWdvbkNvbG9yIiwib3B0aW9ucyIsImNvbG9yIiwidXNlRWZmZWN0IiwiZ2V0QXJlYUlkIiwiZXhpc3RpbmdQb2x5Z29uIiwiY3JlYXRlUG9seWdvbiIsInN1YkFyZWFzIiwic3ViX2FyZWFzIiwic3ViQXJlYSIsImxlbmd0aCIsInJlbW92ZUxheWVyIiwiZmlyZSIsIkZyYWdtZW50IiwiY29ubmVjdG9yIiwiY29ubmVjdCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9hcmVhcy9BcmVhUG9seWdvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNvbm5lY3QsIHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5pbXBvcnQgeyBjcmVhdGVQb2x5Z29uIH0gZnJvbSAnLi9BcmVhVXRpbHMnO1xuaW1wb3J0IFJlYWN0RE9NIGZyb20gJ3JlYWN0LWRvbSc7XG5pbXBvcnQgeyBXaWRnZXQgfSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL1dpZGdldCc7XG5pbXBvcnQge1xuICBjcmVhdGVQb3B1cEZvck9iamVjdCxcbiAgc2VuZEFuYWx5dGljc0V2ZW50LFxufSBmcm9tICdzcmMvcGFnZXMvRGFzaGJvYXJkTWFwL3V0aWxzJztcbmltcG9ydCB7IEZlYXR1cmVHcm91cCB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0IHsgb2JqZWN0VG9Db2xvciB9IGZyb20gJ3NyYy91dGlsaXRpZXMvc2NvcmVUb0RhdGEnO1xuaW1wb3J0IHsgZmV0Y2hDYXBhY2l0eSB9IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvQ2FwYWNpdHknO1xuaW1wb3J0IHsgdXNlSGlzdG9yeSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgZ2V0QXJlYUlkIH0gZnJvbSAnLi9BcmVhVXRpbHMnO1xuXG50eXBlIFByb3BzID0ge1xuICBtYXA6IGFueTtcbiAgTDogYW55O1xuICBhcmVhOiBJQXJlYSAmIHsgY29sb3I/OiBzdHJpbmc7IHNob3dDb2xvck9ubHlJbkJvcmRlcnM/OiBib29sZWFuIH07XG4gIG1hcFpvb206IG51bWJlcjtcbiAgZ2xvYmFsX2RhdGE6IGFueTtcbiAgYmluZFBvcHVwPzogYm9vbGVhbjtcbiAgZmVhdHVyZUdyb3VwOiBGZWF0dXJlR3JvdXA7XG59O1xuXG5jb25zdCBBcmVhUG9seWdvbjogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgbWFwLCBhcmVhLCBtYXBab29tLCBnbG9iYWxfZGF0YSwgZmVhdHVyZUdyb3VwIH0gPSBwcm9wcztcbiAgY29uc3QgcG9pbnRzID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZS5wb2ludHNfZGF0YS5pdGVtcyk7XG4gIGNvbnN0IGFyZWFzID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZS5hcmVhc19kYXRhLml0ZW1zKTtcbiAgY29uc3QgV1dUUE1vZGUgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlLnd3dHBfZGFzaGJvYXJkLm1hcCAhPT0gbnVsbCk7XG4gIGNvbnN0IGNhcGFjaXR5ID0gZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJc0NhcGFjaXR5O1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IGhpc3RvcnkgPSB1c2VIaXN0b3J5KCk7XG5cbiAgY29uc3QgV1dUUE1hcExvZ2ljID0gKHBvbHlnb24sIGFyZWEpID0+IHtcbiAgICBpZiAoIVdXVFBNb2RlIHx8ICFjYXBhY2l0eSkgcmV0dXJuO1xuXG4gICAgY29uc3QgZmV0Y2hEYXRhQW5kU2hvd1BvcHVwID0gYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3Qgd2lkZ2V0Q29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuXG4gICAgICBjcmVhdGVQb3B1cEZvck9iamVjdCh7XG4gICAgICAgIHJlbmRlcmVkRWxlbWVudDogd2lkZ2V0Q29udGFpbmVyLFxuICAgICAgICBtYXJrZXI6IHBvbHlnb24sXG4gICAgICB9KTtcblxuICAgICAgY29uc3QgdHlwZSA9IGFyZWE/LmlzX3ZpcnR1YWwgPT09IHRydWUgPyAndmFyZWEnIDogJ2FyZWEnO1xuICAgICAgZmV0Y2hDYXBhY2l0eSh0eXBlLCBhcmVhLmFyZWFfaWQsIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQpLnRoZW4oXG4gICAgICAgIChsaXN0RGF0YSkgPT4ge1xuICAgICAgICAgIFJlYWN0RE9NLnJlbmRlcihcbiAgICAgICAgICAgIDxXaWRnZXRcbiAgICAgICAgICAgICAgb2JqZWN0PXthcmVhfVxuICAgICAgICAgICAgICBkaXNwYXRjaD17ZGlzcGF0Y2h9XG4gICAgICAgICAgICAgIGFyZWFzPXthcmVhc31cbiAgICAgICAgICAgICAgcG9pbnRzPXtwb2ludHN9XG4gICAgICAgICAgICAgIG1hcD17bWFwfVxuICAgICAgICAgICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICAgICAgICAgIGxpc3REYXRhPXtsaXN0RGF0YX1cbiAgICAgICAgICAgICAgaGlzdG9yeT17aGlzdG9yeX1cbiAgICAgICAgICAgIC8+LFxuICAgICAgICAgICAgd2lkZ2V0Q29udGFpbmVyLFxuICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICApO1xuXG4gICAgICBpZiAoIXBvbHlnb24uaXNQb3B1cE9wZW4oKSkge1xuICAgICAgICBwb2x5Z29uLm9wZW5Qb3B1cCgpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBwb2x5Z29uLm9uKCdjbGljay1ldmVudCcsICgpID0+IHtcbiAgICAgIHBvbHlnb24uaXNQb3B1cE9wZW4oKSA/IHBvbHlnb24uY2xvc2VQb3B1cCgpIDogZmV0Y2hEYXRhQW5kU2hvd1BvcHVwKCk7XG4gICAgICBwb2x5Z29uLm9wZW5Ub29sdGlwKCk7XG4gICAgfSk7XG5cbiAgICBwb2x5Z29uLm9uKCdjbGljaycsICgpID0+IHtcbiAgICAgIGZldGNoRGF0YUFuZFNob3dQb3B1cCgpO1xuXG4gICAgICBjb25zdCBzdWJqZWN0ID0gJ01hcCBWaWV3IC0gQXJlYSBjbGlja2VkJztcbiAgICAgIHNlbmRBbmFseXRpY3NFdmVudChzdWJqZWN0LCAnbWFwJywge1xuICAgICAgICBhcmVhX2lkOiBhcmVhLmFyZWFfaWQsXG4gICAgICAgIGFyZWFfbmFtZTogYXJlYS5hcmVhX25hbWUsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBnZXRQb2x5Z29uID0gKGlkOiBzdHJpbmcpID0+IHtcbiAgICBsZXQgcG9seWdvbjtcbiAgICBmZWF0dXJlR3JvdXAuZWFjaExheWVyKChsYXllcikgPT4ge1xuICAgICAgaWYgKGxheWVyLmthbmRvX29iamVjdF9pZCA9PT0gaWQpIHtcbiAgICAgICAgcG9seWdvbiA9IGxheWVyO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBwb2x5Z29uO1xuICB9O1xuXG4gIGNvbnN0IGlzUG9seWdvbkNoYW5nZWRDb2xvciA9IChwb2x5Z29uLCBhcmVhKSA9PiB7XG4gICAgaWYgKCFwb2x5Z29uKSByZXR1cm4gdHJ1ZTtcbiAgICBjb25zdCBhcmVhQ29sb3IgPSBvYmplY3RUb0NvbG9yKGFyZWEpO1xuICAgIGNvbnN0IHBvbHlnb25Db2xvciA9IHBvbHlnb24ub3B0aW9ucy5jb2xvcjtcbiAgICByZXR1cm4gYXJlYUNvbG9yICE9PSBwb2x5Z29uQ29sb3I7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBhcmVhX2lkID0gZ2V0QXJlYUlkKGFyZWEpO1xuICAgIGNvbnN0IGV4aXN0aW5nUG9seWdvbiA9IGdldFBvbHlnb24oYXJlYV9pZCk7XG5cbiAgICBpZiAoaXNQb2x5Z29uQ2hhbmdlZENvbG9yKGV4aXN0aW5nUG9seWdvbiwgYXJlYSkpIHtcbiAgICAgIGNvbnN0IHBvbHlnb24gPSBjcmVhdGVQb2x5Z29uKFxuICAgICAgICBhcmVhLFxuICAgICAgICBtYXBab29tLFxuICAgICAgICBmZWF0dXJlR3JvdXAsXG4gICAgICAgIG1hcCxcbiAgICAgICAgV1dUUE1hcExvZ2ljLFxuICAgICAgKTtcblxuICAgICAgaWYgKHBvbHlnb24pIHtcbiAgICAgICAgY29uc3Qgc3ViQXJlYXMgPSBhcmVhLnN1Yl9hcmVhcy5tYXAoKHN1YkFyZWEpID0+IHN1YkFyZWEuYXJlYV9pZCk7XG4gICAgICAgIGlmIChzdWJBcmVhcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcG9seWdvblsnc3ViX2FyZWFzJ10gPSBzdWJBcmVhcztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoZXhpc3RpbmdQb2x5Z29uICYmIGZlYXR1cmVHcm91cCAmJiBtYXApIHtcbiAgICAgICAgZmVhdHVyZUdyb3VwLnJlbW92ZUxheWVyKGV4aXN0aW5nUG9seWdvbik7XG4gICAgICAgIG1hcC5maXJlKCd6b29tZW5kJyk7XG4gICAgICB9XG4gICAgfVxuICB9LCBbYXJlYSwgbWFwWm9vbSwgbWFwLCBmZWF0dXJlR3JvdXBdKTtcblxuICByZXR1cm4gPD48Lz47XG59O1xuXG5jb25zdCBjb25uZWN0b3IgPSBjb25uZWN0KG51bGwpO1xuZXhwb3J0IGRlZmF1bHQgY29ubmVjdG9yKEFyZWFQb2x5Z29uKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxVQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxTQUFBLEdBQUFDLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBSyxPQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxNQUFBLEdBQUFOLE9BQUE7QUFLQSxJ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
130
+ var connector = (0, _reactRedux.connect)(null);
131
+ var _default = connector(AreaPolygon);
132
+ exports.default = _default;
133
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9BcmVhVXRpbHMiLCJfcmVhY3REb20iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1dpZGdldCIsIl91dGlscyIsIl9zY29yZVRvRGF0YSIsIl9DYXBhY2l0eSIsIl9yZWFjdFJvdXRlckRvbSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiQXJlYVBvbHlnb24iLCJwcm9wcyIsIm1hcCIsImFyZWEiLCJtYXBab29tIiwiZ2xvYmFsX2RhdGEiLCJmZWF0dXJlR3JvdXAiLCJwb2ludHMiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwicG9pbnRzX2RhdGEiLCJpdGVtcyIsImFyZWFzIiwiYXJlYXNfZGF0YSIsIldXVFBNb2RlIiwid3d0cF9kYXNoYm9hcmQiLCJjYXBhY2l0eSIsIndhdGVyQXV0aG9yaXR5SXNDYXBhY2l0eSIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJoaXN0b3J5IiwidXNlSGlzdG9yeSIsIldXVFBNYXBMb2dpYyIsInBvbHlnb24iLCJmZXRjaERhdGFBbmRTaG93UG9wdXAiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IyIiwiX3JlZ2VuZXJhdG9yIiwibWFyayIsIl9jYWxsZWUiLCJ3aWRnZXRDb250YWluZXIiLCJ0eXBlIiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImNyZWF0ZVBvcHVwRm9yT2JqZWN0IiwicmVuZGVyZWRFbGVtZW50IiwibWFya2VyIiwiaXNfdmlydHVhbCIsImZldGNoQ2FwYWNpdHkiLCJhcmVhX2lkIiwid2F0ZXJBdXRob3JpdHlJZCIsInRoZW4iLCJsaXN0RGF0YSIsIlJlYWN0RE9NIiwicmVuZGVyIiwiV2lkZ2V0Iiwib2JqZWN0IiwiaXNQb3B1cE9wZW4iLCJvcGVuUG9wdXAiLCJzdG9wIiwiYXBwbHkiLCJhcmd1bWVudHMiLCJvbiIsImNsb3NlUG9wdXAiLCJvcGVuVG9vbHRpcCIsInN1YmplY3QiLCJzZW5kQW5hbHl0aWNzRXZlbnQiLCJhcmVhX25hbWUiLCJnZXRQb2x5Z29uIiwiaWQiLCJlYWNoTGF5ZXIiLCJsYXllciIsImthbmRvX29iamVjdF9pZCIsImlzUG9seWdvbkNoYW5nZWRDb2xvciIsImFyZWFDb2xvciIsIm9iamVjdFRvQ29sb3IiLCJwb2x5Z29uQ29sb3IiLCJvcHRpb25zIiwiY29sb3IiLCJ1c2VFZmZlY3QiLCJnZXRBcmVhSWQiLCJleGlzdGluZ1BvbHlnb24iLCJjcmVhdGVQb2x5Z29uIiwic3ViQXJlYXMiLCJzdWJfYXJlYXMiLCJzdWJBcmVhIiwibGVuZ3RoIiwicmVtb3ZlTGF5ZXIiLCJmaXJlIiwiRnJhZ21lbnQiLCJjb25uZWN0b3IiLCJjb25uZWN0IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL1dpZGdldHMvTWFwL2FyZWFzL0FyZWFQb2x5Z29uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY29ubmVjdCwgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCB7IGNyZWF0ZVBvbHlnb24gfSBmcm9tICcuL0FyZWFVdGlscyc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcbmltcG9ydCB7IFdpZGdldCB9IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvV2lkZ2V0JztcbmltcG9ydCB7XG4gIGNyZWF0ZVBvcHVwRm9yT2JqZWN0LFxuICBzZW5kQW5hbHl0aWNzRXZlbnQsXG59IGZyb20gJ3NyYy9wYWdlcy9EYXNoYm9hcmRNYXAvdXRpbHMnO1xuaW1wb3J0IHsgRmVhdHVyZUdyb3VwIH0gZnJvbSAnbGVhZmxldCc7XG5pbXBvcnQgeyBvYmplY3RUb0NvbG9yIH0gZnJvbSAnc3JjL3V0aWxpdGllcy9zY29yZVRvRGF0YSc7XG5pbXBvcnQgeyBmZXRjaENhcGFjaXR5IH0gZnJvbSAnc3JjL3BhZ2VzL0Rhc2hib2FyZE1hcC9DYXBhY2l0eSc7XG5pbXBvcnQgeyB1c2VIaXN0b3J5IH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBnZXRBcmVhSWQgfSBmcm9tICcuL0FyZWFVdGlscyc7XG5cbnR5cGUgUHJvcHMgPSB7XG4gIG1hcDogYW55O1xuICBMOiBhbnk7XG4gIGFyZWE6IElBcmVhICYgeyBjb2xvcj86IHN0cmluZzsgc2hvd0NvbG9yT25seUluQm9yZGVycz86IGJvb2xlYW4gfTtcbiAgbWFwWm9vbTogbnVtYmVyO1xuICBnbG9iYWxfZGF0YTogYW55O1xuICBiaW5kUG9wdXA/OiBib29sZWFuO1xuICBmZWF0dXJlR3JvdXA6IEZlYXR1cmVHcm91cDtcbn07XG5cbmNvbnN0IEFyZWFQb2x5Z29uOiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBtYXAsIGFyZWEsIG1hcFpvb20sIGdsb2JhbF9kYXRhLCBmZWF0dXJlR3JvdXAgfSA9IHByb3BzO1xuICBjb25zdCBwb2ludHMgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlLnBvaW50c19kYXRhLml0ZW1zKTtcbiAgY29uc3QgYXJlYXMgPSB1c2VTZWxlY3Rvcigoc3RhdGUpID0+IHN0YXRlLmFyZWFzX2RhdGEuaXRlbXMpO1xuICBjb25zdCBXV1RQTW9kZSA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUud3d0cF9kYXNoYm9hcmQubWFwICE9PSBudWxsKTtcbiAgY29uc3QgY2FwYWNpdHkgPSBnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlzQ2FwYWNpdHk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgaGlzdG9yeSA9IHVzZUhpc3RvcnkoKTtcblxuICBjb25zdCBXV1RQTWFwTG9naWMgPSAocG9seWdvbiwgYXJlYSkgPT4ge1xuICAgIGlmICghV1dUUE1vZGUgfHwgIWNhcGFjaXR5KSByZXR1cm47XG5cbiAgICBjb25zdCBmZXRjaERhdGFBbmRTaG93UG9wdXAgPSBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB3aWRnZXRDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG5cbiAgICAgIGNyZWF0ZVBvcHVwRm9yT2JqZWN0KHtcbiAgICAgICAgcmVuZGVyZWRFbGVtZW50OiB3aWRnZXRDb250YWluZXIsXG4gICAgICAgIG1hcmtlcjogcG9seWdvbixcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCB0eXBlID0gYXJlYT8uaXNfdmlydHVhbCA9PT0gdHJ1ZSA/ICd2YXJlYScgOiAnYXJlYSc7XG4gICAgICBmZXRjaENhcGFjaXR5KHR5cGUsIGFyZWEuYXJlYV9pZCwgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCkudGhlbihcbiAgICAgICAgKGxpc3REYXRhKSA9PiB7XG4gICAgICAgICAgUmVhY3RET00ucmVuZGVyKFxuICAgICAgICAgICAgPFdpZGdldFxuICAgICAgICAgICAgICBvYmplY3Q9e2FyZWF9XG4gICAgICAgICAgICAgIGRpc3BhdGNoPXtkaXNwYXRjaH1cbiAgICAgICAgICAgICAgYXJlYXM9e2FyZWFzfVxuICAgICAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICAgICAgbWFwPXttYXB9XG4gICAgICAgICAgICAgIGdsb2JhbF9kYXRhPXtnbG9iYWxfZGF0YX1cbiAgICAgICAgICAgICAgbGlzdERhdGE9e2xpc3REYXRhfVxuICAgICAgICAgICAgICBoaXN0b3J5PXtoaXN0b3J5fVxuICAgICAgICAgICAgLz4sXG4gICAgICAgICAgICB3aWRnZXRDb250YWluZXIsXG4gICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgICk7XG5cbiAgICAgIGlmICghcG9seWdvbi5pc1BvcHVwT3BlbigpKSB7XG4gICAgICAgIHBvbHlnb24ub3BlblBvcHVwKCk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHBvbHlnb24ub24oJ2NsaWNrLWV2ZW50JywgKCkgPT4ge1xuICAgICAgcG9seWdvbi5pc1BvcHVwT3BlbigpID8gcG9seWdvbi5jbG9zZVBvcHVwKCkgOiBmZXRjaERhdGFBbmRTaG93UG9wdXAoKTtcbiAgICAgIHBvbHlnb24ub3BlblRvb2x0aXAoKTtcbiAgICB9KTtcblxuICAgIHBvbHlnb24ub24oJ2NsaWNrJywgKCkgPT4ge1xuICAgICAgZmV0Y2hEYXRhQW5kU2hvd1BvcHVwKCk7XG5cbiAgICAgIGNvbnN0IHN1YmplY3QgPSAnTWFwIFZpZXcgLSBBcmVhIGNsaWNrZWQnO1xuICAgICAgc2VuZEFuYWx5dGljc0V2ZW50KHN1YmplY3QsICdtYXAnLCB7XG4gICAgICAgIGFyZWFfaWQ6IGFyZWEuYXJlYV9pZCxcbiAgICAgICAgYXJlYV9uYW1lOiBhcmVhLmFyZWFfbmFtZSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGdldFBvbHlnb24gPSAoaWQ6IHN0cmluZykgPT4ge1xuICAgIGxldCBwb2x5Z29uO1xuICAgIGZlYXR1cmVHcm91cC5lYWNoTGF5ZXIoKGxheWVyKSA9PiB7XG4gICAgICBpZiAobGF5ZXIua2FuZG9fb2JqZWN0X2lkID09PSBpZCkge1xuICAgICAgICBwb2x5Z29uID0gbGF5ZXI7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHBvbHlnb247XG4gIH07XG5cbiAgY29uc3QgaXNQb2x5Z29uQ2hhbmdlZENvbG9yID0gKHBvbHlnb24sIGFyZWEpID0+IHtcbiAgICBpZiAoIXBvbHlnb24pIHJldHVybiB0cnVlO1xuICAgIGNvbnN0IGFyZWFDb2xvciA9IG9iamVjdFRvQ29sb3IoYXJlYSk7XG4gICAgY29uc3QgcG9seWdvbkNvbG9yID0gcG9seWdvbi5vcHRpb25zLmNvbG9yO1xuICAgIHJldHVybiBhcmVhQ29sb3IgIT09IHBvbHlnb25Db2xvcjtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGFyZWFfaWQgPSBnZXRBcmVhSWQoYXJlYSk7XG4gICAgY29uc3QgZXhpc3RpbmdQb2x5Z29uID0gZ2V0UG9seWdvbihhcmVhX2lkKTtcblxuICAgIGlmIChpc1BvbHlnb25DaGFuZ2VkQ29sb3IoZXhpc3RpbmdQb2x5Z29uLCBhcmVhKSkge1xuICAgICAgY29uc3QgcG9seWdvbiA9IGNyZWF0ZVBvbHlnb24oXG4gICAgICAgIGFyZWEsXG4gICAgICAgIG1hcFpvb20sXG4gICAgICAgIGZlYXR1cmVHcm91cCxcbiAgICAgICAgbWFwLFxuICAgICAgICBXV1RQTWFwTG9naWMsXG4gICAgICApO1xuXG4gICAgICBpZiAocG9seWdvbikge1xuICAgICAgICBjb25zdCBzdWJBcmVhcyA9IGFyZWEuc3ViX2FyZWFzLm1hcCgoc3ViQXJlYSkgPT4gc3ViQXJlYS5hcmVhX2lkKTtcbiAgICAgICAgaWYgKHN1YkFyZWFzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBwb2x5Z29uWydzdWJfYXJlYXMnXSA9IHN1YkFyZWFzO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChleGlzdGluZ1BvbHlnb24gJiYgZmVhdHVyZUdyb3VwICYmIG1hcCkge1xuICAgICAgICBmZWF0dXJlR3JvdXAucmVtb3ZlTGF5ZXIoZXhpc3RpbmdQb2x5Z29uKTtcbiAgICAgICAgbWFwLmZpcmUoJ3pvb21lbmQnKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFthcmVhLCBtYXBab29tLCBtYXAsIGZlYXR1cmVHcm91cF0pO1xuXG4gIHJldHVybiA8PjwvPjtcbn07XG5cbmNvbnN0IGNvbm5lY3RvciA9IGNvbm5lY3QobnVsbCk7XG5leHBvcnQgZGVmYXVsdCBjb25uZWN0b3IoQXJlYVBvbHlnb24pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsVUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsU0FBQSxHQUFBQyxzQkFBQSxDQUFBSixPQUFBO0FBQ0EsSUFBQUssT0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sTUFBQSxHQUFBTixPQUFBO0FBS0EsSUFBQU8sWUFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsU0FBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsZUFBQSxHQUFBVCxPQUFBO0FBQThDLFNBQUFVLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBWix3QkFBQWdCLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxhQUFBRSxPQUFBLENBQUFGLEdBQUEseUJBQUFBLEdBQUEsNEJBQUFHLE9BQUEsRUFBQUgsR0FBQSxVQUFBSSxLQUFBLEdBQUFULHdCQUFBLENBQUFDLFdBQUEsT0FBQVEsS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQUwsR0FBQSxZQUFBSSxLQUFBLENBQUFFLEdB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
@@ -1,25 +1,25 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.AreaPolygons = void 0;
9
9
  var _react = _interopRequireWildcard(require("react"));
10
10
  var _AreaPolygon = _interopRequireDefault(require("./AreaPolygon"));
11
- const AreaPolygons = props => {
12
- const {
13
- L,
14
- areas,
15
- map,
16
- mapZoom,
17
- global_data,
18
- featureGroup
19
- } = 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;
20
20
  // const [shouldFly, setShouldFly] = useState(true);
21
21
 
22
- (0, _react.useEffect)(() => {
22
+ (0, _react.useEffect)(function () {
23
23
  featureGroup.addTo(map);
24
24
  }, [areas]);
25
25
 
@@ -32,16 +32,18 @@ const AreaPolygons = props => {
32
32
  // }
33
33
  // }
34
34
 
35
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, areas.length !== 0 && areas.map(area => /*#__PURE__*/_react.default.createElement(_AreaPolygon.default, {
36
- area: area,
37
- map: map,
38
- L: L,
39
- key: area.area_id || area.id,
40
- mapZoom: mapZoom,
41
- global_data: global_data,
42
- bindPopup: true,
43
- featureGroup: featureGroup
44
- })));
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 || area.id,
41
+ mapZoom: mapZoom,
42
+ global_data: global_data,
43
+ bindPopup: true,
44
+ featureGroup: featureGroup
45
+ });
46
+ }));
45
47
  };
46
48
  exports.AreaPolygons = AreaPolygons;
47
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfQXJlYVBvbHlnb24iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiQXJlYVBvbHlnb25zIiwicHJvcHMiLCJMIiwiYXJlYXMiLCJtYXAiLCJtYXBab29tIiwiZ2xvYmFsX2RhdGEiLCJmZWF0dXJlR3JvdXAiLCJ1c2VFZmZlY3QiLCJhZGRUbyIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJsZW5ndGgiLCJhcmVhIiwia2V5IiwiYXJlYV9pZCIsImlkIiwiYmluZFBvcHVwIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9XaWRnZXRzL01hcC9hcmVhcy9BcmVhUG9seWdvbnMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJQXJlYSB9IGZyb20gJ3NyYy9zdG9yZS9hcmVhcy9tb2RlbHMvSUFyZWEnO1xuaW1wb3J0IEFyZWFQb2x5Z29uIGZyb20gJy4vQXJlYVBvbHlnb24nO1xuaW1wb3J0IHsgRmVhdHVyZUdyb3VwIH0gZnJvbSAnbGVhZmxldCc7XG5cbnR5cGUgUHJvcHMgPSB7XG4gIG1hcDogYW55O1xuICBMOiBhbnk7XG4gIGFyZWFzOiBJQXJlYVtdO1xuICBtYXBab29tOiBudW1iZXI7XG4gIGFyZWFUb0NlbnRlckJ5PzogYW55O1xuICBnbG9iYWxfZGF0YTogYW55O1xuICBmZWF0dXJlR3JvdXA6IEZlYXR1cmVHcm91cDtcbn07XG5cbmV4cG9ydCBjb25zdCBBcmVhUG9seWdvbnM6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IEwsIGFyZWFzLCBtYXAsIG1hcFpvb20sIGdsb2JhbF9kYXRhLCBmZWF0dXJlR3JvdXAgfSA9IHByb3BzO1xuICAvLyBjb25zdCBbc2hvdWxkRmx5LCBzZXRTaG91bGRGbHldID0gdXNlU3RhdGUodHJ1ZSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBmZWF0dXJlR3JvdXAuYWRkVG8obWFwKTtcbiAgfSwgW2FyZWFzXSk7XG5cbiAgLy8gaWYgKHNob3VsZEZseSkge1xuICAvLyAgIGlmIChmZWF0dXJlR3JvdXAuZ2V0TGF5ZXJzKCkubGVuZ3RoID4gMCAmJiAhYXJlYVRvQ2VudGVyQnkpIHtcbiAgLy8gICAgIG1hcC5maXRCb3VuZHMoZmVhdHVyZUdyb3VwLmdldEJvdW5kcygpLCB7XG4gIC8vICAgICAgIHBhZGRpbmc6IFs0MjAsIDQyMF0sXG4gIC8vICAgICB9KTtcbiAgLy8gICAgIHNldFNob3VsZEZseShmYWxzZSk7XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge2FyZWFzLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgICBhcmVhcy5tYXAoKGFyZWE6IElBcmVhKSA9PiAoXG4gICAgICAgICAgPEFyZWFQb2x5Z29uXG4gICAgICAgICAgICBhcmVhPXthcmVhfVxuICAgICAgICAgICAgbWFwPXttYXB9XG4gICAgICAgICAgICBMPXtMfVxuICAgICAgICAgICAga2V5PXthcmVhLmFyZWFfaWQgfHwgYXJlYS5pZH1cbiAgICAgICAgICAgIG1hcFpvb209e21hcFpvb219XG4gICAgICAgICAgICBnbG9iYWxfZGF0YT17Z2xvYmFsX2RhdGF9XG4gICAgICAgICAgICBiaW5kUG9wdXA9e3RydWV9XG4gICAgICAgICAgICBmZWF0dXJlR3JvdXA9e2ZlYXR1cmVHcm91cH1cbiAgICAgICAgICAvPlxuICAgICAgICApKX1cbiAgICA8Lz5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsWUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBYU8sTUFBTUcsWUFBNkIsR0FBSUMsS0FBSyxJQUFLO0VBQ3RELE1BQU07SUFBRUMsQ0FBQztJQUFFQyxLQUFLO0lBQUVDLEdBQUc7SUFBRUMsT0FBTztJQUFFQyxXQUFXO0lBQUVDO0VBQWEsQ0FBQyxHQUFHTixLQUFLO0VBQ25FOztFQUVBLElBQUFPLGdCQUFTLEVBQUMsTUFBTTtJQUNkRCxZQUFZLENBQUNFLEtBQUssQ0FBQ0wsR0FBRyxDQUFDO0VBQ3pCLENBQUMsRUFBRSxDQUFDRCxLQUFLLENBQUMsQ0FBQzs7RUFFWDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztFQUVBLG9CQUNFUixNQUFBLENBQUFlLE9BQUEsQ0FBQUMsYUFBQSxDQUFBaEIsTUFBQSxDQUFBZSxPQUFBLENBQUFFLFFBQUEsUUFDR1QsS0FBSyxDQUFDVSxNQUFNLEtBQUssQ0FBQyxJQUNqQlYsS0FBSyxDQUFDQyxHQUFHLENBQUVVLElBQVcsaUJBQ3BCbkIsTUFBQSxDQUFBZSxPQUFBLENBQUFDLGFBQUEsQ0FBQ2IsWUFBQSxDQUFBWSxPQUFXO0lBQ1ZJLElBQUksRUFBRUEsSUFBSztJQUNYVixHQUFHLEVBQUVBLEdBQUk7SUFDVEYsQ0FBQyxFQUFFQSxDQUFFO0lBQ0xhLEdBQUcsRUFBRUQsSUFBSSxDQUFDRSxPQUFPLElBQUlGLElBQUksQ0FBQ0csRUFBRztJQUM3QlosT0FBTyxFQUFFQSxPQUFRO0lBQ2pCQyxXQUFXLEVBQUVBLFdBQVk7SUFDekJZLFNBQVMsRUFBRSxJQUFLO0lBQ2hCWCxZQUFZLEVBQUVBO0VBQWEsQ0FDNUIsQ0FDRixDQUNILENBQUM7QUFFUCxDQUFDO0FBQUNZLE9BQUEsQ0FBQW5CLFlBQUEsR0FBQUEsWUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
49
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfQXJlYVBvbHlnb24iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJBcmVhUG9seWdvbnMiLCJwcm9wcyIsIkwiLCJhcmVhcyIsIm1hcCIsIm1hcFpvb20iLCJnbG9iYWxfZGF0YSIsImZlYXR1cmVHcm91cCIsInVzZUVmZmVjdCIsImFkZFRvIiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwibGVuZ3RoIiwiYXJlYSIsImFyZWFfaWQiLCJpZCIsImJpbmRQb3B1cCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvYXJlYXMvQXJlYVBvbHlnb25zLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgSUFyZWEgfSBmcm9tICdzcmMvc3RvcmUvYXJlYXMvbW9kZWxzL0lBcmVhJztcbmltcG9ydCBBcmVhUG9seWdvbiBmcm9tICcuL0FyZWFQb2x5Z29uJztcbmltcG9ydCB7IEZlYXR1cmVHcm91cCB9IGZyb20gJ2xlYWZsZXQnO1xuXG50eXBlIFByb3BzID0ge1xuICBtYXA6IGFueTtcbiAgTDogYW55O1xuICBhcmVhczogSUFyZWFbXTtcbiAgbWFwWm9vbTogbnVtYmVyO1xuICBhcmVhVG9DZW50ZXJCeT86IGFueTtcbiAgZ2xvYmFsX2RhdGE6IGFueTtcbiAgZmVhdHVyZUdyb3VwOiBGZWF0dXJlR3JvdXA7XG59O1xuXG5leHBvcnQgY29uc3QgQXJlYVBvbHlnb25zOiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBMLCBhcmVhcywgbWFwLCBtYXBab29tLCBnbG9iYWxfZGF0YSwgZmVhdHVyZUdyb3VwIH0gPSBwcm9wcztcbiAgLy8gY29uc3QgW3Nob3VsZEZseSwgc2V0U2hvdWxkRmx5XSA9IHVzZVN0YXRlKHRydWUpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZmVhdHVyZUdyb3VwLmFkZFRvKG1hcCk7XG4gIH0sIFthcmVhc10pO1xuXG4gIC8vIGlmIChzaG91bGRGbHkpIHtcbiAgLy8gICBpZiAoZmVhdHVyZUdyb3VwLmdldExheWVycygpLmxlbmd0aCA+IDAgJiYgIWFyZWFUb0NlbnRlckJ5KSB7XG4gIC8vICAgICBtYXAuZml0Qm91bmRzKGZlYXR1cmVHcm91cC5nZXRCb3VuZHMoKSwge1xuICAvLyAgICAgICBwYWRkaW5nOiBbNDIwLCA0MjBdLFxuICAvLyAgICAgfSk7XG4gIC8vICAgICBzZXRTaG91bGRGbHkoZmFsc2UpO1xuICAvLyAgIH1cbiAgLy8gfVxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHthcmVhcy5sZW5ndGggIT09IDAgJiZcbiAgICAgICAgYXJlYXMubWFwKChhcmVhOiBJQXJlYSkgPT4gKFxuICAgICAgICAgIDxBcmVhUG9seWdvblxuICAgICAgICAgICAgYXJlYT17YXJlYX1cbiAgICAgICAgICAgIG1hcD17bWFwfVxuICAgICAgICAgICAgTD17TH1cbiAgICAgICAgICAgIGtleT17YXJlYS5hcmVhX2lkIHx8IGFyZWEuaWR9XG4gICAgICAgICAgICBtYXBab29tPXttYXBab29tfVxuICAgICAgICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbF9kYXRhfVxuICAgICAgICAgICAgYmluZFBvcHVwPXt0cnVlfVxuICAgICAgICAgICAgZmVhdHVyZUdyb3VwPXtmZWF0dXJlR3JvdXB9XG4gICAgICAgICAgLz5cbiAgICAgICAgKSl9XG4gICAgPC8+XG4gICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFlBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUF3QyxTQUFBRyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQUwsd0JBQUFTLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxhQUFBRSxPQUFBLENBQUFGLEdBQUEseUJBQUFBLEdBQUEsNEJBQUFHLE9BQUEsRUFBQUgsR0FBQSxVQUFBSSxLQUFBLEdBQUFULHdCQUFBLENBQUFDLFdBQUEsT0FBQVEsS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQUwsR0FBQSxZQUFBSSxLQUFBLENBQUFFLEdBQUEsQ0FBQU4sR0FBQSxTQUFBTyxNQUFBLFdBQUFDLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLEdBQUEsSUFBQVosR0FBQSxRQUFBWSxHQUFBLGtCQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFmLEdBQUEsRUFBQVksR0FBQSxTQUFBSSxJQUFBLEdBQUFSLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQVgsR0FBQSxFQUFBWSxHQUFBLGNBQUFJLElBQUEsS0FBQUEsSUFBQSxDQUFBVixHQUFBLElBQUFVLElBQUEsQ0FBQUMsR0FBQSxLQUFBUixNQUFBLENBQUFDLGNBQUEsQ0FBQUgsTUFBQSxFQUFBSyxHQUFBLEVBQUFJLElBQUEsWUFBQVQsTUFBQSxDQUFBSyxHQUFBLElBQUFaLEdBQUEsQ0FBQVksR0FBQSxTQUFBTCxNQUFBLENBQUFKLE9BQUEsR0FBQUgsR0FBQSxNQUFBSSxLQUFBLElBQUFBLEtBQUEsQ0FBQWEsR0FBQSxDQUFBakIsR0FBQSxFQUFBTyxNQUFBLFlBQUFBLE1BQUE7QUFhakMsSUFBTVcsWUFBNkIsR0FBRyxTQUFoQ0EsWUFBNkJBLENBQUlDLEtBQUssRUFBSztFQUN0RCxJQUFRQyxDQUFDLEdBQXFERCxLQUFLLENBQTNEQyxDQUFDO0lBQUVDLEtBQUssR0FBOENGLEtBQUssQ0FBeERFLEtBQUs7SUFBRUMsR0FBRyxHQUF5Q0gsS0FBSyxDQUFqREcsR0FBRztJQUFFQyxPQUFPLEdBQWdDSixLQUFLLENBQTVDSSxPQUFPO0lBQUVDLFdBQVcsR0FBbUJMLEtBQUssQ0FBbkNLLFdBQVc7SUFBRUMsWUFBWSxHQUFLTixLQUFLLENBQXRCTSxZQUFZO0VBQ3pEOztFQUVBLElBQUFDLGdCQUFTLEVBQUMsWUFBTTtJQUNkRCxZQUFZLENBQUNFLEtBQUssQ0FBQ0wsR0FBRyxDQUFDO0VBQ3pCLENBQUMsRUFBRSxDQUFDRCxLQUFLLENBQUMsQ0FBQzs7RUFFWDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztFQUVBLG9CQUNFL0IsTUFBQSxDQUFBYSxPQUFBLENBQUF5QixhQUFBLENBQUF0QyxNQUFBLENBQUFhLE9BQUEsQ0FBQTBCLFFBQUEsUUFDR1IsS0FBSyxDQUFDUyxNQUFNLEtBQUssQ0FBQyxJQUNqQlQsS0FBSyxDQUFDQyxHQUFHLENBQUMsVUFBQ1MsSUFBVztJQUFBLG9CQUNwQnpDLE1BQUEsQ0FBQWEsT0FBQSxDQUFBeUIsYUFBQSxDQUFDbkMsWUFBQSxDQUFBVSxPQUFXO01BQ1Y0QixJQUFJLEVBQUVBLElBQUs7TUFDWFQsR0FBRyxFQUFFQSxHQUFJO01BQ1RGLENBQUMsRUFBRUEsQ0FBRTtNQUNMUixHQUFHLEVBQUVtQixJQUFJLENBQUNDLE9BQU8sSUFBSUQsSUFBSSxDQUFDRSxFQUFHO01BQzdCVixPQUFPLEVBQUVBLE9BQVE7TUFDakJDLFdBQVcsRUFBRUEsV0FBWTtNQUN6QlUsU0FBUyxFQUFFLElBQUs7TUFDaEJULFlBQVksRUFBRUE7SUFBYSxDQUM1QixDQUFDO0VBQUEsQ0FDSCxDQUNILENBQUM7QUFFUCxDQUFDO0FBQUNVLE9BQUEsQ0FBQWpCLFlBQUEsR0FBQUEsWUFBQSJ9
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
@@ -10,25 +10,25 @@ 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
- const id = area.area_id || area.id;
17
+ var getAreaId = function getAreaId(area) {
18
+ var id = area.area_id || area.id;
19
19
  return id.toString();
20
20
  };
21
21
  exports.getAreaId = getAreaId;
22
- const genericPolygon = (area, mapZoom) => {
22
+ var genericPolygon = function genericPolygon(area, mapZoom) {
23
23
  var _area$sub_areas;
24
- let areaPolygon;
25
- let latlngs = area.shape_data.map(location => {
24
+ var areaPolygon;
25
+ var latlngs = area.shape_data.map(function (location) {
26
26
  return [location['lat'], location['lng']];
27
27
  });
28
28
  if (latlngs.length < 1) return;
29
- let color = area.color ? area.color : (0, _scoreToData.areaScoreToColor)(area);
29
+ var color = area.color ? area.color : (0, _scoreToData.areaScoreToColor)(area);
30
30
  areaPolygon = _leaflet.default.polygon(latlngs, {
31
- color,
31
+ color: color,
32
32
  fillOpacity: area.showColorOnlyInBorders ? 0.3 : 0.4,
33
33
  weight: area.showColorOnlyInBorders ? 2 : 0,
34
34
  fill: (area === null || area === void 0 ? void 0 : (_area$sub_areas = area.sub_areas) === null || _area$sub_areas === void 0 ? void 0 : _area$sub_areas.length) > 0 ? false : true
@@ -36,24 +36,24 @@ const genericPolygon = (area, mapZoom) => {
36
36
  return areaPolygon;
37
37
  };
38
38
  exports.genericPolygon = genericPolygon;
39
- const calculatePolygonArea = coordinates => {
40
- let area = 0;
41
- let numPoints = coordinates.length;
42
- for (let i = 0; i < numPoints; i++) {
43
- let x1 = coordinates[i][0];
44
- let y1 = coordinates[i][1];
45
- let x2 = coordinates[(i + 1) % numPoints][0];
46
- let y2 = coordinates[(i + 1) % numPoints][1];
39
+ var calculatePolygonArea = function calculatePolygonArea(coordinates) {
40
+ var area = 0;
41
+ var numPoints = coordinates.length;
42
+ for (var i = 0; i < numPoints; i++) {
43
+ var x1 = coordinates[i][0];
44
+ var y1 = coordinates[i][1];
45
+ var x2 = coordinates[(i + 1) % numPoints][0];
46
+ var y2 = coordinates[(i + 1) % numPoints][1];
47
47
  area += x1 * y2 - x2 * y1;
48
48
  }
49
49
  return Math.abs(area / 2);
50
50
  };
51
51
  exports.calculatePolygonArea = calculatePolygonArea;
52
- const polygonTitle = (area, mapZoom) => {
52
+ var polygonTitle = function polygonTitle(area, mapZoom) {
53
53
  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>");
54
54
  };
55
- const bindTooltip = (layer, area, mapZoom) => {
56
- const title = polygonTitle(area, mapZoom);
55
+ var bindTooltip = function bindTooltip(layer, area, mapZoom) {
56
+ var title = polygonTitle(area, mapZoom);
57
57
  layer.bindTooltip(title, {
58
58
  className: 'area-tooltip',
59
59
  permanent: true,
@@ -63,9 +63,9 @@ const bindTooltip = (layer, area, mapZoom) => {
63
63
  };
64
64
 
65
65
  // The tooltip is showing the area name
66
- const handleToltipBasedOnZoomLevel = (polygon, mapZoom) => {
66
+ var handleToltipBasedOnZoomLevel = function handleToltipBasedOnZoomLevel(polygon, mapZoom) {
67
67
  if (mapZoom > 11) {
68
- const tooltip = polygon.getTooltip();
68
+ var tooltip = polygon.getTooltip();
69
69
  tooltip.setContent(polygonTitle(polygon, mapZoom));
70
70
  polygon.openTooltip();
71
71
  } else {
@@ -73,11 +73,11 @@ const handleToltipBasedOnZoomLevel = (polygon, mapZoom) => {
73
73
  }
74
74
  };
75
75
  exports.handleToltipBasedOnZoomLevel = handleToltipBasedOnZoomLevel;
76
- const drillDownBasedOnZoomLevel = (areaPolygon, area, percentage, zoomPercentageToDrillDown, isPartialPolygonVisible, map, featureGroup) => {
77
- const drillDownCondition = () => {
76
+ var drillDownBasedOnZoomLevel = function drillDownBasedOnZoomLevel(areaPolygon, area, percentage, zoomPercentageToDrillDown, isPartialPolygonVisible, map, featureGroup) {
77
+ var drillDownCondition = function drillDownCondition() {
78
78
  return percentage >= zoomPercentageToDrillDown && isPartialPolygonVisible && area.sub_areas.length !== 0 && areaPolygon._map !== null;
79
79
  };
80
- const hidePolygon = polygon => {
80
+ var hidePolygon = function hidePolygon(polygon) {
81
81
  polygon.bringToBack();
82
82
  polygon.closeTooltip();
83
83
  polygon['hidden'] = true;
@@ -86,7 +86,7 @@ const drillDownBasedOnZoomLevel = (areaPolygon, area, percentage, zoomPercentage
86
86
  fill: false
87
87
  });
88
88
  };
89
- const showPolygon = (polygon, fill) => {
89
+ var showPolygon = function showPolygon(polygon, fill) {
90
90
  polygon.bringToFront();
91
91
  polygon['hidden'] = false;
92
92
  polygon.setStyle({
@@ -98,10 +98,10 @@ const drillDownBasedOnZoomLevel = (areaPolygon, area, percentage, zoomPercentage
98
98
  fillOpacity: 0.4
99
99
  });
100
100
  };
101
- const handleSubAreas = show => {
101
+ var handleSubAreas = function handleSubAreas(show) {
102
102
  if (areaPolygon['sub_areas'] !== undefined) {
103
- areaPolygon['sub_areas'].forEach(subAreaId => {
104
- featureGroup.eachLayer(layer => {
103
+ areaPolygon['sub_areas'].forEach(function (subAreaId) {
104
+ featureGroup.eachLayer(function (layer) {
105
105
  if (layer['kando_object_id'] === subAreaId) {
106
106
  show ? showPolygon(layer, true) : hidePolygon(layer);
107
107
  }
@@ -124,32 +124,32 @@ const drillDownBasedOnZoomLevel = (areaPolygon, area, percentage, zoomPercentage
124
124
  }
125
125
  }
126
126
  };
127
- const zoomControlForArea = (areaPolygon, area, map, featureGroup) => {
127
+ var zoomControlForArea = function zoomControlForArea(areaPolygon, area, map, featureGroup) {
128
128
  map.on('zoomend', function () {
129
- let getMapBounds = map.getBounds();
130
- let polygonBounds = areaPolygon.getBounds();
131
- let isPartialPolygonVisible = getMapBounds.intersects(polygonBounds);
132
- let mapBoundsPolygon = _leaflet.default.polygon([getMapBounds.getSouthWest(), getMapBounds.getNorthWest(), getMapBounds.getNorthEast(), getMapBounds.getSouthEast()]);
133
- let mapBounds = calculatePolygonArea(mapBoundsPolygon.toGeoJSON().geometry.coordinates[0]);
134
- let areaSurface = areaPolygon['calculated_surface'];
135
- const zoomPercentageToDrillDown = 15.0;
136
- const percentage = areaSurface / mapBounds * 100;
129
+ var getMapBounds = map.getBounds();
130
+ var polygonBounds = areaPolygon.getBounds();
131
+ var isPartialPolygonVisible = getMapBounds.intersects(polygonBounds);
132
+ var mapBoundsPolygon = _leaflet.default.polygon([getMapBounds.getSouthWest(), getMapBounds.getNorthWest(), getMapBounds.getNorthEast(), getMapBounds.getSouthEast()]);
133
+ var mapBounds = calculatePolygonArea(mapBoundsPolygon.toGeoJSON().geometry.coordinates[0]);
134
+ var areaSurface = areaPolygon['calculated_surface'];
135
+ var zoomPercentageToDrillDown = 15.0;
136
+ var percentage = areaSurface / mapBounds * 100;
137
137
  drillDownBasedOnZoomLevel(areaPolygon, area, percentage, zoomPercentageToDrillDown, isPartialPolygonVisible, map, featureGroup);
138
138
  });
139
139
  };
140
140
  exports.zoomControlForArea = zoomControlForArea;
141
- const customAttributesForAreaPolygon = (areaPolygon, area) => {
141
+ var customAttributesForAreaPolygon = function customAttributesForAreaPolygon(areaPolygon, area) {
142
142
  areaPolygon['kando_object_id'] = getAreaId(area);
143
143
  areaPolygon['kando_object'] = 'Area';
144
144
  areaPolygon['area_name'] = getAreaName(area);
145
145
  areaPolygon['calculated_surface'] = area.calculated_surface;
146
146
  };
147
- const createPolygon = (area, mapZoom, featureGroup, map, popupCreator) => {
148
- let polygon;
147
+ var createPolygon = function createPolygon(area, mapZoom, featureGroup, map, popupCreator) {
148
+ var polygon;
149
149
  if (area.shape_data !== null && area.shape_data !== undefined && area.shape_data.length > 0) {
150
150
  polygon = genericPolygon(area, mapZoom);
151
151
  customAttributesForAreaPolygon(polygon, area);
152
- const pattern = getPattern(area);
152
+ var pattern = getPattern(area);
153
153
  if (pattern) {
154
154
  pattern === null || pattern === void 0 ? void 0 : pattern.addTo(map);
155
155
  polygon.setStyle({
@@ -166,11 +166,11 @@ const createPolygon = (area, mapZoom, featureGroup, map, popupCreator) => {
166
166
  return null;
167
167
  };
168
168
  exports.createPolygon = createPolygon;
169
- const getPattern = area => {
169
+ var getPattern = function getPattern(area) {
170
170
  if (!area.is_assessment) {
171
171
  return null;
172
172
  }
173
- const color = (0, _scoreToData.scoreToColor)(area.area_score);
173
+ var color = (0, _scoreToData.scoreToColor)(area.area_score);
174
174
  return (0, _Patterns.assesmentPattern)(color);
175
175
  };
176
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3Njb3JlVG9EYXRhIiwiX3RoZW1lIiwiX1BhdHRlcm5zIiwiZ2V0QXJlYU5hbWUiLCJhcmVhIiwibmFtZSIsImFyZWFfbmFtZSIsImdldEFyZWFJZCIsImlkIiwiYXJlYV9pZCIsInRvU3RyaW5nIiwiZXhwb3J0cyIsImdlbmVyaWNQb2x5Z29uIiwibWFwWm9vbSIsIl9hcmVhJHN1Yl9hcmVhcyIsImFyZWFQb2x5Z29uIiwibGF0bG5ncyIsInNoYXBlX2RhdGEiLCJtYXAiLCJsb2NhdGlvbiIsImxlbmd0aCIsImNvbG9yIiwiYXJlYVNjb3JlVG9Db2xvciIsIkwiLCJwb2x5Z29uIiwiZmlsbE9wYWNpdHkiLCJzaG93Q29sb3JPbmx5SW5Cb3JkZXJzIiwid2VpZ2h0IiwiZmlsbCIsInN1Yl9hcmVhcyIsImNhbGN1bGF0ZVBvbHlnb25BcmVhIiwiY29vcmRpbmF0ZXMiLCJudW1Qb2ludHMiLCJpIiwieDEiLCJ5MSIsIngyIiwieTIiLCJNYXRoIiwiYWJzIiwicG9seWdvblRpdGxlIiwiY29uY2F0IiwidGhlbWUiLCJjb2xvclNjaGVtZSIsInByaW1hcnkiLCJwczEiLCJiaW5kVG9vbHRpcCIsImxheWVyIiwidGl0bGUiLCJjbGFzc05hbWUiLCJwZXJtYW5lbnQiLCJkaXJlY3Rpb24iLCJoYW5kbGVUb2x0aXBCYXNlZE9uWm9vbUxldmVsIiwidG9vbHRpcCIsImdldFRvb2x0aXAiLCJzZXRDb250ZW50Iiwib3BlblRvb2x0aXAiLCJjbG9zZVRvb2x0aXAiLCJkcmlsbERvd25CYXNlZE9uWm9vbUxldmVsIiwicGVyY2VudGFnZSIsInpvb21QZXJjZW50YWdlVG9EcmlsbERvd24iLCJpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSIsImZlYXR1cmVHcm91cCIsImRyaWxsRG93bkNvbmRpdGlvbiIsIl9tYXAiLCJoaWRlUG9seWdvbiIsImJyaW5nVG9CYWNrIiwic2V0U3R5bGUiLCJzdHJva2UiLCJzaG93UG9seWdvbiIsImJyaW5nVG9Gcm9udCIsIm9wYWNpdHkiLCJoYW5kbGVTdWJBcmVhcyIsInNob3ciLCJ1bmRlZmluZWQiLCJmb3JFYWNoIiwic3ViQXJlYUlkIiwiZWFjaExheWVyIiwiZ2V0Wm9vbSIsInpvb21Db250cm9sRm9yQXJlYSIsIm9uIiwiZ2V0TWFwQm91bmRzIiwiZ2V0Qm91bmRzIiwicG9seWdvbkJvdW5kcyIsImludGVyc2VjdHMiLCJtYXBCb3VuZHNQb2x5Z29uIiwiZ2V0U291dGhXZXN0IiwiZ2V0Tm9ydGhXZXN0IiwiZ2V0Tm9ydGhFYXN0IiwiZ2V0U291dGhFYXN0IiwibWFwQm91bmRzIiwidG9HZW9KU09OIiwiZ2VvbWV0cnkiLCJhcmVhU3VyZmFjZSIsImN1c3RvbUF0dHJpYnV0ZXNGb3JBcmVhUG9seWdvbiIsImNhbGN1bGF0ZWRfc3VyZmFjZSIsImNyZWF0ZVBvbHlnb24iLCJwb3B1cENyZWF0b3IiLCJwYXR0ZXJuIiwiZ2V0UGF0dGVybiIsImFkZFRvIiwiZmlsbFBhdHRlcm4iLCJzY29yZVRvQ29sb3IiLCJhcmVhX3Njb3JlIiwiaXNfYXNzZXNzbWVudCIsImFzc2VzbWVudFBhdHRlcm4iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvYXJlYXMvQXJlYVV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMLCB7IEZlYXR1cmVHcm91cCwgUG9seWdvbiB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0ICdsZWFmbGV0LnBhdHRlcm4nO1xuaW1wb3J0IHsgc2NvcmVUb0NvbG9yLCBhcmVhU2NvcmVUb0NvbG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL3Njb3JlVG9EYXRhJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcbmltcG9ydCB7IGFzc2VzbWVudFBhdHRlcm4gfSBmcm9tICcuL1BhdHRlcm5zJztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5cbmNvbnN0IGdldEFyZWFOYW1lID0gKGFyZWEpID0+IHtcbiAgbGV0IG5hbWUgPSBhcmVhLmFyZWFfbmFtZSB8fCBhcmVhLm5hbWU7XG5cbiAgcmV0dXJuIG5hbWU7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QXJlYUlkID0gKGFyZWEpID0+IHtcbiAgY29uc3QgaWQgPSBhcmVhLmFyZWFfaWQgfHwgYXJlYS5pZDtcblxuICByZXR1cm4gaWQudG9TdHJpbmcoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZW5lcmljUG9seWdvbiA9IChhcmVhLCBtYXBab29tKSA9PiB7XG4gIGxldCBhcmVhUG9seWdvbjogUG9seWdvbjtcbiAgbGV0IGxhdGxuZ3MgPSBhcmVhLnNoYXBlX2RhdGEubWFwKChsb2NhdGlvbjogYW55KSA9PiB7XG4gICAgcmV0dXJuIFtsb2NhdGlvblsnbGF0J10sIGxvY2F0aW9uWydsbmcnXV07XG4gIH0pO1xuXG4gIGlmIChsYXRsbmdzLmxlbmd0aCA8IDEpIHJldHVybjtcblxuICBsZXQgY29sb3IgPSBhcmVhLmNvbG9yID8gYXJlYS5jb2xvciA6IGFyZWFTY29yZVRvQ29sb3IoYXJlYSk7XG5cbiAgYXJlYVBvbHlnb24gPSBMLnBvbHlnb24obGF0bG5ncywge1xuICAgIGNvbG9yLFxuICAgIGZpbGxPcGFjaXR5OiBhcmVhLnNob3dDb2xvck9ubHlJbkJvcmRlcnMgPyAwLjMgOiAwLjQsXG4gICAgd2VpZ2h0OiBhcmVhLnNob3dDb2xvck9ubHlJbkJvcmRlcnMgPyAyIDogMCxcbiAgICBmaWxsOiBhcmVhPy5zdWJfYXJlYXM/Lmxlbmd0aCA+IDAgPyBmYWxzZSA6IHRydWUsXG4gIH0pO1xuXG4gIHJldHVybiBhcmVhUG9seWdvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBjYWxjdWxhdGVQb2x5Z29uQXJlYSA9IChjb29yZGluYXRlcykgPT4ge1xuICBsZXQgYXJlYSA9IDA7XG4gIGxldCBudW1Qb2ludHMgPSBjb29yZGluYXRlcy5sZW5ndGg7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBudW1Qb2ludHM7IGkrKykge1xuICAgIGxldCB4MSA9IGNvb3JkaW5hdGVzW2ldWzBdO1xuICAgIGxldCB5MSA9IGNvb3JkaW5hdGVzW2ldWzFdO1xuICAgIGxldCB4MiA9IGNvb3JkaW5hdGVzWyhpICsgMSkgJSBudW1Qb2ludHNdWzBdO1xuICAgIGxldCB5MiA9IGNvb3JkaW5hdGVzWyhpICsgMSkgJSBudW1Qb2ludHNdWzFdO1xuXG4gICAgYXJlYSArPSB4MSAqIHkyIC0geDIgKiB5MTtcbiAgfVxuXG4gIHJldHVybiBNYXRoLmFicyhhcmVhIC8gMik7XG59O1xuXG5jb25zdCBwb2x5Z29uVGl0bGUgPSAoYXJlYSwgbWFwWm9vbSkgPT4ge1xuICByZXR1cm4gYDxkaXYgY2xhc3M9XCJhcmVhLXRvb2x0aXBcIiBzdHlsZT1cImNvbG9yOiR7XG4gICAgdGhlbWUuY29sb3JTY2hlbWUucHJpbWFyeS5wczFcbiAgfTtmb250LXdlaWdodDo3MDA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmb250LXNpemU6ICR7XG4gICAgbWFwWm9vbSAqIDEuNVxuICB9cHg7LXdlYmtpdC10ZXh0LXN0cm9rZTogMC44cHggI2ZmZmZmZjtcIj4gJHtnZXRBcmVhTmFtZShhcmVhKX0gXG4gICAgICAgIDwvZGl2PmA7XG59O1xuXG5jb25zdCBiaW5kVG9vbHRpcCA9IChsYXllciwgYXJlYSwgbWFwWm9vbSkgPT4ge1xuICBjb25zdCB0aXRsZSA9IHBvbHlnb25UaXRsZShhcmVhLCBtYXBab29tKTtcbiAgbGF5ZXIuYmluZFRvb2x0aXAodGl0bGUsIHtcbiAgICBjbGFzc05hbWU6ICdhcmVhLXRvb2x0aXAnLFxuICAgIHBlcm1hbmVudDogdHJ1ZSxcbiAgICBkaXJlY3Rpb246ICdjZW50ZXInLFxuICB9KTtcbiAgaGFuZGxlVG9sdGlwQmFzZWRPblpvb21MZXZlbChsYXllciwgbWFwWm9vbSk7XG59O1xuXG4vLyBUaGUgdG9vbHRpcCBpcyBzaG93aW5nIHRoZSBhcmVhIG5hbWVcbmV4cG9ydCBjb25zdCBoYW5kbGVUb2x0aXBCYXNlZE9uWm9vbUxldmVsID0gKHBvbHlnb24sIG1hcFpvb20pID0+IHtcbiAgaWYgKG1hcFpvb20gPiAxMSkge1xuICAgIGNvbnN0IHRvb2x0aXAgPSBwb2x5Z29uLmdldFRvb2x0aXAoKTtcbiAgICB0b29sdGlwLnNldENvbnRlbnQocG9seWdvblRpdGxlKHBvbHlnb24sIG1hcFpvb20pKTtcbiAgICBwb2x5Z29uLm9wZW5Ub29sdGlwKCk7XG4gIH0gZWxzZSB7XG4gICAgcG9seWdvbi5jbG9zZVRvb2x0aXAoKTtcbiAgfVxufTtcblxuY29uc3QgZHJpbGxEb3duQmFzZWRPblpvb21MZXZlbCA9IChcbiAgYXJlYVBvbHlnb24sXG4gIGFyZWEsXG4gIHBlcmNlbnRhZ2UsXG4gIHpvb21QZXJjZW50YWdlVG9EcmlsbERvd24sXG4gIGlzUGFydGlhbFBvbHlnb25WaXNpYmxlLFxuICBtYXAsXG4gIGZlYXR1cmVHcm91cCxcbikgPT4ge1xuICBjb25zdCBkcmlsbERvd25Db25kaXRpb24gPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHBlcmNlbnRhZ2UgPj0gem9vbVBlcmNlbnRhZ2VUb0RyaWxsRG93biAmJlxuICAgICAgaXNQYXJ0aWFsUG9seWdvblZpc2libGUgJiZcbiAgICAgIGFyZWEuc3ViX2FyZWFzLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgYXJlYVBvbHlnb24uX21hcCAhPT0gbnVsbFxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgaGlkZVBvbHlnb24gPSAocG9seWdvbjogUG9seWdvbikgPT4ge1xuICAgIHBvbHlnb24uYnJpbmdUb0JhY2soKTtcbiAgICBwb2x5Z29uLmNsb3NlVG9vbHRpcCgpO1xuICAgIHBvbHlnb25bJ2hpZGRlbiddID0gdHJ1ZTtcbiAgICBwb2x5Z29uLnNldFN0eWxlKHtcbiAgICAgIHN0cm9rZTogZmFsc2UsXG4gICAgICBmaWxsOiBmYWxzZSxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBzaG93UG9seWdvbiA9IChwb2x5Z29uOiBQb2x5Z29uLCBmaWxsOiBib29sZWFuKSA9PiB7XG4gICAgcG9seWdvbi5icmluZ1RvRnJvbnQoKTtcbiAgICBwb2x5Z29uWydoaWRkZW4nXSA9IGZhbHNlO1xuICAgIHBvbHlnb24uc2V0U3R5bGUoe1xuICAgICAgLy9zdHJva2U6IGZpbGwgPyBmYWxzZSA6IHRydWUsXG4gICAgICBzdHJva2U6IHRydWUsXG4gICAgICBvcGFjaXR5OiAwLjQsXG4gICAgICB3ZWlnaHQ6IDIsXG4gICAgICBmaWxsOiBmaWxsLFxuICAgICAgZmlsbE9wYWNpdHk6IDAuNCxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVTdWJBcmVhcyA9IChzaG93OiBib29sZWFuKSA9PiB7XG4gICAgaWYgKGFyZWFQb2x5Z29uWydzdWJfYXJlYXMnXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBhcmVhUG9seWdvblsnc3ViX2FyZWFzJ10uZm9yRWFjaCgoc3ViQXJlYUlkKSA9PiB7XG4gICAgICAgIGZlYXR1cmVHcm91cC5lYWNoTGF5ZXIoKGxheWVyKSA9PiB7XG4gICAgICAgICAgaWYgKGxheWVyWydrYW5kb19vYmplY3RfaWQnXSA9PT0gc3ViQXJlYUlkKSB7XG4gICAgICAgICAgICBzaG93ID8gc2hvd1BvbHlnb24obGF5ZXIsIHRydWUpIDogaGlkZVBvbHlnb24obGF5ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgLy8gU2hvdyB0aGUgYXJlYSB3aXRoIGJvcmRlciBvbmx5XG4gIC8vIE9yIGJhY2tncm91bmQgY29sb3JcbiAgaWYgKGRyaWxsRG93bkNvbmRpdGlvbigpKSB7XG4gICAgc2hvd1BvbHlnb24oYXJlYVBvbHlnb24sIGZhbHNlKTtcbiAgICBhcmVhUG9seWdvbi5jbG9zZVRvb2x0aXAoKTtcbiAgICBoYW5kbGVTdWJBcmVhcyh0cnVlKTtcbiAgfSBlbHNlIHtcbiAgICBoYW5kbGVTdWJBcmVhcyhmYWxzZSk7XG5cbiAgICBpZiAoIWFyZWFQb2x5Z29uWydoaWRkZW4nXSkge1xuICAgICAgc2hvd1BvbHlnb24oYXJlYVBvbHlnb24sIHRydWUpO1xuICAgICAgaGFuZGxlVG9sdGlwQmFzZWRPblpvb21MZXZlbChhcmVhUG9seWdvbiwgbWFwLmdldFpvb20oKSk7XG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgem9vbUNvbnRyb2xGb3JBcmVhID0gKGFyZWFQb2x5Z29uLCBhcmVhLCBtYXAsIGZlYXR1cmVHcm91cCkgPT4ge1xuICBtYXAub24oJ3pvb21lbmQnLCBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IGdldE1hcEJvdW5kcyA9IG1hcC5nZXRCb3VuZHMoKTtcbiAgICBsZXQgcG9seWdvbkJvdW5kcyA9IGFyZWFQb2x5Z29uLmdldEJvdW5kcygpO1xuICAgIGxldCBpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSA9IGdldE1hcEJvdW5kcy5pbnRlcnNlY3RzKHBvbHlnb25Cb3VuZHMpO1xuICAgIGxldCBtYXBCb3VuZHNQb2x5Z29uID0gTC5wb2x5Z29uKFtcbiAgICAgIGdldE1hcEJvdW5kcy5nZXRTb3V0aFdlc3QoKSxcbiAgICAgIGdldE1hcEJvdW5kcy5nZXROb3J0aFdlc3QoKSxcbiAgICAgIGdldE1hcEJvdW5kcy5nZXROb3J0aEVhc3QoKSxcbiAgICAgIGdldE1hcEJvdW5kcy5nZXRTb3V0aEVhc3QoKSxcbiAgICBdKTtcblxuICAgIGxldCBtYXBCb3VuZHMgPSBjYWxjdWxhdGVQb2x5Z29uQXJlYShcbiAgICAgIG1hcEJvdW5kc1BvbHlnb24udG9HZW9KU09OKCkuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMF0sXG4gICAgKTtcblxuICAgIGxldCBhcmVhU3VyZmFjZSA9IGFyZWFQb2x5Z29uWydjYWxjdWxhdGVkX3N1cmZhY2UnXTtcbiAgICBjb25zdCB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duID0gMTUuMDtcbiAgICBjb25zdCBwZXJjZW50YWdlID0gKGFyZWFTdXJmYWNlIC8gbWFwQm91bmRzKSAqIDEwMDtcblxuICAgIGRyaWxsRG93bkJhc2VkT25ab29tTGV2ZWwoXG4gICAgICBhcmVhUG9seWdvbixcbiAgICAgIGFyZWEsXG4gICAgICBwZXJjZW50YWdlLFxuICAgICAgem9vbVBlcmNlbnRhZ2VUb0RyaWxsRG93bixcbiAgICAgIGlzUGFydGlhbFBvbHlnb25WaXNpYmxlLFxuICAgICAgbWFwLFxuICAgICAgZmVhdHVyZUdyb3VwLFxuICAgICk7XG4gIH0pO1xufTtcblxuY29uc3QgY3VzdG9tQXR0cmlidXRlc0ZvckFyZWFQb2x5Z29uID0gKGFyZWFQb2x5Z29uLCBhcmVhKSA9PiB7XG4gIGFyZWFQb2x5Z29uWydrYW5kb19vYmplY3RfaWQnXSA9IGdldEFyZWFJZChhcmVhKTtcbiAgYXJlYVBvbHlnb25bJ2thbmRvX29iamVjdCddID0gJ0FyZWEnO1xuICBhcmVhUG9seWdvblsnYXJlYV9uYW1lJ10gPSBnZXRBcmVhTmFtZShhcmVhKTtcbiAgYXJlYVBvbHlnb25bJ2NhbGN1bGF0ZWRfc3VyZmFjZSddID0gYXJlYS5jYWxjdWxhdGVkX3N1cmZhY2U7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUG9seWdvbiA9IChcbiAgYXJlYSxcbiAgbWFwWm9vbSxcbiAgZmVhdHVyZUdyb3VwOiBGZWF0dXJlR3JvdXAsXG4gIG1hcCxcbiAgcG9wdXBDcmVhdG9yPzogKHBvbHlnb246IFBvbHlnb24sIGFyZWE6IElBcmVhKSA9PiB2b2lkLFxuKSA9PiB7XG4gIGxldCBwb2x5Z29uOiBQb2x5Z29uO1xuICBpZiAoXG4gICAgYXJlYS5zaGFwZV9kYXRhICE9PSBudWxsICYmXG4gICAgYXJlYS5zaGFwZV9kYXRhICE9PSB1bmRlZmluZWQgJiZcbiAgICBhcmVhLnNoYXBlX2RhdGEubGVuZ3RoID4gMFxuICApIHtcbiAgICBwb2x5Z29uID0gZ2VuZXJpY1BvbHlnb24oYXJlYSwgbWFwWm9vbSk7XG5cbiAgICBjdXN0b21BdHRyaWJ1dGVzRm9yQXJlYVBvbHlnb24ocG9seWdvbiwgYXJlYSk7XG4gICAgY29uc3QgcGF0dGVybiA9IGdldFBhdHRlcm4oYXJlYSk7XG5cbiAgICBpZiAocGF0dGVybikge1xuICAgICAgcGF0dGVybj8uYWRkVG8obWFwKTtcbiAgICAgIHBvbHlnb24uc2V0U3R5bGUoe1xuICAgICAgICBmaWxsUGF0dGVybjogcGF0dGVybixcbiAgICAgICAgY29sb3I6IHNjb3JlVG9Db2xvcihhcmVhLmFyZWFfc2NvcmUpLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHBvbHlnb24uYWRkVG8oZmVhdHVyZUdyb3VwKTtcbiAgICBwb3B1cENyZWF0b3IgJiYgcG9wdXBDcmVhdG9yKHBvbHlnb24sIGFyZWEpO1xuICAgIGJpbmRUb29sdGlwKHBvbHlnb24sIGFyZWEsIG1hcFpvb20pO1xuICAgIHpvb21Db250cm9sRm9yQXJlYShwb2x5Z29uLCBhcmVhLCBtYXAsIGZlYXR1cmVHcm91cCk7XG4gICAgcmV0dXJuIHBvbHlnb247XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59O1xuXG5jb25zdCBnZXRQYXR0ZXJuID0gKGFyZWEpID0+IHtcbiAgaWYgKCFhcmVhLmlzX2Fzc2Vzc21lbnQpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBjb2xvciA9IHNjb3JlVG9Db2xvcihhcmVhLmFyZWFfc2NvcmUpO1xuICByZXR1cm4gYXNzZXNtZW50UGF0dGVybihjb2xvcik7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBQyxZQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxTQUFBLEdBQUFILE9BQUE7QUFHQSxNQUFNSSxXQUFXLEdBQUlDLElBQUksSUFBSztFQUM1QixJQUFJQyxJQUFJLEdBQUdELElBQUksQ0FBQ0UsU0FBUyxJQUFJRixJQUFJLENBQUNDLElBQUk7RUFFdEMsT0FBT0EsSUFBSTtBQUNiLENBQUM7QUFFTSxNQUFNRSxTQUFT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
176
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbGVhZmxldCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3Njb3JlVG9EYXRhIiwiX3RoZW1lIiwiX1BhdHRlcm5zIiwiZ2V0QXJlYU5hbWUiLCJhcmVhIiwibmFtZSIsImFyZWFfbmFtZSIsImdldEFyZWFJZCIsImlkIiwiYXJlYV9pZCIsInRvU3RyaW5nIiwiZXhwb3J0cyIsImdlbmVyaWNQb2x5Z29uIiwibWFwWm9vbSIsIl9hcmVhJHN1Yl9hcmVhcyIsImFyZWFQb2x5Z29uIiwibGF0bG5ncyIsInNoYXBlX2RhdGEiLCJtYXAiLCJsb2NhdGlvbiIsImxlbmd0aCIsImNvbG9yIiwiYXJlYVNjb3JlVG9Db2xvciIsIkwiLCJwb2x5Z29uIiwiZmlsbE9wYWNpdHkiLCJzaG93Q29sb3JPbmx5SW5Cb3JkZXJzIiwid2VpZ2h0IiwiZmlsbCIsInN1Yl9hcmVhcyIsImNhbGN1bGF0ZVBvbHlnb25BcmVhIiwiY29vcmRpbmF0ZXMiLCJudW1Qb2ludHMiLCJpIiwieDEiLCJ5MSIsIngyIiwieTIiLCJNYXRoIiwiYWJzIiwicG9seWdvblRpdGxlIiwiY29uY2F0IiwidGhlbWUiLCJjb2xvclNjaGVtZSIsInByaW1hcnkiLCJwczEiLCJiaW5kVG9vbHRpcCIsImxheWVyIiwidGl0bGUiLCJjbGFzc05hbWUiLCJwZXJtYW5lbnQiLCJkaXJlY3Rpb24iLCJoYW5kbGVUb2x0aXBCYXNlZE9uWm9vbUxldmVsIiwidG9vbHRpcCIsImdldFRvb2x0aXAiLCJzZXRDb250ZW50Iiwib3BlblRvb2x0aXAiLCJjbG9zZVRvb2x0aXAiLCJkcmlsbERvd25CYXNlZE9uWm9vbUxldmVsIiwicGVyY2VudGFnZSIsInpvb21QZXJjZW50YWdlVG9EcmlsbERvd24iLCJpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSIsImZlYXR1cmVHcm91cCIsImRyaWxsRG93bkNvbmRpdGlvbiIsIl9tYXAiLCJoaWRlUG9seWdvbiIsImJyaW5nVG9CYWNrIiwic2V0U3R5bGUiLCJzdHJva2UiLCJzaG93UG9seWdvbiIsImJyaW5nVG9Gcm9udCIsIm9wYWNpdHkiLCJoYW5kbGVTdWJBcmVhcyIsInNob3ciLCJ1bmRlZmluZWQiLCJmb3JFYWNoIiwic3ViQXJlYUlkIiwiZWFjaExheWVyIiwiZ2V0Wm9vbSIsInpvb21Db250cm9sRm9yQXJlYSIsIm9uIiwiZ2V0TWFwQm91bmRzIiwiZ2V0Qm91bmRzIiwicG9seWdvbkJvdW5kcyIsImludGVyc2VjdHMiLCJtYXBCb3VuZHNQb2x5Z29uIiwiZ2V0U291dGhXZXN0IiwiZ2V0Tm9ydGhXZXN0IiwiZ2V0Tm9ydGhFYXN0IiwiZ2V0U291dGhFYXN0IiwibWFwQm91bmRzIiwidG9HZW9KU09OIiwiZ2VvbWV0cnkiLCJhcmVhU3VyZmFjZSIsImN1c3RvbUF0dHJpYnV0ZXNGb3JBcmVhUG9seWdvbiIsImNhbGN1bGF0ZWRfc3VyZmFjZSIsImNyZWF0ZVBvbHlnb24iLCJwb3B1cENyZWF0b3IiLCJwYXR0ZXJuIiwiZ2V0UGF0dGVybiIsImFkZFRvIiwiZmlsbFBhdHRlcm4iLCJzY29yZVRvQ29sb3IiLCJhcmVhX3Njb3JlIiwiaXNfYXNzZXNzbWVudCIsImFzc2VzbWVudFBhdHRlcm4iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvV2lkZ2V0cy9NYXAvYXJlYXMvQXJlYVV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBMLCB7IEZlYXR1cmVHcm91cCwgUG9seWdvbiB9IGZyb20gJ2xlYWZsZXQnO1xuaW1wb3J0ICdsZWFmbGV0LnBhdHRlcm4nO1xuaW1wb3J0IHsgc2NvcmVUb0NvbG9yLCBhcmVhU2NvcmVUb0NvbG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL3Njb3JlVG9EYXRhJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcbmltcG9ydCB7IGFzc2VzbWVudFBhdHRlcm4gfSBmcm9tICcuL1BhdHRlcm5zJztcbmltcG9ydCB7IElBcmVhIH0gZnJvbSAnc3JjL3N0b3JlL2FyZWFzL21vZGVscy9JQXJlYSc7XG5cbmNvbnN0IGdldEFyZWFOYW1lID0gKGFyZWEpID0+IHtcbiAgbGV0IG5hbWUgPSBhcmVhLmFyZWFfbmFtZSB8fCBhcmVhLm5hbWU7XG5cbiAgcmV0dXJuIG5hbWU7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0QXJlYUlkID0gKGFyZWEpID0+IHtcbiAgY29uc3QgaWQgPSBhcmVhLmFyZWFfaWQgfHwgYXJlYS5pZDtcblxuICByZXR1cm4gaWQudG9TdHJpbmcoKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZW5lcmljUG9seWdvbiA9IChhcmVhLCBtYXBab29tKSA9PiB7XG4gIGxldCBhcmVhUG9seWdvbjogUG9seWdvbjtcbiAgbGV0IGxhdGxuZ3MgPSBhcmVhLnNoYXBlX2RhdGEubWFwKChsb2NhdGlvbjogYW55KSA9PiB7XG4gICAgcmV0dXJuIFtsb2NhdGlvblsnbGF0J10sIGxvY2F0aW9uWydsbmcnXV07XG4gIH0pO1xuXG4gIGlmIChsYXRsbmdzLmxlbmd0aCA8IDEpIHJldHVybjtcblxuICBsZXQgY29sb3IgPSBhcmVhLmNvbG9yID8gYXJlYS5jb2xvciA6IGFyZWFTY29yZVRvQ29sb3IoYXJlYSk7XG5cbiAgYXJlYVBvbHlnb24gPSBMLnBvbHlnb24obGF0bG5ncywge1xuICAgIGNvbG9yLFxuICAgIGZpbGxPcGFjaXR5OiBhcmVhLnNob3dDb2xvck9ubHlJbkJvcmRlcnMgPyAwLjMgOiAwLjQsXG4gICAgd2VpZ2h0OiBhcmVhLnNob3dDb2xvck9ubHlJbkJvcmRlcnMgPyAyIDogMCxcbiAgICBmaWxsOiBhcmVhPy5zdWJfYXJlYXM/Lmxlbmd0aCA+IDAgPyBmYWxzZSA6IHRydWUsXG4gIH0pO1xuXG4gIHJldHVybiBhcmVhUG9seWdvbjtcbn07XG5cbmV4cG9ydCBjb25zdCBjYWxjdWxhdGVQb2x5Z29uQXJlYSA9IChjb29yZGluYXRlcykgPT4ge1xuICBsZXQgYXJlYSA9IDA7XG4gIGxldCBudW1Qb2ludHMgPSBjb29yZGluYXRlcy5sZW5ndGg7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBudW1Qb2ludHM7IGkrKykge1xuICAgIGxldCB4MSA9IGNvb3JkaW5hdGVzW2ldWzBdO1xuICAgIGxldCB5MSA9IGNvb3JkaW5hdGVzW2ldWzFdO1xuICAgIGxldCB4MiA9IGNvb3JkaW5hdGVzWyhpICsgMSkgJSBudW1Qb2ludHNdWzBdO1xuICAgIGxldCB5MiA9IGNvb3JkaW5hdGVzWyhpICsgMSkgJSBudW1Qb2ludHNdWzFdO1xuXG4gICAgYXJlYSArPSB4MSAqIHkyIC0geDIgKiB5MTtcbiAgfVxuXG4gIHJldHVybiBNYXRoLmFicyhhcmVhIC8gMik7XG59O1xuXG5jb25zdCBwb2x5Z29uVGl0bGUgPSAoYXJlYSwgbWFwWm9vbSkgPT4ge1xuICByZXR1cm4gYDxkaXYgY2xhc3M9XCJhcmVhLXRvb2x0aXBcIiBzdHlsZT1cImNvbG9yOiR7XG4gICAgdGhlbWUuY29sb3JTY2hlbWUucHJpbWFyeS5wczFcbiAgfTtmb250LXdlaWdodDo3MDA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtmb250LXNpemU6ICR7XG4gICAgbWFwWm9vbSAqIDEuNVxuICB9cHg7LXdlYmtpdC10ZXh0LXN0cm9rZTogMC44cHggI2ZmZmZmZjtcIj4gJHtnZXRBcmVhTmFtZShhcmVhKX0gXG4gICAgICAgIDwvZGl2PmA7XG59O1xuXG5jb25zdCBiaW5kVG9vbHRpcCA9IChsYXllciwgYXJlYSwgbWFwWm9vbSkgPT4ge1xuICBjb25zdCB0aXRsZSA9IHBvbHlnb25UaXRsZShhcmVhLCBtYXBab29tKTtcbiAgbGF5ZXIuYmluZFRvb2x0aXAodGl0bGUsIHtcbiAgICBjbGFzc05hbWU6ICdhcmVhLXRvb2x0aXAnLFxuICAgIHBlcm1hbmVudDogdHJ1ZSxcbiAgICBkaXJlY3Rpb246ICdjZW50ZXInLFxuICB9KTtcbiAgaGFuZGxlVG9sdGlwQmFzZWRPblpvb21MZXZlbChsYXllciwgbWFwWm9vbSk7XG59O1xuXG4vLyBUaGUgdG9vbHRpcCBpcyBzaG93aW5nIHRoZSBhcmVhIG5hbWVcbmV4cG9ydCBjb25zdCBoYW5kbGVUb2x0aXBCYXNlZE9uWm9vbUxldmVsID0gKHBvbHlnb24sIG1hcFpvb20pID0+IHtcbiAgaWYgKG1hcFpvb20gPiAxMSkge1xuICAgIGNvbnN0IHRvb2x0aXAgPSBwb2x5Z29uLmdldFRvb2x0aXAoKTtcbiAgICB0b29sdGlwLnNldENvbnRlbnQocG9seWdvblRpdGxlKHBvbHlnb24sIG1hcFpvb20pKTtcbiAgICBwb2x5Z29uLm9wZW5Ub29sdGlwKCk7XG4gIH0gZWxzZSB7XG4gICAgcG9seWdvbi5jbG9zZVRvb2x0aXAoKTtcbiAgfVxufTtcblxuY29uc3QgZHJpbGxEb3duQmFzZWRPblpvb21MZXZlbCA9IChcbiAgYXJlYVBvbHlnb24sXG4gIGFyZWEsXG4gIHBlcmNlbnRhZ2UsXG4gIHpvb21QZXJjZW50YWdlVG9EcmlsbERvd24sXG4gIGlzUGFydGlhbFBvbHlnb25WaXNpYmxlLFxuICBtYXAsXG4gIGZlYXR1cmVHcm91cCxcbikgPT4ge1xuICBjb25zdCBkcmlsbERvd25Db25kaXRpb24gPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHBlcmNlbnRhZ2UgPj0gem9vbVBlcmNlbnRhZ2VUb0RyaWxsRG93biAmJlxuICAgICAgaXNQYXJ0aWFsUG9seWdvblZpc2libGUgJiZcbiAgICAgIGFyZWEuc3ViX2FyZWFzLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgYXJlYVBvbHlnb24uX21hcCAhPT0gbnVsbFxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgaGlkZVBvbHlnb24gPSAocG9seWdvbjogUG9seWdvbikgPT4ge1xuICAgIHBvbHlnb24uYnJpbmdUb0JhY2soKTtcbiAgICBwb2x5Z29uLmNsb3NlVG9vbHRpcCgpO1xuICAgIHBvbHlnb25bJ2hpZGRlbiddID0gdHJ1ZTtcbiAgICBwb2x5Z29uLnNldFN0eWxlKHtcbiAgICAgIHN0cm9rZTogZmFsc2UsXG4gICAgICBmaWxsOiBmYWxzZSxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBzaG93UG9seWdvbiA9IChwb2x5Z29uOiBQb2x5Z29uLCBmaWxsOiBib29sZWFuKSA9PiB7XG4gICAgcG9seWdvbi5icmluZ1RvRnJvbnQoKTtcbiAgICBwb2x5Z29uWydoaWRkZW4nXSA9IGZhbHNlO1xuICAgIHBvbHlnb24uc2V0U3R5bGUoe1xuICAgICAgLy9zdHJva2U6IGZpbGwgPyBmYWxzZSA6IHRydWUsXG4gICAgICBzdHJva2U6IHRydWUsXG4gICAgICBvcGFjaXR5OiAwLjQsXG4gICAgICB3ZWlnaHQ6IDIsXG4gICAgICBmaWxsOiBmaWxsLFxuICAgICAgZmlsbE9wYWNpdHk6IDAuNCxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVTdWJBcmVhcyA9IChzaG93OiBib29sZWFuKSA9PiB7XG4gICAgaWYgKGFyZWFQb2x5Z29uWydzdWJfYXJlYXMnXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBhcmVhUG9seWdvblsnc3ViX2FyZWFzJ10uZm9yRWFjaCgoc3ViQXJlYUlkKSA9PiB7XG4gICAgICAgIGZlYXR1cmVHcm91cC5lYWNoTGF5ZXIoKGxheWVyKSA9PiB7XG4gICAgICAgICAgaWYgKGxheWVyWydrYW5kb19vYmplY3RfaWQnXSA9PT0gc3ViQXJlYUlkKSB7XG4gICAgICAgICAgICBzaG93ID8gc2hvd1BvbHlnb24obGF5ZXIsIHRydWUpIDogaGlkZVBvbHlnb24obGF5ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgLy8gU2hvdyB0aGUgYXJlYSB3aXRoIGJvcmRlciBvbmx5XG4gIC8vIE9yIGJhY2tncm91bmQgY29sb3JcbiAgaWYgKGRyaWxsRG93bkNvbmRpdGlvbigpKSB7XG4gICAgc2hvd1BvbHlnb24oYXJlYVBvbHlnb24sIGZhbHNlKTtcbiAgICBhcmVhUG9seWdvbi5jbG9zZVRvb2x0aXAoKTtcbiAgICBoYW5kbGVTdWJBcmVhcyh0cnVlKTtcbiAgfSBlbHNlIHtcbiAgICBoYW5kbGVTdWJBcmVhcyhmYWxzZSk7XG5cbiAgICBpZiAoIWFyZWFQb2x5Z29uWydoaWRkZW4nXSkge1xuICAgICAgc2hvd1BvbHlnb24oYXJlYVBvbHlnb24sIHRydWUpO1xuICAgICAgaGFuZGxlVG9sdGlwQmFzZWRPblpvb21MZXZlbChhcmVhUG9seWdvbiwgbWFwLmdldFpvb20oKSk7XG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3Qgem9vbUNvbnRyb2xGb3JBcmVhID0gKGFyZWFQb2x5Z29uLCBhcmVhLCBtYXAsIGZlYXR1cmVHcm91cCkgPT4ge1xuICBtYXAub24oJ3pvb21lbmQnLCBmdW5jdGlvbiAoKSB7XG4gICAgbGV0IGdldE1hcEJvdW5kcyA9IG1hcC5nZXRCb3VuZHMoKTtcbiAgICBsZXQgcG9seWdvbkJvdW5kcyA9IGFyZWFQb2x5Z29uLmdldEJvdW5kcygpO1xuICAgIGxldCBpc1BhcnRpYWxQb2x5Z29uVmlzaWJsZSA9IGdldE1hcEJvdW5kcy5pbnRlcnNlY3RzKHBvbHlnb25Cb3VuZHMpO1xuICAgIGxldCBtYXBCb3VuZHNQb2x5Z29uID0gTC5wb2x5Z29uKFtcbiAgICAgIGdldE1hcEJvdW5kcy5nZXRTb3V0aFdlc3QoKSxcbiAgICAgIGdldE1hcEJvdW5kcy5nZXROb3J0aFdlc3QoKSxcbiAgICAgIGdldE1hcEJvdW5kcy5nZXROb3J0aEVhc3QoKSxcbiAgICAgIGdldE1hcEJvdW5kcy5nZXRTb3V0aEVhc3QoKSxcbiAgICBdKTtcblxuICAgIGxldCBtYXBCb3VuZHMgPSBjYWxjdWxhdGVQb2x5Z29uQXJlYShcbiAgICAgIG1hcEJvdW5kc1BvbHlnb24udG9HZW9KU09OKCkuZ2VvbWV0cnkuY29vcmRpbmF0ZXNbMF0sXG4gICAgKTtcblxuICAgIGxldCBhcmVhU3VyZmFjZSA9IGFyZWFQb2x5Z29uWydjYWxjdWxhdGVkX3N1cmZhY2UnXTtcbiAgICBjb25zdCB6b29tUGVyY2VudGFnZVRvRHJpbGxEb3duID0gMTUuMDtcbiAgICBjb25zdCBwZXJjZW50YWdlID0gKGFyZWFTdXJmYWNlIC8gbWFwQm91bmRzKSAqIDEwMDtcblxuICAgIGRyaWxsRG93bkJhc2VkT25ab29tTGV2ZWwoXG4gICAgICBhcmVhUG9seWdvbixcbiAgICAgIGFyZWEsXG4gICAgICBwZXJjZW50YWdlLFxuICAgICAgem9vbVBlcmNlbnRhZ2VUb0RyaWxsRG93bixcbiAgICAgIGlzUGFydGlhbFBvbHlnb25WaXNpYmxlLFxuICAgICAgbWFwLFxuICAgICAgZmVhdHVyZUdyb3VwLFxuICAgICk7XG4gIH0pO1xufTtcblxuY29uc3QgY3VzdG9tQXR0cmlidXRlc0ZvckFyZWFQb2x5Z29uID0gKGFyZWFQb2x5Z29uLCBhcmVhKSA9PiB7XG4gIGFyZWFQb2x5Z29uWydrYW5kb19vYmplY3RfaWQnXSA9IGdldEFyZWFJZChhcmVhKTtcbiAgYXJlYVBvbHlnb25bJ2thbmRvX29iamVjdCddID0gJ0FyZWEnO1xuICBhcmVhUG9seWdvblsnYXJlYV9uYW1lJ10gPSBnZXRBcmVhTmFtZShhcmVhKTtcbiAgYXJlYVBvbHlnb25bJ2NhbGN1bGF0ZWRfc3VyZmFjZSddID0gYXJlYS5jYWxjdWxhdGVkX3N1cmZhY2U7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlUG9seWdvbiA9IChcbiAgYXJlYSxcbiAgbWFwWm9vbSxcbiAgZmVhdHVyZUdyb3VwOiBGZWF0dXJlR3JvdXAsXG4gIG1hcCxcbiAgcG9wdXBDcmVhdG9yPzogKHBvbHlnb246IFBvbHlnb24sIGFyZWE6IElBcmVhKSA9PiB2b2lkLFxuKSA9PiB7XG4gIGxldCBwb2x5Z29uOiBQb2x5Z29uO1xuICBpZiAoXG4gICAgYXJlYS5zaGFwZV9kYXRhICE9PSBudWxsICYmXG4gICAgYXJlYS5zaGFwZV9kYXRhICE9PSB1bmRlZmluZWQgJiZcbiAgICBhcmVhLnNoYXBlX2RhdGEubGVuZ3RoID4gMFxuICApIHtcbiAgICBwb2x5Z29uID0gZ2VuZXJpY1BvbHlnb24oYXJlYSwgbWFwWm9vbSk7XG5cbiAgICBjdXN0b21BdHRyaWJ1dGVzRm9yQXJlYVBvbHlnb24ocG9seWdvbiwgYXJlYSk7XG4gICAgY29uc3QgcGF0dGVybiA9IGdldFBhdHRlcm4oYXJlYSk7XG5cbiAgICBpZiAocGF0dGVybikge1xuICAgICAgcGF0dGVybj8uYWRkVG8obWFwKTtcbiAgICAgIHBvbHlnb24uc2V0U3R5bGUoe1xuICAgICAgICBmaWxsUGF0dGVybjogcGF0dGVybixcbiAgICAgICAgY29sb3I6IHNjb3JlVG9Db2xvcihhcmVhLmFyZWFfc2NvcmUpLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHBvbHlnb24uYWRkVG8oZmVhdHVyZUdyb3VwKTtcbiAgICBwb3B1cENyZWF0b3IgJiYgcG9wdXBDcmVhdG9yKHBvbHlnb24sIGFyZWEpO1xuICAgIGJpbmRUb29sdGlwKHBvbHlnb24sIGFyZWEsIG1hcFpvb20pO1xuICAgIHpvb21Db250cm9sRm9yQXJlYShwb2x5Z29uLCBhcmVhLCBtYXAsIGZlYXR1cmVHcm91cCk7XG4gICAgcmV0dXJuIHBvbHlnb247XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59O1xuXG5jb25zdCBnZXRQYXR0ZXJuID0gKGFyZWEpID0+IHtcbiAgaWYgKCFhcmVhLmlzX2Fzc2Vzc21lbnQpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCBjb2xvciA9IHNjb3JlVG9Db2xvcihhcmVhLmFyZWFfc2NvcmUpO1xuICByZXR1cm4gYXNzZXNtZW50UGF0dGVybihjb2xvcik7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsUUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0FBLE9BQUE7QUFDQSxJQUFBQyxZQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxTQUFBLEdBQUFILE9BQUE7QUFHQSxJQUFNSSxXQUFXLEdBQUcsU0FBZEEsV0FBV0EsQ0FBSUMsSUFBSSxFQUFLO0VBQzVCLElBQUlDLElBQUksR0FBR0QsSUFBSSxDQUFDRSxTQUFTLElBQUlGLElBQUksQ0FBQ0MsSUFBSTtFQUV0QyxPQUFPQSxJQUFJO0FBQ2IsQ0FB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