@kando-env/kando-ui 1.2.228-alpha.3 → 1.2.228-alpha.32
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 +38 -106
- package/lib/Widgets/EventsCarousel/EventsCarousel.js +14 -46
- package/lib/Widgets/EventsRow/EventsRow.js +17 -46
- package/lib/Widgets/Map/GraphUtils.js +2 -5
- package/lib/Widgets/Map/Map.js +59 -88
- package/lib/Widgets/Map/MapUtils.js +6 -57
- package/lib/Widgets/Map/areas/AreaPolygon.js +9 -31
- package/lib/Widgets/Map/areas/AreaPolygons.js +10 -25
- package/lib/Widgets/Map/edges/Edge.js +11 -34
- package/lib/Widgets/Map/edges/Edges.js +13 -24
- package/lib/Widgets/Map/edges/arrows/Arrows.js +9 -24
- package/lib/Widgets/Map/events/Event.js +9 -27
- package/lib/Widgets/Map/events/EventIndicator.js +21 -46
- package/lib/Widgets/Map/events/EventPath.js +7 -24
- package/lib/Widgets/Map/events/EventUtils.js +5 -55
- package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +7 -23
- package/lib/Widgets/Map/events/PointOfEvent.js +7 -38
- package/lib/Widgets/Map/events/PointsForSpecificEvent.js +5 -17
- package/lib/Widgets/Map/events/Snail.js +9 -23
- package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +17 -58
- package/lib/Widgets/Map/map/FloatingGraph.js +4 -20
- package/lib/Widgets/Map/map/GraphDateButton.js +4 -10
- package/lib/Widgets/Map/matchGraph/MatchGraph.js +5 -11
- package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +5 -11
- package/lib/Widgets/Map/points/PointIcon.js +7 -23
- package/lib/Widgets/Map/points/PointMarker.js +15 -25
- package/lib/Widgets/Map/points/PointMarkers.js +18 -26
- package/lib/Widgets/Map/points/PointUtils.js +12 -95
- package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +17 -53
- package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +6 -23
- package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +3 -17
- package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +2 -6
- package/lib/Widgets/MostPolluting/Areas/Areas.js +21 -57
- package/lib/Widgets/MostPolluting/Areas/areas.mock.js +1 -1
- package/lib/Widgets/MostPolluting/Areas/areasResponse.interface.js +1 -1
- package/lib/Widgets/MostPolluting/Areas/styles.js +2 -8
- package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +4 -12
- package/lib/Widgets/MostPolluting/Factories/Factories.js +32 -68
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +5 -22
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +2 -11
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +5 -18
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +4 -8
- package/lib/Widgets/MostPolluting/Factories/factories.mock.js +1 -1
- package/lib/Widgets/MostPolluting/Factories/factoriesResponse.interface.js +1 -1
- package/lib/Widgets/MostPolluting/Factories/styles.js +2 -8
- package/lib/Widgets/MostPolluting/MostPolluting.js +6 -21
- package/lib/Widgets/MostPolluting/MostPolluting.stories.js +14 -18
- package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +3 -10
- package/lib/Widgets/MostPolluting/ShowMore/styles.js +2 -6
- package/lib/Widgets/MostPolluting/assets/index.js +18 -29
- package/lib/Widgets/MostPolluting/components/ChangePercent.js +2 -17
- package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +16 -27
- package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +5 -27
- package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +26 -34
- package/lib/Widgets/MostPolluting/components/PotentialImpact.js +5 -21
- package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +30 -44
- package/lib/Widgets/MostPolluting/models.js +1 -1
- package/lib/Widgets/MostPolluting/styles.js +2 -8
- package/lib/Widgets/PotentialImpactSummary/Back/Back.js +3 -10
- package/lib/Widgets/PotentialImpactSummary/Icon.js +2 -12
- package/lib/Widgets/PotentialImpactSummary/index.js +9 -31
- package/lib/Widgets/PotentialImpactSummary/index.test.js +18 -37
- package/lib/Widgets/PotentialImpactSummary/styles.js +3 -16
- package/lib/Widgets/PotentialImpactSummary/useCasesResponse.interface.js +1 -1
- package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +5 -11
- package/lib/Widgets/QualitySummary/PieChart/PieChart.js +8 -22
- package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +20 -30
- package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +16 -25
- package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +9 -25
- package/lib/Widgets/QualitySummary/QualitySummary.js +9 -25
- package/lib/Widgets/QualitySummary/qualitySummary.mock.js +2 -2
- package/lib/Widgets/QualitySummary/qualitySummaryResponse.interface.js +1 -1
- package/lib/Widgets/QualitySummary/styles.js +3 -16
- package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +11 -24
- package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +11 -38
- package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +10 -19
- package/lib/Widgets/UtilityInformation/UtilityInformation.js +26 -51
- package/lib/Widgets/UtilityInformation/UtilityInformationResponse.interface.js +1 -1
- package/lib/Widgets/UtilityInformation/styles.js +4 -26
- package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +2 -2
- package/lib/assets/icons/index.js +5 -8
- package/lib/assets/icons/kandoStepper/index.js +9 -14
- package/lib/components/ApplyButton/ApplyButton.js +6 -12
- package/lib/components/ApplyButton/index.js +2 -5
- package/lib/components/Backdrop/Backdrop.js +3 -9
- package/lib/components/ContentLoader/ContentLoader.js +8 -13
- package/lib/components/ContentLoader/index.js +1 -2
- package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +8 -15
- package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +3 -9
- package/lib/components/CustomInputs/DoubleTabs/styles.js +3 -11
- package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +7 -22
- package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +2 -6
- package/lib/components/CustomInputs/Search/Search.js +15 -42
- package/lib/components/CustomInputs/Search/index.js +2 -5
- package/lib/components/CustomInputs/Select/Select.js +15 -35
- package/lib/components/CustomInputs/Select/Select.stories.js +3 -9
- package/lib/components/DamageType/DamageType.js +39 -80
- package/lib/components/DamageType/index.js +2 -5
- package/lib/components/DataLoaderError/DataLoaderError.js +5 -11
- package/lib/components/DischargeHeatmap/DischargeHeatmap.js +7 -17
- package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +18 -38
- package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +14 -41
- package/lib/components/DischargeHeatmap/HighchartsOptions.js +7 -11
- package/lib/components/DischargeHeatmap/index.js +2 -5
- package/lib/components/DischargeHeatmap/mocks/handlers.js +3 -4
- package/lib/components/DischargeHeatmap/popupText.js +2 -17
- package/lib/components/DischargeHeatmap/titles.js +2 -9
- package/lib/components/DischargeHeatmap/types.js +1 -1
- package/lib/components/ErrorBoundary.js +4 -16
- package/lib/components/Events/Events.js +7 -34
- package/lib/components/Events/index.js +2 -5
- package/lib/components/Graph/Graph.js +35 -80
- package/lib/components/Graph/index.js +2 -5
- package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +2 -8
- package/lib/components/Header/Breadcrumbs/index.js +2 -5
- package/lib/components/Header/DoubleTabs/DoubleTabs.js +16 -34
- package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +3 -9
- package/lib/components/Header/DoubleTabs/styles.js +3 -11
- package/lib/components/Header/Header.js +2 -8
- package/lib/components/Header/Header.stories.js +3 -9
- package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +2 -12
- package/lib/components/Header/InfoBar/InfoBar.js +6 -34
- package/lib/components/Header/InfoBar/Search/Control.js +3 -14
- package/lib/components/Header/InfoBar/Search/GroupLabel.js +2 -13
- package/lib/components/Header/InfoBar/Search/Search.js +7 -30
- package/lib/components/Header/InfoBar/Search/SearchContainer.js +6 -25
- package/lib/components/Header/InfoBar/Search/index.js +2 -5
- package/lib/components/Header/InfoBar/Search/searchStyle.js +2 -5
- package/lib/components/Header/KandoNavbar/KandoNavbar.js +48 -95
- package/lib/components/Header/KandoNavbar/index.js +2 -5
- package/lib/components/Header/Slideshow/Slideshow.js +33 -71
- package/lib/components/Header/Slideshow/index.js +2 -5
- package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +2 -8
- package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +3 -16
- package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +2 -16
- package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +8 -25
- package/lib/components/Header/Toolbar/Toolbar.js +49 -89
- package/lib/components/InfoBar/InfoBar.js +10 -27
- package/lib/components/InfoBar/InfoBar.stories.js +3 -9
- package/lib/components/KandoModal/KandoModal.js +21 -46
- package/lib/components/KandoModal/index.js +2 -5
- package/lib/components/Link.js +3 -12
- package/lib/components/Links/CustomRedirect/CustomRedirect.js +4 -13
- package/lib/components/Links/StyledLink/StyledLink.js +7 -17
- package/lib/components/Links/StyledNavLink/StyledNavLink.js +5 -15
- package/lib/components/LiveEvents/CarouselSlide.js +6 -12
- package/lib/components/LiveEvents/LiveEvents.js +2 -11
- package/lib/components/LiveEvents/index.js +2 -5
- package/lib/components/LoaderByPercent/LoaderByPercent.js +14 -24
- package/lib/components/Map/Map.js +14 -30
- package/lib/components/Map/index.js +2 -5
- package/lib/components/Modal/Modal.js +4 -11
- package/lib/components/NarrowHeader.js +2 -13
- package/lib/components/PointInfo/PointInfo.js +11 -23
- package/lib/components/PointInfo/index.js +2 -5
- package/lib/components/PopupModal/PopupModal.js +7 -18
- package/lib/components/PopupModal/PopupModal.stories.js +3 -12
- package/lib/components/Sector/Sector.js +5 -14
- package/lib/components/Sector/Sector.test.js +4 -9
- package/lib/components/Sector/index.js +2 -5
- package/lib/components/Sector/sectorIcons.js +2 -28
- package/lib/components/SevereEvent/Eta/Eta.js +16 -43
- package/lib/components/SevereEvent/Eta/styles.js +2 -6
- package/lib/components/SevereEvent/SevereEvent.js +17 -40
- package/lib/components/Spinner/Spinner.js +6 -11
- package/lib/components/Spinner/Spinner.stories.js +3 -9
- package/lib/components/Spinner/index.js +2 -5
- package/lib/components/Spinner/styles.js +2 -10
- package/lib/components/Tabs/Tabs.js +7 -29
- package/lib/components/Tabs/Tabs.stories.js +3 -9
- package/lib/components/Tabs/assets/index.js +1 -6
- package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +4 -16
- package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +14 -47
- package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +14 -40
- package/lib/components/TimeRangeSelector/KandoRangePicker/index.js +2 -5
- package/lib/components/TimeRangeSelector/TimeRangeHelper.js +10 -30
- package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +5 -10
- package/lib/components/TimeRangeSelector/TimeRangeItem/index.js +2 -5
- package/lib/components/TimeRangeSelector/TimeRangeList.js +6 -17
- package/lib/components/TimeRangeSelector/TimeRangeOptions.js +13 -28
- package/lib/components/TimeRangeSelector/TimeRangeSelector.js +13 -40
- package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +3 -11
- package/lib/components/TimeRangeSelector/constants.js +2 -2
- package/lib/components/TimeRangeSelector/index.js +2 -5
- package/lib/components/Toggle/Toggle.js +9 -25
- package/lib/components/Toggle/index.js +2 -5
- package/lib/components/TrendGraph/TrendGraph.js +19 -54
- package/lib/components/TrendGraph/index.js +2 -5
- package/lib/components/TrendGraphNVL/TrendGraphNVL.js +12 -39
- package/lib/components/TrendGraphNVL/index.js +2 -5
- package/lib/development-environment/index.js +2 -14
- package/lib/development-environment/mock/browser.js +2 -9
- package/lib/development-environment/mock/get.js +1 -5
- package/lib/development-environment/mock/handlers.js +1 -26
- package/lib/development-environment/mock/mockBus.js +2 -7
- package/lib/development-environment/mock/mockObjects/area-trends-graph.js +1 -1
- package/lib/development-environment/mock/mockObjects/areaInformation.js +1 -1
- package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +1 -1
- package/lib/development-environment/mock/mockObjects/areaSitesData.js +1 -1
- package/lib/development-environment/mock/mockObjects/areasJson.js +1 -1
- package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +1 -1
- package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +1 -1
- package/lib/development-environment/mock/mockObjects/data-menuData.js +1 -1
- package/lib/development-environment/mock/mockObjects/data-search.js +1 -1
- package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +1 -1
- package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +1 -1
- package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +1 -1
- package/lib/development-environment/mock/mockObjects/eventsJson.js +1 -1
- package/lib/development-environment/mock/mockObjects/metascore.js +1 -1
- package/lib/development-environment/mock/mockObjects/permissionsJson.js +1 -1
- package/lib/development-environment/mock/mockObjects/pointsJson.js +1 -1
- package/lib/development-environment/mock/mockObjects/site-info.js +1 -1
- package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +1 -1
- package/lib/development-environment/togly/ToglyDashboard.js +6 -26
- package/lib/development-environment/togly/ToglyItem.js +7 -29
- package/lib/development-environment/togly/flags.js +1 -1
- package/lib/development-environment/togly/init.js +2 -7
- package/lib/development-environment/togly/macro.js +7 -9
- package/lib/development-environment/togly/useDoubleKeyDown.js +1 -8
- package/lib/development-environment/togly/useLocalStorage.js +13 -20
- package/lib/hooks/useApi.js +38 -59
- package/lib/hooks/useApiWithDashboardQuery.js +11 -31
- package/lib/hooks/useClickOutside.js +1 -5
- package/lib/hooks/useInitializeHeaders.js +2 -8
- package/lib/hooks/useKandoFetch.js +14 -28
- package/lib/hooks/useMap.js +11 -38
- package/lib/hooks/useNavContext.js +14 -23
- package/lib/hooks/useQueryURL.js +1 -4
- package/lib/hooks/useRemoveExistingLayers.js +2 -7
- package/lib/hooks/useUpdateEventBodyTail.js +1 -10
- package/lib/hooks/useUserTimeZone.js +1 -9
- package/lib/hooks/useUserTimeZone.test.js +3 -13
- package/lib/hooks/useWindowSize.js +15 -20
- package/lib/index.js +14 -30
- package/lib/macros/getVersion.js +2 -3
- package/lib/models/IAction.js +1 -1
- package/lib/models/IAppState.js +1 -1
- package/lib/pages/AreaPage/AreaPage.js +31 -64
- package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +7 -20
- package/lib/pages/AreaPage/Dashboard/Dashboard.js +4 -27
- package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +13 -39
- package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +7 -9
- package/lib/pages/AreaPage/Dashboard/Sites/Sites.js +30 -68
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +2 -11
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +4 -16
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +4 -8
- package/lib/pages/AreaPage/Dashboard/Sites/SitesResponse.interface.js +1 -1
- package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +1 -1
- package/lib/pages/AreaPage/Dashboard/Sites/styles.js +3 -11
- package/lib/pages/AssessmentPage/AssessmentPage.js +7 -34
- package/lib/pages/CannyWidget/Feedback.js +12 -29
- package/lib/pages/CovidPage/CovidPage.js +3 -18
- package/lib/pages/CovidPage/components/Body.js +11 -37
- package/lib/pages/CovidPage/components/Map.js +22 -42
- package/lib/pages/CovidPage/components/Sidebar.js +6 -22
- package/lib/pages/CovidPage/components/Summary.js +10 -33
- package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +12 -39
- package/lib/pages/CovidPage/components/TrendGraphNVL/index.js +2 -5
- package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +15 -45
- package/lib/pages/CovidPage/components/TrendPopupContent/index.js +2 -5
- package/lib/pages/CovidPage/components/areas/Area.js +8 -37
- package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +6 -49
- package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +7 -22
- package/lib/pages/CovidPage/components/areas/AreasList.js +16 -37
- package/lib/pages/CovidPage/components/areas/Sort.js +7 -23
- package/lib/pages/CovidPage/components/nvlStatusHelper.js +2 -11
- package/lib/pages/EventsPage/Body/Body.js +4 -23
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +13 -32
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +12 -32
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +5 -12
- package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +4 -12
- package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +6 -11
- package/lib/pages/EventsPage/DragAndDropArea/index.js +2 -5
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +9 -37
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +3 -22
- package/lib/pages/EventsPage/EventsPage.js +3 -17
- package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +12 -37
- package/lib/pages/EventsPage/events/MoreInfo.js +3 -23
- package/lib/pages/EventsPage/events/Sidebar.js +7 -22
- package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +7 -33
- package/lib/pages/EventsPage/events/event_info/EventDetails.js +9 -33
- package/lib/pages/EventsPage/events/event_info/EventInfo.js +14 -45
- package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +3 -15
- package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +12 -44
- package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +2 -13
- package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +10 -34
- package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +2 -9
- package/lib/pages/EventsPage/events/event_info/MockHistoryInformation/LineChartYear/LineChartYear.js +9 -31
- package/lib/pages/EventsPage/events/event_info/MockHistoryInformation/MockHistoryInformation.js +3 -11
- package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +7 -25
- package/lib/pages/EventsPage/events/event_info/charts/EventDetailsLineChart.js +6 -27
- package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +6 -26
- package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +8 -37
- package/lib/pages/EventsPage/events/event_info/samplings/Sampling.js +4 -16
- package/lib/pages/EventsPage/events/event_info/samplings/Samplings.js +3 -11
- package/lib/pages/EventsPage/events/event_info/sources/Source.js +9 -32
- package/lib/pages/EventsPage/events/event_info/sources/Sources.js +6 -24
- package/lib/pages/EventsPage/events/events_list/EventItem.js +5 -28
- package/lib/pages/EventsPage/events/events_list/EventUtils.js +3 -14
- package/lib/pages/EventsPage/events/events_list/EventsList.js +41 -107
- package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +13 -36
- package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +33 -100
- package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +12 -59
- package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +7 -21
- package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +17 -42
- package/lib/pages/EventsPage/events/events_list/Sort.js +6 -27
- package/lib/pages/ImportFileWizard/FileUploadRespones.js +5 -20
- package/lib/pages/ImportFileWizard/ImportButtomButtons.js +4 -10
- package/lib/pages/ImportFileWizard/ImportFile.js +12 -33
- package/lib/pages/ImportFileWizard/ResponseBody.js +4 -13
- package/lib/pages/ImportFileWizard/ValidationForm.js +8 -28
- package/lib/pages/ImportFileWizard/ValidationResponse.js +9 -35
- package/lib/pages/ImportFileWizard/importFileUtils.js +5 -6
- package/lib/pages/ImportFileWizard/index.js +2 -5
- package/lib/pages/ImportGisPage/ImportGisContainer.js +9 -31
- package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +11 -28
- package/lib/pages/ImportGisPage/importGisUtils.js +6 -18
- package/lib/pages/ImportGisProcess/index.js +5 -19
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +7 -23
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +4 -11
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +2 -9
- package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +27 -62
- package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +3 -9
- package/lib/pages/NotificationsPage/Notification/Notification.js +9 -17
- package/lib/pages/NotificationsPage/Notifications.interface.js +1 -1
- package/lib/pages/NotificationsPage/Notifications.mock.js +1 -1
- package/lib/pages/NotificationsPage/Notifications.stories.js +3 -11
- package/lib/pages/NotificationsPage/NotificationsPage.js +14 -40
- package/lib/pages/NotificationsPage/assets/index.js +15 -24
- package/lib/pages/NotificationsPageV2/NotificationsPage.js +37 -87
- package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +5 -25
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +17 -44
- package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +20 -53
- package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +5 -48
- package/lib/pages/NotificationsPageV2/notificationUtils.js +3 -30
- package/lib/pages/OldSitePage/IDashboardData.js +1 -1
- package/lib/pages/OldSitePage/OldSitePage.js +65 -132
- package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +4 -17
- package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +3 -9
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +5 -10
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +6 -13
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +3 -13
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +9 -27
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +7 -21
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +5 -11
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +3 -13
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +11 -28
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +5 -13
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +30 -63
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +2 -2
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +13 -11
- package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +5 -22
- package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +4 -19
- package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +9 -17
- package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +3 -18
- package/lib/pages/OldSitePage/SamplingParameters/models.js +1 -1
- package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +3 -11
- package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +3 -8
- package/lib/pages/ProfilePage/Container.js +2 -6
- package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +18 -47
- package/lib/pages/ProfilePage/ProfilePage.js +41 -92
- package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +11 -36
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +8 -18
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +5 -18
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +69 -111
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +6 -25
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +8 -16
- package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +9 -30
- package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +7 -26
- package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +10 -22
- package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +2 -14
- package/lib/pages/SamplingsPage/DesktopActions/index.js +2 -5
- package/lib/pages/SamplingsPage/NavigationDropdown.js +4 -22
- package/lib/pages/SamplingsPage/NewSamplingAction.js +29 -79
- package/lib/pages/SamplingsPage/SamplingMobileModal.js +13 -66
- package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +6 -20
- package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +3 -14
- package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +24 -60
- package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +6 -24
- package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +2 -15
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +113 -192
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +13 -46
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +16 -51
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +17 -53
- package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +7 -25
- package/lib/pages/SamplingsPage/SamplingProperties/styles.js +3 -9
- package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +2 -12
- package/lib/pages/SamplingsPage/SamplingsMobileItem.js +9 -40
- package/lib/pages/SamplingsPage/SamplingsMobileList.js +12 -38
- package/lib/pages/SamplingsPage/SamplingsPage.js +16 -43
- package/lib/pages/SamplingsPage/SamplingsPageContainer.js +16 -52
- package/lib/pages/SamplingsPage/index.js +1 -3
- package/lib/pages/SamplingsPage/samplingsPageUtils.js +8 -31
- package/lib/pages/SitePage/DischargePattern/DischargePattern.js +3 -11
- package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +3 -9
- package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +4 -18
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +7 -12
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +16 -24
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +8 -17
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +19 -28
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +3 -13
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +11 -30
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +7 -21
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +5 -11
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +3 -13
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +11 -28
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +5 -13
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +34 -72
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +2 -2
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +13 -11
- package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +6 -23
- package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +4 -19
- package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +18 -39
- package/lib/pages/SitePage/SamplingParameters/dataParser.js +15 -31
- package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +3 -7
- package/lib/pages/SitePage/SamplingParameters/models.js +1 -1
- package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +3 -11
- package/lib/pages/SitePage/SamplingParameters/styles/styles.js +3 -9
- package/lib/pages/SitePage/SiteInformation/ContributorItem.js +6 -13
- package/lib/pages/SitePage/SiteInformation/EmptyState.js +2 -11
- package/lib/pages/SitePage/SiteInformation/PollutionContributor.js +6 -16
- package/lib/pages/SitePage/SiteInformation/SiteInformation.js +19 -52
- package/lib/pages/SitePage/SiteInformation/style.js +3 -9
- package/lib/pages/SitePage/SitePage.js +36 -79
- package/lib/pages/UploadLabResult/index.js +2 -9
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +12 -42
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +3 -10
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +3 -17
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +3 -9
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +11 -39
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +2 -6
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +2 -8
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +2 -11
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +8 -17
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/models.js +1 -1
- package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +2 -11
- package/lib/pages/UtilityDashboardPage/TopBar/styles.js +2 -6
- package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +5 -29
- package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +14 -20
- package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +7 -20
- package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +7 -24
- package/lib/pages/WbeDashboard/ExpandableComponent.js +3 -15
- package/lib/pages/WbeDashboard/GraphWrapper.js +7 -30
- package/lib/pages/WbeDashboard/IndividualTinyGraph.js +8 -23
- package/lib/pages/WbeDashboard/SearchInput.js +6 -26
- package/lib/pages/WbeDashboard/SummaryGraph.js +34 -69
- package/lib/pages/WbeDashboard/SummaryGraphModal.js +2 -14
- package/lib/pages/WbeDashboard/Tabs.js +4 -10
- package/lib/pages/WbeDashboard/WbeDashboardPage.js +27 -116
- package/lib/pages/WbeDashboard/WbeSummaryBar.js +10 -46
- package/lib/providers/Slideshow/SlideshowContext.js +3 -5
- package/lib/providers/Slideshow/SlideshowProvider.js +18 -35
- package/lib/providers/Slideshow/SlideshowRunner.js +7 -17
- package/lib/providers/UrlHistory/UrlHistoryContext.js +4 -8
- package/lib/providers/UrlHistory/UrlHistoryProvider.js +2 -16
- package/lib/providers/UrlHistory/index.js +6 -9
- package/lib/providers/UrlHistory/useLastVisited.js +1 -7
- package/lib/react-app-env.d.js +1 -1
- package/lib/store/ImportGis/action.js +1 -1
- package/lib/store/ImportGis/actionTypes.js +5 -6
- package/lib/store/ImportGis/actionsCreator.js +7 -17
- package/lib/store/ImportGis/models/gisImports.js +1 -1
- package/lib/store/ImportGis/reducer.js +3 -19
- package/lib/store/WBE/actionTypes.js +1 -1
- package/lib/store/WBE/actions.js +1 -3
- package/lib/store/WBE/models/IAreaWBE.js +1 -1
- package/lib/store/WBE/models/IWBE.js +1 -1
- package/lib/store/WBE/models/IWBEState.js +1 -1
- package/lib/store/WBE/reducer.js +3 -10
- package/lib/store/areas/actionTypes.js +2 -2
- package/lib/store/areas/actions.js +3 -12
- package/lib/store/areas/models/IArea.js +1 -1
- package/lib/store/areas/models/IAreasState.js +1 -1
- package/lib/store/areas/reducer.js +1 -9
- package/lib/store/context/actionTypes.js +2 -2
- package/lib/store/context/actions.js +2 -6
- package/lib/store/context/contextMiddlewares.js +1 -9
- package/lib/store/context/models/INavContext.js +1 -1
- package/lib/store/context/models/INavContextState.js +1 -1
- package/lib/store/context/reducer.js +3 -10
- package/lib/store/dashboard/dashboardSlice.js +1 -3
- package/lib/store/dashboard/periodType.js +1 -1
- package/lib/store/edges/actionTypes.js +2 -2
- package/lib/store/edges/actions.js +3 -9
- package/lib/store/edges/models/IEdge.js +1 -1
- package/lib/store/edges/models/IEdgesState.js +1 -1
- package/lib/store/edges/reducer.js +3 -17
- package/lib/store/events/actionTypes.js +2 -2
- package/lib/store/events/actions.js +10 -28
- package/lib/store/events/models/IEvent.js +1 -1
- package/lib/store/events/models/IEventsState.js +1 -1
- package/lib/store/events/models/ISource.js +1 -1
- package/lib/store/events/reducer.js +4 -42
- package/lib/store/filters/IFilter.js +1 -1
- package/lib/store/filters/IFilterItem.js +1 -1
- package/lib/store/global/actionTypes.js +2 -2
- package/lib/store/global/actions.js +8 -20
- package/lib/store/global/models/IGlobalState.js +1 -1
- package/lib/store/global/reducer.js +3 -19
- package/lib/store/permissions/permissionsSlice.js +1 -6
- package/lib/store/points/actionTypes.js +2 -2
- package/lib/store/points/actions.js +1 -5
- package/lib/store/points/models/IGroup.js +1 -1
- package/lib/store/points/models/IPoint.js +1 -1
- package/lib/store/points/models/IPointsState.js +1 -1
- package/lib/store/points/reducer.js +1 -7
- package/lib/store/rootActionTypes.js +1 -1
- package/lib/store/rootActions.js +1 -3
- package/lib/store/rootReducer.js +5 -24
- package/lib/store/rootStore.js +5 -13
- package/lib/store/samplings/action.js +1 -1
- package/lib/store/samplings/actionTypes.js +5 -6
- package/lib/store/samplings/actionsCreator.js +2 -5
- package/lib/store/samplings/models/Samplings.js +1 -1
- package/lib/store/samplings/reducer.js +2 -10
- package/lib/styles/StylesLayout.js +2 -8
- package/lib/styles/theme/theme.js +2 -4
- package/lib/test/mocks/browser.js +4 -8
- package/lib/test/test-utils.js +12 -22
- package/lib/ui-kit/Button/Button.js +16 -24
- package/lib/ui-kit/Button/Button.test.js +8 -30
- package/lib/ui-kit/Button/ButtonUtils.js +1 -1
- package/lib/ui-kit/Checkbox/Checkbox.js +8 -22
- package/lib/ui-kit/DropDown/DropDown.js +6 -17
- package/lib/ui-kit/DropDown/DropDown.test.js +7 -13
- package/lib/ui-kit/DropDown/DropDownItem.js +6 -14
- package/lib/ui-kit/DropDown/DropdownToggle.js +3 -14
- package/lib/ui-kit/IconAction/IconAction.js +4 -10
- package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +19 -54
- package/lib/ui-kit/InfoTooltip/InfoTooltip.js +17 -28
- package/lib/ui-kit/KandoList/KandoList.js +6 -19
- package/lib/ui-kit/KandoList/kandoListUtils.js +1 -1
- package/lib/ui-kit/KandoTable/KandoTable.js +23 -39
- package/lib/ui-kit/KandoTable/KandoTable.test.js +2 -17
- package/lib/ui-kit/KandoTable/kandoTableUtils.js +1 -1
- package/lib/ui-kit/Layout/Layout.js +2 -9
- package/lib/ui-kit/MobileInput/MobileInput.js +19 -34
- package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +9 -15
- package/lib/ui-kit/ModalConfirmation/index.js +1 -3
- package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +6 -11
- package/lib/ui-kit/SamplingStatus/SamplingStatus.js +4 -12
- package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +4 -11
- package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +6 -15
- package/lib/ui-kit/Tooltip/Tooltip.js +4 -9
- package/lib/ui-kit/index.js +1 -15
- package/lib/ui-kit/kandoStepper/KandoStepper.js +3 -8
- package/lib/utilities/ActionUtility.js +1 -2
- package/lib/utilities/Alert.js +3 -11
- package/lib/utilities/Analytics.js +2 -13
- package/lib/utilities/Array.js +2 -6
- package/lib/utilities/Enum.js +22 -39
- package/lib/utilities/ErrorBoundary.js +4 -19
- package/lib/utilities/File.js +43 -66
- package/lib/utilities/GetDir.js +5 -9
- package/lib/utilities/KandoDate.js +2 -8
- package/lib/utilities/KandoModal.js +9 -26
- package/lib/utilities/LocalStorage.js +2 -13
- package/lib/utilities/ThousandsToK.js +1 -3
- package/lib/utilities/TimeFormat.js +8 -23
- package/lib/utilities/Truncate.js +9 -31
- package/lib/utilities/edgesMath.js +9 -28
- package/lib/utilities/i18n.js +2 -15
- package/lib/utilities/kql.js +3 -10
- package/lib/utilities/map/icons.js +2 -19
- package/lib/utilities/scoreToColor.js +1 -8
- package/lib/utilities/time.js +3 -10
- package/lib/utilities/uploadToS3.js +2 -10
- package/lib/utilities/urls.js +5 -13
- package/package.json +4 -2
|
@@ -1,47 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports.default = void 0;
|
|
11
|
-
|
|
12
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
-
|
|
14
10
|
var _reactRedux = require("react-redux");
|
|
15
|
-
|
|
16
11
|
var _EventsList = _interopRequireDefault(require("./events_list/EventsList"));
|
|
17
|
-
|
|
18
12
|
var _ErrorBoundary = _interopRequireDefault(require("utilities/ErrorBoundary"));
|
|
19
|
-
|
|
20
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
|
-
|
|
22
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
|
-
|
|
24
13
|
function mapStateToProps(state) {
|
|
25
14
|
var global_data = state.global_data,
|
|
26
|
-
|
|
15
|
+
events_data = state.events_data;
|
|
27
16
|
return {
|
|
28
17
|
global_data: global_data,
|
|
29
18
|
events_data: events_data
|
|
30
19
|
};
|
|
31
20
|
}
|
|
32
|
-
|
|
33
21
|
var Sidebar = function Sidebar(props) {
|
|
34
22
|
var global_data = props.global_data,
|
|
35
|
-
|
|
23
|
+
events_data = props.events_data;
|
|
36
24
|
var focusedEvent = events_data.focusedEvent,
|
|
37
|
-
|
|
25
|
+
hoveredEvent = events_data.hoveredEvent;
|
|
38
26
|
(0, _react.useEffect)(function () {
|
|
39
27
|
if (global_data.map !== null && events_data.items.length !== 0 && focusedEvent !== null && global_data.map._mapPane !== undefined && !hoveredEvent) {
|
|
40
28
|
document.getElementsByClassName('event-timerange')[0].classList.toggle('timerange--sidenav-collapsed');
|
|
41
29
|
}
|
|
42
|
-
|
|
43
30
|
if (global_data.map !== null && global_data.map !== undefined) {
|
|
44
31
|
// Timerange control icon moves when the Sidenav collapses
|
|
32
|
+
|
|
45
33
|
setTimeout(function () {
|
|
46
34
|
try {
|
|
47
35
|
global_data.map.invalidateSize(true);
|
|
@@ -55,10 +43,7 @@ var Sidebar = function Sidebar(props) {
|
|
|
55
43
|
sidenavExpanded: global_data.sidenavExpanded
|
|
56
44
|
}));
|
|
57
45
|
};
|
|
58
|
-
|
|
59
46
|
var connector = (0, _reactRedux.connect)(mapStateToProps);
|
|
60
|
-
|
|
61
47
|
var _default = connector(Sidebar);
|
|
62
|
-
|
|
63
48
|
exports.default = _default;
|
|
64
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9FdmVudHNMaXN0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9FcnJvckJvdW5kYXJ5IiwibWFwU3RhdGVUb1Byb3BzIiwic3RhdGUiLCJnbG9iYWxfZGF0YSIsImV2ZW50c19kYXRhIiwiU2lkZWJhciIsInByb3BzIiwiZm9jdXNlZEV2ZW50IiwiaG92ZXJlZEV2ZW50IiwidXNlRWZmZWN0IiwibWFwIiwiaXRlbXMiLCJsZW5ndGgiLCJfbWFwUGFuZSIsInVuZGVmaW5lZCIsImRvY3VtZW50IiwiZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSIsImNsYXNzTGlzdCIsInRvZ2dsZSIsInNldFRpbWVvdXQiLCJpbnZhbGlkYXRlU2l6ZSIsImVyciIsImNvbnNvbGUiLCJlcnJvciIsInNpZGVuYXZFeHBhbmRlZCIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50IiwiY29ubmVjdG9yIiwiY29ubmVjdCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9TaWRlYmFyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgSUFwcFN0YXRlIH0gZnJvbSAnc3JjL21vZGVscy9JQXBwU3RhdGUnO1xuaW1wb3J0IHsgY29ubmVjdCwgQ29ubmVjdGVkUHJvcHMgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgRXZlbnRzTGlzdCBmcm9tICcuL2V2ZW50c19saXN0L0V2ZW50c0xpc3QnO1xuaW1wb3J0IEVycm9yQm91bmRhcnkgZnJvbSAnc3JjL3V0aWxpdGllcy9FcnJvckJvdW5kYXJ5JztcblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlOiBJQXBwU3RhdGUpIHtcbiAgY29uc3QgeyBnbG9iYWxfZGF0YSwgZXZlbnRzX2RhdGEgfSA9IHN0YXRlO1xuXG4gIHJldHVybiB7XG4gICAgZ2xvYmFsX2RhdGEsXG4gICAgZXZlbnRzX2RhdGEsXG4gIH07XG59XG5cbnR5cGUgSVByb3BzID0gQ29ubmVjdGVkUHJvcHM8dHlwZW9mIGNvbm5lY3Rvcj47XG5cbmNvbnN0IFNpZGViYXI6IFJlYWN0LkZDPElQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBnbG9iYWxfZGF0YSwgZXZlbnRzX2RhdGEgfSA9IHByb3BzO1xuICBjb25zdCB7IGZvY3VzZWRFdmVudCwgaG92ZXJlZEV2ZW50IH0gPSBldmVudHNfZGF0YTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIGdsb2JhbF9kYXRhLm1hcCAhPT0gbnVsbCAmJlxuICAgICAgZXZlbnRzX2RhdGEuaXRlbXMubGVuZ3RoICE9PSAwICYmXG4gICAgICBmb2N1c2VkRXZlbnQgIT09IG51bGwgJiZcbiAgICAgIGdsb2JhbF9kYXRhLm1hcC5fbWFwUGFuZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAhaG92ZXJlZEV2ZW50XG4gICAgKSB7XG4gICAgICBkb2N1bWVudFxuICAgICAgICAuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnZXZlbnQtdGltZXJhbmdlJylbMF1cbiAgICAgICAgLmNsYXNzTGlzdC50b2dnbGUoJ3RpbWVyYW5nZS0tc2lkZW5hdi1jb2xsYXBzZWQnKTtcbiAgICB9XG5cbiAgICBpZiAoZ2xvYmFsX2RhdGEubWFwICE9PSBudWxsICYmIGdsb2JhbF9kYXRhLm1hcCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAvLyBUaW1lcmFuZ2UgY29udHJvbCBpY29uIG1vdmVzIHdoZW4gdGhlIFNpZGVuYXYgY29sbGFwc2VzXG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGdsb2JhbF9kYXRhLm1hcC5pbnZhbGlkYXRlU2l6ZSh0cnVlKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignZXJyJywgZXJyKTtcbiAgICAgICAgfVxuICAgICAgfSwgNDAwKTtcbiAgICB9XG4gIH0sIFtnbG9iYWxfZGF0YS5zaWRlbmF2RXhwYW5kZWQsIGdsb2JhbF9kYXRhLm1hcF0pO1xuXG4gIHJldHVybiAoXG4gICAgPEVycm9yQm91bmRhcnk+XG4gICAgICA8RXZlbnRzTGlzdCBzaWRlbmF2RXhwYW5kZWQ9e2dsb2JhbF9kYXRhLnNpZGVuYXZFeHBhbmRlZH0+PC9FdmVudHNMaXN0PlxuICAgIDwvRXJyb3JCb3VuZGFyeT5cbiAgKTtcbn07XG5cbmNvbnN0IGNvbm5lY3RvciA9IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RvcihTaWRlYmFyKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBQyxXQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxXQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSSxjQUFBLEdBQUFELHNCQUFBLENBQUFILE9BQUE7QUFFQSxTQUFTSyxlQUFlQSxDQUFDQyxLQUFnQixFQUFFO0VBQ3pDLElBQVFDLFdBQVcsR0FBa0JELEtBQUssQ0FBbENDLFdBQVc7SUFBRUMsV0FBVyxHQUFLRixLQUFLLENBQXJCRSxXQUFXO0VBRWhDLE9BQU87SUFDTEQsV0FBVyxFQUFYQSxXQUFXO0lBQ1hDLFdBQVcsRUFBWEE7RUFDRixDQUFDO0FBQ0g7QUFJQSxJQUFNQyxPQUF5QixHQUFHLFNBQTVCQSxPQUF5QkEsQ0FBSUMsS0FBSyxFQUFLO0VBQzNDLElBQVFILFdBQVcsR0FBa0JHLEtBQUssQ0FBbENILFdBQVc7SUFBRUMsV0FBVyxHQUFLRSxLQUFLLENBQXJCRixXQUFXO0VBQ2hDLElBQVFHLFlBQVksR0FBbUJILFdBQVcsQ0FBMUNHLFlBQVk7SUFBRUMsWUFBWSxHQUFLSixXQUFXLENBQTVCSSxZQUFZO0VBRWxDLElBQUFDLGdCQUFTLEVBQUMsWUFBTTtJQUNkLElBQ0VOLFdBQVcsQ0FBQ08sR0FBRyxLQUFLLElBQUksSUFDeEJOLFdBQVcsQ0FBQ08sS0FBSyxDQUFDQyxNQUFNLEtBQUssQ0FBQyxJQUM5QkwsWUFBWSxLQUFLLElBQUksSUFDckJKLFdBQVcsQ0FBQ08sR0FBRyxDQUFDRyxRQUFRLEtBQUtDLFNBQVMsSUFDdEMsQ0FBQ04sWUFBWSxFQUNiO01BQ0FPLFFBQVEsQ0FDTEMsc0JBQXNCLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDNUNDLFNBQVMsQ0FBQ0MsTUFBTSxDQUFDLDhCQUE4QixDQUFDO0lBQ3JEO0lBRUEsSUFBSWYsV0FBVyxDQUFDTyxHQUFHLEtBQUssSUFBSSxJQUFJUCxXQUFXLENBQUNPLEdBQUcsS0FBS0ksU0FBUyxFQUFFO01BQzdEOztNQUVBSyxVQUFVLENBQUMsWUFBTTtRQUNmLElBQUk7VUFDRmhCLFdBQVcsQ0FBQ08sR0FBRyxDQUFDVSxjQUFjLENBQUMsSUFBSSxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxPQUFPQyxHQUFHLEVBQUU7VUFDWkMsT0FBTyxDQUFDQyxLQUFLLENBQUMsS0FBSyxFQUFFRixHQUFHLENBQUM7UUFDM0I7TUFDRixDQUFDLEVBQUUsR0FBRyxDQUFDO0lBQ1Q7RUFDRixDQUFDLEVBQUUsQ0FBQ2xCLFdBQVcsQ0FBQ3FCLGVBQWUsRUFBRXJCLFdBQVcsQ0FBQ08sR0FBRyxDQUFDLENBQUM7RUFFbEQsb0JBQ0VoQixNQUFBLENBQUErQixPQUFBLENBQUFDLGFBQUEsQ0FBQzFCLGNBQUEsQ0FBQXlCLE9BQWEscUJBQ1ovQixNQUFBLENBQUErQixPQUFBLENBQUFDLGFBQUEsQ0FBQzVCLFdBQUEsQ0FBQTJCLE9BQVU7SUFBQ0QsZUFBZSxFQUFFckIsV0FBVyxDQUFDcUI7RUFBZ0IsQ0FBYSxDQUN6RCxDQUFDO0FBRXBCLENBQUM7QUFFRCxJQUFNRyxTQUFTLEdBQUcsSUFBQUMsbUJBQU8sRUFBQzNCLGVBQWUsQ0FBQztBQUFDLElBQUE0QixRQUFBLEdBQzVCRixTQUFTLENBQUN0QixPQUFPLENBQUM7QUFBQXlCLE9BQUEsQ0FBQUwsT0FBQSxHQUFBSSxRQUFBIn0=
|
|
@@ -1,58 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports.default = void 0;
|
|
11
|
-
|
|
12
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
|
-
|
|
14
10
|
var _reactRedux = require("react-redux");
|
|
15
|
-
|
|
16
11
|
var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
|
|
17
|
-
|
|
18
12
|
var _i18n = _interopRequireDefault(require("utilities/i18n"));
|
|
19
|
-
|
|
20
13
|
var _TimeFormat = _interopRequireDefault(require("utilities/TimeFormat"));
|
|
21
|
-
|
|
22
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
23
|
-
|
|
24
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
25
|
-
|
|
26
14
|
function mapStateToProps(state) {
|
|
27
15
|
var points_data = state.points_data,
|
|
28
|
-
|
|
16
|
+
global_data = state.global_data;
|
|
29
17
|
return {
|
|
30
18
|
points_data: points_data,
|
|
31
19
|
global_data: global_data
|
|
32
20
|
};
|
|
33
21
|
}
|
|
34
|
-
|
|
35
22
|
var EarlyWarnings = function EarlyWarnings(props) {
|
|
36
23
|
var event = props.event,
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
24
|
+
points_data = props.points_data,
|
|
25
|
+
global_data = props.global_data;
|
|
40
26
|
var getPointName = function getPointName(point_id) {
|
|
41
27
|
var _points_data$items$fi;
|
|
42
|
-
|
|
43
28
|
return ((_points_data$items$fi = points_data.items.filter(function (point) {
|
|
44
29
|
return point.id === point_id;
|
|
45
30
|
})[0]) === null || _points_data$items$fi === void 0 ? void 0 : _points_data$items$fi.name) || 'No Name';
|
|
46
31
|
};
|
|
47
|
-
|
|
48
32
|
var ETAToTarget = function ETAToTarget(observation, early_warning) {
|
|
49
33
|
return observation.start_time + early_warning.distance * 60;
|
|
50
34
|
};
|
|
51
|
-
|
|
52
35
|
var countDownToTarget = function countDownToTarget(early_warning, observation) {
|
|
53
36
|
return early_warning.distance * 60 - (global_data.current_time - observation.start_time);
|
|
54
37
|
};
|
|
55
|
-
|
|
56
38
|
var getEarlyWarnings = function getEarlyWarnings() {
|
|
57
39
|
var observations = [];
|
|
58
40
|
event.observations.filter(function (obs) {
|
|
@@ -62,14 +44,12 @@ var EarlyWarnings = function EarlyWarnings(props) {
|
|
|
62
44
|
var existingEarlyWarning = observations.find(function (obs) {
|
|
63
45
|
return obs.earlyWarning.target_point_id === early_warning.target_point_id;
|
|
64
46
|
});
|
|
65
|
-
|
|
66
47
|
if (existingEarlyWarning !== undefined) {
|
|
67
48
|
// Checks if observation exists with same target
|
|
49
|
+
|
|
68
50
|
observations.splice(observations.indexOf(existingEarlyWarning), 1);
|
|
69
51
|
}
|
|
70
|
-
|
|
71
52
|
var arrivedButNotObserved, arrived;
|
|
72
|
-
|
|
73
53
|
if (global_data.current_time < ETAToTarget(observation, early_warning)) {
|
|
74
54
|
// Event have not reached the target yet
|
|
75
55
|
arrived = false;
|
|
@@ -83,7 +63,6 @@ var EarlyWarnings = function EarlyWarnings(props) {
|
|
|
83
63
|
arrivedButNotObserved = false;
|
|
84
64
|
arrived = true;
|
|
85
65
|
}
|
|
86
|
-
|
|
87
66
|
observations.push({
|
|
88
67
|
arrivedButNotObserved: arrivedButNotObserved,
|
|
89
68
|
arrived: arrived,
|
|
@@ -94,7 +73,6 @@ var EarlyWarnings = function EarlyWarnings(props) {
|
|
|
94
73
|
});
|
|
95
74
|
return observations;
|
|
96
75
|
};
|
|
97
|
-
|
|
98
76
|
var renderEarlyWarnings = function renderEarlyWarnings(observation) {
|
|
99
77
|
if (!observation.arrived) {
|
|
100
78
|
if (!observation.arrivedButNotObserved) {
|
|
@@ -132,7 +110,6 @@ var EarlyWarnings = function EarlyWarnings(props) {
|
|
|
132
110
|
}))));
|
|
133
111
|
}
|
|
134
112
|
};
|
|
135
|
-
|
|
136
113
|
(0, _react.useEffect)(function () {}, [global_data.current_time]);
|
|
137
114
|
var observations = getEarlyWarnings();
|
|
138
115
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("ul", {
|
|
@@ -141,10 +118,7 @@ var EarlyWarnings = function EarlyWarnings(props) {
|
|
|
141
118
|
return renderEarlyWarnings(observation);
|
|
142
119
|
})));
|
|
143
120
|
};
|
|
144
|
-
|
|
145
121
|
var connector = (0, _reactRedux.connect)(mapStateToProps);
|
|
146
|
-
|
|
147
122
|
var _default = connector(EarlyWarnings);
|
|
148
|
-
|
|
149
123
|
exports.default = _default;
|
|
150
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudF9pbmZvL0Vhcmx5V2FybmluZ3MudHN4Il0sIm5hbWVzIjpbIm1hcFN0YXRlVG9Qcm9wcyIsInN0YXRlIiwicG9pbnRzX2RhdGEiLCJnbG9iYWxfZGF0YSIsIkVhcmx5V2FybmluZ3MiLCJwcm9wcyIsImV2ZW50IiwiZ2V0UG9pbnROYW1lIiwicG9pbnRfaWQiLCJpdGVtcyIsImZpbHRlciIsInBvaW50IiwiaWQiLCJuYW1lIiwiRVRBVG9UYXJnZXQiLCJvYnNlcnZhdGlvbiIsImVhcmx5X3dhcm5pbmciLCJzdGFydF90aW1lIiwiZGlzdGFuY2UiLCJjb3VudERvd25Ub1RhcmdldCIsImN1cnJlbnRfdGltZSIsImdldEVhcmx5V2FybmluZ3MiLCJvYnNlcnZhdGlvbnMiLCJvYnMiLCJmb3JFYWNoIiwiZWFybHlfd2FybmluZ3MiLCJleGlzdGluZ0Vhcmx5V2FybmluZyIsImZpbmQiLCJlYXJseVdhcm5pbmciLCJ0YXJnZXRfcG9pbnRfaWQiLCJ1bmRlZmluZWQiLCJzcGxpY2UiLCJpbmRleE9mIiwiYXJyaXZlZEJ1dE5vdE9ic2VydmVkIiwiYXJyaXZlZCIsImVuZF90aW1lIiwicHVzaCIsInJlbmRlckVhcmx5V2FybmluZ3MiLCJpMThuIiwidCIsIm1vbWVudCIsInVuaXgiLCJmb3JtYXQiLCJkdXJhdGlvbiIsImh1bWFuaXplIiwidGltZV96b25lIiwibWFwIiwiY29ubmVjdG9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUVBOztBQUVBOztBQUNBOzs7Ozs7QUFFQSxTQUFTQSxlQUFULENBQXlCQyxLQUF6QixFQUEyQztBQUN6QyxNQUFRQyxXQUFSLEdBQXFDRCxLQUFyQyxDQUFRQyxXQUFSO0FBQUEsTUFBcUJDLFdBQXJCLEdBQXFDRixLQUFyQyxDQUFxQkUsV0FBckI7QUFFQSxTQUFPO0FBQ0xELElBQUFBLFdBQVcsRUFBWEEsV0FESztB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RUFFcEJBLFdBQVcsQ0FBQ2EsWUFGUSxDQUR4QjtBQUtFLFFBQUEsU0FBUyxFQUFFYixXQUFXLENBQUNBLFdBQVosQ0FBd0I4QjtBQUxyQyxRQUhKLENBREYsQ0FQRixDQURGO0FBd0JEO0FBQ0YsR0FqR0Q7O0FBbUdBLHdCQUFVLFlBQU0sQ0FBRSxDQUFsQixFQUFvQixDQUFDMUMsV0FBVyxDQUFDaUIsWUFBYixDQUFwQjtBQUVBLE1BQUlFLFlBQVksR0FBR0QsZ0JBQWdCLEVBQW5DO0FBQ0Esc0JBQ0UsNkJBQUMsY0FBRCxDQUFPLFFBQVAscUJBQ0U7QUFBSSxJQUFBLFNBQVMsRUFBRTtBQUFmLEtBQ0dDLFlBQVksS0FBS1EsU0FBakIsSUFDQ1IsWUFBWSxDQUFDd0IsR0FBYixDQUFpQixVQUFDL0IsV0FBRDtBQUFBLFdBQWlCc0IsbUJBQW1CLENBQUN0QixXQUFELENBQXBDO0FBQUEsR0FBakIsQ0FGSixDQURGLENBREY7QUFRRCxDQWxMRDs7QUFvTEEsSUFBTWdDLFNBQVMsR0FBRyx5QkFBUS9DLGVBQVIsQ0FBbEI7O2VBQ2UrQyxTQUFTLENBQUMzQyxhQUFELEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY29ubmVjdCwgQ29ubmVjdGVkUHJvcHMgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBJQXBwU3RhdGUgfSBmcm9tICdzcmMvbW9kZWxzL0lBcHBTdGF0ZSc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC10aW1lem9uZSc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCBUaW1lRm9ybWF0IGZyb20gJ3NyYy91dGlsaXRpZXMvVGltZUZvcm1hdCc7XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZTogSUFwcFN0YXRlKSB7XG4gIGNvbnN0IHsgcG9pbnRzX2RhdGEsIGdsb2JhbF9kYXRhIH0gPSBzdGF0ZTtcblxuICByZXR1cm4ge1xuICAgIHBvaW50c19kYXRhLFxuICAgIGdsb2JhbF9kYXRhLFxuICB9O1xufVxuXG50eXBlIElQcm9wcyA9IENvbm5lY3RlZFByb3BzPHR5cGVvZiBjb25uZWN0b3I+ICYge1xuICBldmVudDogSUV2ZW50O1xufTtcblxuY29uc3QgRWFybHlXYXJuaW5nczogUmVhY3QuRkM8SVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGV2ZW50LCBwb2ludHNfZGF0YSwgZ2xvYmFsX2RhdGEgfSA9IHByb3BzO1xuXG4gIGNvbnN0IGdldFBvaW50TmFtZSA9IChwb2ludF9pZDogbnVtYmVyKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHBvaW50c19kYXRhLml0ZW1zLmZpbHRlcigocG9pbnQpID0+IHBvaW50LmlkID09PSBwb2ludF9pZClbMF0/Lm5hbWUgfHxcbiAgICAgICdObyBOYW1lJ1xuICAgICk7XG4gIH07XG5cbiAgY29uc3QgRVRBVG9UYXJnZXQgPSAob2JzZXJ2YXRpb246IGFueSwgZWFybHlfd2FybmluZzogYW55KSA9PiB7XG4gICAgcmV0dXJuIG9ic2VydmF0aW9uLnN0YXJ0X3RpbWUgKyBlYXJseV93YXJuaW5nLmRpc3RhbmNlICogNjA7XG4gIH07XG5cbiAgY29uc3QgY291bnREb3duVG9UYXJnZXQgPSAoZWFybHlfd2FybmluZzogYW55LCBvYnNlcnZhdGlvbjogYW55KSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGVhcmx5X3dhcm5pbmcuZGlzdGFuY2UgKiA2MCAtXG4gICAgICAoZ2xvYmFsX2RhdGEuY3VycmVudF90aW1lIC0gb2JzZXJ2YXRpb24uc3RhcnRfdGltZSlcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGdldEVhcmx5V2FybmluZ3MgPSAoKSA9PiB7XG4gICAgbGV0IG9ic2VydmF0aW9uczogYW55W10gPSBbXTtcbiAgICBldmVudC5vYnNlcnZhdGlvbnNcbiAgICAgIC5maWx0ZXIoKG9icykgPT4gZ2xvYmFsX2RhdGEuY3VycmVudF90aW1lID4gb2JzLnN0YXJ0X3RpbWUpXG4gICAgICAuZm9yRWFjaCgob2JzZXJ2YXRpb24pID0+IHtcbiAgICAgICAgb2JzZXJ2YXRpb24uZWFybHlfd2FybmluZ3MuZm9yRWFjaCgoZWFybHlfd2FybmluZzogYW55KSA9PiB7XG4gICAgICAgICAgbGV0IGV4aXN0aW5nRWFybHlXYXJuaW5nID0gb2JzZXJ2YXRpb25zLmZpbmQoXG4gICAgICAgICAgICAob2JzKSA9PlxuICAgICAgICAgICAgICBvYnMuZWFybHlXYXJuaW5nLnRhcmdldF9wb2ludF9pZCA9PT1cbiAgICAgICAgICAgICAgZWFybHlfd2FybmluZy50YXJnZXRfcG9pbnRfaWQsXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAoZXhpc3RpbmdFYXJseVdhcm5pbmcgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgLy8gQ2hlY2tzIGlmIG9ic2VydmF0aW9uIGV4aXN0cyB3aXRoIHNhbWUgdGFyZ2V0XG5cbiAgICAgICAgICAgIG9ic2VydmF0aW9ucy5zcGxpY2Uob2JzZXJ2YXRpb25zLmluZGV4T2YoZXhpc3RpbmdFYXJseVdhcm5pbmcpLCAxKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsZXQgYXJyaXZlZEJ1dE5vdE9ic2VydmVkLCBhcnJpdmVkO1xuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZ2xvYmFsX2RhdGEuY3VycmVudF90aW1lIDwgRVRBVG9UYXJnZXQob2JzZXJ2YXRpb24sIGVhcmx5X3dhcm5pbmcpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICAvLyBFdmVudCBoYXZlIG5vdCByZWFjaGVkIHRoZSB0YXJnZXQgeWV0XG4gICAgICAgICAgICBhcnJpdmVkID0gZmFsc2U7XG4gICAgICAgICAgICBhcnJpdmVkQnV0Tm90T2JzZXJ2ZWQgPSBmYWxzZTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmVuZF90aW1lIDwgRVRBVG9UYXJnZXQob2JzZXJ2YXRpb24sIGVhcmx5X3dhcm5pbmcpKSB7XG4gICAgICAgICAgICAvLyBFVEEgcmVhY2hlZCBhZnRlciBldmVudCBlbmRlZFxuICAgICAgICAgICAgYXJyaXZlZEJ1dE5vdE9ic2VydmVkID0gdHJ1ZTtcbiAgICAgICAgICAgIGFycml2ZWQgPSBmYWxzZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gRXZlbnQgcmVhY2hlZCB0byB0YXJnZXRcbiAgICAgICAgICAgIGFycml2ZWRCdXROb3RPYnNlcnZlZCA9IGZhbHNlO1xuICAgICAgICAgICAgYXJyaXZlZCA9IHRydWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgb2JzZXJ2YXRpb25zLnB1c2goe1xuICAgICAgICAgICAgYXJyaXZlZEJ1dE5vdE9ic2VydmVkOiBhcnJpdmVkQnV0Tm90T2JzZXJ2ZWQsXG4gICAgICAgICAgICBhcnJpdmVkOiBhcnJpdmVkLFxuICAgICAgICAgICAgZWFybHlXYXJuaW5nOiBlYXJseV93YXJuaW5nLFxuICAgICAgICAgICAgb2JzZXJ2YXRpb246IG9ic2VydmF0aW9uLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuXG4gICAgcmV0dXJuIG9ic2VydmF0aW9ucztcbiAgfTtcblxuICBjb25zdCByZW5kZXJFYXJseVdhcm5pbmdzID0gKG9ic2VydmF0aW9uOiBhbnkpID0+IHtcbiAgICBpZiAoIW9ic2VydmF0aW9uLmFycml2ZWQpIHtcbiAgICAgIGlmICghb2JzZXJ2YXRpb24uYXJyaXZlZEJ1dE5vdE9ic2VydmVkKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPGxpIGtleT17b2JzZXJ2YXRpb24uZWFybHlXYXJuaW5nLnRhcmdldF9wb2ludF9pZH0+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8Yj5cbiAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5ldGEnKX17JyAnfVxuICAgICAgICAgICAgICAgIHtnZXRQb2ludE5hbWUob2JzZXJ2YXRpb24uZWFybHlXYXJuaW5nLnRhcmdldF9wb2ludF9pZCl9OnsnICd9XG4gICAgICAgICAgICAgIDwvYj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydlYXJseS13YXJuaW5nLWluZm8nfT5cbiAgICAgICAgICAgICAge21vbWVudFxuICAgICAgICAgICAgICAgIC51bml4KFxuICAgICAgICAgICAgICAgICAgRVRBVG9UYXJnZXQoXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmF0aW9uLm9ic2VydmF0aW9uLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZhdGlvbi5lYXJseVdhcm5pbmcsXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuZm9ybWF0KCdoOm1tIGEnKX1cbiAgICAgICAgICAgICAge2dsb2JhbF9kYXRhLmN1cnJlbnRfdGltZSAhPT0gMCAmJiAoXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXsnZGFuZ2VyJ30+XG4gICAgICAgICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgICAgICAgKHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy53aXRoaW4nKX17JyAnfVxuICAgICAgICAgICAgICAgICAge21vbWVudFxuICAgICAgICAgICAgICAgICAgICAuZHVyYXRpb24oXG4gICAgICAgICAgICAgICAgICAgICAgY291bnREb3duVG9UYXJnZXQoXG4gICAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZhdGlvbi5lYXJseVdhcm5pbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZhdGlvbi5vYnNlcnZhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICdzZWNvbmRzJyxcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAuaHVtYW5pemUoKX1cbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17J2Rhbmdlcid9PlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5oaWdoX2NoYW5jZXNfb2ZfcmVhY2hpbmcnKX1cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPGxpIGtleT17b2JzZXJ2YXRpb24uZWFybHlXYXJuaW5nLnRhcmdldF9wb2ludF9pZH0+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8Yj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZXhwZWN0ZWRfdG9fYXJyaXZlX2J1dF9ub3Rfb2JzZXJ2ZWQnKX17JyAnfVxuICAgICAgICAgICAgICAgIHtnZXRQb2ludE5hbWUob2JzZXJ2YXRpb24uZWFybHlXYXJuaW5nLnRhcmdldF9wb2ludF9pZCl9XG4gICAgICAgICAgICAgIDwvYj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydlYXJseS13YXJuaW5nLWluZm8nfT5cbiAgICAgICAgICAgICAge2dsb2JhbF9kYXRhLmN1cnJlbnRfdGltZSAhPT0gMCAmJiAoXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXsnZGFuZ2VyJ30+XG4gICAgICAgICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuYXQnKX17JyAnfVxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICA8VGltZUZvcm1hdFxuICAgICAgICAgICAgICAgICAgICAgIHRpbWVzdGFtcD17RVRBVG9UYXJnZXQoXG4gICAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZhdGlvbi5vYnNlcnZhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmF0aW9uLmVhcmx5V2FybmluZyxcbiAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIHRpbWVfem9uZT17b2JzZXJ2YXRpb24ub2JzZXJ2YXRpb24udGltZV96b25lfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbGk+XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxsaSBrZXk9e29ic2VydmF0aW9uLmVhcmx5V2FybmluZy50YXJnZXRfcG9pbnRfaWR9PlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8Yj5cbiAgICAgICAgICAgICAge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LnBvbGx1dGlvbl9oYXNfcmVhY2hlZCcpfXsnICd9XG4gICAgICAgICAgICAgIHtnZXRQb2ludE5hbWUob2JzZXJ2YXRpb24uZWFybHlXYXJuaW5nLnRhcmdldF9wb2ludF9pZCl9XG4gICAgICAgICAgICA8L2I+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydlYXJseS13YXJuaW5nLWluZm8nfT5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17J2Rhbmdlcid9PlxuICAgICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuYXQnKX17JyAnfVxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgPFRpbWVGb3JtYXRcbiAgICAgICAgICAgICAgICAgIHRpbWVzdGFtcD17RVRBVG9UYXJnZXQoXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmF0aW9uLm9ic2VydmF0aW9uLFxuICAgICAgICAgICAgICAgICAgICBvYnNlcnZhdGlvbi5lYXJseVdhcm5pbmcsXG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgdGltZV96b25lPXtvYnNlcnZhdGlvbi5vYnNlcnZhdGlvbi50aW1lX3pvbmV9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2xpPlxuICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHt9LCBbZ2xvYmFsX2RhdGEuY3VycmVudF90aW1lXSk7XG5cbiAgbGV0IG9ic2VydmF0aW9ucyA9IGdldEVhcmx5V2FybmluZ3MoKTtcbiAgcmV0dXJuIChcbiAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICA8dWwgY2xhc3NOYW1lPXsnZWFybHlfd2FybmluZ3MnfT5cbiAgICAgICAge29ic2VydmF0aW9ucyAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgb2JzZXJ2YXRpb25zLm1hcCgob2JzZXJ2YXRpb24pID0+IHJlbmRlckVhcmx5V2FybmluZ3Mob2JzZXJ2YXRpb24pKX1cbiAgICAgIDwvdWw+XG4gICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgKTtcbn07XG5cbmNvbnN0IGNvbm5lY3RvciA9IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RvcihFYXJseVdhcm5pbmdzKTtcbiJdfQ==
|
|
124
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RSZWR1eCIsIl9tb21lbnRUaW1lem9uZSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfaTE4biIsIl9UaW1lRm9ybWF0IiwibWFwU3RhdGVUb1Byb3BzIiwic3RhdGUiLCJwb2ludHNfZGF0YSIsImdsb2JhbF9kYXRhIiwiRWFybHlXYXJuaW5ncyIsInByb3BzIiwiZXZlbnQiLCJnZXRQb2ludE5hbWUiLCJwb2ludF9pZCIsIl9wb2ludHNfZGF0YSRpdGVtcyRmaSIsIml0ZW1zIiwiZmlsdGVyIiwicG9pbnQiLCJpZCIsIm5hbWUiLCJFVEFUb1RhcmdldCIsIm9ic2VydmF0aW9uIiwiZWFybHlfd2FybmluZyIsInN0YXJ0X3RpbWUiLCJkaXN0YW5jZSIsImNvdW50RG93blRvVGFyZ2V0IiwiY3VycmVudF90aW1lIiwiZ2V0RWFybHlXYXJuaW5ncyIsIm9ic2VydmF0aW9ucyIsIm9icyIsImZvckVhY2giLCJlYXJseV93YXJuaW5ncyIsImV4aXN0aW5nRWFybHlXYXJuaW5nIiwiZmluZCIsImVhcmx5V2FybmluZyIsInRhcmdldF9wb2ludF9pZCIsInVuZGVmaW5lZCIsInNwbGljZSIsImluZGV4T2YiLCJhcnJpdmVkQnV0Tm90T2JzZXJ2ZWQiLCJhcnJpdmVkIiwiZW5kX3RpbWUiLCJwdXNoIiwicmVuZGVyRWFybHlXYXJuaW5ncyIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50Iiwia2V5IiwiaTE4biIsInQiLCJjbGFzc05hbWUiLCJtb21lbnQiLCJ1bml4IiwiZm9ybWF0IiwiZHVyYXRpb24iLCJodW1hbml6ZSIsInRpbWVzdGFtcCIsInRpbWVfem9uZSIsInVzZUVmZmVjdCIsIkZyYWdtZW50IiwibWFwIiwiY29ubmVjdG9yIiwiY29ubmVjdCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudF9pbmZvL0Vhcmx5V2FybmluZ3MudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjb25uZWN0LCBDb25uZWN0ZWRQcm9wcyB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IElBcHBTdGF0ZSB9IGZyb20gJ3NyYy9tb2RlbHMvSUFwcFN0YXRlJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50LXRpbWV6b25lJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IFRpbWVGb3JtYXQgZnJvbSAnc3JjL3V0aWxpdGllcy9UaW1lRm9ybWF0JztcblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlOiBJQXBwU3RhdGUpIHtcbiAgY29uc3QgeyBwb2ludHNfZGF0YSwgZ2xvYmFsX2RhdGEgfSA9IHN0YXRlO1xuXG4gIHJldHVybiB7XG4gICAgcG9pbnRzX2RhdGEsXG4gICAgZ2xvYmFsX2RhdGEsXG4gIH07XG59XG5cbnR5cGUgSVByb3BzID0gQ29ubmVjdGVkUHJvcHM8dHlwZW9mIGNvbm5lY3Rvcj4gJiB7XG4gIGV2ZW50OiBJRXZlbnQ7XG59O1xuXG5jb25zdCBFYXJseVdhcm5pbmdzOiBSZWFjdC5GQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgZXZlbnQsIHBvaW50c19kYXRhLCBnbG9iYWxfZGF0YSB9ID0gcHJvcHM7XG5cbiAgY29uc3QgZ2V0UG9pbnROYW1lID0gKHBvaW50X2lkOiBudW1iZXIpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgcG9pbnRzX2RhdGEuaXRlbXMuZmlsdGVyKChwb2ludCkgPT4gcG9pbnQuaWQgPT09IHBvaW50X2lkKVswXT8ubmFtZSB8fFxuICAgICAgJ05vIE5hbWUnXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCBFVEFUb1RhcmdldCA9IChvYnNlcnZhdGlvbjogYW55LCBlYXJseV93YXJuaW5nOiBhbnkpID0+IHtcbiAgICByZXR1cm4gb2JzZXJ2YXRpb24uc3RhcnRfdGltZSArIGVhcmx5X3dhcm5pbmcuZGlzdGFuY2UgKiA2MDtcbiAgfTtcblxuICBjb25zdCBjb3VudERvd25Ub1RhcmdldCA9IChlYXJseV93YXJuaW5nOiBhbnksIG9ic2VydmF0aW9uOiBhbnkpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgZWFybHlfd2FybmluZy5kaXN0YW5jZSAqIDYwIC1cbiAgICAgIChnbG9iYWxfZGF0YS5jdXJyZW50X3RpbWUgLSBvYnNlcnZhdGlvbi5zdGFydF90aW1lKVxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgZ2V0RWFybHlXYXJuaW5ncyA9ICgpID0+IHtcbiAgICBsZXQgb2JzZXJ2YXRpb25zOiBhbnlbXSA9IFtdO1xuICAgIGV2ZW50Lm9ic2VydmF0aW9uc1xuICAgICAgLmZpbHRlcigob2JzKSA9PiBnbG9iYWxfZGF0YS5jdXJyZW50X3RpbWUgPiBvYnMuc3RhcnRfdGltZSlcbiAgICAgIC5mb3JFYWNoKChvYnNlcnZhdGlvbikgPT4ge1xuICAgICAgICBvYnNlcnZhdGlvbi5lYXJseV93YXJuaW5ncy5mb3JFYWNoKChlYXJseV93YXJuaW5nOiBhbnkpID0+IHtcbiAgICAgICAgICBsZXQgZXhpc3RpbmdFYXJseVdhcm5pbmcgPSBvYnNlcnZhdGlvbnMuZmluZChcbiAgICAgICAgICAgIChvYnMpID0+XG4gICAgICAgICAgICAgIG9icy5lYXJseVdhcm5pbmcudGFyZ2V0X3BvaW50X2lkID09PVxuICAgICAgICAgICAgICBlYXJseV93YXJuaW5nLnRhcmdldF9wb2ludF9pZCxcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmIChleGlzdGluZ0Vhcmx5V2FybmluZyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAvLyBDaGVja3MgaWYgb2JzZXJ2YXRpb24gZXhpc3RzIHdpdGggc2FtZSB0YXJnZXRcblxuICAgICAgICAgICAgb2JzZXJ2YXRpb25zLnNwbGljZShvYnNlcnZhdGlvbnMuaW5kZXhPZihleGlzdGluZ0Vhcmx5V2FybmluZyksIDEpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGxldCBhcnJpdmVkQnV0Tm90T2JzZXJ2ZWQsIGFycml2ZWQ7XG5cbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBnbG9iYWxfZGF0YS5jdXJyZW50X3RpbWUgPCBFVEFUb1RhcmdldChvYnNlcnZhdGlvbiwgZWFybHlfd2FybmluZylcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIC8vIEV2ZW50IGhhdmUgbm90IHJlYWNoZWQgdGhlIHRhcmdldCB5ZXRcbiAgICAgICAgICAgIGFycml2ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIGFycml2ZWRCdXROb3RPYnNlcnZlZCA9IGZhbHNlO1xuICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQuZW5kX3RpbWUgPCBFVEFUb1RhcmdldChvYnNlcnZhdGlvbiwgZWFybHlfd2FybmluZykpIHtcbiAgICAgICAgICAgIC8vIEVUQSByZWFjaGVkIGFmdGVyIGV2ZW50IGVuZGVkXG4gICAgICAgICAgICBhcnJpdmVkQnV0Tm90T2JzZXJ2ZWQgPSB0cnVlO1xuICAgICAgICAgICAgYXJyaXZlZCA9IGZhbHNlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBFdmVudCByZWFjaGVkIHRvIHRhcmdldFxuICAgICAgICAgICAgYXJyaXZlZEJ1dE5vdE9ic2VydmVkID0gZmFsc2U7XG4gICAgICAgICAgICBhcnJpdmVkID0gdHJ1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBvYnNlcnZhdGlvbnMucHVzaCh7XG4gICAgICAgICAgICBhcnJpdmVkQnV0Tm90T2JzZXJ2ZWQ6IGFycml2ZWRCdXROb3RPYnNlcnZlZCxcbiAgICAgICAgICAgIGFycml2ZWQ6IGFycml2ZWQsXG4gICAgICAgICAgICBlYXJseVdhcm5pbmc6IGVhcmx5X3dhcm5pbmcsXG4gICAgICAgICAgICBvYnNlcnZhdGlvbjogb2JzZXJ2YXRpb24sXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG5cbiAgICByZXR1cm4gb2JzZXJ2YXRpb25zO1xuICB9O1xuXG4gIGNvbnN0IHJlbmRlckVhcmx5V2FybmluZ3MgPSAob2JzZXJ2YXRpb246IGFueSkgPT4ge1xuICAgIGlmICghb2JzZXJ2YXRpb24uYXJyaXZlZCkge1xuICAgICAgaWYgKCFvYnNlcnZhdGlvbi5hcnJpdmVkQnV0Tm90T2JzZXJ2ZWQpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8bGkga2V5PXtvYnNlcnZhdGlvbi5lYXJseVdhcm5pbmcudGFyZ2V0X3BvaW50X2lkfT5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIDxiPlxuICAgICAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmV0YScpfXsnICd9XG4gICAgICAgICAgICAgICAge2dldFBvaW50TmFtZShvYnNlcnZhdGlvbi5lYXJseVdhcm5pbmcudGFyZ2V0X3BvaW50X2lkKX06eycgJ31cbiAgICAgICAgICAgICAgPC9iPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2Vhcmx5LXdhcm5pbmctaW5mbyd9PlxuICAgICAgICAgICAgICB7bW9tZW50XG4gICAgICAgICAgICAgICAgLnVuaXgoXG4gICAgICAgICAgICAgICAgICBFVEFUb1RhcmdldChcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2YXRpb24ub2JzZXJ2YXRpb24sXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmF0aW9uLmVhcmx5V2FybmluZyxcbiAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5mb3JtYXQoJ2g6bW0gYScpfVxuICAgICAgICAgICAgICB7Z2xvYmFsX2RhdGEuY3VycmVudF90aW1lICE9PSAwICYmIChcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9eydkYW5nZXInfT5cbiAgICAgICAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICAgICAgICAoe2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LndpdGhpbicpfXsnICd9XG4gICAgICAgICAgICAgICAgICB7bW9tZW50XG4gICAgICAgICAgICAgICAgICAgIC5kdXJhdGlvbihcbiAgICAgICAgICAgICAgICAgICAgICBjb3VudERvd25Ub1RhcmdldChcbiAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmF0aW9uLmVhcmx5V2FybmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmF0aW9uLm9ic2VydmF0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgJ3NlY29uZHMnLFxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIC5odW1hbml6ZSgpfVxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXsnZGFuZ2VyJ30+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmhpZ2hfY2hhbmNlc19vZl9yZWFjaGluZycpfVxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2xpPlxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICA8bGkga2V5PXtvYnNlcnZhdGlvbi5lYXJseVdhcm5pbmcudGFyZ2V0X3BvaW50X2lkfT5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIDxiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5leHBlY3RlZF90b19hcnJpdmVfYnV0X25vdF9vYnNlcnZlZCcpfXsnICd9XG4gICAgICAgICAgICAgICAge2dldFBvaW50TmFtZShvYnNlcnZhdGlvbi5lYXJseVdhcm5pbmcudGFyZ2V0X3BvaW50X2lkKX1cbiAgICAgICAgICAgICAgPC9iPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2Vhcmx5LXdhcm5pbmctaW5mbyd9PlxuICAgICAgICAgICAgICB7Z2xvYmFsX2RhdGEuY3VycmVudF90aW1lICE9PSAwICYmIChcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9eydkYW5nZXInfT5cbiAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5hdCcpfXsnICd9XG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIDxUaW1lRm9ybWF0XG4gICAgICAgICAgICAgICAgICAgICAgdGltZXN0YW1wPXtFVEFUb1RhcmdldChcbiAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmF0aW9uLm9ic2VydmF0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2YXRpb24uZWFybHlXYXJuaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgdGltZV96b25lPXtvYnNlcnZhdGlvbi5vYnNlcnZhdGlvbi50aW1lX3pvbmV9XG4gICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9saT5cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGxpIGtleT17b2JzZXJ2YXRpb24uZWFybHlXYXJuaW5nLnRhcmdldF9wb2ludF9pZH0+XG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxiPlxuICAgICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcucG9sbHV0aW9uX2hhc19yZWFjaGVkJyl9eycgJ31cbiAgICAgICAgICAgICAge2dldFBvaW50TmFtZShvYnNlcnZhdGlvbi5lYXJseVdhcm5pbmcudGFyZ2V0X3BvaW50X2lkKX1cbiAgICAgICAgICAgIDwvYj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2Vhcmx5LXdhcm5pbmctaW5mbyd9PlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXsnZGFuZ2VyJ30+XG4gICAgICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5hdCcpfXsnICd9XG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICA8VGltZUZvcm1hdFxuICAgICAgICAgICAgICAgICAgdGltZXN0YW1wPXtFVEFUb1RhcmdldChcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2YXRpb24ub2JzZXJ2YXRpb24sXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmF0aW9uLmVhcmx5V2FybmluZyxcbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICB0aW1lX3pvbmU9e29ic2VydmF0aW9uLm9ic2VydmF0aW9uLnRpbWVfem9uZX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbGk+XG4gICAgICApO1xuICAgIH1cbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge30sIFtnbG9iYWxfZGF0YS5jdXJyZW50X3RpbWVdKTtcblxuICBsZXQgb2JzZXJ2YXRpb25zID0gZ2V0RWFybHlXYXJuaW5ncygpO1xuICByZXR1cm4gKFxuICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgIDx1bCBjbGFzc05hbWU9eydlYXJseV93YXJuaW5ncyd9PlxuICAgICAgICB7b2JzZXJ2YXRpb25zICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICBvYnNlcnZhdGlvbnMubWFwKChvYnNlcnZhdGlvbikgPT4gcmVuZGVyRWFybHlXYXJuaW5ncyhvYnNlcnZhdGlvbikpfVxuICAgICAgPC91bD5cbiAgICA8L1JlYWN0LkZyYWdtZW50PlxuICApO1xufTtcblxuY29uc3QgY29ubmVjdG9yID0gY29ubmVjdChtYXBTdGF0ZVRvUHJvcHMpO1xuZXhwb3J0IGRlZmF1bHQgY29ubmVjdG9yKEVhcmx5V2FybmluZ3MpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLGVBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUVBLElBQUFJLEtBQUEsR0FBQUQsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFLLFdBQUEsR0FBQUYsc0JBQUEsQ0FBQUgsT0FBQTtBQUVBLFNBQVNNLGVBQWVBLENBQUNDLEtBQWdCLEVBQUU7RUFDekMsSUFBUUMsV0FBVyxHQUFrQkQsS0FBSyxDQUFsQ0MsV0FBVztJQUFFQyxXQUFXLEdBQUtGLEtBQUssQ0FBckJFLFdBQVc7RUFFaEMsT0FBTztJQUNMRCxXQUFXLEVBQVhBLFdBQVc7SUFDWEMsV0FBVyxFQUFYQTtFQUNGLENBQUM7QUFDSDtBQU1BLElBQU1DLGFBQStCLEdBQUcsU0FBbENBLGFBQStCQSxDQUFJQyxLQUFLLEVBQUs7RUFDakQsSUFBUUMsS0FBSyxHQUErQkQsS0FBSyxDQUF6Q0MsS0FBSztJQUFFSixXQUFXLEdBQWtCRyxLQUFLLENBQWxDSCxXQUFXO0lBQUVDLFdBQVcsR0FBS0UsS0FBSyxDQUFyQkYsV0FBVztFQUV2QyxJQUFNSSxZQUFZLEdBQUcsU0FBZkEsWUFBWUEsQ0FBSUMsUUFBZ0IsRUFBSztJQUFBLElBQUFDLHFCQUFBO0lBQ3pDLE9BQ0UsRUFB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
|
|
@@ -1,39 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.default = void 0;
|
|
9
|
-
|
|
10
8
|
var _react = _interopRequireDefault(require("react"));
|
|
11
|
-
|
|
12
9
|
var _i18n = _interopRequireDefault(require("utilities/i18n"));
|
|
13
|
-
|
|
14
10
|
var _TimeFormat = _interopRequireDefault(require("utilities/TimeFormat"));
|
|
15
|
-
|
|
16
11
|
var _EarlyWarnings = _interopRequireDefault(require("./EarlyWarnings"));
|
|
17
|
-
|
|
18
12
|
var _Samplings = _interopRequireDefault(require("./samplings/Samplings"));
|
|
19
|
-
|
|
20
13
|
var _EventUtils = require("../events_list/EventUtils");
|
|
21
|
-
|
|
22
14
|
var _useQueryURL = _interopRequireDefault(require("hooks/useQueryURL"));
|
|
23
|
-
|
|
24
15
|
var _reactToastify = require("react-toastify");
|
|
25
|
-
|
|
26
16
|
var _reactFontawesome = require("@fortawesome/react-fontawesome");
|
|
27
|
-
|
|
28
17
|
var _freeSolidSvgIcons = require("@fortawesome/free-solid-svg-icons");
|
|
29
|
-
|
|
30
18
|
/* eslint-disable local-rules/no-hard-coded-jsx-literals */
|
|
19
|
+
|
|
31
20
|
var EventDetails = function EventDetails(props) {
|
|
32
21
|
var _event$samplings;
|
|
33
|
-
|
|
34
22
|
var event = props.event,
|
|
35
|
-
|
|
36
|
-
|
|
23
|
+
points = props.points;
|
|
37
24
|
var buildDateRange = function buildDateRange(timestamp) {
|
|
38
25
|
var date = new Date(timestamp).getTime();
|
|
39
26
|
var dayMs = 86400000;
|
|
@@ -46,17 +33,14 @@ var EventDetails = function EventDetails(props) {
|
|
|
46
33
|
lateDate: dateLate
|
|
47
34
|
};
|
|
48
35
|
};
|
|
49
|
-
|
|
50
36
|
var joinKQL = function joinKQL(KQL) {
|
|
51
37
|
KQL += " TimeFilterItem IN ( ".concat(buildDateRange(event.last_seen_time).earlyDate, ":").concat(buildDateRange(event.last_seen_time).lateDate, " )");
|
|
52
38
|
return KQL;
|
|
53
39
|
};
|
|
54
|
-
|
|
55
40
|
var cutKQL = function cutKQL(KQL) {
|
|
56
41
|
KQL = "TimeFilterItem IN ( ".concat(buildDateRange(event.last_seen_time).earlyDate, ":").concat(buildDateRange(event.last_seen_time).lateDate, " ) ORDER_BY severity");
|
|
57
42
|
return KQL;
|
|
58
43
|
};
|
|
59
|
-
|
|
60
44
|
var buildKQLWithTimeRange = function buildKQLWithTimeRange() {
|
|
61
45
|
var href = window.location.href;
|
|
62
46
|
var KQL = query.get('valuesFromKQL');
|
|
@@ -64,25 +48,20 @@ var EventDetails = function EventDetails(props) {
|
|
|
64
48
|
if (KQL === null) return url.href;
|
|
65
49
|
var includesALL = KQL.includes('ALL');
|
|
66
50
|
var timeFilterPresent = KQL.match('(?=TimeFilterItem)(.*?)(?:(\\)))');
|
|
67
|
-
|
|
68
51
|
if (timeFilterPresent) {
|
|
69
52
|
var findTimeFilter = timeFilterPresent;
|
|
70
|
-
|
|
71
53
|
if (findTimeFilter !== null) {
|
|
72
54
|
KQL = KQL.replace(findTimeFilter[0], ' ');
|
|
73
55
|
}
|
|
74
|
-
|
|
75
56
|
KQL = joinKQL(KQL);
|
|
76
57
|
} else {
|
|
77
58
|
KQL = includesALL ? cutKQL(KQL) : joinKQL(KQL);
|
|
78
59
|
}
|
|
79
|
-
|
|
80
60
|
url.searchParams.set('valuesFromKQL', KQL);
|
|
81
61
|
return url.href;
|
|
82
62
|
};
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
63
|
+
var query = (0, _useQueryURL.default)();
|
|
64
|
+
//eslint-disable-next-line
|
|
86
65
|
var copyUrl = function copyUrl() {
|
|
87
66
|
navigator.clipboard.writeText(buildKQLWithTimeRange()).then(function () {
|
|
88
67
|
_reactToastify.toast.success(_i18n.default.t('copy.success'), {
|
|
@@ -98,12 +77,10 @@ var EventDetails = function EventDetails(props) {
|
|
|
98
77
|
});
|
|
99
78
|
});
|
|
100
79
|
};
|
|
101
|
-
|
|
102
80
|
var _parseEventData = (0, _EventUtils.parseEventData)(event),
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
81
|
+
firstseen = _parseEventData.firstseen,
|
|
82
|
+
lastseen = _parseEventData.lastseen,
|
|
83
|
+
total = _parseEventData.total;
|
|
107
84
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
108
85
|
className: 'event-details event-info__card'
|
|
109
86
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -162,7 +139,6 @@ var EventDetails = function EventDetails(props) {
|
|
|
162
139
|
points: points
|
|
163
140
|
}))));
|
|
164
141
|
};
|
|
165
|
-
|
|
166
142
|
var _default = EventDetails;
|
|
167
143
|
exports.default = _default;
|
|
168
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudF9pbmZvL0V2ZW50RGV0YWlscy50c3giXSwibmFtZXMiOlsiRXZlbnREZXRhaWxzIiwicHJvcHMiLCJldmVudCIsInBvaW50cyIsImJ1aWxkRGF0ZVJhbmdlIiwidGltZXN0YW1wIiwiZGF0ZSIsIkRhdGUiLCJnZXRUaW1lIiwiZGF5TXMiLCJkYXRlTWludXNPbmUiLCJkYXRlUGx1c09uZSIsImRhdGVFYXJseSIsImdldEZ1bGxZZWFyIiwiZ2V0TW9udGgiLCJnZXREYXRlIiwiZGF0ZUxhdGUiLCJlYXJseURhdGUiLCJsYXRlRGF0ZSIsImpvaW5LUUwiLCJLUUwiLCJsYXN0X3NlZW5fdGltZSIsImN1dEtRTCIsImJ1aWxkS1FMV2l0aFRpbWVSYW5nZSIsImhyZWYiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsInF1ZXJ5IiwiZ2V0IiwidXJsIiwiVVJMIiwiaW5jbHVkZXNBTEwiLCJpbmNsdWRlcyIsInRpbWVGaWx0ZXJQcmVzZW50IiwibWF0Y2giLCJmaW5kVGltZUZpbHRlciIsInJlcGxhY2UiLCJzZWFyY2hQYXJhbXMiLCJzZXQiLCJjb3B5VXJsIiwibmF2aWdhdG9yIiwiY2xpcGJvYXJkIiwid3JpdGVUZXh0IiwidGhlbiIsInRvYXN0Iiwic3VjY2VzcyIsImkxOG4iLCJ0IiwicG9zaXRpb24iLCJhdXRvQ2xvc2UiLCJoaWRlUHJvZ3Jlc3NCYXIiLCJmaXJzdHNlZW4iLCJsYXN0c2VlbiIsInRvdGFsIiwiZmFDb3B5Iiwic2V2ZXJpdHkiLCJwb2ludF9uYW1lIiwic3RhcnRfdGltZSIsInRpbWVfem9uZSIsInNhbXBsaW5ncyIsImxlbmd0aCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQ0E7O0FBR0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBWkE7QUFtQkEsSUFBTUEsWUFBOEIsR0FBRyxTQUFqQ0EsWUFBaUMsQ0FBQ0Ms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QUFFRSxJQUFBLFNBQVMsRUFBRU4sU0FBUyxDQUFDTztBQUZ2QixJQURGLENBRkYsQ0FMRixDQWhDRixlQStDRTtBQUFLLElBQUEsU0FBUyxFQUFFO0FBQWhCLGtCQUNFO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixLQUNHWixjQUFLQyxDQUFMLENBQU8sMkJBQVAsQ0FESCxNQURGLGVBS0UsdURBQ0Usd0NBQUlLLFFBQVEsQ0FBQ0ksVUFBYixDQURGLGVBRUUsd0RBQ0UsNkJBQUMsbUJBQUQ7QUFDRSxJQUFBLFNBQVMsRUFBRUosUUFBUSxDQUFDL0IsY0FEdEI7QUFFRSxJQUFBLFNBQVMsRUFBRStCLFFBQVEsQ0FBQ007QUFGdEIsSUFERixDQUZGLENBTEYsQ0EvQ0YsZUE4REU7QUFBSyxJQUFBLFNBQVMsRUFBRTtBQUFoQixrQkFDRTtBQUFLLElBQUEsU0FBUyxFQUFDO0FBQWYsS0FDR1osY0FBS0MsQ0FBTCxDQUFPLDRCQUFQLENBREgsTUFERixlQUtFO0FBQUssSUFBQSxTQUFTLEVBQUM7QUFBZixLQUE2Qk0sS0FBN0IsQ0FMRixDQTlERixFQXFFRyxDQUFBbkQsS0FBSyxTQUFMLElBQUFBLEtBQUssV0FBTCxnQ0FBQUEsS0FBSyxDQUFFeUQsU0FBUCxzRUFBa0JDLE1BQWxCLElBQTJCLENBQTNCLGlCQUNDO0FBQUssSUFBQSxTQUFTLEVBQUU7QUFBaEIsa0JBQ0UsNkJBQUMsa0JBQUQ7QUFBVyxJQUFBLEtBQUssRUFBRTFELEtBQWxCO0FBQXlCLElBQUEsTUFBTSxFQUFFQztBQUFqQyxJQURGLENBdEVKLENBWkYsQ0FERjtBQTBGRCxDQS9LRDs7ZUFpTGVILFkiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBsb2NhbC1ydWxlcy9uby1oYXJkLWNvZGVkLWpzeC1saXRlcmFscyAqL1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBJUG9pbnRzU3RhdGUgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnRzU3RhdGUnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCBUaW1lRm9ybWF0IGZyb20gJ3NyYy91dGlsaXRpZXMvVGltZUZvcm1hdCc7XG5pbXBvcnQgRWFybHlXYXJuaW5ncyBmcm9tICcuL0Vhcmx5V2FybmluZ3MnO1xuaW1wb3J0IFNhbXBsaW5ncyBmcm9tICcuL3NhbXBsaW5ncy9TYW1wbGluZ3MnO1xuaW1wb3J0IHsgcGFyc2VFdmVudERhdGEgfSBmcm9tICcuLi9ldmVudHNfbGlzdC9FdmVudFV0aWxzJztcbmltcG9ydCB1c2VRdWVyeVVSTCBmcm9tICdzcmMvaG9va3MvdXNlUXVlcnlVUkwnO1xuaW1wb3J0IHsgdG9hc3QgfSBmcm9tICdyZWFjdC10b2FzdGlmeSc7XG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgZmFDb3B5IH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcblxudHlwZSBJUHJvcHMgPSB7XG4gIGV2ZW50OiBJRXZlbnQ7XG4gIHBvaW50czogSVBvaW50c1N0YXRlO1xufTtcblxuY29uc3QgRXZlbnREZXRhaWxzOiBSZWFjdC5GQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgZXZlbnQsIHBvaW50cyB9ID0gcHJvcHM7XG5cbiAgY29uc3QgYnVpbGREYXRlUmFuZ2UgPSAodGltZXN0YW1wKSA9PiB7XG4gICAgbGV0IGRhdGUgPSBuZXcgRGF0ZSh0aW1lc3RhbXApLmdldFRpbWUoKTtcbiAgICBsZXQgZGF5TXMgPSA4NjQwMDAwMDtcbiAgICBsZXQgZGF0ZU1pbnVzT25lID0gbmV3IERhdGUoZGF0ZSAtIGRheU1zKTtcbiAgICBsZXQgZGF0ZVBsdXNPbmUgPSBuZXcgRGF0ZShkYXRlICsgZGF5TXMpO1xuICAgIGxldCBkYXRlRWFybHkgPSBgJHtkYXRlTWludXNPbmUuZ2V0RnVsbFllYXIoKX0tJHtcbiAgICAgIGRhdGVNaW51c09uZS5nZXRNb250aCgpICsgMVxuICAgIH0tJHtkYXRlTWludXNPbmUuZ2V0RGF0ZSgpfWA7XG4gICAgbGV0IGRhdGVMYXRlID0gYCR7ZGF0ZVBsdXNPbmUuZ2V0RnVsbFllYXIoKX0tJHtcbiAgICAgIGRhdGVQbHVzT25lLmdldE1vbnRoKCkgKyAxXG4gICAgfS0ke2RhdGVQbHVzT25lLmdldERhdGUoKX1gO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGVhcmx5RGF0ZTogZGF0ZUVhcmx5LFxuICAgICAgbGF0ZURhdGU6IGRhdGVMYXRlLFxuICAgIH07XG4gIH07XG5cbiAgY29uc3Qgam9pbktRTCA9IChLUUw6IHN0cmluZykgPT4ge1xuICAgIEtRTCArPSBgIFRpbWVGaWx0ZXJJdGVtIElOICggJHtcbiAgICAgIGJ1aWxkRGF0ZVJhbmdlKGV2ZW50Lmxhc3Rfc2Vlbl90aW1lKS5lYXJseURhdGVcbiAgICB9OiR7YnVpbGREYXRlUmFuZ2UoZXZlbnQubGFzdF9zZWVuX3RpbWUpLmxhdGVEYXRlfSApYDtcblxuICAgIHJldHVybiBLUUw7XG4gIH07XG5cbiAgY29uc3QgY3V0S1FMID0gKEtRTDogc3RyaW5nKSA9PiB7XG4gICAgS1FMID0gYFRpbWVGaWx0ZXJJdGVtIElOICggJHtcbiAgICAgIGJ1aWxkRGF0ZVJhbmdlKGV2ZW50Lmxhc3Rfc2Vlbl90aW1lKS5lYXJseURhdGVcbiAgICB9OiR7YnVpbGREYXRlUmFuZ2UoZXZlbnQubGFzdF9zZWVuX3RpbWUpLmxhdGVEYXRlfSApIE9SREVSX0JZIHNldmVyaXR5YDtcblxuICAgIHJldHVybiBLUUw7XG4gIH07XG5cbiAgY29uc3QgYnVpbGRLUUxXaXRoVGltZVJhbmdlID0gKCkgPT4ge1xuICAgIGNvbnN0IGhyZWYgPSB3aW5kb3cubG9jYXRpb24uaHJlZjtcbiAgICBsZXQgS1FMID0gcXVlcnkuZ2V0KCd2YWx1ZXNGcm9tS1FMJyk7XG4gICAgbGV0IHVybCA9IG5ldyBVUkwoaHJlZik7XG5cbiAgICBpZiAoS1FMID09PSBudWxsKSByZXR1cm4gdXJsLmhyZWY7XG5cbiAgICBsZXQgaW5jbHVkZXNBTEwgPSBLUUwuaW5jbHVkZXMoJ0FMTCcpO1xuICAgIGxldCB0aW1lRmlsdGVyUHJlc2VudCA9IEtRTC5tYXRjaCgnKD89VGltZUZpbHRlckl0ZW0pKC4qPykoPzooXFxcXCkpKScpO1xuXG4gICAgaWYgKHRpbWVGaWx0ZXJQcmVzZW50KSB7XG4gICAgICBsZXQgZmluZFRpbWVGaWx0ZXIgPSB0aW1lRmlsdGVyUHJlc2VudDtcbiAgICAgIGlmIChmaW5kVGltZUZpbHRlciAhPT0gbnVsbCkge1xuICAgICAgICBLUUwgPSBLUUwucmVwbGFjZShmaW5kVGltZUZpbHRlclswXSwgJyAnKTtcbiAgICAgIH1cblxuICAgICAgS1FMID0gam9pbktRTChLUUwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBLUUwgPSBpbmNsdWRlc0FMTCA/IGN1dEtRTChLUUwpIDogam9pbktRTChLUUwpO1xuICAgIH1cblxuICAgIHVybC5zZWFyY2hQYXJhbXMuc2V0KCd2YWx1ZXNGcm9tS1FMJywgS1FMISk7XG4gICAgcmV0dXJuIHVybC5ocmVmO1xuICB9O1xuXG4gIGNvbnN0IHF1ZXJ5ID0gdXNlUXVlcnlVUkwoKTtcbiAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgY29uc3QgY29weVVybCA9ICgpID0+IHtcbiAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChidWlsZEtRTFdpdGhUaW1lUmFuZ2UoKSkudGhlbihcbiAgICAgICgpID0+IHtcbiAgICAgICAgdG9hc3Quc3VjY2VzcyhpMThuLnQoJ2NvcHkuc3VjY2VzcycpLCB7XG4gICAgICAgICAgcG9zaXRpb246ICd0b3AtY2VudGVyJyxcbiAgICAgICAgICBhdXRvQ2xvc2U6IDE1MDAsXG4gICAgICAgICAgaGlkZVByb2dyZXNzQmFyOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRvYXN0LnN1Y2Nlc3MoaTE4bi50KCdjb3B5LmZhaWxlZCcpLCB7XG4gICAgICAgICAgcG9zaXRpb246ICd0b3AtY2VudGVyJyxcbiAgICAgICAgICBhdXRvQ2xvc2U6IDE1MDAsXG4gICAgICAgICAgaGlkZVByb2dyZXNzQmFyOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCB7IGZpcnN0c2VlbiwgbGFzdHNlZW4sIHRvdGFsIH0gPSBwYXJzZUV2ZW50RGF0YShldmVudCk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17J2V2ZW50LWRldGFpbHMgZXZlbnQtaW5mb19fY2FyZCd9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0b3BcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0aXRsZVwiPiB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZXZlbnRfZGV0YWlscycpfTwvZGl2PlxuICAgICAgICA8cFxuICAgICAgICAgIGNsYXNzTmFtZT1cImNvcHktYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICBjb3B5VXJsKCk7XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxGb250QXdlc29tZUljb24gaWNvbj17ZmFDb3B5fSAvPlxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGVudFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2V2ZW50LWluZm9fX2RldGFpbCBldmVudC1pbmZvX19ldmVudF9zZXZlcml0eSd9PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94LXRpdGxlXCI+e2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LnNldmVyaXR5Jyl9OjwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnc2V2ZXJpdGllcyd9PlxuICAgICAgICAgICAgPHBcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgc2V2ZXJpdGllc19fc2V2ZXJpdHkgc2V2ZXJpdGllc19fc2V2ZXJpdHktLTAgc2V2ZXJpdGllc19fc2V2ZXJpdHktLTAke1xuICAgICAgICAgICAgICAgIGV2ZW50LnNldmVyaXR5ID09PSAnMCcgPyAnLS1hY3RpdmUnIDogJydcbiAgICAgICAgICAgICAgfWB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtpMThuLnQoYGV2ZW50c19vdmVydmlldy5zZXZlcml0aWVzLjBgKX1cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17YHNldmVyaXRpZXNfX3NldmVyaXR5IHNldmVyaXRpZXNfX3NldmVyaXR5LS0xIHNldmVyaXRpZXNfX3NldmVyaXR5LS0xJHtcbiAgICAgICAgICAgICAgICBldmVudC5zZXZlcml0eSA9PT0gJzEnID8gJy0tYWN0aXZlJyA6ICcnXG4gICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7aTE4bi50KGBldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdGllcy4xYCl9XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cFxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2BzZXZlcml0aWVzX19zZXZlcml0eSBzZXZlcml0aWVzX19zZXZlcml0eS0tMiBzZXZlcml0aWVzX19zZXZlcml0eS0tMiR7XG4gICAgICAgICAgICAgICAgZXZlbnQuc2V2ZXJpdHkgPT09ICcyJyA/ICctLWFjdGl2ZScgOiAnJ1xuICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2kxOG4udChgZXZlbnRzX292ZXJ2aWV3LnNldmVyaXRpZXMuMmApfVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzTmFtZT17J2V2ZW50LWluZm9fX2RldGFpbCBldmVudC1pbmZvX19kZXRhaWxfX2Vhcmx5LXdhcm5pbmdzJ31cbiAgICAgICAgPlxuICAgICAgICAgIDxFYXJseVdhcm5pbmdzIGV2ZW50PXtldmVudH0gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXZlbnQtaW5mb19fZGV0YWlsIGV2ZW50LWluZm9fX2RldGFpbF9fc2Vlbid9PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94LXRpdGxlXCI+XG4gICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmlyc3Rfc2VlbicpfTp7JyAnfVxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxwPntmaXJzdHNlZW4ucG9pbnRfbmFtZX08L3A+XG4gICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgPFRpbWVGb3JtYXRcbiAgICAgICAgICAgICAgICB0aW1lc3RhbXA9e2ZpcnN0c2Vlbi5zdGFydF90aW1lfVxuICAgICAgICAgICAgICAgIHRpbWVfem9uZT17Zmlyc3RzZWVuLnRpbWVfem9uZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXZlbnQtaW5mb19fZGV0YWlsIGV2ZW50LWluZm9fX2RldGFpbF9fc2Vlbid9PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94LXRpdGxlXCI+XG4gICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcubGFzdF9zZWVuJyl9OlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxwPntsYXN0c2Vlbi5wb2ludF9uYW1lfTwvcD5cbiAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICA8VGltZUZvcm1hdFxuICAgICAgICAgICAgICAgIHRpbWVzdGFtcD17bGFzdHNlZW4ubGFzdF9zZWVuX3RpbWV9XG4gICAgICAgICAgICAgICAgdGltZV96b25lPXtsYXN0c2Vlbi50aW1lX3pvbmV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2V2ZW50LWluZm9fX2RldGFpbCBldmVudC1pbmZvX19kZXRhaWxfX3NlZW4nfT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJveC10aXRsZVwiPlxuICAgICAgICAgICAge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LnRvdGFsX3RpbWUnKX06XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRvdGFsLXRpbWVcIj57dG90YWx9PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB7ZXZlbnQ/LnNhbXBsaW5ncz8ubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydldmVudC1pbmZvX19kZXRhaWwnfT5cbiAgICAgICAgICAgIDxTYW1wbGluZ3MgZXZlbnQ9e2V2ZW50fSBwb2ludHM9e3BvaW50c30gLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRXZlbnREZXRhaWxzO1xuIl19
|
|
144
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9pMThuIiwiX1RpbWVGb3JtYXQiLCJfRWFybHlXYXJuaW5ncyIsIl9TYW1wbGluZ3MiLCJfRXZlbnRVdGlscyIsIl91c2VRdWVyeVVSTCIsIl9yZWFjdFRvYXN0aWZ5IiwiX3JlYWN0Rm9udGF3ZXNvbWUiLCJfZnJlZVNvbGlkU3ZnSWNvbnMiLCJFdmVudERldGFpbHMiLCJwcm9wcyIsIl9ldmVudCRzYW1wbGluZ3MiLCJldmVudCIsInBvaW50cyIsImJ1aWxkRGF0ZVJhbmdlIiwidGltZXN0YW1wIiwiZGF0ZSIsIkRhdGUiLCJnZXRUaW1lIiwiZGF5TXMiLCJkYXRlTWludXNPbmUiLCJkYXRlUGx1c09uZSIsImRhdGVFYXJseSIsImNvbmNhdCIsImdldEZ1bGxZZWFyIiwiZ2V0TW9udGgiLCJnZXREYXRlIiwiZGF0ZUxhdGUiLCJlYXJseURhdGUiLCJsYXRlRGF0ZSIsImpvaW5LUUwiLCJLUUwiLCJsYXN0X3NlZW5fdGltZSIsImN1dEtRTCIsImJ1aWxkS1FMV2l0aFRpbWVSYW5nZSIsImhyZWYiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsInF1ZXJ5IiwiZ2V0IiwidXJsIiwiVVJMIiwiaW5jbHVkZXNBTEwiLCJpbmNsdWRlcyIsInRpbWVGaWx0ZXJQcmVzZW50IiwibWF0Y2giLCJmaW5kVGltZUZpbHRlciIsInJlcGxhY2UiLCJzZWFyY2hQYXJhbXMiLCJzZXQiLCJ1c2VRdWVyeVVSTCIsImNvcHlVcmwiLCJuYXZpZ2F0b3IiLCJjbGlwYm9hcmQiLCJ3cml0ZVRleHQiLCJ0aGVuIiwidG9hc3QiLCJzdWNjZXNzIiwiaTE4biIsInQiLCJwb3NpdGlvbiIsImF1dG9DbG9zZSIsImhpZGVQcm9ncmVzc0JhciIsIl9wYXJzZUV2ZW50RGF0YSIsInBhcnNlRXZlbnREYXRhIiwiZmlyc3RzZWVuIiwibGFzdHNlZW4iLCJ0b3RhbCIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwib25DbGljayIsIkZvbnRBd2Vzb21lSWNvbiIsImljb24iLCJmYUNvcHkiLCJzZXZlcml0eSIsInBvaW50X25hbWUiLCJzdGFydF90aW1lIiwidGltZV96b25lIiwic2FtcGxpbmdzIiwibGVuZ3RoIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL0V2ZW50c1BhZ2UvZXZlbnRzL2V2ZW50X2luZm8vRXZlbnREZXRhaWxzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBsb2NhbC1ydWxlcy9uby1oYXJkLWNvZGVkLWpzeC1saXRlcmFscyAqL1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBJUG9pbnRzU3RhdGUgfSBmcm9tICdzcmMvc3RvcmUvcG9pbnRzL21vZGVscy9JUG9pbnRzU3RhdGUnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCBUaW1lRm9ybWF0IGZyb20gJ3NyYy91dGlsaXRpZXMvVGltZUZvcm1hdCc7XG5pbXBvcnQgRWFybHlXYXJuaW5ncyBmcm9tICcuL0Vhcmx5V2FybmluZ3MnO1xuaW1wb3J0IFNhbXBsaW5ncyBmcm9tICcuL3NhbXBsaW5ncy9TYW1wbGluZ3MnO1xuaW1wb3J0IHsgcGFyc2VFdmVudERhdGEgfSBmcm9tICcuLi9ldmVudHNfbGlzdC9FdmVudFV0aWxzJztcbmltcG9ydCB1c2VRdWVyeVVSTCBmcm9tICdzcmMvaG9va3MvdXNlUXVlcnlVUkwnO1xuaW1wb3J0IHsgdG9hc3QgfSBmcm9tICdyZWFjdC10b2FzdGlmeSc7XG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgZmFDb3B5IH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcblxudHlwZSBJUHJvcHMgPSB7XG4gIGV2ZW50OiBJRXZlbnQ7XG4gIHBvaW50czogSVBvaW50c1N0YXRlO1xufTtcblxuY29uc3QgRXZlbnREZXRhaWxzOiBSZWFjdC5GQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgZXZlbnQsIHBvaW50cyB9ID0gcHJvcHM7XG5cbiAgY29uc3QgYnVpbGREYXRlUmFuZ2UgPSAodGltZXN0YW1wKSA9PiB7XG4gICAgbGV0IGRhdGUgPSBuZXcgRGF0ZSh0aW1lc3RhbXApLmdldFRpbWUoKTtcbiAgICBsZXQgZGF5TXMgPSA4NjQwMDAwMDtcbiAgICBsZXQgZGF0ZU1pbnVzT25lID0gbmV3IERhdGUoZGF0ZSAtIGRheU1zKTtcbiAgICBsZXQgZGF0ZVBsdXNPbmUgPSBuZXcgRGF0ZShkYXRlICsgZGF5TXMpO1xuICAgIGxldCBkYXRlRWFybHkgPSBgJHtkYXRlTWludXNPbmUuZ2V0RnVsbFllYXIoKX0tJHtcbiAgICAgIGRhdGVNaW51c09uZS5nZXRNb250aCgpICsgMVxuICAgIH0tJHtkYXRlTWludXNPbmUuZ2V0RGF0ZSgpfWA7XG4gICAgbGV0IGRhdGVMYXRlID0gYCR7ZGF0ZVBsdXNPbmUuZ2V0RnVsbFllYXIoKX0tJHtcbiAgICAgIGRhdGVQbHVzT25lLmdldE1vbnRoKCkgKyAxXG4gICAgfS0ke2RhdGVQbHVzT25lLmdldERhdGUoKX1gO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGVhcmx5RGF0ZTogZGF0ZUVhcmx5LFxuICAgICAgbGF0ZURhdGU6IGRhdGVMYXRlLFxuICAgIH07XG4gIH07XG5cbiAgY29uc3Qgam9pbktRTCA9IChLUUw6IHN0cmluZykgPT4ge1xuICAgIEtRTCArPSBgIFRpbWVGaWx0ZXJJdGVtIElOICggJHtcbiAgICAgIGJ1aWxkRGF0ZVJhbmdlKGV2ZW50Lmxhc3Rfc2Vlbl90aW1lKS5lYXJseURhdGVcbiAgICB9OiR7YnVpbGREYXRlUmFuZ2UoZXZlbnQubGFzdF9zZWVuX3RpbWUpLmxhdGVEYXRlfSApYDtcblxuICAgIHJldHVybiBLUUw7XG4gIH07XG5cbiAgY29uc3QgY3V0S1FMID0gKEtRTDogc3RyaW5nKSA9PiB7XG4gICAgS1FMID0gYFRpbWVGaWx0ZXJJdGVtIElOICggJHtcbiAgICAgIGJ1aWxkRGF0ZVJhbmdlKGV2ZW50Lmxhc3Rfc2Vlbl90aW1lKS5lYXJseURhdGVcbiAgICB9OiR7YnVpbGREYXRlUmFuZ2UoZXZlbnQubGFzdF9zZWVuX3RpbWUpLmxhdGVEYXRlfSApIE9SREVSX0JZIHNldmVyaXR5YDtcblxuICAgIHJldHVybiBLUUw7XG4gIH07XG5cbiAgY29uc3QgYnVpbGRLUUxXaXRoVGltZVJhbmdlID0gKCkgPT4ge1xuICAgIGNvbnN0IGhyZWYgPSB3aW5kb3cubG9jYXRpb24uaHJlZjtcbiAgICBsZXQgS1FMID0gcXVlcnkuZ2V0KCd2YWx1ZXNGcm9tS1FMJyk7XG4gICAgbGV0IHVybCA9IG5ldyBVUkwoaHJlZik7XG5cbiAgICBpZiAoS1FMID09PSBudWxsKSByZXR1cm4gdXJsLmhyZWY7XG5cbiAgICBsZXQgaW5jbHVkZXNBTEwgPSBLUUwuaW5jbHVkZXMoJ0FMTCcpO1xuICAgIGxldCB0aW1lRmlsdGVyUHJlc2VudCA9IEtRTC5tYXRjaCgnKD89VGltZUZpbHRlckl0ZW0pKC4qPykoPzooXFxcXCkpKScpO1xuXG4gICAgaWYgKHRpbWVGaWx0ZXJQcmVzZW50KSB7XG4gICAgICBsZXQgZmluZFRpbWVGaWx0ZXIgPSB0aW1lRmlsdGVyUHJlc2VudDtcbiAgICAgIGlmIChmaW5kVGltZUZpbHRlciAhPT0gbnVsbCkge1xuICAgICAgICBLUUwgPSBLUUwucmVwbGFjZShmaW5kVGltZUZpbHRlclswXSwgJyAnKTtcbiAgICAgIH1cblxuICAgICAgS1FMID0gam9pbktRTChLUUwpO1xuICAgIH0gZWxzZSB7XG4gICAgICBLUUwgPSBpbmNsdWRlc0FMTCA/IGN1dEtRTChLUUwpIDogam9pbktRTChLUUwpO1xuICAgIH1cblxuICAgIHVybC5zZWFyY2hQYXJhbXMuc2V0KCd2YWx1ZXNGcm9tS1FMJywgS1FMISk7XG4gICAgcmV0dXJuIHVybC5ocmVmO1xuICB9O1xuXG4gIGNvbnN0IHF1ZXJ5ID0gdXNlUXVlcnlVUkwoKTtcbiAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgY29uc3QgY29weVVybCA9ICgpID0+IHtcbiAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChidWlsZEtRTFdpdGhUaW1lUmFuZ2UoKSkudGhlbihcbiAgICAgICgpID0+IHtcbiAgICAgICAgdG9hc3Quc3VjY2VzcyhpMThuLnQoJ2NvcHkuc3VjY2VzcycpLCB7XG4gICAgICAgICAgcG9zaXRpb246ICd0b3AtY2VudGVyJyxcbiAgICAgICAgICBhdXRvQ2xvc2U6IDE1MDAsXG4gICAgICAgICAgaGlkZVByb2dyZXNzQmFyOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRvYXN0LnN1Y2Nlc3MoaTE4bi50KCdjb3B5LmZhaWxlZCcpLCB7XG4gICAgICAgICAgcG9zaXRpb246ICd0b3AtY2VudGVyJyxcbiAgICAgICAgICBhdXRvQ2xvc2U6IDE1MDAsXG4gICAgICAgICAgaGlkZVByb2dyZXNzQmFyOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgKTtcbiAgfTtcblxuICBjb25zdCB7IGZpcnN0c2VlbiwgbGFzdHNlZW4sIHRvdGFsIH0gPSBwYXJzZUV2ZW50RGF0YShldmVudCk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17J2V2ZW50LWRldGFpbHMgZXZlbnQtaW5mb19fY2FyZCd9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0b3BcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0aXRsZVwiPiB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZXZlbnRfZGV0YWlscycpfTwvZGl2PlxuICAgICAgICA8cFxuICAgICAgICAgIGNsYXNzTmFtZT1cImNvcHktYnV0dG9uXCJcbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICBjb3B5VXJsKCk7XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxGb250QXdlc29tZUljb24gaWNvbj17ZmFDb3B5fSAvPlxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGVudFwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2V2ZW50LWluZm9fX2RldGFpbCBldmVudC1pbmZvX19ldmVudF9zZXZlcml0eSd9PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94LXRpdGxlXCI+e2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LnNldmVyaXR5Jyl9OjwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnc2V2ZXJpdGllcyd9PlxuICAgICAgICAgICAgPHBcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgc2V2ZXJpdGllc19fc2V2ZXJpdHkgc2V2ZXJpdGllc19fc2V2ZXJpdHktLTAgc2V2ZXJpdGllc19fc2V2ZXJpdHktLTAke1xuICAgICAgICAgICAgICAgIGV2ZW50LnNldmVyaXR5ID09PSAnMCcgPyAnLS1hY3RpdmUnIDogJydcbiAgICAgICAgICAgICAgfWB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtpMThuLnQoYGV2ZW50c19vdmVydmlldy5zZXZlcml0aWVzLjBgKX1cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17YHNldmVyaXRpZXNfX3NldmVyaXR5IHNldmVyaXRpZXNfX3NldmVyaXR5LS0xIHNldmVyaXRpZXNfX3NldmVyaXR5LS0xJHtcbiAgICAgICAgICAgICAgICBldmVudC5zZXZlcml0eSA9PT0gJzEnID8gJy0tYWN0aXZlJyA6ICcnXG4gICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7aTE4bi50KGBldmVudHNfb3ZlcnZpZXcuc2V2ZXJpdGllcy4xYCl9XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cFxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2BzZXZlcml0aWVzX19zZXZlcml0eSBzZXZlcml0aWVzX19zZXZlcml0eS0tMiBzZXZlcml0aWVzX19zZXZlcml0eS0tMiR7XG4gICAgICAgICAgICAgICAgZXZlbnQuc2V2ZXJpdHkgPT09ICcyJyA/ICctLWFjdGl2ZScgOiAnJ1xuICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2kxOG4udChgZXZlbnRzX292ZXJ2aWV3LnNldmVyaXRpZXMuMmApfVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzTmFtZT17J2V2ZW50LWluZm9fX2RldGFpbCBldmVudC1pbmZvX19kZXRhaWxfX2Vhcmx5LXdhcm5pbmdzJ31cbiAgICAgICAgPlxuICAgICAgICAgIDxFYXJseVdhcm5pbmdzIGV2ZW50PXtldmVudH0gLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXZlbnQtaW5mb19fZGV0YWlsIGV2ZW50LWluZm9fX2RldGFpbF9fc2Vlbid9PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94LXRpdGxlXCI+XG4gICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmlyc3Rfc2VlbicpfTp7JyAnfVxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxwPntmaXJzdHNlZW4ucG9pbnRfbmFtZX08L3A+XG4gICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgPFRpbWVGb3JtYXRcbiAgICAgICAgICAgICAgICB0aW1lc3RhbXA9e2ZpcnN0c2Vlbi5zdGFydF90aW1lfVxuICAgICAgICAgICAgICAgIHRpbWVfem9uZT17Zmlyc3RzZWVuLnRpbWVfem9uZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXZlbnQtaW5mb19fZGV0YWlsIGV2ZW50LWluZm9fX2RldGFpbF9fc2Vlbid9PlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm94LXRpdGxlXCI+XG4gICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcubGFzdF9zZWVuJyl9OlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgIDxwPntsYXN0c2Vlbi5wb2ludF9uYW1lfTwvcD5cbiAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICA8VGltZUZvcm1hdFxuICAgICAgICAgICAgICAgIHRpbWVzdGFtcD17bGFzdHNlZW4ubGFzdF9zZWVuX3RpbWV9XG4gICAgICAgICAgICAgICAgdGltZV96b25lPXtsYXN0c2Vlbi50aW1lX3pvbmV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2V2ZW50LWluZm9fX2RldGFpbCBldmVudC1pbmZvX19kZXRhaWxfX3NlZW4nfT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImJveC10aXRsZVwiPlxuICAgICAgICAgICAge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LnRvdGFsX3RpbWUnKX06XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRvdGFsLXRpbWVcIj57dG90YWx9PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB7ZXZlbnQ/LnNhbXBsaW5ncz8ubGVuZ3RoID4gMCAmJiAoXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydldmVudC1pbmZvX19kZXRhaWwnfT5cbiAgICAgICAgICAgIDxTYW1wbGluZ3MgZXZlbnQ9e2V2ZW50fSBwb2ludHM9e3BvaW50c30gLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRXZlbnREZXRhaWxzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQ0EsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBR0EsSUFBQUMsS0FBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsV0FBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsY0FBQSxHQUFBSixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUksVUFBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUssV0FBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sWUFBQSxHQUFBUCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQU8sY0FBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsaUJBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLGtCQUFBLEdBQUFULE9BQUE7QUFaQTs7QUFtQkEsSUFBTVUsWUFBOEIsR0FBRyxTQUFqQ0EsWUFBOEJBLENBQUlDLEtBQUssRUFBSztFQUFBLElBQUFDLGdCQUFBO0VBQ2hELElBQVFDLEtBQUssR0FBYUYsS0FBSyxDQUF2QkUsS0FBSztJQUFFQyxNQUFNLEdBQUtILEtBQUssQ0FBaEJHLE1BQU07RUFFckIsSUFBTUMsY0FBYyxHQUFHLFNBQWpCQSxjQUFjQSxDQUFJQyxTQUFTLEVBQUs7SUFDcEMsSUFBSUMsSUFBSSxHQUFHLElBQUlDLElBQUksQ0FBQ0YsU0FBUyxDQUFDLENBQUNHLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLElBQUlDLEtBQUssR0FBRyxRQUFRO0lBQ3BCLElBQUlDLFlBQVksR0FBRyxJQUFJSCxJQUFJLENBQUNELElBQUksR0FBR0csS0FBSyxDQUFDO0lBQ3pDLElB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
|