@kando-env/kando-ui 1.2.367 → 1.2.368

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (576) hide show
  1. package/lib/Router.js +73 -36
  2. package/lib/Widgets/EventsCarousel/EventsCarousel.js +35 -25
  3. package/lib/Widgets/EventsRow/EventsRow.js +39 -27
  4. package/lib/Widgets/Map/GraphUtils.js +3 -3
  5. package/lib/Widgets/Map/Map.js +94 -72
  6. package/lib/Widgets/Map/MapUtils.js +61 -64
  7. package/lib/Widgets/Map/areas/AreaPolygon.js +77 -53
  8. package/lib/Widgets/Map/areas/AreaPolygons.js +24 -23
  9. package/lib/Widgets/Map/areas/AreaUtils.js +46 -47
  10. package/lib/Widgets/Map/areas/Patterns.js +4 -4
  11. package/lib/Widgets/Map/edges/Edge.js +35 -31
  12. package/lib/Widgets/Map/edges/Edges.js +23 -19
  13. package/lib/Widgets/Map/edges/arrows/Arrows.js +44 -23
  14. package/lib/Widgets/Map/events/Event.js +17 -17
  15. package/lib/Widgets/Map/events/EventIndicator.js +60 -65
  16. package/lib/Widgets/Map/events/EventPath.js +22 -24
  17. package/lib/Widgets/Map/events/EventUtils.js +80 -60
  18. package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +18 -17
  19. package/lib/Widgets/Map/events/PointOfEvent.js +34 -29
  20. package/lib/Widgets/Map/events/PointsForSpecificEvent.js +37 -30
  21. package/lib/Widgets/Map/events/Snail.js +20 -19
  22. package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +86 -93
  23. package/lib/Widgets/Map/map/FloatingGraph.js +18 -22
  24. package/lib/Widgets/Map/map/GraphDateButton.js +17 -25
  25. package/lib/Widgets/Map/matchGraph/MatchGraph.js +12 -13
  26. package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +15 -16
  27. package/lib/Widgets/Map/points/PointIcon.js +15 -22
  28. package/lib/Widgets/Map/points/PointMarker.js +87 -71
  29. package/lib/Widgets/Map/points/PointMarkers.js +66 -45
  30. package/lib/Widgets/Map/points/PointUtils.js +83 -145
  31. package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +47 -30
  32. package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +10 -11
  33. package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +12 -11
  34. package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +3 -3
  35. package/lib/Widgets/MostPolluting/Areas/Areas.js +60 -31
  36. package/lib/Widgets/MostPolluting/Areas/areas.mock.js +3 -3
  37. package/lib/Widgets/MostPolluting/Areas/styles.js +3 -3
  38. package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +8 -11
  39. package/lib/Widgets/MostPolluting/Factories/Factories.js +70 -39
  40. package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +18 -15
  41. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +8 -8
  42. package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +10 -12
  43. package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +3 -3
  44. package/lib/Widgets/MostPolluting/Factories/factories.mock.js +2 -2
  45. package/lib/Widgets/MostPolluting/Factories/styles.js +3 -3
  46. package/lib/Widgets/MostPolluting/MostPolluting.js +28 -22
  47. package/lib/Widgets/MostPolluting/MostPolluting.stories.js +22 -18
  48. package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +4 -6
  49. package/lib/Widgets/MostPolluting/ShowMore/styles.js +4 -6
  50. package/lib/Widgets/MostPolluting/assets/index.js +10 -10
  51. package/lib/Widgets/MostPolluting/components/ChangePercent.js +13 -19
  52. package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +30 -35
  53. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +35 -45
  54. package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +35 -39
  55. package/lib/Widgets/MostPolluting/components/PotentialImpact.js +27 -28
  56. package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +50 -54
  57. package/lib/Widgets/MostPolluting/styles.js +3 -3
  58. package/lib/Widgets/PotentialImpactSummary/Back/Back.js +5 -7
  59. package/lib/Widgets/PotentialImpactSummary/Icon.js +6 -8
  60. package/lib/Widgets/PotentialImpactSummary/index.js +27 -19
  61. package/lib/Widgets/PotentialImpactSummary/index.test.js +52 -47
  62. package/lib/Widgets/PotentialImpactSummary/styles.js +7 -7
  63. package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +7 -9
  64. package/lib/Widgets/QualitySummary/PieChart/PieChart.js +17 -22
  65. package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +32 -35
  66. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +24 -26
  67. package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +37 -35
  68. package/lib/Widgets/QualitySummary/QualitySummary.js +13 -9
  69. package/lib/Widgets/QualitySummary/qualitySummary.mock.js +4 -4
  70. package/lib/Widgets/QualitySummary/styles.js +15 -23
  71. package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +13 -12
  72. package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +26 -27
  73. package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +24 -29
  74. package/lib/Widgets/UtilityInformation/UtilityInformation.js +40 -23
  75. package/lib/Widgets/UtilityInformation/styles.js +25 -34
  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 +9 -9
  83. package/lib/components/Backdrop/Backdrop.js +4 -6
  84. package/lib/components/ContentLoader/ContentLoader.js +9 -11
  85. package/lib/components/ContentLoader/index.js +1 -1
  86. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +12 -13
  87. package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +5 -3
  88. package/lib/components/CustomInputs/DoubleTabs/styles.js +12 -20
  89. package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +20 -13
  90. package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +4 -6
  91. package/lib/components/CustomInputs/Search/Search.js +63 -42
  92. package/lib/components/CustomInputs/Select/Select.js +58 -45
  93. package/lib/components/CustomInputs/Select/Select.stories.js +6 -4
  94. package/lib/components/DamageType/DamageType.js +57 -35
  95. package/lib/components/DataLoaderError/DataLoaderError.js +6 -8
  96. package/lib/components/DischargeHeatmap/DischargeHeatmap.js +10 -9
  97. package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +71 -70
  98. package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +37 -27
  99. package/lib/components/DischargeHeatmap/HighchartsOptions.js +12 -10
  100. package/lib/components/DischargeHeatmap/mocks/handlers.js +3 -3
  101. package/lib/components/DischargeHeatmap/popupText.js +10 -10
  102. package/lib/components/DischargeHeatmap/titles.js +3 -3
  103. package/lib/components/ErrorBoundary.js +41 -27
  104. package/lib/components/Events/Events.js +58 -41
  105. package/lib/components/Graph/Graph.js +89 -70
  106. package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +21 -17
  107. package/lib/components/Header/DoubleTabs/DoubleTabs.js +33 -25
  108. package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +5 -3
  109. package/lib/components/Header/DoubleTabs/styles.js +4 -4
  110. package/lib/components/Header/Header.js +2 -2
  111. package/lib/components/Header/Header.stories.js +5 -3
  112. package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +197 -82
  113. package/lib/components/Header/InfoBar/InfoBar.js +103 -74
  114. package/lib/components/Header/InfoBar/Search/Control.js +9 -9
  115. package/lib/components/Header/InfoBar/Search/GroupLabel.js +5 -7
  116. package/lib/components/Header/InfoBar/Search/Search.js +21 -16
  117. package/lib/components/Header/InfoBar/Search/SearchContainer.js +33 -21
  118. package/lib/components/Header/InfoBar/Search/searchStyle.js +49 -41
  119. package/lib/components/Header/InfoBar/TimeFilter.js +14 -11
  120. package/lib/components/Header/KandoNavbar/KandoNavbar.js +89 -64
  121. package/lib/components/Header/Slideshow/Slideshow.js +90 -68
  122. package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +4 -6
  123. package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +23 -21
  124. package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +18 -18
  125. package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +43 -37
  126. package/lib/components/Header/Toolbar/Toolbar.js +74 -55
  127. package/lib/components/InfoBar/InfoBar.js +23 -10
  128. package/lib/components/InfoBar/InfoBar.stories.js +5 -3
  129. package/lib/components/KandoModal/KandoModal.js +41 -27
  130. package/lib/components/Link.js +7 -8
  131. package/lib/components/Links/CustomRedirect/CustomRedirect.js +8 -9
  132. package/lib/components/Links/StyledLink/StyledLink.js +12 -12
  133. package/lib/components/Links/StyledNavLink/StyledNavLink.js +10 -11
  134. package/lib/components/LiveEvents/CarouselSlide.js +7 -9
  135. package/lib/components/LiveEvents/LiveEvents.js +3 -5
  136. package/lib/components/LoaderByPercent/LoaderByPercent.js +29 -37
  137. package/lib/components/Map/Map.js +23 -20
  138. package/lib/components/Modal/Modal.js +9 -9
  139. package/lib/components/NarrowHeader.js +31 -17
  140. package/lib/components/PointInfo/PointInfo.js +17 -19
  141. package/lib/components/PopupModal/PopupModal.js +16 -12
  142. package/lib/components/PopupModal/PopupModal.stories.js +19 -15
  143. package/lib/components/Sector/Sector.js +6 -8
  144. package/lib/components/Sector/Sector.test.js +20 -19
  145. package/lib/components/Sector/sectorIcons.js +2 -2
  146. package/lib/components/SevereEvent/Eta/Eta.js +52 -49
  147. package/lib/components/SevereEvent/Eta/styles.js +6 -10
  148. package/lib/components/SevereEvent/SevereEvent.js +37 -30
  149. package/lib/components/Spinner/Spinner.js +8 -8
  150. package/lib/components/Spinner/Spinner.stories.js +6 -4
  151. package/lib/components/Spinner/styles.js +14 -22
  152. package/lib/components/Tabs/Tabs.js +29 -21
  153. package/lib/components/Tabs/Tabs.stories.js +6 -4
  154. package/lib/components/Tabs/assets/index.js +5 -5
  155. package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +15 -12
  156. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +51 -40
  157. package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +31 -19
  158. package/lib/components/TimeRangeSelector/TimeRangeHelper.js +25 -20
  159. package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +13 -13
  160. package/lib/components/TimeRangeSelector/TimeRangeList.js +24 -23
  161. package/lib/components/TimeRangeSelector/TimeRangeOptions.js +25 -17
  162. package/lib/components/TimeRangeSelector/TimeRangeSelector.js +32 -31
  163. package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +6 -4
  164. package/lib/components/TimeRangeSelector/constants.js +3 -3
  165. package/lib/components/Toggle/Toggle.js +17 -12
  166. package/lib/components/TrendGraph/TrendGraph.js +39 -23
  167. package/lib/components/TrendGraphNVL/TrendGraphNVL.js +33 -27
  168. package/lib/development-environment/index.js +12 -8
  169. package/lib/development-environment/mock/browser.js +4 -2
  170. package/lib/development-environment/mock/get.js +10 -8
  171. package/lib/development-environment/mock/handlers.js +2 -2
  172. package/lib/development-environment/mock/mockBus.js +4 -4
  173. package/lib/development-environment/mock/mockObjects/area-trends-graph.js +2 -2
  174. package/lib/development-environment/mock/mockObjects/areaInformation.js +2 -2
  175. package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +2 -2
  176. package/lib/development-environment/mock/mockObjects/areaSitesData.js +2 -2
  177. package/lib/development-environment/mock/mockObjects/areasJson.js +2 -2
  178. package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +2 -2
  179. package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +2 -2
  180. package/lib/development-environment/mock/mockObjects/data-menuData.js +2 -2
  181. package/lib/development-environment/mock/mockObjects/data-search.js +2 -2
  182. package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +2 -2
  183. package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +2 -2
  184. package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +2 -2
  185. package/lib/development-environment/mock/mockObjects/eventsJson.js +2 -2
  186. package/lib/development-environment/mock/mockObjects/metascore.js +2 -2
  187. package/lib/development-environment/mock/mockObjects/permissionsJson.js +2 -2
  188. package/lib/development-environment/mock/mockObjects/pointsJson.js +2 -2
  189. package/lib/development-environment/mock/mockObjects/site-info.js +2 -2
  190. package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +2 -2
  191. package/lib/development-environment/togly/ToglyDashboard.js +22 -13
  192. package/lib/development-environment/togly/ToglyItem.js +31 -36
  193. package/lib/development-environment/togly/init.js +2 -2
  194. package/lib/development-environment/togly/macro.js +10 -14
  195. package/lib/development-environment/togly/useDoubleKeyDown.js +9 -7
  196. package/lib/development-environment/togly/useLocalStorage.js +18 -13
  197. package/lib/hooks/useApi.js +55 -19
  198. package/lib/hooks/useApiWithDashboardQuery.js +49 -30
  199. package/lib/hooks/useClickOutside.js +3 -3
  200. package/lib/hooks/useInitializeHeaders.js +5 -5
  201. package/lib/hooks/useKandoFetch.js +29 -16
  202. package/lib/hooks/useMap.js +34 -22
  203. package/lib/hooks/useNavContext.js +26 -22
  204. package/lib/hooks/useRemoveExistingLayers.js +6 -6
  205. package/lib/hooks/useUpdateEventBodyTail.js +17 -13
  206. package/lib/hooks/useUserTimeZone.js +30 -33
  207. package/lib/hooks/useUserTimeZone.test.js +22 -19
  208. package/lib/hooks/useWindowSize.js +14 -7
  209. package/lib/index.js +12 -11
  210. package/lib/macros/getVersion.js +3 -3
  211. package/lib/pages/AreaPage/AreaPage.js +67 -34
  212. package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +17 -16
  213. package/lib/pages/AreaPage/Dashboard/Dashboard.js +29 -28
  214. package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +25 -17
  215. package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +4 -4
  216. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +8 -8
  217. package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +11 -11
  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 +46 -40
  222. package/lib/pages/CannyWidget/Feedback.js +13 -13
  223. package/lib/pages/CovidPage/CovidPage.js +13 -8
  224. package/lib/pages/CovidPage/components/Body.js +27 -25
  225. package/lib/pages/CovidPage/components/Map.js +39 -29
  226. package/lib/pages/CovidPage/components/Sidebar.js +15 -16
  227. package/lib/pages/CovidPage/components/Summary.js +27 -20
  228. package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +33 -27
  229. package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +73 -51
  230. package/lib/pages/CovidPage/components/areas/Area.js +40 -29
  231. package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +46 -55
  232. package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +35 -32
  233. package/lib/pages/CovidPage/components/areas/AreasList.js +46 -34
  234. package/lib/pages/CovidPage/components/areas/Sort.js +14 -11
  235. package/lib/pages/CovidPage/components/nvlStatusHelper.js +11 -11
  236. package/lib/pages/DashboardMap/AreaCard.js +28 -28
  237. package/lib/pages/DashboardMap/AssessmentIcon.js +7 -8
  238. package/lib/pages/DashboardMap/Capacity.js +80 -31
  239. package/lib/pages/DashboardMap/FactoryCard.js +26 -31
  240. package/lib/pages/DashboardMap/HighchartsOptions.js +4 -5
  241. package/lib/pages/DashboardMap/List.js +102 -72
  242. package/lib/pages/DashboardMap/ListContext.js +19 -15
  243. package/lib/pages/DashboardMap/Loader.js +2 -2
  244. package/lib/pages/DashboardMap/SeverityBadge.js +18 -10
  245. package/lib/pages/DashboardMap/WWTPMap.js +60 -50
  246. package/lib/pages/DashboardMap/WaterDischarge.js +8 -8
  247. package/lib/pages/DashboardMap/Widget.js +71 -54
  248. package/lib/pages/DashboardMap/utils.js +66 -51
  249. package/lib/pages/EventsPage/Body/Body.js +15 -20
  250. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +19 -17
  251. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +35 -27
  252. package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +6 -8
  253. package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +7 -11
  254. package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +30 -21
  255. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +64 -53
  256. package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +31 -19
  257. package/lib/pages/EventsPage/EventsPage.js +10 -7
  258. package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +38 -26
  259. package/lib/pages/EventsPage/events/MoreInfo.js +16 -17
  260. package/lib/pages/EventsPage/events/Sidebar.js +16 -21
  261. package/lib/pages/EventsPage/events/event_info/Contaminants/Contaminants.js +7 -7
  262. package/lib/pages/EventsPage/events/event_info/Contaminants/ContaminantsList.js +20 -17
  263. package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +35 -30
  264. package/lib/pages/EventsPage/events/event_info/EventDetails.js +37 -40
  265. package/lib/pages/EventsPage/events/event_info/EventInfo.js +42 -43
  266. package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +4 -4
  267. package/lib/pages/EventsPage/events/event_info/EventSection.js +19 -17
  268. package/lib/pages/EventsPage/events/event_info/EventSection.test.js +38 -43
  269. package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +47 -39
  270. package/lib/pages/EventsPage/events/event_info/Header/Header.js +4 -6
  271. package/lib/pages/EventsPage/events/event_info/Header/HeaderContainer.js +33 -30
  272. package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +6 -6
  273. package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +36 -29
  274. package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +6 -4
  275. package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +21 -22
  276. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResult.js +19 -12
  277. package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResultButton.js +3 -5
  278. package/lib/pages/EventsPage/events/event_info/SamplingList/SamplingDetails.js +9 -11
  279. package/lib/pages/EventsPage/events/event_info/SamplingList/Samplings.js +26 -22
  280. package/lib/pages/EventsPage/events/event_info/SeverityScore/ScoreExplanation.js +8 -12
  281. package/lib/pages/EventsPage/events/event_info/SeverityScore/SeverityScore.js +7 -7
  282. package/lib/pages/EventsPage/events/event_info/SourceDetails/Confidence.js +4 -6
  283. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.js +2 -2
  284. package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.test.js +10 -12
  285. package/lib/pages/EventsPage/events/event_info/SourceDetails/IconAndTitles.js +8 -10
  286. package/lib/pages/EventsPage/events/event_info/SourceDetails/MoreInfoButton.js +12 -10
  287. package/lib/pages/EventsPage/events/event_info/SourceDetails/OtherSources.js +3 -5
  288. package/lib/pages/EventsPage/events/event_info/SourceDetails/PotentialSources.js +5 -7
  289. package/lib/pages/EventsPage/events/event_info/SourceDetails/SingleSource.js +5 -7
  290. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceCardBody.js +4 -6
  291. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.js +9 -11
  292. package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.test.js +15 -15
  293. package/lib/pages/EventsPage/events/event_info/SourceDetails/WaterDischarge.js +6 -6
  294. package/lib/pages/EventsPage/events/event_info/Timelines/DischargeBox.js +5 -7
  295. package/lib/pages/EventsPage/events/event_info/Timelines/EarlyWarning.js +15 -17
  296. package/lib/pages/EventsPage/events/event_info/Timelines/LiveStatusBadge.js +4 -4
  297. package/lib/pages/EventsPage/events/event_info/Timelines/SeenBox.js +8 -10
  298. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.js +11 -16
  299. package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.test.js +8 -9
  300. package/lib/pages/EventsPage/events/event_info/Timelines/Titles.js +2 -2
  301. package/lib/pages/EventsPage/events/event_info/Timelines/style.js +3 -3
  302. package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +38 -25
  303. package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +36 -29
  304. package/lib/pages/EventsPage/events/event_info/samplingsOld/Sampling.js +9 -11
  305. package/lib/pages/EventsPage/events/event_info/samplingsOld/Samplings.js +17 -15
  306. package/lib/pages/EventsPage/events/event_info/sources/Source.js +30 -27
  307. package/lib/pages/EventsPage/events/event_info/sources/Sources.js +26 -23
  308. package/lib/pages/EventsPage/events/event_info/styles.js +12 -20
  309. package/lib/pages/EventsPage/events/events_list/EventItem.js +19 -18
  310. package/lib/pages/EventsPage/events/events_list/EventUtils.js +10 -10
  311. package/lib/pages/EventsPage/events/events_list/EventsList.js +145 -124
  312. package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +55 -40
  313. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +115 -79
  314. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +77 -60
  315. package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +41 -38
  316. package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +36 -29
  317. package/lib/pages/EventsPage/events/events_list/Sort.js +16 -13
  318. package/lib/pages/ImportFileWizard/FileUploadRespones.js +20 -13
  319. package/lib/pages/ImportFileWizard/ImportButtomButtons.js +4 -6
  320. package/lib/pages/ImportFileWizard/ImportFile.js +22 -20
  321. package/lib/pages/ImportFileWizard/ResponseBody.js +33 -24
  322. package/lib/pages/ImportFileWizard/ValidationForm.js +22 -23
  323. package/lib/pages/ImportFileWizard/ValidationResponse.js +21 -21
  324. package/lib/pages/ImportFileWizard/importFileUtils.js +1 -1
  325. package/lib/pages/ImportGisPage/ImportGisContainer.js +24 -21
  326. package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +23 -21
  327. package/lib/pages/ImportGisPage/importGisUtils.js +21 -13
  328. package/lib/pages/ImportGisProcess/index.js +15 -12
  329. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +12 -7
  330. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +19 -17
  331. package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +3 -3
  332. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +65 -56
  333. package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +8 -6
  334. package/lib/pages/NotificationsPage/Notification/Notification.js +12 -16
  335. package/lib/pages/NotificationsPage/Notifications.mock.js +2 -2
  336. package/lib/pages/NotificationsPage/Notifications.stories.js +6 -4
  337. package/lib/pages/NotificationsPage/NotificationsPage.js +36 -18
  338. package/lib/pages/NotificationsPage/assets/index.js +9 -9
  339. package/lib/pages/NotificationsPageV2/NotificationsPage.js +93 -70
  340. package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +63 -94
  341. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +141 -130
  342. package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +73 -73
  343. package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +88 -91
  344. package/lib/pages/NotificationsPageV2/notificationUtils.js +48 -54
  345. package/lib/pages/OldSitePage/OldSitePage.js +132 -57
  346. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +5 -5
  347. package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +5 -3
  348. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +6 -8
  349. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +20 -18
  350. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +7 -9
  351. package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +18 -12
  352. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +12 -16
  353. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +5 -3
  354. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +12 -18
  355. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +63 -51
  356. package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +7 -9
  357. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +53 -29
  358. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +4 -4
  359. package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +12 -10
  360. package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +10 -11
  361. package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +11 -10
  362. package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +28 -32
  363. package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +29 -27
  364. package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +4 -4
  365. package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +12 -18
  366. package/lib/pages/ProfilePage/Container.js +2 -2
  367. package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +44 -28
  368. package/lib/pages/ProfilePage/ProfilePage.js +206 -118
  369. package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +33 -25
  370. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +16 -19
  371. package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +30 -28
  372. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +117 -57
  373. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +20 -17
  374. package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +10 -12
  375. package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +41 -39
  376. package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +26 -25
  377. package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +16 -16
  378. package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +15 -13
  379. package/lib/pages/SamplingsPage/NavigationDropdown.js +32 -45
  380. package/lib/pages/SamplingsPage/NewSamplingAction.js +100 -76
  381. package/lib/pages/SamplingsPage/SamplingMobileModal.js +101 -129
  382. package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +22 -21
  383. package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +22 -34
  384. package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +59 -36
  385. package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +18 -15
  386. package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +7 -9
  387. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +194 -110
  388. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +55 -49
  389. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +43 -47
  390. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +45 -49
  391. package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +20 -19
  392. package/lib/pages/SamplingsPage/SamplingProperties/styles.js +3 -3
  393. package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +6 -10
  394. package/lib/pages/SamplingsPage/SamplingsMobileItem.js +54 -58
  395. package/lib/pages/SamplingsPage/SamplingsMobileList.js +28 -21
  396. package/lib/pages/SamplingsPage/SamplingsPage.js +33 -27
  397. package/lib/pages/SamplingsPage/SamplingsPageContainer.js +58 -50
  398. package/lib/pages/SamplingsPage/samplingsPageUtils.js +76 -68
  399. package/lib/pages/SitePage/DischargePattern/DischargePattern.js +4 -6
  400. package/lib/pages/SitePage/PollutionContributor/PollutionContributor.js +13 -14
  401. package/lib/pages/SitePage/PollutionContributor/PollutionContributorContainer.js +13 -10
  402. package/lib/pages/SitePage/PollutionContributor/contributorUtils.js +16 -16
  403. package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +5 -3
  404. package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +10 -14
  405. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +8 -9
  406. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +23 -26
  407. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +17 -14
  408. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +32 -36
  409. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +7 -9
  410. package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +24 -15
  411. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +12 -16
  412. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +5 -3
  413. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +12 -18
  414. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +70 -58
  415. package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +7 -9
  416. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +26 -15
  417. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +5 -5
  418. package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +12 -10
  419. package/lib/pages/SitePage/SamplingParameters/body/Body.js +9 -9
  420. package/lib/pages/SitePage/SamplingParameters/body/BodyContainer.js +37 -29
  421. package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +11 -11
  422. package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +11 -10
  423. package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +59 -60
  424. package/lib/pages/SitePage/SamplingParameters/dataParser.js +39 -30
  425. package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +9 -11
  426. package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +4 -4
  427. package/lib/pages/SitePage/SamplingParameters/styles/styles.js +12 -18
  428. package/lib/pages/SitePage/SiteInformation/EmptyState.js +7 -11
  429. package/lib/pages/SitePage/SiteInformation/SiteInformation.js +31 -31
  430. package/lib/pages/SitePage/SitePage.js +79 -40
  431. package/lib/pages/UploadLabResult/index.js +13 -13
  432. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +35 -26
  433. package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +8 -6
  434. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +8 -9
  435. package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +5 -3
  436. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +48 -47
  437. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +6 -10
  438. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +4 -4
  439. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +6 -4
  440. package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +12 -13
  441. package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +12 -15
  442. package/lib/pages/UtilityDashboardPage/TopBar/constants.js +7 -7
  443. package/lib/pages/UtilityDashboardPage/TopBar/styles.js +2 -2
  444. package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +26 -18
  445. package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +30 -26
  446. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +17 -16
  447. package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +13 -7
  448. package/lib/pages/UtilityDashboardPage/VirtualAreaDashboardPage.js +31 -27
  449. package/lib/pages/WbeDashboard/ExpandableComponent.js +8 -9
  450. package/lib/pages/WbeDashboard/GraphWrapper.js +36 -30
  451. package/lib/pages/WbeDashboard/IndividualTinyGraph.js +19 -17
  452. package/lib/pages/WbeDashboard/SearchInput.js +20 -15
  453. package/lib/pages/WbeDashboard/SummaryGraph.js +76 -50
  454. package/lib/pages/WbeDashboard/SummaryGraphModal.js +17 -19
  455. package/lib/pages/WbeDashboard/Tabs.js +11 -11
  456. package/lib/pages/WbeDashboard/WbeDashboardPage.js +213 -151
  457. package/lib/pages/WbeDashboard/WbeSummaryBar.js +48 -40
  458. package/lib/pages/WwtpPage/DashboardCard.js +23 -26
  459. package/lib/pages/WwtpPage/DischargePatternCard.js +23 -14
  460. package/lib/pages/WwtpPage/InletsCard/InletsBar.js +22 -26
  461. package/lib/pages/WwtpPage/InletsCard/InletsCard.js +18 -19
  462. package/lib/pages/WwtpPage/Map.js +3 -5
  463. package/lib/pages/WwtpPage/OrganicCard.js +2 -2
  464. package/lib/pages/WwtpPage/PotentialSaving/ImpactCard.js +2 -2
  465. package/lib/pages/WwtpPage/PotentialSaving/PotentialItem.js +6 -8
  466. package/lib/pages/WwtpPage/PotentialSaving/PotentialSaving.js +8 -9
  467. package/lib/pages/WwtpPage/PotentialSaving/PotentialSavingContainer.js +14 -18
  468. package/lib/pages/WwtpPage/PredictionCard.js +2 -2
  469. package/lib/pages/WwtpPage/TrendCard.js +19 -18
  470. package/lib/pages/WwtpPage/UpgradeBox.js +3 -3
  471. package/lib/pages/WwtpPage/WwtpPage.js +8 -8
  472. package/lib/pages/WwtpPage/WwtpPageContainer.js +16 -21
  473. package/lib/providers/Slideshow/SlideshowContext.js +9 -11
  474. package/lib/providers/Slideshow/SlideshowProvider.js +38 -22
  475. package/lib/providers/Slideshow/SlideshowRunner.js +19 -17
  476. package/lib/providers/UrlHistory/UrlHistoryContext.js +4 -6
  477. package/lib/providers/UrlHistory/UrlHistoryProvider.js +11 -12
  478. package/lib/providers/UrlHistory/index.js +2 -2
  479. package/lib/providers/UrlHistory/useLastVisited.js +5 -5
  480. package/lib/store/ImportGis/actionTypes.js +1 -1
  481. package/lib/store/ImportGis/actionsCreator.js +5 -7
  482. package/lib/store/ImportGis/reducer.js +29 -40
  483. package/lib/store/WBE/actionTypes.js +2 -2
  484. package/lib/store/WBE/reducer.js +9 -13
  485. package/lib/store/WWTPDashboard/WWTPDashboardSlice.js +14 -24
  486. package/lib/store/areas/actionTypes.js +4 -4
  487. package/lib/store/areas/actions.js +13 -7
  488. package/lib/store/areas/reducer.js +6 -8
  489. package/lib/store/context/actionTypes.js +3 -3
  490. package/lib/store/context/actions.js +3 -3
  491. package/lib/store/context/contextMiddlewares.js +16 -14
  492. package/lib/store/context/reducer.js +9 -13
  493. package/lib/store/dashboard/dashboardSlice.js +10 -18
  494. package/lib/store/edges/actionTypes.js +5 -5
  495. package/lib/store/edges/actions.js +8 -4
  496. package/lib/store/edges/reducer.js +17 -13
  497. package/lib/store/events/actionTypes.js +17 -17
  498. package/lib/store/events/actions.js +7 -3
  499. package/lib/store/events/reducer.js +49 -42
  500. package/lib/store/global/actionTypes.js +11 -11
  501. package/lib/store/global/actions.js +6 -8
  502. package/lib/store/global/reducer.js +10 -11
  503. package/lib/store/permissions/permissionsSlice.js +8 -12
  504. package/lib/store/points/actionTypes.js +3 -3
  505. package/lib/store/points/actions.js +8 -4
  506. package/lib/store/points/reducer.js +5 -7
  507. package/lib/store/rootActionTypes.js +2 -2
  508. package/lib/store/rootReducer.js +12 -17
  509. package/lib/store/rootStore.js +5 -5
  510. package/lib/store/samplings/actionTypes.js +1 -1
  511. package/lib/store/samplings/reducer.js +14 -16
  512. package/lib/styles/StylesLayout.js +3 -5
  513. package/lib/styles/theme/theme.js +27 -26
  514. package/lib/test/mocks/browser.js +4 -2
  515. package/lib/test/test-utils.js +15 -17
  516. package/lib/ui-kit/Button/Button.js +80 -128
  517. package/lib/ui-kit/Button/Button.test.js +29 -24
  518. package/lib/ui-kit/Checkbox/Checkbox.js +20 -30
  519. package/lib/ui-kit/ContentCard/ContentCard.js +18 -15
  520. package/lib/ui-kit/Dashboard/Dashboard.js +22 -25
  521. package/lib/ui-kit/DropDown/DropDown.js +24 -23
  522. package/lib/ui-kit/DropDown/DropDown.test.js +12 -12
  523. package/lib/ui-kit/DropDown/DropDownItem.js +21 -24
  524. package/lib/ui-kit/DropDown/DropdownToggle.js +8 -12
  525. package/lib/ui-kit/EmptyState/EmptyState.js +4 -6
  526. package/lib/ui-kit/IconAction/IconAction.js +5 -7
  527. package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +64 -48
  528. package/lib/ui-kit/InfoTooltip/InfoTooltip.js +52 -69
  529. package/lib/ui-kit/InletsPie/InletsPie.js +13 -15
  530. package/lib/ui-kit/InletsPie/options.js +6 -6
  531. package/lib/ui-kit/KandoList/KandoList.js +12 -14
  532. package/lib/ui-kit/KandoTable/KandoTable.js +40 -48
  533. package/lib/ui-kit/KandoTable/KandoTable.test.js +22 -16
  534. package/lib/ui-kit/Layout/Layout.js +4 -6
  535. package/lib/ui-kit/MobileInput/MobileInput.js +50 -60
  536. package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +16 -13
  537. package/lib/ui-kit/OrganicEvents/GaugeChart.js +6 -8
  538. package/lib/ui-kit/OrganicEvents/OrganicEvents.js +6 -6
  539. package/lib/ui-kit/OrganicEvents/OrganicEventsContainer.js +20 -27
  540. package/lib/ui-kit/OrganicEvents/TextInfo.js +10 -15
  541. package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +8 -10
  542. package/lib/ui-kit/SamplingStatus/SamplingStatus.js +17 -14
  543. package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +3 -3
  544. package/lib/ui-kit/ScoreGauge/ScoreGauge.js +20 -20
  545. package/lib/ui-kit/ScoreGauge/constant.js +3 -3
  546. package/lib/ui-kit/TimeLineChart/TrendChart.js +42 -54
  547. package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +7 -8
  548. package/lib/ui-kit/Tooltip/Tooltip.js +8 -14
  549. package/lib/ui-kit/index.js +8 -8
  550. package/lib/ui-kit/kandoStepper/KandoStepper.js +12 -12
  551. package/lib/ui-kit/siteName/SiteName.js +8 -11
  552. package/lib/utilities/ActionUtility.js +7 -7
  553. package/lib/utilities/Alert.js +17 -21
  554. package/lib/utilities/Analytics.js +11 -11
  555. package/lib/utilities/Array.js +5 -4
  556. package/lib/utilities/Enum.js +51 -15
  557. package/lib/utilities/ErrorBoundary.js +41 -27
  558. package/lib/utilities/File.js +69 -40
  559. package/lib/utilities/GetDir.js +7 -8
  560. package/lib/utilities/KandoDate.js +15 -7
  561. package/lib/utilities/KandoModal.js +26 -16
  562. package/lib/utilities/LocalStorage.js +10 -8
  563. package/lib/utilities/ThousandsToK.js +3 -3
  564. package/lib/utilities/TimeFormat.js +20 -21
  565. package/lib/utilities/Truncate.js +25 -17
  566. package/lib/utilities/edgesMath.js +15 -14
  567. package/lib/utilities/i18n.js +3 -3
  568. package/lib/utilities/kql.js +14 -12
  569. package/lib/utilities/map/icons.js +3 -3
  570. package/lib/utilities/polylinedecorator.js +112 -87
  571. package/lib/utilities/scoreToData.js +17 -17
  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 +59 -61
  576. package/package.json +1 -1
@@ -1,26 +1,37 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.NotificationsPage = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
8
10
  var _styledComponents = _interopRequireDefault(require("styled-components"));
9
11
  var _react = _interopRequireWildcard(require("react"));
10
12
  var _PrimaryButton = require("components/CustomInputs/PrimaryButton/PrimaryButton");
11
13
  var _Notification = require("./Notification/Notification");
12
- var _useApi = require("hooks/useApi");
14
+ var _useApi3 = require("hooks/useApi");
13
15
  var _EditNotificationModal = require("./EditNotificationModal/EditNotificationModal");
14
16
  var _i18n = _interopRequireDefault(require("utilities/i18n"));
15
17
  var _Analytics = require("../../utilities/Analytics");
16
18
  var _reactRedux = require("react-redux");
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 NotificationsPage = () => {
20
- const [response, isLoading, Error] = (0, _useApi.useApi)('/notifications');
21
- const [notificationsArray, setNotificationsArray] = (0, _react.useState)([]);
22
- const waterAuthorityName = (0, _reactRedux.useSelector)(state => state.global_data.waterAuthorityName);
23
- (0, _react.useEffect)(() => {
19
+ 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); }
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; }
21
+ var NotificationsPage = function NotificationsPage() {
22
+ var _useApi = (0, _useApi3.useApi)('/notifications'),
23
+ _useApi2 = (0, _slicedToArray2.default)(_useApi, 3),
24
+ response = _useApi2[0],
25
+ isLoading = _useApi2[1],
26
+ Error = _useApi2[2];
27
+ var _useState = (0, _react.useState)([]),
28
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
29
+ notificationsArray = _useState2[0],
30
+ setNotificationsArray = _useState2[1];
31
+ var waterAuthorityName = (0, _reactRedux.useSelector)(function (state) {
32
+ return state.global_data.waterAuthorityName;
33
+ });
34
+ (0, _react.useEffect)(function () {
24
35
  (0, _Analytics.analyticsTrack)('Viewed Notification Page', {
25
36
  utility_name: waterAuthorityName
26
37
  });
@@ -28,11 +39,14 @@ const NotificationsPage = () => {
28
39
  setNotificationsArray(response.data);
29
40
  }
30
41
  }, [response, isLoading]);
31
- const [notificationToEdit, setNotificationToEdit] = (0, _react.useState)(undefined);
32
- const closeModal = () => {
42
+ var _useState3 = (0, _react.useState)(undefined),
43
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
44
+ notificationToEdit = _useState4[0],
45
+ setNotificationToEdit = _useState4[1];
46
+ var closeModal = function closeModal() {
33
47
  setNotificationToEdit(undefined);
34
48
  };
35
- const updateNotification = () => {
49
+ var updateNotification = function updateNotification() {
36
50
  closeModal();
37
51
  };
38
52
  return /*#__PURE__*/_react.default.createElement(Container, null, /*#__PURE__*/_react.default.createElement("div", {
@@ -48,11 +62,15 @@ const NotificationsPage = () => {
48
62
  fontSize: "18px"
49
63
  }, _i18n.default.t('notifications_page.add_new')), /*#__PURE__*/_react.default.createElement("div", {
50
64
  className: "notifications-table"
51
- }, notificationsArray.map((notification, index) => /*#__PURE__*/_react.default.createElement(_Notification.Notification, {
52
- onClick: () => setNotificationToEdit(notification),
53
- notification: notification,
54
- key: index
55
- })))), /*#__PURE__*/_react.default.createElement(_EditNotificationModal.EditNotificationModal, {
65
+ }, notificationsArray.map(function (notification, index) {
66
+ return /*#__PURE__*/_react.default.createElement(_Notification.Notification, {
67
+ onClick: function onClick() {
68
+ return setNotificationToEdit(notification);
69
+ },
70
+ notification: notification,
71
+ key: index
72
+ });
73
+ }))), /*#__PURE__*/_react.default.createElement(_EditNotificationModal.EditNotificationModal, {
56
74
  closeModal: closeModal,
57
75
  notification: notificationToEdit,
58
76
  save: updateNotification,
@@ -60,8 +78,8 @@ const NotificationsPage = () => {
60
78
  }));
61
79
  };
62
80
  exports.NotificationsPage = NotificationsPage;
63
- const Container = _styledComponents.default.div.withConfig({
81
+ var Container = _styledComponents.default.div.withConfig({
64
82
  displayName: "NotificationsPage__Container",
65
83
  componentId: "sc-5istr7-0"
66
84
  })(["color:#1d1d1d;padding:60px 33px;> .top{> .title{font-size:36px;font-weight:700;line-height:0.61;}> .subtitle{padding-top:19px;font-family:Gilroy;font-size:18px;line-height:1.22;}}> .bottom{margin-top:-20px;> .add-btn{margin-left:auto;display:block;}> .notifications-table{padding-top:34px;}}@media (max-width:1200px){> .bottom{margin-top:20px;}}"]);
67
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfUHJpbWFyeUJ1dHRvbiIsIl9Ob3RpZmljYXRpb24iLCJfdXNlQXBpIiwiX0VkaXROb3RpZmljYXRpb25Nb2RhbCIsIl9pMThuIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9BbmFseXRpY3MiLCJfcmVhY3RSZWR1eCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJOb3RpZmljYXRpb25zUGFnZSIsInJlc3BvbnNlIiwiaXNMb2FkaW5nIiwiRXJyb3IiLCJ1c2VBcGkiLCJub3RpZmljYXRpb25zQXJyYXkiLCJzZXROb3RpZmljYXRpb25zQXJyYXkiLCJ1c2VTdGF0ZSIsIndhdGVyQXV0aG9yaXR5TmFtZSIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJnbG9iYWxfZGF0YSIsInVzZUVmZmVjdCIsImFuYWx5dGljc1RyYWNrIiwidXRpbGl0eV9uYW1lIiwiZGF0YSIsIm5vdGlmaWNhdGlvblRvRWRpdCIsInNldE5vdGlmaWNhdGlvblRvRWRpdCIsInVuZGVmaW5lZCIsImNsb3NlTW9kYWwiLCJ1cGRhdGVOb3RpZmljYXRpb24iLCJjcmVhdGVFbGVtZW50IiwiQ29udGFpbmVyIiwiY2xhc3NOYW1lIiwiaTE4biIsInQiLCJQcmltYXJ5QnV0dG9uIiwiZm9udFNpemUiLCJtYXAiLCJub3RpZmljYXRpb24iLCJpbmRleCIsIk5vdGlmaWNhdGlvbiIsIm9uQ2xpY2siLCJFZGl0Tm90aWZpY2F0aW9uTW9kYWwiLCJzYXZlIiwic2hvdyIsImV4cG9ydHMiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZS9Ob3RpZmljYXRpb25zUGFnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBQcmltYXJ5QnV0dG9uIH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvQ3VzdG9tSW5wdXRzL1ByaW1hcnlCdXR0b24vUHJpbWFyeUJ1dHRvbic7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbiB9IGZyb20gJy4vTm90aWZpY2F0aW9uL05vdGlmaWNhdGlvbic7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25Nb2RlbCB9IGZyb20gJy4vTm90aWZpY2F0aW9ucy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgdXNlQXBpIH0gZnJvbSAnc3JjL2hvb2tzL3VzZUFwaSc7XG5pbXBvcnQgeyBFZGl0Tm90aWZpY2F0aW9uTW9kYWwgfSBmcm9tICcuL0VkaXROb3RpZmljYXRpb25Nb2RhbC9FZGl0Tm90aWZpY2F0aW9uTW9kYWwnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IGFuYWx5dGljc1RyYWNrIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0FuYWx5dGljcyc7XG5pbXBvcnQgeyB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcblxuZXhwb3J0IGNvbnN0IE5vdGlmaWNhdGlvbnNQYWdlID0gKCkgPT4ge1xuICBjb25zdCBbcmVzcG9uc2UsIGlzTG9hZGluZywgRXJyb3JdID1cbiAgICB1c2VBcGk8Tm90aWZpY2F0aW9uTW9kZWxbXT4oJy9ub3RpZmljYXRpb25zJyk7XG4gIGNvbnN0IFtub3RpZmljYXRpb25zQXJyYXksIHNldE5vdGlmaWNhdGlvbnNBcnJheV0gPSB1c2VTdGF0ZTxcbiAgICBOb3RpZmljYXRpb25Nb2RlbFtdXG4gID4oW10pO1xuICBjb25zdCB3YXRlckF1dGhvcml0eU5hbWUgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGUpID0+IHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZSxcbiAgKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBhbmFseXRpY3NUcmFjaygnVmlld2VkIE5vdGlmaWNhdGlvbiBQYWdlJywge1xuICAgICAgdXRpbGl0eV9uYW1lOiB3YXRlckF1dGhvcml0eU5hbWUsXG4gICAgfSk7XG4gICAgaWYgKCFpc0xvYWRpbmcgJiYgIUVycm9yICYmIHJlc3BvbnNlPy5kYXRhKSB7XG4gICAgICBzZXROb3RpZmljYXRpb25zQXJyYXkocmVzcG9uc2UuZGF0YSk7XG4gICAgfVxuICB9LCBbcmVzcG9uc2UsIGlzTG9hZGluZ10pO1xuXG4gIGNvbnN0IFtub3RpZmljYXRpb25Ub0VkaXQsIHNldE5vdGlmaWNhdGlvblRvRWRpdF0gPSB1c2VTdGF0ZTxcbiAgICBOb3RpZmljYXRpb25Nb2RlbCB8IHVuZGVmaW5lZFxuICA+KHVuZGVmaW5lZCk7XG5cbiAgY29uc3QgY2xvc2VNb2RhbCA9ICgpID0+IHtcbiAgICBzZXROb3RpZmljYXRpb25Ub0VkaXQodW5kZWZpbmVkKTtcbiAgfTtcblxuICBjb25zdCB1cGRhdGVOb3RpZmljYXRpb24gPSAoKSA9PiB7XG4gICAgY2xvc2VNb2RhbCgpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPENvbnRhaW5lcj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwidG9wXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGl0bGVcIj57aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UudGl0bGUnKX08L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzdWJ0aXRsZVwiPntpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5zdWJ0aXRsZScpfTwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImJvdHRvbVwiPlxuICAgICAgICA8UHJpbWFyeUJ1dHRvbiBjbGFzc05hbWU9XCJhZGQtYnRuXCIgZm9udFNpemU9XCIxOHB4XCI+XG4gICAgICAgICAge2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmFkZF9uZXcnKX1cbiAgICAgICAgPC9QcmltYXJ5QnV0dG9uPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm5vdGlmaWNhdGlvbnMtdGFibGVcIj5cbiAgICAgICAgICB7bm90aWZpY2F0aW9uc0FycmF5Lm1hcCgobm90aWZpY2F0aW9uLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgPE5vdGlmaWNhdGlvblxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXROb3RpZmljYXRpb25Ub0VkaXQobm90aWZpY2F0aW9uKX1cbiAgICAgICAgICAgICAgbm90aWZpY2F0aW9uPXtub3RpZmljYXRpb259XG4gICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8RWRpdE5vdGlmaWNhdGlvbk1vZGFsXG4gICAgICAgIGNsb3NlTW9kYWw9e2Nsb3NlTW9kYWx9XG4gICAgICAgIG5vdGlmaWNhdGlvbj17bm90aWZpY2F0aW9uVG9FZGl0fVxuICAgICAgICBzYXZlPXt1cGRhdGVOb3RpZmljYXRpb259XG4gICAgICAgIHNob3c9e25vdGlmaWNhdGlvblRvRWRpdCAhPT0gdW5kZWZpbmVkfVxuICAgICAgLz5cbiAgICA8L0NvbnRhaW5lcj5cbiAgKTtcbn07XG5cbmNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGNvbG9yOiAjMWQxZDFkO1xuICBwYWRkaW5nOiA2MHB4IDMzcHg7XG4gID4gLnRvcCB7XG4gICAgPiAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwLjYxO1xuICAgIH1cblxuICAgID4gLnN1YnRpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxOXB4O1xuICAgICAgZm9udC1mYW1pbHk6IEdpbHJveTtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjIyO1xuICAgIH1cbiAgfVxuXG4gID4gLmJvdHRvbSB7XG4gICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gICAgPiAuYWRkLWJ0biB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgID4gLm5vdGlmaWNhdGlvbnMtdGFibGUge1xuICAgICAgcGFkZGluZy10b3A6IDM0cHg7XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgID4gLmJvdHRvbSB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cbiAgfVxuYDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxjQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxhQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFBRyxPQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxzQkFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssS0FBQSxHQUFBQyxzQkFBQSxDQUFBTixPQUFBO0FBQ0EsSUFBQU8sVUFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsV0FBQSxHQUFBUixPQUFBO0FBQTBDLFNBQUFTLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSxDQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFYLHdCQUFBZSxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsb0JBQUFBLEdBQUEsd0JBQUFBLEdBQUEsNEJBQUFFLE9BQUEsRUFBQUYsR0FBQSxVQUFBRyxLQUFBLEdBQUFSLHdCQUFBLENBQUFDLFdBQUEsT0FBQU8sS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQUosR0FBQSxZQUFBRyxLQUFBLENBQUFFLEdBQUEsQ0FBQUwsR0FBQSxTQUFBTSxNQUFBLFdBQUFDLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLEdBQUEsSUFBQVgsR0FBQSxRQUFBVyxHQUFBLGtCQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFkLEdBQUEsRUFBQVcsR0FBQSxTQUFBSSxJQUFBLEdBQUFSLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQVYsR0FBQSxFQUFBVyxHQUFBLGNBQUFJLElBQUEsS0FBQUEsSUFBQSxDQUFBVixHQUFBLElBQUFVLElBQUEsQ0FBQUMsR0FBQSxLQUFBUixNQUFBLENBQUFDLGNBQUEsQ0FBQUgsTUFBQSxFQUFBSyxHQUFBLEVBQUFJLElBQUEsWUFBQVQsTUFBQSxDQUFBSyxHQUFBLElBQUFYLEdBQUEsQ0FBQVcsR0FBQSxTQUFBTCxNQUFBLENBQUFKLE9BQUEsR0FBQUYsR0FBQSxNQUFBRyxLQUFBLElBQUFBLEtBQUEsQ0FBQWEsR0FBQSxDQUFBaEIsR0FBQSxFQUFBTSxNQUFBLFlBQUFBLE1BQUE7QUFFbkMsTUFBTVcsaUJBQWlCLEdBQUdBLENBQUEsS0FBTTtFQUNyQyxNQUFNLENBQUNDLFFBQVEsRUFBRUMsU0FBUyxFQUFFQyxLQUFLLENBQUMsR0FDaEMsSUFBQUMsY0FBTSxFQUFzQixnQkFBZ0IsQ0FBQztFQUMvQyxNQUFNLENBQUNDLGtCQUFrQixFQUFFQyxxQkFBcUIsQ0FBQyxHQUFHLElBQUFDLGVBQVEsRUFFMUQsRUFBRSxDQUFDO0VBQ0wsTUFBTUMsa0JBQWtCLEdBQUcsSUFBQUMsdUJBQVcsRUFDbkNDLEtBQUssSUFBS0EsS0FBSyxDQUFDQyxXQUFXLENBQUNILGtCQUMvQixDQUFDO0VBQ0QsSUFBQUksZ0JBQVMsRUFBQyxNQUFNO0lBQ2QsSUFBQUMseUJBQWMsRUFBQywwQkFBMEIsRUFBRTtNQUN6Q0MsWUFBWSxFQUFFTjtJQUNoQixDQUFDLENBQUM7SUFDRixJQUFJLENBQUNOLFNBQVMsSUFBSSxDQUFDQyxLQUFLLEtBQUlGLFFBQVEsYUFBUkEsUUFBUSx1QkFBUkEsUUFBUSxDQUFFYyxJQUFJLEdBQUU7TUFDMUNULHFCQUFxQixDQUFDTCxRQUFRLENBQUNjLElBQUksQ0FBQztJQUN0QztFQUNGLENBQUMsRUFBRSxDQUFDZCxRQUFRLEVBQUVDLFNBQVMsQ0FBQyxDQUFDO0VBRXpCLE1BQU0sQ0FBQ2Msa0JBQWtCLEVBQUVDLHFCQUFxQixDQUFDLEdBQUcsSUFBQVYsZUFBUSxFQUUxRFcsU0FBUyxDQUFDO0VBRVosTUFBTUMsVUFBVSxHQUFHQSxDQUFBLEtBQU07SUFDdkJGLHFCQUFxQixDQUFDQyxTQUFTLENBQUM7RUFDbEMsQ0FBQztFQUVELE1BQU1FLGtCQUFrQixHQUFHQSxDQUFBLEtBQU07SUFDL0JELFVBQVUsQ0FBQyxDQUFDO0VBQ2QsQ0FBQztFQUVELG9CQUNFcEQsTUFBQSxDQUFBa0IsT0FBQSxDQUFBb0MsYUFBQSxDQUFDQyxTQUFTLHFCQUNSdkQsTUFBQSxDQUFBa0IsT0FBQSxDQUFBb0MsYUFBQTtJQUFLRSxTQUFTLEVBQUM7RUFBSyxnQkFDbEJ4RCxNQUFBLENBQUFrQixPQUFBLENBQUFvQyxhQUFBO0lBQUtFLFNBQVMsRUFBQztFQUFPLEdBQUVDLGFBQUksQ0FBQ0MsQ0FBQyxDQUFDLDBCQUEwQixDQUFPLENBQUMsZUFDakUxRCxNQUFBLENBQUFrQixPQUFBLENBQUFvQyxhQUFBO0lBQUtFLFNBQVMsRUFBQztFQUFVLEdBQUVDLGFBQUksQ0FBQ0MsQ0FBQyxDQUFDLDZCQUE2QixDQUFPLENBQ25FLENBQUMsZUFDTjFELE1BQUEsQ0FBQWtCLE9BQUEsQ0FBQW9DLGFBQUE7SUFBS0UsU0FBUyxFQUFDO0VBQVEsZ0JBQ3JCeEQsTUFBQSxDQUFBa0IsT0FBQSxDQUFBb0MsYUFBQSxDQUFDbkQsY0FBQSxDQUFBd0QsYUFBYTtJQUFDSCxTQUFTLEVBQUMsU0FBUztJQUFDSSxRQUFRLEVBQUM7RUFBTSxHQUMvQ0gsYUFBSSxDQUFDQyxDQUFDLENBQUMsNEJBQTRCLENBQ3ZCLENBQUMsZUFDaEIxRCxNQUFBLENBQUFrQixPQUFBLENBQUFvQyxhQUFBO0lBQUtFLFNBQVMsRUFBQztFQUFxQixHQUNqQ2xCLGtCQUFrQixDQUFDdUIsR0FBRyxDQUFDLENBQUNDLFlBQVksRUFBRUMsS0FBSyxrQkFDMUMvRCxNQUFBLENBQUFrQixPQUFBLENBQUFvQyxhQUFBLENBQUNsRCxhQUFBLENBQUE0RCxZQUFZO0lBQ1hDLE9BQU8sRUFBRUEsQ0FBQSxLQUFNZixxQkFBcUIsQ0FBQ1ksWUFBWSxDQUFFO0lBQ25EQSxZQUFZLEVBQUVBLFlBQWE7SUFDM0JuQyxHQUFHLEVBQUVvQztFQUFNLENBQ1osQ0FDRixDQUNFLENBQ0YsQ0FBQyxlQUVOL0QsTUFBQSxDQUFBa0IsT0FBQSxDQUFBb0MsYUFBQSxDQUFDaEQsc0JBQUEsQ0FBQTRELHFCQUFxQjtJQUNwQmQsVUFBVSxFQUFFQSxVQUFXO0lBQ3ZCVSxZQUFZLEVBQUViLGtCQUFtQjtJQUNqQ2tCLElBQUksRUFBRWQsa0JBQW1CO0lBQ3pCZSxJQUFJLEVBQUVuQixrQkFBa0IsS0FBS0U7RUFBVSxDQUN4QyxDQUNRLENBQUM7QUFFaEIsQ0FBQztBQUFDa0IsT0FBQSxDQUFBcEMsaUJBQUEsR0FBQUEsaUJBQUE7QUFFRixNQUFNc0IsU0FBUyxHQUFHZSx5QkFBTSxDQUFDQyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsaVdBbUMzQiJ9
85
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfUHJpbWFyeUJ1dHRvbiIsIl9Ob3RpZmljYXRpb24iLCJfdXNlQXBpMyIsIl9FZGl0Tm90aWZpY2F0aW9uTW9kYWwiLCJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfQW5hbHl0aWNzIiwiX3JlYWN0UmVkdXgiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIk5vdGlmaWNhdGlvbnNQYWdlIiwiX3VzZUFwaSIsInVzZUFwaSIsIl91c2VBcGkyIiwiX3NsaWNlZFRvQXJyYXkyIiwicmVzcG9uc2UiLCJpc0xvYWRpbmciLCJFcnJvciIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIm5vdGlmaWNhdGlvbnNBcnJheSIsInNldE5vdGlmaWNhdGlvbnNBcnJheSIsIndhdGVyQXV0aG9yaXR5TmFtZSIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJnbG9iYWxfZGF0YSIsInVzZUVmZmVjdCIsImFuYWx5dGljc1RyYWNrIiwidXRpbGl0eV9uYW1lIiwiZGF0YSIsIl91c2VTdGF0ZTMiLCJ1bmRlZmluZWQiLCJfdXNlU3RhdGU0Iiwibm90aWZpY2F0aW9uVG9FZGl0Iiwic2V0Tm90aWZpY2F0aW9uVG9FZGl0IiwiY2xvc2VNb2RhbCIsInVwZGF0ZU5vdGlmaWNhdGlvbiIsImNyZWF0ZUVsZW1lbnQiLCJDb250YWluZXIiLCJjbGFzc05hbWUiLCJpMThuIiwidCIsIlByaW1hcnlCdXR0b24iLCJmb250U2l6ZSIsIm1hcCIsIm5vdGlmaWNhdGlvbiIsImluZGV4IiwiTm90aWZpY2F0aW9uIiwib25DbGljayIsIkVkaXROb3RpZmljYXRpb25Nb2RhbCIsInNhdmUiLCJzaG93IiwiZXhwb3J0cyIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL05vdGlmaWNhdGlvbnNQYWdlL05vdGlmaWNhdGlvbnNQYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFByaW1hcnlCdXR0b24gfSBmcm9tICdzcmMvY29tcG9uZW50cy9DdXN0b21JbnB1dHMvUHJpbWFyeUJ1dHRvbi9QcmltYXJ5QnV0dG9uJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uIH0gZnJvbSAnLi9Ob3RpZmljYXRpb24vTm90aWZpY2F0aW9uJztcbmltcG9ydCB7IE5vdGlmaWNhdGlvbk1vZGVsIH0gZnJvbSAnLi9Ob3RpZmljYXRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyB1c2VBcGkgfSBmcm9tICdzcmMvaG9va3MvdXNlQXBpJztcbmltcG9ydCB7IEVkaXROb3RpZmljYXRpb25Nb2RhbCB9IGZyb20gJy4vRWRpdE5vdGlmaWNhdGlvbk1vZGFsL0VkaXROb3RpZmljYXRpb25Nb2RhbCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgYW5hbHl0aWNzVHJhY2sgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvQW5hbHl0aWNzJztcbmltcG9ydCB7IHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuXG5leHBvcnQgY29uc3QgTm90aWZpY2F0aW9uc1BhZ2UgPSAoKSA9PiB7XG4gIGNvbnN0IFtyZXNwb25zZSwgaXNMb2FkaW5nLCBFcnJvcl0gPVxuICAgIHVzZUFwaTxOb3RpZmljYXRpb25Nb2RlbFtdPignL25vdGlmaWNhdGlvbnMnKTtcbiAgY29uc3QgW25vdGlmaWNhdGlvbnNBcnJheSwgc2V0Tm90aWZpY2F0aW9uc0FycmF5XSA9IHVzZVN0YXRlPFxuICAgIE5vdGlmaWNhdGlvbk1vZGVsW11cbiAgPihbXSk7XG4gIGNvbnN0IHdhdGVyQXV0aG9yaXR5TmFtZSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZSkgPT4gc3RhdGUuZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlOYW1lLFxuICApO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGFuYWx5dGljc1RyYWNrKCdWaWV3ZWQgTm90aWZpY2F0aW9uIFBhZ2UnLCB7XG4gICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgICBpZiAoIWlzTG9hZGluZyAmJiAhRXJyb3IgJiYgcmVzcG9uc2U/LmRhdGEpIHtcbiAgICAgIHNldE5vdGlmaWNhdGlvbnNBcnJheShyZXNwb25zZS5kYXRhKTtcbiAgICB9XG4gIH0sIFtyZXNwb25zZSwgaXNMb2FkaW5nXSk7XG5cbiAgY29uc3QgW25vdGlmaWNhdGlvblRvRWRpdCwgc2V0Tm90aWZpY2F0aW9uVG9FZGl0XSA9IHVzZVN0YXRlPFxuICAgIE5vdGlmaWNhdGlvbk1vZGVsIHwgdW5kZWZpbmVkXG4gID4odW5kZWZpbmVkKTtcblxuICBjb25zdCBjbG9zZU1vZGFsID0gKCkgPT4ge1xuICAgIHNldE5vdGlmaWNhdGlvblRvRWRpdCh1bmRlZmluZWQpO1xuICB9O1xuXG4gIGNvbnN0IHVwZGF0ZU5vdGlmaWNhdGlvbiA9ICgpID0+IHtcbiAgICBjbG9zZU1vZGFsKCk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0b3BcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0aXRsZVwiPntpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS50aXRsZScpfTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInN1YnRpdGxlXCI+e2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLnN1YnRpdGxlJyl9PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm90dG9tXCI+XG4gICAgICAgIDxQcmltYXJ5QnV0dG9uIGNsYXNzTmFtZT1cImFkZC1idG5cIiBmb250U2l6ZT1cIjE4cHhcIj5cbiAgICAgICAgICB7aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UuYWRkX25ldycpfVxuICAgICAgICA8L1ByaW1hcnlCdXR0b24+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibm90aWZpY2F0aW9ucy10YWJsZVwiPlxuICAgICAgICAgIHtub3RpZmljYXRpb25zQXJyYXkubWFwKChub3RpZmljYXRpb24sIGluZGV4KSA9PiAoXG4gICAgICAgICAgICA8Tm90aWZpY2F0aW9uXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldE5vdGlmaWNhdGlvblRvRWRpdChub3RpZmljYXRpb24pfVxuICAgICAgICAgICAgICBub3RpZmljYXRpb249e25vdGlmaWNhdGlvbn1cbiAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxFZGl0Tm90aWZpY2F0aW9uTW9kYWxcbiAgICAgICAgY2xvc2VNb2RhbD17Y2xvc2VNb2RhbH1cbiAgICAgICAgbm90aWZpY2F0aW9uPXtub3RpZmljYXRpb25Ub0VkaXR9XG4gICAgICAgIHNhdmU9e3VwZGF0ZU5vdGlmaWNhdGlvbn1cbiAgICAgICAgc2hvdz17bm90aWZpY2F0aW9uVG9FZGl0ICE9PSB1bmRlZmluZWR9XG4gICAgICAvPlxuICAgIDwvQ29udGFpbmVyPlxuICApO1xufTtcblxuY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgY29sb3I6ICMxZDFkMWQ7XG4gIHBhZGRpbmc6IDYwcHggMzNweDtcbiAgPiAudG9wIHtcbiAgICA+IC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDAuNjE7XG4gICAgfVxuXG4gICAgPiAuc3VidGl0bGUge1xuICAgICAgcGFkZGluZy10b3A6IDE5cHg7XG4gICAgICBmb250LWZhbWlseTogR2lscm95O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjI7XG4gICAgfVxuICB9XG5cbiAgPiAuYm90dG9tIHtcbiAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICA+IC5hZGQtYnRuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgPiAubm90aWZpY2F0aW9ucy10YWJsZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMzRweDtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgPiAuYm90dG9tIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuICB9XG5gO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsY0FBQSxHQUFBRCxPQUFBO0FBRUEsSUFBQUUsYUFBQSxHQUFBRixPQUFBO0FBRUEsSUFBQUcsUUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksc0JBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQU4sT0FBQTtBQUNBLElBQUFPLFVBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLFdBQUEsR0FBQVIsT0FBQTtBQUEwQyxTQUFBUyx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQVgsd0JBQUFlLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdBQUEsUUFBQUEsR0FBQSxhQUFBRSxPQUFBLENBQUFGLEdBQUEseUJBQUFBLEdBQUEsNEJBQUFHLE9BQUEsRUFBQUgsR0FBQSxVQUFBSSxLQUFBLEdBQUFULHdCQUFBLENBQUFDLFdBQUEsT0FBQVEsS0FBQSxJQUFBQSxLQUFBLENBQUFDLEdBQUEsQ0FBQUwsR0FBQSxZQUFBSSxLQUFBLENBQUFFLEdBQUEsQ0FBQU4sR0FBQSxTQUFBTyxNQUFBLFdBQUFDLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLEdBQUEsSUFBQVosR0FBQSxRQUFBWSxHQUFBLGtCQUFBSCxNQUFBLENBQUFJLFNBQUEsQ0FBQUMsY0FBQSxDQUFBQyxJQUFBLENBQUFmLEdBQUEsRUFBQVksR0FBQSxTQUFBSSxJQUFBLEdBQUFSLHFCQUFBLEdBQUFDLE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQVgsR0FBQSxFQUFBWSxHQUFBLGNBQUFJLElBQUEsS0FBQUEsSUFBQSxDQUFBVixHQUFBLElBQUFVLElBQUEsQ0FBQUMsR0FBQSxLQUFBUixNQUFBLENBQUFDLGNBQUEsQ0FBQUgsTUFBQSxFQUFBSyxHQUFBLEVBQUFJLElBQUEsWUFBQVQsTUFBQSxDQUFBSyxHQUFBLElBQUFaLEdBQUEsQ0FBQVksR0FBQSxTQUFBTCxNQUFBLENBQUFKLE9BQUEsR0FBQUgsR0FBQSxNQUFBSSxLQUFBLElBQUFBLEtBQUEsQ0FBQWEsR0FBQSxDQUFBakIsR0FBQSxFQUFBTyxNQUFBLFlBQUFBLE1BQUE7QUFFbkMsSUFBTVcsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBQSxFQUFTO0VBQ3JDLElBQUFDLE9BQUEsR0FDRSxJQUFBQyxlQUFNLEVBQXNCLGdCQUFnQixDQUFDO0lBQUFDLFFBQUEsT0FBQUMsZUFBQSxDQUFBbkIsT0FBQSxFQUFBZ0IsT0FBQTtJQUR4Q0ksUUFBUSxHQUFBRixRQUFBO0lBQUVHLFNBQVMsR0FBQUgsUUFBQTtJQUFFSSxLQUFLLEdBQUFKLFFBQUE7RUFFakMsSUFBQUssU0FBQSxHQUFvRCxJQUFBQyxlQUFRLEVBRTFELEVBQUUsQ0FBQztJQUFBQyxVQUFBLE9BQUFOLGVBQUEsQ0FBQW5CLE9BQUEsRUFBQXVCLFNBQUE7SUFGRUcsa0JBQWtCLEdBQUFELFVBQUE7SUFBRUUscUJBQXFCLEdBQUFGLFVBQUE7RUFHaEQsSUFBTUcsa0JBQWtCLEdBQUcsSUFBQUMsdUJBQVcsRUFDcEMsVUFBQ0MsS0FBSztJQUFBLE9BQUtBLEtBQUssQ0FBQ0MsV0FBVyxDQUFDSCxrQkFBa0I7RUFBQSxDQUNqRCxDQUFDO0VBQ0QsSUFBQUksZ0JBQVMsRUFBQyxZQUFNO0lBQ2QsSUFBQUMseUJBQWMsRUFBQywwQkFBMEIsRUFBRTtNQUN6Q0MsWUFBWSxFQUFFTjtJQUNoQixDQUFDLENBQUM7SUFDRixJQUFJLENBQUNQLFNBQVMsSUFBSSxDQUFDQyxLQUFLLEtBQUlGLFFBQVEsYUFBUkEsUUFBUSx1QkFBUkEsUUFBUSxDQUFFZSxJQUFJLEdBQUU7TUFDMUNSLHFCQUFxQixDQUFDUCxRQUFRLENBQUNlLElBQUksQ0FBQztJQUN0QztFQUNGLENBQUMsRUFBRSxDQUFDZixRQUFRLEVBQUVDLFNBQVMsQ0FBQyxDQUFDO0VBRXpCLElBQUFlLFVBQUEsR0FBb0QsSUFBQVosZUFBUSxFQUUxRGEsU0FBUyxDQUFDO0lBQUFDLFVBQUEsT0FBQW5CLGVBQUEsQ0FBQW5CLE9BQUEsRUFBQW9DLFVBQUE7SUFGTEcsa0JBQWtCLEdBQUFELFVBQUE7SUFBRUUscUJBQXFCLEdBQUFGLFVBQUE7RUFJaEQsSUFBTUcsVUFBVSxHQUFHLFNBQWJBLFVBQVVBLENBQUEsRUFBUztJQUN2QkQscUJBQXFCLENBQUNILFNBQVMsQ0FBQztFQUNsQyxDQUFDO0VBRUQsSUFBTUssa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFrQkEsQ0FBQSxFQUFTO0lBQy9CRCxVQUFVLENBQUMsQ0FBQztFQUNkLENBQUM7RUFFRCxvQkFDRTVELE1BQUEsQ0FBQW1CLE9BQUEsQ0FBQTJDLGFBQUEsQ0FBQ0MsU0FBUyxxQkFDUi9ELE1BQUEsQ0FBQW1CLE9BQUEsQ0FBQTJDLGFBQUE7SUFBS0UsU0FBUyxFQUFDO0VBQUssZ0JBQ2xCaEUsTUFBQSxDQUFBbUIsT0FBQSxDQUFBMkMsYUFBQTtJQUFLRSxTQUFTLEVBQUM7RUFBTyxHQUFFQyxhQUFJLENBQUNDLENBQUMsQ0FBQywwQkFBMEIsQ0FBTyxDQUFDLGVBQ2pFbEUsTUFBQSxDQUFBbUIsT0FBQSxDQUFBMkMsYUFBQTtJQUFLRSxTQUFTLEVBQUM7RUFBVSxHQUFFQyxhQUFJLENBQUNDLENBQUMsQ0FBQyw2QkFBNkIsQ0FBTyxDQUNuRSxDQUFDLGVBQ05sRSxNQUFBLENBQUFtQixPQUFBLENBQUEyQyxhQUFBO0lBQUtFLFNBQVMsRUFBQztFQUFRLGdCQUNyQmhFLE1BQUEsQ0FBQW1CLE9BQUEsQ0FBQTJDLGFBQUEsQ0FBQzNELGNBQUEsQ0FBQWdFLGFBQWE7SUFBQ0gsU0FBUyxFQUFDLFNBQVM7SUFBQ0ksUUFBUSxFQUFDO0VBQU0sR0FDL0NILGFBQUksQ0FBQ0MsQ0FBQyxDQUFDLDRCQUE0QixDQUN2QixDQUFDLGVBQ2hCbEUsTUFBQSxDQUFBbUIsT0FBQSxDQUFBMkMsYUFBQTtJQUFLRSxTQUFTLEVBQUM7RUFBcUIsR0FDakNuQixrQkFBa0IsQ0FBQ3dCLEdBQUcsQ0FBQyxVQUFDQyxZQUFZLEVBQUVDLEtBQUs7SUFBQSxvQkFDMUN2RSxNQUFBLENBQUFtQixPQUFBLENBQUEyQyxhQUFBLENBQUMxRCxhQUFBLENBQUFvRSxZQUFZO01BQ1hDLE9BQU8sRUFBRSxTQUFBQSxRQUFBO1FBQUEsT0FBTWQscUJBQXFCLENBQUNXLFlBQVksQ0FBQztNQUFBLENBQUM7TUFDbkRBLFlBQVksRUFBRUEsWUFBYTtNQUMzQjFDLEdBQUcsRUFBRTJDO0lBQU0sQ0FDWixDQUFDO0VBQUEsQ0FDSCxDQUNFLENBQ0YsQ0FBQyxlQUVOdkUsTUFBQSxDQUFBbUIsT0FBQSxDQUFBMkMsYUFBQSxDQUFDeEQsc0JBQUEsQ0FBQW9FLHFCQUFxQjtJQUNwQmQsVUFBVSxFQUFFQSxVQUFXO0lBQ3ZCVSxZQUFZLEVBQUVaLGtCQUFtQjtJQUNqQ2lCLElBQUksRUFBRWQsa0JBQW1CO0lBQ3pCZSxJQUFJLEVBQUVsQixrQkFBa0IsS0FBS0Y7RUFBVSxDQUN4QyxDQUNRLENBQUM7QUFFaEIsQ0FBQztBQUFDcUIsT0FBQSxDQUFBM0MsaUJBQUEsR0FBQUEsaUJBQUE7QUFFRixJQUFNNkIsU0FBUyxHQUFHZSx5QkFBTSxDQUFDQyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsaVdBbUMzQiJ9
@@ -5,55 +5,55 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  Object.defineProperty(exports, "AlertSvg", {
7
7
  enumerable: true,
8
- get: function () {
8
+ get: function get() {
9
9
  return _alert.ReactComponent;
10
10
  }
11
11
  });
12
12
  Object.defineProperty(exports, "ChatSvg", {
13
13
  enumerable: true,
14
- get: function () {
14
+ get: function get() {
15
15
  return _chat.ReactComponent;
16
16
  }
17
17
  });
18
18
  Object.defineProperty(exports, "CloseSvg", {
19
19
  enumerable: true,
20
- get: function () {
20
+ get: function get() {
21
21
  return _close.ReactComponent;
22
22
  }
23
23
  });
24
24
  Object.defineProperty(exports, "MailSvg", {
25
25
  enumerable: true,
26
- get: function () {
26
+ get: function get() {
27
27
  return _mail.ReactComponent;
28
28
  }
29
29
  });
30
30
  Object.defineProperty(exports, "MonitorSvg", {
31
31
  enumerable: true,
32
- get: function () {
32
+ get: function get() {
33
33
  return _monitor.ReactComponent;
34
34
  }
35
35
  });
36
36
  Object.defineProperty(exports, "RightSvg", {
37
37
  enumerable: true,
38
- get: function () {
38
+ get: function get() {
39
39
  return _right.ReactComponent;
40
40
  }
41
41
  });
42
42
  Object.defineProperty(exports, "SpillSvg", {
43
43
  enumerable: true,
44
- get: function () {
44
+ get: function get() {
45
45
  return _spill.ReactComponent;
46
46
  }
47
47
  });
48
48
  Object.defineProperty(exports, "TelegramSvg", {
49
49
  enumerable: true,
50
- get: function () {
50
+ get: function get() {
51
51
  return _telegram.ReactComponent;
52
52
  }
53
53
  });
54
54
  Object.defineProperty(exports, "TrashSvg", {
55
55
  enumerable: true,
56
- get: function () {
56
+ get: function get() {
57
57
  return _trashDel.ReactComponent;
58
58
  }
59
59
  });
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.default = exports.NotificationsPageStyle = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
8
10
  var _styledComponents = _interopRequireDefault(require("styled-components"));
9
11
  var _react = _interopRequireWildcard(require("react"));
10
12
  var _Button = _interopRequireWildcard(require("ui-kit/Button/Button"));
@@ -20,33 +22,66 @@ var _urls = require("../../utilities/urls");
20
22
  var _reactDeviceDetect = require("react-device-detect");
21
23
  var _useInitializeHeaders = require("../../hooks/useInitializeHeaders");
22
24
  var _useQueryURL = _interopRequireDefault(require("../../hooks/useQueryURL"));
23
- 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); }
24
- 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; }
25
- const NotificationsPage = () => {
26
- const [isSidebarOpen, setIsSidebarOpen] = (0, _react.useState)(false);
27
- const [data, setData] = (0, _react.useState)([]);
28
- const [waterAuthorities, setWaterAuthorities] = (0, _react.useState)([]);
29
- const [hasTelegram, setHasTelegram] = (0, _react.useState)(false);
30
- const [hasPhone, setHasPhone] = (0, _react.useState)(false);
31
- const [points, setPoints] = (0, _react.useState)([]);
32
- const [tags, setTags] = (0, _react.useState)([]);
33
- const [sensors, setSensors] = (0, _react.useState)([]);
34
- const [allowedNotifications, setAllowedNotifications] = (0, _react.useState)([]);
35
- const [isFetching, setIsFetching] = (0, _react.useState)(true);
36
- const [currentNotification, setNotification] = (0, _react.useState)((0, _notificationUtils.getEmptyNotification)());
25
+ 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); }
26
+ 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; }
27
+ var NotificationsPage = function NotificationsPage() {
28
+ var _useState = (0, _react.useState)(false),
29
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
30
+ isSidebarOpen = _useState2[0],
31
+ setIsSidebarOpen = _useState2[1];
32
+ var _useState3 = (0, _react.useState)([]),
33
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
34
+ data = _useState4[0],
35
+ setData = _useState4[1];
36
+ var _useState5 = (0, _react.useState)([]),
37
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
38
+ waterAuthorities = _useState6[0],
39
+ setWaterAuthorities = _useState6[1];
40
+ var _useState7 = (0, _react.useState)(false),
41
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
42
+ hasTelegram = _useState8[0],
43
+ setHasTelegram = _useState8[1];
44
+ var _useState9 = (0, _react.useState)(false),
45
+ _useState10 = (0, _slicedToArray2.default)(_useState9, 2),
46
+ hasPhone = _useState10[0],
47
+ setHasPhone = _useState10[1];
48
+ var _useState11 = (0, _react.useState)([]),
49
+ _useState12 = (0, _slicedToArray2.default)(_useState11, 2),
50
+ points = _useState12[0],
51
+ setPoints = _useState12[1];
52
+ var _useState13 = (0, _react.useState)([]),
53
+ _useState14 = (0, _slicedToArray2.default)(_useState13, 2),
54
+ tags = _useState14[0],
55
+ setTags = _useState14[1];
56
+ var _useState15 = (0, _react.useState)([]),
57
+ _useState16 = (0, _slicedToArray2.default)(_useState15, 2),
58
+ sensors = _useState16[0],
59
+ setSensors = _useState16[1];
60
+ var _useState17 = (0, _react.useState)([]),
61
+ _useState18 = (0, _slicedToArray2.default)(_useState17, 2),
62
+ allowedNotifications = _useState18[0],
63
+ setAllowedNotifications = _useState18[1];
64
+ var _useState19 = (0, _react.useState)(true),
65
+ _useState20 = (0, _slicedToArray2.default)(_useState19, 2),
66
+ isFetching = _useState20[0],
67
+ setIsFetching = _useState20[1];
68
+ var _useState21 = (0, _react.useState)((0, _notificationUtils.getEmptyNotification)()),
69
+ _useState22 = (0, _slicedToArray2.default)(_useState21, 2),
70
+ currentNotification = _useState22[0],
71
+ setNotification = _useState22[1];
37
72
  (0, _useInitializeHeaders.useInitializeHeaders)();
38
- (0, _react.useEffect)(() => {
73
+ (0, _react.useEffect)(function () {
39
74
  fetchNotificationsData();
40
75
  }, []);
41
- const query = (0, _useQueryURL.default)();
42
- const getWAId = () => {
76
+ var query = (0, _useQueryURL.default)();
77
+ var getWAId = function getWAId() {
43
78
  return query.get('water_authority_id');
44
79
  };
45
- const fetchNotificationsData = () => {
80
+ var fetchNotificationsData = function fetchNotificationsData() {
46
81
  setIsFetching(true);
47
82
  _axios.default.get((0, _urls.urls)({
48
83
  waterAuthorityId: getWAId()
49
- }).notificationsPage.getNotifications.url).then(res => {
84
+ }).notificationsPage.getNotifications.url).then(function (res) {
50
85
  setData(res.data.notifications);
51
86
  setWaterAuthorities(res.data.water_authorities);
52
87
  setPoints(res.data.points);
@@ -56,25 +91,25 @@ const NotificationsPage = () => {
56
91
  setHasTelegram(res.data.user_has_telegram);
57
92
  setHasPhone(res.data.user_has_phone);
58
93
  setIsFetching(false);
59
- }).catch(() => {
94
+ }).catch(function () {
60
95
  setIsFetching(false);
61
96
  });
62
97
  };
63
- const deleteNotification = notification => {
98
+ var deleteNotification = function deleteNotification(notification) {
64
99
  setIsFetching(true);
65
100
  _axios.default.post((0, _urls.urls)().notificationsPage.deleteNotification.url, {
66
101
  alert_id: notification.id
67
- }).then(() => {
102
+ }).then(function () {
68
103
  fetchNotificationsData();
69
104
  });
70
105
  };
71
- const updateNotifications = notification => {
106
+ var updateNotifications = function updateNotifications(notification) {
72
107
  setIsFetching(true);
73
- _axios.default.patch((0, _urls.urls)().notificationsPage.updateNotifications.url, notification).then(() => {
108
+ _axios.default.patch((0, _urls.urls)().notificationsPage.updateNotifications.url, notification).then(function () {
74
109
  fetchNotificationsData();
75
110
  });
76
111
  };
77
- const toggleSidebar = notification => {
112
+ var toggleSidebar = function toggleSidebar(notification) {
78
113
  setNotification(notification);
79
114
  setIsSidebarOpen(true);
80
115
  };
@@ -82,13 +117,17 @@ const NotificationsPage = () => {
82
117
  variant: _Button.variant.PRIMARY,
83
118
  type: "submit",
84
119
  size: "md",
85
- onClick: () => toggleSidebar((0, _notificationUtils.getEmptyNotification)())
86
- }, _i18n.default.t('notifications_page.add_new')))), /*#__PURE__*/_react.default.createElement(NotificationsListStyle, null, data && data.length > 0 ? data.map((notification, index) => /*#__PURE__*/_react.default.createElement(_NotificationsCard.default, {
87
- key: notification.id,
88
- notification: notification,
89
- cardNumber: index + 1,
90
- toggleSidebar: toggleSidebar
91
- })) : !isFetching && /*#__PURE__*/_react.default.createElement("p", null, _i18n.default.t('notifications_page.no_notification'))), isSidebarOpen && /*#__PURE__*/_react.default.createElement(_NotificationsSidebar.default, {
120
+ onClick: function onClick() {
121
+ return toggleSidebar((0, _notificationUtils.getEmptyNotification)());
122
+ }
123
+ }, _i18n.default.t('notifications_page.add_new')))), /*#__PURE__*/_react.default.createElement(NotificationsListStyle, null, data && data.length > 0 ? data.map(function (notification, index) {
124
+ return /*#__PURE__*/_react.default.createElement(_NotificationsCard.default, {
125
+ key: notification.id,
126
+ notification: notification,
127
+ cardNumber: index + 1,
128
+ toggleSidebar: toggleSidebar
129
+ });
130
+ }) : !isFetching && /*#__PURE__*/_react.default.createElement("p", null, _i18n.default.t('notifications_page.no_notification'))), isSidebarOpen && /*#__PURE__*/_react.default.createElement(_NotificationsSidebar.default, {
92
131
  notification: currentNotification,
93
132
  setIsSidebarOpen: setIsSidebarOpen,
94
133
  points: points,
@@ -104,65 +143,49 @@ const NotificationsPage = () => {
104
143
  };
105
144
  var _default = NotificationsPage;
106
145
  exports.default = _default;
107
- const NotificationsPageStyle = _styledComponents.default.div.withConfig({
146
+ var NotificationsPageStyle = _styledComponents.default.div.withConfig({
108
147
  displayName: "NotificationsPage__NotificationsPageStyle",
109
148
  componentId: "sc-1trznik-0"
110
149
  })(["position:relative;height:max-content;"]);
111
150
  exports.NotificationsPageStyle = NotificationsPageStyle;
112
- const NotificationsListHeadStyle = _styledComponents.default.div.withConfig({
151
+ var NotificationsListHeadStyle = _styledComponents.default.div.withConfig({
113
152
  displayName: "NotificationsPage__NotificationsListHeadStyle",
114
153
  componentId: "sc-1trznik-1"
115
- })(["position:relative;margin:20px 0 20px 0;.spinner-container{display:flex;position:absolute;", " left:0;right:0;transform:scale(0.7);}h1{font-size:", ";font-weight:800;}", "{h1{text-align:center;font-size:", ";font-weight:600;}}"], _reactDeviceDetect.isMobile ? 'top: -47px;' : 'top: -3px;', _ref => {
116
- let {
117
- theme
118
- } = _ref;
154
+ })(["position:relative;margin:20px 0 20px 0;.spinner-container{display:flex;position:absolute;", " left:0;right:0;transform:scale(0.7);}h1{font-size:", ";font-weight:800;}", "{h1{text-align:center;font-size:", ";font-weight:600;}}"], _reactDeviceDetect.isMobile ? 'top: -47px;' : 'top: -3px;', function (_ref) {
155
+ var theme = _ref.theme;
119
156
  return theme.fontSize.xxl;
120
- }, (0, _styledBreakpoints.down)('md'), _ref2 => {
121
- let {
122
- theme
123
- } = _ref2;
157
+ }, (0, _styledBreakpoints.down)('md'), function (_ref2) {
158
+ var theme = _ref2.theme;
124
159
  return theme.fontSize.xl;
125
160
  });
126
- const NotificationsListHeadContentStyle = _styledComponents.default.div.withConfig({
161
+ var NotificationsListHeadContentStyle = _styledComponents.default.div.withConfig({
127
162
  displayName: "NotificationsPage__NotificationsListHeadContentStyle",
128
163
  componentId: "sc-1trznik-2"
129
- })(["display:flex;justify-content:space-between;align-items:center;p{margin:0;font-size:18px;}.btn{padding:5.5px 26px;}", "{.btn{font-size:", ";}p{text-align:center;font-size:", ";}}", "{.btn{font-size:", ";}p{font-size:", ";}}", "{flex-direction:column;gap:12px;p{width:100%;}}"], (0, _styledBreakpoints.down)('xl'), _ref3 => {
130
- let {
131
- theme
132
- } = _ref3;
164
+ })(["display:flex;justify-content:space-between;align-items:center;p{margin:0;font-size:18px;}.btn{padding:5.5px 26px;}", "{.btn{font-size:", ";}p{text-align:center;font-size:", ";}}", "{.btn{font-size:", ";}p{font-size:", ";}}", "{flex-direction:column;gap:12px;p{width:100%;}}"], (0, _styledBreakpoints.down)('xl'), function (_ref3) {
165
+ var theme = _ref3.theme;
133
166
  return theme.fontSize.sm;
134
- }, _ref4 => {
135
- let {
136
- theme
137
- } = _ref4;
167
+ }, function (_ref4) {
168
+ var theme = _ref4.theme;
138
169
  return theme.fontSize.sm;
139
- }, (0, _styledBreakpoints.down)('lg'), _ref5 => {
140
- let {
141
- theme
142
- } = _ref5;
170
+ }, (0, _styledBreakpoints.down)('lg'), function (_ref5) {
171
+ var theme = _ref5.theme;
143
172
  return theme.fontSize.xs;
144
- }, _ref6 => {
145
- let {
146
- theme
147
- } = _ref6;
173
+ }, function (_ref6) {
174
+ var theme = _ref6.theme;
148
175
  return theme.fontSize.xs;
149
176
  }, (0, _styledBreakpoints.down)('md'));
150
- const NotificationsListStyle = _styledComponents.default.div.withConfig({
177
+ var NotificationsListStyle = _styledComponents.default.div.withConfig({
151
178
  displayName: "NotificationsPage__NotificationsListStyle",
152
179
  componentId: "sc-1trznik-3"
153
180
  })(["width:100%;display:flex;flex-direction:column;gap:14px;"]);
154
- const ScreenStyle = _styledComponents.default.div.withConfig({
181
+ var ScreenStyle = _styledComponents.default.div.withConfig({
155
182
  displayName: "NotificationsPage__ScreenStyle",
156
183
  componentId: "sc-1trznik-4"
157
- })(["position:fixed;z-index:", ";height:100vh;width:calc(100vw + 20px);top:0;right:-20px;background:", ";opacity:0.5;"], _ref7 => {
158
- let {
159
- theme
160
- } = _ref7;
184
+ })(["position:fixed;z-index:", ";height:100vh;width:calc(100vw + 20px);top:0;right:-20px;background:", ";opacity:0.5;"], function (_ref7) {
185
+ var theme = _ref7.theme;
161
186
  return theme.zIndexes.modal;
162
- }, _ref8 => {
163
- let {
164
- theme
165
- } = _ref8;
187
+ }, function (_ref8) {
188
+ var theme = _ref8.theme;
166
189
  return theme.colorScheme.natural.n80;
167
190
  });
168
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfQnV0dG9uIiwiX0xheW91dCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfaTE4biIsIl9zdHlsZWRCcmVha3BvaW50cyIsIl9Ob3RpZmljYXRpb25zQ2FyZCIsIl9Ob3RpZmljYXRpb25zU2lkZWJhciIsIl9ub3RpZmljYXRpb25VdGlscyIsIl9heGlvcyIsIl9TcGlubmVyIiwiX3VybHMiLCJfcmVhY3REZXZpY2VEZXRlY3QiLCJfdXNlSW5pdGlhbGl6ZUhlYWRlcnMiLCJfdXNlUXVlcnlVUkwiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiTm90aWZpY2F0aW9uc1BhZ2UiLCJpc1NpZGViYXJPcGVuIiwic2V0SXNTaWRlYmFyT3BlbiIsInVzZVN0YXRlIiwiZGF0YSIsInNldERhdGEiLCJ3YXRlckF1dGhvcml0aWVzIiwic2V0V2F0ZXJBdXRob3JpdGllcyIsImhhc1RlbGVncmFtIiwic2V0SGFzVGVsZWdyYW0iLCJoYXNQaG9uZSIsInNldEhhc1Bob25lIiwicG9pbnRzIiwic2V0UG9pbnRzIiwidGFncyIsInNldFRhZ3MiLCJzZW5zb3JzIiwic2V0U2Vuc29ycyIsImFsbG93ZWROb3RpZmljYXRpb25zIiwic2V0QWxsb3dlZE5vdGlmaWNhdGlvbnMiLCJpc0ZldGNoaW5nIiwic2V0SXNGZXRjaGluZyIsImN1cnJlbnROb3RpZmljYXRpb24iLCJzZXROb3RpZmljYXRpb24iLCJnZXRFbXB0eU5vdGlmaWNhdGlvbiIsInVzZUluaXRpYWxpemVIZWFkZXJzIiwidXNlRWZmZWN0IiwiZmV0Y2hOb3RpZmljYXRpb25zRGF0YSIsInF1ZXJ5IiwidXNlUXVlcnlVUkwiLCJnZXRXQUlkIiwiYXhpb3MiLCJ1cmxzIiwid2F0ZXJBdXRob3JpdHlJZCIsIm5vdGlmaWNhdGlvbnNQYWdlIiwiZ2V0Tm90aWZpY2F0aW9ucyIsInVybCIsInRoZW4iLCJyZXMiLCJub3RpZmljYXRpb25zIiwid2F0ZXJfYXV0aG9yaXRpZXMiLCJhbGxvd2VkX2FsZXJ0cyIsInVzZXJfaGFzX3RlbGVncmFtIiwidXNlcl9oYXNfcGhvbmUiLCJjYXRjaCIsImRlbGV0ZU5vdGlmaWNhdGlvbiIsIm5vdGlmaWNhdGlvbiIsInBvc3QiLCJhbGVydF9pZCIsImlkIiwidXBkYXRlTm90aWZpY2F0aW9ucyIsInBhdGNoIiwidG9nZ2xlU2lkZWJhciIsImNyZWF0ZUVsZW1lbnQiLCJOb3RpZmljYXRpb25zUGFnZVN0eWxlIiwiU2NyZWVuU3R5bGUiLCJOb3RpZmljYXRpb25zTGlzdEhlYWRTdHlsZSIsIlNwaW5uZXIiLCJpMThuIiwidCIsIk5vdGlmaWNhdGlvbnNMaXN0SGVhZENvbnRlbnRTdHlsZSIsInZhcmlhbnQiLCJQUklNQVJZIiwidHlwZSIsInNpemUiLCJvbkNsaWNrIiwiTm90aWZpY2F0aW9uc0xpc3RTdHlsZSIsImxlbmd0aCIsIm1hcCIsImluZGV4IiwiY2FyZE51bWJlciIsIl9kZWZhdWx0IiwiZXhwb3J0cyIsInN0eWxlZCIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiaXNNb2JpbGUiLCJfcmVmIiwidGhlbWUiLCJmb250U2l6ZSIsInh4bCIsImRvd24iLCJfcmVmMiIsInhsIiwiX3JlZjMiLCJzbSIsIl9yZWY0IiwiX3JlZjUiLCJ4cyIsIl9yZWY2IiwiX3JlZjciLCJ6SW5kZXhlcyIsIm1vZGFsIiwiX3JlZjgiLCJjb2xvclNjaGVtZSIsIm5hdHVyYWwiLCJuODAiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvTm90aWZpY2F0aW9uc1BhZ2VWMi9Ob3RpZmljYXRpb25zUGFnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgQnV0dG9uLCB7IHZhcmlhbnQgfSBmcm9tICdzcmMvdWkta2l0L0J1dHRvbi9CdXR0b24nO1xuaW1wb3J0IExheW91dCBmcm9tICdzcmMvdWkta2l0L0xheW91dC9MYXlvdXQnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgZG93biB9IGZyb20gJ3N0eWxlZC1icmVha3BvaW50cyc7XG5pbXBvcnQgTm90aWZpY2F0aW9uc0NhcmQgZnJvbSAnLi9jb21wb25lbnRzL05vdGlmaWNhdGlvbnNDYXJkJztcbmltcG9ydCBOb3RpZmljYXRpb25zU2lkZWJhciBmcm9tICcuL2NvbXBvbmVudHMvTm90aWZpY2F0aW9uc1NpZGViYXInO1xuaW1wb3J0IHtcbiAgQWR2YW5jZWRTZWxlY3Rpb24sXG4gIGdldEVtcHR5Tm90aWZpY2F0aW9uLFxuICBOb3RpZmljYXRpb24sXG59IGZyb20gJy4vbm90aWZpY2F0aW9uVXRpbHMnO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCB7IFNwaW5uZXIgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL1NwaW5uZXIvU3Bpbm5lcic7XG5pbXBvcnQgeyB1cmxzIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL3VybHMnO1xuaW1wb3J0IHsgaXNNb2JpbGUgfSBmcm9tICdyZWFjdC1kZXZpY2UtZGV0ZWN0JztcbmltcG9ydCB7IHVzZUluaXRpYWxpemVIZWFkZXJzIH0gZnJvbSAnLi4vLi4vaG9va3MvdXNlSW5pdGlhbGl6ZUhlYWRlcnMnO1xuaW1wb3J0IHVzZVF1ZXJ5VVJMIGZyb20gJy4uLy4uL2hvb2tzL3VzZVF1ZXJ5VVJMJztcblxuY29uc3QgTm90aWZpY2F0aW9uc1BhZ2U6IFJlYWN0LkZDID0gKCkgPT4ge1xuICBjb25zdCBbaXNTaWRlYmFyT3Blbiwgc2V0SXNTaWRlYmFyT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IFtkYXRhLCBzZXREYXRhXSA9IHVzZVN0YXRlPE5vdGlmaWNhdGlvbltdPihbXSk7XG4gIGNvbnN0IFt3YXRlckF1dGhvcml0aWVzLCBzZXRXYXRlckF1dGhvcml0aWVzXSA9IHVzZVN0YXRlPEFkdmFuY2VkU2VsZWN0aW9uW10+KFxuICAgIFtdLFxuICApO1xuICBjb25zdCBbaGFzVGVsZWdyYW0sIHNldEhhc1RlbGVncmFtXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW2hhc1Bob25lLCBzZXRIYXNQaG9uZV0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtwb2ludHMsIHNldFBvaW50c10gPSB1c2VTdGF0ZTxBZHZhbmNlZFNlbGVjdGlvbltdPihbXSk7XG4gIGNvbnN0IFt0YWdzLCBzZXRUYWdzXSA9IHVzZVN0YXRlPEFkdmFuY2VkU2VsZWN0aW9uW10+KFtdKTtcbiAgY29uc3QgW3NlbnNvcnMsIHNldFNlbnNvcnNdID0gdXNlU3RhdGU8QWR2YW5jZWRTZWxlY3Rpb25bXT4oW10pO1xuICBjb25zdCBbYWxsb3dlZE5vdGlmaWNhdGlvbnMsIHNldEFsbG93ZWROb3RpZmljYXRpb25zXSA9IHVzZVN0YXRlPHN0cmluZ1tdPihcbiAgICBbXSxcbiAgKTtcbiAgY29uc3QgW2lzRmV0Y2hpbmcsIHNldElzRmV0Y2hpbmddID0gdXNlU3RhdGUodHJ1ZSk7XG4gIGNvbnN0IFtjdXJyZW50Tm90aWZpY2F0aW9uLCBzZXROb3RpZmljYXRpb25dID0gdXNlU3RhdGU8Tm90aWZpY2F0aW9uPihcbiAgICBnZXRFbXB0eU5vdGlmaWNhdGlvbigpLFxuICApO1xuXG4gIHVzZUluaXRpYWxpemVIZWFkZXJzKCk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZmV0Y2hOb3RpZmljYXRpb25zRGF0YSgpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgcXVlcnkgPSB1c2VRdWVyeVVSTCgpO1xuICBjb25zdCBnZXRXQUlkID0gKCkgPT4ge1xuICAgIHJldHVybiBxdWVyeS5nZXQoJ3dhdGVyX2F1dGhvcml0eV9pZCcpO1xuICB9O1xuXG4gIGNvbnN0IGZldGNoTm90aWZpY2F0aW9uc0RhdGEgPSAoKSA9PiB7XG4gICAgc2V0SXNGZXRjaGluZyh0cnVlKTtcbiAgICBheGlvc1xuICAgICAgLmdldChcbiAgICAgICAgdXJscyh7IHdhdGVyQXV0aG9yaXR5SWQ6IGdldFdBSWQoKSB9KS5ub3RpZmljYXRpb25zUGFnZS5nZXROb3RpZmljYXRpb25zXG4gICAgICAgICAgLnVybCxcbiAgICAgIClcbiAgICAgIC50aGVuKChyZXMpID0+IHtcbiAgICAgICAgc2V0RGF0YShyZXMuZGF0YS5ub3RpZmljYXRpb25zKTtcbiAgICAgICAgc2V0V2F0ZXJBdXRob3JpdGllcyhyZXMuZGF0YS53YXRlcl9hdXRob3JpdGllcyk7XG4gICAgICAgIHNldFBvaW50cyhyZXMuZGF0YS5wb2ludHMpO1xuICAgICAgICBzZXRUYWdzKHJlcy5kYXRhLnRhZ3MpO1xuICAgICAgICBzZXRTZW5zb3JzKHJlcy5kYXRhLnNlbnNvcnMpO1xuICAgICAgICBzZXRBbGxvd2VkTm90aWZpY2F0aW9ucyhyZXMuZGF0YS5hbGxvd2VkX2FsZXJ0cyk7XG4gICAgICAgIHNldEhhc1RlbGVncmFtKHJlcy5kYXRhLnVzZXJfaGFzX3RlbGVncmFtKTtcbiAgICAgICAgc2V0SGFzUGhvbmUocmVzLmRhdGEudXNlcl9oYXNfcGhvbmUpO1xuICAgICAgICBzZXRJc0ZldGNoaW5nKGZhbHNlKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICBzZXRJc0ZldGNoaW5nKGZhbHNlKTtcbiAgICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGRlbGV0ZU5vdGlmaWNhdGlvbiA9IChub3RpZmljYXRpb24pID0+IHtcbiAgICBzZXRJc0ZldGNoaW5nKHRydWUpO1xuXG4gICAgYXhpb3NcbiAgICAgIC5wb3N0KHVybHMoKS5ub3RpZmljYXRpb25zUGFnZS5kZWxldGVOb3RpZmljYXRpb24udXJsLCB7XG4gICAgICAgIGFsZXJ0X2lkOiBub3RpZmljYXRpb24uaWQsXG4gICAgICB9KVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICBmZXRjaE5vdGlmaWNhdGlvbnNEYXRhKCk7XG4gICAgICB9KTtcbiAgfTtcblxuICBjb25zdCB1cGRhdGVOb3RpZmljYXRpb25zID0gKG5vdGlmaWNhdGlvbikgPT4ge1xuICAgIHNldElzRmV0Y2hpbmcodHJ1ZSk7XG5cbiAgICBheGlvc1xuICAgICAgLnBhdGNoKHVybHMoKS5ub3RpZmljYXRpb25zUGFnZS51cGRhdGVOb3RpZmljYXRpb25zLnVybCwgbm90aWZpY2F0aW9uKVxuICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICBmZXRjaE5vdGlmaWNhdGlvbnNEYXRhKCk7XG4gICAgICB9KTtcbiAgfTtcblxuICBjb25zdCB0b2dnbGVTaWRlYmFyID0gKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uKSA9PiB7XG4gICAgc2V0Tm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbik7XG4gICAgc2V0SXNTaWRlYmFyT3Blbih0cnVlKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxMYXlvdXQ+XG4gICAgICA8Tm90aWZpY2F0aW9uc1BhZ2VTdHlsZT5cbiAgICAgICAge2lzU2lkZWJhck9wZW4gJiYgPFNjcmVlblN0eWxlIC8+fVxuICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3RIZWFkU3R5bGU+XG4gICAgICAgICAge2lzRmV0Y2hpbmcgJiYgPFNwaW5uZXIgLz59XG4gICAgICAgICAgPGgxPntpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS50aXRsZScpfTwvaDE+XG4gICAgICAgICAgPE5vdGlmaWNhdGlvbnNMaXN0SGVhZENvbnRlbnRTdHlsZT5cbiAgICAgICAgICAgIDxwPntpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5zdWJ0aXRsZScpfTwvcD5cbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgdmFyaWFudD17dmFyaWFudC5QUklNQVJZfVxuICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgc2l6ZT1cIm1kXCJcbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gdG9nZ2xlU2lkZWJhcihnZXRFbXB0eU5vdGlmaWNhdGlvbigpKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmFkZF9uZXcnKX1cbiAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgIDwvTm90aWZpY2F0aW9uc0xpc3RIZWFkQ29udGVudFN0eWxlPlxuICAgICAgICA8L05vdGlmaWNhdGlvbnNMaXN0SGVhZFN0eWxlPlxuICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3RTdHlsZT5cbiAgICAgICAgICB7ZGF0YSAmJiBkYXRhLmxlbmd0aCA+IDBcbiAgICAgICAgICAgID8gZGF0YS5tYXAoKG5vdGlmaWNhdGlvbiwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICA8Tm90aWZpY2F0aW9uc0NhcmRcbiAgICAgICAgICAgICAgICAgIGtleT17bm90aWZpY2F0aW9uLmlkfVxuICAgICAgICAgICAgICAgICAgbm90aWZpY2F0aW9uPXtub3RpZmljYXRpb259XG4gICAgICAgICAgICAgICAgICBjYXJkTnVtYmVyPXtpbmRleCArIDF9XG4gICAgICAgICAgICAgICAgICB0b2dnbGVTaWRlYmFyPXt0b2dnbGVTaWRlYmFyfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICkpXG4gICAgICAgICAgICA6ICFpc0ZldGNoaW5nICYmIChcbiAgICAgICAgICAgICAgICA8cD57aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2Uubm9fbm90aWZpY2F0aW9uJyl9PC9wPlxuICAgICAgICAgICAgICApfVxuICAgICAgICA8L05vdGlmaWNhdGlvbnNMaXN0U3R5bGU+XG4gICAgICAgIHtpc1NpZGViYXJPcGVuICYmIChcbiAgICAgICAgICA8Tm90aWZpY2F0aW9uc1NpZGViYXJcbiAgICAgICAgICAgIG5vdGlmaWNhdGlvbj17Y3VycmVudE5vdGlmaWNhdGlvbn1cbiAgICAgICAgICAgIHNldElzU2lkZWJhck9wZW49e3NldElzU2lkZWJhck9wZW59XG4gICAgICAgICAgICBwb2ludHM9e3BvaW50c31cbiAgICAgICAgICAgIHRhZ3M9e3RhZ3N9XG4gICAgICAgICAgICBzZW5zb3JzPXtzZW5zb3JzfVxuICAgICAgICAgICAgaGFzVGVsZWdyYW09e2hhc1RlbGVncmFtfVxuICAgICAgICAgICAgaGFzUGhvbmU9e2hhc1Bob25lfVxuICAgICAgICAgICAgd2F0ZXJBdXRob3JpdGllcz17d2F0ZXJBdXRob3JpdGllc31cbiAgICAgICAgICAgIGFsbG93ZWROb3RpZmljYXRpb25zPXthbGxvd2VkTm90aWZpY2F0aW9uc31cbiAgICAgICAgICAgIGRlbGV0ZU5vdGlmaWNhdGlvbj17ZGVsZXRlTm90aWZpY2F0aW9ufVxuICAgICAgICAgICAgdXBkYXRlTm90aWZpY2F0aW9ucz17dXBkYXRlTm90aWZpY2F0aW9uc31cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9Ob3RpZmljYXRpb25zUGFnZVN0eWxlPlxuICAgIDwvTGF5b3V0PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgTm90aWZpY2F0aW9uc1BhZ2U7XG5cbmV4cG9ydCBjb25zdCBOb3RpZmljYXRpb25zUGFnZVN0eWxlID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IG1heC1jb250ZW50O1xuYDtcblxuY29uc3QgTm90aWZpY2F0aW9uc0xpc3RIZWFkU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMjBweCAwIDIwcHggMDtcbiAgLnNwaW5uZXItY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAke2lzTW9iaWxlID8gJ3RvcDogLTQ3cHg7JyA6ICd0b3A6IC0zcHg7J31cbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC43KTtcbiAgfVxuICBoMSB7XG4gICAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmZvbnRTaXplLnh4bH07XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgfVxuICAke2Rvd24oJ21kJyl9IHtcbiAgICBoMSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuZm9udFNpemUueGx9O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IE5vdGlmaWNhdGlvbnNMaXN0SGVhZENvbnRlbnRTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgfVxuICAuYnRuIHtcbiAgICBwYWRkaW5nOiA1LjVweCAyNnB4O1xuICB9XG4gICR7ZG93bigneGwnKX0ge1xuICAgIC5idG4ge1xuICAgICAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmZvbnRTaXplLnNtfTtcbiAgICB9XG4gICAgcCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuZm9udFNpemUuc219O1xuICAgIH1cbiAgfVxuICAke2Rvd24oJ2xnJyl9IHtcbiAgICAuYnRuIHtcbiAgICAgIGZvbnQtc2l6ZTogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5mb250U2l6ZS54c307XG4gICAgfVxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmZvbnRTaXplLnhzfTtcbiAgICB9XG4gIH1cbiAgJHtkb3duKCdtZCcpfSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEycHg7XG4gICAgcCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IE5vdGlmaWNhdGlvbnNMaXN0U3R5bGUgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxNHB4O1xuYDtcblxuY29uc3QgU2NyZWVuU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuekluZGV4ZXMubW9kYWx9O1xuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogY2FsYygxMDB2dyArIDIwcHgpO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAtMjBweDtcbiAgYmFja2dyb3VuZDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm44MH07XG4gIG9wYWNpdHk6IDAuNTtcbmA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRix1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsT0FBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksS0FBQSxHQUFBRCxzQkFBQSxDQUFBSCxPQUFBO0FBRUEsSUFBQUssa0JBQUEsR0FBQUwsT0FBQTtBQUNB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
191
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfQnV0dG9uIiwiX0xheW91dCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfaTE4biIsIl9zdHlsZWRCcmVha3BvaW50cyIsIl9Ob3RpZmljYXRpb25zQ2FyZCIsIl9Ob3RpZmljYXRpb25zU2lkZWJhciIsIl9ub3RpZmljYXRpb25VdGlscyIsIl9heGlvcyIsIl9TcGlubmVyIiwiX3VybHMiLCJfcmVhY3REZXZpY2VEZXRlY3QiLCJfdXNlSW5pdGlhbGl6ZUhlYWRlcnMiLCJfdXNlUXVlcnlVUkwiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIk5vdGlmaWNhdGlvbnNQYWdlIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwiaXNTaWRlYmFyT3BlbiIsInNldElzU2lkZWJhck9wZW4iLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImRhdGEiLCJzZXREYXRhIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJ3YXRlckF1dGhvcml0aWVzIiwic2V0V2F0ZXJBdXRob3JpdGllcyIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiaGFzVGVsZWdyYW0iLCJzZXRIYXNUZWxlZ3JhbSIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUxMCIsImhhc1Bob25lIiwic2V0SGFzUGhvbmUiLCJfdXNlU3RhdGUxMSIsIl91c2VTdGF0ZTEyIiwicG9pbnRzIiwic2V0UG9pbnRzIiwiX3VzZVN0YXRlMTMiLCJfdXNlU3RhdGUxNCIsInRhZ3MiLCJzZXRUYWdzIiwiX3VzZVN0YXRlMTUiLCJfdXNlU3RhdGUxNiIsInNlbnNvcnMiLCJzZXRTZW5zb3JzIiwiX3VzZVN0YXRlMTciLCJfdXNlU3RhdGUxOCIsImFsbG93ZWROb3RpZmljYXRpb25zIiwic2V0QWxsb3dlZE5vdGlmaWNhdGlvbnMiLCJfdXNlU3RhdGUxOSIsIl91c2VTdGF0ZTIwIiwiaXNGZXRjaGluZyIsInNldElzRmV0Y2hpbmciLCJfdXNlU3RhdGUyMSIsImdldEVtcHR5Tm90aWZpY2F0aW9uIiwiX3VzZVN0YXRlMjIiLCJjdXJyZW50Tm90aWZpY2F0aW9uIiwic2V0Tm90aWZpY2F0aW9uIiwidXNlSW5pdGlhbGl6ZUhlYWRlcnMiLCJ1c2VFZmZlY3QiLCJmZXRjaE5vdGlmaWNhdGlvbnNEYXRhIiwicXVlcnkiLCJ1c2VRdWVyeVVSTCIsImdldFdBSWQiLCJheGlvcyIsInVybHMiLCJ3YXRlckF1dGhvcml0eUlkIiwibm90aWZpY2F0aW9uc1BhZ2UiLCJnZXROb3RpZmljYXRpb25zIiwidXJsIiwidGhlbiIsInJlcyIsIm5vdGlmaWNhdGlvbnMiLCJ3YXRlcl9hdXRob3JpdGllcyIsImFsbG93ZWRfYWxlcnRzIiwidXNlcl9oYXNfdGVsZWdyYW0iLCJ1c2VyX2hhc19waG9uZSIsImNhdGNoIiwiZGVsZXRlTm90aWZpY2F0aW9uIiwibm90aWZpY2F0aW9uIiwicG9zdCIsImFsZXJ0X2lkIiwiaWQiLCJ1cGRhdGVOb3RpZmljYXRpb25zIiwicGF0Y2giLCJ0b2dnbGVTaWRlYmFyIiwiY3JlYXRlRWxlbWVudCIsIk5vdGlmaWNhdGlvbnNQYWdlU3R5bGUiLCJTY3JlZW5TdHlsZSIsIk5vdGlmaWNhdGlvbnNMaXN0SGVhZFN0eWxlIiwiU3Bpbm5lciIsImkxOG4iLCJ0IiwiTm90aWZpY2F0aW9uc0xpc3RIZWFkQ29udGVudFN0eWxlIiwidmFyaWFudCIsIlBSSU1BUlkiLCJ0eXBlIiwic2l6ZSIsIm9uQ2xpY2siLCJOb3RpZmljYXRpb25zTGlzdFN0eWxlIiwibGVuZ3RoIiwibWFwIiwiaW5kZXgiLCJjYXJkTnVtYmVyIiwiX2RlZmF1bHQiLCJleHBvcnRzIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJpc01vYmlsZSIsIl9yZWYiLCJ0aGVtZSIsImZvbnRTaXplIiwieHhsIiwiZG93biIsIl9yZWYyIiwieGwiLCJfcmVmMyIsInNtIiwiX3JlZjQiLCJfcmVmNSIsInhzIiwiX3JlZjYiLCJfcmVmNyIsInpJbmRleGVzIiwibW9kYWwiLCJfcmVmOCIsImNvbG9yU2NoZW1lIiwibmF0dXJhbCIsIm44MCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZVYyL05vdGlmaWNhdGlvbnNQYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBCdXR0b24sIHsgdmFyaWFudCB9IGZyb20gJ3NyYy91aS1raXQvQnV0dG9uL0J1dHRvbic7XG5pbXBvcnQgTGF5b3V0IGZyb20gJ3NyYy91aS1raXQvTGF5b3V0L0xheW91dCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBkb3duIH0gZnJvbSAnc3R5bGVkLWJyZWFrcG9pbnRzJztcbmltcG9ydCBOb3RpZmljYXRpb25zQ2FyZCBmcm9tICcuL2NvbXBvbmVudHMvTm90aWZpY2F0aW9uc0NhcmQnO1xuaW1wb3J0IE5vdGlmaWNhdGlvbnNTaWRlYmFyIGZyb20gJy4vY29tcG9uZW50cy9Ob3RpZmljYXRpb25zU2lkZWJhcic7XG5pbXBvcnQge1xuICBBZHZhbmNlZFNlbGVjdGlvbixcbiAgZ2V0RW1wdHlOb3RpZmljYXRpb24sXG4gIE5vdGlmaWNhdGlvbixcbn0gZnJvbSAnLi9ub3RpZmljYXRpb25VdGlscyc7XG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuaW1wb3J0IHsgU3Bpbm5lciB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvU3Bpbm5lci9TcGlubmVyJztcbmltcG9ydCB7IHVybHMgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvdXJscyc7XG5pbXBvcnQgeyBpc01vYmlsZSB9IGZyb20gJ3JlYWN0LWRldmljZS1kZXRlY3QnO1xuaW1wb3J0IHsgdXNlSW5pdGlhbGl6ZUhlYWRlcnMgfSBmcm9tICcuLi8uLi9ob29rcy91c2VJbml0aWFsaXplSGVhZGVycyc7XG5pbXBvcnQgdXNlUXVlcnlVUkwgZnJvbSAnLi4vLi4vaG9va3MvdXNlUXVlcnlVUkwnO1xuXG5jb25zdCBOb3RpZmljYXRpb25zUGFnZTogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIGNvbnN0IFtpc1NpZGViYXJPcGVuLCBzZXRJc1NpZGViYXJPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW2RhdGEsIHNldERhdGFdID0gdXNlU3RhdGU8Tm90aWZpY2F0aW9uW10+KFtdKTtcbiAgY29uc3QgW3dhdGVyQXV0aG9yaXRpZXMsIHNldFdhdGVyQXV0aG9yaXRpZXNdID0gdXNlU3RhdGU8QWR2YW5jZWRTZWxlY3Rpb25bXT4oXG4gICAgW10sXG4gICk7XG4gIGNvbnN0IFtoYXNUZWxlZ3JhbSwgc2V0SGFzVGVsZWdyYW1dID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCBbaGFzUGhvbmUsIHNldEhhc1Bob25lXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3BvaW50cywgc2V0UG9pbnRzXSA9IHVzZVN0YXRlPEFkdmFuY2VkU2VsZWN0aW9uW10+KFtdKTtcbiAgY29uc3QgW3RhZ3MsIHNldFRhZ3NdID0gdXNlU3RhdGU8QWR2YW5jZWRTZWxlY3Rpb25bXT4oW10pO1xuICBjb25zdCBbc2Vuc29ycywgc2V0U2Vuc29yc10gPSB1c2VTdGF0ZTxBZHZhbmNlZFNlbGVjdGlvbltdPihbXSk7XG4gIGNvbnN0IFthbGxvd2VkTm90aWZpY2F0aW9ucywgc2V0QWxsb3dlZE5vdGlmaWNhdGlvbnNdID0gdXNlU3RhdGU8c3RyaW5nW10+KFxuICAgIFtdLFxuICApO1xuICBjb25zdCBbaXNGZXRjaGluZywgc2V0SXNGZXRjaGluZ10gPSB1c2VTdGF0ZSh0cnVlKTtcbiAgY29uc3QgW2N1cnJlbnROb3RpZmljYXRpb24sIHNldE5vdGlmaWNhdGlvbl0gPSB1c2VTdGF0ZTxOb3RpZmljYXRpb24+KFxuICAgIGdldEVtcHR5Tm90aWZpY2F0aW9uKCksXG4gICk7XG5cbiAgdXNlSW5pdGlhbGl6ZUhlYWRlcnMoKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBmZXRjaE5vdGlmaWNhdGlvbnNEYXRhKCk7XG4gIH0sIFtdKTtcblxuICBjb25zdCBxdWVyeSA9IHVzZVF1ZXJ5VVJMKCk7XG4gIGNvbnN0IGdldFdBSWQgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHF1ZXJ5LmdldCgnd2F0ZXJfYXV0aG9yaXR5X2lkJyk7XG4gIH07XG5cbiAgY29uc3QgZmV0Y2hOb3RpZmljYXRpb25zRGF0YSA9ICgpID0+IHtcbiAgICBzZXRJc0ZldGNoaW5nKHRydWUpO1xuICAgIGF4aW9zXG4gICAgICAuZ2V0KFxuICAgICAgICB1cmxzKHsgd2F0ZXJBdXRob3JpdHlJZDogZ2V0V0FJZCgpIH0pLm5vdGlmaWNhdGlvbnNQYWdlLmdldE5vdGlmaWNhdGlvbnNcbiAgICAgICAgICAudXJsLFxuICAgICAgKVxuICAgICAgLnRoZW4oKHJlcykgPT4ge1xuICAgICAgICBzZXREYXRhKHJlcy5kYXRhLm5vdGlmaWNhdGlvbnMpO1xuICAgICAgICBzZXRXYXRlckF1dGhvcml0aWVzKHJlcy5kYXRhLndhdGVyX2F1dGhvcml0aWVzKTtcbiAgICAgICAgc2V0UG9pbnRzKHJlcy5kYXRhLnBvaW50cyk7XG4gICAgICAgIHNldFRhZ3MocmVzLmRhdGEudGFncyk7XG4gICAgICAgIHNldFNlbnNvcnMocmVzLmRhdGEuc2Vuc29ycyk7XG4gICAgICAgIHNldEFsbG93ZWROb3RpZmljYXRpb25zKHJlcy5kYXRhLmFsbG93ZWRfYWxlcnRzKTtcbiAgICAgICAgc2V0SGFzVGVsZWdyYW0ocmVzLmRhdGEudXNlcl9oYXNfdGVsZWdyYW0pO1xuICAgICAgICBzZXRIYXNQaG9uZShyZXMuZGF0YS51c2VyX2hhc19waG9uZSk7XG4gICAgICAgIHNldElzRmV0Y2hpbmcoZmFsc2UpO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoKSA9PiB7XG4gICAgICAgIHNldElzRmV0Y2hpbmcoZmFsc2UpO1xuICAgICAgfSk7XG4gIH07XG5cbiAgY29uc3QgZGVsZXRlTm90aWZpY2F0aW9uID0gKG5vdGlmaWNhdGlvbikgPT4ge1xuICAgIHNldElzRmV0Y2hpbmcodHJ1ZSk7XG5cbiAgICBheGlvc1xuICAgICAgLnBvc3QodXJscygpLm5vdGlmaWNhdGlvbnNQYWdlLmRlbGV0ZU5vdGlmaWNhdGlvbi51cmwsIHtcbiAgICAgICAgYWxlcnRfaWQ6IG5vdGlmaWNhdGlvbi5pZCxcbiAgICAgIH0pXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIGZldGNoTm90aWZpY2F0aW9uc0RhdGEoKTtcbiAgICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IHVwZGF0ZU5vdGlmaWNhdGlvbnMgPSAobm90aWZpY2F0aW9uKSA9PiB7XG4gICAgc2V0SXNGZXRjaGluZyh0cnVlKTtcblxuICAgIGF4aW9zXG4gICAgICAucGF0Y2godXJscygpLm5vdGlmaWNhdGlvbnNQYWdlLnVwZGF0ZU5vdGlmaWNhdGlvbnMudXJsLCBub3RpZmljYXRpb24pXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIGZldGNoTm90aWZpY2F0aW9uc0RhdGEoKTtcbiAgICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IHRvZ2dsZVNpZGViYXIgPSAobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24pID0+IHtcbiAgICBzZXROb3RpZmljYXRpb24obm90aWZpY2F0aW9uKTtcbiAgICBzZXRJc1NpZGViYXJPcGVuKHRydWUpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPExheW91dD5cbiAgICAgIDxOb3RpZmljYXRpb25zUGFnZVN0eWxlPlxuICAgICAgICB7aXNTaWRlYmFyT3BlbiAmJiA8U2NyZWVuU3R5bGUgLz59XG4gICAgICAgIDxOb3RpZmljYXRpb25zTGlzdEhlYWRTdHlsZT5cbiAgICAgICAgICB7aXNGZXRjaGluZyAmJiA8U3Bpbm5lciAvPn1cbiAgICAgICAgICA8aDE+e2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLnRpdGxlJyl9PC9oMT5cbiAgICAgICAgICA8Tm90aWZpY2F0aW9uc0xpc3RIZWFkQ29udGVudFN0eWxlPlxuICAgICAgICAgICAgPHA+e2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLnN1YnRpdGxlJyl9PC9wPlxuICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICB2YXJpYW50PXt2YXJpYW50LlBSSU1BUll9XG4gICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICBzaXplPVwibWRcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB0b2dnbGVTaWRlYmFyKGdldEVtcHR5Tm90aWZpY2F0aW9uKCkpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7aTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UuYWRkX25ldycpfVxuICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgPC9Ob3RpZmljYXRpb25zTGlzdEhlYWRDb250ZW50U3R5bGU+XG4gICAgICAgIDwvTm90aWZpY2F0aW9uc0xpc3RIZWFkU3R5bGU+XG4gICAgICAgIDxOb3RpZmljYXRpb25zTGlzdFN0eWxlPlxuICAgICAgICAgIHtkYXRhICYmIGRhdGEubGVuZ3RoID4gMFxuICAgICAgICAgICAgPyBkYXRhLm1hcCgobm90aWZpY2F0aW9uLCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgIDxOb3RpZmljYXRpb25zQ2FyZFxuICAgICAgICAgICAgICAgICAga2V5PXtub3RpZmljYXRpb24uaWR9XG4gICAgICAgICAgICAgICAgICBub3RpZmljYXRpb249e25vdGlmaWNhdGlvbn1cbiAgICAgICAgICAgICAgICAgIGNhcmROdW1iZXI9e2luZGV4ICsgMX1cbiAgICAgICAgICAgICAgICAgIHRvZ2dsZVNpZGViYXI9e3RvZ2dsZVNpZGViYXJ9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKSlcbiAgICAgICAgICAgIDogIWlzRmV0Y2hpbmcgJiYgKFxuICAgICAgICAgICAgICAgIDxwPntpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5ub19ub3RpZmljYXRpb24nKX08L3A+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgIDwvTm90aWZpY2F0aW9uc0xpc3RTdHlsZT5cbiAgICAgICAge2lzU2lkZWJhck9wZW4gJiYgKFxuICAgICAgICAgIDxOb3RpZmljYXRpb25zU2lkZWJhclxuICAgICAgICAgICAgbm90aWZpY2F0aW9uPXtjdXJyZW50Tm90aWZpY2F0aW9ufVxuICAgICAgICAgICAgc2V0SXNTaWRlYmFyT3Blbj17c2V0SXNTaWRlYmFyT3Blbn1cbiAgICAgICAgICAgIHBvaW50cz17cG9pbnRzfVxuICAgICAgICAgICAgdGFncz17dGFnc31cbiAgICAgICAgICAgIHNlbnNvcnM9e3NlbnNvcnN9XG4gICAgICAgICAgICBoYXNUZWxlZ3JhbT17aGFzVGVsZWdyYW19XG4gICAgICAgICAgICBoYXNQaG9uZT17aGFzUGhvbmV9XG4gICAgICAgICAgICB3YXRlckF1dGhvcml0aWVzPXt3YXRlckF1dGhvcml0aWVzfVxuICAgICAgICAgICAgYWxsb3dlZE5vdGlmaWNhdGlvbnM9e2FsbG93ZWROb3RpZmljYXRpb25zfVxuICAgICAgICAgICAgZGVsZXRlTm90aWZpY2F0aW9uPXtkZWxldGVOb3RpZmljYXRpb259XG4gICAgICAgICAgICB1cGRhdGVOb3RpZmljYXRpb25zPXt1cGRhdGVOb3RpZmljYXRpb25zfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L05vdGlmaWNhdGlvbnNQYWdlU3R5bGU+XG4gICAgPC9MYXlvdXQ+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBOb3RpZmljYXRpb25zUGFnZTtcblxuZXhwb3J0IGNvbnN0IE5vdGlmaWNhdGlvbnNQYWdlU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogbWF4LWNvbnRlbnQ7XG5gO1xuXG5jb25zdCBOb3RpZmljYXRpb25zTGlzdEhlYWRTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAyMHB4IDAgMjBweCAwO1xuICAuc3Bpbm5lci1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICR7aXNNb2JpbGUgPyAndG9wOiAtNDdweDsnIDogJ3RvcDogLTNweDsnfVxuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjcpO1xuICB9XG4gIGgxIHtcbiAgICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuZm9udFNpemUueHhsfTtcbiAgICBmb250LXdlaWdodDogODAwO1xuICB9XG4gICR7ZG93bignbWQnKX0ge1xuICAgIGgxIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5mb250U2l6ZS54bH07XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgTm90aWZpY2F0aW9uc0xpc3RIZWFkQ29udGVudFN0eWxlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG4gIC5idG4ge1xuICAgIHBhZGRpbmc6IDUuNXB4IDI2cHg7XG4gIH1cbiAgJHtkb3duKCd4bCcpfSB7XG4gICAgLmJ0biB7XG4gICAgICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuZm9udFNpemUuc219O1xuICAgIH1cbiAgICBwIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5mb250U2l6ZS5zbX07XG4gICAgfVxuICB9XG4gICR7ZG93bignbGcnKX0ge1xuICAgIC5idG4ge1xuICAgICAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmZvbnRTaXplLnhzfTtcbiAgICB9XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuZm9udFNpemUueHN9O1xuICAgIH1cbiAgfVxuICAke2Rvd24oJ21kJyl9IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTJweDtcbiAgICBwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgTm90aWZpY2F0aW9uc0xpc3RTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDE0cHg7XG5gO1xuXG5jb25zdCBTY3JlZW5TdHlsZSA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS56SW5kZXhlcy5tb2RhbH07XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiBjYWxjKDEwMHZ3ICsgMjBweCk7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IC0yMHB4O1xuICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjgwfTtcbiAgb3BhY2l0eTogMC41O1xuYDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUYsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLEtBQUEsR0FBQUQsc0JBQUEsQ0FBQUgsT0FBQTtBQUVBLElBQUFLLGtCQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxrQkFBQSxHQUFBSCxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQU8scUJBQUEsR0FBQUosc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFRLGtCQUFBLEdBQUFSLE9BQUE7QUFLQSxJQUFBUyxNQUFBLEdBQUFOLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBVSxRQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxLQUFBLEdBQUFYLE9BQUE7QUFDQSxJQUFBWSxrQkFBQSxHQUFBWixPQUFBO0FBQ0EsSUFBQWEscUJBQUEsR0FBQWIsT0FBQTtBQUNBLElBQUFjLFlBQUEsR0FBQVgsc0JBQUEsQ0FBQUgsT0FBQTtBQUFrRCxTQUFBZSx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQWpCLHdCQUFBcUIsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLGFBQUFFLE9BQUEsQ0FBQUYsR0FB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