@kando-env/kando-ui 1.2.254-alpha.23 → 1.2.254-alpha.7
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 +40 -43
- package/lib/Widgets/EventsCarousel/EventsCarousel.js +5 -8
- package/lib/Widgets/EventsRow/EventsRow.js +5 -8
- package/lib/Widgets/Map/GraphUtils.js +4 -6
- package/lib/Widgets/Map/Map.js +6 -8
- package/lib/Widgets/Map/MapUtils.js +16 -30
- package/lib/Widgets/Map/areas/AreaPolygon.js +4 -7
- package/lib/Widgets/Map/areas/AreaPolygons.js +4 -7
- package/lib/Widgets/Map/edges/Edge.js +11 -9
- package/lib/Widgets/Map/edges/Edges.js +4 -7
- package/lib/Widgets/Map/edges/arrows/Arrows.js +4 -5
- package/lib/Widgets/Map/events/Event.js +4 -7
- package/lib/Widgets/Map/events/EventIndicator.js +4 -7
- package/lib/Widgets/Map/events/EventPath.js +4 -7
- package/lib/Widgets/Map/events/EventUtils.js +17 -33
- package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +8 -13
- package/lib/Widgets/Map/events/PointOfEvent.js +5 -8
- package/lib/Widgets/Map/events/PointsForSpecificEvent.js +5 -7
- package/lib/Widgets/Map/events/Snail.js +4 -7
- package/lib/Widgets/Map/graphDNDArea/GraphDNDArea.js +5 -9
- package/lib/Widgets/Map/map/FloatingGraph.js +3 -4
- package/lib/Widgets/Map/map/GraphDateButton.js +3 -4
- package/lib/Widgets/Map/matchGraph/MatchGraph.js +2 -3
- package/lib/Widgets/Map/matchGraph/createFloatingGraph.js +3 -4
- package/lib/Widgets/Map/points/PointIcon.js +4 -6
- package/lib/Widgets/Map/points/PointMarker.js +3 -6
- package/lib/Widgets/Map/points/PointMarkers.js +4 -7
- package/lib/Widgets/Map/points/PointUtils.js +23 -44
- package/lib/Widgets/MostPolluting/Areas/AreaBox/AreaBox.js +8 -11
- package/lib/Widgets/MostPolluting/Areas/AreaBox/Map/Map.js +4 -7
- package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +4 -7
- package/lib/Widgets/MostPolluting/Areas/AreaBox/styles.js +4 -6
- package/lib/Widgets/MostPolluting/Areas/Areas.js +4 -7
- package/lib/Widgets/MostPolluting/Areas/areas.mock.js +2 -3
- package/lib/Widgets/MostPolluting/Areas/areasResponse.interface.js +1 -1
- package/lib/Widgets/MostPolluting/Areas/styles.js +4 -6
- package/lib/Widgets/MostPolluting/EmptyState/EmptyState.js +3 -4
- package/lib/Widgets/MostPolluting/Factories/Factories.js +4 -7
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/FactoryBox.js +3 -4
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +3 -4
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/PollutionScore.js +4 -6
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/styles.js +4 -6
- package/lib/Widgets/MostPolluting/Factories/factories.mock.js +2 -3
- package/lib/Widgets/MostPolluting/Factories/styles.js +4 -6
- package/lib/Widgets/MostPolluting/MostPolluting.js +19 -13
- package/lib/Widgets/MostPolluting/MostPolluting.stories.js +7 -12
- package/lib/Widgets/MostPolluting/ShowMore/ShowMore.js +3 -4
- package/lib/Widgets/MostPolluting/ShowMore/styles.js +3 -4
- package/lib/Widgets/MostPolluting/assets/index.js +1 -1
- package/lib/Widgets/MostPolluting/components/ChangePercent.js +3 -4
- package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +1 -1
- package/lib/Widgets/MostPolluting/components/PollutionScorePercent.js +3 -4
- package/lib/Widgets/MostPolluting/components/PollutionScorePercent.test.js +1 -1
- package/lib/Widgets/MostPolluting/components/PotentialImpact.js +3 -4
- package/lib/Widgets/MostPolluting/components/PotentialImpact.test.js +1 -1
- package/lib/Widgets/MostPolluting/styles.js +4 -6
- package/lib/Widgets/PotentialImpactSummary/Back/Back.js +3 -4
- package/lib/Widgets/PotentialImpactSummary/Icon.js +3 -4
- package/lib/Widgets/PotentialImpactSummary/index.js +4 -5
- package/lib/Widgets/PotentialImpactSummary/index.test.js +1 -1
- package/lib/Widgets/PotentialImpactSummary/styles.js +7 -12
- package/lib/Widgets/QualitySummary/PieChart/LegendMenu/LegendMenu.js +3 -4
- package/lib/Widgets/QualitySummary/PieChart/PieChart.js +3 -4
- package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +1 -1
- package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +3 -4
- package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +3 -5
- package/lib/Widgets/QualitySummary/QualitySummary.js +3 -4
- package/lib/Widgets/QualitySummary/qualitySummary.mock.js +4 -7
- package/lib/Widgets/QualitySummary/styles.js +7 -12
- package/lib/Widgets/UtilityInformation/MapModal/MapModal.js +4 -7
- package/lib/Widgets/UtilityInformation/PopupWithMap/Map/Map.js +4 -7
- package/lib/Widgets/UtilityInformation/PopupWithMap/PopupWithMap.js +3 -4
- package/lib/Widgets/UtilityInformation/UtilityInformation.js +14 -23
- package/lib/Widgets/UtilityInformation/styles.js +9 -17
- package/lib/Widgets/UtilityInformation/utilityInformation.mock.js +3 -5
- package/lib/components/ApplyButton/ApplyButton.js +3 -4
- package/lib/components/ApplyButton/index.js +3 -4
- package/lib/components/Backdrop/Backdrop.js +3 -4
- package/lib/components/ContentLoader/ContentLoader.js +3 -4
- package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.js +4 -6
- package/lib/components/CustomInputs/DoubleTabs/DoubleTabs.stories.js +4 -6
- package/lib/components/CustomInputs/DoubleTabs/styles.js +5 -8
- package/lib/components/CustomInputs/PasswordInput/PasswordInput.js +4 -7
- package/lib/components/CustomInputs/PrimaryButton/PrimaryButton.js +3 -4
- package/lib/components/CustomInputs/Search/Search.js +4 -7
- package/lib/components/CustomInputs/Search/index.js +3 -4
- package/lib/components/CustomInputs/Select/Select.js +4 -7
- package/lib/components/CustomInputs/Select/Select.stories.js +4 -6
- package/lib/components/DamageType/DamageType.js +4 -7
- package/lib/components/DamageType/index.js +3 -4
- package/lib/components/DataLoaderError/DataLoaderError.js +3 -4
- package/lib/components/DischargeHeatmap/DischargeHeatmap.js +3 -4
- package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +1 -1
- package/lib/components/DischargeHeatmap/DischargeHeatmapContainer.js +4 -7
- package/lib/components/DischargeHeatmap/HighchartsOptions.js +3 -4
- package/lib/components/DischargeHeatmap/index.js +3 -4
- package/lib/components/DischargeHeatmap/mocks/handlers.js +2 -3
- package/lib/components/DischargeHeatmap/popupText.js +3 -4
- package/lib/components/DischargeHeatmap/titles.js +4 -6
- package/lib/components/ErrorBoundary.js +3 -4
- package/lib/components/Events/Events.js +4 -7
- package/lib/components/Events/index.js +3 -4
- package/lib/components/Graph/Graph.js +6 -9
- package/lib/components/Graph/index.js +3 -4
- package/lib/components/Header/Breadcrumbs/Breadcrumbs.js +3 -4
- package/lib/components/Header/Breadcrumbs/index.js +3 -4
- package/lib/components/Header/DoubleTabs/DoubleTabs.js +5 -9
- package/lib/components/Header/DoubleTabs/DoubleTabs.stories.js +4 -6
- package/lib/components/Header/DoubleTabs/styles.js +5 -8
- package/lib/components/Header/Header.js +3 -4
- package/lib/components/Header/Header.stories.js +4 -6
- package/lib/components/Header/InfoBar/Breadcrumbs/Breadcrumbs.js +10 -5
- package/lib/components/Header/InfoBar/InfoBar.js +4 -7
- package/lib/components/Header/InfoBar/Search/Control.js +3 -4
- package/lib/components/Header/InfoBar/Search/GroupLabel.js +3 -4
- package/lib/components/Header/InfoBar/Search/Search.js +4 -7
- package/lib/components/Header/InfoBar/Search/SearchContainer.js +4 -7
- package/lib/components/Header/InfoBar/Search/index.js +3 -4
- package/lib/components/Header/InfoBar/Search/searchStyle.js +3 -4
- package/lib/components/Header/KandoNavbar/KandoNavbar.js +4 -7
- package/lib/components/Header/KandoNavbar/index.js +3 -4
- package/lib/components/Header/Slideshow/Slideshow.js +8 -11
- package/lib/components/Header/Slideshow/index.js +3 -4
- package/lib/components/Header/Toolbar/ClientImg/ClientImg.js +3 -4
- package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +3 -4
- package/lib/components/Header/Toolbar/MenuCreator/MenuCreator.js +3 -4
- package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +3 -4
- package/lib/components/Header/Toolbar/Toolbar.js +5 -8
- package/lib/components/InfoBar/InfoBar.js +4 -7
- package/lib/components/InfoBar/InfoBar.stories.js +4 -6
- package/lib/components/KandoModal/KandoModal.js +4 -7
- package/lib/components/KandoModal/index.js +3 -4
- package/lib/components/Link.js +3 -4
- package/lib/components/Links/CustomRedirect/CustomRedirect.js +3 -4
- package/lib/components/Links/StyledLink/StyledLink.js +4 -6
- package/lib/components/Links/StyledNavLink/StyledNavLink.js +3 -4
- package/lib/components/LiveEvents/CarouselSlide.js +3 -4
- package/lib/components/LiveEvents/LiveEvents.js +3 -4
- package/lib/components/LiveEvents/index.js +3 -4
- package/lib/components/LoaderByPercent/LoaderByPercent.js +4 -6
- package/lib/components/Map/Map.js +4 -7
- package/lib/components/Map/index.js +3 -4
- package/lib/components/Modal/Modal.js +3 -4
- package/lib/components/NarrowHeader.js +3 -4
- package/lib/components/PointInfo/PointInfo.js +3 -4
- package/lib/components/PointInfo/index.js +3 -4
- package/lib/components/PopupModal/PopupModal.js +3 -4
- package/lib/components/PopupModal/PopupModal.stories.js +5 -8
- package/lib/components/Sector/Sector.js +3 -4
- package/lib/components/Sector/Sector.test.js +1 -1
- package/lib/components/Sector/index.js +3 -4
- package/lib/components/Sector/sectorIcons.js +3 -4
- package/lib/components/SevereEvent/Eta/Eta.js +4 -7
- package/lib/components/SevereEvent/Eta/styles.js +3 -4
- package/lib/components/SevereEvent/SevereEvent.js +4 -7
- package/lib/components/Spinner/Spinner.js +3 -4
- package/lib/components/Spinner/Spinner.stories.js +5 -8
- package/lib/components/Spinner/index.js +3 -4
- package/lib/components/Spinner/styles.js +5 -8
- package/lib/components/Tabs/Tabs.js +6 -10
- package/lib/components/Tabs/Tabs.stories.js +4 -6
- package/lib/components/TimeRangeSelector/KandoRangePicker/ComparisonSelect.js +4 -7
- package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePicker.js +4 -7
- package/lib/components/TimeRangeSelector/KandoRangePicker/KandoRangePickerContainer.js +4 -7
- package/lib/components/TimeRangeSelector/KandoRangePicker/index.js +3 -4
- package/lib/components/TimeRangeSelector/TimeRangeHelper.js +6 -10
- package/lib/components/TimeRangeSelector/TimeRangeItem/TimeRangeItem.js +3 -4
- package/lib/components/TimeRangeSelector/TimeRangeItem/index.js +3 -4
- package/lib/components/TimeRangeSelector/TimeRangeList.js +4 -7
- package/lib/components/TimeRangeSelector/TimeRangeOptions.js +4 -7
- package/lib/components/TimeRangeSelector/TimeRangeSelector.js +5 -9
- package/lib/components/TimeRangeSelector/TimeRangeSelector.stories.js +4 -6
- package/lib/components/TimeRangeSelector/constants.js +3 -5
- package/lib/components/TimeRangeSelector/index.js +3 -4
- package/lib/components/Toggle/Toggle.js +4 -7
- package/lib/components/Toggle/index.js +3 -4
- package/lib/components/TrendGraph/TrendGraph.js +5 -8
- package/lib/components/TrendGraph/index.js +3 -4
- package/lib/components/TrendGraphNVL/TrendGraphNVL.js +4 -7
- package/lib/components/TrendGraphNVL/index.js +3 -4
- package/lib/development-environment/index.js +3 -4
- package/lib/development-environment/mock/browser.js +3 -4
- package/lib/development-environment/mock/get.js +2 -3
- package/lib/development-environment/mock/handlers.js +2 -3
- package/lib/development-environment/mock/mockBus.js +3 -5
- package/lib/development-environment/mock/mockObjects/area-trends-graph.js +2 -3
- package/lib/development-environment/mock/mockObjects/areaInformation.js +2 -3
- package/lib/development-environment/mock/mockObjects/areaQualitySummary.js +2 -3
- package/lib/development-environment/mock/mockObjects/areaSitesData.js +2 -3
- package/lib/development-environment/mock/mockObjects/areasJson.js +2 -3
- package/lib/development-environment/mock/mockObjects/controlRoomNetworkEdges.js +2 -3
- package/lib/development-environment/mock/mockObjects/covidView-areasData-24.js +2 -3
- package/lib/development-environment/mock/mockObjects/data-menuData.js +2 -3
- package/lib/development-environment/mock/mockObjects/data-search.js +2 -3
- package/lib/development-environment/mock/mockObjects/discharge_effluent_quality.js +2 -3
- package/lib/development-environment/mock/mockObjects/discharge_pattern_overtime.js +2 -3
- package/lib/development-environment/mock/mockObjects/eventFiltersJson.js +2 -3
- package/lib/development-environment/mock/mockObjects/eventsJson.js +2 -3
- package/lib/development-environment/mock/mockObjects/metascore.js +2 -3
- package/lib/development-environment/mock/mockObjects/permissionsJson.js +2 -3
- package/lib/development-environment/mock/mockObjects/pointsJson.js +2 -3
- package/lib/development-environment/mock/mockObjects/site-info.js +2 -3
- package/lib/development-environment/mock/mockObjects/trend-graph-component-data-907.js +2 -3
- package/lib/development-environment/togly/ToglyDashboard.js +4 -7
- package/lib/development-environment/togly/ToglyItem.js +4 -7
- package/lib/development-environment/togly/init.js +1 -1
- package/lib/development-environment/togly/useDoubleKeyDown.js +2 -3
- package/lib/development-environment/togly/useLocalStorage.js +3 -4
- package/lib/hooks/useApi.js +30 -33
- package/lib/hooks/useApiWithDashboardQuery.js +4 -6
- package/lib/hooks/useClickOutside.js +2 -3
- package/lib/hooks/useInitializeHeaders.js +4 -6
- package/lib/hooks/useKandoFetch.js +3 -4
- package/lib/hooks/useMap.js +5 -6
- package/lib/hooks/useNavContext.js +3 -4
- package/lib/hooks/useQueryURL.js +2 -3
- package/lib/hooks/useRemoveExistingLayers.js +2 -3
- package/lib/hooks/useUpdateEventBodyTail.js +2 -3
- package/lib/hooks/useUserTimeZone.js +3 -5
- package/lib/hooks/useUserTimeZone.test.js +3 -5
- package/lib/hooks/useWindowSize.js +1 -1
- package/lib/i18n/en.json +9 -0
- package/lib/i18n/he.json +3 -0
- package/lib/index.js +4 -7
- package/lib/macros/getVersion.js +2 -2
- package/lib/pages/AreaPage/AreaPage.js +36 -37
- package/lib/pages/AreaPage/Dashboard/AreaMapContainer/AreaMapContainer.js +3 -6
- package/lib/pages/AreaPage/Dashboard/Dashboard.js +4 -7
- package/lib/pages/AreaPage/Dashboard/LineChart/LineChart.js +4 -7
- package/lib/pages/AreaPage/Dashboard/LineChart/options/options.js +3 -4
- package/lib/pages/AreaPage/Dashboard/Sites/Sites.js +4 -7
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/PieChart/PieChart.js +3 -4
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/SiteBox.js +3 -4
- package/lib/pages/AreaPage/Dashboard/Sites/SitesBox/styles.js +4 -6
- package/lib/pages/AreaPage/Dashboard/Sites/factories.mock.js +2 -3
- package/lib/pages/AreaPage/Dashboard/Sites/styles.js +5 -8
- package/lib/pages/AssessmentPage/AssessmentPage.js +4 -7
- package/lib/pages/CannyWidget/Feedback.js +4 -7
- package/lib/pages/CovidPage/CovidPage.js +4 -7
- package/lib/pages/CovidPage/components/Body.js +4 -7
- package/lib/pages/CovidPage/components/Map.js +4 -7
- package/lib/pages/CovidPage/components/Sidebar.js +4 -7
- package/lib/pages/CovidPage/components/Summary.js +4 -7
- package/lib/pages/CovidPage/components/TrendGraphNVL/TrendGraphNVL.js +4 -7
- package/lib/pages/CovidPage/components/TrendGraphNVL/index.js +3 -4
- package/lib/pages/CovidPage/components/TrendPopupContent/TrendPopupContent.js +7 -8
- package/lib/pages/CovidPage/components/TrendPopupContent/index.js +3 -4
- package/lib/pages/CovidPage/components/areas/Area.js +4 -7
- package/lib/pages/CovidPage/components/areas/AreaPolygonWBE.js +4 -7
- package/lib/pages/CovidPage/components/areas/AreaPolygonsWBE.js +4 -7
- package/lib/pages/CovidPage/components/areas/AreasList.js +4 -7
- package/lib/pages/CovidPage/components/areas/Sort.js +4 -7
- package/lib/pages/CovidPage/components/nvlStatusHelper.js +5 -9
- package/lib/pages/EventsPage/Body/Body.js +4 -7
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropContainer.js +3 -5
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropUtils.js +6 -10
- package/lib/pages/EventsPage/DragAndDropArea/DragAndDropWrapper.js +3 -4
- package/lib/pages/EventsPage/DragAndDropArea/DraggableItem.js +3 -4
- package/lib/pages/EventsPage/DragAndDropArea/DraggableList.js +1 -1
- package/lib/pages/EventsPage/DragAndDropArea/index.js +3 -4
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +4 -7
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainerHelpers.js +6 -10
- package/lib/pages/EventsPage/EventsPage.js +4 -7
- package/lib/pages/EventsPage/FloatingGraph/FloatingGraph.js +5 -8
- package/lib/pages/EventsPage/events/EventsStyle.scss +1 -0
- package/lib/pages/EventsPage/events/MoreInfo.js +4 -7
- package/lib/pages/EventsPage/events/Sidebar.js +4 -7
- package/lib/pages/EventsPage/events/event_info/EarlyWarnings.js +4 -7
- package/lib/pages/EventsPage/events/event_info/EventDetails.js +3 -4
- package/lib/pages/EventsPage/events/event_info/EventInfo.js +6 -8
- package/lib/pages/EventsPage/events/event_info/EventPath/EventPath.js +3 -4
- package/lib/pages/EventsPage/events/event_info/EventTimeRange.js +4 -7
- package/lib/pages/EventsPage/events/event_info/HistoricalInformation.js +3 -4
- package/lib/pages/EventsPage/events/event_info/MiniEventTree.js +4 -7
- package/lib/pages/EventsPage/events/event_info/MobileEventPath.js +3 -4
- package/lib/pages/EventsPage/events/event_info/MockHistoryInformation/LineChartYear/LineChartYear.js +4 -7
- package/lib/pages/EventsPage/events/event_info/MockHistoryInformation/MockHistoryInformation.js +3 -4
- package/lib/pages/EventsPage/events/event_info/PollutionDischarge.js +4 -7
- package/lib/pages/EventsPage/events/event_info/charts/EventDetailsLineChart.js +4 -7
- package/lib/pages/EventsPage/events/event_info/charts/EventDetailsPieChart.js +4 -7
- package/lib/pages/EventsPage/events/event_info/damage_type/DamageType.js +4 -7
- package/lib/pages/EventsPage/events/event_info/samplings/Sampling.js +3 -4
- package/lib/pages/EventsPage/events/event_info/samplings/Samplings.js +3 -4
- package/lib/pages/EventsPage/events/event_info/sources/Source.js +3 -4
- package/lib/pages/EventsPage/events/event_info/sources/Sources.js +4 -7
- package/lib/pages/EventsPage/events/events_list/EventItem.js +4 -7
- package/lib/pages/EventsPage/events/events_list/EventUtils.js +5 -8
- package/lib/pages/EventsPage/events/events_list/EventsList.js +7 -31
- package/lib/pages/EventsPage/events/events_list/Filter/Filter.js +4 -7
- package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +5 -8
- package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +4 -7
- package/lib/pages/EventsPage/events/events_list/Filter/FiltersDropDown.js +4 -7
- package/lib/pages/EventsPage/events/events_list/Filter/OptionsDropDown.js +4 -7
- package/lib/pages/EventsPage/events/events_list/Sort.js +4 -7
- package/lib/pages/ImportFileWizard/FileUploadRespones.js +3 -4
- package/lib/pages/ImportFileWizard/ImportButtomButtons.js +4 -5
- package/lib/pages/ImportFileWizard/ImportFile.js +4 -7
- package/lib/pages/ImportFileWizard/ResponseBody.js +3 -4
- package/lib/pages/ImportFileWizard/ValidationForm.js +3 -4
- package/lib/pages/ImportFileWizard/ValidationResponse.js +5 -8
- package/lib/pages/ImportFileWizard/importFileUtils.js +4 -5
- package/lib/pages/ImportFileWizard/index.js +3 -4
- package/lib/pages/ImportGisPage/ImportGisContainer.js +5 -9
- package/lib/pages/ImportGisPage/ImportedGisFilesPage.js +3 -4
- package/lib/pages/ImportGisPage/importGisUtils.js +6 -8
- package/lib/pages/ImportGisProcess/index.js +3 -4
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/MultiChoiceTabs.js +4 -7
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/RadioTabs.js +3 -4
- package/lib/pages/NotificationsPage/EditNotificationModal/Buttons/SeverityButtons.js +3 -4
- package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.js +4 -7
- package/lib/pages/NotificationsPage/EditNotificationModal/EditNotificationModal.stories.js +4 -6
- package/lib/pages/NotificationsPage/Notification/Notification.js +3 -4
- package/lib/pages/NotificationsPage/Notifications.mock.js +2 -3
- package/lib/pages/NotificationsPage/Notifications.stories.js +4 -6
- package/lib/pages/NotificationsPage/NotificationsPage.js +5 -8
- package/lib/pages/NotificationsPageV2/NotificationsPage.js +5 -9
- package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +3 -4
- package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +4 -7
- package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +4 -7
- package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +17 -32
- package/lib/pages/NotificationsPageV2/notificationUtils.js +9 -16
- package/lib/pages/OldSitePage/IDashboardData.js +1 -1
- package/lib/pages/OldSitePage/OldSitePage.js +51 -58
- package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.js +6 -10
- package/lib/pages/OldSitePage/SamplingParameters/NoResults/NoResults.stories.js +4 -6
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +3 -4
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +3 -4
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +6 -10
- package/lib/pages/OldSitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +4 -7
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +4 -6
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +4 -6
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +6 -10
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +4 -7
- package/lib/pages/OldSitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +3 -4
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.js +4 -7
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.mock.js +4 -7
- package/lib/pages/OldSitePage/SamplingParameters/SamplingParameters.stories.js +7 -12
- package/lib/pages/OldSitePage/SamplingParameters/charts/ParametersChart.js +4 -7
- package/lib/pages/OldSitePage/SamplingParameters/charts/SamplingChart.js +4 -7
- package/lib/pages/OldSitePage/SamplingParameters/charts/options/options.js +4 -6
- package/lib/pages/OldSitePage/SamplingParameters/dataParser.js +4 -5
- package/lib/pages/OldSitePage/SamplingParameters/styles/samplingParameters.js +5 -8
- package/lib/pages/OldSitePage/SamplingParameters/styles/styles.js +4 -6
- package/lib/pages/ProfilePage/Container.js +3 -4
- package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +4 -7
- package/lib/pages/ProfilePage/ProfilePage.js +4 -7
- package/lib/pages/ProfilePage/TelegramModal/TelegramModal.js +4 -7
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +5 -8
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +3 -5
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +71 -76
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +4 -7
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +3 -4
- package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +5 -8
- package/lib/pages/SamplingsPage/DesktopActions/DesktopActions.js +3 -4
- package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +3 -4
- package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +3 -4
- package/lib/pages/SamplingsPage/DesktopActions/index.js +3 -4
- package/lib/pages/SamplingsPage/NavigationDropdown.js +4 -6
- package/lib/pages/SamplingsPage/NewSamplingAction.js +21 -26
- package/lib/pages/SamplingsPage/SamplingMobileModal.js +3 -4
- package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +3 -4
- package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +4 -5
- package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +4 -7
- package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +4 -7
- package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +3 -4
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +85 -92
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +4 -7
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +4 -7
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +4 -7
- package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +12 -23
- package/lib/pages/SamplingsPage/SamplingProperties/styles.js +4 -6
- package/lib/pages/SamplingsPage/SamplingSiteTableCell.js +3 -4
- package/lib/pages/SamplingsPage/SamplingsMobileItem.js +4 -7
- package/lib/pages/SamplingsPage/SamplingsMobileList.js +4 -7
- package/lib/pages/SamplingsPage/SamplingsPage.js +5 -9
- package/lib/pages/SamplingsPage/SamplingsPageContainer.js +4 -7
- package/lib/pages/SamplingsPage/index.js +2 -3
- package/lib/pages/SamplingsPage/samplingsPageUtils.js +21 -40
- package/lib/pages/SitePage/DischargePattern/DischargePattern.js +3 -4
- package/lib/pages/SitePage/SamplingParameters/NoResults/NoResults.stories.js +4 -6
- package/lib/pages/SitePage/SamplingParameters/NoResults/index.js +6 -10
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.js +3 -4
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParameterButton/ParameterButton.test.js +1 -1
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.js +3 -4
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/ParametersButtons.test.js +1 -1
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersButtons/styles.js +6 -10
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +4 -7
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.js +4 -6
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/ExceptionBar.stories.js +4 -6
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExceptionBar/styles.js +6 -10
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/ExpandableSamplingTable/ExpandableSamplingTable.js +4 -7
- package/lib/pages/SitePage/SamplingParameters/SamplingContainer/SamplingContainer.js +3 -4
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.js +4 -7
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.mock.js +5 -9
- package/lib/pages/SitePage/SamplingParameters/SamplingParameters.stories.js +7 -12
- package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +4 -7
- package/lib/pages/SitePage/SamplingParameters/charts/SamplingChart.js +4 -7
- package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +4 -6
- package/lib/pages/SitePage/SamplingParameters/dataParser.js +4 -5
- package/lib/pages/SitePage/SamplingParameters/styles/samplingParameters.js +5 -8
- package/lib/pages/SitePage/SamplingParameters/styles/styles.js +4 -6
- package/lib/pages/SitePage/SiteInformation/ContributorItem.js +3 -4
- package/lib/pages/SitePage/SiteInformation/EmptyState.js +3 -4
- package/lib/pages/SitePage/SiteInformation/PollutionContributor.js +3 -4
- package/lib/pages/SitePage/SiteInformation/SiteInformation.js +9 -12
- package/lib/pages/SitePage/SiteInformation/style.js +4 -6
- package/lib/pages/SitePage/SitePage.js +31 -38
- package/lib/pages/UploadLabResult/index.js +3 -4
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +14 -29
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.stories.js +5 -8
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.js +7 -12
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/NoEvents/NoEvents.stories.js +4 -6
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/Eta.js +4 -7
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/Eta/styles.js +3 -4
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/LinkedSevereEvent.js +3 -4
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/OptionalLinkedSevereEvent.js +3 -4
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/SevereEvent/SevereEvent.js +3 -4
- package/lib/pages/UtilityDashboardPage/TopBar/TopBar.js +24 -8
- package/lib/pages/UtilityDashboardPage/TopBar/constants.js +16 -0
- package/lib/pages/UtilityDashboardPage/TopBar/styles.js +3 -4
- package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +18 -13
- package/lib/pages/UtilityDashboardPage/UtilityDashboard.stories.js +7 -12
- package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +3 -6
- package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +4 -7
- package/lib/pages/UtilityDashboardPage/VirtualAreaDashboardPage.js +64 -0
- package/lib/pages/WbeDashboard/ExpandableComponent.js +4 -7
- package/lib/pages/WbeDashboard/GraphWrapper.js +4 -7
- package/lib/pages/WbeDashboard/IndividualTinyGraph.js +4 -7
- package/lib/pages/WbeDashboard/SearchInput.js +4 -7
- package/lib/pages/WbeDashboard/SummaryGraph.js +23 -28
- package/lib/pages/WbeDashboard/SummaryGraphModal.js +3 -4
- package/lib/pages/WbeDashboard/Tabs.js +3 -4
- package/lib/pages/WbeDashboard/WbeDashboardPage.js +18 -16
- package/lib/pages/WbeDashboard/WbeSummaryBar.js +4 -7
- package/lib/providers/Slideshow/SlideshowContext.js +4 -7
- package/lib/providers/Slideshow/SlideshowProvider.js +4 -7
- package/lib/providers/Slideshow/SlideshowRunner.js +2 -3
- package/lib/providers/UrlHistory/UrlHistoryContext.js +5 -8
- package/lib/providers/UrlHistory/UrlHistoryProvider.js +3 -6
- package/lib/providers/UrlHistory/index.js +1 -1
- package/lib/providers/UrlHistory/useLastVisited.js +2 -3
- package/lib/store/ImportGis/actionTypes.js +4 -5
- package/lib/store/ImportGis/reducer.js +3 -3
- package/lib/store/WBE/actionTypes.js +2 -3
- package/lib/store/WBE/models/IWBE.js +1 -1
- package/lib/store/WBE/reducer.js +1 -1
- package/lib/store/areas/actionTypes.js +4 -7
- package/lib/store/areas/actions.js +1 -1
- package/lib/store/context/actionTypes.js +3 -5
- package/lib/store/context/contextMiddlewares.js +2 -3
- package/lib/store/context/reducer.js +1 -1
- package/lib/store/dashboard/dashboardSlice.js +3 -5
- package/lib/store/edges/actionTypes.js +5 -9
- package/lib/store/edges/reducer.js +1 -1
- package/lib/store/events/actionTypes.js +17 -33
- package/lib/store/events/models/IEvent.js +1 -1
- package/lib/store/events/reducer.js +1 -1
- package/lib/store/global/actionTypes.js +11 -21
- package/lib/store/global/actions.js +5 -3
- package/lib/store/global/reducer.js +1 -1
- package/lib/store/permissions/permissionsSlice.js +2 -5
- package/lib/store/points/actionTypes.js +3 -5
- package/lib/store/rootActionTypes.js +2 -3
- package/lib/store/rootReducer.js +3 -4
- package/lib/store/rootStore.js +1 -1
- package/lib/store/samplings/actionTypes.js +4 -5
- package/lib/store/samplings/reducer.js +1 -1
- package/lib/styles/StylesLayout.js +3 -4
- package/lib/styles/theme/theme.js +4 -7
- package/lib/test/mocks/browser.js +3 -4
- package/lib/test/test-utils.js +1 -1
- package/lib/ui-kit/Button/Button.js +5 -8
- package/lib/ui-kit/Button/Button.test.js +3 -5
- package/lib/ui-kit/Checkbox/Checkbox.js +4 -6
- package/lib/ui-kit/DropDown/DropDown.js +3 -4
- package/lib/ui-kit/DropDown/DropDown.test.js +1 -1
- package/lib/ui-kit/DropDown/DropDownItem.js +4 -6
- package/lib/ui-kit/DropDown/DropdownToggle.js +4 -6
- package/lib/ui-kit/IconAction/IconAction.js +3 -4
- package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +5 -8
- package/lib/ui-kit/InfoTooltip/InfoTooltip.js +3 -4
- package/lib/ui-kit/KandoList/KandoList.js +3 -6
- package/lib/ui-kit/KandoTable/KandoTable.js +7 -10
- package/lib/ui-kit/KandoTable/KandoTable.test.js +1 -1
- package/lib/ui-kit/Layout/Layout.js +3 -4
- package/lib/ui-kit/MobileInput/MobileInput.js +3 -4
- package/lib/ui-kit/ModalConfirmation/ModalConfirmation.js +3 -4
- package/lib/ui-kit/ModalConfirmation/index.js +2 -3
- package/lib/ui-kit/RadioButtons/RadioButtonGroup.js +3 -4
- package/lib/ui-kit/SamplingStatus/SamplingStatus.js +3 -4
- package/lib/ui-kit/SamplingStatus/SamplingStatusHelper.js +3 -5
- package/lib/ui-kit/TitleAndCloseHeader/TitleAndCloseHeader.js +4 -6
- package/lib/ui-kit/Tooltip/Tooltip.js +3 -4
- package/lib/ui-kit/kandoStepper/KandoStepper.js +3 -4
- package/lib/utilities/Alert.js +3 -4
- package/lib/utilities/Analytics.js +3 -4
- package/lib/utilities/Array.js +3 -5
- package/lib/utilities/Enum.js +23 -26
- package/lib/utilities/ErrorBoundary.js +3 -4
- package/lib/utilities/File.js +42 -49
- package/lib/utilities/GetDir.js +3 -4
- package/lib/utilities/KandoDate.js +3 -4
- package/lib/utilities/KandoModal.js +4 -7
- package/lib/utilities/LocalStorage.js +5 -9
- package/lib/utilities/ThousandsToK.js +2 -3
- package/lib/utilities/TimeFormat.js +4 -7
- package/lib/utilities/Truncate.js +4 -7
- package/lib/utilities/edgesMath.js +7 -8
- package/lib/utilities/i18n.js +3 -4
- package/lib/utilities/kql.js +3 -5
- package/lib/utilities/map/icons.js +3 -4
- package/lib/utilities/polylinedecorator.js +4 -6
- package/lib/utilities/scoreToColor.js +2 -3
- package/lib/utilities/time.js +5 -8
- package/lib/utilities/uploadToS3.js +3 -4
- package/lib/utilities/urls.js +31 -8
- package/package.json +2 -1
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
8
|
exports.SummaryGraph = void 0;
|
|
9
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
10
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
|
|
10
|
+
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/regeneratorRuntime"));
|
|
11
11
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
|
|
12
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
13
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
@@ -16,9 +16,7 @@ var _highcharts = _interopRequireDefault(require("highcharts"));
|
|
|
16
16
|
var _highchartsReactOfficial = _interopRequireDefault(require("highcharts-react-official"));
|
|
17
17
|
var _theme = require("../../styles/theme/theme");
|
|
18
18
|
var _urls = require("../../utilities/urls");
|
|
19
|
-
|
|
20
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
21
|
-
var SummaryGraph = function SummaryGraph(props) {
|
|
19
|
+
var SummaryGraph = exports.SummaryGraph = function SummaryGraph(props) {
|
|
22
20
|
var waterAuthorityId = props.waterAuthorityId,
|
|
23
21
|
weeksForGovFetch = props.weeksForGovFetch,
|
|
24
22
|
pathogen = props.pathogen,
|
|
@@ -77,27 +75,25 @@ var SummaryGraph = function SummaryGraph(props) {
|
|
|
77
75
|
var fetchAndSetClinicalData = function fetchAndSetClinicalData() {
|
|
78
76
|
var results = {};
|
|
79
77
|
weeksForGovFetch.weeks.forEach( /*#__PURE__*/function () {
|
|
80
|
-
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/
|
|
81
|
-
return
|
|
82
|
-
while (1) {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
results[record.Week] = Math.round(Math.log10(aggregateRecordData(record)) * 10) / 10;
|
|
93
|
-
});
|
|
94
|
-
}).then(function () {
|
|
95
|
-
setClinicalResults(results);
|
|
78
|
+
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(week) {
|
|
79
|
+
return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
|
|
80
|
+
while (1) switch (_context.prev = _context.next) {
|
|
81
|
+
case 0:
|
|
82
|
+
results[week] = {};
|
|
83
|
+
_context.next = 3;
|
|
84
|
+
return _axios.default.get((0, _urls.urls)({
|
|
85
|
+
week: week
|
|
86
|
+
}).wbeDashboard.govData.url).then(function (response) {
|
|
87
|
+
var records = response.data.result.records;
|
|
88
|
+
records.forEach(function (record) {
|
|
89
|
+
results[record.Week] = Math.round(Math.log10(aggregateRecordData(record)) * 10) / 10;
|
|
96
90
|
});
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
91
|
+
}).then(function () {
|
|
92
|
+
setClinicalResults(results);
|
|
93
|
+
});
|
|
94
|
+
case 3:
|
|
95
|
+
case "end":
|
|
96
|
+
return _context.stop();
|
|
101
97
|
}
|
|
102
98
|
}, _callee);
|
|
103
99
|
}));
|
|
@@ -182,5 +178,4 @@ var SummaryGraph = function SummaryGraph(props) {
|
|
|
182
178
|
options: options
|
|
183
179
|
}) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
|
|
184
180
|
};
|
|
185
|
-
exports.SummaryGraph = SummaryGraph;
|
|
186
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfYXhpb3MiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2hpZ2hjaGFydHMiLCJfaGlnaGNoYXJ0c1JlYWN0T2ZmaWNpYWwiLCJfdGhlbWUiLCJfdXJscyIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiU3VtbWFyeUdyYXBoIiwicHJvcHMiLCJ3YXRlckF1dGhvcml0eUlkIiwid2Vla3NGb3JHb3ZGZXRjaCIsInBhdGhvZ2VuIiwiX3Byb3BzJG1pbmkiLCJtaW5pIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJ2YWx1ZXMiLCJ4X2F4aXMiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwiZ3JhcGhEYXRhIiwic2V0R3JhcGhEYXRhIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJjbGluaWNhbERhdGEiLCJzZXRDbGluaWNhbERhdGEiLCJpc0RhdGFQcmVzZW50IiwidW5kZWZpbmVkIiwibGVuZ3RoIiwiZmV0Y2hBbmRTZXREYXRhIiwiZmV0Y2hDbGluaWNhbCIsImFyZ3VtZW50cyIsImF4aW9zIiwidXJscyIsIndiZURhc2hib2FyZCIsInRyZW5kR3JhcGgiLCJ1cmwiLCJ0aGVuIiwicmVzcG9uc2UiLCJkYXRhIiwiZmV0Y2hBbmRTZXRDbGluaWNhbERhdGEiLCJzZXRDbGluaWNhbFJlc3VsdHMiLCJyZXN1bHRzIiwia2V5cyIsInZhbHVlc0Zvcm1hdHRlZFdpdGhOdWxscyIsImZvckVhY2giLCJnb3ZEYXRlIiwiaW5kZXhPZiIsInB1c2giLCJhZ2dyZWdhdGVSZWNvcmREYXRhIiwicmVjb3JkIiwicGFyc2VBbmRDaGVja1ZhbGlkaXR5IiwiQ2FzZXNfYW1vbmdfcmVjb3ZlcmRfd2l0aF92YWNjIiwiQ2FzZXNfYW1vbmdfcmVjb3ZlcmVkX3dpdGhvdXRfdmFjYyIsIk5vdF9yZWNvdmVyZWRfYXRfbGVhc3RfMl9kb3NlcyIsIk5vdF9yZWNvdmVyZWRfbm90X3ZhY2NpbmF0ZWQiLCJOb3RfcmVjb3ZlcmVkX3BhcnRpYWxseV92YWNjaW5hdGVkIiwidmFsdWUiLCJwYXJzZUludCIsIndlZWtzIiwiX3JlZiIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwid2VlayIsIndyYXAiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJnb3ZEYXRhIiwicmVjb3JkcyIsInJlc3VsdCIsIldlZWsiLCJNYXRoIiwicm91bmQiLCJsb2cxMCIsInN0b3AiLCJfeCIsImFwcGx5IiwibWluTWF4R3JhcGhWYWx1ZXMiLCJkZWx0YSIsIm1pbiIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJtYXgiLCJzZXJpZXMiLCJuYW1lIiwieUF4aXMiLCJjb2xvciIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJwcmltYXJ5IiwicDEiLCJ0aXRsZSIsImVuYWJsZWQiLCJ0ZXh0IiwibmF0dXJhbCIsIm42MCIsIm9wdGlvbnMiLCJjaGFydCIsImhlaWdodCIsInR5cGUiLCJsZWdlbmQiLCJtYXJnaW4iLCJwYWRkaW5nIiwiY3JlZGl0cyIsInhBeGlzIiwiY2F0ZWdvcmllcyIsImxhYmVscyIsInN0ZXAiLCJzdHlsZSIsImZvbnRTaXplIiwidXNlRWZmZWN0IiwiY3JlYXRlRWxlbWVudCIsImhpZ2hjaGFydHMiLCJIaWdoY2hhcnRzIiwiRnJhZ21lbnQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL1diZURhc2hib2FyZC9TdW1tYXJ5R3JhcGgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCBIaWdoY2hhcnRzIGZyb20gJ2hpZ2hjaGFydHMnO1xuaW1wb3J0IEhpZ2hjaGFydHNSZWFjdCBmcm9tICdoaWdoY2hhcnRzLXJlYWN0LW9mZmljaWFsJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcbmltcG9ydCB7IHVybHMgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvdXJscyc7XG5cbnR5cGUgUHJvcHMgPSB7XG4gIHdhdGVyQXV0aG9yaXR5SWQ6IG51bWJlcjtcbiAgd2Vla3NGb3JHb3ZGZXRjaDogeyB3ZWVrczogc3RyaW5nW107IHhfYXhpczogc3RyaW5nW10gfTtcbiAgbWluaT86IGJvb2xlYW47XG4gIHBhdGhvZ2VuOiBzdHJpbmc7XG59O1xuXG50eXBlIFN1bW1hcnlEYXRhVHlwZSA9IHtcbiAgdmFsdWVzOiBhbnlbXTtcbiAgeF9heGlzOiBzdHJpbmdbXTtcbn07XG5cbnR5cGUgQ2xpbmljYWxEYXRhVHlwZSA9IHN0cmluZ1tdO1xuXG5leHBvcnQgY29uc3QgU3VtbWFyeUdyYXBoOiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyB3YXRlckF1dGhvcml0eUlkLCB3ZWVrc0ZvckdvdkZldGNoLCBwYXRob2dlbiwgbWluaSA9IHRydWUgfSA9IHByb3BzO1xuICBjb25zdCBbZ3JhcGhEYXRhLCBzZXRHcmFwaERhdGFdID0gdXNlU3RhdGU8U3VtbWFyeURhdGFUeXBlPih7XG4gICAgdmFsdWVzOiBbXSxcbiAgICB4X2F4aXM6IFtdLFxuICB9KTtcbiAgY29uc3QgW2NsaW5pY2FsRGF0YSwgc2V0Q2xpbmljYWxEYXRhXSA9IHVzZVN0YXRlPENsaW5pY2FsRGF0YVR5cGU+KFtdKTtcblxuICBjb25zdCBpc0RhdGFQcmVzZW50ID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICBncmFwaERhdGE/LnZhbHVlcyAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBncmFwaERhdGE/LnZhbHVlcy5sZW5ndGggIT09IDAgJiZcbiAgICAgIGdyYXBoRGF0YT8ueF9heGlzLmxlbmd0aCAhPT0gMFxuICAgICk7XG4gIH07XG4gIGNvbnN0IGZldGNoQW5kU2V0RGF0YSA9IChmZXRjaENsaW5pY2FsID0gZmFsc2UpID0+IHtcbiAgICBheGlvc1xuICAgICAgLmdldChcbiAgICAgICAgdXJscyh7IHdhdGVyQXV0aG9yaXR5SWQ6IHdhdGVyQXV0aG9yaXR5SWQsIHBhdGhvZ2VuIH0pLndiZURhc2hib2FyZFxuICAgICAgICAgIC50cmVuZEdyYXBoLnVybCxcbiAgICAgIClcbiAgICAgIC50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICBzZXRHcmFwaERhdGEocmVzcG9uc2UuZGF0YSk7XG4gICAgICAgIGZldGNoQ2xpbmljYWwgJiYgZmV0Y2hBbmRTZXRDbGluaWNhbERhdGEoKTtcbiAgICAgIH0pO1xuICB9O1xuXG4gIGNvbnN0IHNldENsaW5pY2FsUmVzdWx0cyA9IChyZXN1bHRzKSA9PiB7XG4gICAgaWYgKFxuICAgICAgT2JqZWN0LmtleXMocmVzdWx0cykubGVuZ3RoID4gZ3JhcGhEYXRhLnZhbHVlcy5sZW5ndGggJiZcbiAgICAgIGdyYXBoRGF0YS54X2F4aXMubGVuZ3RoICE9PSAwXG4gICAgKSB7XG4gICAgICBsZXQgdmFsdWVzRm9ybWF0dGVkV2l0aE51bGxzOiBhbnkgPSBbXTtcbiAgICAgIHdlZWtzRm9yR292RmV0Y2gueF9heGlzLmZvckVhY2goKGdvdkRhdGUpID0+IHtcbiAgICAgICAgaWYgKGdyYXBoRGF0YS54X2F4aXMuaW5kZXhPZihnb3ZEYXRlKSA9PT0gLTEpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmFsdWVzRm9ybWF0dGVkV2l0aE51bGxzLnB1c2goXG4gICAgICAgICAgICBncmFwaERhdGEudmFsdWVzW2dyYXBoRGF0YS54X2F4aXMuaW5kZXhPZihnb3ZEYXRlKV0sXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHNldEdyYXBoRGF0YSh7XG4gICAgICAgIHZhbHVlczogdmFsdWVzRm9ybWF0dGVkV2l0aE51bGxzLFxuICAgICAgICB4X2F4aXM6IGdyYXBoRGF0YS54X2F4aXMsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBzZXRDbGluaWNhbERhdGEoT2JqZWN0LnZhbHVlcyhyZXN1bHRzKSk7XG4gIH07XG5cbiAgY29uc3QgYWdncmVnYXRlUmVjb3JkRGF0YSA9IChyZWNvcmQpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgcGFyc2VBbmRDaGVja1ZhbGlkaXR5KHJlY29yZC5DYXNlc19hbW9uZ19yZWNvdmVyZF93aXRoX3ZhY2MpICtcbiAgICAgIHBhcnNlQW5kQ2hlY2tWYWxpZGl0eShyZWNvcmQuQ2FzZXNfYW1vbmdfcmVjb3ZlcmVkX3dpdGhvdXRfdmFjYykgK1xuICAgICAgcGFyc2VBbmRDaGVja1ZhbGlkaXR5KHJlY29yZC5Ob3RfcmVjb3ZlcmVkX2F0X2xlYXN0XzJfZG9zZXMpICtcbiAgICAgIHBhcnNlQW5kQ2hlY2tWYWxpZGl0eShyZWNvcmQuTm90X3JlY292ZXJlZF9ub3RfdmFjY2luYXRlZCkgK1xuICAgICAgcGFyc2VBbmRDaGVja1ZhbGlkaXR5KHJlY29yZC5Ob3RfcmVjb3ZlcmVkX3BhcnRpYWxseV92YWNjaW5hdGVkKVxuICAgICk7XG4gIH07XG5cbiAgY29uc3QgcGFyc2VBbmRDaGVja1ZhbGlkaXR5ID0gKHZhbHVlKSA9PiB7XG4gICAgaWYgKHZhbHVlID09PSAnPDUnKSB7XG4gICAgICByZXR1cm4gNTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGFyc2VJbnQodmFsdWUpO1xuICB9O1xuXG4gIGNvbnN0IGZldGNoQW5kU2V0Q2xpbmljYWxEYXRhID0gKCkgPT4ge1xuICAgIGxldCByZXN1bHRzID0ge307XG5cbiAgICB3ZWVrc0ZvckdvdkZldGNoLndlZWtzLmZvckVhY2goYXN5bmMgKHdlZWspID0+IHtcbiAgICAgIHJlc3VsdHNbd2Vla10gPSB7fTtcbiAgICAgIGF3YWl0IGF4aW9zXG4gICAgICAgIC5nZXQodXJscyh7IHdlZWs6IHdlZWsgfSkud2JlRGFzaGJvYXJkLmdvdkRhdGEudXJsKVxuICAgICAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICBsZXQgcmVjb3JkcyA9IHJlc3BvbnNlLmRhdGEucmVzdWx0LnJlY29yZHM7XG5cbiAgICAgICAgICByZWNvcmRzLmZvckVhY2goKHJlY29yZCkgPT4ge1xuICAgICAgICAgICAgcmVzdWx0c1tyZWNvcmQuV2Vla10gPVxuICAgICAgICAgICAgICBNYXRoLnJvdW5kKE1hdGgubG9nMTAoYWdncmVnYXRlUmVjb3JkRGF0YShyZWNvcmQpKSAqIDEwKSAvIDEwO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgc2V0Q2xpbmljYWxSZXN1bHRzKHJlc3VsdHMpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBtaW5NYXhHcmFwaFZhbHVlcyA9IChkZWx0YTogbnVtYmVyLCBtaW46IGJvb2xlYW4pID0+IHtcbiAgICBpZiAoZ3JhcGhEYXRhPy52YWx1ZXMgPT09IHVuZGVmaW5lZCkgcmV0dXJuIDA7XG4gICAgaWYgKG1pbikgcmV0dXJuIE1hdGgubWluKC4uLmdyYXBoRGF0YS52YWx1ZXMpIC0gZGVsdGE7XG4gICAgcmV0dXJuIE1hdGgubWF4KC4uLmdyYXBoRGF0YS52YWx1ZXMpICsgZGVsdGE7XG4gIH07XG5cbiAgLy8gU2hvdyBjbGluaWNhbCBkYXRhIG9ubHkgaWYgaXQgZXhpc3RzXG4gIGNvbnN0IHNlcmllcyA9IFtcbiAgICB7XG4gICAgICBuYW1lOiAnV2Vla2x5IE5WTCcsXG4gICAgICB5QXhpczogMCxcbiAgICAgIGRhdGE6IGdyYXBoRGF0YT8udmFsdWVzLFxuICAgICAgY29sb3I6IHRoZW1lLmNvbG9yU2NoZW1lLnByaW1hcnkucDEsXG4gICAgfSxcbiAgXTtcbiAgY29uc3QgeUF4aXMgPSBbXG4gICAge1xuICAgICAgbWluOiBtaW5NYXhHcmFwaFZhbHVlcygwLjUsIHRydWUpLFxuICAgICAgbWF4OiBtaW5NYXhHcmFwaFZhbHVlcygwLjUsIGZhbHNlKSxcbiAgICAgIHRpdGxlOiB7XG4gICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgIHRleHQ6ICdOVkwnLFxuICAgICAgfSxcbiAgICB9LFxuICBdO1xuXG4gIGlmIChjbGluaWNhbERhdGEubGVuZ3RoID4gMCkge1xuICAgIHNlcmllcy5wdXNoKHtcbiAgICAgIHlBeGlzOiAxLFxuICAgICAgbmFtZTogJ0NsaW5pY2FsJyxcbiAgICAgIGRhdGE6IGNsaW5pY2FsRGF0YSxcbiAgICAgIGNvbG9yOiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm42MCxcbiAgICB9KTtcbiAgICB5QXhpcy5wdXNoKHtcbiAgICAgIG1pbjogbWluTWF4R3JhcGhWYWx1ZXMoMC41LCB0cnVlKSxcbiAgICAgIG1heDogbWluTWF4R3JhcGhWYWx1ZXMoMC41LCBmYWxzZSksXG4gICAgICB0aXRsZToge1xuICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICB0ZXh0OiAnQ2xpbmljYWwnLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuICBjb25zdCBvcHRpb25zID0ge1xuICAgIHRpdGxlOiB7XG4gICAgICB0ZXh0OiBudWxsLFxuICAgIH0sXG4gICAgY2hhcnQ6IHtcbiAgICAgIGhlaWdodDogbWluaSA/IDExNSA6IDQ3MCxcbiAgICAgIHR5cGU6ICdzcGxpbmUnLFxuICAgIH0sXG4gICAgbGVnZW5kOiB7XG4gICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgbWFyZ2luOiA5LFxuICAgICAgcGFkZGluZzogMCxcbiAgICB9LFxuICAgIGNyZWRpdHM6IHtcbiAgICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgIH0sXG4gICAgeUF4aXMsXG4gICAgeEF4aXM6IHtcbiAgICAgIGNhdGVnb3JpZXM6IGdyYXBoRGF0YT8ueF9heGlzLFxuICAgICAgbGFiZWxzOiB7XG4gICAgICAgIHN0ZXA6IDIsXG4gICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgZm9udFNpemU6ICc5cHgnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIHNlcmllcyxcbiAgfTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxldCBmZXRjaENsaW5pY2FsID0gZmFsc2U7XG5cbiAgICBpZiAocGF0aG9nZW4pIHtcbiAgICAgIGZldGNoQW5kU2V0RGF0YShmZXRjaENsaW5pY2FsKTtcbiAgICB9XG4gIH0sIFt3YXRlckF1dGhvcml0eUlkLCB3ZWVrc0ZvckdvdkZldGNoLCBwYXRob2dlbl0pO1xuXG4gIHJldHVybiBpc0RhdGFQcmVzZW50KCkgPyAoXG4gICAgPEhpZ2hjaGFydHNSZWFjdCBoaWdoY2hhcnRzPXtIaWdoY2hhcnRzfSBvcHRpb25zPXtvcHRpb25zfSAvPlxuICApIDogKFxuICAgIDw+PC8+XG4gICk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHVCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFDLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBRyxXQUFBLEdBQUFELHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSSx3QkFBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUssTUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sS0FBQSxHQUFBTixPQUFBO0FBQTRDLFNBQUFPLHlCQUFBQyxXQUFBLGVBQUFDLE9BQUEsa0NBQUFDLGlCQUFBLE9BQUFELE9BQUEsUUFBQUUsZ0JBQUEsT0FBQUYsT0FBQSxZQUFBRix3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
|
|
181
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfYXhpb3MiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX2hpZ2hjaGFydHMiLCJfaGlnaGNoYXJ0c1JlYWN0T2ZmaWNpYWwiLCJfdGhlbWUiLCJfdXJscyIsIlN1bW1hcnlHcmFwaCIsImV4cG9ydHMiLCJwcm9wcyIsIndhdGVyQXV0aG9yaXR5SWQiLCJ3ZWVrc0ZvckdvdkZldGNoIiwicGF0aG9nZW4iLCJfcHJvcHMkbWluaSIsIm1pbmkiLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsInZhbHVlcyIsInhfYXhpcyIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJkZWZhdWx0IiwiZ3JhcGhEYXRhIiwic2V0R3JhcGhEYXRhIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJjbGluaWNhbERhdGEiLCJzZXRDbGluaWNhbERhdGEiLCJpc0RhdGFQcmVzZW50IiwidW5kZWZpbmVkIiwibGVuZ3RoIiwiZmV0Y2hBbmRTZXREYXRhIiwiZmV0Y2hDbGluaWNhbCIsImFyZ3VtZW50cyIsImF4aW9zIiwiZ2V0IiwidXJscyIsIndiZURhc2hib2FyZCIsInRyZW5kR3JhcGgiLCJ1cmwiLCJ0aGVuIiwicmVzcG9uc2UiLCJkYXRhIiwiZmV0Y2hBbmRTZXRDbGluaWNhbERhdGEiLCJzZXRDbGluaWNhbFJlc3VsdHMiLCJyZXN1bHRzIiwiT2JqZWN0Iiwia2V5cyIsInZhbHVlc0Zvcm1hdHRlZFdpdGhOdWxscyIsImZvckVhY2giLCJnb3ZEYXRlIiwiaW5kZXhPZiIsInB1c2giLCJhZ2dyZWdhdGVSZWNvcmREYXRhIiwicmVjb3JkIiwicGFyc2VBbmRDaGVja1ZhbGlkaXR5IiwiQ2FzZXNfYW1vbmdfcmVjb3ZlcmRfd2l0aF92YWNjIiwiQ2FzZXNfYW1vbmdfcmVjb3ZlcmVkX3dpdGhvdXRfdmFjYyIsIk5vdF9yZWNvdmVyZWRfYXRfbGVhc3RfMl9kb3NlcyIsIk5vdF9yZWNvdmVyZWRfbm90X3ZhY2NpbmF0ZWQiLCJOb3RfcmVjb3ZlcmVkX3BhcnRpYWxseV92YWNjaW5hdGVkIiwidmFsdWUiLCJwYXJzZUludCIsIndlZWtzIiwiX3JlZiIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvclJ1bnRpbWUyIiwibWFyayIsIl9jYWxsZWUiLCJ3ZWVrIiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImdvdkRhdGEiLCJyZWNvcmRzIiwicmVzdWx0IiwiV2VlayIsIk1hdGgiLCJyb3VuZCIsImxvZzEwIiwic3RvcCIsIl94IiwiYXBwbHkiLCJtaW5NYXhHcmFwaFZhbHVlcyIsImRlbHRhIiwibWluIiwiX3RvQ29uc3VtYWJsZUFycmF5MiIsIm1heCIsInNlcmllcyIsIm5hbWUiLCJ5QXhpcyIsImNvbG9yIiwidGhlbWUiLCJjb2xvclNjaGVtZSIsInByaW1hcnkiLCJwMSIsInRpdGxlIiwiZW5hYmxlZCIsInRleHQiLCJuYXR1cmFsIiwibjYwIiwib3B0aW9ucyIsImNoYXJ0IiwiaGVpZ2h0IiwidHlwZSIsImxlZ2VuZCIsIm1hcmdpbiIsInBhZGRpbmciLCJjcmVkaXRzIiwieEF4aXMiLCJjYXRlZ29yaWVzIiwibGFiZWxzIiwic3RlcCIsInN0eWxlIiwiZm9udFNpemUiLCJ1c2VFZmZlY3QiLCJjcmVhdGVFbGVtZW50IiwiaGlnaGNoYXJ0cyIsIkhpZ2hjaGFydHMiLCJGcmFnbWVudCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9XYmVEYXNoYm9hcmQvU3VtbWFyeUdyYXBoLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XG5pbXBvcnQgSGlnaGNoYXJ0cyBmcm9tICdoaWdoY2hhcnRzJztcbmltcG9ydCBIaWdoY2hhcnRzUmVhY3QgZnJvbSAnaGlnaGNoYXJ0cy1yZWFjdC1vZmZpY2lhbCc7XG5pbXBvcnQgeyB0aGVtZSB9IGZyb20gJy4uLy4uL3N0eWxlcy90aGVtZS90aGVtZSc7XG5pbXBvcnQgeyB1cmxzIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL3VybHMnO1xuXG50eXBlIFByb3BzID0ge1xuICB3YXRlckF1dGhvcml0eUlkOiBudW1iZXI7XG4gIHdlZWtzRm9yR292RmV0Y2g6IHsgd2Vla3M6IHN0cmluZ1tdOyB4X2F4aXM6IHN0cmluZ1tdIH07XG4gIG1pbmk/OiBib29sZWFuO1xuICBwYXRob2dlbjogc3RyaW5nO1xufTtcblxudHlwZSBTdW1tYXJ5RGF0YVR5cGUgPSB7XG4gIHZhbHVlczogYW55W107XG4gIHhfYXhpczogc3RyaW5nW107XG59O1xuXG50eXBlIENsaW5pY2FsRGF0YVR5cGUgPSBzdHJpbmdbXTtcblxuZXhwb3J0IGNvbnN0IFN1bW1hcnlHcmFwaDogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgd2F0ZXJBdXRob3JpdHlJZCwgd2Vla3NGb3JHb3ZGZXRjaCwgcGF0aG9nZW4sIG1pbmkgPSB0cnVlIH0gPSBwcm9wcztcbiAgY29uc3QgW2dyYXBoRGF0YSwgc2V0R3JhcGhEYXRhXSA9IHVzZVN0YXRlPFN1bW1hcnlEYXRhVHlwZT4oe1xuICAgIHZhbHVlczogW10sXG4gICAgeF9heGlzOiBbXSxcbiAgfSk7XG4gIGNvbnN0IFtjbGluaWNhbERhdGEsIHNldENsaW5pY2FsRGF0YV0gPSB1c2VTdGF0ZTxDbGluaWNhbERhdGFUeXBlPihbXSk7XG5cbiAgY29uc3QgaXNEYXRhUHJlc2VudCA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgZ3JhcGhEYXRhPy52YWx1ZXMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgZ3JhcGhEYXRhPy52YWx1ZXMubGVuZ3RoICE9PSAwICYmXG4gICAgICBncmFwaERhdGE/LnhfYXhpcy5sZW5ndGggIT09IDBcbiAgICApO1xuICB9O1xuICBjb25zdCBmZXRjaEFuZFNldERhdGEgPSAoZmV0Y2hDbGluaWNhbCA9IGZhbHNlKSA9PiB7XG4gICAgYXhpb3NcbiAgICAgIC5nZXQoXG4gICAgICAgIHVybHMoeyB3YXRlckF1dGhvcml0eUlkOiB3YXRlckF1dGhvcml0eUlkLCBwYXRob2dlbiB9KS53YmVEYXNoYm9hcmRcbiAgICAgICAgICAudHJlbmRHcmFwaC51cmwsXG4gICAgICApXG4gICAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgc2V0R3JhcGhEYXRhKHJlc3BvbnNlLmRhdGEpO1xuICAgICAgICBmZXRjaENsaW5pY2FsICYmIGZldGNoQW5kU2V0Q2xpbmljYWxEYXRhKCk7XG4gICAgICB9KTtcbiAgfTtcblxuICBjb25zdCBzZXRDbGluaWNhbFJlc3VsdHMgPSAocmVzdWx0cykgPT4ge1xuICAgIGlmIChcbiAgICAgIE9iamVjdC5rZXlzKHJlc3VsdHMpLmxlbmd0aCA+IGdyYXBoRGF0YS52YWx1ZXMubGVuZ3RoICYmXG4gICAgICBncmFwaERhdGEueF9heGlzLmxlbmd0aCAhPT0gMFxuICAgICkge1xuICAgICAgbGV0IHZhbHVlc0Zvcm1hdHRlZFdpdGhOdWxsczogYW55ID0gW107XG4gICAgICB3ZWVrc0ZvckdvdkZldGNoLnhfYXhpcy5mb3JFYWNoKChnb3ZEYXRlKSA9PiB7XG4gICAgICAgIGlmIChncmFwaERhdGEueF9heGlzLmluZGV4T2YoZ292RGF0ZSkgPT09IC0xKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhbHVlc0Zvcm1hdHRlZFdpdGhOdWxscy5wdXNoKFxuICAgICAgICAgICAgZ3JhcGhEYXRhLnZhbHVlc1tncmFwaERhdGEueF9heGlzLmluZGV4T2YoZ292RGF0ZSldLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICBzZXRHcmFwaERhdGEoe1xuICAgICAgICB2YWx1ZXM6IHZhbHVlc0Zvcm1hdHRlZFdpdGhOdWxscyxcbiAgICAgICAgeF9heGlzOiBncmFwaERhdGEueF9heGlzLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgc2V0Q2xpbmljYWxEYXRhKE9iamVjdC52YWx1ZXMocmVzdWx0cykpO1xuICB9O1xuXG4gIGNvbnN0IGFnZ3JlZ2F0ZVJlY29yZERhdGEgPSAocmVjb3JkKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHBhcnNlQW5kQ2hlY2tWYWxpZGl0eShyZWNvcmQuQ2FzZXNfYW1vbmdfcmVjb3ZlcmRfd2l0aF92YWNjKSArXG4gICAgICBwYXJzZUFuZENoZWNrVmFsaWRpdHkocmVjb3JkLkNhc2VzX2Ftb25nX3JlY292ZXJlZF93aXRob3V0X3ZhY2MpICtcbiAgICAgIHBhcnNlQW5kQ2hlY2tWYWxpZGl0eShyZWNvcmQuTm90X3JlY292ZXJlZF9hdF9sZWFzdF8yX2Rvc2VzKSArXG4gICAgICBwYXJzZUFuZENoZWNrVmFsaWRpdHkocmVjb3JkLk5vdF9yZWNvdmVyZWRfbm90X3ZhY2NpbmF0ZWQpICtcbiAgICAgIHBhcnNlQW5kQ2hlY2tWYWxpZGl0eShyZWNvcmQuTm90X3JlY292ZXJlZF9wYXJ0aWFsbHlfdmFjY2luYXRlZClcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IHBhcnNlQW5kQ2hlY2tWYWxpZGl0eSA9ICh2YWx1ZSkgPT4ge1xuICAgIGlmICh2YWx1ZSA9PT0gJzw1Jykge1xuICAgICAgcmV0dXJuIDU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhcnNlSW50KHZhbHVlKTtcbiAgfTtcblxuICBjb25zdCBmZXRjaEFuZFNldENsaW5pY2FsRGF0YSA9ICgpID0+IHtcbiAgICBsZXQgcmVzdWx0cyA9IHt9O1xuXG4gICAgd2Vla3NGb3JHb3ZGZXRjaC53ZWVrcy5mb3JFYWNoKGFzeW5jICh3ZWVrKSA9PiB7XG4gICAgICByZXN1bHRzW3dlZWtdID0ge307XG4gICAgICBhd2FpdCBheGlvc1xuICAgICAgICAuZ2V0KHVybHMoeyB3ZWVrOiB3ZWVrIH0pLndiZURhc2hib2FyZC5nb3ZEYXRhLnVybClcbiAgICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgbGV0IHJlY29yZHMgPSByZXNwb25zZS5kYXRhLnJlc3VsdC5yZWNvcmRzO1xuXG4gICAgICAgICAgcmVjb3Jkcy5mb3JFYWNoKChyZWNvcmQpID0+IHtcbiAgICAgICAgICAgIHJlc3VsdHNbcmVjb3JkLldlZWtdID1cbiAgICAgICAgICAgICAgTWF0aC5yb3VuZChNYXRoLmxvZzEwKGFnZ3JlZ2F0ZVJlY29yZERhdGEocmVjb3JkKSkgKiAxMCkgLyAxMDtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSlcbiAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIHNldENsaW5pY2FsUmVzdWx0cyhyZXN1bHRzKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgbWluTWF4R3JhcGhWYWx1ZXMgPSAoZGVsdGE6IG51bWJlciwgbWluOiBib29sZWFuKSA9PiB7XG4gICAgaWYgKGdyYXBoRGF0YT8udmFsdWVzID09PSB1bmRlZmluZWQpIHJldHVybiAwO1xuICAgIGlmIChtaW4pIHJldHVybiBNYXRoLm1pbiguLi5ncmFwaERhdGEudmFsdWVzKSAtIGRlbHRhO1xuICAgIHJldHVybiBNYXRoLm1heCguLi5ncmFwaERhdGEudmFsdWVzKSArIGRlbHRhO1xuICB9O1xuXG4gIC8vIFNob3cgY2xpbmljYWwgZGF0YSBvbmx5IGlmIGl0IGV4aXN0c1xuICBjb25zdCBzZXJpZXMgPSBbXG4gICAge1xuICAgICAgbmFtZTogJ1dlZWtseSBOVkwnLFxuICAgICAgeUF4aXM6IDAsXG4gICAgICBkYXRhOiBncmFwaERhdGE/LnZhbHVlcyxcbiAgICAgIGNvbG9yOiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnAxLFxuICAgIH0sXG4gIF07XG4gIGNvbnN0IHlBeGlzID0gW1xuICAgIHtcbiAgICAgIG1pbjogbWluTWF4R3JhcGhWYWx1ZXMoMC41LCB0cnVlKSxcbiAgICAgIG1heDogbWluTWF4R3JhcGhWYWx1ZXMoMC41LCBmYWxzZSksXG4gICAgICB0aXRsZToge1xuICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICB0ZXh0OiAnTlZMJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgXTtcblxuICBpZiAoY2xpbmljYWxEYXRhLmxlbmd0aCA+IDApIHtcbiAgICBzZXJpZXMucHVzaCh7XG4gICAgICB5QXhpczogMSxcbiAgICAgIG5hbWU6ICdDbGluaWNhbCcsXG4gICAgICBkYXRhOiBjbGluaWNhbERhdGEsXG4gICAgICBjb2xvcjogdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uNjAsXG4gICAgfSk7XG4gICAgeUF4aXMucHVzaCh7XG4gICAgICBtaW46IG1pbk1heEdyYXBoVmFsdWVzKDAuNSwgdHJ1ZSksXG4gICAgICBtYXg6IG1pbk1heEdyYXBoVmFsdWVzKDAuNSwgZmFsc2UpLFxuICAgICAgdGl0bGU6IHtcbiAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgdGV4dDogJ0NsaW5pY2FsJyxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbiAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICB0aXRsZToge1xuICAgICAgdGV4dDogbnVsbCxcbiAgICB9LFxuICAgIGNoYXJ0OiB7XG4gICAgICBoZWlnaHQ6IG1pbmkgPyAxMTUgOiA0NzAsXG4gICAgICB0eXBlOiAnc3BsaW5lJyxcbiAgICB9LFxuICAgIGxlZ2VuZDoge1xuICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgIG1hcmdpbjogOSxcbiAgICAgIHBhZGRpbmc6IDAsXG4gICAgfSxcbiAgICBjcmVkaXRzOiB7XG4gICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICB9LFxuICAgIHlBeGlzLFxuICAgIHhBeGlzOiB7XG4gICAgICBjYXRlZ29yaWVzOiBncmFwaERhdGE/LnhfYXhpcyxcbiAgICAgIGxhYmVsczoge1xuICAgICAgICBzdGVwOiAyLFxuICAgICAgICBzdHlsZToge1xuICAgICAgICAgIGZvbnRTaXplOiAnOXB4JyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBzZXJpZXMsXG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgZmV0Y2hDbGluaWNhbCA9IGZhbHNlO1xuXG4gICAgaWYgKHBhdGhvZ2VuKSB7XG4gICAgICBmZXRjaEFuZFNldERhdGEoZmV0Y2hDbGluaWNhbCk7XG4gICAgfVxuICB9LCBbd2F0ZXJBdXRob3JpdHlJZCwgd2Vla3NGb3JHb3ZGZXRjaCwgcGF0aG9nZW5dKTtcblxuICByZXR1cm4gaXNEYXRhUHJlc2VudCgpID8gKFxuICAgIDxIaWdoY2hhcnRzUmVhY3QgaGlnaGNoYXJ0cz17SGlnaGNoYXJ0c30gb3B0aW9ucz17b3B0aW9uc30gLz5cbiAgKSA6IChcbiAgICA8PjwvPlxuICApO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUksd0JBQUEsR0FBQUYsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFLLE1BQUEsR0FBQUwsT0FBQTtBQUNBLElBQUFNLEtBQUEsR0FBQU4sT0FBQTtBQWdCTyxJQUFNTyxZQUE2QixHQUFBQyxPQUFBLENBQUFELFlBQUEsR0FBRyxTQUFoQ0EsWUFBNkJBLENBQUlFLEtBQUssRUFBSztFQUN0RCxJQUFRQyxnQkFBZ0IsR0FBOENELEtBQUssQ0FBbkVDLGdCQUFnQjtJQUFFQyxnQkFBZ0IsR0FBNEJGLEtBQUssQ0FBakRFLGdCQUFnQjtJQUFFQyxRQUFRLEdBQWtCSCxLQUFLLENBQS9CRyxRQUFRO0lBQUFDLFdBQUEsR0FBa0JKLEtBQUssQ0FBckJLLElBQUk7SUFBSkEsSUFBSSxHQUFBRCxXQUFBLGNBQUcsSUFBSSxHQUFBQSxXQUFBO0VBQ2pFLElBQUFFLFNBQUEsR0FBa0MsSUFBQUMsZUFBUSxFQUFrQjtNQUMxREMsTUFBTSxFQUFFLEVBQUU7TUFDVkMsTUFBTSxF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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
@@ -11,7 +11,7 @@ var _reactFontawesome = require("@fortawesome/react-fontawesome");
|
|
|
11
11
|
var _freeSolidSvgIcons = require("@fortawesome/free-solid-svg-icons");
|
|
12
12
|
var _theme = require("../../styles/theme/theme");
|
|
13
13
|
var _reactRedux = require("react-redux");
|
|
14
|
-
var SummaryGraphModal = function SummaryGraphModal(props) {
|
|
14
|
+
var SummaryGraphModal = exports.SummaryGraphModal = function SummaryGraphModal(props) {
|
|
15
15
|
var setOpen = props.setOpen;
|
|
16
16
|
var locale = (0, _reactRedux.useSelector)(function (state) {
|
|
17
17
|
return state.nav_context_data.navContext.locale;
|
|
@@ -26,7 +26,6 @@ var SummaryGraphModal = function SummaryGraphModal(props) {
|
|
|
26
26
|
}
|
|
27
27
|
})), props.children));
|
|
28
28
|
};
|
|
29
|
-
exports.SummaryGraphModal = SummaryGraphModal;
|
|
30
29
|
var Backdrop = _styledComponents.default.div.withConfig({
|
|
31
30
|
displayName: "SummaryGraphModal__Backdrop",
|
|
32
31
|
componentId: "sc-1qvz9ay-0"
|
|
@@ -45,4 +44,4 @@ var XIcon = _styledComponents.default.div.withConfig({
|
|
|
45
44
|
displayName: "SummaryGraphModal__XIcon",
|
|
46
45
|
componentId: "sc-1qvz9ay-2"
|
|
47
46
|
})(["position:absolute;z-index:9;top:9px;border:1px solid ", ";width:25px;height:25px;padding:1px;cursor:pointer;display:flex;justify-content:center;align-items:center;&:hover{svg{color:", ";}border-color:", ";}[dir='ltr'] &{right:9px;}[dir='rtl'] &{left:9px;}svg{color:", ";}"], _theme.theme.colorScheme.natural.n40, _theme.theme.colorScheme.primary.p1, _theme.theme.colorScheme.primary.p1, _theme.theme.colorScheme.natural.n60);
|
|
48
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZWRDb21wb25lbnRzIiwiX3JlYWN0Rm9udGF3ZXNvbWUiLCJfZnJlZVNvbGlkU3ZnSWNvbnMiLCJfdGhlbWUiLCJfcmVhY3RSZWR1eCIsIlN1bW1hcnlHcmFwaE1vZGFsIiwiZXhwb3J0cyIsInByb3BzIiwic2V0T3BlbiIsImxvY2FsZSIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJuYXZfY29udGV4dF9kYXRhIiwibmF2Q29udGV4dCIsImRpciIsImRlZmF1bHQiLCJjcmVhdGVFbGVtZW50IiwiQmFja2Ryb3AiLCJNb2RhbCIsIlhJY29uIiwiRm9udEF3ZXNvbWVJY29uIiwiaWNvbiIsImZhVGltZXMiLCJvbkNsaWNrIiwiY2hpbGRyZW4iLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIl9yZWYiLCJ0aGVtZSIsInNhbXBsaW5nc1BhZ2UiLCJtb2JpbGUiLCJtb2RhbE92ZXJsYXlCYWNrZ3JvdW5kIiwiX3JlZjIiLCJ6SW5kZXhlcyIsIm1vZGFsIiwiY29sb3JTY2hlbWUiLCJuYXR1cmFsIiwibjQwIiwicHJpbWFyeSIsInAxIiwibjYwIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL1diZURhc2hib2FyZC9TdW1tYXJ5R3JhcGhNb2RhbC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVJY29uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3JlYWN0LWZvbnRhd2Vzb21lJztcbmltcG9ydCB7IGZhVGltZXMgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgdGhlbWUgfSBmcm9tICcuLi8uLi9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvcm9vdFJlZHVjZXInO1xuXG50eXBlIFByb3BzID0ge1xuICBzZXRPcGVuOiBSZWFjdC5EaXNwYXRjaDxSZWFjdC5TZXRTdGF0ZUFjdGlvbjxib29sZWFuPj47XG59O1xuXG5leHBvcnQgY29uc3QgU3VtbWFyeUdyYXBoTW9kYWw6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IHNldE9wZW4gfSA9IHByb3BzO1xuICBjb25zdCBsb2NhbGUgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PlxuICAgICAgc3RhdGUubmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZSxcbiAgKTtcbiAgY29uc3QgZGlyID0gbG9jYWxlID09PSAnaGUnID8gJ3J0bCcgOiAnbHRyJztcblxuICByZXR1cm4gKFxuICAgIDxCYWNrZHJvcD5cbiAgICAgIDxNb2RhbCBkaXI9e2Rpcn0+XG4gICAgICAgIDxYSWNvbj5cbiAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uIGljb249e2ZhVGltZXN9IG9uQ2xpY2s9eygpID0+IHNldE9wZW4oZmFsc2UpfSAvPlxuICAgICAgICA8L1hJY29uPlxuICAgICAgICB7cHJvcHMuY2hpbGRyZW59XG4gICAgICA8L01vZGFsPlxuICAgIDwvQmFja2Ryb3A+XG4gICk7XG59O1xuXG5jb25zdCBCYWNrZHJvcCA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PlxuICAgIHRoZW1lLnNhbXBsaW5nc1BhZ2UubW9iaWxlLm1vZGFsT3ZlcmxheUJhY2tncm91bmR9O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS56SW5kZXhlcy5tb2RhbH07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuYDtcblxuY29uc3QgTW9kYWwgPSBzdHlsZWQuZGl2YFxuICB6LWluZGV4OiAke3RoZW1lLnpJbmRleGVzLm1vZGFsfTtcbiAgYm94LXNoYWRvdzogMHB4IDFweCAxMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtaW4td2lkdGg6IDcwMHB4O1xuICBtaW4taGVpZ2h0OiA1MDBweDtcbiAgd2lkdGg6IDYwdnc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR7dGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uNDB9O1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgcGFkZGluZzogMTVweDtcblxuICBoMyB7XG4gICAgbWFyZ2luOiAxMnB4IDA7XG4gIH1cbmA7XG5cbmNvbnN0IFhJY29uID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiA5O1xuICB0b3A6IDlweDtcbiAgYm9yZGVyOiAxcHggc29saWQgJHt0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm40MH07XG4gIHdpZHRoOiAyNXB4O1xuICBoZWlnaHQ6IDI1cHg7XG4gIHBhZGRpbmc6IDFweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAmOmhvdmVyIHtcbiAgICBzdmcge1xuICAgICAgY29sb3I6ICR7dGhlbWUuY29sb3JTY2hlbWUucHJpbWFyeS5wMX07XG4gICAgfVxuICAgIGJvcmRlci1jb2xvcjogJHt0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnAxfTtcbiAgfVxuXG4gIFtkaXI9J2x0ciddICYge1xuICAgIHJpZ2h0OiA5cHg7XG4gIH1cblxuICBbZGlyPSdydGwnXSAmIHtcbiAgICBsZWZ0OiA5cHg7XG4gIH1cblxuICBzdmcge1xuICAgIGNvbG9yOiAke3RoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjYwfTtcbiAgfVxuYDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxpQkFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsa0JBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLE1BQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFdBQUEsR0FBQUwsT0FBQTtBQU9PLElBQU1NLGlCQUFrQyxHQUFBQyxPQUFBLENBQUFELGlCQUFBLEdBQUcsU0FBckNBLGlCQUFrQ0EsQ0FBSUUsS0FBSyxFQUFLO0VBQzNELElBQVFDLE9BQU8sR0FBS0QsS0FBSyxDQUFqQkMsT0FBTztFQUNmLElBQU1DLE1BQU0sR0FBRyxJQUFBQyx1QkFBVyxFQUN4QixVQUFDQyxLQUFvQztJQUFBLE9BQ25DQSxLQUFLLENBQUNDLGdCQUFnQixDQUFDQyxVQUFVLENBQUNKLE1BQU07RUFBQSxDQUM1QyxDQUFDO0VBQ0QsSUFBTUssR0FBRyxHQUFHTCxNQUFNLEtBQUssSUFBSSxHQUFHLEtBQUssR0FBRyxLQUFLO0VBRTNDLG9CQUNFWixNQUFBLENBQUFrQixPQUFBLENBQUFDLGFBQUEsQ0FBQ0MsUUFBUSxxQkFDUHBCLE1BQUEsQ0FBQWtCLE9BQUEsQ0FBQUMsYUFBQSxDQUFDRSxLQUFLO0lBQUNKLEdBQUcsRUFBRUE7RUFBSSxnQkFDZGpCLE1BQUEsQ0FBQWtCLE9BQUEsQ0FBQUMsYUFBQSxDQUFDRyxLQUFLLHFCQUNKdEIsTUFBQSxDQUFBa0IsT0FBQSxDQUFBQyxhQUFBLENBQUNmLGlCQUFBLENBQUFtQixlQUFlO0lBQUNDLElBQUksRUFBRUMsMEJBQVE7SUFBQ0MsT0FBTyxFQUFFLFNBQUFBLFFBQUE7TUFBQSxPQUFNZixPQUFPLENBQUMsS0FBSyxDQUFDO0lBQUE7RUFBQyxDQUFFLENBQzNELENBQUMsRUFDUEQsS0FBSyxDQUFDaUIsUUFDRixDQUNDLENBQUM7QUFFZixDQUFDO0FBRUQsSUFBTVAsUUFBUSxHQUFHUSx5QkFBTSxDQUFDQyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsMkpBR0wsVUFBQUMsSUFBQTtFQUFBLElBQUdDLEtBQUssR0FBQUQsSUFBQSxDQUFMQyxLQUFLO0VBQUEsT0FDMUJBLEtBQUssQ0FBQ0MsYUFBYSxDQUFDQyxNQUFNLENBQUNDLHNCQUFzQjtBQUFBLEdBSXhDLFVBQUFDLEtBQUE7RUFBQSxJQUFHSixLQUFLLEdBQUFJLEtBQUEsQ0FBTEosS0FBSztFQUFBLE9BQU9BLEtBQUssQ0FBQ0ssUUFBUSxDQUFDQyxLQUFLO0FBQUEsRUFJL0M7QUFFRCxJQUFNbkIsS0FBSyxHQUFHTyx5QkFBTSxDQUFDQyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsc09BQ1hFLFlBQUssQ0FBQ0ssUUFBUSxDQUFDQyxLQUFLLEVBU1hOLFlBQUssQ0FBQ08sV0FBVyxDQUFDQyxPQUFPLENBQUNDLEdBQUcsQ0FPbEQ7QUFFRCxJQUFNckIsS0FBSyxHQUFHTSx5QkFBTSxDQUFDQyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsd1JBSUZFLFlBQUssQ0FBQ08sV0FBVyxDQUFDQyxPQUFPLENBQUNDLEdBQUcsRUFXcENULFlBQUssQ0FBQ08sV0FBVyxDQUFDRyxPQUFPLENBQUNDLEVBQUUsRUFFdkJYLFlBQUssQ0FBQ08sV0FBVyxDQUFDRyxPQUFPLENBQUNDLEVBQUUsRUFZbkNYLFlBQUssQ0FBQ08sV0FBVyxDQUFDQyxPQUFPLENBQUNJLEdBQUcsQ0FFekMifQ==
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.Tabs = void 0;
|
|
8
8
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
9
9
|
var _react = _interopRequireDefault(require("react"));
|
|
10
|
-
var Tabs = function Tabs(props) {
|
|
10
|
+
var Tabs = exports.Tabs = function Tabs(props) {
|
|
11
11
|
var tabs = props.tabs,
|
|
12
12
|
selectedTab = props.selectedTab,
|
|
13
13
|
handleOnClick = props.handleOnClick;
|
|
@@ -22,9 +22,8 @@ var Tabs = function Tabs(props) {
|
|
|
22
22
|
}, /*#__PURE__*/_react.default.createElement("span", null, tab));
|
|
23
23
|
}));
|
|
24
24
|
};
|
|
25
|
-
exports.Tabs = Tabs;
|
|
26
25
|
var TabsContainer = _styledComponents.default.div.withConfig({
|
|
27
26
|
displayName: "Tabs__TabsContainer",
|
|
28
27
|
componentId: "sc-26wq66-0"
|
|
29
28
|
})(["display:flex;margin:30px 20px;width:max-content;.tab{padding:11px 50px;border-bottom:2px solid rgb(196,196,196);cursor:pointer;font-weight:300;&--selected{border-color:#e10036;color:black;font-weight:600;}}"]);
|
|
30
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIlRhYnMiLCJleHBvcnRzIiwicHJvcHMiLCJ0YWJzIiwic2VsZWN0ZWRUYWIiLCJoYW5kbGVPbkNsaWNrIiwiZGVmYXVsdCIsImNyZWF0ZUVsZW1lbnQiLCJUYWJzQ29udGFpbmVyIiwibWFwIiwidGFiIiwia2V5IiwiY2xhc3NOYW1lIiwiY29uY2F0IiwiaWQiLCJvbkNsaWNrIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvV2JlRGFzaGJvYXJkL1RhYnMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcblxudHlwZSBQcm9wcyA9IHtcbiAgdGFiczogc3RyaW5nW107XG4gIHNlbGVjdGVkVGFiOiBzdHJpbmc7XG4gIGhhbmRsZU9uQ2xpY2s6ICh0YWI6IHN0cmluZykgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCBjb25zdCBUYWJzOiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyB0YWJzLCBzZWxlY3RlZFRhYiwgaGFuZGxlT25DbGljayB9ID0gcHJvcHM7XG5cbiAgcmV0dXJuIChcbiAgICA8VGFic0NvbnRhaW5lcj5cbiAgICAgIHt0YWJzLm1hcCgodGFiKSA9PiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAga2V5PXt0YWJ9XG4gICAgICAgICAgICBjbGFzc05hbWU9e2B0YWIgJHtzZWxlY3RlZFRhYiA9PT0gdGFiICYmICd0YWItLXNlbGVjdGVkJ31gfVxuICAgICAgICAgICAgaWQ9e3RhYn1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZU9uQ2xpY2sodGFiKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3Bhbj57dGFifTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKTtcbiAgICAgIH0pfVxuICAgIDwvVGFic0NvbnRhaW5lcj5cbiAgKTtcbn07XG5cbmNvbnN0IFRhYnNDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW46IDMwcHggMjBweDtcbiAgd2lkdGg6IG1heC1jb250ZW50O1xuXG4gIC50YWIge1xuICAgIHBhZGRpbmc6IDExcHggNTBweDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgcmdiKDE5NiwgMTk2LCAxOTYpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXdlaWdodDogMzAwO1xuXG4gICAgJi0tc2VsZWN0ZWQge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZTEwMDM2O1xuICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG4gIH1cbmA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBU08sSUFBTUMsSUFBcUIsR0FBQUMsT0FBQSxDQUFBRCxJQUFBLEdBQUcsU0FBeEJBLElBQXFCQSxDQUFJRSxLQUFLLEVBQUs7RUFDOUMsSUFBUUMsSUFBSSxHQUFpQ0QsS0FBSyxDQUExQ0MsSUFBSTtJQUFFQyxXQUFXLEdBQW9CRixLQUFLLENBQXBDRSxXQUFXO0lBQUVDLGFBQWEsR0FBS0gsS0FBSyxDQUF2QkcsYUFBYTtFQUV4QyxvQkFDRVIsTUFBQSxDQUFBUyxPQUFBLENBQUFDLGFBQUEsQ0FBQ0MsYUFBYSxRQUNYTCxJQUFJLENBQUNNLEdBQUcsQ0FBQyxVQUFDQyxHQUFHLEVBQUs7SUFDakIsb0JBQ0ViLE1BQUEsQ0FBQVMsT0FBQSxDQUFBQyxhQUFBO01BQ0VJLEdBQUcsRUFBRUQsR0FBSTtNQUNURSxTQUFTLFNBQUFDLE1BQUEsQ0FBU1QsV0FBVyxLQUFLTSxHQUFHLElBQUksZUFBZSxDQUFHO01BQzNESSxFQUFFLEVBQUVKLEdBQUk7TUFDUkssT0FBTyxFQUFFLFNBQUFBLFFBQUE7UUFBQSxPQUFNVixhQUFhLENBQUNLLEdBQUcsQ0FBQztNQUFBO0lBQUMsZ0JBRWxDYixNQUFBLENBQUFTLE9BQUEsQ0FBQUMsYUFBQSxlQUFPRyxHQUFVLENBQ2QsQ0FBQztFQUVWLENBQUMsQ0FDWSxDQUFDO0FBRXBCLENBQUM7QUFFRCxJQUFNRixhQUFhLEdBQUdRLHlCQUFNLENBQUNDLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxzTkFpQi9CIn0=
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.WbeDashboardPage =
|
|
8
|
+
exports.WbeDashboardPage = void 0;
|
|
9
9
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
|
|
10
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
11
11
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
@@ -38,19 +38,22 @@ var _Spinner = require("../../components/Spinner/Spinner");
|
|
|
38
38
|
var _WbeSummaryBar = require("./WbeSummaryBar");
|
|
39
39
|
var _ErrorBoundary = _interopRequireDefault(require("../../utilities/ErrorBoundary"));
|
|
40
40
|
var _theme = require("../../styles/theme/theme");
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
var _useKandoFetch3 = _interopRequireDefault(require("hooks/useKandoFetch"));
|
|
42
|
+
var _urls = require("utilities/urls");
|
|
43
43
|
var TABLE_ROWS_PER_PAGE = 25;
|
|
44
44
|
var MAPBOX_WBE_DASHBOARD_STYLE = 'ckzzkjsi7005f14o9im0mczs9';
|
|
45
|
-
var
|
|
46
|
-
exports.WBEIsraelId = WBEIsraelId;
|
|
47
|
-
var WbeDashboardPage = function WbeDashboardPage() {
|
|
45
|
+
var WbeDashboardPage = exports.WbeDashboardPage = function WbeDashboardPage() {
|
|
48
46
|
var getWAId = function getWAId() {
|
|
49
47
|
return query.get('water_authority_id');
|
|
50
48
|
};
|
|
51
49
|
var fetchUrl = function fetchUrl(firstParam) {
|
|
52
50
|
return "/api_ui/wbe_dashboard/".concat(selectedPathogen, "/").concat(firstParam, "?water_authority_id=").concat(getWAId());
|
|
53
51
|
};
|
|
52
|
+
var pathogensUrl = function pathogensUrl() {
|
|
53
|
+
return (0, _urls.urls)({
|
|
54
|
+
waterAuthorityId: getWAId()
|
|
55
|
+
}).wbeDashboard.pathogens.url;
|
|
56
|
+
};
|
|
54
57
|
var DEFAULT_TABS = [_i18n.default.t('components.wbe_dashboard.cities'), _i18n.default.t('components.wbe_dashboard.monitored_areas')];
|
|
55
58
|
var convertTabNameToParam = function convertTabNameToParam(tab_name) {
|
|
56
59
|
if (tab_name === _i18n.default.t('components.wbe_dashboard.cities')) {
|
|
@@ -64,9 +67,6 @@ var WbeDashboardPage = function WbeDashboardPage() {
|
|
|
64
67
|
var getPathogen = function getPathogen() {
|
|
65
68
|
return query.get('pathogen') || 'covid';
|
|
66
69
|
};
|
|
67
|
-
var pathogens = (0, _reactRedux.useSelector)(function (state) {
|
|
68
|
-
return state.permissions.pathogens;
|
|
69
|
-
});
|
|
70
70
|
var _useState = (0, _react.useState)([]),
|
|
71
71
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
72
72
|
currentData = _useState2[0],
|
|
@@ -99,6 +99,9 @@ var WbeDashboardPage = function WbeDashboardPage() {
|
|
|
99
99
|
data = _useKandoFetch.data,
|
|
100
100
|
isFetching = _useKandoFetch.isFetching,
|
|
101
101
|
setFetching = _useKandoFetch.setFetching;
|
|
102
|
+
var _UseKandoFetch = (0, _useKandoFetch3.default)(pathogensUrl()),
|
|
103
|
+
pathogens = _UseKandoFetch.data,
|
|
104
|
+
isFetchingPathogens = _UseKandoFetch.isFetching;
|
|
102
105
|
var dispatch = (0, _reactRedux.useDispatch)();
|
|
103
106
|
var navContext = (0, _reactRedux.useSelector)(function (state) {
|
|
104
107
|
return state.nav_context_data.navContext;
|
|
@@ -329,11 +332,11 @@ var WbeDashboardPage = function WbeDashboardPage() {
|
|
|
329
332
|
initializeComponent();
|
|
330
333
|
}
|
|
331
334
|
}, [isFetching, selectedPathogen, data]);
|
|
332
|
-
var pathogenTitle = pathogens.find(function (item) {
|
|
335
|
+
var pathogenTitle = !isFetchingPathogens && (pathogens === null || pathogens === void 0 ? void 0 : pathogens.find(function (item) {
|
|
333
336
|
return item.toLowerCase() === selectedPathogen.toLowerCase();
|
|
334
|
-
});
|
|
337
|
+
})) || '';
|
|
335
338
|
var dropDownTitle = pathogenTitle || _i18n.default.t('components.wbe_dashboard.pathogen_not_found');
|
|
336
|
-
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Content, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("h1", null, "".concat(_i18n.default.t('components.wbe_dashboard.table_name'), " (").concat(pathogenTitle || getPathogen(), ")")), /*#__PURE__*/_react.default.createElement(ActionsContainer, null, pathogens.length > 1 && /*#__PURE__*/_react.default.createElement(_DropdownButton.default, {
|
|
339
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(Content, null, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("h1", null, "".concat(_i18n.default.t('components.wbe_dashboard.table_name'), " (").concat(pathogenTitle || getPathogen(), ")")), !isFetchingPathogens && pathogens.length === 0 && /*#__PURE__*/_react.default.createElement("h3", null, _i18n.default.t('components.wbe_dashboard.pathogen_not_found')), /*#__PURE__*/_react.default.createElement(ActionsContainer, null, !isFetchingPathogens && pathogens.length > 1 && /*#__PURE__*/_react.default.createElement(_DropdownButton.default, {
|
|
337
340
|
id: "dropdown-basic-button",
|
|
338
341
|
className: 'button button--sort',
|
|
339
342
|
title: dropDownTitle + ' ',
|
|
@@ -385,7 +388,6 @@ var WbeDashboardPage = function WbeDashboardPage() {
|
|
|
385
388
|
defaultSortFieldId: 3
|
|
386
389
|
})))));
|
|
387
390
|
};
|
|
388
|
-
exports.WbeDashboardPage = WbeDashboardPage;
|
|
389
391
|
var RowName = _styledComponents.default.div.withConfig({
|
|
390
392
|
displayName: "WbeDashboardPage__RowName",
|
|
391
393
|
componentId: "sc-14f81cv-0"
|
|
@@ -412,4 +414,4 @@ var Content = _styledComponents.default.div.withConfig({
|
|
|
412
414
|
displayName: "WbeDashboardPage__Content",
|
|
413
415
|
componentId: "sc-14f81cv-5"
|
|
414
416
|
})(["@media (max-width:576px){padding:20px;}h1{font-weight:bold;}padding:60px 60px;"]);
|
|
415
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVhY3RSZWR1eCIsIl9yZWFjdFJvdXRlckRvbSIsIl9BbmFseXRpY3MiLCJfU2VhcmNoSW5wdXQiLCJfcmVhY3RGb250YXdlc29tZSIsIl9HcmFwaFdyYXBwZXIiLCJfZnJlZVNvbGlkU3ZnSWNvbnMiLCJfYWN0aW9ucyIsIl9UaG91c2FuZHNUb0siLCJfRHJpbGxEb3duSWNvbiIsIl9CYXNlTGV2ZWwiLCJfcmVhY3REYXRhVGFibGVDb21wb25lbnQiLCJfbnZsU3RhdHVzSGVscGVyIiwiX01hcCIsIl9LYW5kb1RhYmxlIiwiX1RhYnMiLCJfdXNlS2FuZG9GZXRjaDIiLCJfdXNlUXVlcnlVUkwiLCJfRHJvcGRvd24iLCJfRHJvcGRvd25CdXR0b24iLCJfYXhpb3MiLCJfVHJ1bmNhdGUiLCJfRXhwYW5kYWJsZUNvbXBvbmVudCIsIl9TcGlubmVyIiwiX1diZVN1bW1hcnlCYXIiLCJfRXJyb3JCb3VuZGFyeSIsIl90aGVtZSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiVEFCTEVfUk9XU19QRVJfUEFHRSIsIk1BUEJPWF9XQkVfREFTSEJPQVJEX1NUWUxFIiwiV0JFSXNyYWVsSWQiLCJleHBvcnRzIiwiV2JlRGFzaGJvYXJkUGFnZSIsImdldFdBSWQiLCJxdWVyeSIsImZldGNoVXJsIiwiZmlyc3RQYXJhbSIsImNvbmNhdCIsInNlbGVjdGVkUGF0aG9nZW4iLCJERUZBVUxUX1RBQlMiLCJpMThuIiwidCIsImNvbnZlcnRUYWJOYW1lVG9QYXJhbSIsInRhYl9uYW1lIiwidXNlUXVlcnlVUkwiLCJnZXRQYXRob2dlbiIsInBhdGhvZ2VucyIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJwZXJtaXNzaW9ucyIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImN1cnJlbnREYXRhIiwic2V0Q3VycmVudERhdGEiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsIm1hcEFyZWFzIiwic2V0TWFwQXJlYXMiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsIm1hcFpvb20iLCJzZXRNYXBab29tIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJyb3dzIiwic2V0Um93cyIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUxMCIsInRhYnMiLCJzZXRUYWJzIiwiX3VzZVN0YXRlMTEiLCJfdXNlU3RhdGUxMiIsInNlbGVjdGVkVGFiIiwic2V0U2VsZWN0ZWRUYWIiLCJfdXNlU3RhdGUxMyIsIl91c2VTdGF0ZTE0Iiwic2V0U2VsZWN0ZWRQYXRob2dlbiIsIl91c2VLYW5kb0ZldGNoIiwidXNlS2FuZG9GZXRjaCIsImRhdGEiLCJpc0ZldGNoaW5nIiwic2V0RmV0Y2hpbmciLCJkaXNwYXRjaCIsInVzZURpc3BhdGNoIiwibmF2Q29udGV4dCIsIm5hdl9jb250ZXh0X2RhdGEiLCJnbG9iYWxEYXRhIiwiZ2xvYmFsX2RhdGEiLCJpc1J0bCIsImxvY2FsZSIsImNvbG9yRm9yUm93Iiwicm93IiwicXVhbGl0eSIsInNhbXBsZV9hY3RpdmUiLCJpc0luZmVjdGVkIiwibnZsIiwiY29sdW1ucyIsIlJlYWN0IiwidXNlTWVtbyIsIm5hbWUiLCJzZWxlY3RvciIsInNvcnRhYmxlIiwiY2VsbCIsImNyZWF0ZUVsZW1lbnQiLCJSb3dOYW1lIiwiY2xhc3NOYW1lIiwib25DbGljayIsImhhbmRsZUFyZWFDbGljayIsImhhc19jaGlsZHJlbiIsIlJlYWN0Q29tcG9uZW50IiwiY2hhcmFjdGVycyIsImluaGVyaXRUZXh0QWxpZ24iLCJudmxfY2hhbmdlIiwic3R5bGUiLCJkaXJlY3Rpb24iLCJjb2xvciIsIm1hcmdpbiIsIkZvbnRBd2Vzb21lSWNvbiIsImljb24iLCJmYUNoZXZyb25VcCIsImZhQ2hldnJvbkRvd24iLCJsYXN0X3VwZGF0ZWQiLCJEYXRlIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwiR3JhcGhXcmFwcGVyIiwiaWQiLCJ3YXRlcl9hdXRob3JpdHlfaWQiLCJwYXRob2dlbiIsInBvcHVsYXRpb24iLCJrRm9ybWF0dGVyIiwicGFyc2VJbnQiLCJpbml0aWFsaXplTWFwQXJlYXMiLCJhcmVhcyIsIm1hcHBlZFdpdGhDb2xvciIsIm1hcCIsImEiLCJ3YmVfZGFzaGJvYXJkX25hbWUiLCJzaG93Q29sb3JPbmx5SW5Cb3JkZXJzIiwidGhlbWUiLCJjb2xvclNjaGVtZSIsIm5hdHVyYWwiLCJuNjAiLCJSMTAwIiwiRzEwMCIsInpvb21Ub0FyZWEiLCJhcmVhIiwic2hhcGVfZGF0YSIsInVuZGVmaW5lZCIsInpvb21BbGxBcmVhcyIsInNoYXBlRGF0YSIsImRhdHVtIiwibGV2ZWxOVkwiLCJoaXN0b3J5IiwidXNlSGlzdG9yeSIsIndhdGVyQXV0aG9yaXR5SWQiLCJkaXIiLCJEaXJlY3Rpb24iLCJSVEwiLCJMVFIiLCJmaWx0ZXJSZXN1bHRzQW5kU2V0Um93cyIsInRleHQiLCJyZXN1bHRzIiwiZmlsdGVyIiwiZWwiLCJ0b0xvd2VyQ2FzZSIsImluY2x1ZGVzIiwiaGFuZGxlT25Sb3dFeHBhbmQiLCJleHBhbmRlZCIsIndhdGVyQXV0aG9yaXR5TmFtZSIsImhhbmRsZVNlbGVjdFBhdGhvZ2VuQ2xpY2siLCJhbmFseXRpY3NUcmFjayIsInV0aWxpdHlfbmFtZSIsInB1c2giLCJmZXRjaEZvclRhYlNlbGVjdGlvbiIsInRhYiIsImF4aW9zIiwidGhlbiIsInJlc3BvbnNlIiwicmVzcG9uc2VEYXRhIiwiaGFuZGxlVGFiU2VsZWN0aW9uQ2xpY2siLCJpbml0aWFsaXplRHJpbGxlZEFyZWEiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwiaW5pdGlhbGl6ZUNvbXBvbmVudCIsInVwZGF0ZU5hdkNvbnRleHQiLCJ1c2VFZmZlY3QiLCJwYXRob2dlblRpdGxlIiwiZmluZCIsIml0ZW0iLCJkcm9wRG93blRpdGxlIiwiRnJhZ21lbnQiLCJDb250ZW50IiwiQWN0aW9uc0NvbnRhaW5lciIsImxlbmd0aCIsInRpdGxlIiwidmFyaWFudCIsIkl0ZW0iLCJocmVmIiwidGV4dEFsaWduIiwiRmlyc3RTZWN0aW9uIiwiV2JlU3VtbWFyeUJhciIsIlNlY29uZFNlY3Rpb24iLCJTZWFyY2hJbnB1dCIsIm9uQ2hhbmdlQmVoYXZpb3IiLCJUYWJzIiwiaGFuZGxlT25DbGljayIsIk1hcFRhYmxlQ29udGFpbmVyIiwiU3Bpbm5lciIsIk1hcCIsImFyZWFUb0NlbnRlckJ5IiwiZWRnZXMiLCJwb2ludHMiLCJtYXBCb3hTdHlsZSIsIkthbmRvVGFibGUiLCJvblJvd0V4cGFuZFRvZ2dsZWQiLCJleHBhbmRhYmxlUm93cyIsInBhZ2luYXRpb25QZXJQYWdlIiwicm93Q29tcG9uZW50IiwiRXhwYW5kZWRDb21wb25lbnQiLCJleHBhbmRhYmxlUm93c0NvbXBvbmVudFByb3BzIiwiZGVmYXVsdFNvcnRGaWVsZElkIiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJwIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhZ2VzL1diZURhc2hib2FyZC9XYmVEYXNoYm9hcmRQYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyB1c2VIaXN0b3J5IH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBhbmFseXRpY3NUcmFjayB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9BbmFseXRpY3MnO1xuaW1wb3J0IHsgU2VhcmNoSW5wdXQgfSBmcm9tICcuL1NlYXJjaElucHV0JztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgeyBHcmFwaFdyYXBwZXIgfSBmcm9tICcuL0dyYXBoV3JhcHBlcic7XG5pbXBvcnQgeyBmYUNoZXZyb25Eb3duLCBmYUNoZXZyb25VcCB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHsgdXBkYXRlTmF2Q29udGV4dCB9IGZyb20gJy4uLy4uL3N0b3JlL2NvbnRleHQvYWN0aW9ucyc7XG5pbXBvcnQgeyBrRm9ybWF0dGVyIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL1Rob3VzYW5kc1RvSyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBEcmlsbERvd25JY29uIH0gZnJvbSAnLi9EcmlsbERvd25JY29uLnN2Zyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBCYXNlTGV2ZWwgfSBmcm9tICcuL0Jhc2VMZXZlbC5zdmcnO1xuaW1wb3J0IHsgRGlyZWN0aW9uIH0gZnJvbSAncmVhY3QtZGF0YS10YWJsZS1jb21wb25lbnQnO1xuaW1wb3J0IHsgbGV2ZWxOVkwgfSBmcm9tICcuLi9Db3ZpZFBhZ2UvY29tcG9uZW50cy9udmxTdGF0dXNIZWxwZXInO1xuaW1wb3J0IHsgTWFwIH0gZnJvbSAnLi4vLi4vV2lkZ2V0cy9NYXAvTWFwJztcbmltcG9ydCB7IEthbmRvVGFibGUgfSBmcm9tICdzcmMvdWkta2l0L0thbmRvVGFibGUvS2FuZG9UYWJsZSc7XG5pbXBvcnQgeyBUYWJzIH0gZnJvbSAnLi9UYWJzJztcbmltcG9ydCB1c2VLYW5kb0ZldGNoIGZyb20gJy4uLy4uL2hvb2tzL3VzZUthbmRvRmV0Y2gnO1xuaW1wb3J0IHVzZVF1ZXJ5VVJMIGZyb20gJy4uLy4uL2hvb2tzL3VzZVF1ZXJ5VVJMJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IERyb3Bkb3duIGZyb20gJ3JlYWN0LWJvb3RzdHJhcC9janMvRHJvcGRvd24nO1xuaW1wb3J0IERyb3Bkb3duQnV0dG9uIGZyb20gJ3JlYWN0LWJvb3RzdHJhcC9janMvRHJvcGRvd25CdXR0b24nO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCBUcnVuY2F0ZSBmcm9tICcuLi8uLi91dGlsaXRpZXMvVHJ1bmNhdGUnO1xuaW1wb3J0IHsgRXhwYW5kZWRDb21wb25lbnQgfSBmcm9tICcuL0V4cGFuZGFibGVDb21wb25lbnQnO1xuaW1wb3J0IHsgU3Bpbm5lciB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvU3Bpbm5lci9TcGlubmVyJztcbmltcG9ydCB7IFdiZVN1bW1hcnlCYXIgfSBmcm9tICcuL1diZVN1bW1hcnlCYXInO1xuaW1wb3J0IEVycm9yQm91bmRhcnkgZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0Vycm9yQm91bmRhcnknO1xuaW1wb3J0IHsgdGhlbWUgfSBmcm9tICcuLi8uLi9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuY29uc3QgVEFCTEVfUk9XU19QRVJfUEFHRSA9IDI1O1xuY29uc3QgTUFQQk9YX1dCRV9EQVNIQk9BUkRfU1RZTEUgPSAnY2t6emtqc2k3MDA1ZjE0bzlpbTBtY3pzOSc7XG5cbmV4cG9ydCBjb25zdCBXQkVJc3JhZWxJZCA9IDQ2MztcbmV4cG9ydCBjb25zdCBXYmVEYXNoYm9hcmRQYWdlID0gKCkgPT4ge1xuICBjb25zdCBnZXRXQUlkID0gKCkgPT4ge1xuICAgIHJldHVybiBxdWVyeS5nZXQoJ3dhdGVyX2F1dGhvcml0eV9pZCcpO1xuICB9O1xuICBjb25zdCBmZXRjaFVybCA9IChmaXJzdFBhcmFtKSA9PiB7XG4gICAgcmV0dXJuIGAvYXBpX3VpL3diZV9kYXNoYm9hcmQvJHtzZWxlY3RlZFBhdGhvZ2VufS8ke2ZpcnN0UGFyYW19P3dhdGVyX2F1dGhvcml0eV9pZD0ke2dldFdBSWQoKX1gO1xuICB9O1xuICBjb25zdCBERUZBVUxUX1RBQlMgPSBbXG4gICAgaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQuY2l0aWVzJyksXG4gICAgaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQubW9uaXRvcmVkX2FyZWFzJyksXG4gIF07XG4gIGNvbnN0IGNvbnZlcnRUYWJOYW1lVG9QYXJhbSA9ICh0YWJfbmFtZTogc3RyaW5nKSA9PiB7XG4gICAgaWYgKHRhYl9uYW1lID09PSBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5jaXRpZXMnKSkge1xuICAgICAgcmV0dXJuICdjaXR5JztcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgdGFiX25hbWUgPT09IGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLm1vbml0b3JlZF9hcmVhcycpXG4gICAgKSB7XG4gICAgICByZXR1cm4gJ21vbml0b3JlZCc7XG4gICAgfVxuXG4gICAgcmV0dXJuICdjaXR5JztcbiAgfTtcbiAgY29uc3QgcXVlcnkgPSB1c2VRdWVyeVVSTCgpO1xuICBjb25zdCBnZXRQYXRob2dlbiA9ICgpID0+IHtcbiAgICByZXR1cm4gcXVlcnkuZ2V0KCdwYXRob2dlbicpIHx8ICdjb3ZpZCc7XG4gIH07XG5cbiAgY29uc3QgcGF0aG9nZW5zID0gdXNlU2VsZWN0b3IoKHN0YXRlKSA9PiBzdGF0ZS5wZXJtaXNzaW9ucy5wYXRob2dlbnMpO1xuXG4gIGNvbnN0IFtjdXJyZW50RGF0YSwgc2V0Q3VycmVudERhdGFdID0gdXNlU3RhdGUoW10pO1xuICBjb25zdCBbbWFwQXJlYXMsIHNldE1hcEFyZWFzXSA9IHVzZVN0YXRlPGFueVtdPihbXSk7XG4gIGNvbnN0IFttYXBab29tLCBzZXRNYXBab29tXSA9IHVzZVN0YXRlPGFueVtdPihbXSk7XG4gIGNvbnN0IFtyb3dzLCBzZXRSb3dzXSA9IHVzZVN0YXRlPGFueT4oW10pO1xuICBjb25zdCBbdGFicywgc2V0VGFic10gPSB1c2VTdGF0ZTxzdHJpbmdbXT4oREVGQVVMVF9UQUJTKTtcbiAgY29uc3QgW3NlbGVjdGVkVGFiLCBzZXRTZWxlY3RlZFRhYl0gPSB1c2VTdGF0ZTxzdHJpbmc+KHRhYnNbMF0pO1xuICBjb25zdCBbc2VsZWN0ZWRQYXRob2dlbiwgc2V0U2VsZWN0ZWRQYXRob2dlbl0gPSB1c2VTdGF0ZTxzdHJpbmc+KFxuICAgIGdldFBhdGhvZ2VuKCksXG4gICk7XG4gIGNvbnN0IHsgZGF0YSwgaXNGZXRjaGluZywgc2V0RmV0Y2hpbmcgfSA9IHVzZUthbmRvRmV0Y2goXG4gICAgZmV0Y2hVcmwoY29udmVydFRhYk5hbWVUb1BhcmFtKHNlbGVjdGVkVGFiKSksXG4gICk7XG5cbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBuYXZDb250ZXh0ID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT4gc3RhdGUubmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LFxuICApO1xuICBjb25zdCBnbG9iYWxEYXRhID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT4gc3RhdGUuZ2xvYmFsX2RhdGEsXG4gICk7XG4gIGNvbnN0IGlzUnRsOiBib29sZWFuID0gbmF2Q29udGV4dC5sb2NhbGUgPT09ICdoZScgPyB0cnVlIDogZmFsc2U7XG4gIGNvbnN0IGNvbG9yRm9yUm93ID0gKHJvdykgPT4ge1xuICAgIGxldCBxdWFsaXR5O1xuICAgIGlmICghcm93LnNhbXBsZV9hY3RpdmUpIHtcbiAgICAgIHF1YWxpdHkgPSAnaW5hY3RpdmUtc2FtcGxpbmcnO1xuICAgIH0gZWxzZSBpZiAoaXNJbmZlY3RlZChyb3cubnZsKSkge1xuICAgICAgcXVhbGl0eSA9ICdpbmZlY3RlZCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHF1YWxpdHkgPSAnY2xlYW4nO1xuICAgIH1cblxuICAgIHJldHVybiBgcm93X25hbWUtLSR7cXVhbGl0eX1gO1xuICB9O1xuICBjb25zdCBjb2x1bW5zOiBhbnkgPSBSZWFjdC51c2VNZW1vKFxuICAgICgpID0+IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQubmFtZScpLFxuICAgICAgICBzZWxlY3RvcjogKHJvdykgPT4gcm93Lm5hbWUsXG4gICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICBjZWxsOiAocm93OiB7IG5hbWU6IHN0cmluZzsgbnZsOiBudW1iZXI7IGhhc19jaGlsZHJlbjogYm9vbGVhbiB9KSA9PiAoXG4gICAgICAgICAgPFJvd05hbWUgaXNSdGw9e2lzUnRsfT5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgZGF0YS10YWc9XCJhbGxvd1Jvd0V2ZW50c1wiXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17YHJvd19uYW1lICR7Y29sb3JGb3JSb3cocm93KX1gfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgaGFuZGxlQXJlYUNsaWNrKHJvdyk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXhwYW5kYWJsZS1pY29uJ30+XG4gICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICB7cm93Lmhhc19jaGlsZHJlbiAmJiA8RHJpbGxEb3duSWNvbiAvPn1cbiAgICAgICAgICAgICAgICAgIHshcm93Lmhhc19jaGlsZHJlbiAmJiA8QmFzZUxldmVsIC8+fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17J25hbWUnfT5cbiAgICAgICAgICAgICAgICA8VHJ1bmNhdGUgY2hhcmFjdGVycz17M30gaW5oZXJpdFRleHRBbGlnbj17dHJ1ZX0+XG4gICAgICAgICAgICAgICAgICB7cm93Lm5hbWV9XG4gICAgICAgICAgICAgICAgPC9UcnVuY2F0ZT5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9Sb3dOYW1lPlxuICAgICAgICApLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQubnZsX3Njb3JlJyksXG4gICAgICAgIHNlbGVjdG9yOiAocm93KSA9PiByb3cubnZsLFxuICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgY2VsbDogKHJvdzogeyBudmw6IG51bWJlciB9KSA9PiAoXG4gICAgICAgICAgPGRpdiBkYXRhLXRhZz1cImFsbG93Um93RXZlbnRzXCI+e3Jvdy5udmx9PC9kaXY+XG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5wZXJjZW50YWdlX2Zyb21fbGFzdF9zYW1wbGluZycpLFxuICAgICAgICBzZWxlY3RvcjogKHJvdykgPT4gcm93Lm52bF9jaGFuZ2UsXG4gICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICBjZWxsOiAocm93OiB7IG52bF9jaGFuZ2U6IG51bWJlciB9KSA9PiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgZGF0YS10YWc9XCJhbGxvd1Jvd0V2ZW50c1wiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBkaXJlY3Rpb246ICdsdHInLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBjb2xvcjogJyMwMDAwMDAnLCBtYXJnaW46ICcwIDZweCcgfX0+XG4gICAgICAgICAgICAgIHtyb3cubnZsX2NoYW5nZX0lXG4gICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgPEZvbnRBd2Vzb21lSWNvblxuICAgICAgICAgICAgICAgIGljb249e3Jvdy5udmxfY2hhbmdlID4gMCA/IGZhQ2hldnJvblVwIDogZmFDaGV2cm9uRG93bn1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLmxhc3Rfc2FtcGxlZCcpLFxuICAgICAgICBzZWxlY3RvcjogJ2xhc3Rfc2FtcGxlZCcsXG4gICAgICAgIHNvcnRhYmxlOiAocm93KSA9PiByb3cubGFzdF91cGRhdGVkLFxuICAgICAgICBjZWxsOiAocm93OiB7IGxhc3RfdXBkYXRlZDogc3RyaW5nIH0pID0+IChcbiAgICAgICAgICA8ZGl2IGRhdGEtdGFnPVwiYWxsb3dSb3dFdmVudHNcIj5cbiAgICAgICAgICAgIHtyb3cubGFzdF91cGRhdGVkID09PSBudWxsXG4gICAgICAgICAgICAgID8gJy0nXG4gICAgICAgICAgICAgIDogbmV3IERhdGUocm93Lmxhc3RfdXBkYXRlZCkudG9Mb2NhbGVEYXRlU3RyaW5nKCdlbi1HQicpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQudHJlbmRfZ3JhcGgnKSxcbiAgICAgICAgc2VsZWN0b3I6ICd0cmVuZF9ncmFwaCcsXG4gICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICBjZWxsOiAocm93OiB7IGlkOiBudW1iZXIgfSkgPT4gKFxuICAgICAgICAgIDxkaXYgZGF0YS10YWc9XCJhbGxvd1Jvd0V2ZW50c1wiPlxuICAgICAgICAgICAgPEdyYXBoV3JhcHBlclxuICAgICAgICAgICAgICBrZXk9e3Jvdy5pZH1cbiAgICAgICAgICAgICAgcm93PXtyb3d9XG4gICAgICAgICAgICAgIHdhdGVyX2F1dGhvcml0eV9pZD17Z2V0V0FJZCgpfVxuICAgICAgICAgICAgICBwYXRob2dlbj17c2VsZWN0ZWRQYXRob2dlbn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5wb3B1bGF0aW9uJyksXG4gICAgICAgIHNlbGVjdG9yOiAocm93KSA9PiByb3cucG9wdWxhdGlvbixcbiAgICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICAgIGNlbGw6IChyb3c6IHsgcG9wdWxhdGlvbjogc3RyaW5nIH0pID0+IChcbiAgICAgICAgICA8ZGl2IGRhdGEtdGFnPVwiYWxsb3dSb3dFdmVudHNcIj5cbiAgICAgICAgICAgIHtrRm9ybWF0dGVyKHBhcnNlSW50KHJvdy5wb3B1bGF0aW9uKSl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICksXG4gICAgICB9LFxuICAgIF0sXG4gICAgW2lzUnRsLCBzZWxlY3RlZFBhdGhvZ2VuXSxcbiAgKTtcblxuICBjb25zdCBpbml0aWFsaXplTWFwQXJlYXMgPSAoYXJlYXMpID0+IHtcbiAgICBjb25zdCBtYXBwZWRXaXRoQ29sb3IgPSBhcmVhcy5tYXAoKGE6IGFueSkgPT4ge1xuICAgICAgYS53YmVfZGFzaGJvYXJkX25hbWUgPSBhLm5hbWU7XG4gICAgICBhLnNob3dDb2xvck9ubHlJbkJvcmRlcnMgPSB0cnVlO1xuXG4gICAgICBpZiAoIWEuc2FtcGxlX2FjdGl2ZSkge1xuICAgICAgICBhLmNvbG9yID0gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uNjA7XG4gICAgICAgIHJldHVybiBhO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNJbmZlY3RlZChhLm52bCkpIHtcbiAgICAgICAgYS5jb2xvciA9IHRoZW1lLmNvbG9yU2NoZW1lLmRhdGEuUjEwMDtcbiAgICAgICAgcmV0dXJuIGE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhLmNvbG9yID0gdGhlbWUuY29sb3JTY2hlbWUuZGF0YS5HMTAwO1xuICAgICAgICByZXR1cm4gYTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHNldE1hcEFyZWFzKG1hcHBlZFdpdGhDb2xvcik7XG4gIH07XG5cbiAgY29uc3Qgem9vbVRvQXJlYSA9IChhcmVhKSA9PiB7XG4gICAgYXJlYS5zaGFwZV9kYXRhICE9PSB1bmRlZmluZWQgJiYgc2V0TWFwWm9vbShhcmVhLnNoYXBlX2RhdGEpO1xuICB9O1xuXG4gIGNvbnN0IHpvb21BbGxBcmVhcyA9IChkYXRhKSA9PiB7XG4gICAgY29uc3Qgc2hhcGVEYXRhID0gZGF0YS5tYXAoKGRhdHVtKSA9PiB7XG4gICAgICByZXR1cm4gZGF0dW0uc2hhcGVfZGF0YTtcbiAgICB9KTtcblxuICAgIHNldE1hcFpvb20oc2hhcGVEYXRhKTtcbiAgfTtcblxuICBjb25zdCBpc0luZmVjdGVkID0gKG52bDogbnVtYmVyKSA9PiB7XG4gICAgaWYgKGxldmVsTlZMKG52bCkgPT09ICdjbGVhbicpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgbGV2ZWxOVkwobnZsKSA9PT0gJ2xvdycgfHxcbiAgICAgIGxldmVsTlZMKG52bCkgPT09ICdtZWRpdW0nIHx8XG4gICAgICBsZXZlbE5WTChudmwpID09PSAnaGlnaCdcbiAgICApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybjtcbiAgfTtcbiAgY29uc3QgaGlzdG9yeSA9IHVzZUhpc3RvcnkoKTtcbiAgY29uc3Qgd2F0ZXJBdXRob3JpdHlJZCA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+XG4gICAgICBzdGF0ZS5nbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLFxuICApO1xuXG4gIGNvbnN0IGRpcjogRGlyZWN0aW9uID1cbiAgICBuYXZDb250ZXh0LmxvY2FsZSA9PT0gJ2hlJyA/IERpcmVjdGlvbi5SVEwgOiBEaXJlY3Rpb24uTFRSO1xuXG4gIGNvbnN0IGZpbHRlclJlc3VsdHNBbmRTZXRSb3dzID0gKHRleHQ6IHN0cmluZykgPT4ge1xuICAgIGxldCByZXN1bHRzID0gY3VycmVudERhdGEuZmlsdGVyKGZ1bmN0aW9uIChlbDogYW55KSB7XG4gICAgICByZXR1cm4gZWwubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRleHQudG9Mb3dlckNhc2UoKSk7XG4gICAgfSk7XG5cbiAgICBzZXRSb3dzKHJlc3VsdHMpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZU9uUm93RXhwYW5kID0gKGV4cGFuZGVkLCByb3cpID0+IHtcbiAgICBleHBhbmRlZCAmJiB6b29tVG9BcmVhKHJvdyk7XG4gICAgIWV4cGFuZGVkICYmIHpvb21BbGxBcmVhcyhkYXRhKTtcbiAgfTtcblxuICBjb25zdCB3YXRlckF1dGhvcml0eU5hbWUgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGUpID0+IHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZSxcbiAgKTtcblxuICBjb25zdCBoYW5kbGVTZWxlY3RQYXRob2dlbkNsaWNrID0gKHBhdGhvZ2VuKSA9PiB7XG4gICAgYW5hbHl0aWNzVHJhY2soJ1dCRSBTdGF0dXMgUmVwb3J0IC0gUGF0aG9nZW4gY2hhbmdlIGNsaWNrZWQnLCB7XG4gICAgICBwYXRob2dlbjogcGF0aG9nZW4sXG4gICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgICBzZXRTZWxlY3RlZFBhdGhvZ2VuKHBhdGhvZ2VuKTtcbiAgICBoaXN0b3J5LnB1c2goXG4gICAgICBgL3diZV9kYXNoYm9hcmQvaW5kZXg/bG9jYWxlPSR7bmF2Q29udGV4dC5sb2NhbGV9JndhdGVyX2F1dGhvcml0eV9pZD0ke3dhdGVyQXV0aG9yaXR5SWR9JnBhdGhvZ2VuPSR7cGF0aG9nZW59YCxcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGZldGNoRm9yVGFiU2VsZWN0aW9uID0gKHRhYikgPT4ge1xuICAgIHNldEZldGNoaW5nKHRydWUpO1xuICAgIGF4aW9zLmdldChmZXRjaFVybCh0YWIpKS50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgbGV0IHJlc3BvbnNlRGF0YSA9IHJlc3BvbnNlLmRhdGEuZGF0YTtcblxuICAgICAgc2V0RmV0Y2hpbmcoZmFsc2UpO1xuICAgICAgc2V0VGFicyhERUZBVUxUX1RBQlMpO1xuICAgICAgc2V0Um93cyhyZXNwb25zZURhdGEpO1xuICAgICAgc2V0Q3VycmVudERhdGEocmVzcG9uc2VEYXRhKTtcbiAgICAgIGluaXRpYWxpemVNYXBBcmVhcyhyZXNwb25zZURhdGEpO1xuICAgICAgem9vbUFsbEFyZWFzKHJlc3BvbnNlRGF0YSk7XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlVGFiU2VsZWN0aW9uQ2xpY2sgPSAodGFiKSA9PiB7XG4gICAgaWYgKCFpc0ZldGNoaW5nKSB7XG4gICAgICBzZXRTZWxlY3RlZFRhYih0YWIpO1xuXG4gICAgICBpZiAodGFiICE9PSBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5jdXN0b20nKSkge1xuICAgICAgICB0YWIgPVxuICAgICAgICAgIHRhYiA9PT0gaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQuY2l0aWVzJylcbiAgICAgICAgICAgID8gJ2NpdHknXG4gICAgICAgICAgICA6IHRhYiA9PT0gaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQubW9uaXRvcmVkX2FyZWFzJylcbiAgICAgICAgICAgID8gJ21vbml0b3JlZCdcbiAgICAgICAgICAgIDogJyc7XG5cbiAgICAgICAgZmV0Y2hGb3JUYWJTZWxlY3Rpb24odGFiKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaW5pdGlhbGl6ZURyaWxsZWRBcmVhID0gKHJlc3BvbnNlKSA9PiB7XG4gICAgbGV0IGRhdGEgPSByZXNwb25zZS5kYXRhLmRhdGE7XG4gICAgc2V0Um93cyhkYXRhKTtcbiAgICBzZXRDdXJyZW50RGF0YShkYXRhKTtcbiAgICBpbml0aWFsaXplTWFwQXJlYXMoZGF0YSk7XG4gICAgem9vbUFsbEFyZWFzKGRhdGEpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUFyZWFDbGljayA9IChhcmVhKSA9PiB7XG4gICAgem9vbVRvQXJlYShhcmVhKTtcblxuICAgIGlmIChhcmVhLmhhc19jaGlsZHJlbikge1xuICAgICAgc2V0VGFicyhbLi4udGFicywgaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQuY3VzdG9tJyldKTtcbiAgICAgIHNldFNlbGVjdGVkVGFiKGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLmN1c3RvbScpKTtcblxuICAgICAgYXhpb3MuZ2V0KGZldGNoVXJsKGFyZWEuaWQpKS50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICBpbml0aWFsaXplRHJpbGxlZEFyZWEocmVzcG9uc2UpO1xuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGluaXRpYWxpemVDb21wb25lbnQgPSAoKSA9PiB7XG4gICAgc2V0Q3VycmVudERhdGEoZGF0YSk7XG4gICAgc2V0Um93cyhkYXRhKTtcbiAgICBhbmFseXRpY3NUcmFjaygnV0JFIFN0YXR1cyBSZXBvcnQnLCB7XG4gICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgICBkaXNwYXRjaCh1cGRhdGVOYXZDb250ZXh0KHsgbmFtZTogJ3diZV9kYXNoYm9hcmQnIH0pKTtcbiAgICBpbml0aWFsaXplTWFwQXJlYXMoZGF0YSk7XG4gICAgem9vbUFsbEFyZWFzKGRhdGEpO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc0ZldGNoaW5nICYmIGRhdGEgIT09IG51bGwpIHtcbiAgICAgIGluaXRpYWxpemVDb21wb25lbnQoKTtcbiAgICB9XG4gIH0sIFtpc0ZldGNoaW5nLCBzZWxlY3RlZFBhdGhvZ2VuLCBkYXRhXSk7XG5cbiAgY29uc3QgcGF0aG9nZW5UaXRsZSA9IHBhdGhvZ2Vucy5maW5kKFxuICAgIChpdGVtKSA9PiBpdGVtLnRvTG93ZXJDYXNlKCkgPT09IHNlbGVjdGVkUGF0aG9nZW4udG9Mb3dlckNhc2UoKSxcbiAgKTtcbiAgY29uc3QgZHJvcERvd25UaXRsZSA9XG4gICAgcGF0aG9nZW5UaXRsZSB8fCBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5wYXRob2dlbl9ub3RfZm91bmQnKTtcbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPENvbnRlbnQ+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGgxPlxuICAgICAgICAgICAge2Ake2kxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLnRhYmxlX25hbWUnKX0gKCR7XG4gICAgICAgICAgICAgIHBhdGhvZ2VuVGl0bGUgfHwgZ2V0UGF0aG9nZW4oKVxuICAgICAgICAgICAgfSlgfVxuICAgICAgICAgIDwvaDE+XG4gICAgICAgICAgPEFjdGlvbnNDb250YWluZXI+XG4gICAgICAgICAgICB7cGF0aG9nZW5zLmxlbmd0aCA+IDEgJiYgKFxuICAgICAgICAgICAgICA8RHJvcGRvd25CdXR0b25cbiAgICAgICAgICAgICAgICBpZD1cImRyb3Bkb3duLWJhc2ljLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXsnYnV0dG9uIGJ1dHRvbi0tc29ydCd9XG4gICAgICAgICAgICAgICAgdGl0bGU9e2Ryb3BEb3duVGl0bGUgKyAnICd9XG4gICAgICAgICAgICAgICAgdmFyaWFudD1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7cGF0aG9nZW5zLm1hcCgocGF0aG9nZW4pID0+IHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bi5JdGVtXG4gICAgICAgICAgICAgICAgICAgICAgaHJlZj1cIiNcIlxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVNlbGVjdFBhdGhvZ2VuQ2xpY2socGF0aG9nZW4pfVxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hdkNvbnRleHQubG9jYWxlID09PSAnaGUnID8gJ3JpZ2h0JyA6ICdsZWZ0JyxcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge3BhdGhvZ2VufVxuICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duLkl0ZW0+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICA8L0Ryb3Bkb3duQnV0dG9uPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L0FjdGlvbnNDb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8Rmlyc3RTZWN0aW9uPlxuICAgICAgICAgIDxXYmVTdW1tYXJ5QmFyXG4gICAgICAgICAgICBwYXRob2dlbj17c2VsZWN0ZWRQYXRob2dlbn1cbiAgICAgICAgICAgIHdhdGVyQXV0aG9yaXR5SWQ9e3dhdGVyQXV0aG9yaXR5SWR9XG4gICAgICAgICAgICBpc1J0bD17aXNSdGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9GaXJzdFNlY3Rpb24+XG5cbiAgICAgICAgPFNlY29uZFNlY3Rpb24+XG4gICAgICAgICAgPFNlYXJjaElucHV0IG9uQ2hhbmdlQmVoYXZpb3I9e2ZpbHRlclJlc3VsdHNBbmRTZXRSb3dzfSAvPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsndGFicy1jb250YWluZXInfT5cbiAgICAgICAgICAgIDxUYWJzXG4gICAgICAgICAgICAgIHRhYnM9e3RhYnN9XG4gICAgICAgICAgICAgIHNlbGVjdGVkVGFiPXtzZWxlY3RlZFRhYn1cbiAgICAgICAgICAgICAgaGFuZGxlT25DbGljaz17aGFuZGxlVGFiU2VsZWN0aW9uQ2xpY2t9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxNYXBUYWJsZUNvbnRhaW5lciBpc1J0bD17aXNSdGx9PlxuICAgICAgICAgICAge2lzRmV0Y2hpbmcgJiYgPFNwaW5uZXIgLz59XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J21hcC1jb250YWluZXInfT5cbiAgICAgICAgICAgICAgeyFpc0ZldGNoaW5nICYmIHJvd3MgIT09IG51bGwgJiYgbWFwWm9vbSAhPT0gbnVsbCAmJiAoXG4gICAgICAgICAgICAgICAgPEVycm9yQm91bmRhcnk+XG4gICAgICAgICAgICAgICAgICA8TWFwXG4gICAgICAgICAgICAgICAgICAgIGFyZWFzPXttYXBBcmVhc31cbiAgICAgICAgICAgICAgICAgICAgYXJlYVRvQ2VudGVyQnk9e21hcFpvb219XG4gICAgICAgICAgICAgICAgICAgIGVkZ2VzPXtbXX1cbiAgICAgICAgICAgICAgICAgICAgcG9pbnRzPXtbXX1cbiAgICAgICAgICAgICAgICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbERhdGF9XG4gICAgICAgICAgICAgICAgICAgIG1hcEJveFN0eWxlPXtNQVBCT1hfV0JFX0RBU0hCT0FSRF9TVFlMRX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9FcnJvckJvdW5kYXJ5PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB7IWlzRmV0Y2hpbmcgJiYgcm93cyAhPT0gbnVsbCAmJiAoXG4gICAgICAgICAgICAgIDxLYW5kb1RhYmxlXG4gICAgICAgICAgICAgICAgb25Sb3dFeHBhbmRUb2dnbGVkPXtoYW5kbGVPblJvd0V4cGFuZH1cbiAgICAgICAgICAgICAgICBkYXRhPXtyb3dzfVxuICAgICAgICAgICAgICAgIGNvbHVtbnM9e2NvbHVtbnN9XG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uPXtkaXJ9XG4gICAgICAgICAgICAgICAgZXhwYW5kYWJsZVJvd3M9e3RydWV9XG4gICAgICAgICAgICAgICAgcGFnaW5hdGlvblBlclBhZ2U9e1RBQkxFX1JPV1NfUEVSX1BBR0V9XG4gICAgICAgICAgICAgICAgcm93Q29tcG9uZW50PXtFeHBhbmRlZENvbXBvbmVudH1cbiAgICAgICAgICAgICAgICBleHBhbmRhYmxlUm93c0NvbXBvbmVudFByb3BzPXt7IHBhdGhvZ2VuOiBzZWxlY3RlZFBhdGhvZ2VuIH19XG4gICAgICAgICAgICAgICAgZGVmYXVsdFNvcnRGaWVsZElkPXszfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L01hcFRhYmxlQ29udGFpbmVyPlxuICAgICAgICA8L1NlY29uZFNlY3Rpb24+XG4gICAgICA8L0NvbnRlbnQ+XG4gICAgPC8+XG4gICk7XG59O1xuXG5jb25zdCBSb3dOYW1lID0gc3R5bGVkLmRpdjx7IGlzUnRsOiBib29sZWFuIH0+YFxuICAgIHdpZHRoOiAxMDAlO1xuICAgICAgXG4gICAgLnJvd19uYW1lIHtcbiAgICAgIC5leHBhbmRhYmxlLWljb24ge1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiAuMnMgZWFzZS1pbjsgICAgICBcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIDRweDtcbiAgICAgICAgXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDJweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi0tY2xlYW4ge1xuICAgICAgICAgY29sb3I6ICMyN2E2M2E7IFxuICAgICAgICAgLmV4cGFuZGFibGUtaWNvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjdhNjNhOyAgICAgICAgXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLS1pbmZlY3RlZCB7XG4gICAgICAgICAgY29sb3I6ICNlMTAwMzY7XG4gICAgICAgICAgLmV4cGFuZGFibGUtaWNvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZTEwMDM2OyAgICAgICAgXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLS1pbmFjdGl2ZS1zYW1wbGluZyB7XG4gICAgICAgICAgY29sb3I6ICR7dGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uNjB9O1xuICAgICAgICAgIC5leHBhbmRhYmxlLWljb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHt0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm42MH07ICAgICAgICBcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5uYW1lIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgICAgICAkeyhwKSA9PiAocC5pc1J0bCA/ICdyaWdodDogNTFweDsnIDogJ2xlZnQ6IDUxcHg7Jyl9XG4gICAgICAgICAgdG9wOiAxNnB4O1xuICAgICAgICAgIHdpZHRoOiA3LjVlbTtcbiAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAzcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIGA7XG5cbmNvbnN0IEFjdGlvbnNDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuY29uc3QgRmlyc3RTZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luOiA4NXB4IDAgMjBweCAwO1xuYDtcblxuY29uc3QgU2Vjb25kU2VjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJhY2tncm91bmQ6ICNmY2ZjZmM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlN2U3ZTc7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbmA7XG5cbmNvbnN0IE1hcFRhYmxlQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7IGlzUnRsOiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIC5tYXAtY29udGFpbmVyIHtcbiAgICB3aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAuZXZlbnQtdGltZXJhbmdlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgICNtYXAge1xuICAgICAgaGVpZ2h0OiA2OXZoO1xuICAgICAgd2lkdGg6IDMwdnc7XG4gICAgfVxuICB9XG4gIFtkYXRhLXRlc3RpZD0na2FuZG8tdGFibGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgW2RhdGEtY29sdW1uLWlkPScxJ10ge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgJjpob3ZlciB7XG4gICAgICAubmFtZSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLmV4cGFuZGFibGUtaWNvbiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEyMHB4ICsgMXZ3KTtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4ycyBjdWJpYy1iZXppZXIoMC42NSwgMC4wNSwgMC4zNiwgMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNwaW5uZXItY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5gO1xuXG5jb25zdCBDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxuXG4gIGgxIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIHBhZGRpbmc6IDYwcHggNjBweDtcbmA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsS0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksZUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssVUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sWUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8saUJBQUEsR0FBQVAsT0FBQTtBQUNBLElBQUFRLGFBQUEsR0FBQVIsT0FBQTtBQUNBLElBQUFTLGtCQUFBLEdBQUFULE9BQUE7QUFFQSxJQUFBVSxRQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxhQUFBLEdBQUFYLE9BQUE7QUFBMEQsSUFBQVksY0FBQSxHQUFBWixPQUFBO0FBQUEsSUFBQWEsVUFBQSxHQUFBYixPQUFBO0FBRzFELElBQUFjLHdCQUFBLEdBQUFkLE9BQUE7QUFDQSxJQUFBZSxnQkFBQSxHQUFBZixPQUFBO0FBQ0EsSUFBQWdCLElBQUEsR0FBQWhCLE9BQUE7QUFDQSxJQUFB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
|
|
417
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfaTE4biIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcmVhY3RSZWR1eCIsIl9yZWFjdFJvdXRlckRvbSIsIl9BbmFseXRpY3MiLCJfU2VhcmNoSW5wdXQiLCJfcmVhY3RGb250YXdlc29tZSIsIl9HcmFwaFdyYXBwZXIiLCJfZnJlZVNvbGlkU3ZnSWNvbnMiLCJfYWN0aW9ucyIsIl9UaG91c2FuZHNUb0siLCJfRHJpbGxEb3duSWNvbiIsIl9CYXNlTGV2ZWwiLCJfcmVhY3REYXRhVGFibGVDb21wb25lbnQiLCJfbnZsU3RhdHVzSGVscGVyIiwiX01hcCIsIl9LYW5kb1RhYmxlIiwiX1RhYnMiLCJfdXNlS2FuZG9GZXRjaDIiLCJfdXNlUXVlcnlVUkwiLCJfRHJvcGRvd24iLCJfRHJvcGRvd25CdXR0b24iLCJfYXhpb3MiLCJfVHJ1bmNhdGUiLCJfRXhwYW5kYWJsZUNvbXBvbmVudCIsIl9TcGlubmVyIiwiX1diZVN1bW1hcnlCYXIiLCJfRXJyb3JCb3VuZGFyeSIsIl90aGVtZSIsIl91c2VLYW5kb0ZldGNoMyIsIl91cmxzIiwiVEFCTEVfUk9XU19QRVJfUEFHRSIsIk1BUEJPWF9XQkVfREFTSEJPQVJEX1NUWUxFIiwiV2JlRGFzaGJvYXJkUGFnZSIsImV4cG9ydHMiLCJnZXRXQUlkIiwicXVlcnkiLCJnZXQiLCJmZXRjaFVybCIsImZpcnN0UGFyYW0iLCJjb25jYXQiLCJzZWxlY3RlZFBhdGhvZ2VuIiwicGF0aG9nZW5zVXJsIiwidXJscyIsIndhdGVyQXV0aG9yaXR5SWQiLCJ3YmVEYXNoYm9hcmQiLCJwYXRob2dlbnMiLCJ1cmwiLCJERUZBVUxUX1RBQlMiLCJpMThuIiwidCIsImNvbnZlcnRUYWJOYW1lVG9QYXJhbSIsInRhYl9uYW1lIiwidXNlUXVlcnlVUkwiLCJnZXRQYXRob2dlbiIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsImRlZmF1bHQiLCJjdXJyZW50RGF0YSIsInNldEN1cnJlbnREYXRhIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJtYXBBcmVhcyIsInNldE1hcEFyZWFzIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJtYXBab29tIiwic2V0TWFwWm9vbSIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4Iiwicm93cyIsInNldFJvd3MiLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMTAiLCJ0YWJzIiwic2V0VGFicyIsIl91c2VTdGF0ZTExIiwiX3VzZVN0YXRlMTIiLCJzZWxlY3RlZFRhYiIsInNldFNlbGVjdGVkVGFiIiwiX3VzZVN0YXRlMTMiLCJfdXNlU3RhdGUxNCIsInNldFNlbGVjdGVkUGF0aG9nZW4iLCJfdXNlS2FuZG9GZXRjaCIsInVzZUthbmRvRmV0Y2giLCJkYXRhIiwiaXNGZXRjaGluZyIsInNldEZldGNoaW5nIiwiX1VzZUthbmRvRmV0Y2giLCJVc2VLYW5kb0ZldGNoIiwiaXNGZXRjaGluZ1BhdGhvZ2VucyIsImRpc3BhdGNoIiwidXNlRGlzcGF0Y2giLCJuYXZDb250ZXh0IiwidXNlU2VsZWN0b3IiLCJzdGF0ZSIsIm5hdl9jb250ZXh0X2RhdGEiLCJnbG9iYWxEYXRhIiwiZ2xvYmFsX2RhdGEiLCJpc1J0bCIsImxvY2FsZSIsImNvbG9yRm9yUm93Iiwicm93IiwicXVhbGl0eSIsInNhbXBsZV9hY3RpdmUiLCJpc0luZmVjdGVkIiwibnZsIiwiY29sdW1ucyIsIlJlYWN0IiwidXNlTWVtbyIsIm5hbWUiLCJzZWxlY3RvciIsInNvcnRhYmxlIiwiY2VsbCIsImNyZWF0ZUVsZW1lbnQiLCJSb3dOYW1lIiwiY2xhc3NOYW1lIiwib25DbGljayIsImhhbmRsZUFyZWFDbGljayIsImhhc19jaGlsZHJlbiIsIlJlYWN0Q29tcG9uZW50IiwiY2hhcmFjdGVycyIsImluaGVyaXRUZXh0QWxpZ24iLCJudmxfY2hhbmdlIiwic3R5bGUiLCJkaXJlY3Rpb24iLCJjb2xvciIsIm1hcmdpbiIsIkZvbnRBd2Vzb21lSWNvbiIsImljb24iLCJmYUNoZXZyb25VcCIsImZhQ2hldnJvbkRvd24iLCJsYXN0X3VwZGF0ZWQiLCJEYXRlIiwidG9Mb2NhbGVEYXRlU3RyaW5nIiwiR3JhcGhXcmFwcGVyIiwia2V5IiwiaWQiLCJ3YXRlcl9hdXRob3JpdHlfaWQiLCJwYXRob2dlbiIsInBvcHVsYXRpb24iLCJrRm9ybWF0dGVyIiwicGFyc2VJbnQiLCJpbml0aWFsaXplTWFwQXJlYXMiLCJhcmVhcyIsIm1hcHBlZFdpdGhDb2xvciIsIm1hcCIsImEiLCJ3YmVfZGFzaGJvYXJkX25hbWUiLCJzaG93Q29sb3JPbmx5SW5Cb3JkZXJzIiwidGhlbWUiLCJjb2xvclNjaGVtZSIsIm5hdHVyYWwiLCJuNjAiLCJSMTAwIiwiRzEwMCIsInpvb21Ub0FyZWEiLCJhcmVhIiwic2hhcGVfZGF0YSIsInVuZGVmaW5lZCIsInpvb21BbGxBcmVhcyIsInNoYXBlRGF0YSIsImRhdHVtIiwibGV2ZWxOVkwiLCJoaXN0b3J5IiwidXNlSGlzdG9yeSIsImRpciIsIkRpcmVjdGlvbiIsIlJUTCIsIkxUUiIsImZpbHRlclJlc3VsdHNBbmRTZXRSb3dzIiwidGV4dCIsInJlc3VsdHMiLCJmaWx0ZXIiLCJlbCIsInRvTG93ZXJDYXNlIiwiaW5jbHVkZXMiLCJoYW5kbGVPblJvd0V4cGFuZCIsImV4cGFuZGVkIiwid2F0ZXJBdXRob3JpdHlOYW1lIiwiaGFuZGxlU2VsZWN0UGF0aG9nZW5DbGljayIsImFuYWx5dGljc1RyYWNrIiwidXRpbGl0eV9uYW1lIiwicHVzaCIsImZldGNoRm9yVGFiU2VsZWN0aW9uIiwidGFiIiwiYXhpb3MiLCJ0aGVuIiwicmVzcG9uc2UiLCJyZXNwb25zZURhdGEiLCJoYW5kbGVUYWJTZWxlY3Rpb25DbGljayIsImluaXRpYWxpemVEcmlsbGVkQXJlYSIsIl90b0NvbnN1bWFibGVBcnJheTIiLCJpbml0aWFsaXplQ29tcG9uZW50IiwidXBkYXRlTmF2Q29udGV4dCIsInVzZUVmZmVjdCIsInBhdGhvZ2VuVGl0bGUiLCJmaW5kIiwiaXRlbSIsImRyb3BEb3duVGl0bGUiLCJGcmFnbWVudCIsIkNvbnRlbnQiLCJsZW5ndGgiLCJBY3Rpb25zQ29udGFpbmVyIiwidGl0bGUiLCJ2YXJpYW50IiwiSXRlbSIsImhyZWYiLCJ0ZXh0QWxpZ24iLCJGaXJzdFNlY3Rpb24iLCJXYmVTdW1tYXJ5QmFyIiwiU2Vjb25kU2VjdGlvbiIsIlNlYXJjaElucHV0Iiwib25DaGFuZ2VCZWhhdmlvciIsIlRhYnMiLCJoYW5kbGVPbkNsaWNrIiwiTWFwVGFibGVDb250YWluZXIiLCJTcGlubmVyIiwiTWFwIiwiYXJlYVRvQ2VudGVyQnkiLCJlZGdlcyIsInBvaW50cyIsIm1hcEJveFN0eWxlIiwiS2FuZG9UYWJsZSIsIm9uUm93RXhwYW5kVG9nZ2xlZCIsImV4cGFuZGFibGVSb3dzIiwicGFnaW5hdGlvblBlclBhZ2UiLCJyb3dDb21wb25lbnQiLCJFeHBhbmRlZENvbXBvbmVudCIsImV4cGFuZGFibGVSb3dzQ29tcG9uZW50UHJvcHMiLCJkZWZhdWx0U29ydEZpZWxkSWQiLCJzdHlsZWQiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsInAiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFnZXMvV2JlRGFzaGJvYXJkL1diZURhc2hib2FyZFBhZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IHVzZUhpc3RvcnkgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IGFuYWx5dGljc1RyYWNrIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0FuYWx5dGljcyc7XG5pbXBvcnQgeyBTZWFyY2hJbnB1dCB9IGZyb20gJy4vU2VhcmNoSW5wdXQnO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVJY29uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3JlYWN0LWZvbnRhd2Vzb21lJztcbmltcG9ydCB7IEdyYXBoV3JhcHBlciB9IGZyb20gJy4vR3JhcGhXcmFwcGVyJztcbmltcG9ydCB7IGZhQ2hldnJvbkRvd24sIGZhQ2hldnJvblVwIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCB7IGFwcFJlZHVjZXIgfSBmcm9tICcuLi8uLi9zdG9yZS9yb290UmVkdWNlcic7XG5pbXBvcnQgeyB1cGRhdGVOYXZDb250ZXh0IH0gZnJvbSAnLi4vLi4vc3RvcmUvY29udGV4dC9hY3Rpb25zJztcbmltcG9ydCB7IGtGb3JtYXR0ZXIgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvVGhvdXNhbmRzVG9LJztcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIERyaWxsRG93bkljb24gfSBmcm9tICcuL0RyaWxsRG93bkljb24uc3ZnJztcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIEJhc2VMZXZlbCB9IGZyb20gJy4vQmFzZUxldmVsLnN2Zyc7XG5pbXBvcnQgeyBEaXJlY3Rpb24gfSBmcm9tICdyZWFjdC1kYXRhLXRhYmxlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBsZXZlbE5WTCB9IGZyb20gJy4uL0NvdmlkUGFnZS9jb21wb25lbnRzL252bFN0YXR1c0hlbHBlcic7XG5pbXBvcnQgeyBNYXAgfSBmcm9tICcuLi8uLi9XaWRnZXRzL01hcC9NYXAnO1xuaW1wb3J0IHsgS2FuZG9UYWJsZSB9IGZyb20gJ3NyYy91aS1raXQvS2FuZG9UYWJsZS9LYW5kb1RhYmxlJztcbmltcG9ydCB7IFRhYnMgfSBmcm9tICcuL1RhYnMnO1xuaW1wb3J0IHVzZUthbmRvRmV0Y2ggZnJvbSAnLi4vLi4vaG9va3MvdXNlS2FuZG9GZXRjaCc7XG5pbXBvcnQgdXNlUXVlcnlVUkwgZnJvbSAnLi4vLi4vaG9va3MvdXNlUXVlcnlVUkwnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgRHJvcGRvd24gZnJvbSAncmVhY3QtYm9vdHN0cmFwL2Nqcy9Ecm9wZG93bic7XG5pbXBvcnQgRHJvcGRvd25CdXR0b24gZnJvbSAncmVhY3QtYm9vdHN0cmFwL2Nqcy9Ecm9wZG93bkJ1dHRvbic7XG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuaW1wb3J0IFRydW5jYXRlIGZyb20gJy4uLy4uL3V0aWxpdGllcy9UcnVuY2F0ZSc7XG5pbXBvcnQgeyBFeHBhbmRlZENvbXBvbmVudCB9IGZyb20gJy4vRXhwYW5kYWJsZUNvbXBvbmVudCc7XG5pbXBvcnQgeyBTcGlubmVyIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9TcGlubmVyL1NwaW5uZXInO1xuaW1wb3J0IHsgV2JlU3VtbWFyeUJhciB9IGZyb20gJy4vV2JlU3VtbWFyeUJhcic7XG5pbXBvcnQgRXJyb3JCb3VuZGFyeSBmcm9tICcuLi8uLi91dGlsaXRpZXMvRXJyb3JCb3VuZGFyeSc7XG5pbXBvcnQgeyB0aGVtZSB9IGZyb20gJy4uLy4uL3N0eWxlcy90aGVtZS90aGVtZSc7XG5pbXBvcnQgVXNlS2FuZG9GZXRjaCBmcm9tICdzcmMvaG9va3MvdXNlS2FuZG9GZXRjaCc7XG5pbXBvcnQgeyB1cmxzIH0gZnJvbSAnc3JjL3V0aWxpdGllcy91cmxzJztcbmNvbnN0IFRBQkxFX1JPV1NfUEVSX1BBR0UgPSAyNTtcbmNvbnN0IE1BUEJPWF9XQkVfREFTSEJPQVJEX1NUWUxFID0gJ2NrenpranNpNzAwNWYxNG85aW0wbWN6czknO1xuXG5leHBvcnQgY29uc3QgV2JlRGFzaGJvYXJkUGFnZSA9ICgpID0+IHtcbiAgY29uc3QgZ2V0V0FJZCA9ICgpID0+IHtcbiAgICByZXR1cm4gcXVlcnkuZ2V0KCd3YXRlcl9hdXRob3JpdHlfaWQnKTtcbiAgfTtcbiAgY29uc3QgZmV0Y2hVcmwgPSAoZmlyc3RQYXJhbSkgPT4ge1xuICAgIHJldHVybiBgL2FwaV91aS93YmVfZGFzaGJvYXJkLyR7c2VsZWN0ZWRQYXRob2dlbn0vJHtmaXJzdFBhcmFtfT93YXRlcl9hdXRob3JpdHlfaWQ9JHtnZXRXQUlkKCl9YDtcbiAgfTtcbiAgY29uc3QgcGF0aG9nZW5zVXJsID0gKCkgPT5cbiAgICB1cmxzKHsgd2F0ZXJBdXRob3JpdHlJZDogZ2V0V0FJZCgpIH0pLndiZURhc2hib2FyZC5wYXRob2dlbnMudXJsO1xuICBjb25zdCBERUZBVUxUX1RBQlMgPSBbXG4gICAgaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQuY2l0aWVzJyksXG4gICAgaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQubW9uaXRvcmVkX2FyZWFzJyksXG4gIF07XG4gIGNvbnN0IGNvbnZlcnRUYWJOYW1lVG9QYXJhbSA9ICh0YWJfbmFtZTogc3RyaW5nKSA9PiB7XG4gICAgaWYgKHRhYl9uYW1lID09PSBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5jaXRpZXMnKSkge1xuICAgICAgcmV0dXJuICdjaXR5JztcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgdGFiX25hbWUgPT09IGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLm1vbml0b3JlZF9hcmVhcycpXG4gICAgKSB7XG4gICAgICByZXR1cm4gJ21vbml0b3JlZCc7XG4gICAgfVxuXG4gICAgcmV0dXJuICdjaXR5JztcbiAgfTtcbiAgY29uc3QgcXVlcnkgPSB1c2VRdWVyeVVSTCgpO1xuICBjb25zdCBnZXRQYXRob2dlbiA9ICgpID0+IHtcbiAgICByZXR1cm4gcXVlcnkuZ2V0KCdwYXRob2dlbicpIHx8ICdjb3ZpZCc7XG4gIH07XG5cbiAgY29uc3QgW2N1cnJlbnREYXRhLCBzZXRDdXJyZW50RGF0YV0gPSB1c2VTdGF0ZShbXSk7XG4gIGNvbnN0IFttYXBBcmVhcywgc2V0TWFwQXJlYXNdID0gdXNlU3RhdGU8YW55W10+KFtdKTtcbiAgY29uc3QgW21hcFpvb20sIHNldE1hcFpvb21dID0gdXNlU3RhdGU8YW55W10+KFtdKTtcbiAgY29uc3QgW3Jvd3MsIHNldFJvd3NdID0gdXNlU3RhdGU8YW55PihbXSk7XG4gIGNvbnN0IFt0YWJzLCBzZXRUYWJzXSA9IHVzZVN0YXRlPHN0cmluZ1tdPihERUZBVUxUX1RBQlMpO1xuICBjb25zdCBbc2VsZWN0ZWRUYWIsIHNldFNlbGVjdGVkVGFiXSA9IHVzZVN0YXRlPHN0cmluZz4odGFic1swXSk7XG4gIGNvbnN0IFtzZWxlY3RlZFBhdGhvZ2VuLCBzZXRTZWxlY3RlZFBhdGhvZ2VuXSA9IHVzZVN0YXRlPHN0cmluZz4oXG4gICAgZ2V0UGF0aG9nZW4oKSxcbiAgKTtcbiAgY29uc3QgeyBkYXRhLCBpc0ZldGNoaW5nLCBzZXRGZXRjaGluZyB9ID0gdXNlS2FuZG9GZXRjaChcbiAgICBmZXRjaFVybChjb252ZXJ0VGFiTmFtZVRvUGFyYW0oc2VsZWN0ZWRUYWIpKSxcbiAgKTtcbiAgY29uc3QgeyBkYXRhOiBwYXRob2dlbnMsIGlzRmV0Y2hpbmc6IGlzRmV0Y2hpbmdQYXRob2dlbnMgfSA9IFVzZUthbmRvRmV0Y2goXG4gICAgcGF0aG9nZW5zVXJsKCksXG4gICk7XG5cbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBuYXZDb250ZXh0ID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT4gc3RhdGUubmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LFxuICApO1xuICBjb25zdCBnbG9iYWxEYXRhID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT4gc3RhdGUuZ2xvYmFsX2RhdGEsXG4gICk7XG4gIGNvbnN0IGlzUnRsOiBib29sZWFuID0gbmF2Q29udGV4dC5sb2NhbGUgPT09ICdoZScgPyB0cnVlIDogZmFsc2U7XG4gIGNvbnN0IGNvbG9yRm9yUm93ID0gKHJvdykgPT4ge1xuICAgIGxldCBxdWFsaXR5O1xuICAgIGlmICghcm93LnNhbXBsZV9hY3RpdmUpIHtcbiAgICAgIHF1YWxpdHkgPSAnaW5hY3RpdmUtc2FtcGxpbmcnO1xuICAgIH0gZWxzZSBpZiAoaXNJbmZlY3RlZChyb3cubnZsKSkge1xuICAgICAgcXVhbGl0eSA9ICdpbmZlY3RlZCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHF1YWxpdHkgPSAnY2xlYW4nO1xuICAgIH1cblxuICAgIHJldHVybiBgcm93X25hbWUtLSR7cXVhbGl0eX1gO1xuICB9O1xuICBjb25zdCBjb2x1bW5zOiBhbnkgPSBSZWFjdC51c2VNZW1vKFxuICAgICgpID0+IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQubmFtZScpLFxuICAgICAgICBzZWxlY3RvcjogKHJvdykgPT4gcm93Lm5hbWUsXG4gICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICBjZWxsOiAocm93OiB7IG5hbWU6IHN0cmluZzsgbnZsOiBudW1iZXI7IGhhc19jaGlsZHJlbjogYm9vbGVhbiB9KSA9PiAoXG4gICAgICAgICAgPFJvd05hbWUgaXNSdGw9e2lzUnRsfT5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgZGF0YS10YWc9XCJhbGxvd1Jvd0V2ZW50c1wiXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT17YHJvd19uYW1lICR7Y29sb3JGb3JSb3cocm93KX1gfVxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgaGFuZGxlQXJlYUNsaWNrKHJvdyk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXhwYW5kYWJsZS1pY29uJ30+XG4gICAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAgICB7cm93Lmhhc19jaGlsZHJlbiAmJiA8RHJpbGxEb3duSWNvbiAvPn1cbiAgICAgICAgICAgICAgICAgIHshcm93Lmhhc19jaGlsZHJlbiAmJiA8QmFzZUxldmVsIC8+fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17J25hbWUnfT5cbiAgICAgICAgICAgICAgICA8VHJ1bmNhdGUgY2hhcmFjdGVycz17M30gaW5oZXJpdFRleHRBbGlnbj17dHJ1ZX0+XG4gICAgICAgICAgICAgICAgICB7cm93Lm5hbWV9XG4gICAgICAgICAgICAgICAgPC9UcnVuY2F0ZT5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9Sb3dOYW1lPlxuICAgICAgICApLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQubnZsX3Njb3JlJyksXG4gICAgICAgIHNlbGVjdG9yOiAocm93KSA9PiByb3cubnZsLFxuICAgICAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICAgICAgY2VsbDogKHJvdzogeyBudmw6IG51bWJlciB9KSA9PiAoXG4gICAgICAgICAgPGRpdiBkYXRhLXRhZz1cImFsbG93Um93RXZlbnRzXCI+e3Jvdy5udmx9PC9kaXY+XG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5wZXJjZW50YWdlX2Zyb21fbGFzdF9zYW1wbGluZycpLFxuICAgICAgICBzZWxlY3RvcjogKHJvdykgPT4gcm93Lm52bF9jaGFuZ2UsXG4gICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICBjZWxsOiAocm93OiB7IG52bF9jaGFuZ2U6IG51bWJlciB9KSA9PiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgZGF0YS10YWc9XCJhbGxvd1Jvd0V2ZW50c1wiXG4gICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICBkaXJlY3Rpb246ICdsdHInLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBjb2xvcjogJyMwMDAwMDAnLCBtYXJnaW46ICcwIDZweCcgfX0+XG4gICAgICAgICAgICAgIHtyb3cubnZsX2NoYW5nZX0lXG4gICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgPEZvbnRBd2Vzb21lSWNvblxuICAgICAgICAgICAgICAgIGljb249e3Jvdy5udmxfY2hhbmdlID4gMCA/IGZhQ2hldnJvblVwIDogZmFDaGV2cm9uRG93bn1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLmxhc3Rfc2FtcGxlZCcpLFxuICAgICAgICBzZWxlY3RvcjogJ2xhc3Rfc2FtcGxlZCcsXG4gICAgICAgIHNvcnRhYmxlOiAocm93KSA9PiByb3cubGFzdF91cGRhdGVkLFxuICAgICAgICBjZWxsOiAocm93OiB7IGxhc3RfdXBkYXRlZDogc3RyaW5nIH0pID0+IChcbiAgICAgICAgICA8ZGl2IGRhdGEtdGFnPVwiYWxsb3dSb3dFdmVudHNcIj5cbiAgICAgICAgICAgIHtyb3cubGFzdF91cGRhdGVkID09PSBudWxsXG4gICAgICAgICAgICAgID8gJy0nXG4gICAgICAgICAgICAgIDogbmV3IERhdGUocm93Lmxhc3RfdXBkYXRlZCkudG9Mb2NhbGVEYXRlU3RyaW5nKCdlbi1HQicpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQudHJlbmRfZ3JhcGgnKSxcbiAgICAgICAgc2VsZWN0b3I6ICd0cmVuZF9ncmFwaCcsXG4gICAgICAgIHNvcnRhYmxlOiB0cnVlLFxuICAgICAgICBjZWxsOiAocm93OiB7IGlkOiBudW1iZXIgfSkgPT4gKFxuICAgICAgICAgIDxkaXYgZGF0YS10YWc9XCJhbGxvd1Jvd0V2ZW50c1wiPlxuICAgICAgICAgICAgPEdyYXBoV3JhcHBlclxuICAgICAgICAgICAgICBrZXk9e3Jvdy5pZH1cbiAgICAgICAgICAgICAgcm93PXtyb3d9XG4gICAgICAgICAgICAgIHdhdGVyX2F1dGhvcml0eV9pZD17Z2V0V0FJZCgpfVxuICAgICAgICAgICAgICBwYXRob2dlbj17c2VsZWN0ZWRQYXRob2dlbn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5wb3B1bGF0aW9uJyksXG4gICAgICAgIHNlbGVjdG9yOiAocm93KSA9PiByb3cucG9wdWxhdGlvbixcbiAgICAgICAgc29ydGFibGU6IHRydWUsXG4gICAgICAgIGNlbGw6IChyb3c6IHsgcG9wdWxhdGlvbjogc3RyaW5nIH0pID0+IChcbiAgICAgICAgICA8ZGl2IGRhdGEtdGFnPVwiYWxsb3dSb3dFdmVudHNcIj5cbiAgICAgICAgICAgIHtrRm9ybWF0dGVyKHBhcnNlSW50KHJvdy5wb3B1bGF0aW9uKSl9XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICksXG4gICAgICB9LFxuICAgIF0sXG4gICAgW2lzUnRsLCBzZWxlY3RlZFBhdGhvZ2VuXSxcbiAgKTtcblxuICBjb25zdCBpbml0aWFsaXplTWFwQXJlYXMgPSAoYXJlYXMpID0+IHtcbiAgICBjb25zdCBtYXBwZWRXaXRoQ29sb3IgPSBhcmVhcy5tYXAoKGE6IGFueSkgPT4ge1xuICAgICAgYS53YmVfZGFzaGJvYXJkX25hbWUgPSBhLm5hbWU7XG4gICAgICBhLnNob3dDb2xvck9ubHlJbkJvcmRlcnMgPSB0cnVlO1xuXG4gICAgICBpZiAoIWEuc2FtcGxlX2FjdGl2ZSkge1xuICAgICAgICBhLmNvbG9yID0gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uNjA7XG4gICAgICAgIHJldHVybiBhO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNJbmZlY3RlZChhLm52bCkpIHtcbiAgICAgICAgYS5jb2xvciA9IHRoZW1lLmNvbG9yU2NoZW1lLmRhdGEuUjEwMDtcbiAgICAgICAgcmV0dXJuIGE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhLmNvbG9yID0gdGhlbWUuY29sb3JTY2hlbWUuZGF0YS5HMTAwO1xuICAgICAgICByZXR1cm4gYTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHNldE1hcEFyZWFzKG1hcHBlZFdpdGhDb2xvcik7XG4gIH07XG5cbiAgY29uc3Qgem9vbVRvQXJlYSA9IChhcmVhKSA9PiB7XG4gICAgYXJlYS5zaGFwZV9kYXRhICE9PSB1bmRlZmluZWQgJiYgc2V0TWFwWm9vbShhcmVhLnNoYXBlX2RhdGEpO1xuICB9O1xuXG4gIGNvbnN0IHpvb21BbGxBcmVhcyA9IChkYXRhKSA9PiB7XG4gICAgY29uc3Qgc2hhcGVEYXRhID0gZGF0YS5tYXAoKGRhdHVtKSA9PiB7XG4gICAgICByZXR1cm4gZGF0dW0uc2hhcGVfZGF0YTtcbiAgICB9KTtcblxuICAgIHNldE1hcFpvb20oc2hhcGVEYXRhKTtcbiAgfTtcblxuICBjb25zdCBpc0luZmVjdGVkID0gKG52bDogbnVtYmVyKSA9PiB7XG4gICAgaWYgKGxldmVsTlZMKG52bCkgPT09ICdjbGVhbicpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgbGV2ZWxOVkwobnZsKSA9PT0gJ2xvdycgfHxcbiAgICAgIGxldmVsTlZMKG52bCkgPT09ICdtZWRpdW0nIHx8XG4gICAgICBsZXZlbE5WTChudmwpID09PSAnaGlnaCdcbiAgICApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybjtcbiAgfTtcbiAgY29uc3QgaGlzdG9yeSA9IHVzZUhpc3RvcnkoKTtcbiAgY29uc3Qgd2F0ZXJBdXRob3JpdHlJZCA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+XG4gICAgICBzdGF0ZS5nbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkLFxuICApO1xuXG4gIGNvbnN0IGRpcjogRGlyZWN0aW9uID1cbiAgICBuYXZDb250ZXh0LmxvY2FsZSA9PT0gJ2hlJyA/IERpcmVjdGlvbi5SVEwgOiBEaXJlY3Rpb24uTFRSO1xuXG4gIGNvbnN0IGZpbHRlclJlc3VsdHNBbmRTZXRSb3dzID0gKHRleHQ6IHN0cmluZykgPT4ge1xuICAgIGxldCByZXN1bHRzID0gY3VycmVudERhdGEuZmlsdGVyKGZ1bmN0aW9uIChlbDogYW55KSB7XG4gICAgICByZXR1cm4gZWwubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRleHQudG9Mb3dlckNhc2UoKSk7XG4gICAgfSk7XG5cbiAgICBzZXRSb3dzKHJlc3VsdHMpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZU9uUm93RXhwYW5kID0gKGV4cGFuZGVkLCByb3cpID0+IHtcbiAgICBleHBhbmRlZCAmJiB6b29tVG9BcmVhKHJvdyk7XG4gICAgIWV4cGFuZGVkICYmIHpvb21BbGxBcmVhcyhkYXRhKTtcbiAgfTtcblxuICBjb25zdCB3YXRlckF1dGhvcml0eU5hbWUgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGUpID0+IHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5TmFtZSxcbiAgKTtcblxuICBjb25zdCBoYW5kbGVTZWxlY3RQYXRob2dlbkNsaWNrID0gKHBhdGhvZ2VuKSA9PiB7XG4gICAgYW5hbHl0aWNzVHJhY2soJ1dCRSBTdGF0dXMgUmVwb3J0IC0gUGF0aG9nZW4gY2hhbmdlIGNsaWNrZWQnLCB7XG4gICAgICBwYXRob2dlbjogcGF0aG9nZW4sXG4gICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgICBzZXRTZWxlY3RlZFBhdGhvZ2VuKHBhdGhvZ2VuKTtcbiAgICBoaXN0b3J5LnB1c2goXG4gICAgICBgL3diZV9kYXNoYm9hcmQvaW5kZXg/bG9jYWxlPSR7bmF2Q29udGV4dC5sb2NhbGV9JndhdGVyX2F1dGhvcml0eV9pZD0ke3dhdGVyQXV0aG9yaXR5SWR9JnBhdGhvZ2VuPSR7cGF0aG9nZW59YCxcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IGZldGNoRm9yVGFiU2VsZWN0aW9uID0gKHRhYikgPT4ge1xuICAgIHNldEZldGNoaW5nKHRydWUpO1xuICAgIGF4aW9zLmdldChmZXRjaFVybCh0YWIpKS50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgbGV0IHJlc3BvbnNlRGF0YSA9IHJlc3BvbnNlLmRhdGEuZGF0YTtcblxuICAgICAgc2V0RmV0Y2hpbmcoZmFsc2UpO1xuICAgICAgc2V0VGFicyhERUZBVUxUX1RBQlMpO1xuICAgICAgc2V0Um93cyhyZXNwb25zZURhdGEpO1xuICAgICAgc2V0Q3VycmVudERhdGEocmVzcG9uc2VEYXRhKTtcbiAgICAgIGluaXRpYWxpemVNYXBBcmVhcyhyZXNwb25zZURhdGEpO1xuICAgICAgem9vbUFsbEFyZWFzKHJlc3BvbnNlRGF0YSk7XG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlVGFiU2VsZWN0aW9uQ2xpY2sgPSAodGFiKSA9PiB7XG4gICAgaWYgKCFpc0ZldGNoaW5nKSB7XG4gICAgICBzZXRTZWxlY3RlZFRhYih0YWIpO1xuXG4gICAgICBpZiAodGFiICE9PSBpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5jdXN0b20nKSkge1xuICAgICAgICB0YWIgPVxuICAgICAgICAgIHRhYiA9PT0gaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQuY2l0aWVzJylcbiAgICAgICAgICAgID8gJ2NpdHknXG4gICAgICAgICAgICA6IHRhYiA9PT0gaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQubW9uaXRvcmVkX2FyZWFzJylcbiAgICAgICAgICAgID8gJ21vbml0b3JlZCdcbiAgICAgICAgICAgIDogJyc7XG5cbiAgICAgICAgZmV0Y2hGb3JUYWJTZWxlY3Rpb24odGFiKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaW5pdGlhbGl6ZURyaWxsZWRBcmVhID0gKHJlc3BvbnNlKSA9PiB7XG4gICAgbGV0IGRhdGEgPSByZXNwb25zZS5kYXRhLmRhdGE7XG4gICAgc2V0Um93cyhkYXRhKTtcbiAgICBzZXRDdXJyZW50RGF0YShkYXRhKTtcbiAgICBpbml0aWFsaXplTWFwQXJlYXMoZGF0YSk7XG4gICAgem9vbUFsbEFyZWFzKGRhdGEpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUFyZWFDbGljayA9IChhcmVhKSA9PiB7XG4gICAgem9vbVRvQXJlYShhcmVhKTtcblxuICAgIGlmIChhcmVhLmhhc19jaGlsZHJlbikge1xuICAgICAgc2V0VGFicyhbLi4udGFicywgaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQuY3VzdG9tJyldKTtcbiAgICAgIHNldFNlbGVjdGVkVGFiKGkxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLmN1c3RvbScpKTtcblxuICAgICAgYXhpb3MuZ2V0KGZldGNoVXJsKGFyZWEuaWQpKS50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgICBpbml0aWFsaXplRHJpbGxlZEFyZWEocmVzcG9uc2UpO1xuICAgICAgfSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGluaXRpYWxpemVDb21wb25lbnQgPSAoKSA9PiB7XG4gICAgc2V0Q3VycmVudERhdGEoZGF0YSk7XG4gICAgc2V0Um93cyhkYXRhKTtcbiAgICBhbmFseXRpY3NUcmFjaygnV0JFIFN0YXR1cyBSZXBvcnQnLCB7XG4gICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgICBkaXNwYXRjaCh1cGRhdGVOYXZDb250ZXh0KHsgbmFtZTogJ3diZV9kYXNoYm9hcmQnIH0pKTtcbiAgICBpbml0aWFsaXplTWFwQXJlYXMoZGF0YSk7XG4gICAgem9vbUFsbEFyZWFzKGRhdGEpO1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc0ZldGNoaW5nICYmIGRhdGEgIT09IG51bGwpIHtcbiAgICAgIGluaXRpYWxpemVDb21wb25lbnQoKTtcbiAgICB9XG4gIH0sIFtpc0ZldGNoaW5nLCBzZWxlY3RlZFBhdGhvZ2VuLCBkYXRhXSk7XG5cbiAgY29uc3QgcGF0aG9nZW5UaXRsZSA9XG4gICAgKCFpc0ZldGNoaW5nUGF0aG9nZW5zICYmXG4gICAgICBwYXRob2dlbnM/LmZpbmQoXG4gICAgICAgIChpdGVtKSA9PiBpdGVtLnRvTG93ZXJDYXNlKCkgPT09IHNlbGVjdGVkUGF0aG9nZW4udG9Mb3dlckNhc2UoKSxcbiAgICAgICkpIHx8XG4gICAgJyc7XG4gIGNvbnN0IGRyb3BEb3duVGl0bGUgPVxuICAgIHBhdGhvZ2VuVGl0bGUgfHwgaTE4bi50KCdjb21wb25lbnRzLndiZV9kYXNoYm9hcmQucGF0aG9nZW5fbm90X2ZvdW5kJyk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPENvbnRlbnQ+XG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGgxPlxuICAgICAgICAgICAge2Ake2kxOG4udCgnY29tcG9uZW50cy53YmVfZGFzaGJvYXJkLnRhYmxlX25hbWUnKX0gKCR7XG4gICAgICAgICAgICAgIHBhdGhvZ2VuVGl0bGUgfHwgZ2V0UGF0aG9nZW4oKVxuICAgICAgICAgICAgfSlgfVxuICAgICAgICAgIDwvaDE+XG4gICAgICAgICAgeyFpc0ZldGNoaW5nUGF0aG9nZW5zICYmIHBhdGhvZ2Vucy5sZW5ndGggPT09IDAgJiYgKFxuICAgICAgICAgICAgPGgzPntpMThuLnQoJ2NvbXBvbmVudHMud2JlX2Rhc2hib2FyZC5wYXRob2dlbl9ub3RfZm91bmQnKX08L2gzPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPEFjdGlvbnNDb250YWluZXI+XG4gICAgICAgICAgICB7IWlzRmV0Y2hpbmdQYXRob2dlbnMgJiYgcGF0aG9nZW5zLmxlbmd0aCA+IDEgJiYgKFxuICAgICAgICAgICAgICA8RHJvcGRvd25CdXR0b25cbiAgICAgICAgICAgICAgICBpZD1cImRyb3Bkb3duLWJhc2ljLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXsnYnV0dG9uIGJ1dHRvbi0tc29ydCd9XG4gICAgICAgICAgICAgICAgdGl0bGU9e2Ryb3BEb3duVGl0bGUgKyAnICd9XG4gICAgICAgICAgICAgICAgdmFyaWFudD1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7cGF0aG9nZW5zLm1hcCgocGF0aG9nZW4pID0+IHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxEcm9wZG93bi5JdGVtXG4gICAgICAgICAgICAgICAgICAgICAgaHJlZj1cIiNcIlxuICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVNlbGVjdFBhdGhvZ2VuQ2xpY2socGF0aG9nZW4pfVxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hdkNvbnRleHQubG9jYWxlID09PSAnaGUnID8gJ3JpZ2h0JyA6ICdsZWZ0JyxcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAge3BhdGhvZ2VufVxuICAgICAgICAgICAgICAgICAgICA8L0Ryb3Bkb3duLkl0ZW0+XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICA8L0Ryb3Bkb3duQnV0dG9uPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L0FjdGlvbnNDb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8Rmlyc3RTZWN0aW9uPlxuICAgICAgICAgIDxXYmVTdW1tYXJ5QmFyXG4gICAgICAgICAgICBwYXRob2dlbj17c2VsZWN0ZWRQYXRob2dlbn1cbiAgICAgICAgICAgIHdhdGVyQXV0aG9yaXR5SWQ9e3dhdGVyQXV0aG9yaXR5SWR9XG4gICAgICAgICAgICBpc1J0bD17aXNSdGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9GaXJzdFNlY3Rpb24+XG5cbiAgICAgICAgPFNlY29uZFNlY3Rpb24+XG4gICAgICAgICAgPFNlYXJjaElucHV0IG9uQ2hhbmdlQmVoYXZpb3I9e2ZpbHRlclJlc3VsdHNBbmRTZXRSb3dzfSAvPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsndGFicy1jb250YWluZXInfT5cbiAgICAgICAgICAgIDxUYWJzXG4gICAgICAgICAgICAgIHRhYnM9e3RhYnN9XG4gICAgICAgICAgICAgIHNlbGVjdGVkVGFiPXtzZWxlY3RlZFRhYn1cbiAgICAgICAgICAgICAgaGFuZGxlT25DbGljaz17aGFuZGxlVGFiU2VsZWN0aW9uQ2xpY2t9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxNYXBUYWJsZUNvbnRhaW5lciBpc1J0bD17aXNSdGx9PlxuICAgICAgICAgICAge2lzRmV0Y2hpbmcgJiYgPFNwaW5uZXIgLz59XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J21hcC1jb250YWluZXInfT5cbiAgICAgICAgICAgICAgeyFpc0ZldGNoaW5nICYmIHJvd3MgIT09IG51bGwgJiYgbWFwWm9vbSAhPT0gbnVsbCAmJiAoXG4gICAgICAgICAgICAgICAgPEVycm9yQm91bmRhcnk+XG4gICAgICAgICAgICAgICAgICA8TWFwXG4gICAgICAgICAgICAgICAgICAgIGFyZWFzPXttYXBBcmVhc31cbiAgICAgICAgICAgICAgICAgICAgYXJlYVRvQ2VudGVyQnk9e21hcFpvb219XG4gICAgICAgICAgICAgICAgICAgIGVkZ2VzPXtbXX1cbiAgICAgICAgICAgICAgICAgICAgcG9pbnRzPXtbXX1cbiAgICAgICAgICAgICAgICAgICAgZ2xvYmFsX2RhdGE9e2dsb2JhbERhdGF9XG4gICAgICAgICAgICAgICAgICAgIG1hcEJveFN0eWxlPXtNQVBCT1hfV0JFX0RBU0hCT0FSRF9TVFlMRX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9FcnJvckJvdW5kYXJ5PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB7IWlzRmV0Y2hpbmcgJiYgcm93cyAhPT0gbnVsbCAmJiAoXG4gICAgICAgICAgICAgIDxLYW5kb1RhYmxlXG4gICAgICAgICAgICAgICAgb25Sb3dFeHBhbmRUb2dnbGVkPXtoYW5kbGVPblJvd0V4cGFuZH1cbiAgICAgICAgICAgICAgICBkYXRhPXtyb3dzfVxuICAgICAgICAgICAgICAgIGNvbHVtbnM9e2NvbHVtbnN9XG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uPXtkaXJ9XG4gICAgICAgICAgICAgICAgZXhwYW5kYWJsZVJvd3M9e3RydWV9XG4gICAgICAgICAgICAgICAgcGFnaW5hdGlvblBlclBhZ2U9e1RBQkxFX1JPV1NfUEVSX1BBR0V9XG4gICAgICAgICAgICAgICAgcm93Q29tcG9uZW50PXtFeHBhbmRlZENvbXBvbmVudH1cbiAgICAgICAgICAgICAgICBleHBhbmRhYmxlUm93c0NvbXBvbmVudFByb3BzPXt7IHBhdGhvZ2VuOiBzZWxlY3RlZFBhdGhvZ2VuIH19XG4gICAgICAgICAgICAgICAgZGVmYXVsdFNvcnRGaWVsZElkPXszfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L01hcFRhYmxlQ29udGFpbmVyPlxuICAgICAgICA8L1NlY29uZFNlY3Rpb24+XG4gICAgICA8L0NvbnRlbnQ+XG4gICAgPC8+XG4gICk7XG59O1xuXG5jb25zdCBSb3dOYW1lID0gc3R5bGVkLmRpdjx7IGlzUnRsOiBib29sZWFuIH0+YFxuICAgIHdpZHRoOiAxMDAlO1xuICAgICAgXG4gICAgLnJvd19uYW1lIHtcbiAgICAgIC5leHBhbmRhYmxlLWljb24ge1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiAuMnMgZWFzZS1pbjsgICAgICBcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIDRweDtcbiAgICAgICAgXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDJweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi0tY2xlYW4ge1xuICAgICAgICAgY29sb3I6ICMyN2E2M2E7IFxuICAgICAgICAgLmV4cGFuZGFibGUtaWNvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjdhNjNhOyAgICAgICAgXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLS1pbmZlY3RlZCB7XG4gICAgICAgICAgY29sb3I6ICNlMTAwMzY7XG4gICAgICAgICAgLmV4cGFuZGFibGUtaWNvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZTEwMDM2OyAgICAgICAgXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLS1pbmFjdGl2ZS1zYW1wbGluZyB7XG4gICAgICAgICAgY29sb3I6ICR7dGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uNjB9O1xuICAgICAgICAgIC5leHBhbmRhYmxlLWljb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHt0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm42MH07ICAgICAgICBcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5uYW1lIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDEwMDtcbiAgICAgICAgICAkeyhwKSA9PiAocC5pc1J0bCA/ICdyaWdodDogNTFweDsnIDogJ2xlZnQ6IDUxcHg7Jyl9XG4gICAgICAgICAgdG9wOiAxNnB4O1xuICAgICAgICAgIHdpZHRoOiA3LjVlbTtcbiAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAzcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIGA7XG5cbmNvbnN0IEFjdGlvbnNDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuY29uc3QgRmlyc3RTZWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luOiA4NXB4IDAgMjBweCAwO1xuYDtcblxuY29uc3QgU2Vjb25kU2VjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJhY2tncm91bmQ6ICNmY2ZjZmM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlN2U3ZTc7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbmA7XG5cbmNvbnN0IE1hcFRhYmxlQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7IGlzUnRsOiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIC5tYXAtY29udGFpbmVyIHtcbiAgICB3aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAuZXZlbnQtdGltZXJhbmdlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgICNtYXAge1xuICAgICAgaGVpZ2h0OiA2OXZoO1xuICAgICAgd2lkdGg6IDMwdnc7XG4gICAgfVxuICB9XG4gIFtkYXRhLXRlc3RpZD0na2FuZG8tdGFibGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgW2RhdGEtY29sdW1uLWlkPScxJ10ge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgJjpob3ZlciB7XG4gICAgICAubmFtZSB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLmV4cGFuZGFibGUtaWNvbiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEyMHB4ICsgMXZ3KTtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4ycyBjdWJpYy1iZXppZXIoMC42NSwgMC4wNSwgMC4zNiwgMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNwaW5uZXItY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5gO1xuXG5jb25zdCBDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDU3NnB4KSB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxuXG4gIGgxIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIHBhZGRpbmc6IDYwcHggNjBweDtcbmA7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsS0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksZUFBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssVUFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sWUFBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8saUJBQUEsR0FBQVAs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
|