@kando-env/kando-ui 1.2.75-alpha.78 → 1.2.75-alpha.8
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 +6 -5
- package/lib/Widgets/EventsCarousel/EventsCarousel.js +9 -7
- package/lib/Widgets/EventsRow/EventsRow.js +9 -7
- package/lib/Widgets/Map/Map.js +148 -39
- package/lib/Widgets/Map/areas/AreaPolygons.js +6 -1
- package/lib/Widgets/Map/events/EventIndicator.js +46 -21
- package/lib/Widgets/Map/events/EventIndicatorHover.js +252 -0
- package/lib/Widgets/Map/events/EventPath.js +37 -16
- package/lib/Widgets/Map/events/EventPathHover.js +81 -0
- package/lib/Widgets/Map/events/NetworkForSpecificEvent.js +102 -10
- package/lib/Widgets/Map/points/PointMarker.js +460 -13
- package/lib/Widgets/Map/points/PointMarkers.js +12 -31
- package/lib/Widgets/MostPolluting/Areas/AreaBox/PieChart/PieChart.js +2 -2
- package/lib/Widgets/MostPolluting/Factories/FactoryBox/PieChart/PieChart.js +2 -2
- package/lib/Widgets/MostPolluting/components/ChangePercent.js +6 -24
- package/lib/Widgets/QualitySummary/PieChart/PieChart.js +4 -6
- package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.js +3 -5
- package/lib/Widgets/QualitySummary/QualitySummary.js +5 -10
- package/lib/assets/icons/index.js +0 -8
- package/lib/components/CustomInputs/DoubleTabs/styles.js +2 -2
- package/lib/components/DischargeHeatmap/DischargeHeatmap.test.js +2 -2
- package/lib/components/Header/InfoBar/InfoBar.js +2 -6
- package/lib/components/Header/KandoNavbar/KandoNavbar.js +1 -3
- package/lib/components/Header/Toolbar/CustomerMenu/CustomerMenu.js +2 -4
- package/lib/components/Header/Toolbar/SearchDropdown/SearchDropdown.js +3 -2
- package/lib/components/Sector/Sector.test.js +11 -4
- package/lib/components/SevereEvent/SevereEvent.js +7 -5
- package/lib/components/TimeRangeSelector/constants.js +2 -2
- package/lib/hooks/useApiWithDashboardQuery.js +4 -2
- package/lib/hooks/useUserTimeZone.js +2 -2
- package/lib/i18n/en.json +29 -63
- package/lib/i18n/fr.json +424 -655
- package/lib/i18n/he.json +6 -40
- package/lib/i18n/it.json +190 -421
- package/lib/index.js +1 -8
- package/lib/macros/getVersion.js +2 -2
- package/lib/pages/AreaPage/AreaPage.js +2 -4
- package/lib/pages/AreaPage/Dashboard/Sites/Sites.js +3 -3
- package/lib/pages/AreaPage/Dashboard/Sites/styles.js +3 -3
- package/lib/pages/CovidPage/CovidPage.js +2 -7
- package/lib/pages/EventsPage/EventsMapContainer/EventsMapContainer.js +5 -2
- package/lib/pages/EventsPage/EventsPage.js +2 -7
- package/lib/pages/EventsPage/events/EventsStyle.scss +0 -5
- package/lib/pages/EventsPage/events/event_info/EventDetails.js +18 -74
- package/lib/pages/EventsPage/events/event_info/EventInfoStyle.scss +0 -16
- package/lib/pages/EventsPage/events/event_info/sources/Source.js +2 -2
- package/lib/pages/EventsPage/events/events_list/EventItem.js +19 -9
- package/lib/pages/EventsPage/events/events_list/EventsList.js +14 -28
- package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +2 -2
- package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +1 -4
- package/lib/pages/EventsPage/events/events_list/Filter/FilterStyle.scss +1 -1
- package/lib/pages/ImportFileWizard/ValidationForm.js +12 -7
- package/lib/pages/NotificationsPage/NotificationsPage.js +2 -9
- package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +1 -5
- package/lib/pages/OldSitePage/OldSitePage.js +2 -4
- package/lib/pages/ProfilePage/PasswordModal/PasswordModal.js +8 -51
- package/lib/pages/ProfilePage/ProfilePage.js +2 -10
- package/lib/pages/SamplingsPage/DesktopActions/DownloadCSV.js +2 -3
- package/lib/pages/SamplingsPage/DesktopActions/UploadLabResult.js +2 -6
- package/lib/pages/SamplingsPage/NavigationDropdown.js +2 -9
- package/lib/pages/SamplingsPage/NewSamplingAction.js +4 -10
- package/lib/pages/SamplingsPage/SamplingActionDropdown.js +189 -0
- package/lib/pages/SamplingsPage/SamplingMobileModal.js +17 -1
- package/lib/pages/SamplingsPage/SamplingProperties/ImagePreviewModal.js +19 -41
- package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +2 -2
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +12 -33
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +19 -14
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHead.js +19 -26
- package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesHeadMobile.js +11 -21
- package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +4 -14
- package/lib/pages/SamplingsPage/SamplingProperties/style.module.scss +1 -5
- package/lib/pages/SamplingsPage/SamplingsMobileItem.js +3 -12
- package/lib/pages/SamplingsPage/SamplingsPage.js +3 -9
- package/lib/pages/SamplingsPage/SamplingsPageContainer.js +6 -9
- package/lib/pages/SamplingsPage/samplingsPageUtils.js +34 -77
- package/lib/pages/SamplingsPage/style.module.scss +1 -1
- package/lib/pages/SamplingsPage/table.styles.scss +6 -8
- package/lib/pages/SitePage/SamplingParameters/ParametersContainer/ParametersContainer.js +4 -5
- package/lib/pages/SitePage/SamplingParameters/charts/ParametersChart.js +3 -5
- package/lib/pages/SitePage/SamplingParameters/charts/options/options.js +23 -90
- package/lib/pages/SitePage/SamplingParameters/dataParser.js +6 -18
- package/lib/pages/SitePage/SitePage.js +2 -4
- package/lib/pages/UtilityDashboardPage/MostSevereEvents/MostSevereEvents.js +9 -7
- package/lib/pages/UtilityDashboardPage/UtilityDashboard.js +1 -6
- package/lib/pages/UtilityDashboardPage/UtilityDashboardPage.js +2 -4
- package/lib/pages/WbeDashboard/SummaryGraph.js +6 -15
- package/lib/pages/WbeDashboard/WbeDashboardPage.js +3 -10
- package/lib/store/areas/actions.js +2 -19
- package/lib/store/events/reducer.js +2 -4
- package/lib/store/permissions/permissionsSlice.js +1 -5
- package/lib/styles.scss +4 -5
- package/lib/ui-kit/Button/Button.test.js +11 -26
- package/lib/ui-kit/DropDown/DropDown.js +6 -12
- package/lib/ui-kit/DropDown/DropDown.test.js +41 -50
- package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +2 -9
- package/lib/ui-kit/InfoTooltip/InfoTooltip.js +3 -4
- package/lib/ui-kit/KandoTable/KandoTable.test.js +43 -46
- package/lib/utilities/i18n.js +1 -6
- package/lib/utilities/urls.js +5 -8
- package/package.json +2 -6
- package/lib/Widgets/Map/MapUtils.js +0 -103
- package/lib/Widgets/Map/events/Event.js +0 -69
- package/lib/Widgets/Map/events/EventUtils.js +0 -211
- package/lib/Widgets/Map/events/PointOfEvent.js +0 -135
- package/lib/Widgets/Map/events/PointsForSpecificEvent.js +0 -55
- package/lib/Widgets/Map/events/Snail.js +0 -60
- package/lib/Widgets/Map/points/PointUtils.js +0 -368
- package/lib/Widgets/MostPolluting/components/ChangePercent.test.js +0 -62
- package/lib/Widgets/QualitySummary/PieChart/PieChart.test.js +0 -75
- package/lib/Widgets/QualitySummary/PollutedLine/PollutedLine.test.js +0 -52
- package/lib/assets/icons/close-modal.svg +0 -8
- package/lib/components/DischargeHeatmap/mocks/handlers.js +0 -19
- package/lib/hooks/useUserTimeZone.test.js +0 -45
- package/lib/i18n/en_uk.json +0 -3759
- package/lib/pages/EventsPage/events/events_list/EventUtils.js +0 -19
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.js +0 -43
- package/lib/pages/SamplingsPage/ActionsDropDown/LabResultValue.test.js +0 -39
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionContainer.js +0 -182
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActionDropdown.js +0 -74
- package/lib/pages/SamplingsPage/ActionsDropDown/SamplingActions.js +0 -48
- package/lib/pages/SamplingsPage/ActionsDropDown/ViewLabResult.js +0 -119
- package/lib/pages/SamplingsPage/SamplingProperties/ManholeImageMobile.js +0 -63
- package/lib/pages/SamplingsPage/SamplingProperties/SamplerInProcess.js +0 -57
- package/lib/pages/SamplingsPage/SamplingProperties/styles.js +0 -27
- package/lib/test/mocks/browser.js +0 -23
- package/lib/test/test-utils.js +0 -61
|
@@ -48,7 +48,7 @@ var Source = function Source(props) {
|
|
|
48
48
|
component: _HistoricalInformation.default,
|
|
49
49
|
selectedSource: source.point_id,
|
|
50
50
|
cameFrom: _i18n.default.t('events_overview.event_details'),
|
|
51
|
-
sourceName:
|
|
51
|
+
sourceName: point.group.name
|
|
52
52
|
}));
|
|
53
53
|
};
|
|
54
54
|
|
|
@@ -125,4 +125,4 @@ var connector = (0, _reactRedux.connect)(mapStateToProps);
|
|
|
125
125
|
var _default = connector(Source);
|
|
126
126
|
|
|
127
127
|
exports.default = _default;
|
|
128
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudF9pbmZvL3NvdXJjZXMvU291cmNlLnRzeCJdLCJuYW1lcyI6WyJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImdsb2JhbF9kYXRhIiwiU291cmNlIiwicHJvcHMiLCJzb3VyY2UiLCJzZWxlY3RlZFNvdXJjZSIsInRvZ2dsZVNvdXJjZVNlbGVjdGlvbiIsInBvaW50IiwiZm9jdXNlZEV2ZW50IiwiaXNFbXB0eSIsImRpc3BhdGNoIiwiaGFuZGxlTW9yZUluZm9DbGljayIsIm1vcmVJbmZvIiwiYWN0aXZlIiwiY29tcG9uZW50IiwiSGlzdG9yaWNhbEluZm9ybWF0aW9uIiwicG9pbnRfaWQiLCJjYW1lRnJvbSIsImkxOG4iLCJ0Iiwic291cmNlTmFtZSIsInBvaW50X25hbWUiLCJzb3VyY2VDb25maWRlbmNlTGV2ZWwiLCJjb25maWRlbmNlX2xldmVsIiwiZm9ybWF0VGltZSIsInRpbWUiLCJ0aW1lX3pvbmUiLCJtb21lbnQiLCJ1bml4IiwidHoiLCJmb3JtYXQiLCJjYWx1bGF0ZURpc2NoYXJnZVRpbWUiLCJldmVudCIsIm9ic2VydmF0aW9uIiwib2JzZXJ2YXRpb25zIiwiZmluZCIsIm9icyIsInVuZGVmaW5lZCIsImVuZF90aW1lIiwic3RhcnRfdGltZSIsImZyb21Ob3ciLCJzb3VyY2VzIiwibGVuZ3RoIiwiZ3JvdXAiLCJzZWN0b3JfbmFtZSIsInNlY3Rvcl9pY29uX25hbWUiLCJtYXJnaW4iLCJDb250YWluZXIiLCJzdHlsZWQiLCJkaXYiLCJjb25uZWN0b3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBR0E7O0FBQ0E7O0FBR0EsU0FBU0EsZUFBVCxDQUF5QkMsS0FBekIsRUFBMkM7QUFDekMsTUFBUUMsV0FBUixHQUF3QkQsS0FBeEIsQ0FBUUMsV0FBUjtBQUVBLFNBQU87QUFDTEEsSUFB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SyxJQUFBLFNBQVMsRUFBRTtBQUFoQixrQkFDRyw2QkFBQywyQkFBRDtBQUFvQixJQUFBLE1BQU0sRUFBRXpDLE1BQTVCO0FBQW9DLElBQUEsS0FBSyxFQUFFSTtBQUEzQyxJQURILENBUkYsQ0FERixFQWFHdUIscUJBQXFCLENBQUMzQixNQUFELEVBQVNJLFlBQVQsQ0FieEIsQ0E1QkYsZUE0Q0U7QUFBSyxJQUFBLEtBQUssRUFBRTtBQUFFc0MsTUFBQUEsTUFBTSxFQUFFO0FBQVY7QUFBWixrQkFDRTtBQUNFLElBQUEsSUFBSSxFQUFDLEdBRFA7QUFFRSxJQUFBLFNBQVMsRUFBRSxrQkFGYjtBQUdFLElBQUEsT0FBTyxFQUFFO0FBQUEsYUFBTW5DLG1CQUFtQixFQUF6QjtBQUFBO0FBSFgsS0FLR08sY0FBS0MsQ0FBTCxDQUFPLDJCQUFQLENBTEgsQ0FERixDQTVDRixDQUZKLENBREY7QUE0REQsQ0F0SUQ7O0FBd0lBLElBQU00QixTQUFTLEdBQUdDLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLHVDQUFmOztBQUtBLElBQU1DLFNBQVMsR0FBRyx5QkFBUW5ELGVBQVIsQ0FBbEI7O2VBQ2VtRCxTQUFTLENBQUNoRCxNQUFELEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFBvbGx1dGlvbkRpc2NoYXJnZSBmcm9tICcuLi9Qb2xsdXRpb25EaXNjaGFyZ2UnO1xuaW1wb3J0IHsgSVBvaW50IH0gZnJvbSAnc3JjL3N0b3JlL3BvaW50cy9tb2RlbHMvSVBvaW50JztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBjb25uZWN0LCBDb25uZWN0ZWRQcm9wcywgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBtb3JlSW5mbyB9IGZyb20gJ3NyYy9zdG9yZS9nbG9iYWwvYWN0aW9ucyc7XG5pbXBvcnQgeyBJQXBwU3RhdGUgfSBmcm9tICdzcmMvbW9kZWxzL0lBcHBTdGF0ZSc7XG5pbXBvcnQgSGlzdG9yaWNhbEluZm9ybWF0aW9uIGZyb20gJy4uL0hpc3RvcmljYWxJbmZvcm1hdGlvbic7XG5pbXBvcnQgeyBJU291cmNlIH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSVNvdXJjZSc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQtdGltZXpvbmUnO1xuaW1wb3J0IFNlY3RvciBmcm9tICdzcmMvY29tcG9uZW50cy9TZWN0b3InO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZTogSUFwcFN0YXRlKSB7XG4gIGNvbnN0IHsgZ2xvYmFsX2RhdGEgfSA9IHN0YXRlO1xuXG4gIHJldHVybiB7XG4gICAgZ2xvYmFsX2RhdGEsXG4gIH07XG59XG5cbnR5cGUgSVByb3BzID0gQ29ubmVjdGVkUHJvcHM8dHlwZW9mIGNvbm5lY3Rvcj4gJiB7XG4gIHNvdXJjZTogSVNvdXJjZTtcbiAgc2VsZWN0ZWRTb3VyY2U6IGFueTtcbiAgdG9nZ2xlU291cmNlU2VsZWN0aW9uOiBhbnk7XG4gIHBvaW50OiBJUG9pbnQ7XG4gIGZvY3VzZWRFdmVudDogSUV2ZW50O1xuICBpc0VtcHR5PzogYm9vbGVhbjtcbn07XG5cbmNvbnN0IFNvdXJjZTogUmVhY3QuRkM8SVByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgc291cmNlLFxuICAgIHNlbGVjdGVkU291cmNlLFxuICAgIHRvZ2dsZVNvdXJjZVNlbGVjdGlvbixcbiAgICBwb2ludCxcbiAgICBnbG9iYWxfZGF0YSxcbiAgICBmb2N1c2VkRXZlbnQsXG4gICAgaXNFbXB0eSA9IGZhbHNlLFxuICB9ID0gcHJvcHM7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgaGFuZGxlTW9yZUluZm9DbGljayA9ICgpID0+IHtcbiAgICBkaXNwYXRjaChcbiAgICAgIG1vcmVJbmZvKCFnbG9iYWxfZGF0YS5tb3JlSW5mby5hY3RpdmUsIHtcbiAgICAgICAgY29tcG9uZW50OiBIaXN0b3JpY2FsSW5mb3JtYXRpb24sXG4gICAgICAgIHNlbGVjdGVkU291cmNlOiBzb3VyY2UucG9pbnRfaWQsXG4gICAgICAgIGNhbWVGcm9tOiBpMThuLnQoJ2V2ZW50c19vdmVydmlldy5ldmVudF9kZXRhaWxzJyksXG4gICAgICAgIHNvdXJjZU5hbWU6IHNvdXJjZS5wb2ludF9uYW1lLFxuICAgICAgfSksXG4gICAgKTtcbiAgfTtcbiAgY29uc3Qgc291cmNlQ29uZmlkZW5jZUxldmVsID1cbiAgICBzb3VyY2UuY29uZmlkZW5jZV9sZXZlbCA9PT0gbnVsbCA/ICctLScgOiBzb3VyY2UuY29uZmlkZW5jZV9sZXZlbDtcblxuICBjb25zdCBmb3JtYXRUaW1lID0gKHRpbWU6IG51bWJlciwgdGltZV96b25lOiBzdHJpbmcpID0+IHtcbiAgICByZXR1cm4gbW9tZW50LnVuaXgodGltZSkudHoodGltZV96b25lKS5mb3JtYXQoJ0g6bW0nKTtcbiAgfTtcblxuICBjb25zdCBjYWx1bGF0ZURpc2NoYXJnZVRpbWUgPSAoc291cmNlOiBJU291cmNlLCBldmVudDogSUV2ZW50KSA9PiB7XG4gICAgbGV0IG9ic2VydmF0aW9uID0gZXZlbnQub2JzZXJ2YXRpb25zLmZpbmQoXG4gICAgICAob2JzKSA9PiBvYnMucG9pbnRfaWQgPT09IHNvdXJjZS5wb2ludF9pZCxcbiAgICApO1xuXG4gICAgaWYgKG9ic2VydmF0aW9uICE9PSB1bmRlZmluZWQgJiYgb2JzZXJ2YXRpb24uZW5kX3RpbWUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXZlbnQtaW5mb19fc291cmNlX19ib2R5X19kaXNjaGFyZ2UtdGltZSd9PlxuICAgICAgICAgIDxzcGFuPntpMThuLnQoJ2V2ZW50c19vdmVydmlldy5kaXNjaGFyZ2Vfc3RhcnRfdGltZScpfTo8L3NwYW4+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9eyd0aW1lJ30+XG4gICAgICAgICAgICB7Zm9ybWF0VGltZShvYnNlcnZhdGlvbi5zdGFydF90aW1lLCBvYnNlcnZhdGlvbi50aW1lX3pvbmUpfSAoXG4gICAgICAgICAgICB7bW9tZW50XG4gICAgICAgICAgICAgIC51bml4KG9ic2VydmF0aW9uLnN0YXJ0X3RpbWUpXG4gICAgICAgICAgICAgIC50eihvYnNlcnZhdGlvbi50aW1lX3pvbmUpXG4gICAgICAgICAgICAgIC5mcm9tTm93KCl9XG4gICAgICAgICAgICApXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKG9ic2VydmF0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXZlbnQtaW5mb19fc291cmNlX19ib2R5X19kaXNjaGFyZ2UtdGltZSd9PlxuICAgICAgICAgIDxzcGFuPntpMThuLnQoJ2V2ZW50c19vdmVydmlldy5kaXNjaGFyZ2VfdGltZScpfTo8L3NwYW4+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9eyd0aW1lJ30+XG4gICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAge2Ake2Zvcm1hdFRpbWUoXG4gICAgICAgICAgICAgICAgb2JzZXJ2YXRpb24uc3RhcnRfdGltZSxcbiAgICAgICAgICAgICAgICBvYnNlcnZhdGlvbi50aW1lX3pvbmUsXG4gICAgICAgICAgICAgICl9IC0gJHtmb3JtYXRUaW1lKG9ic2VydmF0aW9uLmVuZF90aW1lLCBvYnNlcnZhdGlvbi50aW1lX3pvbmUpfWB9XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgIHttb21lbnRcbiAgICAgICAgICAgICAgICAudW5peChvYnNlcnZhdGlvbi5zdGFydF90aW1lKVxuICAgICAgICAgICAgICAgIC50eihvYnNlcnZhdGlvbi50aW1lX3pvbmUpXG4gICAgICAgICAgICAgICAgLmZyb21Ob3coKX1cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyPlxuICAgICAge3BvaW50ICE9PSB1bmRlZmluZWQgJiYgKFxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3NOYW1lPXtgZXZlbnQtaW5mb19fc291cmNlICR7XG4gICAgICAgICAgICBzZWxlY3RlZFNvdXJjZSA9PT0gc291cmNlLnBvaW50X2lkXG4gICAgICAgICAgICAgID8gJ2V2ZW50LWluZm9fX3NvdXJjZS0tc2VsZWN0ZWQnXG4gICAgICAgICAgICAgIDogJydcbiAgICAgICAgICB9YH1cbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB0b2dnbGVTb3VyY2VTZWxlY3Rpb24oc291cmNlLnBvaW50X2lkKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXZlbnQtaW5mb19fc291cmNlX19oZWFkZXInfT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXZlbnQtaW5mb19fc291cmNlX19oZWFkZXJfX2luZm8tY29udGFpbmVyJ30+XG4gICAgICAgICAgICAgIHtmb2N1c2VkRXZlbnQuc291cmNlcy5sZW5ndGggPT09IDAgJiYgKFxuICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgPGI+XG4gICAgICAgICAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5maXJzdF9kZXRlY3Rpb24nKX06eycgJ31cbiAgICAgICAgICAgICAgICAgICAge3NvdXJjZS5wb2ludF9uYW1lfXsnICd9XG4gICAgICAgICAgICAgICAgICA8L2I+XG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7ZmFsc2UgJiYgKFxuICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmNvbmZpZGVuY2UnKX06eycgJ31cbiAgICAgICAgICAgICAgICAgIHtzb3VyY2VDb25maWRlbmNlTGV2ZWx9JVxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydldmVudC1pbmZvX19zb3VyY2VfX2JvZHknfT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXZlbnQtaW5mb19fc291cmNlX19ib2R5X19pbmZvLWNvbnRhaW5lcid9PlxuICAgICAgICAgICAgICB7IWlzRW1wdHkgJiYgKFxuICAgICAgICAgICAgICAgIDxTZWN0b3JcbiAgICAgICAgICAgICAgICAgIHNlY3Rvck5hbWU9e3BvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lfVxuICAgICAgICAgICAgICAgICAgc2VjdG9ySWNvbk5hbWU9e3BvaW50Lmdyb3VwLnNlY3Rvcl9pY29uX25hbWV9XG4gICAgICAgICAgICAgICAgICB3aWR0aD1cIjM3XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2Rpc2NoYXJnaW5nJ30+XG4gICAgICAgICAgICAgICAgezxQb2xsdXRpb25EaXNjaGFyZ2Ugc291cmNlPXtzb3VyY2V9IGV2ZW50PXtmb2N1c2VkRXZlbnR9IC8+fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAge2NhbHVsYXRlRGlzY2hhcmdlVGltZShzb3VyY2UsIGZvY3VzZWRFdmVudCl9XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IG1hcmdpbjogJzEwcHggMCAwIDAnIH19PlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgaHJlZj1cIiNcIlxuICAgICAgICAgICAgICBjbGFzc05hbWU9eydtb3JlLWluZm8tYnV0dG9uJ31cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlTW9yZUluZm9DbGljaygpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcubW9yZV9pbmZvJyl9XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICA8L0NvbnRhaW5lcj5cbiAgKTtcbn07XG5cbmNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbmA7XG5cbmNvbnN0IGNvbm5lY3RvciA9IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RvcihTb3VyY2UpO1xuIl19
|
|
128
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudF9pbmZvL3NvdXJjZXMvU291cmNlLnRzeCJdLCJuYW1lcyI6WyJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImdsb2JhbF9kYXRhIiwiU291cmNlIiwicHJvcHMiLCJzb3VyY2UiLCJzZWxlY3RlZFNvdXJjZSIsInRvZ2dsZVNvdXJjZVNlbGVjdGlvbiIsInBvaW50IiwiZm9jdXNlZEV2ZW50IiwiaXNFbXB0eSIsImRpc3BhdGNoIiwiaGFuZGxlTW9yZUluZm9DbGljayIsIm1vcmVJbmZvIiwiYWN0aXZlIiwiY29tcG9uZW50IiwiSGlzdG9yaWNhbEluZm9ybWF0aW9uIiwicG9pbnRfaWQiLCJjYW1lRnJvbSIsImkxOG4iLCJ0Iiwic291cmNlTmFtZSIsImdyb3VwIiwibmFtZSIsInNvdXJjZUNvbmZpZGVuY2VMZXZlbCIsImNvbmZpZGVuY2VfbGV2ZWwiLCJmb3JtYXRUaW1lIiwidGltZSIsInRpbWVfem9uZSIsIm1vbWVudCIsInVuaXgiLCJ0eiIsImZvcm1hdCIsImNhbHVsYXRlRGlzY2hhcmdlVGltZSIsImV2ZW50Iiwib2JzZXJ2YXRpb24iLCJvYnNlcnZhdGlvbnMiLCJmaW5kIiwib2JzIiwidW5kZWZpbmVkIiwiZW5kX3RpbWUiLCJzdGFydF90aW1lIiwiZnJvbU5vdyIsInNvdXJjZXMiLCJsZW5ndGgiLCJwb2ludF9uYW1lIiwic2VjdG9yX25hbWUiLCJzZWN0b3JfaWNvbl9uYW1lIiwibWFyZ2luIiwiQ29udGFpbmVyIiwic3R5bGVkIiwiZGl2IiwiY29ubmVjdG9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUVBOztBQUdBOztBQUNBOztBQUdBLFNBQVNBLGVBQVQsQ0FBeUJDLEtBQXpCLEVBQTJDO0FBQ3pDLE1BQVFDLFdBQVIsR0FBd0JELEtBQXhCLENBQVFDLFdBQVI7QUFFQSxTQUFPO0FB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SFIsSUFGSixlQVFFO0FBQUssSUFBQSxTQUFTLEVBQUU7QUFBaEIsa0JBQ0csNkJBQUMsMkJBQUQ7QUFBb0IsSUFBQSxNQUFNLEVBQUUxQyxNQUE1QjtBQUFvQyxJQUFBLEtBQUssRUFBRUk7QUFBM0MsSUFESCxDQVJGLENBREYsRUFhR3dCLHFCQUFxQixDQUFDNUIsTUFBRCxFQUFTSSxZQUFULENBYnhCLENBNUJGLGVBNENFO0FBQUssSUFBQSxLQUFLLEVBQUU7QUFBRXVDLE1BQUFBLE1BQU0sRUFBRTtBQUFWO0FBQVosa0JBQ0U7QUFDRSxJQUFBLElBQUksRUFBQyxHQURQO0FBRUUsSUFBQSxTQUFTLEVBQUUsa0JBRmI7QUFHRSxJQUFBLE9BQU8sRUFBRTtBQUFBLGFBQU1wQyxtQkFBbUIsRUFBekI7QUFBQTtBQUhYLEtBS0dPLGNBQUtDLENBQUwsQ0FBTywyQkFBUCxDQUxILENBREYsQ0E1Q0YsQ0FGSixDQURGO0FBNERELENBdElEOztBQXdJQSxJQUFNNkIsU0FBUyxHQUFHQywwQkFBT0MsR0FBVjtBQUFBO0FBQUE7QUFBQSx1Q0FBZjs7QUFLQSxJQUFNQyxTQUFTLEdBQUcseUJBQVFwRCxlQUFSLENBQWxCOztlQUNlb0QsU0FBUyxDQUFDakQsTUFBRCxDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQb2xsdXRpb25EaXNjaGFyZ2UgZnJvbSAnLi4vUG9sbHV0aW9uRGlzY2hhcmdlJztcbmltcG9ydCB7IElQb2ludCB9IGZyb20gJ3NyYy9zdG9yZS9wb2ludHMvbW9kZWxzL0lQb2ludCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHsgY29ubmVjdCwgQ29ubmVjdGVkUHJvcHMsIHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgbW9yZUluZm8gfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IHsgSUFwcFN0YXRlIH0gZnJvbSAnc3JjL21vZGVscy9JQXBwU3RhdGUnO1xuaW1wb3J0IEhpc3RvcmljYWxJbmZvcm1hdGlvbiBmcm9tICcuLi9IaXN0b3JpY2FsSW5mb3JtYXRpb24nO1xuaW1wb3J0IHsgSVNvdXJjZSB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lTb3VyY2UnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50LXRpbWV6b25lJztcbmltcG9ydCBTZWN0b3IgZnJvbSAnc3JjL2NvbXBvbmVudHMvU2VjdG9yJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuXG5mdW5jdGlvbiBtYXBTdGF0ZVRvUHJvcHMoc3RhdGU6IElBcHBTdGF0ZSkge1xuICBjb25zdCB7IGdsb2JhbF9kYXRhIH0gPSBzdGF0ZTtcblxuICByZXR1cm4ge1xuICAgIGdsb2JhbF9kYXRhLFxuICB9O1xufVxuXG50eXBlIElQcm9wcyA9IENvbm5lY3RlZFByb3BzPHR5cGVvZiBjb25uZWN0b3I+ICYge1xuICBzb3VyY2U6IElTb3VyY2U7XG4gIHNlbGVjdGVkU291cmNlOiBhbnk7XG4gIHRvZ2dsZVNvdXJjZVNlbGVjdGlvbjogYW55O1xuICBwb2ludDogSVBvaW50O1xuICBmb2N1c2VkRXZlbnQ6IElFdmVudDtcbiAgaXNFbXB0eT86IGJvb2xlYW47XG59O1xuXG5jb25zdCBTb3VyY2U6IFJlYWN0LkZDPElQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3Qge1xuICAgIHNvdXJjZSxcbiAgICBzZWxlY3RlZFNvdXJjZSxcbiAgICB0b2dnbGVTb3VyY2VTZWxlY3Rpb24sXG4gICAgcG9pbnQsXG4gICAgZ2xvYmFsX2RhdGEsXG4gICAgZm9jdXNlZEV2ZW50LFxuICAgIGlzRW1wdHkgPSBmYWxzZSxcbiAgfSA9IHByb3BzO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG4gIGNvbnN0IGhhbmRsZU1vcmVJbmZvQ2xpY2sgPSAoKSA9PiB7XG4gICAgZGlzcGF0Y2goXG4gICAgICBtb3JlSW5mbyghZ2xvYmFsX2RhdGEubW9yZUluZm8uYWN0aXZlLCB7XG4gICAgICAgIGNvbXBvbmVudDogSGlzdG9yaWNhbEluZm9ybWF0aW9uLFxuICAgICAgICBzZWxlY3RlZFNvdXJjZTogc291cmNlLnBvaW50X2lkLFxuICAgICAgICBjYW1lRnJvbTogaTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZXZlbnRfZGV0YWlscycpLFxuICAgICAgICBzb3VyY2VOYW1lOiBwb2ludC5ncm91cC5uYW1lLFxuICAgICAgfSksXG4gICAgKTtcbiAgfTtcbiAgY29uc3Qgc291cmNlQ29uZmlkZW5jZUxldmVsID1cbiAgICBzb3VyY2UuY29uZmlkZW5jZV9sZXZlbCA9PT0gbnVsbCA/ICctLScgOiBzb3VyY2UuY29uZmlkZW5jZV9sZXZlbDtcblxuICBjb25zdCBmb3JtYXRUaW1lID0gKHRpbWU6IG51bWJlciwgdGltZV96b25lOiBzdHJpbmcpID0+IHtcbiAgICByZXR1cm4gbW9tZW50LnVuaXgodGltZSkudHoodGltZV96b25lKS5mb3JtYXQoJ0g6bW0nKTtcbiAgfTtcblxuICBjb25zdCBjYWx1bGF0ZURpc2NoYXJnZVRpbWUgPSAoc291cmNlOiBJU291cmNlLCBldmVudDogSUV2ZW50KSA9PiB7XG4gICAgbGV0IG9ic2VydmF0aW9uID0gZXZlbnQub2JzZXJ2YXRpb25zLmZpbmQoXG4gICAgICAob2JzKSA9PiBvYnMucG9pbnRfaWQgPT09IHNvdXJjZS5wb2ludF9pZCxcbiAgICApO1xuXG4gICAgaWYgKG9ic2VydmF0aW9uICE9PSB1bmRlZmluZWQgJiYgb2JzZXJ2YXRpb24uZW5kX3RpbWUgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXZlbnQtaW5mb19fc291cmNlX19ib2R5X19kaXNjaGFyZ2UtdGltZSd9PlxuICAgICAgICAgIDxzcGFuPntpMThuLnQoJ2V2ZW50c19vdmVydmlldy5kaXNjaGFyZ2Vfc3RhcnRfdGltZScpfTo8L3NwYW4+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9eyd0aW1lJ30+XG4gICAgICAgICAgICB7Zm9ybWF0VGltZShvYnNlcnZhdGlvbi5zdGFydF90aW1lLCBvYnNlcnZhdGlvbi50aW1lX3pvbmUpfSAoXG4gICAgICAgICAgICB7bW9tZW50XG4gICAgICAgICAgICAgIC51bml4KG9ic2VydmF0aW9uLnN0YXJ0X3RpbWUpXG4gICAgICAgICAgICAgIC50eihvYnNlcnZhdGlvbi50aW1lX3pvbmUpXG4gICAgICAgICAgICAgIC5mcm9tTm93KCl9XG4gICAgICAgICAgICApXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKG9ic2VydmF0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXZlbnQtaW5mb19fc291cmNlX19ib2R5X19kaXNjaGFyZ2UtdGltZSd9PlxuICAgICAgICAgIDxzcGFuPntpMThuLnQoJ2V2ZW50c19vdmVydmlldy5kaXNjaGFyZ2VfdGltZScpfTo8L3NwYW4+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9eyd0aW1lJ30+XG4gICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAge2Ake2Zvcm1hdFRpbWUoXG4gICAgICAgICAgICAgICAgb2JzZXJ2YXRpb24uc3RhcnRfdGltZSxcbiAgICAgICAgICAgICAgICBvYnNlcnZhdGlvbi50aW1lX3pvbmUsXG4gICAgICAgICAgICAgICl9IC0gJHtmb3JtYXRUaW1lKG9ic2VydmF0aW9uLmVuZF90aW1lLCBvYnNlcnZhdGlvbi50aW1lX3pvbmUpfWB9XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAoXG4gICAgICAgICAgICAgIHttb21lbnRcbiAgICAgICAgICAgICAgICAudW5peChvYnNlcnZhdGlvbi5zdGFydF90aW1lKVxuICAgICAgICAgICAgICAgIC50eihvYnNlcnZhdGlvbi50aW1lX3pvbmUpXG4gICAgICAgICAgICAgICAgLmZyb21Ob3coKX1cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyPlxuICAgICAge3BvaW50ICE9PSB1bmRlZmluZWQgJiYgKFxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3NOYW1lPXtgZXZlbnQtaW5mb19fc291cmNlICR7XG4gICAgICAgICAgICBzZWxlY3RlZFNvdXJjZSA9PT0gc291cmNlLnBvaW50X2lkXG4gICAgICAgICAgICAgID8gJ2V2ZW50LWluZm9fX3NvdXJjZS0tc2VsZWN0ZWQnXG4gICAgICAgICAgICAgIDogJydcbiAgICAgICAgICB9YH1cbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB0b2dnbGVTb3VyY2VTZWxlY3Rpb24oc291cmNlLnBvaW50X2lkKX1cbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXZlbnQtaW5mb19fc291cmNlX19oZWFkZXInfT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXZlbnQtaW5mb19fc291cmNlX19oZWFkZXJfX2luZm8tY29udGFpbmVyJ30+XG4gICAgICAgICAgICAgIHtmb2N1c2VkRXZlbnQuc291cmNlcy5sZW5ndGggPT09IDAgJiYgKFxuICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAgPGI+XG4gICAgICAgICAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5maXJzdF9kZXRlY3Rpb24nKX06eycgJ31cbiAgICAgICAgICAgICAgICAgICAge3NvdXJjZS5wb2ludF9uYW1lfXsnICd9XG4gICAgICAgICAgICAgICAgICA8L2I+XG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7ZmFsc2UgJiYgKFxuICAgICAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICAgICAge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmNvbmZpZGVuY2UnKX06eycgJ31cbiAgICAgICAgICAgICAgICAgIHtzb3VyY2VDb25maWRlbmNlTGV2ZWx9JVxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydldmVudC1pbmZvX19zb3VyY2VfX2JvZHknfT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXZlbnQtaW5mb19fc291cmNlX19ib2R5X19pbmZvLWNvbnRhaW5lcid9PlxuICAgICAgICAgICAgICB7IWlzRW1wdHkgJiYgKFxuICAgICAgICAgICAgICAgIDxTZWN0b3JcbiAgICAgICAgICAgICAgICAgIHNlY3Rvck5hbWU9e3BvaW50Lmdyb3VwLnNlY3Rvcl9uYW1lfVxuICAgICAgICAgICAgICAgICAgc2VjdG9ySWNvbk5hbWU9e3BvaW50Lmdyb3VwLnNlY3Rvcl9pY29uX25hbWV9XG4gICAgICAgICAgICAgICAgICB3aWR0aD1cIjM3XCJcbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2Rpc2NoYXJnaW5nJ30+XG4gICAgICAgICAgICAgICAgezxQb2xsdXRpb25EaXNjaGFyZ2Ugc291cmNlPXtzb3VyY2V9IGV2ZW50PXtmb2N1c2VkRXZlbnR9IC8+fVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAge2NhbHVsYXRlRGlzY2hhcmdlVGltZShzb3VyY2UsIGZvY3VzZWRFdmVudCl9XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IHN0eWxlPXt7IG1hcmdpbjogJzEwcHggMCAwIDAnIH19PlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgaHJlZj1cIiNcIlxuICAgICAgICAgICAgICBjbGFzc05hbWU9eydtb3JlLWluZm8tYnV0dG9uJ31cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlTW9yZUluZm9DbGljaygpfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcubW9yZV9pbmZvJyl9XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICA8L0NvbnRhaW5lcj5cbiAgKTtcbn07XG5cbmNvbnN0IENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbmA7XG5cbmNvbnN0IGNvbm5lY3RvciA9IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RvcihTb3VyY2UpO1xuIl19
|
|
@@ -25,8 +25,6 @@ var _EarlyWarnings = _interopRequireDefault(require("../event_info/EarlyWarnings
|
|
|
25
25
|
|
|
26
26
|
var _PollutionDischarge = _interopRequireDefault(require("../event_info/PollutionDischarge"));
|
|
27
27
|
|
|
28
|
-
var _EventUtils = require("./EventUtils");
|
|
29
|
-
|
|
30
28
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
31
29
|
|
|
32
30
|
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; }
|
|
@@ -52,6 +50,18 @@ var EventItem = function EventItem(props) {
|
|
|
52
50
|
return source;
|
|
53
51
|
};
|
|
54
52
|
|
|
53
|
+
var lastSeenObservation = function lastSeenObservation() {
|
|
54
|
+
return event.observations.sort(function (obs1, obs2) {
|
|
55
|
+
return obs1.last_seen_time - obs2.last_seen_time;
|
|
56
|
+
}).slice(-1)[0];
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
var firstSeenObservation = function firstSeenObservation() {
|
|
60
|
+
return event.observations.sort(function (obs1, obs2) {
|
|
61
|
+
return obs1.start_time - obs2.start_time;
|
|
62
|
+
})[0];
|
|
63
|
+
};
|
|
64
|
+
|
|
55
65
|
var handleEventClick = function handleEventClick(event, refElement) {
|
|
56
66
|
handleEventItemClick(event, refElement);
|
|
57
67
|
};
|
|
@@ -93,20 +103,20 @@ var EventItem = function EventItem(props) {
|
|
|
93
103
|
className: 'event-content__body--bottom__item'
|
|
94
104
|
}, /*#__PURE__*/_react.default.createElement("p", null, _i18n.default.t('events_overview.first_seen'), ":"), /*#__PURE__*/_react.default.createElement(_Truncate.default, {
|
|
95
105
|
characters: 8
|
|
96
|
-
}, /*#__PURE__*/_react.default.createElement("span", null,
|
|
106
|
+
}, /*#__PURE__*/_react.default.createElement("span", null, firstSeenObservation().point_name)), /*#__PURE__*/_react.default.createElement(_Truncate.default, {
|
|
97
107
|
characters: 8
|
|
98
108
|
}, /*#__PURE__*/_react.default.createElement(_TimeFormat.default, {
|
|
99
|
-
timestamp:
|
|
100
|
-
time_zone:
|
|
109
|
+
timestamp: firstSeenObservation().start_time,
|
|
110
|
+
time_zone: firstSeenObservation().time_zone
|
|
101
111
|
}))), /*#__PURE__*/_react.default.createElement("div", {
|
|
102
112
|
className: 'event-content__body--bottom__item'
|
|
103
113
|
}, /*#__PURE__*/_react.default.createElement("p", null, _i18n.default.t('events_overview.last_seen'), ":"), /*#__PURE__*/_react.default.createElement(_Truncate.default, {
|
|
104
114
|
characters: 8
|
|
105
|
-
}, /*#__PURE__*/_react.default.createElement("span", null,
|
|
115
|
+
}, /*#__PURE__*/_react.default.createElement("span", null, lastSeenObservation().point_name)), /*#__PURE__*/_react.default.createElement(_Truncate.default, {
|
|
106
116
|
characters: 8
|
|
107
117
|
}, /*#__PURE__*/_react.default.createElement(_TimeFormat.default, {
|
|
108
|
-
timestamp:
|
|
109
|
-
time_zone:
|
|
118
|
+
timestamp: lastSeenObservation().last_seen_time,
|
|
119
|
+
time_zone: lastSeenObservation().time_zone
|
|
110
120
|
}))), /*#__PURE__*/_react.default.createElement("div", {
|
|
111
121
|
className: 'early-warnings'
|
|
112
122
|
}, /*#__PURE__*/_react.default.createElement(_EarlyWarnings.default, {
|
|
@@ -127,4 +137,4 @@ var _default = EventItem; // export default React.memo(EventItem, (prevProps, ne
|
|
|
127
137
|
// } );
|
|
128
138
|
|
|
129
139
|
exports.default = _default;
|
|
130
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudHNfbGlzdC9FdmVudEl0ZW0udHN4Il0sIm5hbWVzIjpbIkV2ZW50SXRlbSIsInByb3BzIiwiZXZlbnQiLCJoYW5kbGVFdmVudEl0ZW1DbGljayIsImhhbmRsZUV2ZW50SXRlbUhvdmVyIiwiaXRlbUNvbnRhaW5lciIsImdldFNvdXJjZSIsInNvdXJjZSIsInNvdXJjZXMiLCJsZW5ndGgiLCJzb3J0IiwiYSIsImIiLCJjb25maWRlbmNlX2xldmVsIiwiaGFuZGxlRXZlbnRDbGljayIsInJlZkVsZW1lbnQiLCJpZCIsInNldmVyaXR5IiwiaTE4biIsInQiLCJ1bmRlZmluZWQiLCJwb2ludF9uYW1lIiwic3RhcnRfdGltZSIsInRpbWVfem9uZSIsImxhc3Rfc2Vlbl90aW1lIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUdBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7QUFRQSxJQUFNQSxTQUEyQixHQUFHLFNBQTlCQSxTQUE4QixDQUFDQyxLQUFELEVBQVc7QUFDN0MsTUFBUUMsS0FBUixHQUE4REQsS0FBOUQsQ0FBUUMsS0FBUjtBQUFBLE1BQWVDLG9CQUFmLEdBQThERixLQUE5RCxDQUFlRSxvQkFBZjtBQUFBLE1BQXFDQyxvQkFBckMsR0FBOERILEtBQTlELENBQXFDRyxvQkFBckM7QUFDQSxNQUFNQyxhQUFhLEdBQUcsbUJBQVksSUFBWixDQUF0Qjs7QUFFQSxNQUFNQyxTQUFTLEdBQUcsU0FBWkEsU0FBWSxHQUFNO0FBQ3RCLFFBQUlDLE1BQUo7O0FBRUEsUUFBSUwsS0FBSyxDQUFDTSxPQUFOLENBQWNDLE1BQWQsR0FBdUIsQ0FBM0IsRUFBOEI7QUFDNUI7QUFDQUYsTUFBQUEsTUFBTSxHQUFHTCxLQUFLLENBQUNNLE9BQU4sQ0FBY0UsSUFBZCxDQUFtQixVQUFDQyxDQUFELEVBQUlDLENBQUo7QUFBQSxlQUMx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bUIsVUFBbEMsQ0FERixDQUZGLGVBTUksNkJBQUMsaUJBQUQ7QUFBVSxJQUFBLFVBQVUsRUFBRTtBQUF0QixrQkFDRSw2QkFBQyxtQkFBRDtBQUNFLElBQUEsU0FBUyxFQUFFLHFDQUFvQm5CLEtBQXBCLEVBQTJCc0IsY0FEeEM7QUFFRSxJQUFBLFNBQVMsRUFBRSxxQ0FBb0J0QixLQUFwQixFQUEyQnFCO0FBRnhDLElBREYsQ0FOSixDQWJGLGVBMkJFO0FBQUssSUFBQSxTQUFTLEVBQUU7QUFBaEIsa0JBQ0csNkJBQUMsc0JBQUQ7QUFBZSxJQUFBLEtBQUssRUFBRXJCO0FBQXRCLElBREgsQ0EzQkYsQ0FMRixDQWpCRixDQWJGLENBRkYsQ0FERjtBQTBFRCxDQXRHRDs7ZUF3R2VGLFMsRUFFZjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFJlZk9iamVjdCwgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgSVNvdXJjZSB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lTb3VyY2UnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCBUaW1lRm9ybWF0IGZyb20gJ3NyYy91dGlsaXRpZXMvVGltZUZvcm1hdCc7XG5pbXBvcnQgVHJ1bmNhdGUgZnJvbSAnc3JjL3V0aWxpdGllcy9UcnVuY2F0ZSc7XG5pbXBvcnQgJy4uL0V2ZW50c1N0eWxlLnNjc3MnO1xuaW1wb3J0IERhbWFnZVR5cGUgZnJvbSAnLi4vZXZlbnRfaW5mby9kYW1hZ2VfdHlwZS9EYW1hZ2VUeXBlJztcbmltcG9ydCBFYXJseVdhcm5pbmdzIGZyb20gJy4uL2V2ZW50X2luZm8vRWFybHlXYXJuaW5ncyc7XG5pbXBvcnQgUG9sbHV0aW9uRGlzY2hhcmdlIGZyb20gJy4uL2V2ZW50X2luZm8vUG9sbHV0aW9uRGlzY2hhcmdlJztcbmltcG9ydCB7IGZpcnN0U2Vlbk9ic2VydmF0aW9uLCBsYXN0U2Vlbk9ic2VydmF0aW9uIH0gZnJvbSAnLi9FdmVudFV0aWxzJztcblxudHlwZSBJUHJvcHMgPSB7XG4gIGV2ZW50OiBJRXZlbnQ7XG4gIGhhbmRsZUV2ZW50SXRlbUNsaWNrOiBGdW5jdGlvbjtcbiAgaGFuZGxlRXZlbnRJdGVtSG92ZXI6IEZ1bmN0aW9uO1xufTtcblxuY29uc3QgRXZlbnRJdGVtOiBSZWFjdC5GQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgZXZlbnQsIGhhbmRsZUV2ZW50SXRlbUNsaWNrLCBoYW5kbGVFdmVudEl0ZW1Ib3ZlciB9ID0gcHJvcHM7XG4gIGNvbnN0IGl0ZW1Db250YWluZXIgPSB1c2VSZWY8YW55PihudWxsKTtcblxuICBjb25zdCBnZXRTb3VyY2UgPSAoKSA9PiB7XG4gICAgbGV0IHNvdXJjZTogSVNvdXJjZTtcblxuICAgIGlmIChldmVudC5zb3VyY2VzLmxlbmd0aCA+IDEpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHNvdXJjZSA9IGV2ZW50LnNvdXJjZXMuc29ydCgoYSwgYikgPT5cbiAgICAgICAgYS5jb25maWRlbmNlX2xldmVsIDwgYi5jb25maWRlbmNlX2xldmVsID8gMSA6IC0xLFxuICAgICAgKVswXTtcbiAgICB9IGVsc2Uge1xuICAgICAgc291cmNlID0gZXZlbnQuc291cmNlc1swXTtcbiAgICB9XG5cbiAgICByZXR1cm4gc291cmNlO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUV2ZW50Q2xpY2sgPSAoXG4gICAgZXZlbnQ6IElFdmVudCxcbiAgICByZWZFbGVtZW50OiBSZWZPYmplY3Q8SFRNTEVsZW1lbnQ+LFxuICApID0+IHtcbiAgICBoYW5kbGVFdmVudEl0ZW1DbGljayhldmVudCwgcmVmRWxlbWVudCk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHt9LCBbXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17J2V2ZW50LWlkJ30+e2V2ZW50LmlkfTwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9eydldmVudC1jb250YWluZXInfVxuICAgICAgICByZWY9e2l0ZW1Db250YWluZXJ9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICBoYW5kbGVFdmVudENsaWNrKGV2ZW50LCBpdGVtQ29udGFpbmVyKTtcbiAgICAgICAgfX1cbiAgICAgICAgb25Nb3VzZUVudGVyPXsoKSA9PiB7XG4gICAgICAgICAgaGFuZGxlRXZlbnRJdGVtSG92ZXIoZXZlbnQpO1xuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3NOYW1lPXtgZXZlbnQtY29udGFpbmVyX19zZXZlcml0eSBldmVudC1jb250YWluZXJfX3NldmVyaXR5LS0ke2V2ZW50LnNldmVyaXR5fWB9XG4gICAgICAgID48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9eydldmVudC1jb250ZW50J30+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydldmVudC1jb250ZW50X19oZWFkZXInfT5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICA8Yj57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuc291cmNlJyl9PC9iPjp7JyAnfVxuICAgICAgICAgICAgICB7Z2V0U291cmNlKCkgIT09IHVuZGVmaW5lZCAmJiBnZXRTb3VyY2UoKS5wb2ludF9uYW1lfVxuICAgICAgICAgICAgPC9wPlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J3BvbGx1dGlvbi1kaXNjaGFyZ2UnfT5cbiAgICAgICAgICAgICAge2dldFNvdXJjZSgpICE9PSB1bmRlZmluZWQgJiYgKFxuICAgICAgICAgICAgICAgIDxQb2xsdXRpb25EaXNjaGFyZ2VcbiAgICAgICAgICAgICAgICAgIHNvdXJjZT17Z2V0U291cmNlKCl9XG4gICAgICAgICAgICAgICAgICBldmVudD17ZXZlbnR9XG4gICAgICAgICAgICAgICAgPjwvUG9sbHV0aW9uRGlzY2hhcmdlPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2V2ZW50LWNvbnRlbnRfX2JvZHknfT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXZlbnQtY29udGVudF9fYm9keS0tdG9wJ30+XG4gICAgICAgICAgICAgIDxwPntpMThuLnQoJ2V2ZW50c19vdmVydmlldy5kYW1hZ2VfdHlwZScpfTo8L3A+XG4gICAgICAgICAgICAgIDxEYW1hZ2VUeXBlIGV2ZW50PXtldmVudH0gZm9yRXZlbnQ9e3RydWV9IG9ic2VydmF0aW9uPXtudWxsfSAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2V2ZW50LWNvbnRlbnRfX2JvZHktLWJvdHRvbSd9PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2V2ZW50LWNvbnRlbnRfX2JvZHktLWJvdHRvbV9faXRlbSd9PlxuICAgICAgICAgICAgICAgIDxwPntpMThuLnQoJ2V2ZW50c19vdmVydmlldy5maXJzdF9zZWVuJyl9OjwvcD5cbiAgICAgICAgICAgICAgICA8VHJ1bmNhdGUgY2hhcmFjdGVycz17OH0+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj57Zmlyc3RTZWVuT2JzZXJ2YXRpb24oZXZlbnQpLnBvaW50X25hbWV9PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvVHJ1bmNhdGU+XG4gICAgICAgICAgICAgICAgPFRydW5jYXRlIGNoYXJhY3RlcnM9ezh9PlxuICAgICAgICAgICAgICAgICAgPFRpbWVGb3JtYXRcbiAgICAgICAgICAgICAgICAgICAgdGltZXN0YW1wPXtmaXJzdFNlZW5PYnNlcnZhdGlvbihldmVudCkuc3RhcnRfdGltZX1cbiAgICAgICAgICAgICAgICAgICAgdGltZV96b25lPXtmaXJzdFNlZW5PYnNlcnZhdGlvbihldmVudCkudGltZV96b25lfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L1RydW5jYXRlPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydldmVudC1jb250ZW50X19ib2R5LS1ib3R0b21fX2l0ZW0nfT5cbiAgICAgICAgICAgICAgICA8cD57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcubGFzdF9zZWVuJyl9OjwvcD5cbiAgICAgICAgICAgICAgICA8VHJ1bmNhdGUgY2hhcmFjdGVycz17OH0+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj57bGFzdFNlZW5PYnNlcnZhdGlvbihldmVudCkucG9pbnRfbmFtZX08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9UcnVuY2F0ZT5cbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICA8VHJ1bmNhdGUgY2hhcmFjdGVycz17OH0+XG4gICAgICAgICAgICAgICAgICAgIDxUaW1lRm9ybWF0XG4gICAgICAgICAgICAgICAgICAgICAgdGltZXN0YW1wPXtsYXN0U2Vlbk9ic2VydmF0aW9uKGV2ZW50KS5sYXN0X3NlZW5fdGltZX1cbiAgICAgICAgICAgICAgICAgICAgICB0aW1lX3pvbmU9e2xhc3RTZWVuT2JzZXJ2YXRpb24oZXZlbnQpLnRpbWVfem9uZX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvVHJ1bmNhdGU+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydlYXJseS13YXJuaW5ncyd9PlxuICAgICAgICAgICAgICAgIHs8RWFybHlXYXJuaW5ncyBldmVudD17ZXZlbnR9PjwvRWFybHlXYXJuaW5ncz59XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEV2ZW50SXRlbTtcblxuLy8gZXhwb3J0IGRlZmF1bHQgUmVhY3QubWVtbyhFdmVudEl0ZW0sIChwcmV2UHJvcHMsIG5leHRQcm9wcyk9PiB7XG4vLyAgICAgbGV0IHByZXZfZm9jdXNlZEV2ZW50SWQgPSAoKHByZXZQcm9wcyB8fCB7fSkuZm9jdXNlZEV2ZW50IHx8IHt9KS5pZDtcbi8vICAgICBsZXQgbmV4dF9mb2N1c2VkRXZlbnRJZCA9ICgobmV4dFByb3BzIHx8IHt9KS5mb2N1c2VkRXZlbnQgfHwge30pLmlkO1xuLy8gICAgIGxldCBwcmV2X2V2ZW50SWQgPSAoKHByZXZQcm9wcyB8fCB7fSkuZXZlbnQgfHwge30pLmlkO1xuLy8gICAgIGxldCBuZXh0X2V2ZW50SWQgPSAoKG5leHRQcm9wcyB8fCB7fSkuZXZlbnQgfHwge30pLmlkO1xuLy8gICAgIGlmIChwcmV2X2V2ZW50SWQgPT09IG5leHRfZXZlbnRJZCl7XG4vLyAgICAgICAgIHJldHVybiBmYWxzZVxuLy8gICAgIH0gZWxzZSB7XG4vLyAgICAgICAgIHJldHVybiB0cnVlXG4vLyAgICAgfVxuLy8gfSApO1xuIl19
|
|
140
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudHNfbGlzdC9FdmVudEl0ZW0udHN4Il0sIm5hbWVzIjpbIkV2ZW50SXRlbSIsInByb3BzIiwiZXZlbnQiLCJoYW5kbGVFdmVudEl0ZW1DbGljayIsImhhbmRsZUV2ZW50SXRlbUhvdmVyIiwiaXRlbUNvbnRhaW5lciIsImdldFNvdXJjZSIsInNvdXJjZSIsInNvdXJjZXMiLCJsZW5ndGgiLCJzb3J0IiwiYSIsImIiLCJjb25maWRlbmNlX2xldmVsIiwibGFzdFNlZW5PYnNlcnZhdGlvbiIsIm9ic2VydmF0aW9ucyIsIm9iczEiLCJvYnMyIiwibGFzdF9zZWVuX3RpbWUiLCJzbGljZSIsImZpcnN0U2Vlbk9ic2VydmF0aW9uIiwic3RhcnRfdGltZSIsImhhbmRsZUV2ZW50Q2xpY2siLCJyZWZFbGVtZW50IiwiaWQiLCJzZXZlcml0eSIsImkxOG4iLCJ0IiwidW5kZWZpbmVkIiwicG9pbnRfbmFtZSIsInRpbWVfem9uZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBUUEsSUFBTUEsU0FBMkIsR0FBRyxTQUE5QkEsU0FBOEIsQ0FBQ0MsS0FBRCxFQUFXO0FBQzdDLE1BQVFDLEtBQVIsR0FBOERELEtBQTlELENBQVFDLEtBQVI7QUFBQSxNQUFlQyxvQkFBZixHQUE4REYsS0FBOUQsQ0FBZUUsb0JBQWY7QUFBQSxNQUFxQ0Msb0JBQXJDLEdBQThESCxLQUE5RCxDQUFxQ0csb0JBQXJDO0FBQ0EsTUFBTUMsYUFBYSxHQUFHLG1CQUFZLElBQVosQ0FBdEI7O0FBRUEsTUFBTUMsU0FBUyxHQUFHLFNBQVpBLFNBQVksR0FBTTtBQUN0QixRQUFJQyxNQUFKOztBQUVBLFFBQUlMLEtBQUssQ0FBQ00sT0FBTixDQUFjQyxNQUFkLEdBQXVCLENBQTNCLEVBQThCO0FBQzVCO0FBQ0FGLE1BQUFB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amVjdCwgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgSVNvdXJjZSB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lTb3VyY2UnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCBUaW1lRm9ybWF0IGZyb20gJ3NyYy91dGlsaXRpZXMvVGltZUZvcm1hdCc7XG5pbXBvcnQgVHJ1bmNhdGUgZnJvbSAnc3JjL3V0aWxpdGllcy9UcnVuY2F0ZSc7XG5pbXBvcnQgJy4uL0V2ZW50c1N0eWxlLnNjc3MnO1xuaW1wb3J0IERhbWFnZVR5cGUgZnJvbSAnLi4vZXZlbnRfaW5mby9kYW1hZ2VfdHlwZS9EYW1hZ2VUeXBlJztcbmltcG9ydCBFYXJseVdhcm5pbmdzIGZyb20gJy4uL2V2ZW50X2luZm8vRWFybHlXYXJuaW5ncyc7XG5pbXBvcnQgUG9sbHV0aW9uRGlzY2hhcmdlIGZyb20gJy4uL2V2ZW50X2luZm8vUG9sbHV0aW9uRGlzY2hhcmdlJztcblxudHlwZSBJUHJvcHMgPSB7XG4gIGV2ZW50OiBJRXZlbnQ7XG4gIGhhbmRsZUV2ZW50SXRlbUNsaWNrOiBGdW5jdGlvbjtcbiAgaGFuZGxlRXZlbnRJdGVtSG92ZXI6IEZ1bmN0aW9uO1xufTtcblxuY29uc3QgRXZlbnRJdGVtOiBSZWFjdC5GQzxJUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgZXZlbnQsIGhhbmRsZUV2ZW50SXRlbUNsaWNrLCBoYW5kbGVFdmVudEl0ZW1Ib3ZlciB9ID0gcHJvcHM7XG4gIGNvbnN0IGl0ZW1Db250YWluZXIgPSB1c2VSZWY8YW55PihudWxsKTtcblxuICBjb25zdCBnZXRTb3VyY2UgPSAoKSA9PiB7XG4gICAgbGV0IHNvdXJjZTogSVNvdXJjZTtcblxuICAgIGlmIChldmVudC5zb3VyY2VzLmxlbmd0aCA+IDEpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHNvdXJjZSA9IGV2ZW50LnNvdXJjZXMuc29ydCgoYSwgYikgPT5cbiAgICAgICAgYS5jb25maWRlbmNlX2xldmVsIDwgYi5jb25maWRlbmNlX2xldmVsID8gMSA6IC0xLFxuICAgICAgKVswXTtcbiAgICB9IGVsc2Uge1xuICAgICAgc291cmNlID0gZXZlbnQuc291cmNlc1swXTtcbiAgICB9XG5cbiAgICByZXR1cm4gc291cmNlO1xuICB9O1xuXG4gIGNvbnN0IGxhc3RTZWVuT2JzZXJ2YXRpb24gPSAoKSA9PiB7XG4gICAgcmV0dXJuIGV2ZW50Lm9ic2VydmF0aW9uc1xuICAgICAgLnNvcnQoKG9iczEsIG9iczIpID0+IHtcbiAgICAgICAgcmV0dXJuIG9iczEubGFzdF9zZWVuX3RpbWUgLSBvYnMyLmxhc3Rfc2Vlbl90aW1lO1xuICAgICAgfSlcbiAgICAgIC5zbGljZSgtMSlbMF07XG4gIH07XG5cbiAgY29uc3QgZmlyc3RTZWVuT2JzZXJ2YXRpb24gPSAoKSA9PiB7XG4gICAgcmV0dXJuIGV2ZW50Lm9ic2VydmF0aW9ucy5zb3J0KChvYnMxLCBvYnMyKSA9PiB7XG4gICAgICByZXR1cm4gb2JzMS5zdGFydF90aW1lIC0gb2JzMi5zdGFydF90aW1lO1xuICAgIH0pWzBdO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUV2ZW50Q2xpY2sgPSAoXG4gICAgZXZlbnQ6IElFdmVudCxcbiAgICByZWZFbGVtZW50OiBSZWZPYmplY3Q8SFRNTEVsZW1lbnQ+LFxuICApID0+IHtcbiAgICBoYW5kbGVFdmVudEl0ZW1DbGljayhldmVudCwgcmVmRWxlbWVudCk7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHt9LCBbXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17J2V2ZW50LWlkJ30+e2V2ZW50LmlkfTwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9eydldmVudC1jb250YWluZXInfVxuICAgICAgICByZWY9e2l0ZW1Db250YWluZXJ9XG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICBoYW5kbGVFdmVudENsaWNrKGV2ZW50LCBpdGVtQ29udGFpbmVyKTtcbiAgICAgICAgfX1cbiAgICAgICAgb25Nb3VzZUVudGVyPXsoKSA9PiB7XG4gICAgICAgICAgaGFuZGxlRXZlbnRJdGVtSG92ZXIoZXZlbnQpO1xuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3NOYW1lPXtgZXZlbnQtY29udGFpbmVyX19zZXZlcml0eSBldmVudC1jb250YWluZXJfX3NldmVyaXR5LS0ke2V2ZW50LnNldmVyaXR5fWB9XG4gICAgICAgID48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9eydldmVudC1jb250ZW50J30+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydldmVudC1jb250ZW50X19oZWFkZXInfT5cbiAgICAgICAgICAgIDxwPlxuICAgICAgICAgICAgICA8Yj57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuc291cmNlJyl9PC9iPjp7JyAnfVxuICAgICAgICAgICAgICB7Z2V0U291cmNlKCkgIT09IHVuZGVmaW5lZCAmJiBnZXRTb3VyY2UoKS5wb2ludF9uYW1lfVxuICAgICAgICAgICAgPC9wPlxuXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J3BvbGx1dGlvbi1kaXNjaGFyZ2UnfT5cbiAgICAgICAgICAgICAge2dldFNvdXJjZSgpICE9PSB1bmRlZmluZWQgJiYgKFxuICAgICAgICAgICAgICAgIDxQb2xsdXRpb25EaXNjaGFyZ2VcbiAgICAgICAgICAgICAgICAgIHNvdXJjZT17Z2V0U291cmNlKCl9XG4gICAgICAgICAgICAgICAgICBldmVudD17ZXZlbnR9XG4gICAgICAgICAgICAgICAgPjwvUG9sbHV0aW9uRGlzY2hhcmdlPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2V2ZW50LWNvbnRlbnRfX2JvZHknfT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnZXZlbnQtY29udGVudF9fYm9keS0tdG9wJ30+XG4gICAgICAgICAgICAgIDxwPntpMThuLnQoJ2V2ZW50c19vdmVydmlldy5kYW1hZ2VfdHlwZScpfTo8L3A+XG4gICAgICAgICAgICAgIDxEYW1hZ2VUeXBlIGV2ZW50PXtldmVudH0gZm9yRXZlbnQ9e3RydWV9IG9ic2VydmF0aW9uPXtudWxsfSAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2V2ZW50LWNvbnRlbnRfX2JvZHktLWJvdHRvbSd9PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2V2ZW50LWNvbnRlbnRfX2JvZHktLWJvdHRvbV9faXRlbSd9PlxuICAgICAgICAgICAgICAgIDxwPntpMThuLnQoJ2V2ZW50c19vdmVydmlldy5maXJzdF9zZWVuJyl9OjwvcD5cbiAgICAgICAgICAgICAgICA8VHJ1bmNhdGUgY2hhcmFjdGVycz17OH0+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj57Zmlyc3RTZWVuT2JzZXJ2YXRpb24oKS5wb2ludF9uYW1lfTwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L1RydW5jYXRlPlxuICAgICAgICAgICAgICAgIDxUcnVuY2F0ZSBjaGFyYWN0ZXJzPXs4fT5cbiAgICAgICAgICAgICAgICAgIDxUaW1lRm9ybWF0XG4gICAgICAgICAgICAgICAgICAgIHRpbWVzdGFtcD17Zmlyc3RTZWVuT2JzZXJ2YXRpb24oKS5zdGFydF90aW1lfVxuICAgICAgICAgICAgICAgICAgICB0aW1lX3pvbmU9e2ZpcnN0U2Vlbk9ic2VydmF0aW9uKCkudGltZV96b25lfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L1RydW5jYXRlPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydldmVudC1jb250ZW50X19ib2R5LS1ib3R0b21fX2l0ZW0nfT5cbiAgICAgICAgICAgICAgICA8cD57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcubGFzdF9zZWVuJyl9OjwvcD5cbiAgICAgICAgICAgICAgICA8VHJ1bmNhdGUgY2hhcmFjdGVycz17OH0+XG4gICAgICAgICAgICAgICAgICA8c3Bhbj57bGFzdFNlZW5PYnNlcnZhdGlvbigpLnBvaW50X25hbWV9PC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvVHJ1bmNhdGU+XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgPFRydW5jYXRlIGNoYXJhY3RlcnM9ezh9PlxuICAgICAgICAgICAgICAgICAgICA8VGltZUZvcm1hdFxuICAgICAgICAgICAgICAgICAgICAgIHRpbWVzdGFtcD17bGFzdFNlZW5PYnNlcnZhdGlvbigpLmxhc3Rfc2Vlbl90aW1lfVxuICAgICAgICAgICAgICAgICAgICAgIHRpbWVfem9uZT17bGFzdFNlZW5PYnNlcnZhdGlvbigpLnRpbWVfem9uZX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvVHJ1bmNhdGU+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydlYXJseS13YXJuaW5ncyd9PlxuICAgICAgICAgICAgICAgIHs8RWFybHlXYXJuaW5ncyBldmVudD17ZXZlbnR9PjwvRWFybHlXYXJuaW5ncz59XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEV2ZW50SXRlbTtcblxuLy8gZXhwb3J0IGRlZmF1bHQgUmVhY3QubWVtbyhFdmVudEl0ZW0sIChwcmV2UHJvcHMsIG5leHRQcm9wcyk9PiB7XG4vLyAgICAgbGV0IHByZXZfZm9jdXNlZEV2ZW50SWQgPSAoKHByZXZQcm9wcyB8fCB7fSkuZm9jdXNlZEV2ZW50IHx8IHt9KS5pZDtcbi8vICAgICBsZXQgbmV4dF9mb2N1c2VkRXZlbnRJZCA9ICgobmV4dFByb3BzIHx8IHt9KS5mb2N1c2VkRXZlbnQgfHwge30pLmlkO1xuLy8gICAgIGxldCBwcmV2X2V2ZW50SWQgPSAoKHByZXZQcm9wcyB8fCB7fSkuZXZlbnQgfHwge30pLmlkO1xuLy8gICAgIGxldCBuZXh0X2V2ZW50SWQgPSAoKG5leHRQcm9wcyB8fCB7fSkuZXZlbnQgfHwge30pLmlkO1xuLy8gICAgIGlmIChwcmV2X2V2ZW50SWQgPT09IG5leHRfZXZlbnRJZCl7XG4vLyAgICAgICAgIHJldHVybiBmYWxzZVxuLy8gICAgIH0gZWxzZSB7XG4vLyAgICAgICAgIHJldHVybiB0cnVlXG4vLyAgICAgfVxuLy8gfSApO1xuIl19
|
|
@@ -216,7 +216,7 @@ var EventsList = function EventsList(_ref) {
|
|
|
216
216
|
};
|
|
217
217
|
|
|
218
218
|
var handleEventItemClick = function handleEventItemClick(event, ref) {
|
|
219
|
-
|
|
219
|
+
onMouseLeaveEvent(); // if (hoveredEventPaths && map) {
|
|
220
220
|
// hoveredEventPaths.forEach((path) => {
|
|
221
221
|
// map.removeLayer(path);
|
|
222
222
|
// });
|
|
@@ -224,9 +224,11 @@ var EventsList = function EventsList(_ref) {
|
|
|
224
224
|
// dispatch(setHoveredEventPaths([]));
|
|
225
225
|
// dispatch(setHoverEventIndicator(null));
|
|
226
226
|
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
227
|
+
if (validateEvent(event)) {
|
|
228
|
+
dispatch((0, _actions.setFocusedEvent)(event));
|
|
229
|
+
setFilterPopupOpen(false);
|
|
230
|
+
history.push("/".concat(nav_context_data.navContext.name, "/index?water_authority_id=").concat(global_data.waterAuthorityId, "&locale=").concat(nav_context_data.navContext.locale, "&eventId=").concat(event.id, "&valuesFromKQL=").concat(global_data.eventFilterParam));
|
|
231
|
+
}
|
|
230
232
|
};
|
|
231
233
|
|
|
232
234
|
var onMouseEnterEvent = function onMouseEnterEvent(event) {
|
|
@@ -270,7 +272,7 @@ var EventsList = function EventsList(_ref) {
|
|
|
270
272
|
});
|
|
271
273
|
|
|
272
274
|
if (event !== undefined) {
|
|
273
|
-
|
|
275
|
+
dispatch((0, _actions.setFocusedEvent)(event));
|
|
274
276
|
}
|
|
275
277
|
}
|
|
276
278
|
};
|
|
@@ -279,29 +281,25 @@ var EventsList = function EventsList(_ref) {
|
|
|
279
281
|
if (global_data.activeFilter !== null) {
|
|
280
282
|
var KQL;
|
|
281
283
|
var URL;
|
|
282
|
-
var event = events_data.items.find(function (e) {
|
|
283
|
-
return e.id.toString() === getEventIdFromURL();
|
|
284
|
-
});
|
|
285
|
-
var validEvent = event === undefined ? false : validateEvent(event);
|
|
286
284
|
|
|
287
285
|
switch (sort) {
|
|
288
286
|
case 1:
|
|
289
287
|
KQL = "".concat((0, _kql.buildKQLQuery)(global_data.activeFilter, 'newest'));
|
|
290
|
-
URL = "/".concat(nav_context_data.navContext.name, "/index?water_authority_id=").concat(global_data.waterAuthorityId, "&
|
|
288
|
+
URL = "/".concat(nav_context_data.navContext.name, "/index?water_authority_id=").concat(global_data.waterAuthorityId, "&locale=").concat(nav_context_data.navContext.locale, "&valuesFromKQL=").concat(KQL);
|
|
291
289
|
history.push(URL);
|
|
292
290
|
dispatch((0, _actions2.setEventFilterParam)(KQL));
|
|
293
291
|
break;
|
|
294
292
|
|
|
295
293
|
case 2:
|
|
296
294
|
KQL = "".concat((0, _kql.buildKQLQuery)(global_data.activeFilter, 'oldest'));
|
|
297
|
-
URL = "/".concat(nav_context_data.navContext.name, "/index?water_authority_id=").concat(global_data.waterAuthorityId, "&
|
|
295
|
+
URL = "/".concat(nav_context_data.navContext.name, "/index?water_authority_id=").concat(global_data.waterAuthorityId, "&locale=").concat(nav_context_data.navContext.locale, "&valuesFromKQL=").concat(KQL);
|
|
298
296
|
history.push(URL);
|
|
299
297
|
dispatch((0, _actions2.setEventFilterParam)(KQL));
|
|
300
298
|
break;
|
|
301
299
|
|
|
302
300
|
case 3:
|
|
303
301
|
KQL = "".concat((0, _kql.buildKQLQuery)(global_data.activeFilter, 'severity'));
|
|
304
|
-
URL = "/".concat(nav_context_data.navContext.name, "/index?water_authority_id=").concat(global_data.waterAuthorityId, "&
|
|
302
|
+
URL = "/".concat(nav_context_data.navContext.name, "/index?water_authority_id=").concat(global_data.waterAuthorityId, "&locale=").concat(nav_context_data.navContext.locale, "&valuesFromKQL=").concat(KQL);
|
|
305
303
|
history.push(URL);
|
|
306
304
|
dispatch((0, _actions2.setEventFilterParam)(KQL));
|
|
307
305
|
break;
|
|
@@ -309,22 +307,12 @@ var EventsList = function EventsList(_ref) {
|
|
|
309
307
|
}
|
|
310
308
|
};
|
|
311
309
|
|
|
312
|
-
var calcEventsRealAmount = function calcEventsRealAmount() {
|
|
313
|
-
var eventsCount = 0;
|
|
314
|
-
eventsCount = events_data.events_count;
|
|
315
|
-
if (eventsCount > 50) eventsCount = "".concat(_i18n.default.t('events_overview.more_than'), " 50");
|
|
316
|
-
return eventsCount;
|
|
317
|
-
};
|
|
318
|
-
|
|
319
310
|
(0, _react.useEffect)(function () {
|
|
320
311
|
dispatch((0, _actions.fetchEvents)(waterAuthorityId, getKQLValuesFromURL() || 'DEFAULT'));
|
|
321
312
|
}, [global_data.waterAuthorityId, global_data.eventFilterParam]);
|
|
322
|
-
(0, _react.useEffect)(function () {
|
|
323
|
-
setFocusedEventIfFoundInParams();
|
|
324
|
-
}, [events_data.isFetching]);
|
|
325
313
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
326
314
|
className: 'sidenav ' + (sidenavExpanded ? '' : 'sidenav--collapsed')
|
|
327
|
-
}, global_data.moreInfo !== undefined && global_data.moreInfo.active && /*#__PURE__*/_react.default.createElement(_MoreInfo.default, null), /*#__PURE__*/_react.default.createElement("div", {
|
|
315
|
+
}, setFocusedEventIfFoundInParams(), global_data.moreInfo !== undefined && global_data.moreInfo.active && /*#__PURE__*/_react.default.createElement(_MoreInfo.default, null), /*#__PURE__*/_react.default.createElement("div", {
|
|
328
316
|
className: 'event-info ' + (!hoveredEvent && focusedEvent !== null ? '' : 'event-info--collapsed')
|
|
329
317
|
}, !hoveredEvent && focusedEvent !== null && /*#__PURE__*/_react.default.createElement(_EventInfo.default, {
|
|
330
318
|
event: focusedEvent,
|
|
@@ -359,9 +347,7 @@ var EventsList = function EventsList(_ref) {
|
|
|
359
347
|
height: "10px",
|
|
360
348
|
width: "12px",
|
|
361
349
|
alt: "back"
|
|
362
|
-
}), ' ', _i18n.default.t('area_screen.back')), /*#__PURE__*/_react.default.createElement("h4", null, _i18n.default.t('events_overview.events_list'), /*#__PURE__*/_react.default.createElement("
|
|
363
|
-
className: 'events-header__events_amount'
|
|
364
|
-
}, "(", calcEventsRealAmount(), ")")), /*#__PURE__*/_react.default.createElement("div", {
|
|
350
|
+
}), ' ', _i18n.default.t('area_screen.back')), /*#__PURE__*/_react.default.createElement("h4", null, _i18n.default.t('events_overview.events_list'), " (", events_data.items.length, ")"), /*#__PURE__*/_react.default.createElement("div", {
|
|
365
351
|
className: "filtering"
|
|
366
352
|
}, events_data.items.length !== 0 && /*#__PURE__*/_react.default.createElement(_Sort.default, {
|
|
367
353
|
triggerSort: triggerSort,
|
|
@@ -379,7 +365,7 @@ var EventsList = function EventsList(_ref) {
|
|
|
379
365
|
width: "17px",
|
|
380
366
|
height: "17px",
|
|
381
367
|
fill: "#f6004f"
|
|
382
|
-
})))), points_data.items.length !== 0 &&
|
|
368
|
+
})))), points_data.items.length !== 0 && /*#__PURE__*/_react.default.createElement(_FilterContainer.default, {
|
|
383
369
|
filterPopupOpen: filterPopupOpen,
|
|
384
370
|
fetchType: 'EventFilter'
|
|
385
371
|
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -417,4 +403,4 @@ var connector = (0, _reactRedux.connect)(mapStateToProps);
|
|
|
417
403
|
var _default = connector(EventsList);
|
|
418
404
|
|
|
419
405
|
exports.default = _default;
|
|
420
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudHNfbGlzdC9FdmVudHNMaXN0LnRzeCJdLCJuYW1lcyI6WyJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJlZGdlc19kYXRhIiwicG9pbnRzX2RhdGEiLCJhcmVhc19kYXRhIiwibmF2X2NvbnRleHRfZGF0YSIsIkV2ZW50c0xpc3QiLCJzaWRlbmF2RXhwYW5kZWQiLCJkaXNwYXRjaCIsIml0ZW1zIiwiaXNGZXRjaGluZyIsImZvY3VzZWRFdmVudCIsImhvdmVyZWRFdmVudCIsImhvdmVyZWRFdmVudFBhdGhzIiwiaG92ZXJlZEVkZ2VQYXRocyIsIndhdGVyQXV0aG9yaXR5SWQiLCJtYXAiLCJmaWx0ZXJQb3B1cE9wZW4iLCJzZXRGaWx0ZXJQb3B1cE9wZW4iLCJtZXNzYWdlcyIsIm1lc3NhZ2UiLCJldmVudF9pZCIsImV2ZW50X2lkcyIsImV4Y2VwdGlvbkFsZXJ0Iiwic2V0RXhjZXB0aW9uQWxlcnQiLCJsYXN0VmlzaXRlZCIsInVzZVF1ZXJ5IiwiVVJMU2VhcmNoUGFyYW1zIiwic2VhcmNoIiwiaGlzdG9yeSIsInF1ZXJ5IiwiZ2V0S1FMVmFsdWVzRnJvbVVSTCIsImdldCIsImdldEV2ZW50SWRGcm9tVVJMIiwibG9hZGVyIiwibGVuZ3RoIiwibmV3QXJlYXMiLCJoYW5kbGVFeHBhbnNpb25Ub2dnbGUiLCJhcHBseURlZmF1bHRGaWx0ZXIiLCJwdXNoIiwibmF2Q29udGV4dCIsIm5hbWUiLCJsb2NhbGUiLCJ2YWxpZGF0ZUV2ZW50IiwiZXZlbnQiLCJpbnZhbGlkT2JzZXJ2YXRpb25zTWVzc2FnZXMiLCJvYnNlcnZhdGlvbnMiLCJmb3JFYWNoIiwib2JzZXJ2YXRpb24iLCJwb2ludF9pc19yb290IiwiZWRnZSIsImZpbmQiLCJzb3VyY2VfcG9pbnRfaWQiLCJwb2ludF9pZCIsInVuZGVmaW5lZCIsInBvaW50X25hbWUiLCJpbmRleCIsImZpbmRJbmRleCIsIm1zZyIsImlkIiwiaTE4biIsInQiLCJpbnZhbGlkUGF0aE1lc3NhZ2VzIiwicGF0aCIsImVkZ2VfaWQiLCJjb25zb2xlIiwiZXJyb3IiLCJsYXN0X29ic2VydmF0aW9uX2lkIiwibGFzdE9ic2VydmF0aW9uUG9pbnQiLCJoYW5kbGVFdmVudEl0ZW1DbGljayIsInJlZiIsIm9uTW91c2VMZWF2ZUV2ZW50IiwiZXZlbnRGaWx0ZXJQYXJhbSIsIm9uTW91c2VFbnRlckV2ZW50IiwicmVtb3ZlTGF5ZXIiLCJsYXllcnMiLCJfbGF5ZXJzIiwicHJvcGVydHkiLCJrYW5kb19vYmplY3QiLCJpbmNsdWRlcyIsInNldEZvY3VzZWRFdmVudElmRm91bmRJblBhcmFtcyIsImUiLCJwYXJzZUludCIsInRyaWdnZXJTb3J0Iiwic29ydCIsImFjdGl2ZUZpbHRlciIsIktRTCIsIlVSTCIsInRvU3RyaW5nIiwidmFsaWRFdmVudCIsImNhbGNFdmVudHNSZWFsQW1vdW50IiwiZXZlbnRzQ291bnQiLCJldmVudHNfY291bnQiLCJtb3JlSW5mbyIsImFjdGl2ZSIsImZhQ2FyZXRMZWZ0IiwiZmFDYXJldFJpZ2h0IiwiZmFBcnJvd0xlZnQiLCJMZWZ0QXJyb3dJY29uIiwiTm9FdmVudHNJbWFnZSIsImNvbm5lY3RvciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQ0E7O0FBS0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7Ozs7O0FBSUE7O0FBRUE7O0FBQ0E7O0FBUUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7OztBQS9CQTtBQWlDQSxTQUFTQSxlQUFULENBQXlCQyxLQUF6QixFQUEyQztBQUN6QyxNQUNFQyxXQURGLEdBT0lELEtBUEosQ0FDRUMsV0FERjtBQUFBLE1BRUVDLFdBRkYsR0FPSUYsS0FQSixDQUVFRSxXQUZGO0FBQUEsTUFHRUMsVUFIRixHQU9JSCxLQVBKLENBR0VHLFVBSEY7QUFBQSxNQUlFQyxXQUpGLEdBT0lKLEtBUEos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QTdCO0FBQXFDLHVCQUFlZixLQUFLLENBQUNlO0FBQTFELG9CQUNFLDZCQUFDLHdCQUFEO0FBQ0UsTUFBQSxLQUFLLEVBQUVmLEtBRFQ7QUFFRSxNQUFBLFdBQVcsRUFBRXlCLG9CQUZmO0FBR0UsTUFBQSxpQkFBaUIsRUFBRUksaUJBSHJCO0FBSUUsTUFBQSxpQkFBaUIsRUFBRUYsaUJBSnJCO0FBS0UsTUFBQSxhQUFhLEVBQUU1QixhQUxqQjtBQU1FLE1BQUEsY0FBYyxFQUFFcEI7QUFObEIsTUFERixDQURTO0FBQUEsR0FBVixDQURILENBdEJOLENBeEZGLENBREY7QUFpSUQsQ0ExYUQ7O0FBNGFBLElBQU02RSxTQUFTLEdBQUcseUJBQVF0RyxlQUFSLENBQWxCOztlQUNlc0csU0FBUyxDQUFDOUYsVUFBRCxDIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgZXRjL25vLWNvbW1lbnRlZC1vdXQtY29kZSAqL1xuaW1wb3J0IHtcbiAgZmFBcnJvd0xlZnQsXG4gIGZhQ2FyZXRMZWZ0LFxuICBmYUNhcmV0UmlnaHQsXG59IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnO1xuaW1wb3J0IFJlYWN0LCB7IFJlZk9iamVjdCwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGNvbm5lY3QsIENvbm5lY3RlZFByb3BzLCB1c2VEaXNwYXRjaCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IExpbmssIHVzZUhpc3RvcnksIHVzZUxvY2F0aW9uIH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgTGVmdEFycm93SWNvbiBmcm9tICdzcmMvYXNzZXRzL2ljb25zL2Fycm93LWxlZnQuc3ZnJztcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIEZpbHRlckljb24gfSBmcm9tICdzcmMvYXNzZXRzL2ljb25zL2Z1bm5lbC5zdmcnO1xuaW1wb3J0IE5vRXZlbnRzSW1hZ2UgZnJvbSAnc3JjL2Fzc2V0cy9ub19ldmVudHMuc3ZnJztcbmltcG9ydCB7IFNldmVyZUV2ZW50IH0gZnJvbSAnc3JjL2NvbXBvbmVudHMvU2V2ZXJlRXZlbnQvU2V2ZXJlRXZlbnQnO1xuaW1wb3J0IHsgSUFwcFN0YXRlIH0gZnJvbSAnc3JjL21vZGVscy9JQXBwU3RhdGUnO1xuaW1wb3J0IHsgdXNlTGFzdFZpc2l0ZWQgfSBmcm9tICdzcmMvcHJvdmlkZXJzL1VybEhpc3RvcnknO1xuaW1wb3J0IHtcbiAgZmV0Y2hFdmVudHMsXG4gIHNldEZvY3VzZWRFdmVudCxcbiAgc2V0SG92ZXJlZEVkZ2VQYXRocyxcbiAgc2V0SG92ZXJlZEV2ZW50LFxuICBzZXRIb3ZlcmVkRXZlbnRQYXRocyxcbn0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9hY3Rpb25zJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBzZXRFdmVudEZpbHRlclBhcmFtLCBzaWRlTmF2RXhwYW5kZWQgfSBmcm9tICdzcmMvc3RvcmUvZ2xvYmFsL2FjdGlvbnMnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IGJ1aWxkS1FMUXVlcnkgfSBmcm9tICdzcmMvdXRpbGl0aWVzL2txbCc7XG5pbXBvcnQgJy4uL0V2ZW50c1N0eWxlLnNjc3MnO1xuaW1wb3J0IEV2ZW50SW5mbyBmcm9tICcuLi9ldmVudF9pbmZvL0V2ZW50SW5mbyc7XG5pbXBvcnQgTW9yZUluZm8gZnJvbSAnLi4vTW9yZUluZm8nO1xuaW1wb3J0IEZpbHRlckNvbnRhaW5lciBmcm9tICcuL0ZpbHRlci9GaWx0ZXJDb250YWluZXInO1xuaW1wb3J0IFNvcnQgZnJvbSAnLi9Tb3J0JztcblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlOiBJQXBwU3RhdGUpIHtcbiAgY29uc3Qge1xuICAgIGV2ZW50c19kYXRhLFxuICAgIGdsb2JhbF9kYXRhLFxuICAgIGVkZ2VzX2RhdGEsXG4gICAgcG9pbnRzX2RhdGEsXG4gICAgYXJlYXNfZGF0YSxcbiAgICBuYXZfY29udGV4dF9kYXRhLFxuICB9ID0gc3RhdGU7XG5cbiAgcmV0dXJuIHtcbiAgICBldmVudHNfZGF0YSxcbiAgICBnbG9iYWxfZGF0YSxcbiAgICBlZGdlc19kYXRhLFxuICAgIHBvaW50c19kYXRhLFxuICAgIGFyZWFzX2RhdGEsXG4gICAgbmF2X2NvbnRleHRfZGF0YSxcbiAgfTtcbn1cblxudHlwZSBJUHJvcHMgPSBDb25uZWN0ZWRQcm9wczx0eXBlb2YgY29ubmVjdG9yPiAmIHtcbiAgc2lkZW5hdkV4cGFuZGVkOiBib29sZWFuO1xufTtcblxuY29uc3QgRXZlbnRzTGlzdDogUmVhY3QuRkM8SVByb3BzPiA9ICh7XG4gIGFyZWFzX2RhdGEsXG4gIHBvaW50c19kYXRhLFxuICBlZGdlc19kYXRhLFxuICBnbG9iYWxfZGF0YSxcbiAgc2lkZW5hdkV4cGFuZGVkLFxuICBldmVudHNfZGF0YSxcbiAgbmF2X2NvbnRleHRfZGF0YSxcbn0pID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCB7XG4gICAgaXRlbXMsXG4gICAgaXNGZXRjaGluZyxcbiAgICBmb2N1c2VkRXZlbnQsXG4gICAgaG92ZXJlZEV2ZW50LFxuICAgIGhvdmVyZWRFdmVudFBhdGhzLFxuICAgIGhvdmVyZWRFZGdlUGF0aHMsXG4gIH0gPSBldmVudHNfZGF0YTtcbiAgY29uc3QgeyB3YXRlckF1dGhvcml0eUlkLCBtYXAgfSA9IGdsb2JhbF9kYXRhO1xuICBjb25zdCBbZmlsdGVyUG9wdXBPcGVuLCBzZXRGaWx0ZXJQb3B1cE9wZW5dID0gdXNlU3RhdGUodHJ1ZSk7XG4gIGNvbnN0IFtleGNlcHRpb25BbGVydCwgc2V0RXhjZXB0aW9uQWxlcnRdID0gdXNlU3RhdGU8e1xuICAgIG1lc3NhZ2VzOiB7IG1lc3NhZ2U6IGFueTsgZXZlbnRfaWQ6IG51bWJlciB9W107XG4gICAgZXZlbnRfaWRzOiBudW1iZXJbXTtcbiAgfT4oeyBtZXNzYWdlczogW3sgbWVzc2FnZTogJycsIGV2ZW50X2lkOiAwIH1dLCBldmVudF9pZHM6IFtdIH0pO1xuICBjb25zdCBsYXN0VmlzaXRlZCA9IHVzZUxhc3RWaXNpdGVkKCk7XG5cbiAgY29uc3QgdXNlUXVlcnkgPSAoKSA9PiB7XG4gICAgcmV0dXJuIG5ldyBVUkxTZWFyY2hQYXJhbXModXNlTG9jYXRpb24oKS5zZWFyY2gpO1xuICB9O1xuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuICBjb25zdCBxdWVyeSA9IHVzZVF1ZXJ5KCk7XG4gIGNvbnN0IGdldEtRTFZhbHVlc0Zyb21VUkwgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHF1ZXJ5LmdldCgndmFsdWVzRnJvbUtRTCcpO1xuICB9O1xuICBjb25zdCBnZXRFdmVudElkRnJvbVVSTCA9ICgpID0+IHtcbiAgICByZXR1cm4gcXVlcnkuZ2V0KCdldmVudElkJyk7XG4gIH07XG5cbiAgY29uc3QgbG9hZGVyID0gKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIChpc0ZldGNoaW5nICYmIGl0ZW1zLmxlbmd0aCA9PT0gMCkgfHxcbiAgICAgIGFyZWFzX2RhdGEubmV3QXJlYXMubGVuZ3RoID09PSAwIHx8XG4gICAgICBwb2ludHNfZGF0YS5pc0ZldGNoaW5nIHx8XG4gICAgICBlZGdlc19kYXRhLmlzRmV0Y2hpbmdcbiAgICApIHtcbiAgICAgIHJldHVybiA8ZGl2IGNsYXNzTmFtZT17J2xvYWRlcid9PjwvZGl2PjtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUV4cGFuc2lvblRvZ2dsZSA9ICgpID0+IHtcbiAgICBkaXNwYXRjaChzaWRlTmF2RXhwYW5kZWQoIXNpZGVuYXZFeHBhbmRlZCkpO1xuICB9O1xuXG4gIGNvbnN0IGFwcGx5RGVmYXVsdEZpbHRlciA9ICgpID0+IHtcbiAgICBoaXN0b3J5LnB1c2goXG4gICAgICBgLyR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWV9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke2dsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWR9JmxvY2FsZT0ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5sb2NhbGV9JnZhbHVlc0Zyb21LUUw9YCxcbiAgICApO1xuICAgIGRpc3BhdGNoKHNldEV2ZW50RmlsdGVyUGFyYW0oJycpKTtcbiAgfTtcblxuICBjb25zdCB2YWxpZGF0ZUV2ZW50ID0gKGV2ZW50OiBJRXZlbnQpID0+IHtcbiAgICAvLyBjaGVjayB0aGF0IGFsbCBvYnNlcnZhdGlvbnMnIGVkZ2VzIGV4aXN0cy4gSWYgdGhleSBhcmUgbm90IGV4aXN0cyBpdCdzIGluZGljYXRlcyB0aGF0IHRoZWlyIHBvaW50cyBhcmVcbiAgICAvLyBub3QgaW4gdGhlIGhpZXJhcmNoeSBvciBkb2Vzbid0IGhhdmUgbGF0L2xuZy5cbiAgICBsZXQgaW52YWxpZE9ic2VydmF0aW9uc01lc3NhZ2VzOiBhbnkgPSBbXTtcbiAgICBldmVudC5vYnNlcnZhdGlvbnMuZm9yRWFjaCgob2JzZXJ2YXRpb246IGFueSkgPT4ge1xuICAgICAgLy8gaWYgb2JzZXJ2YXRpb24gaXMgcm9vdCAoZXguIFdXVFApIHRoZXJlIGlzIG5vIGVkZ2UgdGhhdCBpdHMgYSBzb3VyY2UuIHNvIHdlIGNhbiBza2lwIHRoaXMgY2hlY2tcbiAgICAgIGlmICghb2JzZXJ2YXRpb24ucG9pbnRfaXNfcm9vdCkge1xuICAgICAgICBsZXQgZWRnZSA9IGVkZ2VzX2RhdGEuaXRlbXMuZmluZChcbiAgICAgICAgICAoZWRnZSkgPT4gZWRnZS5zb3VyY2VfcG9pbnRfaWQgPT09IG9ic2VydmF0aW9uLnBvaW50X2lkLFxuICAgICAgICApO1xuICAgICAgICBpZiAoZWRnZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgaW52YWxpZE9ic2VydmF0aW9uc01lc3NhZ2VzLnB1c2goXG4gICAgICAgICAgICBgJHtvYnNlcnZhdGlvbi5wb2ludF9uYW1lfSAoJHtvYnNlcnZhdGlvbi5wb2ludF9pZH0pIGAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGludmFsaWRPYnNlcnZhdGlvbnNNZXNzYWdlcy5sZW5ndGggIT09IDApIHtcbiAgICAgIGxldCBpbmRleCA9IGV4Y2VwdGlvbkFsZXJ0Lm1lc3NhZ2VzLmZpbmRJbmRleChcbiAgICAgICAgKG1zZykgPT4gbXNnLmV2ZW50X2lkID09PSBldmVudC5pZCxcbiAgICAgICk7XG5cbiAgICAgIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICAgICAgc2V0RXhjZXB0aW9uQWxlcnQoe1xuICAgICAgICAgIG1lc3NhZ2VzOiBbXG4gICAgICAgICAgICAuLi5leGNlcHRpb25BbGVydC5tZXNzYWdlcyxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbWVzc2FnZTogKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICA8cD57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZXZlbnRfZGF0YV9taXNzaW5nJyl9PC9wPlxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICBldmVudF9pZDogZXZlbnQuaWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgZXZlbnRfaWRzOiBbLi4uZXhjZXB0aW9uQWxlcnQuZXZlbnRfaWRzLCBldmVudC5pZF0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIC8vIHNhbWUgY2hlY2sgYXMgYWJvdmUgYnV0IHRoaXMgdGltZSBmb3IgdGhlIGV2ZW50IHBhdGguIElmIGVkZ2UgZG9lc24ndCBleGlzdCwgaXQncyBpbmRpY2F0ZXMgdGhhdCBvbmUgb2YgdGhlXG4gICAgLy8gcG9pbnRzIGRvd25zdHJlYW0gZG9lc24ndCBoYXZlIGxhdC9sbmcuXG4gICAgbGV0IGludmFsaWRQYXRoTWVzc2FnZXM6IGFueSA9IFtdO1xuICAgIGV2ZW50LnBhdGguZm9yRWFjaCgocGF0aDogYW55KSA9PiB7XG4gICAgICBsZXQgZWRnZSA9IGVkZ2VzX2RhdGEuaXRlbXMuZmluZCgoZWRnZSkgPT4gZWRnZS5pZCA9PT0gcGF0aC5lZGdlX2lkKTtcbiAgICAgIGlmIChlZGdlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgZWRnZSAke3BhdGguZWRnZV9pZH0gY2FuIG5vdCBiZSBmb3VuZGApO1xuICAgICAgICBsZXQgb2JzZXJ2YXRpb24gPSBldmVudC5vYnNlcnZhdGlvbnMuZmluZChcbiAgICAgICAgICAob2JzZXJ2YXRpb24pID0+IG9ic2VydmF0aW9uLmlkID09PSBwYXRoLmxhc3Rfb2JzZXJ2YXRpb25faWQsXG4gICAgICAgICk7XG4gICAgICAgIGxldCBsYXN0T2JzZXJ2YXRpb25Qb2ludCA9ICdOb3QgZm91bmQnO1xuICAgICAgICBpZiAob2JzZXJ2YXRpb24pIHtcbiAgICAgICAgICBsYXN0T2JzZXJ2YXRpb25Qb2ludCA9IG9ic2VydmF0aW9uLnBvaW50X25hbWU7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignbGFzdE9ic2VydmF0aW9uUG9pbnQnLCBsYXN0T2JzZXJ2YXRpb25Qb2ludCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBpbnZhbGlkUGF0aE1lc3NhZ2VzLnB1c2goYCR7bGFzdE9ic2VydmF0aW9uUG9pbnR9IGApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGludmFsaWRQYXRoTWVzc2FnZXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICBzZXRFeGNlcHRpb25BbGVydCh7XG4gICAgICAgIG1lc3NhZ2VzOiBbXG4gICAgICAgICAgLi4uZXhjZXB0aW9uQWxlcnQubWVzc2FnZXMsXG4gICAgICAgICAge1xuICAgICAgICAgICAgbWVzc2FnZTogKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIDxwPntpMThuLnQoJ2V2ZW50c19vdmVydmlldy5ldmVudF92ZXJpZnlfY29vcmRpbmF0ZXMnKX08L3A+XG4gICAgICAgICAgICAgICAgPHNwYW4+e2ludmFsaWRQYXRoTWVzc2FnZXN9PC9zcGFuPlxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBldmVudF9pZDogZXZlbnQuaWQsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgZXZlbnRfaWRzOiBbLi4uZXhjZXB0aW9uQWxlcnQuZXZlbnRfaWRzLCBldmVudC5pZF0sXG4gICAgICB9KTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVFdmVudEl0ZW1DbGljayA9IChcbiAgICBldmVudDogSUV2ZW50LFxuICAgIHJlZjogUmVmT2JqZWN0PEhUTUxFbGVtZW50PiB8IG51bGwsXG4gICkgPT4ge1xuICAgIGlmIChyZWYgIT09IG51bGwpIG9uTW91c2VMZWF2ZUV2ZW50KCk7XG4gICAgLy8gaWYgKGhvdmVyZWRFdmVudFBhdGhzICYmIG1hcCkge1xuICAgIC8vICAgICBob3ZlcmVkRXZlbnRQYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgLy8gICAgICAgICBtYXAucmVtb3ZlTGF5ZXIocGF0aCk7XG4gICAgLy8gICAgIH0pO1xuICAgIC8vIH1cbiAgICAvLyBkaXNwYXRjaChzZXRIb3ZlcmVkRXZlbnRQYXRocyhbXSkpO1xuICAgIC8vIGRpc3BhdGNoKHNldEhvdmVyRXZlbnRJbmRpY2F0b3IobnVsbCkpO1xuICAgIGRpc3BhdGNoKHNldEZvY3VzZWRFdmVudChldmVudCkpO1xuICAgIHNldEZpbHRlclBvcHVwT3BlbihmYWxzZSk7XG4gICAgaGlzdG9yeS5wdXNoKFxuICAgICAgYC8ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtcbiAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZFxuICAgICAgfSZsb2NhbGU9JHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlfSZldmVudElkPSR7XG4gICAgICAgIGV2ZW50LmlkXG4gICAgICB9JnZhbHVlc0Zyb21LUUw9JHtcbiAgICAgICAgZ2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbVxuICAgICAgfSZ2YWxpZEV2ZW50PSR7dmFsaWRhdGVFdmVudChldmVudCl9YCxcbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IG9uTW91c2VFbnRlckV2ZW50ID0gKGV2ZW50KSA9PiB7XG4gICAgaWYgKCFmb2N1c2VkRXZlbnQgJiYgIWhvdmVyZWRFdmVudCAmJiB2YWxpZGF0ZUV2ZW50KGV2ZW50KSkge1xuICAgICAgZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50KGV2ZW50KSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IG9uTW91c2VMZWF2ZUV2ZW50ID0gKCkgPT4ge1xuICAgIGlmIChob3ZlcmVkRXZlbnQgJiYgaG92ZXJlZEV2ZW50UGF0aHMgJiYgbWFwKSB7XG4gICAgICBob3ZlcmVkRXZlbnRQYXRocy5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAgIG1hcC5yZW1vdmVMYXllcihwYXRoKTtcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoaG92ZXJlZEVkZ2VQYXRocykge1xuICAgICAgICBob3ZlcmVkRWRnZVBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgICAgICBtYXAucmVtb3ZlTGF5ZXIocGF0aCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBsZXQgbGF5ZXJzID0gbWFwLl9sYXllcnM7XG4gICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIGxheWVycykge1xuICAgICAgICBjb25zdCBrYW5kb19vYmplY3QgPSBsYXllcnNbcHJvcGVydHldLmthbmRvX29iamVjdDtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGthbmRvX29iamVjdD8uaW5jbHVkZXMoJ0V2ZW50Qm9keScpIHx8XG4gICAgICAgICAgW1xuICAgICAgICAgICAgJ0V2ZW50VGFpbCcsXG4gICAgICAgICAgICAnU2FtcGxpbmdQb2ludCcsXG4gICAgICAgICAgICAnRGVjb3JhdG9yJyxcbiAgICAgICAgICAgICdIb3ZlcmVkRWRnZScsXG4gICAgICAgICAgICAnSG92ZXJlZEVkZ2VGcm9udCcsXG4gICAgICAgICAgXS5pbmNsdWRlcyhrYW5kb19vYmplY3QpXG4gICAgICAgICkge1xuICAgICAgICAgIG1hcC5yZW1vdmVMYXllcihsYXllcnNbcHJvcGVydHldKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBkaXNwYXRjaChzZXRIb3ZlcmVkRXZlbnQobnVsbCkpO1xuICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFdmVudFBhdGhzKFtdKSk7XG4gICAgZGlzcGF0Y2goc2V0SG92ZXJlZEVkZ2VQYXRocyhbXSkpO1xuICB9O1xuXG4gIGNvbnN0IHNldEZvY3VzZWRFdmVudElmRm91bmRJblBhcmFtcyA9ICgpID0+IHtcbiAgICBpZiAoXG4gICAgICBnZXRFdmVudElkRnJvbVVSTCgpICE9PSBudWxsICYmXG4gICAgICBnZXRFdmVudElkRnJvbVVSTCgpICE9PSAnbnVsbCcgJiZcbiAgICAgIGZvY3VzZWRFdmVudCA9PT0gbnVsbCAmJlxuICAgICAgaXRlbXMubGVuZ3RoICE9PSAwICYmXG4gICAgICAhaXNGZXRjaGluZyAmJlxuICAgICAgIWFyZWFzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgIXBvaW50c19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICFlZGdlc19kYXRhLmlzRmV0Y2hpbmdcbiAgICApIHtcbiAgICAgIGxldCBldmVudCA9IGV2ZW50c19kYXRhLml0ZW1zLmZpbmQoXG4gICAgICAgIChlOiBJRXZlbnQpID0+IGUuaWQgPT09IHBhcnNlSW50KGdldEV2ZW50SWRGcm9tVVJMKCkhKSxcbiAgICAgICk7XG4gICAgICBpZiAoZXZlbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBoYW5kbGVFdmVudEl0ZW1DbGljayhldmVudCwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHRyaWdnZXJTb3J0ID0gKHNvcnQ6IG51bWJlcikgPT4ge1xuICAgIGlmIChnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXIgIT09IG51bGwpIHtcbiAgICAgIGxldCBLUUw7XG4gICAgICBsZXQgVVJMO1xuICAgICAgbGV0IGV2ZW50ID0gZXZlbnRzX2RhdGEuaXRlbXMuZmluZChcbiAgICAgICAgKGUpID0+IGUuaWQudG9TdHJpbmcoKSA9PT0gZ2V0RXZlbnRJZEZyb21VUkwoKSxcbiAgICAgICk7XG4gICAgICBsZXQgdmFsaWRFdmVudCA9IGV2ZW50ID09PSB1bmRlZmluZWQgPyBmYWxzZSA6IHZhbGlkYXRlRXZlbnQoZXZlbnQpO1xuICAgICAgc3dpdGNoIChzb3J0KSB7XG4gICAgICAgIGNhc2UgMTpcbiAgICAgICAgICBLUUwgPSBgJHtidWlsZEtRTFF1ZXJ5KGdsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlciwgJ25ld2VzdCcpfWA7XG4gICAgICAgICAgVVJMID0gYC8ke1xuICAgICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0Lm5hbWVcbiAgICAgICAgICB9L2luZGV4P3dhdGVyX2F1dGhvcml0eV9pZD0ke1xuICAgICAgICAgICAgZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZFxuICAgICAgICAgIH0mZXZlbnRJZD0ke2dldEV2ZW50SWRGcm9tVVJMKCl9JmxvY2FsZT0ke1xuICAgICAgICAgICAgbmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZVxuICAgICAgICAgIH0mdmFsdWVzRnJvbUtRTD0ke0tRTH0mdmFsaWRFdmVudD0ke3ZhbGlkRXZlbnR9YDtcbiAgICAgICAgICBoaXN0b3J5LnB1c2goVVJMKTtcbiAgICAgICAgICBkaXNwYXRjaChzZXRFdmVudEZpbHRlclBhcmFtKEtRTCkpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgS1FMID0gYCR7YnVpbGRLUUxRdWVyeShnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXIsICdvbGRlc3QnKX1gO1xuICAgICAgICAgIFVSTCA9IGAvJHtcbiAgICAgICAgICAgIG5hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lXG4gICAgICAgICAgfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtcbiAgICAgICAgICAgIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRcbiAgICAgICAgICB9JmV2ZW50SWQ9JHtnZXRFdmVudElkRnJvbVVSTCgpfSZsb2NhbGU9JHtcbiAgICAgICAgICAgIG5hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5sb2NhbGVcbiAgICAgICAgICB9JnZhbHVlc0Zyb21LUUw9JHtLUUx9JnZhbGlkRXZlbnQ9JHt2YWxpZEV2ZW50fWA7XG4gICAgICAgICAgaGlzdG9yeS5wdXNoKFVSTCk7XG4gICAgICAgICAgZGlzcGF0Y2goc2V0RXZlbnRGaWx0ZXJQYXJhbShLUUwpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAzOlxuICAgICAgICAgIEtRTCA9IGAke2J1aWxkS1FMUXVlcnkoZ2xvYmFsX2RhdGEuYWN0aXZlRmlsdGVyLCAnc2V2ZXJpdHknKX1gO1xuICAgICAgICAgIFVSTCA9IGAvJHtcbiAgICAgICAgICAgIG5hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lXG4gICAgICAgICAgfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtcbiAgICAgICAgICAgIGdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWRcbiAgICAgICAgICB9JmV2ZW50SWQ9JHtnZXRFdmVudElkRnJvbVVSTCgpfSZsb2NhbGU9JHtcbiAgICAgICAgICAgIG5hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5sb2NhbGVcbiAgICAgICAgICB9JnZhbHVlc0Zyb21LUUw9JHtLUUx9JnZhbGlkRXZlbnQ9JHt2YWxpZEV2ZW50fWA7XG4gICAgICAgICAgaGlzdG9yeS5wdXNoKFVSTCk7XG4gICAgICAgICAgZGlzcGF0Y2goc2V0RXZlbnRGaWx0ZXJQYXJhbShLUUwpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3QgY2FsY0V2ZW50c1JlYWxBbW91bnQgPSAoKSA9PiB7XG4gICAgbGV0IGV2ZW50c0NvdW50OiBudW1iZXIgfCBzdHJpbmcgPSAwO1xuICAgIGV2ZW50c0NvdW50ID0gZXZlbnRzX2RhdGEuZXZlbnRzX2NvdW50O1xuICAgIGlmIChldmVudHNDb3VudCA+IDUwKVxuICAgICAgZXZlbnRzQ291bnQgPSBgJHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5tb3JlX3RoYW4nKX0gNTBgO1xuXG4gICAgcmV0dXJuIGV2ZW50c0NvdW50O1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goZmV0Y2hFdmVudHMod2F0ZXJBdXRob3JpdHlJZCwgZ2V0S1FMVmFsdWVzRnJvbVVSTCgpIHx8ICdERUZBVUxUJykpO1xuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgZ2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbV0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0Rm9jdXNlZEV2ZW50SWZGb3VuZEluUGFyYW1zKCk7XG4gIH0sIFtldmVudHNfZGF0YS5pc0ZldGNoaW5nXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17J3NpZGVuYXYgJyArIChzaWRlbmF2RXhwYW5kZWQgPyAnJyA6ICdzaWRlbmF2LS1jb2xsYXBzZWQnKX0+XG4gICAgICB7Z2xvYmFsX2RhdGEubW9yZUluZm8gIT09IHVuZGVmaW5lZCAmJiBnbG9iYWxfZGF0YS5tb3JlSW5mby5hY3RpdmUgJiYgKFxuICAgICAgICA8TW9yZUluZm8gLz5cbiAgICAgICl9XG5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXtcbiAgICAgICAgICAnZXZlbnQtaW5mbyAnICtcbiAgICAgICAgICAoIWhvdmVyZWRFdmVudCAmJiBmb2N1c2VkRXZlbnQgIT09IG51bGxcbiAgICAgICAgICAgID8gJydcbiAgICAgICAgICAgIDogJ2V2ZW50LWluZm8tLWNvbGxhcHNlZCcpXG4gICAgICAgIH1cbiAgICAgID5cbiAgICAgICAgeyFob3ZlcmVkRXZlbnQgJiYgZm9jdXNlZEV2ZW50ICE9PSBudWxsICYmIChcbiAgICAgICAgICA8RXZlbnRJbmZvXG4gICAgICAgICAgICBldmVudD17Zm9jdXNlZEV2ZW50fVxuICAgICAgICAgICAgcmVPcGVuRmlsdGVyPXsoKSA9PiBzZXRGaWx0ZXJQb3B1cE9wZW4odHJ1ZSl9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9XCJ0b2dnbGUtZXhwYW5zaW9uLWJ1dHRvblwiXG4gICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICBoYW5kbGVFeHBhbnNpb25Ub2dnbGUoKTtcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJuYXYtZXhwYW5zaW9uLWljb25cIj5cbiAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uXG4gICAgICAgICAgICBpY29uPXtzaWRlbmF2RXhwYW5kZWQgPyBmYUNhcmV0TGVmdCA6IGZhQ2FyZXRSaWdodH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9eyd0b2dnbGUtZXhwYW5zaW9uLWJ1dHRvbi1tb2JpbGUnfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgaGFuZGxlRXhwYW5zaW9uVG9nZ2xlKCk7XG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxhIGhyZWY9XCIjXCI+XG4gICAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtmYUFycm93TGVmdH0gLz5cbiAgICAgICAgICA8c3Bhbj4ge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmJhY2tfdG9fZGV0YWlscycpfTwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImV2ZW50cy1oZWFkZXJcIj5cbiAgICAgICAge2xhc3RWaXNpdGVkICYmICFpc0ZldGNoaW5nICYmIChcbiAgICAgICAgICA8TGluayBjbGFzc05hbWU9XCJiYWNrXCIgdG89e2xhc3RWaXNpdGVkfT5cbiAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgIHNyYz17TGVmdEFycm93SWNvbn1cbiAgICAgICAgICAgICAgaGVpZ2h0PVwiMTBweFwiXG4gICAgICAgICAgICAgIHdpZHRoPVwiMTJweFwiXG4gICAgICAgICAgICAgIGFsdD1cImJhY2tcIlxuICAgICAgICAgICAgLz57JyAnfVxuICAgICAgICAgICAge2kxOG4udCgnYXJlYV9zY3JlZW4uYmFjaycpfVxuICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgKX1cbiAgICAgICAgPGg0PlxuICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5ldmVudHNfbGlzdCcpfVxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17J2V2ZW50cy1oZWFkZXJfX2V2ZW50c19hbW91bnQnfT5cbiAgICAgICAgICAgICh7Y2FsY0V2ZW50c1JlYWxBbW91bnQoKX0pXG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2g0PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpbHRlcmluZ1wiPlxuICAgICAgICAgIHtldmVudHNfZGF0YS5pdGVtcy5sZW5ndGggIT09IDAgJiYgKFxuICAgICAgICAgICAgPFNvcnRcbiAgICAgICAgICAgICAgdHJpZ2dlclNvcnQ9e3RyaWdnZXJTb3J0fVxuICAgICAgICAgICAgICBldmVudHM9e2V2ZW50c19kYXRhLml0ZW1zfVxuICAgICAgICAgICAgICBldmVudHNGZXRjaGluZz17ZXZlbnRzX2RhdGEuaXNGZXRjaGluZ31cbiAgICAgICAgICAgICAgYWN0aXZlRmlsdGVyPXtnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXJ9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpY29uc1wiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmaWx0ZXJcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRGaWx0ZXJQb3B1cE9wZW4oIWZpbHRlclBvcHVwT3Blbil9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxGaWx0ZXJJY29uIHdpZHRoPVwiMTdweFwiIGhlaWdodD1cIjE3cHhcIiBmaWxsPVwiI2Y2MDA0ZlwiIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAge3BvaW50c19kYXRhLml0ZW1zLmxlbmd0aCAhPT0gMCAmJiAhZm9jdXNlZEV2ZW50ICYmIChcbiAgICAgICAgICA8RmlsdGVyQ29udGFpbmVyXG4gICAgICAgICAgICBmaWx0ZXJQb3B1cE9wZW49e2ZpbHRlclBvcHVwT3Blbn1cbiAgICAgICAgICAgIGZldGNoVHlwZT17J0V2ZW50RmlsdGVyJ31cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImV2ZW50cy1jb250YWluZXIgc2Nyb2xsYmFyIFwiPlxuICAgICAgICB7bG9hZGVyKCl9XG4gICAgICAgIHshaXNGZXRjaGluZyAmJlxuICAgICAgICAgIGl0ZW1zLmxlbmd0aCA9PT0gMCAmJlxuICAgICAgICAgICFwb2ludHNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAgICAgIWVkZ2VzX2RhdGEuaXNGZXRjaGluZyAmJiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2V2ZW50c19fYmxhbmtzbGF0ZSd9PlxuICAgICAgICAgICAgICA8aW1nIHNyYz17Tm9FdmVudHNJbWFnZX0gYWx0PVwiTm9FdmVudHNJY29uXCIgLz5cbiAgICAgICAgICAgICAgPGgyPntpMThuLnQoJ2V2ZW50c19vdmVydmlldy5maWx0ZXIuYmxhbmtzbGF0ZS5oZWFkZXInKX08L2gyPlxuICAgICAgICAgICAgICA8cD57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmlsdGVyLmJsYW5rc2xhdGUuYm9keScpfTwvcD5cbiAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9eydhcHBseV9kZWZhdWx0X2ZpbHRlcl9idXR0b24nfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGFwcGx5RGVmYXVsdEZpbHRlcigpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5ibGFua3NsYXRlLmJ1dHRvbicpfVxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuICAgICAgICB7aXRlbXMubGVuZ3RoICE9PSAwICYmXG4gICAgICAgICAgIWFyZWFzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgICAgICFwb2ludHNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAgICAgIWVkZ2VzX2RhdGEuaXNGZXRjaGluZyAmJiAoXG4gICAgICAgICAgICA8dWwgY2xhc3NOYW1lPVwiZXZlbnRzIFwiPlxuICAgICAgICAgICAgICB7aXRlbXMubWFwKChldmVudDogYW55KSA9PiAoXG4gICAgICAgICAgICAgICAgPGxpIGtleT17ZXZlbnQuaWR9IGNsYXNzTmFtZT1cImV2ZW50XCIgZGF0YS1ldmVudC1pZD17ZXZlbnQuaWR9PlxuICAgICAgICAgICAgICAgICAgPFNldmVyZUV2ZW50XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50PXtldmVudH1cbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2xpY2s9e2hhbmRsZUV2ZW50SXRlbUNsaWNrfVxuICAgICAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXJFdmVudD17b25Nb3VzZUVudGVyRXZlbnR9XG4gICAgICAgICAgICAgICAgICAgIG9uTW91c2VMZWF2ZUV2ZW50PXtvbk1vdXNlTGVhdmVFdmVudH1cbiAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGVFdmVudD17dmFsaWRhdGVFdmVudH1cbiAgICAgICAgICAgICAgICAgICAgZXhjZXB0aW9uQWxlcnQ9e2V4Y2VwdGlvbkFsZXJ0fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3QgY29ubmVjdG9yID0gY29ubmVjdChtYXBTdGF0ZVRvUHJvcHMpO1xuZXhwb3J0IGRlZmF1bHQgY29ubmVjdG9yKEV2ZW50c0xpc3QpO1xuIl19
|
|
406
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9wYWdlcy9FdmVudHNQYWdlL2V2ZW50cy9ldmVudHNfbGlzdC9FdmVudHNMaXN0LnRzeCJdLCJuYW1lcyI6WyJtYXBTdGF0ZVRvUHJvcHMiLCJzdGF0ZSIsImV2ZW50c19kYXRhIiwiZ2xvYmFsX2RhdGEiLCJlZGdlc19kYXRhIiwicG9pbnRzX2RhdGEiLCJhcmVhc19kYXRhIiwibmF2X2NvbnRleHRfZGF0YSIsIkV2ZW50c0xpc3QiLCJzaWRlbmF2RXhwYW5kZWQiLCJkaXNwYXRjaCIsIml0ZW1zIiwiaXNGZXRjaGluZyIsImZvY3VzZWRFdmVudCIsImhvdmVyZWRFdmVudCIsImhvdmVyZWRFdmVudFBhdGhzIiwiaG92ZXJlZEVkZ2VQYXRocyIsIndhdGVyQXV0aG9yaXR5SWQiLCJtYXAiLCJmaWx0ZXJQb3B1cE9wZW4iLCJzZXRGaWx0ZXJQb3B1cE9wZW4iLCJtZXNzYWdlcyIsIm1lc3NhZ2UiLCJldmVudF9pZCIsImV2ZW50X2lkcyIsImV4Y2VwdGlvbkFsZXJ0Iiwic2V0RXhjZXB0aW9uQWxlcnQiLCJsYXN0VmlzaXRlZCIsInVzZVF1ZXJ5IiwiVVJMU2VhcmNoUGFyYW1zIiwic2VhcmNoIiwiaGlzdG9yeSIsInF1ZXJ5IiwiZ2V0S1FMVmFsdWVzRnJvbVVSTCIsImdldCIsImdldEV2ZW50SWRGcm9tVVJMIiwibG9hZGVyIiwibGVuZ3RoIiwibmV3QXJlYXMiLCJoYW5kbGVFeHBhbnNpb25Ub2dnbGUiLCJhcHBseURlZmF1bHRGaWx0ZXIiLCJwdXNoIiwibmF2Q29udGV4dCIsIm5hbWUiLCJsb2NhbGUiLCJ2YWxpZGF0ZUV2ZW50IiwiZXZlbnQiLCJpbnZhbGlkT2JzZXJ2YXRpb25zTWVzc2FnZXMiLCJvYnNlcnZhdGlvbnMiLCJmb3JFYWNoIiwib2JzZXJ2YXRpb24iLCJwb2ludF9pc19yb290IiwiZWRnZSIsImZpbmQiLCJzb3VyY2VfcG9pbnRfaWQiLCJwb2ludF9pZCIsInVuZGVmaW5lZCIsInBvaW50X25hbWUiLCJpbmRleCIsImZpbmRJbmRleCIsIm1zZyIsImlkIiwiaTE4biIsInQiLCJpbnZhbGlkUGF0aE1lc3NhZ2VzIiwicGF0aCIsImVkZ2VfaWQiLCJjb25zb2xlIiwiZXJyb3IiLCJsYXN0X29ic2VydmF0aW9uX2lkIiwibGFzdE9ic2VydmF0aW9uUG9pbnQiLCJoYW5kbGVFdmVudEl0ZW1DbGljayIsInJlZiIsIm9uTW91c2VMZWF2ZUV2ZW50IiwiZXZlbnRGaWx0ZXJQYXJhbSIsIm9uTW91c2VFbnRlckV2ZW50IiwicmVtb3ZlTGF5ZXIiLCJsYXllcnMiLCJfbGF5ZXJzIiwicHJvcGVydHkiLCJrYW5kb19vYmplY3QiLCJpbmNsdWRlcyIsInNldEZvY3VzZWRFdmVudElmRm91bmRJblBhcmFtcyIsImUiLCJwYXJzZUludCIsInRyaWdnZXJTb3J0Iiwic29ydCIsImFjdGl2ZUZpbHRlciIsIktRTCIsIlVSTCIsIm1vcmVJbmZvIiwiYWN0aXZlIiwiZmFDYXJldExlZnQiLCJmYUNhcmV0UmlnaHQiLCJmYUFycm93TGVmdCIsIkxlZnRBcnJvd0ljb24iLCJOb0V2ZW50c0ltYWdlIiwiY29ubmVjdG9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFDQTs7QUFLQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7QUFJQTs7QUFFQTs7QUFDQTs7QUFRQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBL0JBO0FBaUNBLFNBQVNBLGVBQVQsQ0FBeUJDLEtBQXpCLEVBQTJDO0FBQ3pDLE1BQ0VDLFdBREYsR0FPSUQsS0FQSixDQUNFQyxXQURGO0FBQUEsTUFFRUMsV0FGRixHQU9JRixLQVBKLENBRUVFLFdBRkY7QUFBQSxNQUdFQyxVQUhGLEdBT0lILEtBUEosQ0FHRUcsVUFIRjtBQUFBLE1BSUVDLFdBSkYsR0FPSUosS0FQSixDQUlFSSxXQUpGO0FBQUEsTUFLRUMsVUFMRixHQU9JTCxLQVBKLENBS0VLLFVBTEY7QUFBQSxNQU1FQyxnQkFORixHQU9JTixLQVBK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Q0FBQ1AsV0FBVyxDQUFDTyxVQUZkLElBR0MsQ0FBQ1IsVUFBVSxDQUFDUSxVQUhiLGlCQUlHO0FBQUksSUFBQSxTQUFTLEVBQUM7QUFBZCxLQUNHRCxLQUFLLENBQUNPLEdBQU4sQ0FBVSxVQUFDNEIsS0FBRDtBQUFBLHdCQUNUO0FBQUksTUFBQSxHQUFHLEVBQUVBLEtBQUssQ0FBQ2UsRUFBZjtBQUFtQixNQUFBLFNBQVMsRUFBQyxPQUE3QjtBQUFxQyx1QkFBZWYsS0FBSyxDQUFDZTtBQUExRCxvQkFDRSw2QkFBQyx3QkFBRDtBQUNFLE1BQUEsS0FBSyxFQUFFZixLQURUO0FBRUUsTUFBQSxXQUFXLEVBQUV5QixvQkFGZjtBQUdFLE1BQUEsaUJBQWlCLEVBQUVJLGlCQUhyQjtBQUlFLE1BQUEsaUJBQWlCLEVBQUVGLGlCQUpyQjtBQUtFLE1BQUEsYUFBYSxFQUFFNUIsYUFMakI7QUFNRSxNQUFBLGNBQWMsRUFBRXBCO0FBTmxCLE1BREYsQ0FEUztBQUFBLEdBQVYsQ0FESCxDQXRCTixDQXRGRixDQURGO0FBK0hELENBOVhEOztBQWdZQSxJQUFNd0UsU0FBUyxHQUFHLHlCQUFRakcsZUFBUixDQUFsQjs7ZUFDZWlHLFNBQVMsQ0FBQ3pGLFVBQUQsQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGV0Yy9uby1jb21tZW50ZWQtb3V0LWNvZGUgKi9cbmltcG9ydCB7XG4gIGZhQXJyb3dMZWZ0LFxuICBmYUNhcmV0TGVmdCxcbiAgZmFDYXJldFJpZ2h0LFxufSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVJY29uIH0gZnJvbSAnQGZvcnRhd2Vzb21lL3JlYWN0LWZvbnRhd2Vzb21lJztcbmltcG9ydCBSZWFjdCwgeyBSZWZPYmplY3QsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBjb25uZWN0LCBDb25uZWN0ZWRQcm9wcywgdXNlRGlzcGF0Y2ggfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBMaW5rLCB1c2VIaXN0b3J5LCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IExlZnRBcnJvd0ljb24gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9hcnJvdy1sZWZ0LnN2Zyc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBGaWx0ZXJJY29uIH0gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9mdW5uZWwuc3ZnJztcbmltcG9ydCBOb0V2ZW50c0ltYWdlIGZyb20gJ3NyYy9hc3NldHMvbm9fZXZlbnRzLnN2Zyc7XG5pbXBvcnQgeyBTZXZlcmVFdmVudCB9IGZyb20gJ3NyYy9jb21wb25lbnRzL1NldmVyZUV2ZW50L1NldmVyZUV2ZW50JztcbmltcG9ydCB7IElBcHBTdGF0ZSB9IGZyb20gJ3NyYy9tb2RlbHMvSUFwcFN0YXRlJztcbmltcG9ydCB7IHVzZUxhc3RWaXNpdGVkIH0gZnJvbSAnc3JjL3Byb3ZpZGVycy9VcmxIaXN0b3J5JztcbmltcG9ydCB7XG4gIGZldGNoRXZlbnRzLFxuICBzZXRGb2N1c2VkRXZlbnQsXG4gIHNldEhvdmVyZWRFZGdlUGF0aHMsXG4gIHNldEhvdmVyZWRFdmVudCxcbiAgc2V0SG92ZXJlZEV2ZW50UGF0aHMsXG59IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvYWN0aW9ucyc7XG5pbXBvcnQgeyBJRXZlbnQgfSBmcm9tICdzcmMvc3RvcmUvZXZlbnRzL21vZGVscy9JRXZlbnQnO1xuaW1wb3J0IHsgc2V0RXZlbnRGaWx0ZXJQYXJhbSwgc2lkZU5hdkV4cGFuZGVkIH0gZnJvbSAnc3JjL3N0b3JlL2dsb2JhbC9hY3Rpb25zJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBidWlsZEtRTFF1ZXJ5IH0gZnJvbSAnc3JjL3V0aWxpdGllcy9rcWwnO1xuaW1wb3J0ICcuLi9FdmVudHNTdHlsZS5zY3NzJztcbmltcG9ydCBFdmVudEluZm8gZnJvbSAnLi4vZXZlbnRfaW5mby9FdmVudEluZm8nO1xuaW1wb3J0IE1vcmVJbmZvIGZyb20gJy4uL01vcmVJbmZvJztcbmltcG9ydCBGaWx0ZXJDb250YWluZXIgZnJvbSAnLi9GaWx0ZXIvRmlsdGVyQ29udGFpbmVyJztcbmltcG9ydCBTb3J0IGZyb20gJy4vU29ydCc7XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZTogSUFwcFN0YXRlKSB7XG4gIGNvbnN0IHtcbiAgICBldmVudHNfZGF0YSxcbiAgICBnbG9iYWxfZGF0YSxcbiAgICBlZGdlc19kYXRhLFxuICAgIHBvaW50c19kYXRhLFxuICAgIGFyZWFzX2RhdGEsXG4gICAgbmF2X2NvbnRleHRfZGF0YSxcbiAgfSA9IHN0YXRlO1xuXG4gIHJldHVybiB7XG4gICAgZXZlbnRzX2RhdGEsXG4gICAgZ2xvYmFsX2RhdGEsXG4gICAgZWRnZXNfZGF0YSxcbiAgICBwb2ludHNfZGF0YSxcbiAgICBhcmVhc19kYXRhLFxuICAgIG5hdl9jb250ZXh0X2RhdGEsXG4gIH07XG59XG5cbnR5cGUgSVByb3BzID0gQ29ubmVjdGVkUHJvcHM8dHlwZW9mIGNvbm5lY3Rvcj4gJiB7XG4gIHNpZGVuYXZFeHBhbmRlZDogYm9vbGVhbjtcbn07XG5cbmNvbnN0IEV2ZW50c0xpc3Q6IFJlYWN0LkZDPElQcm9wcz4gPSAoe1xuICBhcmVhc19kYXRhLFxuICBwb2ludHNfZGF0YSxcbiAgZWRnZXNfZGF0YSxcbiAgZ2xvYmFsX2RhdGEsXG4gIHNpZGVuYXZFeHBhbmRlZCxcbiAgZXZlbnRzX2RhdGEsXG4gIG5hdl9jb250ZXh0X2RhdGEsXG59KSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3Qge1xuICAgIGl0ZW1zLFxuICAgIGlzRmV0Y2hpbmcsXG4gICAgZm9jdXNlZEV2ZW50LFxuICAgIGhvdmVyZWRFdmVudCxcbiAgICBob3ZlcmVkRXZlbnRQYXRocyxcbiAgICBob3ZlcmVkRWRnZVBhdGhzLFxuICB9ID0gZXZlbnRzX2RhdGE7XG4gIGNvbnN0IHsgd2F0ZXJBdXRob3JpdHlJZCwgbWFwIH0gPSBnbG9iYWxfZGF0YTtcbiAgY29uc3QgW2ZpbHRlclBvcHVwT3Blbiwgc2V0RmlsdGVyUG9wdXBPcGVuXSA9IHVzZVN0YXRlKHRydWUpO1xuICBjb25zdCBbZXhjZXB0aW9uQWxlcnQsIHNldEV4Y2VwdGlvbkFsZXJ0XSA9IHVzZVN0YXRlPHtcbiAgICBtZXNzYWdlczogeyBtZXNzYWdlOiBhbnk7IGV2ZW50X2lkOiBudW1iZXIgfVtdO1xuICAgIGV2ZW50X2lkczogbnVtYmVyW107XG4gIH0+KHsgbWVzc2FnZXM6IFt7IG1lc3NhZ2U6ICcnLCBldmVudF9pZDogMCB9XSwgZXZlbnRfaWRzOiBbXSB9KTtcbiAgY29uc3QgbGFzdFZpc2l0ZWQgPSB1c2VMYXN0VmlzaXRlZCgpO1xuXG4gIGNvbnN0IHVzZVF1ZXJ5ID0gKCkgPT4ge1xuICAgIHJldHVybiBuZXcgVVJMU2VhcmNoUGFyYW1zKHVzZUxvY2F0aW9uKCkuc2VhcmNoKTtcbiAgfTtcbiAgY29uc3QgaGlzdG9yeSA9IHVzZUhpc3RvcnkoKTtcbiAgY29uc3QgcXVlcnkgPSB1c2VRdWVyeSgpO1xuICBjb25zdCBnZXRLUUxWYWx1ZXNGcm9tVVJMID0gKCkgPT4ge1xuICAgIHJldHVybiBxdWVyeS5nZXQoJ3ZhbHVlc0Zyb21LUUwnKTtcbiAgfTtcbiAgY29uc3QgZ2V0RXZlbnRJZEZyb21VUkwgPSAoKSA9PiB7XG4gICAgcmV0dXJuIHF1ZXJ5LmdldCgnZXZlbnRJZCcpO1xuICB9O1xuXG4gIGNvbnN0IGxvYWRlciA9ICgpID0+IHtcbiAgICBpZiAoXG4gICAgICAoaXNGZXRjaGluZyAmJiBpdGVtcy5sZW5ndGggPT09IDApIHx8XG4gICAgICBhcmVhc19kYXRhLm5ld0FyZWFzLmxlbmd0aCA9PT0gMCB8fFxuICAgICAgcG9pbnRzX2RhdGEuaXNGZXRjaGluZyB8fFxuICAgICAgZWRnZXNfZGF0YS5pc0ZldGNoaW5nXG4gICAgKSB7XG4gICAgICByZXR1cm4gPGRpdiBjbGFzc05hbWU9eydsb2FkZXInfT48L2Rpdj47XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBoYW5kbGVFeHBhbnNpb25Ub2dnbGUgPSAoKSA9PiB7XG4gICAgZGlzcGF0Y2goc2lkZU5hdkV4cGFuZGVkKCFzaWRlbmF2RXhwYW5kZWQpKTtcbiAgfTtcblxuICBjb25zdCBhcHBseURlZmF1bHRGaWx0ZXIgPSAoKSA9PiB7XG4gICAgaGlzdG9yeS5wdXNoKFxuICAgICAgYC8ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkfSZsb2NhbGU9JHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlfSZ2YWx1ZXNGcm9tS1FMPWAsXG4gICAgKTtcbiAgICBkaXNwYXRjaChzZXRFdmVudEZpbHRlclBhcmFtKCcnKSk7XG4gIH07XG5cbiAgY29uc3QgdmFsaWRhdGVFdmVudCA9IChldmVudDogSUV2ZW50KSA9PiB7XG4gICAgLy8gY2hlY2sgdGhhdCBhbGwgb2JzZXJ2YXRpb25zJyBlZGdlcyBleGlzdHMuIElmIHRoZXkgYXJlIG5vdCBleGlzdHMgaXQncyBpbmRpY2F0ZXMgdGhhdCB0aGVpciBwb2ludHMgYXJlXG4gICAgLy8gbm90IGluIHRoZSBoaWVyYXJjaHkgb3IgZG9lc24ndCBoYXZlIGxhdC9sbmcuXG4gICAgbGV0IGludmFsaWRPYnNlcnZhdGlvbnNNZXNzYWdlczogYW55ID0gW107XG4gICAgZXZlbnQub2JzZXJ2YXRpb25zLmZvckVhY2goKG9ic2VydmF0aW9uOiBhbnkpID0+IHtcbiAgICAgIC8vIGlmIG9ic2VydmF0aW9uIGlzIHJvb3QgKGV4LiBXV1RQKSB0aGVyZSBpcyBubyBlZGdlIHRoYXQgaXRzIGEgc291cmNlLiBzbyB3ZSBjYW4gc2tpcCB0aGlzIGNoZWNrXG4gICAgICBpZiAoIW9ic2VydmF0aW9uLnBvaW50X2lzX3Jvb3QpIHtcbiAgICAgICAgbGV0IGVkZ2UgPSBlZGdlc19kYXRhLml0ZW1zLmZpbmQoXG4gICAgICAgICAgKGVkZ2UpID0+IGVkZ2Uuc291cmNlX3BvaW50X2lkID09PSBvYnNlcnZhdGlvbi5wb2ludF9pZCxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGVkZ2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGludmFsaWRPYnNlcnZhdGlvbnNNZXNzYWdlcy5wdXNoKFxuICAgICAgICAgICAgYCR7b2JzZXJ2YXRpb24ucG9pbnRfbmFtZX0gKCR7b2JzZXJ2YXRpb24ucG9pbnRfaWR9KSBgLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChpbnZhbGlkT2JzZXJ2YXRpb25zTWVzc2FnZXMubGVuZ3RoICE9PSAwKSB7XG4gICAgICBsZXQgaW5kZXggPSBleGNlcHRpb25BbGVydC5tZXNzYWdlcy5maW5kSW5kZXgoXG4gICAgICAgIChtc2cpID0+IG1zZy5ldmVudF9pZCA9PT0gZXZlbnQuaWQsXG4gICAgICApO1xuXG4gICAgICBpZiAoaW5kZXggPT09IC0xKSB7XG4gICAgICAgIHNldEV4Y2VwdGlvbkFsZXJ0KHtcbiAgICAgICAgICBtZXNzYWdlczogW1xuICAgICAgICAgICAgLi4uZXhjZXB0aW9uQWxlcnQubWVzc2FnZXMsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG1lc3NhZ2U6IChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgPHA+e2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmV2ZW50X2RhdGFfbWlzc2luZycpfTwvcD5cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgZXZlbnRfaWQ6IGV2ZW50LmlkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGV2ZW50X2lkczogWy4uLmV4Y2VwdGlvbkFsZXJ0LmV2ZW50X2lkcywgZXZlbnQuaWRdLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBzYW1lIGNoZWNrIGFzIGFib3ZlIGJ1dCB0aGlzIHRpbWUgZm9yIHRoZSBldmVudCBwYXRoLiBJZiBlZGdlIGRvZXNuJ3QgZXhpc3QsIGl0J3MgaW5kaWNhdGVzIHRoYXQgb25lIG9mIHRoZVxuICAgIC8vIHBvaW50cyBkb3duc3RyZWFtIGRvZXNuJ3QgaGF2ZSBsYXQvbG5nLlxuICAgIGxldCBpbnZhbGlkUGF0aE1lc3NhZ2VzOiBhbnkgPSBbXTtcbiAgICBldmVudC5wYXRoLmZvckVhY2goKHBhdGg6IGFueSkgPT4ge1xuICAgICAgbGV0IGVkZ2UgPSBlZGdlc19kYXRhLml0ZW1zLmZpbmQoKGVkZ2UpID0+IGVkZ2UuaWQgPT09IHBhdGguZWRnZV9pZCk7XG4gICAgICBpZiAoZWRnZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoYGVkZ2UgJHtwYXRoLmVkZ2VfaWR9IGNhbiBub3QgYmUgZm91bmRgKTtcbiAgICAgICAgbGV0IG9ic2VydmF0aW9uID0gZXZlbnQub2JzZXJ2YXRpb25zLmZpbmQoXG4gICAgICAgICAgKG9ic2VydmF0aW9uKSA9PiBvYnNlcnZhdGlvbi5pZCA9PT0gcGF0aC5sYXN0X29ic2VydmF0aW9uX2lkLFxuICAgICAgICApO1xuICAgICAgICBsZXQgbGFzdE9ic2VydmF0aW9uUG9pbnQgPSAnTm90IGZvdW5kJztcbiAgICAgICAgaWYgKG9ic2VydmF0aW9uKSB7XG4gICAgICAgICAgbGFzdE9ic2VydmF0aW9uUG9pbnQgPSBvYnNlcnZhdGlvbi5wb2ludF9uYW1lO1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ2xhc3RPYnNlcnZhdGlvblBvaW50JywgbGFzdE9ic2VydmF0aW9uUG9pbnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaW52YWxpZFBhdGhNZXNzYWdlcy5wdXNoKGAke2xhc3RPYnNlcnZhdGlvblBvaW50fSBgKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChpbnZhbGlkUGF0aE1lc3NhZ2VzLmxlbmd0aCAhPT0gMCkge1xuICAgICAgc2V0RXhjZXB0aW9uQWxlcnQoe1xuICAgICAgICBtZXNzYWdlczogW1xuICAgICAgICAgIC4uLmV4Y2VwdGlvbkFsZXJ0Lm1lc3NhZ2VzLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG1lc3NhZ2U6IChcbiAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICA8cD57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZXZlbnRfdmVyaWZ5X2Nvb3JkaW5hdGVzJyl9PC9wPlxuICAgICAgICAgICAgICAgIDxzcGFuPntpbnZhbGlkUGF0aE1lc3NhZ2VzfTwvc3Bhbj5cbiAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgZXZlbnRfaWQ6IGV2ZW50LmlkLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIGV2ZW50X2lkczogWy4uLmV4Y2VwdGlvbkFsZXJ0LmV2ZW50X2lkcywgZXZlbnQuaWRdLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlRXZlbnRJdGVtQ2xpY2sgPSAoZXZlbnQ6IElFdmVudCwgcmVmOiBSZWZPYmplY3Q8SFRNTEVsZW1lbnQ+KSA9PiB7XG4gICAgb25Nb3VzZUxlYXZlRXZlbnQoKTtcbiAgICAvLyBpZiAoaG92ZXJlZEV2ZW50UGF0aHMgJiYgbWFwKSB7XG4gICAgLy8gICAgIGhvdmVyZWRFdmVudFBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAvLyAgICAgICAgIG1hcC5yZW1vdmVMYXllcihwYXRoKTtcbiAgICAvLyAgICAgfSk7XG4gICAgLy8gfVxuICAgIC8vIGRpc3BhdGNoKHNldEhvdmVyZWRFdmVudFBhdGhzKFtdKSk7XG4gICAgLy8gZGlzcGF0Y2goc2V0SG92ZXJFdmVudEluZGljYXRvcihudWxsKSk7XG4gICAgaWYgKHZhbGlkYXRlRXZlbnQoZXZlbnQpKSB7XG4gICAgICBkaXNwYXRjaChzZXRGb2N1c2VkRXZlbnQoZXZlbnQpKTtcbiAgICAgIHNldEZpbHRlclBvcHVwT3BlbihmYWxzZSk7XG4gICAgICBoaXN0b3J5LnB1c2goXG4gICAgICAgIGAvJHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZX0vaW5kZXg/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7Z2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZH0mbG9jYWxlPSR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZX0mZXZlbnRJZD0ke2V2ZW50LmlkfSZ2YWx1ZXNGcm9tS1FMPSR7Z2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbX1gLFxuICAgICAgKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgb25Nb3VzZUVudGVyRXZlbnQgPSAoZXZlbnQpID0+IHtcbiAgICBpZiAoIWZvY3VzZWRFdmVudCAmJiAhaG92ZXJlZEV2ZW50ICYmIHZhbGlkYXRlRXZlbnQoZXZlbnQpKSB7XG4gICAgICBkaXNwYXRjaChzZXRIb3ZlcmVkRXZlbnQoZXZlbnQpKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgb25Nb3VzZUxlYXZlRXZlbnQgPSAoKSA9PiB7XG4gICAgaWYgKGhvdmVyZWRFdmVudCAmJiBob3ZlcmVkRXZlbnRQYXRocyAmJiBtYXApIHtcbiAgICAgIGhvdmVyZWRFdmVudFBhdGhzLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgICAgbWFwLnJlbW92ZUxheWVyKHBhdGgpO1xuICAgICAgfSk7XG5cbiAgICAgIGlmIChob3ZlcmVkRWRnZVBhdGhzKSB7XG4gICAgICAgIGhvdmVyZWRFZGdlUGF0aHMuZm9yRWFjaCgocGF0aCkgPT4ge1xuICAgICAgICAgIG1hcC5yZW1vdmVMYXllcihwYXRoKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGxldCBsYXllcnMgPSBtYXAuX2xheWVycztcbiAgICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gbGF5ZXJzKSB7XG4gICAgICAgIGNvbnN0IGthbmRvX29iamVjdCA9IGxheWVyc1twcm9wZXJ0eV0ua2FuZG9fb2JqZWN0O1xuICAgICAgICBpZiAoXG4gICAgICAgICAga2FuZG9fb2JqZWN0Py5pbmNsdWRlcygnRXZlbnRCb2R5JykgfHxcbiAgICAgICAgICBbXG4gICAgICAgICAgICAnRXZlbnRUYWlsJyxcbiAgICAgICAgICAgICdTYW1wbGluZ1BvaW50JyxcbiAgICAgICAgICAgICdEZWNvcmF0b3InLFxuICAgICAgICAgICAgJ0hvdmVyZWRFZGdlJyxcbiAgICAgICAgICAgICdIb3ZlcmVkRWRnZUZyb250JyxcbiAgICAgICAgICBdLmluY2x1ZGVzKGthbmRvX29iamVjdClcbiAgICAgICAgKSB7XG4gICAgICAgICAgbWFwLnJlbW92ZUxheWVyKGxheWVyc1twcm9wZXJ0eV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGRpc3BhdGNoKHNldEhvdmVyZWRFdmVudChudWxsKSk7XG4gICAgZGlzcGF0Y2goc2V0SG92ZXJlZEV2ZW50UGF0aHMoW10pKTtcbiAgICBkaXNwYXRjaChzZXRIb3ZlcmVkRWRnZVBhdGhzKFtdKSk7XG4gIH07XG5cbiAgY29uc3Qgc2V0Rm9jdXNlZEV2ZW50SWZGb3VuZEluUGFyYW1zID0gKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIGdldEV2ZW50SWRGcm9tVVJMKCkgIT09IG51bGwgJiZcbiAgICAgIGdldEV2ZW50SWRGcm9tVVJMKCkgIT09ICdudWxsJyAmJlxuICAgICAgZm9jdXNlZEV2ZW50ID09PSBudWxsICYmXG4gICAgICBpdGVtcy5sZW5ndGggIT09IDAgJiZcbiAgICAgICFpc0ZldGNoaW5nICYmXG4gICAgICAhYXJlYXNfZGF0YS5pc0ZldGNoaW5nICYmXG4gICAgICAhcG9pbnRzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgIWVkZ2VzX2RhdGEuaXNGZXRjaGluZ1xuICAgICkge1xuICAgICAgbGV0IGV2ZW50ID0gZXZlbnRzX2RhdGEuaXRlbXMuZmluZChcbiAgICAgICAgKGU6IElFdmVudCkgPT4gZS5pZCA9PT0gcGFyc2VJbnQoZ2V0RXZlbnRJZEZyb21VUkwoKSEpLFxuICAgICAgKTtcbiAgICAgIGlmIChldmVudCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRpc3BhdGNoKHNldEZvY3VzZWRFdmVudChldmVudCkpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCB0cmlnZ2VyU29ydCA9IChzb3J0OiBudW1iZXIpID0+IHtcbiAgICBpZiAoZ2xvYmFsX2RhdGEuYWN0aXZlRmlsdGVyICE9PSBudWxsKSB7XG4gICAgICBsZXQgS1FMO1xuICAgICAgbGV0IFVSTDtcbiAgICAgIHN3aXRjaCAoc29ydCkge1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgS1FMID0gYCR7YnVpbGRLUUxRdWVyeShnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXIsICduZXdlc3QnKX1gO1xuICAgICAgICAgIFVSTCA9IGAvJHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZX0vaW5kZXg/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7Z2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZH0mbG9jYWxlPSR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZX0mdmFsdWVzRnJvbUtRTD0ke0tRTH1gO1xuICAgICAgICAgIGhpc3RvcnkucHVzaChVUkwpO1xuICAgICAgICAgIGRpc3BhdGNoKHNldEV2ZW50RmlsdGVyUGFyYW0oS1FMKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgICBLUUwgPSBgJHtidWlsZEtRTFF1ZXJ5KGdsb2JhbF9kYXRhLmFjdGl2ZUZpbHRlciwgJ29sZGVzdCcpfWA7XG4gICAgICAgICAgVVJMID0gYC8ke25hdl9jb250ZXh0X2RhdGEubmF2Q29udGV4dC5uYW1lfS9pbmRleD93YXRlcl9hdXRob3JpdHlfaWQ9JHtnbG9iYWxfZGF0YS53YXRlckF1dGhvcml0eUlkfSZsb2NhbGU9JHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubG9jYWxlfSZ2YWx1ZXNGcm9tS1FMPSR7S1FMfWA7XG4gICAgICAgICAgaGlzdG9yeS5wdXNoKFVSTCk7XG4gICAgICAgICAgZGlzcGF0Y2goc2V0RXZlbnRGaWx0ZXJQYXJhbShLUUwpKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAzOlxuICAgICAgICAgIEtRTCA9IGAke2J1aWxkS1FMUXVlcnkoZ2xvYmFsX2RhdGEuYWN0aXZlRmlsdGVyLCAnc2V2ZXJpdHknKX1gO1xuICAgICAgICAgIFVSTCA9IGAvJHtuYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQubmFtZX0vaW5kZXg/d2F0ZXJfYXV0aG9yaXR5X2lkPSR7Z2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZH0mbG9jYWxlPSR7bmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LmxvY2FsZX0mdmFsdWVzRnJvbUtRTD0ke0tRTH1gO1xuICAgICAgICAgIGhpc3RvcnkucHVzaChVUkwpO1xuICAgICAgICAgIGRpc3BhdGNoKHNldEV2ZW50RmlsdGVyUGFyYW0oS1FMKSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goZmV0Y2hFdmVudHMod2F0ZXJBdXRob3JpdHlJZCwgZ2V0S1FMVmFsdWVzRnJvbVVSTCgpIHx8ICdERUZBVUxUJykpO1xuICB9LCBbZ2xvYmFsX2RhdGEud2F0ZXJBdXRob3JpdHlJZCwgZ2xvYmFsX2RhdGEuZXZlbnRGaWx0ZXJQYXJhbV0pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9eydzaWRlbmF2ICcgKyAoc2lkZW5hdkV4cGFuZGVkID8gJycgOiAnc2lkZW5hdi0tY29sbGFwc2VkJyl9PlxuICAgICAge3NldEZvY3VzZWRFdmVudElmRm91bmRJblBhcmFtcygpfVxuICAgICAge2dsb2JhbF9kYXRhLm1vcmVJbmZvICE9PSB1bmRlZmluZWQgJiYgZ2xvYmFsX2RhdGEubW9yZUluZm8uYWN0aXZlICYmIChcbiAgICAgICAgPE1vcmVJbmZvIC8+XG4gICAgICApfVxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzTmFtZT17XG4gICAgICAgICAgJ2V2ZW50LWluZm8gJyArXG4gICAgICAgICAgKCFob3ZlcmVkRXZlbnQgJiYgZm9jdXNlZEV2ZW50ICE9PSBudWxsXG4gICAgICAgICAgICA/ICcnXG4gICAgICAgICAgICA6ICdldmVudC1pbmZvLS1jb2xsYXBzZWQnKVxuICAgICAgICB9XG4gICAgICA+XG4gICAgICAgIHshaG92ZXJlZEV2ZW50ICYmIGZvY3VzZWRFdmVudCAhPT0gbnVsbCAmJiAoXG4gICAgICAgICAgPEV2ZW50SW5mb1xuICAgICAgICAgICAgZXZlbnQ9e2ZvY3VzZWRFdmVudH1cbiAgICAgICAgICAgIHJlT3BlbkZpbHRlcj17KCkgPT4gc2V0RmlsdGVyUG9wdXBPcGVuKHRydWUpfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPVwidG9nZ2xlLWV4cGFuc2lvbi1idXR0b25cIlxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgaGFuZGxlRXhwYW5zaW9uVG9nZ2xlKCk7XG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibmF2LWV4cGFuc2lvbi1pY29uXCI+XG4gICAgICAgICAgPEZvbnRBd2Vzb21lSWNvblxuICAgICAgICAgICAgaWNvbj17c2lkZW5hdkV4cGFuZGVkID8gZmFDYXJldExlZnQgOiBmYUNhcmV0UmlnaHR9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPXsndG9nZ2xlLWV4cGFuc2lvbi1idXR0b24tbW9iaWxlJ31cbiAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgIGhhbmRsZUV4cGFuc2lvblRvZ2dsZSgpO1xuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8YSBocmVmPVwiI1wiPlxuICAgICAgICAgIDxGb250QXdlc29tZUljb24gaWNvbj17ZmFBcnJvd0xlZnR9IC8+XG4gICAgICAgICAgPHNwYW4+IHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5iYWNrX3RvX2RldGFpbHMnKX08L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJldmVudHMtaGVhZGVyXCI+XG4gICAgICAgIHtsYXN0VmlzaXRlZCAmJiAhaXNGZXRjaGluZyAmJiAoXG4gICAgICAgICAgPExpbmsgY2xhc3NOYW1lPVwiYmFja1wiIHRvPXtsYXN0VmlzaXRlZH0+XG4gICAgICAgICAgICB7JyAnfVxuICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICBzcmM9e0xlZnRBcnJvd0ljb259XG4gICAgICAgICAgICAgIGhlaWdodD1cIjEwcHhcIlxuICAgICAgICAgICAgICB3aWR0aD1cIjEycHhcIlxuICAgICAgICAgICAgICBhbHQ9XCJiYWNrXCJcbiAgICAgICAgICAgIC8+eycgJ31cbiAgICAgICAgICAgIHtpMThuLnQoJ2FyZWFfc2NyZWVuLmJhY2snKX1cbiAgICAgICAgICA8L0xpbms+XG4gICAgICAgICl9XG4gICAgICAgIDxoND5cbiAgICAgICAgICB7aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZXZlbnRzX2xpc3QnKX0gKHtldmVudHNfZGF0YS5pdGVtcy5sZW5ndGh9KVxuICAgICAgICA8L2g0PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpbHRlcmluZ1wiPlxuICAgICAgICAgIHtldmVudHNfZGF0YS5pdGVtcy5sZW5ndGggIT09IDAgJiYgKFxuICAgICAgICAgICAgPFNvcnRcbiAgICAgICAgICAgICAgdHJpZ2dlclNvcnQ9e3RyaWdnZXJTb3J0fVxuICAgICAgICAgICAgICBldmVudHM9e2V2ZW50c19kYXRhLml0ZW1zfVxuICAgICAgICAgICAgICBldmVudHNGZXRjaGluZz17ZXZlbnRzX2RhdGEuaXNGZXRjaGluZ31cbiAgICAgICAgICAgICAgYWN0aXZlRmlsdGVyPXtnbG9iYWxfZGF0YS5hY3RpdmVGaWx0ZXJ9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJpY29uc1wiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmaWx0ZXJcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRGaWx0ZXJQb3B1cE9wZW4oIWZpbHRlclBvcHVwT3Blbil9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxGaWx0ZXJJY29uIHdpZHRoPVwiMTdweFwiIGhlaWdodD1cIjE3cHhcIiBmaWxsPVwiI2Y2MDA0ZlwiIC8+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAge3BvaW50c19kYXRhLml0ZW1zLmxlbmd0aCAhPT0gMCAmJiAoXG4gICAgICAgICAgPEZpbHRlckNvbnRhaW5lclxuICAgICAgICAgICAgZmlsdGVyUG9wdXBPcGVuPXtmaWx0ZXJQb3B1cE9wZW59XG4gICAgICAgICAgICBmZXRjaFR5cGU9eydFdmVudEZpbHRlcid9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJldmVudHMtY29udGFpbmVyIHNjcm9sbGJhciBcIj5cbiAgICAgICAge2xvYWRlcigpfVxuICAgICAgICB7IWlzRmV0Y2hpbmcgJiZcbiAgICAgICAgICBpdGVtcy5sZW5ndGggPT09IDAgJiZcbiAgICAgICAgICAhcG9pbnRzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgICAgICFlZGdlc19kYXRhLmlzRmV0Y2hpbmcgJiYgKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydldmVudHNfX2JsYW5rc2xhdGUnfT5cbiAgICAgICAgICAgICAgPGltZyBzcmM9e05vRXZlbnRzSW1hZ2V9IGFsdD1cIk5vRXZlbnRzSWNvblwiIC8+XG4gICAgICAgICAgICAgIDxoMj57aTE4bi50KCdldmVudHNfb3ZlcnZpZXcuZmlsdGVyLmJsYW5rc2xhdGUuaGVhZGVyJyl9PC9oMj5cbiAgICAgICAgICAgICAgPHA+e2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmZpbHRlci5ibGFua3NsYXRlLmJvZHknKX08L3A+XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXsnYXBwbHlfZGVmYXVsdF9maWx0ZXJfYnV0dG9uJ31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBhcHBseURlZmF1bHRGaWx0ZXIoKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5maWx0ZXIuYmxhbmtzbGF0ZS5idXR0b24nKX1cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAge2l0ZW1zLmxlbmd0aCAhPT0gMCAmJlxuICAgICAgICAgICFhcmVhc19kYXRhLmlzRmV0Y2hpbmcgJiZcbiAgICAgICAgICAhcG9pbnRzX2RhdGEuaXNGZXRjaGluZyAmJlxuICAgICAgICAgICFlZGdlc19kYXRhLmlzRmV0Y2hpbmcgJiYgKFxuICAgICAgICAgICAgPHVsIGNsYXNzTmFtZT1cImV2ZW50cyBcIj5cbiAgICAgICAgICAgICAge2l0ZW1zLm1hcCgoZXZlbnQ6IGFueSkgPT4gKFxuICAgICAgICAgICAgICAgIDxsaSBrZXk9e2V2ZW50LmlkfSBjbGFzc05hbWU9XCJldmVudFwiIGRhdGEtZXZlbnQtaWQ9e2V2ZW50LmlkfT5cbiAgICAgICAgICAgICAgICAgIDxTZXZlcmVFdmVudFxuICAgICAgICAgICAgICAgICAgICBldmVudD17ZXZlbnR9XG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZUNsaWNrPXtoYW5kbGVFdmVudEl0ZW1DbGlja31cbiAgICAgICAgICAgICAgICAgICAgb25Nb3VzZUVudGVyRXZlbnQ9e29uTW91c2VFbnRlckV2ZW50fVxuICAgICAgICAgICAgICAgICAgICBvbk1vdXNlTGVhdmVFdmVudD17b25Nb3VzZUxlYXZlRXZlbnR9XG4gICAgICAgICAgICAgICAgICAgIHZhbGlkYXRlRXZlbnQ9e3ZhbGlkYXRlRXZlbnR9XG4gICAgICAgICAgICAgICAgICAgIGV4Y2VwdGlvbkFsZXJ0PXtleGNlcHRpb25BbGVydH1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmNvbnN0IGNvbm5lY3RvciA9IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzKTtcbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3RvcihFdmVudHNMaXN0KTtcbiJdfQ==
|