@kando-env/kando-ui 1.2.233 → 1.2.235
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 +66 -4
- package/lib/Widgets/EventsCarousel/EventsCarousel.js +41 -11
- package/lib/Widgets/EventsRow/EventsRow.js +41 -14
- package/lib/Widgets/Map/GraphUtils.js +4 -1
- package/lib/Widgets/Map/Map.js +42 -20
- package/lib/Widgets/Map/MapUtils.js +58 -4
- package/lib/Widgets/Map/areas/AreaPolygon.js +27 -7
- package/lib/Widgets/Map/areas/AreaPolygons.js +21 -8
- package/lib/Widgets/Map/edges/Edge.js +30 -9
- package/lib/Widgets/Map/edges/Edges.js +17 -11
- package/lib/Widgets/Map/edges/arrows/Arrows.js +22 -7
- package/lib/Widgets/Map/events/Event.js +23 -7
- package/lib/Widgets/Map/events/EventIndicator.js +42 -19
- package/lib/Widgets/Map/events/EventPath.js +20 -5
- package/lib/Widgets/Map/events/EventUtils.js +53 -4
- package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +16 -5
- package/lib/Widgets/Map/events/PointOfEvent.js +32 -3
- package/lib/Widgets/Map/events/PointsForSpecificEvent.js +14 -4
- package/lib/Widgets/Map/events/Snail.js +19 -7
- package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +54 -15
- package/lib/Widgets/Map/map/FloatingGraph.js +19 -3
- package/lib/Widgets/Map/map/GraphDateButton.js +9 -3
- package/lib/Widgets/Map/matchGraph/MatchGraph.js +11 -5
- package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +10 -4
- package/lib/Widgets/Map/points/PointMarker.js +19 -3
- package/lib/Widgets/Map/points/PointMarkers.js +19 -6
- package/lib/Widgets/Map/points/PointUtils.js +78 -7
- package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +49 -15
- package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +19 -4
- package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +13 -1
- package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +5 -1
- package/lib/Widgets/MostPolluting/Areas/Areas.js +53 -19
- 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 +7 -1
- package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +11 -3
- package/lib/Widgets/MostPolluting/Factories/Factories.js +64 -30
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +21 -4
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +10 -1
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +17 -4
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +7 -3
- 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 +7 -1
- package/lib/Widgets/MostPolluting/MostPolluting.js +17 -4
- package/lib/Widgets/MostPolluting/MostPolluting.stories.js +17 -13
- package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +9 -2
- package/lib/Widgets/MostPolluting/ShowMore/styles.js +5 -1
- package/lib/Widgets/MostPolluting/assets/index.js +28 -17
- package/lib/Widgets/MostPolluting/components/ChangePercent.js +16 -1
- package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +26 -15
- package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +26 -4
- package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +33 -25
- package/lib/Widgets/MostPolluting/components/PotentialImpact.js +20 -4
- package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +43 -29
- package/lib/Widgets/MostPolluting/models.js +1 -1
- package/lib/Widgets/MostPolluting/styles.js +7 -1
- package/lib/Widgets/PotentialImpactSummary/Back/Back.js +9 -2
- package/lib/Widgets/PotentialImpactSummary/Icon.js +11 -1
- package/lib/Widgets/PotentialImpactSummary/index.js +29 -7
- package/lib/Widgets/PotentialImpactSummary/index.test.js +36 -17
- package/lib/Widgets/PotentialImpactSummary/styles.js +15 -2
- package/lib/Widgets/PotentialImpactSummary/useCasesResponse.interface.js +1 -1
- package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +10 -4
- package/lib/Widgets/QualitySummary/PieChart/PieChart.js +21 -7
- package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +29 -19
- package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +24 -15
- package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +21 -7
- package/lib/Widgets/QualitySummary/QualitySummary.js +24 -8
- package/lib/Widgets/QualitySummary/qualitySummary.mock.js +2 -2
- package/lib/Widgets/QualitySummary/qualitySummaryResponse.interface.js +1 -1
- package/lib/Widgets/QualitySummary/styles.js +16 -3
- package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +20 -9
- package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +34 -9
- package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +18 -9
- package/lib/Widgets/UtilityInformation/UtilityInformation.js +45 -22
- package/lib/Widgets/UtilityInformation/UtilityInformationResponse.interface.js +1 -1
- package/lib/Widgets/UtilityInformation/styles.js +22 -2
- package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +2 -2
- package/lib/assets/icons/index.js +8 -5
- package/lib/assets/icons/kandoStepper/index.js +14 -9
- package/lib/components/ApplyButton/ApplyButton.js +11 -5
- package/lib/components/ApplyButton/index.js +4 -1
- package/lib/components/Backdrop/Backdrop.js +8 -2
- package/lib/components/ContentLoader/ContentLoader.js +12 -7
- package/lib/components/ContentLoader/index.js +2 -1
- package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +14 -7
- package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +8 -2
- package/lib/components/CustomInputs/DoubleTabs/styles.js +10 -2
- package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +18 -5
- package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +5 -1
- package/lib/components/CustomInputs/Search/Search.js +38 -13
- package/lib/components/CustomInputs/Search/index.js +4 -1
- package/lib/components/CustomInputs/Select/Select.js +31 -13
- package/lib/components/CustomInputs/Select/Select.stories.js +8 -2
- package/lib/components/DamageType/DamageType.js +76 -37
- package/lib/components/DamageType/index.js +4 -1
- package/lib/components/DataLoaderError/DataLoaderError.js +10 -4
- package/lib/components/DischargeHeatmap/DischargeHeatmap.js +16 -6
- package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +37 -17
- package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +37 -12
- package/lib/components/DischargeHeatmap/HighchartsOptions.js +10 -6
- package/lib/components/DischargeHeatmap/index.js +4 -1
- package/lib/components/DischargeHeatmap/mocks/handlers.js +4 -3
- package/lib/components/DischargeHeatmap/popupText.js +16 -1
- package/lib/components/DischargeHeatmap/titles.js +8 -1
- package/lib/components/DischargeHeatmap/types.js +1 -1
- package/lib/components/ErrorBoundary.js +15 -3
- package/lib/components/Events/Events.js +30 -5
- package/lib/components/Events/index.js +4 -1
- package/lib/components/Graph/Graph.js +74 -31
- package/lib/components/Graph/index.js +4 -1
- package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +7 -1
- package/lib/components/Header/Breadcrumbs/index.js +4 -1
- package/lib/components/Header/DoubleTabs/DoubleTabs.js +30 -14
- package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +8 -2
- package/lib/components/Header/DoubleTabs/styles.js +10 -2
- package/lib/components/Header/Header.js +7 -1
- package/lib/components/Header/Header.stories.js +8 -2
- package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +11 -1
- package/lib/components/Header/InfoBar/InfoBar.js +30 -4
- package/lib/components/Header/InfoBar/Search/Control.js +13 -2
- package/lib/components/Header/InfoBar/Search/GroupLabel.js +12 -1
- package/lib/components/Header/InfoBar/Search/Search.js +26 -5
- package/lib/components/Header/InfoBar/Search/SearchContainer.js +21 -4
- package/lib/components/Header/InfoBar/Search/index.js +4 -1
- package/lib/components/Header/InfoBar/Search/searchStyle.js +4 -1
- package/lib/components/Header/KandoNavbar/KandoNavbar.js +91 -46
- package/lib/components/Header/KandoNavbar/index.js +4 -1
- package/lib/components/Header/Slideshow/Slideshow.js +67 -31
- package/lib/components/Header/Slideshow/index.js +4 -1
- package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +7 -1
- package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +15 -2
- package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +15 -1
- package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +24 -7
- package/lib/components/Header/Toolbar/Toolbar.js +84 -46
- package/lib/components/InfoBar/InfoBar.js +23 -8
- package/lib/components/InfoBar/InfoBar.stories.js +8 -2
- package/lib/components/KandoModal/KandoModal.js +42 -19
- package/lib/components/KandoModal/index.js +4 -1
- package/lib/components/Link.js +11 -2
- package/lib/components/Links/CustomRedirect/CustomRedirect.js +12 -3
- package/lib/components/Links/StyledLink/StyledLink.js +16 -6
- package/lib/components/Links/StyledNavLink/StyledNavLink.js +14 -4
- package/lib/components/LiveEvents/CarouselSlide.js +11 -5
- package/lib/components/LiveEvents/LiveEvents.js +10 -1
- package/lib/components/LiveEvents/index.js +4 -1
- package/lib/components/LoaderByPercent/LoaderByPercent.js +23 -13
- package/lib/components/Map/Map.js +26 -12
- package/lib/components/Map/index.js +4 -1
- package/lib/components/Modal/Modal.js +10 -3
- package/lib/components/NarrowHeader.js +12 -1
- package/lib/components/PointInfo/PointInfo.js +22 -10
- package/lib/components/PointInfo/index.js +4 -1
- package/lib/components/PopupModal/PopupModal.js +17 -6
- package/lib/components/PopupModal/PopupModal.stories.js +11 -2
- package/lib/components/Sector/Sector.js +13 -4
- package/lib/components/Sector/Sector.test.js +8 -3
- package/lib/components/Sector/index.js +4 -1
- package/lib/components/Sector/sectorIcons.js +27 -1
- package/lib/components/SevereEvent/Eta/Eta.js +39 -14
- package/lib/components/SevereEvent/Eta/styles.js +5 -1
- package/lib/components/SevereEvent/SevereEvent.js +36 -15
- package/lib/components/Spinner/Spinner.js +10 -5
- package/lib/components/Spinner/Spinner.stories.js +8 -2
- package/lib/components/Spinner/index.js +4 -1
- package/lib/components/Spinner/styles.js +9 -1
- package/lib/components/Tabs/Tabs.js +24 -4
- package/lib/components/Tabs/Tabs.stories.js +8 -2
- package/lib/components/Tabs/assets/index.js +6 -1
- package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +12 -2
- package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +43 -12
- package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +36 -12
- package/lib/components/TimeRangeSelector/KandoRangePicker/index.js +4 -1
- package/lib/components/TimeRangeSelector/TimeRangeHelper.js +29 -9
- package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +9 -4
- package/lib/components/TimeRangeSelector/TimeRangeItem/index.js +4 -1
- package/lib/components/TimeRangeSelector/TimeRangeList.js +13 -4
- package/lib/components/TimeRangeSelector/TimeRangeOptions.js +24 -11
- package/lib/components/TimeRangeSelector/TimeRangeSelector.js +36 -11
- package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +10 -2
- package/lib/components/TimeRangeSelector/constants.js +2 -2
- package/lib/components/TimeRangeSelector/index.js +4 -1
- package/lib/components/Toggle/Toggle.js +21 -7
- package/lib/components/Toggle/index.js +4 -1
- package/lib/components/TrendGraph/TrendGraph.js +49 -16
- package/lib/components/TrendGraph/index.js +4 -1
- package/lib/components/TrendGraphNVL/TrendGraphNVL.js +35 -10
- package/lib/components/TrendGraphNVL/index.js +4 -1
- package/lib/development-environment/index.js +13 -1
- package/lib/development-environment/mock/browser.js +8 -1
- package/lib/development-environment/mock/get.js +5 -1
- package/lib/development-environment/mock/handlers.js +26 -1
- package/lib/development-environment/mock/mockBus.js +7 -2
- 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 +22 -4
- package/lib/development-environment/togly/ToglyItem.js +25 -5
- package/lib/development-environment/togly/flags.js +1 -1
- package/lib/development-environment/togly/init.js +6 -1
- package/lib/development-environment/togly/macro.js +9 -7
- package/lib/development-environment/togly/useDoubleKeyDown.js +8 -1
- package/lib/development-environment/togly/useLocalStorage.js +19 -12
- package/lib/hooks/useApi.js +29 -10
- package/lib/hooks/useApiWithDashboardQuery.js +30 -10
- package/lib/hooks/useClickOutside.js +5 -1
- package/lib/hooks/useInitializeHeaders.js +7 -1
- package/lib/hooks/useKandoFetch.js +27 -13
- package/lib/hooks/useMap.js +39 -8
- package/lib/hooks/useNavContext.js +22 -13
- package/lib/hooks/useQueryURL.js +4 -1
- package/lib/hooks/useRemoveExistingLayers.js +7 -2
- package/lib/hooks/useUpdateEventBodyTail.js +10 -1
- package/lib/hooks/useUserTimeZone.js +9 -1
- package/lib/hooks/useUserTimeZone.test.js +9 -1
- package/lib/hooks/useWindowSize.js +19 -14
- package/lib/i18n/en.json +2 -1
- package/lib/i18n/he.json +2 -1
- package/lib/index.js +29 -13
- package/lib/macros/getVersion.js +3 -2
- package/lib/models/IAction.js +1 -1
- package/lib/models/IAppState.js +1 -1
- package/lib/pages/AreaPage/AreaPage.js +34 -5
- package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +17 -6
- package/lib/pages/AreaPage/Dashboard/Dashboard.js +23 -2
- package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +35 -11
- package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +8 -6
- package/lib/pages/AreaPage/Dashboard/Sites/Sites.js +64 -28
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +10 -1
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +15 -3
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +7 -3
- 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 +10 -2
- package/lib/pages/AssessmentPage/AssessmentPage.js +30 -5
- package/lib/pages/CannyWidget/Feedback.js +25 -10
- package/lib/pages/CovidPage/CovidPage.js +14 -1
- package/lib/pages/CovidPage/components/Body.js +33 -9
- package/lib/pages/CovidPage/components/Map.js +38 -20
- package/lib/pages/CovidPage/components/Sidebar.js +18 -4
- package/lib/pages/CovidPage/components/Summary.js +29 -8
- package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +35 -10
- package/lib/pages/CovidPage/components/TrendGraphNVL/index.js +4 -1
- package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +41 -13
- package/lib/pages/CovidPage/components/TrendPopupContent/index.js +4 -1
- package/lib/pages/CovidPage/components/areas/Area.js +33 -6
- package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +45 -4
- package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +18 -5
- package/lib/pages/CovidPage/components/areas/AreasList.js +33 -14
- package/lib/pages/CovidPage/components/areas/Sort.js +19 -5
- package/lib/pages/CovidPage/components/nvlStatusHelper.js +11 -2
- package/lib/pages/EventsPage/Body/Body.js +19 -2
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +28 -11
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +31 -11
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +11 -4
- package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +11 -3
- package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +10 -5
- package/lib/pages/EventsPage/DragAndDropArea/index.js +4 -1
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +33 -7
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +21 -2
- package/lib/pages/EventsPage/EventsPage.js +13 -1
- package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +32 -9
- package/lib/pages/EventsPage/events/MoreInfo.js +19 -1
- package/lib/pages/EventsPage/events/Sidebar.js +18 -5
- package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +29 -5
- package/lib/pages/EventsPage/events/event_info/EventDetails.js +32 -8
- package/lib/pages/EventsPage/events/event_info/EventInfo.js +41 -12
- package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +14 -2
- package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +40 -10
- package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +12 -1
- package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +30 -8
- package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +8 -1
- package/lib/pages/EventsPage/events/event_info/MockHistoryInformation/LineChartYear/LineChartYear.js +27 -7
- package/lib/pages/EventsPage/events/event_info/MockHistoryInformation/MockHistoryInformation.js +10 -2
- package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +21 -5
- package/lib/pages/EventsPage/events/event_info/charts/EventDetailsLineChart.js +23 -4
- package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +22 -4
- package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +33 -6
- package/lib/pages/EventsPage/events/event_info/samplings/Sampling.js +15 -3
- package/lib/pages/EventsPage/events/event_info/samplings/Samplings.js +10 -2
- package/lib/pages/EventsPage/events/event_info/sources/Source.js +31 -8
- package/lib/pages/EventsPage/events/event_info/sources/Sources.js +20 -4
- package/lib/pages/EventsPage/events/events_list/EventItem.js +24 -3
- package/lib/pages/EventsPage/events/events_list/EventUtils.js +13 -2
- package/lib/pages/EventsPage/events/events_list/EventsList.js +102 -38
- package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +32 -11
- package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +96 -31
- package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +55 -10
- package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +17 -5
- package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +38 -15
- package/lib/pages/EventsPage/events/events_list/Sort.js +23 -4
- package/lib/pages/ImportFileWizard/FileUploadRespones.js +19 -4
- package/lib/pages/ImportFileWizard/ImportButtomButtons.js +8 -2
- package/lib/pages/ImportFileWizard/ImportFile.js +29 -10
- package/lib/pages/ImportFileWizard/ResponseBody.js +12 -3
- package/lib/pages/ImportFileWizard/ValidationForm.js +27 -7
- package/lib/pages/ImportFileWizard/ValidationResponse.js +30 -6
- package/lib/pages/ImportFileWizard/importFileUtils.js +2 -1
- package/lib/pages/ImportFileWizard/index.js +4 -1
- package/lib/pages/ImportGisPage/ImportGisContainer.js +27 -7
- package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +27 -10
- package/lib/pages/ImportGisPage/importGisUtils.js +13 -1
- package/lib/pages/ImportGisProcess/index.js +18 -4
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +19 -5
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +10 -3
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +8 -1
- package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +58 -25
- package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +8 -2
- package/lib/pages/NotificationsPage/Notification/Notification.js +16 -8
- 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 +10 -2
- package/lib/pages/NotificationsPage/NotificationsPage.js +35 -11
- package/lib/pages/NotificationsPage/assets/index.js +24 -15
- package/lib/pages/NotificationsPageV2/NotificationsPage.js +83 -35
- package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +24 -4
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +40 -15
- package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +49 -18
- package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +47 -4
- package/lib/pages/NotificationsPageV2/notificationUtils.js +30 -2
- package/lib/pages/OldSitePage/IDashboardData.js +1 -1
- package/lib/pages/OldSitePage/OldSitePage.js +77 -16
- package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +16 -3
- package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +8 -2
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +9 -4
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +12 -5
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +12 -2
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +23 -7
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +20 -6
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +10 -4
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +12 -2
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +24 -9
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +12 -4
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +59 -28
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +2 -2
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +10 -12
- package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +18 -3
- package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +15 -2
- package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +16 -8
- package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +16 -1
- package/lib/pages/OldSitePage/SamplingParameters/models.js +1 -1
- package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +10 -2
- package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +7 -2
- package/lib/pages/ProfilePage/Container.js +5 -1
- package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +43 -16
- package/lib/pages/ProfilePage/ProfilePage.js +88 -39
- package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +32 -9
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +17 -7
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +14 -3
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +43 -7
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +21 -4
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +15 -7
- package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +29 -8
- package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +25 -6
- package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +21 -9
- package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +13 -1
- package/lib/pages/SamplingsPage/DesktopActions/index.js +4 -1
- package/lib/pages/SamplingsPage/NavigationDropdown.js +21 -3
- package/lib/pages/SamplingsPage/NewSamplingAction.js +84 -38
- package/lib/pages/SamplingsPage/SamplingMobileModal.js +65 -12
- package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +19 -5
- package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +13 -2
- package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +56 -22
- package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +20 -4
- package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +14 -1
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +107 -34
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +42 -11
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +47 -14
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +49 -15
- package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +23 -5
- package/lib/pages/SamplingsPage/SamplingProperties/styles.js +8 -2
- package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +11 -1
- package/lib/pages/SamplingsPage/SamplingsMobileItem.js +36 -7
- package/lib/pages/SamplingsPage/SamplingsMobileList.js +34 -10
- package/lib/pages/SamplingsPage/SamplingsPage.js +39 -14
- package/lib/pages/SamplingsPage/SamplingsPageContainer.js +48 -14
- package/lib/pages/SamplingsPage/index.js +3 -1
- package/lib/pages/SamplingsPage/samplingsPageUtils.js +30 -7
- package/lib/pages/SitePage/DischargePattern/DischargePattern.js +10 -2
- package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +8 -2
- package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +17 -3
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +11 -6
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +23 -15
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +16 -7
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +27 -18
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +12 -2
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +26 -9
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +20 -6
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +10 -4
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +12 -2
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +24 -9
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +12 -4
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +68 -32
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +2 -2
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +10 -12
- package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +19 -4
- package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +15 -2
- package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +38 -17
- package/lib/pages/SitePage/SamplingParameters/dataParser.js +29 -13
- package/lib/pages/SitePage/SamplingParameters/dataParser.test.js +7 -3
- package/lib/pages/SitePage/SamplingParameters/models.js +1 -1
- package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +10 -2
- package/lib/pages/SitePage/SamplingParameters/styles/styles.js +8 -2
- package/lib/pages/SitePage/SiteInformation/ContributorItem.js +12 -5
- package/lib/pages/SitePage/SiteInformation/EmptyState.js +10 -1
- package/lib/pages/SitePage/SiteInformation/PollutionContributor.js +15 -5
- package/lib/pages/SitePage/SiteInformation/SiteInformation.js +48 -17
- package/lib/pages/SitePage/SiteInformation/style.js +8 -2
- package/lib/pages/SitePage/SitePage.js +49 -10
- package/lib/pages/UploadLabResult/index.js +8 -1
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +37 -9
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +9 -2
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +16 -2
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +8 -2
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +35 -9
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +5 -1
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +7 -1
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +10 -1
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +16 -7
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/models.js +1 -1
- package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +10 -1
- package/lib/pages/UtilityDashboardPage/TopBar/styles.js +5 -1
- package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +25 -3
- package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +19 -13
- package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +17 -6
- package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +20 -5
- package/lib/pages/WbeDashboard/ExpandableComponent.js +11 -1
- package/lib/pages/WbeDashboard/GraphWrapper.js +26 -5
- package/lib/pages/WbeDashboard/IndividualTinyGraph.js +19 -6
- package/lib/pages/WbeDashboard/SearchInput.js +22 -4
- package/lib/pages/WbeDashboard/SummaryGraph.js +44 -13
- package/lib/pages/WbeDashboard/SummaryGraphModal.js +13 -1
- package/lib/pages/WbeDashboard/Tabs.js +9 -3
- package/lib/pages/WbeDashboard/WbeDashboardPage.js +112 -25
- package/lib/pages/WbeDashboard/WbeSummaryBar.js +42 -8
- package/lib/providers/Slideshow/SlideshowContext.js +5 -3
- package/lib/providers/Slideshow/SlideshowProvider.js +31 -16
- package/lib/providers/Slideshow/SlideshowRunner.js +17 -7
- package/lib/providers/UrlHistory/UrlHistoryContext.js +7 -3
- package/lib/providers/UrlHistory/UrlHistoryProvider.js +13 -1
- package/lib/providers/UrlHistory/index.js +8 -5
- package/lib/providers/UrlHistory/useLastVisited.js +7 -1
- package/lib/react-app-env.d.js +1 -1
- package/lib/store/ImportGis/action.js +1 -1
- package/lib/store/ImportGis/actionTypes.js +2 -1
- package/lib/store/ImportGis/actionsCreator.js +17 -7
- package/lib/store/ImportGis/models/gisImports.js +1 -1
- package/lib/store/ImportGis/reducer.js +17 -1
- package/lib/store/WBE/actionTypes.js +1 -1
- package/lib/store/WBE/actions.js +3 -1
- 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 +9 -2
- package/lib/store/areas/actionTypes.js +2 -2
- package/lib/store/areas/actions.js +11 -2
- package/lib/store/areas/models/IArea.js +1 -1
- package/lib/store/areas/models/IAreasState.js +1 -1
- package/lib/store/areas/reducer.js +9 -1
- package/lib/store/context/actionTypes.js +2 -2
- package/lib/store/context/actions.js +6 -2
- package/lib/store/context/contextMiddlewares.js +9 -1
- package/lib/store/context/models/INavContext.js +1 -1
- package/lib/store/context/models/INavContextState.js +1 -1
- package/lib/store/context/reducer.js +9 -2
- package/lib/store/dashboard/dashboardSlice.js +3 -1
- package/lib/store/dashboard/periodType.js +1 -1
- package/lib/store/edges/actionTypes.js +2 -2
- package/lib/store/edges/actions.js +9 -3
- package/lib/store/edges/models/IEdge.js +1 -1
- package/lib/store/edges/models/IEdgesState.js +1 -1
- package/lib/store/edges/reducer.js +16 -2
- package/lib/store/events/actionTypes.js +2 -2
- package/lib/store/events/actions.js +28 -10
- 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 +41 -3
- 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 +20 -8
- package/lib/store/global/models/IGlobalState.js +1 -1
- package/lib/store/global/reducer.js +18 -2
- package/lib/store/permissions/permissionsSlice.js +6 -1
- package/lib/store/points/actionTypes.js +2 -2
- package/lib/store/points/actions.js +5 -1
- 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 +7 -1
- package/lib/store/rootActionTypes.js +1 -1
- package/lib/store/rootActions.js +3 -1
- package/lib/store/rootReducer.js +23 -4
- package/lib/store/rootStore.js +12 -4
- package/lib/store/samplings/action.js +1 -1
- package/lib/store/samplings/actionTypes.js +2 -1
- package/lib/store/samplings/actionsCreator.js +5 -2
- package/lib/store/samplings/models/Samplings.js +1 -1
- package/lib/store/samplings/reducer.js +9 -1
- package/lib/styles/StylesLayout.js +7 -1
- package/lib/styles/theme/theme.js +4 -2
- package/lib/test/mocks/browser.js +7 -3
- package/lib/test/test-utils.js +21 -11
- package/lib/ui-kit/Button/Button.js +23 -15
- package/lib/ui-kit/Button/Button.test.js +26 -6
- package/lib/ui-kit/Button/ButtonUtils.js +1 -1
- package/lib/ui-kit/Checkbox/Checkbox.js +21 -7
- package/lib/ui-kit/DropDown/DropDown.js +16 -5
- package/lib/ui-kit/DropDown/DropDown.test.js +12 -6
- package/lib/ui-kit/DropDown/DropDownItem.js +13 -5
- package/lib/ui-kit/DropDown/DropdownToggle.js +13 -2
- package/lib/ui-kit/IconAction/IconAction.js +9 -3
- package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +70 -19
- package/lib/ui-kit/InfoTooltip/InfoTooltip.js +27 -16
- package/lib/ui-kit/KandoList/KandoList.js +16 -5
- package/lib/ui-kit/KandoList/kandoListUtils.js +1 -1
- package/lib/ui-kit/KandoTable/KandoTable.js +35 -21
- package/lib/ui-kit/KandoTable/KandoTable.test.js +16 -1
- package/lib/ui-kit/KandoTable/kandoTableUtils.js +1 -1
- package/lib/ui-kit/Layout/Layout.js +8 -1
- package/lib/ui-kit/MobileInput/MobileInput.js +33 -18
- package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +14 -8
- package/lib/ui-kit/ModalConfirmation/index.js +3 -1
- package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +10 -5
- package/lib/ui-kit/SamplingStatus/SamplingStatus.js +11 -3
- package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +11 -4
- package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +14 -5
- package/lib/ui-kit/Tooltip/Tooltip.js +8 -3
- package/lib/ui-kit/index.js +15 -1
- package/lib/ui-kit/kandoStepper/KandoStepper.js +7 -2
- package/lib/utilities/ActionUtility.js +2 -1
- package/lib/utilities/Alert.js +10 -2
- package/lib/utilities/Analytics.js +12 -1
- package/lib/utilities/Array.js +6 -2
- package/lib/utilities/Enum.js +16 -1
- package/lib/utilities/ErrorBoundary.js +18 -3
- package/lib/utilities/File.js +24 -5
- package/lib/utilities/GetDir.js +8 -4
- package/lib/utilities/KandoDate.js +7 -1
- package/lib/utilities/KandoModal.js +22 -7
- package/lib/utilities/LocalStorage.js +13 -2
- package/lib/utilities/ThousandsToK.js +3 -1
- package/lib/utilities/TimeFormat.js +19 -6
- package/lib/utilities/Truncate.js +27 -7
- package/lib/utilities/edgesMath.js +24 -5
- package/lib/utilities/i18n.js +14 -1
- package/lib/utilities/kql.js +10 -3
- package/lib/utilities/map/icons.js +14 -1
- package/lib/utilities/scoreToColor.js +8 -1
- package/lib/utilities/time.js +9 -2
- package/lib/utilities/uploadToS3.js +9 -1
- package/lib/utilities/urls.js +12 -4
- package/package.json +1 -1
|
@@ -1,33 +1,57 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
8
10
|
exports.ProfilePage = void 0;
|
|
11
|
+
|
|
9
12
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/defineProperty"));
|
|
13
|
+
|
|
10
14
|
var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
|
|
15
|
+
|
|
11
16
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
17
|
+
|
|
12
18
|
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
+
|
|
13
20
|
var _Select = require("components/CustomInputs/Select/Select");
|
|
21
|
+
|
|
14
22
|
var _i18n = _interopRequireDefault(require("utilities/i18n"));
|
|
23
|
+
|
|
15
24
|
var _PasswordModal = require("./PasswordModal/PasswordModal");
|
|
25
|
+
|
|
16
26
|
var _pen = require("@svgr/webpack?-svgo!./pen.svg");
|
|
27
|
+
|
|
17
28
|
var _cancel = require("@svgr/webpack?-svgo!./cancel.svg");
|
|
29
|
+
|
|
18
30
|
var _reactPhoneInput = _interopRequireDefault(require("react-phone-input-2"));
|
|
31
|
+
|
|
19
32
|
require("react-phone-input-2/lib/style.css");
|
|
33
|
+
|
|
20
34
|
var _TelegramModal = require("./TelegramModal/TelegramModal");
|
|
35
|
+
|
|
21
36
|
var _axios = _interopRequireDefault(require("axios"));
|
|
37
|
+
|
|
22
38
|
var _Container = require("./Container");
|
|
39
|
+
|
|
23
40
|
var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
|
|
41
|
+
|
|
24
42
|
var _Analytics = require("../../utilities/Analytics");
|
|
43
|
+
|
|
25
44
|
var _reactRedux = require("react-redux");
|
|
45
|
+
|
|
26
46
|
var _reactToastify = require("react-toastify");
|
|
47
|
+
|
|
27
48
|
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); }
|
|
49
|
+
|
|
28
50
|
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; }
|
|
51
|
+
|
|
29
52
|
var ProfilePage = function ProfilePage() {
|
|
30
53
|
var timezonesArray = _momentTimezone.default.tz.names();
|
|
54
|
+
|
|
31
55
|
var dateTimeFormatOptions = [{
|
|
32
56
|
value: 'us',
|
|
33
57
|
label: 'United States',
|
|
@@ -72,18 +96,22 @@ var ProfilePage = function ProfilePage() {
|
|
|
72
96
|
value: 'it',
|
|
73
97
|
label: 'Italiano'
|
|
74
98
|
}];
|
|
99
|
+
|
|
75
100
|
var _useState = (0, _react.useState)(localeOptions[0]),
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
101
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
102
|
+
locale = _useState2[0],
|
|
103
|
+
setLocale = _useState2[1];
|
|
104
|
+
|
|
79
105
|
var _useState3 = (0, _react.useState)(dateTimeFormatOptions[0]),
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
106
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
107
|
+
dateTimeFormat = _useState4[0],
|
|
108
|
+
setDateTimeFormat = _useState4[1];
|
|
109
|
+
|
|
83
110
|
var _useState5 = (0, _react.useState)(timezones[20]),
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
111
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
112
|
+
timezone = _useState6[0],
|
|
113
|
+
setTimezone = _useState6[1];
|
|
114
|
+
|
|
87
115
|
var initialParamsState = {
|
|
88
116
|
first_name: '',
|
|
89
117
|
last_name: '',
|
|
@@ -94,43 +122,52 @@ var ProfilePage = function ProfilePage() {
|
|
|
94
122
|
locale: '',
|
|
95
123
|
telegram_name: ''
|
|
96
124
|
};
|
|
125
|
+
|
|
97
126
|
var _useState7 = (0, _react.useState)(false),
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
127
|
+
_useState8 = (0, _slicedToArray2.default)(_useState7, 2),
|
|
128
|
+
isTelegramOpen = _useState8[0],
|
|
129
|
+
setIsTelegramOpen = _useState8[1];
|
|
130
|
+
|
|
101
131
|
var _useState9 = (0, _react.useState)(false),
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
132
|
+
_useState10 = (0, _slicedToArray2.default)(_useState9, 2),
|
|
133
|
+
showPasswordModal = _useState10[0],
|
|
134
|
+
setShowPasswordModal = _useState10[1];
|
|
135
|
+
|
|
105
136
|
var _useState11 = (0, _react.useState)(false),
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
137
|
+
_useState12 = (0, _slicedToArray2.default)(_useState11, 2),
|
|
138
|
+
submitting = _useState12[0],
|
|
139
|
+
setSubmitting = _useState12[1];
|
|
140
|
+
|
|
109
141
|
var _useState13 = (0, _react.useState)(false),
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
142
|
+
_useState14 = (0, _slicedToArray2.default)(_useState13, 2),
|
|
143
|
+
showSuccessMessage = _useState14[0],
|
|
144
|
+
setShowSuccessMessage = _useState14[1];
|
|
145
|
+
|
|
113
146
|
var _useState15 = (0, _react.useState)(false),
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
147
|
+
_useState16 = (0, _slicedToArray2.default)(_useState15, 2),
|
|
148
|
+
showErrorMessage = _useState16[0],
|
|
149
|
+
setShowErrorMessage = _useState16[1];
|
|
150
|
+
|
|
117
151
|
var _useState17 = (0, _react.useState)({
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
152
|
+
show: false,
|
|
153
|
+
status: '',
|
|
154
|
+
message: ''
|
|
155
|
+
}),
|
|
156
|
+
_useState18 = (0, _slicedToArray2.default)(_useState17, 2),
|
|
157
|
+
showTelegramResponseMessage = _useState18[0],
|
|
158
|
+
setShowTelegramResponseMessage = _useState18[1];
|
|
159
|
+
|
|
125
160
|
var _useState19 = (0, _react.useState)(initialParamsState),
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
161
|
+
_useState20 = (0, _slicedToArray2.default)(_useState19, 2),
|
|
162
|
+
params = _useState20[0],
|
|
163
|
+
setParams = _useState20[1];
|
|
164
|
+
|
|
129
165
|
var handleOnChange = function handleOnChange(e) {
|
|
130
166
|
if (typeof e === 'string') {
|
|
131
167
|
if (e.startsWith('9720')) {
|
|
132
168
|
e = e.replace(/(9720)/g, '972');
|
|
133
169
|
}
|
|
170
|
+
|
|
134
171
|
setParams(function (prevState) {
|
|
135
172
|
return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, prevState), {}, {
|
|
136
173
|
phone: e
|
|
@@ -138,13 +175,14 @@ var ProfilePage = function ProfilePage() {
|
|
|
138
175
|
});
|
|
139
176
|
} else {
|
|
140
177
|
var _e$target = e.target,
|
|
141
|
-
|
|
142
|
-
|
|
178
|
+
value = _e$target.value,
|
|
179
|
+
name = _e$target.name;
|
|
143
180
|
setParams(function (prevState) {
|
|
144
181
|
return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, prevState), {}, (0, _defineProperty2.default)({}, name, value));
|
|
145
182
|
});
|
|
146
183
|
}
|
|
147
184
|
};
|
|
185
|
+
|
|
148
186
|
var getParamsWithAggregatedValues = function getParamsWithAggregatedValues() {
|
|
149
187
|
return (0, _objectSpread3.default)((0, _objectSpread3.default)({}, params), {}, {
|
|
150
188
|
date_time_format: dateTimeFormat.value,
|
|
@@ -152,12 +190,15 @@ var ProfilePage = function ProfilePage() {
|
|
|
152
190
|
time_zone: timezone.value
|
|
153
191
|
});
|
|
154
192
|
};
|
|
193
|
+
|
|
155
194
|
var waterAuthorityName = (0, _reactRedux.useSelector)(function (state) {
|
|
156
195
|
return state.global_data.waterAuthorityName;
|
|
157
196
|
});
|
|
197
|
+
|
|
158
198
|
var showToast = function showToast(data) {
|
|
159
199
|
var username = data.username;
|
|
160
200
|
var error = data.error;
|
|
201
|
+
|
|
161
202
|
if (data.status === 'success') {
|
|
162
203
|
_reactToastify.toast.success(_i18n.default.t("my_profile_tab.telegram_messages.".concat(data.message), {
|
|
163
204
|
username: username
|
|
@@ -173,9 +214,11 @@ var ProfilePage = function ProfilePage() {
|
|
|
173
214
|
});
|
|
174
215
|
}
|
|
175
216
|
};
|
|
217
|
+
|
|
176
218
|
var handleSubmit = function handleSubmit(e) {
|
|
177
219
|
e.preventDefault();
|
|
178
220
|
setSubmitting(true);
|
|
221
|
+
|
|
179
222
|
_axios.default.put('/profiles', {
|
|
180
223
|
user: getParamsWithAggregatedValues()
|
|
181
224
|
}).then(function (resp) {
|
|
@@ -209,6 +252,7 @@ var ProfilePage = function ProfilePage() {
|
|
|
209
252
|
return p.innerHTML = '';
|
|
210
253
|
});
|
|
211
254
|
var errors = resp.data.errors;
|
|
255
|
+
|
|
212
256
|
for (var error in errors) {
|
|
213
257
|
var findElement = document.querySelector("input[name='".concat(error, "']"));
|
|
214
258
|
var parent = findElement.closest('.field');
|
|
@@ -216,8 +260,10 @@ var ProfilePage = function ProfilePage() {
|
|
|
216
260
|
findInput.classList.add('invalid-field');
|
|
217
261
|
parent.querySelector('.error-message').innerHTML = _i18n.default.t("dashboard_v2.profile.errors.".concat(error));
|
|
218
262
|
}
|
|
263
|
+
|
|
219
264
|
setShowSuccessMessage(false);
|
|
220
265
|
}
|
|
266
|
+
|
|
221
267
|
setSubmitting(false);
|
|
222
268
|
}).catch(function (error) {
|
|
223
269
|
setShowErrorMessage(true);
|
|
@@ -228,14 +274,16 @@ var ProfilePage = function ProfilePage() {
|
|
|
228
274
|
}, 6000);
|
|
229
275
|
});
|
|
230
276
|
};
|
|
277
|
+
|
|
231
278
|
(0, _react.useEffect)(function () {
|
|
232
279
|
(0, _Analytics.analyticsTrack)('Viewed Profile Page', {
|
|
233
280
|
utility_name: waterAuthorityName
|
|
234
|
-
});
|
|
235
|
-
|
|
281
|
+
}); // @ts-ignore
|
|
282
|
+
|
|
236
283
|
var token = document.querySelector('[name=csrf-token]').content;
|
|
237
284
|
_axios.default.defaults.headers.common['X-CSRF-TOKEN'] = token;
|
|
238
285
|
_axios.default.defaults.headers.common['Content-Type'] = 'application/js';
|
|
286
|
+
|
|
239
287
|
_axios.default.get('/profiles/resource').then(function (resp) {
|
|
240
288
|
setParams(resp.data);
|
|
241
289
|
var findLocale = localeOptions.find(function (e) {
|
|
@@ -457,5 +505,6 @@ var ProfilePage = function ProfilePage() {
|
|
|
457
505
|
handleSubmit: handleSubmit
|
|
458
506
|
}));
|
|
459
507
|
};
|
|
508
|
+
|
|
460
509
|
exports.ProfilePage = ProfilePage;
|
|
461
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfU2VsZWN0IiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1Bhc3N3b3JkTW9kYWwiLCJfcGVuIiwiX2NhbmNlbCIsIl9yZWFjdFBob25lSW5wdXQiLCJfVGVsZWdyYW1Nb2RhbCIsIl9heGlvcyIsIl9Db250YWluZXIiLCJfbW9tZW50VGltZXpvbmUiLCJfQW5hbHl0aWNzIiwiX3JlYWN0UmVkdXgiLCJfcmVhY3RUb2FzdGlmeSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiUHJvZmlsZVBhZ2UiLCJ0aW1lem9uZXNBcnJheSIsIm1vbWVudCIsInR6IiwibmFtZXMiLCJkYXRlVGltZUZvcm1hdE9wdGlvbnMiLCJ2YWx1ZSIsImxhYmVsIiwiZm9ybWF0IiwibW9udGgiLCJkYXkiLCJ5ZWFyIiwiaG91ciIsIm1pbnV0ZSIsImhvdXIxMiIsInRpbWV6b25lcyIsIm1hcCIsInQiLCJsb2NhbGVPcHRpb25zIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwibG9jYWxlIiwic2V0TG9jYWxlIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJkYXRlVGltZUZvcm1hdCIsInNldERhdGVUaW1lRm9ybWF0IiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJ0aW1lem9uZSIsInNldFRpbWV6b25lIiwiaW5pdGlhbFBhcmFtc1N0YXRlIiwiZmlyc3RfbmFtZSIsImxhc3RfbmFtZSIsInBob25lIiwiZW1haWwiLCJ0aW1lX3pvbmUiLCJkYXRlX3RpbWVfZm9ybWF0IiwidGVsZWdyYW1fbmFtZSIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiaXNUZWxlZ3JhbU9wZW4iLCJzZXRJc1RlbGVncmFtT3BlbiIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUxMCIsInNob3dQYXNzd29yZE1vZGFsIiwic2V0U2hvd1Bhc3N3b3JkTW9kYWwiLCJfdXNlU3RhdGUxMSIsIl91c2VTdGF0ZTEyIiwic3VibWl0dGluZyIsInNldFN1Ym1pdHRpbmciLCJfdXNlU3RhdGUxMyIsIl91c2VTdGF0ZTE0Iiwic2hvd1N1Y2Nlc3NNZXNzYWdlIiwic2V0U2hvd1N1Y2Nlc3NNZXNzYWdlIiwiX3VzZVN0YXRlMTUiLCJfdXNlU3RhdGUxNiIsInNob3dFcnJvck1lc3NhZ2UiLCJzZXRTaG93RXJyb3JNZXNzYWdlIiwiX3VzZVN0YXRlMTciLCJzaG93Iiwic3RhdHVzIiwibWVzc2FnZSIsIl91c2VTdGF0ZTE4Iiwic2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlIiwic2V0U2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlIiwiX3VzZVN0YXRlMTkiLCJfdXNlU3RhdGUyMCIsInBhcmFtcyIsInNldFBhcmFtcyIsImhhbmRsZU9uQ2hhbmdlIiwiZSIsInN0YXJ0c1dpdGgiLCJyZXBsYWNlIiwicHJldlN0YXRlIiwiX29iamVjdFNwcmVhZDMiLCJfZSR0YXJnZXQiLCJ0YXJnZXQiLCJuYW1lIiwiX2RlZmluZVByb3BlcnR5MiIsImdldFBhcmFtc1dpdGhBZ2dyZWdhdGVkVmFsdWVzIiwid2F0ZXJBdXRob3JpdHlOYW1lIiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsImdsb2JhbF9kYXRhIiwic2hvd1RvYXN0IiwiZGF0YSIsInVzZXJuYW1lIiwiZXJyb3IiLCJ0b2FzdCIsInN1Y2Nlc3MiLCJpMThuIiwiY29uY2F0IiwicG9zaXRpb24iLCJoYW5kbGVTdWJtaXQiLCJwcmV2ZW50RGVmYXVsdCIsImF4aW9zIiwicHV0IiwidXNlciIsInRoZW4iLCJyZXNwIiwiZXJyb3JzIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZm9yRWFjaCIsInAiLCJpbm5lckhUTUwiLCJjbGFzc0xpc3QiLCJyZW1vdmUiLCJKU09OIiwicGFyc2UiLCJmaW5kTG9jYWxlIiwiZmluZCIsImZpbmREYXRlVGltZUZvcm1hdCIsImZpbmRUaW1lem9uZSIsInNldFRpbWVvdXQiLCJmaW5kRWxlbWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJwYXJlbnQiLCJjbG9zZXN0IiwiZmluZElucHV0IiwiYWRkIiwiY2F0Y2giLCJ1c2VFZmZlY3QiLCJhbmFseXRpY3NUcmFjayIsInV0aWxpdHlfbmFtZSIsInRva2VuIiwiY29udGVudCIsImRlZmF1bHRzIiwiaGVhZGVycyIsImNvbW1vbiIsImFsZXJ0IiwiY3JlYXRlRWxlbWVudCIsIkNvbnRhaW5lciIsImNsYXNzTmFtZSIsImFjdGlvbiIsIm9uU3VibWl0IiwidHlwZSIsIm9uQ2hhbmdlIiwicmVhZE9ubHkiLCJjb3VudHJ5IiwibG9jYWxpemF0aW9uIiwiaW5wdXRDbGFzcyIsImNvbnRhaW5lckNsYXNzIiwiYnV0dG9uQ2xhc3MiLCJkcm9wZG93bkNsYXNzIiwiZW5hYmxlU2VhcmNoIiwic2VhcmNoUGxhY2Vob2xkZXIiLCJjb3VudHJ5Q29kZUVkaXRhYmxlIiwiaW5wdXRQcm9wcyIsIm9uQ2xpY2siLCJSZWFjdENvbXBvbmVudCIsIndpZHRoIiwiaGVpZ2h0IiwiZmlsbCIsIlNlbGVjdCIsInNldFZhbHVlIiwib3B0aW9ucyIsImNhbmNlbFRleHRXaWR0aCIsInVuZGVmaW5lZCIsIkRhdGUiLCJ0b0xvY2FsZURhdGVTdHJpbmciLCJGcmFnbWVudCIsInRvVXBwZXJDYXNlIiwic3Vic3RyaW5nIiwiZGlzYWJsZWQiLCJQYXNzd29yZE1vZGFsIiwiY2xvc2UiLCJzYXZlIiwiVGVsZWdyYW1Nb2RhbCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvUHJvZmlsZVBhZ2UvUHJvZmlsZVBhZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgU2VsZWN0IH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvQ3VzdG9tSW5wdXRzL1NlbGVjdC9TZWxlY3QnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IFBhc3N3b3JkTW9kYWwgfSBmcm9tICcuL1Bhc3N3b3JkTW9kYWwvUGFzc3dvcmRNb2RhbCc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBQZW5TdmcgfSBmcm9tICcuL3Blbi5zdmcnO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgQ2FuY2VsIH0gZnJvbSAnLi9jYW5jZWwuc3ZnJztcbmltcG9ydCBQaG9uZUlucHV0IGZyb20gJ3JlYWN0LXBob25lLWlucHV0LTInO1xuaW1wb3J0ICdyZWFjdC1waG9uZS1pbnB1dC0yL2xpYi9zdHlsZS5jc3MnO1xuaW1wb3J0IHsgVGVsZWdyYW1Nb2RhbCB9IGZyb20gJy4vVGVsZWdyYW1Nb2RhbC9UZWxlZ3JhbU1vZGFsJztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgeyBDb250YWluZXIgfSBmcm9tICcuL0NvbnRhaW5lcic7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC10aW1lem9uZSc7XG5pbXBvcnQgeyBhbmFseXRpY3NUcmFjayB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9BbmFseXRpY3MnO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyB0b2FzdCB9IGZyb20gJ3JlYWN0LXRvYXN0aWZ5JztcblxuZXhwb3J0IGNvbnN0IFByb2ZpbGVQYWdlID0gKCkgPT4ge1xuICBjb25zdCB0aW1lem9uZXNBcnJheSA9IG1vbWVudC50ei5uYW1lcygpO1xuICBjb25zdCBkYXRlVGltZUZvcm1hdE9wdGlvbnMgPSBbXG4gICAge1xuICAgICAgdmFsdWU6ICd1cycsXG4gICAgICBsYWJlbDogJ1VuaXRlZCBTdGF0ZXMnLFxuICAgICAgZm9ybWF0OiB7XG4gICAgICAgIG1vbnRoOiAnc2hvcnQnLFxuICAgICAgICBkYXk6ICdudW1lcmljJyxcbiAgICAgICAgeWVhcjogJ251bWVyaWMnLFxuICAgICAgICBob3VyOiAnbnVtZXJpYycsXG4gICAgICAgIG1pbnV0ZTogJ251bWVyaWMnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhbHVlOiAnZXUnLFxuICAgICAgbGFiZWw6ICdFdXJvcGUnLFxuICAgICAgZm9ybWF0OiB7XG4gICAgICAgIGRheTogJ251bWVyaWMnLFxuICAgICAgICBtb250aDogJ251bWVyaWMnLFxuICAgICAgICB5ZWFyOiAnbnVtZXJpYycsXG4gICAgICAgIGhvdXI6ICdudW1lcmljJyxcbiAgICAgICAgbWludXRlOiAnbnVtZXJpYycsXG4gICAgICAgIGhvdXIxMjogZmFsc2UsXG4gICAgICB9LFxuICAgIH0sXG4gIF07XG5cbiAgY29uc3QgdGltZXpvbmVzID0gdGltZXpvbmVzQXJyYXkubWFwKCh0KSA9PiB7XG4gICAgcmV0dXJuIHsgdmFsdWU6IHQsIGxhYmVsOiB0IH07XG4gIH0pO1xuXG4gIGNvbnN0IGxvY2FsZU9wdGlvbnMgPSBbXG4gICAgeyB2YWx1ZTogJ2VuJywgbGFiZWw6ICdFbmdsaXNoJyB9LFxuICAgIHsgdmFsdWU6ICdlbl91aycsIGxhYmVsOiAnRW5nbGlzaCAoVUspJyB9LFxuICAgIHsgdmFsdWU6ICdoZScsIGxhYmVsOiAn16LXkdeo15nXqicgfSxcbiAgICB7IHZhbHVlOiAnZnInLCBsYWJlbDogJ0ZyYW7Dp2FpcycgfSxcbiAgICB7IHZhbHVlOiAnaXQnLCBsYWJlbDogJ0l0YWxpYW5vJyB9LFxuICBdO1xuXG4gIGNvbnN0IFtsb2NhbGUsIHNldExvY2FsZV0gPSB1c2VTdGF0ZTx7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICB9Pihsb2NhbGVPcHRpb25zWzBdKTtcblxuICBjb25zdCBbZGF0ZVRpbWVGb3JtYXQsIHNldERhdGVUaW1lRm9ybWF0XSA9IHVzZVN0YXRlPHtcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgZm9ybWF0OiBvYmplY3Q7XG4gIH0+KGRhdGVUaW1lRm9ybWF0T3B0aW9uc1swXSk7XG5cbiAgY29uc3QgW3RpbWV6b25lLCBzZXRUaW1lem9uZV0gPSB1c2VTdGF0ZTx7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICB9Pih0aW1lem9uZXNbMjBdKTtcblxuICBjb25zdCBpbml0aWFsUGFyYW1zU3RhdGUgPSB7XG4gICAgZmlyc3RfbmFtZTogJycsXG4gICAgbGFzdF9uYW1lOiAnJyxcbiAgICBwaG9uZTogJycsXG4gICAgZW1haWw6ICcnLFxuICAgIHRpbWVfem9uZTogJycsXG4gICAgZGF0ZV90aW1lX2Zvcm1hdDogJycsXG4gICAgbG9jYWxlOiAnJyxcbiAgICB0ZWxlZ3JhbV9uYW1lOiAnJyxcbiAgfTtcblxuICBjb25zdCBbaXNUZWxlZ3JhbU9wZW4sIHNldElzVGVsZWdyYW1PcGVuXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3Nob3dQYXNzd29yZE1vZGFsLCBzZXRTaG93UGFzc3dvcmRNb2RhbF0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtzdWJtaXR0aW5nLCBzZXRTdWJtaXR0aW5nXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3Nob3dTdWNjZXNzTWVzc2FnZSwgc2V0U2hvd1N1Y2Nlc3NNZXNzYWdlXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3Nob3dFcnJvck1lc3NhZ2UsIHNldFNob3dFcnJvck1lc3NhZ2VdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCBbc2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlLCBzZXRTaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2VdID1cbiAgICB1c2VTdGF0ZTx7XG4gICAgICBzaG93OiBib29sZWFuO1xuICAgICAgc3RhdHVzOiBzdHJpbmc7XG4gICAgICBtZXNzYWdlOiBzdHJpbmc7XG4gICAgfT4oe1xuICAgICAgc2hvdzogZmFsc2UsXG4gICAgICBzdGF0dXM6ICcnLFxuICAgICAgbWVzc2FnZTogJycsXG4gICAgfSk7XG4gIGNvbnN0IFtwYXJhbXMsIHNldFBhcmFtc10gPSB1c2VTdGF0ZTx7XG4gICAgZmlyc3RfbmFtZTogc3RyaW5nO1xuICAgIGxhc3RfbmFtZTogc3RyaW5nO1xuICAgIHBob25lOiBzdHJpbmc7XG4gICAgZW1haWw6IHN0cmluZztcbiAgICB0aW1lX3pvbmU6IHN0cmluZztcbiAgICBkYXRlX3RpbWVfZm9ybWF0OiBzdHJpbmc7XG4gICAgbG9jYWxlOiBzdHJpbmc7XG4gICAgdGVsZWdyYW1fbmFtZTogc3RyaW5nO1xuICB9Pihpbml0aWFsUGFyYW1zU3RhdGUpO1xuXG4gIGNvbnN0IGhhbmRsZU9uQ2hhbmdlID0gKGUpID0+IHtcbiAgICBpZiAodHlwZW9mIGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAoZS5zdGFydHNXaXRoKCc5NzIwJykpIHtcbiAgICAgICAgZSA9IGUucmVwbGFjZSgvKDk3MjApL2csICc5NzInKTtcbiAgICAgIH1cbiAgICAgIHNldFBhcmFtcygocHJldlN0YXRlKSA9PiAoe1xuICAgICAgICAuLi5wcmV2U3RhdGUsXG4gICAgICAgIHBob25lOiBlLFxuICAgICAgfSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB7IHZhbHVlLCBuYW1lIH0gPSBlLnRhcmdldDtcbiAgICAgIHNldFBhcmFtcygocHJldlN0YXRlKSA9PiAoe1xuICAgICAgICAuLi5wcmV2U3RhdGUsXG4gICAgICAgIFtuYW1lXTogdmFsdWUsXG4gICAgICB9KSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGdldFBhcmFtc1dpdGhBZ2dyZWdhdGVkVmFsdWVzID0gKCkgPT4ge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5wYXJhbXMsXG4gICAgICBkYXRlX3RpbWVfZm9ybWF0OiBkYXRlVGltZUZvcm1hdC52YWx1ZSxcbiAgICAgIGxvY2FsZTogbG9jYWxlLnZhbHVlLFxuICAgICAgdGltZV96b25lOiB0aW1lem9uZS52YWx1ZSxcbiAgICB9O1xuICB9O1xuXG4gIGNvbnN0IHdhdGVyQXV0aG9yaXR5TmFtZSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZSkgPT4gc3RhdGUuZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlOYW1lLFxuICApO1xuXG4gIGNvbnN0IHNob3dUb2FzdCA9IChkYXRhKSA9PiB7XG4gICAgY29uc3QgdXNlcm5hbWUgPSBkYXRhLnVzZXJuYW1lO1xuICAgIGNvbnN0IGVycm9yID0gZGF0YS5lcnJvcjtcbiAgICBpZiAoZGF0YS5zdGF0dXMgPT09ICdzdWNjZXNzJykge1xuICAgICAgdG9hc3Quc3VjY2VzcyhcbiAgICAgICAgaTE4bi50KGBteV9wcm9maWxlX3RhYi50ZWxlZ3JhbV9tZXNzYWdlcy4ke2RhdGEubWVzc2FnZX1gLCB7XG4gICAgICAgICAgdXNlcm5hbWUsXG4gICAgICAgIH0pLFxuICAgICAgICB7XG4gICAgICAgICAgcG9zaXRpb246ICd0b3AtY2VudGVyJyxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRvYXN0LmVycm9yKFxuICAgICAgICBpMThuLnQoYG15X3Byb2ZpbGVfdGFiLnRlbGVncmFtX21lc3NhZ2VzLiR7ZGF0YS5tZXNzYWdlfWAsIHtcbiAgICAgICAgICBlcnJvcjogZXJyb3IsXG4gICAgICAgICAgdXNlcm5hbWU6IHVzZXJuYW1lLFxuICAgICAgICB9KSxcbiAgICAgICAge1xuICAgICAgICAgIHBvc2l0aW9uOiAndG9wLWNlbnRlcicsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVTdWJtaXQgPSAoZSkgPT4ge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBzZXRTdWJtaXR0aW5nKHRydWUpO1xuICAgIGF4aW9zXG4gICAgICAucHV0KCcvcHJvZmlsZXMnLCB7IHVzZXI6IGdldFBhcmFtc1dpdGhBZ2dyZWdhdGVkVmFsdWVzKCkgfSlcbiAgICAgIC50aGVuKChyZXNwKSA9PiB7XG4gICAgICAgIGlmIChyZXNwLmRhdGEuZXJyb3JzID09PSBudWxsKSB7XG4gICAgICAgICAgZG9jdW1lbnRcbiAgICAgICAgICAgIC5xdWVyeVNlbGVjdG9yQWxsKCcuZXJyb3ItbWVzc2FnZScpXG4gICAgICAgICAgICAuZm9yRWFjaCgocCkgPT4gKHAuaW5uZXJIVE1MID0gJycpKTtcblxuICAgICAgICAgIGRvY3VtZW50XG4gICAgICAgICAgICAucXVlcnlTZWxlY3RvckFsbCgnLmludmFsaWQtZmllbGQnKVxuICAgICAgICAgICAgLmZvckVhY2goKHApID0+IHAuY2xhc3NMaXN0LnJlbW92ZSgnaW52YWxpZC1maWVsZCcpKTtcbiAgICAgICAgICBsZXQgdXNlciA9IEpTT04ucGFyc2UocmVzcC5kYXRhLnVzZXIpO1xuICAgICAgICAgIGNvbnN0IGZpbmRMb2NhbGUgPSBsb2NhbGVPcHRpb25zLmZpbmQoKGUpID0+IGUudmFsdWUgPT09IHVzZXIubG9jYWxlKTtcbiAgICAgICAgICBjb25zdCBmaW5kRGF0ZVRpbWVGb3JtYXQgPSBkYXRlVGltZUZvcm1hdE9wdGlvbnMuZmluZChcbiAgICAgICAgICAgIChlKSA9PiBlLnZhbHVlID09PSB1c2VyLmRhdGVfdGltZV9mb3JtYXQsXG4gICAgICAgICAgKTtcbiAgICAgICAgICBjb25zdCBmaW5kVGltZXpvbmUgPSB0aW1lem9uZXMuZmluZChcbiAgICAgICAgICAgIChlKSA9PiBlLnZhbHVlID09PSB1c2VyLnRpbWVfem9uZSxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgc2V0UGFyYW1zKHVzZXIpO1xuICAgICAgICAgIHNldExvY2FsZShmaW5kTG9jYWxlISk7XG4gICAgICAgICAgc2V0RGF0ZVRpbWVGb3JtYXQoZmluZERhdGVUaW1lRm9ybWF0ISk7XG4gICAgICAgICAgc2V0VGltZXpvbmUoZmluZFRpbWV6b25lISk7XG4gICAgICAgICAgc2V0U2hvd1N1Y2Nlc3NNZXNzYWdlKHRydWUpO1xuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgc2V0U2hvd1N1Y2Nlc3NNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgICB9LCA2MDAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkb2N1bWVudFxuICAgICAgICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGwoJy5lcnJvci1tZXNzYWdlJylcbiAgICAgICAgICAgIC5mb3JFYWNoKChwKSA9PiAocC5pbm5lckhUTUwgPSAnJykpO1xuICAgICAgICAgIGxldCBlcnJvcnMgPSByZXNwLmRhdGEuZXJyb3JzO1xuICAgICAgICAgIGZvciAoY29uc3QgZXJyb3IgaW4gZXJyb3JzKSB7XG4gICAgICAgICAgICBsZXQgZmluZEVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBpbnB1dFtuYW1lPScke2Vycm9yfSddYCk7XG4gICAgICAgICAgICBsZXQgcGFyZW50ID0gZmluZEVsZW1lbnQhLmNsb3Nlc3QoJy5maWVsZCcpO1xuICAgICAgICAgICAgbGV0IGZpbmRJbnB1dCA9IHBhcmVudCEucXVlcnlTZWxlY3RvcignaW5wdXQnKTtcbiAgICAgICAgICAgIGZpbmRJbnB1dCEuY2xhc3NMaXN0LmFkZCgnaW52YWxpZC1maWVsZCcpO1xuICAgICAgICAgICAgcGFyZW50IS5xdWVyeVNlbGVjdG9yKCcuZXJyb3ItbWVzc2FnZScpIS5pbm5lckhUTUwgPSBpMThuLnQoXG4gICAgICAgICAgICAgIGBkYXNoYm9hcmRfdjIucHJvZmlsZS5lcnJvcnMuJHtlcnJvcn1gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc2V0U2hvd1N1Y2Nlc3NNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNldFN1Ym1pdHRpbmcoZmFsc2UpO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgc2V0U2hvd0Vycm9yTWVzc2FnZSh0cnVlKTtcbiAgICAgICAgc2V0U2hvd1N1Y2Nlc3NNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgc2V0U3VibWl0dGluZyhmYWxzZSk7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHNldFNob3dFcnJvck1lc3NhZ2UoZmFsc2UpO1xuICAgICAgICB9LCA2MDAwKTtcbiAgICAgIH0pO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgYW5hbHl0aWNzVHJhY2soJ1ZpZXdlZCBQcm9maWxlIFBhZ2UnLCB7XG4gICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgY29uc3QgdG9rZW4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdbbmFtZT1jc3JmLXRva2VuXScpIS5jb250ZW50O1xuICAgIGF4aW9zLmRlZmF1bHRzLmhlYWRlcnMuY29tbW9uWydYLUNTUkYtVE9LRU4nXSA9IHRva2VuO1xuICAgIGF4aW9zLmRlZmF1bHRzLmhlYWRlcnMuY29tbW9uWydDb250ZW50LVR5cGUnXSA9ICdhcHBsaWNhdGlvbi9qcyc7XG4gICAgYXhpb3NcbiAgICAgIC5nZXQoJy9wcm9maWxlcy9yZXNvdXJjZScpXG4gICAgICAudGhlbigocmVzcCkgPT4ge1xuICAgICAgICBzZXRQYXJhbXMocmVzcC5kYXRhKTtcbiAgICAgICAgY29uc3QgZmluZExvY2FsZSA9IGxvY2FsZU9wdGlvbnMuZmluZChcbiAgICAgICAgICAoZSkgPT4gZS52YWx1ZSA9PT0gcmVzcC5kYXRhLmxvY2FsZSxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgZmluZERhdGVUaW1lRm9ybWF0ID0gZGF0ZVRpbWVGb3JtYXRPcHRpb25zLmZpbmQoXG4gICAgICAgICAgKGUpID0+IGUudmFsdWUgPT09IHJlc3AuZGF0YS5kYXRlX3RpbWVfZm9ybWF0LFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBmaW5kVGltZXpvbmUgPSB0aW1lem9uZXMuZmluZChcbiAgICAgICAgICAoZSkgPT4gZS52YWx1ZSA9PT0gcmVzcC5kYXRhLnRpbWVfem9uZSxcbiAgICAgICAgKTtcbiAgICAgICAgc2V0TG9jYWxlKGZpbmRMb2NhbGUhKTtcbiAgICAgICAgc2V0RGF0ZVRpbWVGb3JtYXQoZmluZERhdGVUaW1lRm9ybWF0ISk7XG4gICAgICAgIHNldFRpbWV6b25lKGZpbmRUaW1lem9uZSEpO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZXJyb3IpID0+IGFsZXJ0KGVycm9yKSk7XG4gIH0sIFtdKTtcblxuICByZXR1cm4gKFxuICAgIDxDb250YWluZXI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImhlYWRlci10aXRsZVwiPntpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLnRpdGxlJyl9PC9kaXY+XG4gICAgICA8Zm9ybSBhY3Rpb249XCJcIiBvblN1Ym1pdD17KGUpID0+IGhhbmRsZVN1Ym1pdChlKX0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY29udGVudFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGl0bGVcIj5cbiAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLnBlcnNvbmFsLWRldGFpbHMnKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJwZXJzb25hbFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuZmlyc3RfbmFtZScpfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm15LWlucHV0XCJcbiAgICAgICAgICAgICAgICBuYW1lPXsnZmlyc3RfbmFtZSd9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy5maXJzdF9uYW1lfVxuICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gaGFuZGxlT25DaGFuZ2UoZSl9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17J2Vycm9yLW1lc3NhZ2UnfT48L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmxhc3RfbmFtZScpfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm15LWlucHV0XCJcbiAgICAgICAgICAgICAgICBuYW1lPXsnbGFzdF9uYW1lJ31cbiAgICAgICAgICAgICAgICB2YWx1ZT17cGFyYW1zLmxhc3RfbmFtZX1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IGhhbmRsZU9uQ2hhbmdlKGUpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9eydlcnJvci1tZXNzYWdlJ30+PC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkIGZpZWxkLS1yZWFkb25seVwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuZW1haWwnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHJlYWRPbmx5PXt0cnVlfVxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteS1pbnB1dFwiXG4gICAgICAgICAgICAgICAgbmFtZT17J2VtYWlsJ31cbiAgICAgICAgICAgICAgICB2YWx1ZT17cGFyYW1zLmVtYWlsfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9eydlcnJvci1tZXNzYWdlJ30+PC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5waG9uZScpfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPFBob25lSW5wdXRcbiAgICAgICAgICAgICAgICBjb3VudHJ5PXsnaWwnfVxuICAgICAgICAgICAgICAgIGxvY2FsaXphdGlvbj17aTE4bi50KCdjb3VudHJpZXMnKX1cbiAgICAgICAgICAgICAgICBpbnB1dENsYXNzPVwicGhvbmUtaW5wdXRcIlxuICAgICAgICAgICAgICAgIGNvbnRhaW5lckNsYXNzPVwibXktcGhvbmVcIlxuICAgICAgICAgICAgICAgIGJ1dHRvbkNsYXNzPVwiZHJvcGRvd25cIlxuICAgICAgICAgICAgICAgIGRyb3Bkb3duQ2xhc3M9XCJwaG9uZS1kcm9wZG93blwiXG4gICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy5waG9uZX1cbiAgICAgICAgICAgICAgICBlbmFibGVTZWFyY2hcbiAgICAgICAgICAgICAgICBzZWFyY2hQbGFjZWhvbGRlcj17aTE4bi50KCdzZWFyY2gnKX1cbiAgICAgICAgICAgICAgICBjb3VudHJ5Q29kZUVkaXRhYmxlPXtmYWxzZX1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgICBoYW5kbGVPbkNoYW5nZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBpbnB1dFByb3BzPXt7IG5hbWU6ICdwaG9uZScgfX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXsnZXJyb3ItbWVzc2FnZSd9PjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiY2hhbmdlLXBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRTaG93UGFzc3dvcmRNb2RhbCh0cnVlKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxQZW5Tdmcgd2lkdGg9XCIxMnB4XCIgaGVpZ2h0PVwiMTJweFwiIGZpbGw9XCIjZjAxMzRjXCIgLz5cbiAgICAgICAgICAgICAgICB7JyAgJ31cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5jaGFuZ2UtcGFzc3dvcmQnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0aXRsZVwiPntpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLnNldHRpbmdzJyl9PC9kaXY+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwic2V0dGluZ3NcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLnRpbWUtem9uZScpfSpcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXktaW5wdXRcIj5cbiAgICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgICBzZXRWYWx1ZT17c2V0VGltZXpvbmV9XG4gICAgICAgICAgICAgICAgICB2YWx1ZT17dGltZXpvbmV9XG4gICAgICAgICAgICAgICAgICBvcHRpb25zPXt0aW1lem9uZXN9XG4gICAgICAgICAgICAgICAgICBjYW5jZWxUZXh0V2lkdGhcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuZGF0ZS10aW1lLWZvcm1hdCcpfSpcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXktaW5wdXRcIj5cbiAgICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgICBvcHRpb25zPXtkYXRlVGltZUZvcm1hdE9wdGlvbnN9XG4gICAgICAgICAgICAgICAgICB2YWx1ZT17ZGF0ZVRpbWVGb3JtYXR9XG4gICAgICAgICAgICAgICAgICBzZXRWYWx1ZT17c2V0RGF0ZVRpbWVGb3JtYXR9XG4gICAgICAgICAgICAgICAgICBjYW5jZWxUZXh0V2lkdGhcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydkYXRlLXRpbWUtZm9ybWF0J30+XG4gICAgICAgICAgICAgICAge2RhdGVUaW1lRm9ybWF0ICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICAgICAgIG5ldyBEYXRlKCkudG9Mb2NhbGVEYXRlU3RyaW5nKCdlbi1VUycsIGRhdGVUaW1lRm9ybWF0LmZvcm1hdCl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5sYW5ndWFnZScpfSpcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnbXktaW5wdXQnfT5cbiAgICAgICAgICAgICAgICA8U2VsZWN0XG4gICAgICAgICAgICAgICAgICBvcHRpb25zPXtsb2NhbGVPcHRpb25zfVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e2xvY2FsZX1cbiAgICAgICAgICAgICAgICAgIHNldFZhbHVlPXtzZXRMb2NhbGV9XG4gICAgICAgICAgICAgICAgICBjYW5jZWxUZXh0V2lkdGhcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZCBmaWVsZC0tYnV0dG9uc1wiPlxuICAgICAgICAgICAgICB7cGFyYW1zLnRlbGVncmFtX25hbWUgPT09ICcnICYmIChcbiAgICAgICAgICAgICAgICA8YSBjbGFzc05hbWU9XCJ0ZWxlZ3JhbVwiIG9uQ2xpY2s9eygpID0+IHNldElzVGVsZWdyYW1PcGVuKHRydWUpfT5cbiAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmNvbm5lY3QtdG8tdGVsZWdyYW0nKX1cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHtwYXJhbXMudGVsZWdyYW1fbmFtZSAhPT0gJycgJiYgKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS50ZWxlZ3JhbV9uYW1lJyl9XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicmlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0SXNUZWxlZ3JhbU9wZW4odHJ1ZSl9XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFBlblN2ZyB3aWR0aD1cIjEycHhcIiBoZWlnaHQ9XCIxMnB4XCIgZmlsbD1cIiNmMDEzNGNcIiAvPnsnICd9XG4gICAgICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5jaGFuZ2UtbmFtZScpfVxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eyd0ZWxlZ3JhbS1leGlzdGluZy1pbnB1dCd9PlxuICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVhZE9ubHk9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteS1pbnB1dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lPXsndGVsZWdyYW1fbmFtZSd9XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17cGFyYW1zLnRlbGVncmFtX25hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9eyd0ZWxlZ3JhbS1leGlzdGluZy1pbnB1dF9fY2FuY2VsLWJ1dHRvbid9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRQYXJhbXMoKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5wcmV2U3RhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGVsZWdyYW1fbmFtZTogJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPENhbmNlbCAvPlxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXsnZXJyb3ItbWVzc2FnZSd9PjwvcD5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9eyd0ZWxlZ3JhbSBvcGVuJ31cbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBheGlvc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAuZ2V0KGAvdGVsZWdyYW0vc2VuZF90ZXN0X21lc3NhZ2UuanNvbmApXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC50aGVuKChyZXNwKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcC5kYXRhLnN0YXR1c1swXS50b1VwcGVyQ2FzZSgpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcC5kYXRhLnN0YXR1cy5zdWJzdHJpbmcoMSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiByZXNwLmRhdGEubWVzc2FnZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3c6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRTaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2Uoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM6ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvdzogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCA2MDAwKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93VG9hc3QocmVzcC5kYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLmNhdGNoKChlcnJvcikgPT4gYWxlcnQoZXJyb3IpKTtcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgeyFzaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2Uuc2hvdyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5zZW5kX3RlbGVncmFtX21lc3NhZ2UnKX1cbiAgICAgICAgICAgICAgICAgICAgICB7c2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlLnNob3cgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3dUZWxlZ3JhbVJlc3BvbnNlTWVzc2FnZS5zdGF0dXN9XG4gICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgIDxidXR0b24gdHlwZT17J3N1Ym1pdCd9IGNsYXNzTmFtZT17J3NhdmUnfSBkaXNhYmxlZD17c3VibWl0dGluZ30+XG4gICAgICAgICAgICB7IXN1Ym1pdHRpbmcgJiZcbiAgICAgICAgICAgICAgIXNob3dTdWNjZXNzTWVzc2FnZSAmJlxuICAgICAgICAgICAgICAhc2hvd0Vycm9yTWVzc2FnZSAmJlxuICAgICAgICAgICAgICBpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLnN1Ym1pdCcpfVxuICAgICAgICAgICAge3N1Ym1pdHRpbmcgJiZcbiAgICAgICAgICAgICAgIXNob3dTdWNjZXNzTWVzc2FnZSAmJlxuICAgICAgICAgICAgICAhc2hvd0Vycm9yTWVzc2FnZSAmJlxuICAgICAgICAgICAgICBpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLnN1Ym1pdHRpbmcnKX1cbiAgICAgICAgICAgIHtzaG93U3VjY2Vzc01lc3NhZ2UgJiYgaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5zdWNjZXNzJyl9XG4gICAgICAgICAgICB7c2hvd0Vycm9yTWVzc2FnZSAmJiBpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmVycm9yJyl9XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9mb3JtPlxuXG4gICAgICB7c2hvd1Bhc3N3b3JkTW9kYWwgJiYgKFxuICAgICAgICA8UGFzc3dvcmRNb2RhbFxuICAgICAgICAgIGNsb3NlPXsoKSA9PiBzZXRTaG93UGFzc3dvcmRNb2RhbChmYWxzZSl9XG4gICAgICAgICAgc2F2ZT17KCkgPT4ge319XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgICAge2lzVGVsZWdyYW1PcGVuICYmIChcbiAgICAgICAgPFRlbGVncmFtTW9kYWxcbiAgICAgICAgICBjbG9zZT17KCkgPT4gc2V0SXNUZWxlZ3JhbU9wZW4oZmFsc2UpfVxuICAgICAgICAgIGhhbmRsZU9uQ2hhbmdlPXtoYW5kbGVPbkNoYW5nZX1cbiAgICAgICAgICBoYW5kbGVTdWJtaXQ9e2hhbmRsZVN1Ym1pdH1cbiAgICAgICAgLz5cbiAgICAgICl9XG4gICAgPC9Db250YWluZXI+XG4gICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLGNBQUEsR0FBQUosT0FBQTtBQUE4RCxJQUFBSyxJQUFBLEdBQUFMLE9BQUE7QUFBQSxJQUFBTSxPQUFBLEdBQUFOLE9BQUE7QUFHOUQsSUFBQU8sZ0JBQUEsR0FBQUosc0JBQUEsQ0FBQUgsT0FBQTtBQUNBQSxPQUFBO0FBQ0EsSUFBQVEsY0FBQSxHQUFBUixPQUFBO0FBQ0EsSUFBQVMsTUFBQSxHQUFBTixzQkFBQSxDQUFBSCxPQUFBO0FBQ0Es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
|
|
510
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9Qcm9maWxlUGFnZS9Qcm9maWxlUGFnZS50c3giXSwibmFtZXMiOlsiUHJvZmlsZVBhZ2UiLCJ0aW1lem9uZXNBcnJheSIsIm1vbWVudCIsInR6IiwibmFtZXMiLCJkYXRlVGltZUZvcm1hdE9wdGlvbnMiLCJ2YWx1ZSIsImxhYmVsIiwiZm9ybWF0IiwibW9udGgiLCJkYXkiLCJ5ZWFyIiwiaG91ciIsIm1pbnV0ZSIsImhvdXIxMiIsInRpbWV6b25lcyIsIm1hcCIsInQiLCJsb2NhbGVPcHRpb25zIiwibG9jYWxlIiwic2V0TG9jYWxlIiwiZGF0ZVRpbWVGb3JtYXQiLCJzZXREYXRlVGltZUZvcm1hdCIsInRpbWV6b25lIiwic2V0VGltZXpvbmUiLCJpbml0aWFsUGFyYW1zU3RhdGUiLCJmaXJzdF9uYW1lIiwibGFzdF9uYW1lIiwicGhvbmUiLCJlbWFpbCIsInRpbWVfem9uZSIsImRhdGVfdGltZV9mb3JtYXQiLCJ0ZWxlZ3JhbV9uYW1lIiwiaXNUZWxlZ3JhbU9wZW4iLCJzZXRJc1RlbGVncmFtT3BlbiIsInNob3dQYXNzd29yZE1vZGFsIiwic2V0U2hvd1Bhc3N3b3JkTW9kYWwiLCJzdWJtaXR0aW5nIiwic2V0U3VibWl0dGluZyIsInNob3dTdWNjZXNzTWVzc2FnZSIsInNldFNob3dTdWNjZXNzTWVzc2FnZSIsInNob3dFcnJvck1lc3NhZ2UiLCJzZXRTaG93RXJyb3JNZXNzYWdlIiwic2hvdyIsInN0YXR1cyIsIm1lc3NhZ2UiLCJzaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2UiLCJzZXRTaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2UiLCJwYXJhbXMiLCJzZXRQYXJhbXMiLCJoYW5kbGVPbkNoYW5nZSIsImUiLCJzdGFydHNXaXRoIiwicmVwbGFjZSIsInByZXZTdGF0ZSIsInRhcmdldCIsIm5hbWUiLCJnZXRQYXJhbXNXaXRoQWdncmVnYXRlZFZhbHVlcyIsIndhdGVyQXV0aG9yaXR5TmFtZSIsInN0YXRlIiwiZ2xvYmFsX2RhdGEiLCJzaG93VG9hc3QiLCJkYXRhIiwidXNlcm5hbWUiLCJlcnJvciIsInRvYXN0Iiwic3VjY2VzcyIsImkxOG4iLCJwb3NpdGlvbiIsImhhbmRsZVN1Ym1pdCIsInByZXZlbnREZWZhdWx0IiwiYXhpb3MiLCJwdXQiLCJ1c2VyIiwidGhlbiIsInJlc3AiLCJlcnJvcnMiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJmb3JFYWNoIiwicCIsImlubmVySFRNTCIsImNsYXNzTGlzdCIsInJlbW92ZSIsIkpTT04iLCJwYXJzZSIsImZpbmRMb2NhbGUiLCJmaW5kIiwiZmluZERhdGVUaW1lRm9ybWF0IiwiZmluZFRpbWV6b25lIiwic2V0VGltZW91dCIsImZpbmRFbGVtZW50IiwicXVlcnlTZWxlY3RvciIsInBhcmVudCIsImNsb3Nlc3QiLCJmaW5kSW5wdXQiLCJhZGQiLCJjYXRjaCIsInV0aWxpdHlfbmFtZSIsInRva2VuIiwiY29udGVudCIsImRlZmF1bHRzIiwiaGVhZGVycyIsImNvbW1vbiIsImdldCIsImFsZXJ0IiwidW5kZWZpbmVkIiwiRGF0ZSIsInRvTG9jYWxlRGF0ZVN0cmluZyIsInRvVXBwZXJDYXNlIiwic3Vic3RyaW5nIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBRU8sSUFBTUEsV0FBVyxHQUFHLFNBQWRBLFdBQWMsR0FBTTtBQUMvQixNQUFNQyxjQUFjLEdBQUdDLHdCQUFPQyxFQUFQLENBQVVDLEtBQVYsRUFBdkI7O0FBQ0EsTUFBTUMscUJBQXFCLEdBQUcsQ0FDNUI7QUFDRUMsSUFBQUEsS0FBSyxFQUFFLElBRFQ7QUFFRUMsSUFBQUEsS0FBSyxFQUFFLGVBRlQ7QUFHRUMsSUFBQUEsTUFBTSxFQUFFO0FBQ05DLE1BQUFBLEtBQUssRUFBRSxPQUREO0FBRU5DLE1BQUFBLEdBQUcsRUFB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SSxFQUFFLFFBQWQ7QUFBd0IsSUFBQSxTQUFTLEVBQUUsTUFBbkM7QUFBMkMsSUFBQSxRQUFRLEVBQUVQO0FBQXJELEtBQ0csQ0FBQ0EsVUFBRCxJQUNDLENBQUNFLGtCQURGLElBRUMsQ0FBQ0UsZ0JBRkYsSUFHQzBCLGNBQUtsRCxDQUFMLENBQU8sNkJBQVAsQ0FKSixFQUtHb0IsVUFBVSxJQUNULENBQUNFLGtCQURGLElBRUMsQ0FBQ0UsZ0JBRkYsSUFHQzBCLGNBQUtsRCxDQUFMLENBQU8saUNBQVAsQ0FSSixFQVNHc0Isa0JBQWtCLElBQUk0QixjQUFLbEQsQ0FBTCxDQUFPLDhCQUFQLENBVHpCLEVBVUd3QixnQkFBZ0IsSUFBSTBCLGNBQUtsRCxDQUFMLENBQU8sNEJBQVAsQ0FWdkIsQ0F2TUYsQ0FERixDQUZGLEVBeU5Ha0IsaUJBQWlCLGlCQUNoQiw2QkFBQyw0QkFBRDtBQUNFLElBQUEsS0FBSyxFQUFFO0FBQUEsYUFBTUMsb0JBQW9CLENBQUMsS0FBRCxDQUExQjtBQUFBLEtBRFQ7QUFFRSxJQUFBLElBQUksRUFBRSxnQkFBTSxDQUFFO0FBRmhCLElBMU5KLEVBK05HSCxjQUFjLGlCQUNiLDZCQUFDLDRCQUFEO0FBQ0UsSUFBQSxLQUFLLEVBQUU7QUFBQSxhQUFNQyxpQkFBaUIsQ0FBQyxLQUFELENBQXZCO0FBQUEsS0FEVDtBQUVFLElBQUEsY0FBYyxFQUFFZ0IsY0FGbEI7QUFHRSxJQUFBLFlBQVksRUFBRW1CO0FBSGhCLElBaE9KLENBREY7QUF5T0QsQ0F0ZE0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFNlbGVjdCB9IGZyb20gJ3NyYy9jb21wb25lbnRzL0N1c3RvbUlucHV0cy9TZWxlY3QvU2VsZWN0JztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBQYXNzd29yZE1vZGFsIH0gZnJvbSAnLi9QYXNzd29yZE1vZGFsL1Bhc3N3b3JkTW9kYWwnO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgUGVuU3ZnIH0gZnJvbSAnLi9wZW4uc3ZnJztcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIENhbmNlbCB9IGZyb20gJy4vY2FuY2VsLnN2Zyc7XG5pbXBvcnQgUGhvbmVJbnB1dCBmcm9tICdyZWFjdC1waG9uZS1pbnB1dC0yJztcbmltcG9ydCAncmVhY3QtcGhvbmUtaW5wdXQtMi9saWIvc3R5bGUuY3NzJztcbmltcG9ydCB7IFRlbGVncmFtTW9kYWwgfSBmcm9tICcuL1RlbGVncmFtTW9kYWwvVGVsZWdyYW1Nb2RhbCc7XG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSAnLi9Db250YWluZXInO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQtdGltZXpvbmUnO1xuaW1wb3J0IHsgYW5hbHl0aWNzVHJhY2sgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvQW5hbHl0aWNzJztcbmltcG9ydCB7IHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgdG9hc3QgfSBmcm9tICdyZWFjdC10b2FzdGlmeSc7XG5cbmV4cG9ydCBjb25zdCBQcm9maWxlUGFnZSA9ICgpID0+IHtcbiAgY29uc3QgdGltZXpvbmVzQXJyYXkgPSBtb21lbnQudHoubmFtZXMoKTtcbiAgY29uc3QgZGF0ZVRpbWVGb3JtYXRPcHRpb25zID0gW1xuICAgIHtcbiAgICAgIHZhbHVlOiAndXMnLFxuICAgICAgbGFiZWw6ICdVbml0ZWQgU3RhdGVzJyxcbiAgICAgIGZvcm1hdDoge1xuICAgICAgICBtb250aDogJ3Nob3J0JyxcbiAgICAgICAgZGF5OiAnbnVtZXJpYycsXG4gICAgICAgIHllYXI6ICdudW1lcmljJyxcbiAgICAgICAgaG91cjogJ251bWVyaWMnLFxuICAgICAgICBtaW51dGU6ICdudW1lcmljJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YWx1ZTogJ2V1JyxcbiAgICAgIGxhYmVsOiAnRXVyb3BlJyxcbiAgICAgIGZvcm1hdDoge1xuICAgICAgICBkYXk6ICdudW1lcmljJyxcbiAgICAgICAgbW9udGg6ICdudW1lcmljJyxcbiAgICAgICAgeWVhcjogJ251bWVyaWMnLFxuICAgICAgICBob3VyOiAnbnVtZXJpYycsXG4gICAgICAgIG1pbnV0ZTogJ251bWVyaWMnLFxuICAgICAgICBob3VyMTI6IGZhbHNlLFxuICAgICAgfSxcbiAgICB9LFxuICBdO1xuXG4gIGNvbnN0IHRpbWV6b25lcyA9IHRpbWV6b25lc0FycmF5Lm1hcCgodCkgPT4ge1xuICAgIHJldHVybiB7IHZhbHVlOiB0LCBsYWJlbDogdCB9O1xuICB9KTtcblxuICBjb25zdCBsb2NhbGVPcHRpb25zID0gW1xuICAgIHsgdmFsdWU6ICdlbicsIGxhYmVsOiAnRW5nbGlzaCcgfSxcbiAgICB7IHZhbHVlOiAnZW5fdWsnLCBsYWJlbDogJ0VuZ2xpc2ggKFVLKScgfSxcbiAgICB7IHZhbHVlOiAnaGUnLCBsYWJlbDogJ9ei15HXqNeZ16onIH0sXG4gICAgeyB2YWx1ZTogJ2ZyJywgbGFiZWw6ICdGcmFuw6dhaXMnIH0sXG4gICAgeyB2YWx1ZTogJ2l0JywgbGFiZWw6ICdJdGFsaWFubycgfSxcbiAgXTtcblxuICBjb25zdCBbbG9jYWxlLCBzZXRMb2NhbGVdID0gdXNlU3RhdGU8e1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgfT4obG9jYWxlT3B0aW9uc1swXSk7XG5cbiAgY29uc3QgW2RhdGVUaW1lRm9ybWF0LCBzZXREYXRlVGltZUZvcm1hdF0gPSB1c2VTdGF0ZTx7XG4gICAgdmFsdWU6IHN0cmluZztcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIGZvcm1hdDogb2JqZWN0O1xuICB9PihkYXRlVGltZUZvcm1hdE9wdGlvbnNbMF0pO1xuXG4gIGNvbnN0IFt0aW1lem9uZSwgc2V0VGltZXpvbmVdID0gdXNlU3RhdGU8e1xuICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgfT4odGltZXpvbmVzWzIwXSk7XG5cbiAgY29uc3QgaW5pdGlhbFBhcmFtc1N0YXRlID0ge1xuICAgIGZpcnN0X25hbWU6ICcnLFxuICAgIGxhc3RfbmFtZTogJycsXG4gICAgcGhvbmU6ICcnLFxuICAgIGVtYWlsOiAnJyxcbiAgICB0aW1lX3pvbmU6ICcnLFxuICAgIGRhdGVfdGltZV9mb3JtYXQ6ICcnLFxuICAgIGxvY2FsZTogJycsXG4gICAgdGVsZWdyYW1fbmFtZTogJycsXG4gIH07XG5cbiAgY29uc3QgW2lzVGVsZWdyYW1PcGVuLCBzZXRJc1RlbGVncmFtT3Blbl0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtzaG93UGFzc3dvcmRNb2RhbCwgc2V0U2hvd1Bhc3N3b3JkTW9kYWxdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCBbc3VibWl0dGluZywgc2V0U3VibWl0dGluZ10gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtzaG93U3VjY2Vzc01lc3NhZ2UsIHNldFNob3dTdWNjZXNzTWVzc2FnZV0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IFtzaG93RXJyb3JNZXNzYWdlLCBzZXRTaG93RXJyb3JNZXNzYWdlXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3Nob3dUZWxlZ3JhbVJlc3BvbnNlTWVzc2FnZSwgc2V0U2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlXSA9XG4gICAgdXNlU3RhdGU8e1xuICAgICAgc2hvdzogYm9vbGVhbjtcbiAgICAgIHN0YXR1czogc3RyaW5nO1xuICAgICAgbWVzc2FnZTogc3RyaW5nO1xuICAgIH0+KHtcbiAgICAgIHNob3c6IGZhbHNlLFxuICAgICAgc3RhdHVzOiAnJyxcbiAgICAgIG1lc3NhZ2U6ICcnLFxuICAgIH0pO1xuICBjb25zdCBbcGFyYW1zLCBzZXRQYXJhbXNdID0gdXNlU3RhdGU8e1xuICAgIGZpcnN0X25hbWU6IHN0cmluZztcbiAgICBsYXN0X25hbWU6IHN0cmluZztcbiAgICBwaG9uZTogc3RyaW5nO1xuICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgdGltZV96b25lOiBzdHJpbmc7XG4gICAgZGF0ZV90aW1lX2Zvcm1hdDogc3RyaW5nO1xuICAgIGxvY2FsZTogc3RyaW5nO1xuICAgIHRlbGVncmFtX25hbWU6IHN0cmluZztcbiAgfT4oaW5pdGlhbFBhcmFtc1N0YXRlKTtcblxuICBjb25zdCBoYW5kbGVPbkNoYW5nZSA9IChlKSA9PiB7XG4gICAgaWYgKHR5cGVvZiBlID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKGUuc3RhcnRzV2l0aCgnOTcyMCcpKSB7XG4gICAgICAgIGUgPSBlLnJlcGxhY2UoLyg5NzIwKS9nLCAnOTcyJyk7XG4gICAgICB9XG4gICAgICBzZXRQYXJhbXMoKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgICBwaG9uZTogZSxcbiAgICAgIH0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgeyB2YWx1ZSwgbmFtZSB9ID0gZS50YXJnZXQ7XG4gICAgICBzZXRQYXJhbXMoKHByZXZTdGF0ZSkgPT4gKHtcbiAgICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgICBbbmFtZV06IHZhbHVlLFxuICAgICAgfSkpO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBnZXRQYXJhbXNXaXRoQWdncmVnYXRlZFZhbHVlcyA9ICgpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ucGFyYW1zLFxuICAgICAgZGF0ZV90aW1lX2Zvcm1hdDogZGF0ZVRpbWVGb3JtYXQudmFsdWUsXG4gICAgICBsb2NhbGU6IGxvY2FsZS52YWx1ZSxcbiAgICAgIHRpbWVfem9uZTogdGltZXpvbmUudmFsdWUsXG4gICAgfTtcbiAgfTtcblxuICBjb25zdCB3YXRlckF1dGhvcml0eU5hbWUgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGUpID0+IHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZSxcbiAgKTtcblxuICBjb25zdCBzaG93VG9hc3QgPSAoZGF0YSkgPT4ge1xuICAgIGNvbnN0IHVzZXJuYW1lID0gZGF0YS51c2VybmFtZTtcbiAgICBjb25zdCBlcnJvciA9IGRhdGEuZXJyb3I7XG4gICAgaWYgKGRhdGEuc3RhdHVzID09PSAnc3VjY2VzcycpIHtcbiAgICAgIHRvYXN0LnN1Y2Nlc3MoXG4gICAgICAgIGkxOG4udChgbXlfcHJvZmlsZV90YWIudGVsZWdyYW1fbWVzc2FnZXMuJHtkYXRhLm1lc3NhZ2V9YCwge1xuICAgICAgICAgIHVzZXJuYW1lLFxuICAgICAgICB9KSxcbiAgICAgICAge1xuICAgICAgICAgIHBvc2l0aW9uOiAndG9wLWNlbnRlcicsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0b2FzdC5lcnJvcihcbiAgICAgICAgaTE4bi50KGBteV9wcm9maWxlX3RhYi50ZWxlZ3JhbV9tZXNzYWdlcy4ke2RhdGEubWVzc2FnZX1gLCB7XG4gICAgICAgICAgZXJyb3I6IGVycm9yLFxuICAgICAgICAgIHVzZXJuYW1lOiB1c2VybmFtZSxcbiAgICAgICAgfSksXG4gICAgICAgIHtcbiAgICAgICAgICBwb3NpdGlvbjogJ3RvcC1jZW50ZXInLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlU3VibWl0ID0gKGUpID0+IHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgc2V0U3VibWl0dGluZyh0cnVlKTtcbiAgICBheGlvc1xuICAgICAgLnB1dCgnL3Byb2ZpbGVzJywgeyB1c2VyOiBnZXRQYXJhbXNXaXRoQWdncmVnYXRlZFZhbHVlcygpIH0pXG4gICAgICAudGhlbigocmVzcCkgPT4ge1xuICAgICAgICBpZiAocmVzcC5kYXRhLmVycm9ycyA9PT0gbnVsbCkge1xuICAgICAgICAgIGRvY3VtZW50XG4gICAgICAgICAgICAucXVlcnlTZWxlY3RvckFsbCgnLmVycm9yLW1lc3NhZ2UnKVxuICAgICAgICAgICAgLmZvckVhY2goKHApID0+IChwLmlubmVySFRNTCA9ICcnKSk7XG5cbiAgICAgICAgICBkb2N1bWVudFxuICAgICAgICAgICAgLnF1ZXJ5U2VsZWN0b3JBbGwoJy5pbnZhbGlkLWZpZWxkJylcbiAgICAgICAgICAgIC5mb3JFYWNoKChwKSA9PiBwLmNsYXNzTGlzdC5yZW1vdmUoJ2ludmFsaWQtZmllbGQnKSk7XG4gICAgICAgICAgbGV0IHVzZXIgPSBKU09OLnBhcnNlKHJlc3AuZGF0YS51c2VyKTtcbiAgICAgICAgICBjb25zdCBmaW5kTG9jYWxlID0gbG9jYWxlT3B0aW9ucy5maW5kKChlKSA9PiBlLnZhbHVlID09PSB1c2VyLmxvY2FsZSk7XG4gICAgICAgICAgY29uc3QgZmluZERhdGVUaW1lRm9ybWF0ID0gZGF0ZVRpbWVGb3JtYXRPcHRpb25zLmZpbmQoXG4gICAgICAgICAgICAoZSkgPT4gZS52YWx1ZSA9PT0gdXNlci5kYXRlX3RpbWVfZm9ybWF0LFxuICAgICAgICAgICk7XG4gICAgICAgICAgY29uc3QgZmluZFRpbWV6b25lID0gdGltZXpvbmVzLmZpbmQoXG4gICAgICAgICAgICAoZSkgPT4gZS52YWx1ZSA9PT0gdXNlci50aW1lX3pvbmUsXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIHNldFBhcmFtcyh1c2VyKTtcbiAgICAgICAgICBzZXRMb2NhbGUoZmluZExvY2FsZSEpO1xuICAgICAgICAgIHNldERhdGVUaW1lRm9ybWF0KGZpbmREYXRlVGltZUZvcm1hdCEpO1xuICAgICAgICAgIHNldFRpbWV6b25lKGZpbmRUaW1lem9uZSEpO1xuICAgICAgICAgIHNldFNob3dTdWNjZXNzTWVzc2FnZSh0cnVlKTtcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHNldFNob3dTdWNjZXNzTWVzc2FnZShmYWxzZSk7XG4gICAgICAgICAgfSwgNjAwMCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZG9jdW1lbnRcbiAgICAgICAgICAgIC5xdWVyeVNlbGVjdG9yQWxsKCcuZXJyb3ItbWVzc2FnZScpXG4gICAgICAgICAgICAuZm9yRWFjaCgocCkgPT4gKHAuaW5uZXJIVE1MID0gJycpKTtcbiAgICAgICAgICBsZXQgZXJyb3JzID0gcmVzcC5kYXRhLmVycm9ycztcbiAgICAgICAgICBmb3IgKGNvbnN0IGVycm9yIGluIGVycm9ycykge1xuICAgICAgICAgICAgbGV0IGZpbmRFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgaW5wdXRbbmFtZT0nJHtlcnJvcn0nXWApO1xuICAgICAgICAgICAgbGV0IHBhcmVudCA9IGZpbmRFbGVtZW50IS5jbG9zZXN0KCcuZmllbGQnKTtcbiAgICAgICAgICAgIGxldCBmaW5kSW5wdXQgPSBwYXJlbnQhLnF1ZXJ5U2VsZWN0b3IoJ2lucHV0Jyk7XG4gICAgICAgICAgICBmaW5kSW5wdXQhLmNsYXNzTGlzdC5hZGQoJ2ludmFsaWQtZmllbGQnKTtcbiAgICAgICAgICAgIHBhcmVudCEucXVlcnlTZWxlY3RvcignLmVycm9yLW1lc3NhZ2UnKSEuaW5uZXJIVE1MID0gaTE4bi50KFxuICAgICAgICAgICAgICBgZGFzaGJvYXJkX3YyLnByb2ZpbGUuZXJyb3JzLiR7ZXJyb3J9YCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHNldFNob3dTdWNjZXNzTWVzc2FnZShmYWxzZSk7XG4gICAgICAgIH1cblxuICAgICAgICBzZXRTdWJtaXR0aW5nKGZhbHNlKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgIHNldFNob3dFcnJvck1lc3NhZ2UodHJ1ZSk7XG4gICAgICAgIHNldFNob3dTdWNjZXNzTWVzc2FnZShmYWxzZSk7XG4gICAgICAgIHNldFN1Ym1pdHRpbmcoZmFsc2UpO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBzZXRTaG93RXJyb3JNZXNzYWdlKGZhbHNlKTtcbiAgICAgICAgfSwgNjAwMCk7XG4gICAgICB9KTtcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGFuYWx5dGljc1RyYWNrKCdWaWV3ZWQgUHJvZmlsZSBQYWdlJywge1xuICAgICAgdXRpbGl0eV9uYW1lOiB3YXRlckF1dGhvcml0eU5hbWUsXG4gICAgfSk7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGNvbnN0IHRva2VuID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignW25hbWU9Y3NyZi10b2tlbl0nKSEuY29udGVudDtcbiAgICBheGlvcy5kZWZhdWx0cy5oZWFkZXJzLmNvbW1vblsnWC1DU1JGLVRPS0VOJ10gPSB0b2tlbjtcbiAgICBheGlvcy5kZWZhdWx0cy5oZWFkZXJzLmNvbW1vblsnQ29udGVudC1UeXBlJ10gPSAnYXBwbGljYXRpb24vanMnO1xuICAgIGF4aW9zXG4gICAgICAuZ2V0KCcvcHJvZmlsZXMvcmVzb3VyY2UnKVxuICAgICAgLnRoZW4oKHJlc3ApID0+IHtcbiAgICAgICAgc2V0UGFyYW1zKHJlc3AuZGF0YSk7XG4gICAgICAgIGNvbnN0IGZpbmRMb2NhbGUgPSBsb2NhbGVPcHRpb25zLmZpbmQoXG4gICAgICAgICAgKGUpID0+IGUudmFsdWUgPT09IHJlc3AuZGF0YS5sb2NhbGUsXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGZpbmREYXRlVGltZUZvcm1hdCA9IGRhdGVUaW1lRm9ybWF0T3B0aW9ucy5maW5kKFxuICAgICAgICAgIChlKSA9PiBlLnZhbHVlID09PSByZXNwLmRhdGEuZGF0ZV90aW1lX2Zvcm1hdCxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgZmluZFRpbWV6b25lID0gdGltZXpvbmVzLmZpbmQoXG4gICAgICAgICAgKGUpID0+IGUudmFsdWUgPT09IHJlc3AuZGF0YS50aW1lX3pvbmUsXG4gICAgICAgICk7XG4gICAgICAgIHNldExvY2FsZShmaW5kTG9jYWxlISk7XG4gICAgICAgIHNldERhdGVUaW1lRm9ybWF0KGZpbmREYXRlVGltZUZvcm1hdCEpO1xuICAgICAgICBzZXRUaW1lem9uZShmaW5kVGltZXpvbmUhKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycm9yKSA9PiBhbGVydChlcnJvcikpO1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJoZWFkZXItdGl0bGVcIj57aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS50aXRsZScpfTwvZGl2PlxuICAgICAgPGZvcm0gYWN0aW9uPVwiXCIgb25TdWJtaXQ9eyhlKSA9PiBoYW5kbGVTdWJtaXQoZSl9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbnRlbnRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRpdGxlXCI+XG4gICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5wZXJzb25hbC1kZXRhaWxzJyl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwicGVyc29uYWxcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmZpcnN0X25hbWUnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteS1pbnB1dFwiXG4gICAgICAgICAgICAgICAgbmFtZT17J2ZpcnN0X25hbWUnfVxuICAgICAgICAgICAgICAgIHZhbHVlPXtwYXJhbXMuZmlyc3RfbmFtZX1cbiAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IGhhbmRsZU9uQ2hhbmdlKGUpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9eydlcnJvci1tZXNzYWdlJ30+PC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5sYXN0X25hbWUnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteS1pbnB1dFwiXG4gICAgICAgICAgICAgICAgbmFtZT17J2xhc3RfbmFtZSd9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy5sYXN0X25hbWV9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBoYW5kbGVPbkNoYW5nZShlKX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXsnZXJyb3ItbWVzc2FnZSd9PjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZCBmaWVsZC0tcmVhZG9ubHlcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmVtYWlsJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICByZWFkT25seT17dHJ1ZX1cbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXktaW5wdXRcIlxuICAgICAgICAgICAgICAgIG5hbWU9eydlbWFpbCd9XG4gICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy5lbWFpbH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPXsnZXJyb3ItbWVzc2FnZSd9PjwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUucGhvbmUnKX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxQaG9uZUlucHV0XG4gICAgICAgICAgICAgICAgY291bnRyeT17J2lsJ31cbiAgICAgICAgICAgICAgICBsb2NhbGl6YXRpb249e2kxOG4udCgnY291bnRyaWVzJyl9XG4gICAgICAgICAgICAgICAgaW5wdXRDbGFzcz1cInBob25lLWlucHV0XCJcbiAgICAgICAgICAgICAgICBjb250YWluZXJDbGFzcz1cIm15LXBob25lXCJcbiAgICAgICAgICAgICAgICBidXR0b25DbGFzcz1cImRyb3Bkb3duXCJcbiAgICAgICAgICAgICAgICBkcm9wZG93bkNsYXNzPVwicGhvbmUtZHJvcGRvd25cIlxuICAgICAgICAgICAgICAgIHZhbHVlPXtwYXJhbXMucGhvbmV9XG4gICAgICAgICAgICAgICAgZW5hYmxlU2VhcmNoXG4gICAgICAgICAgICAgICAgc2VhcmNoUGxhY2Vob2xkZXI9e2kxOG4udCgnc2VhcmNoJyl9XG4gICAgICAgICAgICAgICAgY291bnRyeUNvZGVFZGl0YWJsZT17ZmFsc2V9XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9eyh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgaGFuZGxlT25DaGFuZ2UodmFsdWUpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgaW5wdXRQcm9wcz17eyBuYW1lOiAncGhvbmUnIH19XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17J2Vycm9yLW1lc3NhZ2UnfT48L3A+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImNoYW5nZS1wYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0U2hvd1Bhc3N3b3JkTW9kYWwodHJ1ZSl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8UGVuU3ZnIHdpZHRoPVwiMTJweFwiIGhlaWdodD1cIjEycHhcIiBmaWxsPVwiI2YwMTM0Y1wiIC8+XG4gICAgICAgICAgICAgICAgeycgICd9XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuY2hhbmdlLXBhc3N3b3JkJyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGl0bGVcIj57aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5zZXR0aW5ncycpfTwvZGl2PlxuICAgICAgICAgIDxzZWN0aW9uIGNsYXNzTmFtZT1cInNldHRpbmdzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS50aW1lLXpvbmUnKX0qXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm15LWlucHV0XCI+XG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgc2V0VmFsdWU9e3NldFRpbWV6b25lfVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e3RpbWV6b25lfVxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17dGltZXpvbmVzfVxuICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dFdpZHRoXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYWJlbFwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmRhdGUtdGltZS1mb3JtYXQnKX0qXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm15LWlucHV0XCI+XG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17ZGF0ZVRpbWVGb3JtYXRPcHRpb25zfVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e2RhdGVUaW1lRm9ybWF0fVxuICAgICAgICAgICAgICAgICAgc2V0VmFsdWU9e3NldERhdGVUaW1lRm9ybWF0fVxuICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dFdpZHRoXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZGF0ZS10aW1lLWZvcm1hdCd9PlxuICAgICAgICAgICAgICAgIHtkYXRlVGltZUZvcm1hdCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAgICAgICBuZXcgRGF0ZSgpLnRvTG9jYWxlRGF0ZVN0cmluZygnZW4tVVMnLCBkYXRlVGltZUZvcm1hdC5mb3JtYXQpfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUubGFuZ3VhZ2UnKX0qXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J215LWlucHV0J30+XG4gICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17bG9jYWxlT3B0aW9uc31cbiAgICAgICAgICAgICAgICAgIHZhbHVlPXtsb2NhbGV9XG4gICAgICAgICAgICAgICAgICBzZXRWYWx1ZT17c2V0TG9jYWxlfVxuICAgICAgICAgICAgICAgICAgY2FuY2VsVGV4dFdpZHRoXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGQgZmllbGQtLWJ1dHRvbnNcIj5cbiAgICAgICAgICAgICAge3BhcmFtcy50ZWxlZ3JhbV9uYW1lID09PSAnJyAmJiAoXG4gICAgICAgICAgICAgICAgPGEgY2xhc3NOYW1lPVwidGVsZWdyYW1cIiBvbkNsaWNrPXsoKSA9PiBzZXRJc1RlbGVncmFtT3Blbih0cnVlKX0+XG4gICAgICAgICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5jb25uZWN0LXRvLXRlbGVncmFtJyl9XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7cGFyYW1zLnRlbGVncmFtX25hbWUgIT09ICcnICYmIChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWVsZFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxhYmVsXCI+XG4gICAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUudGVsZWdyYW1fbmFtZScpfVxuICAgICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInJpZ2h0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHNldElzVGVsZWdyYW1PcGVuKHRydWUpfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxQZW5Tdmcgd2lkdGg9XCIxMnB4XCIgaGVpZ2h0PVwiMTJweFwiIGZpbGw9XCIjZjAxMzRjXCIgLz57JyAnfVxuICAgICAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuY2hhbmdlLW5hbWUnKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsndGVsZWdyYW0tZXhpc3RpbmctaW5wdXQnfT5cbiAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5PXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXktaW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT17J3RlbGVncmFtX25hbWUnfVxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3BhcmFtcy50ZWxlZ3JhbV9uYW1lfVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXsndGVsZWdyYW0tZXhpc3RpbmctaW5wdXRfX2NhbmNlbC1idXR0b24nfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0UGFyYW1zKChwcmV2U3RhdGUpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ucHJldlN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlbGVncmFtX25hbWU6ICcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxDYW5jZWwgLz5cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT17J2Vycm9yLW1lc3NhZ2UnfT48L3A+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXsndGVsZWdyYW0gb3Blbid9XG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXhpb3NcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLmdldChgL3RlbGVncmFtL3NlbmRfdGVzdF9tZXNzYWdlLmpzb25gKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAudGhlbigocmVzcCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFNob3dUZWxlZ3JhbVJlc3BvbnNlTWVzc2FnZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3AuZGF0YS5zdGF0dXNbMF0udG9VcHBlckNhc2UoKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3AuZGF0YS5zdGF0dXMuc3Vic3RyaW5nKDEpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogcmVzcC5kYXRhLm1lc3NhZ2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3c6IGZhbHNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgNjAwMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd1RvYXN0KHJlc3AuZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IGFsZXJ0KGVycm9yKSk7XG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHshc2hvd1RlbGVncmFtUmVzcG9uc2VNZXNzYWdlLnNob3cgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuc2VuZF90ZWxlZ3JhbV9tZXNzYWdlJyl9XG4gICAgICAgICAgICAgICAgICAgICAge3Nob3dUZWxlZ3JhbVJlc3BvbnNlTWVzc2FnZS5zaG93ICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG93VGVsZWdyYW1SZXNwb25zZU1lc3NhZ2Uuc3RhdHVzfVxuICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICA8YnV0dG9uIHR5cGU9eydzdWJtaXQnfSBjbGFzc05hbWU9eydzYXZlJ30gZGlzYWJsZWQ9e3N1Ym1pdHRpbmd9PlxuICAgICAgICAgICAgeyFzdWJtaXR0aW5nICYmXG4gICAgICAgICAgICAgICFzaG93U3VjY2Vzc01lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgIXNob3dFcnJvck1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5zdWJtaXQnKX1cbiAgICAgICAgICAgIHtzdWJtaXR0aW5nICYmXG4gICAgICAgICAgICAgICFzaG93U3VjY2Vzc01lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgIXNob3dFcnJvck1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5zdWJtaXR0aW5nJyl9XG4gICAgICAgICAgICB7c2hvd1N1Y2Nlc3NNZXNzYWdlICYmIGkxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUuc3VjY2VzcycpfVxuICAgICAgICAgICAge3Nob3dFcnJvck1lc3NhZ2UgJiYgaTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5lcnJvcicpfVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZm9ybT5cblxuICAgICAge3Nob3dQYXNzd29yZE1vZGFsICYmIChcbiAgICAgICAgPFBhc3N3b3JkTW9kYWxcbiAgICAgICAgICBjbG9zZT17KCkgPT4gc2V0U2hvd1Bhc3N3b3JkTW9kYWwoZmFsc2UpfVxuICAgICAgICAgIHNhdmU9eygpID0+IHt9fVxuICAgICAgICAvPlxuICAgICAgKX1cbiAgICAgIHtpc1RlbGVncmFtT3BlbiAmJiAoXG4gICAgICAgIDxUZWxlZ3JhbU1vZGFsXG4gICAgICAgICAgY2xvc2U9eygpID0+IHNldElzVGVsZWdyYW1PcGVuKGZhbHNlKX1cbiAgICAgICAgICBoYW5kbGVPbkNoYW5nZT17aGFuZGxlT25DaGFuZ2V9XG4gICAgICAgICAgaGFuZGxlU3VibWl0PXtoYW5kbGVTdWJtaXR9XG4gICAgICAgIC8+XG4gICAgICApfVxuICAgIDwvQ29udGFpbmVyPlxuICApO1xufTtcbiJdfQ==
|
|
@@ -1,43 +1,61 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
8
10
|
exports.TelegramModal = void 0;
|
|
11
|
+
|
|
9
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
13
|
+
|
|
10
14
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
15
|
+
|
|
11
16
|
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
+
|
|
12
18
|
var _PopupModal = require("components/PopupModal/PopupModal");
|
|
19
|
+
|
|
13
20
|
var _i18n = _interopRequireDefault(require("../../../utilities/i18n"));
|
|
21
|
+
|
|
14
22
|
var _device = require("@svgr/webpack?-svgo!../device.svg");
|
|
23
|
+
|
|
15
24
|
var _axios = _interopRequireDefault(require("axios"));
|
|
25
|
+
|
|
16
26
|
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); }
|
|
27
|
+
|
|
17
28
|
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; }
|
|
29
|
+
|
|
18
30
|
var Step = _styledComponents.default.div.withConfig({
|
|
19
31
|
displayName: "TelegramModal__Step",
|
|
20
32
|
componentId: "sc-k313ho-0"
|
|
21
33
|
})(["display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:18px;padding:0 78px;h2{font-weight:900;font-size:24px;}p{text-align:center;}svg{width:3em;margin:32px 88px;}.final-step{border:1px solid rgba(0,0,0,0.1);padding:21px;border-radius:6px;display:flex;flex-direction:column;align-items:center;.number{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.1);border-radius:50%;margin:9px 0;}}"]);
|
|
34
|
+
|
|
22
35
|
var Form = _styledComponents.default.form.withConfig({
|
|
23
36
|
displayName: "TelegramModal__Form",
|
|
24
37
|
componentId: "sc-k313ho-1"
|
|
25
38
|
})(["display:flex;flex-direction:column;align-items:center;color:#1d1d1d;padding-bottom:40px;.password-title{font-size:24px;font-weight:700;padding-bottom:40px;}.field{font-size:18px;margin-bottom:30px;.title{margin-bottom:5px;[dir='rtl'] &{text-align:right;}}.my-input{height:51px;width:100%;font-size:18px;font-weight:300;border:solid 1px #ebebeb;outline-width:0;input{height:50px;width:300px;padding:5px 15px;outline-width:0;}}}.save{border:solid 1px #f6004f;background-color:#f6004f;width:200px;height:50px;border-radius:23px;color:white;margin-bottom:20px;&[disabled]{opacity:0.5;}}.cancel{color:#f6004f;background-color:transparent;border:none;}"]);
|
|
39
|
+
|
|
26
40
|
var StepNavigator = _styledComponents.default.div.withConfig({
|
|
27
41
|
displayName: "TelegramModal__StepNavigator",
|
|
28
42
|
componentId: "sc-k313ho-2"
|
|
29
43
|
})(["display:flex;align-items:center;justify-content:center;button{border:solid 1px #f6004f;background-color:#f6004f;width:200px;height:50px;border-radius:23px;color:white;-webkit-align-self:end;-ms-flex-item-align:end;align-self:end;margin:0 0 21px 0;}a{border:solid 1px #f6004f;background-color:#f6004f;width:200px;height:50px;border-radius:23px;color:white !important;display:flex;justify-content:center;align-items:center;cursor:pointer;margin:0 0 21px 0;}"]);
|
|
44
|
+
|
|
30
45
|
var TelegramModal = function TelegramModal(_ref) {
|
|
31
46
|
var close = _ref.close,
|
|
32
|
-
|
|
33
|
-
|
|
47
|
+
handleOnChange = _ref.handleOnChange,
|
|
48
|
+
handleSubmit = _ref.handleSubmit;
|
|
49
|
+
|
|
34
50
|
var _useState = (0, _react.useState)(1),
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
51
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
52
|
+
step = _useState2[0],
|
|
53
|
+
setStep = _useState2[1];
|
|
54
|
+
|
|
38
55
|
var step1 = function step1() {
|
|
39
56
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_device.ReactComponent, null), /*#__PURE__*/_react.default.createElement("h2", null, _i18n.default.t('dashboard_v2.profile.wizard.connect_to_telegram')), /*#__PURE__*/_react.default.createElement("p", null, _i18n.default.t('dashboard_v2.profile.wizard.first')));
|
|
40
57
|
};
|
|
58
|
+
|
|
41
59
|
var step2 = function step2() {
|
|
42
60
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h2", null, _i18n.default.t('dashboard_v2.profile.wizard.connect_to_telegram')), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("p", null, _i18n.default.t('dashboard_v2.profile.wizard.second')), /*#__PURE__*/_react.default.createElement("div", {
|
|
43
61
|
className: "field"
|
|
@@ -51,6 +69,7 @@ var TelegramModal = function TelegramModal(_ref) {
|
|
|
51
69
|
}
|
|
52
70
|
}))));
|
|
53
71
|
};
|
|
72
|
+
|
|
54
73
|
var step3 = function step3() {
|
|
55
74
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("h2", null, _i18n.default.t('dashboard_v2.profile.wizard.connect_to_telegram')), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("div", {
|
|
56
75
|
className: 'final-step'
|
|
@@ -60,6 +79,7 @@ var TelegramModal = function TelegramModal(_ref) {
|
|
|
60
79
|
className: 'number'
|
|
61
80
|
}, "2"), /*#__PURE__*/_react.default.createElement("p", null, _i18n.default.t('dashboard_v2.profile.wizard.third_2'))));
|
|
62
81
|
};
|
|
82
|
+
|
|
63
83
|
var renderSteps = function renderSteps() {
|
|
64
84
|
if (step === 1) {
|
|
65
85
|
return step1();
|
|
@@ -71,10 +91,12 @@ var TelegramModal = function TelegramModal(_ref) {
|
|
|
71
91
|
return;
|
|
72
92
|
}
|
|
73
93
|
};
|
|
94
|
+
|
|
74
95
|
var _useState3 = (0, _react.useState)(''),
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
96
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
97
|
+
env = _useState4[0],
|
|
98
|
+
setEnv = _useState4[1];
|
|
99
|
+
|
|
78
100
|
(0, _react.useEffect)(function () {
|
|
79
101
|
_axios.default.get('/permissions').then(function (response) {
|
|
80
102
|
setEnv(response.data.data.env);
|
|
@@ -102,5 +124,6 @@ var TelegramModal = function TelegramModal(_ref) {
|
|
|
102
124
|
}
|
|
103
125
|
}, _i18n.default.t('dashboard_v2.profile.registration'))));
|
|
104
126
|
};
|
|
127
|
+
|
|
105
128
|
exports.TelegramModal = TelegramModal;
|
|
106
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfUG9wdXBNb2RhbCIsIl9pMThuIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9kZXZpY2UiLCJfYXhpb3MiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIlN0ZXAiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIkZvcm0iLCJmb3JtIiwiU3RlcE5hdmlnYXRvciIsIlRlbGVncmFtTW9kYWwiLCJfcmVmIiwiY2xvc2UiLCJoYW5kbGVPbkNoYW5nZSIsImhhbmRsZVN1Ym1pdCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInN0ZXAiLCJzZXRTdGVwIiwic3RlcDEiLCJjcmVhdGVFbGVtZW50IiwiRnJhZ21lbnQiLCJSZWFjdENvbXBvbmVudCIsImkxOG4iLCJ0Iiwic3RlcDIiLCJjbGFzc05hbWUiLCJ0eXBlIiwibmFtZSIsIm9uQ2hhbmdlIiwiZSIsInN0ZXAzIiwicmVuZGVyU3RlcHMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImVudiIsInNldEVudiIsInVzZUVmZmVjdCIsImF4aW9zIiwidGhlbiIsInJlc3BvbnNlIiwiZGF0YSIsImNhdGNoIiwiZXJyb3IiLCJjb25zb2xlIiwiUG9wdXBNb2RhbCIsInNob3ciLCJzZXRTaG93Iiwib25TdWJtaXQiLCJwcmV2ZW50RGVmYXVsdCIsIm9uQ2xpY2siLCJ3aW5kb3ciLCJvcGVuIiwiZm9jdXMiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BhZ2VzL1Byb2ZpbGVQYWdlL1RlbGVncmFtTW9kYWwvVGVsZWdyYW1Nb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IFBvcHVwTW9kYWwgfSBmcm9tICdzcmMvY29tcG9uZW50cy9Qb3B1cE1vZGFsL1BvcHVwTW9kYWwnO1xuaW1wb3J0IGkxOG4gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgRGV2aWNlU3ZnIH0gZnJvbSAnLi4vZGV2aWNlLnN2Zyc7XG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuXG5jb25zdCBTdGVwID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgcGFkZGluZzogMCA3OHB4O1xuXG4gIGgyIHtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgfVxuXG4gIHAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIHN2ZyB7XG4gICAgd2lkdGg6IDNlbTtcbiAgICBtYXJnaW46IDMycHggODhweDtcbiAgfVxuXG4gIC5maW5hbC1zdGVwIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgcGFkZGluZzogMjFweDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAubnVtYmVyIHtcbiAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIG1hcmdpbjogOXB4IDA7XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBGb3JtID0gc3R5bGVkLmZvcm1gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjMWQxZDFkO1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcblxuICAucGFzc3dvcmQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICB9XG5cbiAgLmZpZWxkIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgIC50aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICBbZGlyPSdydGwnXSAmIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm15LWlucHV0IHtcbiAgICAgIGhlaWdodDogNTFweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGJvcmRlcjogc29saWQgMXB4ICNlYmViZWI7XG4gICAgICBvdXRsaW5lLXdpZHRoOiAwO1xuXG4gICAgICBpbnB1dCB7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgICBwYWRkaW5nOiA1cHggMTVweDtcbiAgICAgICAgb3V0bGluZS13aWR0aDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2F2ZSB7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2Y2MDA0ZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjYwMDRmO1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjNweDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgfVxuICB9XG5cbiAgLmNhbmNlbCB7XG4gICAgY29sb3I6ICNmNjAwNGY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG5gO1xuXG5jb25zdCBTdGVwTmF2aWdhdG9yID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgYnV0dG9uIHtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjZjYwMDRmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNjAwNGY7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAyM3B4O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAtd2Via2l0LWFsaWduLXNlbGY6IGVuZDtcbiAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBlbmQ7XG4gICAgYWxpZ24tc2VsZjogZW5kO1xuICAgIG1hcmdpbjogMCAwIDIxcHggMDtcbiAgfVxuXG4gIGEge1xuICAgIGJvcmRlcjogc29saWQgMXB4ICNmNjAwNGY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2MDA0ZjtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDIzcHg7XG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBtYXJnaW46IDAgMCAyMXB4IDA7XG4gIH1cbmA7XG5cbmludGVyZmFjZSBUZWxlZ3JhbU1vZGFsUHJvcHMge1xuICBjbG9zZTogKCkgPT4gdm9pZDtcbiAgaGFuZGxlT25DaGFuZ2U6IChlKSA9PiB2b2lkO1xuICBoYW5kbGVTdWJtaXQ6IChlKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgY29uc3QgVGVsZWdyYW1Nb2RhbDogUmVhY3QuRkM8VGVsZWdyYW1Nb2RhbFByb3BzPiA9ICh7XG4gIGNsb3NlLFxuICBoYW5kbGVPbkNoYW5nZSxcbiAgaGFuZGxlU3VibWl0LFxufSkgPT4ge1xuICBjb25zdCBbc3RlcCwgc2V0U3RlcF0gPSB1c2VTdGF0ZTxudW1iZXI+KDEpO1xuICBjb25zdCBzdGVwMSA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPERldmljZVN2ZyAvPlxuICAgICAgICA8aDI+e2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUud2l6YXJkLmNvbm5lY3RfdG9fdGVsZWdyYW0nKX08L2gyPlxuICAgICAgICA8cD57aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS53aXphcmQuZmlyc3QnKX08L3A+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuICBjb25zdCBzdGVwMiA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPGgyPntpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLndpemFyZC5jb25uZWN0X3RvX3RlbGVncmFtJyl9PC9oMj5cbiAgICAgICAgPGJyIC8+XG4gICAgICAgIDxwPntpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLndpemFyZC5zZWNvbmQnKX08L3A+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmllbGRcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm15LWlucHV0XCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgdHlwZT17J3RleHQnfVxuICAgICAgICAgICAgICBuYW1lPXsndGVsZWdyYW1fbmFtZSd9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4ge1xuICAgICAgICAgICAgICAgIGhhbmRsZU9uQ2hhbmdlKGUpO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuICBjb25zdCBzdGVwMyA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPGgyPntpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLndpemFyZC5jb25uZWN0X3RvX3RlbGVncmFtJyl9PC9oMj5cbiAgICAgICAgPGJyIC8+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZmluYWwtc3RlcCd9PlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17J251bWJlcid9PjE8L3NwYW4+XG4gICAgICAgICAgPHA+e2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUud2l6YXJkLnRoaXJkXzEnKX08L3A+XG4gICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXsnbnVtYmVyJ30+Mjwvc3Bhbj5cbiAgICAgICAgICA8cD57aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS53aXphcmQudGhpcmRfMicpfTwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8Lz5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IHJlbmRlclN0ZXBzID0gKCkgPT4ge1xuICAgIGlmIChzdGVwID09PSAxKSB7XG4gICAgICByZXR1cm4gc3RlcDEoKTtcbiAgICB9IGVsc2UgaWYgKHN0ZXAgPT09IDIpIHtcbiAgICAgIHJldHVybiBzdGVwMigpO1xuICAgIH0gZWxzZSBpZiAoc3RlcCA9PT0gMykge1xuICAgICAgcmV0dXJuIHN0ZXAzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH07XG4gIGNvbnN0IFtlbnYsIHNldEVudl0gPSB1c2VTdGF0ZTxzdHJpbmc+KCcnKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGF4aW9zXG4gICAgICAuZ2V0KCcvcGVybWlzc2lvbnMnKVxuICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHNldEVudihyZXNwb25zZS5kYXRhLmRhdGEuZW52KTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgfSk7XG4gIH0sIFtdKTtcblxuICByZXR1cm4gKFxuICAgIDxQb3B1cE1vZGFsIHNob3c9e3RydWV9IHNldFNob3c9e2Nsb3NlfT5cbiAgICAgIDxGb3JtXG4gICAgICAgIG9uU3VibWl0PXsoZSkgPT4ge1xuICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBjbG9zZSgpO1xuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8U3RlcD57cmVuZGVyU3RlcHMoKX08L1N0ZXA+XG4gICAgICA8L0Zvcm0+XG5cbiAgICAgIDxTdGVwTmF2aWdhdG9yPlxuICAgICAgICB7c3RlcCAhPT0gMyA/IChcbiAgICAgICAgICA8YnV0dG9uIG9uQ2xpY2s9eygpID0+IHNldFN0ZXAoc3RlcCArIDEpfT5cbiAgICAgICAgICAgIHtpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLmNvbnRpbnVlJyl9XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiB7XG4gICAgICAgICAgICAgIGhhbmRsZVN1Ym1pdChlKTtcbiAgICAgICAgICAgICAgd2luZG93XG4gICAgICAgICAgICAgICAgLm9wZW4oXG4gICAgICAgICAgICAgICAgICBlbnYgPT09ICdwcm9kdWN0aW9uJ1xuICAgICAgICAgICAgICAgICAgICA/ICdodHRwczovL3RlbGVncmFtLm1lL2NsZWFyX3Vwc3RyZWFtX2JvdCdcbiAgICAgICAgICAgICAgICAgICAgOiAnaHR0cHM6Ly90ZWxlZ3JhbS5tZS9jbGVhcl91cHN0cmVhbV9zdGFnaW5nX2JvdCcsXG4gICAgICAgICAgICAgICAgICAnX2JsYW5rJyxcbiAgICAgICAgICAgICAgICApIVxuICAgICAgICAgICAgICAgIC5mb2N1cygpO1xuICAgICAgICAgICAgICBjbG9zZSgpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5yZWdpc3RyYXRpb24nKX1cbiAgICAgICAgICA8L2E+XG4gICAgICAgICl9XG4gICAgICA8L1N0ZXBOYXZpZ2F0b3I+XG4gICAgPC9Qb3B1cE1vZGFsPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFDLFdBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUEyQyxJQUFBSSxPQUFBLEdBQUFKLE9BQUE7QUFFM0MsSUFBQUssTUFBQSxHQUFBRixzQkFBQSxDQUFBSCxPQUFBO0FBQTBCLFNBQUFNLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsV0FBQSxXQUFBQSxXQUFB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
|
|
129
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9Qcm9maWxlUGFnZS9UZWxlZ3JhbU1vZGFsL1RlbGVncmFtTW9kYWwudHN4Il0sIm5hbWVzIjpbIlN0ZXAiLCJzdHlsZWQiLCJkaXYiLCJGb3JtIiwiZm9ybSIsIlN0ZXBOYXZpZ2F0b3IiLCJUZWxlZ3JhbU1vZGFsIiwiY2xvc2UiLCJoYW5kbGVPbkNoYW5nZSIsImhhbmRsZVN1Ym1pdCIsInN0ZXAiLCJzZXRTdGVwIiwic3RlcDEiLCJpMThuIiwidCIsInN0ZXAyIiwiZSIsInN0ZXAzIiwicmVuZGVyU3RlcHMiLCJlbnYiLCJzZXRFbnYiLCJheGlvcyIsImdldCIsInRoZW4iLCJyZXNwb25zZSIsImRhdGEiLCJjYXRjaCIsImVycm9yIiwiY29uc29sZSIsInByZXZlbnREZWZhdWx0Iiwid2luZG93Iiwib3BlbiIsImZvY3VzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7OztBQUVBOzs7Ozs7QUFFQSxJQUFNQSxJQUFJLEdBQUdDLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLCtkQUFWOztBQTJDQSxJQUFNQyxJQUFJLEdBQUdGLDBCQUFPRyxJQUFWO0FBQUE7QUFBQTtBQUFBLDhvQkFBVjs7QUE2REEsSUFBTUMsYUFBYSxHQUFHSiwwQkFBT0MsR0FBVjtBQUFBO0FBQUE7QUFBQSwrY0FBbkI7O0FBdUNPLElBQU1JLGFBQTJDLEdBQUcsU0FBOUNBLGFBQThDLE9BSXJEO0FBQUEsTUFISkMsS0FHSSxRQUhKQSxLQUdJO0FBQUEsTUFGSkMsY0FFSSxRQUZKQSxjQUVJO0FBQUEsTUFESkMsWUFDSSxRQURKQSxZQUNJOztBQUNKLGtCQUF3QixxQkFBaUIsQ0FBakIsQ0FBeEI7QUFBQTtBQUFBLE1BQU9DLElBQVA7QUFBQSxNQUFhQyxPQUFiOztBQUNBLE1BQU1DLEtBQUssR0FBRyxTQUFSQSxLQUFRLEdBQU07QUFDbEIsd0JBQ0UseUVBQ0UsNkJBQUMsc0JBQUQsT0FERixlQUVF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QUQsRUFBTztBQUNkUCxNQUFBQSxZQUFZLENBQUNPLENBQUQsQ0FBWjtBQUNBYyxNQUFBQSxNQUFNLENBQ0hDLElBREgsQ0FFSVosR0FBRyxLQUFLLFlBQVIsR0FDSSx3Q0FESixHQUVJLGdEQUpSLEVBS0ksUUFMSixFQU9HYSxLQVBIO0FBUUF6QixNQUFBQSxLQUFLO0FBQ047QUFaSCxLQWNHTSxjQUFLQyxDQUFMLENBQU8sbUNBQVAsQ0FkSCxDQU5KLENBVkYsQ0FERjtBQXFDRCxDQS9HTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBQb3B1cE1vZGFsIH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvUG9wdXBNb2RhbC9Qb3B1cE1vZGFsJztcbmltcG9ydCBpMThuIGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIERldmljZVN2ZyB9IGZyb20gJy4uL2RldmljZS5zdmcnO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcblxuY29uc3QgU3RlcCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IDE4cHg7XG4gIHBhZGRpbmc6IDAgNzhweDtcblxuICBoMiB7XG4gICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gIH1cblxuICBwIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICBzdmcge1xuICAgIHdpZHRoOiAzZW07XG4gICAgbWFyZ2luOiAzMnB4IDg4cHg7XG4gIH1cblxuICAuZmluYWwtc3RlcCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIHBhZGRpbmc6IDIxcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgLm51bWJlciB7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBtYXJnaW46IDlweCAwO1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgRm9ybSA9IHN0eWxlZC5mb3JtYFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogIzFkMWQxZDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG5cbiAgLnBhc3N3b3JkLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgfVxuXG4gIC5maWVsZCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgICAudGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgW2Rpcj0ncnRsJ10gJiB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5teS1pbnB1dCB7XG4gICAgICBoZWlnaHQ6IDUxcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBib3JkZXI6IHNvbGlkIDFweCAjZWJlYmViO1xuICAgICAgb3V0bGluZS13aWR0aDogMDtcblxuICAgICAgaW5wdXQge1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIHdpZHRoOiAzMDBweDtcbiAgICAgICAgcGFkZGluZzogNXB4IDE1cHg7XG4gICAgICAgIG91dGxpbmUtd2lkdGg6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNhdmUge1xuICAgIGJvcmRlcjogc29saWQgMXB4ICNmNjAwNGY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2MDA0ZjtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDIzcHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgIH1cbiAgfVxuXG4gIC5jYW5jZWwge1xuICAgIGNvbG9yOiAjZjYwMDRmO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxuYDtcblxuY29uc3QgU3RlcE5hdmlnYXRvciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGJ1dHRvbiB7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2Y2MDA0ZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjYwMDRmO1xuICAgIHdpZHRoOiAyMDBweDtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjNweDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgLXdlYmtpdC1hbGlnbi1zZWxmOiBlbmQ7XG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogZW5kO1xuICAgIGFsaWduLXNlbGY6IGVuZDtcbiAgICBtYXJnaW46IDAgMCAyMXB4IDA7XG4gIH1cblxuICBhIHtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjZjYwMDRmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNjAwNGY7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAyM3B4O1xuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luOiAwIDAgMjFweCAwO1xuICB9XG5gO1xuXG5pbnRlcmZhY2UgVGVsZWdyYW1Nb2RhbFByb3BzIHtcbiAgY2xvc2U6ICgpID0+IHZvaWQ7XG4gIGhhbmRsZU9uQ2hhbmdlOiAoZSkgPT4gdm9pZDtcbiAgaGFuZGxlU3VibWl0OiAoZSkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IFRlbGVncmFtTW9kYWw6IFJlYWN0LkZDPFRlbGVncmFtTW9kYWxQcm9wcz4gPSAoe1xuICBjbG9zZSxcbiAgaGFuZGxlT25DaGFuZ2UsXG4gIGhhbmRsZVN1Ym1pdCxcbn0pID0+IHtcbiAgY29uc3QgW3N0ZXAsIHNldFN0ZXBdID0gdXNlU3RhdGU8bnVtYmVyPigxKTtcbiAgY29uc3Qgc3RlcDEgPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxEZXZpY2VTdmcgLz5cbiAgICAgICAgPGgyPntpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLndpemFyZC5jb25uZWN0X3RvX3RlbGVncmFtJyl9PC9oMj5cbiAgICAgICAgPHA+e2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUud2l6YXJkLmZpcnN0Jyl9PC9wPlxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcbiAgY29uc3Qgc3RlcDIgPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxoMj57aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS53aXphcmQuY29ubmVjdF90b190ZWxlZ3JhbScpfTwvaDI+XG4gICAgICAgIDxiciAvPlxuICAgICAgICA8cD57aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS53aXphcmQuc2Vjb25kJyl9PC9wPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpZWxkXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJteS1pbnB1dFwiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIHR5cGU9eyd0ZXh0J31cbiAgICAgICAgICAgICAgbmFtZT17J3RlbGVncmFtX25hbWUnfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHtcbiAgICAgICAgICAgICAgICBoYW5kbGVPbkNoYW5nZShlKTtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcbiAgY29uc3Qgc3RlcDMgPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxoMj57aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS53aXphcmQuY29ubmVjdF90b190ZWxlZ3JhbScpfTwvaDI+XG4gICAgICAgIDxiciAvPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2ZpbmFsLXN0ZXAnfT5cbiAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9eydudW1iZXInfT4xPC9zcGFuPlxuICAgICAgICAgIDxwPntpMThuLnQoJ2Rhc2hib2FyZF92Mi5wcm9maWxlLndpemFyZC50aGlyZF8xJyl9PC9wPlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17J251bWJlcid9PjI8L3NwYW4+XG4gICAgICAgICAgPHA+e2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUud2l6YXJkLnRoaXJkXzInKX08L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICBjb25zdCByZW5kZXJTdGVwcyA9ICgpID0+IHtcbiAgICBpZiAoc3RlcCA9PT0gMSkge1xuICAgICAgcmV0dXJuIHN0ZXAxKCk7XG4gICAgfSBlbHNlIGlmIChzdGVwID09PSAyKSB7XG4gICAgICByZXR1cm4gc3RlcDIoKTtcbiAgICB9IGVsc2UgaWYgKHN0ZXAgPT09IDMpIHtcbiAgICAgIHJldHVybiBzdGVwMygpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9O1xuICBjb25zdCBbZW52LCBzZXRFbnZdID0gdXNlU3RhdGU8c3RyaW5nPignJyk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBheGlvc1xuICAgICAgLmdldCgnL3Blcm1pc3Npb25zJylcbiAgICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICBzZXRFbnYocmVzcG9uc2UuZGF0YS5kYXRhLmVudik7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgIH0pO1xuICB9LCBbXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8UG9wdXBNb2RhbCBzaG93PXt0cnVlfSBzZXRTaG93PXtjbG9zZX0+XG4gICAgICA8Rm9ybVxuICAgICAgICBvblN1Ym1pdD17KGUpID0+IHtcbiAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgY2xvc2UoKTtcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPFN0ZXA+e3JlbmRlclN0ZXBzKCl9PC9TdGVwPlxuICAgICAgPC9Gb3JtPlxuXG4gICAgICA8U3RlcE5hdmlnYXRvcj5cbiAgICAgICAge3N0ZXAgIT09IDMgPyAoXG4gICAgICAgICAgPGJ1dHRvbiBvbkNsaWNrPXsoKSA9PiBzZXRTdGVwKHN0ZXAgKyAxKX0+XG4gICAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIucHJvZmlsZS5jb250aW51ZScpfVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxhXG4gICAgICAgICAgICBvbkNsaWNrPXsoZSkgPT4ge1xuICAgICAgICAgICAgICBoYW5kbGVTdWJtaXQoZSk7XG4gICAgICAgICAgICAgIHdpbmRvd1xuICAgICAgICAgICAgICAgIC5vcGVuKFxuICAgICAgICAgICAgICAgICAgZW52ID09PSAncHJvZHVjdGlvbidcbiAgICAgICAgICAgICAgICAgICAgPyAnaHR0cHM6Ly90ZWxlZ3JhbS5tZS9jbGVhcl91cHN0cmVhbV9ib3QnXG4gICAgICAgICAgICAgICAgICAgIDogJ2h0dHBzOi8vdGVsZWdyYW0ubWUvY2xlYXJfdXBzdHJlYW1fc3RhZ2luZ19ib3QnLFxuICAgICAgICAgICAgICAgICAgJ19ibGFuaycsXG4gICAgICAgICAgICAgICAgKSFcbiAgICAgICAgICAgICAgICAuZm9jdXMoKTtcbiAgICAgICAgICAgICAgY2xvc2UoKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2kxOG4udCgnZGFzaGJvYXJkX3YyLnByb2ZpbGUucmVnaXN0cmF0aW9uJyl9XG4gICAgICAgICAgPC9hPlxuICAgICAgICApfVxuICAgICAgPC9TdGVwTmF2aWdhdG9yPlxuICAgIDwvUG9wdXBNb2RhbD5cbiAgKTtcbn07XG4iXX0=
|