@kando-env/kando-ui 1.2.351 → 1.2.352

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (576) hide show
  1. package/lib/Router.js +36 -73
  2. package/lib/Widgets/EventsCarousel/EventsCarousel.js +23 -33
  3. package/lib/Widgets/EventsRow/EventsRow.js +25 -37
  4. package/lib/Widgets/Map/GraphUtils.js +3 -3
  5. package/lib/Widgets/Map/Map.js +66 -83
  6. package/lib/Widgets/Map/MapUtils.js +40 -39
  7. package/lib/Widgets/Map/areas/AreaPolygon.js +52 -76
  8. package/lib/Widgets/Map/areas/AreaPolygons.js +23 -24
  9. package/lib/Widgets/Map/areas/AreaUtils.js +46 -46
  10. package/lib/Widgets/Map/areas/Patterns.js +4 -4
  11. package/lib/Widgets/Map/edges/Edge.js +24 -31
  12. package/lib/Widgets/Map/edges/Edges.js +19 -23
  13. package/lib/Widgets/Map/edges/arrows/Arrows.js +23 -44
  14. package/lib/Widgets/Map/events/Event.js +17 -17
  15. package/lib/Widgets/Map/events/EventIndicator.js +57 -52
  16. package/lib/Widgets/Map/events/EventPath.js +24 -22
  17. package/lib/Widgets/Map/events/EventUtils.js +55 -78
  18. package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +17 -18
  19. package/lib/Widgets/Map/events/PointOfEvent.js +29 -34
  20. package/lib/Widgets/Map/events/PointsForSpecificEvent.js +30 -37
  21. package/lib/Widgets/Map/events/Snail.js +19 -20
  22. package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +93 -86
  23. package/lib/Widgets/Map/map/FloatingGraph.js +22 -18
  24. package/lib/Widgets/Map/map/GraphDateButton.js +25 -17
  25. package/lib/Widgets/Map/matchGraph/MatchGraph.js +13 -12
  26. package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +16 -15
  27. package/lib/Widgets/Map/points/PointIcon.js +15 -13
  28. package/lib/Widgets/Map/points/PointMarker.js +71 -87
  29. package/lib/Widgets/Map/points/PointMarkers.js +45 -66
  30. package/lib/Widgets/Map/points/PointUtils.js +69 -75
  31. package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +28 -45
  32. package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +11 -10
  33. package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +10 -11
  34. package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +3 -3
  35. package/lib/Widgets/MostPolluting/Areas/Areas.js +28 -57
  36. package/lib/Widgets/MostPolluting/Areas/areas.mock.js +3 -3
  37. package/lib/Widgets/MostPolluting/Areas/styles.js +3 -3
  38. package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +11 -8
  39. package/lib/Widgets/MostPolluting/Factories/Factories.js +33 -64
  40. package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +14 -17
  41. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +7 -7
  42. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +12 -10
  43. package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +3 -3
  44. package/lib/Widgets/MostPolluting/Factories/factories.mock.js +2 -2
  45. package/lib/Widgets/MostPolluting/Factories/styles.js +3 -3
  46. package/lib/Widgets/MostPolluting/MostPolluting.js +21 -27
  47. package/lib/Widgets/MostPolluting/MostPolluting.stories.js +18 -22
  48. package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +6 -4
  49. package/lib/Widgets/MostPolluting/ShowMore/styles.js +6 -4
  50. package/lib/Widgets/MostPolluting/assets/index.js +10 -10
  51. package/lib/Widgets/MostPolluting/components/ChangePercent.js +19 -13
  52. package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +35 -30
  53. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +34 -31
  54. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +39 -35
  55. package/lib/Widgets/MostPolluting/components/PotentialImpact.js +27 -26
  56. package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +51 -47
  57. package/lib/Widgets/MostPolluting/styles.js +3 -3
  58. package/lib/Widgets/PotentialImpactSummary/Back/Back.js +7 -5
  59. package/lib/Widgets/PotentialImpactSummary/Icon.js +8 -6
  60. package/lib/Widgets/PotentialImpactSummary/index.js +19 -27
  61. package/lib/Widgets/PotentialImpactSummary/index.test.js +47 -52
  62. package/lib/Widgets/PotentialImpactSummary/styles.js +7 -7
  63. package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +9 -7
  64. package/lib/Widgets/QualitySummary/PieChart/PieChart.js +22 -17
  65. package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +35 -32
  66. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +26 -24
  67. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +35 -37
  68. package/lib/Widgets/QualitySummary/QualitySummary.js +9 -13
  69. package/lib/Widgets/QualitySummary/qualitySummary.mock.js +4 -4
  70. package/lib/Widgets/QualitySummary/styles.js +23 -15
  71. package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +12 -13
  72. package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +25 -24
  73. package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +29 -24
  74. package/lib/Widgets/UtilityInformation/UtilityInformation.js +23 -40
  75. package/lib/Widgets/UtilityInformation/styles.js +31 -22
  76. package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +3 -3
  77. package/lib/assets/icons/TopNavbar/index.js +6 -6
  78. package/lib/assets/icons/TrendSvg.js +6 -6
  79. package/lib/assets/icons/index.js +15 -15
  80. package/lib/assets/icons/kandoStepper/index.js +5 -5
  81. package/lib/assets/icons/siteTypes/index.js +1 -1
  82. package/lib/components/ApplyButton/ApplyButton.js +8 -8
  83. package/lib/components/Backdrop/Backdrop.js +6 -4
  84. package/lib/components/ContentLoader/ContentLoader.js +11 -9
  85. package/lib/components/ContentLoader/index.js +1 -1
  86. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +10 -9
  87. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +3 -5
  88. package/lib/components/CustomInputs/DoubleTabs/styles.js +20 -12
  89. package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +12 -19
  90. package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +6 -4
  91. package/lib/components/CustomInputs/Search/Search.js +39 -60
  92. package/lib/components/CustomInputs/Select/Select.js +42 -55
  93. package/lib/components/CustomInputs/Select/Select.stories.js +4 -6
  94. package/lib/components/DamageType/DamageType.js +34 -56
  95. package/lib/components/DataLoaderError/DataLoaderError.js +8 -6
  96. package/lib/components/DischargeHeatmap/DischargeHeatmap.js +9 -10
  97. package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +70 -71
  98. package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +27 -37
  99. package/lib/components/DischargeHeatmap/HighchartsOptions.js +10 -12
  100. package/lib/components/DischargeHeatmap/mocks/handlers.js +3 -3
  101. package/lib/components/DischargeHeatmap/popupText.js +9 -9
  102. package/lib/components/DischargeHeatmap/titles.js +3 -3
  103. package/lib/components/ErrorBoundary.js +27 -41
  104. package/lib/components/Events/Events.js +28 -45
  105. package/lib/components/Graph/Graph.js +67 -86
  106. package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +17 -21
  107. package/lib/components/Header/DoubleTabs/DoubleTabs.js +18 -26
  108. package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +3 -5
  109. package/lib/components/Header/DoubleTabs/styles.js +4 -4
  110. package/lib/components/Header/Header.js +2 -2
  111. package/lib/components/Header/Header.stories.js +3 -5
  112. package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +82 -197
  113. package/lib/components/Header/InfoBar/InfoBar.js +66 -95
  114. package/lib/components/Header/InfoBar/Search/Control.js +9 -9
  115. package/lib/components/Header/InfoBar/Search/GroupLabel.js +6 -4
  116. package/lib/components/Header/InfoBar/Search/Search.js +14 -19
  117. package/lib/components/Header/InfoBar/Search/SearchContainer.js +15 -27
  118. package/lib/components/Header/InfoBar/Search/searchStyle.js +41 -49
  119. package/lib/components/Header/InfoBar/TimeFilter.js +11 -14
  120. package/lib/components/Header/KandoNavbar/KandoNavbar.js +62 -87
  121. package/lib/components/Header/Slideshow/Slideshow.js +67 -89
  122. package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +6 -4
  123. package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +21 -23
  124. package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +13 -13
  125. package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +35 -41
  126. package/lib/components/Header/Toolbar/Toolbar.js +55 -74
  127. package/lib/components/InfoBar/InfoBar.js +10 -23
  128. package/lib/components/InfoBar/InfoBar.stories.js +3 -5
  129. package/lib/components/KandoModal/KandoModal.js +23 -37
  130. package/lib/components/Link.js +8 -7
  131. package/lib/components/Links/CustomRedirect/CustomRedirect.js +9 -8
  132. package/lib/components/Links/StyledLink/StyledLink.js +12 -12
  133. package/lib/components/Links/StyledNavLink/StyledNavLink.js +11 -10
  134. package/lib/components/LiveEvents/CarouselSlide.js +9 -7
  135. package/lib/components/LiveEvents/LiveEvents.js +5 -3
  136. package/lib/components/LoaderByPercent/LoaderByPercent.js +36 -28
  137. package/lib/components/Map/Map.js +19 -22
  138. package/lib/components/Modal/Modal.js +9 -9
  139. package/lib/components/NarrowHeader.js +17 -31
  140. package/lib/components/PointInfo/PointInfo.js +18 -16
  141. package/lib/components/PopupModal/PopupModal.js +12 -16
  142. package/lib/components/PopupModal/PopupModal.stories.js +15 -19
  143. package/lib/components/Sector/Sector.js +8 -6
  144. package/lib/components/Sector/Sector.test.js +19 -20
  145. package/lib/components/Sector/sectorIcons.js +2 -2
  146. package/lib/components/SevereEvent/Eta/Eta.js +48 -51
  147. package/lib/components/SevereEvent/Eta/styles.js +10 -6
  148. package/lib/components/SevereEvent/SevereEvent.js +27 -34
  149. package/lib/components/Spinner/Spinner.js +7 -7
  150. package/lib/components/Spinner/Spinner.stories.js +4 -6
  151. package/lib/components/Spinner/styles.js +20 -12
  152. package/lib/components/Tabs/Tabs.js +18 -27
  153. package/lib/components/Tabs/Tabs.stories.js +4 -6
  154. package/lib/components/Tabs/assets/index.js +5 -5
  155. package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +12 -15
  156. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +34 -45
  157. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +19 -31
  158. package/lib/components/TimeRangeSelector/TimeRangeHelper.js +16 -21
  159. package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +11 -11
  160. package/lib/components/TimeRangeSelector/TimeRangeList.js +23 -24
  161. package/lib/components/TimeRangeSelector/TimeRangeOptions.js +16 -24
  162. package/lib/components/TimeRangeSelector/TimeRangeSelector.js +28 -29
  163. package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +4 -6
  164. package/lib/components/TimeRangeSelector/constants.js +3 -3
  165. package/lib/components/Toggle/Toggle.js +10 -15
  166. package/lib/components/TrendGraph/TrendGraph.js +22 -38
  167. package/lib/components/TrendGraphNVL/TrendGraphNVL.js +24 -30
  168. package/lib/development-environment/index.js +8 -12
  169. package/lib/development-environment/mock/browser.js +2 -4
  170. package/lib/development-environment/mock/get.js +8 -10
  171. package/lib/development-environment/mock/handlers.js +2 -2
  172. package/lib/development-environment/mock/mockBus.js +4 -4
  173. package/lib/development-environment/mock/mockObjects/area-trends-graph.js +2 -2
  174. package/lib/development-environment/mock/mockObjects/areaInformation.js +2 -2
  175. package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +2 -2
  176. package/lib/development-environment/mock/mockObjects/areaSitesData.js +2 -2
  177. package/lib/development-environment/mock/mockObjects/areasJson.js +2 -2
  178. package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +2 -2
  179. package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +2 -2
  180. package/lib/development-environment/mock/mockObjects/data-menuData.js +2 -2
  181. package/lib/development-environment/mock/mockObjects/data-search.js +2 -2
  182. package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +2 -2
  183. package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +2 -2
  184. package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +2 -2
  185. package/lib/development-environment/mock/mockObjects/eventsJson.js +2 -2
  186. package/lib/development-environment/mock/mockObjects/metascore.js +2 -2
  187. package/lib/development-environment/mock/mockObjects/permissionsJson.js +2 -2
  188. package/lib/development-environment/mock/mockObjects/pointsJson.js +2 -2
  189. package/lib/development-environment/mock/mockObjects/site-info.js +2 -2
  190. package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +2 -2
  191. package/lib/development-environment/togly/ToglyDashboard.js +13 -22
  192. package/lib/development-environment/togly/ToglyItem.js +25 -28
  193. package/lib/development-environment/togly/init.js +2 -2
  194. package/lib/development-environment/togly/macro.js +13 -9
  195. package/lib/development-environment/togly/useDoubleKeyDown.js +7 -9
  196. package/lib/development-environment/togly/useLocalStorage.js +13 -18
  197. package/lib/hooks/useApi.js +19 -55
  198. package/lib/hooks/useApiWithDashboardQuery.js +30 -49
  199. package/lib/hooks/useClickOutside.js +3 -3
  200. package/lib/hooks/useInitializeHeaders.js +5 -5
  201. package/lib/hooks/useKandoFetch.js +15 -28
  202. package/lib/hooks/useMap.js +22 -34
  203. package/lib/hooks/useNavContext.js +22 -26
  204. package/lib/hooks/useRemoveExistingLayers.js +6 -6
  205. package/lib/hooks/useUpdateEventBodyTail.js +13 -17
  206. package/lib/hooks/useUserTimeZone.js +33 -30
  207. package/lib/hooks/useUserTimeZone.test.js +19 -22
  208. package/lib/hooks/useWindowSize.js +7 -14
  209. package/lib/index.js +11 -12
  210. package/lib/macros/getVersion.js +2 -2
  211. package/lib/pages/AreaPage/AreaPage.js +34 -67
  212. package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +15 -16
  213. package/lib/pages/AreaPage/Dashboard/Dashboard.js +23 -24
  214. package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +17 -25
  215. package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +4 -4
  216. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +7 -7
  217. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +9 -9
  218. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +3 -3
  219. package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +2 -2
  220. package/lib/pages/AreaPage/Dashboard/Sites/styles.js +4 -4
  221. package/lib/pages/AssessmentPage/AssessmentPage.js +37 -43
  222. package/lib/pages/CannyWidget/Feedback.js +13 -13
  223. package/lib/pages/CovidPage/CovidPage.js +8 -13
  224. package/lib/pages/CovidPage/components/Body.js +25 -27
  225. package/lib/pages/CovidPage/components/Map.js +27 -37
  226. package/lib/pages/CovidPage/components/Sidebar.js +14 -13
  227. package/lib/pages/CovidPage/components/Summary.js +19 -26
  228. package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +24 -30
  229. package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +51 -73
  230. package/lib/pages/CovidPage/components/areas/Area.js +24 -35
  231. package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +44 -43
  232. package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +32 -35
  233. package/lib/pages/CovidPage/components/areas/AreasList.js +29 -41
  234. package/lib/pages/CovidPage/components/areas/Sort.js +11 -14
  235. package/lib/pages/CovidPage/components/nvlStatusHelper.js +11 -11
  236. package/lib/pages/DashboardMap/AreaCard.js +26 -26
  237. package/lib/pages/DashboardMap/AssessmentIcon.js +7 -6
  238. package/lib/pages/DashboardMap/Capacity.js +34 -85
  239. package/lib/pages/DashboardMap/FactoryCard.js +28 -24
  240. package/lib/pages/DashboardMap/HighchartsOptions.js +5 -4
  241. package/lib/pages/DashboardMap/List.js +68 -94
  242. package/lib/pages/DashboardMap/ListContext.js +15 -19
  243. package/lib/pages/DashboardMap/Loader.js +2 -2
  244. package/lib/pages/DashboardMap/SeverityBadge.js +10 -18
  245. package/lib/pages/DashboardMap/WWTPMap.js +49 -59
  246. package/lib/pages/DashboardMap/WaterDischarge.js +8 -8
  247. package/lib/pages/DashboardMap/Widget.js +53 -70
  248. package/lib/pages/DashboardMap/utils.js +41 -50
  249. package/lib/pages/EventsPage/Body/Body.js +20 -15
  250. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +17 -19
  251. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +27 -35
  252. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +8 -6
  253. package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +11 -7
  254. package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +21 -30
  255. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +52 -63
  256. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +17 -23
  257. package/lib/pages/EventsPage/EventsPage.js +7 -10
  258. package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +25 -37
  259. package/lib/pages/EventsPage/events/MoreInfo.js +17 -16
  260. package/lib/pages/EventsPage/events/Sidebar.js +21 -16
  261. package/lib/pages/EventsPage/events/event_info/Contaminants/Contaminants.js +7 -7
  262. package/lib/pages/EventsPage/events/event_info/Contaminants/ContaminantsList.js +17 -20
  263. package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +30 -35
  264. package/lib/pages/EventsPage/events/event_info/EventDetails.js +32 -29
  265. package/lib/pages/EventsPage/events/event_info/EventInfo.js +41 -40
  266. package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +4 -4
  267. package/lib/pages/EventsPage/events/event_info/EventSection.js +16 -18
  268. package/lib/pages/EventsPage/events/event_info/EventSection.test.js +43 -38
  269. package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +38 -46
  270. package/lib/pages/EventsPage/events/event_info/Header/Header.js +6 -4
  271. package/lib/pages/EventsPage/events/event_info/Header/HeaderContainer.js +28 -31
  272. package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +4 -4
  273. package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +29 -36
  274. package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +4 -6
  275. package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +22 -21
  276. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResult.js +12 -19
  277. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResultButton.js +5 -3
  278. package/lib/pages/EventsPage/events/event_info/SamplingList/SamplingDetails.js +11 -9
  279. package/lib/pages/EventsPage/events/event_info/SamplingList/Samplings.js +21 -25
  280. package/lib/pages/EventsPage/events/event_info/SeverityScore/ScoreExplanation.js +11 -7
  281. package/lib/pages/EventsPage/events/event_info/SeverityScore/SeverityScore.js +6 -6
  282. package/lib/pages/EventsPage/events/event_info/SourceDetails/Confidence.js +5 -3
  283. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.js +2 -2
  284. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.test.js +12 -10
  285. package/lib/pages/EventsPage/events/event_info/SourceDetails/IconAndTitles.js +6 -4
  286. package/lib/pages/EventsPage/events/event_info/SourceDetails/MoreInfoButton.js +10 -12
  287. package/lib/pages/EventsPage/events/event_info/SourceDetails/OtherSources.js +5 -3
  288. package/lib/pages/EventsPage/events/event_info/SourceDetails/PotentialSources.js +7 -5
  289. package/lib/pages/EventsPage/events/event_info/SourceDetails/SingleSource.js +7 -5
  290. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceCardBody.js +6 -4
  291. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.js +11 -9
  292. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.test.js +15 -15
  293. package/lib/pages/EventsPage/events/event_info/SourceDetails/WaterDischarge.js +6 -6
  294. package/lib/pages/EventsPage/events/event_info/Timelines/DischargeBox.js +7 -5
  295. package/lib/pages/EventsPage/events/event_info/Timelines/EarlyWarning.js +17 -15
  296. package/lib/pages/EventsPage/events/event_info/Timelines/LiveStatusBadge.js +4 -4
  297. package/lib/pages/EventsPage/events/event_info/Timelines/SeenBox.js +10 -8
  298. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.js +16 -11
  299. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.test.js +9 -8
  300. package/lib/pages/EventsPage/events/event_info/Timelines/Titles.js +2 -2
  301. package/lib/pages/EventsPage/events/event_info/Timelines/style.js +3 -3
  302. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +24 -37
  303. package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +29 -36
  304. package/lib/pages/EventsPage/events/event_info/samplingsOld/Sampling.js +11 -9
  305. package/lib/pages/EventsPage/events/event_info/samplingsOld/Samplings.js +15 -17
  306. package/lib/pages/EventsPage/events/event_info/sources/Source.js +25 -28
  307. package/lib/pages/EventsPage/events/event_info/sources/Sources.js +21 -24
  308. package/lib/pages/EventsPage/events/event_info/styles.js +20 -12
  309. package/lib/pages/EventsPage/events/events_list/EventItem.js +17 -18
  310. package/lib/pages/EventsPage/events/events_list/EventUtils.js +10 -10
  311. package/lib/pages/EventsPage/events/events_list/EventsList.js +113 -134
  312. package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +38 -53
  313. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +72 -108
  314. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +52 -69
  315. package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +38 -41
  316. package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +29 -36
  317. package/lib/pages/EventsPage/events/events_list/Sort.js +13 -16
  318. package/lib/pages/ImportFileWizard/FileUploadRespones.js +12 -19
  319. package/lib/pages/ImportFileWizard/ImportButtomButtons.js +6 -4
  320. package/lib/pages/ImportFileWizard/ImportFile.js +20 -22
  321. package/lib/pages/ImportFileWizard/ResponseBody.js +24 -33
  322. package/lib/pages/ImportFileWizard/ValidationForm.js +21 -20
  323. package/lib/pages/ImportFileWizard/ValidationResponse.js +21 -21
  324. package/lib/pages/ImportFileWizard/importFileUtils.js +1 -1
  325. package/lib/pages/ImportGisPage/ImportGisContainer.js +21 -24
  326. package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +21 -23
  327. package/lib/pages/ImportGisPage/importGisUtils.js +12 -20
  328. package/lib/pages/ImportGisProcess/index.js +12 -15
  329. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +7 -12
  330. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +17 -19
  331. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +3 -3
  332. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +28 -57
  333. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +6 -8
  334. package/lib/pages/NotificationsPage/Notification/Notification.js +16 -12
  335. package/lib/pages/NotificationsPage/Notifications.mock.js +2 -2
  336. package/lib/pages/NotificationsPage/Notifications.stories.js +4 -6
  337. package/lib/pages/NotificationsPage/NotificationsPage.js +18 -36
  338. package/lib/pages/NotificationsPage/assets/index.js +9 -9
  339. package/lib/pages/NotificationsPageV2/NotificationsPage.js +70 -93
  340. package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +93 -62
  341. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +126 -137
  342. package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +71 -71
  343. package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +90 -87
  344. package/lib/pages/NotificationsPageV2/notificationUtils.js +39 -33
  345. package/lib/pages/OldSitePage/OldSitePage.js +56 -131
  346. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +5 -5
  347. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +3 -5
  348. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +8 -6
  349. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +18 -20
  350. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +9 -7
  351. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +12 -18
  352. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +16 -12
  353. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +3 -5
  354. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +17 -11
  355. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +51 -63
  356. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +9 -7
  357. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +29 -53
  358. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +4 -4
  359. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +10 -12
  360. package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +11 -10
  361. package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +10 -11
  362. package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +26 -22
  363. package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +26 -28
  364. package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +4 -4
  365. package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +15 -9
  366. package/lib/pages/ProfilePage/Container.js +2 -2
  367. package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +23 -39
  368. package/lib/pages/ProfilePage/ProfilePage.js +111 -199
  369. package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +25 -33
  370. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +18 -15
  371. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +23 -25
  372. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +56 -116
  373. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +17 -20
  374. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +12 -10
  375. package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +38 -40
  376. package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +25 -26
  377. package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +16 -16
  378. package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +13 -15
  379. package/lib/pages/SamplingsPage/NavigationDropdown.js +42 -29
  380. package/lib/pages/SamplingsPage/NewSamplingAction.js +73 -97
  381. package/lib/pages/SamplingsPage/SamplingMobileModal.js +123 -97
  382. package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +21 -22
  383. package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +34 -22
  384. package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +33 -56
  385. package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +15 -18
  386. package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +8 -6
  387. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +107 -191
  388. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +47 -53
  389. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +42 -38
  390. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +42 -38
  391. package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +19 -20
  392. package/lib/pages/SamplingsPage/SamplingProperties/styles.js +3 -3
  393. package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +10 -6
  394. package/lib/pages/SamplingsPage/SamplingsMobileItem.js +51 -52
  395. package/lib/pages/SamplingsPage/SamplingsMobileList.js +21 -28
  396. package/lib/pages/SamplingsPage/SamplingsPage.js +25 -31
  397. package/lib/pages/SamplingsPage/SamplingsPageContainer.js +49 -57
  398. package/lib/pages/SamplingsPage/samplingsPageUtils.js +67 -75
  399. package/lib/pages/SitePage/DischargePattern/DischargePattern.js +6 -4
  400. package/lib/pages/SitePage/PollutionContributor/PollutionContributor.js +14 -13
  401. package/lib/pages/SitePage/PollutionContributor/PollutionContributorContainer.js +10 -13
  402. package/lib/pages/SitePage/PollutionContributor/contributorUtils.js +16 -16
  403. package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +3 -5
  404. package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +14 -10
  405. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +9 -8
  406. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +26 -23
  407. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +14 -17
  408. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +36 -32
  409. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +9 -7
  410. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +15 -24
  411. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +16 -12
  412. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +3 -5
  413. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +17 -11
  414. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +58 -70
  415. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +9 -7
  416. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +15 -26
  417. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +5 -5
  418. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +10 -12
  419. package/lib/pages/SitePage/SamplingParameters/body/Body.js +8 -8
  420. package/lib/pages/SitePage/SamplingParameters/body/BodyContainer.js +29 -37
  421. package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +11 -11
  422. package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +10 -11
  423. package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +53 -53
  424. package/lib/pages/SitePage/SamplingParameters/dataParser.js +29 -38
  425. package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +11 -9
  426. package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +4 -4
  427. package/lib/pages/SitePage/SamplingParameters/styles/styles.js +15 -9
  428. package/lib/pages/SitePage/SiteInformation/EmptyState.js +11 -7
  429. package/lib/pages/SitePage/SiteInformation/SiteInformation.js +31 -31
  430. package/lib/pages/SitePage/SitePage.js +34 -73
  431. package/lib/pages/UploadLabResult/index.js +13 -13
  432. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +26 -35
  433. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +6 -8
  434. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +9 -8
  435. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +3 -5
  436. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +46 -47
  437. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +10 -6
  438. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +2 -2
  439. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +4 -6
  440. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +10 -9
  441. package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +15 -12
  442. package/lib/pages/UtilityDashboardPage/TopBar/constants.js +7 -7
  443. package/lib/pages/UtilityDashboardPage/TopBar/styles.js +2 -2
  444. package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +16 -24
  445. package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +26 -30
  446. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +15 -16
  447. package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +7 -13
  448. package/lib/pages/UtilityDashboardPage/VirtualAreaDashboardPage.js +26 -30
  449. package/lib/pages/WbeDashboard/ExpandableComponent.js +9 -8
  450. package/lib/pages/WbeDashboard/GraphWrapper.js +28 -34
  451. package/lib/pages/WbeDashboard/IndividualTinyGraph.js +17 -19
  452. package/lib/pages/WbeDashboard/SearchInput.js +15 -20
  453. package/lib/pages/WbeDashboard/SummaryGraph.js +50 -76
  454. package/lib/pages/WbeDashboard/SummaryGraphModal.js +19 -17
  455. package/lib/pages/WbeDashboard/Tabs.js +10 -10
  456. package/lib/pages/WbeDashboard/WbeDashboardPage.js +144 -206
  457. package/lib/pages/WbeDashboard/WbeSummaryBar.js +39 -47
  458. package/lib/pages/WwtpPage/DashboardCard.js +23 -20
  459. package/lib/pages/WwtpPage/DischargePatternCard.js +14 -23
  460. package/lib/pages/WwtpPage/InletsCard/InletsBar.js +25 -21
  461. package/lib/pages/WwtpPage/InletsCard/InletsCard.js +19 -18
  462. package/lib/pages/WwtpPage/Map.js +5 -3
  463. package/lib/pages/WwtpPage/OrganicCard.js +2 -2
  464. package/lib/pages/WwtpPage/PotentialSaving/ImpactCard.js +2 -2
  465. package/lib/pages/WwtpPage/PotentialSaving/PotentialItem.js +6 -4
  466. package/lib/pages/WwtpPage/PotentialSaving/PotentialSaving.js +9 -8
  467. package/lib/pages/WwtpPage/PotentialSaving/PotentialSavingContainer.js +18 -14
  468. package/lib/pages/WwtpPage/PredictionCard.js +2 -2
  469. package/lib/pages/WwtpPage/TrendCard.js +18 -19
  470. package/lib/pages/WwtpPage/UpgradeBox.js +2 -2
  471. package/lib/pages/WwtpPage/WwtpPage.js +7 -7
  472. package/lib/pages/WwtpPage/WwtpPageContainer.js +21 -16
  473. package/lib/providers/Slideshow/SlideshowContext.js +11 -9
  474. package/lib/providers/Slideshow/SlideshowProvider.js +22 -38
  475. package/lib/providers/Slideshow/SlideshowRunner.js +17 -19
  476. package/lib/providers/UrlHistory/UrlHistoryContext.js +6 -4
  477. package/lib/providers/UrlHistory/UrlHistoryProvider.js +12 -11
  478. package/lib/providers/UrlHistory/index.js +2 -2
  479. package/lib/providers/UrlHistory/useLastVisited.js +4 -4
  480. package/lib/store/ImportGis/actionTypes.js +1 -1
  481. package/lib/store/ImportGis/actionsCreator.js +7 -5
  482. package/lib/store/ImportGis/reducer.js +40 -29
  483. package/lib/store/WBE/actionTypes.js +2 -2
  484. package/lib/store/WBE/reducer.js +13 -9
  485. package/lib/store/WWTPDashboard/WWTPDashboardSlice.js +24 -14
  486. package/lib/store/areas/actionTypes.js +4 -4
  487. package/lib/store/areas/actions.js +7 -13
  488. package/lib/store/areas/reducer.js +8 -6
  489. package/lib/store/context/actionTypes.js +3 -3
  490. package/lib/store/context/actions.js +3 -3
  491. package/lib/store/context/contextMiddlewares.js +14 -16
  492. package/lib/store/context/reducer.js +13 -9
  493. package/lib/store/dashboard/dashboardSlice.js +18 -10
  494. package/lib/store/edges/actionTypes.js +5 -5
  495. package/lib/store/edges/actions.js +4 -8
  496. package/lib/store/edges/reducer.js +13 -17
  497. package/lib/store/events/actionTypes.js +17 -17
  498. package/lib/store/events/actions.js +3 -7
  499. package/lib/store/events/reducer.js +42 -49
  500. package/lib/store/global/actionTypes.js +11 -11
  501. package/lib/store/global/actions.js +8 -6
  502. package/lib/store/global/reducer.js +11 -10
  503. package/lib/store/permissions/permissionsSlice.js +12 -8
  504. package/lib/store/points/actionTypes.js +3 -3
  505. package/lib/store/points/actions.js +3 -7
  506. package/lib/store/points/reducer.js +7 -5
  507. package/lib/store/rootActionTypes.js +2 -2
  508. package/lib/store/rootReducer.js +17 -12
  509. package/lib/store/rootStore.js +5 -5
  510. package/lib/store/samplings/actionTypes.js +1 -1
  511. package/lib/store/samplings/reducer.js +16 -14
  512. package/lib/styles/StylesLayout.js +5 -3
  513. package/lib/styles/theme/theme.js +26 -27
  514. package/lib/test/mocks/browser.js +2 -4
  515. package/lib/test/test-utils.js +17 -15
  516. package/lib/ui-kit/Button/Button.js +127 -79
  517. package/lib/ui-kit/Button/Button.test.js +24 -29
  518. package/lib/ui-kit/Checkbox/Checkbox.js +30 -20
  519. package/lib/ui-kit/ContentCard/ContentCard.js +14 -17
  520. package/lib/ui-kit/Dashboard/Dashboard.js +22 -19
  521. package/lib/ui-kit/DropDown/DropDown.js +22 -23
  522. package/lib/ui-kit/DropDown/DropDown.test.js +12 -12
  523. package/lib/ui-kit/DropDown/DropDownItem.js +24 -21
  524. package/lib/ui-kit/DropDown/DropdownToggle.js +12 -8
  525. package/lib/ui-kit/EmptyState/EmptyState.js +5 -3
  526. package/lib/ui-kit/IconAction/IconAction.js +7 -5
  527. package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +46 -62
  528. package/lib/ui-kit/InfoTooltip/InfoTooltip.js +57 -48
  529. package/lib/ui-kit/InletsPie/InletsPie.js +15 -13
  530. package/lib/ui-kit/InletsPie/options.js +6 -6
  531. package/lib/ui-kit/KandoList/KandoList.js +14 -12
  532. package/lib/ui-kit/KandoTable/KandoTable.js +48 -40
  533. package/lib/ui-kit/KandoTable/KandoTable.test.js +16 -22
  534. package/lib/ui-kit/Layout/Layout.js +6 -4
  535. package/lib/ui-kit/MobileInput/MobileInput.js +55 -49
  536. package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +13 -16
  537. package/lib/ui-kit/OrganicEvents/GaugeChart.js +7 -5
  538. package/lib/ui-kit/OrganicEvents/OrganicEvents.js +6 -6
  539. package/lib/ui-kit/OrganicEvents/OrganicEventsContainer.js +27 -20
  540. package/lib/ui-kit/OrganicEvents/TextInfo.js +15 -10
  541. package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +10 -8
  542. package/lib/ui-kit/SamplingStatus/SamplingStatus.js +14 -17
  543. package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +3 -3
  544. package/lib/ui-kit/ScoreGauge/ScoreGauge.js +19 -19
  545. package/lib/ui-kit/ScoreGauge/constant.js +3 -3
  546. package/lib/ui-kit/TimeLineChart/TrendChart.js +54 -42
  547. package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +8 -7
  548. package/lib/ui-kit/Tooltip/Tooltip.js +14 -8
  549. package/lib/ui-kit/index.js +8 -8
  550. package/lib/ui-kit/kandoStepper/KandoStepper.js +11 -11
  551. package/lib/ui-kit/siteName/SiteName.js +11 -8
  552. package/lib/utilities/ActionUtility.js +7 -7
  553. package/lib/utilities/Alert.js +21 -17
  554. package/lib/utilities/Analytics.js +11 -11
  555. package/lib/utilities/Array.js +4 -5
  556. package/lib/utilities/Enum.js +15 -51
  557. package/lib/utilities/ErrorBoundary.js +27 -41
  558. package/lib/utilities/File.js +40 -69
  559. package/lib/utilities/GetDir.js +8 -7
  560. package/lib/utilities/KandoDate.js +7 -15
  561. package/lib/utilities/KandoModal.js +16 -26
  562. package/lib/utilities/LocalStorage.js +5 -7
  563. package/lib/utilities/ThousandsToK.js +2 -2
  564. package/lib/utilities/TimeFormat.js +21 -20
  565. package/lib/utilities/Truncate.js +16 -24
  566. package/lib/utilities/edgesMath.js +14 -15
  567. package/lib/utilities/i18n.js +3 -3
  568. package/lib/utilities/kql.js +10 -12
  569. package/lib/utilities/map/icons.js +3 -3
  570. package/lib/utilities/polylinedecorator.js +87 -112
  571. package/lib/utilities/scoreToData.js +10 -10
  572. package/lib/utilities/scoreToData.test.js +5 -5
  573. package/lib/utilities/time.js +8 -8
  574. package/lib/utilities/uploadToS3.js +11 -11
  575. package/lib/utilities/urls.js +16 -14
  576. package/package.json +1 -1
@@ -1,98 +1,76 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
- var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createForOfIteratorHelper"));
10
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
11
8
  var _react = _interopRequireWildcard(require("react"));
12
9
  var _reactDataTableComponent = _interopRequireWildcard(require("react-data-table-component"));
13
10
  var _reactRedux = require("react-redux");
14
11
  var _i18n = _interopRequireDefault(require("utilities/i18n"));
15
12
  var _TrendGraphNVL = _interopRequireDefault(require("../TrendGraphNVL"));
16
- var _useKandoFetch2 = _interopRequireDefault(require("hooks/useKandoFetch"));
13
+ var _useKandoFetch = _interopRequireDefault(require("hooks/useKandoFetch"));
17
14
  var _no_results = _interopRequireDefault(require("../../../../assets/no_results.svg"));
18
15
  var _ContentLoader = require("components/ContentLoader");
19
16
  require("./styles.scss");
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 TABLE_ROWS_PER_PAGE = 5;
23
- var TrendPopupContent = function TrendPopupContent(_ref) {
24
- var areaID = _ref.areaID,
25
- _ref$forWbeDashboard = _ref.forWbeDashboard,
26
- forWbeDashboard = _ref$forWbeDashboard === void 0 ? false : _ref$forWbeDashboard,
27
- _ref$isVirtualArea = _ref.isVirtualArea,
28
- isVirtualArea = _ref$isVirtualArea === void 0 ? false : _ref$isVirtualArea;
29
- var navContext = (0, _reactRedux.useSelector)(function (state) {
30
- return state.nav_context_data.navContext;
31
- });
32
- var waterAuthorityId = (0, _reactRedux.useSelector)(function (state) {
33
- return state.global_data.waterAuthorityId;
34
- });
35
- var _useKandoFetch = (0, _useKandoFetch2.default)("/api_ui/wbe_dashboard/trend_graph/area/".concat(areaID, "?water_authority_id=").concat(waterAuthorityId)),
36
- data = _useKandoFetch.data,
37
- isFetching = _useKandoFetch.isFetching;
38
- var _useState = (0, _react.useState)([]),
39
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
40
- rows = _useState2[0],
41
- setRows = _useState2[1];
42
- var dir = navContext.locale === 'he' ? _reactDataTableComponent.Direction.LTR : _reactDataTableComponent.Direction.RTL;
43
- var parseRows = function parseRows(values) {
44
- var rows = [];
45
- var _iterator = (0, _createForOfIteratorHelper2.default)(values),
46
- _step;
47
- try {
48
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
49
- var val = _step.value;
50
- rows.push({
51
- sample_id: val['sample_id'],
52
- display_date: val['display_date'],
53
- mrna_copies: val['mrna_copies'] == null ? '-' : val['mrna_copies'],
54
- status: val['status'],
55
- raw_date: val['raw_date']
56
- });
57
- }
58
- } catch (err) {
59
- _iterator.e(err);
60
- } finally {
61
- _iterator.f();
17
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
+ 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; }
19
+ const TABLE_ROWS_PER_PAGE = 5;
20
+ const TrendPopupContent = _ref => {
21
+ let {
22
+ areaID,
23
+ forWbeDashboard = false,
24
+ isVirtualArea = false
25
+ } = _ref;
26
+ const navContext = (0, _reactRedux.useSelector)(state => state.nav_context_data.navContext);
27
+ const waterAuthorityId = (0, _reactRedux.useSelector)(state => state.global_data.waterAuthorityId);
28
+ const {
29
+ data,
30
+ isFetching
31
+ } = (0, _useKandoFetch.default)("/api_ui/wbe_dashboard/trend_graph/area/".concat(areaID, "?water_authority_id=").concat(waterAuthorityId));
32
+ const [rows, setRows] = (0, _react.useState)([]);
33
+ const dir = navContext.locale === 'he' ? _reactDataTableComponent.Direction.LTR : _reactDataTableComponent.Direction.RTL;
34
+ const parseRows = values => {
35
+ let rows = [];
36
+ for (const val of values) {
37
+ rows.push({
38
+ sample_id: val['sample_id'],
39
+ display_date: val['display_date'],
40
+ mrna_copies: val['mrna_copies'] == null ? '-' : val['mrna_copies'],
41
+ status: val['status'],
42
+ raw_date: val['raw_date']
43
+ });
62
44
  }
63
45
  return rows;
64
46
  };
65
- (0, _react.useEffect)(function () {
47
+ (0, _react.useEffect)(() => {
66
48
  if (!isFetching && (data === null || data === void 0 ? void 0 : data.values.length) > 0) {
67
- var dataRows = parseRows(data.values);
49
+ let dataRows = parseRows(data.values);
68
50
  // @ts-ignore
69
51
  setRows(dataRows);
70
52
  }
71
53
  }, [isFetching]);
72
- var columns = _react.default.useMemo(function () {
73
- return [{
74
- name: _i18n.default.t('components.area.date'),
75
- selector: 'raw_date',
76
- sortable: true,
77
- cell: function cell(row) {
78
- return /*#__PURE__*/_react.default.createElement("div", {
79
- "data-tag": "allowRowEvents"
80
- }, row.display_date);
81
- }
82
- }, {
83
- name: _i18n.default.t('components.area.sample_id'),
84
- selector: 'sample_id',
85
- sortable: true
86
- }, {
87
- name: _i18n.default.t('components.area.mrna_copies'),
88
- selector: 'mrna_copies',
89
- sortable: true
90
- }, {
91
- name: _i18n.default.t('status'),
92
- selector: 'status',
93
- sortable: true
94
- }];
95
- }, []);
54
+ const columns = _react.default.useMemo(() => [{
55
+ name: _i18n.default.t('components.area.date'),
56
+ selector: 'raw_date',
57
+ sortable: true,
58
+ cell: row => /*#__PURE__*/_react.default.createElement("div", {
59
+ "data-tag": "allowRowEvents"
60
+ }, row.display_date)
61
+ }, {
62
+ name: _i18n.default.t('components.area.sample_id'),
63
+ selector: 'sample_id',
64
+ sortable: true
65
+ }, {
66
+ name: _i18n.default.t('components.area.mrna_copies'),
67
+ selector: 'mrna_copies',
68
+ sortable: true
69
+ }, {
70
+ name: _i18n.default.t('status'),
71
+ selector: 'status',
72
+ sortable: true
73
+ }], []);
96
74
  return /*#__PURE__*/_react.default.createElement("div", {
97
75
  className: "trend-content"
98
76
  }, /*#__PURE__*/_react.default.createElement(_TrendGraphNVL.default, {
@@ -132,4 +110,4 @@ var TrendPopupContent = function TrendPopupContent(_ref) {
132
110
  };
133
111
  var _default = TrendPopupContent;
134
112
  exports.default = _default;
135
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3REYXRhVGFibGVDb21wb25lbnQiLCJfcmVhY3RSZWR1eCIsIl9pMThuIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9UcmVuZEdyYXBoTlZMIiwiX3VzZUthbmRvRmV0Y2gyIiwiX25vX3Jlc3VsdHMiLCJfQ29udGVudExvYWRlciIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiVEFCTEVfUk9XU19QRVJfUEFHRSIsIlRyZW5kUG9wdXBDb250ZW50IiwiX3JlZiIsImFyZWFJRCIsIl9yZWYkZm9yV2JlRGFzaGJvYXJkIiwiZm9yV2JlRGFzaGJvYXJkIiwiX3JlZiRpc1ZpcnR1YWxBcmVhIiwiaXNWaXJ0dWFsQXJlYSIsIm5hdkNvbnRleHQiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwibmF2X2NvbnRleHRfZGF0YSIsIndhdGVyQXV0aG9yaXR5SWQiLCJnbG9iYWxfZGF0YSIsIl91c2VLYW5kb0ZldGNoIiwidXNlS2FuZG9GZXRjaCIsImNvbmNhdCIsImRhdGEiLCJpc0ZldGNoaW5nIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwicm93cyIsInNldFJvd3MiLCJkaXIiLCJsb2NhbGUiLCJEaXJlY3Rpb24iLCJMVFIiLCJSVEwiLCJwYXJzZVJvd3MiLCJ2YWx1ZXMiLCJfaXRlcmF0b3IiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlcjIiLCJfc3RlcCIsInMiLCJuIiwiZG9uZSIsInZhbCIsInZhbHVlIiwicHVzaCIsInNhbXBsZV9pZCIsImRpc3BsYXlfZGF0ZSIsIm1ybmFfY29waWVzIiwic3RhdHVzIiwicmF3X2RhdGUiLCJlcnIiLCJlIiwiZiIsInVzZUVmZmVjdCIsImxlbmd0aCIsImRhdGFSb3dzIiwiY29sdW1ucyIsIlJlYWN0IiwidXNlTWVtbyIsIm5hbWUiLCJpMThuIiwidCIsInNlbGVjdG9yIiwic29ydGFibGUiLCJjZWxsIiwicm93IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsIlJvd0xvYWRlciIsIm1hcmdpbiIsImJnQ29sb3IiLCJmZ0NvbG9yIiwiZGVmYXVsdFNvcnRBc2MiLCJkZWZhdWx0U29ydEZpZWxkSWQiLCJwYWdpbmF0aW9uIiwicGFnaW5hdGlvblBlclBhZ2UiLCJkaXJlY3Rpb24iLCJwYWdpbmF0aW9uUm93c1BlclBhZ2VPcHRpb25zIiwicGFnaW5hdGlvbkNvbXBvbmVudE9wdGlvbnMiLCJyb3dzUGVyUGFnZVRleHQiLCJyYW5nZVNlcGFyYXRvclRleHQiLCJzZWxlY3RBbGxSb3dzSXRlbVRleHQiLCJzcmMiLCJub19sYWJfcmVzdWx0cyIsImFsdCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9Db3ZpZFBhZ2UvY29tcG9uZW50cy9UcmVuZFBvcHVwQ29udGVudC9UcmVuZFBvcHVwQ29udGVudC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgRGF0YVRhYmxlLCB7IERpcmVjdGlvbiB9IGZyb20gJ3JlYWN0LWRhdGEtdGFibGUtY29tcG9uZW50JztcbmltcG9ydCB7IHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuXG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IFRyZW5kR3JhcGhOVkwgZnJvbSAnLi4vVHJlbmRHcmFwaE5WTCc7XG5pbXBvcnQgdXNlS2FuZG9GZXRjaCBmcm9tICdzcmMvaG9va3MvdXNlS2FuZG9GZXRjaCc7XG5pbXBvcnQgbm9fbGFiX3Jlc3VsdHMgZnJvbSAnLi4vLi4vLi4vLi4vYXNzZXRzL25vX3Jlc3VsdHMuc3ZnJztcblxuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJ3NyYy9zdG9yZS9yb290UmVkdWNlcic7XG5pbXBvcnQgeyBSb3dMb2FkZXIgfSBmcm9tICdzcmMvY29tcG9uZW50cy9Db250ZW50TG9hZGVyJztcbmltcG9ydCAnLi9zdHlsZXMuc2Nzcyc7XG5cbmNvbnN0IFRBQkxFX1JPV1NfUEVSX1BBR0UgPSA1O1xuXG50eXBlIElQcm9wcyA9IHtcbiAgYXJlYUlEOiBudW1iZXI7XG4gIGZvcldiZURhc2hib2FyZDogYm9vbGVhbjtcbiAgaXNWaXJ0dWFsQXJlYTogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFRyZW5kUG9wdXBDb250ZW50OiBSZWFjdC5GQzxJUHJvcHM+ID0gKHtcbiAgYXJlYUlELFxuICBmb3JXYmVEYXNoYm9hcmQgPSBmYWxzZSxcbiAgaXNWaXJ0dWFsQXJlYSA9IGZhbHNlLFxufSkgPT4ge1xuICBjb25zdCBuYXZDb250ZXh0ID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT4gc3RhdGUubmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LFxuICApO1xuICBjb25zdCB3YXRlckF1dGhvcml0eUlkID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT5cbiAgICAgIHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsXG4gICk7XG4gIGNvbnN0IHsgZGF0YSwgaXNGZXRjaGluZyB9ID0gdXNlS2FuZG9GZXRjaChcbiAgICBgL2FwaV91aS93YmVfZGFzaGJvYXJkL3RyZW5kX2dyYXBoL2FyZWEvJHthcmVhSUR9P3dhdGVyX2F1dGhvcml0eV9pZD0ke3dhdGVyQXV0aG9yaXR5SWR9YCxcbiAgKTtcbiAgY29uc3QgW3Jvd3MsIHNldFJvd3NdID0gdXNlU3RhdGUoW10pO1xuXG4gIGNvbnN0IGRpcjogRGlyZWN0aW9uID1cbiAgICBuYXZDb250ZXh0LmxvY2FsZSA9PT0gJ2hlJyA/IERpcmVjdGlvbi5MVFIgOiBEaXJlY3Rpb24uUlRMO1xuXG4gIGNvbnN0IHBhcnNlUm93cyA9ICh2YWx1ZXM6IEFycmF5PGFueT4pID0+IHtcbiAgICBsZXQgcm93czogYW55W10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHZhbCBvZiB2YWx1ZXMpIHtcbiAgICAgIHJvd3MucHVzaCh7XG4gICAgICAgIHNhbXBsZV9pZDogdmFsWydzYW1wbGVfaWQnXSxcbiAgICAgICAgZGlzcGxheV9kYXRlOiB2YWxbJ2Rpc3BsYXlfZGF0ZSddLFxuICAgICAgICBtcm5hX2NvcGllczogdmFsWydtcm5hX2NvcGllcyddID09IG51bGwgPyAnLScgOiB2YWxbJ21ybmFfY29waWVzJ10sXG4gICAgICAgIHN0YXR1czogdmFsWydzdGF0dXMnXSxcbiAgICAgICAgcmF3X2RhdGU6IHZhbFsncmF3X2RhdGUnXSxcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gcm93cztcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaXNGZXRjaGluZyAmJiBkYXRhPy52YWx1ZXMubGVuZ3RoID4gMCkge1xuICAgICAgbGV0IGRhdGFSb3dzID0gcGFyc2VSb3dzKGRhdGEudmFsdWVzKTtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHNldFJvd3MoZGF0YVJvd3MpO1xuICAgIH1cbiAgfSwgW2lzRmV0Y2hpbmddKTtcblxuICBjb25zdCBjb2x1bW5zID0gUmVhY3QudXNlTWVtbyhcbiAgICAoKSA9PiBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IGkxOG4udCgnY29tcG9uZW50cy5hcmVhLmRhdGUnKSxcbiAgICAgICAgc2VsZWN0b3I6ICdyYXdfZGF0ZScsXG4gICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICBjZWxsOiAocm93OiB7IGRpc3BsYXlfZGF0ZTogc3RyaW5nIH0pID0+IChcbiAgICAgICAgICA8ZGl2IGRhdGEtdGFnPVwiYWxsb3dSb3dFdmVudHNcIj57cm93LmRpc3BsYXlfZGF0ZX08L2Rpdj5cbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IGkxOG4udCgnY29tcG9uZW50cy5hcmVhLnNhbXBsZV9pZCcpLFxuICAgICAgICBzZWxlY3RvcjogJ3NhbXBsZV9pZCcsXG4gICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogaTE4bi50KCdjb21wb25lbnRzLmFyZWEubXJuYV9jb3BpZXMnKSxcbiAgICAgICAgc2VsZWN0b3I6ICdtcm5hX2NvcGllcycsXG4gICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogaTE4bi50KCdzdGF0dXMnKSxcbiAgICAgICAgc2VsZWN0b3I6ICdzdGF0dXMnLFxuICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXSxcbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwidHJlbmQtY29udGVudFwiPlxuICAgICAgPFRyZW5kR3JhcGhOVkxcbiAgICAgICAgYXJlYUlEPXthcmVhSUR9XG4gICAgICAgIGZvcldiZURhc2hib2FyZD17Zm9yV2JlRGFzaGJvYXJkfVxuICAgICAgICBpc1ZpcnR1YWxBcmVhPXtpc1ZpcnR1YWxBcmVhfVxuICAgICAgLz5cbiAgICAgIHshZm9yV2JlRGFzaGJvYXJkICYmIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0YWJsZS10aXRsZVwiPlxuICAgICAgICAgIHtpMThuLnQoJ2NvbXBvbmVudHMubnZsX3RyZW5kLnNhbXBsaW5nX3Jlc3VsdHMnKX1cbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuICAgICAge2lzRmV0Y2hpbmcgPyAoXG4gICAgICAgIDxSb3dMb2FkZXIgbWFyZ2luPVwiMjZweCAwIDBcIiBiZ0NvbG9yPVwiI2YyZjJmMlwiIGZnQ29sb3I9XCIjZmZmXCIgLz5cbiAgICAgICkgOiByb3dzPy5sZW5ndGggPiAwID8gKFxuICAgICAgICAhZm9yV2JlRGFzaGJvYXJkICYmIChcbiAgICAgICAgICA8RGF0YVRhYmxlXG4gICAgICAgICAgICBjb2x1bW5zPXtjb2x1bW5zfVxuICAgICAgICAgICAgZGF0YT17cm93c31cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImRhdGF0YWJsZVwiXG4gICAgICAgICAgICBkZWZhdWx0U29ydEFzYz17ZmFsc2V9XG4gICAgICAgICAgICBkZWZhdWx0U29ydEZpZWxkSWQ9XCJyYXdfZGF0ZVwiXG4gICAgICAgICAgICBwYWdpbmF0aW9uXG4gICAgICAgICAgICBwYWdpbmF0aW9uUGVyUGFnZT17VEFCTEVfUk9XU19QRVJfUEFHRX1cbiAgICAgICAgICAgIGRpcmVjdGlvbj17ZGlyfVxuICAgICAgICAgICAgcGFnaW5hdGlvblJvd3NQZXJQYWdlT3B0aW9ucz17WzUsIDE1LCAzMCwgNTBdfVxuICAgICAgICAgICAgcGFnaW5hdGlvbkNvbXBvbmVudE9wdGlvbnM9e3tcbiAgICAgICAgICAgICAgcm93c1BlclBhZ2VUZXh0OlxuICAgICAgICAgICAgICAgIGkxOG4udCgnY29tcG9uZW50cy5kYXRhX3RhYmxlLnJvd3NfcGVyX3BhZ2UnKSArICc6JyxcbiAgICAgICAgICAgICAgcmFuZ2VTZXBhcmF0b3JUZXh0OiBpMThuLnQoJ2NvbXBvbmVudHMuZGF0YV90YWJsZS5vZicpLFxuICAgICAgICAgICAgICBzZWxlY3RBbGxSb3dzSXRlbVRleHQ6IGkxOG4udCgnYWxsJyksXG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgIClcbiAgICAgICkgOiAoXG4gICAgICAgICFmb3JXYmVEYXNoYm9hcmQgJiYgKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidHJlbmQtY29udGVudF9fbm8tcmVzdWx0c1wiPlxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0cmVuZC1jb250ZW50X19uby1yZXN1bHRzLWltZ1wiXG4gICAgICAgICAgICAgIHNyYz17bm9fbGFiX3Jlc3VsdHN9XG4gICAgICAgICAgICAgIGFsdD1cIlwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0cmVuZC1jb250ZW50X19uby1yZXN1bHRzLXRleHRcIj5cbiAgICAgICAgICAgICAge2kxOG4udCgnY29tcG9uZW50cy5udmxfdHJlbmQubm9fc2FtcGxpbmdfcmVzdWx0cycpfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIClcbiAgICAgICl9XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBUcmVuZFBvcHVwQ29udGVudDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLHdCQUFBLEdBQUFGLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxXQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFBRyxLQUFBLEdBQUFDLHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBSyxjQUFBLEdBQUFELHNCQUFBLENBQUFKLE9BQUE7QUFDQSxJQUFBTSxlQUFBLEdBQUFGLHNCQUFBLENBQUFKLE9BQUE7QUFBb0QsSUFBQU8sV0FBQSxHQUFBSCxzQkFBQSxDQUFBSixPQUFBO0FBSXBELElBQUFRLGNBQUEsR0FBQVIsT0FBQTtBQUNBQSxPQUFBO0FBQXVCLFNBQUFTLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBWCx3QkFBQWUsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLGFBQUFFLE9BQUEsQ0FBQUYsR0FBQSx5QkFBQUEsR0FBQSw0QkFBQUcsT0FBQSxFQUFBSCxHQUFBLFVBQUFJLEtBQUEsR0FBQVQsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBUSxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBTCxHQUFBLFlBQUFJLEtBQUEsQ0FBQUUsR0FBQSxDQUFBTixHQUFBLFNBQUFPLE1BQUEsV0FBQUMscUJBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsR0FBQSxJQUFBWixHQUFBLFFBQUFZLEdBQUEsa0JBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWYsR0FBQSxFQUFBWSxHQUFBLFNBQUFJLElBQUEsR0FBQVIscUJBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBWCxHQUFBLEVBQUFZLEdBQUEsY0FBQUksSUFBQSxLQUFBQSxJQUFBLENBQUFWLEdBQUEsSUFBQVUsSUFBQSxDQUFBQyxHQUFBLEtBQUFSLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSCxNQUFBLEVBQUFLLEdBQUEsRUFBQUksSUFBQSxZQUFBVCxNQUFBLENBQUFLLEdBQUEsSUFBQVosR0FBQSxDQUFBWSxHQUFBLFNBQUFMLE1BQUEsQ0FBQUosT0FBQSxHQUFBSCxHQUFBLE1BQUFJLEtBQUEsSUFBQUEsS0FBQSxDQUFBYSxHQUFBLENBQUFqQixHQUFBLEVBQUFPLE1BQUEsWUFBQUEsTUFBQTtBQUV2QixJQUFNVyxtQkFBbUIsR0FBRyxDQUFDO0FBUTdCLElBQU1DLGlCQUFtQyxHQUFHLFNBQXRDQSxpQkFBbUNBLENBQUFDLElBQUEsRUFJbkM7RUFBQSxJQUhKQyxNQUFNLEdBQUFELElBQUEsQ0FBTkMsTUFBTTtJQUFBQyxvQkFBQSxHQUFBRixJQUFBLENBQ05HLGVBQWU7SUFBZkEsZUFBZSxHQUFBRCxvQkFBQSxjQUFHLEtBQUssR0FBQUEsb0JBQUE7SUFBQUUsa0JBQUEsR0FBQUosSUFBQSxDQUN2QkssYUFBYTtJQUFiQSxhQUFhLEdBQUFELGtCQUFBLGNBQUcsS0FBSyxHQUFBQSxrQkFBQTtFQUVyQixJQUFNRSxVQUFVLEdBQUcsSUFBQUMsdUJBQVcsRUFDNUIsVUFBQ0MsS0FBb0M7SUFBQSxPQUFLQSxLQUFLLENBQUNDLGdCQUFnQixDQUFDSCxVQUFVO0VBQUEsQ0FDN0UsQ0FBQztFQUNELElBQU1JLGdCQUFnQixHQUFHLElBQUFILHVCQUFXLEVBQ2xDLFVBQUNDLEtBQW9DO0lBQUEsT0FDbkNBLEtBQUssQ0FBQ0csV0FBVyxDQUFDRCxnQkFBZ0I7RUFBQSxDQUN0QyxDQUFDO0VBQ0QsSUFBQUUsY0FBQSxHQUE2QixJQUFBQyx1QkFBYSw0Q0FBQUMsTUFBQSxDQUNFYixNQUFNLDBCQUFBYSxNQUFBLENBQXVCSixnQkFBZ0IsQ0FDekYsQ0FBQztJQUZPSyxJQUFJLEdBQUFILGNBQUEsQ0FBSkcsSUFBSTtJQUFFQyxVQUFVLEdBQUFKLGNBQUEsQ0FBVkksVUFBVTtFQUd4QixJQUFBQyxTQUFBLEdBQXdCLElBQUFDLGVBQVEsRUFBQyxFQUFFLENBQUM7SUFBQUMsVUFBQSxPQUFBQyxlQUFBLENBQUFyQyxPQUFBLEVBQUFrQyxTQUFBO0lBQTdCSSxJQUFJLEdBQUFGLFVBQUE7SUFBRUcsT0FBTyxHQUFBSCxVQUFBO0VBRXBCLElBQU1JLEdBQWMsR0FDbEJqQixVQUFVLENBQUNrQixNQUFNLEtBQUssSUFBSSxHQUFHQyxrQ0FBUyxDQUFDQyxHQUFHLEdBQUdELGtDQUFTLENBQUNFLEdBQUc7RUFFNUQsSUFBTUMsU0FBUyxHQUFHLFNBQVpBLFNBQVNBLENBQUlDLE1BQWtCLEVBQUs7SUFDeEMsSUFBSVIsSUFBVyxHQUFHLEVBQUU7SUFBQyxJQUFBUyxTQUFBLE9BQUFDLDJCQUFBLENBQUFoRCxPQUFBLEVBQ0g4QyxNQUFNO01BQUFHLEtBQUE7SUFBQTtNQUF4QixLQUFBRixTQUFBLENBQUFHLENBQUEsTUFBQUQsS0FBQSxHQUFBRixTQUFBLENBQUFJLENBQUEsSUFBQUMsSUFBQSxHQUEwQjtRQUFBLElBQWZDLEdBQUcsR0FBQUosS0FBQSxDQUFBSyxLQUFBO1FBQ1poQixJQUFJLENBQUNpQixJQUFJLENBQUM7VUFDUkMsU0FBUyxFQUFFSCxHQUFHLENBQUMsV0FBVyxDQUFDO1VBQzNCSSxZQUFZLEVBQUVKLEdBQUcsQ0FBQyxjQUFjLENBQUM7VUFDakNLLFdBQVcsRUFBRUwsR0FBRyxDQUFDLGFBQWEsQ0FBQyxJQUFJLElBQUksR0FBRyxHQUFHLEdBQUdBLEdBQUcsQ0FBQyxhQUFhLENBQUM7VUFDbEVNLE1BQU0sRUFBRU4sR0FBRyxDQUFDLFFBQVEsQ0FBQztVQUNyQk8sUUFBUSxFQUFFUCxHQUFHLENBQUMsVUFBVTtRQUMxQixDQUFDLENBQUM7TUFDSjtJQUFDLFNBQUFRLEdBQUE7TUFBQWQsU0FBQSxDQUFBZSxDQUFBLENBQUFELEdBQUE7SUFBQTtNQUFBZCxTQUFBLENBQUFnQixDQUFBO0lBQUE7SUFDRCxPQUFPekIsSUFBSTtFQUNiLENBQUM7RUFFRCxJQUFBMEIsZ0JBQVMsRUFBQyxZQUFNO0lBQ2QsSUFBSSxDQUFDL0IsVUFBVSxJQUFJLENBQUFELElBQUksYUFBSkEsSUFBSSx1QkFBSkEsSUFBSSxDQUFFYyxNQUFNLENBQUNtQixNQUFNLElBQUcsQ0FBQyxFQUFFO01BQzFDLElBQUlDLFFBQVEsR0FBR3JCLFNBQVMsQ0FBQ2IsSUFBSSxDQUFDYyxNQUFNLENBQUM7TUFDckM7TUFDQVAsT0FBTyxDQUFDMkIsUUFBUSxDQUFDO0lBQ25CO0VBQ0YsQ0FBQyxFQUFFLENBQUNqQyxVQUFVLENBQUMsQ0FBQztFQUVoQixJQUFNa0MsT0FBTyxHQUFHQyxjQUFLLENBQUNDLE9BQU8sQ0FDM0I7SUFBQSxPQUFNLENBQ0o7TUFDRUMsSUFBSSxFQUFFQyxhQUFJLENBQUNDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQztNQUNwQ0MsUUFBUSxFQUFFLFVBQVU7TUFDcEJDLFFBQVEsRUFBRSxJQUFJO01BQ2RDLElBQUksRUFBRSxTQUFBQSxLQUFDQyxHQUE2QjtRQUFBLG9CQUNsQy9GLE1BQUEsQ0FBQW1CLE9BQUEsQ0FBQTZFLGFBQUE7VUFBSyxZQUFTO1FBQWdCLEdBQUVELEdBQUcsQ0FBQ25CLFlBQWtCLENBQUM7TUFBQTtJQUUzRCxDQUFDLEVBQ0Q7TUFDRWEsSUFBSSxFQUFFQyxhQUFJLENBQUNDLENBQUMsQ0FBQywyQkFBMkIsQ0FBQztNQUN6Q0MsUUFBUSxFQUFFLFdBQVc7TUFDckJDLFFBQVEsRUFBRTtJQUNaLENBQUMsRUFDRDtNQUNFSixJQUFJLEVBQUVDLGFBQUksQ0FBQ0MsQ0FBQyxDQUFDLDZCQUE2QixDQUFDO01BQzNDQyxRQUFRLEVBQUUsYUFBYTtNQUN2QkMsUUFBUSxFQUFFO0lBQ1osQ0FBQyxFQUNEO01BQ0VKLElBQUksRUFBRUMsYUFBSSxDQUFDQyxDQUFDLENBQUMsUUFBUSxDQUFDO01BQ3RCQyxRQUFRLEVBQUUsUUFBUTtNQUNsQkMsUUFBUSxFQUFFO0lBQ1osQ0FBQyxDQUNGO0VBQUEsR0FDRCxFQUNGLENBQUM7RUFFRCxvQkFDRTdGLE1BQUEsQ0FBQW1CLE9BQUEsQ0FBQTZFLGFBQUE7SUFBS0MsU0FBUyxFQUFDO0VBQWUsZ0JBQzVCakcsTUFBQSxDQUFBbUIsT0FBQSxDQUFBNkUsYUFBQSxDQUFDekYsY0FBQSxDQUFBWSxPQUFhO0lBQ1prQixNQUFNLEVBQUVBLE1BQU87SUFDZkUsZUFBZSxFQUFFQSxlQUFnQjtJQUNqQ0UsYUFBYSxFQUFFQTtFQUFjLENBQzlCLENBQUMsRUFDRCxDQUFDRixlQUFlLGlCQUNmdkMsTUFBQSxDQUFBbUIsT0FBQSxDQUFBNkUsYUFBQTtJQUFLQyxTQUFTLEVBQUM7RUFBYSxHQUN6QlAsYUFBSSxDQUFDQyxDQUFDLENBQUMsdUNBQXVDLENBQzVDLENBQ04sRUFDQXZDLFVBQVUsZ0JBQ1RwRCxNQUFBLENBQUFtQixPQUFBLENBQUE2RSxhQUFBLENBQUN0RixjQUFBLENBQUF3RixTQUFTO0lBQUNDLE1BQU0sRUFBQyxVQUFVO0lBQUNDLE9BQU8sRUFBQyxTQUFTO0lBQUNDLE9BQU8sRUFBQztFQUFNLENBQUUsQ0FBQyxHQUM5RCxDQUFBNUMsSUFBSSxhQUFKQSxJQUFJLHVCQUFKQSxJQUFJLENBQUUyQixNQUFNLElBQUcsQ0FBQyxHQUNsQixDQUFDN0MsZUFBZSxpQkFDZHZDLE1BQUEsQ0FBQW1CLE9BQUEsQ0FBQTZFLGFBQUEsQ0FBQzdGLHdCQUFBLENBQUFnQixPQUFTO0lBQ1JtRSxPQUFPLEVBQUVBLE9BQVE7SUFDakJuQyxJQUFJLEVBQUVNLElBQUs7SUFDWHdDLFNBQVMsRUFBQyxXQUFXO0lBQ3JCSyxjQUFjLEVBQUUsS0FBTTtJQUN0QkMsa0JBQWtCLEVBQUMsVUFBVTtJQUM3QkMsVUFBVTtJQUNWQyxpQkFBaUIsRUFBRXZFLG1CQUFvQjtJQUN2Q3dFLFNBQVMsRUFBRS9DLEdBQUk7SUFDZmdELDRCQUE0QixFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFFO0lBQzlDQywwQkFBMEIsRUFBRTtNQUMxQkMsZUFBZSxFQUNibkIsYUFBSSxDQUFDQyxDQUFDLENBQUMscUNBQXFDLENBQUMsR0FBRyxHQUFHO01BQ3JEbUIsa0JBQWtCLEVBQUVwQixhQUFJLENBQUNDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQztNQUN0RG9CLHFCQUFxQixFQUFFckIsYUFBSSxDQUFDQyxDQUFDLENBQUMsS0FBSztJQUNyQztFQUFFLENBQ0gsQ0FDRixHQUVELENBQUNwRCxlQUFlLGlCQUNkdkMsTUFBQSxDQUFBbUIsT0FBQSxDQUFBNkUsYUFBQTtJQUFLQyxTQUFTLEVBQUM7RUFBMkIsZ0JBQ3hDakcsTUFBQSxDQUFBbUIsT0FBQSxDQUFBNkUsYUFBQTtJQUNFQyxTQUFTLEVBQUMsK0JBQStCO0lBQ3pDZSxHQUFHLEVBQUVDLG1CQUFlO0lBQ3BCQyxHQUFHLEVBQUM7RUFBRSxDQUNQLENBQUMsZUFDRmxILE1BQUEsQ0FBQW1CLE9BQUEsQ0FBQTZFLGFBQUE7SUFBS0MsU0FBUyxFQUFDO0VBQWdDLEdBQzVDUCxhQUFJLENBQUNDLENBQUMsQ0FBQywwQ0FBMEMsQ0FDL0MsQ0FDRixDQUdOLENBQUM7QUFFVixDQUFDO0FBQUMsSUFBQXdCLFFBQUEsR0FFYWhGLGlCQUFpQjtBQUFBaUYsT0FBQSxDQUFBakcsT0FBQSxHQUFBZ0csUUFBQSJ9
113
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3REYXRhVGFibGVDb21wb25lbnQiLCJfcmVhY3RSZWR1eCIsIl9pMThuIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9UcmVuZEdyYXBoTlZMIiwiX3VzZUthbmRvRmV0Y2giLCJfbm9fcmVzdWx0cyIsIl9Db250ZW50TG9hZGVyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIlRBQkxFX1JPV1NfUEVSX1BBR0UiLCJUcmVuZFBvcHVwQ29udGVudCIsIl9yZWYiLCJhcmVhSUQiLCJmb3JXYmVEYXNoYm9hcmQiLCJpc1ZpcnR1YWxBcmVhIiwibmF2Q29udGV4dCIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJuYXZfY29udGV4dF9kYXRhIiwid2F0ZXJBdXRob3JpdHlJZCIsImdsb2JhbF9kYXRhIiwiZGF0YSIsImlzRmV0Y2hpbmciLCJ1c2VLYW5kb0ZldGNoIiwiY29uY2F0Iiwicm93cyIsInNldFJvd3MiLCJ1c2VTdGF0ZSIsImRpciIsImxvY2FsZSIsIkRpcmVjdGlvbiIsIkxUUiIsIlJUTCIsInBhcnNlUm93cyIsInZhbHVlcyIsInZhbCIsInB1c2giLCJzYW1wbGVfaWQiLCJkaXNwbGF5X2RhdGUiLCJtcm5hX2NvcGllcyIsInN0YXR1cyIsInJhd19kYXRlIiwidXNlRWZmZWN0IiwibGVuZ3RoIiwiZGF0YVJvd3MiLCJjb2x1bW5zIiwiUmVhY3QiLCJ1c2VNZW1vIiwibmFtZSIsImkxOG4iLCJ0Iiwic2VsZWN0b3IiLCJzb3J0YWJsZSIsImNlbGwiLCJyb3ciLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwiUm93TG9hZGVyIiwibWFyZ2luIiwiYmdDb2xvciIsImZnQ29sb3IiLCJkZWZhdWx0U29ydEFzYyIsImRlZmF1bHRTb3J0RmllbGRJZCIsInBhZ2luYXRpb24iLCJwYWdpbmF0aW9uUGVyUGFnZSIsImRpcmVjdGlvbiIsInBhZ2luYXRpb25Sb3dzUGVyUGFnZU9wdGlvbnMiLCJwYWdpbmF0aW9uQ29tcG9uZW50T3B0aW9ucyIsInJvd3NQZXJQYWdlVGV4dCIsInJhbmdlU2VwYXJhdG9yVGV4dCIsInNlbGVjdEFsbFJvd3NJdGVtVGV4dCIsInNyYyIsIm5vX2xhYl9yZXN1bHRzIiwiYWx0IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL0NvdmlkUGFnZS9jb21wb25lbnRzL1RyZW5kUG9wdXBDb250ZW50L1RyZW5kUG9wdXBDb250ZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBEYXRhVGFibGUsIHsgRGlyZWN0aW9uIH0gZnJvbSAncmVhY3QtZGF0YS10YWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5cbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgVHJlbmRHcmFwaE5WTCBmcm9tICcuLi9UcmVuZEdyYXBoTlZMJztcbmltcG9ydCB1c2VLYW5kb0ZldGNoIGZyb20gJ3NyYy9ob29rcy91c2VLYW5kb0ZldGNoJztcbmltcG9ydCBub19sYWJfcmVzdWx0cyBmcm9tICcuLi8uLi8uLi8uLi9hc3NldHMvbm9fcmVzdWx0cy5zdmcnO1xuXG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnc3JjL3N0b3JlL3Jvb3RSZWR1Y2VyJztcbmltcG9ydCB7IFJvd0xvYWRlciB9IGZyb20gJ3NyYy9jb21wb25lbnRzL0NvbnRlbnRMb2FkZXInO1xuaW1wb3J0ICcuL3N0eWxlcy5zY3NzJztcblxuY29uc3QgVEFCTEVfUk9XU19QRVJfUEFHRSA9IDU7XG5cbnR5cGUgSVByb3BzID0ge1xuICBhcmVhSUQ6IG51bWJlcjtcbiAgZm9yV2JlRGFzaGJvYXJkOiBib29sZWFuO1xuICBpc1ZpcnR1YWxBcmVhOiBib29sZWFuO1xufTtcblxuY29uc3QgVHJlbmRQb3B1cENvbnRlbnQ6IFJlYWN0LkZDPElQcm9wcz4gPSAoe1xuICBhcmVhSUQsXG4gIGZvcldiZURhc2hib2FyZCA9IGZhbHNlLFxuICBpc1ZpcnR1YWxBcmVhID0gZmFsc2UsXG59KSA9PiB7XG4gIGNvbnN0IG5hdkNvbnRleHQgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5uYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQsXG4gICk7XG4gIGNvbnN0IHdhdGVyQXV0aG9yaXR5SWQgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PlxuICAgICAgc3RhdGUuZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCxcbiAgKTtcbiAgY29uc3QgeyBkYXRhLCBpc0ZldGNoaW5nIH0gPSB1c2VLYW5kb0ZldGNoKFxuICAgIGAvYXBpX3VpL3diZV9kYXNoYm9hcmQvdHJlbmRfZ3JhcGgvYXJlYS8ke2FyZWFJRH0/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7d2F0ZXJBdXRob3JpdHlJZH1gLFxuICApO1xuICBjb25zdCBbcm93cywgc2V0Um93c10gPSB1c2VTdGF0ZShbXSk7XG5cbiAgY29uc3QgZGlyOiBEaXJlY3Rpb24gPVxuICAgIG5hdkNvbnRleHQubG9jYWxlID09PSAnaGUnID8gRGlyZWN0aW9uLkxUUiA6IERpcmVjdGlvbi5SVEw7XG5cbiAgY29uc3QgcGFyc2VSb3dzID0gKHZhbHVlczogQXJyYXk8YW55PikgPT4ge1xuICAgIGxldCByb3dzOiBhbnlbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgdmFsIG9mIHZhbHVlcykge1xuICAgICAgcm93cy5wdXNoKHtcbiAgICAgICAgc2FtcGxlX2lkOiB2YWxbJ3NhbXBsZV9pZCddLFxuICAgICAgICBkaXNwbGF5X2RhdGU6IHZhbFsnZGlzcGxheV9kYXRlJ10sXG4gICAgICAgIG1ybmFfY29waWVzOiB2YWxbJ21ybmFfY29waWVzJ10gPT0gbnVsbCA/ICctJyA6IHZhbFsnbXJuYV9jb3BpZXMnXSxcbiAgICAgICAgc3RhdHVzOiB2YWxbJ3N0YXR1cyddLFxuICAgICAgICByYXdfZGF0ZTogdmFsWydyYXdfZGF0ZSddLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiByb3dzO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc0ZldGNoaW5nICYmIGRhdGE/LnZhbHVlcy5sZW5ndGggPiAwKSB7XG4gICAgICBsZXQgZGF0YVJvd3MgPSBwYXJzZVJvd3MoZGF0YS52YWx1ZXMpO1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgc2V0Um93cyhkYXRhUm93cyk7XG4gICAgfVxuICB9LCBbaXNGZXRjaGluZ10pO1xuXG4gIGNvbnN0IGNvbHVtbnMgPSBSZWFjdC51c2VNZW1vKFxuICAgICgpID0+IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogaTE4bi50KCdjb21wb25lbnRzLmFyZWEuZGF0ZScpLFxuICAgICAgICBzZWxlY3RvcjogJ3Jhd19kYXRlJyxcbiAgICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICAgIGNlbGw6IChyb3c6IHsgZGlzcGxheV9kYXRlOiBzdHJpbmcgfSkgPT4gKFxuICAgICAgICAgIDxkaXYgZGF0YS10YWc9XCJhbGxvd1Jvd0V2ZW50c1wiPntyb3cuZGlzcGxheV9kYXRlfTwvZGl2PlxuICAgICAgICApLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogaTE4bi50KCdjb21wb25lbnRzLmFyZWEuc2FtcGxlX2lkJyksXG4gICAgICAgIHNlbGVjdG9yOiAnc2FtcGxlX2lkJyxcbiAgICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBpMThuLnQoJ2NvbXBvbmVudHMuYXJlYS5tcm5hX2NvcGllcycpLFxuICAgICAgICBzZWxlY3RvcjogJ21ybmFfY29waWVzJyxcbiAgICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBpMThuLnQoJ3N0YXR1cycpLFxuICAgICAgICBzZWxlY3RvcjogJ3N0YXR1cycsXG4gICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtdLFxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJ0cmVuZC1jb250ZW50XCI+XG4gICAgICA8VHJlbmRHcmFwaE5WTFxuICAgICAgICBhcmVhSUQ9e2FyZWFJRH1cbiAgICAgICAgZm9yV2JlRGFzaGJvYXJkPXtmb3JXYmVEYXNoYm9hcmR9XG4gICAgICAgIGlzVmlydHVhbEFyZWE9e2lzVmlydHVhbEFyZWF9XG4gICAgICAvPlxuICAgICAgeyFmb3JXYmVEYXNoYm9hcmQgJiYgKFxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRhYmxlLXRpdGxlXCI+XG4gICAgICAgICAge2kxOG4udCgnY29tcG9uZW50cy5udmxfdHJlbmQuc2FtcGxpbmdfcmVzdWx0cycpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgICB7aXNGZXRjaGluZyA/IChcbiAgICAgICAgPFJvd0xvYWRlciBtYXJnaW49XCIyNnB4IDAgMFwiIGJnQ29sb3I9XCIjZjJmMmYyXCIgZmdDb2xvcj1cIiNmZmZcIiAvPlxuICAgICAgKSA6IHJvd3M/Lmxlbmd0aCA+IDAgPyAoXG4gICAgICAgICFmb3JXYmVEYXNoYm9hcmQgJiYgKFxuICAgICAgICAgIDxEYXRhVGFibGVcbiAgICAgICAgICAgIGNvbHVtbnM9e2NvbHVtbnN9XG4gICAgICAgICAgICBkYXRhPXtyb3dzfVxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiZGF0YXRhYmxlXCJcbiAgICAgICAgICAgIGRlZmF1bHRTb3J0QXNjPXtmYWxzZX1cbiAgICAgICAgICAgIGRlZmF1bHRTb3J0RmllbGRJZD1cInJhd19kYXRlXCJcbiAgICAgICAgICAgIHBhZ2luYXRpb25cbiAgICAgICAgICAgIHBhZ2luYXRpb25QZXJQYWdlPXtUQUJMRV9ST1dTX1BFUl9QQUdFfVxuICAgICAgICAgICAgZGlyZWN0aW9uPXtkaXJ9XG4gICAgICAgICAgICBwYWdpbmF0aW9uUm93c1BlclBhZ2VPcHRpb25zPXtbNSwgMTUsIDMwLCA1MF19XG4gICAgICAgICAgICBwYWdpbmF0aW9uQ29tcG9uZW50T3B0aW9ucz17e1xuICAgICAgICAgICAgICByb3dzUGVyUGFnZVRleHQ6XG4gICAgICAgICAgICAgICAgaTE4bi50KCdjb21wb25lbnRzLmRhdGFfdGFibGUucm93c19wZXJfcGFnZScpICsgJzonLFxuICAgICAgICAgICAgICByYW5nZVNlcGFyYXRvclRleHQ6IGkxOG4udCgnY29tcG9uZW50cy5kYXRhX3RhYmxlLm9mJyksXG4gICAgICAgICAgICAgIHNlbGVjdEFsbFJvd3NJdGVtVGV4dDogaTE4bi50KCdhbGwnKSxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgLz5cbiAgICAgICAgKVxuICAgICAgKSA6IChcbiAgICAgICAgIWZvcldiZURhc2hib2FyZCAmJiAoXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0cmVuZC1jb250ZW50X19uby1yZXN1bHRzXCI+XG4gICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRyZW5kLWNvbnRlbnRfX25vLXJlc3VsdHMtaW1nXCJcbiAgICAgICAgICAgICAgc3JjPXtub19sYWJfcmVzdWx0c31cbiAgICAgICAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRyZW5kLWNvbnRlbnRfX25vLXJlc3VsdHMtdGV4dFwiPlxuICAgICAgICAgICAgICB7aTE4bi50KCdjb21wb25lbnRzLm52bF90cmVuZC5ub19zYW1wbGluZ19yZXN1bHRzJyl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKVxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFRyZW5kUG9wdXBDb250ZW50O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsd0JBQUEsR0FBQUYsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLFdBQUEsR0FBQUYsT0FBQTtBQUVBLElBQUFHLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFLLGNBQUEsR0FBQUQsc0JBQUEsQ0FBQUosT0FBQTtBQUNBLElBQUFNLGNBQUEsR0FBQUYsc0JBQUEsQ0FBQUosT0FBQTtBQUFvRCxJQUFBTyxXQUFBLEdBQUFILHNCQUFBLENBQUFKLE9BQUE7QUFJcEQsSUFBQVEsY0FBQSxHQUFBUixPQUFBO0FBQ0FBLE9BQUE7QUFBdUIsU0FBQVMseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLENBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQVgsd0JBQUFlLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxv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
@@ -1,12 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.Area = void 0;
9
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
10
8
  var _react = _interopRequireWildcard(require("react"));
11
9
  var _reactFontawesome = require("@fortawesome/react-fontawesome");
12
10
  var _freeSolidSvgIcons = require("@fortawesome/free-solid-svg-icons");
@@ -18,31 +16,30 @@ var _TrendPopupContent = _interopRequireDefault(require("../TrendPopupContent"))
18
16
  var _useQueryURL = _interopRequireDefault(require("hooks/useQueryURL"));
19
17
  var _Truncate = _interopRequireDefault(require("utilities/Truncate"));
20
18
  var _nvlStatusHelper = require("../nvlStatusHelper");
21
- 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); }
22
- 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; }
19
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
20
+ 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; }
23
21
  // TODO: Covid Create interface IArea
24
22
 
25
23
  /***
26
24
  * If focus_main_area is given in the URL, then trend popup for that area will be opened.
27
25
  * */
28
- var Area = function Area(props) {
29
- var area = props.area,
30
- isSubAreasDisplayed = props.isSubAreasDisplayed,
31
- zoomedArea = props.zoomedArea;
32
- var _useState = (0, _react.useState)(false),
33
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
34
- expanded = _useState2[0],
35
- setExpanded = _useState2[1];
36
- var dispatch = (0, _reactRedux.useDispatch)();
37
- var popupAreaID = parseInt((0, _useQueryURL.default)().get('focus_main_area') || '');
38
- var displayNVLChange = function displayNVLChange() {
26
+ const Area = props => {
27
+ const {
28
+ area,
29
+ isSubAreasDisplayed,
30
+ zoomedArea
31
+ } = props;
32
+ const [expanded, setExpanded] = (0, _react.useState)(false);
33
+ const dispatch = (0, _reactRedux.useDispatch)();
34
+ const popupAreaID = parseInt((0, _useQueryURL.default)().get('focus_main_area') || '');
35
+ const displayNVLChange = () => {
39
36
  if (Math.sign(area.NVL_diff_ratio) === 1) {
40
37
  return "+".concat(area.NVL_diff_ratio, "%");
41
38
  } else {
42
39
  return "".concat(area.NVL_diff_ratio, "%");
43
40
  }
44
41
  };
45
- var displaySubAreas = function displaySubAreas() {
42
+ const displaySubAreas = () => {
46
43
  if (area.sub_areas !== undefined && area.sub_areas.length !== 0) {
47
44
  dispatch((0, _actions.updateWBE)({
48
45
  focusedArea: area,
@@ -50,8 +47,8 @@ var Area = function Area(props) {
50
47
  }));
51
48
  }
52
49
  };
53
- var handleAreaClick = function handleAreaClick(mobile) {
54
- var setZoomedArea = function setZoomedArea(zoomedArea) {
50
+ const handleAreaClick = mobile => {
51
+ const setZoomedArea = zoomedArea => {
55
52
  if (area.shape_data !== undefined && area.shape_data.length !== 0) {
56
53
  if (mobile && zoomedArea !== null) {
57
54
  dispatch((0, _actions.updateWBE)({
@@ -67,34 +64,30 @@ var Area = function Area(props) {
67
64
  };
68
65
  if (zoomedArea !== null) {
69
66
  setZoomedArea(null);
70
- setTimeout(function () {
67
+ setTimeout(() => {
71
68
  setZoomedArea(area);
72
69
  }, 300);
73
70
  } else {
74
71
  setZoomedArea(area);
75
72
  }
76
73
  };
77
- var displaySamplingHistory = function displaySamplingHistory() {
74
+ const displaySamplingHistory = () => {
78
75
  // eslint-disable-next-line no-console
79
76
  console.log('sampling history');
80
77
  };
81
- var renderArea = function renderArea(mobile) {
78
+ const renderArea = mobile => {
82
79
  return /*#__PURE__*/_react.default.createElement("div", {
83
80
  className: "area ".concat(area.sampling_taken === null ? 'area--no_sampling' : '', " ").concat(expanded ? 'area--expanded' : '', " ").concat(mobile ? 'area--mobile' : 'area--desktop')
84
81
  }, /*#__PURE__*/_react.default.createElement("div", {
85
82
  className: 'area-container'
86
83
  }, /*#__PURE__*/_react.default.createElement("div", {
87
84
  className: "area__header area__header--".concat((0, _nvlStatusHelper.verbalizeNVL)(area.NVL)),
88
- onClick: function onClick() {
89
- return setExpanded(!expanded);
90
- }
85
+ onClick: () => setExpanded(!expanded)
91
86
  }, /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement(_Truncate.default, {
92
87
  characters: 0
93
88
  }, area.name)), area.sampling_taken !== null && /*#__PURE__*/_react.default.createElement("span", null, area.NVL, " (", displayNVLChange(), ")")), /*#__PURE__*/_react.default.createElement("div", {
94
89
  className: 'area__details',
95
- onClick: function onClick() {
96
- return handleAreaClick(mobile);
97
- }
90
+ onClick: () => handleAreaClick(mobile)
98
91
  }, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
99
92
  className: 'area__detail'
100
93
  }, _i18n.default.t('covid_view.area_details.NVL_change'), ":", ' ', /*#__PURE__*/_react.default.createElement("b", null, displayNVLChange())), /*#__PURE__*/_react.default.createElement("span", {
@@ -110,17 +103,13 @@ var Area = function Area(props) {
110
103
  }), " ", area.population)))), isSubAreasDisplayed ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null) : /*#__PURE__*/_react.default.createElement("div", {
111
104
  className: 'area__actions'
112
105
  }, /*#__PURE__*/_react.default.createElement("a", {
113
- onClick: function onClick() {
114
- return displaySubAreas();
115
- }
106
+ onClick: () => displaySubAreas()
116
107
  }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
117
108
  icon: _freeSolidSvgIcons.faLevelDownAlt
118
109
  }), /*#__PURE__*/_react.default.createElement("span", null, " ", _i18n.default.t('covid_view.sub_areas'))), /*#__PURE__*/_react.default.createElement("div", {
119
110
  className: "divider"
120
111
  }), /*#__PURE__*/_react.default.createElement("a", {
121
- onClick: function onClick() {
122
- return displaySamplingHistory();
123
- }
112
+ onClick: () => displaySamplingHistory()
124
113
  }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
125
114
  icon: _freeSolidSvgIcons.faHistory
126
115
  }), /*#__PURE__*/_react.default.createElement(_KandoModal.default, {
@@ -136,8 +125,8 @@ var Area = function Area(props) {
136
125
  includeSamplingInfo: true
137
126
  })))));
138
127
  };
139
- (0, _react.useEffect)(function () {}, [zoomedArea]);
128
+ (0, _react.useEffect)(() => {}, [zoomedArea]);
140
129
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, renderArea(true), renderArea(false));
141
130
  };
142
131
  exports.Area = Area;
143
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RGb250YXdlc29tZSIsIl9mcmVlU29saWRTdmdJY29ucyIsIl9yZWFjdFJlZHV4IiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2FjdGlvbnMiLCJfS2FuZG9Nb2RhbCIsIl9UcmVuZFBvcHVwQ29udGVudCIsIl91c2VRdWVyeVVSTCIsIl9UcnVuY2F0ZSIsIl9udmxTdGF0dXNIZWxwZXIiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIkFyZWEiLCJwcm9wcyIsImFyZWEiLCJpc1N1YkFyZWFzRGlzcGxheWVkIiwiem9vbWVkQXJlYSIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImV4cGFuZGVkIiwic2V0RXhwYW5kZWQiLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwicG9wdXBBcmVhSUQiLCJwYXJzZUludCIsInVzZVF1ZXJ5VVJMIiwiZGlzcGxheU5WTENoYW5nZSIsIk1hdGgiLCJzaWduIiwiTlZMX2RpZmZfcmF0aW8iLCJjb25jYXQiLCJkaXNwbGF5U3ViQXJlYXMiLCJzdWJfYXJlYXMiLCJ1bmRlZmluZWQiLCJsZW5ndGgiLCJ1cGRhdGVXQkUiLCJmb2N1c2VkQXJlYSIsImhhbmRsZUFyZWFDbGljayIsIm1vYmlsZSIsInNldFpvb21lZEFyZWEiLCJzaGFwZV9kYXRhIiwic2lkZW5hdkV4cGFuZGVkIiwic2V0VGltZW91dCIsImRpc3BsYXlTYW1wbGluZ0hpc3RvcnkiLCJjb25zb2xlIiwibG9nIiwicmVuZGVyQXJlYSIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJzYW1wbGluZ190YWtlbiIsInZlcmJhbGl6ZU5WTCIsIk5WTCIsIm9uQ2xpY2siLCJjaGFyYWN0ZXJzIiwibmFtZSIsIkZyYWdtZW50IiwiaTE4biIsInQiLCJsYXN0X3VwZGF0ZWQiLCJEYXRlIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwic3RhdHVzIiwiRm9udEF3ZXNvbWVJY29uIiwiaWNvbiIsImZhVXNlcnMiLCJwb3B1bGF0aW9uIiwiZmFMZXZlbERvd25BbHQiLCJmYUhpc3RvcnkiLCJidXR0b25MYWJlbCIsIm9wZW5lckNsYXNzIiwidHlwZSIsImlzT3BlbiIsImlkIiwiY2hhbmdlSGlzdG9yeSIsInBvcHVwX2FyZWFfaWQiLCJhcmVhSUQiLCJpbmNsdWRlU2FtcGxpbmdJbmZvIiwidXNlRWZmZWN0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9Db3ZpZFBhZ2UvY29tcG9uZW50cy9hcmVhcy9BcmVhLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0Jztcbi8vIFRPRE86IENvdmlkIENyZWF0ZSBpbnRlcmZhY2UgSUFyZWFcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgeyBmYVVzZXJzIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCB7IGZhSGlzdG9yeSB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBmYUxldmVsRG93bkFsdCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcblxuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IElBcmVhV0JFIH0gZnJvbSAnc3JjL3N0b3JlL1dCRS9tb2RlbHMvSUFyZWFXQkUnO1xuaW1wb3J0IHsgdXBkYXRlV0JFIH0gZnJvbSAnc3JjL3N0b3JlL1dCRS9hY3Rpb25zJztcbmltcG9ydCBLYW5kb01vZGFsIGZyb20gJ3NyYy9jb21wb25lbnRzL0thbmRvTW9kYWwnO1xuaW1wb3J0IFRyZW5kUG9wdXBDb250ZW50IGZyb20gJy4uL1RyZW5kUG9wdXBDb250ZW50JztcbmltcG9ydCB1c2VRdWVyeVVSTCBmcm9tICdzcmMvaG9va3MvdXNlUXVlcnlVUkwnO1xuaW1wb3J0IFRydW5jYXRlIGZyb20gJ3NyYy91dGlsaXRpZXMvVHJ1bmNhdGUnO1xuaW1wb3J0IHsgdmVyYmFsaXplTlZMIH0gZnJvbSAnLi4vbnZsU3RhdHVzSGVscGVyJztcblxudHlwZSBQcm9wcyA9IHtcbiAgYXJlYTogSUFyZWFXQkU7XG4gIHpvb21lZEFyZWE6IElBcmVhV0JFIHwgbnVsbDtcbiAgaXNTdWJBcmVhc0Rpc3BsYXllZDogYm9vbGVhbjtcbn07XG5cbi8qKipcbiAqIElmIGZvY3VzX21haW5fYXJlYSBpcyBnaXZlbiBpbiB0aGUgVVJMLCB0aGVuIHRyZW5kIHBvcHVwIGZvciB0aGF0IGFyZWEgd2lsbCBiZSBvcGVuZWQuXG4gKiAqL1xuZXhwb3J0IGNvbnN0IEFyZWE6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGFyZWEsIGlzU3ViQXJlYXNEaXNwbGF5ZWQsIHpvb21lZEFyZWEgfSA9IHByb3BzO1xuICBjb25zdCBbZXhwYW5kZWQsIHNldEV4cGFuZGVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBwb3B1cEFyZWFJRCA9IHBhcnNlSW50KHVzZVF1ZXJ5VVJMKCkuZ2V0KCdmb2N1c19tYWluX2FyZWEnKSB8fCAnJyk7XG5cbiAgY29uc3QgZGlzcGxheU5WTENoYW5nZSA9ICgpID0+IHtcbiAgICBpZiAoTWF0aC5zaWduKGFyZWEuTlZMX2RpZmZfcmF0aW8pID09PSAxKSB7XG4gICAgICByZXR1cm4gYCske2FyZWEuTlZMX2RpZmZfcmF0aW99JWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBgJHthcmVhLk5WTF9kaWZmX3JhdGlvfSVgO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBkaXNwbGF5U3ViQXJlYXMgPSAoKSA9PiB7XG4gICAgaWYgKGFyZWEuc3ViX2FyZWFzICE9PSB1bmRlZmluZWQgJiYgYXJlYS5zdWJfYXJlYXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICBkaXNwYXRjaCh1cGRhdGVXQkUoeyBmb2N1c2VkQXJlYTogYXJlYSwgem9vbWVkQXJlYTogbnVsbCB9KSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUFyZWFDbGljayA9IChtb2JpbGU6IGJvb2xlYW4pID0+IHtcbiAgICBjb25zdCBzZXRab29tZWRBcmVhID0gKHpvb21lZEFyZWE6IElBcmVhV0JFIHwgbnVsbCkgPT4ge1xuICAgICAgaWYgKGFyZWEuc2hhcGVfZGF0YSAhPT0gdW5kZWZpbmVkICYmIGFyZWEuc2hhcGVfZGF0YS5sZW5ndGggIT09IDApIHtcbiAgICAgICAgaWYgKG1vYmlsZSAmJiB6b29tZWRBcmVhICE9PSBudWxsKSB7XG4gICAgICAgICAgZGlzcGF0Y2goXG4gICAgICAgICAgICB1cGRhdGVXQkUoe1xuICAgICAgICAgICAgICB6b29tZWRBcmVhOiB6b29tZWRBcmVhLFxuICAgICAgICAgICAgICBzaWRlbmF2RXhwYW5kZWQ6IGZhbHNlLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkaXNwYXRjaCh1cGRhdGVXQkUoeyB6b29tZWRBcmVhOiB6b29tZWRBcmVhIH0pKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG5cbiAgICBpZiAoem9vbWVkQXJlYSAhPT0gbnVsbCkge1xuICAgICAgc2V0Wm9vbWVkQXJlYShudWxsKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBzZXRab29tZWRBcmVhKGFyZWEpO1xuICAgICAgfSwgMzAwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0Wm9vbWVkQXJlYShhcmVhKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZGlzcGxheVNhbXBsaW5nSGlzdG9yeSA9ICgpID0+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgIGNvbnNvbGUubG9nKCdzYW1wbGluZyBoaXN0b3J5Jyk7XG4gIH07XG5cbiAgY29uc3QgcmVuZGVyQXJlYSA9IChtb2JpbGU6IGJvb2xlYW4pID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e2BhcmVhICR7XG4gICAgICAgICAgYXJlYS5zYW1wbGluZ190YWtlbiA9PT0gbnVsbCA/ICdhcmVhLS1ub19zYW1wbGluZycgOiAnJ1xuICAgICAgICB9ICR7ZXhwYW5kZWQgPyAnYXJlYS0tZXhwYW5kZWQnIDogJyd9ICR7XG4gICAgICAgICAgbW9iaWxlID8gJ2FyZWEtLW1vYmlsZScgOiAnYXJlYS0tZGVza3RvcCdcbiAgICAgICAgfWB9XG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnYXJlYS1jb250YWluZXInfT5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzc05hbWU9e2BhcmVhX19oZWFkZXIgYXJlYV9faGVhZGVyLS0ke3ZlcmJhbGl6ZU5WTChhcmVhLk5WTCl9YH1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldEV4cGFuZGVkKCFleHBhbmRlZCl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgIDxUcnVuY2F0ZSBjaGFyYWN0ZXJzPXswfT57YXJlYS5uYW1lfTwvVHJ1bmNhdGU+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICB7YXJlYS5zYW1wbGluZ190YWtlbiAhPT0gbnVsbCAmJiAoXG4gICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgIHthcmVhLk5WTH0gKHtkaXNwbGF5TlZMQ2hhbmdlKCl9KVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzTmFtZT17J2FyZWFfX2RldGFpbHMnfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlQXJlYUNsaWNrKG1vYmlsZSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9eydhcmVhX19kZXRhaWwnfT5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdjb3ZpZF92aWV3LmFyZWFfZGV0YWlscy5OVkxfY2hhbmdlJyl9OnsnICd9XG4gICAgICAgICAgICAgICAgPGI+e2Rpc3BsYXlOVkxDaGFuZ2UoKX08L2I+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXsnYXJlYV9fZGV0YWlsJ30+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnY292aWRfdmlldy5hcmVhX2RldGFpbHMubGFzdF91cGRhdGVkJyl9OnsnICd9XG4gICAgICAgICAgICAgICAgPGI+XG4gICAgICAgICAgICAgICAgICB7YXJlYS5sYXN0X3VwZGF0ZWQgPT09IG51bGxcbiAgICAgICAgICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICAgICAgICAgIDogbmV3IERhdGUoYXJlYS5sYXN0X3VwZGF0ZWQpLnRvTG9jYWxlRGF0ZVN0cmluZygpfVxuICAgICAgICAgICAgICAgIDwvYj5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9eydhcmVhX19kZXRhaWwnfT5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdjb3ZpZF92aWV3LmFyZWFfZGV0YWlscy5zYW1wbGluZ190YWtlbicpfTp7JyAnfVxuICAgICAgICAgICAgICAgIDxiPlxuICAgICAgICAgICAgICAgICAge2FyZWEuc2FtcGxpbmdfdGFrZW4gPT09IG51bGxcbiAgICAgICAgICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICAgICAgICAgIDogbmV3IERhdGUoYXJlYS5zYW1wbGluZ190YWtlbikudG9Mb2NhbGVEYXRlU3RyaW5nKCl9XG4gICAgICAgICAgICAgICAgPC9iPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17J2FyZWFfX2RldGFpbCd9PlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2NvdmlkX3ZpZXcuYXJlYV9kZXRhaWxzLnN0YXR1cycpfTp7JyAnfVxuICAgICAgICAgICAgICAgIDxiPntpMThuLnQoYGNvdmlkX3ZpZXcuYXJlYV9zdGF0dXNlcy4ke2FyZWEuc3RhdHVzfWApfTwvYj5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9eydhcmVhX19kZXRhaWwnfT5cbiAgICAgICAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uIGljb249e2ZhVXNlcnN9IC8+IHthcmVhLnBvcHVsYXRpb259XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB7aXNTdWJBcmVhc0Rpc3BsYXllZCA/IChcbiAgICAgICAgICA8UmVhY3QuRnJhZ21lbnQgLz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2FyZWFfX2FjdGlvbnMnfT5cbiAgICAgICAgICAgIDxhIG9uQ2xpY2s9eygpID0+IGRpc3BsYXlTdWJBcmVhcygpfT5cbiAgICAgICAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtmYUxldmVsRG93bkFsdH0gLz5cbiAgICAgICAgICAgICAgPHNwYW4+IHtpMThuLnQoJ2NvdmlkX3ZpZXcuc3ViX2FyZWFzJyl9PC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkaXZpZGVyXCIgLz5cbiAgICAgICAgICAgIDxhIG9uQ2xpY2s9eygpID0+IGRpc3BsYXlTYW1wbGluZ0hpc3RvcnkoKX0+XG4gICAgICAgICAgICAgIDxGb250QXdlc29tZUljb24gaWNvbj17ZmFIaXN0b3J5fSAvPlxuICAgICAgICAgICAgICA8S2FuZG9Nb2RhbFxuICAgICAgICAgICAgICAgIGJ1dHRvbkxhYmVsPXtpMThuLnQoJ2NvdmlkX3ZpZXcuTlZMX3RyZW5kJyl9XG4gICAgICAgICAgICAgICAgb3BlbmVyQ2xhc3M9XCJpbmxpbmVcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJiaWdcIlxuICAgICAgICAgICAgICAgIGlzT3Blbj17cG9wdXBBcmVhSUQgPT09IGFyZWEuaWR9XG4gICAgICAgICAgICAgICAgY2hhbmdlSGlzdG9yeT17eyBwb3B1cF9hcmVhX2lkOiBhcmVhLmlkIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8VHJlbmRQb3B1cENvbnRlbnRcbiAgICAgICAgICAgICAgICAgIGFyZWFJRD17YXJlYS5pZH1cbiAgICAgICAgICAgICAgICAgIGluY2x1ZGVTYW1wbGluZ0luZm89e3RydWV9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9LYW5kb01vZGFsPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge30sIFt6b29tZWRBcmVhXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICB7cmVuZGVyQXJlYSh0cnVlKX1cbiAgICAgIHtyZW5kZXJBcmVhKGZhbHNlKX1cbiAgICA8L1JlYWN0LkZyYWdtZW50PlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsaUJBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLGtCQUFBLEdBQUFGLE9BQUE7QUFHQSxJQUFBRyxXQUFBLEdBQUFILE9BQUE7QUFFQSxJQUFBSSxLQUFBLEdBQUFDLHNCQUFBLENBQUFMLE9BQUE7QUFFQSxJQUFBTSxRQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxXQUFBLEdBQUFGLHNCQUFBLENBQUFMLE9BQUE7QUFDQSxJQUFBUSxrQkFBQSxHQUFBSCxzQkFBQSxDQUFBTCxPQUFBO0FBQ0EsSUFBQVMsWUFBQSxHQUFBSixzQkFBQSxDQUFBTCxPQUFBO0FBQ0EsSUFBQVUsU0FBQSxHQUFBTCxzQkFBQSxDQUFBTCxPQUFBO0FBQ0EsSUFBQVcsZ0JBQUEsR0FBQVgsT0FBQTtBQUFrRCxTQUFBWSx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQWQsd0JBQUFrQixHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFB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
132
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RGb250YXdlc29tZSIsIl9mcmVlU29saWRTdmdJY29ucyIsIl9yZWFjdFJlZHV4IiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2FjdGlvbnMiLCJfS2FuZG9Nb2RhbCIsIl9UcmVuZFBvcHVwQ29udGVudCIsIl91c2VRdWVyeVVSTCIsIl9UcnVuY2F0ZSIsIl9udmxTdGF0dXNIZWxwZXIiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiQXJlYSIsInByb3BzIiwiYXJlYSIsImlzU3ViQXJlYXNEaXNwbGF5ZWQiLCJ6b29tZWRBcmVhIiwiZXhwYW5kZWQiLCJzZXRFeHBhbmRlZCIsInVzZVN0YXRlIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsInBvcHVwQXJlYUlEIiwicGFyc2VJbnQiLCJ1c2VRdWVyeVVSTCIsImRpc3BsYXlOVkxDaGFuZ2UiLCJNYXRoIiwic2lnbiIsIk5WTF9kaWZmX3JhdGlvIiwiY29uY2F0IiwiZGlzcGxheVN1YkFyZWFzIiwic3ViX2FyZWFzIiwidW5kZWZpbmVkIiwibGVuZ3RoIiwidXBkYXRlV0JFIiwiZm9jdXNlZEFyZWEiLCJoYW5kbGVBcmVhQ2xpY2siLCJtb2JpbGUiLCJzZXRab29tZWRBcmVhIiwic2hhcGVfZGF0YSIsInNpZGVuYXZFeHBhbmRlZCIsInNldFRpbWVvdXQiLCJkaXNwbGF5U2FtcGxpbmdIaXN0b3J5IiwiY29uc29sZSIsImxvZyIsInJlbmRlckFyZWEiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwic2FtcGxpbmdfdGFrZW4iLCJ2ZXJiYWxpemVOVkwiLCJOVkwiLCJvbkNsaWNrIiwiY2hhcmFjdGVycyIsIm5hbWUiLCJGcmFnbWVudCIsImkxOG4iLCJ0IiwibGFzdF91cGRhdGVkIiwiRGF0ZSIsInRvTG9jYWxlRGF0ZVN0cmluZyIsInN0YXR1cyIsIkZvbnRBd2Vzb21lSWNvbiIsImljb24iLCJmYVVzZXJzIiwicG9wdWxhdGlvbiIsImZhTGV2ZWxEb3duQWx0IiwiZmFIaXN0b3J5IiwiYnV0dG9uTGFiZWwiLCJvcGVuZXJDbGFzcyIsInR5cGUiLCJpc09wZW4iLCJpZCIsImNoYW5nZUhpc3RvcnkiLCJwb3B1cF9hcmVhX2lkIiwiYXJlYUlEIiwiaW5jbHVkZVNhbXBsaW5nSW5mbyIsInVzZUVmZmVjdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvcGFnZXMvQ292aWRQYWdlL2NvbXBvbmVudHMvYXJlYXMvQXJlYS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG4vLyBUT0RPOiBDb3ZpZCBDcmVhdGUgaW50ZXJmYWNlIElBcmVhXG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgZmFVc2VycyB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBmYUhpc3RvcnkgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgZmFMZXZlbERvd25BbHQgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5cbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBJQXJlYVdCRSB9IGZyb20gJ3NyYy9zdG9yZS9XQkUvbW9kZWxzL0lBcmVhV0JFJztcbmltcG9ydCB7IHVwZGF0ZVdCRSB9IGZyb20gJ3NyYy9zdG9yZS9XQkUvYWN0aW9ucyc7XG5pbXBvcnQgS2FuZG9Nb2RhbCBmcm9tICdzcmMvY29tcG9uZW50cy9LYW5kb01vZGFsJztcbmltcG9ydCBUcmVuZFBvcHVwQ29udGVudCBmcm9tICcuLi9UcmVuZFBvcHVwQ29udGVudCc7XG5pbXBvcnQgdXNlUXVlcnlVUkwgZnJvbSAnc3JjL2hvb2tzL3VzZVF1ZXJ5VVJMJztcbmltcG9ydCBUcnVuY2F0ZSBmcm9tICdzcmMvdXRpbGl0aWVzL1RydW5jYXRlJztcbmltcG9ydCB7IHZlcmJhbGl6ZU5WTCB9IGZyb20gJy4uL252bFN0YXR1c0hlbHBlcic7XG5cbnR5cGUgUHJvcHMgPSB7XG4gIGFyZWE6IElBcmVhV0JFO1xuICB6b29tZWRBcmVhOiBJQXJlYVdCRSB8IG51bGw7XG4gIGlzU3ViQXJlYXNEaXNwbGF5ZWQ6IGJvb2xlYW47XG59O1xuXG4vKioqXG4gKiBJZiBmb2N1c19tYWluX2FyZWEgaXMgZ2l2ZW4gaW4gdGhlIFVSTCwgdGhlbiB0cmVuZCBwb3B1cCBmb3IgdGhhdCBhcmVhIHdpbGwgYmUgb3BlbmVkLlxuICogKi9cbmV4cG9ydCBjb25zdCBBcmVhOiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBhcmVhLCBpc1N1YkFyZWFzRGlzcGxheWVkLCB6b29tZWRBcmVhIH0gPSBwcm9wcztcbiAgY29uc3QgW2V4cGFuZGVkLCBzZXRFeHBhbmRlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgcG9wdXBBcmVhSUQgPSBwYXJzZUludCh1c2VRdWVyeVVSTCgpLmdldCgnZm9jdXNfbWFpbl9hcmVhJykgfHwgJycpO1xuXG4gIGNvbnN0IGRpc3BsYXlOVkxDaGFuZ2UgPSAoKSA9PiB7XG4gICAgaWYgKE1hdGguc2lnbihhcmVhLk5WTF9kaWZmX3JhdGlvKSA9PT0gMSkge1xuICAgICAgcmV0dXJuIGArJHthcmVhLk5WTF9kaWZmX3JhdGlvfSVgO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYCR7YXJlYS5OVkxfZGlmZl9yYXRpb30lYDtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZGlzcGxheVN1YkFyZWFzID0gKCkgPT4ge1xuICAgIGlmIChhcmVhLnN1Yl9hcmVhcyAhPT0gdW5kZWZpbmVkICYmIGFyZWEuc3ViX2FyZWFzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgZGlzcGF0Y2godXBkYXRlV0JFKHsgZm9jdXNlZEFyZWE6IGFyZWEsIHpvb21lZEFyZWE6IG51bGwgfSkpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVBcmVhQ2xpY2sgPSAobW9iaWxlOiBib29sZWFuKSA9PiB7XG4gICAgY29uc3Qgc2V0Wm9vbWVkQXJlYSA9ICh6b29tZWRBcmVhOiBJQXJlYVdCRSB8IG51bGwpID0+IHtcbiAgICAgIGlmIChhcmVhLnNoYXBlX2RhdGEgIT09IHVuZGVmaW5lZCAmJiBhcmVhLnNoYXBlX2RhdGEubGVuZ3RoICE9PSAwKSB7XG4gICAgICAgIGlmIChtb2JpbGUgJiYgem9vbWVkQXJlYSAhPT0gbnVsbCkge1xuICAgICAgICAgIGRpc3BhdGNoKFxuICAgICAgICAgICAgdXBkYXRlV0JFKHtcbiAgICAgICAgICAgICAgem9vbWVkQXJlYTogem9vbWVkQXJlYSxcbiAgICAgICAgICAgICAgc2lkZW5hdkV4cGFuZGVkOiBmYWxzZSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZGlzcGF0Y2godXBkYXRlV0JFKHsgem9vbWVkQXJlYTogem9vbWVkQXJlYSB9KSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaWYgKHpvb21lZEFyZWEgIT09IG51bGwpIHtcbiAgICAgIHNldFpvb21lZEFyZWEobnVsbCk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgc2V0Wm9vbWVkQXJlYShhcmVhKTtcbiAgICAgIH0sIDMwMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFpvb21lZEFyZWEoYXJlYSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGRpc3BsYXlTYW1wbGluZ0hpc3RvcnkgPSAoKSA9PiB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgICBjb25zb2xlLmxvZygnc2FtcGxpbmcgaGlzdG9yeScpO1xuICB9O1xuXG4gIGNvbnN0IHJlbmRlckFyZWEgPSAobW9iaWxlOiBib29sZWFuKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXtgYXJlYSAke1xuICAgICAgICAgIGFyZWEuc2FtcGxpbmdfdGFrZW4gPT09IG51bGwgPyAnYXJlYS0tbm9fc2FtcGxpbmcnIDogJydcbiAgICAgICAgfSAke2V4cGFuZGVkID8gJ2FyZWEtLWV4cGFuZGVkJyA6ICcnfSAke1xuICAgICAgICAgIG1vYmlsZSA/ICdhcmVhLS1tb2JpbGUnIDogJ2FyZWEtLWRlc2t0b3AnXG4gICAgICAgIH1gfVxuICAgICAgPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2FyZWEtY29udGFpbmVyJ30+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtgYXJlYV9faGVhZGVyIGFyZWFfX2hlYWRlci0tJHt2ZXJiYWxpemVOVkwoYXJlYS5OVkwpfWB9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRFeHBhbmRlZCghZXhwYW5kZWQpfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICA8VHJ1bmNhdGUgY2hhcmFjdGVycz17MH0+e2FyZWEubmFtZX08L1RydW5jYXRlPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAge2FyZWEuc2FtcGxpbmdfdGFrZW4gIT09IG51bGwgJiYgKFxuICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICB7YXJlYS5OVkx9ICh7ZGlzcGxheU5WTENoYW5nZSgpfSlcbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzc05hbWU9eydhcmVhX19kZXRhaWxzJ31cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUFyZWFDbGljayhtb2JpbGUpfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXsnYXJlYV9fZGV0YWlsJ30+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnY292aWRfdmlldy5hcmVhX2RldGFpbHMuTlZMX2NoYW5nZScpfTp7JyAnfVxuICAgICAgICAgICAgICAgIDxiPntkaXNwbGF5TlZMQ2hhbmdlKCl9PC9iPlxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17J2FyZWFfX2RldGFpbCd9PlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2NvdmlkX3ZpZXcuYXJlYV9kZXRhaWxzLmxhc3RfdXBkYXRlZCcpfTp7JyAnfVxuICAgICAgICAgICAgICAgIDxiPlxuICAgICAgICAgICAgICAgICAge2FyZWEubGFzdF91cGRhdGVkID09PSBudWxsXG4gICAgICAgICAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgICAgICAgICA6IG5ldyBEYXRlKGFyZWEubGFzdF91cGRhdGVkKS50b0xvY2FsZURhdGVTdHJpbmcoKX1cbiAgICAgICAgICAgICAgICA8L2I+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXsnYXJlYV9fZGV0YWlsJ30+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnY292aWRfdmlldy5hcmVhX2RldGFpbHMuc2FtcGxpbmdfdGFrZW4nKX06eycgJ31cbiAgICAgICAgICAgICAgICA8Yj5cbiAgICAgICAgICAgICAgICAgIHthcmVhLnNhbXBsaW5nX3Rha2VuID09PSBudWxsXG4gICAgICAgICAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgICAgICAgICA6IG5ldyBEYXRlKGFyZWEuc2FtcGxpbmdfdGFrZW4pLnRvTG9jYWxlRGF0ZVN0cmluZygpfVxuICAgICAgICAgICAgICAgIDwvYj5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9eydhcmVhX19kZXRhaWwnfT5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdjb3ZpZF92aWV3LmFyZWFfZGV0YWlscy5zdGF0dXMnKX06eycgJ31cbiAgICAgICAgICAgICAgICA8Yj57aTE4bi50KGBjb3ZpZF92aWV3LmFyZWFfc3RhdHVzZXMuJHthcmVhLnN0YXR1c31gKX08L2I+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXsnYXJlYV9fZGV0YWlsJ30+XG4gICAgICAgICAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtmYVVzZXJzfSAvPiB7YXJlYS5wb3B1bGF0aW9ufVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAge2lzU3ViQXJlYXNEaXNwbGF5ZWQgPyAoXG4gICAgICAgICAgPFJlYWN0LkZyYWdtZW50IC8+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydhcmVhX19hY3Rpb25zJ30+XG4gICAgICAgICAgICA8YSBvbkNsaWNrPXsoKSA9PiBkaXNwbGF5U3ViQXJlYXMoKX0+XG4gICAgICAgICAgICAgIDxGb250QXdlc29tZUljb24gaWNvbj17ZmFMZXZlbERvd25BbHR9IC8+XG4gICAgICAgICAgICAgIDxzcGFuPiB7aTE4bi50KCdjb3ZpZF92aWV3LnN1Yl9hcmVhcycpfTwvc3Bhbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGl2aWRlclwiIC8+XG4gICAgICAgICAgICA8YSBvbkNsaWNrPXsoKSA9PiBkaXNwbGF5U2FtcGxpbmdIaXN0b3J5KCl9PlxuICAgICAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uIGljb249e2ZhSGlzdG9yeX0gLz5cbiAgICAgICAgICAgICAgPEthbmRvTW9kYWxcbiAgICAgICAgICAgICAgICBidXR0b25MYWJlbD17aTE4bi50KCdjb3ZpZF92aWV3Lk5WTF90cmVuZCcpfVxuICAgICAgICAgICAgICAgIG9wZW5lckNsYXNzPVwiaW5saW5lXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYmlnXCJcbiAgICAgICAgICAgICAgICBpc09wZW49e3BvcHVwQXJlYUlEID09PSBhcmVhLmlkfVxuICAgICAgICAgICAgICAgIGNoYW5nZUhpc3Rvcnk9e3sgcG9wdXBfYXJlYV9pZDogYXJlYS5pZCB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFRyZW5kUG9wdXBDb250ZW50XG4gICAgICAgICAgICAgICAgICBhcmVhSUQ9e2FyZWEuaWR9XG4gICAgICAgICAgICAgICAgICBpbmNsdWRlU2FtcGxpbmdJbmZvPXt0cnVlfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvS2FuZG9Nb2RhbD5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHt9LCBbem9vbWVkQXJlYV0pO1xuXG4gIHJldHVybiAoXG4gICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAge3JlbmRlckFyZWEodHJ1ZSl9XG4gICAgICB7cmVuZGVyQXJlYShmYWxzZSl9XG4gICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxpQkFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsa0JBQUEsR0FBQUYsT0FBQTtBQUdBLElBQUFHLFdBQUEsR0FBQUgsT0FBQTtBQUVBLElBQUFJLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUwsT0FBQTtBQUVBLElBQUFNLFFBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLFdBQUEsR0FBQUYsc0JBQUEsQ0FBQUwsT0FBQTtBQUNBLElBQUFRLGtCQUFBLEdBQUFILHNCQUFBLENBQUFMLE9BQUE7QUFDQSxJQUFBUyxZQUFBLEdBQUFKLHNCQUFBLENBQUFMLE9BQUE7QUFDQSxJQUFBVSxTQUFBLEdBQUFMLHNCQUFBLENBQUFMLE9BQUE7QUFDQSxJQUFBVyxnQkFBQSxHQUFBWCxPQUFBO0FBQWtELFNBQUFZLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSxDQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFkLHdCQUFBa0IsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLG9CQUFBQSxHQUFBLHdCQUFBQSxHQUFBLDRCQUFBRSxPQUFBLEVBQUFGLEdBQUEsVUFBQUcsS0FBQSxHQUFBUix3QkFBQSxDQUFBQyxXQUFBLE9BQUFPLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFKLEdBQUEsWUFBQUcsS0FB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