@kando-env/kando-ui 1.2.382 → 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 -73
- 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 -122
- package/lib/Widgets/Map/MapUtils.js +81 -95
- 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 +18 -21
- package/lib/Widgets/Map/events/EventIndicator.js +65 -60
- package/lib/Widgets/Map/events/EventPath.js +49 -24
- 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 +21 -22
- 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 +8 -6
- 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 +8 -6
- 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/index.js +11 -12
- 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 +10 -18
- 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 +21 -16
- 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 +44 -43
- 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/models/IEvent.js +1 -1
- 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 +26 -27
- 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 +30 -20
- 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 -59
- package/package.json +1 -1
|
@@ -1,59 +1,51 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.SamplingsPageContainer = void 0;
|
|
9
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
10
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
9
|
var _reactRedux = require("react-redux");
|
|
12
|
-
var
|
|
10
|
+
var _useKandoFetch = _interopRequireDefault(require("hooks/useKandoFetch"));
|
|
13
11
|
var _Analytics = require("utilities/Analytics");
|
|
14
12
|
var _actionsCreator = require("store/samplings/actionsCreator");
|
|
15
13
|
var _urls = require("utilities/urls");
|
|
16
|
-
var
|
|
14
|
+
var _useNavContext = require("hooks/useNavContext");
|
|
17
15
|
var _SamplingsPage = require("./SamplingsPage");
|
|
18
16
|
var _samplingsPageUtils = require("./samplingsPageUtils");
|
|
19
17
|
var _useUserTimeZone = require("hooks/useUserTimeZone");
|
|
20
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function
|
|
21
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null ||
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
data = _useKandoFetch.data,
|
|
44
|
-
isFetching = _useKandoFetch.isFetching;
|
|
45
|
-
var _useNavContext = (0, _useNavContext2.useNavContext)(),
|
|
46
|
-
locale = _useNavContext.locale;
|
|
47
|
-
var columns = (0, _samplingsPageUtils.getColumns)();
|
|
48
|
-
(0, _react.useEffect)(function () {
|
|
18
|
+
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); }
|
|
19
|
+
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; }
|
|
20
|
+
const SamplingsPageContainer = () => {
|
|
21
|
+
const dispatch = (0, _reactRedux.useDispatch)();
|
|
22
|
+
const [kql, setKql] = (0, _react.useState)('');
|
|
23
|
+
const waterAuthorityId = (0, _reactRedux.useSelector)(state => state.global_data.waterAuthorityId);
|
|
24
|
+
const {
|
|
25
|
+
currentPage,
|
|
26
|
+
perPage,
|
|
27
|
+
url,
|
|
28
|
+
orderBy,
|
|
29
|
+
orderDirection
|
|
30
|
+
} = (0, _reactRedux.useSelector)(state => state.samplings_data);
|
|
31
|
+
const waterAuthorityName = (0, _reactRedux.useSelector)(state => state.global_data.waterAuthorityName);
|
|
32
|
+
const {
|
|
33
|
+
data,
|
|
34
|
+
isFetching
|
|
35
|
+
} = (0, _useKandoFetch.default)(url);
|
|
36
|
+
const {
|
|
37
|
+
locale
|
|
38
|
+
} = (0, _useNavContext.useNavContext)();
|
|
39
|
+
const columns = (0, _samplingsPageUtils.getColumns)();
|
|
40
|
+
(0, _react.useEffect)(() => {
|
|
49
41
|
(0, _Analytics.analyticsTrack)('Samplings page view', {
|
|
50
42
|
utility_name: waterAuthorityName
|
|
51
43
|
});
|
|
52
44
|
}, []);
|
|
53
|
-
(0, _react.useEffect)(
|
|
45
|
+
(0, _react.useEffect)(() => {
|
|
54
46
|
fetchSamplings();
|
|
55
47
|
}, [currentPage, perPage, waterAuthorityId, orderBy, orderDirection, locale, kql]);
|
|
56
|
-
(0, _react.useEffect)(
|
|
48
|
+
(0, _react.useEffect)(() => {
|
|
57
49
|
if (isFetching || !data) {
|
|
58
50
|
return;
|
|
59
51
|
}
|
|
@@ -64,53 +56,53 @@ var SamplingsPageContainer = function SamplingsPageContainer() {
|
|
|
64
56
|
}));
|
|
65
57
|
onSetTableData();
|
|
66
58
|
}, [data, isFetching]);
|
|
67
|
-
|
|
59
|
+
const onSetPerPage = (0, _react.useCallback)((currentRowsPerPage, currentPage) => {
|
|
68
60
|
dispatch((0, _actionsCreator.setSamplingData)({
|
|
69
|
-
currentPage
|
|
61
|
+
currentPage,
|
|
70
62
|
perPage: currentRowsPerPage
|
|
71
63
|
}));
|
|
72
64
|
}, [currentPage, perPage]);
|
|
73
|
-
|
|
65
|
+
const onChangePage = (0, _react.useCallback)(page => {
|
|
74
66
|
dispatch((0, _actionsCreator.setSamplingData)({
|
|
75
67
|
currentPage: page,
|
|
76
68
|
isFetch: false
|
|
77
69
|
}));
|
|
78
70
|
}, [currentPage]);
|
|
79
|
-
|
|
71
|
+
const handleSort = (0, _react.useCallback)((column, sortDirection) => {
|
|
80
72
|
dispatch((0, _actionsCreator.setSamplingData)({
|
|
81
73
|
orderBy: column.sortfield,
|
|
82
74
|
orderDirection: sortDirection
|
|
83
75
|
}));
|
|
84
|
-
(0, _Analytics.analyticsTrack)(
|
|
76
|
+
(0, _Analytics.analyticsTrack)(`Sort sampling page by ${column.sortfield}, ${sortDirection}`);
|
|
85
77
|
}, [orderBy, orderDirection]);
|
|
86
|
-
|
|
78
|
+
const getValuesFromKQL = values => {
|
|
87
79
|
setKql(values);
|
|
88
80
|
(0, _Analytics.analyticsTrack)('Sampling Operations Filter', {
|
|
89
81
|
filter: values
|
|
90
82
|
});
|
|
91
83
|
};
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
currentPage
|
|
95
|
-
perPage
|
|
96
|
-
waterAuthorityId
|
|
97
|
-
orderBy
|
|
98
|
-
orderDirection
|
|
99
|
-
locale
|
|
100
|
-
kql
|
|
84
|
+
const fetchSamplings = (0, _react.useCallback)(() => {
|
|
85
|
+
const samplingsUrl = (0, _urls.urls)({
|
|
86
|
+
currentPage,
|
|
87
|
+
perPage,
|
|
88
|
+
waterAuthorityId,
|
|
89
|
+
orderBy,
|
|
90
|
+
orderDirection,
|
|
91
|
+
locale,
|
|
92
|
+
kql
|
|
101
93
|
}).samplingsPage.getAll;
|
|
102
94
|
dispatch((0, _actionsCreator.setSamplingData)({
|
|
103
95
|
url: samplingsUrl.url,
|
|
104
96
|
isFetch: true
|
|
105
97
|
}));
|
|
106
98
|
}, [currentPage, perPage, waterAuthorityId, orderBy, orderDirection, locale, kql]);
|
|
107
|
-
|
|
108
|
-
|
|
99
|
+
const userFormat = (0, _useUserTimeZone.useUserSelectedDateFormat)();
|
|
100
|
+
const onSetTableData = () => {
|
|
109
101
|
var _data$data;
|
|
110
102
|
if (isFetching) {
|
|
111
103
|
return;
|
|
112
104
|
}
|
|
113
|
-
|
|
105
|
+
const samplings = data === null || data === void 0 ? void 0 : (_data$data = data.data) === null || _data$data === void 0 ? void 0 : _data$data.map(sampling => {
|
|
114
106
|
return {
|
|
115
107
|
bottle_level: sampling.bottle_level,
|
|
116
108
|
sampling_id: sampling.sampling_id,
|
|
@@ -126,7 +118,7 @@ var SamplingsPageContainer = function SamplingsPageContainer() {
|
|
|
126
118
|
};
|
|
127
119
|
});
|
|
128
120
|
dispatch((0, _actionsCreator.setSamplingData)({
|
|
129
|
-
samplings
|
|
121
|
+
samplings,
|
|
130
122
|
isFetch: false
|
|
131
123
|
}));
|
|
132
124
|
};
|
|
@@ -136,12 +128,12 @@ var SamplingsPageContainer = function SamplingsPageContainer() {
|
|
|
136
128
|
onChangePage: onChangePage,
|
|
137
129
|
handleSort: handleSort,
|
|
138
130
|
downloadData: {
|
|
139
|
-
kql
|
|
140
|
-
orderBy
|
|
141
|
-
orderDirection
|
|
131
|
+
kql,
|
|
132
|
+
orderBy,
|
|
133
|
+
orderDirection
|
|
142
134
|
},
|
|
143
135
|
getValuesFromKQL: getValuesFromKQL
|
|
144
136
|
});
|
|
145
137
|
};
|
|
146
138
|
exports.SamplingsPageContainer = SamplingsPageContainer;
|
|
147
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl91c2VLYW5kb0ZldGNoMiIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfQW5hbHl0aWNzIiwiX2FjdGlvbnNDcmVhdG9yIiwiX3VybHMiLCJfdXNlTmF2Q29udGV4dDIiLCJfU2FtcGxpbmdzUGFnZSIsIl9zYW1wbGluZ3NQYWdlVXRpbHMiLCJfdXNlVXNlclRpbWVab25lIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJTYW1wbGluZ3NQYWdlQ29udGFpbmVyIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImtxbCIsInNldEtxbCIsIndhdGVyQXV0aG9yaXR5SWQiLCJ1c2VTZWxlY3RvciIsInN0YXRlIiwiZ2xvYmFsX2RhdGEiLCJfdXNlU2VsZWN0b3IiLCJzYW1wbGluZ3NfZGF0YSIsImN1cnJlbnRQYWdlIiwicGVyUGFnZSIsInVybCIsIm9yZGVyQnkiLCJvcmRlckRpcmVjdGlvbiIsIndhdGVyQXV0aG9yaXR5TmFtZSIsIl91c2VLYW5kb0ZldGNoIiwidXNlS2FuZG9GZXRjaCIsImRhdGEiLCJpc0ZldGNoaW5nIiwiX3VzZU5hdkNvbnRleHQiLCJ1c2VOYXZDb250ZXh0IiwibG9jYWxlIiwiY29sdW1ucyIsImdldENvbHVtbnMiLCJ1c2VFZmZlY3QiLCJhbmFseXRpY3NUcmFjayIsInV0aWxpdHlfbmFtZSIsImZldGNoU2FtcGxpbmdzIiwic2V0U2FtcGxpbmdEYXRhIiwidG90YWxSb3dzIiwidG90YWwiLCJ0b3RhbFBhZ2VzIiwidG90YWxfcGFnZXMiLCJsYWJzIiwib25TZXRUYWJsZURhdGEiLCJvblNldFBlclBhZ2UiLCJ1c2VDYWxsYmFjayIsImN1cnJlbnRSb3dzUGVyUGFnZSIsIm9uQ2hhbmdlUGFnZSIsInBhZ2UiLCJpc0ZldGNoIiwiaGFuZGxlU29ydCIsImNvbHVtbiIsInNvcnREaXJlY3Rpb24iLCJzb3J0ZmllbGQiLCJjb25jYXQiLCJnZXRWYWx1ZXNGcm9tS1FMIiwidmFsdWVzIiwiZmlsdGVyIiwic2FtcGxpbmdzVXJsIiwidXJscyIsInNhbXBsaW5nc1BhZ2UiLCJnZXRBbGwiLCJ1c2VyRm9ybWF0IiwidXNlVXNlclNlbGVjdGVkRGF0ZUZvcm1hdCIsIl9kYXRhJGRhdGEiLCJzYW1wbGluZ3MiLCJtYXAiLCJzYW1wbGluZyIsImJvdHRsZV9sZXZlbCIsInNhbXBsaW5nX2lkIiwic2FtcGxpbmdfbW9kZSIsInR5cGUiLCJzaXRlIiwibWFuaG9sZV9hZGRyZXNzIiwic2FtcGxpbmdfZGF0ZSIsImRheUZvcm1hdEZyb21UaW1lIiwibGFiX25hbWUiLCJzdGF0dXMiLCJpbmZvIiwiaWQiLCJjcmVhdGVFbGVtZW50IiwiU2FtcGxpbmdzUGFnZSIsImRvd25sb2FkRGF0YSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvU2FtcGxpbmdzUGFnZS9TYW1wbGluZ3NQYWdlQ29udGFpbmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgRkMsIHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgVGFibGVDb2x1bW4gfSBmcm9tICdyZWFjdC1kYXRhLXRhYmxlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5cbmltcG9ydCB1c2VLYW5kb0ZldGNoIGZyb20gJ3NyYy9ob29rcy91c2VLYW5kb0ZldGNoJztcbmltcG9ydCB7IGFuYWx5dGljc1RyYWNrIH0gZnJvbSAnc3JjL3V0aWxpdGllcy9BbmFseXRpY3MnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJ3NyYy9zdG9yZS9yb290UmVkdWNlcic7XG5pbXBvcnQgeyBzZXRTYW1wbGluZ0RhdGEgfSBmcm9tICdzcmMvc3RvcmUvc2FtcGxpbmdzL2FjdGlvbnNDcmVhdG9yJztcbmltcG9ydCB7IHVybHMgfSBmcm9tICdzcmMvdXRpbGl0aWVzL3VybHMnO1xuaW1wb3J0IHsgdXNlTmF2Q29udGV4dCB9IGZyb20gJ3NyYy9ob29rcy91c2VOYXZDb250ZXh0JztcblxuaW1wb3J0IHsgU2FtcGxpbmdzUGFnZSB9IGZyb20gJy4vU2FtcGxpbmdzUGFnZSc7XG5pbXBvcnQge1xuICBTYW1wbGluZ0RhdGEsXG4gIFNhbXBsaW5nRmV0Y2hEYXRhLFxuICBnZXRDb2x1bW5zLFxufSBmcm9tICcuL3NhbXBsaW5nc1BhZ2VVdGlscyc7XG5pbXBvcnQge1xuICBkYXlGb3JtYXRGcm9tVGltZSxcbiAgdXNlVXNlclNlbGVjdGVkRGF0ZUZvcm1hdCxcbn0gZnJvbSAnc3JjL2hvb2tzL3VzZVVzZXJUaW1lWm9uZSc7XG5cbmV4cG9ydCBjb25zdCBTYW1wbGluZ3NQYWdlQ29udGFpbmVyOiBGQyA9ICgpID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBba3FsLCBzZXRLcWxdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4oJycpO1xuICBjb25zdCB3YXRlckF1dGhvcml0eUlkID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT5cbiAgICAgIHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsXG4gICk7XG4gIGNvbnN0IHsgY3VycmVudFBhZ2UsIHBlclBhZ2UsIHVybCwgb3JkZXJCeSwgb3JkZXJEaXJlY3Rpb24gfSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IHN0YXRlLnNhbXBsaW5nc19kYXRhLFxuICApO1xuICBjb25zdCB3YXRlckF1dGhvcml0eU5hbWUgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGUpID0+IHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZSxcbiAgKTtcbiAgY29uc3QgeyBkYXRhLCBpc0ZldGNoaW5nIH0gPSB1c2VLYW5kb0ZldGNoKHVybCk7XG5cbiAgY29uc3QgeyBsb2NhbGUgfSA9IHVzZU5hdkNvbnRleHQoKTtcblxuICBjb25zdCBjb2x1bW5zID0gZ2V0Q29sdW1ucygpO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGFuYWx5dGljc1RyYWNrKCdTYW1wbGluZ3MgcGFnZSB2aWV3Jywge1xuICAgICAgdXRpbGl0eV9uYW1lOiB3YXRlckF1dGhvcml0eU5hbWUsXG4gICAgfSk7XG4gIH0sIFtdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGZldGNoU2FtcGxpbmdzKCk7XG4gIH0sIFtcbiAgICBjdXJyZW50UGFnZSxcbiAgICBwZXJQYWdlLFxuICAgIHdhdGVyQXV0aG9yaXR5SWQsXG4gICAgb3JkZXJCeSxcbiAgICBvcmRlckRpcmVjdGlvbixcbiAgICBsb2NhbGUsXG4gICAga3FsLFxuICBdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc0ZldGNoaW5nIHx8ICFkYXRhKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZGlzcGF0Y2goXG4gICAgICBzZXRTYW1wbGluZ0RhdGEoe1xuICAgICAgICB0b3RhbFJvd3M6IGRhdGEudG90YWwsXG4gICAgICAgIHRvdGFsUGFnZXM6IGRhdGEudG90YWxfcGFnZXMsXG4gICAgICAgIGxhYnM6IGRhdGEubGFicyxcbiAgICAgIH0pLFxuICAgICk7XG4gICAgb25TZXRUYWJsZURhdGEoKTtcbiAgfSwgW2RhdGEsIGlzRmV0Y2hpbmddKTtcblxuICBjb25zdCBvblNldFBlclBhZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAoY3VycmVudFJvd3NQZXJQYWdlOiBudW1iZXIsIGN1cnJlbnRQYWdlOiBudW1iZXIpID0+IHtcbiAgICAgIGRpc3BhdGNoKHNldFNhbXBsaW5nRGF0YSh7IGN1cnJlbnRQYWdlLCBwZXJQYWdlOiBjdXJyZW50Um93c1BlclBhZ2UgfSkpO1xuICAgIH0sXG4gICAgW2N1cnJlbnRQYWdlLCBwZXJQYWdlXSxcbiAgKTtcblxuICBjb25zdCBvbkNoYW5nZVBhZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAocGFnZTogbnVtYmVyKSA9PiB7XG4gICAgICBkaXNwYXRjaChzZXRTYW1wbGluZ0RhdGEoeyBjdXJyZW50UGFnZTogcGFnZSwgaXNGZXRjaDogZmFsc2UgfSkpO1xuICAgIH0sXG4gICAgW2N1cnJlbnRQYWdlXSxcbiAgKTtcblxuICBjb25zdCBoYW5kbGVTb3J0ID0gdXNlQ2FsbGJhY2soXG4gICAgKGNvbHVtbjogVGFibGVDb2x1bW48U2FtcGxpbmdEYXRhPiwgc29ydERpcmVjdGlvbjogc3RyaW5nKSA9PiB7XG4gICAgICBkaXNwYXRjaChcbiAgICAgICAgc2V0U2FtcGxpbmdEYXRhKHtcbiAgICAgICAgICBvcmRlckJ5OiBjb2x1bW4uc29ydGZpZWxkLFxuICAgICAgICAgIG9yZGVyRGlyZWN0aW9uOiBzb3J0RGlyZWN0aW9uLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgICBhbmFseXRpY3NUcmFjayhcbiAgICAgICAgYFNvcnQgc2FtcGxpbmcgcGFnZSBieSAke2NvbHVtbi5zb3J0ZmllbGR9LCAke3NvcnREaXJlY3Rpb259YCxcbiAgICAgICk7XG4gICAgfSxcbiAgICBbb3JkZXJCeSwgb3JkZXJEaXJlY3Rpb25dLFxuICApO1xuXG4gIGNvbnN0IGdldFZhbHVlc0Zyb21LUUwgPSAodmFsdWVzKSA9PiB7XG4gICAgc2V0S3FsKHZhbHVlcyk7XG4gICAgYW5hbHl0aWNzVHJhY2soJ1NhbXBsaW5nIE9wZXJhdGlvbnMgRmlsdGVyJywge1xuICAgICAgZmlsdGVyOiB2YWx1ZXMsXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgZmV0Y2hTYW1wbGluZ3MgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3Qgc2FtcGxpbmdzVXJsID0gdXJscyh7XG4gICAgICBjdXJyZW50UGFnZSxcbiAgICAgIHBlclBhZ2UsXG4gICAgICB3YXRlckF1dGhvcml0eUlkLFxuICAgICAgb3JkZXJCeSxcbiAgICAgIG9yZGVyRGlyZWN0aW9uLFxuICAgICAgbG9jYWxlLFxuICAgICAga3FsLFxuICAgIH0pLnNhbXBsaW5nc1BhZ2UuZ2V0QWxsO1xuICAgIGRpc3BhdGNoKHNldFNhbXBsaW5nRGF0YSh7IHVybDogc2FtcGxpbmdzVXJsLnVybCwgaXNGZXRjaDogdHJ1ZSB9KSk7XG4gIH0sIFtcbiAgICBjdXJyZW50UGFnZSxcbiAgICBwZXJQYWdlLFxuICAgIHdhdGVyQXV0aG9yaXR5SWQsXG4gICAgb3JkZXJCeSxcbiAgICBvcmRlckRpcmVjdGlvbixcbiAgICBsb2NhbGUsXG4gICAga3FsLFxuICBdKTtcblxuICBjb25zdCB1c2VyRm9ybWF0ID0gdXNlVXNlclNlbGVjdGVkRGF0ZUZvcm1hdCgpO1xuICBjb25zdCBvblNldFRhYmxlRGF0YSA9ICgpID0+IHtcbiAgICBpZiAoaXNGZXRjaGluZykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNhbXBsaW5nczogU2FtcGxpbmdEYXRhW10gPSBkYXRhPy5kYXRhPy5tYXAoXG4gICAgICAoc2FtcGxpbmc6IFNhbXBsaW5nRmV0Y2hEYXRhKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgYm90dGxlX2xldmVsOiBzYW1wbGluZy5ib3R0bGVfbGV2ZWwsXG4gICAgICAgICAgc2FtcGxpbmdfaWQ6IHNhbXBsaW5nLnNhbXBsaW5nX2lkLFxuICAgICAgICAgIHNhbXBsaW5nX21vZGU6IHNhbXBsaW5nLnNhbXBsaW5nX21vZGUsXG4gICAgICAgICAgdHlwZTogc2FtcGxpbmcudHlwZSxcbiAgICAgICAgICBzaXRlOiBzYW1wbGluZy5zaXRlLFxuICAgICAgICAgIG1hbmhvbGVfYWRkcmVzczogc2FtcGxpbmcubWFuaG9sZV9hZGRyZXNzLFxuICAgICAgICAgIHNhbXBsaW5nX2RhdGU6IGRheUZvcm1hdEZyb21UaW1lKHNhbXBsaW5nLnNhbXBsaW5nX2RhdGUsIHVzZXJGb3JtYXQpLFxuICAgICAgICAgIGxhYl9uYW1lOiBzYW1wbGluZy5sYWJfbmFtZSxcbiAgICAgICAgICBzdGF0dXM6IHNhbXBsaW5nLnN0YXR1cyxcbiAgICAgICAgICBpbmZvOiBzYW1wbGluZy5pbmZvLFxuICAgICAgICAgIGlkOiBzYW1wbGluZy5zYW1wbGluZ19pZCxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgKTtcbiAgICBkaXNwYXRjaChzZXRTYW1wbGluZ0RhdGEoeyBzYW1wbGluZ3MsIGlzRmV0Y2g6IGZhbHNlIH0pKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxTYW1wbGluZ3NQYWdlXG4gICAgICBjb2x1bW5zPXtjb2x1bW5zfVxuICAgICAgb25TZXRQZXJQYWdlPXtvblNldFBlclBhZ2V9XG4gICAgICBvbkNoYW5nZVBhZ2U9e29uQ2hhbmdlUGFnZX1cbiAgICAgIGhhbmRsZVNvcnQ9e2hhbmRsZVNvcnR9XG4gICAgICBkb3dubG9hZERhdGE9e3sga3FsLCBvcmRlckJ5LCBvcmRlckRpcmVjdGlvbiB9fVxuICAgICAgZ2V0VmFsdWVzRnJvbUtRTD17Z2V0VmFsdWVzRnJvbUtRTH1cbiAgICAvPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsV0FBQSxHQUFBRCxP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
|
|
139
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl91c2VLYW5kb0ZldGNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9BbmFseXRpY3MiLCJfYWN0aW9uc0NyZWF0b3IiLCJfdXJscyIsIl91c2VOYXZDb250ZXh0IiwiX1NhbXBsaW5nc1BhZ2UiLCJfc2FtcGxpbmdzUGFnZVV0aWxzIiwiX3VzZVVzZXJUaW1lWm9uZSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJTYW1wbGluZ3NQYWdlQ29udGFpbmVyIiwiZGlzcGF0Y2giLCJ1c2VEaXNwYXRjaCIsImtxbCIsInNldEtxbCIsInVzZVN0YXRlIiwid2F0ZXJBdXRob3JpdHlJZCIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJnbG9iYWxfZGF0YSIsImN1cnJlbnRQYWdlIiwicGVyUGFnZSIsInVybCIsIm9yZGVyQnkiLCJvcmRlckRpcmVjdGlvbiIsInNhbXBsaW5nc19kYXRhIiwid2F0ZXJBdXRob3JpdHlOYW1lIiwiZGF0YSIsImlzRmV0Y2hpbmciLCJ1c2VLYW5kb0ZldGNoIiwibG9jYWxlIiwidXNlTmF2Q29udGV4dCIsImNvbHVtbnMiLCJnZXRDb2x1bW5zIiwidXNlRWZmZWN0IiwiYW5hbHl0aWNzVHJhY2siLCJ1dGlsaXR5X25hbWUiLCJmZXRjaFNhbXBsaW5ncyIsInNldFNhbXBsaW5nRGF0YSIsInRvdGFsUm93cyIsInRvdGFsIiwidG90YWxQYWdlcyIsInRvdGFsX3BhZ2VzIiwibGFicyIsIm9uU2V0VGFibGVEYXRhIiwib25TZXRQZXJQYWdlIiwidXNlQ2FsbGJhY2siLCJjdXJyZW50Um93c1BlclBhZ2UiLCJvbkNoYW5nZVBhZ2UiLCJwYWdlIiwiaXNGZXRjaCIsImhhbmRsZVNvcnQiLCJjb2x1bW4iLCJzb3J0RGlyZWN0aW9uIiwic29ydGZpZWxkIiwiZ2V0VmFsdWVzRnJvbUtRTCIsInZhbHVlcyIsImZpbHRlciIsInNhbXBsaW5nc1VybCIsInVybHMiLCJzYW1wbGluZ3NQYWdlIiwiZ2V0QWxsIiwidXNlckZvcm1hdCIsInVzZVVzZXJTZWxlY3RlZERhdGVGb3JtYXQiLCJfZGF0YSRkYXRhIiwic2FtcGxpbmdzIiwibWFwIiwic2FtcGxpbmciLCJib3R0bGVfbGV2ZWwiLCJzYW1wbGluZ19pZCIsInNhbXBsaW5nX21vZGUiLCJ0eXBlIiwic2l0ZSIsIm1hbmhvbGVfYWRkcmVzcyIsInNhbXBsaW5nX2RhdGUiLCJkYXlGb3JtYXRGcm9tVGltZSIsImxhYl9uYW1lIiwic3RhdHVzIiwiaW5mbyIsImlkIiwiY3JlYXRlRWxlbWVudCIsIlNhbXBsaW5nc1BhZ2UiLCJkb3dubG9hZERhdGEiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL1NhbXBsaW5nc1BhZ2UvU2FtcGxpbmdzUGFnZUNvbnRhaW5lci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZDLCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFRhYmxlQ29sdW1uIH0gZnJvbSAncmVhY3QtZGF0YS10YWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuXG5pbXBvcnQgdXNlS2FuZG9GZXRjaCBmcm9tICdzcmMvaG9va3MvdXNlS2FuZG9GZXRjaCc7XG5pbXBvcnQgeyBhbmFseXRpY3NUcmFjayB9IGZyb20gJ3NyYy91dGlsaXRpZXMvQW5hbHl0aWNzJztcbmltcG9ydCB7IGFwcFJlZHVjZXIgfSBmcm9tICdzcmMvc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHsgc2V0U2FtcGxpbmdEYXRhIH0gZnJvbSAnc3JjL3N0b3JlL3NhbXBsaW5ncy9hY3Rpb25zQ3JlYXRvcic7XG5pbXBvcnQgeyB1cmxzIH0gZnJvbSAnc3JjL3V0aWxpdGllcy91cmxzJztcbmltcG9ydCB7IHVzZU5hdkNvbnRleHQgfSBmcm9tICdzcmMvaG9va3MvdXNlTmF2Q29udGV4dCc7XG5cbmltcG9ydCB7IFNhbXBsaW5nc1BhZ2UgfSBmcm9tICcuL1NhbXBsaW5nc1BhZ2UnO1xuaW1wb3J0IHtcbiAgU2FtcGxpbmdEYXRhLFxuICBTYW1wbGluZ0ZldGNoRGF0YSxcbiAgZ2V0Q29sdW1ucyxcbn0gZnJvbSAnLi9zYW1wbGluZ3NQYWdlVXRpbHMnO1xuaW1wb3J0IHtcbiAgZGF5Rm9ybWF0RnJvbVRpbWUsXG4gIHVzZVVzZXJTZWxlY3RlZERhdGVGb3JtYXQsXG59IGZyb20gJ3NyYy9ob29rcy91c2VVc2VyVGltZVpvbmUnO1xuXG5leHBvcnQgY29uc3QgU2FtcGxpbmdzUGFnZUNvbnRhaW5lcjogRkMgPSAoKSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgW2txbCwgc2V0S3FsXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KCcnKTtcbiAgY29uc3Qgd2F0ZXJBdXRob3JpdHlJZCA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+XG4gICAgICBzdGF0ZS5nbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLFxuICApO1xuICBjb25zdCB7IGN1cnJlbnRQYWdlLCBwZXJQYWdlLCB1cmwsIG9yZGVyQnksIG9yZGVyRGlyZWN0aW9uIH0gPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5zYW1wbGluZ3NfZGF0YSxcbiAgKTtcbiAgY29uc3Qgd2F0ZXJBdXRob3JpdHlOYW1lID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlKSA9PiBzdGF0ZS5nbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eU5hbWUsXG4gICk7XG4gIGNvbnN0IHsgZGF0YSwgaXNGZXRjaGluZyB9ID0gdXNlS2FuZG9GZXRjaCh1cmwpO1xuXG4gIGNvbnN0IHsgbG9jYWxlIH0gPSB1c2VOYXZDb250ZXh0KCk7XG5cbiAgY29uc3QgY29sdW1ucyA9IGdldENvbHVtbnMoKTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBhbmFseXRpY3NUcmFjaygnU2FtcGxpbmdzIHBhZ2UgdmlldycsIHtcbiAgICAgIHV0aWxpdHlfbmFtZTogd2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgIH0pO1xuICB9LCBbXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBmZXRjaFNhbXBsaW5ncygpO1xuICB9LCBbXG4gICAgY3VycmVudFBhZ2UsXG4gICAgcGVyUGFnZSxcbiAgICB3YXRlckF1dGhvcml0eUlkLFxuICAgIG9yZGVyQnksXG4gICAgb3JkZXJEaXJlY3Rpb24sXG4gICAgbG9jYWxlLFxuICAgIGtxbCxcbiAgXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNGZXRjaGluZyB8fCAhZGF0YSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGRpc3BhdGNoKFxuICAgICAgc2V0U2FtcGxpbmdEYXRhKHtcbiAgICAgICAgdG90YWxSb3dzOiBkYXRhLnRvdGFsLFxuICAgICAgICB0b3RhbFBhZ2VzOiBkYXRhLnRvdGFsX3BhZ2VzLFxuICAgICAgICBsYWJzOiBkYXRhLmxhYnMsXG4gICAgICB9KSxcbiAgICApO1xuICAgIG9uU2V0VGFibGVEYXRhKCk7XG4gIH0sIFtkYXRhLCBpc0ZldGNoaW5nXSk7XG5cbiAgY29uc3Qgb25TZXRQZXJQYWdlID0gdXNlQ2FsbGJhY2soXG4gICAgKGN1cnJlbnRSb3dzUGVyUGFnZTogbnVtYmVyLCBjdXJyZW50UGFnZTogbnVtYmVyKSA9PiB7XG4gICAgICBkaXNwYXRjaChzZXRTYW1wbGluZ0RhdGEoeyBjdXJyZW50UGFnZSwgcGVyUGFnZTogY3VycmVudFJvd3NQZXJQYWdlIH0pKTtcbiAgICB9LFxuICAgIFtjdXJyZW50UGFnZSwgcGVyUGFnZV0sXG4gICk7XG5cbiAgY29uc3Qgb25DaGFuZ2VQYWdlID0gdXNlQ2FsbGJhY2soXG4gICAgKHBhZ2U6IG51bWJlcikgPT4ge1xuICAgICAgZGlzcGF0Y2goc2V0U2FtcGxpbmdEYXRhKHsgY3VycmVudFBhZ2U6IHBhZ2UsIGlzRmV0Y2g6IGZhbHNlIH0pKTtcbiAgICB9LFxuICAgIFtjdXJyZW50UGFnZV0sXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlU29ydCA9IHVzZUNhbGxiYWNrKFxuICAgIChjb2x1bW46IFRhYmxlQ29sdW1uPFNhbXBsaW5nRGF0YT4sIHNvcnREaXJlY3Rpb246IHN0cmluZykgPT4ge1xuICAgICAgZGlzcGF0Y2goXG4gICAgICAgIHNldFNhbXBsaW5nRGF0YSh7XG4gICAgICAgICAgb3JkZXJCeTogY29sdW1uLnNvcnRmaWVsZCxcbiAgICAgICAgICBvcmRlckRpcmVjdGlvbjogc29ydERpcmVjdGlvbixcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgICAgYW5hbHl0aWNzVHJhY2soXG4gICAgICAgIGBTb3J0IHNhbXBsaW5nIHBhZ2UgYnkgJHtjb2x1bW4uc29ydGZpZWxkfSwgJHtzb3J0RGlyZWN0aW9ufWAsXG4gICAgICApO1xuICAgIH0sXG4gICAgW29yZGVyQnksIG9yZGVyRGlyZWN0aW9uXSxcbiAgKTtcblxuICBjb25zdCBnZXRWYWx1ZXNGcm9tS1FMID0gKHZhbHVlcykgPT4ge1xuICAgIHNldEtxbCh2YWx1ZXMpO1xuICAgIGFuYWx5dGljc1RyYWNrKCdTYW1wbGluZyBPcGVyYXRpb25zIEZpbHRlcicsIHtcbiAgICAgIGZpbHRlcjogdmFsdWVzLFxuICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IGZldGNoU2FtcGxpbmdzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IHNhbXBsaW5nc1VybCA9IHVybHMoe1xuICAgICAgY3VycmVudFBhZ2UsXG4gICAgICBwZXJQYWdlLFxuICAgICAgd2F0ZXJBdXRob3JpdHlJZCxcbiAgICAgIG9yZGVyQnksXG4gICAgICBvcmRlckRpcmVjdGlvbixcbiAgICAgIGxvY2FsZSxcbiAgICAgIGtxbCxcbiAgICB9KS5zYW1wbGluZ3NQYWdlLmdldEFsbDtcbiAgICBkaXNwYXRjaChzZXRTYW1wbGluZ0RhdGEoeyB1cmw6IHNhbXBsaW5nc1VybC51cmwsIGlzRmV0Y2g6IHRydWUgfSkpO1xuICB9LCBbXG4gICAgY3VycmVudFBhZ2UsXG4gICAgcGVyUGFnZSxcbiAgICB3YXRlckF1dGhvcml0eUlkLFxuICAgIG9yZGVyQnksXG4gICAgb3JkZXJEaXJlY3Rpb24sXG4gICAgbG9jYWxlLFxuICAgIGtxbCxcbiAgXSk7XG5cbiAgY29uc3QgdXNlckZvcm1hdCA9IHVzZVVzZXJTZWxlY3RlZERhdGVGb3JtYXQoKTtcbiAgY29uc3Qgb25TZXRUYWJsZURhdGEgPSAoKSA9PiB7XG4gICAgaWYgKGlzRmV0Y2hpbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzYW1wbGluZ3M6IFNhbXBsaW5nRGF0YVtdID0gZGF0YT8uZGF0YT8ubWFwKFxuICAgICAgKHNhbXBsaW5nOiBTYW1wbGluZ0ZldGNoRGF0YSkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGJvdHRsZV9sZXZlbDogc2FtcGxpbmcuYm90dGxlX2xldmVsLFxuICAgICAgICAgIHNhbXBsaW5nX2lkOiBzYW1wbGluZy5zYW1wbGluZ19pZCxcbiAgICAgICAgICBzYW1wbGluZ19tb2RlOiBzYW1wbGluZy5zYW1wbGluZ19tb2RlLFxuICAgICAgICAgIHR5cGU6IHNhbXBsaW5nLnR5cGUsXG4gICAgICAgICAgc2l0ZTogc2FtcGxpbmcuc2l0ZSxcbiAgICAgICAgICBtYW5ob2xlX2FkZHJlc3M6IHNhbXBsaW5nLm1hbmhvbGVfYWRkcmVzcyxcbiAgICAgICAgICBzYW1wbGluZ19kYXRlOiBkYXlGb3JtYXRGcm9tVGltZShzYW1wbGluZy5zYW1wbGluZ19kYXRlLCB1c2VyRm9ybWF0KSxcbiAgICAgICAgICBsYWJfbmFtZTogc2FtcGxpbmcubGFiX25hbWUsXG4gICAgICAgICAgc3RhdHVzOiBzYW1wbGluZy5zdGF0dXMsXG4gICAgICAgICAgaW5mbzogc2FtcGxpbmcuaW5mbyxcbiAgICAgICAgICBpZDogc2FtcGxpbmcuc2FtcGxpbmdfaWQsXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgICk7XG4gICAgZGlzcGF0Y2goc2V0U2FtcGxpbmdEYXRhKHsgc2FtcGxpbmdzLCBpc0ZldGNoOiBmYWxzZSB9KSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8U2FtcGxpbmdzUGFnZVxuICAgICAgY29sdW1ucz17Y29sdW1uc31cbiAgICAgIG9uU2V0UGVyUGFnZT17b25TZXRQZXJQYWdlfVxuICAgICAgb25DaGFuZ2VQYWdlPXtvbkNoYW5nZVBhZ2V9XG4gICAgICBoYW5kbGVTb3J0PXtoYW5kbGVTb3J0fVxuICAgICAgZG93bmxvYWREYXRhPXt7IGtxbCwgb3JkZXJCeSwgb3JkZXJEaXJlY3Rpb24gfX1cbiAgICAgIGdldFZhbHVlc0Zyb21LUUw9e2dldFZhbHVlc0Zyb21LUUx9XG4gICAgLz5cbiAgKTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxXQUFBLEdBQUFELE9BQUE7QUFFQSxJQUFBRSxjQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxVQUFBLEdBQUFKLE9BQUE7QUFFQSxJQUFBSyxlQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxLQUFBLEdB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
|
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.shouldShowBottleLevel = exports.getColumns = exports.TOOLTIP_TEXT_LENGTH = exports.TOOLTIP_SITE_LENGTH = exports.TABLE_PAGINATION_PER_PAGE = exports.SPECIAL_MENU_ID_TO_OP = exports.ROWS_PER_PAGE_OPTIONS = exports.REVERT_CANCELLATION = exports.MOBILE_PAGINATION_PER_PAGE = exports.MOBILE_MODAL_TEXT_LENGTH = exports.MOBILE_DEFAULT_SORTFIELD = exports.MANHOLE_PROPERTIES_OP = exports.LAB_RESULT_OP = exports.EDIT_PROPERTIES_OP = exports.DELETE_SAMPLING_OP = exports.DEFAULT_SORTFIELD = exports.COLLECT_SAMPLING_OP = exports.CANCEL_SAMPLING_OP = exports.BuildActionsDropdownOptions = void 0;
|
|
8
|
-
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
9
8
|
var _SamplingSiteTableCell = require("./SamplingSiteTableCell");
|
|
10
9
|
var _NavigationDropdown = require("./NavigationDropdown");
|
|
11
10
|
var _react = _interopRequireDefault(require("react"));
|
|
@@ -15,99 +14,87 @@ var _SamplingStatusHelper = require("ui-kit/SamplingStatus/SamplingStatusHelper"
|
|
|
15
14
|
var _SamplingStatus = _interopRequireDefault(require("ui-kit/SamplingStatus/SamplingStatus"));
|
|
16
15
|
var _reactRedux = require("react-redux");
|
|
17
16
|
var _InfoTooltip = require("ui-kit/InfoTooltip/InfoTooltip");
|
|
18
|
-
|
|
17
|
+
const COLLECT_SAMPLING_OP = 'collecting';
|
|
19
18
|
exports.COLLECT_SAMPLING_OP = COLLECT_SAMPLING_OP;
|
|
20
|
-
|
|
19
|
+
const CANCEL_SAMPLING_OP = 'cancelling';
|
|
21
20
|
exports.CANCEL_SAMPLING_OP = CANCEL_SAMPLING_OP;
|
|
22
|
-
|
|
21
|
+
const REVERT_CANCELLATION = 'reverting_cancelled';
|
|
23
22
|
exports.REVERT_CANCELLATION = REVERT_CANCELLATION;
|
|
24
|
-
|
|
23
|
+
const EDIT_PROPERTIES_OP = 'edit';
|
|
25
24
|
exports.EDIT_PROPERTIES_OP = EDIT_PROPERTIES_OP;
|
|
26
|
-
|
|
25
|
+
const LAB_RESULT_OP = 'lab_result';
|
|
27
26
|
exports.LAB_RESULT_OP = LAB_RESULT_OP;
|
|
28
|
-
|
|
27
|
+
const MANHOLE_PROPERTIES_OP = 'manhole_properties';
|
|
29
28
|
exports.MANHOLE_PROPERTIES_OP = MANHOLE_PROPERTIES_OP;
|
|
30
|
-
|
|
29
|
+
const DELETE_SAMPLING_OP = 'delete_sampling';
|
|
31
30
|
exports.DELETE_SAMPLING_OP = DELETE_SAMPLING_OP;
|
|
32
|
-
|
|
31
|
+
const ROWS_PER_PAGE_OPTIONS = [5, 15, 25, 50, 100];
|
|
33
32
|
exports.ROWS_PER_PAGE_OPTIONS = ROWS_PER_PAGE_OPTIONS;
|
|
34
|
-
|
|
33
|
+
const TOOLTIP_TEXT_LENGTH = 36;
|
|
35
34
|
exports.TOOLTIP_TEXT_LENGTH = TOOLTIP_TEXT_LENGTH;
|
|
36
|
-
|
|
35
|
+
const TOOLTIP_SITE_LENGTH = 10;
|
|
37
36
|
exports.TOOLTIP_SITE_LENGTH = TOOLTIP_SITE_LENGTH;
|
|
38
|
-
|
|
37
|
+
const TABLE_PAGINATION_PER_PAGE = 100;
|
|
39
38
|
exports.TABLE_PAGINATION_PER_PAGE = TABLE_PAGINATION_PER_PAGE;
|
|
40
|
-
|
|
39
|
+
const DEFAULT_SORTFIELD = 1;
|
|
41
40
|
exports.DEFAULT_SORTFIELD = DEFAULT_SORTFIELD;
|
|
42
|
-
|
|
41
|
+
const MOBILE_PAGINATION_PER_PAGE = 25;
|
|
43
42
|
exports.MOBILE_PAGINATION_PER_PAGE = MOBILE_PAGINATION_PER_PAGE;
|
|
44
|
-
|
|
43
|
+
const MOBILE_DEFAULT_SORTFIELD = 'sampling_date';
|
|
45
44
|
exports.MOBILE_DEFAULT_SORTFIELD = MOBILE_DEFAULT_SORTFIELD;
|
|
46
|
-
|
|
45
|
+
const MOBILE_MODAL_TEXT_LENGTH = 20;
|
|
47
46
|
exports.MOBILE_MODAL_TEXT_LENGTH = MOBILE_MODAL_TEXT_LENGTH;
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
const getColumns = () => {
|
|
48
|
+
const tableColumns = [{
|
|
50
49
|
name: _i18n.default.t('samplings_page.samplings_table_cols.sampling_id'),
|
|
51
|
-
selector:
|
|
52
|
-
return row.sampling_id;
|
|
53
|
-
},
|
|
50
|
+
selector: row => row.sampling_id,
|
|
54
51
|
sortable: true,
|
|
55
52
|
sortfield: 'id'
|
|
56
53
|
}, {
|
|
57
54
|
name: _i18n.default.t('samplings_page.samplings_table_cols.sampling_date'),
|
|
58
|
-
selector:
|
|
59
|
-
return row.sampling_date;
|
|
60
|
-
},
|
|
55
|
+
selector: row => row.sampling_date,
|
|
61
56
|
sortable: true,
|
|
62
57
|
minWidth: '140px',
|
|
63
58
|
sortfield: 'sampling_date'
|
|
64
59
|
}, {
|
|
65
60
|
name: _i18n.default.t('samplings_page.samplings_table_cols.site'),
|
|
66
|
-
selector:
|
|
67
|
-
return row.site;
|
|
68
|
-
},
|
|
61
|
+
selector: row => row.site,
|
|
69
62
|
sortable: true,
|
|
70
63
|
sortfield: 'site_name',
|
|
71
|
-
cell:
|
|
64
|
+
cell: row => {
|
|
72
65
|
return /*#__PURE__*/_react.default.createElement(_SamplingSiteTableCell.SamplingSiteTableCell, {
|
|
73
66
|
site: row.site
|
|
74
67
|
});
|
|
75
68
|
}
|
|
76
69
|
}, {
|
|
77
70
|
name: _i18n.default.t('samplings_page.samplings_table_cols.manhole_address'),
|
|
78
|
-
selector:
|
|
79
|
-
return row.manhole_address;
|
|
80
|
-
},
|
|
71
|
+
selector: row => row.manhole_address,
|
|
81
72
|
sortable: true,
|
|
82
73
|
sortfield: 'site_address',
|
|
83
74
|
minWidth: '260px',
|
|
84
|
-
cell:
|
|
75
|
+
cell: row => {
|
|
85
76
|
return /*#__PURE__*/_react.default.createElement(_NavigationDropdown.NavigationDropdown, {
|
|
86
77
|
manholeAddress: row.manhole_address
|
|
87
78
|
});
|
|
88
79
|
}
|
|
89
80
|
}, {
|
|
90
81
|
name: _i18n.default.t('samplings_page.samplings_table_cols.type'),
|
|
91
|
-
selector:
|
|
92
|
-
return row.type;
|
|
93
|
-
},
|
|
82
|
+
selector: row => row.type,
|
|
94
83
|
sortable: true,
|
|
95
84
|
sortfield: 'type',
|
|
96
|
-
cell:
|
|
85
|
+
cell: row => {
|
|
97
86
|
return /*#__PURE__*/_react.default.createElement(_InfoTooltip.InfoTooltip, {
|
|
98
87
|
alternateIcon: '',
|
|
99
88
|
padding: false,
|
|
100
|
-
data: _i18n.default.t(
|
|
89
|
+
data: _i18n.default.t(`samplings_page.type.${row.type}`)
|
|
101
90
|
}, row.type);
|
|
102
91
|
}
|
|
103
92
|
}, {
|
|
104
93
|
name: _i18n.default.t('samplings_page.samplings_table_cols.status'),
|
|
105
|
-
selector:
|
|
106
|
-
return row.status.name;
|
|
107
|
-
},
|
|
94
|
+
selector: row => row.status.name,
|
|
108
95
|
sortable: true,
|
|
109
96
|
sortfield: 'status',
|
|
110
|
-
cell:
|
|
97
|
+
cell: row => {
|
|
111
98
|
return /*#__PURE__*/_react.default.createElement(_SamplingStatus.default, {
|
|
112
99
|
status: row.status,
|
|
113
100
|
info: row.info,
|
|
@@ -116,15 +103,13 @@ var getColumns = function getColumns() {
|
|
|
116
103
|
}
|
|
117
104
|
}, {
|
|
118
105
|
name: _i18n.default.t('samplings_page.samplings_table_cols.bottle_level'),
|
|
119
|
-
selector:
|
|
120
|
-
return row.bottle_level;
|
|
121
|
-
},
|
|
106
|
+
selector: row => row.bottle_level,
|
|
122
107
|
sortable: true,
|
|
123
108
|
sortfield: 'bottle_level',
|
|
124
|
-
cell:
|
|
109
|
+
cell: row => {
|
|
125
110
|
if (shouldShowBottleLevel(row.status.machine_name)) {
|
|
126
111
|
if (row.bottle_level) {
|
|
127
|
-
|
|
112
|
+
const bottleLevelNumber = Number(row.bottle_level);
|
|
128
113
|
return /*#__PURE__*/_react.default.createElement("span", null, row.bottle_level, ' ', isNaN(bottleLevelNumber) ? '' : _i18n.default.t('samplings_page.samplings_table_cols.ml'));
|
|
129
114
|
} else {
|
|
130
115
|
return;
|
|
@@ -135,14 +120,12 @@ var getColumns = function getColumns() {
|
|
|
135
120
|
}
|
|
136
121
|
}, {
|
|
137
122
|
name: _i18n.default.t('samplings_page.samplings_table_cols.lab_name'),
|
|
138
|
-
selector:
|
|
139
|
-
return row.lab_name;
|
|
140
|
-
},
|
|
123
|
+
selector: row => row.lab_name,
|
|
141
124
|
sortable: true,
|
|
142
125
|
sortfield: 'lab_name'
|
|
143
126
|
}];
|
|
144
127
|
tableColumns.push({
|
|
145
|
-
cell:
|
|
128
|
+
cell: row => {
|
|
146
129
|
return /*#__PURE__*/_react.default.createElement(_SamplingActionDropdown.default, {
|
|
147
130
|
sampling: row
|
|
148
131
|
});
|
|
@@ -151,12 +134,12 @@ var getColumns = function getColumns() {
|
|
|
151
134
|
return tableColumns;
|
|
152
135
|
};
|
|
153
136
|
exports.getColumns = getColumns;
|
|
154
|
-
|
|
137
|
+
const shouldShowBottleLevel = sampleStatus => {
|
|
155
138
|
return ['sampler_finished', 'sampler_started'].includes(sampleStatus);
|
|
156
139
|
};
|
|
157
140
|
exports.shouldShowBottleLevel = shouldShowBottleLevel;
|
|
158
|
-
|
|
159
|
-
|
|
141
|
+
const actionMenuItemsMap = key => {
|
|
142
|
+
const items = {
|
|
160
143
|
collect: {
|
|
161
144
|
value: _i18n.default.t('samplings_page.collect'),
|
|
162
145
|
id: COLLECT_SAMPLING_OP,
|
|
@@ -190,52 +173,61 @@ var actionMenuItemsMap = function actionMenuItemsMap(key) {
|
|
|
190
173
|
};
|
|
191
174
|
return items[key];
|
|
192
175
|
};
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
176
|
+
const BuildActionsDropdownOptions = sampling => {
|
|
177
|
+
const status = (0, _SamplingStatusHelper.formatSamplingOperationStatus)(sampling.status.machine_name);
|
|
178
|
+
const {
|
|
179
|
+
enable_view_lab_result,
|
|
180
|
+
enable_delete_sampling
|
|
181
|
+
} = (0, _reactRedux.useSelector)(_ref => {
|
|
182
|
+
let {
|
|
183
|
+
permissions
|
|
184
|
+
} = _ref;
|
|
185
|
+
return permissions;
|
|
186
|
+
});
|
|
187
|
+
let result = [];
|
|
202
188
|
if (['planned', 'active', 'ready'].includes(status)) {
|
|
203
189
|
result.push(actionMenuItemsMap('collect'));
|
|
204
190
|
result.push(actionMenuItemsMap('cancel'));
|
|
205
|
-
result.push(
|
|
191
|
+
result.push({
|
|
192
|
+
...actionMenuItemsMap('delete'),
|
|
206
193
|
disabled: !enable_delete_sampling
|
|
207
|
-
})
|
|
194
|
+
});
|
|
208
195
|
} else if (status === 'collected') {
|
|
209
196
|
result.push(actionMenuItemsMap('properties_edit'));
|
|
210
197
|
result.push(actionMenuItemsMap('cancel'));
|
|
211
|
-
result.push(
|
|
198
|
+
result.push({
|
|
199
|
+
...actionMenuItemsMap('delete'),
|
|
212
200
|
disabled: !enable_delete_sampling
|
|
213
|
-
})
|
|
201
|
+
});
|
|
214
202
|
} else if (status === 'canceled') {
|
|
215
203
|
result.push(actionMenuItemsMap('properties_edit'));
|
|
216
204
|
result.push(actionMenuItemsMap('revert_cancel'));
|
|
217
|
-
result.push(
|
|
205
|
+
result.push({
|
|
206
|
+
...actionMenuItemsMap('delete'),
|
|
218
207
|
disabled: !enable_delete_sampling
|
|
219
|
-
})
|
|
208
|
+
});
|
|
220
209
|
} else if (status === 'completed') {
|
|
221
210
|
result.push(actionMenuItemsMap('properties_edit'));
|
|
222
|
-
result.push(
|
|
211
|
+
result.push({
|
|
212
|
+
...actionMenuItemsMap('cancel'),
|
|
223
213
|
disabled: true
|
|
224
|
-
})
|
|
225
|
-
result.push(
|
|
214
|
+
});
|
|
215
|
+
result.push({
|
|
216
|
+
...actionMenuItemsMap('delete'),
|
|
226
217
|
disabled: true
|
|
227
|
-
})
|
|
228
|
-
result.push(
|
|
218
|
+
});
|
|
219
|
+
result.push({
|
|
220
|
+
...actionMenuItemsMap('lab_result'),
|
|
229
221
|
disabled: !enable_view_lab_result
|
|
230
|
-
})
|
|
222
|
+
});
|
|
231
223
|
}
|
|
232
224
|
return result;
|
|
233
225
|
};
|
|
234
226
|
exports.BuildActionsDropdownOptions = BuildActionsDropdownOptions;
|
|
235
|
-
|
|
227
|
+
const SPECIAL_MENU_ID_TO_OP = {
|
|
236
228
|
collect: COLLECT_SAMPLING_OP,
|
|
237
229
|
cancel: CANCEL_SAMPLING_OP,
|
|
238
230
|
revert_cancel: REVERT_CANCELLATION
|
|
239
231
|
};
|
|
240
232
|
exports.SPECIAL_MENU_ID_TO_OP = SPECIAL_MENU_ID_TO_OP;
|
|
241
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfU2FtcGxpbmdTaXRlVGFibGVDZWxsIiwicmVxdWlyZSIsIl9OYXZpZ2F0aW9uRHJvcGRvd24iLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2kxOG4iLCJfU2FtcGxpbmdBY3Rpb25Ecm9wZG93biIsIl9TYW1wbGluZ1N0YXR1c0hlbHBlciIsIl9TYW1wbGluZ1N0YXR1cyIsIl9yZWFjdFJlZHV4IiwiX0luZm9Ub29sdGlwIiwiQ09MTEVDVF9TQU1QTElOR19PUCIsImV4cG9ydHMiLCJDQU5DRUxfU0FNUExJTkdfT1AiLCJSRVZFUlRfQ0FOQ0VMTEFUSU9OIiwiRURJVF9QUk9QRVJUSUVTX09QIiwiTEFCX1JFU1VMVF9PUCIsIk1BTkhPTEVfUFJPUEVSVElFU19PUCIsIkRFTEVURV9TQU1QTElOR19PUCIsIlJPV1NfUEVSX1BBR0VfT1BUSU9OUyIsIlRPT0xUSVBfVEVYVF9MRU5HVEgiLCJUT09MVElQX1NJVEVfTEVOR1RIIiwiVEFCTEVfUEFHSU5BVElPTl9QRVJfUEFHRSIsIkRFRkFVTFRfU09SVEZJRUxEIiwiTU9CSUxFX1BBR0lOQVRJT05fUEVSX1BBR0UiLCJNT0JJTEVfREVGQVVMVF9TT1JURklFTEQiLCJNT0JJTEVfTU9EQUxfVEVYVF9MRU5HVEgiLCJnZXRDb2x1bW5zIiwidGFibGVDb2x1bW5zIiwibmFtZSIsImkxOG4iLCJ0Iiwic2VsZWN0b3IiLCJyb3ciLCJzYW1wbGluZ19pZCIsInNvcnRhYmxlIiwic29ydGZpZWxkIiwic2FtcGxpbmdfZGF0ZSIsIm1pbldpZHRoIiwic2l0ZSIsImNlbGwiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsIlNhbXBsaW5nU2l0ZVRhYmxlQ2VsbCIsIm1hbmhvbGVfYWRkcmVzcyIsIk5hdmlnYXRpb25Ecm9wZG93biIsIm1hbmhvbGVBZGRyZXNzIiwidHlwZSIsIkluZm9Ub29sdGlwIiwiYWx0ZXJuYXRlSWNvbiIsInBhZGRpbmciLCJkYXRhIiwiY29uY2F0Iiwic3RhdHVzIiwiaW5mbyIsImRpc3BsYXkiLCJib3R0bGVfbGV2ZWwiLCJzaG91bGRTaG93Qm90dGxlTGV2ZWwiLCJtYWNoaW5lX25hbWUiLCJib3R0bGVMZXZlbE51bWJlciIsIk51bWJlciIsImlzTmFOIiwibGFiX25hbWUiLCJwdXNoIiwic2FtcGxpbmciLCJzYW1wbGVTdGF0dXMiLCJpbmNsdWRlcyIsImFjdGlvbk1lbnVJdGVtc01hcCIsImtleSIsIml0ZW1zIiwiY29sbGVjdCIsInZhbHVlIiwiaWQiLCJocmVmIiwiY2FuY2VsIiwicmV2ZXJ0X2NhbmNlbCIsImRlbGV0ZSIsInByb3BlcnRpZXNfZWRpdCIsImxhYl9yZXN1bHQiLCJCdWlsZEFjdGlvbnNEcm9wZG93bk9wdGlvbnMiLCJmb3JtYXRTYW1wbGluZ09wZXJhdGlvblN0YXR1cyIsIl91c2VTZWxlY3RvciIsInVzZVNlbGVjdG9yIiwiX3JlZiIsInBlcm1pc3Npb25zIiwiZW5hYmxlX3ZpZXdfbGFiX3Jlc3VsdCIsImVuYWJsZV9kZWxldGVfc2FtcGxpbmciLCJyZXN1bHQiLCJfb2JqZWN0U3ByZWFkMiIsImRpc2FibGVkIiwiU1BFQ0lBTF9NRU5VX0lEX1RPX09QIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL1NhbXBsaW5nc1BhZ2Uvc2FtcGxpbmdzUGFnZVV0aWxzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZUNvbHVtbiB9IGZyb20gJ3JlYWN0LWRhdGEtdGFibGUtY29tcG9uZW50JztcbmltcG9ydCB7IFNhbXBsaW5nU2l0ZVRhYmxlQ2VsbCB9IGZyb20gJy4vU2FtcGxpbmdTaXRlVGFibGVDZWxsJztcbmltcG9ydCB7IE5hdmlnYXRpb25Ecm9wZG93biB9IGZyb20gJy4vTmF2aWdhdGlvbkRyb3Bkb3duJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IFNhbXBsaW5nQWN0aW9uRHJvcGRvd24gZnJvbSAnLi9BY3Rpb25zRHJvcERvd24vU2FtcGxpbmdBY3Rpb25Ecm9wZG93bic7XG5pbXBvcnQgeyBEcm9wRG93bkl0ZW1UeXBlIH0gZnJvbSAnc3JjL3VpLWtpdC9Ecm9wRG93bi9Ecm9wRG93bkl0ZW0nO1xuaW1wb3J0IHsgZm9ybWF0U2FtcGxpbmdPcGVyYXRpb25TdGF0dXMgfSBmcm9tICdzcmMvdWkta2l0L1NhbXBsaW5nU3RhdHVzL1NhbXBsaW5nU3RhdHVzSGVscGVyJztcbmltcG9ydCBTYW1wbGluZ1N0YXR1cyBmcm9tICdzcmMvdWkta2l0L1NhbXBsaW5nU3RhdHVzL1NhbXBsaW5nU3RhdHVzJztcbmltcG9ydCB7IHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgSW5mb1Rvb2x0aXAgfSBmcm9tICdzcmMvdWkta2l0L0luZm9Ub29sdGlwL0luZm9Ub29sdGlwJztcblxuZXhwb3J0IGNvbnN0IENPTExFQ1RfU0FNUExJTkdfT1AgPSAnY29sbGVjdGluZyc7XG5leHBvcnQgY29uc3QgQ0FOQ0VMX1NBTVBMSU5HX09QID0gJ2NhbmNlbGxpbmcnO1xuZXhwb3J0IGNvbnN0IFJFVkVSVF9DQU5DRUxMQVRJT04gPSAncmV2ZXJ0aW5nX2NhbmNlbGxlZCc7XG5leHBvcnQgY29uc3QgRURJVF9QUk9QRVJUSUVTX09QID0gJ2VkaXQnO1xuZXhwb3J0IGNvbnN0IExBQl9SRVNVTFRfT1AgPSAnbGFiX3Jlc3VsdCc7XG5leHBvcnQgY29uc3QgTUFOSE9MRV9QUk9QRVJUSUVTX09QID0gJ21hbmhvbGVfcHJvcGVydGllcyc7XG5leHBvcnQgY29uc3QgREVMRVRFX1NBTVBMSU5HX09QID0gJ2RlbGV0ZV9zYW1wbGluZyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFuaG9sZUFkZHJlc3Mge1xuICB0ZXh0OiBzdHJpbmc7XG4gIGxhdF9sbmc6IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNhbXBsaW5nRmV0Y2hEYXRhIHtcbiAgaWQ6IG51bWJlcjtcbiAgZGF0ZTogc3RyaW5nO1xuICBzYW1wbGluZ19pZDogbnVtYmVyO1xuICBzYW1wbGluZ19wbGFuX2lkOiBudW1iZXI7XG4gIHNhbXBsaW5nX2RhdGU6IHN0cmluZztcbiAgdGltZV96b25lOiBzdHJpbmc7XG4gIHNpdGU6IHN0cmluZztcbiAgc2FtcGxpbmdfbW9kZTogc3RyaW5nO1xuICBtYW5ob2xlX2FkZHJlc3M6IE1hbmhvbGVBZGRyZXNzO1xuICBjb250YWN0OiBzdHJpbmc7XG4gIGNvbnRhY3RfbnVtYmVyOiBudW1iZXI7XG4gIGJvdHRsZV9sZXZlbDogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIG1hY2hpbmVfdHlwZTpcbiAgICB8ICdzYW1wbGluZ190eXBlX3JhcGlkJ1xuICAgIHwgJ3NhbXBsaW5nX3R5cGVfY29tcGxleCdcbiAgICB8ICdzYW1wbGluZ190eXBlX2JvdGgnO1xuICBzdGF0dXM6IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgbWFjaGluZV9uYW1lOiBzdHJpbmc7XG4gIH07XG4gIGxhYl9uYW1lOiBudWxsIHwgc3RyaW5nO1xuICBpbmZvOiB7XG4gICAgcGFydGlhbF9wdW1wOiBib29sZWFuO1xuICB9O1xuICBsYWJzPzogW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2FtcGxpbmdEYXRhIHtcbiAgc2FtcGxpbmdfZGF0ZTogc3RyaW5nO1xuICBzaXRlOiBzdHJpbmc7XG4gIG1hbmhvbGVfYWRkcmVzczogTWFuaG9sZUFkZHJlc3M7XG4gIGNvbnRhY3Q6IHN0cmluZztcbiAgY29udGFjdF9udW1iZXI6IHN0cmluZyB8IG51bWJlcjtcbiAgYm90dGxlX2xldmVsOiBzdHJpbmcgfCBudW1iZXI7XG4gIHR5cGU6IHN0cmluZztcbiAgc2FtcGxpbmdfbW9kZTogc3RyaW5nO1xuICBsYWJfbmFtZTogc3RyaW5nIHwgbnVsbDtcbiAgc3RhdHVzOiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIG1hY2hpbmVfbmFtZTogc3RyaW5nO1xuICB9O1xuICBzYW1wbGluZ19pZDogbnVtYmVyO1xuICBpZDogbnVtYmVyO1xuICBpbmZvOiB7XG4gICAgcGFydGlhbF9wdW1wOiBib29sZWFuO1xuICB9O1xuICBzYW1wbGluZ190aW1lPzogc3RyaW5nO1xuICBsYWJzPzogW107XG59XG5cbmV4cG9ydCBjb25zdCBST1dTX1BFUl9QQUdFX09QVElPTlMgPSBbNSwgMTUsIDI1LCA1MCwgMTAwXTtcbmV4cG9ydCBjb25zdCBUT09MVElQX1RFWFRfTEVOR1RIID0gMzY7XG5leHBvcnQgY29uc3QgVE9PTFRJUF9TSVRFX0xFTkdUSCA9IDEwO1xuZXhwb3J0IGNvbnN0IFRBQkxFX1BBR0lOQVRJT05fUEVSX1BBR0UgPSAxMDA7XG5leHBvcnQgY29uc3QgREVGQVVMVF9TT1JURklFTEQgPSAxO1xuZXhwb3J0IGNvbnN0IE1PQklMRV9QQUdJTkFUSU9OX1BFUl9QQUdFID0gMjU7XG5leHBvcnQgY29uc3QgTU9CSUxFX0RFRkFVTFRfU09SVEZJRUxEID0gJ3NhbXBsaW5nX2RhdGUnO1xuZXhwb3J0IGNvbnN0IE1PQklMRV9NT0RBTF9URVhUX0xFTkdUSCA9IDIwO1xuXG5leHBvcnQgY29uc3QgZ2V0Q29sdW1ucyA9ICgpID0+IHtcbiAgY29uc3QgdGFibGVDb2x1bW5zOiBUYWJsZUNvbHVtbjxTYW1wbGluZ0RhdGE+W10gPSBbXG4gICAge1xuICAgICAgbmFtZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfdGFibGVfY29scy5zYW1wbGluZ19pZCcpLFxuICAgICAgc2VsZWN0b3I6IChyb3cpID0+IHJvdy5zYW1wbGluZ19pZCxcbiAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgc29ydGZpZWxkOiAnaWQnLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfdGFibGVfY29scy5zYW1wbGluZ19kYXRlJyksXG4gICAgICBzZWxlY3RvcjogKHJvdykgPT4gcm93LnNhbXBsaW5nX2RhdGUsXG4gICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgIG1pbldpZHRoOiAnMTQwcHgnLFxuICAgICAgc29ydGZpZWxkOiAnc2FtcGxpbmdfZGF0ZScsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc190YWJsZV9jb2xzLnNpdGUnKSxcbiAgICAgIHNlbGVjdG9yOiAocm93KSA9PiByb3cuc2l0ZSxcbiAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgc29ydGZpZWxkOiAnc2l0ZV9uYW1lJyxcbiAgICAgIGNlbGw6IChyb3c6IHsgc2l0ZTogc3RyaW5nIH0pID0+IHtcbiAgICAgICAgcmV0dXJuIDxTYW1wbGluZ1NpdGVUYWJsZUNlbGwgc2l0ZT17cm93LnNpdGV9IC8+O1xuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdzX3RhYmxlX2NvbHMubWFuaG9sZV9hZGRyZXNzJyksXG4gICAgICBzZWxlY3RvcjogKHJvdykgPT4gcm93Lm1hbmhvbGVfYWRkcmVzcyxcbiAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgc29ydGZpZWxkOiAnc2l0ZV9hZGRyZXNzJyxcbiAgICAgIG1pbldpZHRoOiAnMjYwcHgnLFxuICAgICAgY2VsbDogKHJvdzogeyBtYW5ob2xlX2FkZHJlc3M6IE1hbmhvbGVBZGRyZXNzIH0pID0+IHtcbiAgICAgICAgcmV0dXJuIDxOYXZpZ2F0aW9uRHJvcGRvd24gbWFuaG9sZUFkZHJlc3M9e3Jvdy5tYW5ob2xlX2FkZHJlc3N9IC8+O1xuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdzX3RhYmxlX2NvbHMudHlwZScpLFxuICAgICAgc2VsZWN0b3I6IChyb3cpID0+IHJvdy50eXBlLFxuICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICBzb3J0ZmllbGQ6ICd0eXBlJyxcbiAgICAgIGNlbGw6IChyb3c6IHsgdHlwZSB9KSA9PiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPEluZm9Ub29sdGlwXG4gICAgICAgICAgICBhbHRlcm5hdGVJY29uPXsnJ31cbiAgICAgICAgICAgIHBhZGRpbmc9e2ZhbHNlfVxuICAgICAgICAgICAgZGF0YT17aTE4bi50KGBzYW1wbGluZ3NfcGFnZS50eXBlLiR7cm93LnR5cGV9YCl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3Jvdy50eXBlfVxuICAgICAgICAgIDwvSW5mb1Rvb2x0aXA+XG4gICAgICAgICk7XG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfdGFibGVfY29scy5zdGF0dXMnKSxcbiAgICAgIHNlbGVjdG9yOiAocm93KSA9PiByb3cuc3RhdHVzLm5hbWUsXG4gICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgIHNvcnRmaWVsZDogJ3N0YXR1cycsXG4gICAgICBjZWxsOiAocm93OiB7IHN0YXR1czsgaW5mbyB9KSA9PiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFNhbXBsaW5nU3RhdHVzXG4gICAgICAgICAgICBzdGF0dXM9e3Jvdy5zdGF0dXN9XG4gICAgICAgICAgICBpbmZvPXtyb3cuaW5mb31cbiAgICAgICAgICAgIGRpc3BsYXk9XCJpbmxpbmUtYmxvY2tcIlxuICAgICAgICAgIC8+XG4gICAgICAgICk7XG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfdGFibGVfY29scy5ib3R0bGVfbGV2ZWwnKSxcbiAgICAgIHNlbGVjdG9yOiAocm93KSA9PiByb3cuYm90dGxlX2xldmVsLFxuICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICBzb3J0ZmllbGQ6ICdib3R0bGVfbGV2ZWwnLFxuICAgICAgY2VsbDogKHJvdykgPT4ge1xuICAgICAgICBpZiAoc2hvdWxkU2hvd0JvdHRsZUxldmVsKHJvdy5zdGF0dXMubWFjaGluZV9uYW1lKSkge1xuICAgICAgICAgIGlmIChyb3cuYm90dGxlX2xldmVsKSB7XG4gICAgICAgICAgICBjb25zdCBib3R0bGVMZXZlbE51bWJlciA9IE51bWJlcihyb3cuYm90dGxlX2xldmVsKTtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgIHtyb3cuYm90dGxlX2xldmVsfXsnICd9XG4gICAgICAgICAgICAgICAge2lzTmFOKGJvdHRsZUxldmVsTnVtYmVyKVxuICAgICAgICAgICAgICAgICAgPyAnJ1xuICAgICAgICAgICAgICAgICAgOiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc190YWJsZV9jb2xzLm1sJyl9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfdGFibGVfY29scy5sYWJfbmFtZScpLFxuICAgICAgc2VsZWN0b3I6IChyb3cpID0+IHJvdy5sYWJfbmFtZSxcbiAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgc29ydGZpZWxkOiAnbGFiX25hbWUnLFxuICAgIH0sXG4gIF07XG4gIHRhYmxlQ29sdW1ucy5wdXNoKHtcbiAgICBjZWxsOiAocm93KSA9PiB7XG4gICAgICByZXR1cm4gPFNhbXBsaW5nQWN0aW9uRHJvcGRvd24gc2FtcGxpbmc9e3Jvd30gLz47XG4gICAgfSxcbiAgfSk7XG5cbiAgcmV0dXJuIHRhYmxlQ29sdW1ucztcbn07XG5cbmV4cG9ydCBjb25zdCBzaG91bGRTaG93Qm90dGxlTGV2ZWwgPSAoc2FtcGxlU3RhdHVzOiBzdHJpbmcpID0+IHtcbiAgcmV0dXJuIFsnc2FtcGxlcl9maW5pc2hlZCcsICdzYW1wbGVyX3N0YXJ0ZWQnXS5pbmNsdWRlcyhzYW1wbGVTdGF0dXMpO1xufTtcblxuY29uc3QgYWN0aW9uTWVudUl0ZW1zTWFwID0gKGtleTogc3RyaW5nKTogRHJvcERvd25JdGVtVHlwZSA9PiB7XG4gIGNvbnN0IGl0ZW1zID0ge1xuICAgIGNvbGxlY3Q6IHtcbiAgICAgIHZhbHVlOiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLmNvbGxlY3QnKSxcbiAgICAgIGlkOiBDT0xMRUNUX1NBTVBMSU5HX09QLFxuICAgICAgaHJlZjogJycsXG4gICAgfSxcbiAgICBjYW5jZWw6IHtcbiAgICAgIHZhbHVlOiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLmNhbmNlbF9zYW1wbGluZycpLFxuICAgICAgaWQ6IENBTkNFTF9TQU1QTElOR19PUCxcbiAgICAgIGhyZWY6ICcnLFxuICAgIH0sXG4gICAgcmV2ZXJ0X2NhbmNlbDoge1xuICAgICAgdmFsdWU6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2UucmV2ZXJ0X2NhbmNlbGxhdGlvbicpLFxuICAgICAgaWQ6IFJFVkVSVF9DQU5DRUxMQVRJT04sXG4gICAgICBocmVmOiAnJyxcbiAgICB9LFxuICAgIGRlbGV0ZToge1xuICAgICAgdmFsdWU6IGkxOG4udCgnc2FtcGxpbmdfc2NyZWVuLmRlbGV0ZV9zYW1wbGluZycpLFxuICAgICAgaWQ6IERFTEVURV9TQU1QTElOR19PUCxcbiAgICAgIGhyZWY6ICcnLFxuICAgIH0sXG4gICAgcHJvcGVydGllc19lZGl0OiB7XG4gICAgICB2YWx1ZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ19wcm9wZXJ0aWVzJyksXG4gICAgICBpZDogRURJVF9QUk9QRVJUSUVTX09QLFxuICAgICAgaHJlZjogJycsXG4gICAgfSxcbiAgICBsYWJfcmVzdWx0OiB7XG4gICAgICB2YWx1ZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5sYWJfcmVzdWx0JyksXG4gICAgICBpZDogTEFCX1JFU1VMVF9PUCxcbiAgICAgIGhyZWY6ICcnLFxuICAgIH0sXG4gIH07XG5cbiAgcmV0dXJuIGl0ZW1zW2tleV07XG59O1xuXG5leHBvcnQgY29uc3QgQnVpbGRBY3Rpb25zRHJvcGRvd25PcHRpb25zID0gKHNhbXBsaW5nOiBTYW1wbGluZ0RhdGEpID0+IHtcbiAgY29uc3Qgc3RhdHVzID0gZm9ybWF0U2FtcGxpbmdPcGVyYXRpb25TdGF0dXMoc2FtcGxpbmcuc3RhdHVzLm1hY2hpbmVfbmFtZSk7XG4gIGNvbnN0IHsgZW5hYmxlX3ZpZXdfbGFiX3Jlc3VsdCwgZW5hYmxlX2RlbGV0ZV9zYW1wbGluZyB9ID0gdXNlU2VsZWN0b3IoXG4gICAgKHsgcGVybWlzc2lvbnMgfSkgPT4gcGVybWlzc2lvbnMsXG4gICk7XG4gIGxldCByZXN1bHQ6IERyb3BEb3duSXRlbVR5cGVbXSA9IFtdO1xuXG4gIGlmIChbJ3BsYW5uZWQnLCAnYWN0aXZlJywgJ3JlYWR5J10uaW5jbHVkZXMoc3RhdHVzKSkge1xuICAgIHJlc3VsdC5wdXNoKGFjdGlvbk1lbnVJdGVtc01hcCgnY29sbGVjdCcpKTtcbiAgICByZXN1bHQucHVzaChhY3Rpb25NZW51SXRlbXNNYXAoJ2NhbmNlbCcpKTtcbiAgICByZXN1bHQucHVzaCh7XG4gICAgICAuLi5hY3Rpb25NZW51SXRlbXNNYXAoJ2RlbGV0ZScpLFxuICAgICAgZGlzYWJsZWQ6ICFlbmFibGVfZGVsZXRlX3NhbXBsaW5nLFxuICAgIH0pO1xuICB9IGVsc2UgaWYgKHN0YXR1cyA9PT0gJ2NvbGxlY3RlZCcpIHtcbiAgICByZXN1bHQucHVzaChhY3Rpb25NZW51SXRlbXNNYXAoJ3Byb3BlcnRpZXNfZWRpdCcpKTtcbiAgICByZXN1bHQucHVzaChhY3Rpb25NZW51SXRlbXNNYXAoJ2NhbmNlbCcpKTtcbiAgICByZXN1bHQucHVzaCh7XG4gICAgICAuLi5hY3Rpb25NZW51SXRlbXNNYXAoJ2RlbGV0ZScpLFxuICAgICAgZGlzYWJsZWQ6ICFlbmFibGVfZGVsZXRlX3NhbXBsaW5nLFxuICAgIH0pO1xuICB9IGVsc2UgaWYgKHN0YXR1cyA9PT0gJ2NhbmNlbGVkJykge1xuICAgIHJlc3VsdC5wdXNoKGFjdGlvbk1lbnVJdGVtc01hcCgncHJvcGVydGllc19lZGl0JykpO1xuICAgIHJlc3VsdC5wdXNoKGFjdGlvbk1lbnVJdGVtc01hcCgncmV2ZXJ0X2NhbmNlbCcpKTtcbiAgICByZXN1bHQucHVzaCh7XG4gICAgICAuLi5hY3Rpb25NZW51SXRlbXNNYXAoJ2RlbGV0ZScpLFxuICAgICAgZGlzYWJsZWQ6ICFlbmFibGVfZGVsZXRlX3NhbXBsaW5nLFxuICAgIH0pO1xuICB9IGVsc2UgaWYgKHN0YXR1cyA9PT0gJ2NvbXBsZXRlZCcpIHtcbiAgICByZXN1bHQucHVzaChhY3Rpb25NZW51SXRlbXNNYXAoJ3Byb3BlcnRpZXNfZWRpdCcpKTtcbiAgICByZXN1bHQucHVzaCh7IC4uLmFjdGlvbk1lbnVJdGVtc01hcCgnY2FuY2VsJyksIGRpc2FibGVkOiB0cnVlIH0pO1xuICAgIHJlc3VsdC5wdXNoKHsgLi4uYWN0aW9uTWVudUl0ZW1zTWFwKCdkZWxldGUnKSwgZGlzYWJsZWQ6IHRydWUgfSk7XG4gICAgcmVzdWx0LnB1c2goe1xuICAgICAgLi4uYWN0aW9uTWVudUl0ZW1zTWFwKCdsYWJfcmVzdWx0JyksXG4gICAgICBkaXNhYmxlZDogIWVuYWJsZV92aWV3X2xhYl9yZXN1bHQsXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufTtcblxuZXhwb3J0IGNvbnN0IFNQRUNJQUxfTUVOVV9JRF9UT19PUDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgY29sbGVjdDogQ09MTEVDVF9TQU1QTElOR19PUCxcbiAgY2FuY2VsOiBDQU5DRUxfU0FNUExJTkdfT1AsXG4gIHJldmVydF9jYW5jZWw6IFJFVkVSVF9DQU5DRUxMQVRJT04sXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUNBLElBQUFBLHNCQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxtQkFBQSxH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
|
|
233
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfU2FtcGxpbmdTaXRlVGFibGVDZWxsIiwicmVxdWlyZSIsIl9OYXZpZ2F0aW9uRHJvcGRvd24iLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2kxOG4iLCJfU2FtcGxpbmdBY3Rpb25Ecm9wZG93biIsIl9TYW1wbGluZ1N0YXR1c0hlbHBlciIsIl9TYW1wbGluZ1N0YXR1cyIsIl9yZWFjdFJlZHV4IiwiX0luZm9Ub29sdGlwIiwiQ09MTEVDVF9TQU1QTElOR19PUCIsImV4cG9ydHMiLCJDQU5DRUxfU0FNUExJTkdfT1AiLCJSRVZFUlRfQ0FOQ0VMTEFUSU9OIiwiRURJVF9QUk9QRVJUSUVTX09QIiwiTEFCX1JFU1VMVF9PUCIsIk1BTkhPTEVfUFJPUEVSVElFU19PUCIsIkRFTEVURV9TQU1QTElOR19PUCIsIlJPV1NfUEVSX1BBR0VfT1BUSU9OUyIsIlRPT0xUSVBfVEVYVF9MRU5HVEgiLCJUT09MVElQX1NJVEVfTEVOR1RIIiwiVEFCTEVfUEFHSU5BVElPTl9QRVJfUEFHRSIsIkRFRkFVTFRfU09SVEZJRUxEIiwiTU9CSUxFX1BBR0lOQVRJT05fUEVSX1BBR0UiLCJNT0JJTEVfREVGQVVMVF9TT1JURklFTEQiLCJNT0JJTEVfTU9EQUxfVEVYVF9MRU5HVEgiLCJnZXRDb2x1bW5zIiwidGFibGVDb2x1bW5zIiwibmFtZSIsImkxOG4iLCJ0Iiwic2VsZWN0b3IiLCJyb3ciLCJzYW1wbGluZ19pZCIsInNvcnRhYmxlIiwic29ydGZpZWxkIiwic2FtcGxpbmdfZGF0ZSIsIm1pbldpZHRoIiwic2l0ZSIsImNlbGwiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsIlNhbXBsaW5nU2l0ZVRhYmxlQ2VsbCIsIm1hbmhvbGVfYWRkcmVzcyIsIk5hdmlnYXRpb25Ecm9wZG93biIsIm1hbmhvbGVBZGRyZXNzIiwidHlwZSIsIkluZm9Ub29sdGlwIiwiYWx0ZXJuYXRlSWNvbiIsInBhZGRpbmciLCJkYXRhIiwic3RhdHVzIiwiaW5mbyIsImRpc3BsYXkiLCJib3R0bGVfbGV2ZWwiLCJzaG91bGRTaG93Qm90dGxlTGV2ZWwiLCJtYWNoaW5lX25hbWUiLCJib3R0bGVMZXZlbE51bWJlciIsIk51bWJlciIsImlzTmFOIiwibGFiX25hbWUiLCJwdXNoIiwic2FtcGxpbmciLCJzYW1wbGVTdGF0dXMiLCJpbmNsdWRlcyIsImFjdGlvbk1lbnVJdGVtc01hcCIsImtleSIsIml0ZW1zIiwiY29sbGVjdCIsInZhbHVlIiwiaWQiLCJocmVmIiwiY2FuY2VsIiwicmV2ZXJ0X2NhbmNlbCIsImRlbGV0ZSIsInByb3BlcnRpZXNfZWRpdCIsImxhYl9yZXN1bHQiLCJCdWlsZEFjdGlvbnNEcm9wZG93bk9wdGlvbnMiLCJmb3JtYXRTYW1wbGluZ09wZXJhdGlvblN0YXR1cyIsImVuYWJsZV92aWV3X2xhYl9yZXN1bHQiLCJlbmFibGVfZGVsZXRlX3NhbXBsaW5nIiwidXNlU2VsZWN0b3IiLCJfcmVmIiwicGVybWlzc2lvbnMiLCJyZXN1bHQiLCJkaXNhYmxlZCIsIlNQRUNJQUxfTUVOVV9JRF9UT19PUCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL3NhbXBsaW5nc1BhZ2VVdGlscy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGFibGVDb2x1bW4gfSBmcm9tICdyZWFjdC1kYXRhLXRhYmxlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBTYW1wbGluZ1NpdGVUYWJsZUNlbGwgfSBmcm9tICcuL1NhbXBsaW5nU2l0ZVRhYmxlQ2VsbCc7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRHJvcGRvd24gfSBmcm9tICcuL05hdmlnYXRpb25Ecm9wZG93bic7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCBTYW1wbGluZ0FjdGlvbkRyb3Bkb3duIGZyb20gJy4vQWN0aW9uc0Ryb3BEb3duL1NhbXBsaW5nQWN0aW9uRHJvcGRvd24nO1xuaW1wb3J0IHsgRHJvcERvd25JdGVtVHlwZSB9IGZyb20gJ3NyYy91aS1raXQvRHJvcERvd24vRHJvcERvd25JdGVtJztcbmltcG9ydCB7IGZvcm1hdFNhbXBsaW5nT3BlcmF0aW9uU3RhdHVzIH0gZnJvbSAnc3JjL3VpLWtpdC9TYW1wbGluZ1N0YXR1cy9TYW1wbGluZ1N0YXR1c0hlbHBlcic7XG5pbXBvcnQgU2FtcGxpbmdTdGF0dXMgZnJvbSAnc3JjL3VpLWtpdC9TYW1wbGluZ1N0YXR1cy9TYW1wbGluZ1N0YXR1cyc7XG5pbXBvcnQgeyB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IEluZm9Ub29sdGlwIH0gZnJvbSAnc3JjL3VpLWtpdC9JbmZvVG9vbHRpcC9JbmZvVG9vbHRpcCc7XG5cbmV4cG9ydCBjb25zdCBDT0xMRUNUX1NBTVBMSU5HX09QID0gJ2NvbGxlY3RpbmcnO1xuZXhwb3J0IGNvbnN0IENBTkNFTF9TQU1QTElOR19PUCA9ICdjYW5jZWxsaW5nJztcbmV4cG9ydCBjb25zdCBSRVZFUlRfQ0FOQ0VMTEFUSU9OID0gJ3JldmVydGluZ19jYW5jZWxsZWQnO1xuZXhwb3J0IGNvbnN0IEVESVRfUFJPUEVSVElFU19PUCA9ICdlZGl0JztcbmV4cG9ydCBjb25zdCBMQUJfUkVTVUxUX09QID0gJ2xhYl9yZXN1bHQnO1xuZXhwb3J0IGNvbnN0IE1BTkhPTEVfUFJPUEVSVElFU19PUCA9ICdtYW5ob2xlX3Byb3BlcnRpZXMnO1xuZXhwb3J0IGNvbnN0IERFTEVURV9TQU1QTElOR19PUCA9ICdkZWxldGVfc2FtcGxpbmcnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1hbmhvbGVBZGRyZXNzIHtcbiAgdGV4dDogc3RyaW5nO1xuICBsYXRfbG5nOiBudW1iZXJbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTYW1wbGluZ0ZldGNoRGF0YSB7XG4gIGlkOiBudW1iZXI7XG4gIGRhdGU6IHN0cmluZztcbiAgc2FtcGxpbmdfaWQ6IG51bWJlcjtcbiAgc2FtcGxpbmdfcGxhbl9pZDogbnVtYmVyO1xuICBzYW1wbGluZ19kYXRlOiBzdHJpbmc7XG4gIHRpbWVfem9uZTogc3RyaW5nO1xuICBzaXRlOiBzdHJpbmc7XG4gIHNhbXBsaW5nX21vZGU6IHN0cmluZztcbiAgbWFuaG9sZV9hZGRyZXNzOiBNYW5ob2xlQWRkcmVzcztcbiAgY29udGFjdDogc3RyaW5nO1xuICBjb250YWN0X251bWJlcjogbnVtYmVyO1xuICBib3R0bGVfbGV2ZWw6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICBtYWNoaW5lX3R5cGU6XG4gICAgfCAnc2FtcGxpbmdfdHlwZV9yYXBpZCdcbiAgICB8ICdzYW1wbGluZ190eXBlX2NvbXBsZXgnXG4gICAgfCAnc2FtcGxpbmdfdHlwZV9ib3RoJztcbiAgc3RhdHVzOiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIG1hY2hpbmVfbmFtZTogc3RyaW5nO1xuICB9O1xuICBsYWJfbmFtZTogbnVsbCB8IHN0cmluZztcbiAgaW5mbzoge1xuICAgIHBhcnRpYWxfcHVtcDogYm9vbGVhbjtcbiAgfTtcbiAgbGFicz86IFtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNhbXBsaW5nRGF0YSB7XG4gIHNhbXBsaW5nX2RhdGU6IHN0cmluZztcbiAgc2l0ZTogc3RyaW5nO1xuICBtYW5ob2xlX2FkZHJlc3M6IE1hbmhvbGVBZGRyZXNzO1xuICBjb250YWN0OiBzdHJpbmc7XG4gIGNvbnRhY3RfbnVtYmVyOiBzdHJpbmcgfCBudW1iZXI7XG4gIGJvdHRsZV9sZXZlbDogc3RyaW5nIHwgbnVtYmVyO1xuICB0eXBlOiBzdHJpbmc7XG4gIHNhbXBsaW5nX21vZGU6IHN0cmluZztcbiAgbGFiX25hbWU6IHN0cmluZyB8IG51bGw7XG4gIHN0YXR1czoge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBtYWNoaW5lX25hbWU6IHN0cmluZztcbiAgfTtcbiAgc2FtcGxpbmdfaWQ6IG51bWJlcjtcbiAgaWQ6IG51bWJlcjtcbiAgaW5mbzoge1xuICAgIHBhcnRpYWxfcHVtcDogYm9vbGVhbjtcbiAgfTtcbiAgc2FtcGxpbmdfdGltZT86IHN0cmluZztcbiAgbGFicz86IFtdO1xufVxuXG5leHBvcnQgY29uc3QgUk9XU19QRVJfUEFHRV9PUFRJT05TID0gWzUsIDE1LCAyNSwgNTAsIDEwMF07XG5leHBvcnQgY29uc3QgVE9PTFRJUF9URVhUX0xFTkdUSCA9IDM2O1xuZXhwb3J0IGNvbnN0IFRPT0xUSVBfU0lURV9MRU5HVEggPSAxMDtcbmV4cG9ydCBjb25zdCBUQUJMRV9QQUdJTkFUSU9OX1BFUl9QQUdFID0gMTAwO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfU09SVEZJRUxEID0gMTtcbmV4cG9ydCBjb25zdCBNT0JJTEVfUEFHSU5BVElPTl9QRVJfUEFHRSA9IDI1O1xuZXhwb3J0IGNvbnN0IE1PQklMRV9ERUZBVUxUX1NPUlRGSUVMRCA9ICdzYW1wbGluZ19kYXRlJztcbmV4cG9ydCBjb25zdCBNT0JJTEVfTU9EQUxfVEVYVF9MRU5HVEggPSAyMDtcblxuZXhwb3J0IGNvbnN0IGdldENvbHVtbnMgPSAoKSA9PiB7XG4gIGNvbnN0IHRhYmxlQ29sdW1uczogVGFibGVDb2x1bW48U2FtcGxpbmdEYXRhPltdID0gW1xuICAgIHtcbiAgICAgIG5hbWU6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdzX3RhYmxlX2NvbHMuc2FtcGxpbmdfaWQnKSxcbiAgICAgIHNlbGVjdG9yOiAocm93KSA9PiByb3cuc2FtcGxpbmdfaWQsXG4gICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgIHNvcnRmaWVsZDogJ2lkJyxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdzX3RhYmxlX2NvbHMuc2FtcGxpbmdfZGF0ZScpLFxuICAgICAgc2VsZWN0b3I6IChyb3cpID0+IHJvdy5zYW1wbGluZ19kYXRlLFxuICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICBtaW5XaWR0aDogJzE0MHB4JyxcbiAgICAgIHNvcnRmaWVsZDogJ3NhbXBsaW5nX2RhdGUnLFxuICAgIH0sXG4gICAge1xuICAgICAgbmFtZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfdGFibGVfY29scy5zaXRlJyksXG4gICAgICBzZWxlY3RvcjogKHJvdykgPT4gcm93LnNpdGUsXG4gICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgIHNvcnRmaWVsZDogJ3NpdGVfbmFtZScsXG4gICAgICBjZWxsOiAocm93OiB7IHNpdGU6IHN0cmluZyB9KSA9PiB7XG4gICAgICAgIHJldHVybiA8U2FtcGxpbmdTaXRlVGFibGVDZWxsIHNpdGU9e3Jvdy5zaXRlfSAvPjtcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc190YWJsZV9jb2xzLm1hbmhvbGVfYWRkcmVzcycpLFxuICAgICAgc2VsZWN0b3I6IChyb3cpID0+IHJvdy5tYW5ob2xlX2FkZHJlc3MsXG4gICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgIHNvcnRmaWVsZDogJ3NpdGVfYWRkcmVzcycsXG4gICAgICBtaW5XaWR0aDogJzI2MHB4JyxcbiAgICAgIGNlbGw6IChyb3c6IHsgbWFuaG9sZV9hZGRyZXNzOiBNYW5ob2xlQWRkcmVzcyB9KSA9PiB7XG4gICAgICAgIHJldHVybiA8TmF2aWdhdGlvbkRyb3Bkb3duIG1hbmhvbGVBZGRyZXNzPXtyb3cubWFuaG9sZV9hZGRyZXNzfSAvPjtcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc190YWJsZV9jb2xzLnR5cGUnKSxcbiAgICAgIHNlbGVjdG9yOiAocm93KSA9PiByb3cudHlwZSxcbiAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgc29ydGZpZWxkOiAndHlwZScsXG4gICAgICBjZWxsOiAocm93OiB7IHR5cGUgfSkgPT4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxJbmZvVG9vbHRpcFxuICAgICAgICAgICAgYWx0ZXJuYXRlSWNvbj17Jyd9XG4gICAgICAgICAgICBwYWRkaW5nPXtmYWxzZX1cbiAgICAgICAgICAgIGRhdGE9e2kxOG4udChgc2FtcGxpbmdzX3BhZ2UudHlwZS4ke3Jvdy50eXBlfWApfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtyb3cudHlwZX1cbiAgICAgICAgICA8L0luZm9Ub29sdGlwPlxuICAgICAgICApO1xuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdzX3RhYmxlX2NvbHMuc3RhdHVzJyksXG4gICAgICBzZWxlY3RvcjogKHJvdykgPT4gcm93LnN0YXR1cy5uYW1lLFxuICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICBzb3J0ZmllbGQ6ICdzdGF0dXMnLFxuICAgICAgY2VsbDogKHJvdzogeyBzdGF0dXM7IGluZm8gfSkgPT4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTYW1wbGluZ1N0YXR1c1xuICAgICAgICAgICAgc3RhdHVzPXtyb3cuc3RhdHVzfVxuICAgICAgICAgICAgaW5mbz17cm93LmluZm99XG4gICAgICAgICAgICBkaXNwbGF5PVwiaW5saW5lLWJsb2NrXCJcbiAgICAgICAgICAvPlxuICAgICAgICApO1xuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdzX3RhYmxlX2NvbHMuYm90dGxlX2xldmVsJyksXG4gICAgICBzZWxlY3RvcjogKHJvdykgPT4gcm93LmJvdHRsZV9sZXZlbCxcbiAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgc29ydGZpZWxkOiAnYm90dGxlX2xldmVsJyxcbiAgICAgIGNlbGw6IChyb3cpID0+IHtcbiAgICAgICAgaWYgKHNob3VsZFNob3dCb3R0bGVMZXZlbChyb3cuc3RhdHVzLm1hY2hpbmVfbmFtZSkpIHtcbiAgICAgICAgICBpZiAocm93LmJvdHRsZV9sZXZlbCkge1xuICAgICAgICAgICAgY29uc3QgYm90dGxlTGV2ZWxOdW1iZXIgPSBOdW1iZXIocm93LmJvdHRsZV9sZXZlbCk7XG4gICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICB7cm93LmJvdHRsZV9sZXZlbH17JyAnfVxuICAgICAgICAgICAgICAgIHtpc05hTihib3R0bGVMZXZlbE51bWJlcilcbiAgICAgICAgICAgICAgICAgID8gJydcbiAgICAgICAgICAgICAgICAgIDogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfdGFibGVfY29scy5tbCcpfVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIG5hbWU6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdzX3RhYmxlX2NvbHMubGFiX25hbWUnKSxcbiAgICAgIHNlbGVjdG9yOiAocm93KSA9PiByb3cubGFiX25hbWUsXG4gICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgIHNvcnRmaWVsZDogJ2xhYl9uYW1lJyxcbiAgICB9LFxuICBdO1xuICB0YWJsZUNvbHVtbnMucHVzaCh7XG4gICAgY2VsbDogKHJvdykgPT4ge1xuICAgICAgcmV0dXJuIDxTYW1wbGluZ0FjdGlvbkRyb3Bkb3duIHNhbXBsaW5nPXtyb3d9IC8+O1xuICAgIH0sXG4gIH0pO1xuXG4gIHJldHVybiB0YWJsZUNvbHVtbnM7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvdWxkU2hvd0JvdHRsZUxldmVsID0gKHNhbXBsZVN0YXR1czogc3RyaW5nKSA9PiB7XG4gIHJldHVybiBbJ3NhbXBsZXJfZmluaXNoZWQnLCAnc2FtcGxlcl9zdGFydGVkJ10uaW5jbHVkZXMoc2FtcGxlU3RhdHVzKTtcbn07XG5cbmNvbnN0IGFjdGlvbk1lbnVJdGVtc01hcCA9IChrZXk6IHN0cmluZyk6IERyb3BEb3duSXRlbVR5cGUgPT4ge1xuICBjb25zdCBpdGVtcyA9IHtcbiAgICBjb2xsZWN0OiB7XG4gICAgICB2YWx1ZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5jb2xsZWN0JyksXG4gICAgICBpZDogQ09MTEVDVF9TQU1QTElOR19PUCxcbiAgICAgIGhyZWY6ICcnLFxuICAgIH0sXG4gICAgY2FuY2VsOiB7XG4gICAgICB2YWx1ZTogaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5jYW5jZWxfc2FtcGxpbmcnKSxcbiAgICAgIGlkOiBDQU5DRUxfU0FNUExJTkdfT1AsXG4gICAgICBocmVmOiAnJyxcbiAgICB9LFxuICAgIHJldmVydF9jYW5jZWw6IHtcbiAgICAgIHZhbHVlOiBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnJldmVydF9jYW5jZWxsYXRpb24nKSxcbiAgICAgIGlkOiBSRVZFUlRfQ0FOQ0VMTEFUSU9OLFxuICAgICAgaHJlZjogJycsXG4gICAgfSxcbiAgICBkZWxldGU6IHtcbiAgICAgIHZhbHVlOiBpMThuLnQoJ3NhbXBsaW5nX3NjcmVlbi5kZWxldGVfc2FtcGxpbmcnKSxcbiAgICAgIGlkOiBERUxFVEVfU0FNUExJTkdfT1AsXG4gICAgICBocmVmOiAnJyxcbiAgICB9LFxuICAgIHByb3BlcnRpZXNfZWRpdDoge1xuICAgICAgdmFsdWU6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdfcHJvcGVydGllcycpLFxuICAgICAgaWQ6IEVESVRfUFJPUEVSVElFU19PUCxcbiAgICAgIGhyZWY6ICcnLFxuICAgIH0sXG4gICAgbGFiX3Jlc3VsdDoge1xuICAgICAgdmFsdWU6IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2UubGFiX3Jlc3VsdCcpLFxuICAgICAgaWQ6IExBQl9SRVNVTFRfT1AsXG4gICAgICBocmVmOiAnJyxcbiAgICB9LFxuICB9O1xuXG4gIHJldHVybiBpdGVtc1trZXldO1xufTtcblxuZXhwb3J0IGNvbnN0IEJ1aWxkQWN0aW9uc0Ryb3Bkb3duT3B0aW9ucyA9IChzYW1wbGluZzogU2FtcGxpbmdEYXRhKSA9PiB7XG4gIGNvbnN0IHN0YXR1cyA9IGZvcm1hdFNhbXBsaW5nT3BlcmF0aW9uU3RhdHVzKHNhbXBsaW5nLnN0YXR1cy5tYWNoaW5lX25hbWUpO1xuICBjb25zdCB7IGVuYWJsZV92aWV3X2xhYl9yZXN1bHQsIGVuYWJsZV9kZWxldGVfc2FtcGxpbmcgfSA9IHVzZVNlbGVjdG9yKFxuICAgICh7IHBlcm1pc3Npb25zIH0pID0+IHBlcm1pc3Npb25zLFxuICApO1xuICBsZXQgcmVzdWx0OiBEcm9wRG93bkl0ZW1UeXBlW10gPSBbXTtcblxuICBpZiAoWydwbGFubmVkJywgJ2FjdGl2ZScsICdyZWFkeSddLmluY2x1ZGVzKHN0YXR1cykpIHtcbiAgICByZXN1bHQucHVzaChhY3Rpb25NZW51SXRlbXNNYXAoJ2NvbGxlY3QnKSk7XG4gICAgcmVzdWx0LnB1c2goYWN0aW9uTWVudUl0ZW1zTWFwKCdjYW5jZWwnKSk7XG4gICAgcmVzdWx0LnB1c2goe1xuICAgICAgLi4uYWN0aW9uTWVudUl0ZW1zTWFwKCdkZWxldGUnKSxcbiAgICAgIGRpc2FibGVkOiAhZW5hYmxlX2RlbGV0ZV9zYW1wbGluZyxcbiAgICB9KTtcbiAgfSBlbHNlIGlmIChzdGF0dXMgPT09ICdjb2xsZWN0ZWQnKSB7XG4gICAgcmVzdWx0LnB1c2goYWN0aW9uTWVudUl0ZW1zTWFwKCdwcm9wZXJ0aWVzX2VkaXQnKSk7XG4gICAgcmVzdWx0LnB1c2goYWN0aW9uTWVudUl0ZW1zTWFwKCdjYW5jZWwnKSk7XG4gICAgcmVzdWx0LnB1c2goe1xuICAgICAgLi4uYWN0aW9uTWVudUl0ZW1zTWFwKCdkZWxldGUnKSxcbiAgICAgIGRpc2FibGVkOiAhZW5hYmxlX2RlbGV0ZV9zYW1wbGluZyxcbiAgICB9KTtcbiAgfSBlbHNlIGlmIChzdGF0dXMgPT09ICdjYW5jZWxlZCcpIHtcbiAgICByZXN1bHQucHVzaChhY3Rpb25NZW51SXRlbXNNYXAoJ3Byb3BlcnRpZXNfZWRpdCcpKTtcbiAgICByZXN1bHQucHVzaChhY3Rpb25NZW51SXRlbXNNYXAoJ3JldmVydF9jYW5jZWwnKSk7XG4gICAgcmVzdWx0LnB1c2goe1xuICAgICAgLi4uYWN0aW9uTWVudUl0ZW1zTWFwKCdkZWxldGUnKSxcbiAgICAgIGRpc2FibGVkOiAhZW5hYmxlX2RlbGV0ZV9zYW1wbGluZyxcbiAgICB9KTtcbiAgfSBlbHNlIGlmIChzdGF0dXMgPT09ICdjb21wbGV0ZWQnKSB7XG4gICAgcmVzdWx0LnB1c2goYWN0aW9uTWVudUl0ZW1zTWFwKCdwcm9wZXJ0aWVzX2VkaXQnKSk7XG4gICAgcmVzdWx0LnB1c2goeyAuLi5hY3Rpb25NZW51SXRlbXNNYXAoJ2NhbmNlbCcpLCBkaXNhYmxlZDogdHJ1ZSB9KTtcbiAgICByZXN1bHQucHVzaCh7IC4uLmFjdGlvbk1lbnVJdGVtc01hcCgnZGVsZXRlJyksIGRpc2FibGVkOiB0cnVlIH0pO1xuICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgIC4uLmFjdGlvbk1lbnVJdGVtc01hcCgnbGFiX3Jlc3VsdCcpLFxuICAgICAgZGlzYWJsZWQ6ICFlbmFibGVfdmlld19sYWJfcmVzdWx0LFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn07XG5cbmV4cG9ydCBjb25zdCBTUEVDSUFMX01FTlVfSURfVE9fT1A6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gIGNvbGxlY3Q6IENPTExFQ1RfU0FNUExJTkdfT1AsXG4gIGNhbmNlbDogQ0FOQ0VMX1NBTVBMSU5HX09QLFxuICByZXZlcnRfY2FuY2VsOiBSRVZFUlRfQ0FOQ0VMTEFUSU9OLFxufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUNBLElBQUFBLHNCQUFBLEdBQUFDLE9BQUE7QUFDQSxJQUFBQyxtQkFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBQyxzQkFBQSxDQUFB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
|