@thetradeengineorg1/snova-shell-module 0.0.2 → 0.0.4
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/bundles/thetradeengineorg1-snova-shell-module.umd.js +5926 -774
- package/bundles/thetradeengineorg1-snova-shell-module.umd.js.map +1 -1
- package/esm2015/lib/globaldependencies/components/componentbase.js +9 -9
- package/esm2015/lib/globaldependencies/helpers/moment-utc-date-adapter.js +11 -11
- package/esm2015/lib/globaldependencies/intercepter/jwt.interceptor.js +6 -6
- package/esm2015/lib/globaldependencies/pipes/fetchSizedAndCachedImage.pipe.js +11 -11
- package/esm2015/lib/globaldependencies/pipes/highLightText.pipe.js +13 -13
- package/esm2015/lib/globaldependencies/pipes/orderby-pipe.js +11 -11
- package/esm2015/lib/globaldependencies/pipes/removeSpecialCharacters.pipe.js +11 -11
- package/esm2015/lib/globaldependencies/pipes/sanitize.pipe.js +13 -13
- package/esm2015/lib/globaldependencies/pipes/softlabels.pipes.js +13 -13
- package/esm2015/lib/globaldependencies/pipes/utctolocaltime.pipe.js +11 -11
- package/esm2015/lib/globaldependencies/pipes/utctolocaltimewithdate.pipe.js +11 -11
- package/esm2015/lib/globaldependencies/pipes/workflowstatus.pipes.js +11 -11
- package/esm2015/lib/shell-components/components/Payments/account.component.js +91 -20
- package/esm2015/lib/shell-components/components/Payments/company-information.js +322 -26
- package/esm2015/lib/shell-components/components/Payments/company-plans.component.js +509 -11
- package/esm2015/lib/shell-components/components/Payments/document.component.js +90 -18
- package/esm2015/lib/shell-components/components/Payments/payment-method.component.js +76 -18
- package/esm2015/lib/shell-components/components/Payments/product-service.component.js +317 -22
- package/esm2015/lib/shell-components/components/Payments/purchase-more-licenses.js +119 -22
- package/esm2015/lib/shell-components/components/Payments/transactions.component.js +132 -20
- package/esm2015/lib/shell-components/components/admin-layout/admin-layout.component.js +119 -20
- package/esm2015/lib/shell-components/components/all-work-items-dialog/all-work-items-dialog.component.js +29 -16
- package/esm2015/lib/shell-components/components/confirmation-dialog/confirmation-dialog.component.js +55 -19
- package/esm2015/lib/shell-components/components/export-import-configuration/export-configuration.component.js +174 -29
- package/esm2015/lib/shell-components/components/feed-time/feed-time-dialog.component.js +29 -16
- package/esm2015/lib/shell-components/components/feed-time/feed-time.component.js +20 -16
- package/esm2015/lib/shell-components/components/header-side/header-side.component.js +763 -73
- package/esm2015/lib/shell-components/components/header-top/header-top.component.js +417 -21
- package/esm2015/lib/shell-components/components/lives/lives-welcome-page.js +39 -10
- package/esm2015/lib/shell-components/components/menu/menu.component.js +962 -74
- package/esm2015/lib/shell-components/components/notifications/announcement-dialog.component.js +57 -20
- package/esm2015/lib/shell-components/components/notifications/notifications.component.js +99 -14
- package/esm2015/lib/shell-components/components/sidebar-top/sidebar-top.component.js +19 -13
- package/esm2015/lib/shell-components/components/sidenav/side-bar.component.js +80 -13
- package/esm2015/lib/shell-components/components/sidenav/sidenav.component.js +419 -23
- package/esm2015/lib/shell-components/components/submit-feedback/submit-feedback.component.js +17 -13
- package/esm2015/lib/shell-components/services/authentication.service.js +7 -7
- package/esm2015/lib/shell-components/services/chat.service.js +9 -9
- package/esm2015/lib/shell-components/services/common-used.service.js +7 -7
- package/esm2015/lib/shell-components/services/feature.service.js +7 -7
- package/esm2015/lib/shell-components/services/google-analytics.service.js +6 -6
- package/esm2015/lib/shell-components/services/layout.service.js +6 -6
- package/esm2015/lib/shell-components/services/payment.service.js +7 -7
- package/esm2015/lib/shell-components/services/recentSearch.service.js +9 -9
- package/esm2015/lib/shell-components/services/shell.modules.service.js +11 -11
- package/esm2015/lib/shell-components/services/signalr.service.js +9 -9
- package/esm2015/lib/shell-components/services/theme.service.js +6 -6
- package/esm2015/lib/shell-components/shell.module.js +185 -181
- package/esm2015/lib/shell-components/shell.routing.js +2 -2
- package/esm2015/lib/shell-components/store/effects/authentication.effects.js +9 -9
- package/esm2015/lib/shell-components/store/effects/chat.effects.js +6 -6
- package/esm2015/lib/shell-components/store/effects/menuitems.effects.js +6 -6
- package/esm2015/lib/shell-components/store/effects/notification-validator.effects.js +6 -6
- package/esm2015/lib/shell-components/store/effects/notifications.effects.js +6 -6
- package/fesm2015/thetradeengineorg1-snova-shell-module.js +5322 -911
- package/fesm2015/thetradeengineorg1-snova-shell-module.js.map +1 -1
- package/lib/globaldependencies/components/componentbase.d.ts +1 -0
- package/lib/globaldependencies/components/componentbase.d.ts.map +1 -0
- package/lib/globaldependencies/constants/feature-ids.d.ts +1 -0
- package/lib/globaldependencies/constants/feature-ids.d.ts.map +1 -0
- package/lib/globaldependencies/constants/localstorage-properties.d.ts +1 -0
- package/lib/globaldependencies/constants/localstorage-properties.d.ts.map +1 -0
- package/lib/globaldependencies/helpers/dom.helper.d.ts +1 -0
- package/lib/globaldependencies/helpers/dom.helper.d.ts.map +1 -0
- package/lib/globaldependencies/helpers/fontawesome-icons.d.ts +1 -0
- package/lib/globaldependencies/helpers/fontawesome-icons.d.ts.map +1 -0
- package/lib/globaldependencies/helpers/moment-utc-date-adapter.d.ts +1 -0
- package/lib/globaldependencies/helpers/moment-utc-date-adapter.d.ts.map +1 -0
- package/lib/globaldependencies/helpers/window.helper.d.ts +1 -0
- package/lib/globaldependencies/helpers/window.helper.d.ts.map +1 -0
- package/lib/globaldependencies/intercepter/jwt.interceptor.d.ts +1 -0
- package/lib/globaldependencies/intercepter/jwt.interceptor.d.ts.map +1 -0
- package/lib/globaldependencies/pipes/fetchSizedAndCachedImage.pipe.d.ts +1 -0
- package/lib/globaldependencies/pipes/fetchSizedAndCachedImage.pipe.d.ts.map +1 -0
- package/lib/globaldependencies/pipes/highLightText.pipe.d.ts +1 -0
- package/lib/globaldependencies/pipes/highLightText.pipe.d.ts.map +1 -0
- package/lib/globaldependencies/pipes/orderby-pipe.d.ts +1 -0
- package/lib/globaldependencies/pipes/orderby-pipe.d.ts.map +1 -0
- package/lib/globaldependencies/pipes/removeSpecialCharacters.pipe.d.ts +1 -0
- package/lib/globaldependencies/pipes/removeSpecialCharacters.pipe.d.ts.map +1 -0
- package/lib/globaldependencies/pipes/sanitize.pipe.d.ts +1 -0
- package/lib/globaldependencies/pipes/sanitize.pipe.d.ts.map +1 -0
- package/lib/globaldependencies/pipes/softlabels.pipes.d.ts +1 -0
- package/lib/globaldependencies/pipes/softlabels.pipes.d.ts.map +1 -0
- package/lib/globaldependencies/pipes/utctolocaltime.pipe.d.ts +1 -0
- package/lib/globaldependencies/pipes/utctolocaltime.pipe.d.ts.map +1 -0
- package/lib/globaldependencies/pipes/utctolocaltimewithdate.pipe.d.ts +1 -0
- package/lib/globaldependencies/pipes/utctolocaltimewithdate.pipe.d.ts.map +1 -0
- package/lib/globaldependencies/pipes/workflowstatus.pipes.d.ts +1 -0
- package/lib/globaldependencies/pipes/workflowstatus.pipes.d.ts.map +1 -0
- package/lib/shell-components/components/Payments/account.component.d.ts +1 -0
- package/lib/shell-components/components/Payments/account.component.d.ts.map +1 -0
- package/lib/shell-components/components/Payments/company-information.d.ts +1 -0
- package/lib/shell-components/components/Payments/company-information.d.ts.map +1 -0
- package/lib/shell-components/components/Payments/company-plans.component.d.ts +1 -0
- package/lib/shell-components/components/Payments/company-plans.component.d.ts.map +1 -0
- package/lib/shell-components/components/Payments/document.component.d.ts +2 -1
- package/lib/shell-components/components/Payments/document.component.d.ts.map +1 -0
- package/lib/shell-components/components/Payments/payment-method.component.d.ts +1 -0
- package/lib/shell-components/components/Payments/payment-method.component.d.ts.map +1 -0
- package/lib/shell-components/components/Payments/product-service.component.d.ts +1 -0
- package/lib/shell-components/components/Payments/product-service.component.d.ts.map +1 -0
- package/lib/shell-components/components/Payments/purchase-more-licenses.d.ts +1 -0
- package/lib/shell-components/components/Payments/purchase-more-licenses.d.ts.map +1 -0
- package/lib/shell-components/components/Payments/transactions.component.d.ts +1 -0
- package/lib/shell-components/components/Payments/transactions.component.d.ts.map +1 -0
- package/lib/shell-components/components/admin-layout/admin-layout.component.d.ts +1 -0
- package/lib/shell-components/components/admin-layout/admin-layout.component.d.ts.map +1 -0
- package/lib/shell-components/components/all-work-items-dialog/all-work-items-dialog.component.d.ts +1 -0
- package/lib/shell-components/components/all-work-items-dialog/all-work-items-dialog.component.d.ts.map +1 -0
- package/lib/shell-components/components/confirmation-dialog/confirmation-dialog.component.d.ts +1 -0
- package/lib/shell-components/components/confirmation-dialog/confirmation-dialog.component.d.ts.map +1 -0
- package/lib/shell-components/components/export-import-configuration/export-configuration.component.d.ts +1 -0
- package/lib/shell-components/components/export-import-configuration/export-configuration.component.d.ts.map +1 -0
- package/lib/shell-components/components/feed-time/feed-time-dialog.component.d.ts +1 -0
- package/lib/shell-components/components/feed-time/feed-time-dialog.component.d.ts.map +1 -0
- package/lib/shell-components/components/feed-time/feed-time.component.d.ts +1 -0
- package/lib/shell-components/components/feed-time/feed-time.component.d.ts.map +1 -0
- package/lib/shell-components/components/header-side/header-side.component.d.ts +2 -1
- package/lib/shell-components/components/header-side/header-side.component.d.ts.map +1 -0
- package/lib/shell-components/components/header-top/header-top.component.d.ts +1 -0
- package/lib/shell-components/components/header-top/header-top.component.d.ts.map +1 -0
- package/lib/shell-components/components/lives/lives-welcome-page.d.ts +1 -0
- package/lib/shell-components/components/lives/lives-welcome-page.d.ts.map +1 -0
- package/lib/shell-components/components/menu/menu.component.d.ts +1 -0
- package/lib/shell-components/components/menu/menu.component.d.ts.map +1 -0
- package/lib/shell-components/components/menu/searchTask.enum.d.ts +1 -0
- package/lib/shell-components/components/menu/searchTask.enum.d.ts.map +1 -0
- package/lib/shell-components/components/notifications/announcement-dialog.component.d.ts +1 -0
- package/lib/shell-components/components/notifications/announcement-dialog.component.d.ts.map +1 -0
- package/lib/shell-components/components/notifications/notifications.component.d.ts +1 -0
- package/lib/shell-components/components/notifications/notifications.component.d.ts.map +1 -0
- package/lib/shell-components/components/sidebar-top/sidebar-top.component.d.ts +1 -0
- package/lib/shell-components/components/sidebar-top/sidebar-top.component.d.ts.map +1 -0
- package/lib/shell-components/components/sidenav/side-bar.component.d.ts +1 -0
- package/lib/shell-components/components/sidenav/side-bar.component.d.ts.map +1 -0
- package/lib/shell-components/components/sidenav/sidenav.component.d.ts +1 -0
- package/lib/shell-components/components/sidenav/sidenav.component.d.ts.map +1 -0
- package/lib/shell-components/components/submit-feedback/submit-feedback.component.d.ts +1 -0
- package/lib/shell-components/components/submit-feedback/submit-feedback.component.d.ts.map +1 -0
- package/lib/shell-components/constants/api-urls.d.ts +1 -0
- package/lib/shell-components/constants/api-urls.d.ts.map +1 -0
- package/lib/shell-components/constants/available-languages.d.ts +1 -0
- package/lib/shell-components/constants/available-languages.d.ts.map +1 -0
- package/lib/shell-components/constants/channel-names.d.ts +1 -0
- package/lib/shell-components/constants/channel-names.d.ts.map +1 -0
- package/lib/shell-components/constants/menu-categories.d.ts +1 -0
- package/lib/shell-components/constants/menu-categories.d.ts.map +1 -0
- package/lib/shell-components/constants/notification-routes.d.ts +1 -0
- package/lib/shell-components/constants/notification-routes.d.ts.map +1 -0
- package/lib/shell-components/constants/notification-type-ids.d.ts +1 -0
- package/lib/shell-components/constants/notification-type-ids.d.ts.map +1 -0
- package/lib/shell-components/enum/recentSearchType.enum.d.ts +1 -0
- package/lib/shell-components/enum/recentSearchType.enum.d.ts.map +1 -0
- package/lib/shell-components/models/AppMenuItemModel.d.ts +1 -0
- package/lib/shell-components/models/AppMenuItemModel.d.ts.map +1 -0
- package/lib/shell-components/models/AppNotification.d.ts +1 -0
- package/lib/shell-components/models/AppNotification.d.ts.map +1 -0
- package/lib/shell-components/models/AssetAssignedNotificationModel.d.ts +1 -0
- package/lib/shell-components/models/AssetAssignedNotificationModel.d.ts.map +1 -0
- package/lib/shell-components/models/ChannelUpdateModel.d.ts +1 -0
- package/lib/shell-components/models/ChannelUpdateModel.d.ts.map +1 -0
- package/lib/shell-components/models/EmployeeStatusModel.d.ts +1 -0
- package/lib/shell-components/models/EmployeeStatusModel.d.ts.map +1 -0
- package/lib/shell-components/models/IAdjust-screen-options.d.ts +1 -0
- package/lib/shell-components/models/IAdjust-screen-options.d.ts.map +1 -0
- package/lib/shell-components/models/IBadge.d.ts +1 -0
- package/lib/shell-components/models/IBadge.d.ts.map +1 -0
- package/lib/shell-components/models/IChildItem.d.ts +1 -0
- package/lib/shell-components/models/IChildItem.d.ts.map +1 -0
- package/lib/shell-components/models/ILayout-change-options.d.ts +1 -0
- package/lib/shell-components/models/ILayout-change-options.d.ts.map +1 -0
- package/lib/shell-components/models/IMenuItem.d.ts +1 -0
- package/lib/shell-components/models/IMenuItem.d.ts.map +1 -0
- package/lib/shell-components/models/IlayoutConf.d.ts +1 -0
- package/lib/shell-components/models/IlayoutConf.d.ts.map +1 -0
- package/lib/shell-components/models/IntroModel.d.ts +1 -0
- package/lib/shell-components/models/IntroModel.d.ts.map +1 -0
- package/lib/shell-components/models/MessageDetails.d.ts +1 -0
- package/lib/shell-components/models/MessageDetails.d.ts.map +1 -0
- package/lib/shell-components/models/MessageTypingDetails.d.ts +1 -0
- package/lib/shell-components/models/MessageTypingDetails.d.ts.map +1 -0
- package/lib/shell-components/models/NewProjectCreatedNotificationModel.d.ts +1 -0
- package/lib/shell-components/models/NewProjectCreatedNotificationModel.d.ts.map +1 -0
- package/lib/shell-components/models/NewProjectFeatureNotificationModel.d.ts +1 -0
- package/lib/shell-components/models/NewProjectFeatureNotificationModel.d.ts.map +1 -0
- package/lib/shell-components/models/NotificationsOutPutModel.d.ts +1 -0
- package/lib/shell-components/models/NotificationsOutPutModel.d.ts.map +1 -0
- package/lib/shell-components/models/ProjectSearchCriteriaInputModel.d.ts +1 -0
- package/lib/shell-components/models/ProjectSearchCriteriaInputModel.d.ts.map +1 -0
- package/lib/shell-components/models/RecentSearchModel.d.ts +1 -0
- package/lib/shell-components/models/RecentSearchModel.d.ts.map +1 -0
- package/lib/shell-components/models/ReportConfigAssignedNotification.d.ts +1 -0
- package/lib/shell-components/models/ReportConfigAssignedNotification.d.ts.map +1 -0
- package/lib/shell-components/models/ReportSubmittedNotification.d.ts +1 -0
- package/lib/shell-components/models/ReportSubmittedNotification.d.ts.map +1 -0
- package/lib/shell-components/models/RoleUpdatedNotification.d.ts +1 -0
- package/lib/shell-components/models/RoleUpdatedNotification.d.ts.map +1 -0
- package/lib/shell-components/models/UserStoryAssignedNotification.d.ts +1 -0
- package/lib/shell-components/models/UserStoryAssignedNotification.d.ts.map +1 -0
- package/lib/shell-components/models/archiveUserStoryModel.d.ts +1 -0
- package/lib/shell-components/models/archiveUserStoryModel.d.ts.map +1 -0
- package/lib/shell-components/models/companieslist.model.d.ts +1 -0
- package/lib/shell-components/models/companieslist.model.d.ts.map +1 -0
- package/lib/shell-components/models/company-model.d.ts +1 -0
- package/lib/shell-components/models/company-model.d.ts.map +1 -0
- package/lib/shell-components/models/company-payment-model.d.ts +1 -0
- package/lib/shell-components/models/company-payment-model.d.ts.map +1 -0
- package/lib/shell-components/models/dragedWidget.d.ts +1 -0
- package/lib/shell-components/models/dragedWidget.d.ts.map +1 -0
- package/lib/shell-components/models/employee-List.d.ts +1 -0
- package/lib/shell-components/models/employee-List.d.ts.map +1 -0
- package/lib/shell-components/models/employee.d.ts +1 -0
- package/lib/shell-components/models/employee.d.ts.map +1 -0
- package/lib/shell-components/models/entityRoleFeature.d.ts +1 -0
- package/lib/shell-components/models/entityRoleFeature.d.ts.map +1 -0
- package/lib/shell-components/models/export-configuration-model.d.ts +1 -0
- package/lib/shell-components/models/export-configuration-model.d.ts.map +1 -0
- package/lib/shell-components/models/export-data.module.d.ts +1 -0
- package/lib/shell-components/models/export-data.module.d.ts.map +1 -0
- package/lib/shell-components/models/goalApprovedNotificationModel.d.ts +1 -0
- package/lib/shell-components/models/goalApprovedNotificationModel.d.ts.map +1 -0
- package/lib/shell-components/models/import-configuration-model.d.ts +1 -0
- package/lib/shell-components/models/import-configuration-model.d.ts.map +1 -0
- package/lib/shell-components/models/initialStatusofUsers.d.ts +1 -0
- package/lib/shell-components/models/initialStatusofUsers.d.ts.map +1 -0
- package/lib/shell-components/models/invoiceOutput-model.d.ts +1 -0
- package/lib/shell-components/models/invoiceOutput-model.d.ts.map +1 -0
- package/lib/shell-components/models/leaveApplicationNotifiction.d.ts +1 -0
- package/lib/shell-components/models/leaveApplicationNotifiction.d.ts.map +1 -0
- package/lib/shell-components/models/multiChartsScheduling.d.ts +1 -0
- package/lib/shell-components/models/multiChartsScheduling.d.ts.map +1 -0
- package/lib/shell-components/models/parkUserStoryInputModel.d.ts +1 -0
- package/lib/shell-components/models/parkUserStoryInputModel.d.ts.map +1 -0
- package/lib/shell-components/models/project.d.ts +1 -0
- package/lib/shell-components/models/project.d.ts.map +1 -0
- package/lib/shell-components/models/recentSearchApiModel.d.ts +1 -0
- package/lib/shell-components/models/recentSearchApiModel.d.ts.map +1 -0
- package/lib/shell-components/models/searchCriteriaInputModelBase.d.ts +1 -0
- package/lib/shell-components/models/searchCriteriaInputModelBase.d.ts.map +1 -0
- package/lib/shell-components/models/shellModulesInfo.d.ts +1 -0
- package/lib/shell-components/models/shellModulesInfo.d.ts.map +1 -0
- package/lib/shell-components/models/softlabels-model.d.ts +1 -0
- package/lib/shell-components/models/softlabels-model.d.ts.map +1 -0
- package/lib/shell-components/models/sprintReplanRequestedModel.d.ts +1 -0
- package/lib/shell-components/models/sprintReplanRequestedModel.d.ts.map +1 -0
- package/lib/shell-components/models/sprintStartedNotificationModel.d.ts +1 -0
- package/lib/shell-components/models/sprintStartedNotificationModel.d.ts.map +1 -0
- package/lib/shell-components/models/store-model.d.ts +1 -0
- package/lib/shell-components/models/store-model.d.ts.map +1 -0
- package/lib/shell-components/models/store-search-model.d.ts +1 -0
- package/lib/shell-components/models/store-search-model.d.ts.map +1 -0
- package/lib/shell-components/models/themes.model.d.ts +1 -0
- package/lib/shell-components/models/themes.model.d.ts.map +1 -0
- package/lib/shell-components/models/timesheetenabledisable.d.ts +1 -0
- package/lib/shell-components/models/timesheetenabledisable.d.ts.map +1 -0
- package/lib/shell-components/models/user.d.ts +1 -0
- package/lib/shell-components/models/user.d.ts.map +1 -0
- package/lib/shell-components/models/userStory.d.ts +1 -0
- package/lib/shell-components/models/userStory.d.ts.map +1 -0
- package/lib/shell-components/models/userStoryCommentNotificationModel.d.ts +1 -0
- package/lib/shell-components/models/userStoryCommentNotificationModel.d.ts.map +1 -0
- package/lib/shell-components/models/userStoryUpdateNotificationModel.d.ts +1 -0
- package/lib/shell-components/models/userStoryUpdateNotificationModel.d.ts.map +1 -0
- package/lib/shell-components/models/userstory-custom-fields.model.d.ts +1 -0
- package/lib/shell-components/models/userstory-custom-fields.model.d.ts.map +1 -0
- package/lib/shell-components/models/validation.model.d.ts +1 -0
- package/lib/shell-components/models/validation.model.d.ts.map +1 -0
- package/lib/shell-components/models/widgetlist.d.ts +1 -0
- package/lib/shell-components/models/widgetlist.d.ts.map +1 -0
- package/lib/shell-components/models/workspaceList.d.ts +1 -0
- package/lib/shell-components/models/workspaceList.d.ts.map +1 -0
- package/lib/shell-components/services/authentication.service.d.ts +1 -0
- package/lib/shell-components/services/authentication.service.d.ts.map +1 -0
- package/lib/shell-components/services/chat.service.d.ts +1 -0
- package/lib/shell-components/services/chat.service.d.ts.map +1 -0
- package/lib/shell-components/services/common-used.service.d.ts +1 -0
- package/lib/shell-components/services/common-used.service.d.ts.map +1 -0
- package/lib/shell-components/services/feature.service.d.ts +1 -0
- package/lib/shell-components/services/feature.service.d.ts.map +1 -0
- package/lib/shell-components/services/google-analytics.service.d.ts +1 -0
- package/lib/shell-components/services/google-analytics.service.d.ts.map +1 -0
- package/lib/shell-components/services/layout.service.d.ts +1 -0
- package/lib/shell-components/services/layout.service.d.ts.map +1 -0
- package/lib/shell-components/services/payment.service.d.ts +1 -0
- package/lib/shell-components/services/payment.service.d.ts.map +1 -0
- package/lib/shell-components/services/recentSearch.service.d.ts +1 -0
- package/lib/shell-components/services/recentSearch.service.d.ts.map +1 -0
- package/lib/shell-components/services/shell.modules.service.d.ts +1 -0
- package/lib/shell-components/services/shell.modules.service.d.ts.map +1 -0
- package/lib/shell-components/services/signalr.service.d.ts +1 -0
- package/lib/shell-components/services/signalr.service.d.ts.map +1 -0
- package/lib/shell-components/services/theme.service.d.ts +1 -0
- package/lib/shell-components/services/theme.service.d.ts.map +1 -0
- package/lib/shell-components/shell.module.d.ts +2 -1
- package/lib/shell-components/shell.module.d.ts.map +1 -0
- package/lib/shell-components/shell.routing.d.ts +1 -0
- package/lib/shell-components/shell.routing.d.ts.map +1 -0
- package/lib/shell-components/store/actions/authentication.actions.d.ts +1 -0
- package/lib/shell-components/store/actions/authentication.actions.d.ts.map +1 -0
- package/lib/shell-components/store/actions/chat.actions.d.ts +1 -0
- package/lib/shell-components/store/actions/chat.actions.d.ts.map +1 -0
- package/lib/shell-components/store/actions/menuitems.actions.d.ts +1 -0
- package/lib/shell-components/store/actions/menuitems.actions.d.ts.map +1 -0
- package/lib/shell-components/store/actions/notification-validator.action.d.ts +1 -0
- package/lib/shell-components/store/actions/notification-validator.action.d.ts.map +1 -0
- package/lib/shell-components/store/actions/notifications.actions.d.ts +1 -0
- package/lib/shell-components/store/actions/notifications.actions.d.ts.map +1 -0
- package/lib/shell-components/store/effects/authentication.effects.d.ts +1 -0
- package/lib/shell-components/store/effects/authentication.effects.d.ts.map +1 -0
- package/lib/shell-components/store/effects/chat.effects.d.ts +1 -0
- package/lib/shell-components/store/effects/chat.effects.d.ts.map +1 -0
- package/lib/shell-components/store/effects/index.d.ts +1 -0
- package/lib/shell-components/store/effects/index.d.ts.map +1 -0
- package/lib/shell-components/store/effects/menuitems.effects.d.ts +1 -0
- package/lib/shell-components/store/effects/menuitems.effects.d.ts.map +1 -0
- package/lib/shell-components/store/effects/notification-validator.effects.d.ts +1 -0
- package/lib/shell-components/store/effects/notification-validator.effects.d.ts.map +1 -0
- package/lib/shell-components/store/effects/notifications.effects.d.ts +1 -0
- package/lib/shell-components/store/effects/notifications.effects.d.ts.map +1 -0
- package/lib/shell-components/store/reducers/authentication.reducers.d.ts +1 -0
- package/lib/shell-components/store/reducers/authentication.reducers.d.ts.map +1 -0
- package/lib/shell-components/store/reducers/chat.reducers.d.ts +1 -0
- package/lib/shell-components/store/reducers/chat.reducers.d.ts.map +1 -0
- package/lib/shell-components/store/reducers/index.d.ts +1 -0
- package/lib/shell-components/store/reducers/index.d.ts.map +1 -0
- package/lib/shell-components/store/reducers/menuitems.reducers.d.ts +1 -0
- package/lib/shell-components/store/reducers/menuitems.reducers.d.ts.map +1 -0
- package/lib/shell-components/store/reducers/notification-validator.reducers.d.ts +1 -0
- package/lib/shell-components/store/reducers/notification-validator.reducers.d.ts.map +1 -0
- package/lib/shell-components/store/reducers/notifications.reducers.d.ts +1 -0
- package/lib/shell-components/store/reducers/notifications.reducers.d.ts.map +1 -0
- package/package.json +5 -5
- package/public-api.d.ts +1 -0
- package/public-api.d.ts.map +1 -0
- package/store/reducers/index.d.ts +1 -0
- package/store/reducers/index.d.ts.map +1 -0
- package/thetradeengineorg1-snova-shell-module.d.ts +1 -0
- package/thetradeengineorg1-snova-shell-module.d.ts.map +1 -0
|
@@ -417,8 +417,8 @@ export class AuthenticationEffects {
|
|
|
417
417
|
}));
|
|
418
418
|
}
|
|
419
419
|
}
|
|
420
|
-
AuthenticationEffects.ɵfac =
|
|
421
|
-
AuthenticationEffects.ɵprov = i0.ɵɵ
|
|
420
|
+
AuthenticationEffects.ɵfac = function AuthenticationEffects_Factory(t) { return new (t || AuthenticationEffects)(i0.ɵɵinject(i1.Actions), i0.ɵɵinject(i2.AuthenticationService), i0.ɵɵinject(i3.CommonService), i0.ɵɵinject(i3.CommonService), i0.ɵɵinject(i4.MenuItemService), i0.ɵɵinject(i5.CookieService), i0.ɵɵinject(i6.ToastrService), i0.ɵɵinject(WINDOW)); };
|
|
421
|
+
AuthenticationEffects.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: AuthenticationEffects, factory: AuthenticationEffects.ɵfac });
|
|
422
422
|
__decorate([
|
|
423
423
|
Effect()
|
|
424
424
|
], AuthenticationEffects.prototype, "authenticate$", void 0);
|
|
@@ -494,10 +494,10 @@ __decorate([
|
|
|
494
494
|
__decorate([
|
|
495
495
|
Effect()
|
|
496
496
|
], AuthenticationEffects.prototype, "exceptionHandled$", void 0);
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24uZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NoZWxsLW1vZHVsZS1jb21wb25lbnRzL3NoZWxsLWNvbXBvbmVudHMvc3JjL2xpYi9zaGVsbC1jb21wb25lbnRzL3N0b3JlL2VmZmVjdHMvYXV0aGVudGljYXRpb24uZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFXLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEQsT0FBTyxFQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFHTCx5QkFBeUIsRUFFekIsZ0RBQWdELEVBQ2hELG9CQUFvQixFQUNwQixzQkFBc0IsRUFDdEIsbUJBQW1CLEVBRW5CLGtDQUFrQyxFQUNsQyx3QkFBd0IsRUFDeEIsOEJBQThCLEVBQzlCLGlDQUFpQyxFQUVqQyx3QkFBd0IsRUFDeEIscUJBQXFCLEVBRXJCLHdCQUF3QixFQUN4QixrQkFBa0IsRUFFbEIsZ0JBQWdCLEVBR2hCLGtCQUFrQixFQUVsQix1QkFBdUIsRUFDdkIsb0JBQW9CLEVBQ3BCLGdCQUFnQixFQUVoQiwyQkFBMkIsRUFDM0IsMkJBQTJCLEVBQzNCLHdCQUF3QixFQUN4Qiw0QkFBNEIsRUFHNUIsa0NBQWtDLEVBRW5DLE1BQU0sbUNBQW1DLENBQUM7QUFJM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFekcsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzNFLE9BQU8sRUFB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R0Y7SUFEQyxNQUFNLEVBQUU7b0ZBYVA7QUFHRjtJQURDLE1BQU0sRUFBRTt3RkFhUDtBQUdGO0lBREMsTUFBTSxFQUFFOzBFQW1CUDtBQUdGO0lBREMsTUFBTSxFQUFFOzZEQW1CUDtBQUdGO0lBREMsTUFBTSxFQUFFOzRFQVlQO0FBZ0NGO0lBREMsTUFBTSxFQUFFO3FFQWlCUDtBQUdGO0lBREMsTUFBTSxFQUFFO3VGQVNQO0FBR0Y7SUFEQyxNQUFNLEVBQUU7Z0VBU1A7MkZBNW1CUyxxQkFBcUI7a0JBRmpDLFVBQVU7a1FBd25CeUIsTUFBTTswQkFBckMsTUFBTTsyQkFBQyxNQUFNOzRDQTltQmhCLGFBQWEsTUErQmIsb0JBQW9CLE1BK0JwQixjQUFjLE1BaUJkLDBDQUEwQyxNQTBCMUMsc0JBQXNCLE1BUXRCLDhCQUE4QixNQTBCOUIscUNBQXFDLE1BY3JDLGtDQUFrQyxNQVlsQywyQkFBMkIsTUFtQjNCLGdDQUFnQyxNQW9HaEMsMkNBQTJDLE1Bb0IzQyx5QkFBeUIsTUFjekIscUJBQXFCLE1Bc0NyQixvQkFBb0IsTUFtQnBCLG1EQUFtRCxNQTJDbkQsMEJBQTBCLE1Bb0IxQixxQ0FBcUMsTUFxQnJDLHFDQUFxQyxNQWVyQyx5Q0FBeUMsTUFlekMsMkJBQTJCLE1BcUIzQixjQUFjLE1BcUJkLDZCQUE2QixNQTJDN0Isc0JBQXNCLE1BbUJ0Qix3Q0FBd0MsTUFXeEMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWN0aW9ucywgRWZmZWN0LCBvZlR5cGUgfSBmcm9tIFwiQG5ncngvZWZmZWN0c1wiO1xyXG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tIFwiQG5ncngvc3RvcmVcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIHBpcGUgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7XHJcbiAgQXV0aGVudGljYXRlZCxcclxuICBBdXRoZW50aWNhdGVVc2VyLFxyXG4gIEF1dGhlbnRpY2F0aW9uQWN0aW9uVHlwZXMsXHJcbiAgQ29tcGFueVdvcmtJdGVtU3RhcnRGdW5jdGlvbmFsaXR5UmVxdWlyZWQsXHJcbiAgQ29tcGFueVdvcmtJdGVtU3RhcnRGdW5jdGlvbmFsaXR5UmVxdWlyZWRTdWNjZXNzLFxyXG4gIEF1dGhlbnRpY2F0aW9uRmFpbGVkLFxyXG4gIENsZWFyRGVtb0RhdGFDb21wbGV0ZWQsXHJcbiAgQ2xlYXJEZW1vRGF0YUZhaWxlZCxcclxuICBDbGVhckRlbW9EYXRhVHJpZ2dyZWQsXHJcbiAgRW50aXR5UmVvbGVzQnlVc2VySWRGZXRjaENvbXBsZXRlZCxcclxuICBFbnRpdHlSb2xlRGV0YWlsc0ZldGNoZWQsXHJcbiAgRW50aXR5Um9sZXNCeVVzZXJJZEZldGNoRmFpbGVkLFxyXG4gIEVudGl0eVJvbGVzQnlVc2VySWRGZXRjaFRyaWdnZXJlZCxcclxuICBFbnRpdHlSb2xlc0ZldGNoVHJpZ2dlcmVkLFxyXG4gIEdldENvbXBhbnlUaGVtZUNvbXBsZXRlZCxcclxuICBHZXRDb21wYW55VGhlbWVGYWlsZWQsXHJcbiAgR2V0Q29tcGFueVRoZW1lVHJpZ2dlcmVkLFxyXG4gIEluaXRpYWxpemVBZnRlckxvZ2luRGF0YSxcclxuICBSb2xlRGV0YWlsc0ZldGNoZWQsXHJcbiAgUm9sZURldGFpbHNGZXRjaE9uUmVsb2FkLFxyXG4gIFJvbGVzRmV0Y2hGYWlsZWQsXHJcbiAgU2lnbmVkT2ZmLFxyXG4gIFVzZXJEZXRhaWxzRmV0Y2hpbmcsXHJcbiAgVXNlckRldGFpbHNGZXRjaGVkLFxyXG4gIEdldFVzZXJTdG9yZUlkVHJpZ2dlcmVkLFxyXG4gIEdldFVzZXJTdG9yZUlkQ29tcGxldGVkLFxyXG4gIEdldFVzZXJTdG9yZUlkRmFpbGVkLFxyXG4gIEV4Y2VwdGlvbkhhbmRsZWQsXHJcbiAgQXV0aGVudGljYXRlTmV3VXNlcixcclxuICBHZXRDb21wYW55U2V0dGluZ3NUcmlnZ2VyZWQsXHJcbiAgR2V0Q29tcGFueVNldHRpbmdzQ29tcGxldGVkLFxyXG4gIEdldENvbXBhbnlTZXR0aW5nc0ZhaWxlZCxcclxuICBVc2VyRGV0YWlsc0ZldGNoZWRBZnRlckxvZ2luLFxyXG4gIFVzZXJEZXRhaWxzRmV0Y2hlZEFmdGVyQ29tcGFueUxvZ2luLFxyXG4gIFVzZXJJbml0aWFsRGV0YWlsc0ZldGNoZWQsXHJcbiAgVXNlckluaXRpYWxEZXRhaWxzRmV0Y2hlZENvbXBsZXRlZCxcclxuICBGZXRjaFRpbWVTaGVldEJ1dHRvbkRldGFpbHNcclxufSBmcm9tIFwiLi4vYWN0aW9ucy9hdXRoZW50aWNhdGlvbi5hY3Rpb25zXCI7XHJcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IE1lbnVJdGVtU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9mZWF0dXJlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQ29va2llU2VydmljZSB9IGZyb20gXCJuZ3gtY29va2llLXNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2hvd0V4Y2VwdGlvbk1lc3NhZ2VzLCBTaG93VmFsaWRhdGlvbk1lc3NhZ2VzIH0gZnJvbSBcIi4uL2FjdGlvbnMvbm90aWZpY2F0aW9uLXZhbGlkYXRvci5hY3Rpb25cIjtcclxuaW1wb3J0IHsgVG9hc3RyU2VydmljZSB9IGZyb20gXCJuZ3gtdG9hc3RyXCI7XHJcbmltcG9ydCB7IFdJTkRPVyB9IGZyb20gJy4uLy4uLy4uL2dsb2JhbGRlcGVuZGVuY2llcy9oZWxwZXJzL3dpbmRvdy5oZWxwZXInO1xyXG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vLi4vLi4vZ2xvYmFsZGVwZW5kZW5jaWVzL2NvbnN0YW50cy9sb2NhbHN0b3JhZ2UtcHJvcGVydGllcyc7XHJcbmltcG9ydCB7IENvbW1vblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb21tb24tdXNlZC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tcGFueXNldHRpbmdzTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvY29tcGFueS1tb2RlbCc7XHJcblxyXG4vKiogQGR5bmFtaWMgKi9cclxuXHJcbkBJbmplY3RhYmxlKClcclxuXHJcbmV4cG9ydCBjbGFzcyBBdXRoZW50aWNhdGlvbkVmZmVjdHMge1xyXG4gIHZhbGlkYXRpb25NZXNzYWdlczogYW55W107XHJcbiAgZ29hbElkOiBzdHJpbmc7XHJcbiAgdXNlclN0b3J5SWQ6IHN0cmluZztcclxuICBzcHJpbnRJZDogc3RyaW5nO1xyXG4gIGlzU3ByaW50VHlwZTogYm9vbGVhbjtcclxuICBsb2dJbkRhdGE6IGFueTtcclxuICBARWZmZWN0KClcclxuICBhdXRoZW50aWNhdGUkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGU8QXV0aGVudGljYXRlVXNlcj4oQXV0aGVudGljYXRpb25BY3Rpb25UeXBlcy5BdXRoZW50aWNhdGVVc2VyKSxcclxuICAgIHN3aXRjaE1hcCgoYWN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZVxyXG4gICAgICAgIC5sb2dpbihhY3Rpb24udXNlck5hbWUsIGFjdGlvbi5wYXNzd29yZClcclxuICAgICAgICAucGlwZShcclxuICAgICAgICAgIG1hcCgodXNlclRva2VuOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5sb2dJbkRhdGEgPSB1c2VyVG9rZW4uZGF0YTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy53aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpO1xyXG4gICAgICAgICAgICBsZXQgZW52aXJvbm1lbnQgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKExvY2FsU3RvcmFnZVByb3BlcnRpZXMuRW52aXJvbm1lbnQpKTtcclxuICAgICAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldChMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLkN1cnJlbnRVc2VyLCB1c2VyVG9rZW4uZGF0YS5hdXRoVG9rZW4sIG51bGwsIGVudmlyb25tZW50LmNvb2tpZVBhdGgsIHRoaXMud2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLCBmYWxzZSwgXCJTdHJpY3RcIik7XHJcbiAgICAgICAgICAgIC8vIHRoaXMuY29va2llU2VydmljZS5zZXQoTG9jYWxTdG9yYWdlUHJvcGVydGllcy5EZWZhdWx0RGFzaGJvYXJkLCBKU09OLnN0cmluZ2lmeSh1c2VyVG9rZW4uZGF0YS5kZWZhdWx0RGFzaGJvYXJkSWQpLCBudWxsLCBlbnZpcm9ubWVudC5jb29raWVQYXRoLCB0aGlzLndpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSwgZmFsc2UsIFwiU3RyaWN0XCIpO1xyXG4gICAgICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KExvY2FsU3RvcmFnZVByb3BlcnRpZXMuQ29tcGFueURldGFpbHMsIEpTT04uc3RyaW5naWZ5KHVzZXJUb2tlbi5kYXRhLmNvbXBhbnlEZXRhaWxzKSwgbnVsbCwgZW52aXJvbm1lbnQuY29va2llUGF0aCwgdGhpcy53aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsIGZhbHNlLCBcIlN0cmljdFwiKTtcclxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oTG9jYWxTdG9yYWdlUHJvcGVydGllcy5Sb2xlRmVhdHVyZXMsIEpTT04uc3RyaW5naWZ5KHVzZXJUb2tlbi5kYXRhLnJvbGVGZWF0dXJlcykpO1xyXG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLlNvZnRMYWJlbHMsIEpTT04uc3RyaW5naWZ5KHVzZXJUb2tlbi5kYXRhLnNvZnRMYWJlbHMpKTtcclxuICAgICAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldChMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLkZyb21Mb2dJbiwgSlNPTi5zdHJpbmdpZnkodHJ1ZSksIG51bGwsIGVudmlyb25tZW50LmNvb2tpZVBhdGgsIHRoaXMud2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLCBmYWxzZSwgXCJTdHJpY3RcIik7XHJcbiAgICAgICAgICAgIC8vIHJldHVybiBuZXcgQXV0aGVudGljYXRlZChcclxuICAgICAgICAgICAgLy8gICBhY3Rpb24udXNlck5hbWUsXHJcbiAgICAgICAgICAgIC8vICAgSlNPTi5zdHJpbmdpZnkodXNlclRva2VuLmRhdGEuYXV0aFRva2VuKVxyXG4gICAgICAgICAgICAvLyApO1xyXG4gICAgICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KExvY2FsU3RvcmFnZVByb3BlcnRpZXMuQ3VycmVudFVzZXJJZCwgdXNlclRva2VuLmRhdGEudXNlcnNNb2RlbC5pZCwgbnVsbCwgZW52aXJvbm1lbnQuY29va2llUGF0aCwgdGhpcy53aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsIGZhbHNlLCBcIlN0cmljdFwiKTtcclxuICAgICAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldChMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLkNvbXBhbnlOYW1lLCB1c2VyVG9rZW4uZGF0YS51c2Vyc01vZGVsLmNvbXBhbnlOYW1lLCBudWxsLCBlbnZpcm9ubWVudC5jb29raWVQYXRoLCB0aGlzLndpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSwgZmFsc2UsIFwiU3RyaWN0XCIpO1xyXG4gICAgICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KExvY2FsU3RvcmFnZVByb3BlcnRpZXMuQ29tcGFueUlkLCB1c2VyVG9rZW4uZGF0YS51c2Vyc01vZGVsLmNvbXBhbnlJZCwgbnVsbCwgZW52aXJvbm1lbnQuY29va2llUGF0aCwgdGhpcy53aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsIGZhbHNlLCBcIlN0cmljdFwiKTtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBVc2VyRGV0YWlsc0ZldGNoZWQodXNlclRva2VuLmRhdGEudXNlcnNNb2RlbCk7XHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiBvZihuZXcgQXV0aGVudGljYXRpb25GYWlsZWQoZXJyb3IpKSlcclxuICAgICAgICApO1xyXG4gICAgfSlcclxuICApO1xyXG5cclxuICBARWZmZWN0KClcclxuICBhdXRoZW50aWNhdGVOZXdVc2VyJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPEF1dGhlbnRpY2F0ZU5ld1VzZXI+KEF1dGhlbnRpY2F0aW9uQWN0aW9uVHlwZXMuQXV0aGVudGljYXRlTmV3VXNlciksXHJcbiAgICBzd2l0Y2hNYXAoKGFjdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2VcclxuICAgICAgICAubG9naW5OZXdVc2VyKGFjdGlvbi51c2VyTmFtZSlcclxuICAgICAgICAucGlwZShcclxuICAgICAgICAgIG1hcCgodXNlclRva2VuOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5sb2dJbkRhdGEgPSB1c2VyVG9rZW4uZGF0YTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy53aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpO1xyXG4gICAgICAgICAgICBsZXQgZW52aXJvbm1lbnQgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKExvY2FsU3RvcmFnZVByb3BlcnRpZXMuRW52aXJvbm1lbnQpKTtcclxuICAgICAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldChMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLkN1cnJlbnRVc2VyLCB1c2VyVG9rZW4uZGF0YS5hdXRoVG9rZW4sIG51bGwsIGVudmlyb25tZW50LmNvb2tpZVBhdGgsIHRoaXMud2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLCBmYWxzZSwgXCJTdHJpY3RcIik7XHJcbiAgICAgICAgICAgIHRoaXMuY29va2llU2VydmljZS5zZXQoTG9jYWxTdG9yYWdlUHJvcGVydGllcy5EZWZhdWx0RGFzaGJvYXJkLCBKU09OLnN0cmluZ2lmeSh1c2VyVG9rZW4uZGF0YS5kZWZhdWx0RGFzaGJvYXJkSWQpLCBudWxsLCBlbnZpcm9ubWVudC5jb29raWVQYXRoLCB0aGlzLndpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSwgZmFsc2UsIFwiU3RyaWN0XCIpO1xyXG4gICAgICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KExvY2FsU3RvcmFnZVByb3BlcnRpZXMuQ29tcGFueURldGFpbHMsIEpTT04uc3RyaW5naWZ5KHVzZXJUb2tlbi5kYXRhLmNvbXBhbnlEZXRhaWxzKSwgbnVsbCwgZW52aXJvbm1lbnQuY29va2llUGF0aCwgdGhpcy53aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsIGZhbHNlLCBcIlN0cmljdFwiKTtcclxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oTG9jYWxTdG9yYWdlUHJvcGVydGllcy5Sb2xlRmVhdHVyZXMsIEpTT04uc3RyaW5naWZ5KHVzZXJUb2tlbi5kYXRhLnJvbGVGZWF0dXJlcykpO1xyXG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLlNvZnRMYWJlbHMsIEpTT04uc3RyaW5naWZ5KHVzZXJUb2tlbi5kYXRhLnNvZnRMYWJlbHMpKTtcclxuICAgICAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldChMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLkZyb21Mb2dJbiwgSlNPTi5zdHJpbmdpZnkodHJ1ZSksIG51bGwsIGVudmlyb25tZW50LmNvb2tpZVBhdGgsIHRoaXMud2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLCBmYWxzZSwgXCJTdHJpY3RcIik7XHJcbiAgICAgICAgICAgIC8vIHJldHVybiBuZXcgQXV0aGVudGljYXRlZChcclxuICAgICAgICAgICAgLy8gICBhY3Rpb24udXNlck5hbWUsXHJcbiAgICAgICAgICAgIC8vICAgSlNPTi5zdHJpbmdpZnkodXNlclRva2VuLmRhdGEuYXV0aFRva2VuKVxyXG4gICAgICAgICAgICAvLyApO1xyXG4gICAgICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KExvY2FsU3RvcmFnZVByb3BlcnRpZXMuQ3VycmVudFVzZXJJZCwgdXNlclRva2VuLmRhdGEudXNlcnNNb2RlbC5pZCwgbnVsbCwgZW52aXJvbm1lbnQuY29va2llUGF0aCwgdGhpcy53aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsIGZhbHNlLCBcIlN0cmljdFwiKTtcclxuICAgICAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldChMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLkNvbXBhbnlOYW1lLCB1c2VyVG9rZW4uZGF0YS51c2Vyc01vZGVsLmNvbXBhbnlOYW1lLCBudWxsLCBlbnZpcm9ubWVudC5jb29raWVQYXRoLCB0aGlzLndpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSwgZmFsc2UsIFwiU3RyaWN0XCIpO1xyXG4gICAgICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KExvY2FsU3RvcmFnZVByb3BlcnRpZXMuQ29tcGFueUlkLCB1c2VyVG9rZW4uZGF0YS51c2Vyc01vZGVsLmNvbXBhbnlJZCwgbnVsbCwgZW52aXJvbm1lbnQuY29va2llUGF0aCwgdGhpcy53aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsIGZhbHNlLCBcIlN0cmljdFwiKTtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBVc2VyRGV0YWlsc0ZldGNoZWQodXNlclRva2VuLmRhdGEudXNlcnNNb2RlbCk7XHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiBvZihuZXcgQXV0aGVudGljYXRpb25GYWlsZWQoZXJyb3IpKSlcclxuICAgICAgICApO1xyXG4gICAgfSlcclxuICApO1xyXG5cclxuICBARWZmZWN0KClcclxuICBhdXRoZW50aWNhdGVkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPEF1dGhlbnRpY2F0ZWQ+KEF1dGhlbnRpY2F0aW9uQWN0aW9uVHlwZXMuQXV0aGVudGljYXRlZCksXHJcbiAgICBzd2l0Y2hNYXAoKGFjdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy51c2VyU2VydmljZS5nZXRMb2dnZWRJblVzZXIoKS5waXBlKFxyXG4gICAgICAgIG1hcCgodXNlclJlY29yZDogYW55KSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLndpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSk7XHJcbiAgICAgICAgICBsZXQgZW52aXJvbm1lbnQgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKExvY2FsU3RvcmFnZVByb3BlcnRpZXMuRW52aXJvbm1lbnQpKTtcclxuICAgICAgICAgIHRoaXMuY29va2llU2VydmljZS5zZXQoTG9jYWxTdG9yYWdlUHJvcGVydGllcy5DdXJyZW50VXNlcklkLCB1c2VyUmVjb3JkLmRhdGEuaWQsIG51bGwsIGVudmlyb25tZW50LmNvb2tpZVBhdGgsIHRoaXMud2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLCBmYWxzZSwgXCJTdHJpY3RcIik7XHJcbiAgICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KExvY2FsU3RvcmFnZVByb3BlcnRpZXMuQ29tcGFueU5hbWUsIHVzZXJSZWNvcmQuZGF0YS5jb21wYW55TmFtZSwgbnVsbCwgZW52aXJvbm1lbnQuY29va2llUGF0aCwgdGhpcy53aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsIGZhbHNlLCBcIlN0cmljdFwiKTtcclxuICAgICAgICAgIHRoaXMuY29va2llU2VydmljZS5zZXQoTG9jYWxTdG9yYWdlUHJvcGVydGllcy5Db21wYW55SWQsIHVzZXJSZWNvcmQuZGF0YS5jb21wYW55SWQsIG51bGwsIGVudmlyb25tZW50LmNvb2tpZVBhdGgsIHRoaXMud2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLCBmYWxzZSwgXCJTdHJpY3RcIik7XHJcbiAgICAgICAgICByZXR1cm4gbmV3IFVzZXJEZXRhaWxzRmV0Y2hlZCh1c2VyUmVjb3JkLmRhdGEpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9KVxyXG4gICk7XHJcblxyXG4gIEBFZmZlY3QoKVxyXG4gIGNvbXBhbnlXb3JrSXRlbVN0YXJ0RnVuY3Rpb25hbGl0eVJlcXVpcmVkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPENvbXBhbnlXb3JrSXRlbVN0YXJ0RnVuY3Rpb25hbGl0eVJlcXVpcmVkPihBdXRoZW50aWNhdGlvbkFjdGlvblR5cGVzLkNvbXBhbnlXb3JrSXRlbVN0YXJ0RnVuY3Rpb25hbGl0eVJlcXVpcmVkKSxcclxuICAgIHN3aXRjaE1hcCgoYWN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLnVzZXJTZXJ2aWNlLmdldENvbXBhbnlXb3JrSXRlbVN0YXJ0RnVuY3Rpb25hbGl0eVJlcXVpcmVkKCkucGlwZShcclxuICAgICAgICBtYXAoKHJlY29yZDogYW55KSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLndpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSk7XHJcbiAgICAgICAgICByZXR1cm4gbmV3IENvbXBhbnlXb3JrSXRlbVN0YXJ0RnVuY3Rpb25hbGl0eVJlcXVpcmVkU3VjY2VzcyhyZWNvcmQuZGF0YSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH0pXHJcbiAgKTtcclxuICBcclxuXHJcbiAgLy8gQEVmZmVjdCgpXHJcbiAgLy8gVXNlckRldGFpbHNGZXRjaGluZyQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAvLyAgIG9mVHlwZTxVc2VyRGV0YWlsc0ZldGNoaW5nPihBdXRoZW50aWNhdGlvbkFjdGlvblR5cGVzLlVzZXJEZXRhaWxzRmV0Y2hpbmcpLFxyXG4gIC8vICAgcGlwZShcclxuICAvLyAgICAgbWFwKChhY3Rpb246IGFueSkgPT4ge1xyXG4gIC8vICAgICAgIC8vdmFyIGNvbmZpZ3VyYXRpb25zID0gbmV3IFNvZnRMYWJlbENvbmZpZ3VyYXRpb25Nb2RlbCgpO1xyXG4gIC8vICAgICAgIC8vcmV0dXJuIG5ldyBHZXRzb2Z0TGFiZWxzVHJpZ2dlcmVkKGNvbmZpZ3VyYXRpb25zKTtcclxuICAvLyAgICAgICByZXR1cm4gbmV3IFVzZXJEZXRhaWxzRmV0Y2hlZChhY3Rpb24ubG9naW5EYXRhLlVzZXJzTW9kZWwpO1xyXG4gIC8vICAgICB9KVxyXG4gIC8vICAgKVxyXG4gIC8vICk7XHJcblxyXG4gIEBFZmZlY3QoeyBkaXNwYXRjaDogZmFsc2UgfSlcclxuICBhdXRoZW50aWNhdGVTaWduZWRPZmYkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGU8U2lnbmVkT2ZmPihBdXRoZW50aWNhdGlvbkFjdGlvblR5cGVzLlNpZ25lZE9mZiksXHJcbiAgICB0YXAoKGFjdGlvbikgPT4ge1xyXG4gICAgICB0aGlzLmNvb2tpZVNlcnZpY2UuZGVsZXRlKExvY2FsU3RvcmFnZVByb3BlcnRpZXMuQ3VycmVudFVzZXIpO1xyXG4gICAgfSlcclxuICApO1xyXG5cclxuICBARWZmZWN0KClcclxuICBpbml0aWFsaXplUm9sZXNBZnRlckxvZ2luRGF0YSQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZTxVc2VyRGV0YWlsc0ZldGNoZWQ+KFxyXG4gICAgICBBdXRoZW50aWNhdGlvbkFjdGlvblR5cGVzLlVzZXJEZXRhaWxzRmV0Y2hlZFxyXG4gICAgKSxcclxuICAgIHBpcGUoXHJcbiAgICAgIG1hcCgoKSA9PiB7XHJcbiAgICAgICAgdmFyIHJvbGVzID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLlJvbGVGZWF0dXJlcykpO1xyXG4gICAgICAgIHJldHVybiBuZXcgUm9sZURldGFpbHNGZXRjaGVkKHJvbGVzKTtcclxuICAgICAgfSlcclxuICAgIClcclxuICApO1xyXG5cclxuICAvLyBARWZmZWN0KClcclxuICAvLyBpbml0aWFsaXplU29mdExhYmVsc0FmdGVyTG9naW5EYXRhJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gIC8vICAgb2ZUeXBlPFVzZXJEZXRhaWxzRmV0Y2hlZD4oXHJcbiAgLy8gICAgIEF1dGhlbnRpY2F0aW9uQWN0aW9uVHlwZXMuVXNlckRldGFpbHNGZXRjaGVkXHJcbiAgLy8gICApLFxyXG4gIC8vICAgcGlwZShcclxuICAvLyAgICAgbWFwKCgpID0+IHtcclxuICAvLyAgICAgICB2YXIgc29mdExhYmVscyA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oTG9jYWxTdG9yYWdlUHJvcGVydGllcy5Tb2Z0TGFiZWxzKSk7XHJcbiAgLy8gICAgICAgcmV0dXJuIG5ldyBHZXRzb2Z0TGFiZWxzQ29tcGxldGVkKHNvZnRMYWJlbHMpO1xyXG4gIC8vICAgICB9KVxyXG4gIC8vICAgKVxyXG4gIC8vICk7XHJcblxyXG4gIEBFZmZlY3QoKVxyXG4gIGluaXRpYWxpemVSb2xlc0FmdGVyTG9naW5EYXRhRm9yVXNlciQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZTxVc2VyRGV0YWlsc0ZldGNoZWRBZnRlckxvZ2luPihcclxuICAgICAgQXV0aGVudGljYXRpb25BY3Rpb25UeXBlcy5Vc2VyRGV0YWlsc0ZldGNoZWRBZnRlckxvZ2luXHJcbiAgICApLFxyXG4gICAgcGlwZShcclxuICAgICAgbWFwKCgpID0+IHtcclxuICAgICAgICB2YXIgcm9sZXMgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKExvY2FsU3RvcmFnZVByb3BlcnRpZXMuUm9sZUZlYXR1cmVzKSk7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBSb2xlRGV0YWlsc0ZldGNoZWQocm9sZXMpO1xyXG4gICAgICB9KVxyXG4gICAgKVxyXG4gICk7XHJcblxyXG5cclxuICBARWZmZWN0KClcclxuICBpbml0aWFsaXplTG9naW5EYXRhRm9yVXNlckNvbXBhbnkkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGU8VXNlckRldGFpbHNGZXRjaGVkQWZ0ZXJDb21wYW55TG9naW4+KFxyXG4gICAgICBBdXRoZW50aWNhdGlvbkFjdGlvblR5cGVzLlVzZXJEZXRhaWxzRmV0Y2hlZEFmdGVyQ29tcGFueUxvZ2luXHJcbiAgICApLFxyXG4gICAgcGlwZShcclxuICAgICAgbWFwKChhY3Rpb24pID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFVzZXJEZXRhaWxzRmV0Y2hlZEFmdGVyTG9naW4oYWN0aW9uLnVzZXJNb2RlbCk7XHJcbiAgICAgIH0pXHJcbiAgICApXHJcbiAgKTtcclxuICBcclxuICBARWZmZWN0KClcclxuICBpbml0aWFsaXplTG9naW5EYXRhRm9yVXNlciQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZTxVc2VyRGV0YWlsc0ZldGNoZWRBZnRlckxvZ2luPihcclxuICAgICAgQXV0aGVudGljYXRpb25BY3Rpb25UeXBlcy5Vc2VyRGV0YWlsc0ZldGNoZWRBZnRlckxvZ2luXHJcbiAgICApLFxyXG4gICAgc3dpdGNoTWFwKCgpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29tbW9uU2VydmljZS5nZXRVc2VySW5pdGlhbERhdGEoKVxyXG4gICAgICAgIC5waXBlKG1hcCgocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKHJlcy5kYXRhKTtcclxuICAgICAgICAgIGxldCBlbnZpcm9ubWVudCA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oTG9jYWxTdG9yYWdlUHJvcGVydGllcy5FbnZpcm9ubWVudCkpO1xyXG4gICAgICAgICAgbGV0IGRhdGEgPSByZXMuZGF0YTtcclxuICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKExvY2FsU3RvcmFnZVByb3BlcnRpZXMuVXNlclJvbGVGZWF0dXJlcywgSlNPTi5zdHJpbmdpZnkoZGF0YS5lbnRpdHlGZWF0dXJlcykpO1xyXG4gICAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldChMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLkFkZE9yRWRpdEN1c3RvbUFwcElzUmVxdWlyZWQsIGRhdGEuYWRkT3JFZGl0Q3VzdG9tQXBwSXNSZXF1aXJlZCwgbnVsbCwgZW52aXJvbm1lbnQuY29va2llUGF0aCwgdGhpcy53aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsIGZhbHNlLCBcIlN0cmljdFwiKTtcclxuICAgICAgICAgIHJldHVybiBuZXcgVXNlckluaXRpYWxEZXRhaWxzRmV0Y2hlZENvbXBsZXRlZChyZXMuZGF0YS50aW1lU2hlZXRCdXR0b25EZXRhaWxzKTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgIH0pXHJcbiAgKTtcclxuXHJcbiAgQEVmZmVjdCgpXHJcbiAgZmV0Y2hVc2VyVGltZVNoZWV0QnV0dG9uRGV0YWlscyQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZTxGZXRjaFRpbWVTaGVldEJ1dHRvbkRldGFpbHM+KFxyXG4gICAgICBBdXRoZW50aWNhdGlvbkFjdGlvblR5cGVzLkZldGNoVGltZVNoZWV0QnV0dG9uRGV0YWlsc1xyXG4gICAgKSxcclxuICAgIHN3aXRjaE1hcCgoKSA9PiB7XHJcbiAgICAgIHJldHVybiAgdGhpcy5jb21tb25TZXJ2aWNlLmdldFRpbWVTaGVldEVuYWJsZWRJbmZvcm1hdGlvbigpXHJcbiAgICAgICAgLnBpcGUobWFwKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IFVzZXJJbml0aWFsRGV0YWlsc0ZldGNoZWRDb21wbGV0ZWQocmVzKTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgIH0pXHJcbiAgKTtcclxuXHJcbiAgLy8gQEVmZmVjdCgpXHJcbiAgLy8gaW5pdGlhbGl6ZUNvbXBhbnlTZXR0aW5nc0xvZ2luRGF0YUZvclVzZXJDb21wbGV0ZWQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAvLyAgIG9mVHlwZTxVc2VySW5pdGlhbERldGFpbHNGZXRjaGVkQ29tcGxldGVkPihcclxuICAvLyAgICAgQXV0aGVudGljYXRpb25BY3Rpb25UeXBlcy5Vc2VySW5pdGlhbERldGFpbHNGZXRjaGVkQ29tcGxldGVkXHJcbiAgLy8gICApLFxyXG4gIC8vICAgcGlwZShcclxuICAvLyAgICAgbWFwKChyZXM6IGFueSkgPT4ge1xyXG4gIC8vICAgICAgIHJldHVybiBuZXcgR2V0Q29tcGFueVNldHRpbmdzQ29tcGxldGVkKHJlcy5jb21wYW55U2V0dGluZ3MpO1xyXG4gIC8vICAgICB9KVxyXG4gIC8vICAgKVxyXG4gIC8vICk7XHJcblxyXG4gIC8vIEBFZmZlY3QoKVxyXG4gIC8vIGluaXRpYWxpemVFbnRpdHlSb2xlRmVhdHVyZXNMb2dpbkRhdGFGb3JVc2VyQ29tcGxldGVkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgLy8gICBvZlR5cGU8VXNlckluaXRpYWxEZXRhaWxzRmV0Y2hlZENvbXBsZXRlZD4oXHJcbiAgLy8gICAgIEF1dGhlbnRpY2F0aW9uQWN0aW9uVHlwZXMuVXNlckluaXRpYWxEZXRhaWxzRmV0Y2hlZENvbXBsZXRlZFxyXG4gIC8vICAgKSxcclxuICAvLyAgIHBpcGUoXHJcbiAgLy8gICAgIG1hcCgocmVzOiBhbnkpID0+IHtcclxuICAvLyAgICAgICByZXR1cm4gbmV3IEVudGl0eVJlb2xlc0J5VXNlcklkRmV0Y2hDb21wbGV0ZWQocmVzLmVudGl0eUZlYXR1cmVzKTtcclxuICAvLyAgICAgfSlcclxuICAvLyAgIClcclxuICAvLyApO1xyXG5cclxuXHJcbiAgLy8gQEVmZmVjdCgpXHJcbiAgLy8gaW5pdGlhbGl6ZVNvZnRMYWJlbHNBZnRlckxvZ2luRGF0YUZvclVzZXIkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgLy8gICBvZlR5cGU8VXNlckRldGFpbHNGZXRjaGVkQWZ0ZXJMb2dpbj4oXHJcbiAgLy8gICAgIEF1dGhlbnRpY2F0aW9uQWN0aW9uVHlwZXMuVXNlckRldGFpbHNGZXRjaGVkQWZ0ZXJMb2dpblxyXG4gIC8vICAgKSxcclxuICAvLyAgIHBpcGUoXHJcbiAgLy8gICAgIG1hcCgoKSA9PiB7XHJcbiAgLy8gICAgICAgdmFyIHNvZnRMYWJlbHMgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKExvY2FsU3RvcmFnZVByb3BlcnRpZXMuU29mdExhYmVscykpO1xyXG4gIC8vICAgICAgIHJldHVybiBuZXcgR2V0c29mdExhYmVsc0NvbXBsZXRlZChzb2Z0TGFiZWxzKTtcclxuICAvLyAgICAgfSlcclxuICAvLyAgIClcclxuICAvLyApO1xyXG5cclxuICAvLyBARWZmZWN0KClcclxuICAvLyBpbml0aWFsaXplQWZ0ZXJHZXR0aW5nU29mdExhYmVscyQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAvLyAgIG9mVHlwZTxVc2VyRGV0YWlsc0ZldGNoZWQ+KFxyXG4gIC8vICAgICBBdXRoZW50aWNhdGlvbkFjdGlvblR5cGVzLlVzZXJEZXRhaWxzRmV0Y2hlZFxyXG4gIC8vICAgKSxcclxuICAvLyAgIHBpcGUoXHJcbiAgLy8gICAgIG1hcCgoYWN0aW9uOiBhbnkpID0+IHsgICAgICAgIFxyXG4gIC8vICAgICAgIHZhciBmcm9tTG9nSW4gPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdGcm9tTG9nSW4nKSk7XHJcbiAgLy8gICAgICAgaWYoZnJvbUxvZ0luKSB7XHJcbiAgLy8gICAgICAgICByZXR1cm4gbmV3IEdldHNvZnRMYWJlbHNDb21wbGV0ZWQodGhpcy5sb2dJbkRhdGEuc29mdExhYmVscyk7XHJcbiAgLy8gICAgICAgfSBlbHNlIHtcclxuICAvLyAgICAgICAgIHZhciBjb25maWd1cmF0aW9ucyA9IG5ldyBTb2Z0TGFiZWxDb25maWd1cmF0aW9uTW9kZWwoKTtcclxuICAvLyAgICAgICAgICByZXR1cm4gbmV3IEdldHNvZnRMYWJlbHNUcmlnZ2VyZWQoY29uZmlndXJhdGlvbnMpO1xyXG4gIC8vICAgICAgIH0gICAgICAgIFxyXG4gIC8vICAgICB9KVxyXG4gIC8vICAgKVxyXG4gIC8vICk7XHJcblxyXG4gIC8vIEBFZmZlY3QoKVxyXG4gIC8vIGluaXRpYWxpemVBZnRlckdldHRpbmdSb2xlRmVhdHVyZXMkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgLy8gICBvZlR5cGU8VXNlckRldGFpbHNGZXRjaGluZz4oXHJcbiAgLy8gICAgIEF1dGhlbnRpY2F0aW9uQWN0aW9uVHlwZXMuVXNlckRldGFpbHNGZXRjaGVkXHJcbiAgLy8gICApLFxyXG4gIC8vICAgcGlwZShcclxuICAvLyAgICAgbWFwKChhY3Rpb246IGFueSkgPT4ge1xyXG4gIC8vICAgICAgLy8gdmFyIHJvbGVzID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ1JvbGVzJyk7XHJcbiAgLy8gICAgICB2YXIgZnJvbUxvZ0luID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnRnJvbUxvZ0luJykpO1xyXG4gIC8vICAgICAgIGlmKGZyb21Mb2dJbikge1xyXG4gIC8vICAgICAgIHJldHVybiBuZXcgUm9sZURldGFpbHNGZXRjaGVkKHRoaXMubG9nSW5EYXRhLnJvbGVGZWF0dXJlcyk7XHJcbiAgLy8gICAgICAgfSBlbHNlIHtcclxuICAvLyAgICAgICAgIHJldHVybiBuZXcgUm9sZURldGFpbHNGZXRjaE9uUmVsb2FkKCk7XHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICB9KVxyXG4gIC8vICAgKVxyXG4gIC8vICk7XHJcblxyXG4gIC8vIEBFZmZlY3QoKVxyXG4gIC8vIGluaXRpYWxpemVUaGVtZUFmdGVyTG9naW4kOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgLy8gICBvZlR5cGU8VXNlckRldGFpbHNGZXRjaGVkPihcclxuICAvLyAgICAgQXV0aGVudGljYXRpb25BY3Rpb25UeXBlcy5Vc2VyRGV0YWlsc0ZldGNoZWRcclxuICAvLyAgICksXHJcbiAgLy8gICBwaXBlKFxyXG4gIC8vICAgICBtYXAoKCkgPT4ge1xyXG4gIC8vICAgICAgIHJldHVybiBuZXcgR2V0Q29tcGFueVRoZW1lVHJpZ2dlcmVkKCk7XHJcbiAgLy8gICAgIH0pXHJcbiAgLy8gICApXHJcbiAgLy8gKTtcclxuXHJcbiAgQEVmZmVjdCgpXHJcbiAgZ2V0dGluZ1JvbGVEZXRhaWxzQWZ0ZXJJbml0aWFsaXplTG9naW5EYXRhJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPEVudGl0eVJvbGVzRmV0Y2hUcmlnZ2VyZWQ+KFxyXG4gICAgICBBdXRoZW50aWNhdGlvbkFjdGlvblR5cGVzLkVudGl0eVJvbGVzRmV0Y2hUcmlnZ2VyZWRcclxuICAgICksXHJcbiAgICBzd2l0Y2hNYXAoKGFjdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5mZWF0dXJlU2VydmljZS5nZXRBbGxQZXJtaXR0ZWRFbnRpdHlSb2xlRmVhdHVyZXMoYWN0aW9uLnByb2plY3RJZCkucGlwZShcclxuICAgICAgICBtYXAoKHJvbGVGZWF0dXJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocm9sZUZlYXR1cmVzLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oTG9jYWxTdG9yYWdlUHJvcGVydGllcy5FbnRpdHlSb2xlRmVhdHVyZXMsIEpTT04uc3RyaW5naWZ5KHJvbGVGZWF0dXJlcy5kYXRhKSk7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgRW50aXR5Um9sZURldGFpbHNGZXRjaGVkKHJvbGVGZWF0dXJlcy5kYXRhKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbk1lc3NhZ2VzID0gcm9sZUZlYXR1cmVzLmFwaVJlc3BvbnNlTWVzc2FnZXM7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgUm9sZXNGZXRjaEZhaWxlZChyb2xlRmVhdHVyZXMuYXBpUmVzcG9uc2VNZXNzYWdlcyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH0pXHJcbiAgKTtcclxuXHJcbiAgQEVmZmVjdCgpXHJcbiAgY29tcGFueVNldHRpbmdzVHJpZ2dlcmVkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPFVzZXJEZXRhaWxzRmV0Y2hlZD4oXHJcbiAgICAgIEF1dGhlbnRpY2F0aW9uQWN0aW9uVHlwZXMuVXNlckRldGFpbHNGZXRjaGVkXHJcbiAgICApLFxyXG4gICAgcGlwZShcclxuICAgICAgbWFwKCgpID0+IHtcclxuICAgICAgICB2YXIgY29tcGFueVNldHRpbmdzTW9kZWwgPSBuZXcgQ29tcGFueXNldHRpbmdzTW9kZWwoKTtcclxuICAgICAgICBjb21wYW55U2V0dGluZ3NNb2RlbC5pc0FyY2hpdmVkID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBHZXRDb21wYW55U2V0dGluZ3NUcmlnZ2VyZWQoY29tcGFueVNldHRpbmdzTW9kZWwpO1xyXG4gICAgICB9KVxyXG4gICAgKVxyXG4gICk7XHJcblxyXG4gIEBFZmZlY3QoKVxyXG4gIGVudGl0eVJvbGVzVFJpZ2dlcmVkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPFVzZXJEZXRhaWxzRmV0Y2hlZD4oXHJcbiAgICAgIEF1dGhlbnRpY2F0aW9uQWN0aW9uVHlwZXMuVXNlckRldGFpbHNGZXRjaGVkXHJcbiAgICApLFxyXG4gICAgcGlwZShcclxuICAgICAgbWFwKCgpID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IEVudGl0eVJvbGVzQnlVc2VySWRGZXRjaFRyaWdnZXJlZChcIm51bGxcIiwgXCJudWxsXCIsIGZhbHNlKTtcclxuICAgICAgfSlcclxuICAgIClcclxuICApO1xyXG5cclxuICAvLyBARWZmZWN0KClcclxuICAvLyBjb21wYW55U2V0dGluZ3NUcmlnZ2VyZWRBZnRlckxvZ2luJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gIC8vICAgb2ZUeXBlPFVzZXJEZXRhaWxzRmV0Y2hlZEFmdGVyTG9naW4+KFxyXG4gIC8vICAgICBBdXRoZW50aWNhdGlvbkFjdGlvblR5cGVzLlVzZXJEZXRhaWxzRmV0Y2hlZEFmdGVyTG9naW5cclxuICAvLyAgICksXHJcbiAgLy8gICBwaXBlKFxyXG4gIC8vICAgICBtYXAoKCkgPT4ge1xyXG4gIC8vICAgICAgIHZhciBjb21wYW55U2V0dGluZ3NNb2RlbCA9IG5ldyBDb21wYW55c2V0dGluZ3NNb2RlbCgpO1xyXG4gIC8vICAgICAgIGNvbXBhbnlTZXR0aW5nc01vZGVsLmlzQXJjaGl2ZWQgPSBmYWxzZTtcclxuICAvLyAgICAgICByZXR1cm4gbmV3IEdldENvbXBhbnlTZXR0aW5nc1RyaWdnZXJlZChjb21wYW55U2V0dGluZ3NNb2RlbCk7XHJcbiAgLy8gICAgIH0pXHJcbiAgLy8gICApXHJcbiAgLy8gKTtcclxuXHJcbiAgLy8gQEVmZmVjdCgpXHJcbiAgLy8gZW50aXR5Um9sZXNUUmlnZ2VyZWRBZnRlckxvZ2luJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gIC8vICAgb2ZUeXBlPFVzZXJEZXRhaWxzRmV0Y2hlZEFmdGVyTG9naW4+KFxyXG4gIC8vICAgICBBdXRoZW50aWNhdGlvbkFjdGlvblR5cGVzLlVzZXJEZXRhaWxzRmV0Y2hlZEFmdGVyTG9naW5cclxuICAvLyAgICksXHJcbiAgLy8gICBwaXBlKFxyXG4gIC8vICAgICBtYXAoKCkgPT4ge1xyXG4gIC8vICAgICAgIHJldHVybiBuZXcgRW50aXR5Um9sZXNCeVVzZXJJZEZldGNoVHJpZ2dlcmVkKFwibnVsbFwiLCBcIm51bGxcIiwgZmFsc2UpO1xyXG4gIC8vICAgICB9KVxyXG4gIC8vICAgKVxyXG4gIC8vICk7XHJcblxyXG4gIEBFZmZlY3QoKVxyXG4gIGxvYWRDb21wYW55U2V0dGluZ3MkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGU8R2V0Q29tcGFueVNldHRpbmdzVHJpZ2dlcmVkPihcclxuICAgICAgQXV0aGVudGljYXRpb25BY3Rpb25UeXBlcy5HZXRDb21wYW55U2V0dGluZ3NUcmlnZ2VyZWRcclxuICAgICksXHJcbiAgICBzd2l0Y2hNYXAoKGFjdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy51c2VyU2VydmljZS5nZXRBbGxDb21wYW55U2V0dGluZ3NEZXRhaWxzKGFjdGlvbi5jb21wYW55U2V0dGluZ3NNb2RlbCkucGlwZShcclxuICAgICAgICBtYXAoKHJvbGVGZWF0dXJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocm9sZUZlYXR1cmVzLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oTG9jYWxTdG9yYWdlUHJvcGVydGllcy5Db21wYW55U2V0dGluZ3MsIEpTT04uc3RyaW5naWZ5KHJvbGVGZWF0dXJlcy5kYXRhKSk7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgR2V0Q29tcGFueVNldHRpbmdzQ29tcGxldGVkKHJvbGVGZWF0dXJlcy5kYXRhKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgR2V0Q29tcGFueVNldHRpbmdzRmFpbGVkKHJvbGVGZWF0dXJlcy5hcGlSZXNwb25zZU1lc3NhZ2VzKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSlcclxuICApO1xyXG5cclxuICBARWZmZWN0KClcclxuICBnZXR0aW5nUm9sZURldGFpbHNCeVVzZXJJZEFmdGVySW5pdGlhbGl6ZUxvZ2luRGF0YSQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZTxFbnRpdHlSb2xlc0J5VXNlcklkRmV0Y2hUcmlnZ2VyZWQ+KFxyXG4gICAgICBBdXRoZW50aWNhdGlvbkFjdGlvblR5cGVzLkVudGl0eVJvbGVzQnlVc2VySWRGZXRjaFRyaWdnZXJlZFxyXG4gICAgKSxcclxuICAgIHN3aXRjaE1hcChhY3Rpb24gPT4ge1xyXG4gICAgICBpZiAoYWN0aW9uLnJlcXVpcmVkVHlwZSA9PSAnZ29hbCcpIHtcclxuICAgICAgICB0aGlzLmdvYWxJZCA9IGFjdGlvbi5wcm9qZWN0SWQ7XHJcbiAgICAgICAgdGhpcy51c2VyU3RvcnlJZCA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5zcHJpbnRJZCA9IG51bGw7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAoYWN0aW9uLnJlcXVpcmVkVHlwZSA9PSAndXNlclN0b3J5Jykge1xyXG4gICAgICAgIHRoaXMudXNlclN0b3J5SWQgPSBhY3Rpb24ucHJvamVjdElkO1xyXG4gICAgICAgIHRoaXMuZ29hbElkID0gbnVsbDtcclxuICAgICAgICB0aGlzLnNwcmludElkID0gbnVsbDtcclxuICAgICAgfSBlbHNlIGlmIChhY3Rpb24ucmVxdWlyZWRUeXBlID09ICdzcHJpbnQnKSB7XHJcbiAgICAgICAgdGhpcy5zcHJpbnRJZCA9IGFjdGlvbi5wcm9qZWN0SWQ7XHJcbiAgICAgICAgdGhpcy5nb2FsSWQgPSBudWxsO1xyXG4gICAgICAgIHRoaXMudXNlclN0b3J5SWQgPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRoaXMudXNlclN0b3J5SWQgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuZ29hbElkID0gbnVsbDtcclxuICAgICAgICB0aGlzLnNwcmludElkID0gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmlzU3ByaW50VHlwZSA9IGFjdGlvbi5pc1NwcmludFR5cGU7XHJcbiAgICAgIHJldHVybiB0aGlzLmZlYXR1cmVTZXJ2aWNlLmdldEFsbFBlcm1pdHRlZEVudGl0eVJvbGVGZWF0dXJlc0J5VXNlcklkKCkucGlwZShcclxuICAgICAgICBtYXAoKHJvbGVGZWF0dXJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocm9sZUZlYXR1cmVzLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oTG9jYWxTdG9yYWdlUHJvcGVydGllcy5Vc2VyUm9sZUZlYXR1cmVzLCBKU09OLnN0cmluZ2lmeShyb2xlRmVhdHVyZXMuZGF0YSkpO1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IEVudGl0eVJlb2xlc0J5VXNlcklkRmV0Y2hDb21wbGV0ZWQocm9sZUZlYXR1cmVzLmRhdGEpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9uTWVzc2FnZXMgPSByb2xlRmVhdHVyZXMuYXBpUmVzcG9uc2VNZXNzYWdlcztcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBFbnRpdHlSb2xlc0J5VXNlcklkRmV0Y2hGYWlsZWQocm9sZUZlYXR1cmVzLmFwaVJlc3BvbnNlTWVzc2FnZXMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcclxuICAgICAgICAgIHJldHVybiBvZihuZXcgRXhjZXB0aW9uSGFuZGxlZChlcnIpKTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSlcclxuICApO1xyXG5cclxuICBARWZmZWN0KClcclxuICBpbml0aWFsaXplQWZ0ZXJMb2dpbkRhdGEyJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPEluaXRpYWxpemVBZnRlckxvZ2luRGF0YT4oXHJcbiAgICAgIEF1dGhlbnRpY2F0aW9uQWN0aW9uVHlwZXMuSW5pdGlhbGl6ZUFmdGVyTG9naW5EYXRhXHJcbiAgICApLFxyXG4gICAgc3dpdGNoTWFwKChhY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMudXNlclNlcnZpY2UuZ2V0TG9nZ2VkSW5Vc2VyKCkucGlwZShcclxuICAgICAgICBtYXAoKHVzZXJSZWNvcmQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2codGhpcy53aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpO1xyXG4gICAgICAgICAgbGV0IGVudmlyb25tZW50ID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLkVudmlyb25tZW50KSk7XHJcbiAgICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KExvY2FsU3RvcmFnZVByb3BlcnRpZXMuQ3VycmVudFVzZXJJZCwgdXNlclJlY29yZC5kYXRhLmlkLCBudWxsLFxyXG4gICAgICAgICAgICBlbnZpcm9ubWVudC5jb29raWVQYXRoLCB0aGlzLndpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSwgZmFsc2UsIFwiU3RyaWN0XCIpO1xyXG4gICAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldChMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLkNvbXBhbnlOYW1lLCB1c2VyUmVjb3JkLmRhdGEuY29tcGFueU5hbWUsIG51bGwsIGVudmlyb25tZW50LmNvb2tpZVBhdGgsIHRoaXMud2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLCBmYWxzZSwgXCJTdHJpY3RcIik7XHJcbiAgICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KExvY2FsU3RvcmFnZVByb3BlcnRpZXMuQ29tcGFueUlkLCB1c2VyUmVjb3JkLmRhdGEuY29tcGFueUlkLCBudWxsLCBlbnZpcm9ubWVudC5jb29raWVQYXRoLCB0aGlzLndpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSwgZmFsc2UsIFwiU3RyaWN0XCIpO1xyXG4gICAgICAgICAgcmV0dXJuIG5ldyBVc2VyRGV0YWlsc0ZldGNoZWQodXNlclJlY29yZC5kYXRhKTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSlcclxuICApO1xyXG5cclxuICBARWZmZWN0KClcclxuICBzaG93VmFsaWRhdGlvbk1lc3NhZ2VzRm9Sb2xlRmVhdHVyZXMkOiBPYnNlcnZhYmxlPFxyXG4gICAgQWN0aW9uXHJcbiAgPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZTxSb2xlc0ZldGNoRmFpbGVkPihcclxuICAgICAgQXV0aGVudGljYXRpb25BY3Rpb25UeXBlcy5Sb2xlc0ZldGNoRmFpbGVkXHJcbiAgICApLFxyXG4gICAgcGlwZShcclxuICAgICAgbWFwKFxyXG4gICAgICAgICgpID0+IHtcclxuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy52YWxpZGF0aW9uTWVzc2FnZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBTaG93RXhjZXB0aW9uTWVzc2FnZXMoe1xyXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMudmFsaWRhdGlvbk1lc3NhZ2VzW2ldLm1lc3NhZ2UgLy8gVE9ETzogQ2hhbmdlIHRvIHByb3BlciB0b2FzdCBtZXNzYWdlXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgKVxyXG4gICAgKVxyXG4gICk7XHJcblxyXG4gIEBFZmZlY3QoKVxyXG4gIHNob3dWYWxpZGF0aW9uTWVzc2FnZXNGb3JFbnRpdHlSb2xlcyQ6IE9ic2VydmFibGU8XHJcbiAgICBBY3Rpb25cclxuICA+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPEVudGl0eVJvbGVzQnlVc2VySWRGZXRjaEZhaWxlZD4oXHJcbiAgICAgIEF1dGhlbnRpY2F0aW9uQWN0aW9uVHlwZXMuRW50aXR5Um9sZXNCeVVzZXJJZEZldGNoRmFpbGVkXHJcbiAgICApLFxyXG4gICAgc3dpdGNoTWFwKChzZWFyY2hBY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIG9mKG5ldyBTaG93VmFsaWRhdGlvbk1lc3NhZ2VzKHtcclxuICAgICAgICB2YWxpZGF0aW9uTWVzc2FnZXM6IHNlYXJjaEFjdGlvbi52YWxpZGF0aW9uTWVzc2FnZXNcclxuICAgICAgfSlcclxuICAgICAgKVxyXG4gICAgfSlcclxuICApO1xyXG5cclxuICBARWZmZWN0KClcclxuICBzaG93VmFsaWRhdGlvbk1lc3NhZ2VzRm9yQ29tcGFueVNldHRpbmdzJDogT2JzZXJ2YWJsZTxcclxuICAgIEFjdGlvblxyXG4gID4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGU8R2V0Q29tcGFueVNldHRpbmdzRmFpbGVkPihcclxuICAgICAgQXV0aGVudGljYXRpb25BY3Rpb25UeXBlcy5HZXRDb21wYW55U2V0dGluZ3NGYWlsZWRcclxuICAgICksXHJcbiAgICBzd2l0Y2hNYXAoKHNlYXJjaEFjdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gb2YobmV3IFNob3dWYWxpZGF0aW9uTWVzc2FnZXMoe1xyXG4gICAgICAgIHZhbGlkYXRpb25NZXNzYWdlczogc2VhcmNoQWN0aW9uLnZhbGlkYXRpb25NZXNzYWdlc1xyXG4gICAgICB9KVxyXG4gICAgICApXHJcbiAgICB9KVxyXG4gICk7XHJcblxyXG4gIEBFZmZlY3QoKVxyXG4gIGRlbW9EYXRhQ2xlYXJFdmVudFRyaWdncmVkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPENsZWFyRGVtb0RhdGFUcmlnZ3JlZD4oXHJcbiAgICAgIEF1dGhlbnRpY2F0aW9uQWN0aW9uVHlwZXMuQ2xlYXJEZW1vRGF0YVRyaWdncmVkXHJcbiAgICApLFxyXG4gICAgc3dpdGNoTWFwKChhY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuZmVhdHVyZVNlcnZpY2UuY2xlYXJEZW1vRGF0YSgpLnBpcGUoXHJcbiAgICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzcG9uc2Uuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0ci5zdWNjZXNzKFwiRGVtbyBkYXRhIGNsZWFyZWQgc3VjY2Vzc2Z1bGx5XCIpO1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IENsZWFyRGVtb0RhdGFDb21wbGV0ZWQocmVzcG9uc2UuZGF0YSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25NZXNzYWdlcyA9IHJlc3BvbnNlLmFwaVJlc3BvbnNlTWVzc2FnZXM7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3RyLmVycm9yKHRoaXMudmFsaWRhdGlvbk1lc3NhZ2VzWzBdLm1lc3NhZ2UpO1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IENsZWFyRGVtb0RhdGFGYWlsZWQocmVzcG9uc2UuYXBpUmVzcG9uc2VNZXNzYWdlcyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH0pXHJcbiAgKTtcclxuXHJcbiAgQEVmZmVjdCgpXHJcbiAgZ2V0VGhlbWVDb2xvciQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZTxHZXRDb21wYW55VGhlbWVUcmlnZ2VyZWQ+KFxyXG4gICAgICBBdXRoZW50aWNhdGlvbkFjdGlvblR5cGVzLkdldENvbXBhbnlUaGVtZVRyaWdnZXJlZCxcclxuICAgICksXHJcbiAgICBzd2l0Y2hNYXAoYWN0aW9uID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmdldFRoZW1lcygpLnBpcGUoXHJcbiAgICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzcG9uc2Uuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICBsZXQgZW52aXJvbm1lbnQgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKExvY2FsU3RvcmFnZVByb3BlcnRpZXMuRW52aXJvbm1lbnQpKTtcclxuICAgICAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldChMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLkNvbXBhbnlUaGVtZSwgSlNPTi5zdHJpbmdpZnkocmVzcG9uc2UuZGF0YSksIG51bGwsIGVudmlyb25tZW50LmNvb2tpZVBhdGgsIHRoaXMud2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLCBmYWxzZSwgXCJTdHJpY3RcIik7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgR2V0Q29tcGFueVRoZW1lQ29tcGxldGVkKHJlc3BvbnNlLmRhdGEpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgR2V0Q29tcGFueVRoZW1lRmFpbGVkKHJlc3BvbnNlLmFwaVJlc3BvbnNlTWVzc2FnZXMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9KVxyXG4gICk7XHJcblxyXG4gIEBFZmZlY3QoKVxyXG4gIGRlbW9EYXRhQ2xlYXJFdmVudFN1Y2Nlc3NmdWwkOiBPYnNlcnZhYmxlPFxyXG4gICAgQWN0aW9uXHJcbiAgPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZTxDbGVhckRlbW9EYXRhQ29tcGxldGVkPihcclxuICAgICAgQXV0aGVudGljYXRpb25BY3Rpb25UeXBlcy5DbGVhckRlbW9EYXRhQ29tcGxldGVkXHJcbiAgICApLFxyXG4gICAgcGlwZShcclxuICAgICAgbWFwKCgpID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IEluaXRpYWxpemVBZnRlckxvZ2luRGF0YSgpO1xyXG4gICAgICB9KVxyXG4gICAgKVxyXG4gICk7XHJcblxyXG4gIC8vIEBFZmZlY3QoKVxyXG4gIC8vIGxvYWRHb2FsQW5kVXNlclN0b3J5RGF0YSQ6IE9ic2VydmFibGU8XHJcbiAgLy8gICBBY3Rpb25cclxuICAvLyA+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gIC8vICAgb2ZUeXBlPEVudGl0eVJlb2xlc0J5VXNlcklkRmV0Y2hDb21wbGV0ZWQ+KFxyXG4gIC8vICAgICBBdXRoZW50aWNhdGlvbkFjdGlvblR5cGVzLkVudGl0eVJlb2xlc0J5VXNlcklkRmV0Y2hDb21wbGV0ZWRcclxuICAvLyAgICksXHJcbiAgLy8gICBwaXBlKFxyXG4gIC8vICAgICBtYXAoKCkgPT4ge1xyXG4gIC8vICAgICAgIGlmICh0aGlzLmdvYWxJZCkge1xyXG4gIC8vICAgICAgICAgcmV0dXJuIG5ldyBHZXRVbmlxdWVHb2FsQnlJZFRyaWdnZXJlZCh0aGlzLmdvYWxJZCk7XHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICAgIGVsc2UgaWYgKHRoaXMudXNlclN0b3J5SWQpIHtcclxuICAvLyAgICAgICAgIGlmICh0aGlzLmlzU3ByaW50VHlwZSkge1xyXG4gIC8vICAgICAgICAgICByZXR1cm4gbmV3IEdldFVuaXF1ZVNwcmludFdvcmtJdGVtQnlJZFRyaWdnZXJlZCh0aGlzLnVzZXJTdG9yeUlkKTtcclxuICAvLyAgICAgICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgICAgIHJldHVybiBuZXcgR2V0VW5pcXVlVXNlclN0b3J5QnlJZFRyaWdnZXJlZCh0aGlzLnVzZXJTdG9yeUlkKTtcclxuICAvLyAgICAgICAgIH1cclxuICAvLyAgICAgICB9IGVsc2UgaWYgKHRoaXMuc3ByaW50SWQpIHtcclxuICAvLyAgICAgICAgIHJldHVybiBuZXcgR2V0VW5pcXVlU3ByaW50c0J5SWRUcmlnZ2VyZWQodGhpcy5zcHJpbnRJZCk7XHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICAgIGVsc2Uge1xyXG4gIC8vICAgICAgICAgcmV0dXJuIG5ldyBBcmNoaXZlVW5BcmNoaXZlR29hbENvbXBsZXRlZCgpO1xyXG4gIC8vICAgICAgIH1cclxuXHJcbiAgLy8gICAgIH0pXHJcbiAgLy8gICApXHJcbiAgLy8gKTtcclxuXHJcbiAgQEVmZmVjdCgpXHJcbiAgZ2V0VXNlclN0b3JlSWREZXRhaWxzJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPEdldFVzZXJTdG9yZUlkVHJpZ2dlcmVkPihBdXRoZW50aWNhdGlvbkFjdGlvblR5cGVzLkdldFVzZXJTdG9yZUlkVHJpZ2dlcmVkKSxcclxuICAgIHN3aXRjaE1hcChzZWFyY2hBY3Rpb24gPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy51c2VyU2VydmljZVxyXG4gICAgICAgIC5nZXRTdG9yZXMoc2VhcmNoQWN0aW9uLnNlYXJjaFVzZXJTdG9yZURldGFpbHNNb2RlbClcclxuICAgICAgICAucGlwZShtYXAoKHN0b3JlRGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAoc3RvcmVEYXRhLnN1Y2Nlc3MgPT09IHRydWUpXHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgR2V0VXNlclN0b3JlSWRDb21wbGV0ZWQoc3RvcmVEYXRhLmRhdGFbMF0pO1xyXG4gICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICByZXR1cm4gbmV3IEdldFVzZXJTdG9yZUlkRmFpbGVkKHN0b3JlRGF0YS5hcGlSZXNwb25zZU1lc3NhZ2VzKTtcclxuICAgICAgICB9KSxcclxuICAgICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gb2YobmV3IEV4Y2VwdGlvbkhhbmRsZWQoZXJyb3IpKTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH0pXHJcbiAgKTtcclxuXHJcbiAgQEVmZmVjdCgpXHJcbiAgc2hvd1ZhbGlkYXRpb25NZXNzYWdlc0ZvckdldFVzZXJTdG9yZUlkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPEdldFVzZXJTdG9yZUlkRmFpbGVkPihBdXRoZW50aWNhdGlvbkFjdGlvblR5cGVzLkdldFVzZXJTdG9yZUlkRmFpbGVkKSxcclxuICAgIHN3aXRjaE1hcChzZWFyY2hBY3Rpb24gPT4ge1xyXG4gICAgICByZXR1cm4gb2YobmV3IFNob3dWYWxpZGF0aW9uTWVzc2FnZXMoe1xyXG4gICAgICAgIHZhbGlkYXRpb25NZXNzYWdlczogc2VhcmNoQWN0aW9uLnZhbGlkYXRpb25NZXNzYWdlcyxcclxuICAgICAgfSlcclxuICAgICAgKVxyXG4gICAgfSlcclxuICApO1xyXG5cclxuICBARWZmZWN0KClcclxuICBleGNlcHRpb25IYW5kbGVkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPEV4Y2VwdGlvbkhhbmRsZWQ+KEF1dGhlbnRpY2F0aW9uQWN0aW9uVHlwZXMuRXhjZXB0aW9uSGFuZGxlZCksXHJcbiAgICBzd2l0Y2hNYXAoc2VhcmNoQWN0aW9uID0+IHtcclxuICAgICAgcmV0dXJuIG9mKG5ldyBTaG93RXhjZXB0aW9uTWVzc2FnZXMoe1xyXG4gICAgICAgIG1lc3NhZ2U6IHNlYXJjaEFjdGlvbi5lcnJvck1lc3NhZ2UsIC8vIFRPRE86IENoYW5nZSB0byBwcm9wZXIgdG9hc3QgbWVzc2FnZVxyXG4gICAgICB9KVxyXG4gICAgICApXHJcbiAgICB9KVxyXG4gICk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucyxcclxuICAgIHByaXZhdGUgYXV0aGVudGljYXRpb25TZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBDb21tb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb21tb25TZXJ2aWNlOiBDb21tb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmZWF0dXJlU2VydmljZTogTWVudUl0ZW1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb29raWVTZXJ2aWNlOiBDb29raWVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0b2FzdHI6IFRvYXN0clNlcnZpY2UsXHJcbiAgICBASW5qZWN0KFdJTkRPVykgcHJpdmF0ZSB3aW5kb3c6IFdpbmRvd1xyXG4gICkgeyB9XHJcbn1cclxuIl19
|
|
497
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AuthenticationEffects, [{
|
|
498
|
+
type: Injectable
|
|
499
|
+
}], function () { return [{ type: i1.Actions }, { type: i2.AuthenticationService }, { type: i3.CommonService }, { type: i3.CommonService }, { type: i4.MenuItemService }, { type: i5.CookieService }, { type: i6.ToastrService }, { type: Window, decorators: [{
|
|
500
|
+
type: Inject,
|
|
501
|
+
args: [WINDOW]
|
|
502
|
+
}] }]; }, { authenticate$: [], authenticateNewUser$: [], authenticated$: [], companyWorkItemStartFunctionalityRequired$: [], authenticateSignedOff$: [], initializeRolesAfterLoginData$: [], initializeRolesAfterLoginDataForUser$: [], initializeLoginDataForUserCompany$: [], initializeLoginDataForUser$: [], fetchUserTimeSheetButtonDetails$: [], gettingRoleDetailsAfterInitializeLoginData$: [], companySettingsTriggered$: [], entityRolesTRiggered$: [], loadCompanySettings$: [], gettingRoleDetailsByUserIdAfterInitializeLoginData$: [], initializeAfterLoginData2$: [], showValidationMessagesFoRoleFeatures$: [], showValidationMessagesForEntityRoles$: [], showValidationMessagesForCompanySettings$: [], demoDataClearEventTriggred$: [], getThemeColor$: [], demoDataClearEventSuccessful$: [], getUserStoreIdDetails$: [], showValidationMessagesForGetUserStoreId$: [], exceptionHandled$: [] }); })();
|
|
503
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aGVudGljYXRpb24uZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NoZWxsLW1vZHVsZS1jb21wb25lbnRzL3NoZWxsLWNvbXBvbmVudHMvc3JjL2xpYi9zaGVsbC1jb21wb25lbnRzL3N0b3JlL2VmZmVjdHMvYXV0aGVudGljYXRpb24uZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFXLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEQsT0FBTyxFQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFHTCx5QkFBeUIsRUFFekIsZ0RBQWdELEVBQ2hELG9CQUFvQixFQUNwQixzQkFBc0IsRUFDdEIsbUJBQW1CLEVBRW5CLGtDQUFrQyxFQUNsQyx3QkFBd0IsRUFDeEIsOEJBQThCLEVBQzlCLGlDQUFpQyxFQUVqQyx3QkFBd0IsRUFDeEIscUJBQXFCLEVBRXJCLHdCQUF3QixFQUN4QixrQkFBa0IsRUFFbEIsZ0JBQWdCLEVBR2hCLGtCQUFrQixFQUVsQix1QkFBdUIsRUFDdkIsb0JBQW9CLEVBQ3BCLGdCQUFnQixFQUVoQiwyQkFBMkIsRUFDM0IsMkJBQTJCLEVBQzNCLHdCQUF3QixFQUN4Qiw0QkFBNEIsRUFHNUIsa0NBQWtDLEVBRW5DLE1BQU0sbUNBQW1DLENBQUM7QUFJM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFFekcsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzNFLE9BQU8sRUFB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QUFFO29GQW1CUDtBQUdGO0lBREMsTUFBTSxFQUFFO29GQWFQO0FBR0Y7SUFEQyxNQUFNLEVBQUU7d0ZBYVA7QUFHRjtJQURDLE1BQU0sRUFBRTswRUFtQlA7QUFHRjtJQURDLE1BQU0sRUFBRTs2REFtQlA7QUFHRjtJQURDLE1BQU0sRUFBRTs0RUFZUDtBQWdDRjtJQURDLE1BQU0sRUFBRTtxRUFpQlA7QUFHRjtJQURDLE1BQU0sRUFBRTt1RkFTUDtBQUdGO0lBREMsTUFBTSxFQUFFO2dFQVNQO3VGQTVtQlMscUJBQXFCO2NBRmpDLFVBQVU7OE9Bd25CeUIsTUFBTTtzQkFBckMsTUFBTTt1QkFBQyxNQUFNO3dCQTltQmhCLGFBQWEsTUErQmIsb0JBQW9CLE1BK0JwQixjQUFjLE1BaUJkLDBDQUEwQyxNQTBCMUMsc0JBQXNCLE1BUXRCLDhCQUE4QixNQTBCOUIscUNBQXFDLE1BY3JDLGtDQUFrQyxNQVlsQywyQkFBMkIsTUFtQjNCLGdDQUFnQyxNQW9HaEMsMkNBQTJDLE1Bb0IzQyx5QkFBeUIsTUFjekIscUJBQXFCLE1Bc0NyQixvQkFBb0IsTUFtQnBCLG1EQUFtRCxNQTJDbkQsMEJBQTBCLE1Bb0IxQixxQ0FBcUMsTUFxQnJDLHFDQUFxQyxNQWVyQyx5Q0FBeUMsTUFlekMsMkJBQTJCLE1BcUIzQixjQUFjLE1BcUJkLDZCQUE2QixNQTJDN0Isc0JBQXNCLE1BbUJ0Qix3Q0FBd0MsTUFXeEMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWN0aW9ucywgRWZmZWN0LCBvZlR5cGUgfSBmcm9tIFwiQG5ncngvZWZmZWN0c1wiO1xyXG5pbXBvcnQgeyBBY3Rpb24gfSBmcm9tIFwiQG5ncngvc3RvcmVcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIHBpcGUgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7XHJcbiAgQXV0aGVudGljYXRlZCxcclxuICBBdXRoZW50aWNhdGVVc2VyLFxyXG4gIEF1dGhlbnRpY2F0aW9uQWN0aW9uVHlwZXMsXHJcbiAgQ29tcGFueVdvcmtJdGVtU3RhcnRGdW5jdGlvbmFsaXR5UmVxdWlyZWQsXHJcbiAgQ29tcGFueVdvcmtJdGVtU3RhcnRGdW5jdGlvbmFsaXR5UmVxdWlyZWRTdWNjZXNzLFxyXG4gIEF1dGhlbnRpY2F0aW9uRmFpbGVkLFxyXG4gIENsZWFyRGVtb0RhdGFDb21wbGV0ZWQsXHJcbiAgQ2xlYXJEZW1vRGF0YUZhaWxlZCxcclxuICBDbGVhckRlbW9EYXRhVHJpZ2dyZWQsXHJcbiAgRW50aXR5UmVvbGVzQnlVc2VySWRGZXRjaENvbXBsZXRlZCxcclxuICBFbnRpdHlSb2xlRGV0YWlsc0ZldGNoZWQsXHJcbiAgRW50aXR5Um9sZXNCeVVzZXJJZEZldGNoRmFpbGVkLFxyXG4gIEVudGl0eVJvbGVzQnlVc2VySWRGZXRjaFRyaWdnZXJlZCxcclxuICBFbnRpdHlSb2xlc0ZldGNoVHJpZ2dlcmVkLFxyXG4gIEdldENvbXBhbnlUaGVtZUNvbXBsZXRlZCxcclxuICBHZXRDb21wYW55VGhlbWVGYWlsZWQsXHJcbiAgR2V0Q29tcGFueVRoZW1lVHJpZ2dlcmVkLFxyXG4gIEluaXRpYWxpemVBZnRlckxvZ2luRGF0YSxcclxuICBSb2xlRGV0YWlsc0ZldGNoZWQsXHJcbiAgUm9sZURldGFpbHNGZXRjaE9uUmVsb2FkLFxyXG4gIFJvbGVzRmV0Y2hGYWlsZWQsXHJcbiAgU2lnbmVkT2ZmLFxyXG4gIFVzZXJEZXRhaWxzRmV0Y2hpbmcsXHJcbiAgVXNlckRldGFpbHNGZXRjaGVkLFxyXG4gIEdldFVzZXJTdG9yZUlkVHJpZ2dlcmVkLFxyXG4gIEdldFVzZXJTdG9yZUlkQ29tcGxldGVkLFxyXG4gIEdldFVzZXJTdG9yZUlkRmFpbGVkLFxyXG4gIEV4Y2VwdGlvbkhhbmRsZWQsXHJcbiAgQXV0aGVudGljYXRlTmV3VXNlcixcclxuICBHZXRDb21wYW55U2V0dGluZ3NUcmlnZ2VyZWQsXHJcbiAgR2V0Q29tcGFueVNldHRpbmdzQ29tcGxldGVkLFxyXG4gIEdldENvbXBhbnlTZXR0aW5nc0ZhaWxlZCxcclxuICBVc2VyRGV0YWlsc0ZldGNoZWRBZnRlckxvZ2luLFxyXG4gIFVzZXJEZXRhaWxzRmV0Y2hlZEFmdGVyQ29tcGFueUxvZ2luLFxyXG4gIFVzZXJJbml0aWFsRGV0YWlsc0ZldGNoZWQsXHJcbiAgVXNlckluaXRpYWxEZXRhaWxzRmV0Y2hlZENvbXBsZXRlZCxcclxuICBGZXRjaFRpbWVTaGVldEJ1dHRvbkRldGFpbHNcclxufSBmcm9tIFwiLi4vYWN0aW9ucy9hdXRoZW50aWNhdGlvbi5hY3Rpb25zXCI7XHJcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IE1lbnVJdGVtU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9mZWF0dXJlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQ29va2llU2VydmljZSB9IGZyb20gXCJuZ3gtY29va2llLXNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2hvd0V4Y2VwdGlvbk1lc3NhZ2VzLCBTaG93VmFsaWRhdGlvbk1lc3NhZ2VzIH0gZnJvbSBcIi4uL2FjdGlvbnMvbm90aWZpY2F0aW9uLXZhbGlkYXRvci5hY3Rpb25cIjtcclxuaW1wb3J0IHsgVG9hc3RyU2VydmljZSB9IGZyb20gXCJuZ3gtdG9hc3RyXCI7XHJcbmltcG9ydCB7IFdJTkRPVyB9IGZyb20gJy4uLy4uLy4uL2dsb2JhbGRlcGVuZGVuY2llcy9oZWxwZXJzL3dpbmRvdy5oZWxwZXInO1xyXG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vLi4vLi4vZ2xvYmFsZGVwZW5kZW5jaWVzL2NvbnN0YW50cy9sb2NhbHN0b3JhZ2UtcHJvcGVydGllcyc7XHJcbmltcG9ydCB7IENvbW1vblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb21tb24tdXNlZC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tcGFueXNldHRpbmdzTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvY29tcGFueS1tb2RlbCc7XHJcblxyXG4vKiogQGR5bmFtaWMgKi9cclxuXHJcbkBJbmplY3RhYmxlKClcclxuXHJcbmV4cG9ydCBjbGFzcyBBdXRoZW50aWNhdGlvbkVmZmVjdHMge1xyXG4gIHZhbGlkYXRpb25NZXNzYWdlczogYW55W107XHJcbiAgZ29hbElkOiBzdHJpbmc7XHJcbiAgdXNlclN0b3J5SWQ6IHN0cmluZztcclxuICBzcHJpbnRJZDogc3RyaW5nO1xyXG4gIGlzU3ByaW50VHlwZTogYm9vbGVhbjtcclxuICBsb2dJbkRhdGE6IGFueTtcclxuICBARWZmZWN0KClcclxuICBhdXRoZW50aWNhdGUkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGU8QXV0aGVudGljYXRlVXNlcj4oQXV0aGVudGljYXRpb25BY3Rpb25UeXBlcy5BdXRoZW50aWNhdGVVc2VyKSxcclxuICAgIHN3aXRjaE1hcCgoYWN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZVxyXG4gICAgICAgIC5sb2dpbihhY3Rpb24udXNlck5hbWUsIGFjdGlvbi5wYXNzd29yZClcclxuICAgICAgICAucGlwZShcclxuICAgICAgICAgIG1hcCgodXNlclRva2VuOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5sb2dJbkRhdGEgPSB1c2VyVG9rZW4uZGF0YTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy53aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpO1xyXG4gICAgICAgICAgICBsZXQgZW52aXJvbm1lbnQgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKExvY2FsU3RvcmFnZVByb3BlcnRpZXMuRW52aXJvbm1lbnQpKTtcclxuICAgICAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldChMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLkN1cnJlbnRVc2VyLCB1c2VyVG9rZW4uZGF0YS5hdXRoVG9rZW4sIG51bGwsIGVudmlyb25tZW50LmNvb2tpZVBhdGgsIHRoaXMud2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLCBmYWxzZSwgXCJTdHJpY3RcIik7XHJcbiAgICAgICAgICAgIC8vIHRoaXMuY29va2llU2VydmljZS5zZXQoTG9jYWxTdG9yYWdlUHJvcGVydGllcy5EZWZhdWx0RGFzaGJvYXJkLCBKU09OLnN0cmluZ2lmeSh1c2VyVG9rZW4uZGF0YS5kZWZhdWx0RGFzaGJvYXJkSWQpLCBudWxsLCBlbnZpcm9ubWVudC5jb29raWVQYXRoLCB0aGlzLndpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSwgZmFsc2UsIFwiU3RyaWN0XCIpO1xyXG4gICAgICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KExvY2FsU3RvcmFnZVByb3BlcnRpZXMuQ29tcGFueURldGFpbHMsIEpTT04uc3RyaW5naWZ5KHVzZXJUb2tlbi5kYXRhLmNvbXBhbnlEZXRhaWxzKSwgbnVsbCwgZW52aXJvbm1lbnQuY29va2llUGF0aCwgdGhpcy53aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsIGZhbHNlLCBcIlN0cmljdFwiKTtcclxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oTG9jYWxTdG9yYWdlUHJvcGVydGllcy5Sb2xlRmVhdHVyZXMsIEpTT04uc3RyaW5naWZ5KHVzZXJUb2tlbi5kYXRhLnJvbGVGZWF0dXJlcykpO1xyXG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLlNvZnRMYWJlbHMsIEpTT04uc3RyaW5naWZ5KHVzZXJUb2tlbi5kYXRhLnNvZnRMYWJlbHMpKTtcclxuICAgICAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldChMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLkZyb21Mb2dJbiwgSlNPTi5zdHJpbmdpZnkodHJ1ZSksIG51bGwsIGVudmlyb25tZW50LmNvb2tpZVBhdGgsIHRoaXMud2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLCBmYWxzZSwgXCJTdHJpY3RcIik7XHJcbiAgICAgICAgICAgIC8vIHJldHVybiBuZXcgQXV0aGVudGljYXRlZChcclxuICAgICAgICAgICAgLy8gICBhY3Rpb24udXNlck5hbWUsXHJcbiAgICAgICAgICAgIC8vICAgSlNPTi5zdHJpbmdpZnkodXNlclRva2VuLmRhdGEuYXV0aFRva2VuKVxyXG4gICAgICAgICAgICAvLyApO1xyXG4gICAgICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KExvY2FsU3RvcmFnZVByb3BlcnRpZXMuQ3VycmVudFVzZXJJZCwgdXNlclRva2VuLmRhdGEudXNlcnNNb2RlbC5pZCwgbnVsbCwgZW52aXJvbm1lbnQuY29va2llUGF0aCwgdGhpcy53aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsIGZhbHNlLCBcIlN0cmljdFwiKTtcclxuICAgICAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldChMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLkNvbXBhbnlOYW1lLCB1c2VyVG9rZW4uZGF0YS51c2Vyc01vZGVsLmNvbXBhbnlOYW1lLCBudWxsLCBlbnZpcm9ubWVudC5jb29raWVQYXRoLCB0aGlzLndpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSwgZmFsc2UsIFwiU3RyaWN0XCIpO1xyXG4gICAgICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KExvY2FsU3RvcmFnZVByb3BlcnRpZXMuQ29tcGFueUlkLCB1c2VyVG9rZW4uZGF0YS51c2Vyc01vZGVsLmNvbXBhbnlJZCwgbnVsbCwgZW52aXJvbm1lbnQuY29va2llUGF0aCwgdGhpcy53aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsIGZhbHNlLCBcIlN0cmljdFwiKTtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBVc2VyRGV0YWlsc0ZldGNoZWQodXNlclRva2VuLmRhdGEudXNlcnNNb2RlbCk7XHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiBvZihuZXcgQXV0aGVudGljYXRpb25GYWlsZWQoZXJyb3IpKSlcclxuICAgICAgICApO1xyXG4gICAgfSlcclxuICApO1xyXG5cclxuICBARWZmZWN0KClcclxuICBhdXRoZW50aWNhdGVOZXdVc2VyJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPEF1dGhlbnRpY2F0ZU5ld1VzZXI+KEF1dGhlbnRpY2F0aW9uQWN0aW9uVHlwZXMuQXV0aGVudGljYXRlTmV3VXNlciksXHJcbiAgICBzd2l0Y2hNYXAoKGFjdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2VcclxuICAgICAgICAubG9naW5OZXdVc2VyKGFjdGlvbi51c2VyTmFtZSlcclxuICAgICAgICAucGlwZShcclxuICAgICAgICAgIG1hcCgodXNlclRva2VuOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5sb2dJbkRhdGEgPSB1c2VyVG9rZW4uZGF0YTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy53aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpO1xyXG4gICAgICAgICAgICBsZXQgZW52aXJvbm1lbnQgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKExvY2FsU3RvcmFnZVByb3BlcnRpZXMuRW52aXJvbm1lbnQpKTtcclxuICAgICAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldChMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLkN1cnJlbnRVc2VyLCB1c2VyVG9rZW4uZGF0YS5hdXRoVG9rZW4sIG51bGwsIGVudmlyb25tZW50LmNvb2tpZVBhdGgsIHRoaXMud2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLCBmYWxzZSwgXCJTdHJpY3RcIik7XHJcbiAgICAgICAgICAgIHRoaXMuY29va2llU2VydmljZS5zZXQoTG9jYWxTdG9yYWdlUHJvcGVydGllcy5EZWZhdWx0RGFzaGJvYXJkLCBKU09OLnN0cmluZ2lmeSh1c2VyVG9rZW4uZGF0YS5kZWZhdWx0RGFzaGJvYXJkSWQpLCBudWxsLCBlbnZpcm9ubWVudC5jb29raWVQYXRoLCB0aGlzLndpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSwgZmFsc2UsIFwiU3RyaWN0XCIpO1xyXG4gICAgICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KExvY2FsU3RvcmFnZVByb3BlcnRpZXMuQ29tcGFueURldGFpbHMsIEpTT04uc3RyaW5naWZ5KHVzZXJUb2tlbi5kYXRhLmNvbXBhbnlEZXRhaWxzKSwgbnVsbCwgZW52aXJvbm1lbnQuY29va2llUGF0aCwgdGhpcy53aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsIGZhbHNlLCBcIlN0cmljdFwiKTtcclxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oTG9jYWxTdG9yYWdlUHJvcGVydGllcy5Sb2xlRmVhdHVyZXMsIEpTT04uc3RyaW5naWZ5KHVzZXJUb2tlbi5kYXRhLnJvbGVGZWF0dXJlcykpO1xyXG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLlNvZnRMYWJlbHMsIEpTT04uc3RyaW5naWZ5KHVzZXJUb2tlbi5kYXRhLnNvZnRMYWJlbHMpKTtcclxuICAgICAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldChMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLkZyb21Mb2dJbiwgSlNPTi5zdHJpbmdpZnkodHJ1ZSksIG51bGwsIGVudmlyb25tZW50LmNvb2tpZVBhdGgsIHRoaXMud2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLCBmYWxzZSwgXCJTdHJpY3RcIik7XHJcbiAgICAgICAgICAgIC8vIHJldHVybiBuZXcgQXV0aGVudGljYXRlZChcclxuICAgICAgICAgICAgLy8gICBhY3Rpb24udXNlck5hbWUsXHJcbiAgICAgICAgICAgIC8vICAgSlNPTi5zdHJpbmdpZnkodXNlclRva2VuLmRhdGEuYXV0aFRva2VuKVxyXG4gICAgICAgICAgICAvLyApO1xyXG4gICAgICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KExvY2FsU3RvcmFnZVByb3BlcnRpZXMuQ3VycmVudFVzZXJJZCwgdXNlclRva2VuLmRhdGEudXNlcnNNb2RlbC5pZCwgbnVsbCwgZW52aXJvbm1lbnQuY29va2llUGF0aCwgdGhpcy53aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsIGZhbHNlLCBcIlN0cmljdFwiKTtcclxuICAgICAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldChMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLkNvbXBhbnlOYW1lLCB1c2VyVG9rZW4uZGF0YS51c2Vyc01vZGVsLmNvbXBhbnlOYW1lLCBudWxsLCBlbnZpcm9ubWVudC5jb29raWVQYXRoLCB0aGlzLndpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSwgZmFsc2UsIFwiU3RyaWN0XCIpO1xyXG4gICAgICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KExvY2FsU3RvcmFnZVByb3BlcnRpZXMuQ29tcGFueUlkLCB1c2VyVG9rZW4uZGF0YS51c2Vyc01vZGVsLmNvbXBhbnlJZCwgbnVsbCwgZW52aXJvbm1lbnQuY29va2llUGF0aCwgdGhpcy53aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsIGZhbHNlLCBcIlN0cmljdFwiKTtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBVc2VyRGV0YWlsc0ZldGNoZWQodXNlclRva2VuLmRhdGEudXNlcnNNb2RlbCk7XHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PiBvZihuZXcgQXV0aGVudGljYXRpb25GYWlsZWQoZXJyb3IpKSlcclxuICAgICAgICApO1xyXG4gICAgfSlcclxuICApO1xyXG5cclxuICBARWZmZWN0KClcclxuICBhdXRoZW50aWNhdGVkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPEF1dGhlbnRpY2F0ZWQ+KEF1dGhlbnRpY2F0aW9uQWN0aW9uVHlwZXMuQXV0aGVudGljYXRlZCksXHJcbiAgICBzd2l0Y2hNYXAoKGFjdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy51c2VyU2VydmljZS5nZXRMb2dnZWRJblVzZXIoKS5waXBlKFxyXG4gICAgICAgIG1hcCgodXNlclJlY29yZDogYW55KSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLndpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSk7XHJcbiAgICAgICAgICBsZXQgZW52aXJvbm1lbnQgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKExvY2FsU3RvcmFnZVByb3BlcnRpZXMuRW52aXJvbm1lbnQpKTtcclxuICAgICAgICAgIHRoaXMuY29va2llU2VydmljZS5zZXQoTG9jYWxTdG9yYWdlUHJvcGVydGllcy5DdXJyZW50VXNlcklkLCB1c2VyUmVjb3JkLmRhdGEuaWQsIG51bGwsIGVudmlyb25tZW50LmNvb2tpZVBhdGgsIHRoaXMud2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLCBmYWxzZSwgXCJTdHJpY3RcIik7XHJcbiAgICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KExvY2FsU3RvcmFnZVByb3BlcnRpZXMuQ29tcGFueU5hbWUsIHVzZXJSZWNvcmQuZGF0YS5jb21wYW55TmFtZSwgbnVsbCwgZW52aXJvbm1lbnQuY29va2llUGF0aCwgdGhpcy53aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsIGZhbHNlLCBcIlN0cmljdFwiKTtcclxuICAgICAgICAgIHRoaXMuY29va2llU2VydmljZS5zZXQoTG9jYWxTdG9yYWdlUHJvcGVydGllcy5Db21wYW55SWQsIHVzZXJSZWNvcmQuZGF0YS5jb21wYW55SWQsIG51bGwsIGVudmlyb25tZW50LmNvb2tpZVBhdGgsIHRoaXMud2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLCBmYWxzZSwgXCJTdHJpY3RcIik7XHJcbiAgICAgICAgICByZXR1cm4gbmV3IFVzZXJEZXRhaWxzRmV0Y2hlZCh1c2VyUmVjb3JkLmRhdGEpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9KVxyXG4gICk7XHJcblxyXG4gIEBFZmZlY3QoKVxyXG4gIGNvbXBhbnlXb3JrSXRlbVN0YXJ0RnVuY3Rpb25hbGl0eVJlcXVpcmVkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPENvbXBhbnlXb3JrSXRlbVN0YXJ0RnVuY3Rpb25hbGl0eVJlcXVpcmVkPihBdXRoZW50aWNhdGlvbkFjdGlvblR5cGVzLkNvbXBhbnlXb3JrSXRlbVN0YXJ0RnVuY3Rpb25hbGl0eVJlcXVpcmVkKSxcclxuICAgIHN3aXRjaE1hcCgoYWN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLnVzZXJTZXJ2aWNlLmdldENvbXBhbnlXb3JrSXRlbVN0YXJ0RnVuY3Rpb25hbGl0eVJlcXVpcmVkKCkucGlwZShcclxuICAgICAgICBtYXAoKHJlY29yZDogYW55KSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLndpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSk7XHJcbiAgICAgICAgICByZXR1cm4gbmV3IENvbXBhbnlXb3JrSXRlbVN0YXJ0RnVuY3Rpb25hbGl0eVJlcXVpcmVkU3VjY2VzcyhyZWNvcmQuZGF0YSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH0pXHJcbiAgKTtcclxuICBcclxuXHJcbiAgLy8gQEVmZmVjdCgpXHJcbiAgLy8gVXNlckRldGFpbHNGZXRjaGluZyQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAvLyAgIG9mVHlwZTxVc2VyRGV0YWlsc0ZldGNoaW5nPihBdXRoZW50aWNhdGlvbkFjdGlvblR5cGVzLlVzZXJEZXRhaWxzRmV0Y2hpbmcpLFxyXG4gIC8vICAgcGlwZShcclxuICAvLyAgICAgbWFwKChhY3Rpb246IGFueSkgPT4ge1xyXG4gIC8vICAgICAgIC8vdmFyIGNvbmZpZ3VyYXRpb25zID0gbmV3IFNvZnRMYWJlbENvbmZpZ3VyYXRpb25Nb2RlbCgpO1xyXG4gIC8vICAgICAgIC8vcmV0dXJuIG5ldyBHZXRzb2Z0TGFiZWxzVHJpZ2dlcmVkKGNvbmZpZ3VyYXRpb25zKTtcclxuICAvLyAgICAgICByZXR1cm4gbmV3IFVzZXJEZXRhaWxzRmV0Y2hlZChhY3Rpb24ubG9naW5EYXRhLlVzZXJzTW9kZWwpO1xyXG4gIC8vICAgICB9KVxyXG4gIC8vICAgKVxyXG4gIC8vICk7XHJcblxyXG4gIEBFZmZlY3QoeyBkaXNwYXRjaDogZmFsc2UgfSlcclxuICBhdXRoZW50aWNhdGVTaWduZWRPZmYkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGU8U2lnbmVkT2ZmPihBdXRoZW50aWNhdGlvbkFjdGlvblR5cGVzLlNpZ25lZE9mZiksXHJcbiAgICB0YXAoKGFjdGlvbikgPT4ge1xyXG4gICAgICB0aGlzLmNvb2tpZVNlcnZpY2UuZGVsZXRlKExvY2FsU3RvcmFnZVByb3BlcnRpZXMuQ3VycmVudFVzZXIpO1xyXG4gICAgfSlcclxuICApO1xyXG5cclxuICBARWZmZWN0KClcclxuICBpbml0aWFsaXplUm9sZXNBZnRlckxvZ2luRGF0YSQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZTxVc2VyRGV0YWlsc0ZldGNoZWQ+KFxyXG4gICAgICBBdXRoZW50aWNhdGlvbkFjdGlvblR5cGVzLlVzZXJEZXRhaWxzRmV0Y2hlZFxyXG4gICAgKSxcclxuICAgIHBpcGUoXHJcbiAgICAgIG1hcCgoKSA9PiB7XHJcbiAgICAgICAgdmFyIHJvbGVzID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLlJvbGVGZWF0dXJlcykpO1xyXG4gICAgICAgIHJldHVybiBuZXcgUm9sZURldGFpbHNGZXRjaGVkKHJvbGVzKTtcclxuICAgICAgfSlcclxuICAgIClcclxuICApO1xyXG5cclxuICAvLyBARWZmZWN0KClcclxuICAvLyBpbml0aWFsaXplU29mdExhYmVsc0FmdGVyTG9naW5EYXRhJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gIC8vICAgb2ZUeXBlPFVzZXJEZXRhaWxzRmV0Y2hlZD4oXHJcbiAgLy8gICAgIEF1dGhlbnRpY2F0aW9uQWN0aW9uVHlwZXMuVXNlckRldGFpbHNGZXRjaGVkXHJcbiAgLy8gICApLFxyXG4gIC8vICAgcGlwZShcclxuICAvLyAgICAgbWFwKCgpID0+IHtcclxuICAvLyAgICAgICB2YXIgc29mdExhYmVscyA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oTG9jYWxTdG9yYWdlUHJvcGVydGllcy5Tb2Z0TGFiZWxzKSk7XHJcbiAgLy8gICAgICAgcmV0dXJuIG5ldyBHZXRzb2Z0TGFiZWxzQ29tcGxldGVkKHNvZnRMYWJlbHMpO1xyXG4gIC8vICAgICB9KVxyXG4gIC8vICAgKVxyXG4gIC8vICk7XHJcblxyXG4gIEBFZmZlY3QoKVxyXG4gIGluaXRpYWxpemVSb2xlc0FmdGVyTG9naW5EYXRhRm9yVXNlciQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZTxVc2VyRGV0YWlsc0ZldGNoZWRBZnRlckxvZ2luPihcclxuICAgICAgQXV0aGVudGljYXRpb25BY3Rpb25UeXBlcy5Vc2VyRGV0YWlsc0ZldGNoZWRBZnRlckxvZ2luXHJcbiAgICApLFxyXG4gICAgcGlwZShcclxuICAgICAgbWFwKCgpID0+IHtcclxuICAgICAgICB2YXIgcm9sZXMgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKExvY2FsU3RvcmFnZVByb3BlcnRpZXMuUm9sZUZlYXR1cmVzKSk7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBSb2xlRGV0YWlsc0ZldGNoZWQocm9sZXMpO1xyXG4gICAgICB9KVxyXG4gICAgKVxyXG4gICk7XHJcblxyXG5cclxuICBARWZmZWN0KClcclxuICBpbml0aWFsaXplTG9naW5EYXRhRm9yVXNlckNvbXBhbnkkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGU8VXNlckRldGFpbHNGZXRjaGVkQWZ0ZXJDb21wYW55TG9naW4+KFxyXG4gICAgICBBdXRoZW50aWNhdGlvbkFjdGlvblR5cGVzLlVzZXJEZXRhaWxzRmV0Y2hlZEFmdGVyQ29tcGFueUxvZ2luXHJcbiAgICApLFxyXG4gICAgcGlwZShcclxuICAgICAgbWFwKChhY3Rpb24pID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IFVzZXJEZXRhaWxzRmV0Y2hlZEFmdGVyTG9naW4oYWN0aW9uLnVzZXJNb2RlbCk7XHJcbiAgICAgIH0pXHJcbiAgICApXHJcbiAgKTtcclxuICBcclxuICBARWZmZWN0KClcclxuICBpbml0aWFsaXplTG9naW5EYXRhRm9yVXNlciQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZTxVc2VyRGV0YWlsc0ZldGNoZWRBZnRlckxvZ2luPihcclxuICAgICAgQXV0aGVudGljYXRpb25BY3Rpb25UeXBlcy5Vc2VyRGV0YWlsc0ZldGNoZWRBZnRlckxvZ2luXHJcbiAgICApLFxyXG4gICAgc3dpdGNoTWFwKCgpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29tbW9uU2VydmljZS5nZXRVc2VySW5pdGlhbERhdGEoKVxyXG4gICAgICAgIC5waXBlKG1hcCgocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKHJlcy5kYXRhKTtcclxuICAgICAgICAgIGxldCBlbnZpcm9ubWVudCA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oTG9jYWxTdG9yYWdlUHJvcGVydGllcy5FbnZpcm9ubWVudCkpO1xyXG4gICAgICAgICAgbGV0IGRhdGEgPSByZXMuZGF0YTtcclxuICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKExvY2FsU3RvcmFnZVByb3BlcnRpZXMuVXNlclJvbGVGZWF0dXJlcywgSlNPTi5zdHJpbmdpZnkoZGF0YS5lbnRpdHlGZWF0dXJlcykpO1xyXG4gICAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldChMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLkFkZE9yRWRpdEN1c3RvbUFwcElzUmVxdWlyZWQsIGRhdGEuYWRkT3JFZGl0Q3VzdG9tQXBwSXNSZXF1aXJlZCwgbnVsbCwgZW52aXJvbm1lbnQuY29va2llUGF0aCwgdGhpcy53aW5kb3cubG9jYXRpb24uaG9zdG5hbWUsIGZhbHNlLCBcIlN0cmljdFwiKTtcclxuICAgICAgICAgIHJldHVybiBuZXcgVXNlckluaXRpYWxEZXRhaWxzRmV0Y2hlZENvbXBsZXRlZChyZXMuZGF0YS50aW1lU2hlZXRCdXR0b25EZXRhaWxzKTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgIH0pXHJcbiAgKTtcclxuXHJcbiAgQEVmZmVjdCgpXHJcbiAgZmV0Y2hVc2VyVGltZVNoZWV0QnV0dG9uRGV0YWlscyQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZTxGZXRjaFRpbWVTaGVldEJ1dHRvbkRldGFpbHM+KFxyXG4gICAgICBBdXRoZW50aWNhdGlvbkFjdGlvblR5cGVzLkZldGNoVGltZVNoZWV0QnV0dG9uRGV0YWlsc1xyXG4gICAgKSxcclxuICAgIHN3aXRjaE1hcCgoKSA9PiB7XHJcbiAgICAgIHJldHVybiAgdGhpcy5jb21tb25TZXJ2aWNlLmdldFRpbWVTaGVldEVuYWJsZWRJbmZvcm1hdGlvbigpXHJcbiAgICAgICAgLnBpcGUobWFwKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IFVzZXJJbml0aWFsRGV0YWlsc0ZldGNoZWRDb21wbGV0ZWQocmVzKTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgIH0pXHJcbiAgKTtcclxuXHJcbiAgLy8gQEVmZmVjdCgpXHJcbiAgLy8gaW5pdGlhbGl6ZUNvbXBhbnlTZXR0aW5nc0xvZ2luRGF0YUZvclVzZXJDb21wbGV0ZWQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAvLyAgIG9mVHlwZTxVc2VySW5pdGlhbERldGFpbHNGZXRjaGVkQ29tcGxldGVkPihcclxuICAvLyAgICAgQXV0aGVudGljYXRpb25BY3Rpb25UeXBlcy5Vc2VySW5pdGlhbERldGFpbHNGZXRjaGVkQ29tcGxldGVkXHJcbiAgLy8gICApLFxyXG4gIC8vICAgcGlwZShcclxuICAvLyAgICAgbWFwKChyZXM6IGFueSkgPT4ge1xyXG4gIC8vICAgICAgIHJldHVybiBuZXcgR2V0Q29tcGFueVNldHRpbmdzQ29tcGxldGVkKHJlcy5jb21wYW55U2V0dGluZ3MpO1xyXG4gIC8vICAgICB9KVxyXG4gIC8vICAgKVxyXG4gIC8vICk7XHJcblxyXG4gIC8vIEBFZmZlY3QoKVxyXG4gIC8vIGluaXRpYWxpemVFbnRpdHlSb2xlRmVhdHVyZXNMb2dpbkRhdGFGb3JVc2VyQ29tcGxldGVkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgLy8gICBvZlR5cGU8VXNlckluaXRpYWxEZXRhaWxzRmV0Y2hlZENvbXBsZXRlZD4oXHJcbiAgLy8gICAgIEF1dGhlbnRpY2F0aW9uQWN0aW9uVHlwZXMuVXNlckluaXRpYWxEZXRhaWxzRmV0Y2hlZENvbXBsZXRlZFxyXG4gIC8vICAgKSxcclxuICAvLyAgIHBpcGUoXHJcbiAgLy8gICAgIG1hcCgocmVzOiBhbnkpID0+IHtcclxuICAvLyAgICAgICByZXR1cm4gbmV3IEVudGl0eVJlb2xlc0J5VXNlcklkRmV0Y2hDb21wbGV0ZWQocmVzLmVudGl0eUZlYXR1cmVzKTtcclxuICAvLyAgICAgfSlcclxuICAvLyAgIClcclxuICAvLyApO1xyXG5cclxuXHJcbiAgLy8gQEVmZmVjdCgpXHJcbiAgLy8gaW5pdGlhbGl6ZVNvZnRMYWJlbHNBZnRlckxvZ2luRGF0YUZvclVzZXIkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgLy8gICBvZlR5cGU8VXNlckRldGFpbHNGZXRjaGVkQWZ0ZXJMb2dpbj4oXHJcbiAgLy8gICAgIEF1dGhlbnRpY2F0aW9uQWN0aW9uVHlwZXMuVXNlckRldGFpbHNGZXRjaGVkQWZ0ZXJMb2dpblxyXG4gIC8vICAgKSxcclxuICAvLyAgIHBpcGUoXHJcbiAgLy8gICAgIG1hcCgoKSA9PiB7XHJcbiAgLy8gICAgICAgdmFyIHNvZnRMYWJlbHMgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKExvY2FsU3RvcmFnZVByb3BlcnRpZXMuU29mdExhYmVscykpO1xyXG4gIC8vICAgICAgIHJldHVybiBuZXcgR2V0c29mdExhYmVsc0NvbXBsZXRlZChzb2Z0TGFiZWxzKTtcclxuICAvLyAgICAgfSlcclxuICAvLyAgIClcclxuICAvLyApO1xyXG5cclxuICAvLyBARWZmZWN0KClcclxuICAvLyBpbml0aWFsaXplQWZ0ZXJHZXR0aW5nU29mdExhYmVscyQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAvLyAgIG9mVHlwZTxVc2VyRGV0YWlsc0ZldGNoZWQ+KFxyXG4gIC8vICAgICBBdXRoZW50aWNhdGlvbkFjdGlvblR5cGVzLlVzZXJEZXRhaWxzRmV0Y2hlZFxyXG4gIC8vICAgKSxcclxuICAvLyAgIHBpcGUoXHJcbiAgLy8gICAgIG1hcCgoYWN0aW9uOiBhbnkpID0+IHsgICAgICAgIFxyXG4gIC8vICAgICAgIHZhciBmcm9tTG9nSW4gPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdGcm9tTG9nSW4nKSk7XHJcbiAgLy8gICAgICAgaWYoZnJvbUxvZ0luKSB7XHJcbiAgLy8gICAgICAgICByZXR1cm4gbmV3IEdldHNvZnRMYWJlbHNDb21wbGV0ZWQodGhpcy5sb2dJbkRhdGEuc29mdExhYmVscyk7XHJcbiAgLy8gICAgICAgfSBlbHNlIHtcclxuICAvLyAgICAgICAgIHZhciBjb25maWd1cmF0aW9ucyA9IG5ldyBTb2Z0TGFiZWxDb25maWd1cmF0aW9uTW9kZWwoKTtcclxuICAvLyAgICAgICAgICByZXR1cm4gbmV3IEdldHNvZnRMYWJlbHNUcmlnZ2VyZWQoY29uZmlndXJhdGlvbnMpO1xyXG4gIC8vICAgICAgIH0gICAgICAgIFxyXG4gIC8vICAgICB9KVxyXG4gIC8vICAgKVxyXG4gIC8vICk7XHJcblxyXG4gIC8vIEBFZmZlY3QoKVxyXG4gIC8vIGluaXRpYWxpemVBZnRlckdldHRpbmdSb2xlRmVhdHVyZXMkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgLy8gICBvZlR5cGU8VXNlckRldGFpbHNGZXRjaGluZz4oXHJcbiAgLy8gICAgIEF1dGhlbnRpY2F0aW9uQWN0aW9uVHlwZXMuVXNlckRldGFpbHNGZXRjaGVkXHJcbiAgLy8gICApLFxyXG4gIC8vICAgcGlwZShcclxuICAvLyAgICAgbWFwKChhY3Rpb246IGFueSkgPT4ge1xyXG4gIC8vICAgICAgLy8gdmFyIHJvbGVzID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ1JvbGVzJyk7XHJcbiAgLy8gICAgICB2YXIgZnJvbUxvZ0luID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnRnJvbUxvZ0luJykpO1xyXG4gIC8vICAgICAgIGlmKGZyb21Mb2dJbikge1xyXG4gIC8vICAgICAgIHJldHVybiBuZXcgUm9sZURldGFpbHNGZXRjaGVkKHRoaXMubG9nSW5EYXRhLnJvbGVGZWF0dXJlcyk7XHJcbiAgLy8gICAgICAgfSBlbHNlIHtcclxuICAvLyAgICAgICAgIHJldHVybiBuZXcgUm9sZURldGFpbHNGZXRjaE9uUmVsb2FkKCk7XHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICB9KVxyXG4gIC8vICAgKVxyXG4gIC8vICk7XHJcblxyXG4gIC8vIEBFZmZlY3QoKVxyXG4gIC8vIGluaXRpYWxpemVUaGVtZUFmdGVyTG9naW4kOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgLy8gICBvZlR5cGU8VXNlckRldGFpbHNGZXRjaGVkPihcclxuICAvLyAgICAgQXV0aGVudGljYXRpb25BY3Rpb25UeXBlcy5Vc2VyRGV0YWlsc0ZldGNoZWRcclxuICAvLyAgICksXHJcbiAgLy8gICBwaXBlKFxyXG4gIC8vICAgICBtYXAoKCkgPT4ge1xyXG4gIC8vICAgICAgIHJldHVybiBuZXcgR2V0Q29tcGFueVRoZW1lVHJpZ2dlcmVkKCk7XHJcbiAgLy8gICAgIH0pXHJcbiAgLy8gICApXHJcbiAgLy8gKTtcclxuXHJcbiAgQEVmZmVjdCgpXHJcbiAgZ2V0dGluZ1JvbGVEZXRhaWxzQWZ0ZXJJbml0aWFsaXplTG9naW5EYXRhJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPEVudGl0eVJvbGVzRmV0Y2hUcmlnZ2VyZWQ+KFxyXG4gICAgICBBdXRoZW50aWNhdGlvbkFjdGlvblR5cGVzLkVudGl0eVJvbGVzRmV0Y2hUcmlnZ2VyZWRcclxuICAgICksXHJcbiAgICBzd2l0Y2hNYXAoKGFjdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5mZWF0dXJlU2VydmljZS5nZXRBbGxQZXJtaXR0ZWRFbnRpdHlSb2xlRmVhdHVyZXMoYWN0aW9uLnByb2plY3RJZCkucGlwZShcclxuICAgICAgICBtYXAoKHJvbGVGZWF0dXJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocm9sZUZlYXR1cmVzLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oTG9jYWxTdG9yYWdlUHJvcGVydGllcy5FbnRpdHlSb2xlRmVhdHVyZXMsIEpTT04uc3RyaW5naWZ5KHJvbGVGZWF0dXJlcy5kYXRhKSk7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgRW50aXR5Um9sZURldGFpbHNGZXRjaGVkKHJvbGVGZWF0dXJlcy5kYXRhKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMudmFsaWRhdGlvbk1lc3NhZ2VzID0gcm9sZUZlYXR1cmVzLmFwaVJlc3BvbnNlTWVzc2FnZXM7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgUm9sZXNGZXRjaEZhaWxlZChyb2xlRmVhdHVyZXMuYXBpUmVzcG9uc2VNZXNzYWdlcyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH0pXHJcbiAgKTtcclxuXHJcbiAgQEVmZmVjdCgpXHJcbiAgY29tcGFueVNldHRpbmdzVHJpZ2dlcmVkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPFVzZXJEZXRhaWxzRmV0Y2hlZD4oXHJcbiAgICAgIEF1dGhlbnRpY2F0aW9uQWN0aW9uVHlwZXMuVXNlckRldGFpbHNGZXRjaGVkXHJcbiAgICApLFxyXG4gICAgcGlwZShcclxuICAgICAgbWFwKCgpID0+IHtcclxuICAgICAgICB2YXIgY29tcGFueVNldHRpbmdzTW9kZWwgPSBuZXcgQ29tcGFueXNldHRpbmdzTW9kZWwoKTtcclxuICAgICAgICBjb21wYW55U2V0dGluZ3NNb2RlbC5pc0FyY2hpdmVkID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBHZXRDb21wYW55U2V0dGluZ3NUcmlnZ2VyZWQoY29tcGFueVNldHRpbmdzTW9kZWwpO1xyXG4gICAgICB9KVxyXG4gICAgKVxyXG4gICk7XHJcblxyXG4gIEBFZmZlY3QoKVxyXG4gIGVudGl0eVJvbGVzVFJpZ2dlcmVkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPFVzZXJEZXRhaWxzRmV0Y2hlZD4oXHJcbiAgICAgIEF1dGhlbnRpY2F0aW9uQWN0aW9uVHlwZXMuVXNlckRldGFpbHNGZXRjaGVkXHJcbiAgICApLFxyXG4gICAgcGlwZShcclxuICAgICAgbWFwKCgpID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IEVudGl0eVJvbGVzQnlVc2VySWRGZXRjaFRyaWdnZXJlZChcIm51bGxcIiwgXCJudWxsXCIsIGZhbHNlKTtcclxuICAgICAgfSlcclxuICAgIClcclxuICApO1xyXG5cclxuICAvLyBARWZmZWN0KClcclxuICAvLyBjb21wYW55U2V0dGluZ3NUcmlnZ2VyZWRBZnRlckxvZ2luJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gIC8vICAgb2ZUeXBlPFVzZXJEZXRhaWxzRmV0Y2hlZEFmdGVyTG9naW4+KFxyXG4gIC8vICAgICBBdXRoZW50aWNhdGlvbkFjdGlvblR5cGVzLlVzZXJEZXRhaWxzRmV0Y2hlZEFmdGVyTG9naW5cclxuICAvLyAgICksXHJcbiAgLy8gICBwaXBlKFxyXG4gIC8vICAgICBtYXAoKCkgPT4ge1xyXG4gIC8vICAgICAgIHZhciBjb21wYW55U2V0dGluZ3NNb2RlbCA9IG5ldyBDb21wYW55c2V0dGluZ3NNb2RlbCgpO1xyXG4gIC8vICAgICAgIGNvbXBhbnlTZXR0aW5nc01vZGVsLmlzQXJjaGl2ZWQgPSBmYWxzZTtcclxuICAvLyAgICAgICByZXR1cm4gbmV3IEdldENvbXBhbnlTZXR0aW5nc1RyaWdnZXJlZChjb21wYW55U2V0dGluZ3NNb2RlbCk7XHJcbiAgLy8gICAgIH0pXHJcbiAgLy8gICApXHJcbiAgLy8gKTtcclxuXHJcbiAgLy8gQEVmZmVjdCgpXHJcbiAgLy8gZW50aXR5Um9sZXNUUmlnZ2VyZWRBZnRlckxvZ2luJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gIC8vICAgb2ZUeXBlPFVzZXJEZXRhaWxzRmV0Y2hlZEFmdGVyTG9naW4+KFxyXG4gIC8vICAgICBBdXRoZW50aWNhdGlvbkFjdGlvblR5cGVzLlVzZXJEZXRhaWxzRmV0Y2hlZEFmdGVyTG9naW5cclxuICAvLyAgICksXHJcbiAgLy8gICBwaXBlKFxyXG4gIC8vICAgICBtYXAoKCkgPT4ge1xyXG4gIC8vICAgICAgIHJldHVybiBuZXcgRW50aXR5Um9sZXNCeVVzZXJJZEZldGNoVHJpZ2dlcmVkKFwibnVsbFwiLCBcIm51bGxcIiwgZmFsc2UpO1xyXG4gIC8vICAgICB9KVxyXG4gIC8vICAgKVxyXG4gIC8vICk7XHJcblxyXG4gIEBFZmZlY3QoKVxyXG4gIGxvYWRDb21wYW55U2V0dGluZ3MkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGU8R2V0Q29tcGFueVNldHRpbmdzVHJpZ2dlcmVkPihcclxuICAgICAgQXV0aGVudGljYXRpb25BY3Rpb25UeXBlcy5HZXRDb21wYW55U2V0dGluZ3NUcmlnZ2VyZWRcclxuICAgICksXHJcbiAgICBzd2l0Y2hNYXAoKGFjdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy51c2VyU2VydmljZS5nZXRBbGxDb21wYW55U2V0dGluZ3NEZXRhaWxzKGFjdGlvbi5jb21wYW55U2V0dGluZ3NNb2RlbCkucGlwZShcclxuICAgICAgICBtYXAoKHJvbGVGZWF0dXJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocm9sZUZlYXR1cmVzLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oTG9jYWxTdG9yYWdlUHJvcGVydGllcy5Db21wYW55U2V0dGluZ3MsIEpTT04uc3RyaW5naWZ5KHJvbGVGZWF0dXJlcy5kYXRhKSk7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgR2V0Q29tcGFueVNldHRpbmdzQ29tcGxldGVkKHJvbGVGZWF0dXJlcy5kYXRhKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgR2V0Q29tcGFueVNldHRpbmdzRmFpbGVkKHJvbGVGZWF0dXJlcy5hcGlSZXNwb25zZU1lc3NhZ2VzKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSlcclxuICApO1xyXG5cclxuICBARWZmZWN0KClcclxuICBnZXR0aW5nUm9sZURldGFpbHNCeVVzZXJJZEFmdGVySW5pdGlhbGl6ZUxvZ2luRGF0YSQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZTxFbnRpdHlSb2xlc0J5VXNlcklkRmV0Y2hUcmlnZ2VyZWQ+KFxyXG4gICAgICBBdXRoZW50aWNhdGlvbkFjdGlvblR5cGVzLkVudGl0eVJvbGVzQnlVc2VySWRGZXRjaFRyaWdnZXJlZFxyXG4gICAgKSxcclxuICAgIHN3aXRjaE1hcChhY3Rpb24gPT4ge1xyXG4gICAgICBpZiAoYWN0aW9uLnJlcXVpcmVkVHlwZSA9PSAnZ29hbCcpIHtcclxuICAgICAgICB0aGlzLmdvYWxJZCA9IGFjdGlvbi5wcm9qZWN0SWQ7XHJcbiAgICAgICAgdGhpcy51c2VyU3RvcnlJZCA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5zcHJpbnRJZCA9IG51bGw7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAoYWN0aW9uLnJlcXVpcmVkVHlwZSA9PSAndXNlclN0b3J5Jykge1xyXG4gICAgICAgIHRoaXMudXNlclN0b3J5SWQgPSBhY3Rpb24ucHJvamVjdElkO1xyXG4gICAgICAgIHRoaXMuZ29hbElkID0gbnVsbDtcclxuICAgICAgICB0aGlzLnNwcmludElkID0gbnVsbDtcclxuICAgICAgfSBlbHNlIGlmIChhY3Rpb24ucmVxdWlyZWRUeXBlID09ICdzcHJpbnQnKSB7XHJcbiAgICAgICAgdGhpcy5zcHJpbnRJZCA9IGFjdGlvbi5wcm9qZWN0SWQ7XHJcbiAgICAgICAgdGhpcy5nb2FsSWQgPSBudWxsO1xyXG4gICAgICAgIHRoaXMudXNlclN0b3J5SWQgPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRoaXMudXNlclN0b3J5SWQgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuZ29hbElkID0gbnVsbDtcclxuICAgICAgICB0aGlzLnNwcmludElkID0gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmlzU3ByaW50VHlwZSA9IGFjdGlvbi5pc1NwcmludFR5cGU7XHJcbiAgICAgIHJldHVybiB0aGlzLmZlYXR1cmVTZXJ2aWNlLmdldEFsbFBlcm1pdHRlZEVudGl0eVJvbGVGZWF0dXJlc0J5VXNlcklkKCkucGlwZShcclxuICAgICAgICBtYXAoKHJvbGVGZWF0dXJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocm9sZUZlYXR1cmVzLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oTG9jYWxTdG9yYWdlUHJvcGVydGllcy5Vc2VyUm9sZUZlYXR1cmVzLCBKU09OLnN0cmluZ2lmeShyb2xlRmVhdHVyZXMuZGF0YSkpO1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IEVudGl0eVJlb2xlc0J5VXNlcklkRmV0Y2hDb21wbGV0ZWQocm9sZUZlYXR1cmVzLmRhdGEpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy52YWxpZGF0aW9uTWVzc2FnZXMgPSByb2xlRmVhdHVyZXMuYXBpUmVzcG9uc2VNZXNzYWdlcztcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBFbnRpdHlSb2xlc0J5VXNlcklkRmV0Y2hGYWlsZWQocm9sZUZlYXR1cmVzLmFwaVJlc3BvbnNlTWVzc2FnZXMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoZXJyID0+IHtcclxuICAgICAgICAgIHJldHVybiBvZihuZXcgRXhjZXB0aW9uSGFuZGxlZChlcnIpKTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSlcclxuICApO1xyXG5cclxuICBARWZmZWN0KClcclxuICBpbml0aWFsaXplQWZ0ZXJMb2dpbkRhdGEyJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPEluaXRpYWxpemVBZnRlckxvZ2luRGF0YT4oXHJcbiAgICAgIEF1dGhlbnRpY2F0aW9uQWN0aW9uVHlwZXMuSW5pdGlhbGl6ZUFmdGVyTG9naW5EYXRhXHJcbiAgICApLFxyXG4gICAgc3dpdGNoTWFwKChhY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMudXNlclNlcnZpY2UuZ2V0TG9nZ2VkSW5Vc2VyKCkucGlwZShcclxuICAgICAgICBtYXAoKHVzZXJSZWNvcmQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2codGhpcy53aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpO1xyXG4gICAgICAgICAgbGV0IGVudmlyb25tZW50ID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLkVudmlyb25tZW50KSk7XHJcbiAgICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KExvY2FsU3RvcmFnZVByb3BlcnRpZXMuQ3VycmVudFVzZXJJZCwgdXNlclJlY29yZC5kYXRhLmlkLCBudWxsLFxyXG4gICAgICAgICAgICBlbnZpcm9ubWVudC5jb29raWVQYXRoLCB0aGlzLndpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSwgZmFsc2UsIFwiU3RyaWN0XCIpO1xyXG4gICAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldChMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLkNvbXBhbnlOYW1lLCB1c2VyUmVjb3JkLmRhdGEuY29tcGFueU5hbWUsIG51bGwsIGVudmlyb25tZW50LmNvb2tpZVBhdGgsIHRoaXMud2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLCBmYWxzZSwgXCJTdHJpY3RcIik7XHJcbiAgICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KExvY2FsU3RvcmFnZVByb3BlcnRpZXMuQ29tcGFueUlkLCB1c2VyUmVjb3JkLmRhdGEuY29tcGFueUlkLCBudWxsLCBlbnZpcm9ubWVudC5jb29raWVQYXRoLCB0aGlzLndpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSwgZmFsc2UsIFwiU3RyaWN0XCIpO1xyXG4gICAgICAgICAgcmV0dXJuIG5ldyBVc2VyRGV0YWlsc0ZldGNoZWQodXNlclJlY29yZC5kYXRhKTtcclxuICAgICAgICB9KVxyXG4gICAgICApO1xyXG4gICAgfSlcclxuICApO1xyXG5cclxuICBARWZmZWN0KClcclxuICBzaG93VmFsaWRhdGlvbk1lc3NhZ2VzRm9Sb2xlRmVhdHVyZXMkOiBPYnNlcnZhYmxlPFxyXG4gICAgQWN0aW9uXHJcbiAgPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZTxSb2xlc0ZldGNoRmFpbGVkPihcclxuICAgICAgQXV0aGVudGljYXRpb25BY3Rpb25UeXBlcy5Sb2xlc0ZldGNoRmFpbGVkXHJcbiAgICApLFxyXG4gICAgcGlwZShcclxuICAgICAgbWFwKFxyXG4gICAgICAgICgpID0+IHtcclxuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy52YWxpZGF0aW9uTWVzc2FnZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBTaG93RXhjZXB0aW9uTWVzc2FnZXMoe1xyXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMudmFsaWRhdGlvbk1lc3NhZ2VzW2ldLm1lc3NhZ2UgLy8gVE9ETzogQ2hhbmdlIHRvIHByb3BlciB0b2FzdCBtZXNzYWdlXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgKVxyXG4gICAgKVxyXG4gICk7XHJcblxyXG4gIEBFZmZlY3QoKVxyXG4gIHNob3dWYWxpZGF0aW9uTWVzc2FnZXNGb3JFbnRpdHlSb2xlcyQ6IE9ic2VydmFibGU8XHJcbiAgICBBY3Rpb25cclxuICA+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPEVudGl0eVJvbGVzQnlVc2VySWRGZXRjaEZhaWxlZD4oXHJcbiAgICAgIEF1dGhlbnRpY2F0aW9uQWN0aW9uVHlwZXMuRW50aXR5Um9sZXNCeVVzZXJJZEZldGNoRmFpbGVkXHJcbiAgICApLFxyXG4gICAgc3dpdGNoTWFwKChzZWFyY2hBY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIG9mKG5ldyBTaG93VmFsaWRhdGlvbk1lc3NhZ2VzKHtcclxuICAgICAgICB2YWxpZGF0aW9uTWVzc2FnZXM6IHNlYXJjaEFjdGlvbi52YWxpZGF0aW9uTWVzc2FnZXNcclxuICAgICAgfSlcclxuICAgICAgKVxyXG4gICAgfSlcclxuICApO1xyXG5cclxuICBARWZmZWN0KClcclxuICBzaG93VmFsaWRhdGlvbk1lc3NhZ2VzRm9yQ29tcGFueVNldHRpbmdzJDogT2JzZXJ2YWJsZTxcclxuICAgIEFjdGlvblxyXG4gID4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGU8R2V0Q29tcGFueVNldHRpbmdzRmFpbGVkPihcclxuICAgICAgQXV0aGVudGljYXRpb25BY3Rpb25UeXBlcy5HZXRDb21wYW55U2V0dGluZ3NGYWlsZWRcclxuICAgICksXHJcbiAgICBzd2l0Y2hNYXAoKHNlYXJjaEFjdGlvbikgPT4ge1xyXG4gICAgICByZXR1cm4gb2YobmV3IFNob3dWYWxpZGF0aW9uTWVzc2FnZXMoe1xyXG4gICAgICAgIHZhbGlkYXRpb25NZXNzYWdlczogc2VhcmNoQWN0aW9uLnZhbGlkYXRpb25NZXNzYWdlc1xyXG4gICAgICB9KVxyXG4gICAgICApXHJcbiAgICB9KVxyXG4gICk7XHJcblxyXG4gIEBFZmZlY3QoKVxyXG4gIGRlbW9EYXRhQ2xlYXJFdmVudFRyaWdncmVkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPENsZWFyRGVtb0RhdGFUcmlnZ3JlZD4oXHJcbiAgICAgIEF1dGhlbnRpY2F0aW9uQWN0aW9uVHlwZXMuQ2xlYXJEZW1vRGF0YVRyaWdncmVkXHJcbiAgICApLFxyXG4gICAgc3dpdGNoTWFwKChhY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuZmVhdHVyZVNlcnZpY2UuY2xlYXJEZW1vRGF0YSgpLnBpcGUoXHJcbiAgICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzcG9uc2Uuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0ci5zdWNjZXNzKFwiRGVtbyBkYXRhIGNsZWFyZWQgc3VjY2Vzc2Z1bGx5XCIpO1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IENsZWFyRGVtb0RhdGFDb21wbGV0ZWQocmVzcG9uc2UuZGF0YSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnZhbGlkYXRpb25NZXNzYWdlcyA9IHJlc3BvbnNlLmFwaVJlc3BvbnNlTWVzc2FnZXM7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3RyLmVycm9yKHRoaXMudmFsaWRhdGlvbk1lc3NhZ2VzWzBdLm1lc3NhZ2UpO1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IENsZWFyRGVtb0RhdGFGYWlsZWQocmVzcG9uc2UuYXBpUmVzcG9uc2VNZXNzYWdlcyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgKTtcclxuICAgIH0pXHJcbiAgKTtcclxuXHJcbiAgQEVmZmVjdCgpXHJcbiAgZ2V0VGhlbWVDb2xvciQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZTxHZXRDb21wYW55VGhlbWVUcmlnZ2VyZWQ+KFxyXG4gICAgICBBdXRoZW50aWNhdGlvbkFjdGlvblR5cGVzLkdldENvbXBhbnlUaGVtZVRyaWdnZXJlZCxcclxuICAgICksXHJcbiAgICBzd2l0Y2hNYXAoYWN0aW9uID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXV0aGVudGljYXRpb25TZXJ2aWNlLmdldFRoZW1lcygpLnBpcGUoXHJcbiAgICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzcG9uc2Uuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICBsZXQgZW52aXJvbm1lbnQgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKExvY2FsU3RvcmFnZVByb3BlcnRpZXMuRW52aXJvbm1lbnQpKTtcclxuICAgICAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldChMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLkNvbXBhbnlUaGVtZSwgSlNPTi5zdHJpbmdpZnkocmVzcG9uc2UuZGF0YSksIG51bGwsIGVudmlyb25tZW50LmNvb2tpZVBhdGgsIHRoaXMud2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLCBmYWxzZSwgXCJTdHJpY3RcIik7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgR2V0Q29tcGFueVRoZW1lQ29tcGxldGVkKHJlc3BvbnNlLmRhdGEpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgR2V0Q29tcGFueVRoZW1lRmFpbGVkKHJlc3BvbnNlLmFwaVJlc3BvbnNlTWVzc2FnZXMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgICk7XHJcbiAgICB9KVxyXG4gICk7XHJcblxyXG4gIEBFZmZlY3QoKVxyXG4gIGRlbW9EYXRhQ2xlYXJFdmVudFN1Y2Nlc3NmdWwkOiBPYnNlcnZhYmxlPFxyXG4gICAgQWN0aW9uXHJcbiAgPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZTxDbGVhckRlbW9EYXRhQ29tcGxldGVkPihcclxuICAgICAgQXV0aGVudGljYXRpb25BY3Rpb25UeXBlcy5DbGVhckRlbW9EYXRhQ29tcGxldGVkXHJcbiAgICApLFxyXG4gICAgcGlwZShcclxuICAgICAgbWFwKCgpID0+IHtcclxuICAgICAgICByZXR1cm4gbmV3IEluaXRpYWxpemVBZnRlckxvZ2luRGF0YSgpO1xyXG4gICAgICB9KVxyXG4gICAgKVxyXG4gICk7XHJcblxyXG4gIC8vIEBFZmZlY3QoKVxyXG4gIC8vIGxvYWRHb2FsQW5kVXNlclN0b3J5RGF0YSQ6IE9ic2VydmFibGU8XHJcbiAgLy8gICBBY3Rpb25cclxuICAvLyA+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gIC8vICAgb2ZUeXBlPEVudGl0eVJlb2xlc0J5VXNlcklkRmV0Y2hDb21wbGV0ZWQ+KFxyXG4gIC8vICAgICBBdXRoZW50aWNhdGlvbkFjdGlvblR5cGVzLkVudGl0eVJlb2xlc0J5VXNlcklkRmV0Y2hDb21wbGV0ZWRcclxuICAvLyAgICksXHJcbiAgLy8gICBwaXBlKFxyXG4gIC8vICAgICBtYXAoKCkgPT4ge1xyXG4gIC8vICAgICAgIGlmICh0aGlzLmdvYWxJZCkge1xyXG4gIC8vICAgICAgICAgcmV0dXJuIG5ldyBHZXRVbmlxdWVHb2FsQnlJZFRyaWdnZXJlZCh0aGlzLmdvYWxJZCk7XHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICAgIGVsc2UgaWYgKHRoaXMudXNlclN0b3J5SWQpIHtcclxuICAvLyAgICAgICAgIGlmICh0aGlzLmlzU3ByaW50VHlwZSkge1xyXG4gIC8vICAgICAgICAgICByZXR1cm4gbmV3IEdldFVuaXF1ZVNwcmludFdvcmtJdGVtQnlJZFRyaWdnZXJlZCh0aGlzLnVzZXJTdG9yeUlkKTtcclxuICAvLyAgICAgICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgICAgIHJldHVybiBuZXcgR2V0VW5pcXVlVXNlclN0b3J5QnlJZFRyaWdnZXJlZCh0aGlzLnVzZXJTdG9yeUlkKTtcclxuICAvLyAgICAgICAgIH1cclxuICAvLyAgICAgICB9IGVsc2UgaWYgKHRoaXMuc3ByaW50SWQpIHtcclxuICAvLyAgICAgICAgIHJldHVybiBuZXcgR2V0VW5pcXVlU3ByaW50c0J5SWRUcmlnZ2VyZWQodGhpcy5zcHJpbnRJZCk7XHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICAgIGVsc2Uge1xyXG4gIC8vICAgICAgICAgcmV0dXJuIG5ldyBBcmNoaXZlVW5BcmNoaXZlR29hbENvbXBsZXRlZCgpO1xyXG4gIC8vICAgICAgIH1cclxuXHJcbiAgLy8gICAgIH0pXHJcbiAgLy8gICApXHJcbiAgLy8gKTtcclxuXHJcbiAgQEVmZmVjdCgpXHJcbiAgZ2V0VXNlclN0b3JlSWREZXRhaWxzJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPEdldFVzZXJTdG9yZUlkVHJpZ2dlcmVkPihBdXRoZW50aWNhdGlvbkFjdGlvblR5cGVzLkdldFVzZXJTdG9yZUlkVHJpZ2dlcmVkKSxcclxuICAgIHN3aXRjaE1hcChzZWFyY2hBY3Rpb24gPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy51c2VyU2VydmljZVxyXG4gICAgICAgIC5nZXRTdG9yZXMoc2VhcmNoQWN0aW9uLnNlYXJjaFVzZXJTdG9yZURldGFpbHNNb2RlbClcclxuICAgICAgICAucGlwZShtYXAoKHN0b3JlRGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAoc3RvcmVEYXRhLnN1Y2Nlc3MgPT09IHRydWUpXHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgR2V0VXNlclN0b3JlSWRDb21wbGV0ZWQoc3RvcmVEYXRhLmRhdGFbMF0pO1xyXG4gICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICByZXR1cm4gbmV3IEdldFVzZXJTdG9yZUlkRmFpbGVkKHN0b3JlRGF0YS5hcGlSZXNwb25zZU1lc3NhZ2VzKTtcclxuICAgICAgICB9KSxcclxuICAgICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gb2YobmV3IEV4Y2VwdGlvbkhhbmRsZWQoZXJyb3IpKTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgIH0pXHJcbiAgKTtcclxuXHJcbiAgQEVmZmVjdCgpXHJcbiAgc2hvd1ZhbGlkYXRpb25NZXNzYWdlc0ZvckdldFVzZXJTdG9yZUlkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPEdldFVzZXJTdG9yZUlkRmFpbGVkPihBdXRoZW50aWNhdGlvbkFjdGlvblR5cGVzLkdldFVzZXJTdG9yZUlkRmFpbGVkKSxcclxuICAgIHN3aXRjaE1hcChzZWFyY2hBY3Rpb24gPT4ge1xyXG4gICAgICByZXR1cm4gb2YobmV3IFNob3dWYWxpZGF0aW9uTWVzc2FnZXMoe1xyXG4gICAgICAgIHZhbGlkYXRpb25NZXNzYWdlczogc2VhcmNoQWN0aW9uLnZhbGlkYXRpb25NZXNzYWdlcyxcclxuICAgICAgfSlcclxuICAgICAgKVxyXG4gICAgfSlcclxuICApO1xyXG5cclxuICBARWZmZWN0KClcclxuICBleGNlcHRpb25IYW5kbGVkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPEV4Y2VwdGlvbkhhbmRsZWQ+KEF1dGhlbnRpY2F0aW9uQWN0aW9uVHlwZXMuRXhjZXB0aW9uSGFuZGxlZCksXHJcbiAgICBzd2l0Y2hNYXAoc2VhcmNoQWN0aW9uID0+IHtcclxuICAgICAgcmV0dXJuIG9mKG5ldyBTaG93RXhjZXB0aW9uTWVzc2FnZXMoe1xyXG4gICAgICAgIG1lc3NhZ2U6IHNlYXJjaEFjdGlvbi5lcnJvck1lc3NhZ2UsIC8vIFRPRE86IENoYW5nZSB0byBwcm9wZXIgdG9hc3QgbWVzc2FnZVxyXG4gICAgICB9KVxyXG4gICAgICApXHJcbiAgICB9KVxyXG4gICk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucyxcclxuICAgIHByaXZhdGUgYXV0aGVudGljYXRpb25TZXJ2aWNlOiBBdXRoZW50aWNhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBDb21tb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb21tb25TZXJ2aWNlOiBDb21tb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmZWF0dXJlU2VydmljZTogTWVudUl0ZW1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb29raWVTZXJ2aWNlOiBDb29raWVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0b2FzdHI6IFRvYXN0clNlcnZpY2UsXHJcbiAgICBASW5qZWN0KFdJTkRPVykgcHJpdmF0ZSB3aW5kb3c6IFdpbmRvd1xyXG4gICkgeyB9XHJcbn1cclxuIl19
|
|
@@ -71,8 +71,8 @@ export class MessageEffects {
|
|
|
71
71
|
})));
|
|
72
72
|
}
|
|
73
73
|
}
|
|
74
|
-
MessageEffects.ɵfac =
|
|
75
|
-
MessageEffects.ɵprov = i0.ɵɵ
|
|
74
|
+
MessageEffects.ɵfac = function MessageEffects_Factory(t) { return new (t || MessageEffects)(i0.ɵɵinject(i1.Actions)); };
|
|
75
|
+
MessageEffects.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MessageEffects, factory: MessageEffects.ɵfac });
|
|
76
76
|
__decorate([
|
|
77
77
|
Effect()
|
|
78
78
|
], MessageEffects.prototype, "MessageTrigged$", void 0);
|
|
@@ -133,7 +133,7 @@ __decorate([
|
|
|
133
133
|
__decorate([
|
|
134
134
|
Effect()
|
|
135
135
|
], MessageEffects.prototype, "ReceiveSignalFailed$", void 0);
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc2hlbGwtbW9kdWxlLWNvbXBvbmVudHMvc2hlbGwtY29tcG9uZW50cy9zcmMvbGliL3NoZWxsLWNvbXBvbmVudHMvc3RvcmUvZWZmZWN0cy9jaGF0LmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFSCxnQkFBZ0IsRUFDaEIsYUFBYSxFQUViLHVCQUF1QixFQUN2QixvQkFBb0IsRUFFcEIsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUNuQixjQUFjLEVBQ2QsV0FBVyxFQUdYLHdCQUF3QixFQUN4QiwyQkFBMkIsRUFFM0IsK0JBQStCLEVBQy9CLDRCQUE0QixFQUM1QixrQkFBa0IsRUFFbEIsNEJBQTRCLEVBQzVCLCtCQUErQixFQUUvQiwrQkFBK0IsRUFDL0Isa0NBQWtDLEVBRWxDLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLHNCQUFzQixFQUV6QixNQUFNLHlCQUF5QixDQUFBO0FBRWhDLE9BQU8sRUFBYyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFXLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUkzQyxNQUFNLE9BQU8sY0FBYztJQW1NdkIsWUFBb0IsUUFBaUI7UUFBakIsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQWhNckMsb0JBQWUsR0FBdUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3BELE1BQU0sQ0FBbUIsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsRUFDN0QsSUFBSSxDQUNBLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ1gsT0FBTyxJQUFJLGdCQUFn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RUFRUDtBQUVGO0lBREMsTUFBTSxFQUFFOzJFQVFQO0FBR0Y7SUFEQyxNQUFNLEVBQUU7d0VBUVA7QUFFRjtJQURDLE1BQU0sRUFBRTsrREFRUDtBQUdGO0lBREMsTUFBTSxFQUFFOzREQVFQO0FBRUY7SUFEQyxNQUFNLEVBQUU7K0RBUVA7QUFHRjtJQURDLE1BQU0sRUFBRTs0REFRUDsyRkFsTU8sY0FBYztrQkFGMUIsVUFBVTs4RkFLUCxlQUFlLE1BVWYsY0FBYyxNQVVkLHNCQUFzQixNQVV0QixxQkFBcUIsTUFVckIsdUJBQXVCLE1BVXZCLG9CQUFvQixNQVNwQixlQUFlLE1BVWYsWUFBWSxNQVVaLDRCQUE0QixNQVU1Qix5QkFBeUIsTUFTekIsZ0NBQWdDLE1BVWhDLDZCQUE2QixNQVM3QixnQ0FBZ0MsTUFVaEMsNkJBQTZCLE1BUzdCLG1DQUFtQyxNQVVuQyxnQ0FBZ0MsTUFTaEMsdUJBQXVCLE1BVXZCLG9CQUFvQixNQVNwQix1QkFBdUIsTUFVdkIsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIE1lc3NhZ2VUcmlnZ2VyZWQsXHJcbiAgICBNZXNzYWdlQ29tcGxldGVkLFxyXG4gICAgTWVzc2FnZUZhaWxlZCxcclxuICAgIFJlY2VpdmVNZXNzYWdlVHJpZ2dlcmVkLFxyXG4gICAgUmVjZWl2ZU1lc3NhZ2VDb21wbGV0ZWQsXHJcbiAgICBSZWNlaXZlTWVzc2FnZUZhaWxlZCxcclxuICAgIFByZXNlbmNlRXZlbnRUcmlnZ2VyZWQsXHJcbiAgICBQcmVzZW5jZUV2ZW50Q29tcGxldGVkLFxyXG4gICAgUHJlc2VuY2VFdmVudEZhaWxlZCxcclxuICAgIENvdW50Q29tcGxldGVkLFxyXG4gICAgQ291bnRGYWlsZWQsXHJcbiAgICBDb3VudFRyaWdnZXJlZCxcclxuICAgIEluaXRhbFN0YXRlT2ZVc2Vyc1RyaWdnZXJlZCxcclxuICAgIEluaXRhbFN0YXRlT2ZVc2Vyc0ZhaWxlZCxcclxuICAgIEluaXRhbFN0YXRlT2ZVc2Vyc0NvbXBsZXRlZCxcclxuICAgIFJlcXVlc3RpbmdTdGF0ZU9mVXNlcnNUcmlnZ2VyZWQsXHJcbiAgICBSZXF1ZXN0aW5nU3RhdGVPZlVzZXJzQ29tcGxldGVkLFxyXG4gICAgUmVxdWVzdGluZ1N0YXRlT2ZVc2Vyc0ZhaWxlZCxcclxuICAgIE1lc3NhZ2VBY3Rpb25UeXBlcyxcclxuICAgIFNlbmRDaGFubmVsVXBkYXRlTW9kZWxUcmlnZ2VyZWQsXHJcbiAgICBTZW5kQ2hhbm5lbFVwZGF0ZU1vZGVsRmFpbGVkLFxyXG4gICAgU2VuZENoYW5uZWxVcGRhdGVNb2RlbENvbXBsZXRlZCxcclxuICAgIFJlY2VpdmVDaGFubmVsVXBkYXRlTW9kZWxUcmlnZ2VyZWQsXHJcbiAgICBSZWNlaXZlQ2hhbm5lbFVwZGF0ZU1vZGVsRmFpbGVkLFxyXG4gICAgUmVjZWl2ZUNoYW5uZWxVcGRhdGVNb2RlbENvbXBsZXRlZCxcclxuICAgIFNlbmRpbmdTaWduYWxUcmlnZ2VyZWQsXHJcbiAgICBTZW5kaW5nU2lnbmFsQ29tcGxldGVkLFxyXG4gICAgU2VuZGluZ1NpZ25hbEZhaWxlZCxcclxuICAgIFJlY2VpdmVTaWduYWxGYWlsZWQsXHJcbiAgICBSZWNlaXZlU2lnbmFsQ29tcGxldGVkLFxyXG4gICAgUmVjZWl2ZVNpZ25hbFRyaWdnZXJlZFxyXG59IGZyb20gXCIuLi9hY3Rpb25zL2NoYXQuYWN0aW9uc1wiXHJcbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gXCJAbmdyeC9zdG9yZVwiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBwaXBlIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgQWN0aW9ucywgRWZmZWN0LCBvZlR5cGUgfSBmcm9tIFwiQG5ncngvZWZmZWN0c1wiO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5cclxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VFZmZlY3RzIHtcclxuXHJcbiAgICBARWZmZWN0KClcclxuICAgIE1lc3NhZ2VUcmlnZ2VkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICAgIG9mVHlwZTxNZXNzYWdlVHJpZ2dlcmVkPihNZXNzYWdlQWN0aW9uVHlwZXMuTWVzc2FnZVRyaWdnZXJlZCksXHJcbiAgICAgICAgcGlwZShcclxuICAgICAgICAgICAgbWFwKChhY3Rpb24pID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgTWVzc2FnZUNvbXBsZXRlZChhY3Rpb24ubWVzc2FnZURldGFpbHMpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgICk7XHJcblxyXG4gICAgQEVmZmVjdCgpXHJcbiAgICBNZXNzYWdlRmFpbGVkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICAgIG9mVHlwZTxNZXNzYWdlRmFpbGVkPihNZXNzYWdlQWN0aW9uVHlwZXMuTWVzc2FnZUZhaWxlZCksXHJcbiAgICAgICAgcGlwZShcclxuICAgICAgICAgICAgbWFwKChhY3Rpb24pID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgTWVzc2FnZUZhaWxlZChhY3Rpb24uZXJyb3JNZXNzYWdlKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApXHJcbiAgICApO1xyXG5cclxuICAgIEBFZmZlY3QoKVxyXG4gICAgUmVjZWl2ZU1lc3NhZ2VUcmlnZ2VkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICAgIG9mVHlwZTxSZWNlaXZlTWVzc2FnZVRyaWdnZXJlZD4oTWVzc2FnZUFjdGlvblR5cGVzLlJlY2VpdmVNZXNzYWdlVHJpZ2dlcmVkKSxcclxuICAgICAgICBwaXBlKFxyXG4gICAgICAgICAgICBtYXAoKGFjdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBSZWNlaXZlTWVzc2FnZUNvbXBsZXRlZChhY3Rpb24ubWVzc2FnZURldGFpbHMpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgICk7XHJcblxyXG4gICAgQEVmZmVjdCgpXHJcbiAgICBSZWNlaXZlTWVzc2FnZUZhaWxlZCQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgICAgICBvZlR5cGU8TWVzc2FnZUZhaWxlZD4oTWVzc2FnZUFjdGlvblR5cGVzLlJlY2VpdmVNZXNzYWdlRmFpbGVkKSxcclxuICAgICAgICBwaXBlKFxyXG4gICAgICAgICAgICBtYXAoKGFjdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBSZWNlaXZlTWVzc2FnZUZhaWxlZChhY3Rpb24uZXJyb3JNZXNzYWdlKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApXHJcbiAgICApO1xyXG5cclxuICAgIEBFZmZlY3QoKVxyXG4gICAgUHJlc2VuY2VFdmVudFRyaWdnZXJlZCQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgICAgICBvZlR5cGU8UHJlc2VuY2VFdmVudFRyaWdnZXJlZD4oTWVzc2FnZUFjdGlvblR5cGVzLlByZXNlbmNlRXZlbnRUcmlnZ2VyZWQpLFxyXG4gICAgICAgIHBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgoYWN0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByZXNlbmNlRXZlbnRDb21wbGV0ZWQoYWN0aW9uLmVtcGxveWVlU3RhdHVzTW9kZWwpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgICk7XHJcblxyXG4gICAgQEVmZmVjdCgpXHJcbiAgICBQcmVzZW5jZUV2ZW50RmFpbGVkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICAgIG9mVHlwZTxQcmVzZW5jZUV2ZW50RmFpbGVkPihNZXNzYWdlQWN0aW9uVHlwZXMuUHJlc2VuY2VFdmVudEZhaWxlZCksXHJcbiAgICAgICAgcGlwZShcclxuICAgICAgICAgICAgbWFwKChhY3Rpb24pID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJlc2VuY2VFdmVudEZhaWxlZChhY3Rpb24uZXJyb3JNZXNzYWdlKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApXHJcbiAgICApO1xyXG4gICAgQEVmZmVjdCgpXHJcbiAgICBDb3VudFRyaWdnZXJlZCQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgICAgICBvZlR5cGU8Q291bnRUcmlnZ2VyZWQ+KE1lc3NhZ2VBY3Rpb25UeXBlcy5Db3VudFRyaWdnZXJlZCksXHJcbiAgICAgICAgcGlwZShcclxuICAgICAgICAgICAgbWFwKChhY3Rpb24pID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQ291bnRDb21wbGV0ZWQoYWN0aW9uLm1lc3NhZ2VDb3VudCk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKVxyXG4gICAgKTtcclxuXHJcbiAgICBARWZmZWN0KClcclxuICAgIENvdW50RmFpbGVkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICAgIG9mVHlwZTxDb3VudEZhaWxlZD4oTWVzc2FnZUFjdGlvblR5cGVzLkNvdW50RmFpbGVkKSxcclxuICAgICAgICBwaXBlKFxyXG4gICAgICAgICAgICBtYXAoKGFjdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDb3VudEZhaWxlZChhY3Rpb24uZXJyb3JNZXNzYWdlKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApXHJcbiAgICApO1xyXG5cclxuICAgIEBFZmZlY3QoKVxyXG4gICAgSW5pdGFsU3RhdGVPZlVzZXJzVHJpZ2dlcmVkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICAgIG9mVHlwZTxJbml0YWxTdGF0ZU9mVXNlcnNUcmlnZ2VyZWQ+KE1lc3NhZ2VBY3Rpb25UeXBlcy5Jbml0YWxTdGF0ZU9mVXNlcnNUcmlnZ2VyZWQpLFxyXG4gICAgICAgIHBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgoYWN0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEluaXRhbFN0YXRlT2ZVc2Vyc0NvbXBsZXRlZChhY3Rpb24uaW5pdGlhbFN0YXR1c09mVXNlcnMpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgICk7XHJcblxyXG4gICAgQEVmZmVjdCgpXHJcbiAgICBJbml0YWxTdGF0ZU9mVXNlcnNGYWlsZWQkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICAgICAgb2ZUeXBlPEluaXRhbFN0YXRlT2ZVc2Vyc0ZhaWxlZD4oTWVzc2FnZUFjdGlvblR5cGVzLkluaXRhbFN0YXRlT2ZVc2Vyc0ZhaWxlZCksXHJcbiAgICAgICAgcGlwZShcclxuICAgICAgICAgICAgbWFwKChhY3Rpb24pID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgSW5pdGFsU3RhdGVPZlVzZXJzRmFpbGVkKGFjdGlvbi5lcnJvck1lc3NhZ2UpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgICk7XHJcbiAgICBARWZmZWN0KClcclxuICAgIFJlcXVlc3RpbmdTdGF0ZU9mVXNlcnNUcmlnZ2VyZWQkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICAgICAgb2ZUeXBlPFJlcXVlc3RpbmdTdGF0ZU9mVXNlcnNUcmlnZ2VyZWQ+KE1lc3NhZ2VBY3Rpb25UeXBlcy5SZXF1ZXN0aW5nU3RhdGVPZlVzZXJzVHJpZ2dlcmVkKSxcclxuICAgICAgICBwaXBlKFxyXG4gICAgICAgICAgICBtYXAoKGFjdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBSZXF1ZXN0aW5nU3RhdGVPZlVzZXJzQ29tcGxldGVkKGFjdGlvbi5nb3RDb2xsZWFndWVzKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApXHJcbiAgICApO1xyXG5cclxuICAgIEBFZmZlY3QoKVxyXG4gICAgUmVxdWVzdGluZ1N0YXRlT2ZVc2Vyc0ZhaWxlZCQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgICAgICBvZlR5cGU8UmVxdWVzdGluZ1N0YXRlT2ZVc2Vyc0ZhaWxlZD4oTWVzc2FnZUFjdGlvblR5cGVzLlJlcXVlc3RpbmdTdGF0ZU9mVXNlcnNGYWlsZWQpLFxyXG4gICAgICAgIHBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgoYWN0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFJlcXVlc3RpbmdTdGF0ZU9mVXNlcnNGYWlsZWQoYWN0aW9uLmVycm9yTWVzc2FnZSk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKVxyXG4gICAgKTtcclxuICAgIEBFZmZlY3QoKVxyXG4gICAgU2VuZENoYW5uZWxVcGRhdGVNb2RlbFRyaWdnZXJlZCQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgICAgICBvZlR5cGU8U2VuZENoYW5uZWxVcGRhdGVNb2RlbFRyaWdnZXJlZD4oTWVzc2FnZUFjdGlvblR5cGVzLlNlbmRDaGFubmVsVXBkYXRlTW9kZWxUcmlnZ2VyZWQpLFxyXG4gICAgICAgIHBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgoYWN0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFNlbmRDaGFubmVsVXBkYXRlTW9kZWxDb21wbGV0ZWQoYWN0aW9uLmNoYW5uZWxVcGRhdGVNb2RlbCk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKVxyXG4gICAgKTtcclxuXHJcbiAgICBARWZmZWN0KClcclxuICAgIFNlbmRDaGFubmVsVXBkYXRlTW9kZWxGYWlsZWQkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICAgICAgb2ZUeXBlPFNlbmRDaGFubmVsVXBkYXRlTW9kZWxGYWlsZWQ+KE1lc3NhZ2VBY3Rpb25UeXBlcy5TZW5kQ2hhbm5lbFVwZGF0ZU1vZGVsRmFpbGVkKSxcclxuICAgICAgICBwaXBlKFxyXG4gICAgICAgICAgICBtYXAoKGFjdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBTZW5kQ2hhbm5lbFVwZGF0ZU1vZGVsRmFpbGVkKGFjdGlvbi5lcnJvck1lc3NhZ2UpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgICk7XHJcbiAgICBARWZmZWN0KClcclxuICAgIFJlY2VpdmVDaGFubmVsVXBkYXRlTW9kZWxUcmlnZ2VyZWQkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICAgICAgb2ZUeXBlPFJlY2VpdmVDaGFubmVsVXBkYXRlTW9kZWxUcmlnZ2VyZWQ+KE1lc3NhZ2VBY3Rpb25UeXBlcy5SZWNlaXZlQ2hhbm5lbFVwZGF0ZU1vZGVsVHJpZ2dlcmVkKSxcclxuICAgICAgICBwaXBlKFxyXG4gICAgICAgICAgICBtYXAoKGFjdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBSZWNlaXZlQ2hhbm5lbFVwZGF0ZU1vZGVsQ29tcGxldGVkKGFjdGlvbi5jaGFubmVsVXBkYXRlTW9kZWwpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgICk7XHJcblxyXG4gICAgQEVmZmVjdCgpXHJcbiAgICBSZWNlaXZlQ2hhbm5lbFVwZGF0ZU1vZGVsRmFpbGVkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICAgIG9mVHlwZTxSZWNlaXZlQ2hhbm5lbFVwZGF0ZU1vZGVsRmFpbGVkPihNZXNzYWdlQWN0aW9uVHlwZXMuUmVjZWl2ZUNoYW5uZWxVcGRhdGVNb2RlbEZhaWxlZCksXHJcbiAgICAgICAgcGlwZShcclxuICAgICAgICAgICAgbWFwKChhY3Rpb24pID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUmVjZWl2ZUNoYW5uZWxVcGRhdGVNb2RlbEZhaWxlZChhY3Rpb24uZXJyb3JNZXNzYWdlKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApXHJcbiAgICApO1xyXG4gICAgQEVmZmVjdCgpXHJcbiAgICBTZW5kaW5nU2lnbmFsVHJpZ2dlcmVkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICAgIG9mVHlwZTxTZW5kaW5nU2lnbmFsVHJpZ2dlcmVkPihNZXNzYWdlQWN0aW9uVHlwZXMuU2VuZGluZ1NpZ25hbFRyaWdnZXJlZCksXHJcbiAgICAgICAgcGlwZShcclxuICAgICAgICAgICAgbWFwKChhY3Rpb24pID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgU2VuZGluZ1NpZ25hbENvbXBsZXRlZChhY3Rpb24ubWVzc2FnZVR5cGluZ0RldGFpbHMpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgICk7XHJcblxyXG4gICAgQEVmZmVjdCgpXHJcbiAgICBTZW5kaW5nU2lnbmFsRmFpbGVkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICAgIG9mVHlwZTwgU2VuZGluZ1NpZ25hbEZhaWxlZD4oTWVzc2FnZUFjdGlvblR5cGVzLiBTZW5kaW5nU2lnbmFsRmFpbGVkKSxcclxuICAgICAgICBwaXBlKFxyXG4gICAgICAgICAgICBtYXAoKGFjdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyAgU2VuZGluZ1NpZ25hbEZhaWxlZChhY3Rpb24uZXJyb3JNZXNzYWdlKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApXHJcbiAgICApO1xyXG4gICAgQEVmZmVjdCgpXHJcbiAgICBSZWNlaXZlU2lnbmFsVHJpZ2dlcmVkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICAgIG9mVHlwZTwgUmVjZWl2ZVNpZ25hbFRyaWdnZXJlZD4oTWVzc2FnZUFjdGlvblR5cGVzLiBSZWNlaXZlU2lnbmFsVHJpZ2dlcmVkKSxcclxuICAgICAgICBwaXBlKFxyXG4gICAgICAgICAgICBtYXAoKGFjdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBSZWNlaXZlU2lnbmFsQ29tcGxldGVkKGFjdGlvbi5tZXNzYWdlVHlwaW5nRGV0YWlscyk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKVxyXG4gICAgKTtcclxuXHJcbiAgICBARWZmZWN0KClcclxuICAgIFJlY2VpdmVTaWduYWxGYWlsZWQkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICAgICAgb2ZUeXBlPCAgUmVjZWl2ZVNpZ25hbEZhaWxlZD4oTWVzc2FnZUFjdGlvblR5cGVzLiAgUmVjZWl2ZVNpZ25hbEZhaWxlZCksXHJcbiAgICAgICAgcGlwZShcclxuICAgICAgICAgICAgbWFwKChhY3Rpb24pID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgIFJlY2VpdmVTaWduYWxGYWlsZWQoYWN0aW9uLmVycm9yTWVzc2FnZSk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKVxyXG4gICAgKTtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMpIHtcclxuICAgIH1cclxufSJdfQ==
|
|
136
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MessageEffects, [{
|
|
137
|
+
type: Injectable
|
|
138
|
+
}], function () { return [{ type: i1.Actions }]; }, { MessageTrigged$: [], MessageFailed$: [], ReceiveMessageTrigged$: [], ReceiveMessageFailed$: [], PresenceEventTriggered$: [], PresenceEventFailed$: [], CountTriggered$: [], CountFailed$: [], InitalStateOfUsersTriggered$: [], InitalStateOfUsersFailed$: [], RequestingStateOfUsersTriggered$: [], RequestingStateOfUsersFailed$: [], SendChannelUpdateModelTriggered$: [], SendChannelUpdateModelFailed$: [], ReceiveChannelUpdateModelTriggered$: [], ReceiveChannelUpdateModelFailed$: [], SendingSignalTriggered$: [], SendingSignalFailed$: [], ReceiveSignalTriggered$: [], ReceiveSignalFailed$: [] }); })();
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc2hlbGwtbW9kdWxlLWNvbXBvbmVudHMvc2hlbGwtY29tcG9uZW50cy9zcmMvbGliL3NoZWxsLWNvbXBvbmVudHMvc3RvcmUvZWZmZWN0cy9jaGF0LmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFFSCxnQkFBZ0IsRUFDaEIsYUFBYSxFQUViLHVCQUF1QixFQUN2QixvQkFBb0IsRUFFcEIsc0JBQXNCLEVBQ3RCLG1CQUFtQixFQUNuQixjQUFjLEVBQ2QsV0FBVyxFQUdYLHdCQUF3QixFQUN4QiwyQkFBMkIsRUFFM0IsK0JBQStCLEVBQy9CLDRCQUE0QixFQUM1QixrQkFBa0IsRUFFbEIsNEJBQTRCLEVBQzVCLCtCQUErQixFQUUvQiwrQkFBK0IsRUFDL0Isa0NBQWtDLEVBRWxDLHNCQUFzQixFQUN0QixtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLHNCQUFzQixFQUV6QixNQUFNLHlCQUF5QixDQUFBO0FBRWhDLE9BQU8sRUFBYyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFXLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUkzQyxNQUFNLE9BQU8sY0FBYztJQW1NdkIsWUFBb0IsUUFBaUI7UUFBakIsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQWhNckMsb0JBQWUsR0FBdUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3BELE1BQU0sQ0FBbUIsa0JBQWtCLENBQUMsZ0JBQWdCLENBQUMsRUFDN0QsSUFBSSxDQUNBLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ1gsT0FBTyxJQUFJLGdCQUFn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QUFNLEVBQUU7cUVBUVA7QUFFRjtJQURDLE1BQU0sRUFBRTsyRUFRUDtBQUdGO0lBREMsTUFBTSxFQUFFO3dFQVFQO0FBRUY7SUFEQyxNQUFNLEVBQUU7K0RBUVA7QUFHRjtJQURDLE1BQU0sRUFBRTs0REFRUDtBQUVGO0lBREMsTUFBTSxFQUFFOytEQVFQO0FBR0Y7SUFEQyxNQUFNLEVBQUU7NERBUVA7dUZBbE1PLGNBQWM7Y0FGMUIsVUFBVTswREFLUCxlQUFlLE1BVWYsY0FBYyxNQVVkLHNCQUFzQixNQVV0QixxQkFBcUIsTUFVckIsdUJBQXVCLE1BVXZCLG9CQUFvQixNQVNwQixlQUFlLE1BVWYsWUFBWSxNQVVaLDRCQUE0QixNQVU1Qix5QkFBeUIsTUFTekIsZ0NBQWdDLE1BVWhDLDZCQUE2QixNQVM3QixnQ0FBZ0MsTUFVaEMsNkJBQTZCLE1BUzdCLG1DQUFtQyxNQVVuQyxnQ0FBZ0MsTUFTaEMsdUJBQXVCLE1BVXZCLG9CQUFvQixNQVNwQix1QkFBdUIsTUFVdkIsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIE1lc3NhZ2VUcmlnZ2VyZWQsXHJcbiAgICBNZXNzYWdlQ29tcGxldGVkLFxyXG4gICAgTWVzc2FnZUZhaWxlZCxcclxuICAgIFJlY2VpdmVNZXNzYWdlVHJpZ2dlcmVkLFxyXG4gICAgUmVjZWl2ZU1lc3NhZ2VDb21wbGV0ZWQsXHJcbiAgICBSZWNlaXZlTWVzc2FnZUZhaWxlZCxcclxuICAgIFByZXNlbmNlRXZlbnRUcmlnZ2VyZWQsXHJcbiAgICBQcmVzZW5jZUV2ZW50Q29tcGxldGVkLFxyXG4gICAgUHJlc2VuY2VFdmVudEZhaWxlZCxcclxuICAgIENvdW50Q29tcGxldGVkLFxyXG4gICAgQ291bnRGYWlsZWQsXHJcbiAgICBDb3VudFRyaWdnZXJlZCxcclxuICAgIEluaXRhbFN0YXRlT2ZVc2Vyc1RyaWdnZXJlZCxcclxuICAgIEluaXRhbFN0YXRlT2ZVc2Vyc0ZhaWxlZCxcclxuICAgIEluaXRhbFN0YXRlT2ZVc2Vyc0NvbXBsZXRlZCxcclxuICAgIFJlcXVlc3RpbmdTdGF0ZU9mVXNlcnNUcmlnZ2VyZWQsXHJcbiAgICBSZXF1ZXN0aW5nU3RhdGVPZlVzZXJzQ29tcGxldGVkLFxyXG4gICAgUmVxdWVzdGluZ1N0YXRlT2ZVc2Vyc0ZhaWxlZCxcclxuICAgIE1lc3NhZ2VBY3Rpb25UeXBlcyxcclxuICAgIFNlbmRDaGFubmVsVXBkYXRlTW9kZWxUcmlnZ2VyZWQsXHJcbiAgICBTZW5kQ2hhbm5lbFVwZGF0ZU1vZGVsRmFpbGVkLFxyXG4gICAgU2VuZENoYW5uZWxVcGRhdGVNb2RlbENvbXBsZXRlZCxcclxuICAgIFJlY2VpdmVDaGFubmVsVXBkYXRlTW9kZWxUcmlnZ2VyZWQsXHJcbiAgICBSZWNlaXZlQ2hhbm5lbFVwZGF0ZU1vZGVsRmFpbGVkLFxyXG4gICAgUmVjZWl2ZUNoYW5uZWxVcGRhdGVNb2RlbENvbXBsZXRlZCxcclxuICAgIFNlbmRpbmdTaWduYWxUcmlnZ2VyZWQsXHJcbiAgICBTZW5kaW5nU2lnbmFsQ29tcGxldGVkLFxyXG4gICAgU2VuZGluZ1NpZ25hbEZhaWxlZCxcclxuICAgIFJlY2VpdmVTaWduYWxGYWlsZWQsXHJcbiAgICBSZWNlaXZlU2lnbmFsQ29tcGxldGVkLFxyXG4gICAgUmVjZWl2ZVNpZ25hbFRyaWdnZXJlZFxyXG59IGZyb20gXCIuLi9hY3Rpb25zL2NoYXQuYWN0aW9uc1wiXHJcbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gXCJAbmdyeC9zdG9yZVwiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBwaXBlIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgQWN0aW9ucywgRWZmZWN0LCBvZlR5cGUgfSBmcm9tIFwiQG5ncngvZWZmZWN0c1wiO1xyXG5pbXBvcnQgeyBtYXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5cclxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VFZmZlY3RzIHtcclxuXHJcbiAgICBARWZmZWN0KClcclxuICAgIE1lc3NhZ2VUcmlnZ2VkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICAgIG9mVHlwZTxNZXNzYWdlVHJpZ2dlcmVkPihNZXNzYWdlQWN0aW9uVHlwZXMuTWVzc2FnZVRyaWdnZXJlZCksXHJcbiAgICAgICAgcGlwZShcclxuICAgICAgICAgICAgbWFwKChhY3Rpb24pID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgTWVzc2FnZUNvbXBsZXRlZChhY3Rpb24ubWVzc2FnZURldGFpbHMpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgICk7XHJcblxyXG4gICAgQEVmZmVjdCgpXHJcbiAgICBNZXNzYWdlRmFpbGVkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICAgIG9mVHlwZTxNZXNzYWdlRmFpbGVkPihNZXNzYWdlQWN0aW9uVHlwZXMuTWVzc2FnZUZhaWxlZCksXHJcbiAgICAgICAgcGlwZShcclxuICAgICAgICAgICAgbWFwKChhY3Rpb24pID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgTWVzc2FnZUZhaWxlZChhY3Rpb24uZXJyb3JNZXNzYWdlKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApXHJcbiAgICApO1xyXG5cclxuICAgIEBFZmZlY3QoKVxyXG4gICAgUmVjZWl2ZU1lc3NhZ2VUcmlnZ2VkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICAgIG9mVHlwZTxSZWNlaXZlTWVzc2FnZVRyaWdnZXJlZD4oTWVzc2FnZUFjdGlvblR5cGVzLlJlY2VpdmVNZXNzYWdlVHJpZ2dlcmVkKSxcclxuICAgICAgICBwaXBlKFxyXG4gICAgICAgICAgICBtYXAoKGFjdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBSZWNlaXZlTWVzc2FnZUNvbXBsZXRlZChhY3Rpb24ubWVzc2FnZURldGFpbHMpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgICk7XHJcblxyXG4gICAgQEVmZmVjdCgpXHJcbiAgICBSZWNlaXZlTWVzc2FnZUZhaWxlZCQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgICAgICBvZlR5cGU8TWVzc2FnZUZhaWxlZD4oTWVzc2FnZUFjdGlvblR5cGVzLlJlY2VpdmVNZXNzYWdlRmFpbGVkKSxcclxuICAgICAgICBwaXBlKFxyXG4gICAgICAgICAgICBtYXAoKGFjdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBSZWNlaXZlTWVzc2FnZUZhaWxlZChhY3Rpb24uZXJyb3JNZXNzYWdlKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApXHJcbiAgICApO1xyXG5cclxuICAgIEBFZmZlY3QoKVxyXG4gICAgUHJlc2VuY2VFdmVudFRyaWdnZXJlZCQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgICAgICBvZlR5cGU8UHJlc2VuY2VFdmVudFRyaWdnZXJlZD4oTWVzc2FnZUFjdGlvblR5cGVzLlByZXNlbmNlRXZlbnRUcmlnZ2VyZWQpLFxyXG4gICAgICAgIHBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgoYWN0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFByZXNlbmNlRXZlbnRDb21wbGV0ZWQoYWN0aW9uLmVtcGxveWVlU3RhdHVzTW9kZWwpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgICk7XHJcblxyXG4gICAgQEVmZmVjdCgpXHJcbiAgICBQcmVzZW5jZUV2ZW50RmFpbGVkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICAgIG9mVHlwZTxQcmVzZW5jZUV2ZW50RmFpbGVkPihNZXNzYWdlQWN0aW9uVHlwZXMuUHJlc2VuY2VFdmVudEZhaWxlZCksXHJcbiAgICAgICAgcGlwZShcclxuICAgICAgICAgICAgbWFwKChhY3Rpb24pID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUHJlc2VuY2VFdmVudEZhaWxlZChhY3Rpb24uZXJyb3JNZXNzYWdlKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApXHJcbiAgICApO1xyXG4gICAgQEVmZmVjdCgpXHJcbiAgICBDb3VudFRyaWdnZXJlZCQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgICAgICBvZlR5cGU8Q291bnRUcmlnZ2VyZWQ+KE1lc3NhZ2VBY3Rpb25UeXBlcy5Db3VudFRyaWdnZXJlZCksXHJcbiAgICAgICAgcGlwZShcclxuICAgICAgICAgICAgbWFwKChhY3Rpb24pID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgQ291bnRDb21wbGV0ZWQoYWN0aW9uLm1lc3NhZ2VDb3VudCk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKVxyXG4gICAgKTtcclxuXHJcbiAgICBARWZmZWN0KClcclxuICAgIENvdW50RmFpbGVkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICAgIG9mVHlwZTxDb3VudEZhaWxlZD4oTWVzc2FnZUFjdGlvblR5cGVzLkNvdW50RmFpbGVkKSxcclxuICAgICAgICBwaXBlKFxyXG4gICAgICAgICAgICBtYXAoKGFjdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBDb3VudEZhaWxlZChhY3Rpb24uZXJyb3JNZXNzYWdlKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApXHJcbiAgICApO1xyXG5cclxuICAgIEBFZmZlY3QoKVxyXG4gICAgSW5pdGFsU3RhdGVPZlVzZXJzVHJpZ2dlcmVkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICAgIG9mVHlwZTxJbml0YWxTdGF0ZU9mVXNlcnNUcmlnZ2VyZWQ+KE1lc3NhZ2VBY3Rpb25UeXBlcy5Jbml0YWxTdGF0ZU9mVXNlcnNUcmlnZ2VyZWQpLFxyXG4gICAgICAgIHBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgoYWN0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEluaXRhbFN0YXRlT2ZVc2Vyc0NvbXBsZXRlZChhY3Rpb24uaW5pdGlhbFN0YXR1c09mVXNlcnMpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgICk7XHJcblxyXG4gICAgQEVmZmVjdCgpXHJcbiAgICBJbml0YWxTdGF0ZU9mVXNlcnNGYWlsZWQkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICAgICAgb2ZUeXBlPEluaXRhbFN0YXRlT2ZVc2Vyc0ZhaWxlZD4oTWVzc2FnZUFjdGlvblR5cGVzLkluaXRhbFN0YXRlT2ZVc2Vyc0ZhaWxlZCksXHJcbiAgICAgICAgcGlwZShcclxuICAgICAgICAgICAgbWFwKChhY3Rpb24pID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgSW5pdGFsU3RhdGVPZlVzZXJzRmFpbGVkKGFjdGlvbi5lcnJvck1lc3NhZ2UpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgICk7XHJcbiAgICBARWZmZWN0KClcclxuICAgIFJlcXVlc3RpbmdTdGF0ZU9mVXNlcnNUcmlnZ2VyZWQkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICAgICAgb2ZUeXBlPFJlcXVlc3RpbmdTdGF0ZU9mVXNlcnNUcmlnZ2VyZWQ+KE1lc3NhZ2VBY3Rpb25UeXBlcy5SZXF1ZXN0aW5nU3RhdGVPZlVzZXJzVHJpZ2dlcmVkKSxcclxuICAgICAgICBwaXBlKFxyXG4gICAgICAgICAgICBtYXAoKGFjdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBSZXF1ZXN0aW5nU3RhdGVPZlVzZXJzQ29tcGxldGVkKGFjdGlvbi5nb3RDb2xsZWFndWVzKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApXHJcbiAgICApO1xyXG5cclxuICAgIEBFZmZlY3QoKVxyXG4gICAgUmVxdWVzdGluZ1N0YXRlT2ZVc2Vyc0ZhaWxlZCQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgICAgICBvZlR5cGU8UmVxdWVzdGluZ1N0YXRlT2ZVc2Vyc0ZhaWxlZD4oTWVzc2FnZUFjdGlvblR5cGVzLlJlcXVlc3RpbmdTdGF0ZU9mVXNlcnNGYWlsZWQpLFxyXG4gICAgICAgIHBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgoYWN0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFJlcXVlc3RpbmdTdGF0ZU9mVXNlcnNGYWlsZWQoYWN0aW9uLmVycm9yTWVzc2FnZSk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKVxyXG4gICAgKTtcclxuICAgIEBFZmZlY3QoKVxyXG4gICAgU2VuZENoYW5uZWxVcGRhdGVNb2RlbFRyaWdnZXJlZCQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgICAgICBvZlR5cGU8U2VuZENoYW5uZWxVcGRhdGVNb2RlbFRyaWdnZXJlZD4oTWVzc2FnZUFjdGlvblR5cGVzLlNlbmRDaGFubmVsVXBkYXRlTW9kZWxUcmlnZ2VyZWQpLFxyXG4gICAgICAgIHBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgoYWN0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IFNlbmRDaGFubmVsVXBkYXRlTW9kZWxDb21wbGV0ZWQoYWN0aW9uLmNoYW5uZWxVcGRhdGVNb2RlbCk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKVxyXG4gICAgKTtcclxuXHJcbiAgICBARWZmZWN0KClcclxuICAgIFNlbmRDaGFubmVsVXBkYXRlTW9kZWxGYWlsZWQkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICAgICAgb2ZUeXBlPFNlbmRDaGFubmVsVXBkYXRlTW9kZWxGYWlsZWQ+KE1lc3NhZ2VBY3Rpb25UeXBlcy5TZW5kQ2hhbm5lbFVwZGF0ZU1vZGVsRmFpbGVkKSxcclxuICAgICAgICBwaXBlKFxyXG4gICAgICAgICAgICBtYXAoKGFjdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBTZW5kQ2hhbm5lbFVwZGF0ZU1vZGVsRmFpbGVkKGFjdGlvbi5lcnJvck1lc3NhZ2UpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgICk7XHJcbiAgICBARWZmZWN0KClcclxuICAgIFJlY2VpdmVDaGFubmVsVXBkYXRlTW9kZWxUcmlnZ2VyZWQkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICAgICAgb2ZUeXBlPFJlY2VpdmVDaGFubmVsVXBkYXRlTW9kZWxUcmlnZ2VyZWQ+KE1lc3NhZ2VBY3Rpb25UeXBlcy5SZWNlaXZlQ2hhbm5lbFVwZGF0ZU1vZGVsVHJpZ2dlcmVkKSxcclxuICAgICAgICBwaXBlKFxyXG4gICAgICAgICAgICBtYXAoKGFjdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBSZWNlaXZlQ2hhbm5lbFVwZGF0ZU1vZGVsQ29tcGxldGVkKGFjdGlvbi5jaGFubmVsVXBkYXRlTW9kZWwpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgICk7XHJcblxyXG4gICAgQEVmZmVjdCgpXHJcbiAgICBSZWNlaXZlQ2hhbm5lbFVwZGF0ZU1vZGVsRmFpbGVkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICAgIG9mVHlwZTxSZWNlaXZlQ2hhbm5lbFVwZGF0ZU1vZGVsRmFpbGVkPihNZXNzYWdlQWN0aW9uVHlwZXMuUmVjZWl2ZUNoYW5uZWxVcGRhdGVNb2RlbEZhaWxlZCksXHJcbiAgICAgICAgcGlwZShcclxuICAgICAgICAgICAgbWFwKChhY3Rpb24pID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUmVjZWl2ZUNoYW5uZWxVcGRhdGVNb2RlbEZhaWxlZChhY3Rpb24uZXJyb3JNZXNzYWdlKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApXHJcbiAgICApO1xyXG4gICAgQEVmZmVjdCgpXHJcbiAgICBTZW5kaW5nU2lnbmFsVHJpZ2dlcmVkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICAgIG9mVHlwZTxTZW5kaW5nU2lnbmFsVHJpZ2dlcmVkPihNZXNzYWdlQWN0aW9uVHlwZXMuU2VuZGluZ1NpZ25hbFRyaWdnZXJlZCksXHJcbiAgICAgICAgcGlwZShcclxuICAgICAgICAgICAgbWFwKChhY3Rpb24pID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgU2VuZGluZ1NpZ25hbENvbXBsZXRlZChhY3Rpb24ubWVzc2FnZVR5cGluZ0RldGFpbHMpO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIClcclxuICAgICk7XHJcblxyXG4gICAgQEVmZmVjdCgpXHJcbiAgICBTZW5kaW5nU2lnbmFsRmFpbGVkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICAgIG9mVHlwZTwgU2VuZGluZ1NpZ25hbEZhaWxlZD4oTWVzc2FnZUFjdGlvblR5cGVzLiBTZW5kaW5nU2lnbmFsRmFpbGVkKSxcclxuICAgICAgICBwaXBlKFxyXG4gICAgICAgICAgICBtYXAoKGFjdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyAgU2VuZGluZ1NpZ25hbEZhaWxlZChhY3Rpb24uZXJyb3JNZXNzYWdlKTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICApXHJcbiAgICApO1xyXG4gICAgQEVmZmVjdCgpXHJcbiAgICBSZWNlaXZlU2lnbmFsVHJpZ2dlcmVkJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgICAgIG9mVHlwZTwgUmVjZWl2ZVNpZ25hbFRyaWdnZXJlZD4oTWVzc2FnZUFjdGlvblR5cGVzLiBSZWNlaXZlU2lnbmFsVHJpZ2dlcmVkKSxcclxuICAgICAgICBwaXBlKFxyXG4gICAgICAgICAgICBtYXAoKGFjdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBSZWNlaXZlU2lnbmFsQ29tcGxldGVkKGFjdGlvbi5tZXNzYWdlVHlwaW5nRGV0YWlscyk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKVxyXG4gICAgKTtcclxuXHJcbiAgICBARWZmZWN0KClcclxuICAgIFJlY2VpdmVTaWduYWxGYWlsZWQkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICAgICAgb2ZUeXBlPCAgUmVjZWl2ZVNpZ25hbEZhaWxlZD4oTWVzc2FnZUFjdGlvblR5cGVzLiAgUmVjZWl2ZVNpZ25hbEZhaWxlZCksXHJcbiAgICAgICAgcGlwZShcclxuICAgICAgICAgICAgbWFwKChhY3Rpb24pID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgIFJlY2VpdmVTaWduYWxGYWlsZWQoYWN0aW9uLmVycm9yTWVzc2FnZSk7XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgKVxyXG4gICAgKTtcclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMpIHtcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -36,8 +36,8 @@ export class MenuItemsEffects {
|
|
|
36
36
|
}));
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
MenuItemsEffects.ɵfac =
|
|
40
|
-
MenuItemsEffects.ɵprov = i0.ɵɵ
|
|
39
|
+
MenuItemsEffects.ɵfac = function MenuItemsEffects_Factory(t) { return new (t || MenuItemsEffects)(i0.ɵɵinject(i1.Actions), i0.ɵɵinject(i2.MenuItemService), i0.ɵɵinject(i3.Store)); };
|
|
40
|
+
MenuItemsEffects.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MenuItemsEffects, factory: MenuItemsEffects.ɵfac });
|
|
41
41
|
__decorate([
|
|
42
42
|
Effect()
|
|
43
43
|
], MenuItemsEffects.prototype, "authenticate$", void 0);
|
|
@@ -47,7 +47,7 @@ __decorate([
|
|
|
47
47
|
__decorate([
|
|
48
48
|
Effect()
|
|
49
49
|
], MenuItemsEffects.prototype, "exceptionHandled$", void 0);
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MenuItemsEffects, [{
|
|
51
|
+
type: Injectable
|
|
52
|
+
}], function () { return [{ type: i1.Actions }, { type: i2.MenuItemService }, { type: i3.Store }]; }, { authenticate$: [], showValidationMessagesForMenuItems$: [], exceptionHandled$: [] }); })();
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudWl0ZW1zLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zaGVsbC1tb2R1bGUtY29tcG9uZW50cy9zaGVsbC1jb21wb25lbnRzL3NyYy9saWIvc2hlbGwtY29tcG9uZW50cy9zdG9yZS9lZmZlY3RzL21lbnVpdGVtcy5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQVcsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFrQixNQUFNLGdCQUFnQixDQUFDO0FBQzVFLE9BQU8sRUFDTCx3QkFBd0IsRUFFeEIsbUJBQW1CLEVBQ25CLHFCQUFxQixFQUNyQixnQkFBZ0IsRUFDakIsTUFBTSw4QkFBOEIsQ0FBQztBQUl0QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQzs7Ozs7QUFHekcsTUFBTSxPQUFPLGdCQUFnQjtJQXVEM0IsWUFDVSxRQUFpQixFQUNqQixlQUFnQyxFQUNoQyxNQUFvQjtRQUZwQixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxXQUFNLEdBQU4sTUFBTSxDQUFjO1FBeEQ5QixrQkFBYSxHQUF1QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDcEQsTUFBTSxDQUNKLG1CQUFtQixDQUFDLHdCQUF3QixDQUM3QyxFQUNELFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxJQUFJLENBQ3pELEdBQUcsQ0FBQyxDQUFDLGlCQUFzQixFQUFFLEVBQUU7Z0JBQzdCLElBQUcsaUJBQWlCLENBQUMsT0FBTyxFQUFDO29CQUMzQixPQUFPLElBQUksd0JBQXdCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQzdEO3FCQUNFO29CQUNILE9BQU8sSUFBSSxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2lCQUN4RTtZQUNGLENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FDckQsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUNILENBQUM7UUFJRix3Q0FBbUMsR0FFL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ3BCLE1BQU0sQ0FDSixtQkFBbUIsQ0FBQyxxQkFBcUIsQ0FDMUMsRUFDRCxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUU7WUFDdkIsT0FBTyxFQUFFLENBQUMsSUFBSSxzQkFBc0IsQ0FBQztnQkFDbkMsa0JBQWtCLEVBQUUsWUFBWSxDQUFDLGtCQUFrQjthQUNwRCxDQUFDLENBQ0QsQ0FBQTtRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7UUFJRixzQkFBaUIsR0FFYixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDcEIsTUFBTSxDQUNKLG1CQUFtQixDQUFDLGdCQUFnQixDQUNyQyxFQUNELFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFBRTtZQUN2QixPQUFPLEVBQUUsQ0FBQyxJQUFJLHFCQUFxQixDQUFDO2dCQUNsQyxPQUFPLEVBQUUsWUFBWSxDQUFDLFlBQVksRUFBRSx1Q0FBdUM7YUFDNUUsQ0FBQyxDQUNELENBQUE7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBUUMsQ0FBQzs7Z0ZBM0RPLGdCQUFnQjtzRUFBaEIsZ0JBQWdCLFdBQWhCLGdCQUFnQjtBQUUzQjtJQURDLE1BQU0sRUFBRTt1REFrQlA7QUFJRjtJQURDLE1BQU0sRUFBRTs2RUFhUDtBQUlGO0lBREMsTUFBTSxFQUFFOzJEQWFQO3VGQW5EUyxnQkFBZ0I7Y0FENUIsVUFBVTs0R0FHVCxhQUFhLE1BcUJiLG1DQUFtQyxNQWdCbkMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9ucywgRWZmZWN0LCBvZlR5cGUgfSBmcm9tIFwiQG5ncngvZWZmZWN0c1wiO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBBY3Rpb24sIFN0b3JlLCBzZWxlY3QgfSBmcm9tIFwiQG5ncngvc3RvcmVcIjtcclxuaW1wb3J0IHsgc3dpdGNoTWFwLCBtYXAsIGNhdGNoRXJyb3IsIHdpdGhMYXRlc3RGcm9tIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7XHJcbiAgR2V0QWxsTWVudUl0ZW1zQ29tcGxldGVkLFxyXG4gIEdldEFsbE1lbnVJdGVtc1RyaWdnZXJlZCxcclxuICBNZW51SXRlbUFjdGlvblR5cGVzLFxyXG4gIEdldEFsbE1lbnVJdGVtc0ZhaWxlZCxcclxuICBFeGNlcHRpb25IYW5kbGVkXHJcbn0gZnJvbSBcIi4uL2FjdGlvbnMvbWVudWl0ZW1zLmFjdGlvbnNcIjtcclxuaW1wb3J0ICogYXMgc2hhcmVkUmVkdWNlcnMgZnJvbSBcIi4uL3JlZHVjZXJzL2luZGV4XCI7XHJcbmltcG9ydCB7IFN0YXRlIH0gZnJvbSBcIi4uL3JlZHVjZXJzL2luZGV4XCI7XHJcbmltcG9ydCB7IE1lbnVJdGVtU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9mZWF0dXJlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2hvd1ZhbGlkYXRpb25NZXNzYWdlcywgU2hvd0V4Y2VwdGlvbk1lc3NhZ2VzIH0gZnJvbSBcIi4uL2FjdGlvbnMvbm90aWZpY2F0aW9uLXZhbGlkYXRvci5hY3Rpb25cIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE1lbnVJdGVtc0VmZmVjdHMge1xyXG4gIEBFZmZlY3QoKVxyXG4gIGF1dGhlbnRpY2F0ZSQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZTxHZXRBbGxNZW51SXRlbXNUcmlnZ2VyZWQ+KFxyXG4gICAgICBNZW51SXRlbUFjdGlvblR5cGVzLkdldEFsbE1lbnVJdGVtc1RyaWdnZXJlZFxyXG4gICAgKSxcclxuICAgIHN3aXRjaE1hcChhY3Rpb24gPT4ge1xyXG4gICAgICAgcmV0dXJuIHRoaXMubWVudUl0ZW1TZXJ2aWNlLmdldEFsbEFwcGxpY2FibGVNZW51SXRlbXMoKS5waXBlKFxyXG4gICAgICAgICAgbWFwKChhbGxNZW51SXRlbU1vZGVsczogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmKGFsbE1lbnVJdGVtTW9kZWxzLnN1Y2Nlc3Mpe1xyXG4gICAgICAgICAgICAgIHJldHVybiBuZXcgR2V0QWxsTWVudUl0ZW1zQ29tcGxldGVkKGFsbE1lbnVJdGVtTW9kZWxzLmRhdGEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgZWxzZXtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBHZXRBbGxNZW51SXRlbXNGYWlsZWQoYWxsTWVudUl0ZW1Nb2RlbHMuYXBpUmVzcG9uc2VNZXNzYWdlcyk7XHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IG9mKG5ldyBFeGNlcHRpb25IYW5kbGVkKGVycm9yKSkpXHJcbiAgICAgICAgKTtcclxuICAgIH0pXHJcbiAgKTtcclxuXHJcbiAgXHJcbiAgQEVmZmVjdCgpXHJcbiAgc2hvd1ZhbGlkYXRpb25NZXNzYWdlc0Zvck1lbnVJdGVtcyQ6IE9ic2VydmFibGU8XHJcbiAgICBBY3Rpb25cclxuICA+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPEdldEFsbE1lbnVJdGVtc0ZhaWxlZD4oXHJcbiAgICAgIE1lbnVJdGVtQWN0aW9uVHlwZXMuR2V0QWxsTWVudUl0ZW1zRmFpbGVkXHJcbiAgICApLFxyXG4gICAgc3dpdGNoTWFwKHNlYXJjaEFjdGlvbiA9PiB7XHJcbiAgICAgIHJldHVybiBvZihuZXcgU2hvd1ZhbGlkYXRpb25NZXNzYWdlcyh7XHJcbiAgICAgICAgdmFsaWRhdGlvbk1lc3NhZ2VzOiBzZWFyY2hBY3Rpb24udmFsaWRhdGlvbk1lc3NhZ2VzLFxyXG4gICAgICB9KVxyXG4gICAgICApXHJcbiAgICB9KVxyXG4gICk7XHJcblxyXG5cclxuICBARWZmZWN0KClcclxuICBleGNlcHRpb25IYW5kbGVkJDogT2JzZXJ2YWJsZTxcclxuICAgIEFjdGlvblxyXG4gID4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGU8RXhjZXB0aW9uSGFuZGxlZD4oXHJcbiAgICAgIE1lbnVJdGVtQWN0aW9uVHlwZXMuRXhjZXB0aW9uSGFuZGxlZFxyXG4gICAgKSxcclxuICAgIHN3aXRjaE1hcChzZWFyY2hBY3Rpb24gPT4ge1xyXG4gICAgICByZXR1cm4gb2YobmV3IFNob3dFeGNlcHRpb25NZXNzYWdlcyh7XHJcbiAgICAgICAgbWVzc2FnZTogc2VhcmNoQWN0aW9uLmVycm9yTWVzc2FnZSwgLy8gVE9ETzogQ2hhbmdlIHRvIHByb3BlciB0b2FzdCBtZXNzYWdlXHJcbiAgICAgIH0pXHJcbiAgICAgIClcclxuICAgIH0pXHJcbiAgKTtcclxuXHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMsXHJcbiAgICBwcml2YXRlIG1lbnVJdGVtU2VydmljZTogTWVudUl0ZW1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzdG9yZSQ6IFN0b3JlPFN0YXRlPlxyXG4gICkge31cclxufVxyXG4iXX0=
|
|
@@ -42,15 +42,15 @@ export class NotificationValidatorEffects {
|
|
|
42
42
|
this.softLabel = JSON.parse(localStorage.getItem(LocalStorageProperties.SoftLabels));
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
NotificationValidatorEffects.ɵfac =
|
|
46
|
-
NotificationValidatorEffects.ɵprov = i0.ɵɵ
|
|
45
|
+
NotificationValidatorEffects.ɵfac = function NotificationValidatorEffects_Factory(t) { return new (t || NotificationValidatorEffects)(i0.ɵɵinject(i1.Actions), i0.ɵɵinject(i2.ToastrService), i0.ɵɵinject(i3.Store), i0.ɵɵinject(i4.SoftLabelPipe)); };
|
|
46
|
+
NotificationValidatorEffects.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: NotificationValidatorEffects, factory: NotificationValidatorEffects.ɵfac });
|
|
47
47
|
__decorate([
|
|
48
48
|
Effect({ dispatch: false })
|
|
49
49
|
], NotificationValidatorEffects.prototype, "showException", void 0);
|
|
50
50
|
__decorate([
|
|
51
51
|
Effect({ dispatch: false })
|
|
52
52
|
], NotificationValidatorEffects.prototype, "showValidation", void 0);
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NotificationValidatorEffects, [{
|
|
54
|
+
type: Injectable
|
|
55
|
+
}], function () { return [{ type: i1.Actions }, { type: i2.ToastrService }, { type: i3.Store }, { type: i4.SoftLabelPipe }]; }, { showException: [], showValidation: [] }); })();
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLXZhbGlkYXRvci5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc2hlbGwtbW9kdWxlLWNvbXBvbmVudHMvc2hlbGwtY29tcG9uZW50cy9zcmMvbGliL3NoZWxsLWNvbXBvbmVudHMvc3RvcmUvZWZmZWN0cy9ub3RpZmljYXRpb24tdmFsaWRhdG9yLmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFXLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVoRCxPQUFPLEVBQVMsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxxQkFBcUIsRUFBaUQsTUFBTSwwQ0FBMEMsQ0FBQztBQUtoSSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQzs7Ozs7O0FBSXZHLE1BQU0sT0FBTyw0QkFBNEI7SUF5Q3ZDLFlBQW9CLE9BQWdCLEVBQVUsTUFBcUIsRUFBVSxLQUFtQixFQUFVLGFBQTRCO1FBQWxILFlBQU8sR0FBUCxPQUFPLENBQVM7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBcEN0SSxrQkFBYSxHQUFvQixJQUFJLENBQUMsT0FBTzthQUMxQyxNQUFNLENBQXdCLHFCQUFxQixDQUFDLHFCQUFxQixDQUFDO2FBQzFFLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxNQUE2QixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQ3RELEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUNaLElBQUksT0FBTyxJQUFJLElBQUksSUFBSSxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRTtnQkFDOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxRQUFRLEVBQUU7b0JBQzNDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQzt3QkFDOUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQTtpQkFDekM7Z0JBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxRQUFRLEVBQUU7b0JBQzNDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksR0FBRzt3QkFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7aUJBQ2pEO2FBQ0Y7UUFDSCxDQUFDLENBQ0EsQ0FDRixDQUFDO1FBR0osbUJBQWMsR0FBb0IsSUFBSSxDQUFDLE9BQU87YUFDM0MsTUFBTSxDQUF5QixxQkFBcUIsQ0FBQyxzQkFBc0IsQ0FBQzthQUM1RSxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsTUFBOEIsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxFQUMxRSxHQUFHLENBQUMsa0JBQWtCLENBQUMsRUFBRTtZQUN2QixJQUFJLGtCQUFrQixJQUFJLElBQUksRUFBRTtnQkFDOUIsa0JBQWtCLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUNqQyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDMUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFBO2dCQUNoQyxDQUFDLENBQUMsQ0FBQzthQUNKO1FBQ0gsQ0FBQyxDQUNBLENBQ0YsQ0FBQztRQUdGLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUE7SUFDdEYsQ0FBQzs7d0dBM0NVLDRCQUE0QjtrRkFBNUIsNEJBQTRCLFdBQTVCLDRCQUE0QjtBQUt2QztJQURDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQzttRUFtQnhCO0FBR0o7SUFEQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7b0VBY3hCO3VGQXZDTyw0QkFBNEI7Y0FEeEMsVUFBVTtzSUFNVCxhQUFhLE1BcUJiLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWN0aW9ucywgRWZmZWN0IH0gZnJvbSBcIkBuZ3J4L2VmZmVjdHNcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IGRlbGF5LCBtYXAsIHRhcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xyXG5pbXBvcnQgeyBWYWxpZGF0aW9uQWN0aW9uVHlwZXMsIFNob3dFeGNlcHRpb25NZXNzYWdlcywgU2hvd1ZhbGlkYXRpb25NZXNzYWdlcyB9IGZyb20gXCIuLi9hY3Rpb25zL25vdGlmaWNhdGlvbi12YWxpZGF0b3IuYWN0aW9uXCI7XHJcbmltcG9ydCB7IFRvYXN0clNlcnZpY2UgfSBmcm9tIFwibmd4LXRvYXN0clwiO1xyXG5pbXBvcnQgeyBTdG9yZSwgc2VsZWN0IH0gZnJvbSBcIkBuZ3J4L3N0b3JlXCI7XHJcbmltcG9ydCB7IFN0YXRlIH0gZnJvbSBcIi4uLy4uL3N0b3JlL3JlZHVjZXJzL2luZGV4XCI7XHJcbmltcG9ydCB7IFNvZnRMYWJlbFBpcGUgfSBmcm9tICcuLi8uLi8uLi9nbG9iYWxkZXBlbmRlbmNpZXMvcGlwZXMvc29mdGxhYmVscy5waXBlcyc7XHJcbmltcG9ydCB7IExvY2FsU3RvcmFnZVByb3BlcnRpZXMgfSBmcm9tICcuLi8uLi8uLi9nbG9iYWxkZXBlbmRlbmNpZXMvY29uc3RhbnRzL2xvY2Fsc3RvcmFnZS1wcm9wZXJ0aWVzJztcclxuaW1wb3J0IHsgU29mdExhYmVsQ29uZmlndXJhdGlvbk1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NvZnRsYWJlbHMtbW9kZWwnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uVmFsaWRhdG9yRWZmZWN0cyB7XHJcbiAgc29mdExhYmVscyQ6IE9ic2VydmFibGU8U29mdExhYmVsQ29uZmlndXJhdGlvbk1vZGVsW10+O1xyXG4gIHNvZnRMYWJlbDogU29mdExhYmVsQ29uZmlndXJhdGlvbk1vZGVsW107XHJcblxyXG4gIEBFZmZlY3QoeyBkaXNwYXRjaDogZmFsc2UgfSlcclxuICBzaG93RXhjZXB0aW9uOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLmFjdGlvbnNcclxuICAgIC5vZlR5cGU8U2hvd0V4Y2VwdGlvbk1lc3NhZ2VzPihWYWxpZGF0aW9uQWN0aW9uVHlwZXMuU2hvd0V4Y2VwdGlvbk1lc3NhZ2VzKVxyXG4gICAgLnBpcGUoXHJcbiAgICAgIG1hcCgoYWN0aW9uOiBTaG93RXhjZXB0aW9uTWVzc2FnZXMpID0+IGFjdGlvbi5wYXlsb2FkKSxcclxuICAgICAgdGFwKHBheWxvYWQgPT4ge1xyXG4gICAgICAgIGlmIChwYXlsb2FkICE9IG51bGwgJiYgcGF5bG9hZC5tZXNzYWdlICE9IG51bGwpIHtcclxuICAgICAgICAgIGlmICgodHlwZW9mIChwYXlsb2FkLm1lc3NhZ2UpKSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgaWYgKHBheWxvYWQubWVzc2FnZS5pbmRleE9mKCc0MDEnKS52YWx1ZU9mKCkgPCAwKVxyXG4gICAgICAgICAgICAgIHRoaXMudG9hc3RyLmVycm9yKFwiXCIsIHBheWxvYWQubWVzc2FnZSlcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAoKHR5cGVvZiAocGF5bG9hZC5tZXNzYWdlKSkgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICAgIGlmIChwYXlsb2FkLm1lc3NhZ2Uuc3RhdHVzICE9IDQwMSlcclxuICAgICAgICAgICAgICB0aGlzLnRvYXN0ci5lcnJvcihcIlwiLCBwYXlsb2FkLm1lc3NhZ2UubWVzc2FnZSlcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgKSxcclxuICAgICk7XHJcblxyXG4gIEBFZmZlY3QoeyBkaXNwYXRjaDogZmFsc2UgfSlcclxuICBzaG93VmFsaWRhdGlvbjogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5hY3Rpb25zXHJcbiAgICAub2ZUeXBlPFNob3dWYWxpZGF0aW9uTWVzc2FnZXM+KFZhbGlkYXRpb25BY3Rpb25UeXBlcy5TaG93VmFsaWRhdGlvbk1lc3NhZ2VzKVxyXG4gICAgLnBpcGUoXHJcbiAgICAgIG1hcCgoYWN0aW9uOiBTaG93VmFsaWRhdGlvbk1lc3NhZ2VzKSA9PiBhY3Rpb24ucGF5bG9hZC52YWxpZGF0aW9uTWVzc2FnZXMpLFxyXG4gICAgICB0YXAodmFsaWRhdGlvbk1lc3NhZ2VzID0+IHtcclxuICAgICAgICBpZiAodmFsaWRhdGlvbk1lc3NhZ2VzICE9IG51bGwpIHtcclxuICAgICAgICAgIHZhbGlkYXRpb25NZXNzYWdlcy5mb3JFYWNoKHZhbHVlID0+IHtcclxuICAgICAgICAgICAgbGV0IG1lc3NhZ2UgPSB0aGlzLnNvZnRMYWJlbFBpcGUudHJhbnNmb3JtKHZhbHVlLm1lc3NhZ2UsIHRoaXMuc29mdExhYmVsKTtcclxuICAgICAgICAgICAgdGhpcy50b2FzdHIuZXJyb3IoXCJcIiwgbWVzc2FnZSlcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICApLFxyXG4gICAgKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhY3Rpb25zOiBBY3Rpb25zLCBwcml2YXRlIHRvYXN0cjogVG9hc3RyU2VydmljZSwgcHJpdmF0ZSBzdG9yZTogU3RvcmU8U3RhdGU+LCBwcml2YXRlIHNvZnRMYWJlbFBpcGU6IFNvZnRMYWJlbFBpcGUpIHtcclxuICAgIHRoaXMuc29mdExhYmVsID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShMb2NhbFN0b3JhZ2VQcm9wZXJ0aWVzLlNvZnRMYWJlbHMpKVxyXG4gIH1cclxufSJdfQ==
|