@kando-env/kando-ui 1.2.382-alpha.9 → 1.2.383
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.
- package/lib/Router.js +36 -78
- package/lib/Widgets/EventsCarousel/EventsCarousel.js +25 -35
- package/lib/Widgets/EventsRow/EventsRow.js +27 -39
- package/lib/Widgets/Map/GraphUtils.js +3 -3
- package/lib/Widgets/Map/Map.js +86 -123
- package/lib/Widgets/Map/MapUtils.js +82 -99
- package/lib/Widgets/Map/areas/AreaPolygon.js +53 -77
- package/lib/Widgets/Map/areas/AreaPolygons.js +23 -24
- package/lib/Widgets/Map/areas/AreaUtils.js +47 -46
- package/lib/Widgets/Map/areas/Patterns.js +4 -4
- package/lib/Widgets/Map/edges/Edge.js +33 -37
- package/lib/Widgets/Map/edges/Edges.js +21 -26
- package/lib/Widgets/Map/edges/arrows/Arrows.js +23 -44
- package/lib/Widgets/Map/events/Event.js +17 -17
- package/lib/Widgets/Map/events/EventIndicator.js +65 -60
- package/lib/Widgets/Map/events/EventPath.js +25 -23
- package/lib/Widgets/Map/events/EventUtils.js +60 -80
- package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +17 -18
- package/lib/Widgets/Map/events/PointOfEvent.js +29 -34
- package/lib/Widgets/Map/events/PointsForSpecificEvent.js +30 -37
- package/lib/Widgets/Map/events/Snail.js +19 -20
- package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +93 -86
- package/lib/Widgets/Map/map/FloatingGraph.js +22 -18
- package/lib/Widgets/Map/map/GraphDateButton.js +25 -17
- package/lib/Widgets/Map/matchGraph/MatchGraph.js +13 -12
- package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +16 -15
- package/lib/Widgets/Map/points/PointIcon.js +22 -15
- package/lib/Widgets/Map/points/PointMarker.js +71 -87
- package/lib/Widgets/Map/points/PointMarkers.js +45 -66
- package/lib/Widgets/Map/points/PointUtils.js +145 -83
- package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +30 -47
- package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +11 -10
- package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +11 -12
- package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +3 -3
- package/lib/Widgets/MostPolluting/Areas/Areas.js +31 -60
- package/lib/Widgets/MostPolluting/Areas/areas.mock.js +3 -3
- package/lib/Widgets/MostPolluting/Areas/styles.js +3 -3
- package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +11 -8
- package/lib/Widgets/MostPolluting/Factories/Factories.js +39 -70
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +15 -18
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +8 -8
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +12 -10
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +3 -3
- package/lib/Widgets/MostPolluting/Factories/factories.mock.js +2 -2
- package/lib/Widgets/MostPolluting/Factories/styles.js +3 -3
- package/lib/Widgets/MostPolluting/MostPolluting.js +25 -35
- package/lib/Widgets/MostPolluting/MostPolluting.stories.js +18 -22
- package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +6 -4
- package/lib/Widgets/MostPolluting/ShowMore/styles.js +6 -4
- package/lib/Widgets/MostPolluting/assets/index.js +10 -10
- package/lib/Widgets/MostPolluting/components/ChangePercent.js +19 -13
- package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +35 -30
- package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +45 -35
- package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +39 -35
- package/lib/Widgets/MostPolluting/components/PotentialImpact.js +28 -27
- package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +54 -50
- package/lib/Widgets/MostPolluting/styles.js +3 -3
- package/lib/Widgets/PotentialImpactSummary/Back/Back.js +7 -5
- package/lib/Widgets/PotentialImpactSummary/Icon.js +12 -10
- package/lib/Widgets/PotentialImpactSummary/index.js +19 -27
- package/lib/Widgets/PotentialImpactSummary/index.test.js +47 -52
- package/lib/Widgets/PotentialImpactSummary/styles.js +7 -7
- package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +9 -7
- package/lib/Widgets/QualitySummary/PieChart/PieChart.js +22 -17
- package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +35 -32
- package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +26 -24
- package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +35 -37
- package/lib/Widgets/QualitySummary/QualitySummary.js +9 -13
- package/lib/Widgets/QualitySummary/qualitySummary.mock.js +4 -4
- package/lib/Widgets/QualitySummary/styles.js +23 -15
- package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +12 -13
- package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +27 -26
- package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +29 -24
- package/lib/Widgets/UtilityInformation/UtilityInformation.js +23 -37
- package/lib/Widgets/UtilityInformation/styles.js +34 -25
- package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +3 -3
- package/lib/assets/icons/TopNavbar/index.js +6 -6
- package/lib/assets/icons/TrendSvg.js +6 -6
- package/lib/assets/icons/index.js +15 -15
- package/lib/assets/icons/kandoStepper/index.js +5 -5
- package/lib/assets/icons/siteTypes/index.js +1 -1
- package/lib/components/ApplyButton/ApplyButton.js +9 -9
- package/lib/components/Backdrop/Backdrop.js +6 -4
- package/lib/components/ContentLoader/ContentLoader.js +11 -9
- package/lib/components/ContentLoader/index.js +1 -1
- package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +13 -12
- package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +3 -5
- package/lib/components/CustomInputs/DoubleTabs/styles.js +20 -12
- package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +13 -20
- package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +6 -4
- package/lib/components/CustomInputs/Search/Search.js +42 -63
- package/lib/components/CustomInputs/Select/Select.js +45 -58
- package/lib/components/CustomInputs/Select/Select.stories.js +4 -6
- package/lib/components/DamageType/DamageType.js +35 -57
- package/lib/components/DataLoaderError/DataLoaderError.js +8 -6
- package/lib/components/DischargeHeatmap/DischargeHeatmap.js +9 -10
- package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +70 -71
- package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +27 -37
- package/lib/components/DischargeHeatmap/HighchartsOptions.js +10 -12
- package/lib/components/DischargeHeatmap/mocks/handlers.js +3 -3
- package/lib/components/DischargeHeatmap/popupText.js +10 -10
- package/lib/components/DischargeHeatmap/titles.js +3 -3
- package/lib/components/ErrorBoundary.js +27 -41
- package/lib/components/Events/Events.js +41 -58
- package/lib/components/Graph/Graph.js +77 -96
- package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +17 -21
- package/lib/components/Header/DoubleTabs/DoubleTabs.js +25 -33
- package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +3 -5
- package/lib/components/Header/DoubleTabs/styles.js +4 -4
- package/lib/components/Header/Header.js +2 -2
- package/lib/components/Header/Header.stories.js +3 -5
- package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +22 -34
- package/lib/components/Header/InfoBar/InfoBar.js +74 -103
- package/lib/components/Header/InfoBar/Search/Control.js +9 -9
- package/lib/components/Header/InfoBar/Search/GroupLabel.js +7 -5
- package/lib/components/Header/InfoBar/Search/Search.js +16 -21
- package/lib/components/Header/InfoBar/Search/SearchContainer.js +21 -33
- package/lib/components/Header/InfoBar/Search/searchStyle.js +41 -49
- package/lib/components/Header/InfoBar/TimeFilter.js +11 -14
- package/lib/components/Header/KandoNavbar/KandoNavbar.js +64 -89
- package/lib/components/Header/Slideshow/Slideshow.js +68 -90
- package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +6 -4
- package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +21 -23
- package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +18 -18
- package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +37 -43
- package/lib/components/Header/Toolbar/Toolbar.js +55 -74
- package/lib/components/InfoBar/InfoBar.js +10 -23
- package/lib/components/InfoBar/InfoBar.stories.js +3 -5
- package/lib/components/KandoModal/KandoModal.js +27 -41
- package/lib/components/Link.js +8 -7
- package/lib/components/Links/CustomRedirect/CustomRedirect.js +9 -8
- package/lib/components/Links/StyledLink/StyledLink.js +12 -12
- package/lib/components/Links/StyledNavLink/StyledNavLink.js +11 -10
- package/lib/components/LiveEvents/CarouselSlide.js +9 -7
- package/lib/components/LiveEvents/LiveEvents.js +5 -3
- package/lib/components/LoaderByPercent/LoaderByPercent.js +37 -29
- package/lib/components/Map/Map.js +20 -23
- package/lib/components/Modal/Modal.js +9 -9
- package/lib/components/NarrowHeader.js +17 -31
- package/lib/components/PointInfo/PointInfo.js +19 -17
- package/lib/components/PopupModal/PopupModal.js +12 -16
- package/lib/components/PopupModal/PopupModal.stories.js +15 -19
- package/lib/components/Sector/Sector.js +18 -23
- package/lib/components/Sector/Sector.test.js +19 -20
- package/lib/components/Sector/sectorIcons.js +2 -2
- package/lib/components/SevereEvent/Eta/Eta.js +49 -52
- package/lib/components/SevereEvent/Eta/styles.js +10 -6
- package/lib/components/SevereEvent/SevereEvent.js +30 -37
- package/lib/components/Spinner/Spinner.js +8 -8
- package/lib/components/Spinner/Spinner.stories.js +4 -6
- package/lib/components/Spinner/styles.js +22 -14
- package/lib/components/Tabs/Tabs.js +21 -29
- package/lib/components/Tabs/Tabs.stories.js +4 -6
- package/lib/components/Tabs/assets/index.js +5 -5
- package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +12 -15
- package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +40 -51
- package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +19 -31
- package/lib/components/TimeRangeSelector/TimeRangeHelper.js +20 -25
- package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +13 -13
- package/lib/components/TimeRangeSelector/TimeRangeList.js +23 -24
- package/lib/components/TimeRangeSelector/TimeRangeOptions.js +17 -25
- package/lib/components/TimeRangeSelector/TimeRangeSelector.js +31 -32
- package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +4 -6
- package/lib/components/TimeRangeSelector/constants.js +3 -3
- package/lib/components/Toggle/Toggle.js +12 -17
- package/lib/components/TrendGraph/TrendGraph.js +23 -39
- package/lib/components/TrendGraphNVL/TrendGraphNVL.js +27 -33
- package/lib/development-environment/index.js +8 -12
- package/lib/development-environment/mock/browser.js +2 -4
- package/lib/development-environment/mock/get.js +8 -10
- package/lib/development-environment/mock/handlers.js +2 -2
- package/lib/development-environment/mock/mockBus.js +4 -4
- package/lib/development-environment/mock/mockObjects/area-trends-graph.js +2 -2
- package/lib/development-environment/mock/mockObjects/areaInformation.js +2 -2
- package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +2 -2
- package/lib/development-environment/mock/mockObjects/areaSitesData.js +2 -2
- package/lib/development-environment/mock/mockObjects/areasJson.js +2 -2
- package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +2 -2
- package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +2 -2
- package/lib/development-environment/mock/mockObjects/data-menuData.js +2 -2
- package/lib/development-environment/mock/mockObjects/data-search.js +2 -2
- package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +2 -2
- package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +2 -2
- package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +2 -2
- package/lib/development-environment/mock/mockObjects/eventsJson.js +2 -2
- package/lib/development-environment/mock/mockObjects/metascore.js +2 -2
- package/lib/development-environment/mock/mockObjects/permissionsJson.js +2 -2
- package/lib/development-environment/mock/mockObjects/pointsJson.js +2 -2
- package/lib/development-environment/mock/mockObjects/site-info.js +2 -2
- package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +2 -2
- package/lib/development-environment/togly/ToglyDashboard.js +13 -22
- package/lib/development-environment/togly/ToglyItem.js +36 -31
- package/lib/development-environment/togly/init.js +2 -2
- package/lib/development-environment/togly/macro.js +14 -10
- package/lib/development-environment/togly/useDoubleKeyDown.js +7 -9
- package/lib/development-environment/togly/useLocalStorage.js +13 -18
- package/lib/hooks/useApi.js +19 -55
- package/lib/hooks/useApiWithDashboardQuery.js +30 -49
- package/lib/hooks/useClickOutside.js +3 -3
- package/lib/hooks/useInitializeHeaders.js +5 -5
- package/lib/hooks/useKandoFetch.js +16 -29
- package/lib/hooks/useMap.js +22 -34
- package/lib/hooks/useNavContext.js +22 -26
- package/lib/hooks/useRemoveExistingLayers.js +6 -6
- package/lib/hooks/useUpdateEventBodyTail.js +13 -17
- package/lib/hooks/useUserTimeZone.js +33 -30
- package/lib/hooks/useUserTimeZone.test.js +19 -22
- package/lib/hooks/useWindowSize.js +7 -14
- package/lib/i18n/en.json +0 -15
- package/lib/index.js +11 -13
- package/lib/macros/getVersion.js +3 -3
- package/lib/pages/AreaPage/AreaPage.js +34 -67
- package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +16 -17
- package/lib/pages/AreaPage/Dashboard/Dashboard.js +30 -31
- package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +17 -25
- package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +4 -4
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +8 -8
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +11 -11
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +3 -3
- package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +2 -2
- package/lib/pages/AreaPage/Dashboard/Sites/styles.js +4 -4
- package/lib/pages/AssessmentPage/AssessmentPage.js +40 -46
- package/lib/pages/CannyWidget/Feedback.js +13 -13
- package/lib/pages/CovidPage/CovidPage.js +8 -13
- package/lib/pages/CovidPage/components/Body.js +25 -27
- package/lib/pages/CovidPage/components/Map.js +29 -39
- package/lib/pages/CovidPage/components/Sidebar.js +16 -15
- package/lib/pages/CovidPage/components/Summary.js +20 -27
- package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +27 -33
- package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +51 -73
- package/lib/pages/CovidPage/components/areas/Area.js +29 -40
- package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +55 -46
- package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +32 -35
- package/lib/pages/CovidPage/components/areas/AreasList.js +34 -46
- package/lib/pages/CovidPage/components/areas/Sort.js +11 -14
- package/lib/pages/CovidPage/components/nvlStatusHelper.js +11 -11
- package/lib/pages/DashboardMap/AreaCard.js +28 -28
- package/lib/pages/DashboardMap/AssessmentIcon.js +8 -7
- package/lib/pages/DashboardMap/Capacity.js +31 -80
- package/lib/pages/DashboardMap/FactoryCard.js +31 -26
- package/lib/pages/DashboardMap/HighchartsOptions.js +5 -4
- package/lib/pages/DashboardMap/List.js +74 -105
- package/lib/pages/DashboardMap/ListContext.js +15 -19
- package/lib/pages/DashboardMap/Loader.js +2 -2
- package/lib/pages/DashboardMap/SeverityBadge.js +14 -21
- package/lib/pages/DashboardMap/WWTPMap.js +48 -60
- package/lib/pages/DashboardMap/WaterDischarge.js +8 -8
- package/lib/pages/DashboardMap/Widget.js +54 -71
- package/lib/pages/DashboardMap/utils.js +48 -65
- package/lib/pages/EventsPage/Body/Body.js +20 -15
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +17 -19
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +27 -35
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +8 -6
- package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +11 -7
- package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +21 -30
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +53 -64
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +19 -31
- package/lib/pages/EventsPage/EventsPage.js +7 -10
- package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +26 -38
- package/lib/pages/EventsPage/events/MoreInfo.js +17 -16
- package/lib/pages/EventsPage/events/Sidebar.js +22 -18
- package/lib/pages/EventsPage/events/event_info/Contaminants/Contaminants.js +7 -7
- package/lib/pages/EventsPage/events/event_info/Contaminants/ContaminantsList.js +17 -20
- package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +30 -35
- package/lib/pages/EventsPage/events/event_info/EventDetails.js +40 -37
- package/lib/pages/EventsPage/events/event_info/EventInfo.js +43 -42
- package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +4 -4
- package/lib/pages/EventsPage/events/event_info/EventSection.js +17 -19
- package/lib/pages/EventsPage/events/event_info/EventSection.test.js +43 -38
- package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +39 -47
- package/lib/pages/EventsPage/events/event_info/Header/Header.js +6 -4
- package/lib/pages/EventsPage/events/event_info/Header/HeaderContainer.js +30 -33
- package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +6 -6
- package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +29 -36
- package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +4 -6
- package/lib/pages/EventsPage/events/event_info/PollutionAssessment /PollutionAssessment.js +10 -10
- package/lib/pages/EventsPage/events/event_info/PollutionAssessment /PollutionTypesList.js +7 -9
- package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +22 -21
- package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResult.js +12 -19
- package/lib/pages/EventsPage/events/event_info/SamplingList/LabResult/LabResultButton.js +5 -3
- package/lib/pages/EventsPage/events/event_info/SamplingList/SamplingDetails.js +11 -9
- package/lib/pages/EventsPage/events/event_info/SamplingList/Samplings.js +22 -26
- package/lib/pages/EventsPage/events/event_info/SeverityScore/ScoreExplanation.js +12 -8
- package/lib/pages/EventsPage/events/event_info/SeverityScore/SeverityScore.js +7 -7
- package/lib/pages/EventsPage/events/event_info/SourceDetails/Confidence.js +6 -4
- package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.js +2 -2
- package/lib/pages/EventsPage/events/event_info/SourceDetails/Discharging.test.js +12 -10
- package/lib/pages/EventsPage/events/event_info/SourceDetails/IconAndTitles.js +10 -8
- package/lib/pages/EventsPage/events/event_info/SourceDetails/MoreInfoButton.js +10 -12
- package/lib/pages/EventsPage/events/event_info/SourceDetails/OtherSources.js +5 -3
- package/lib/pages/EventsPage/events/event_info/SourceDetails/PotentialSources.js +7 -5
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SingleSource.js +7 -5
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceCardBody.js +6 -4
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.js +11 -9
- package/lib/pages/EventsPage/events/event_info/SourceDetails/SourceDetails.test.js +15 -15
- package/lib/pages/EventsPage/events/event_info/SourceDetails/WaterDischarge.js +6 -6
- package/lib/pages/EventsPage/events/event_info/Timelines/DischargeBox.js +7 -5
- package/lib/pages/EventsPage/events/event_info/Timelines/EarlyWarning.js +17 -15
- package/lib/pages/EventsPage/events/event_info/Timelines/LiveStatusBadge.js +4 -4
- package/lib/pages/EventsPage/events/event_info/Timelines/SeenBox.js +10 -8
- package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.js +16 -11
- package/lib/pages/EventsPage/events/event_info/Timelines/Timelines.test.js +9 -8
- package/lib/pages/EventsPage/events/event_info/Timelines/Titles.js +2 -2
- package/lib/pages/EventsPage/events/event_info/Timelines/style.js +3 -3
- package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +25 -38
- package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +29 -36
- package/lib/pages/EventsPage/events/event_info/samplingsOld/Sampling.js +11 -9
- package/lib/pages/EventsPage/events/event_info/samplingsOld/Samplings.js +15 -17
- package/lib/pages/EventsPage/events/event_info/sources/Source.js +27 -30
- package/lib/pages/EventsPage/events/event_info/sources/Sources.js +23 -26
- package/lib/pages/EventsPage/events/event_info/styles.js +20 -12
- package/lib/pages/EventsPage/events/events_list/EventItem.js +18 -19
- package/lib/pages/EventsPage/events/events_list/EventUtils.js +10 -10
- package/lib/pages/EventsPage/events/events_list/EventsList.js +124 -145
- package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +40 -55
- package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +79 -115
- package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +60 -77
- package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +38 -41
- package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +29 -36
- package/lib/pages/EventsPage/events/events_list/Sort.js +13 -16
- package/lib/pages/ImportFileWizard/FileUploadRespones.js +13 -20
- package/lib/pages/ImportFileWizard/ImportButtomButtons.js +6 -4
- package/lib/pages/ImportFileWizard/ImportFile.js +20 -22
- package/lib/pages/ImportFileWizard/ResponseBody.js +24 -33
- package/lib/pages/ImportFileWizard/ValidationForm.js +23 -22
- package/lib/pages/ImportFileWizard/ValidationResponse.js +21 -21
- package/lib/pages/ImportFileWizard/importFileUtils.js +1 -1
- package/lib/pages/ImportGisPage/ImportGisContainer.js +21 -24
- package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +21 -23
- package/lib/pages/ImportGisPage/importGisUtils.js +13 -21
- package/lib/pages/ImportGisProcess/index.js +12 -15
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +7 -12
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +17 -19
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +3 -3
- package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +56 -65
- package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +6 -8
- package/lib/pages/NotificationsPage/Notification/Notification.js +16 -12
- package/lib/pages/NotificationsPage/Notifications.mock.js +2 -2
- package/lib/pages/NotificationsPage/Notifications.stories.js +4 -6
- package/lib/pages/NotificationsPage/NotificationsPage.js +18 -36
- package/lib/pages/NotificationsPage/assets/index.js +9 -9
- package/lib/pages/NotificationsPageV2/NotificationsPage.js +71 -97
- package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +94 -63
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/EventType.js +14 -16
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSendVia.js +18 -16
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSensors.js +17 -21
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationSources.js +17 -21
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationTags.js +18 -22
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +83 -69
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/WaterAuthoritySelection.js +18 -22
- package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +74 -74
- package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +97 -95
- package/lib/pages/NotificationsPageV2/notificationUtils.js +54 -48
- package/lib/pages/OldSitePage/OldSitePage.js +57 -132
- package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +5 -5
- package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +3 -5
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +8 -6
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +18 -20
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +9 -7
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +12 -18
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +16 -12
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +3 -5
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +18 -12
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +51 -63
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +9 -7
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +29 -53
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +4 -4
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +10 -12
- package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +11 -10
- package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +10 -11
- package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +32 -28
- package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +27 -29
- package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +4 -4
- package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +18 -12
- package/lib/pages/ProfilePage/Container.js +2 -2
- package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +28 -44
- package/lib/pages/ProfilePage/ProfilePage.js +121 -214
- package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +25 -33
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +19 -16
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +28 -30
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +57 -117
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +17 -20
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +12 -10
- package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +39 -41
- package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +25 -26
- package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +16 -16
- package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +13 -15
- package/lib/pages/SamplingsPage/NavigationDropdown.js +45 -32
- package/lib/pages/SamplingsPage/NewSamplingAction.js +76 -100
- package/lib/pages/SamplingsPage/SamplingMobileModal.js +129 -101
- package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +21 -22
- package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +34 -22
- package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +36 -59
- package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +15 -18
- package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +9 -7
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +110 -194
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +49 -55
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +47 -43
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +49 -45
- package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +19 -20
- package/lib/pages/SamplingsPage/SamplingProperties/styles.js +3 -3
- package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +10 -6
- package/lib/pages/SamplingsPage/SamplingsMobileItem.js +58 -54
- package/lib/pages/SamplingsPage/SamplingsMobileList.js +21 -28
- package/lib/pages/SamplingsPage/SamplingsPage.js +27 -33
- package/lib/pages/SamplingsPage/SamplingsPageContainer.js +50 -58
- package/lib/pages/SamplingsPage/samplingsPageUtils.js +68 -76
- package/lib/pages/SitePage/DischargePattern/DischargePattern.js +6 -4
- package/lib/pages/SitePage/PollutionContributor/PollutionContributor.js +14 -13
- package/lib/pages/SitePage/PollutionContributor/PollutionContributorContainer.js +10 -13
- package/lib/pages/SitePage/PollutionContributor/contributorUtils.js +16 -16
- package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +3 -5
- package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +14 -10
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +9 -8
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +26 -23
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +14 -17
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +36 -32
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +9 -7
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +15 -24
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +16 -12
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +3 -5
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +18 -12
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +58 -70
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +9 -7
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +15 -26
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +5 -5
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +10 -12
- package/lib/pages/SitePage/SamplingParameters/body/Body.js +9 -9
- package/lib/pages/SitePage/SamplingParameters/body/BodyContainer.js +29 -37
- package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +11 -11
- package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +10 -11
- package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +60 -59
- package/lib/pages/SitePage/SamplingParameters/dataParser.js +30 -39
- package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +11 -9
- package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +4 -4
- package/lib/pages/SitePage/SamplingParameters/styles/styles.js +18 -12
- package/lib/pages/SitePage/SiteInformation/EmptyState.js +11 -7
- package/lib/pages/SitePage/SiteInformation/SiteInformation.js +31 -30
- package/lib/pages/SitePage/SitePage.js +42 -81
- package/lib/pages/UploadLabResult/index.js +13 -13
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +26 -35
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +6 -8
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +9 -8
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +3 -5
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +47 -48
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +10 -6
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +4 -4
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +4 -6
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +13 -12
- package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +15 -12
- package/lib/pages/UtilityDashboardPage/TopBar/constants.js +7 -7
- package/lib/pages/UtilityDashboardPage/TopBar/styles.js +2 -2
- package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +21 -29
- package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +26 -30
- package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +16 -17
- package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +7 -13
- package/lib/pages/UtilityDashboardPage/VirtualAreaDashboardPage.js +27 -31
- package/lib/pages/WbeDashboard/ExpandableComponent.js +9 -8
- package/lib/pages/WbeDashboard/GraphWrapper.js +30 -36
- package/lib/pages/WbeDashboard/IndividualTinyGraph.js +17 -19
- package/lib/pages/WbeDashboard/SearchInput.js +15 -20
- package/lib/pages/WbeDashboard/SummaryGraph.js +50 -76
- package/lib/pages/WbeDashboard/SummaryGraphModal.js +19 -17
- package/lib/pages/WbeDashboard/Tabs.js +11 -11
- package/lib/pages/WbeDashboard/WbeDashboardPage.js +151 -213
- package/lib/pages/WbeDashboard/WbeSummaryBar.js +40 -48
- package/lib/pages/WwtpPage/DashboardCard.js +26 -23
- package/lib/pages/WwtpPage/DischargePatternCard.js +14 -23
- package/lib/pages/WwtpPage/InletsCard/InletsBar.js +26 -22
- package/lib/pages/WwtpPage/InletsCard/InletsCard.js +19 -18
- package/lib/pages/WwtpPage/Map.js +5 -3
- package/lib/pages/WwtpPage/OrganicCard.js +2 -2
- package/lib/pages/WwtpPage/PotentialSaving/ImpactCard.js +2 -2
- package/lib/pages/WwtpPage/PotentialSaving/PotentialItem.js +8 -6
- package/lib/pages/WwtpPage/PotentialSaving/PotentialSaving.js +9 -8
- package/lib/pages/WwtpPage/PotentialSaving/PotentialSavingContainer.js +18 -14
- package/lib/pages/WwtpPage/PredictionCard.js +2 -2
- package/lib/pages/WwtpPage/TrendCard.js +18 -19
- package/lib/pages/WwtpPage/UpgradeBox.js +3 -3
- package/lib/pages/WwtpPage/WwtpPage.js +8 -8
- package/lib/pages/WwtpPage/WwtpPageContainer.js +21 -16
- package/lib/providers/Slideshow/SlideshowContext.js +11 -9
- package/lib/providers/Slideshow/SlideshowProvider.js +22 -38
- package/lib/providers/Slideshow/SlideshowRunner.js +17 -19
- package/lib/providers/UrlHistory/UrlHistoryContext.js +6 -4
- package/lib/providers/UrlHistory/UrlHistoryProvider.js +12 -11
- package/lib/providers/UrlHistory/index.js +2 -2
- package/lib/providers/UrlHistory/useLastVisited.js +5 -5
- package/lib/store/ImportGis/actionTypes.js +1 -1
- package/lib/store/ImportGis/actionsCreator.js +7 -5
- package/lib/store/ImportGis/reducer.js +40 -29
- package/lib/store/WBE/actionTypes.js +2 -2
- package/lib/store/WBE/reducer.js +13 -9
- package/lib/store/WWTPDashboard/WWTPDashboardSlice.js +24 -14
- package/lib/store/areas/actionTypes.js +4 -4
- package/lib/store/areas/actions.js +7 -13
- package/lib/store/areas/reducer.js +8 -6
- package/lib/store/context/actionTypes.js +3 -3
- package/lib/store/context/actions.js +3 -3
- package/lib/store/context/contextMiddlewares.js +14 -16
- package/lib/store/context/reducer.js +13 -9
- package/lib/store/dashboard/dashboardSlice.js +18 -10
- package/lib/store/edges/actionTypes.js +5 -5
- package/lib/store/edges/actions.js +4 -8
- package/lib/store/edges/reducer.js +13 -17
- package/lib/store/events/actionTypes.js +17 -17
- package/lib/store/events/actions.js +3 -7
- package/lib/store/events/reducer.js +42 -49
- package/lib/store/global/actionTypes.js +11 -11
- package/lib/store/global/actions.js +8 -6
- package/lib/store/global/reducer.js +11 -10
- package/lib/store/permissions/permissionsSlice.js +12 -8
- package/lib/store/points/actionTypes.js +3 -3
- package/lib/store/points/actions.js +4 -8
- package/lib/store/points/reducer.js +7 -5
- package/lib/store/rootActionTypes.js +2 -2
- package/lib/store/rootReducer.js +17 -12
- package/lib/store/rootStore.js +5 -5
- package/lib/store/samplings/actionTypes.js +1 -1
- package/lib/store/samplings/reducer.js +16 -14
- package/lib/styles/StylesLayout.js +5 -3
- package/lib/styles/theme/theme.js +27 -28
- package/lib/test/mocks/browser.js +2 -4
- package/lib/test/test-utils.js +17 -15
- package/lib/ui-kit/Button/Button.js +128 -80
- package/lib/ui-kit/Button/Button.test.js +24 -29
- package/lib/ui-kit/Checkbox/Checkbox.js +31 -26
- package/lib/ui-kit/ContentCard/ContentCard.js +15 -18
- package/lib/ui-kit/Dashboard/Dashboard.js +25 -22
- package/lib/ui-kit/DropDown/DropDown.js +23 -24
- package/lib/ui-kit/DropDown/DropDown.test.js +12 -12
- package/lib/ui-kit/DropDown/DropDownItem.js +24 -21
- package/lib/ui-kit/DropDown/DropdownToggle.js +12 -8
- package/lib/ui-kit/EmptyState/EmptyState.js +6 -4
- package/lib/ui-kit/IconAction/IconAction.js +7 -5
- package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +48 -64
- package/lib/ui-kit/InfoTooltip/InfoTooltip.js +69 -52
- package/lib/ui-kit/InletsPie/InletsPie.js +15 -13
- package/lib/ui-kit/InletsPie/options.js +6 -6
- package/lib/ui-kit/KandoList/KandoList.js +14 -12
- package/lib/ui-kit/KandoTable/KandoTable.js +48 -40
- package/lib/ui-kit/KandoTable/KandoTable.test.js +16 -22
- package/lib/ui-kit/Layout/Layout.js +6 -4
- package/lib/ui-kit/MobileInput/MobileInput.js +60 -50
- package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +13 -16
- package/lib/ui-kit/OrganicEvents/GaugeChart.js +8 -6
- package/lib/ui-kit/OrganicEvents/OrganicEvents.js +6 -6
- package/lib/ui-kit/OrganicEvents/OrganicEventsContainer.js +27 -20
- package/lib/ui-kit/OrganicEvents/TextInfo.js +15 -10
- package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +10 -8
- package/lib/ui-kit/SamplingStatus/SamplingStatus.js +14 -17
- package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +3 -3
- package/lib/ui-kit/ScoreGauge/ScoreGauge.js +20 -20
- package/lib/ui-kit/ScoreGauge/constant.js +3 -3
- package/lib/ui-kit/TimeLineChart/TrendChart.js +54 -42
- package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +8 -7
- package/lib/ui-kit/Tooltip/Tooltip.js +14 -8
- package/lib/ui-kit/index.js +8 -8
- package/lib/ui-kit/kandoStepper/KandoStepper.js +12 -12
- package/lib/ui-kit/siteName/SiteName.js +11 -8
- package/lib/utilities/ActionUtility.js +7 -7
- package/lib/utilities/Alert.js +21 -17
- package/lib/utilities/Analytics.js +11 -11
- package/lib/utilities/Array.js +4 -5
- package/lib/utilities/Enum.js +15 -51
- package/lib/utilities/ErrorBoundary.js +27 -41
- package/lib/utilities/File.js +40 -69
- package/lib/utilities/GetDir.js +8 -7
- package/lib/utilities/KandoDate.js +7 -15
- package/lib/utilities/KandoModal.js +16 -26
- package/lib/utilities/LocalStorage.js +8 -10
- package/lib/utilities/ThousandsToK.js +3 -3
- package/lib/utilities/TimeFormat.js +21 -20
- package/lib/utilities/Truncate.js +17 -25
- package/lib/utilities/edgesMath.js +14 -15
- package/lib/utilities/i18n.js +3 -3
- package/lib/utilities/kql.js +12 -14
- package/lib/utilities/map/icons.js +3 -3
- package/lib/utilities/polylinedecorator.js +87 -112
- package/lib/utilities/scoreToData.js +17 -17
- package/lib/utilities/scoreToData.test.js +5 -5
- package/lib/utilities/time.js +8 -8
- package/lib/utilities/uploadToS3.js +11 -11
- package/lib/utilities/urls.js +61 -64
- package/package.json +1 -3
- package/lib/components/Sector/SectorIconsNew.js +0 -112
- package/lib/pages/PollutionRiskAssessment/FactoryDetails.js +0 -130
- package/lib/pages/PollutionRiskAssessment/FilterBehaviors.js +0 -64
- package/lib/pages/PollutionRiskAssessment/FilterButton.js +0 -36
- package/lib/pages/PollutionRiskAssessment/Map.js +0 -49
- package/lib/pages/PollutionRiskAssessment/Map.scss +0 -59
- package/lib/pages/PollutionRiskAssessment/TotalSavings.js +0 -51
- package/lib/pages/PollutionRiskAssessment/UseCases.js +0 -53
- package/lib/pages/PollutionRiskAssessment/contact_us.svg +0 -18
- package/lib/pages/PollutionRiskAssessment/filter_button.svg +0 -5
- package/lib/pages/PollutionRiskAssessment/index.js +0 -246
- package/lib/pages/PollutionRiskAssessment/index.scss +0 -45
- package/lib/pages/PollutionRiskAssessment/pig.svg +0 -3
- package/lib/pages/PollutionRiskAssessment/useMap.js +0 -135
- package/lib/pages/PollutionRiskAssessment/use_cases.json +0 -50
- package/lib/store/points/models/IGeoPoint.js +0 -6
- package/lib/ui-kit/KandoBottomSheet/KandoBottomSheet.js +0 -44
- package/lib/ui-kit/KandoBottomSheet/KandoBottomSheet.scss +0 -18
|
@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.waterAuthoritiesRadioButtons = exports.sourcesRadioButtons = exports.severitiesRadioButtons = exports.sendViaCheckBoxes = exports.mockTypes = exports.getNotificationString = exports.getEmptyNotification = void 0;
|
|
8
8
|
var _i18n = _interopRequireDefault(require("utilities/i18n"));
|
|
9
|
-
|
|
9
|
+
const mockTypes = ['PollutionAlertConfig', 'DataloggerThresholdAlertConfig', 'DataloggerOverflowAlertConfig', 'DeviceHealthAlertConfig', 'WbeAlertConfig', 'WbeWeeklyDigestAlertConfig', 'RollingEventAlertConfig', 'DataloggerPumpAlertConfig'];
|
|
10
10
|
exports.mockTypes = mockTypes;
|
|
11
|
-
|
|
11
|
+
const getEmptyNotification = () => {
|
|
12
12
|
return {
|
|
13
13
|
available_types: ['PollutionAlertConfig', 'DataloggerThresholdAlertConfig', 'DataloggerOverflowAlertConfig', 'DeviceHealthAlertConfig', 'WbeAlertConfig', 'WbeWeeklyDigestAlertConfig', 'RollingEventAlertConfig', 'DataloggerPumpAlertConfig'],
|
|
14
14
|
id: '',
|
|
@@ -40,7 +40,7 @@ var getEmptyNotification = function getEmptyNotification() {
|
|
|
40
40
|
};
|
|
41
41
|
};
|
|
42
42
|
exports.getEmptyNotification = getEmptyNotification;
|
|
43
|
-
|
|
43
|
+
const severitiesRadioButtons = [{
|
|
44
44
|
label: 'notifications_page.edit_extreme',
|
|
45
45
|
name: 'severity',
|
|
46
46
|
value: 'extreme'
|
|
@@ -54,7 +54,7 @@ var severitiesRadioButtons = [{
|
|
|
54
54
|
value: 'medium'
|
|
55
55
|
}];
|
|
56
56
|
exports.severitiesRadioButtons = severitiesRadioButtons;
|
|
57
|
-
|
|
57
|
+
const waterAuthoritiesRadioButtons = [{
|
|
58
58
|
label: 'notifications_page.edit_all',
|
|
59
59
|
name: 'water_authorities',
|
|
60
60
|
value: 'all'
|
|
@@ -68,7 +68,7 @@ var waterAuthoritiesRadioButtons = [{
|
|
|
68
68
|
value: 'exclude'
|
|
69
69
|
}];
|
|
70
70
|
exports.waterAuthoritiesRadioButtons = waterAuthoritiesRadioButtons;
|
|
71
|
-
|
|
71
|
+
const sourcesRadioButtons = [{
|
|
72
72
|
label: 'notifications_page.edit_all',
|
|
73
73
|
name: 'sources',
|
|
74
74
|
value: 'all'
|
|
@@ -82,7 +82,7 @@ var sourcesRadioButtons = [{
|
|
|
82
82
|
value: 'exclude'
|
|
83
83
|
}];
|
|
84
84
|
exports.sourcesRadioButtons = sourcesRadioButtons;
|
|
85
|
-
|
|
85
|
+
const sendViaCheckBoxes = [{
|
|
86
86
|
label: 'notifications_page.edit_telegram',
|
|
87
87
|
name: 'actions',
|
|
88
88
|
value: 'telegram'
|
|
@@ -98,90 +98,96 @@ var sendViaCheckBoxes = [{
|
|
|
98
98
|
// },
|
|
99
99
|
];
|
|
100
100
|
exports.sendViaCheckBoxes = sendViaCheckBoxes;
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
sampleString = notification.pump_only === '1' ?
|
|
101
|
+
const getNotificationString = notification => {
|
|
102
|
+
const transIdx = 'notifications_page.notifications_text.';
|
|
103
|
+
const title = _i18n.default.t(`${transIdx}title`);
|
|
104
|
+
let typeString = '';
|
|
105
|
+
let sampleString = '';
|
|
106
|
+
sampleString = notification.pump_only === '1' ? ` ${_i18n.default.t('notifications_page.sampler_activated')}` : '.';
|
|
107
107
|
switch (notification.type) {
|
|
108
108
|
case 'RollingEventAlertConfig':
|
|
109
|
-
typeString = [title, getNotificationAlertsString(notification), _i18n.default.t(
|
|
109
|
+
typeString = [title, getNotificationAlertsString(notification), _i18n.default.t(`${transIdx}about_pollution_events`), getNotificationSeveritiesString(notification), getNotificationSourcesString(notification, transIdx)].join(' ');
|
|
110
110
|
typeString += sampleString;
|
|
111
111
|
break;
|
|
112
112
|
case 'PollutionAlertConfig':
|
|
113
|
-
typeString = [title, getNotificationAlertsString(notification), _i18n.default.t(
|
|
113
|
+
typeString = [title, getNotificationAlertsString(notification), _i18n.default.t(`${transIdx}about_pollution_events`), getNotificationSeveritiesString(notification), getNotificationSourcesString(notification, transIdx)].join(' ');
|
|
114
114
|
typeString += sampleString;
|
|
115
115
|
break;
|
|
116
116
|
case 'DataloggerThresholdAlertConfig':
|
|
117
|
-
typeString =
|
|
117
|
+
typeString = `${title} ${getNotificationAlertsString(notification)} ${_i18n.default.t(transIdx + 'sensors_thresholds')}${getNotificationSensorsString(notification)}.`;
|
|
118
118
|
break;
|
|
119
119
|
case 'DataloggerOverflowAlertConfig':
|
|
120
|
-
typeString =
|
|
120
|
+
typeString = `${title} ${getNotificationAlertsString(notification)} ${_i18n.default.t(transIdx + 'overflow_event')}, ${getNotificationSourcesString(notification, transIdx)}.`;
|
|
121
121
|
break;
|
|
122
122
|
case 'DeviceHealthAlertConfig':
|
|
123
|
-
typeString =
|
|
123
|
+
typeString = `${title} ${getNotificationAlertsString(notification)} ${_i18n.default.t(transIdx + 'device_malfunctioning')} ${getNotificationSourcesString(notification, transIdx)}.`;
|
|
124
124
|
break;
|
|
125
125
|
case 'WbeWeeklyDigestAlertConfig':
|
|
126
|
-
typeString =
|
|
126
|
+
typeString = `${title} ${getNotificationAlertsString(notification)} ${_i18n.default.t(transIdx + 'wbe_weekly')}.`;
|
|
127
127
|
break;
|
|
128
128
|
case 'WbeAlertConfig':
|
|
129
|
-
typeString =
|
|
129
|
+
typeString = `${title} ${getNotificationAlertsString(notification)} ${_i18n.default.t(transIdx + 'wbe_alert')}.`;
|
|
130
130
|
break;
|
|
131
131
|
case 'DataloggerPumpAlertConfig':
|
|
132
|
-
typeString =
|
|
132
|
+
typeString = `${title} ${getNotificationAlertsString(notification)} ${_i18n.default.t(transIdx + 'datalogger_pump')}, ${getNotificationSourcesString(notification, transIdx)}.`;
|
|
133
133
|
break;
|
|
134
134
|
}
|
|
135
135
|
return typeString;
|
|
136
136
|
};
|
|
137
137
|
exports.getNotificationString = getNotificationString;
|
|
138
138
|
function getNotificationAlertsString(notification) {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
for (
|
|
139
|
+
const sendVia = notification.actions;
|
|
140
|
+
let tempArray = [];
|
|
141
|
+
let sendViaString = '';
|
|
142
|
+
for (const key in sendVia) {
|
|
143
143
|
if (sendVia[key]) {
|
|
144
|
-
tempArray.push(_i18n.default.t(
|
|
144
|
+
tempArray.push(_i18n.default.t(`notifications_page.edit_${key}`));
|
|
145
145
|
}
|
|
146
146
|
}
|
|
147
147
|
sendViaString = tempArray.join(', ');
|
|
148
|
-
|
|
148
|
+
let and = _i18n.default.t(`notifications_page.notifications_text.and`);
|
|
149
149
|
and += and === '&' ? ' ' : '';
|
|
150
|
-
sendViaString = sendViaString.replace(/,\s([^,]+)$/,
|
|
150
|
+
sendViaString = sendViaString.replace(/,\s([^,]+)$/, ` ${and}$1`);
|
|
151
151
|
return sendViaString;
|
|
152
152
|
}
|
|
153
153
|
function getNotificationSeveritiesString(notification) {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
154
|
+
const {
|
|
155
|
+
severity
|
|
156
|
+
} = notification;
|
|
157
|
+
let severityString = '';
|
|
158
|
+
severity === 'extreme' ? severityString = _i18n.default.t('notifications_page.extreme') : severityString = _i18n.default.t(`notifications_page.${severity}`) + ' ' + _i18n.default.t(`notifications_page.notifications_text.or_higher`);
|
|
157
159
|
return severityString;
|
|
158
160
|
}
|
|
159
161
|
function getNotificationSourcesString(notification, transIdx) {
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
});
|
|
162
|
+
const {
|
|
163
|
+
set
|
|
164
|
+
} = notification.points;
|
|
165
|
+
const {
|
|
166
|
+
selection_type
|
|
167
|
+
} = notification.points;
|
|
168
|
+
let Strings = [];
|
|
169
|
+
let sourcesString = '';
|
|
170
|
+
if (selection_type === 'all') Strings.push(_i18n.default.t(`${transIdx}in_all_sources`));
|
|
171
|
+
if (selection_type === 'exclude') Strings.push(_i18n.default.t(`${transIdx}excluding`));
|
|
172
|
+
if (selection_type === 'include') sourcesString = _i18n.default.t(`${transIdx}in`) + ' ';
|
|
173
|
+
if (selection_type !== 'all') set.map(source => Strings.push(source.text));
|
|
170
174
|
sourcesString += Strings.join(Strings.length > 1 ? ', ' : ' ');
|
|
171
175
|
return sourcesString;
|
|
172
176
|
}
|
|
173
177
|
function getNotificationSensorsString(notification) {
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
+
const {
|
|
179
|
+
set
|
|
180
|
+
} = notification.sensors;
|
|
181
|
+
const {
|
|
182
|
+
selection_type
|
|
183
|
+
} = notification.sensors;
|
|
184
|
+
let Strings = [];
|
|
185
|
+
let sensorsString = '';
|
|
178
186
|
if (selection_type !== 'all') {
|
|
179
|
-
set.map(
|
|
180
|
-
return Strings.push(sensor.text);
|
|
181
|
-
});
|
|
187
|
+
set.map(sensor => Strings.push(sensor.text));
|
|
182
188
|
sensorsString = ': ';
|
|
183
189
|
sensorsString += Strings.join(', ');
|
|
184
190
|
}
|
|
185
191
|
return sensorsString;
|
|
186
192
|
}
|
|
187
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwibW9ja1R5cGVzIiwiZXhwb3J0cyIsImdldEVtcHR5Tm90aWZpY2F0aW9uIiwiYXZhaWxhYmxlX3R5cGVzIiwiaWQiLCJ0eXBlIiwic2V2ZXJpdHkiLCJ3YXRlcl9hdXRob3JpdGllcyIsInNlbGVjdGlvbl90eXBlIiwic2V0IiwicG9pbnRzIiwidGFncyIsInNlbnNvcnMiLCJhY3Rpb25zIiwidGVsZWdyYW0iLCJlbWFpbCIsInNtcyIsInB1bXBfb25seSIsImRpcmVjdF9pbXBhY3Rfb25seSIsInVuZGVmaW5lZCIsInNldmVyaXRpZXNSYWRpb0J1dHRvbnMiLCJsYWJlbCIsIm5hbWUiLCJ2YWx1ZSIsIndhdGVyQXV0aG9yaXRpZXNSYWRpb0J1dHRvbnMiLCJzb3VyY2VzUmFkaW9CdXR0b25zIiwic2VuZFZpYUNoZWNrQm94ZXMiLCJnZXROb3RpZmljYXRpb25TdHJpbmciLCJub3RpZmljYXRpb24iLCJ0cmFuc0lkeCIsInRpdGxlIiwiaTE4biIsInQiLCJjb25jYXQiLCJ0eXBlU3RyaW5nIiwic2FtcGxlU3RyaW5nIiwiZ2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nIiwiZ2V0Tm90aWZpY2F0aW9uU2V2ZXJpdGllc1N0cmluZyIsImdldE5vdGlmaWNhdGlvblNvdXJjZXNTdHJpbmciLCJqb2luIiwiZ2V0Tm90aWZpY2F0aW9uU2Vuc29yc1N0cmluZyIsInNlbmRWaWEiLCJ0ZW1wQXJyYXkiLCJzZW5kVmlhU3RyaW5nIiwia2V5IiwicHVzaCIsImFuZCIsInJlcGxhY2UiLCJzZXZlcml0eVN0cmluZyIsIlN0cmluZ3MiLCJzb3VyY2VzU3RyaW5nIiwibWFwIiwic291cmNlIiwidGV4dCIsImxlbmd0aCIsInNlbnNvcnNTdHJpbmciLCJzZW5zb3IiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvTm90aWZpY2F0aW9uc1BhZ2VWMi9ub3RpZmljYXRpb25VdGlscy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb24ge1xuICBhdmFpbGFibGVfdHlwZXM/OiBzdHJpbmdbXTtcbiAgaWQ6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICBzZXZlcml0eTogc3RyaW5nO1xuICB3YXRlcl9hdXRob3JpdGllczogQWR2YW5jZWRTZWxlY3Rpb247XG4gIHBvaW50czogQWR2YW5jZWRTZWxlY3Rpb247XG4gIHRhZ3M6IEFkdmFuY2VkU2VsZWN0aW9uO1xuICBzZW5zb3JzOiBBZHZhbmNlZFNlbGVjdGlvbjtcbiAgYWN0aW9uczogYW55O1xuICBwdW1wX29ubHk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZHZhbmNlZFNlbGVjdGlvbiB7XG4gIHNlbGVjdGlvbl90eXBlOiBzdHJpbmc7XG4gIHNldDogYW55O1xuICB3YXRlcl9hdXRob3JpdHk/OiBhbnk7XG59XG5cbmV4cG9ydCBjb25zdCBtb2NrVHlwZXM6IGFueSA9IFtcbiAgJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJyxcbiAgJ0RhdGFsb2dnZXJUaHJlc2hvbGRBbGVydENvbmZpZycsXG4gICdEYXRhbG9nZ2VyT3ZlcmZsb3dBbGVydENvbmZpZycsXG4gICdEZXZpY2VIZWFsdGhBbGVydENvbmZpZycsXG4gICdXYmVBbGVydENvbmZpZycsXG4gICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycsXG4gICdSb2xsaW5nRXZlbnRBbGVydENvbmZpZycsXG4gICdEYXRhbG9nZ2VyUHVtcEFsZXJ0Q29uZmlnJyxcbl07XG5cbmV4cG9ydCBjb25zdCBnZXRFbXB0eU5vdGlmaWNhdGlvbiA9ICgpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBhdmFpbGFibGVfdHlwZXM6IFtcbiAgICAgICdQb2xsdXRpb25BbGVydENvbmZpZycsXG4gICAgICAnRGF0YWxvZ2dlclRocmVzaG9sZEFsZXJ0Q29uZmlnJyxcbiAgICAgICdEYXRhbG9nZ2VyT3ZlcmZsb3dBbGVydENvbmZpZycsXG4gICAgICAnRGV2aWNlSGVhbHRoQWxlcnRDb25maWcnLFxuICAgICAgJ1diZUFsZXJ0Q29uZmlnJyxcbiAgICAgICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycsXG4gICAgICAnUm9sbGluZ0V2ZW50QWxlcnRDb25maWcnLFxuICAgICAgJ0RhdGFsb2dnZXJQdW1wQWxlcnRDb25maWcnLFxuICAgIF0sXG4gICAgaWQ6ICcnLFxuICAgIHR5cGU6ICcnLFxuICAgIHNldmVyaXR5OiAnbWVkaXVtJyxcbiAgICB3YXRlcl9hdXRob3JpdGllczoge1xuICAgICAgc2VsZWN0aW9uX3R5cGU6ICdhbGwnLFxuICAgICAgc2V0OiBbXSxcbiAgICB9LFxuICAgIHBvaW50czoge1xuICAgICAgc2VsZWN0aW9uX3R5cGU6ICdhbGwnLFxuICAgICAgc2V0OiBbXSxcbiAgICB9LFxuICAgIHRhZ3M6IHtcbiAgICAgIHNlbGVjdGlvbl90eXBlOiAnYWxsJyxcbiAgICAgIHNldDogW10sXG4gICAgfSxcbiAgICBzZW5zb3JzOiB7XG4gICAgICBzZWxlY3Rpb25fdHlwZTogJ2FsbCcsXG4gICAgICBzZXQ6IFtdLFxuICAgIH0sXG4gICAgYWN0aW9uczogeyB0ZWxlZ3JhbTogZmFsc2UsIGVtYWlsOiB0cnVlLCBzbXM6IGZhbHNlIH0sXG4gICAgcHVtcF9vbmx5OiAnMCcsXG4gICAgZGlyZWN0X2ltcGFjdF9vbmx5OiB1bmRlZmluZWQsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3Qgc2V2ZXJpdGllc1JhZGlvQnV0dG9ucyA9IFtcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfZXh0cmVtZScsXG4gICAgbmFtZTogJ3NldmVyaXR5JyxcbiAgICB2YWx1ZTogJ2V4dHJlbWUnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9oaWdoJyxcbiAgICBuYW1lOiAnc2V2ZXJpdHknLFxuICAgIHZhbHVlOiAnaGlnaCcsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X21lZGl1bScsXG4gICAgbmFtZTogJ3NldmVyaXR5JyxcbiAgICB2YWx1ZTogJ21lZGl1bScsXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3Qgd2F0ZXJBdXRob3JpdGllc1JhZGlvQnV0dG9ucyA9IFtcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfYWxsJyxcbiAgICBuYW1lOiAnd2F0ZXJfYXV0aG9yaXRpZXMnLFxuICAgIHZhbHVlOiAnYWxsJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfaW5jbHVkZScsXG4gICAgbmFtZTogJ3dhdGVyX2F1dGhvcml0aWVzJyxcbiAgICB2YWx1ZTogJ2luY2x1ZGUnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9leGNsdWRlJyxcbiAgICBuYW1lOiAnd2F0ZXJfYXV0aG9yaXRpZXMnLFxuICAgIHZhbHVlOiAnZXhjbHVkZScsXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3Qgc291cmNlc1JhZGlvQnV0dG9ucyA9IFtcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfYWxsJyxcbiAgICBuYW1lOiAnc291cmNlcycsXG4gICAgdmFsdWU6ICdhbGwnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9pbmNsdWRlJyxcbiAgICBuYW1lOiAnc291cmNlcycsXG4gICAgdmFsdWU6ICdpbmNsdWRlJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfZXhjbHVkZScsXG4gICAgbmFtZTogJ3NvdXJjZXMnLFxuICAgIHZhbHVlOiAnZXhjbHVkZScsXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3Qgc2VuZFZpYUNoZWNrQm94ZXMgPSBbXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X3RlbGVncmFtJyxcbiAgICBuYW1lOiAnYWN0aW9ucycsXG4gICAgdmFsdWU6ICd0ZWxlZ3JhbScsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2VtYWlsJyxcbiAgICBuYW1lOiAnYWN0aW9ucycsXG4gICAgdmFsdWU6ICdlbWFpbCcsXG4gIH0sXG4gIC8vIHtcbiAgLy8gICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X3NtcycsXG4gIC8vICAgbmFtZTogJ2FjdGlvbnMnLFxuICAvLyAgIHZhbHVlOiAnc21zJyxcbiAgLy8gfSxcbl07XG5cbmV4cG9ydCBjb25zdCBnZXROb3RpZmljYXRpb25TdHJpbmcgPSAobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24pID0+IHtcbiAgY29uc3QgdHJhbnNJZHggPSAnbm90aWZpY2F0aW9uc19wYWdlLm5vdGlmaWNhdGlvbnNfdGV4dC4nO1xuICBjb25zdCB0aXRsZSA9IGkxOG4udChgJHt0cmFuc0lkeH10aXRsZWApO1xuICBsZXQgdHlwZVN0cmluZyA9ICcnO1xuICBsZXQgc2FtcGxlU3RyaW5nID0gJyc7XG4gIHNhbXBsZVN0cmluZyA9XG4gICAgbm90aWZpY2F0aW9uLnB1bXBfb25seSA9PT0gJzEnXG4gICAgICA/IGAgJHtpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5zYW1wbGVyX2FjdGl2YXRlZCcpfWBcbiAgICAgIDogJy4nO1xuXG4gIHN3aXRjaCAobm90aWZpY2F0aW9uLnR5cGUpIHtcbiAgICBjYXNlICdSb2xsaW5nRXZlbnRBbGVydENvbmZpZyc6XG4gICAgICB0eXBlU3RyaW5nID0gW1xuICAgICAgICB0aXRsZSxcbiAgICAgICAgZ2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKG5vdGlmaWNhdGlvbiksXG4gICAgICAgIGkxOG4udChgJHt0cmFuc0lkeH1hYm91dF9wb2xsdXRpb25fZXZlbnRzYCksXG4gICAgICAgIGdldE5vdGlmaWNhdGlvblNldmVyaXRpZXNTdHJpbmcobm90aWZpY2F0aW9uKSxcbiAgICAgICAgZ2V0Tm90aWZpY2F0aW9uU291cmNlc1N0cmluZyhub3RpZmljYXRpb24sIHRyYW5zSWR4KSxcbiAgICAgIF0uam9pbignICcpO1xuICAgICAgdHlwZVN0cmluZyArPSBzYW1wbGVTdHJpbmc7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdQb2xsdXRpb25BbGVydENvbmZpZyc6XG4gICAgICB0eXBlU3RyaW5nID0gW1xuICAgICAgICB0aXRsZSxcbiAgICAgICAgZ2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKG5vdGlmaWNhdGlvbiksXG4gICAgICAgIGkxOG4udChgJHt0cmFuc0lkeH1hYm91dF9wb2xsdXRpb25fZXZlbnRzYCksXG4gICAgICAgIGdldE5vdGlmaWNhdGlvblNldmVyaXRpZXNTdHJpbmcobm90aWZpY2F0aW9uKSxcbiAgICAgICAgZ2V0Tm90aWZpY2F0aW9uU291cmNlc1N0cmluZyhub3RpZmljYXRpb24sIHRyYW5zSWR4KSxcbiAgICAgIF0uam9pbignICcpO1xuICAgICAgdHlwZVN0cmluZyArPSBzYW1wbGVTdHJpbmc7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdEYXRhbG9nZ2VyVGhyZXNob2xkQWxlcnRDb25maWcnOlxuICAgICAgdHlwZVN0cmluZyA9IGAke3RpdGxlfSAke2dldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgKX0gJHtpMThuLnQoXG4gICAgICAgIHRyYW5zSWR4ICsgJ3NlbnNvcnNfdGhyZXNob2xkcycsXG4gICAgICApfSR7Z2V0Tm90aWZpY2F0aW9uU2Vuc29yc1N0cmluZyhub3RpZmljYXRpb24pfS5gO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnRGF0YWxvZ2dlck92ZXJmbG93QWxlcnRDb25maWcnOlxuICAgICAgdHlwZVN0cmluZyA9IGAke3RpdGxlfSAke2dldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgKX0gJHtpMThuLnQodHJhbnNJZHggKyAnb3ZlcmZsb3dfZXZlbnQnKX0sICR7Z2V0Tm90aWZpY2F0aW9uU291cmNlc1N0cmluZyhcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgICB0cmFuc0lkeCxcbiAgICAgICl9LmA7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdEZXZpY2VIZWFsdGhBbGVydENvbmZpZyc6XG4gICAgICB0eXBlU3RyaW5nID0gYCR7dGl0bGV9ICR7Z2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICApfSAke2kxOG4udChcbiAgICAgICAgdHJhbnNJZHggKyAnZGV2aWNlX21hbGZ1bmN0aW9uaW5nJyxcbiAgICAgICl9ICR7Z2V0Tm90aWZpY2F0aW9uU291cmNlc1N0cmluZyhub3RpZmljYXRpb24sIHRyYW5zSWR4KX0uYDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ1diZVdlZWtseURpZ2VzdEFsZXJ0Q29uZmlnJzpcbiAgICAgIHR5cGVTdHJpbmcgPSBgJHt0aXRsZX0gJHtnZXROb3RpZmljYXRpb25BbGVydHNTdHJpbmcoXG4gICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICl9ICR7aTE4bi50KHRyYW5zSWR4ICsgJ3diZV93ZWVrbHknKX0uYDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ1diZUFsZXJ0Q29uZmlnJzpcbiAgICAgIHR5cGVTdHJpbmcgPSBgJHt0aXRsZX0gJHtnZXROb3RpZmljYXRpb25BbGVydHNTdHJpbmcoXG4gICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICl9ICR7aTE4bi50KHRyYW5zSWR4ICsgJ3diZV9hbGVydCcpfS5gO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnRGF0YWxvZ2dlclB1bXBBbGVydENvbmZpZyc6XG4gICAgICB0eXBlU3RyaW5nID0gYCR7dGl0bGV9ICR7Z2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICApfSAke2kxOG4udChcbiAgICAgICAgdHJhbnNJZHggKyAnZGF0YWxvZ2dlcl9wdW1wJyxcbiAgICAgICl9LCAke2dldE5vdGlmaWNhdGlvblNvdXJjZXNTdHJpbmcobm90aWZpY2F0aW9uLCB0cmFuc0lkeCl9LmA7XG4gICAgICBicmVhaztcbiAgfVxuICByZXR1cm4gdHlwZVN0cmluZztcbn07XG5cbmZ1bmN0aW9uIGdldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhub3RpZmljYXRpb24pIHtcbiAgY29uc3Qgc2VuZFZpYSA9IG5vdGlmaWNhdGlvbi5hY3Rpb25zO1xuICBsZXQgdGVtcEFycmF5OiBzdHJpbmdbXSA9IFtdO1xuXG4gIGxldCBzZW5kVmlhU3RyaW5nID0gJyc7XG4gIGZvciAoY29uc3Qga2V5IGluIHNlbmRWaWEpIHtcbiAgICBpZiAoc2VuZFZpYVtrZXldKSB7XG4gICAgICB0ZW1wQXJyYXkucHVzaChpMThuLnQoYG5vdGlmaWNhdGlvbnNfcGFnZS5lZGl0XyR7a2V5fWApKTtcbiAgICB9XG4gIH1cbiAgc2VuZFZpYVN0cmluZyA9IHRlbXBBcnJheS5qb2luKCcsICcpO1xuICBsZXQgYW5kID0gaTE4bi50KGBub3RpZmljYXRpb25zX3BhZ2Uubm90aWZpY2F0aW9uc190ZXh0LmFuZGApO1xuICBhbmQgKz0gYW5kID09PSAnJicgPyAnICcgOiAnJztcbiAgc2VuZFZpYVN0cmluZyA9IHNlbmRWaWFTdHJpbmcucmVwbGFjZSgvLFxccyhbXixdKykkLywgYCAke2FuZH0kMWApO1xuICByZXR1cm4gc2VuZFZpYVN0cmluZztcbn1cblxuZnVuY3Rpb24gZ2V0Tm90aWZpY2F0aW9uU2V2ZXJpdGllc1N0cmluZyhub3RpZmljYXRpb24pIHtcbiAgY29uc3QgeyBzZXZlcml0eSB9ID0gbm90aWZpY2F0aW9uO1xuICBsZXQgc2V2ZXJpdHlTdHJpbmcgPSAnJztcbiAgc2V2ZXJpdHkgPT09ICdleHRyZW1lJ1xuICAgID8gKHNldmVyaXR5U3RyaW5nID0gaTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UuZXh0cmVtZScpKVxuICAgIDogKHNldmVyaXR5U3RyaW5nID1cbiAgICAgICAgaTE4bi50KGBub3RpZmljYXRpb25zX3BhZ2UuJHtzZXZlcml0eX1gKSArXG4gICAgICAgICcgJyArXG4gICAgICAgIGkxOG4udChgbm90aWZpY2F0aW9uc19wYWdlLm5vdGlmaWNhdGlvbnNfdGV4dC5vcl9oaWdoZXJgKSk7XG4gIHJldHVybiBzZXZlcml0eVN0cmluZztcbn1cblxuZnVuY3Rpb24gZ2V0Tm90aWZpY2F0aW9uU291cmNlc1N0cmluZyhub3RpZmljYXRpb24sIHRyYW5zSWR4KSB7XG4gIGNvbnN0IHsgc2V0IH0gPSBub3RpZmljYXRpb24ucG9pbnRzO1xuICBjb25zdCB7IHNlbGVjdGlvbl90eXBlIH0gPSBub3RpZmljYXRpb24ucG9pbnRzO1xuXG4gIGxldCBTdHJpbmdzOiBzdHJpbmdbXSA9IFtdO1xuICBsZXQgc291cmNlc1N0cmluZyA9ICcnO1xuICBpZiAoc2VsZWN0aW9uX3R5cGUgPT09ICdhbGwnKVxuICAgIFN0cmluZ3MucHVzaChpMThuLnQoYCR7dHJhbnNJZHh9aW5fYWxsX3NvdXJjZXNgKSk7XG4gIGlmIChzZWxlY3Rpb25fdHlwZSA9PT0gJ2V4Y2x1ZGUnKVxuICAgIFN0cmluZ3MucHVzaChpMThuLnQoYCR7dHJhbnNJZHh9ZXhjbHVkaW5nYCkpO1xuICBpZiAoc2VsZWN0aW9uX3R5cGUgPT09ICdpbmNsdWRlJylcbiAgICBzb3VyY2VzU3RyaW5nID0gaTE4bi50KGAke3RyYW5zSWR4fWluYCkgKyAnICc7XG4gIGlmIChzZWxlY3Rpb25fdHlwZSAhPT0gJ2FsbCcpIHNldC5tYXAoKHNvdXJjZSkgPT4gU3RyaW5ncy5wdXNoKHNvdXJjZS50ZXh0KSk7XG4gIHNvdXJjZXNTdHJpbmcgKz0gU3RyaW5ncy5qb2luKFN0cmluZ3MubGVuZ3RoID4gMSA/ICcsICcgOiAnICcpO1xuICByZXR1cm4gc291cmNlc1N0cmluZztcbn1cblxuZnVuY3Rpb24gZ2V0Tm90aWZpY2F0aW9uU2Vuc29yc1N0cmluZyhub3RpZmljYXRpb24pIHtcbiAgY29uc3QgeyBzZXQgfSA9IG5vdGlmaWNhdGlvbi5zZW5zb3JzO1xuICBjb25zdCB7IHNlbGVjdGlvbl90eXBlIH0gPSBub3RpZmljYXRpb24uc2Vuc29ycztcblxuICBsZXQgU3RyaW5nczogc3RyaW5nW10gPSBbXTtcbiAgbGV0IHNlbnNvcnNTdHJpbmcgPSAnJztcbiAgaWYgKHNlbGVjdGlvbl90eXBlICE9PSAnYWxsJykge1xuICAgIHNldC5tYXAoKHNlbnNvcikgPT4gU3RyaW5ncy5wdXNoKHNlbnNvci50ZXh0KSk7XG4gICAgc2Vuc29yc1N0cmluZyA9ICc6ICc7XG4gICAgc2Vuc29yc1N0cmluZyArPSBTdHJpbmdzLmpvaW4oJywgJyk7XG4gIH1cbiAgcmV0dXJuIHNlbnNvcnNTdHJpbmc7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFxQk8sSUFBTUMsU0FBYyxHQUFHLENBQzVCLHNCQUFzQixFQUN0QixnQ0FBZ0MsRUFDaEMsK0JBQStCLEVBQy9CLHlCQUF5QixFQUN6QixnQkFBZ0IsRUFDaEIsNEJBQTRCLEVBQzVCLHlCQUF5QixFQUN6QiwyQkFBMkIsQ0FDNUI7QUFBQ0MsT0FBQSxDQUFBRCxTQUFBLEdBQUFBLFNBQUE7QUFFSyxJQUFNRSxvQkFBb0IsR0FBRyxTQUF2QkEsb0JBQW9CQSxDQUFBLEVBQVM7RUFDeEMsT0FBTztJQUNMQyxlQUFlLEVBQUUsQ0FDZixzQkFBc0IsRUFDdEIsZ0NBQWdDLEVBQ2hDLCtCQUErQixFQUMvQix5QkFBeUIsRUFDekIsZ0JBQWdCLEVBQ2hCLDRCQUE0QixFQUM1Qix5QkFBeUIsRUFDekIsMkJBQTJCLENBQzVCO0lBQ0RDLEVBQUUsRUFBRSxFQUFFO0lBQ05DLElBQUksRUFBRSxFQUFFO0lBQ1JDLFFBQVEsRUFBRSxRQUFRO0lBQ2xCQyxpQkFBaUIsRUFB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
|
|
193
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwibW9ja1R5cGVzIiwiZXhwb3J0cyIsImdldEVtcHR5Tm90aWZpY2F0aW9uIiwiYXZhaWxhYmxlX3R5cGVzIiwiaWQiLCJ0eXBlIiwic2V2ZXJpdHkiLCJ3YXRlcl9hdXRob3JpdGllcyIsInNlbGVjdGlvbl90eXBlIiwic2V0IiwicG9pbnRzIiwidGFncyIsInNlbnNvcnMiLCJhY3Rpb25zIiwidGVsZWdyYW0iLCJlbWFpbCIsInNtcyIsInB1bXBfb25seSIsImRpcmVjdF9pbXBhY3Rfb25seSIsInVuZGVmaW5lZCIsInNldmVyaXRpZXNSYWRpb0J1dHRvbnMiLCJsYWJlbCIsIm5hbWUiLCJ2YWx1ZSIsIndhdGVyQXV0aG9yaXRpZXNSYWRpb0J1dHRvbnMiLCJzb3VyY2VzUmFkaW9CdXR0b25zIiwic2VuZFZpYUNoZWNrQm94ZXMiLCJnZXROb3RpZmljYXRpb25TdHJpbmciLCJub3RpZmljYXRpb24iLCJ0cmFuc0lkeCIsInRpdGxlIiwiaTE4biIsInQiLCJ0eXBlU3RyaW5nIiwic2FtcGxlU3RyaW5nIiwiZ2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nIiwiZ2V0Tm90aWZpY2F0aW9uU2V2ZXJpdGllc1N0cmluZyIsImdldE5vdGlmaWNhdGlvblNvdXJjZXNTdHJpbmciLCJqb2luIiwiZ2V0Tm90aWZpY2F0aW9uU2Vuc29yc1N0cmluZyIsInNlbmRWaWEiLCJ0ZW1wQXJyYXkiLCJzZW5kVmlhU3RyaW5nIiwia2V5IiwicHVzaCIsImFuZCIsInJlcGxhY2UiLCJzZXZlcml0eVN0cmluZyIsIlN0cmluZ3MiLCJzb3VyY2VzU3RyaW5nIiwibWFwIiwic291cmNlIiwidGV4dCIsImxlbmd0aCIsInNlbnNvcnNTdHJpbmciLCJzZW5zb3IiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvTm90aWZpY2F0aW9uc1BhZ2VWMi9ub3RpZmljYXRpb25VdGlscy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb24ge1xuICBhdmFpbGFibGVfdHlwZXM/OiBzdHJpbmdbXTtcbiAgaWQ6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICBzZXZlcml0eTogc3RyaW5nO1xuICB3YXRlcl9hdXRob3JpdGllczogQWR2YW5jZWRTZWxlY3Rpb247XG4gIHBvaW50czogQWR2YW5jZWRTZWxlY3Rpb247XG4gIHRhZ3M6IEFkdmFuY2VkU2VsZWN0aW9uO1xuICBzZW5zb3JzOiBBZHZhbmNlZFNlbGVjdGlvbjtcbiAgYWN0aW9uczogYW55O1xuICBwdW1wX29ubHk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZHZhbmNlZFNlbGVjdGlvbiB7XG4gIHNlbGVjdGlvbl90eXBlOiBzdHJpbmc7XG4gIHNldDogYW55O1xuICB3YXRlcl9hdXRob3JpdHk/OiBhbnk7XG59XG5cbmV4cG9ydCBjb25zdCBtb2NrVHlwZXM6IGFueSA9IFtcbiAgJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJyxcbiAgJ0RhdGFsb2dnZXJUaHJlc2hvbGRBbGVydENvbmZpZycsXG4gICdEYXRhbG9nZ2VyT3ZlcmZsb3dBbGVydENvbmZpZycsXG4gICdEZXZpY2VIZWFsdGhBbGVydENvbmZpZycsXG4gICdXYmVBbGVydENvbmZpZycsXG4gICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycsXG4gICdSb2xsaW5nRXZlbnRBbGVydENvbmZpZycsXG4gICdEYXRhbG9nZ2VyUHVtcEFsZXJ0Q29uZmlnJyxcbl07XG5cbmV4cG9ydCBjb25zdCBnZXRFbXB0eU5vdGlmaWNhdGlvbiA9ICgpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBhdmFpbGFibGVfdHlwZXM6IFtcbiAgICAgICdQb2xsdXRpb25BbGVydENvbmZpZycsXG4gICAgICAnRGF0YWxvZ2dlclRocmVzaG9sZEFsZXJ0Q29uZmlnJyxcbiAgICAgICdEYXRhbG9nZ2VyT3ZlcmZsb3dBbGVydENvbmZpZycsXG4gICAgICAnRGV2aWNlSGVhbHRoQWxlcnRDb25maWcnLFxuICAgICAgJ1diZUFsZXJ0Q29uZmlnJyxcbiAgICAgICdXYmVXZWVrbHlEaWdlc3RBbGVydENvbmZpZycsXG4gICAgICAnUm9sbGluZ0V2ZW50QWxlcnRDb25maWcnLFxuICAgICAgJ0RhdGFsb2dnZXJQdW1wQWxlcnRDb25maWcnLFxuICAgIF0sXG4gICAgaWQ6ICcnLFxuICAgIHR5cGU6ICcnLFxuICAgIHNldmVyaXR5OiAnbWVkaXVtJyxcbiAgICB3YXRlcl9hdXRob3JpdGllczoge1xuICAgICAgc2VsZWN0aW9uX3R5cGU6ICdhbGwnLFxuICAgICAgc2V0OiBbXSxcbiAgICB9LFxuICAgIHBvaW50czoge1xuICAgICAgc2VsZWN0aW9uX3R5cGU6ICdhbGwnLFxuICAgICAgc2V0OiBbXSxcbiAgICB9LFxuICAgIHRhZ3M6IHtcbiAgICAgIHNlbGVjdGlvbl90eXBlOiAnYWxsJyxcbiAgICAgIHNldDogW10sXG4gICAgfSxcbiAgICBzZW5zb3JzOiB7XG4gICAgICBzZWxlY3Rpb25fdHlwZTogJ2FsbCcsXG4gICAgICBzZXQ6IFtdLFxuICAgIH0sXG4gICAgYWN0aW9uczogeyB0ZWxlZ3JhbTogZmFsc2UsIGVtYWlsOiB0cnVlLCBzbXM6IGZhbHNlIH0sXG4gICAgcHVtcF9vbmx5OiAnMCcsXG4gICAgZGlyZWN0X2ltcGFjdF9vbmx5OiB1bmRlZmluZWQsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3Qgc2V2ZXJpdGllc1JhZGlvQnV0dG9ucyA9IFtcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfZXh0cmVtZScsXG4gICAgbmFtZTogJ3NldmVyaXR5JyxcbiAgICB2YWx1ZTogJ2V4dHJlbWUnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9oaWdoJyxcbiAgICBuYW1lOiAnc2V2ZXJpdHknLFxuICAgIHZhbHVlOiAnaGlnaCcsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X21lZGl1bScsXG4gICAgbmFtZTogJ3NldmVyaXR5JyxcbiAgICB2YWx1ZTogJ21lZGl1bScsXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3Qgd2F0ZXJBdXRob3JpdGllc1JhZGlvQnV0dG9ucyA9IFtcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfYWxsJyxcbiAgICBuYW1lOiAnd2F0ZXJfYXV0aG9yaXRpZXMnLFxuICAgIHZhbHVlOiAnYWxsJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfaW5jbHVkZScsXG4gICAgbmFtZTogJ3dhdGVyX2F1dGhvcml0aWVzJyxcbiAgICB2YWx1ZTogJ2luY2x1ZGUnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9leGNsdWRlJyxcbiAgICBuYW1lOiAnd2F0ZXJfYXV0aG9yaXRpZXMnLFxuICAgIHZhbHVlOiAnZXhjbHVkZScsXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3Qgc291cmNlc1JhZGlvQnV0dG9ucyA9IFtcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfYWxsJyxcbiAgICBuYW1lOiAnc291cmNlcycsXG4gICAgdmFsdWU6ICdhbGwnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9pbmNsdWRlJyxcbiAgICBuYW1lOiAnc291cmNlcycsXG4gICAgdmFsdWU6ICdpbmNsdWRlJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfZXhjbHVkZScsXG4gICAgbmFtZTogJ3NvdXJjZXMnLFxuICAgIHZhbHVlOiAnZXhjbHVkZScsXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3Qgc2VuZFZpYUNoZWNrQm94ZXMgPSBbXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X3RlbGVncmFtJyxcbiAgICBuYW1lOiAnYWN0aW9ucycsXG4gICAgdmFsdWU6ICd0ZWxlZ3JhbScsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2VtYWlsJyxcbiAgICBuYW1lOiAnYWN0aW9ucycsXG4gICAgdmFsdWU6ICdlbWFpbCcsXG4gIH0sXG4gIC8vIHtcbiAgLy8gICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X3NtcycsXG4gIC8vICAgbmFtZTogJ2FjdGlvbnMnLFxuICAvLyAgIHZhbHVlOiAnc21zJyxcbiAgLy8gfSxcbl07XG5cbmV4cG9ydCBjb25zdCBnZXROb3RpZmljYXRpb25TdHJpbmcgPSAobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24pID0+IHtcbiAgY29uc3QgdHJhbnNJZHggPSAnbm90aWZpY2F0aW9uc19wYWdlLm5vdGlmaWNhdGlvbnNfdGV4dC4nO1xuICBjb25zdCB0aXRsZSA9IGkxOG4udChgJHt0cmFuc0lkeH10aXRsZWApO1xuICBsZXQgdHlwZVN0cmluZyA9ICcnO1xuICBsZXQgc2FtcGxlU3RyaW5nID0gJyc7XG4gIHNhbXBsZVN0cmluZyA9XG4gICAgbm90aWZpY2F0aW9uLnB1bXBfb25seSA9PT0gJzEnXG4gICAgICA/IGAgJHtpMThuLnQoJ25vdGlmaWNhdGlvbnNfcGFnZS5zYW1wbGVyX2FjdGl2YXRlZCcpfWBcbiAgICAgIDogJy4nO1xuXG4gIHN3aXRjaCAobm90aWZpY2F0aW9uLnR5cGUpIHtcbiAgICBjYXNlICdSb2xsaW5nRXZlbnRBbGVydENvbmZpZyc6XG4gICAgICB0eXBlU3RyaW5nID0gW1xuICAgICAgICB0aXRsZSxcbiAgICAgICAgZ2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKG5vdGlmaWNhdGlvbiksXG4gICAgICAgIGkxOG4udChgJHt0cmFuc0lkeH1hYm91dF9wb2xsdXRpb25fZXZlbnRzYCksXG4gICAgICAgIGdldE5vdGlmaWNhdGlvblNldmVyaXRpZXNTdHJpbmcobm90aWZpY2F0aW9uKSxcbiAgICAgICAgZ2V0Tm90aWZpY2F0aW9uU291cmNlc1N0cmluZyhub3RpZmljYXRpb24sIHRyYW5zSWR4KSxcbiAgICAgIF0uam9pbignICcpO1xuICAgICAgdHlwZVN0cmluZyArPSBzYW1wbGVTdHJpbmc7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdQb2xsdXRpb25BbGVydENvbmZpZyc6XG4gICAgICB0eXBlU3RyaW5nID0gW1xuICAgICAgICB0aXRsZSxcbiAgICAgICAgZ2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKG5vdGlmaWNhdGlvbiksXG4gICAgICAgIGkxOG4udChgJHt0cmFuc0lkeH1hYm91dF9wb2xsdXRpb25fZXZlbnRzYCksXG4gICAgICAgIGdldE5vdGlmaWNhdGlvblNldmVyaXRpZXNTdHJpbmcobm90aWZpY2F0aW9uKSxcbiAgICAgICAgZ2V0Tm90aWZpY2F0aW9uU291cmNlc1N0cmluZyhub3RpZmljYXRpb24sIHRyYW5zSWR4KSxcbiAgICAgIF0uam9pbignICcpO1xuICAgICAgdHlwZVN0cmluZyArPSBzYW1wbGVTdHJpbmc7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdEYXRhbG9nZ2VyVGhyZXNob2xkQWxlcnRDb25maWcnOlxuICAgICAgdHlwZVN0cmluZyA9IGAke3RpdGxlfSAke2dldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgKX0gJHtpMThuLnQoXG4gICAgICAgIHRyYW5zSWR4ICsgJ3NlbnNvcnNfdGhyZXNob2xkcycsXG4gICAgICApfSR7Z2V0Tm90aWZpY2F0aW9uU2Vuc29yc1N0cmluZyhub3RpZmljYXRpb24pfS5gO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnRGF0YWxvZ2dlck92ZXJmbG93QWxlcnRDb25maWcnOlxuICAgICAgdHlwZVN0cmluZyA9IGAke3RpdGxlfSAke2dldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgKX0gJHtpMThuLnQodHJhbnNJZHggKyAnb3ZlcmZsb3dfZXZlbnQnKX0sICR7Z2V0Tm90aWZpY2F0aW9uU291cmNlc1N0cmluZyhcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgICB0cmFuc0lkeCxcbiAgICAgICl9LmA7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdEZXZpY2VIZWFsdGhBbGVydENvbmZpZyc6XG4gICAgICB0eXBlU3RyaW5nID0gYCR7dGl0bGV9ICR7Z2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICApfSAke2kxOG4udChcbiAgICAgICAgdHJhbnNJZHggKyAnZGV2aWNlX21hbGZ1bmN0aW9uaW5nJyxcbiAgICAgICl9ICR7Z2V0Tm90aWZpY2F0aW9uU291cmNlc1N0cmluZyhub3RpZmljYXRpb24sIHRyYW5zSWR4KX0uYDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ1diZVdlZWtseURpZ2VzdEFsZXJ0Q29uZmlnJzpcbiAgICAgIHR5cGVTdHJpbmcgPSBgJHt0aXRsZX0gJHtnZXROb3RpZmljYXRpb25BbGVydHNTdHJpbmcoXG4gICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICl9ICR7aTE4bi50KHRyYW5zSWR4ICsgJ3diZV93ZWVrbHknKX0uYDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ1diZUFsZXJ0Q29uZmlnJzpcbiAgICAgIHR5cGVTdHJpbmcgPSBgJHt0aXRsZX0gJHtnZXROb3RpZmljYXRpb25BbGVydHNTdHJpbmcoXG4gICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICl9ICR7aTE4bi50KHRyYW5zSWR4ICsgJ3diZV9hbGVydCcpfS5gO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnRGF0YWxvZ2dlclB1bXBBbGVydENvbmZpZyc6XG4gICAgICB0eXBlU3RyaW5nID0gYCR7dGl0bGV9ICR7Z2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICApfSAke2kxOG4udChcbiAgICAgICAgdHJhbnNJZHggKyAnZGF0YWxvZ2dlcl9wdW1wJyxcbiAgICAgICl9LCAke2dldE5vdGlmaWNhdGlvblNvdXJjZXNTdHJpbmcobm90aWZpY2F0aW9uLCB0cmFuc0lkeCl9LmA7XG4gICAgICBicmVhaztcbiAgfVxuICByZXR1cm4gdHlwZVN0cmluZztcbn07XG5cbmZ1bmN0aW9uIGdldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhub3RpZmljYXRpb24pIHtcbiAgY29uc3Qgc2VuZFZpYSA9IG5vdGlmaWNhdGlvbi5hY3Rpb25zO1xuICBsZXQgdGVtcEFycmF5OiBzdHJpbmdbXSA9IFtdO1xuXG4gIGxldCBzZW5kVmlhU3RyaW5nID0gJyc7XG4gIGZvciAoY29uc3Qga2V5IGluIHNlbmRWaWEpIHtcbiAgICBpZiAoc2VuZFZpYVtrZXldKSB7XG4gICAgICB0ZW1wQXJyYXkucHVzaChpMThuLnQoYG5vdGlmaWNhdGlvbnNfcGFnZS5lZGl0XyR7a2V5fWApKTtcbiAgICB9XG4gIH1cbiAgc2VuZFZpYVN0cmluZyA9IHRlbXBBcnJheS5qb2luKCcsICcpO1xuICBsZXQgYW5kID0gaTE4bi50KGBub3RpZmljYXRpb25zX3BhZ2Uubm90aWZpY2F0aW9uc190ZXh0LmFuZGApO1xuICBhbmQgKz0gYW5kID09PSAnJicgPyAnICcgOiAnJztcbiAgc2VuZFZpYVN0cmluZyA9IHNlbmRWaWFTdHJpbmcucmVwbGFjZSgvLFxccyhbXixdKykkLywgYCAke2FuZH0kMWApO1xuICByZXR1cm4gc2VuZFZpYVN0cmluZztcbn1cblxuZnVuY3Rpb24gZ2V0Tm90aWZpY2F0aW9uU2V2ZXJpdGllc1N0cmluZyhub3RpZmljYXRpb24pIHtcbiAgY29uc3QgeyBzZXZlcml0eSB9ID0gbm90aWZpY2F0aW9uO1xuICBsZXQgc2V2ZXJpdHlTdHJpbmcgPSAnJztcbiAgc2V2ZXJpdHkgPT09ICdleHRyZW1lJ1xuICAgID8gKHNldmVyaXR5U3RyaW5nID0gaTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UuZXh0cmVtZScpKVxuICAgIDogKHNldmVyaXR5U3RyaW5nID1cbiAgICAgICAgaTE4bi50KGBub3RpZmljYXRpb25zX3BhZ2UuJHtzZXZlcml0eX1gKSArXG4gICAgICAgICcgJyArXG4gICAgICAgIGkxOG4udChgbm90aWZpY2F0aW9uc19wYWdlLm5vdGlmaWNhdGlvbnNfdGV4dC5vcl9oaWdoZXJgKSk7XG4gIHJldHVybiBzZXZlcml0eVN0cmluZztcbn1cblxuZnVuY3Rpb24gZ2V0Tm90aWZpY2F0aW9uU291cmNlc1N0cmluZyhub3RpZmljYXRpb24sIHRyYW5zSWR4KSB7XG4gIGNvbnN0IHsgc2V0IH0gPSBub3RpZmljYXRpb24ucG9pbnRzO1xuICBjb25zdCB7IHNlbGVjdGlvbl90eXBlIH0gPSBub3RpZmljYXRpb24ucG9pbnRzO1xuXG4gIGxldCBTdHJpbmdzOiBzdHJpbmdbXSA9IFtdO1xuICBsZXQgc291cmNlc1N0cmluZyA9ICcnO1xuICBpZiAoc2VsZWN0aW9uX3R5cGUgPT09ICdhbGwnKVxuICAgIFN0cmluZ3MucHVzaChpMThuLnQoYCR7dHJhbnNJZHh9aW5fYWxsX3NvdXJjZXNgKSk7XG4gIGlmIChzZWxlY3Rpb25fdHlwZSA9PT0gJ2V4Y2x1ZGUnKVxuICAgIFN0cmluZ3MucHVzaChpMThuLnQoYCR7dHJhbnNJZHh9ZXhjbHVkaW5nYCkpO1xuICBpZiAoc2VsZWN0aW9uX3R5cGUgPT09ICdpbmNsdWRlJylcbiAgICBzb3VyY2VzU3RyaW5nID0gaTE4bi50KGAke3RyYW5zSWR4fWluYCkgKyAnICc7XG4gIGlmIChzZWxlY3Rpb25fdHlwZSAhPT0gJ2FsbCcpIHNldC5tYXAoKHNvdXJjZSkgPT4gU3RyaW5ncy5wdXNoKHNvdXJjZS50ZXh0KSk7XG4gIHNvdXJjZXNTdHJpbmcgKz0gU3RyaW5ncy5qb2luKFN0cmluZ3MubGVuZ3RoID4gMSA/ICcsICcgOiAnICcpO1xuICByZXR1cm4gc291cmNlc1N0cmluZztcbn1cblxuZnVuY3Rpb24gZ2V0Tm90aWZpY2F0aW9uU2Vuc29yc1N0cmluZyhub3RpZmljYXRpb24pIHtcbiAgY29uc3QgeyBzZXQgfSA9IG5vdGlmaWNhdGlvbi5zZW5zb3JzO1xuICBjb25zdCB7IHNlbGVjdGlvbl90eXBlIH0gPSBub3RpZmljYXRpb24uc2Vuc29ycztcblxuICBsZXQgU3RyaW5nczogc3RyaW5nW10gPSBbXTtcbiAgbGV0IHNlbnNvcnNTdHJpbmcgPSAnJztcbiAgaWYgKHNlbGVjdGlvbl90eXBlICE9PSAnYWxsJykge1xuICAgIHNldC5tYXAoKHNlbnNvcikgPT4gU3RyaW5ncy5wdXNoKHNlbnNvci50ZXh0KSk7XG4gICAgc2Vuc29yc1N0cmluZyA9ICc6ICc7XG4gICAgc2Vuc29yc1N0cmluZyArPSBTdHJpbmdzLmpvaW4oJywgJyk7XG4gIH1cbiAgcmV0dXJuIHNlbnNvcnNTdHJpbmc7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxLQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFxQk8sTUFBTUMsU0FBYyxHQUFHLENBQzVCLHNCQUFzQixFQUN0QixnQ0FBZ0MsRUFDaEMsK0JBQStCLEVBQy9CLHlCQUF5QixFQUN6QixnQkFBZ0IsRUFDaEIsNEJBQTRCLEVBQzVCLHlCQUF5QixFQUN6QiwyQkFBMkIsQ0FDNUI7QUFBQ0MsT0FBQSxDQUFBRCxTQUFBLEdBQUFBLFNBQUE7QUFFSyxNQUFNRSxvQkFBb0IsR0FBR0EsQ0FBQSxLQUFNO0VBQ3hDLE9BQU87SUFDTEMsZUFBZSxFQUFFLENBQ2Ysc0JBQXNCLEVBQ3RCLGdDQUFnQyxFQUNoQywrQkFBK0IsRUFDL0IseUJBQXlCLEVBQ3pCLGdCQUFnQixFQUNoQiw0QkFBNEIsRUFDNUIseUJBQXlCLEVBQ3pCLDJCQUEyQixDQUM1QjtJQUNEQyxFQUFFLEVBQUUsRUFBRTtJQUNOQyxJQUFJLEVBQUUsRUFBRTtJQUNSQyxRQUFRLEVBQUUsUUFBUTtJQUNsQkMsaUJBQWlCLEVBQUU7TUFDakJDLGNBQWMsRUFBRSxLQUFL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
|