@tuki-io/tuki-widgets 0.0.219-dev.56 → 0.0.219-dev.57
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/README.md +24 -24
- package/esm2020/contact-center/cc-import/cc-import.module.mjs +1 -1
- package/esm2020/contact-center/cc-import/cc-import.service.mjs +1 -1
- package/esm2020/contact-center/cc-import/components/import-contact-center-panel/import-contact-center-panel.component.mjs +3 -3
- package/esm2020/contact-center/cc-import/components/import-contact-center-wizard/import-contact-center-wizard.component.mjs +3 -3
- package/esm2020/contact-center/cc-import/components/import-contact-center-wizard/import-contact-center-wizard.types.mjs +1 -1
- package/esm2020/contact-center/cc-import/constants/cc-import.constants.mjs +1 -1
- package/esm2020/contact-center/cc-import/mock/cc-import.mock.mjs +1 -1
- package/esm2020/contact-center/cc-import/types/cc-import.mjs +1 -1
- package/esm2020/contact-center/cc-import/types/uccx.mjs +1 -1
- package/esm2020/contact-center/cc-readiness/cc-readiness.module.mjs +1 -1
- package/esm2020/contact-center/cc-readiness/cc-readiness.service.mjs +1 -1
- package/esm2020/contact-center/cc-readiness/widgets/licences-requirement/licences-requirement.component.mjs +3 -3
- package/esm2020/contact-center/public-api.mjs +1 -1
- package/esm2020/contact-center/shared/api.endpoints.mjs +1 -1
- package/esm2020/contact-center/shared/components/card/card.component.mjs +3 -3
- package/esm2020/contact-center/shared/dcp-api.service.mjs +1 -1
- package/esm2020/contact-center/shared/shared.module.mjs +1 -1
- package/esm2020/di2mt/widgets/site-upgrade/progress-bar/progress-bar.component.mjs +3 -3
- package/esm2020/di2mt/widgets/site-upgrade/site-upgrade-data-table/site-upgrade-data-table.component.mjs +2 -2
- package/esm2020/di2mt/widgets/upgrade-overview/cards/pending-activation-users/pending-activation-users.component.mjs +17 -17
- package/esm2020/lib/widgets.component.mjs +9 -9
- package/esm2020/lib/widgets.module.mjs +1 -1
- package/esm2020/lib/widgets.service.mjs +1 -1
- package/esm2020/locations/public-api.mjs +1 -1
- package/esm2020/locations/src/app.constants.mjs +1 -1
- package/esm2020/locations/src/location-confirm-dialog/location-confirm-dialog.component.mjs +3 -3
- package/esm2020/locations/src/locations.component.mjs +3 -3
- package/esm2020/locations/src/locations.module.mjs +1 -1
- package/esm2020/locations/src/material.module.mjs +1 -1
- package/esm2020/locations/src/services/api.service.mjs +1 -1
- package/esm2020/locations/src/services/locations.service.mjs +1 -1
- package/esm2020/locations/src/types/location.mjs +1 -1
- package/esm2020/locations/src/utils/app-loader/app-loader.mjs +3 -3
- package/esm2020/meetings/public-api.mjs +1 -1
- package/esm2020/meetings/src/app.constants.mjs +1 -1
- package/esm2020/meetings/src/components/live-meetings/live-meeting/live-meeting.component.mjs +3 -3
- package/esm2020/meetings/src/components/live-meetings/live-meetings.component.mjs +3 -3
- package/esm2020/meetings/src/components/meeting-spaces/meeting-space/meeting-space.component.mjs +3 -3
- package/esm2020/meetings/src/components/meeting-spaces/meeting-spaces.component.mjs +3 -3
- package/esm2020/meetings/src/material.module.mjs +1 -1
- package/esm2020/meetings/src/meetings.component.mjs +3 -3
- package/esm2020/meetings/src/meetings.module.mjs +1 -1
- package/esm2020/meetings/src/services/api.service.mjs +1 -1
- package/esm2020/meetings/src/services/live-meetings.service.mjs +1 -1
- package/esm2020/meetings/src/services/meeting-spaces.service.mjs +1 -1
- package/esm2020/meetings/src/types/live-meeting.mjs +1 -1
- package/esm2020/meetings/src/types/meeting-space.mjs +1 -1
- package/esm2020/meetings/src/utils/app-loader/app-loader.mjs +3 -3
- package/esm2020/public-api.mjs +1 -1
- package/esm2020/user-creation/src/app.constants.mjs +1 -1
- package/esm2020/user-creation/src/classes/notification.mjs +1 -1
- package/esm2020/user-creation/src/classes/site.mjs +1 -1
- package/esm2020/user-creation/src/environments/environment.mjs +1 -1
- package/esm2020/user-creation/src/interfaces/user-creation-wizard.interfaces.mjs +1 -1
- package/esm2020/user-creation/src/shared/components/notification/notification.component.mjs +3 -3
- package/esm2020/user-creation/src/shared/pipes/truncate.pipe.mjs +1 -1
- package/esm2020/user-creation/src/shared/services/notification.service.mjs +1 -1
- package/esm2020/user-creation/src/shared/services/user-creation-api.service.mjs +1 -1
- package/esm2020/user-creation/src/shared/services/utils.mjs +1 -1
- package/esm2020/user-creation/src/utils/app-loader/app-loader.mjs +3 -3
- package/esm2020/user-creation/src/utils/build-savable-end-user.mjs +1 -1
- package/esm2020/user-creation/src/utils/device-default-prefix.mjs +1 -1
- package/esm2020/user-creation/src/utils/device-name-dynamic-tokens.mjs +1 -1
- package/esm2020/user-creation/src/utils/device-name-validation.mjs +1 -1
- package/esm2020/user-creation/src/utils/model.mjs +1 -1
- package/esm2020/user-creation/src/utils/parse-device-name-rule.mjs +1 -1
- package/esm2020/user-creation/src/widgets/user-creation-wizard/user-creation-wizard.component.mjs +3 -3
- package/esm2020/user-device-manage/public-api.mjs +1 -1
- package/esm2020/user-device-manage/src/app.constants.mjs +1 -1
- package/esm2020/user-device-manage/src/associate-lines/associate-lines.component.mjs +3 -3
- package/esm2020/user-device-manage/src/classes/device.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/deviceProfile.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/line-association-interface.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/line-association.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/line-call-info-display.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/line-directory.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/line.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/notification.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/recording-options.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/simplified-user.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/site-defaults.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/translation-pattern.mjs +1 -1
- package/esm2020/user-device-manage/src/classes/types.mjs +1 -1
- package/esm2020/user-device-manage/src/common-functions.mjs +1 -1
- package/esm2020/user-device-manage/src/confirm-dialog/info-dialog.component.mjs +3 -3
- package/esm2020/user-device-manage/src/device-associated-line/associated-line-row/associated-line-row.component.mjs +3 -3
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-details-box/device-associated-line-details-box.component.mjs +3 -3
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line-extension/device-associated-line-extension.component.mjs +3 -3
- package/esm2020/user-device-manage/src/device-associated-line/device-associated-line.component.mjs +1 -1
- package/esm2020/user-device-manage/src/device-info/device-info.component.mjs +3 -3
- package/esm2020/user-device-manage/src/device-manage-widget.component.mjs +3 -3
- package/esm2020/user-device-manage/src/device-settings/device-settings.component.mjs +3 -3
- package/esm2020/user-device-manage/src/environments/environment.mjs +1 -1
- package/esm2020/user-device-manage/src/interseptors/auth.interceptor.mjs +1 -1
- package/esm2020/user-device-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +3 -3
- package/esm2020/user-device-manage/src/line-key-config/line-key-config.component.mjs +3 -3
- package/esm2020/user-device-manage/src/material.module.mjs +1 -1
- package/esm2020/user-device-manage/src/notifications/notification.component.mjs +3 -3
- package/esm2020/user-device-manage/src/pipes/mac-address.pipe.mjs +1 -1
- package/esm2020/user-device-manage/src/services/api.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/device.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/dns.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/line.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/notification.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/removeKynFromIBM.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/site-settings.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/sorting-utils.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/user.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/utils.service.mjs +1 -1
- package/esm2020/user-device-manage/src/services/validation.service.mjs +1 -1
- package/esm2020/user-device-manage/src/utils/app-loader/app-loader.mjs +3 -3
- package/esm2020/user-manage/public-api.mjs +1 -1
- package/esm2020/user-manage/src/app.constants.mjs +2 -1
- package/esm2020/user-manage/src/classes/device.mjs +1 -1
- package/esm2020/user-manage/src/classes/line-association-interface.mjs +1 -1
- package/esm2020/user-manage/src/classes/line-association.mjs +1 -1
- package/esm2020/user-manage/src/classes/line-call-info-display.mjs +1 -1
- package/esm2020/user-manage/src/classes/line-directory.mjs +1 -1
- package/esm2020/user-manage/src/classes/line.mjs +1 -1
- package/esm2020/user-manage/src/classes/notification.mjs +1 -1
- package/esm2020/user-manage/src/classes/pagination.mjs +1 -1
- package/esm2020/user-manage/src/classes/recording-options.mjs +1 -1
- package/esm2020/user-manage/src/classes/simplified-user.mjs +15 -2
- package/esm2020/user-manage/src/classes/table-data.mjs +1 -1
- package/esm2020/user-manage/src/classes/translation-pattern.mjs +1 -1
- package/esm2020/user-manage/src/classes/user-list.mjs +1 -1
- package/esm2020/user-manage/src/common-functions.mjs +1 -1
- package/esm2020/user-manage/src/device-list/device-list.component.mjs +3 -3
- package/esm2020/user-manage/src/device-list/device-row/device-row.component.mjs +3 -3
- package/esm2020/user-manage/src/environments/environment.mjs +1 -1
- package/esm2020/user-manage/src/interseptors/auth.interceptor.mjs +1 -1
- package/esm2020/user-manage/src/lazy-loading-select/lazy-loading-select.component.mjs +9 -5
- package/esm2020/user-manage/src/material.module.mjs +14 -7
- package/esm2020/user-manage/src/notifications/notification.component.mjs +3 -3
- package/esm2020/user-manage/src/removeKynFromIBM.service.mjs +1 -1
- package/esm2020/user-manage/src/services/api.service.mjs +1 -1
- package/esm2020/user-manage/src/services/dcp-api.service.mjs +1 -1
- package/esm2020/user-manage/src/services/dns.service.mjs +1 -1
- package/esm2020/user-manage/src/services/line.service.mjs +1 -1
- package/esm2020/user-manage/src/services/notification.service.mjs +1 -1
- package/esm2020/user-manage/src/services/removeKynFromIBM.service.mjs +1 -1
- package/esm2020/user-manage/src/services/site-settings.service.mjs +11 -4
- package/esm2020/user-manage/src/services/sorting-utils.service.mjs +1 -1
- package/esm2020/user-manage/src/services/user.service.mjs +30 -1
- package/esm2020/user-manage/src/services/utils.service.mjs +1 -1
- package/esm2020/user-manage/src/user-calling/user-calling-extension/user-calling-extension.component.mjs +3 -3
- package/esm2020/user-manage/src/user-info/user-info.component.mjs +3 -3
- package/esm2020/user-manage/src/user-manage-widget.component.mjs +42 -26
- package/esm2020/user-manage/src/user-manage.module.mjs +5 -2
- package/esm2020/user-manage/src/user-summary/user-summary.component.mjs +30 -0
- package/esm2020/user-manage/src/utils/app-loader/app-loader.mjs +3 -3
- package/esm2020/user-manage/src/utils/pagination/pagination.component.mjs +3 -3
- package/esm2020/users-list/public-api.mjs +1 -1
- package/esm2020/users-list/src/app.constants.mjs +1 -1
- package/esm2020/users-list/src/classes/app-location.mjs +1 -1
- package/esm2020/users-list/src/classes/device.mjs +1 -1
- package/esm2020/users-list/src/classes/line.mjs +1 -1
- package/esm2020/users-list/src/classes/move-user.mjs +1 -1
- package/esm2020/users-list/src/classes/notification.mjs +1 -1
- package/esm2020/users-list/src/classes/simlified-user.mjs +1 -1
- package/esm2020/users-list/src/classes/table-data.mjs +1 -1
- package/esm2020/users-list/src/classes/user-list.mjs +1 -1
- package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user/device-move-user-wizard.component.mjs +3 -3
- package/esm2020/users-list/src/move-user-wizard/move-user-stepper/device-move-user-tab/devices-move-user-wizard-tab.component.mjs +3 -3
- package/esm2020/users-list/src/move-user-wizard/move-user-wizard.component.mjs +3 -3
- package/esm2020/users-list/src/services/api-webex.service.mjs +1 -1
- package/esm2020/users-list/src/services/api.service.mjs +1 -1
- package/esm2020/users-list/src/services/dns.service.mjs +1 -1
- package/esm2020/users-list/src/services/events-communication.service.mjs +1 -1
- package/esm2020/users-list/src/services/notification.service.mjs +1 -1
- package/esm2020/users-list/src/services/removeKynFromIBM.service.mjs +1 -1
- package/esm2020/users-list/src/services/site-settings.service.mjs +1 -1
- package/esm2020/users-list/src/services/user.service.mjs +1 -1
- package/esm2020/users-list/src/user-list-confirm-dialog/user-list-confirm-dialog.component.mjs +3 -3
- package/esm2020/users-list/src/utils/app-loader/app-loader.mjs +3 -3
- package/esm2020/users-list/src/utils/common-functions.mjs +1 -1
- package/esm2020/users-list/src/utils/notifications/notification.component.mjs +3 -3
- package/esm2020/users-list/src/utils/utils.service.mjs +1 -1
- package/esm2020/workspaces/public-api.mjs +1 -1
- package/esm2020/workspaces/src/app.constants.mjs +1 -1
- package/esm2020/workspaces/src/components/workspace-confirm-dialog/workspace-confirm-dialog.component.mjs +3 -3
- package/esm2020/workspaces/src/components/workspace-detail/workspace-detail.component.mjs +3 -3
- package/esm2020/workspaces/src/components/workspace-device-detail/workspace-device-detail.component.mjs +3 -3
- package/esm2020/workspaces/src/components/workspaces-filters/workspaces-filters.component.mjs +3 -3
- package/esm2020/workspaces/src/components/workspaces-table/workspaces-table.component.mjs +3 -3
- package/esm2020/workspaces/src/material.module.mjs +1 -1
- package/esm2020/workspaces/src/services/api-webex.service.mjs +1 -1
- package/esm2020/workspaces/src/services/api.service.mjs +1 -1
- package/esm2020/workspaces/src/services/workspace-detail.service.mjs +1 -1
- package/esm2020/workspaces/src/services/workspaces-migration.service.mjs +1 -1
- package/esm2020/workspaces/src/services/workspaces.service.mjs +1 -1
- package/esm2020/workspaces/src/types/workspace.mjs +1 -1
- package/esm2020/workspaces/src/utils/app-loader/app-loader.mjs +3 -3
- package/esm2020/workspaces/src/utils/device-icon.mjs +1 -1
- package/esm2020/workspaces/src/utils/workspace-name.mjs +1 -1
- package/esm2020/workspaces/src/workspaces.component.mjs +8 -8
- package/esm2020/workspaces/src/workspaces.module.mjs +1 -1
- package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs +8 -8
- package/fesm2015/tuki-io-tuki-widgets-contact-center.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs +20 -20
- package/fesm2015/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-locations.mjs +6 -6
- package/fesm2015/tuki-io-tuki-widgets-locations.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-meetings.mjs +12 -12
- package/fesm2015/tuki-io-tuki-widgets-meetings.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs +6 -6
- package/fesm2015/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs +24 -24
- package/fesm2015/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs +165 -61
- package/fesm2015/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs +12 -12
- package/fesm2015/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets-workspaces.mjs +19 -19
- package/fesm2015/tuki-io-tuki-widgets-workspaces.mjs.map +1 -1
- package/fesm2015/tuki-io-tuki-widgets.mjs +8 -8
- package/fesm2015/tuki-io-tuki-widgets.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs +8 -8
- package/fesm2020/tuki-io-tuki-widgets-contact-center.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs +20 -20
- package/fesm2020/tuki-io-tuki-widgets-di2mt.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-locations.mjs +6 -6
- package/fesm2020/tuki-io-tuki-widgets-locations.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-meetings.mjs +12 -12
- package/fesm2020/tuki-io-tuki-widgets-meetings.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs +6 -6
- package/fesm2020/tuki-io-tuki-widgets-user-creation.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs +24 -24
- package/fesm2020/tuki-io-tuki-widgets-user-device-manage.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs +155 -55
- package/fesm2020/tuki-io-tuki-widgets-user-manage.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs +12 -12
- package/fesm2020/tuki-io-tuki-widgets-users-list.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets-workspaces.mjs +19 -19
- package/fesm2020/tuki-io-tuki-widgets-workspaces.mjs.map +1 -1
- package/fesm2020/tuki-io-tuki-widgets.mjs +8 -8
- package/fesm2020/tuki-io-tuki-widgets.mjs.map +1 -1
- package/package.json +1 -1
- package/user-manage/src/app.constants.d.ts +1 -0
- package/user-manage/src/classes/simplified-user.d.ts +6 -0
- package/user-manage/src/material.module.d.ts +2 -1
- package/user-manage/src/services/user.service.d.ts +11 -0
- package/user-manage/src/user-manage-widget.component.d.ts +4 -0
- package/user-manage/src/user-manage.module.d.ts +9 -8
- package/user-manage/src/user-summary/user-summary.component.d.ts +10 -0
|
@@ -59,4 +59,4 @@ NotificationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0",
|
|
|
59
59
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NotificationService, decorators: [{
|
|
60
60
|
type: Injectable
|
|
61
61
|
}], ctorParameters: function () { return []; } });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1tYW5hZ2Uvc3JjL3NlcnZpY2VzL25vdGlmaWNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBQy9CLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQztBQUMxQixNQUFNLHdCQUF3QixHQUFHLDZEQUE2RCxDQUFDO0FBQy9GLE1BQU0sZ0JBQWdCLEdBQUcsa0JBQWtCLENBQUM7QUFHNUMsTUFBTSxPQUFPLG1CQUFtQjtJQU85QjtRQUxPLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRTFCLFFBQUcsR0FBRyxDQUFDLENBQUM7UUFDUixTQUFJLEdBQW1CLEVBQUUsQ0FBQztJQUlsQyxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQWUsRUFBRSxHQUFZO1FBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsT0FBTyxDQUFDLE9BQWUsRUFBRSxHQUFZO1FBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELE9BQU8sQ0FBQyxPQUFlLEVBQUUsR0FBWTtRQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksQ0FBQyxPQUFlLEVBQUUsR0FBWTtRQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUNPLE1BQU0sQ0FBQyxJQUFZLEVBQUUsT0FBZSxFQUFFLEdBQVk7UUFDeEQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFlLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssT0FBTyxDQUFDLENBQUM7UUFDekUsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3BCO1FBQ0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxZQUFZLENBQUM7WUFDcEMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDZCxJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQUc7U0FDbkIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxZQUFZLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRTtZQUN4QixZQUFZLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsRUFBRSxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDNUY7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxZQUEwQixFQUFFLElBQWM7UUFDL0MsSUFBSSxDQUFDLElBQUksSUFBSSxZQUFZLENBQUMsT0FBTyxFQUFFO1lBQ2pDLHlDQUF5QztZQUN6QyxhQUFhLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ3JDO1FBQ0QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU8sMEJBQTBCO1FBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDbkMsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssd0JBQXdCLElBQUksQ0FBQyxDQUFDLE9BQU8sS0FBSyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQyxDQUFDOztpSEF6RFUsbUJBQW1CO3FIQUFuQixtQkFBbUI7NEZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uIH0gZnJvbSAnLi4vY2xhc3Nlcy9ub3RpZmljYXRpb24nO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmNvbnN0IFNVQ0NFU1NfVElNRSA9IDUwMDA7XHJcbmNvbnN0IElOQUNUSVZFX1NFU1NJT05fTUVTU0FHRSA9ICdZb3VyIHNlc3Npb24gd2FzIGxvc3QgZHVlIHRvIGluYWN0aXZpdHkuIFBsZWFzZSBsb2dpbiBhZ2Fpbic7XHJcbmNvbnN0IElOQUNUSVZFX1NFU1NJT04gPSAnU0VTU0lPTl9JTkFDVElWRSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25TZXJ2aWNlIHtcclxuXHJcbiAgcHVibGljIGxpc3RDaGFuZ2UgPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBwcml2YXRlIG1heCA9IDA7XHJcbiAgcHJpdmF0ZSBsaXN0OiBOb3RpZmljYXRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICApIHtcclxuICB9XHJcblxyXG4gIGVycm9yKG1lc3NhZ2U6IHN0cmluZywgdHRsPzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLm5vdGlmeSgnZXJyb3InLCBtZXNzYWdlLCB0dGwpO1xyXG4gIH1cclxuXHJcbiAgc3VjY2VzcyhtZXNzYWdlOiBzdHJpbmcsIHR0bD86IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5ub3RpZnkoJ3N1Y2Nlc3MnLCBtZXNzYWdlLCAoIXR0bCkgPyBTVUNDRVNTX1RJTUUgOiB0dGwpO1xyXG4gIH1cclxuXHJcbiAgd2FybmluZyhtZXNzYWdlOiBzdHJpbmcsIHR0bD86IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5ub3RpZnkoJ3dhcm5pbmcnLCBtZXNzYWdlLCB0dGwpO1xyXG4gIH1cclxuXHJcbiAgaW5mbyhtZXNzYWdlOiBzdHJpbmcsIHR0bD86IG51bWJlcik6IHZvaWQge1xyXG4gICAgdGhpcy5ub3RpZnkoJ2luZm8nLCBtZXNzYWdlLCB0dGwpO1xyXG4gIH1cclxuICBwcml2YXRlIG5vdGlmeSh0eXBlOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZywgdHRsPzogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBjb25zdCBmb3VuZCA9IHRoaXMubGlzdC5maW5kKChuOiBOb3RpZmljYXRpb24pID0+IG4ubWVzc2FnZSA9PT0gbWVzc2FnZSk7XHJcbiAgICBpZiAoZm91bmQpIHtcclxuICAgICAgdGhpcy5yZW1vdmUoZm91bmQpO1xyXG4gICAgfVxyXG4gICAgY29uc3Qgbm90aWZpY2F0aW9uID0gbmV3IE5vdGlmaWNhdGlvbih7XHJcbiAgICAgIGlkOiArK3RoaXMubWF4LFxyXG4gICAgICB0eXBlLCBtZXNzYWdlLCB0dGxcclxuICAgIH0pO1xyXG4gICAgaWYgKG5vdGlmaWNhdGlvbi50dGwgPiAwKSB7XHJcbiAgICAgIG5vdGlmaWNhdGlvbi50aW1lcklkID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLnJlbW92ZShub3RpZmljYXRpb24sIHRydWUpLCBub3RpZmljYXRpb24udHRsKTtcclxuICAgIH1cclxuICAgIHRoaXMubGlzdC5wdXNoKG5vdGlmaWNhdGlvbik7XHJcbiAgICB0aGlzLmxpc3RDaGFuZ2UubmV4dCh0aGlzLmxpc3QpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlKG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uLCBhdXRvPzogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgaWYgKCFhdXRvICYmIG5vdGlmaWNhdGlvbi50aW1lcklkKSB7XHJcbiAgICAgIC8vIGNsZWFyIHRpbWVvdXQgaW4gY2FzZSBvZiBtYW51YWwgcmVtb3ZlXHJcbiAgICAgIGNsZWFySW50ZXJ2YWwobm90aWZpY2F0aW9uLnRpbWVySWQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5saXN0ID0gdGhpcy5saXN0LmZpbHRlcihuID0+IG4uaWQgIT09IG5vdGlmaWNhdGlvbi5pZCk7XHJcbiAgICB0aGlzLmxpc3RDaGFuZ2UubmV4dCh0aGlzLmxpc3QpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZW1vdmVJbmFjdGl2ZVNlc3Npb25FcnJvcigpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5saXN0IHx8ICF0aGlzLmxpc3QubGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMubGlzdCA9IHRoaXMubGlzdC5maWx0ZXIobiA9PiBuLm1lc3NhZ2UgIT09IElOQUNUSVZFX1NFU1NJT05fTUVTU0FHRSAmJiBuLm1lc3NhZ2UgIT09IElOQUNUSVZFX1NFU1NJT04pO1xyXG4gICAgdGhpcy5saXN0Q2hhbmdlLm5leHQodGhpcy5saXN0KTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -22,4 +22,4 @@ RemoveKynFromIBMService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.
|
|
|
22
22
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RemoveKynFromIBMService, decorators: [{
|
|
23
23
|
type: Injectable
|
|
24
24
|
}], ctorParameters: function () { return []; } });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVtb3ZlS3luRnJvbUlCTS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItbWFuYWdlL3NyYy9zZXJ2aWNlcy9yZW1vdmVLeW5Gcm9tSUJNLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUduRSxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDO0lBQ0EsQ0FBQztJQUdELFdBQVcsQ0FBQyxJQUFTLEVBQUUsVUFBa0I7UUFDdkMsSUFBSSxVQUFVLEtBQUssQ0FBQyxFQUFFO1lBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFTLEVBQUUsVUFBa0I7UUFDdEMsSUFBSSxVQUFVLEtBQUssQ0FBQyxFQUFFO1lBQ3BCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7cUhBakJVLHVCQUF1Qjt5SEFBdkIsdUJBQXVCOzRGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENVQ01TX1RPX0lHTk9SRSwgQ1VDU19UT19JR05PUkUgfSBmcm9tICcuLi9hcHAuY29uc3RhbnRzJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFJlbW92ZUt5bkZyb21JQk1TZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICB9XHJcblxyXG5cclxuICByZW1vdmVDVUNNUyhkYXRlOiBhbnksIGN1c3RvbWVySWQ6IG51bWJlcikge1xyXG4gICAgaWYgKGN1c3RvbWVySWQgPT09IDgpIHtcclxuICAgICAgcmV0dXJuIGRhdGUuZmlsdGVyKCh2YWw6IGFueSkgPT4gIUNVQ01TX1RPX0lHTk9SRS5pbmNsdWRlcyhNYXRoLnJvdW5kKHZhbC5jdWNtSWQpKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGF0ZTtcclxuICB9XHJcblxyXG4gIHJlbW92ZUNVQ1MoZGF0ZTogYW55LCBjdXN0b21lcklkOiBudW1iZXIpIHtcclxuICAgIGlmIChjdXN0b21lcklkID09PSA4KSB7XHJcbiAgICAgIHJldHVybiBkYXRlLmZpbHRlcigodmFsOiBhbnkpID0+ICFDVUNTX1RPX0lHTk9SRS5pbmNsdWRlcyhNYXRoLnJvdW5kKHZhbC5jdWNJZCkpKTtcclxuICAgIH1cclxuICAgIHJldHVybiBkYXRlO1xyXG4gIH1cclxuXHJcblxyXG59XHJcbiJdfQ==
|
|
@@ -6,8 +6,12 @@ import * as i1 from "./api.service";
|
|
|
6
6
|
const urlMap = {
|
|
7
7
|
locations: API.LOCATION,
|
|
8
8
|
userLocales: API.USER_LOCALES,
|
|
9
|
-
userProfiles: API.USER_PROFILES
|
|
9
|
+
userProfiles: API.USER_PROFILES,
|
|
10
|
+
webexLocations: API.USER_LOCATIONS,
|
|
10
11
|
};
|
|
12
|
+
// webexLocations comes from a paginated Webex endpoint - fetch it in one page big enough for all locations
|
|
13
|
+
const PAGINATED_TOKENS = ['webexLocations'];
|
|
14
|
+
const FETCH_ALL_PAGE_SIZE = '1000';
|
|
11
15
|
export class SiteSettingsService {
|
|
12
16
|
constructor(apiService) {
|
|
13
17
|
this.apiService = apiService;
|
|
@@ -18,11 +22,14 @@ export class SiteSettingsService {
|
|
|
18
22
|
}
|
|
19
23
|
// @ts-ignore
|
|
20
24
|
const URL = urlMap[token];
|
|
21
|
-
|
|
25
|
+
const isPaginated = PAGINATED_TOKENS.includes(token);
|
|
26
|
+
const params = isPaginated ? { page: '0', size: FETCH_ALL_PAGE_SIZE } : null;
|
|
27
|
+
return this.apiService.fetch(URL.replace(':siteId', String(siteId)), params)
|
|
22
28
|
// @ts-ignore
|
|
23
29
|
.pipe(map((options) => {
|
|
30
|
+
const values = isPaginated ? (options?.items || []).map((location) => location.name) : options;
|
|
24
31
|
// @ts-ignore
|
|
25
|
-
this[token] =
|
|
32
|
+
this[token] = values ? values.sort() : [];
|
|
26
33
|
// @ts-ignore
|
|
27
34
|
return this[token];
|
|
28
35
|
}));
|
|
@@ -33,4 +40,4 @@ SiteSettingsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0",
|
|
|
33
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SiteSettingsService, decorators: [{
|
|
34
41
|
type: Injectable
|
|
35
42
|
}], ctorParameters: function () { return [{ type: i1.APIService }]; } });
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZS1zZXR0aW5ncy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItbWFuYWdlL3NyYy9zZXJ2aWNlcy9zaXRlLXNldHRpbmdzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFdkMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFDckMsTUFBTSxNQUFNLEdBQUc7SUFDYixTQUFTLEVBQUUsR0FBRyxDQUFDLFFBQVE7SUFDdkIsV0FBVyxFQUFFLEdBQUcsQ0FBQyxZQUFZO0lBQzdCLFlBQVksRUFBRSxHQUFHLENBQUMsYUFBYTtJQUMvQixjQUFjLEVBQUUsR0FBRyxDQUFDLGNBQWM7Q0FDbkMsQ0FBQTtBQUVELDJHQUEyRztBQUMzRyxNQUFNLGdCQUFnQixHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztBQUM1QyxNQUFNLG1CQUFtQixHQUFHLE1BQU0sQ0FBQztBQUduQyxNQUFNLE9BQU8sbUJBQW1CO0lBRTlCLFlBQ1UsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUdoQyxDQUFDO0lBQ00sbUJBQW1CLENBQUMsTUFBYyxFQUFFLEtBQWE7UUFDdEQsSUFBRyxDQUFDLE1BQU0sRUFBRTtZQUNWLE9BQU87U0FDUjtRQUNELGFBQWE7UUFDYixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUIsTUFBTSxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JELE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDN0UsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUM7WUFDMUUsYUFBYTthQUNaLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRTtZQUN6QixNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFhLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1lBQ3BHLGFBQWE7WUFDYixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMxQyxhQUFhO1lBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNQLENBQUM7O2lIQXhCVSxtQkFBbUI7cUhBQW5CLG1CQUFtQjs0RkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFQSVNlcnZpY2UgfSBmcm9tICcuL2FwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQVBJIH0gZnJvbSAnLi4vYXBwLmNvbnN0YW50cyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5jb25zdCB1cmxNYXAgPSB7XHJcbiAgbG9jYXRpb25zOiBBUEkuTE9DQVRJT04sXHJcbiAgdXNlckxvY2FsZXM6IEFQSS5VU0VSX0xPQ0FMRVMsXHJcbiAgdXNlclByb2ZpbGVzOiBBUEkuVVNFUl9QUk9GSUxFUyxcclxuICB3ZWJleExvY2F0aW9uczogQVBJLlVTRVJfTE9DQVRJT05TLFxyXG59XHJcblxyXG4vLyB3ZWJleExvY2F0aW9ucyBjb21lcyBmcm9tIGEgcGFnaW5hdGVkIFdlYmV4IGVuZHBvaW50IC0gZmV0Y2ggaXQgaW4gb25lIHBhZ2UgYmlnIGVub3VnaCBmb3IgYWxsIGxvY2F0aW9uc1xyXG5jb25zdCBQQUdJTkFURURfVE9LRU5TID0gWyd3ZWJleExvY2F0aW9ucyddO1xyXG5jb25zdCBGRVRDSF9BTExfUEFHRV9TSVpFID0gJzEwMDAnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU2l0ZVNldHRpbmdzU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBBUElTZXJ2aWNlXHJcbiAgKSB7XHJcblxyXG4gIH1cclxuICBwdWJsaWMgZ2V0U2VsZWN0aW9uT3B0aW9ucyhzaXRlSWQ6IG51bWJlciwgdG9rZW46IHN0cmluZyk6IGFueSB7XHJcbiAgICBpZighc2l0ZUlkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIC8vIEB0cy1pZ25vcmVcclxuICAgIGNvbnN0IFVSTCA9IHVybE1hcFt0b2tlbl07XHJcbiAgICBjb25zdCBpc1BhZ2luYXRlZCA9IFBBR0lOQVRFRF9UT0tFTlMuaW5jbHVkZXModG9rZW4pO1xyXG4gICAgY29uc3QgcGFyYW1zID0gaXNQYWdpbmF0ZWQgPyB7IHBhZ2U6ICcwJywgc2l6ZTogRkVUQ0hfQUxMX1BBR0VfU0laRSB9IDogbnVsbDtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZmV0Y2goVVJMLnJlcGxhY2UoJzpzaXRlSWQnLCBTdHJpbmcoc2l0ZUlkKSksIHBhcmFtcylcclxuICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAucGlwZShtYXAoKG9wdGlvbnM6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IGlzUGFnaW5hdGVkID8gKG9wdGlvbnM/Lml0ZW1zIHx8IFtdKS5tYXAoKGxvY2F0aW9uOiBhbnkpID0+IGxvY2F0aW9uLm5hbWUpIDogb3B0aW9ucztcclxuICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgdGhpc1t0b2tlbl0gPSB2YWx1ZXMgPyB2YWx1ZXMuc29ydCgpIDogW107XHJcbiAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgIHJldHVybiB0aGlzW3Rva2VuXTtcclxuICAgICAgfSkpXHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -194,4 +194,4 @@ SortingUtilsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0",
|
|
|
194
194
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SortingUtilsService, decorators: [{
|
|
195
195
|
type: Injectable
|
|
196
196
|
}] });
|
|
197
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydGluZy11dGlscy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItbWFuYWdlL3NyYy9zZXJ2aWNlcy9zb3J0aW5nLXV0aWxzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0MsTUFBTSxZQUFZLEdBQUcsVUFBVSxRQUFrQixFQUFFLE9BQWlCLEVBQUUsT0FBZTtJQUNuRixJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsRUFBRTtRQUMvRCxPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsT0FBTyxHQUFHLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7QUFDM0MsQ0FBQyxDQUFDO0FBRUYsTUFBTSxjQUFjLEdBQUcsVUFBVSxRQUFrQixFQUFFLE9BQWlCLEVBQUUsT0FBZTtJQUNyRixJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsRUFBRTtRQUMvRCxPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsYUFBYTtJQUNiLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sSUFBSSxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUM5RSxDQUFDLENBQUM7QUFFRixNQUFNLFFBQVEsR0FBRyxVQUFVLFFBQWtCLEVBQUUsT0FBaUIsRUFBRSxPQUFlO0lBQy9FLElBQUksQ0FBQyxRQUFRLElBQUksT0FBTyxFQUFFO1FBQ3hCLGFBQWE7UUFDYixPQUFPLE1B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LHVCQUF1QixHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1RixJQUFJLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxlQUFlLENBQUMsRUFBRTtnQkFDekUsTUFBTSxJQUFJLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3BHLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7YUFDekI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUNELGdCQUFnQixFQUFFLFFBQVE7SUFDMUIsVUFBVSxFQUFFLFFBQVE7Q0FDckIsQ0FBQztpSEFwQ1MsbUJBQW1CO3FIQUFuQixtQkFBbUI7NEZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExpbmVBc3NvY2lhdGlvbkludGVyZmFjZSB9IGZyb20gJy4uL2NsYXNzZXMvbGluZS1hc3NvY2lhdGlvbi1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRGV2aWNlSW50ZXJmYWNlIH0gZnJvbSAnLi4vY2xhc3Nlcy9kZXZpY2UnO1xuaW1wb3J0IHsgTGluZUludGVyZmFjZSB9IGZyb20gJy4uL2NsYXNzZXMvbGluZSc7XG5pbXBvcnQgeyBMaW5lQXNzb2NpYXRpb24gfSBmcm9tICcuLi9jbGFzc2VzL2xpbmUtYXNzb2NpYXRpb24nO1xuXG5jb25zdCBzdHJpbmdfYXJyYXkgPSBmdW5jdGlvbiAob3JpZ2luYWw6IHN0cmluZ1tdLCB1cGRhdGVkOiBzdHJpbmdbXSwgZnVsbEtleTogc3RyaW5nKSB7XG4gIGlmICghdXBkYXRlZCB8fCAhU29ydGluZ1V0aWxzU2VydmljZS5kaWZmZXJzKG9yaWdpbmFsLCB1cGRhdGVkKSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJldHVybiBgJHtmdWxsS2V5fT0ke3VwZGF0ZWQuam9pbignLCcpfWA7XG59O1xuXG5jb25zdCBsaW5lX3JlZmVyZW5jZSA9IGZ1bmN0aW9uIChvcmlnaW5hbDogc3RyaW5nW10sIHVwZGF0ZWQ6IHN0cmluZ1tdLCBmdWxsS2V5OiBzdHJpbmcpIHtcbiAgaWYgKCF1cGRhdGVkIHx8ICFTb3J0aW5nVXRpbHNTZXJ2aWNlLmRpZmZlcnMob3JpZ2luYWwsIHVwZGF0ZWQpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gQHRzLWlnbm9yZVxuICByZXR1cm4gT2JqZWN0LmtleXModXBkYXRlZCkubWFwKGtleSA9PiBgJHtmdWxsS2V5fS4ke2tleX09JHt1cGRhdGVkW2tleV19YCk7XG59O1xuXG5jb25zdCBudWxsYWJsZSA9IGZ1bmN0aW9uIChvcmlnaW5hbDogc3RyaW5nW10sIHVwZGF0ZWQ6IHN0cmluZ1tdLCBmdWxsS2V5OiBzdHJpbmcpIHtcbiAgaWYgKCFvcmlnaW5hbCAmJiB1cGRhdGVkKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHJldHVybiBPYmplY3Qua2V5cyh1cGRhdGVkKS5tYXAoa2V5ID0+IGAke2Z1bGxLZXl9LiR7a2V5fT0ke3VwZGF0ZWRba2V5XX1gKTtcbiAgfSBlbHNlIGlmIChvcmlnaW5hbCAmJiAhdXBkYXRlZCkge1xuICAgIHJldHVybiBgJHtmdWxsS2V5fT1udWxsYDtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gU29ydGluZ1V0aWxzU2VydmljZS5kaWZmKG9yaWdpbmFsLCB1cGRhdGVkLCBmdWxsS2V5LCBbXSk7XG4gIH1cbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTb3J0aW5nVXRpbHNTZXJ2aWNlIHtcblxuICBzdGF0aWMgZGljdGlvbmFyeSA9IHtcbiAgICBmZWF0dXJlczogc3RyaW5nX2FycmF5LFxuICAgIHNlcnZpY2VzOiBzdHJpbmdfYXJyYXksXG4gICAgZGlyZWN0b3J5TnVtYmVyOiBsaW5lX3JlZmVyZW5jZSxcbiAgICBwcmltYXJ5TGluZVJlZmVyZW5jZTogbGluZV9yZWZlcmVuY2UsXG4gICAgc3BlZWREaWFsczogZnVuY3Rpb24gKG9yaWdpbmFsOiBhbnksIHVwZGF0ZWQ6IGFueSwgZnVsbEtleTogc3RyaW5nKSB7XG4gICAgICBpZiAoIXVwZGF0ZWQgfHwgIVNvcnRpbmdVdGlsc1NlcnZpY2UuZGlmZmVycyhvcmlnaW5hbCwgdXBkYXRlZCkpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICAvLyB0b2RvIG9ubHkgY2hhbmdlcywgaWRlbnRpZmljYXRpb25cbiAgICAgIGxldCBtYXA6IGFueSA9IFtdO1xuICAgICAgdXBkYXRlZC5tYXAoKHNwZWVkRGlhbDogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRGdWxsS2V5ID0gYCR7ZnVsbEtleX0uJHtzcGVlZERpYWwuaW5kZXh9YDsgLy8gJHtzcGVlZERpYWwudHlwZX0gQ0hFQ2sgP1xuICAgICAgICBtYXAgPSBbLi4ubWFwLCBPYmplY3Qua2V5cyhzcGVlZERpYWwpLm1hcChrZXkgPT4gYCR7Y3VycmVudEZ1bGxLZXl9LiR7a2V5fT0ke3NwZWVkRGlhbFtrZXldfWApXTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIG1hcDtcbiAgICB9LFxuICAgIGxpbmVBc3NvY2lhdGlvbnM6IGZ1bmN0aW9uIChvcmlnaW5hbDogTGluZUFzc29jaWF0aW9uSW50ZXJmYWNlW10sIHVwZGF0ZWQ6IExpbmVBc3NvY2lhdGlvbkludGVyZmFjZVtdLCBmdWxsS2V5OiBzdHJpbmcpIHtcbiAgICAgIGlmICghdXBkYXRlZCB8fCAhU29ydGluZ1V0aWxzU2VydmljZS5kaWZmZXJzKG9yaWdpbmFsLCB1cGRhdGVkKSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGxldCBtYXA6IGFueSA9IFtdO1xuICAgICAgdXBkYXRlZC5tYXAoKGxpbmVBc3NvY2lhdGlvbjogTGluZUFzc29jaWF0aW9uSW50ZXJmYWNlKSA9PiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRGdWxsS2V5ID0gYCR7ZnVsbEtleX0uJHtsaW5lQXNzb2NpYXRpb24ubGluZVBraWQgPyBsaW5lQXNzb2NpYXRpb24ubGluZVBraWQgOiBsaW5lQXNzb2NpYXRpb24ubGluZUxvY2FsSWR9YDtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxMaW5lQXNzb2NpYXRpb24gPSBvcmlnaW5hbC5maW5kKGxpbmUgPT4gbGluZS5pbmRleCA9PT0gbGluZUFzc29jaWF0aW9uLmluZGV4KTtcbiAgICAgICAgaWYgKFNvcnRpbmdVdGlsc1NlcnZpY2UuZGlmZmVycyhvcmlnaW5hbExpbmVBc3NvY2lhdGlvbiwgbGluZUFzc29jaWF0aW9uKSkge1xuICAgICAgICAgIGNvbnN0IGRpZmYgPSBTb3J0aW5nVXRpbHNTZXJ2aWNlLmRpZmYob3JpZ2luYWxMaW5lQXNzb2NpYXRpb24sIGxpbmVBc3NvY2lhdGlvbiwgY3VycmVudEZ1bGxLZXksIFtdKTtcbiAgICAgICAgICBtYXAgPSBbLi4ubWFwLCAuLi5kaWZmXTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gbWFwO1xuICAgIH0sXG4gICAgZW50ZXJwcmlzZUFsdE51bTogbnVsbGFibGUsXG4gICAgZTE2NEFsdE51bTogbnVsbGFibGVcbiAgfTtcblxuICBwdWJsaWMgc3RhdGljIHNvcnREZXZpY2VzQnlUeXBlQW5kTmFtZShhcnJheTogQXJyYXk8RGV2aWNlSW50ZXJmYWNlPik6IGFueSB7XG4gICAgaWYgKCFhcnJheSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBhcnJheS5zb3J0KChhLCBiKSA9PiB7XG4gICAgICBpZiAoYS5kZXZpY2VUeXBlID09PSBiLmRldmljZVR5cGUpIHtcbiAgICAgICAgcmV0dXJuIChhLm5hbWUgPCBiLm5hbWUpID8gLTEgOiAoYS5uYW1lID4gYi5uYW1lKSA/IDEgOiAwO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIChhLmRldmljZVR5cGUgPCBiLmRldmljZVR5cGUpID8gLTEgOiAxO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIHNvcnRMaW5lc0J5RGlyZWN0b3J5TmFtZShhcnJheTogTGluZUludGVyZmFjZVtdKTogYW55IHtcbiAgICBpZiAoIWFycmF5KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIGFycmF5LnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIGlmICghYS5kaXJlY3RvcnlOdW1iZXIgJiYgIWIuZGlyZWN0b3J5TnVtYmVyKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuICAgICAgaWYgKGEuZGlyZWN0b3J5TnVtYmVyICYmICFiLmRpcmVjdG9yeU51bWJlcikge1xuICAgICAgICByZXR1cm4gMTtcbiAgICAgIH1cbiAgICAgIGlmICghYS5kaXJlY3RvcnlOdW1iZXIgJiYgYi5kaXJlY3RvcnlOdW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgfVxuICAgICAgY29uc3QgZGlyZWN0b3J5TnVtYmVyQSA9IGEuZGlyZWN0b3J5TnVtYmVyLmRpcmVjdG9yeU51bWJlcjtcbiAgICAgIGNvbnN0IGRpcmVjdG9yeU51bWJlckIgPSBiLmRpcmVjdG9yeU51bWJlci5kaXJlY3RvcnlOdW1iZXI7XG4gICAgICByZXR1cm4gKGRpcmVjdG9yeU51bWJlckEgPCBkaXJlY3RvcnlOdW1iZXJCKSA/IC0xIDogKGRpcmVjdG9yeU51bWJlckEgPiBkaXJlY3RvcnlOdW1iZXJCKSA/IDEgOiAwO1xuICAgIH0pO1xuICB9XG5cbiAgc3RhdGljIHNvcnRMaW5lQXNzb2NpYXRpb25zQnlQb3NpdGlvbihhcnJheTogTGluZUFzc29jaWF0aW9uW10pOiBhbnkge1xuICAgIGlmICghYXJyYXkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4gYXJyYXkuc29ydCgoYSwgYikgPT4ge1xuICAgICAgaWYgKCFhLnBvc2l0aW9uICYmICFiLnBvc2l0aW9uKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuICAgICAgaWYgKGEucG9zaXRpb24gJiYgIWIucG9zaXRpb24pIHtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgICB9XG4gICAgICBpZiAoIWEucG9zaXRpb24gJiYgYi5wb3NpdGlvbikge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgICB9XG4gICAgICBjb25zdCBwb3NpdGlvbkEgPSBhLnBvc2l0aW9uO1xuICAgICAgY29uc3QgcG9zaXRpb25CID0gYi5wb3NpdGlvbjtcbiAgICAgIHJldHVybiAocG9zaXRpb25BIDwgcG9zaXRpb25CKSA/IC0xIDogKHBvc2l0aW9uQSA+IHBvc2l0aW9uQikgPyAxIDogMDtcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBzb3J0U29ydEFycmF5QnlQcm9wZXJ0eShhcnJheTogYW55LCBzb3J0Qnk6IHN0cmluZyk6IGFueSB7XG4gICAgaWYgKCFhcnJheSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBhcnJheS5zb3J0KChhOiBhbnksIGI6IGFueSkgPT4ge1xuICAgICAgaWYgKCFhW3NvcnRCeV0gJiYgIWJbc29ydEJ5XSkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH1cbiAgICAgIGlmIChhW3NvcnRCeV0gJiYgIWJbc29ydEJ5XSkge1xuICAgICAgICByZXR1cm4gMTtcbiAgICAgIH1cbiAgICAgIGlmICghYVtzb3J0QnldICYmIGJbc29ydEJ5XSkge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgICB9XG4gICAgICBjb25zdCBwb3NpdGlvbkEgPSBhW3NvcnRCeV07XG4gICAgICBjb25zdCBwb3NpdGlvbkIgPSBiW3NvcnRCeV07XG4gICAgICByZXR1cm4gKHBvc2l0aW9uQSA8IHBvc2l0aW9uQikgPyAtMSA6IChwb3NpdGlvbkEgPiBwb3NpdGlvbkIpID8gMSA6IDA7XG4gICAgfSk7XG4gIH1cblxuXG4gIHN0YXRpYyBkaWZmKG9yaWdPYmplY3Q6IGFueSwgdXBkYXRlZE9iajogYW55LCBwYXRoOiBzdHJpbmcsIGtleXNUb0lnbm9yZTogYW55KSB7XG4gICAgbGV0IHJlc3VsdDogYW55ID0gW107XG4gICAgaWYgKE9iamVjdC5pcyhvcmlnT2JqZWN0LCB1cGRhdGVkT2JqKSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgaWYgKCF1cGRhdGVkT2JqIHx8IHR5cGVvZiB1cGRhdGVkT2JqICE9PSAnb2JqZWN0Jykge1xuICAgICAgcmV0dXJuIHVwZGF0ZWRPYmo7XG4gICAgfVxuICAgIGNvbnN0IGNvbmNhdCA9IEFycmF5LmZyb20obmV3IFNldChbLi4uT2JqZWN0LmtleXMob3JpZ09iamVjdCB8fCB7fSksIC4uLk9iamVjdC5rZXlzKHVwZGF0ZWRPYmogfHwge30pXSkpO1xuICAgIGNvbnN0IGZpbHRlciA9IGtleXNUb0lnbm9yZSA/IGNvbmNhdC5maWx0ZXIoa2V5ID0+ICFrZXlzVG9JZ25vcmUuaW5jbHVkZXMoa2V5KSkgOiBjb25jYXQ7XG4gICAgZmlsdGVyXG4gICAgICAuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAvLyBAdHMtaWdub3JlXG4gICAgICAgIGlmICh0aGlzLmRpY3Rpb25hcnlba2V5XSkge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBjb25zdCBjb21wbGV4UmVzdWx0ID0gdGhpcy5kaWN0aW9uYXJ5W2tleV0ob3JpZ09iamVjdFtrZXldLCB1cGRhdGVkT2JqW2tleV0sIGAke3BhdGh9JHtwYXRoID8gJy4nIDogJyd9JHtrZXl9YCk7XG4gICAgICAgICAgaWYgKGNvbXBsZXhSZXN1bHQpIHtcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNvbXBsZXhSZXN1bHQpKSB7XG4gICAgICAgICAgICAgIHJlc3VsdCA9IFsuLi5yZXN1bHQsIC4uLmNvbXBsZXhSZXN1bHRdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmVzdWx0LnB1c2goY29tcGxleFJlc3VsdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB1cGRhdGVkT2JqW2tleV0gPT09ICdvYmplY3QnICYmIHR5cGVvZiBvcmlnT2JqZWN0W2tleV0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgaWYgKFNvcnRpbmdVdGlsc1NlcnZpY2UuZGlmZmVycyh1cGRhdGVkT2JqW2tleV0sIG9yaWdPYmplY3Rba2V5XSkpIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld1BhdGggPSBgJHtwYXRofSR7cGF0aCA/ICcuJyA6ICcnfSR7a2V5fWA7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZXMgPSBTb3J0aW5nVXRpbHNTZXJ2aWNlLmRpZmYob3JpZ09iamVjdFtrZXldLCB1cGRhdGVkT2JqW2tleV0sIG5ld1BhdGgsIGtleXNUb0lnbm9yZSk7XG4gICAgICAgICAgICBpZiAodmFsdWVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgcmVzdWx0ID0gWy4uLnJlc3VsdCwgLi4udmFsdWVzXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodXBkYXRlZE9iaiAmJiAhb3JpZ09iamVjdCB8fCB1cGRhdGVkT2JqW2tleV0gIT09IG9yaWdPYmplY3Rba2V5XSAmJiAhT2JqZWN0LmlzKG9yaWdPYmplY3Rba2V5XSwgdXBkYXRlZE9ialtrZXldKSkge1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gdXBkYXRlZE9iaiA/IFNvcnRpbmdVdGlsc1NlcnZpY2UuZm9ybWF0SWZFbXB0eSh1cGRhdGVkT2JqW2tleV0pIDogbnVsbDtcbiAgICAgICAgICByZXN1bHQucHVzaChgJHtwYXRofSR7cGF0aCA/ICcuJyA6ICcnfSR7a2V5fT0ke3ZhbHVlfWApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgc3RhdGljIGZvcm1hdElmRW1wdHkodmFsdWU6IGFueSk6IGFueSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICAgIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7XG4gICAgICBjYXNlICdib29sZWFuJzpcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgY2FzZSAnc3RyaW5nJzpcbiAgICAgICAgcmV0dXJuICcnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgc3RhdGljIGRpZmZlcnMob2JqMTogYW55LCBvYmoyOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkob2JqMSkgIT09IEpTT04uc3RyaW5naWZ5KG9iajIpO1xuICB9XG5cbn1cbiJdfQ==
|
|
197
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydGluZy11dGlscy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItbWFuYWdlL3NyYy9zZXJ2aWNlcy9zb3J0aW5nLXV0aWxzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0MsTUFBTSxZQUFZLEdBQUcsVUFBVSxRQUFrQixFQUFFLE9BQWlCLEVBQUUsT0FBZTtJQUNuRixJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsRUFBRTtRQUMvRCxPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsT0FBTyxHQUFHLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7QUFDM0MsQ0FBQyxDQUFDO0FBRUYsTUFBTSxjQUFjLEdBQUcsVUFBVSxRQUFrQixFQUFFLE9BQWlCLEVBQUUsT0FBZTtJQUNyRixJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsRUFBRTtRQUMvRCxPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsYUFBYTtJQUNiLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sSUFBSSxHQUFHLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUM5RSxDQUFDLENBQUM7QUFFRixNQUFNLFFBQVEsR0FBRyxVQUFVLFFBQWtCLEVBQUUsT0FBaUIsRUFBRSxPQUFlO0lBQy9FLElBQUksQ0FBQyxRQUFRLElBQUksT0FBTyxFQUFFO1FBQ3hCLGFBQWE7UUFDYixPQUFPLE1B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LHVCQUF1QixHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1RixJQUFJLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsRUFBRSxlQUFlLENBQUMsRUFBRTtnQkFDekUsTUFBTSxJQUFJLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3BHLEdBQUcsR0FBRyxDQUFDLEdBQUcsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7YUFDekI7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUNELGdCQUFnQixFQUFFLFFBQVE7SUFDMUIsVUFBVSxFQUFFLFFBQVE7Q0FDckIsQ0FBQztpSEFwQ1MsbUJBQW1CO3FIQUFuQixtQkFBbUI7NEZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTGluZUFzc29jaWF0aW9uSW50ZXJmYWNlIH0gZnJvbSAnLi4vY2xhc3Nlcy9saW5lLWFzc29jaWF0aW9uLWludGVyZmFjZSc7XHJcbmltcG9ydCB7IERldmljZUludGVyZmFjZSB9IGZyb20gJy4uL2NsYXNzZXMvZGV2aWNlJztcclxuaW1wb3J0IHsgTGluZUludGVyZmFjZSB9IGZyb20gJy4uL2NsYXNzZXMvbGluZSc7XHJcbmltcG9ydCB7IExpbmVBc3NvY2lhdGlvbiB9IGZyb20gJy4uL2NsYXNzZXMvbGluZS1hc3NvY2lhdGlvbic7XHJcblxyXG5jb25zdCBzdHJpbmdfYXJyYXkgPSBmdW5jdGlvbiAob3JpZ2luYWw6IHN0cmluZ1tdLCB1cGRhdGVkOiBzdHJpbmdbXSwgZnVsbEtleTogc3RyaW5nKSB7XHJcbiAgaWYgKCF1cGRhdGVkIHx8ICFTb3J0aW5nVXRpbHNTZXJ2aWNlLmRpZmZlcnMob3JpZ2luYWwsIHVwZGF0ZWQpKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgcmV0dXJuIGAke2Z1bGxLZXl9PSR7dXBkYXRlZC5qb2luKCcsJyl9YDtcclxufTtcclxuXHJcbmNvbnN0IGxpbmVfcmVmZXJlbmNlID0gZnVuY3Rpb24gKG9yaWdpbmFsOiBzdHJpbmdbXSwgdXBkYXRlZDogc3RyaW5nW10sIGZ1bGxLZXk6IHN0cmluZykge1xyXG4gIGlmICghdXBkYXRlZCB8fCAhU29ydGluZ1V0aWxzU2VydmljZS5kaWZmZXJzKG9yaWdpbmFsLCB1cGRhdGVkKSkge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG4gIC8vIEB0cy1pZ25vcmVcclxuICByZXR1cm4gT2JqZWN0LmtleXModXBkYXRlZCkubWFwKGtleSA9PiBgJHtmdWxsS2V5fS4ke2tleX09JHt1cGRhdGVkW2tleV19YCk7XHJcbn07XHJcblxyXG5jb25zdCBudWxsYWJsZSA9IGZ1bmN0aW9uIChvcmlnaW5hbDogc3RyaW5nW10sIHVwZGF0ZWQ6IHN0cmluZ1tdLCBmdWxsS2V5OiBzdHJpbmcpIHtcclxuICBpZiAoIW9yaWdpbmFsICYmIHVwZGF0ZWQpIHtcclxuICAgIC8vIEB0cy1pZ25vcmVcclxuICAgIHJldHVybiBPYmplY3Qua2V5cyh1cGRhdGVkKS5tYXAoa2V5ID0+IGAke2Z1bGxLZXl9LiR7a2V5fT0ke3VwZGF0ZWRba2V5XX1gKTtcclxuICB9IGVsc2UgaWYgKG9yaWdpbmFsICYmICF1cGRhdGVkKSB7XHJcbiAgICByZXR1cm4gYCR7ZnVsbEtleX09bnVsbGA7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBTb3J0aW5nVXRpbHNTZXJ2aWNlLmRpZmYob3JpZ2luYWwsIHVwZGF0ZWQsIGZ1bGxLZXksIFtdKTtcclxuICB9XHJcbn07XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBTb3J0aW5nVXRpbHNTZXJ2aWNlIHtcclxuXHJcbiAgc3RhdGljIGRpY3Rpb25hcnkgPSB7XHJcbiAgICBmZWF0dXJlczogc3RyaW5nX2FycmF5LFxyXG4gICAgc2VydmljZXM6IHN0cmluZ19hcnJheSxcclxuICAgIGRpcmVjdG9yeU51bWJlcjogbGluZV9yZWZlcmVuY2UsXHJcbiAgICBwcmltYXJ5TGluZVJlZmVyZW5jZTogbGluZV9yZWZlcmVuY2UsXHJcbiAgICBzcGVlZERpYWxzOiBmdW5jdGlvbiAob3JpZ2luYWw6IGFueSwgdXBkYXRlZDogYW55LCBmdWxsS2V5OiBzdHJpbmcpIHtcclxuICAgICAgaWYgKCF1cGRhdGVkIHx8ICFTb3J0aW5nVXRpbHNTZXJ2aWNlLmRpZmZlcnMob3JpZ2luYWwsIHVwZGF0ZWQpKSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgICAgLy8gdG9kbyBvbmx5IGNoYW5nZXMsIGlkZW50aWZpY2F0aW9uXHJcbiAgICAgIGxldCBtYXA6IGFueSA9IFtdO1xyXG4gICAgICB1cGRhdGVkLm1hcCgoc3BlZWREaWFsOiBhbnkpID0+IHtcclxuICAgICAgICBjb25zdCBjdXJyZW50RnVsbEtleSA9IGAke2Z1bGxLZXl9LiR7c3BlZWREaWFsLmluZGV4fWA7IC8vICR7c3BlZWREaWFsLnR5cGV9IENIRUNrID9cclxuICAgICAgICBtYXAgPSBbLi4ubWFwLCBPYmplY3Qua2V5cyhzcGVlZERpYWwpLm1hcChrZXkgPT4gYCR7Y3VycmVudEZ1bGxLZXl9LiR7a2V5fT0ke3NwZWVkRGlhbFtrZXldfWApXTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiBtYXA7XHJcbiAgICB9LFxyXG4gICAgbGluZUFzc29jaWF0aW9uczogZnVuY3Rpb24gKG9yaWdpbmFsOiBMaW5lQXNzb2NpYXRpb25JbnRlcmZhY2VbXSwgdXBkYXRlZDogTGluZUFzc29jaWF0aW9uSW50ZXJmYWNlW10sIGZ1bGxLZXk6IHN0cmluZykge1xyXG4gICAgICBpZiAoIXVwZGF0ZWQgfHwgIVNvcnRpbmdVdGlsc1NlcnZpY2UuZGlmZmVycyhvcmlnaW5hbCwgdXBkYXRlZCkpIHtcclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgfVxyXG4gICAgICBsZXQgbWFwOiBhbnkgPSBbXTtcclxuICAgICAgdXBkYXRlZC5tYXAoKGxpbmVBc3NvY2lhdGlvbjogTGluZUFzc29jaWF0aW9uSW50ZXJmYWNlKSA9PiB7XHJcbiAgICAgICAgY29uc3QgY3VycmVudEZ1bGxLZXkgPSBgJHtmdWxsS2V5fS4ke2xpbmVBc3NvY2lhdGlvbi5saW5lUGtpZCA/IGxpbmVBc3NvY2lhdGlvbi5saW5lUGtpZCA6IGxpbmVBc3NvY2lhdGlvbi5saW5lTG9jYWxJZH1gO1xyXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsTGluZUFzc29jaWF0aW9uID0gb3JpZ2luYWwuZmluZChsaW5lID0+IGxpbmUuaW5kZXggPT09IGxpbmVBc3NvY2lhdGlvbi5pbmRleCk7XHJcbiAgICAgICAgaWYgKFNvcnRpbmdVdGlsc1NlcnZpY2UuZGlmZmVycyhvcmlnaW5hbExpbmVBc3NvY2lhdGlvbiwgbGluZUFzc29jaWF0aW9uKSkge1xyXG4gICAgICAgICAgY29uc3QgZGlmZiA9IFNvcnRpbmdVdGlsc1NlcnZpY2UuZGlmZihvcmlnaW5hbExpbmVBc3NvY2lhdGlvbiwgbGluZUFzc29jaWF0aW9uLCBjdXJyZW50RnVsbEtleSwgW10pO1xyXG4gICAgICAgICAgbWFwID0gWy4uLm1hcCwgLi4uZGlmZl07XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIG1hcDtcclxuICAgIH0sXHJcbiAgICBlbnRlcnByaXNlQWx0TnVtOiBudWxsYWJsZSxcclxuICAgIGUxNjRBbHROdW06IG51bGxhYmxlXHJcbiAgfTtcclxuXHJcbiAgcHVibGljIHN0YXRpYyBzb3J0RGV2aWNlc0J5VHlwZUFuZE5hbWUoYXJyYXk6IEFycmF5PERldmljZUludGVyZmFjZT4pOiBhbnkge1xyXG4gICAgaWYgKCFhcnJheSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIHJldHVybiBhcnJheS5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgIGlmIChhLmRldmljZVR5cGUgPT09IGIuZGV2aWNlVHlwZSkge1xyXG4gICAgICAgIHJldHVybiAoYS5uYW1lIDwgYi5uYW1lKSA/IC0xIDogKGEubmFtZSA+IGIubmFtZSkgPyAxIDogMDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gKGEuZGV2aWNlVHlwZSA8IGIuZGV2aWNlVHlwZSkgPyAtMSA6IDE7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHNvcnRMaW5lc0J5RGlyZWN0b3J5TmFtZShhcnJheTogTGluZUludGVyZmFjZVtdKTogYW55IHtcclxuICAgIGlmICghYXJyYXkpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYXJyYXkuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICBpZiAoIWEuZGlyZWN0b3J5TnVtYmVyICYmICFiLmRpcmVjdG9yeU51bWJlcikge1xyXG4gICAgICAgIHJldHVybiAwO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChhLmRpcmVjdG9yeU51bWJlciAmJiAhYi5kaXJlY3RvcnlOdW1iZXIpIHtcclxuICAgICAgICByZXR1cm4gMTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIWEuZGlyZWN0b3J5TnVtYmVyICYmIGIuZGlyZWN0b3J5TnVtYmVyKSB7XHJcbiAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGRpcmVjdG9yeU51bWJlckEgPSBhLmRpcmVjdG9yeU51bWJlci5kaXJlY3RvcnlOdW1iZXI7XHJcbiAgICAgIGNvbnN0IGRpcmVjdG9yeU51bWJlckIgPSBiLmRpcmVjdG9yeU51bWJlci5kaXJlY3RvcnlOdW1iZXI7XHJcbiAgICAgIHJldHVybiAoZGlyZWN0b3J5TnVtYmVyQSA8IGRpcmVjdG9yeU51bWJlckIpID8gLTEgOiAoZGlyZWN0b3J5TnVtYmVyQSA+IGRpcmVjdG9yeU51bWJlckIpID8gMSA6IDA7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBzb3J0TGluZUFzc29jaWF0aW9uc0J5UG9zaXRpb24oYXJyYXk6IExpbmVBc3NvY2lhdGlvbltdKTogYW55IHtcclxuICAgIGlmICghYXJyYXkpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYXJyYXkuc29ydCgoYSwgYikgPT4ge1xyXG4gICAgICBpZiAoIWEucG9zaXRpb24gJiYgIWIucG9zaXRpb24pIHtcclxuICAgICAgICByZXR1cm4gMDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoYS5wb3NpdGlvbiAmJiAhYi5wb3NpdGlvbikge1xyXG4gICAgICAgIHJldHVybiAxO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghYS5wb3NpdGlvbiAmJiBiLnBvc2l0aW9uKSB7XHJcbiAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHBvc2l0aW9uQSA9IGEucG9zaXRpb247XHJcbiAgICAgIGNvbnN0IHBvc2l0aW9uQiA9IGIucG9zaXRpb247XHJcbiAgICAgIHJldHVybiAocG9zaXRpb25BIDwgcG9zaXRpb25CKSA/IC0xIDogKHBvc2l0aW9uQSA+IHBvc2l0aW9uQikgPyAxIDogMDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHNvcnRTb3J0QXJyYXlCeVByb3BlcnR5KGFycmF5OiBhbnksIHNvcnRCeTogc3RyaW5nKTogYW55IHtcclxuICAgIGlmICghYXJyYXkpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gYXJyYXkuc29ydCgoYTogYW55LCBiOiBhbnkpID0+IHtcclxuICAgICAgaWYgKCFhW3NvcnRCeV0gJiYgIWJbc29ydEJ5XSkge1xyXG4gICAgICAgIHJldHVybiAwO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChhW3NvcnRCeV0gJiYgIWJbc29ydEJ5XSkge1xyXG4gICAgICAgIHJldHVybiAxO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghYVtzb3J0QnldICYmIGJbc29ydEJ5XSkge1xyXG4gICAgICAgIHJldHVybiAtMTtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBwb3NpdGlvbkEgPSBhW3NvcnRCeV07XHJcbiAgICAgIGNvbnN0IHBvc2l0aW9uQiA9IGJbc29ydEJ5XTtcclxuICAgICAgcmV0dXJuIChwb3NpdGlvbkEgPCBwb3NpdGlvbkIpID8gLTEgOiAocG9zaXRpb25BID4gcG9zaXRpb25CKSA/IDEgOiAwO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcbiAgc3RhdGljIGRpZmYob3JpZ09iamVjdDogYW55LCB1cGRhdGVkT2JqOiBhbnksIHBhdGg6IHN0cmluZywga2V5c1RvSWdub3JlOiBhbnkpIHtcclxuICAgIGxldCByZXN1bHQ6IGFueSA9IFtdO1xyXG4gICAgaWYgKE9iamVjdC5pcyhvcmlnT2JqZWN0LCB1cGRhdGVkT2JqKSkge1xyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgaWYgKCF1cGRhdGVkT2JqIHx8IHR5cGVvZiB1cGRhdGVkT2JqICE9PSAnb2JqZWN0Jykge1xyXG4gICAgICByZXR1cm4gdXBkYXRlZE9iajtcclxuICAgIH1cclxuICAgIGNvbnN0IGNvbmNhdCA9IEFycmF5LmZyb20obmV3IFNldChbLi4uT2JqZWN0LmtleXMob3JpZ09iamVjdCB8fCB7fSksIC4uLk9iamVjdC5rZXlzKHVwZGF0ZWRPYmogfHwge30pXSkpO1xyXG4gICAgY29uc3QgZmlsdGVyID0ga2V5c1RvSWdub3JlID8gY29uY2F0LmZpbHRlcihrZXkgPT4gIWtleXNUb0lnbm9yZS5pbmNsdWRlcyhrZXkpKSA6IGNvbmNhdDtcclxuICAgIGZpbHRlclxyXG4gICAgICAuZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICBpZiAodGhpcy5kaWN0aW9uYXJ5W2tleV0pIHtcclxuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgIGNvbnN0IGNvbXBsZXhSZXN1bHQgPSB0aGlzLmRpY3Rpb25hcnlba2V5XShvcmlnT2JqZWN0W2tleV0sIHVwZGF0ZWRPYmpba2V5XSwgYCR7cGF0aH0ke3BhdGggPyAnLicgOiAnJ30ke2tleX1gKTtcclxuICAgICAgICAgIGlmIChjb21wbGV4UmVzdWx0KSB7XHJcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNvbXBsZXhSZXN1bHQpKSB7XHJcbiAgICAgICAgICAgICAgcmVzdWx0ID0gWy4uLnJlc3VsdCwgLi4uY29tcGxleFJlc3VsdF07XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgcmVzdWx0LnB1c2goY29tcGxleFJlc3VsdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB1cGRhdGVkT2JqW2tleV0gPT09ICdvYmplY3QnICYmIHR5cGVvZiBvcmlnT2JqZWN0W2tleV0gPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICBpZiAoU29ydGluZ1V0aWxzU2VydmljZS5kaWZmZXJzKHVwZGF0ZWRPYmpba2V5XSwgb3JpZ09iamVjdFtrZXldKSkge1xyXG4gICAgICAgICAgICBjb25zdCBuZXdQYXRoID0gYCR7cGF0aH0ke3BhdGggPyAnLicgOiAnJ30ke2tleX1gO1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZXMgPSBTb3J0aW5nVXRpbHNTZXJ2aWNlLmRpZmYob3JpZ09iamVjdFtrZXldLCB1cGRhdGVkT2JqW2tleV0sIG5ld1BhdGgsIGtleXNUb0lnbm9yZSk7XHJcbiAgICAgICAgICAgIGlmICh2YWx1ZXMgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgIHJlc3VsdCA9IFsuLi5yZXN1bHQsIC4uLnZhbHVlc107XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2UgaWYgKHVwZGF0ZWRPYmogJiYgIW9yaWdPYmplY3QgfHwgdXBkYXRlZE9ialtrZXldICE9PSBvcmlnT2JqZWN0W2tleV0gJiYgIU9iamVjdC5pcyhvcmlnT2JqZWN0W2tleV0sIHVwZGF0ZWRPYmpba2V5XSkpIHtcclxuICAgICAgICAgIGNvbnN0IHZhbHVlID0gdXBkYXRlZE9iaiA/IFNvcnRpbmdVdGlsc1NlcnZpY2UuZm9ybWF0SWZFbXB0eSh1cGRhdGVkT2JqW2tleV0pIDogbnVsbDtcclxuICAgICAgICAgIHJlc3VsdC5wdXNoKGAke3BhdGh9JHtwYXRoID8gJy4nIDogJyd9JHtrZXl9PSR7dmFsdWV9YCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZm9ybWF0SWZFbXB0eSh2YWx1ZTogYW55KTogYW55IHtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9XHJcbiAgICBzd2l0Y2ggKHR5cGVvZiB2YWx1ZSkge1xyXG4gICAgICBjYXNlICdib29sZWFuJzpcclxuICAgICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICAgIGNhc2UgJ3N0cmluZyc6XHJcbiAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGRpZmZlcnMob2JqMTogYW55LCBvYmoyOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShvYmoxKSAhPT0gSlNPTi5zdHJpbmdpZnkob2JqMik7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|
|
@@ -253,8 +253,37 @@ export class UserService {
|
|
|
253
253
|
}
|
|
254
254
|
return false;
|
|
255
255
|
}
|
|
256
|
+
/**
|
|
257
|
+
* Makes the saved state the new baseline, so hasUnsavedChanges() is false again after a successful save.
|
|
258
|
+
*/
|
|
259
|
+
commitSavedChanges() {
|
|
260
|
+
const savedDetails = JSON.parse(JSON.stringify(this.user.getUserDetailsSavableData()));
|
|
261
|
+
const savedLines = this.user.lines ? JSON.parse(JSON.stringify(this.user.lines)) : this.user.lines;
|
|
262
|
+
Object.assign(this.originUser, savedDetails, { lines: savedLines });
|
|
263
|
+
Object.assign(this.originUserData, JSON.parse(JSON.stringify(savedDetails)), { lines: savedLines && JSON.parse(JSON.stringify(savedLines)) });
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Reverts all unsaved changes. The user object and its form are updated in place (not replaced),
|
|
267
|
+
* so components holding references to them keep working.
|
|
268
|
+
*/
|
|
269
|
+
discardChanges() {
|
|
270
|
+
if (!this._user || !this.originUserData) {
|
|
271
|
+
return;
|
|
272
|
+
}
|
|
273
|
+
const restored = new SimplifiedUser(JSON.parse(JSON.stringify(this.originUserData)), this.isLdap);
|
|
274
|
+
const keys = new Set([...Object.keys(this._user), ...Object.keys(restored)]);
|
|
275
|
+
keys.forEach(key => {
|
|
276
|
+
if (key !== 'form' && key !== 'token') {
|
|
277
|
+
this._user[key] = restored[key];
|
|
278
|
+
}
|
|
279
|
+
});
|
|
280
|
+
this._user.form.reset(restored.form.getRawValue());
|
|
281
|
+
this.hasExistedUserId = false;
|
|
282
|
+
}
|
|
256
283
|
setSimplifiedUser(user, isLdap) {
|
|
257
284
|
// isLdap TEMP because of token response issue
|
|
285
|
+
this.isLdap = isLdap;
|
|
286
|
+
this.originUserData = JSON.parse(JSON.stringify(user));
|
|
258
287
|
this._user = new SimplifiedUser(user, isLdap);
|
|
259
288
|
const copiedUser = JSON.parse(JSON.stringify(user));
|
|
260
289
|
this.originUser = new SimplifiedUser(copiedUser, isLdap);
|
|
@@ -300,4 +329,4 @@ UserService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version:
|
|
|
300
329
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserService, decorators: [{
|
|
301
330
|
type: Injectable
|
|
302
331
|
}], ctorParameters: function () { return [{ type: i1.APIService }, { type: i2.LineService }, { type: i3.DcpApiService }]; } });
|
|
303
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItbWFuYWdlL3NyYy9zZXJ2aWNlcy91c2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUd2QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUkvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7QUFHOUQsTUFBTSxPQUFPLFdBQVc7SUFRdEIsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFLRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNKLENBQUM7SUFFRCxJQUFJLHFCQUFxQjtRQUN2QixPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxD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cUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbEcsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsa0NBQWtDLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2lCQUN4RyxPQUFPLENBQUMsU0FBUyxFQUFFLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxDQUFBO1FBQzNILENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRU0sZ0NBQWdDLENBQUMsRUFBVSxFQUFFLE1BQWU7UUFDakUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsZ0NBQWdDLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLGtCQUFrQixDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZLLENBQUM7O3lHQW5WVSxXQUFXOzZHQUFYLFdBQVc7NEZBQVgsV0FBVztrQkFEdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG9mLCBmb3JrSm9pbiwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU2ltcGxpZmllZFVzZXIgfSBmcm9tICcuLi9jbGFzc2VzL3NpbXBsaWZpZWQtdXNlcic7XG5pbXBvcnQgeyBBUEkgfSBmcm9tICcuLi9hcHAuY29uc3RhbnRzJztcbmltcG9ydCB7IEFQSVNlcnZpY2UgfSBmcm9tICcuL2FwaS5zZXJ2aWNlJztcbmltcG9ydCB7IERjcEFwaVNlcnZpY2UgfSBmcm9tICcuL2RjcC1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFV0aWxzU2VydmljZSB9IGZyb20gJy4vdXRpbHMuc2VydmljZSc7XG5pbXBvcnQgeyBMaW5lQXNzb2NpYXRpb24gfSBmcm9tICcuLi9jbGFzc2VzL2xpbmUtYXNzb2NpYXRpb24nO1xuaW1wb3J0IHsgTGluZUFzc29jaWF0aW9uSW50ZXJmYWNlIH0gZnJvbSAnLi4vY2xhc3Nlcy9saW5lLWFzc29jaWF0aW9uLWludGVyZmFjZSc7XG5pbXBvcnQgeyBMaW5lU2VydmljZSB9IGZyb20gJy4vbGluZS5zZXJ2aWNlJztcbmltcG9ydCB7IFNvcnRpbmdVdGlsc1NlcnZpY2UgfSBmcm9tICcuL3NvcnRpbmctdXRpbHMuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBVc2VyU2VydmljZSBpbXBsZW1lbnRzIE9uSW5pdHtcbiAgc2l0ZUlkOiBudW1iZXIgPSAtMTtcbiAgdXNlcklkOiBzdHJpbmcgPSAnJztcbiAgZGF0YVBlbmRpbmcgPSBmYWxzZTtcbiAgdXNlcklkRXhpc3RQZW5kaW5nID0gZmFsc2U7XG4gIGhhc0V4aXN0ZWRVc2VySWQgPSBmYWxzZTtcbiAgX3VzZXIhOiBTaW1wbGlmaWVkVXNlcjtcblxuICBnZXQgdXNlcigpOiBTaW1wbGlmaWVkVXNlciB7XG4gICAgcmV0dXJuIHRoaXMuX3VzZXI7XG4gIH1cbiAgLy8gdXNlciE6IFNpbXBsaWZpZWRVc2VyO1xuICBvcmlnaW5Vc2VyITogU2ltcGxpZmllZFVzZXI7XG4gIG9uVXNlckxpbmVTYXZlZCQgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG5cbiAgZ2V0IGxpbmVBc3NvY2lhdGlvbigpOiBMaW5lQXNzb2NpYXRpb24gfCBMaW5lQXNzb2NpYXRpb25JbnRlcmZhY2Uge1xuICAgIHJldHVybiB0aGlzLnVzZXIgJiYgdGhpcy5vcmlnaW5Vc2VyLmRldmljZXMgJiYgdGhpcy51c2VyLmRldmljZXNbMF0gJiYgdGhpcy51c2VyLmRldmljZXNbMF0ubGluZUFzc29jaWF0aW9ucyAmJiB0aGlzLnVzZXIuZGV2aWNlc1swXS5saW5lQXNzb2NpYXRpb25zWzBdO1xuICB9XG5cbiAgZ2V0IG9yaWdpbkxpbmVBc3NvY2lhdGlvbigpOiBMaW5lQXNzb2NpYXRpb24gfCBMaW5lQXNzb2NpYXRpb25JbnRlcmZhY2Uge1xuICAgIHJldHVybiB0aGlzLm9yaWdpblVzZXIgJiYgdGhpcy5vcmlnaW5Vc2VyLmRldmljZXMgJiYgdGhpcy5vcmlnaW5Vc2VyLmRldmljZXNbMF0gJiYgdGhpcy5vcmlnaW5Vc2VyLmRldmljZXNbMF0ubGluZUFzc29jaWF0aW9ucyAmJiB0aGlzLm9yaWdpblVzZXIuZGV2aWNlc1swXS5saW5lQXNzb2NpYXRpb25zWzBdO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhcGlTZXJ2aWNlOiBBUElTZXJ2aWNlLFxuICAgIHByaXZhdGUgbGluZVNlcnZpY2U6IExpbmVTZXJ2aWNlLFxuICAgIHByaXZhdGUgZGNwQXBpU2VydmljZTogRGNwQXBpU2VydmljZSxcbiAgKSB7XG5cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGNvbnNvbGUubG9nKHRoaXMuc2l0ZUlkKVxuICB9XG5cbiAgcHVibGljIGZldGNoVXNlclRva2VuKHNpdGVJZDogbnVtYmVyLCB1c2VySWQ6IHN0cmluZywgaXNMZGFwPzogYm9vbGVhbiwgaXNTZXROZXdUb2tlbk9ubHk/OiBib29sZWFuKTogYW55IHtcbiAgICAvLyBpc0xkYXAgVEVNUCBiZWNhdXNlIG9mIHRva2VuIHJlc3BvbnNlIGlzc3VlXG4gICAgdGhpcy5zaXRlSWQgPSBzaXRlSWQ7XG4gICAgdGhpcy51c2VySWQgPSB1c2VySWQ7XG4gICAgcmV0dXJuIGZvcmtKb2luKFtcbiAgICAgIHRoaXMuZGNwQXBpU2VydmljZS5mZXRjaChBUEkuVVNFUl9UT0tFTi5yZXBsYWNlKCc6c2l0ZUlkJywgU3RyaW5nKHRoaXMuc2l0ZUlkKSkucmVwbGFjZSgnOnVzZXJJZCcsIGVuY29kZVVSSUNvbXBvbmVudChlbmNvZGVVUklDb21wb25lbnQodXNlcklkKSkpKSxcbiAgICAgIC8vIHRoaXMuZmV0Y2hMZWFuVXNlckNvbnZlcnNhdGlvbkJ5SWQodXNlcklkLCBzaXRlSWQpLFxuICAgICAgLy8gdGhpcy5mZXRjaExlYW5Vc2VyTGluZXNDb252ZXJzYXRpb25CeUlkKHVzZXJJZCwgc2l0ZUlkKSxcbiAgICAgIC8vIHRoaXMuZmV0Y2hMZWFuVXNlclNOUkNvbnZlcnNhdGlvbkJ5SWQodXNlcklkLCBzaXRlSWQpLFxuICAgIF0pXG4gICAgLnBpcGUobWFwKChbcmVzdWx0XSkgPT4ge1xuICAgIC8vIC5waXBlKG1hcCgoW3Jlc3VsdCwgbGVhblVzZXJEZXRhaWxzLCBsZWFuVXNlckxpbmVzLCBsZWFuVXNlclNOUl0pID0+IHtcbiAgICAgICAgY29uc3QgdXNlciA9IHJlc3VsdCAmJiBPYmplY3QudmFsdWVzKHJlc3VsdClbMF07XG4gICAgICAgIGNvbnN0IHRva2VuID0gT2JqZWN0LmtleXMocmVzdWx0KVswXTtcbiAgICAgICAgLy8gY29uc3QgbGVhblVzZXJUb2tlbiA9IGxlYW5Vc2VyRGV0YWlscyAmJiBPYmplY3Qua2V5cyhsZWFuVXNlckRldGFpbHMpWzBdIHx8ICcnO1xuICAgICAgICAvLyBjb25zdCBsZWFuVXNlckxpbmVzVG9rZW4gPSBsZWFuVXNlckxpbmVzICYmIE9iamVjdC5rZXlzKGxlYW5Vc2VyTGluZXMpWzBdIHx8ICcnO1xuICAgICAgICAvLyBjb25zdCBsZWFuVXNlclNOUlRva2VuID0gbGVhblVzZXJTTlIgJiYgT2JqZWN0LmtleXMobGVhblVzZXJTTlIpWzBdIHx8ICcnO1xuICAgICAgICBpZiAodXNlcikge1xuICAgICAgICAgIGlmICghaXNTZXROZXdUb2tlbk9ubHkpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0U2ltcGxpZmllZFVzZXIodXNlcik7XG4gICAgICAgICAgICB0aGlzLl91c2VyLnRva2VuID0gdXNlci50b2tlbiA7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuX3VzZXIudG9rZW4gPSB1c2VyLnRva2VuIHx8IHRva2VuO1xuICAgICAgICAgIHRoaXMub3JpZ2luVXNlci50b2tlbiA9IHVzZXIudG9rZW4gfHwgdG9rZW47XG4gICAgICAgICAgLy8gdGhpcy5fdXNlci5sZWFuVXNlckRldGFpbHNUb2tlbiA9IGxlYW5Vc2VyVG9rZW47XG4gICAgICAgICAgLy8gdGhpcy5fdXNlci5sZWFuVXNlckxpbmVzVG9rZW4gPSBsZWFuVXNlckxpbmVzVG9rZW47XG4gICAgICAgICAgLy8gdGhpcy5fdXNlci5sZWFuVXNlclNOUlRva2VuID0gbGVhblVzZXJTTlJUb2tlbjtcbiAgICAgICAgICAvLyB0aGlzLm9yaWdpblVzZXIubGVhblVzZXJEZXRhaWxzVG9rZW4gPSBsZWFuVXNlclRva2VuO1xuICAgICAgICAgIC8vIHRoaXMub3JpZ2luVXNlci5sZWFuVXNlckxpbmVzVG9rZW4gPSBsZWFuVXNlckxpbmVzVG9rZW47XG4gICAgICAgICAgLy8gdGhpcy5vcmlnaW5Vc2VyLmxlYW5Vc2VyU05SVG9rZW4gPSBsZWFuVXNlclNOUlRva2VuO1xuICAgICAgICB9XG4gICAgICB9KSlcbiAgICAvLyAucGlwZSh0aGlzLmhhbmRsZUVycm9yKGZhbHNlLCB0cnVlKSk7XG4gIH1cblxuICBwdWJsaWMgZmV0Y2hXZWJleFVzZXJUb2tlbihjdXN0b21lcklkOiBzdHJpbmcsIHVzZXJJZDogc3RyaW5nKTogYW55IHtcbiAgICBsZXQgVVJMID0gQVBJLldFQkVYX1VTRVJfVE9LRU47XG4gICAgVVJMID0gVVJMLnJlcGxhY2UoJzpjdXN0b21lcklkJywgY3VzdG9tZXJJZCk7XG4gICAgVVJMID0gVVJMLnJlcGxhY2UoJzp1c2VySWQnLCBlbmNvZGVVUklDb21wb25lbnQoZW5jb2RlVVJJQ29tcG9uZW50KHVzZXJJZCkpKTtcbiAgICByZXR1cm4gZm9ya0pvaW4oW1xuICAgICAgdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5XRUJFWF9VU0VSX1RPS0VOLnJlcGxhY2UoJzpjdXN0b21lcklkJywgY3VzdG9tZXJJZCkucmVwbGFjZSgnOnVzZXJJZCcsIGVuY29kZVVSSUNvbXBvbmVudChlbmNvZGVVUklDb21wb25lbnQodXNlcklkKSkpKSxcbiAgICAgIHRoaXMuYXBpU2VydmljZS5mZXRjaChBUEkuV0VCRVhfVVNFUl9ERVZJQ0VTLnJlcGxhY2UoJzpjdXN0b21lcklkJywgY3VzdG9tZXJJZCkucmVwbGFjZSgnOnVzZXJJZCcsIGVuY29kZVVSSUNvbXBvbmVudChlbmNvZGVVUklDb21wb25lbnQodXNlcklkKSkpKSxcbiAgICAgIHRoaXMuYXBpU2VydmljZS5mZXRjaChBUEkuV0VCRVhfVVNFUl9ESVJFQ1RPUllfTlVNQkVSUy5yZXBsYWNlKCc6Y3VzdG9tZXJJZCcsIGN1c3RvbWVySWQpLnJlcGxhY2UoJzp1c2VySWQnLCBlbmNvZGVVUklDb21wb25lbnQoZW5jb2RlVVJJQ29tcG9uZW50KHVzZXJJZCkpKSksXG4gICAgICB0aGlzLmFwaVNlcnZpY2UuZmV0Y2goQVBJLldFQkVYX1VTRVJfRElSRUNUT1JZX0NBTExFUl9JRC5yZXBsYWNlKCc6Y3VzdG9tZXJJZCcsIGN1c3RvbWVySWQpLnJlcGxhY2UoJzp1c2VySWQnLCBlbmNvZGVVUklDb21wb25lbnQoZW5jb2RlVVJJQ29tcG9uZW50KHVzZXJJZCkpKSksXG4gICAgXSlcbiAgICAucGlwZShtYXAoKFt0b2tlbiwgZGV2aWNlcywgbnVtYmVycywgY2FsbGVyaWRdKSA9PiB7XG4gICAgICBpZiAodG9rZW4pIHtcbiAgICAgICAgY29uc3QgdXNlciA9IHRva2VuIGFzIGFueTtcbiAgICAgICAgdXNlci5lbWFpbCA9IHVzZXIuZW1haWxzPy5bMF07XG4gICAgICAgIHVzZXIudXNlcmlkID0gdXNlci5pZDtcbiAgICAgICAgdXNlci5kZXZpY2VzID0gKGRldmljZXMgYXMgYW55KS5kZXZpY2VzLm1hcCgoZGV2aWNlOiBhbnkpID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgLi4uZGV2aWNlLFxuICAgICAgICAgICAgZGV2aWNlVHlwZTogZGV2aWNlLm1vZGVsLFxuICAgICAgICAgICAgbGluZUFzc29jaWF0aW9uczogKG51bWJlcnMgYXMgYW55KS5waG9uZU51bWJlcnMubWFwKChudW1iZXI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGRpcmVjdG9yeU51bWJlcjoge1xuICAgICAgICAgICAgICAgICAgZGlyZWN0b3J5TnVtYmVyOiBudW1iZXIuZXh0ZW5zaW9uLFxuICAgICAgICAgICAgICAgICAgcHJpbWFyeTogbnVtYmVyLnByaW1hcnksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHVzZXIubWlkZGxlTmFtZSA9IHVzZXIuZGlzcGxheU5hbWU7XG4gICAgICAgIHVzZXIubW9iaWxlTnVtYmVyID0gdXNlci5tb2JpbGVQaG9uZTtcbiAgICAgICAgdXNlci50ZWxlcGhvbmVOdW1iZXIgPSB1c2VyLndvcmtQaG9uZTtcblxuICAgICAgICB0aGlzLnNldFNpbXBsaWZpZWRVc2VyKHVzZXIpO1xuICAgICAgICB0aGlzLl91c2VyLnRva2VuID0gdXNlci50b2tlbjtcbiAgICAgICAgdGhpcy5vcmlnaW5Vc2VyLnRva2VuID0gdXNlci50b2tlbjtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0b2tlbjtcbiAgICB9KSlcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVVc2VyRmllbGRzKGJvZHk6IGFueSk6IGFueSB7XG4gICAgaWYgKCF0aGlzLnNpdGVJZCApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gaWYoYm9keS5uZXdVc2VyaWQpIHtcbiAgICAvLyAgIGJvZHkgPSB7XG4gICAgLy8gICAgIHVzZXJpZDogdW5kZWZpbmVkLFxuICAgIC8vICAgICAuLi5ib2R5XG4gICAgLy8gICB9XG4gICAgLy8gfVxuICAgIHJldHVybiB0aGlzLmRjcEFwaVNlcnZpY2UucG9zdChBUEkuVVBEQVRFX1VTRVJfRklFTERTLnJlcGxhY2UoJzpzaXRlSWQnLCBTdHJpbmcodGhpcy5zaXRlSWQpKS5yZXBsYWNlKCc6dG9rZW4nLCB0aGlzLnVzZXIudG9rZW4pLCBib2R5KVxuICAgIC8vIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChBUEkuVVBEQVRFX0xFQU5fVVNFUl9GSUVMRFMucmVwbGFjZSgnOnNpdGVJZCcsIFN0cmluZyh0aGlzLnNpdGVJZCkpLnJlcGxhY2UoJzpsZWFuVXNlckRldGFpbHNUb2tlbicsIHRoaXMuX3VzZXIubGVhblVzZXJEZXRhaWxzVG9rZW4gfHwgJycpLnJlcGxhY2UoJzpsZWFuVXNlckxpbmVzVG9rZW4nLCB0aGlzLl91c2VyLmxlYW5Vc2VyTGluZXNUb2tlbiB8fCAnJykucmVwbGFjZSgnOmxlYW5Vc2VyU05SVG9rZW4nLCB0aGlzLl91c2VyLmxlYW5Vc2VyU05SVG9rZW4gfHwgJycpLCBib2R5KVxuICAgICAgLy8gLnBpcGUodGhpcy5oYW5kbGVFcnJvcihmYWxzZSwgdHJ1ZSkpO1xuICB9XG5cbiAgcHVibGljIGZldGNoVXNlckJ5SWQoaWQ6IHN0cmluZykge1xuICAgIHRoaXMudXNlcklkRXhpc3RQZW5kaW5nID0gdHJ1ZTtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5VU0VSX0JZX0lELnJlcGxhY2UoJzpzaXRlSWQnLCBTdHJpbmcodGhpcy5zaXRlSWQpKS5yZXBsYWNlKCc6dXNlcklkJywgZW5jb2RlVVJJQ29tcG9uZW50KGVuY29kZVVSSUNvbXBvbmVudChpZCkpKSlcbiAgICAgIC5waXBlKG1hcChyZXN1bHQgPT4ge1xuICAgICAgICB0aGlzLnVzZXJJZEV4aXN0UGVuZGluZyA9IGZhbHNlO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfSkpO1xuICB9XG5cbiAgcHVibGljIHBlcnNpc3RDYWNoZUNoYW5nZXMoKSB7XG4gICAgLypjb25zdCBwYXJhbXMgPSB7XG4gICAgICBleGNsdWRlRGV2aWNlRXh0cmFPcHRpb25zOiB0cnVlXG4gICAgfTsqL1xuICAgIHJldHVybiB0aGlzLnByb2Nlc3NVc2VyQ2hhbmdlc1RvQ2FjaGUoKVxuICAgICAgLnBpcGUoc3dpdGNoTWFwKChyZXN1bHQ6IGFueSkgPT4gdGhpcy5kY3BBcGlTZXJ2aWNlLnBvc3QoQVBJLlBFUlNJU1RfVVNFUl9DQUNIRS5yZXBsYWNlKCc6c2l0ZUlkJywgU3RyaW5nKHRoaXMuc2l0ZUlkKSkucmVwbGFjZSgnOnRva2VuJywgdGhpcy51c2VyLnRva2VuKSwge30pXG4gICAgICAgICAgLy8gLnN1YnNjcmliZSgoKSA9PiB7XG5cbiAgICAgICAgICAvLyB9KVxuICAgICAgICAgIC8vIC5waXBlKG1hcCgodXNlcikgPT4ge1xuICAgICAgICAgIC8vICAgLy8gdGhpcy5zZXRVc2VyKHVzZXIsIGZhbHNlLCB0aGlzLnVzZXIudG9rZW4pO1xuICAgICAgICAgIC8vICAgdGhpcy51c2VyLmhhc01vZGlmaWVkQ2FjaGUgPSBmYWxzZTtcbiAgICAgICAgICAvLyB9KSlcbiAgICAgICAgICAvLyAucGlwZSh0aGlzLmhhbmRsZUVycm9yKHRydWUsIHRydWUpKTtcbiAgICAgICkpO1xuICB9XG5cbiAgcHVibGljIGVkaXRUcmFuc2xhdGlvblBhdHRlcm4oXG4gICAgY3VjbUlkOiBzdHJpbmcsXG4gICAgb2xkcGF0dGVybjogc3RyaW5nLFxuICAgIG5ld1BhdHRlcm46IHN0cmluZyxcbiAgICBleHRlbnNpb246IHN0cmluZyxcbiAgICByb3V0ZVBhcnRpdGlvbk5hbWU6IHN0cmluZyxcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nLFxuICApIHtcbiAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICBvcmlnaW5hbHBhdHRlcm46IG9sZHBhdHRlcm4sXG4gICAgfTtcbiAgICBjb25zdCBVUkwgPSBBUEkuVFJBTlNMQVRJT05fUEFUVEVSTl9DVUNNLnJlcGxhY2UoJzpjdWNtSWQnLCBjdWNtSWQpO1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5wdXQoVVJMLCB7IGNhbGxlZFBhcnR5VHJhbnNmb3JtYXRpb25NYXNrOiBleHRlbnNpb24sIHBhdHRlcm46IG5ld1BhdHRlcm4sIHJvdXRlUGFydGl0aW9uTmFtZTogcm91dGVQYXJ0aXRpb25OYW1lLCBkZXNjcmlwdGlvbiB9LCBwYXJhbXMpO1xuICB9XG5cbiAgcHVibGljIHByb2Nlc3NVc2VyQ2hhbmdlc1RvQ2FjaGUoKTogYW55IHtcbiAgICBjb25zdCBjYWxscyA9IFtdO1xuICAgIGNvbnN0IGJvZHkgPSBVdGlsc1NlcnZpY2UuZGlmZih0aGlzLm9yaWdpblVzZXIuZ2V0VXNlckRldGFpbHNTYXZhYmxlRGF0YSgpLCB0aGlzLnVzZXIuZ2V0VXNlckRldGFpbHNTYXZhYmxlRGF0YSgpLCAndXNlcicsIFsndXNlcmlkJ10pO1xuICAgIGlmIChib2R5Py5sZW5ndGgpIHtcbiAgICAgIGNhbGxzLnB1c2godGhpcy51cGRhdGVVc2VyRmllbGRzKGJvZHkpKTtcbiAgICB9XG4gICAgaWYgKCFjYWxscz8ubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy51c2VyKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZm9ya0pvaW4oY2FsbHMpXG4gICAgICAucGlwZShtYXAoKHJlc3BvbnNlczogYW55KSA9PiB7XG4gICAgICAgIC8vIEFwaVVzZXJSZXNwb25zZVxuICAgICAgICB0aGlzLmhhbmRsZVNhdmVVc2VyUmVzcG9uc2UocmVzcG9uc2VzKTtcbiAgICAgIH0pKVxuICAgICAgLy8gLnBpcGUodGhpcy5oYW5kbGVFcnJvcihmYWxzZSwgdHJ1ZSkpO1xuXG4gIH1cblxuICBwdWJsaWMgc2F2ZU5ld0xpbmUoKTogYW55IHtcbiAgICB0aGlzLmRhdGFQZW5kaW5nID0gdHJ1ZTtcbiAgICB0aGlzLmRlbGV0ZUxpbmUodGhpcy51c2VyLnNpdGVJZCwgdGhpcy5saW5lQXNzb2NpYXRpb24ubGluZVBraWQsIGVuY29kZVVSSUNvbXBvbmVudCh0aGlzLnVzZXIudG9rZW4pKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGNvbnN0IFVSTCA9IEFQSS5QRVJTSVNUX1VTRVJfQ0FDSEUucmVwbGFjZSgnOnNpdGVJZCcsIFN0cmluZyh0aGlzLnNpdGVJZCkpLnJlcGxhY2UoJzp0b2tlbicsIHRoaXMudXNlci50b2tlbik7XG4gICAgICAgIHRoaXMuYXBpU2VydmljZS5wb3N0KFVSTCwge30sIClcbiAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZmV0Y2hVc2VyVG9rZW4odGhpcy5zaXRlSWQsIHRoaXMudXNlci51c2VyaWQsIGZhbHNlLCB0cnVlKVxuICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnJ1bk5ld0xpbmVDcmVhdGlvbigpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHJ1bk5ld0xpbmVDcmVhdGlvbigpOiB2b2lkIHtcbiAgICAvLyBDUkVBVEUgTkVXIExJTkVcbiAgICBjb25zdCBuZXdMaW5lQm9keSA9IFNvcnRpbmdVdGlsc1NlcnZpY2UuZGlmZihcbiAgICAgIHRoaXMubGluZVNlcnZpY2UuZ2VuZXJhdGVMaW5lQXNzb2NpYXRpb25Gcm9tTGluZShudWxsKSxcbiAgICAgIHRoaXMubGluZVNlcnZpY2UuZ2VuZXJhdGVMaW5lQXNzb2NpYXRpb25Gcm9tTGluZSh0aGlzLmxpbmVBc3NvY2lhdGlvbiksXG4gICAgICAnZGV2aWNlLmxpbmVBc3NvY2lhdGlvbnMnLCBudWxsXG4gICAgKTtcbiAgICB0aGlzLmFzc29jaWF0ZUxpbmVUb1VzZXJEZXZpY2UoXG4gICAgICB0aGlzLnVzZXIuc2l0ZUlkLFxuICAgICAgdGhpcy51c2VyLmRldmljZXNbMF0ubmFtZSxcbiAgICAgIG5ld0xpbmVCb2R5LFxuICAgICAgbnVsbCxcbiAgICAgIHRoaXMubGluZUFzc29jaWF0aW9uLmNhbGxpbmdTZWFyY2hTcGFjZVxuICAgICkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UuY3VycmVudFVwZGF0ZWRVc2VyKSB7XG4gICAgICAgIGNvbnN0IGxpbmVQa0lkID0gdGhpcy5nZXRMaW5lUGtJZEZyb21Vc2VyKHJlc3BvbnNlPy5jdXJyZW50VXBkYXRlZFVzZXIsIDApO1xuICAgICAgICBmb3JrSm9pbihbXG4gICAgICAgICAgdGhpcy51cGRhdGVMaW5lRmllbGRzKHRoaXMuc2l0ZUlkLCBsaW5lUGtJZCwgdGhpcy51c2VyLnRva2VuLCB0aGlzLmxpbmVBc3NvY2lhdGlvbi5hbGVydGluZ05hbWUpLFxuICAgICAgICAgIHRoaXMudXBkYXRlRGV2aWNlRmllbGRzKHRoaXMuc2l0ZUlkLCB0aGlzLnVzZXIuZGV2aWNlc1swXT8ubmFtZSwgdGhpcy51c2VyLnRva2VuKVxuICAgICAgICBdKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICB0aGlzLm9yaWdpblVzZXIuZGV2aWNlc1swXS5saW5lQXNzb2NpYXRpb25zWzBdLmRpcmVjdG9yeU51bWJlci5kaXJlY3RvcnlOdW1iZXIgPSB0aGlzLmxpbmVBc3NvY2lhdGlvbi5kaXJlY3RvcnlOdW1iZXIuZGlyZWN0b3J5TnVtYmVyO1xuICAgICAgICAgIHRoaXMub25Vc2VyTGluZVNhdmVkJC5uZXh0KHRydWUpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KVxuICAgIC8vIC0tLS0tXG4gIH1cblxuICBwdWJsaWMgZ2V0TGluZVBrSWRGcm9tVXNlcih1c2VyOiBhbnksIGluZGV4OiBudW1iZXIpOiBhbnkge1xuICAgIGlmICh1c2VyLmRldmljZXMgJiYgdXNlci5kZXZpY2VzW2luZGV4XSAmJiB1c2VyLmRldmljZXNbaW5kZXhdLmxpbmVBc3NvY2lhdGlvbnMgJiYgdXNlci5kZXZpY2VzW2luZGV4XS5saW5lQXNzb2NpYXRpb25zW2luZGV4XSkge1xuICAgICAgcmV0dXJuIHVzZXIuZGV2aWNlc1tpbmRleF0ubGluZUFzc29jaWF0aW9uc1tpbmRleF0ubGluZVBraWQgfHwgdXNlci5kZXZpY2VzW2luZGV4XS5saW5lQXNzb2NpYXRpb25zW2luZGV4XS5saW5lTG9jYWxJZDtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlTGluZShzaXRlSWQ6IG51bWJlciwgcGtpZDogc3RyaW5nLCB0b2tlbjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5kZWxldGUoQVBJLkRFTEVURV9MSU5FLnJlcGxhY2UoJzpzaXRlSWQnLCBTdHJpbmcoc2l0ZUlkKSkucmVwbGFjZSgnOnBraWQnLCBwa2lkKS5yZXBsYWNlKCc6dG9rZW4nLCBlbmNvZGVVUklDb21wb25lbnQodG9rZW4pKSwge30pXG4gICAgLy8gLnBpcGUodGhpcy5oYW5kbGVFcnJvcih0cnVlLCBmYWxzZSkpO1xuICB9XG5cbiAgcHVibGljIGRpc2Fzc29jaWF0ZUxpbmUoc2l0ZUlkOiBudW1iZXIsIGxpbmVQa2lkOiBzdHJpbmcsIHRva2VuOiBzdHJpbmcsIGRldmljZU5hbWU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZGVsZXRlKFxuICAgICAgQVBJLkRJU0FTU09DSUFURV9MSU5FLnJlcGxhY2UoJzpzaXRlSWQnLCBTdHJpbmcoc2l0ZUlkKSlcbiAgICAgICAgLnJlcGxhY2UoJzpsaW5lUGtpZCcsIGxpbmVQa2lkKVxuICAgICAgICAucmVwbGFjZSgnOmRldmljZU5hbWUnLCBkZXZpY2VOYW1lKVxuICAgICAgICAucmVwbGFjZSgnOnRva2VuJywgZW5jb2RlVVJJQ29tcG9uZW50KHRva2VuKSksIHt9KVxuICAgIC8vIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IodHJ1ZSwgZmFsc2UpKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVMaW5lRmllbGRzKHNpdGVJZDogbnVtYmVyLCBwa2lkOiBzdHJpbmcsIHRva2VuOiBzdHJpbmcsIGFsZXJ0aW5nTmFtZTogYW55KSB7XG4gICAgY29uc3QgYm9keSA9IFsnbGluZS5kZXNjcmlwdGlvbj0nLCBgbGluZS5hbGVydGluZ05hbWU9JHthbGVydGluZ05hbWV9YF07XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KEFQSS5VUERBVEVfTElORV9GSUVMRFMucmVwbGFjZSgnOnNpdGVJZCcsIFN0cmluZyhzaXRlSWQpKS5yZXBsYWNlKCc6cGtpZCcsIGVuY29kZVVSSUNvbXBvbmVudChwa2lkKSkucmVwbGFjZSgnOnRva2VuJywgZW5jb2RlVVJJQ29tcG9uZW50KHRva2VuKSksIGJvZHkpXG4gICAgLy8gLnBpcGUodGhpcy5oYW5kbGVFcnJvcih0cnVlLCBmYWxzZSkpO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZURldmljZUZpZWxkcyhzaXRlSWQ6IG51bWJlciwgZGV2aWNlTmFtZTogc3RyaW5nLCB0b2tlbjogc3RyaW5nKSB7XG4gICAgY29uc3QgYm9keSA9IFsnZGV2aWNlLmFzc29jaWF0ZWRETnMuMD1udWxsJ107XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KEFQSS5VUERBVEVfREVWSUNFX0ZJRUxEUy5yZXBsYWNlKCc6c2l0ZUlkJywgU3RyaW5nKHNpdGVJZCkpLnJlcGxhY2UoJzpkZXZpY2VOYW1lJywgZGV2aWNlTmFtZSkucmVwbGFjZSgnOnRva2VuJywgZW5jb2RlVVJJQ29tcG9uZW50KHRva2VuKSksIGJvZHkpXG4gICAgLy8gLnBpcGUodGhpcy5oYW5kbGVFcnJvcih0cnVlLCBmYWxzZSkpO1xuICB9XG4gIHB1YmxpYyBjaGVja0Rlc3RpbmF0aW9uTnVtYmVyKHNpdGVJZDogc3RyaW5nLCBkaXJlY3RvcnlOdW1iZXI6IHN0cmluZywgcm91dGVQYXJ0aXRpb25OYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICBkbnR5cGU6ICdFWFRFTlNJT04nXG4gICAgfTtcbiAgICBjb25zdCBib2R5ID0ge1xuICAgICAgZGlyZWN0b3J5TnVtYmVyOiBkaXJlY3RvcnlOdW1iZXIsXG4gICAgICByb3V0ZVBhcnRpdGlvbk5hbWU6IHJvdXRlUGFydGl0aW9uTmFtZVxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KEFQSS5DSEVDS19ERVNUSU5BVElPTl9OVU1CRVIucmVwbGFjZSgnOnNpdGVJZCcsIHNpdGVJZCksIGJvZHksIHBhcmFtcyk7XG4gIH1cblxuICBwdWJsaWMgYXNzb2NpYXRlTGluZVRvVXNlckRldmljZShzaXRlSWQ6IG51bWJlciwgZGV2aWNlTmFtZTogc3RyaW5nLCBib2R5OiBhbnksIHBraWQ6IGFueSwgY3NzOiBhbnkpIHtcbiAgICBsZXQgcGFyYW1zID0ge307XG4gICAgaWYgKHBraWQpIHtcbiAgICAgIHBhcmFtcyA9IHtsaW5lUGtpZDogcGtpZH07XG4gICAgfVxuICAgIGlmIChjc3MpIHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIHBhcmFtc1snY3NzJ10gPSBjc3M7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChBUEkuQVNTT0NJQVRFX0xJTkUucmVwbGFjZSgnOnNpdGVJZCcsIFN0cmluZyhzaXRlSWQpKS5yZXBsYWNlKCc6ZGV2aWNlTmFtZScsIGRldmljZU5hbWUpXG4gICAgICAucmVwbGFjZSgnOnRva2VuJywgZW5jb2RlVVJJQ29tcG9uZW50KHRoaXMudXNlci50b2tlbikpLCBib2R5LCBwYXJhbXMpXG4gICAgLy8gLnBpcGUodGhpcy5oYW5kbGVFcnJvcih0cnVlLCB0cnVlKSk7XG4gIH1cblxuICBwdWJsaWMgaGFzVW5zYXZlZENoYW5nZXMoKSB7XG4gICAgaWYgKHRoaXMudXNlciAmJiB0aGlzLm9yaWdpblVzZXIpIHtcbiAgICAgIHJldHVybiAhdGhpcy51c2VyLmVxdWFsKHRoaXMub3JpZ2luVXNlcik7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRTaW1wbGlmaWVkVXNlcih1c2VyOiBhbnksIGlzTGRhcD86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAvLyBpc0xkYXAgVEVNUCBiZWNhdXNlIG9mIHRva2VuIHJlc3BvbnNlIGlzc3VlXG4gICAgdGhpcy5fdXNlciA9IG5ldyBTaW1wbGlmaWVkVXNlcih1c2VyLCBpc0xkYXApO1xuICAgIGNvbnN0IGNvcGllZFVzZXIgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHVzZXIpKTtcbiAgICB0aGlzLm9yaWdpblVzZXIgPSBuZXcgU2ltcGxpZmllZFVzZXIoY29waWVkVXNlciwgaXNMZGFwKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlU2F2ZVVzZXJSZXNwb25zZShyZXNwb25zZXM6IGFueSkge1xuICAgIGlmICghcmVzcG9uc2VzPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZm9yIChsZXQgbGVuID0gcmVzcG9uc2VzLmxlbmd0aCwgaSA9IGxlbiAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICBpZiAocmVzcG9uc2VzW2ldICYmIHJlc3BvbnNlc1tpXS5jdXJyZW50VXBkYXRlZFVzZXIpIHtcbiAgICAgICAgLy8gdGhpcy5zZXRVc2VyKHJlc3BvbnNlc1tpXS5jdXJyZW50VXBkYXRlZFVzZXIsIGZhbHNlLCB0aGlzLnVzZXIudG9rZW4pO1xuICAgICAgICB0aGlzLnVzZXIuaGFzTW9kaWZpZWRDYWNoZSA9IHRydWU7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0UHJpbWFyeUxpbmVEZXZpY2UocHJpbWFyeUxpbmVSZWZlcmVuY2VEaXJlY3RvcnlOdW1iZXI6IHN0cmluZyk6IGFueSB7XG4gICAgaWYgKHRoaXMudXNlcj8uZGV2aWNlcyAmJiB0aGlzLnVzZXIuZGV2aWNlcy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IGRldmljZSA9IHRoaXMudXNlci5kZXZpY2VzLmZpbmQoKGRldmljZTogYW55KSA9PiBkZXZpY2UubGluZUFzc29jaWF0aW9ucy5zb21lKChsaW5lOiBhbnkpID0+IGxpbmU/LmRpcmVjdG9yeU51bWJlcj8uZGlyZWN0b3J5TnVtYmVyID09PSBwcmltYXJ5TGluZVJlZmVyZW5jZURpcmVjdG9yeU51bWJlcikpO1xuICAgICAgcmV0dXJuIGRldmljZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmV0Y2hMZWFuVXNlckNvbnZlcnNhdGlvbkJ5SWQoaWQ6IHN0cmluZywgc2l0ZUlkPzogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5mZXRjaChBUEkuTEVBTl9VU0VSX0NPTlZFUlNBVElPTl9TVEFSVC5yZXBsYWNlKCc6c2l0ZUlkJywgU3RyaW5nKHNpdGVJZCkpLnJlcGxhY2UoJzp1c2VySWQnLCBlbmNvZGVVUklDb21wb25lbnQoZW5jb2RlVVJJQ29tcG9uZW50KGlkKSkpKTtcbiAgfVxuXG4gIHB1YmxpYyBmZXRjaExlYW5Vc2VyRGV2aWNlc0NvbnZlcnNhdGlvbkJ5SWQoaWQ6IHN0cmluZywgc2l0ZUlkPzogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5mZXRjaChBUEkuTEVBTl9VU0VSX0RFVklDRVNfQ09OVkVSU0FUSU9OX1NUQVJULnJlcGxhY2UoJzpzaXRlSWQnLCBTdHJpbmcoc2l0ZUlkKSkucmVwbGFjZSgnOnVzZXJJZCcsIGVuY29kZVVSSUNvbXBvbmVudChlbmNvZGVVUklDb21wb25lbnQoaWQpKSkpO1xuICB9XG5cbiAgcHVibGljIGZldGNoTGVhblVzZXJMaW5lc0NvbnZlcnNhdGlvbkJ5SWQoaWQ6IHN0cmluZywgc2l0ZUlkOiBudW1iZXIpIHtcbiAgICByZXR1cm4gdGhpcy5mZXRjaExlYW5Vc2VyRGV2aWNlc0NvbnZlcnNhdGlvbkJ5SWQoaWQsIHNpdGVJZClcbiAgICAucGlwZShzd2l0Y2hNYXAoKGxlYW5Vc2VyRGV2aWNlc1Jlc3VsdDogYW55KSA9PiB7XG4gICAgICBjb25zdCBsZWFuVXNlckRldmljZXNUb2tlbiA9IGxlYW5Vc2VyRGV2aWNlc1Jlc3VsdCAmJiBPYmplY3Qua2V5cyhsZWFuVXNlckRldmljZXNSZXN1bHQpWzBdIHx8ICcnO1xuICAgICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5mZXRjaChBUEkuTEVBTl9VU0VSX0xJTkVTX0NPTlZFUlNBVElPTl9TVEFSVC5yZXBsYWNlKCc6c2l0ZUlkJywgU3RyaW5nKHRoaXMuc2l0ZUlkKSlcbiAgICAgICAgLnJlcGxhY2UoJzp1c2VySWQnLCBlbmNvZGVVUklDb21wb25lbnQoZW5jb2RlVVJJQ29tcG9uZW50KGlkKSkpLnJlcGxhY2UoJzpsZWFuVXNlckRldmljZXNUb2tlbicsIGxlYW5Vc2VyRGV2aWNlc1Rva2VuKSlcbiAgICB9KSk7XG4gIH1cblxuICBwdWJsaWMgZmV0Y2hMZWFuVXNlclNOUkNvbnZlcnNhdGlvbkJ5SWQoaWQ6IHN0cmluZywgc2l0ZUlkPzogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5mZXRjaChBUEkuTEVBTl9VU0VSX1NOUl9DT05WRVJTQVRJT05fU1RBUlQucmVwbGFjZSgnOnNpdGVJZCcsIFN0cmluZyhzaXRlSWQpKS5yZXBsYWNlKCc6dXNlcklkJywgZW5jb2RlVVJJQ29tcG9uZW50KGVuY29kZVVSSUNvbXBvbmVudChpZCkpKSk7XG4gIH1cbn1cbiJdfQ==
|
|
332
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItbWFuYWdlL3NyYy9zZXJ2aWNlcy91c2VyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFVBQVUsRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUd2QyxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUkvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7QUFHOUQsTUFBTSxPQUFPLFdBQVc7SUFRdEIsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFRRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNKLENBQUM7SUFFRCxJQUFJLHFCQUFxQjtRQUN2QixPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxD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LENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxnQ0FBZ0MsQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkssQ0FBQzs7eUdBclhVLFdBQVc7NkdBQVgsV0FBVzs0RkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlLCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBvZiwgZm9ya0pvaW4sIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU2ltcGxpZmllZFVzZXIgfSBmcm9tICcuLi9jbGFzc2VzL3NpbXBsaWZpZWQtdXNlcic7XHJcbmltcG9ydCB7IEFQSSB9IGZyb20gJy4uL2FwcC5jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBBUElTZXJ2aWNlIH0gZnJvbSAnLi9hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IERjcEFwaVNlcnZpY2UgfSBmcm9tICcuL2RjcC1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBVdGlsc1NlcnZpY2UgfSBmcm9tICcuL3V0aWxzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMaW5lQXNzb2NpYXRpb24gfSBmcm9tICcuLi9jbGFzc2VzL2xpbmUtYXNzb2NpYXRpb24nO1xyXG5pbXBvcnQgeyBMaW5lQXNzb2NpYXRpb25JbnRlcmZhY2UgfSBmcm9tICcuLi9jbGFzc2VzL2xpbmUtYXNzb2NpYXRpb24taW50ZXJmYWNlJztcclxuaW1wb3J0IHsgTGluZVNlcnZpY2UgfSBmcm9tICcuL2xpbmUuc2VydmljZSc7XHJcbmltcG9ydCB7IFNvcnRpbmdVdGlsc1NlcnZpY2UgfSBmcm9tICcuL3NvcnRpbmctdXRpbHMuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBVc2VyU2VydmljZSBpbXBsZW1lbnRzIE9uSW5pdHtcclxuICBzaXRlSWQ6IG51bWJlciA9IC0xO1xyXG4gIHVzZXJJZDogc3RyaW5nID0gJyc7XHJcbiAgZGF0YVBlbmRpbmcgPSBmYWxzZTtcclxuICB1c2VySWRFeGlzdFBlbmRpbmcgPSBmYWxzZTtcclxuICBoYXNFeGlzdGVkVXNlcklkID0gZmFsc2U7XHJcbiAgX3VzZXIhOiBTaW1wbGlmaWVkVXNlcjtcclxuXHJcbiAgZ2V0IHVzZXIoKTogU2ltcGxpZmllZFVzZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX3VzZXI7XHJcbiAgfVxyXG4gIC8vIHVzZXIhOiBTaW1wbGlmaWVkVXNlcjtcclxuICBvcmlnaW5Vc2VyITogU2ltcGxpZmllZFVzZXI7XHJcbiAgLy8gcmF3IHVzZXIgZGF0YSB0aGUgY3VycmVudCBiYXNlbGluZSB3YXMgYnVpbHQgZnJvbTsgdXNlZCB0byByZXZlcnQgdW5zYXZlZCBjaGFuZ2VzXHJcbiAgcHJpdmF0ZSBvcmlnaW5Vc2VyRGF0YTogYW55O1xyXG4gIHByaXZhdGUgaXNMZGFwPzogYm9vbGVhbjtcclxuICBvblVzZXJMaW5lU2F2ZWQkID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG5cclxuICBnZXQgbGluZUFzc29jaWF0aW9uKCk6IExpbmVBc3NvY2lhdGlvbiB8IExpbmVBc3NvY2lhdGlvbkludGVyZmFjZSB7XHJcbiAgICByZXR1cm4gdGhpcy51c2VyICYmIHRoaXMub3JpZ2luVXNlci5kZXZpY2VzICYmIHRoaXMudXNlci5kZXZpY2VzWzBdICYmIHRoaXMudXNlci5kZXZpY2VzWzBdLmxpbmVBc3NvY2lhdGlvbnMgJiYgdGhpcy51c2VyLmRldmljZXNbMF0ubGluZUFzc29jaWF0aW9uc1swXTtcclxuICB9XHJcblxyXG4gIGdldCBvcmlnaW5MaW5lQXNzb2NpYXRpb24oKTogTGluZUFzc29jaWF0aW9uIHwgTGluZUFzc29jaWF0aW9uSW50ZXJmYWNlIHtcclxuICAgIHJldHVybiB0aGlzLm9yaWdpblVzZXIgJiYgdGhpcy5vcmlnaW5Vc2VyLmRldmljZXMgJiYgdGhpcy5vcmlnaW5Vc2VyLmRldmljZXNbMF0gJiYgdGhpcy5vcmlnaW5Vc2VyLmRldmljZXNbMF0ubGluZUFzc29jaWF0aW9ucyAmJiB0aGlzLm9yaWdpblVzZXIuZGV2aWNlc1swXS5saW5lQXNzb2NpYXRpb25zWzBdO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGFwaVNlcnZpY2U6IEFQSVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGxpbmVTZXJ2aWNlOiBMaW5lU2VydmljZSxcclxuICAgIHByaXZhdGUgZGNwQXBpU2VydmljZTogRGNwQXBpU2VydmljZSxcclxuICApIHtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMuc2l0ZUlkKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGZldGNoVXNlclRva2VuKHNpdGVJZDogbnVtYmVyLCB1c2VySWQ6IHN0cmluZywgaXNMZGFwPzogYm9vbGVhbiwgaXNTZXROZXdUb2tlbk9ubHk/OiBib29sZWFuKTogYW55IHtcclxuICAgIC8vIGlzTGRhcCBURU1QIGJlY2F1c2Ugb2YgdG9rZW4gcmVzcG9uc2UgaXNzdWVcclxuICAgIHRoaXMuc2l0ZUlkID0gc2l0ZUlkO1xyXG4gICAgdGhpcy51c2VySWQgPSB1c2VySWQ7XHJcbiAgICByZXR1cm4gZm9ya0pvaW4oW1xyXG4gICAgICB0aGlzLmRjcEFwaVNlcnZpY2UuZmV0Y2goQVBJLlVTRVJfVE9LRU4ucmVwbGFjZSgnOnNpdGVJZCcsIFN0cmluZyh0aGlzLnNpdGVJZCkpLnJlcGxhY2UoJzp1c2VySWQnLCBlbmNvZGVVUklDb21wb25lbnQoZW5jb2RlVVJJQ29tcG9uZW50KHVzZXJJZCkpKSksXHJcbiAgICAgIC8vIHRoaXMuZmV0Y2hMZWFuVXNlckNvbnZlcnNhdGlvbkJ5SWQodXNlcklkLCBzaXRlSWQpLFxyXG4gICAgICAvLyB0aGlzLmZldGNoTGVhblVzZXJMaW5lc0NvbnZlcnNhdGlvbkJ5SWQodXNlcklkLCBzaXRlSWQpLFxyXG4gICAgICAvLyB0aGlzLmZldGNoTGVhblVzZXJTTlJDb252ZXJzYXRpb25CeUlkKHVzZXJJZCwgc2l0ZUlkKSxcclxuICAgIF0pXHJcbiAgICAucGlwZShtYXAoKFtyZXN1bHRdKSA9PiB7XHJcbiAgICAvLyAucGlwZShtYXAoKFtyZXN1bHQsIGxlYW5Vc2VyRGV0YWlscywgbGVhblVzZXJMaW5lcywgbGVhblVzZXJTTlJdKSA9PiB7XHJcbiAgICAgICAgY29uc3QgdXNlciA9IHJlc3VsdCAmJiBPYmplY3QudmFsdWVzKHJlc3VsdClbMF07XHJcbiAgICAgICAgY29uc3QgdG9rZW4gPSBPYmplY3Qua2V5cyhyZXN1bHQpWzBdO1xyXG4gICAgICAgIC8vIGNvbnN0IGxlYW5Vc2VyVG9rZW4gPSBsZWFuVXNlckRldGFpbHMgJiYgT2JqZWN0LmtleXMobGVhblVzZXJEZXRhaWxzKVswXSB8fCAnJztcclxuICAgICAgICAvLyBjb25zdCBsZWFuVXNlckxpbmVzVG9rZW4gPSBsZWFuVXNlckxpbmVzICYmIE9iamVjdC5rZXlzKGxlYW5Vc2VyTGluZXMpWzBdIHx8ICcnO1xyXG4gICAgICAgIC8vIGNvbnN0IGxlYW5Vc2VyU05SVG9rZW4gPSBsZWFuVXNlclNOUiAmJiBPYmplY3Qua2V5cyhsZWFuVXNlclNOUilbMF0gfHwgJyc7XHJcbiAgICAgICAgaWYgKHVzZXIpIHtcclxuICAgICAgICAgIGlmICghaXNTZXROZXdUb2tlbk9ubHkpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXRTaW1wbGlmaWVkVXNlcih1c2VyKTtcclxuICAgICAgICAgICAgdGhpcy5fdXNlci50b2tlbiA9IHVzZXIudG9rZW4gO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5fdXNlci50b2tlbiA9IHVzZXIudG9rZW4gfHwgdG9rZW47XHJcbiAgICAgICAgICB0aGlzLm9yaWdpblVzZXIudG9rZW4gPSB1c2VyLnRva2VuIHx8IHRva2VuO1xyXG4gICAgICAgICAgLy8gdGhpcy5fdXNlci5sZWFuVXNlckRldGFpbHNUb2tlbiA9IGxlYW5Vc2VyVG9rZW47XHJcbiAgICAgICAgICAvLyB0aGlzLl91c2VyLmxlYW5Vc2VyTGluZXNUb2tlbiA9IGxlYW5Vc2VyTGluZXNUb2tlbjtcclxuICAgICAgICAgIC8vIHRoaXMuX3VzZXIubGVhblVzZXJTTlJUb2tlbiA9IGxlYW5Vc2VyU05SVG9rZW47XHJcbiAgICAgICAgICAvLyB0aGlzLm9yaWdpblVzZXIubGVhblVzZXJEZXRhaWxzVG9rZW4gPSBsZWFuVXNlclRva2VuO1xyXG4gICAgICAgICAgLy8gdGhpcy5vcmlnaW5Vc2VyLmxlYW5Vc2VyTGluZXNUb2tlbiA9IGxlYW5Vc2VyTGluZXNUb2tlbjtcclxuICAgICAgICAgIC8vIHRoaXMub3JpZ2luVXNlci5sZWFuVXNlclNOUlRva2VuID0gbGVhblVzZXJTTlJUb2tlbjtcclxuICAgICAgICB9XHJcbiAgICAgIH0pKVxyXG4gICAgLy8gLnBpcGUodGhpcy5oYW5kbGVFcnJvcihmYWxzZSwgdHJ1ZSkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGZldGNoV2ViZXhVc2VyVG9rZW4oY3VzdG9tZXJJZDogc3RyaW5nLCB1c2VySWQ6IHN0cmluZyk6IGFueSB7XHJcbiAgICBsZXQgVVJMID0gQVBJLldFQkVYX1VTRVJfVE9LRU47XHJcbiAgICBVUkwgPSBVUkwucmVwbGFjZSgnOmN1c3RvbWVySWQnLCBjdXN0b21lcklkKTtcclxuICAgIFVSTCA9IFVSTC5yZXBsYWNlKCc6dXNlcklkJywgZW5jb2RlVVJJQ29tcG9uZW50KGVuY29kZVVSSUNvbXBvbmVudCh1c2VySWQpKSk7XHJcbiAgICByZXR1cm4gZm9ya0pvaW4oW1xyXG4gICAgICB0aGlzLmFwaVNlcnZpY2UuZmV0Y2goQVBJLldFQkVYX1VTRVJfVE9LRU4ucmVwbGFjZSgnOmN1c3RvbWVySWQnLCBjdXN0b21lcklkKS5yZXBsYWNlKCc6dXNlcklkJywgZW5jb2RlVVJJQ29tcG9uZW50KGVuY29kZVVSSUNvbXBvbmVudCh1c2VySWQpKSkpLFxyXG4gICAgICB0aGlzLmFwaVNlcnZpY2UuZmV0Y2goQVBJLldFQkVYX1VTRVJfREVWSUNFUy5yZXBsYWNlKCc6Y3VzdG9tZXJJZCcsIGN1c3RvbWVySWQpLnJlcGxhY2UoJzp1c2VySWQnLCBlbmNvZGVVUklDb21wb25lbnQoZW5jb2RlVVJJQ29tcG9uZW50KHVzZXJJZCkpKSksXHJcbiAgICAgIHRoaXMuYXBpU2VydmljZS5mZXRjaChBUEkuV0VCRVhfVVNFUl9ESVJFQ1RPUllfTlVNQkVSUy5yZXBsYWNlKCc6Y3VzdG9tZXJJZCcsIGN1c3RvbWVySWQpLnJlcGxhY2UoJzp1c2VySWQnLCBlbmNvZGVVUklDb21wb25lbnQoZW5jb2RlVVJJQ29tcG9uZW50KHVzZXJJZCkpKSksXHJcbiAgICAgIHRoaXMuYXBpU2VydmljZS5mZXRjaChBUEkuV0VCRVhfVVNFUl9ESVJFQ1RPUllfQ0FMTEVSX0lELnJlcGxhY2UoJzpjdXN0b21lcklkJywgY3VzdG9tZXJJZCkucmVwbGFjZSgnOnVzZXJJZCcsIGVuY29kZVVSSUNvbXBvbmVudChlbmNvZGVVUklDb21wb25lbnQodXNlcklkKSkpKSxcclxuICAgIF0pXHJcbiAgICAucGlwZShtYXAoKFt0b2tlbiwgZGV2aWNlcywgbnVtYmVycywgY2FsbGVyaWRdKSA9PiB7XHJcbiAgICAgIGlmICh0b2tlbikge1xyXG4gICAgICAgIGNvbnN0IHVzZXIgPSB0b2tlbiBhcyBhbnk7XHJcbiAgICAgICAgdXNlci5lbWFpbCA9IHVzZXIuZW1haWxzPy5bMF07XHJcbiAgICAgICAgdXNlci51c2VyaWQgPSB1c2VyLmlkO1xyXG4gICAgICAgIHVzZXIuZGV2aWNlcyA9IChkZXZpY2VzIGFzIGFueSkuZGV2aWNlcy5tYXAoKGRldmljZTogYW55KSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAuLi5kZXZpY2UsXHJcbiAgICAgICAgICAgIGRldmljZVR5cGU6IGRldmljZS5tb2RlbCxcclxuICAgICAgICAgICAgbGluZUFzc29jaWF0aW9uczogKG51bWJlcnMgYXMgYW55KS5waG9uZU51bWJlcnMubWFwKChudW1iZXI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBkaXJlY3RvcnlOdW1iZXI6IHtcclxuICAgICAgICAgICAgICAgICAgZGlyZWN0b3J5TnVtYmVyOiBudW1iZXIuZXh0ZW5zaW9uLFxyXG4gICAgICAgICAgICAgICAgICBwcmltYXJ5OiBudW1iZXIucHJpbWFyeSxcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdXNlci5taWRkbGVOYW1lID0gdXNlci5kaXNwbGF5TmFtZTtcclxuICAgICAgICB1c2VyLm1vYmlsZU51bWJlciA9IHVzZXIubW9iaWxlUGhvbmU7XHJcbiAgICAgICAgdXNlci50ZWxlcGhvbmVOdW1iZXIgPSB1c2VyLndvcmtQaG9uZTtcclxuXHJcbiAgICAgICAgdGhpcy5zZXRTaW1wbGlmaWVkVXNlcih1c2VyKTtcclxuICAgICAgICB0aGlzLl91c2VyLnRva2VuID0gdXNlci50b2tlbjtcclxuICAgICAgICB0aGlzLm9yaWdpblVzZXIudG9rZW4gPSB1c2VyLnRva2VuO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0b2tlbjtcclxuICAgIH0pKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZVVzZXJGaWVsZHMoYm9keTogYW55KTogYW55IHtcclxuICAgIGlmICghdGhpcy5zaXRlSWQgKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIC8vIGlmKGJvZHkubmV3VXNlcmlkKSB7XHJcbiAgICAvLyAgIGJvZHkgPSB7XHJcbiAgICAvLyAgICAgdXNlcmlkOiB1bmRlZmluZWQsXHJcbiAgICAvLyAgICAgLi4uYm9keVxyXG4gICAgLy8gICB9XHJcbiAgICAvLyB9XHJcbiAgICByZXR1cm4gdGhpcy5kY3BBcGlTZXJ2aWNlLnBvc3QoQVBJLlVQREFURV9VU0VSX0ZJRUxEUy5yZXBsYWNlKCc6c2l0ZUlkJywgU3RyaW5nKHRoaXMuc2l0ZUlkKSkucmVwbGFjZSgnOnRva2VuJywgdGhpcy51c2VyLnRva2VuKSwgYm9keSlcclxuICAgIC8vIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChBUEkuVVBEQVRFX0xFQU5fVVNFUl9GSUVMRFMucmVwbGFjZSgnOnNpdGVJZCcsIFN0cmluZyh0aGlzLnNpdGVJZCkpLnJlcGxhY2UoJzpsZWFuVXNlckRldGFpbHNUb2tlbicsIHRoaXMuX3VzZXIubGVhblVzZXJEZXRhaWxzVG9rZW4gfHwgJycpLnJlcGxhY2UoJzpsZWFuVXNlckxpbmVzVG9rZW4nLCB0aGlzLl91c2VyLmxlYW5Vc2VyTGluZXNUb2tlbiB8fCAnJykucmVwbGFjZSgnOmxlYW5Vc2VyU05SVG9rZW4nLCB0aGlzLl91c2VyLmxlYW5Vc2VyU05SVG9rZW4gfHwgJycpLCBib2R5KVxyXG4gICAgICAvLyAucGlwZSh0aGlzLmhhbmRsZUVycm9yKGZhbHNlLCB0cnVlKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZmV0Y2hVc2VyQnlJZChpZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnVzZXJJZEV4aXN0UGVuZGluZyA9IHRydWU7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5VU0VSX0JZX0lELnJlcGxhY2UoJzpzaXRlSWQnLCBTdHJpbmcodGhpcy5zaXRlSWQpKS5yZXBsYWNlKCc6dXNlcklkJywgZW5jb2RlVVJJQ29tcG9uZW50KGVuY29kZVVSSUNvbXBvbmVudChpZCkpKSlcclxuICAgICAgLnBpcGUobWFwKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgdGhpcy51c2VySWRFeGlzdFBlbmRpbmcgPSBmYWxzZTtcclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcGVyc2lzdENhY2hlQ2hhbmdlcygpIHtcclxuICAgIC8qY29uc3QgcGFyYW1zID0ge1xyXG4gICAgICBleGNsdWRlRGV2aWNlRXh0cmFPcHRpb25zOiB0cnVlXHJcbiAgICB9OyovXHJcbiAgICByZXR1cm4gdGhpcy5wcm9jZXNzVXNlckNoYW5nZXNUb0NhY2hlKClcclxuICAgICAgLnBpcGUoc3dpdGNoTWFwKChyZXN1bHQ6IGFueSkgPT4gdGhpcy5kY3BBcGlTZXJ2aWNlLnBvc3QoQVBJLlBFUlNJU1RfVVNFUl9DQUNIRS5yZXBsYWNlKCc6c2l0ZUlkJywgU3RyaW5nKHRoaXMuc2l0ZUlkKSkucmVwbGFjZSgnOnRva2VuJywgdGhpcy51c2VyLnRva2VuKSwge30pXHJcbiAgICAgICAgICAvLyAuc3Vic2NyaWJlKCgpID0+IHtcclxuXHJcbiAgICAgICAgICAvLyB9KVxyXG4gICAgICAgICAgLy8gLnBpcGUobWFwKCh1c2VyKSA9PiB7XHJcbiAgICAgICAgICAvLyAgIC8vIHRoaXMuc2V0VXNlcih1c2VyLCBmYWxzZSwgdGhpcy51c2VyLnRva2VuKTtcclxuICAgICAgICAgIC8vICAgdGhpcy51c2VyLmhhc01vZGlmaWVkQ2FjaGUgPSBmYWxzZTtcclxuICAgICAgICAgIC8vIH0pKVxyXG4gICAgICAgICAgLy8gLnBpcGUodGhpcy5oYW5kbGVFcnJvcih0cnVlLCB0cnVlKSk7XHJcbiAgICAgICkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGVkaXRUcmFuc2xhdGlvblBhdHRlcm4oXHJcbiAgICBjdWNtSWQ6IHN0cmluZyxcclxuICAgIG9sZHBhdHRlcm46IHN0cmluZyxcclxuICAgIG5ld1BhdHRlcm46IHN0cmluZyxcclxuICAgIGV4dGVuc2lvbjogc3RyaW5nLFxyXG4gICAgcm91dGVQYXJ0aXRpb25OYW1lOiBzdHJpbmcsXHJcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nLFxyXG4gICkge1xyXG4gICAgY29uc3QgcGFyYW1zID0ge1xyXG4gICAgICBvcmlnaW5hbHBhdHRlcm46IG9sZHBhdHRlcm4sXHJcbiAgICB9O1xyXG4gICAgY29uc3QgVVJMID0gQVBJLlRSQU5TTEFUSU9OX1BBVFRFUk5fQ1VDTS5yZXBsYWNlKCc6Y3VjbUlkJywgY3VjbUlkKTtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcclxuICAgICAgLnB1dChVUkwsIHsgY2FsbGVkUGFydHlUcmFuc2Zvcm1hdGlvbk1hc2s6IGV4dGVuc2lvbiwgcGF0dGVybjogbmV3UGF0dGVybiwgcm91dGVQYXJ0aXRpb25OYW1lOiByb3V0ZVBhcnRpdGlvbk5hbWUsIGRlc2NyaXB0aW9uIH0sIHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcHJvY2Vzc1VzZXJDaGFuZ2VzVG9DYWNoZSgpOiBhbnkge1xyXG4gICAgY29uc3QgY2FsbHMgPSBbXTtcclxuICAgIGNvbnN0IGJvZHkgPSBVdGlsc1NlcnZpY2UuZGlmZih0aGlzLm9yaWdpblVzZXIuZ2V0VXNlckRldGFpbHNTYXZhYmxlRGF0YSgpLCB0aGlzLnVzZXIuZ2V0VXNlckRldGFpbHNTYXZhYmxlRGF0YSgpLCAndXNlcicsIFsndXNlcmlkJ10pO1xyXG4gICAgaWYgKGJvZHk/Lmxlbmd0aCkge1xyXG4gICAgICBjYWxscy5wdXNoKHRoaXMudXBkYXRlVXNlckZpZWxkcyhib2R5KSk7XHJcbiAgICB9XHJcbiAgICBpZiAoIWNhbGxzPy5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuIG9mKHRoaXMudXNlcik7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZvcmtKb2luKGNhbGxzKVxyXG4gICAgICAucGlwZShtYXAoKHJlc3BvbnNlczogYW55KSA9PiB7XHJcbiAgICAgICAgLy8gQXBpVXNlclJlc3BvbnNlXHJcbiAgICAgICAgdGhpcy5oYW5kbGVTYXZlVXNlclJlc3BvbnNlKHJlc3BvbnNlcyk7XHJcbiAgICAgIH0pKVxyXG4gICAgICAvLyAucGlwZSh0aGlzLmhhbmRsZUVycm9yKGZhbHNlLCB0cnVlKSk7XHJcblxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNhdmVOZXdMaW5lKCk6IGFueSB7XHJcbiAgICB0aGlzLmRhdGFQZW5kaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuZGVsZXRlTGluZSh0aGlzLnVzZXIuc2l0ZUlkLCB0aGlzLmxpbmVBc3NvY2lhdGlvbi5saW5lUGtpZCwgZW5jb2RlVVJJQ29tcG9uZW50KHRoaXMudXNlci50b2tlbikpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IFVSTCA9IEFQSS5QRVJTSVNUX1VTRVJfQ0FDSEUucmVwbGFjZSgnOnNpdGVJZCcsIFN0cmluZyh0aGlzLnNpdGVJZCkpLnJlcGxhY2UoJzp0b2tlbicsIHRoaXMudXNlci50b2tlbik7XHJcbiAgICAgICAgdGhpcy5hcGlTZXJ2aWNlLnBvc3QoVVJMLCB7fSwgKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZmV0Y2hVc2VyVG9rZW4odGhpcy5zaXRlSWQsIHRoaXMudXNlci51c2VyaWQsIGZhbHNlLCB0cnVlKVxyXG4gICAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ydW5OZXdMaW5lQ3JlYXRpb24oKTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBydW5OZXdMaW5lQ3JlYXRpb24oKTogdm9pZCB7XHJcbiAgICAvLyBDUkVBVEUgTkVXIExJTkVcclxuICAgIGNvbnN0IG5ld0xpbmVCb2R5ID0gU29ydGluZ1V0aWxzU2VydmljZS5kaWZmKFxyXG4gICAgICB0aGlzLmxpbmVTZXJ2aWNlLmdlbmVyYXRlTGluZUFzc29jaWF0aW9uRnJvbUxpbmUobnVsbCksXHJcbiAgICAgIHRoaXMubGluZVNlcnZpY2UuZ2VuZXJhdGVMaW5lQXNzb2NpYXRpb25Gcm9tTGluZSh0aGlzLmxpbmVBc3NvY2lhdGlvbiksXHJcbiAgICAgICdkZXZpY2UubGluZUFzc29jaWF0aW9ucycsIG51bGxcclxuICAgICk7XHJcbiAgICB0aGlzLmFzc29jaWF0ZUxpbmVUb1VzZXJEZXZpY2UoXHJcbiAgICAgIHRoaXMudXNlci5zaXRlSWQsXHJcbiAgICAgIHRoaXMudXNlci5kZXZpY2VzWzBdLm5hbWUsXHJcbiAgICAgIG5ld0xpbmVCb2R5LFxyXG4gICAgICBudWxsLFxyXG4gICAgICB0aGlzLmxpbmVBc3NvY2lhdGlvbi5jYWxsaW5nU2VhcmNoU3BhY2VcclxuICAgICkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS5jdXJyZW50VXBkYXRlZFVzZXIpIHtcclxuICAgICAgICBjb25zdCBsaW5lUGtJZCA9IHRoaXMuZ2V0TGluZVBrSWRGcm9tVXNlcihyZXNwb25zZT8uY3VycmVudFVwZGF0ZWRVc2VyLCAwKTtcclxuICAgICAgICBmb3JrSm9pbihbXHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZUxpbmVGaWVsZHModGhpcy5zaXRlSWQsIGxpbmVQa0lkLCB0aGlzLnVzZXIudG9rZW4sIHRoaXMubGluZUFzc29jaWF0aW9uLmFsZXJ0aW5nTmFtZSksXHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZURldmljZUZpZWxkcyh0aGlzLnNpdGVJZCwgdGhpcy51c2VyLmRldmljZXNbMF0/Lm5hbWUsIHRoaXMudXNlci50b2tlbilcclxuICAgICAgICBdKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMub3JpZ2luVXNlci5kZXZpY2VzWzBdLmxpbmVBc3NvY2lhdGlvbnNbMF0uZGlyZWN0b3J5TnVtYmVyLmRpcmVjdG9yeU51bWJlciA9IHRoaXMubGluZUFzc29jaWF0aW9uLmRpcmVjdG9yeU51bWJlci5kaXJlY3RvcnlOdW1iZXI7XHJcbiAgICAgICAgICB0aGlzLm9uVXNlckxpbmVTYXZlZCQubmV4dCh0cnVlKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIC8vIC0tLS0tXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0TGluZVBrSWRGcm9tVXNlcih1c2VyOiBhbnksIGluZGV4OiBudW1iZXIpOiBhbnkge1xyXG4gICAgaWYgKHVzZXIuZGV2aWNlcyAmJiB1c2VyLmRldmljZXNbaW5kZXhdICYmIHVzZXIuZGV2aWNlc1tpbmRleF0ubGluZUFzc29jaWF0aW9ucyAmJiB1c2VyLmRldmljZXNbaW5kZXhdLmxpbmVBc3NvY2lhdGlvbnNbaW5kZXhdKSB7XHJcbiAgICAgIHJldHVybiB1c2VyLmRldmljZXNbaW5kZXhdLmxpbmVBc3NvY2lhdGlvbnNbaW5kZXhdLmxpbmVQa2lkIHx8IHVzZXIuZGV2aWNlc1tpbmRleF0ubGluZUFzc29jaWF0aW9uc1tpbmRleF0ubGluZUxvY2FsSWQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZGVsZXRlTGluZShzaXRlSWQ6IG51bWJlciwgcGtpZDogc3RyaW5nLCB0b2tlbjogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmRlbGV0ZShBUEkuREVMRVRFX0xJTkUucmVwbGFjZSgnOnNpdGVJZCcsIFN0cmluZyhzaXRlSWQpKS5yZXBsYWNlKCc6cGtpZCcsIHBraWQpLnJlcGxhY2UoJzp0b2tlbicsIGVuY29kZVVSSUNvbXBvbmVudCh0b2tlbikpLCB7fSlcclxuICAgIC8vIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IodHJ1ZSwgZmFsc2UpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkaXNhc3NvY2lhdGVMaW5lKHNpdGVJZDogbnVtYmVyLCBsaW5lUGtpZDogc3RyaW5nLCB0b2tlbjogc3RyaW5nLCBkZXZpY2VOYW1lOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZGVsZXRlKFxyXG4gICAgICBBUEkuRElTQVNTT0NJQVRFX0xJTkUucmVwbGFjZSgnOnNpdGVJZCcsIFN0cmluZyhzaXRlSWQpKVxyXG4gICAgICAgIC5yZXBsYWNlKCc6bGluZVBraWQnLCBsaW5lUGtpZClcclxuICAgICAgICAucmVwbGFjZSgnOmRldmljZU5hbWUnLCBkZXZpY2VOYW1lKVxyXG4gICAgICAgIC5yZXBsYWNlKCc6dG9rZW4nLCBlbmNvZGVVUklDb21wb25lbnQodG9rZW4pKSwge30pXHJcbiAgICAvLyAucGlwZSh0aGlzLmhhbmRsZUVycm9yKHRydWUsIGZhbHNlKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdXBkYXRlTGluZUZpZWxkcyhzaXRlSWQ6IG51bWJlciwgcGtpZDogc3RyaW5nLCB0b2tlbjogc3RyaW5nLCBhbGVydGluZ05hbWU6IGFueSkge1xyXG4gICAgY29uc3QgYm9keSA9IFsnbGluZS5kZXNjcmlwdGlvbj0nLCBgbGluZS5hbGVydGluZ05hbWU9JHthbGVydGluZ05hbWV9YF07XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoQVBJLlVQREFURV9MSU5FX0ZJRUxEUy5yZXBsYWNlKCc6c2l0ZUlkJywgU3RyaW5nKHNpdGVJZCkpLnJlcGxhY2UoJzpwa2lkJywgZW5jb2RlVVJJQ29tcG9uZW50KHBraWQpKS5yZXBsYWNlKCc6dG9rZW4nLCBlbmNvZGVVUklDb21wb25lbnQodG9rZW4pKSwgYm9keSlcclxuICAgIC8vIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IodHJ1ZSwgZmFsc2UpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB1cGRhdGVEZXZpY2VGaWVsZHMoc2l0ZUlkOiBudW1iZXIsIGRldmljZU5hbWU6IHN0cmluZywgdG9rZW46IHN0cmluZykge1xyXG4gICAgY29uc3QgYm9keSA9IFsnZGV2aWNlLmFzc29jaWF0ZWRETnMuMD1udWxsJ107XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLnBvc3QoQVBJLlVQREFURV9ERVZJQ0VfRklFTERTLnJlcGxhY2UoJzpzaXRlSWQnLCBTdHJpbmcoc2l0ZUlkKSkucmVwbGFjZSgnOmRldmljZU5hbWUnLCBkZXZpY2VOYW1lKS5yZXBsYWNlKCc6dG9rZW4nLCBlbmNvZGVVUklDb21wb25lbnQodG9rZW4pKSwgYm9keSlcclxuICAgIC8vIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IodHJ1ZSwgZmFsc2UpKTtcclxuICB9XHJcbiAgcHVibGljIGNoZWNrRGVzdGluYXRpb25OdW1iZXIoc2l0ZUlkOiBzdHJpbmcsIGRpcmVjdG9yeU51bWJlcjogc3RyaW5nLCByb3V0ZVBhcnRpdGlvbk5hbWU6IHN0cmluZykge1xyXG4gICAgY29uc3QgcGFyYW1zID0ge1xyXG4gICAgICBkbnR5cGU6ICdFWFRFTlNJT04nXHJcbiAgICB9O1xyXG4gICAgY29uc3QgYm9keSA9IHtcclxuICAgICAgZGlyZWN0b3J5TnVtYmVyOiBkaXJlY3RvcnlOdW1iZXIsXHJcbiAgICAgIHJvdXRlUGFydGl0aW9uTmFtZTogcm91dGVQYXJ0aXRpb25OYW1lXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5wb3N0KEFQSS5DSEVDS19ERVNUSU5BVElPTl9OVU1CRVIucmVwbGFjZSgnOnNpdGVJZCcsIHNpdGVJZCksIGJvZHksIHBhcmFtcyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXNzb2NpYXRlTGluZVRvVXNlckRldmljZShzaXRlSWQ6IG51bWJlciwgZGV2aWNlTmFtZTogc3RyaW5nLCBib2R5OiBhbnksIHBraWQ6IGFueSwgY3NzOiBhbnkpIHtcclxuICAgIGxldCBwYXJhbXMgPSB7fTtcclxuICAgIGlmIChwa2lkKSB7XHJcbiAgICAgIHBhcmFtcyA9IHtsaW5lUGtpZDogcGtpZH07XHJcbiAgICB9XHJcbiAgICBpZiAoY3NzKSB7XHJcbiAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgcGFyYW1zWydjc3MnXSA9IGNzcztcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UucG9zdChBUEkuQVNTT0NJQVRFX0xJTkUucmVwbGFjZSgnOnNpdGVJZCcsIFN0cmluZyhzaXRlSWQpKS5yZXBsYWNlKCc6ZGV2aWNlTmFtZScsIGRldmljZU5hbWUpXHJcbiAgICAgIC5yZXBsYWNlKCc6dG9rZW4nLCBlbmNvZGVVUklDb21wb25lbnQodGhpcy51c2VyLnRva2VuKSksIGJvZHksIHBhcmFtcylcclxuICAgIC8vIC5waXBlKHRoaXMuaGFuZGxlRXJyb3IodHJ1ZSwgdHJ1ZSkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhc1Vuc2F2ZWRDaGFuZ2VzKCkge1xyXG4gICAgaWYgKHRoaXMudXNlciAmJiB0aGlzLm9yaWdpblVzZXIpIHtcclxuICAgICAgcmV0dXJuICF0aGlzLnVzZXIuZXF1YWwodGhpcy5vcmlnaW5Vc2VyKTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1ha2VzIHRoZSBzYXZlZCBzdGF0ZSB0aGUgbmV3IGJhc2VsaW5lLCBzbyBoYXNVbnNhdmVkQ2hhbmdlcygpIGlzIGZhbHNlIGFnYWluIGFmdGVyIGEgc3VjY2Vzc2Z1bCBzYXZlLlxyXG4gICAqL1xyXG4gIHB1YmxpYyBjb21taXRTYXZlZENoYW5nZXMoKTogdm9pZCB7XHJcbiAgICBjb25zdCBzYXZlZERldGFpbHMgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMudXNlci5nZXRVc2VyRGV0YWlsc1NhdmFibGVEYXRhKCkpKTtcclxuICAgIGNvbnN0IHNhdmVkTGluZXMgPSB0aGlzLnVzZXIubGluZXMgPyBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMudXNlci5saW5lcykpIDogdGhpcy51c2VyLmxpbmVzO1xyXG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLm9yaWdpblVzZXIsIHNhdmVkRGV0YWlscywgeyBsaW5lczogc2F2ZWRMaW5lcyB9KTtcclxuICAgIE9iamVjdC5hc3NpZ24odGhpcy5vcmlnaW5Vc2VyRGF0YSwgSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShzYXZlZERldGFpbHMpKSwgeyBsaW5lczogc2F2ZWRMaW5lcyAmJiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHNhdmVkTGluZXMpKSB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldmVydHMgYWxsIHVuc2F2ZWQgY2hhbmdlcy4gVGhlIHVzZXIgb2JqZWN0IGFuZCBpdHMgZm9ybSBhcmUgdXBkYXRlZCBpbiBwbGFjZSAobm90IHJlcGxhY2VkKSxcclxuICAgKiBzbyBjb21wb25lbnRzIGhvbGRpbmcgcmVmZXJlbmNlcyB0byB0aGVtIGtlZXAgd29ya2luZy5cclxuICAgKi9cclxuICBwdWJsaWMgZGlzY2FyZENoYW5nZXMoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuX3VzZXIgfHwgIXRoaXMub3JpZ2luVXNlckRhdGEpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcmVzdG9yZWQgPSBuZXcgU2ltcGxpZmllZFVzZXIoSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLm9yaWdpblVzZXJEYXRhKSksIHRoaXMuaXNMZGFwKTtcclxuICAgIGNvbnN0IGtleXMgPSBuZXcgU2V0KFsuLi5PYmplY3Qua2V5cyh0aGlzLl91c2VyKSwgLi4uT2JqZWN0LmtleXMocmVzdG9yZWQpXSk7XHJcbiAgICBrZXlzLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgaWYgKGtleSAhPT0gJ2Zvcm0nICYmIGtleSAhPT0gJ3Rva2VuJykge1xyXG4gICAgICAgICh0aGlzLl91c2VyIGFzIGFueSlba2V5XSA9IChyZXN0b3JlZCBhcyBhbnkpW2tleV07XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5fdXNlci5mb3JtLnJlc2V0KHJlc3RvcmVkLmZvcm0uZ2V0UmF3VmFsdWUoKSk7XHJcbiAgICB0aGlzLmhhc0V4aXN0ZWRVc2VySWQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRTaW1wbGlmaWVkVXNlcih1c2VyOiBhbnksIGlzTGRhcD86IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIC8vIGlzTGRhcCBURU1QIGJlY2F1c2Ugb2YgdG9rZW4gcmVzcG9uc2UgaXNzdWVcclxuICAgIHRoaXMuaXNMZGFwID0gaXNMZGFwO1xyXG4gICAgdGhpcy5vcmlnaW5Vc2VyRGF0YSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodXNlcikpO1xyXG4gICAgdGhpcy5fdXNlciA9IG5ldyBTaW1wbGlmaWVkVXNlcih1c2VyLCBpc0xkYXApO1xyXG4gICAgY29uc3QgY29waWVkVXNlciA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodXNlcikpO1xyXG4gICAgdGhpcy5vcmlnaW5Vc2VyID0gbmV3IFNpbXBsaWZpZWRVc2VyKGNvcGllZFVzZXIsIGlzTGRhcCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZVNhdmVVc2VyUmVzcG9uc2UocmVzcG9uc2VzOiBhbnkpIHtcclxuICAgIGlmICghcmVzcG9uc2VzPy5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgZm9yIChsZXQgbGVuID0gcmVzcG9uc2VzLmxlbmd0aCwgaSA9IGxlbiAtIDE7IGkgPj0gMDsgaS0tKSB7XHJcbiAgICAgIGlmIChyZXNwb25zZXNbaV0gJiYgcmVzcG9uc2VzW2ldLmN1cnJlbnRVcGRhdGVkVXNlcikge1xyXG4gICAgICAgIC8vIHRoaXMuc2V0VXNlcihyZXNwb25zZXNbaV0uY3VycmVudFVwZGF0ZWRVc2VyLCBmYWxzZSwgdGhpcy51c2VyLnRva2VuKTtcclxuICAgICAgICB0aGlzLnVzZXIuaGFzTW9kaWZpZWRDYWNoZSA9IHRydWU7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0UHJpbWFyeUxpbmVEZXZpY2UocHJpbWFyeUxpbmVSZWZlcmVuY2VEaXJlY3RvcnlOdW1iZXI6IHN0cmluZyk6IGFueSB7XHJcbiAgICBpZiAodGhpcy51c2VyPy5kZXZpY2VzICYmIHRoaXMudXNlci5kZXZpY2VzLmxlbmd0aCkge1xyXG4gICAgICBjb25zdCBkZXZpY2UgPSB0aGlzLnVzZXIuZGV2aWNlcy5maW5kKChkZXZpY2U6IGFueSkgPT4gZGV2aWNlLmxpbmVBc3NvY2lhdGlvbnMuc29tZSgobGluZTogYW55KSA9PiBsaW5lPy5kaXJlY3RvcnlOdW1iZXI/LmRpcmVjdG9yeU51bWJlciA9PT0gcHJpbWFyeUxpbmVSZWZlcmVuY2VEaXJlY3RvcnlOdW1iZXIpKTtcclxuICAgICAgcmV0dXJuIGRldmljZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBmZXRjaExlYW5Vc2VyQ29udmVyc2F0aW9uQnlJZChpZDogc3RyaW5nLCBzaXRlSWQ/OiBudW1iZXIpIHtcclxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2UuZmV0Y2goQVBJLkxFQU5fVVNFUl9DT05WRVJTQVRJT05fU1RBUlQucmVwbGFjZSgnOnNpdGVJZCcsIFN0cmluZyhzaXRlSWQpKS5yZXBsYWNlKCc6dXNlcklkJywgZW5jb2RlVVJJQ29tcG9uZW50KGVuY29kZVVSSUNvbXBvbmVudChpZCkpKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZmV0Y2hMZWFuVXNlckRldmljZXNDb252ZXJzYXRpb25CeUlkKGlkOiBzdHJpbmcsIHNpdGVJZD86IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZS5mZXRjaChBUEkuTEVBTl9VU0VSX0RFVklDRVNfQ09OVkVSU0FUSU9OX1NUQVJULnJlcGxhY2UoJzpzaXRlSWQnLCBTdHJpbmcoc2l0ZUlkKSkucmVwbGFjZSgnOnVzZXJJZCcsIGVuY29kZVVSSUNvbXBvbmVudChlbmNvZGVVUklDb21wb25lbnQoaWQpKSkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGZldGNoTGVhblVzZXJMaW5lc0NvbnZlcnNhdGlvbkJ5SWQoaWQ6IHN0cmluZywgc2l0ZUlkOiBudW1iZXIpIHtcclxuICAgIHJldHVybiB0aGlzLmZldGNoTGVhblVzZXJEZXZpY2VzQ29udmVyc2F0aW9uQnlJZChpZCwgc2l0ZUlkKVxyXG4gICAgLnBpcGUoc3dpdGNoTWFwKChsZWFuVXNlckRldmljZXNSZXN1bHQ6IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBsZWFuVXNlckRldmljZXNUb2tlbiA9IGxlYW5Vc2VyRGV2aWNlc1Jlc3VsdCAmJiBPYmplY3Qua2V5cyhsZWFuVXNlckRldmljZXNSZXN1bHQpWzBdIHx8ICcnO1xyXG4gICAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5MRUFOX1VTRVJfTElORVNfQ09OVkVSU0FUSU9OX1NUQVJULnJlcGxhY2UoJzpzaXRlSWQnLCBTdHJpbmcodGhpcy5zaXRlSWQpKVxyXG4gICAgICAgIC5yZXBsYWNlKCc6dXNlcklkJywgZW5jb2RlVVJJQ29tcG9uZW50KGVuY29kZVVSSUNvbXBvbmVudChpZCkpKS5yZXBsYWNlKCc6bGVhblVzZXJEZXZpY2VzVG9rZW4nLCBsZWFuVXNlckRldmljZXNUb2tlbikpXHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZmV0Y2hMZWFuVXNlclNOUkNvbnZlcnNhdGlvbkJ5SWQoaWQ6IHN0cmluZywgc2l0ZUlkPzogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlLmZldGNoKEFQSS5MRUFOX1VTRVJfU05SX0NPTlZFUlNBVElPTl9TVEFSVC5yZXBsYWNlKCc6c2l0ZUlkJywgU3RyaW5nKHNpdGVJZCkpLnJlcGxhY2UoJzp1c2VySWQnLCBlbmNvZGVVUklDb21wb25lbnQoZW5jb2RlVVJJQ29tcG9uZW50KGlkKSkpKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -70,4 +70,4 @@ UtilsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version
|
|
|
70
70
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UtilsService, decorators: [{
|
|
71
71
|
type: Injectable
|
|
72
72
|
}] });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3R1a2kvd2lkZ2V0cy91c2VyLW1hbmFnZS9zcmMvc2VydmljZXMvdXRpbHMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQyxNQUFNLE9BQU8sWUFBWTtJQUV2QixNQUFNLENBQUMsdUJBQXVCLENBQUMsS0FBUyxFQUFFLE1BQWM7UUFDdEQsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDekIsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDNUIsT0FBTyxDQUFDLENBQUM7YUFDVjtZQUNELElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUMzQixPQUFPLENBQUMsQ0FBQzthQUNWO1lBQ0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQzNCLE9BQU8sQ0FBQyxDQUFDLENBQUM7YUFDWDtZQUNELE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM1QixNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUIsT0FBTyxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FB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O2dCQUNFLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFTLEVBQUUsSUFBUztRQUNqQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2RCxDQUFDOzswR0FsRVUsWUFBWTs4R0FBWixZQUFZOzRGQUFaLFlBQVk7a0JBRHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBVdGlsc1NlcnZpY2Uge1xyXG5cclxuICBzdGF0aWMgc29ydFNvcnRBcnJheUJ5UHJvcGVydHkoYXJyYXk6IFtdLCBzb3J0Qnk6IHN0cmluZykge1xyXG4gICAgaWYgKCFhcnJheSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICAgIHJldHVybiBhcnJheS5zb3J0KChhLCBiKSA9PiB7XHJcbiAgICAgIGlmICghYVtzb3J0QnldICYmICFiW3NvcnRCeV0pIHtcclxuICAgICAgICByZXR1cm4gMDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoYVtzb3J0QnldICYmICFiW3NvcnRCeV0pIHtcclxuICAgICAgICByZXR1cm4gMTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIWFbc29ydEJ5XSAmJiBiW3NvcnRCeV0pIHtcclxuICAgICAgICByZXR1cm4gLTE7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgcG9zaXRpb25BID0gYVtzb3J0QnldO1xyXG4gICAgICBjb25zdCBwb3NpdGlvbkIgPSBiW3NvcnRCeV07XHJcbiAgICAgIHJldHVybiAocG9zaXRpb25BIDwgcG9zaXRpb25CKSA/IC0xIDogKHBvc2l0aW9uQSA+IHBvc2l0aW9uQikgPyAxIDogMDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGRpZmYob3JpZ09iamVjdDogYW55LCB1cGRhdGVkT2JqOiBhbnksIHBhdGg6IHN0cmluZywga2V5c1RvSWdub3JlPzogc3RyaW5nW10pIHtcclxuICAgIGxldCByZXN1bHQ6IGFueSA9IFtdO1xyXG4gICAgaWYgKE9iamVjdC5pcyhvcmlnT2JqZWN0LCB1cGRhdGVkT2JqKSkge1xyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfVxyXG4gICAgaWYgKCF1cGRhdGVkT2JqIHx8IHR5cGVvZiB1cGRhdGVkT2JqICE9PSAnb2JqZWN0Jykge1xyXG4gICAgICByZXR1cm4gdXBkYXRlZE9iajtcclxuICAgIH1cclxuICAgIGNvbnN0IGNvbmNhdCA9IEFycmF5LmZyb20obmV3IFNldChbLi4uT2JqZWN0LmtleXMob3JpZ09iamVjdCB8fCB7fSksIC4uLk9iamVjdC5rZXlzKHVwZGF0ZWRPYmogfHwge30pXSkpO1xyXG4gICAgY29uc3QgZmlsdGVyID0ga2V5c1RvSWdub3JlID8gY29uY2F0LmZpbHRlcihrZXkgPT4gIWtleXNUb0lnbm9yZS5pbmNsdWRlcyhrZXkpKSA6IGNvbmNhdDtcclxuICAgIGZpbHRlclxyXG4gICAgICAuZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICAgIGlmICh0eXBlb2YgdXBkYXRlZE9ialtrZXldID09PSAnb2JqZWN0JyAmJiB0eXBlb2Ygb3JpZ09iamVjdFtrZXldID09PSAnb2JqZWN0Jykge1xyXG4gICAgICAgICAgaWYgKFV0aWxzU2VydmljZS5kaWZmZXJzKHVwZGF0ZWRPYmpba2V5XSwgb3JpZ09iamVjdFtrZXldKSkge1xyXG4gICAgICAgICAgICBjb25zdCBuZXdQYXRoID0gYCR7cGF0aH0ke3BhdGggPyAnLicgOiAnJ30ke2tleX1gO1xyXG4gICAgICAgICAgICBjb25zdCB2YWx1ZXMgPSBVdGlsc1NlcnZpY2UuZGlmZihvcmlnT2JqZWN0W2tleV0sIHVwZGF0ZWRPYmpba2V5XSwgbmV3UGF0aCwga2V5c1RvSWdub3JlKTtcclxuICAgICAgICAgICAgaWYgKHZhbHVlcyAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgcmVzdWx0ID0gWy4uLnJlc3VsdCwgLi4udmFsdWVzXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSBpZiAodXBkYXRlZE9iaiAmJiAhb3JpZ09iamVjdCB8fCB1cGRhdGVkT2JqW2tleV0gIT09IG9yaWdPYmplY3Rba2V5XSAmJiAhT2JqZWN0LmlzKG9yaWdPYmplY3Rba2V5XSwgdXBkYXRlZE9ialtrZXldKSkge1xyXG4gICAgICAgICAgY29uc3QgdmFsdWUgPSB1cGRhdGVkT2JqID8gVXRpbHNTZXJ2aWNlLmZvcm1hdElmRW1wdHkodXBkYXRlZE9ialtrZXldKSA6IG51bGw7XHJcbiAgICAgICAgICByZXN1bHQucHVzaChgJHtwYXRofSR7cGF0aCA/ICcuJyA6ICcnfSR7a2V5fT0ke3ZhbHVlfWApO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGZvcm1hdElmRW1wdHkodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgIH1cclxuICAgIHN3aXRjaCAodHlwZW9mIHZhbHVlKSB7XHJcbiAgICAgIGNhc2UgJ2Jvb2xlYW4nOlxyXG4gICAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgICAgY2FzZSAnc3RyaW5nJzpcclxuICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZGlmZmVycyhvYmoxOiBhbnksIG9iajI6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KG9iajEpICE9PSBKU09OLnN0cmluZ2lmeShvYmoyKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -47,10 +47,10 @@ export class UserCallingExtensionComponent {
|
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
UserCallingExtensionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserCallingExtensionComponent, deps: [{ token: i1.UserService }, { token: i2.DnsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
50
|
-
UserCallingExtensionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UserCallingExtensionComponent, selector: "app-user-calling-extension", inputs: { control: "control", routePartition: "routePartition", directoryNumber: "directoryNumber", siteId: "siteId" }, outputs: { onChange: "onChange" }, ngImport: i0, template: "<div *ngIf=\"this.availableNumbers?.length\" class=\"user-calling-extension\">\n <mat-form-field appearance=\"outline\">\n <mat-select [formControl]=\"control\" name=\"extension\"\n (selectionChange)=\"this.onChangeField($event)\">\n <mat-option *ngFor=\"let option of this.availableNumbers; let i = index;\"[value]=\"option\">{{option}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-spinner *ngIf=\"this.dataPending\" [diameter]=\"50\"></mat-spinner>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";.user-calling-extension{max-width:200px;margin:0 0 0 6px}.fa:hover{color:#0d56aa!important}.mat-icon-button{background:transparent}.icon-webex-box{width:2rem;height:2rem;font-size:.7rem;line-height:1rem;display:inline-block;background:#d0d0d0;border-radius:2rem;line-height:40px;text-align:center}.icon-webex{filter:invert(12%) sepia(14%) saturate(4%) hue-rotate(354deg) brightness(103%) contrast(90%);background-repeat:no-repeat;background-position:center;display:inline-block;height:1rem;width:1rem}.icon-webex-user{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22%3F%3E%3Csvg id%3D%22a%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 16.67 15.56%22%3E%3Cdefs%3E%3Cstyle%3E.b%7Bfill%3Anone%3Bstroke%3A%232c355d%3Bstroke-width%3A1.4px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath class%3D%22b%22 d%3D%22M4.87%2C3.89c0-1.72%2C1.51-3.19%2C3.47-3.19s3.47%2C1.47%2C3.47%2C3.19-1.51%2C3.19-3.47%2C3.19-3.47-1.47-3.47-3.19ZM.7%2C12.64c0-.37%2C.19-.76%2C.67-1.17%2C.48-.41%2C1.17-.78%2C2-1.09%2C1.66-.62%2C3.66-.93%2C4.97-.93s3.31%2C.31%2C4.97%2C.93c.83%2C.31%2C1.52%2C.68%2C2%2C1.09%2C.47%2C.41%2C.67%2C.8%2C.67%2C1.17v2.22H.7v-2.22Z%22%2F%3E%3C%2Fsvg%3E\")}.icon-user-status{display:inline-block}*{margin:0}body{background:#f7f7f7}body,th,td{font-family:Poppins,Poppins,sans-serif;font-size:14px}th{color:#0000008a;text-align:left}td{box-sizing:border-box;padding:10px 5px 10px 0}.content-box{margin:auto;position:relative;width:95%}.content-box table{width:100%}.edit-icon-td{width:50px;position:relative}.edit-icon-td button{position:absolute;top:4px}.mat-progress-spinner circle,.mat-spinner circle{stroke:gray!important}.data-loader{position:absolute;top:calc(50% - 25px);left:calc(50% - 25px)}.flex-box{display:flex;justify-content:flex-start}.spinner-container{width:100%;display:flex;justify-content:center;align-items:center}.spinner-container ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:#000}.user-info-box{background:white;display:grid;grid-template-columns:30% 70%;border-radius:8px;border:rgba(0,0,0,.2) 1px solid;padding:24px;font-weight:400;font-size:14px}.user-info-box h3{display:block;font-weight:500;font-size:16px}.mat-divider{margin:5px 0!important}.info-boxes-container{padding:24px 0;display:flex;flex-direction:column;gap:24px}.header-box{height:60px;width:100%;line-height:60px;background:white;border-bottom:1px solid #dedddd}.header-box .header-back-block{float:left}.header-box .header-button-block{float:right}.webex-table{width:100%;margin:auto}.webex-table tr{border-bottom:1px solid #dedede}.webex-table th{background:#f7f7f7;color:#636363;font-size:12px}.webex-table td{background:#fff;color:#636363;font-size:14px}.webex-table tr:hover td{background:#ededed;cursor:pointer}.webex-table th.mat-header-cell,.webex-table td.mat-cell,.webex-table td.mat-footer-cell{border-bottom:1px solid #dedede}.webex-table tr.mat-header-row{height:37px}.mat-form-field{padding:0 0 5px;width:93%}.mat-form-field.mat-form-field-disabled{border-bottom:none}.mat-error{color:#c73636;margin:13px 0 0}.select-box{border-radius:30px;background:#F3F6F6;border:1px solid #E2E9EF;height:35px;position:relative}.select-box select{border:none!important;background:transparent;height:100%;width:92%;margin:auto;display:block}option:focus,option:focus-visible{border:none!important;outline:none!important}option{height:30px;cursor:pointer;color:#636363}option:hover{background:#ededed!important}.mat-select{height:100%!important}.info-holder,.input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__name,.input-holder__name{font-weight:500!important;font-size:14px!important}.info-holder__inputs .input-holder,.input-holder__inputs .input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__inputs .input-holder__name,.input-holder__inputs .input-holder__name{font-weight:400!important;font-size:14px!important}table{border-collapse:collapse;border-spacing:0}.mat-form-field-appearance-outline .mat-form-field-infix{padding:0!important}.mat-divider{margin:12px 0}::ng-deep .mat-form-field-wrapper{height:30px}::ng-deep .mat-form-field-flex{height:30px}::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline{height:35px}:ng-deep .mat-form-field-outline .mat-form-field-outline-thick{height:35px}::ng-deep .mat-select{line-height:20px}::ng-deep .mat-form-field-infix{border-top:0px!important}::ng-deep .mat-tab-group{font-family:Inter,sans-serif}::ng-deep .mat-tab-label{font-weight:500!important;font-size:16px!important;height:auto!important;min-width:auto!important;padding:0!important;opacity:1!important;color:#000!important}::ng-deep .mat-ink-bar{background-color:#000!important;height:3px!important}::ng-deep .mat-tab-labels{gap:30px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }] });
|
|
50
|
+
UserCallingExtensionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UserCallingExtensionComponent, selector: "app-user-calling-extension", inputs: { control: "control", routePartition: "routePartition", directoryNumber: "directoryNumber", siteId: "siteId" }, outputs: { onChange: "onChange" }, ngImport: i0, template: "<div *ngIf=\"this.availableNumbers?.length\" class=\"user-calling-extension\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-select [formControl]=\"control\" name=\"extension\"\r\n (selectionChange)=\"this.onChangeField($event)\">\r\n <mat-option *ngFor=\"let option of this.availableNumbers; let i = index;\"[value]=\"option\">{{option}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-spinner *ngIf=\"this.dataPending\" [diameter]=\"50\"></mat-spinner>\r\n</div>\r\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";.user-calling-extension{max-width:200px;margin:0 0 0 6px}.fa:hover{color:#0d56aa!important}.mat-icon-button{background:transparent}.icon-webex-box{width:2rem;height:2rem;font-size:.7rem;line-height:1rem;display:inline-block;background:#d0d0d0;border-radius:2rem;line-height:40px;text-align:center}.icon-webex{filter:invert(12%) sepia(14%) saturate(4%) hue-rotate(354deg) brightness(103%) contrast(90%);background-repeat:no-repeat;background-position:center;display:inline-block;height:1rem;width:1rem}.icon-webex-user{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22%3F%3E%3Csvg id%3D%22a%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 16.67 15.56%22%3E%3Cdefs%3E%3Cstyle%3E.b%7Bfill%3Anone%3Bstroke%3A%232c355d%3Bstroke-width%3A1.4px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath class%3D%22b%22 d%3D%22M4.87%2C3.89c0-1.72%2C1.51-3.19%2C3.47-3.19s3.47%2C1.47%2C3.47%2C3.19-1.51%2C3.19-3.47%2C3.19-3.47-1.47-3.47-3.19ZM.7%2C12.64c0-.37%2C.19-.76%2C.67-1.17%2C.48-.41%2C1.17-.78%2C2-1.09%2C1.66-.62%2C3.66-.93%2C4.97-.93s3.31%2C.31%2C4.97%2C.93c.83%2C.31%2C1.52%2C.68%2C2%2C1.09%2C.47%2C.41%2C.67%2C.8%2C.67%2C1.17v2.22H.7v-2.22Z%22%2F%3E%3C%2Fsvg%3E\")}.icon-user-status{display:inline-block}*{margin:0}body{background:#f7f7f7}body,th,td{font-family:Poppins,Poppins,sans-serif;font-size:14px}th{color:#0000008a;text-align:left}td{box-sizing:border-box;padding:10px 5px 10px 0}.content-box{margin:auto;position:relative;width:95%}.content-box table{width:100%}.edit-icon-td{width:50px;position:relative}.edit-icon-td button{position:absolute;top:4px}.mat-progress-spinner circle,.mat-spinner circle{stroke:gray!important}.data-loader{position:absolute;top:calc(50% - 25px);left:calc(50% - 25px)}.flex-box{display:flex;justify-content:flex-start}.spinner-container{width:100%;display:flex;justify-content:center;align-items:center}.spinner-container ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:#000}.user-info-box{background:white;display:grid;grid-template-columns:30% 70%;border-radius:8px;border:rgba(0,0,0,.2) 1px solid;padding:24px;font-weight:400;font-size:14px}.user-info-box h3{display:block;font-weight:500;font-size:16px}.mat-divider{margin:5px 0!important}.info-boxes-container{padding:24px 0;display:flex;flex-direction:column;gap:24px}.header-box{height:60px;width:100%;line-height:60px;background:white;border-bottom:1px solid #dedddd}.header-box .header-back-block{float:left}.header-box .header-button-block{float:right}.webex-table{width:100%;margin:auto}.webex-table tr{border-bottom:1px solid #dedede}.webex-table th{background:#f7f7f7;color:#636363;font-size:12px}.webex-table td{background:#fff;color:#636363;font-size:14px}.webex-table tr:hover td{background:#ededed;cursor:pointer}.webex-table th.mat-header-cell,.webex-table td.mat-cell,.webex-table td.mat-footer-cell{border-bottom:1px solid #dedede}.webex-table tr.mat-header-row{height:37px}.mat-form-field{padding:0 0 5px;width:93%}.mat-form-field.mat-form-field-disabled{border-bottom:none}.mat-error{color:#c73636;margin:13px 0 0}.select-box{border-radius:30px;background:#F3F6F6;border:1px solid #E2E9EF;height:35px;position:relative}.select-box select{border:none!important;background:transparent;height:100%;width:92%;margin:auto;display:block}option:focus,option:focus-visible{border:none!important;outline:none!important}option{height:30px;cursor:pointer;color:#636363}option:hover{background:#ededed!important}.mat-select{height:100%!important}.info-holder,.input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__name,.input-holder__name{font-weight:500!important;font-size:14px!important}.info-holder__inputs .input-holder,.input-holder__inputs .input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__inputs .input-holder__name,.input-holder__inputs .input-holder__name{font-weight:400!important;font-size:14px!important}table{border-collapse:collapse;border-spacing:0}.mat-form-field-appearance-outline .mat-form-field-infix{padding:0!important}.mat-divider{margin:12px 0}::ng-deep .mat-form-field-wrapper{height:30px}::ng-deep .mat-form-field-flex{height:30px}::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline{height:35px}:ng-deep .mat-form-field-outline .mat-form-field-outline-thick{height:35px}::ng-deep .mat-select{line-height:20px}::ng-deep .mat-form-field-infix{border-top:0px!important}::ng-deep .mat-tab-group{font-family:Inter,sans-serif}::ng-deep .mat-tab-label{font-weight:500!important;font-size:16px!important;height:auto!important;min-width:auto!important;padding:0!important;opacity:1!important;color:#000!important}::ng-deep .mat-ink-bar{background-color:#000!important;height:3px!important}::ng-deep .mat-tab-labels{gap:30px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i8.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }] });
|
|
51
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UserCallingExtensionComponent, decorators: [{
|
|
52
52
|
type: Component,
|
|
53
|
-
args: [{ selector: 'app-user-calling-extension', template: "<div *ngIf=\"this.availableNumbers?.length\" class=\"user-calling-extension\">\n <mat-form-field appearance=\"outline\">\n <mat-select [formControl]=\"control\" name=\"extension\"\n (selectionChange)=\"this.onChangeField($event)\">\n <mat-option *ngFor=\"let option of this.availableNumbers; let i = index;\"[value]=\"option\">{{option}}</mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-spinner *ngIf=\"this.dataPending\" [diameter]=\"50\"></mat-spinner>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";.user-calling-extension{max-width:200px;margin:0 0 0 6px}.fa:hover{color:#0d56aa!important}.mat-icon-button{background:transparent}.icon-webex-box{width:2rem;height:2rem;font-size:.7rem;line-height:1rem;display:inline-block;background:#d0d0d0;border-radius:2rem;line-height:40px;text-align:center}.icon-webex{filter:invert(12%) sepia(14%) saturate(4%) hue-rotate(354deg) brightness(103%) contrast(90%);background-repeat:no-repeat;background-position:center;display:inline-block;height:1rem;width:1rem}.icon-webex-user{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22%3F%3E%3Csvg id%3D%22a%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 16.67 15.56%22%3E%3Cdefs%3E%3Cstyle%3E.b%7Bfill%3Anone%3Bstroke%3A%232c355d%3Bstroke-width%3A1.4px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath class%3D%22b%22 d%3D%22M4.87%2C3.89c0-1.72%2C1.51-3.19%2C3.47-3.19s3.47%2C1.47%2C3.47%2C3.19-1.51%2C3.19-3.47%2C3.19-3.47-1.47-3.47-3.19ZM.7%2C12.64c0-.37%2C.19-.76%2C.67-1.17%2C.48-.41%2C1.17-.78%2C2-1.09%2C1.66-.62%2C3.66-.93%2C4.97-.93s3.31%2C.31%2C4.97%2C.93c.83%2C.31%2C1.52%2C.68%2C2%2C1.09%2C.47%2C.41%2C.67%2C.8%2C.67%2C1.17v2.22H.7v-2.22Z%22%2F%3E%3C%2Fsvg%3E\")}.icon-user-status{display:inline-block}*{margin:0}body{background:#f7f7f7}body,th,td{font-family:Poppins,Poppins,sans-serif;font-size:14px}th{color:#0000008a;text-align:left}td{box-sizing:border-box;padding:10px 5px 10px 0}.content-box{margin:auto;position:relative;width:95%}.content-box table{width:100%}.edit-icon-td{width:50px;position:relative}.edit-icon-td button{position:absolute;top:4px}.mat-progress-spinner circle,.mat-spinner circle{stroke:gray!important}.data-loader{position:absolute;top:calc(50% - 25px);left:calc(50% - 25px)}.flex-box{display:flex;justify-content:flex-start}.spinner-container{width:100%;display:flex;justify-content:center;align-items:center}.spinner-container ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:#000}.user-info-box{background:white;display:grid;grid-template-columns:30% 70%;border-radius:8px;border:rgba(0,0,0,.2) 1px solid;padding:24px;font-weight:400;font-size:14px}.user-info-box h3{display:block;font-weight:500;font-size:16px}.mat-divider{margin:5px 0!important}.info-boxes-container{padding:24px 0;display:flex;flex-direction:column;gap:24px}.header-box{height:60px;width:100%;line-height:60px;background:white;border-bottom:1px solid #dedddd}.header-box .header-back-block{float:left}.header-box .header-button-block{float:right}.webex-table{width:100%;margin:auto}.webex-table tr{border-bottom:1px solid #dedede}.webex-table th{background:#f7f7f7;color:#636363;font-size:12px}.webex-table td{background:#fff;color:#636363;font-size:14px}.webex-table tr:hover td{background:#ededed;cursor:pointer}.webex-table th.mat-header-cell,.webex-table td.mat-cell,.webex-table td.mat-footer-cell{border-bottom:1px solid #dedede}.webex-table tr.mat-header-row{height:37px}.mat-form-field{padding:0 0 5px;width:93%}.mat-form-field.mat-form-field-disabled{border-bottom:none}.mat-error{color:#c73636;margin:13px 0 0}.select-box{border-radius:30px;background:#F3F6F6;border:1px solid #E2E9EF;height:35px;position:relative}.select-box select{border:none!important;background:transparent;height:100%;width:92%;margin:auto;display:block}option:focus,option:focus-visible{border:none!important;outline:none!important}option{height:30px;cursor:pointer;color:#636363}option:hover{background:#ededed!important}.mat-select{height:100%!important}.info-holder,.input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__name,.input-holder__name{font-weight:500!important;font-size:14px!important}.info-holder__inputs .input-holder,.input-holder__inputs .input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__inputs .input-holder__name,.input-holder__inputs .input-holder__name{font-weight:400!important;font-size:14px!important}table{border-collapse:collapse;border-spacing:0}.mat-form-field-appearance-outline .mat-form-field-infix{padding:0!important}.mat-divider{margin:12px 0}::ng-deep .mat-form-field-wrapper{height:30px}::ng-deep .mat-form-field-flex{height:30px}::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline{height:35px}:ng-deep .mat-form-field-outline .mat-form-field-outline-thick{height:35px}::ng-deep .mat-select{line-height:20px}::ng-deep .mat-form-field-infix{border-top:0px!important}::ng-deep .mat-tab-group{font-family:Inter,sans-serif}::ng-deep .mat-tab-label{font-weight:500!important;font-size:16px!important;height:auto!important;min-width:auto!important;padding:0!important;opacity:1!important;color:#000!important}::ng-deep .mat-ink-bar{background-color:#000!important;height:3px!important}::ng-deep .mat-tab-labels{gap:30px}\n"] }]
|
|
53
|
+
args: [{ selector: 'app-user-calling-extension', template: "<div *ngIf=\"this.availableNumbers?.length\" class=\"user-calling-extension\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-select [formControl]=\"control\" name=\"extension\"\r\n (selectionChange)=\"this.onChangeField($event)\">\r\n <mat-option *ngFor=\"let option of this.availableNumbers; let i = index;\"[value]=\"option\">{{option}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n\r\n <mat-spinner *ngIf=\"this.dataPending\" [diameter]=\"50\"></mat-spinner>\r\n</div>\r\n", styles: ["@import\"https://fonts.googleapis.com/css?family=Poppins:400,100,200,300,500,600,800,700,900\";.user-calling-extension{max-width:200px;margin:0 0 0 6px}.fa:hover{color:#0d56aa!important}.mat-icon-button{background:transparent}.icon-webex-box{width:2rem;height:2rem;font-size:.7rem;line-height:1rem;display:inline-block;background:#d0d0d0;border-radius:2rem;line-height:40px;text-align:center}.icon-webex{filter:invert(12%) sepia(14%) saturate(4%) hue-rotate(354deg) brightness(103%) contrast(90%);background-repeat:no-repeat;background-position:center;display:inline-block;height:1rem;width:1rem}.icon-webex-user{background-image:url(\"data:image/svg+xml,%3C%3Fxml version%3D%221.0%22 encoding%3D%22UTF-8%22%3F%3E%3Csvg id%3D%22a%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 viewBox%3D%220 0 16.67 15.56%22%3E%3Cdefs%3E%3Cstyle%3E.b%7Bfill%3Anone%3Bstroke%3A%232c355d%3Bstroke-width%3A1.4px%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cpath class%3D%22b%22 d%3D%22M4.87%2C3.89c0-1.72%2C1.51-3.19%2C3.47-3.19s3.47%2C1.47%2C3.47%2C3.19-1.51%2C3.19-3.47%2C3.19-3.47-1.47-3.47-3.19ZM.7%2C12.64c0-.37%2C.19-.76%2C.67-1.17%2C.48-.41%2C1.17-.78%2C2-1.09%2C1.66-.62%2C3.66-.93%2C4.97-.93s3.31%2C.31%2C4.97%2C.93c.83%2C.31%2C1.52%2C.68%2C2%2C1.09%2C.47%2C.41%2C.67%2C.8%2C.67%2C1.17v2.22H.7v-2.22Z%22%2F%3E%3C%2Fsvg%3E\")}.icon-user-status{display:inline-block}*{margin:0}body{background:#f7f7f7}body,th,td{font-family:Poppins,Poppins,sans-serif;font-size:14px}th{color:#0000008a;text-align:left}td{box-sizing:border-box;padding:10px 5px 10px 0}.content-box{margin:auto;position:relative;width:95%}.content-box table{width:100%}.edit-icon-td{width:50px;position:relative}.edit-icon-td button{position:absolute;top:4px}.mat-progress-spinner circle,.mat-spinner circle{stroke:gray!important}.data-loader{position:absolute;top:calc(50% - 25px);left:calc(50% - 25px)}.flex-box{display:flex;justify-content:flex-start}.spinner-container{width:100%;display:flex;justify-content:center;align-items:center}.spinner-container ::ng-deep .mat-progress-spinner circle,.mat-spinner circle{stroke:#000}.user-info-box{background:white;display:grid;grid-template-columns:30% 70%;border-radius:8px;border:rgba(0,0,0,.2) 1px solid;padding:24px;font-weight:400;font-size:14px}.user-info-box h3{display:block;font-weight:500;font-size:16px}.mat-divider{margin:5px 0!important}.info-boxes-container{padding:24px 0;display:flex;flex-direction:column;gap:24px}.header-box{height:60px;width:100%;line-height:60px;background:white;border-bottom:1px solid #dedddd}.header-box .header-back-block{float:left}.header-box .header-button-block{float:right}.webex-table{width:100%;margin:auto}.webex-table tr{border-bottom:1px solid #dedede}.webex-table th{background:#f7f7f7;color:#636363;font-size:12px}.webex-table td{background:#fff;color:#636363;font-size:14px}.webex-table tr:hover td{background:#ededed;cursor:pointer}.webex-table th.mat-header-cell,.webex-table td.mat-cell,.webex-table td.mat-footer-cell{border-bottom:1px solid #dedede}.webex-table tr.mat-header-row{height:37px}.mat-form-field{padding:0 0 5px;width:93%}.mat-form-field.mat-form-field-disabled{border-bottom:none}.mat-error{color:#c73636;margin:13px 0 0}.select-box{border-radius:30px;background:#F3F6F6;border:1px solid #E2E9EF;height:35px;position:relative}.select-box select{border:none!important;background:transparent;height:100%;width:92%;margin:auto;display:block}option:focus,option:focus-visible{border:none!important;outline:none!important}option{height:30px;cursor:pointer;color:#636363}option:hover{background:#ededed!important}.mat-select{height:100%!important}.info-holder,.input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__name,.input-holder__name{font-weight:500!important;font-size:14px!important}.info-holder__inputs .input-holder,.input-holder__inputs .input-holder{display:grid;grid-template-columns:30% 70%;align-items:baseline}.info-holder__inputs .input-holder__name,.input-holder__inputs .input-holder__name{font-weight:400!important;font-size:14px!important}table{border-collapse:collapse;border-spacing:0}.mat-form-field-appearance-outline .mat-form-field-infix{padding:0!important}.mat-divider{margin:12px 0}::ng-deep .mat-form-field-wrapper{height:30px}::ng-deep .mat-form-field-flex{height:30px}::ng-deep .mat-form-field-appearance-outline .mat-form-field-outline{height:35px}:ng-deep .mat-form-field-outline .mat-form-field-outline-thick{height:35px}::ng-deep .mat-select{line-height:20px}::ng-deep .mat-form-field-infix{border-top:0px!important}::ng-deep .mat-tab-group{font-family:Inter,sans-serif}::ng-deep .mat-tab-label{font-weight:500!important;font-size:16px!important;height:auto!important;min-width:auto!important;padding:0!important;opacity:1!important;color:#000!important}::ng-deep .mat-ink-bar{background-color:#000!important;height:3px!important}::ng-deep .mat-tab-labels{gap:30px}\n"] }]
|
|
54
54
|
}], ctorParameters: function () { return [{ type: i1.UserService }, { type: i2.DnsService }]; }, propDecorators: { control: [{
|
|
55
55
|
type: Input
|
|
56
56
|
}], routePartition: [{
|
|
@@ -62,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
62
62
|
}], onChange: [{
|
|
63
63
|
type: Output
|
|
64
64
|
}] } });
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1jYWxsaW5nLWV4dGVuc2lvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90dWtpL3dpZGdldHMvdXNlci1tYW5hZ2Uvc3JjL3VzZXItY2FsbGluZy91c2VyLWNhbGxpbmctZXh0ZW5zaW9uL3VzZXItY2FsbGluZy1leHRlbnNpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdHVraS93aWRnZXRzL3VzZXItbWFuYWdlL3NyYy91c2VyLWNhbGxpbmcvdXNlci1jYWxsaW5nLWV4dGVuc2lvbi91c2VyLWNhbGxpbmctZXh0ZW5zaW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7QUFXL0UsTUFBTSxPQUFPLDZCQUE2QjtJQVF4QyxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixhQUFhO1FBQ2IsT0FBTyxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDaEksQ0FBQztJQUdELFlBQ1MsV0FBd0IsRUFDdkIsVUFBc0I7UUFEdkIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDdkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWZ0QixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQWlCaEQsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFVO1FBQzdCLGdCQUFnQjtRQUNoQixZQUFZO1FBQ1osSUFBSTtRQUNKLHdFQUF3RTtRQUN4RSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFbkMsQ0FBQztJQUVPLE9BQU87UUFDYixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDeEMsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDO2FBQ3JFLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDekIsYUFBYTtnQkFDYixJQUFJLENBQUMsVUFBVSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2FBQ2xGO1lBQ0QsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDOzsySEFsRFUsNkJBQTZCOytHQUE3Qiw2QkFBNkIsNk5DWDFDLDRnQkFVQTs0RkRDYSw2QkFBNkI7a0JBTHpDLFNBQVM7K0JBQ0UsNEJBQTRCOzJIQUs3QixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2ltcGxpZmllZFVzZXIgfSBmcm9tICcuLi8uLi9jbGFzc2VzL3NpbXBsaWZpZWQtdXNlcic7XHJcbmltcG9ydCB7IFVzZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXNlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRG5zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Rucy5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXVzZXItY2FsbGluZy1leHRlbnNpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91c2VyLWNhbGxpbmctZXh0ZW5zaW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi91c2VyLWNhbGxpbmctZXh0ZW5zaW9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVc2VyQ2FsbGluZ0V4dGVuc2lvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgY29udHJvbCE6IEZvcm1Db250cm9sO1xyXG4gIEBJbnB1dCgpIHJvdXRlUGFydGl0aW9uITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGRpcmVjdG9yeU51bWJlciE6IHN0cmluZztcclxuICBASW5wdXQoKSBzaXRlSWQhOiBudW1iZXI7XHJcbiAgQE91dHB1dCgpIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgcHVibGljIGRhdGFQZW5kaW5nITogYm9vbGVhbjtcclxuXHJcbiAgZ2V0IHVzZXIoKTogU2ltcGxpZmllZFVzZXIge1xyXG4gICAgcmV0dXJuIHRoaXMudXNlclNlcnZpY2UudXNlcjtcclxuICB9XHJcblxyXG4gIGdldCBhdmFpbGFibGVOdW1iZXJzKCk6IGFueSB7XHJcbiAgICAvLyBAdHMtaWdub3JlXHJcbiAgICByZXR1cm4gdGhpcy5yb3V0ZVBhcnRpdGlvbiAmJiB0aGlzLmRuc1NlcnZpY2UuYXZhaWxhYmxlTnVtYmVycyA/IHRoaXMuZG5zU2VydmljZS5hdmFpbGFibGVOdW1iZXJzW3RoaXMucm91dGVQYXJ0aXRpb25dIDogbnVsbDtcclxuICB9XHJcblxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRuc1NlcnZpY2U6IERuc1NlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DaGFuZ2VGaWVsZChldmVudDogYW55KTogdm9pZCB7XHJcbiAgICAvLyBpZiAoIXRva2VuKSB7XHJcbiAgICAvLyAgIHJldHVybjtcclxuICAgIC8vIH1cclxuICAgIC8vICh0aGlzLnVzZXJTZXJ2aWNlLnVzZXIgYXMgYW55KVt0b2tlbl0gPSB0aGlzLmZvcm0/LmdldCh0b2tlbik/LnZhbHVlO1xyXG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KGV2ZW50Py52YWx1ZSk7XHJcblxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXREYXRhKCkge1xyXG4gICAgaWYgKCF0aGlzLnNpdGVJZCB8fCAhdGhpcy5yb3V0ZVBhcnRpdGlvbikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmRhdGFQZW5kaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuZG5zU2VydmljZS5nZXROdW1iZXJSYW5nZShTdHJpbmcodGhpcy5zaXRlSWQpLCB0aGlzLnJvdXRlUGFydGl0aW9uKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICBpZiAodGhpcy5hdmFpbGFibGVOdW1iZXJzKSB7XHJcbiAgICAgICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICAgICB0aGlzLmRuc1NlcnZpY2UuYXZhaWxhYmxlTnVtYmVyc1t0aGlzLnJvdXRlUGFydGl0aW9uXS5wdXNoKHRoaXMuZGlyZWN0b3J5TnVtYmVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5kYXRhUGVuZGluZyA9IGZhbHNlO1xyXG4gICAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cInRoaXMuYXZhaWxhYmxlTnVtYmVycz8ubGVuZ3RoXCIgY2xhc3M9XCJ1c2VyLWNhbGxpbmctZXh0ZW5zaW9uXCI+XHJcbiAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XHJcbiAgICA8bWF0LXNlbGVjdCBbZm9ybUNvbnRyb2xdPVwiY29udHJvbFwiIG5hbWU9XCJleHRlbnNpb25cIlxyXG4gICAgICAgICAgICAgICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJ0aGlzLm9uQ2hhbmdlRmllbGQoJGV2ZW50KVwiPlxyXG4gICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHRoaXMuYXZhaWxhYmxlTnVtYmVyczsgbGV0IGkgPSBpbmRleDtcIlt2YWx1ZV09XCJvcHRpb25cIj57e29wdGlvbn19PC9tYXQtb3B0aW9uPlxyXG4gICAgPC9tYXQtc2VsZWN0PlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gIDxtYXQtc3Bpbm5lciAqbmdJZj1cInRoaXMuZGF0YVBlbmRpbmdcIiBbZGlhbWV0ZXJdPVwiNTBcIj48L21hdC1zcGlubmVyPlxyXG48L2Rpdj5cclxuIl19
|