@c8y/ngx-components 1017.0.510 → 1017.0.511

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.
Files changed (33) hide show
  1. package/core/header/right-drawer/right-drawer.component.d.ts +22 -0
  2. package/core/shared/core.model.d.ts +22 -0
  3. package/device-grid/device-grid.service.d.ts +3 -4
  4. package/esm2020/core/action-bar/action-bar.component.mjs +10 -7
  5. package/esm2020/core/header/right-drawer/right-drawer.component.mjs +5 -3
  6. package/esm2020/core/shared/core.model.mjs +15 -0
  7. package/esm2020/device-grid/device-grid.service.mjs +6 -15
  8. package/esm2020/sensor-phone/sensor-phone-modal.component.mjs +26 -15
  9. package/esm2020/sensor-phone/sensor-phone.model.mjs +13 -0
  10. package/esm2020/sensor-phone/sensor-phone.service.mjs +5 -7
  11. package/esm2020/sub-assets/delete-assets-modal/delete-assets-modal.component.mjs +13 -3
  12. package/esm2020/sub-assets/shared/sub-assets.model.mjs +11 -0
  13. package/fesm2015/c8y-ngx-components-device-grid.mjs +4 -15
  14. package/fesm2015/c8y-ngx-components-device-grid.mjs.map +1 -1
  15. package/fesm2015/c8y-ngx-components-sensor-phone.mjs +40 -19
  16. package/fesm2015/c8y-ngx-components-sensor-phone.mjs.map +1 -1
  17. package/fesm2015/c8y-ngx-components-sub-assets.mjs +22 -2
  18. package/fesm2015/c8y-ngx-components-sub-assets.mjs.map +1 -1
  19. package/fesm2015/c8y-ngx-components.mjs +25 -7
  20. package/fesm2015/c8y-ngx-components.mjs.map +1 -1
  21. package/fesm2020/c8y-ngx-components-device-grid.mjs +4 -13
  22. package/fesm2020/c8y-ngx-components-device-grid.mjs.map +1 -1
  23. package/fesm2020/c8y-ngx-components-sensor-phone.mjs +40 -19
  24. package/fesm2020/c8y-ngx-components-sensor-phone.mjs.map +1 -1
  25. package/fesm2020/c8y-ngx-components-sub-assets.mjs +22 -2
  26. package/fesm2020/c8y-ngx-components-sub-assets.mjs.map +1 -1
  27. package/fesm2020/c8y-ngx-components.mjs +25 -7
  28. package/fesm2020/c8y-ngx-components.mjs.map +1 -1
  29. package/package.json +2 -2
  30. package/sensor-phone/sensor-phone.model.d.ts +18 -0
  31. package/sensor-phone/sensor-phone.service.d.ts +2 -3
  32. package/sub-assets/delete-assets-modal/delete-assets-modal.component.d.ts +1 -0
  33. package/sub-assets/shared/sub-assets.model.d.ts +15 -0
@@ -9,6 +9,28 @@ export declare class RightDrawerComponent {
9
9
  appState: AppStateService;
10
10
  userMenuService: UserMenuService;
11
11
  private options;
12
+ PRODUCT_EXPERIENCE: {
13
+ ACTION_BAR: {
14
+ EVENTS: {
15
+ ACTION_BAR_ITEM: string;
16
+ };
17
+ COMPONENTS: {
18
+ ACTION_BAR_COMPONENT: string;
19
+ };
20
+ ACTIONS: {};
21
+ RESULTS: {};
22
+ };
23
+ QUICK_LINKS: {
24
+ EVENTS: {
25
+ QUICK_LINK_RIGHT_DRAWER: string;
26
+ };
27
+ COMPONENTS: {
28
+ RIGHT_DRAWER_COMPONENT: string;
29
+ };
30
+ ACTIONS: {};
31
+ RESULTS: {};
32
+ };
33
+ };
12
34
  set _quickLinks(data: any[]);
13
35
  set _helpAndSupport(data: any[]);
14
36
  app: any;
@@ -0,0 +1,22 @@
1
+ export declare const PRODUCT_EXPERIENCE: {
2
+ ACTION_BAR: {
3
+ EVENTS: {
4
+ ACTION_BAR_ITEM: string;
5
+ };
6
+ COMPONENTS: {
7
+ ACTION_BAR_COMPONENT: string;
8
+ };
9
+ ACTIONS: {};
10
+ RESULTS: {};
11
+ };
12
+ QUICK_LINKS: {
13
+ EVENTS: {
14
+ QUICK_LINK_RIGHT_DRAWER: string;
15
+ };
16
+ COMPONENTS: {
17
+ RIGHT_DRAWER_COMPONENT: string;
18
+ };
19
+ ACTIONS: {};
20
+ RESULTS: {};
21
+ };
22
+ };
@@ -1,5 +1,5 @@
1
1
  import { IManagedObject, InventoryService, UserService } from '@c8y/client';
2
- import { ActionControl, AlertService, BulkActionControl, Column, DataGridService, GainsightService, GridConfig, HeaderActionControl, ModalService, Pagination, UserPreferencesService } from '@c8y/ngx-components';
2
+ import { ActionControl, AlertService, BulkActionControl, Column, DataGridService, GridConfig, HeaderActionControl, ModalService, Pagination, UserPreferencesService } from '@c8y/ngx-components';
3
3
  import { TranslateService } from '@ngx-translate/core';
4
4
  import { Observable } from 'rxjs';
5
5
  import { ColumnUtilService } from './columns/column-util.service';
@@ -12,9 +12,8 @@ export declare class DeviceGridService extends DataGridService {
12
12
  protected modal: ModalService;
13
13
  protected columnUtilService: ColumnUtilService;
14
14
  protected userPreferencesService: UserPreferencesService;
15
- protected gainsightService?: GainsightService;
16
15
  protected GRID_CONFIG_DEFAULT_STORAGE_KEY: string;
17
- constructor(inventoryService: InventoryService, userService: UserService, translateService: TranslateService, alertService: AlertService, modal: ModalService, columnUtilService: ColumnUtilService, userPreferencesService: UserPreferencesService, gainsightService?: GainsightService);
16
+ constructor(inventoryService: InventoryService, userService: UserService, translateService: TranslateService, alertService: AlertService, modal: ModalService, columnUtilService: ColumnUtilService, userPreferencesService: UserPreferencesService);
18
17
  getDefaultColumns(): Column[];
19
18
  getChildDeviceGridColumns(): Column[];
20
19
  getDefaultPagination(): Pagination;
@@ -48,6 +47,6 @@ export declare class DeviceGridService extends DataGridService {
48
47
  getConfig$(key?: string): Observable<GridConfig>;
49
48
  saveConfig$(config: GridConfig, key?: string): Observable<GridConfig>;
50
49
  private getDevicesFilters;
51
- static ɵfac: i0.ɵɵFactoryDeclaration<DeviceGridService, [null, null, null, null, null, null, null, { optional: true; }]>;
50
+ static ɵfac: i0.ɵɵFactoryDeclaration<DeviceGridService, never>;
52
51
  static ɵprov: i0.ɵɵInjectableDeclaration<DeviceGridService>;
53
52
  }
@@ -1,6 +1,7 @@
1
+ import { PRODUCT_EXPERIENCE } from '../shared/core.model';
1
2
  import { Component, HostBinding, HostListener, Input } from '@angular/core';
2
3
  import { filter, sortBy } from 'lodash-es';
3
- import { Observable, of, Subject } from 'rxjs';
4
+ import { Observable, Subject, of } from 'rxjs';
4
5
  import { map, takeUntil } from 'rxjs/operators';
5
6
  import { GainsightService } from '../product-experience/gainsight.service';
6
7
  import * as i0 from "@angular/core";
@@ -72,15 +73,17 @@ export class ActionBarComponent {
72
73
  return;
73
74
  }
74
75
  const element = event.closest('[px-event]') || event.closest('[title]') || event.closest('[uib-tooltip]');
75
- if (!element) {
76
+ if (!element || element.getAttribute('disabled')) {
76
77
  return;
77
78
  }
78
- const eventName = element.getAttribute('px-event') ||
79
+ const itemName = element.getAttribute('px-event') ||
79
80
  element.getAttribute('title') ||
80
81
  element.getAttribute('uib-tooltip');
81
- const translatedEventName = this.gainsightService.translateToEnglish(eventName);
82
- this.gainsightService.triggerEvent(`actionBarItem:${translatedEventName}`, {
83
- url: element.baseURI
82
+ const translatedItemName = this.gainsightService.translateToEnglish(itemName);
83
+ this.gainsightService.triggerEvent(PRODUCT_EXPERIENCE.ACTION_BAR.EVENTS.ACTION_BAR_ITEM, {
84
+ component: PRODUCT_EXPERIENCE.ACTION_BAR.COMPONENTS.ACTION_BAR_COMPONENT,
85
+ action: `${translatedItemName}`,
86
+ url: location.href
84
87
  });
85
88
  }
86
89
  ngOnInit() {
@@ -133,4 +136,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
133
136
  type: HostListener,
134
137
  args: ['mousedown', ['$event.target']]
135
138
  }] } });
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2FjdGlvbi1iYXIvYWN0aW9uLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL2FjdGlvbi1iYXIvYWN0aW9uLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7O0FBRzNFOzs7R0FHRztBQU1ILE1BQU0sT0FBTyxrQkFBa0I7SUE4RDdCLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBN0R0RDs7O1dBR0c7UUFDMkMsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFFcEU7OztXQUdHO1FBQ3FDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFeEQ7OztXQUdHO1FBQzRDLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUV4RTs7V0FFRztRQUNILDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQUU5Qjs7V0FFRztRQUNxQyxnQkFBVyxHQUFHLElBQUksQ0FBQztRQUUzRDs7V0FFRztRQUNNLFdBQU0sR0FBZ0MsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXREOztXQUVHO1FBQ0gsV0FBTSxHQUFnQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFN0M7O1dBRUc7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R0FBRyxNQUFNLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8sVUFBVSxDQUFDLElBQUk7UUFDckIsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDeEIsQ0FBQzs7K0dBdkhVLGtCQUFrQjttR0FBbEIsa0JBQWtCLCtlQ2hCL0IsNnVFQWlEQTsyRkRqQ2Esa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGdCQUFnQixRQUVwQixFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRTt1R0FPVSxhQUFhO3NCQUExRCxLQUFLOztzQkFBSSxXQUFXO3VCQUFDLHNCQUFzQjtnQkFNSixPQUFPO3NCQUE5QyxLQUFLOztzQkFBSSxXQUFXO3VCQUFDLGdCQUFnQjtnQkFNUyxnQkFBZ0I7c0JBQTlELEtBQUs7O3NCQUFJLFdBQVc7dUJBQUMsdUJBQXVCO2dCQVVMLFdBQVc7c0JBQWxELFdBQVc7dUJBQUMseUJBQXlCO2dCQUs3QixNQUFNO3NCQUFkLEtBQUs7Z0JBMEJOLE1BQU07c0JBREwsV0FBVztnQkFRWixTQUFTO3NCQURSLFlBQVk7dUJBQUMsV0FBVyxFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSG9zdExpc3RlbmVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZpbHRlciwgc29ydEJ5IH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEdhaW5zaWdodFNlcnZpY2UgfSBmcm9tICcuLi9wcm9kdWN0LWV4cGVyaWVuY2UvZ2FpbnNpZ2h0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aW9uQmFySXRlbSB9IGZyb20gJy4vYWN0aW9uLWJhci5tb2RlbCc7XG5cbi8qKlxuICogVGhpcyBjb21wb25lbnQgaXMgdXNlZCBhcyB0aGUgb3V0bGV0IHRvIHNob3cgdGhlIGFjdGlvbiBiYXJzLlxuICogSW4gYSBjOHljbGkgYXBwIGl0IGlzIGJ5IGRlZmF1bHQgcGxhY2VkIG9uIHRoZSBib290c3RyYXAgY29tcG9uZW50LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktYWN0aW9uLWJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb24tYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgaG9zdDogeyBjbGFzczogJ2M4eS11aS1hY3Rpb24tYmFyJyB9XG59KVxuZXhwb3J0IGNsYXNzIEFjdGlvbkJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIElkZW50aWZpZXMgaWYgdGhlIG5hdmlnYXRvciBpcyBvcGVuZWQuIElmIHllcywgdGhlIGFjdGlvbi1iYXJcbiAgICogbmVlZHMgdG8gbW92ZSB0byB0aGUgcmlnaHQuXG4gICAqL1xuICBASW5wdXQoKSBASG9zdEJpbmRpbmcoJ2NsYXNzLm5hdmlnYXRvci1vcGVuJykgbmF2aWdhdG9yT3BlbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJZGVudGlmaWVzIGlmIHRoZSBjdXJyZW50IHZpZXcgaGFzIHRhYnMuIElmIHllcywgdGhlIGFjdGlvbiBiYXIgbmVlZHNcbiAgICogdG8gbW92ZSBkb3duLlxuICAgKi9cbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdjbGFzcy5oYXMtdGFicycpIGhhc1RhYnMgPSBmYWxzZTtcblxuICAvKipcbiAgICogSWRlbnRpZmllcyBpZiB0aGUgdGFicyBhcmUgYWxpZ25lZCBob3Jpem9udGFsbHkuIElmIHllcywgdGhlIHRhYnMgZG9uJ3RcbiAgICogbmVlZCB0byBtb3ZlIHRvIHRoZSBsZWZ0LlxuICAgKi9cbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdjbGFzcy5ob3Jpem9udGFsLXRhYnMnKSBpc1RhYnNIb3Jpem9udGFsID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIElkZW50aWZpZXMgaWYgaW4gYSBtb2JpbGUgdmlldyB0aGUgdG9vbGJhciBpcyBleHBhbmRlZCBvciBub3QuXG4gICAqL1xuICBpc1BhZ2VUb29sYmFyRXhwYW5kZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogQWRkcyB0aGUgZGVmYXVsdCBgYzh5LXVpLWFjdGlvbi1iYXJgIGNsYXNzLlxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jOHktdWktYWN0aW9uLWJhcicpIHVpQWN0aW9uQmFyID0gdHJ1ZTtcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgaXRlbXMgdG8gZGlzcGxheSBpbiB0aGUgQWN0aW9uQmFyLlxuICAgKi9cbiAgQElucHV0KCkgaXRlbXMkOiBPYnNlcnZhYmxlPEFjdGlvbkJhckl0ZW1bXT4gPSBvZihbXSk7XG5cbiAgLyoqXG4gICAqIFByb3ZpZGVzIG9ic2VydmFibGUgZm9yIHJpZ2h0IGFjdGlvbiBpdGVtcy5cbiAgICovXG4gIHJpZ2h0JDogT2JzZXJ2YWJsZTxBY3Rpb25CYXJJdGVtW10+ID0gb2YoW10pO1xuXG4gIC8qKlxuICAgKiBQcm92aWRlcyBvYnNlcnZhYmxlIGZvciBsZWZ0IGFjdGlvbiBpdGVtcy5cbiAgICovXG4gIGxlZnQkOiBPYnNlcnZhYmxlPEFjdGlvbkJhckl0ZW1bXT4gPSBvZihbXSk7XG5cbiAgLyoqXG4gICAqIFByb3ZpZGVzIG9ic2VydmFibGUgZm9yIG1vcmUgYWN0aW9uIGl0ZW1zLlxuICAgKi9cbiAgbW9yZSQ6IE9ic2VydmFibGU8QWN0aW9uQmFySXRlbVtdPiA9IG9mKFtdKTtcblxuICAvKipcbiAgICogUmV0dXJucyB0cnVlIGlmIG5vIGl0ZW1zIGFyZSBwcmVzZW50IGFuZCBoaWRlcyB0aGUgYWN0aW9uIGJhci5cbiAgICovXG4gIGhpZGRlbiQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSBvZih0cnVlKTtcblxuICAvKipcbiAgICogQmluZHMgaGlkZGVuIHByb3BlcnR5IHRvIHRoaXMgY29tcG9uZW50J3MgbmF0aXZlIGVsZW1lbnRcbiAgICovXG4gIEBIb3N0QmluZGluZygpXG4gIGhpZGRlbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGdhaW5zaWdodFNlcnZpY2U6IEdhaW5zaWdodFNlcnZpY2UpIHt9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2Vkb3duJywgWyckZXZlbnQudGFyZ2V0J10pXG4gIG1vdXNlRG93bihldmVudDogSFRNTEVsZW1lbnQpIHtcbiAgICBpZiAoZXZlbnQuZ2V0QXR0cmlidXRlKCdpZCcpID09PSAncGFnZS10b29sYmFyJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBlbGVtZW50ID1cbiAgICAgIGV2ZW50LmNsb3Nlc3QoJ1tweC1ldmVudF0nKSB8fCBldmVudC5jbG9zZXN0KCdbdGl0bGVdJykgfHwgZXZlbnQuY2xvc2VzdCgnW3VpYi10b29sdGlwXScpO1xuICAgIGlmICghZWxlbWVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBldmVudE5hbWUgPVxuICAgICAgZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3B4LWV2ZW50JykgfHxcbiAgICAgIGVsZW1lbnQuZ2V0QXR0cmlidXRlKCd0aXRsZScpIHx8XG4gICAgICBlbGVtZW50LmdldEF0dHJpYnV0ZSgndWliLXRvb2x0aXAnKTtcbiAgICBjb25zdCB0cmFuc2xhdGVkRXZlbnROYW1lID0gdGhpcy5nYWluc2lnaHRTZXJ2aWNlLnRyYW5zbGF0ZVRvRW5nbGlzaChldmVudE5hbWUpO1xuXG4gICAgdGhpcy5nYWluc2lnaHRTZXJ2aWNlLnRyaWdnZXJFdmVudChgYWN0aW9uQmFySXRlbToke3RyYW5zbGF0ZWRFdmVudE5hbWV9YCwge1xuICAgICAgdXJsOiBlbGVtZW50LmJhc2VVUklcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucmlnaHQkID0gdGhpcy5pdGVtcyQucGlwZShcbiAgICAgIG1hcChpdGVtcyA9PiBmaWx0ZXIoaXRlbXMsIHsgcGxhY2VtZW50OiAncmlnaHQnIH0pKSxcbiAgICAgIG1hcChpdGVtcyA9PiBzb3J0QnkoaXRlbXMsIHRoaXMuYnlQcmlvcml0eSkpXG4gICAgKTtcblxuICAgIHRoaXMubGVmdCQgPSB0aGlzLml0ZW1zJC5waXBlKFxuICAgICAgbWFwKGl0ZW1zID0+IGZpbHRlcihpdGVtcywgeyBwbGFjZW1lbnQ6ICdsZWZ0JyB9KSksXG4gICAgICBtYXAoaXRlbXMgPT4gc29ydEJ5KGl0ZW1zLCB0aGlzLmJ5UHJpb3JpdHkpKVxuICAgICk7XG5cbiAgICB0aGlzLm1vcmUkID0gdGhpcy5pdGVtcyQucGlwZShcbiAgICAgIG1hcChpdGVtcyA9PiBmaWx0ZXIoaXRlbXMsIHsgcGxhY2VtZW50OiAnbW9yZScgfSkpLFxuICAgICAgbWFwKGl0ZW1zID0+IHNvcnRCeShpdGVtcywgdGhpcy5ieVByaW9yaXR5KSlcbiAgICApO1xuXG4gICAgdGhpcy5oaWRkZW4kID0gdGhpcy5pdGVtcyQucGlwZShcbiAgICAgIG1hcChpdGVtcyA9PiB7XG4gICAgICAgIHJldHVybiAhKGl0ZW1zICYmIGl0ZW1zLmxlbmd0aCk7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICB0aGlzLmhpZGRlbiQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZShoaWRkZW4gPT4ge1xuICAgICAgdGhpcy5oaWRkZW4gPSBoaWRkZW47XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGJ5UHJpb3JpdHkoaXRlbSkge1xuICAgIHJldHVybiAtaXRlbS5wcmlvcml0eTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm5hdmJhci1oZWFkZXJcIiByb2xlPVwicHJlc2VudGF0aW9uXCI+XG4gIDxwIGNsYXNzPVwidGV4dC1sYWJlbC1zbWFsbCBwLWwtMTYgcC10LTggcC1iLTggdmlzaWJsZS14c1wiPlxuICAgIDxzcGFuIGNsYXNzPVwidGV4dC1wcmltYXJ5XCI+e3sgJ0FjdGlvbiBiYXInIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICA8L3A+XG48L2Rpdj5cblxuPGRpdiBpZD1cInBhZ2UtdG9vbGJhclwiIGNsYXNzPVwibmF2YmFyLWNvbGxhcHNlXCIgcm9sZT1cImNvbXBsZW1lbnRhcnlcIiA+XG4gIDx1bCBjbGFzcz1cIm5hdiBuYXZiYXItbmF2IG5hdmJhci1sZWZ0XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsZWZ0JCB8IGFzeW5jXCI+XG4gICAgICA8bmctY29udGFpbmVyICpjOHlPdXRsZXQ9XCJpdGVtLmNvbXBvbmVudCB8fCBpdGVtLnRlbXBsYXRlOyBpbmplY3RvcjogaXRlbS5pbmplY3RvclwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L3VsPlxuICA8dWwgY2xhc3M9XCJuYXYgbmF2YmFyLW5hdiBuYXZiYXItcmlnaHRcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHJpZ2h0JCB8IGFzeW5jXCI+XG4gICAgICA8bmctY29udGFpbmVyICpjOHlPdXRsZXQ9XCJpdGVtLmNvbXBvbmVudCB8fCBpdGVtLnRlbXBsYXRlOyBpbmplY3RvcjogaXRlbS5pbmplY3RvclwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxsaSAqbmdJZj1cIihtb3JlJCB8IGFzeW5jKS5sZW5ndGggPT09IDE7IGVsc2UgbW9yZVdpdGhNdWx0aXBsZU9wdGlvbnNcIiBjbGFzcz1cIm5vLXJlbW92ZSBtb3JlLXdyYXBwZXJcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbW9yZSQgfCBhc3luY1wiPlxuICAgICAgICA8bmctY29udGFpbmVyICpjOHlPdXRsZXQ9XCJpdGVtLmNvbXBvbmVudCB8fCBpdGVtLnRlbXBsYXRlOyBpbmplY3RvcjogaXRlbS5pbmplY3RvclwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9saT5cbiAgICA8bmctdGVtcGxhdGUgI21vcmVXaXRoTXVsdGlwbGVPcHRpb25zPlxuICAgICAgPGxpIGNsYXNzPVwibm8tcmVtb3ZlIG1vcmUtd3JhcHBlclwiICpuZ0lmPVwiKG1vcmUkIHwgYXN5bmMpLmxlbmd0aCA+IDFcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duXCIgZHJvcGRvd24+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdGl0bGU9XCJ7eyAnTW9yZeKApicgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cImRyb3Bkb3duLXRvZ2dsZSBjOHktZHJvcGRvd24gZC1mbGV4XCJcbiAgICAgICAgICAgIGRyb3Bkb3duVG9nZ2xlXG4gICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXRydW5jYXRlXCIgdHJhbnNsYXRlPk1vcmXigKY8L3NwYW4+XG4gICAgICAgICAgICA8aSBbYzh5SWNvbl09XCInY2FyZXQtZG93bidcIj48L2k+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPHVsIGNsYXNzPVwiZHJvcGRvd24tbWVudSB2aXNpYmxlLXhzXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIG1vcmUkIHwgYXN5bmNcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqYzh5T3V0bGV0PVwiaXRlbS5jb21wb25lbnQgfHwgaXRlbS50ZW1wbGF0ZTsgaW5qZWN0b3I6IGl0ZW0uaW5qZWN0b3JcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgPHVsIGNsYXNzPVwiZHJvcGRvd24tbWVudSBkcm9wZG93bi1tZW51LXJpZ2h0IGhpZGRlbi14c1wiICpkcm9wZG93bk1lbnU+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIG1vcmUkIHwgYXN5bmNcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqYzh5T3V0bGV0PVwiaXRlbS5jb21wb25lbnQgfHwgaXRlbS50ZW1wbGF0ZTsgaW5qZWN0b3I6IGl0ZW0uaW5qZWN0b3JcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9saT5cbiAgICA8L25nLXRlbXBsYXRlPiAgICBcbiAgPC91bD5cbjwvZGl2PlxuIl19
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2FjdGlvbi1iYXIvYWN0aW9uLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL2FjdGlvbi1iYXIvYWN0aW9uLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7Ozs7Ozs7O0FBRzNFOzs7R0FHRztBQU1ILE1BQU0sT0FBTyxrQkFBa0I7SUE4RDdCLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBN0R0RDs7O1dBR0c7UUFDMkMsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFFcEU7OztXQUdHO1FBQ3FDLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFeEQ7OztXQUdHO1FBQzRDLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUV4RTs7V0FFRztRQUNILDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQUU5Qjs7V0FFRztRQUNxQyxnQkFBVyxHQUFHLElBQUksQ0FBQztRQUUzRDs7V0FFRztRQUNNLFdBQU0sR0FBZ0MsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXREOztXQUVHO1FBQ0gsV0FB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Q0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUNILENBQUM7UUFFRixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQzdELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVPLFVBQVUsQ0FBQyxJQUFJO1FBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3hCLENBQUM7OytHQTFIVSxrQkFBa0I7bUdBQWxCLGtCQUFrQiwrZUNqQi9CLDZ1RUFpREE7MkZEaENhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxnQkFBZ0IsUUFFcEIsRUFBRSxLQUFLLEVBQUUsbUJBQW1CLEVBQUU7dUdBT1UsYUFBYTtzQkFBMUQsS0FBSzs7c0JBQUksV0FBVzt1QkFBQyxzQkFBc0I7Z0JBTUosT0FBTztzQkFBOUMsS0FBSzs7c0JBQUksV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBTVMsZ0JBQWdCO3NCQUE5RCxLQUFLOztzQkFBSSxXQUFXO3VCQUFDLHVCQUF1QjtnQkFVTCxXQUFXO3NCQUFsRCxXQUFXO3VCQUFDLHlCQUF5QjtnQkFLN0IsTUFBTTtzQkFBZCxLQUFLO2dCQTBCTixNQUFNO3NCQURMLFdBQVc7Z0JBUVosU0FBUztzQkFEUixZQUFZO3VCQUFDLFdBQVcsRUFBRSxDQUFDLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBST0RVQ1RfRVhQRVJJRU5DRSB9IGZyb20gJy4uL3NoYXJlZC9jb3JlLm1vZGVsJztcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmaWx0ZXIsIHNvcnRCeSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBHYWluc2lnaHRTZXJ2aWNlIH0gZnJvbSAnLi4vcHJvZHVjdC1leHBlcmllbmNlL2dhaW5zaWdodC5zZXJ2aWNlJztcbmltcG9ydCB7IEFjdGlvbkJhckl0ZW0gfSBmcm9tICcuL2FjdGlvbi1iYXIubW9kZWwnO1xuXG4vKipcbiAqIFRoaXMgY29tcG9uZW50IGlzIHVzZWQgYXMgdGhlIG91dGxldCB0byBzaG93IHRoZSBhY3Rpb24gYmFycy5cbiAqIEluIGEgYzh5Y2xpIGFwcCBpdCBpcyBieSBkZWZhdWx0IHBsYWNlZCBvbiB0aGUgYm9vdHN0cmFwIGNvbXBvbmVudC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWFjdGlvbi1iYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLWJhci5jb21wb25lbnQuaHRtbCcsXG4gIGhvc3Q6IHsgY2xhc3M6ICdjOHktdWktYWN0aW9uLWJhcicgfVxufSlcbmV4cG9ydCBjbGFzcyBBY3Rpb25CYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIC8qKlxuICAgKiBJZGVudGlmaWVzIGlmIHRoZSBuYXZpZ2F0b3IgaXMgb3BlbmVkLiBJZiB5ZXMsIHRoZSBhY3Rpb24tYmFyXG4gICAqIG5lZWRzIHRvIG1vdmUgdG8gdGhlIHJpZ2h0LlxuICAgKi9cbiAgQElucHV0KCkgQEhvc3RCaW5kaW5nKCdjbGFzcy5uYXZpZ2F0b3Itb3BlbicpIG5hdmlnYXRvck9wZW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogSWRlbnRpZmllcyBpZiB0aGUgY3VycmVudCB2aWV3IGhhcyB0YWJzLiBJZiB5ZXMsIHRoZSBhY3Rpb24gYmFyIG5lZWRzXG4gICAqIHRvIG1vdmUgZG93bi5cbiAgICovXG4gIEBJbnB1dCgpIEBIb3N0QmluZGluZygnY2xhc3MuaGFzLXRhYnMnKSBoYXNUYWJzID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIElkZW50aWZpZXMgaWYgdGhlIHRhYnMgYXJlIGFsaWduZWQgaG9yaXpvbnRhbGx5LiBJZiB5ZXMsIHRoZSB0YWJzIGRvbid0XG4gICAqIG5lZWQgdG8gbW92ZSB0byB0aGUgbGVmdC5cbiAgICovXG4gIEBJbnB1dCgpIEBIb3N0QmluZGluZygnY2xhc3MuaG9yaXpvbnRhbC10YWJzJykgaXNUYWJzSG9yaXpvbnRhbCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJZGVudGlmaWVzIGlmIGluIGEgbW9iaWxlIHZpZXcgdGhlIHRvb2xiYXIgaXMgZXhwYW5kZWQgb3Igbm90LlxuICAgKi9cbiAgaXNQYWdlVG9vbGJhckV4cGFuZGVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEFkZHMgdGhlIGRlZmF1bHQgYGM4eS11aS1hY3Rpb24tYmFyYCBjbGFzcy5cbiAgICovXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYzh5LXVpLWFjdGlvbi1iYXInKSB1aUFjdGlvbkJhciA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IGl0ZW1zIHRvIGRpc3BsYXkgaW4gdGhlIEFjdGlvbkJhci5cbiAgICovXG4gIEBJbnB1dCgpIGl0ZW1zJDogT2JzZXJ2YWJsZTxBY3Rpb25CYXJJdGVtW10+ID0gb2YoW10pO1xuXG4gIC8qKlxuICAgKiBQcm92aWRlcyBvYnNlcnZhYmxlIGZvciByaWdodCBhY3Rpb24gaXRlbXMuXG4gICAqL1xuICByaWdodCQ6IE9ic2VydmFibGU8QWN0aW9uQmFySXRlbVtdPiA9IG9mKFtdKTtcblxuICAvKipcbiAgICogUHJvdmlkZXMgb2JzZXJ2YWJsZSBmb3IgbGVmdCBhY3Rpb24gaXRlbXMuXG4gICAqL1xuICBsZWZ0JDogT2JzZXJ2YWJsZTxBY3Rpb25CYXJJdGVtW10+ID0gb2YoW10pO1xuXG4gIC8qKlxuICAgKiBQcm92aWRlcyBvYnNlcnZhYmxlIGZvciBtb3JlIGFjdGlvbiBpdGVtcy5cbiAgICovXG4gIG1vcmUkOiBPYnNlcnZhYmxlPEFjdGlvbkJhckl0ZW1bXT4gPSBvZihbXSk7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiBubyBpdGVtcyBhcmUgcHJlc2VudCBhbmQgaGlkZXMgdGhlIGFjdGlvbiBiYXIuXG4gICAqL1xuICBoaWRkZW4kOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gb2YodHJ1ZSk7XG5cbiAgLyoqXG4gICAqIEJpbmRzIGhpZGRlbiBwcm9wZXJ0eSB0byB0aGlzIGNvbXBvbmVudCdzIG5hdGl2ZSBlbGVtZW50XG4gICAqL1xuICBASG9zdEJpbmRpbmcoKVxuICBoaWRkZW46IGJvb2xlYW4gPSB0cnVlO1xuXG4gIHByaXZhdGUgZGVzdHJveSQ6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBnYWluc2lnaHRTZXJ2aWNlOiBHYWluc2lnaHRTZXJ2aWNlKSB7fVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicsIFsnJGV2ZW50LnRhcmdldCddKVxuICBtb3VzZURvd24oZXZlbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgaWYgKGV2ZW50LmdldEF0dHJpYnV0ZSgnaWQnKSA9PT0gJ3BhZ2UtdG9vbGJhcicpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZWxlbWVudCA9XG4gICAgICBldmVudC5jbG9zZXN0KCdbcHgtZXZlbnRdJykgfHwgZXZlbnQuY2xvc2VzdCgnW3RpdGxlXScpIHx8IGV2ZW50LmNsb3Nlc3QoJ1t1aWItdG9vbHRpcF0nKTtcbiAgICBpZiAoIWVsZW1lbnQgfHwgZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2Rpc2FibGVkJykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpdGVtTmFtZSA9XG4gICAgICBlbGVtZW50LmdldEF0dHJpYnV0ZSgncHgtZXZlbnQnKSB8fFxuICAgICAgZWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3RpdGxlJykgfHxcbiAgICAgIGVsZW1lbnQuZ2V0QXR0cmlidXRlKCd1aWItdG9vbHRpcCcpO1xuICAgIGNvbnN0IHRyYW5zbGF0ZWRJdGVtTmFtZSA9IHRoaXMuZ2FpbnNpZ2h0U2VydmljZS50cmFuc2xhdGVUb0VuZ2xpc2goaXRlbU5hbWUpO1xuXG4gICAgdGhpcy5nYWluc2lnaHRTZXJ2aWNlLnRyaWdnZXJFdmVudChQUk9EVUNUX0VYUEVSSUVOQ0UuQUNUSU9OX0JBUi5FVkVOVFMuQUNUSU9OX0JBUl9JVEVNLCB7XG4gICAgICBjb21wb25lbnQ6IFBST0RVQ1RfRVhQRVJJRU5DRS5BQ1RJT05fQkFSLkNPTVBPTkVOVFMuQUNUSU9OX0JBUl9DT01QT05FTlQsXG4gICAgICBhY3Rpb246IGAke3RyYW5zbGF0ZWRJdGVtTmFtZX1gLFxuICAgICAgdXJsOiBsb2NhdGlvbi5ocmVmXG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnJpZ2h0JCA9IHRoaXMuaXRlbXMkLnBpcGUoXG4gICAgICBtYXAoaXRlbXMgPT4gZmlsdGVyKGl0ZW1zLCB7IHBsYWNlbWVudDogJ3JpZ2h0JyB9KSksXG4gICAgICBtYXAoaXRlbXMgPT4gc29ydEJ5KGl0ZW1zLCB0aGlzLmJ5UHJpb3JpdHkpKVxuICAgICk7XG5cbiAgICB0aGlzLmxlZnQkID0gdGhpcy5pdGVtcyQucGlwZShcbiAgICAgIG1hcChpdGVtcyA9PiBmaWx0ZXIoaXRlbXMsIHsgcGxhY2VtZW50OiAnbGVmdCcgfSkpLFxuICAgICAgbWFwKGl0ZW1zID0+IHNvcnRCeShpdGVtcywgdGhpcy5ieVByaW9yaXR5KSlcbiAgICApO1xuXG4gICAgdGhpcy5tb3JlJCA9IHRoaXMuaXRlbXMkLnBpcGUoXG4gICAgICBtYXAoaXRlbXMgPT4gZmlsdGVyKGl0ZW1zLCB7IHBsYWNlbWVudDogJ21vcmUnIH0pKSxcbiAgICAgIG1hcChpdGVtcyA9PiBzb3J0QnkoaXRlbXMsIHRoaXMuYnlQcmlvcml0eSkpXG4gICAgKTtcblxuICAgIHRoaXMuaGlkZGVuJCA9IHRoaXMuaXRlbXMkLnBpcGUoXG4gICAgICBtYXAoaXRlbXMgPT4ge1xuICAgICAgICByZXR1cm4gIShpdGVtcyAmJiBpdGVtcy5sZW5ndGgpO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgdGhpcy5oaWRkZW4kLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoaGlkZGVuID0+IHtcbiAgICAgIHRoaXMuaGlkZGVuID0gaGlkZGVuO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBieVByaW9yaXR5KGl0ZW0pIHtcbiAgICByZXR1cm4gLWl0ZW0ucHJpb3JpdHk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJuYXZiYXItaGVhZGVyXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPlxuICA8cCBjbGFzcz1cInRleHQtbGFiZWwtc21hbGwgcC1sLTE2IHAtdC04IHAtYi04IHZpc2libGUteHNcIj5cbiAgICA8c3BhbiBjbGFzcz1cInRleHQtcHJpbWFyeVwiPnt7ICdBY3Rpb24gYmFyJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgPC9wPlxuPC9kaXY+XG5cbjxkaXYgaWQ9XCJwYWdlLXRvb2xiYXJcIiBjbGFzcz1cIm5hdmJhci1jb2xsYXBzZVwiIHJvbGU9XCJjb21wbGVtZW50YXJ5XCIgPlxuICA8dWwgY2xhc3M9XCJuYXYgbmF2YmFyLW5hdiBuYXZiYXItbGVmdFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgbGVmdCQgfCBhc3luY1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqYzh5T3V0bGV0PVwiaXRlbS5jb21wb25lbnQgfHwgaXRlbS50ZW1wbGF0ZTsgaW5qZWN0b3I6IGl0ZW0uaW5qZWN0b3JcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC91bD5cbiAgPHVsIGNsYXNzPVwibmF2IG5hdmJhci1uYXYgbmF2YmFyLXJpZ2h0XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiByaWdodCQgfCBhc3luY1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqYzh5T3V0bGV0PVwiaXRlbS5jb21wb25lbnQgfHwgaXRlbS50ZW1wbGF0ZTsgaW5qZWN0b3I6IGl0ZW0uaW5qZWN0b3JcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bGkgKm5nSWY9XCIobW9yZSQgfCBhc3luYykubGVuZ3RoID09PSAxOyBlbHNlIG1vcmVXaXRoTXVsdGlwbGVPcHRpb25zXCIgY2xhc3M9XCJuby1yZW1vdmUgbW9yZS13cmFwcGVyXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIG1vcmUkIHwgYXN5bmNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqYzh5T3V0bGV0PVwiaXRlbS5jb21wb25lbnQgfHwgaXRlbS50ZW1wbGF0ZTsgaW5qZWN0b3I6IGl0ZW0uaW5qZWN0b3JcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbGk+XG4gICAgPG5nLXRlbXBsYXRlICNtb3JlV2l0aE11bHRpcGxlT3B0aW9ucz5cbiAgICAgIDxsaSBjbGFzcz1cIm5vLXJlbW92ZSBtb3JlLXdyYXBwZXJcIiAqbmdJZj1cIihtb3JlJCB8IGFzeW5jKS5sZW5ndGggPiAxXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkcm9wZG93blwiIGRyb3Bkb3duPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHRpdGxlPVwie3sgJ01vcmXigKYnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJkcm9wZG93bi10b2dnbGUgYzh5LWRyb3Bkb3duIGQtZmxleFwiXG4gICAgICAgICAgICBkcm9wZG93blRvZ2dsZVxuICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC10cnVuY2F0ZVwiIHRyYW5zbGF0ZT5Nb3Jl4oCmPC9zcGFuPlxuICAgICAgICAgICAgPGkgW2M4eUljb25dPVwiJ2NhcmV0LWRvd24nXCI+PC9pPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDx1bCBjbGFzcz1cImRyb3Bkb3duLW1lbnUgdmlzaWJsZS14c1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtb3JlJCB8IGFzeW5jXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKmM4eU91dGxldD1cIml0ZW0uY29tcG9uZW50IHx8IGl0ZW0udGVtcGxhdGU7IGluamVjdG9yOiBpdGVtLmluamVjdG9yXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICAgIDx1bCBjbGFzcz1cImRyb3Bkb3duLW1lbnUgZHJvcGRvd24tbWVudS1yaWdodCBoaWRkZW4teHNcIiAqZHJvcGRvd25NZW51PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtb3JlJCB8IGFzeW5jXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKmM4eU91dGxldD1cIml0ZW0uY29tcG9uZW50IHx8IGl0ZW0udGVtcGxhdGU7IGluamVjdG9yOiBpdGVtLmluamVjdG9yXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L3VsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbGk+XG4gICAgPC9uZy10ZW1wbGF0ZT4gICAgXG4gIDwvdWw+XG48L2Rpdj5cbiJdfQ==
@@ -1,6 +1,7 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
2
  import { AppStateService } from '../../common/ui-state.service';
3
3
  import { UserMenuService } from '../../user/user-menu.service';
4
+ import { PRODUCT_EXPERIENCE } from '../../shared/core.model';
4
5
  import { OptionsService } from '../../common/options.service';
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "../../common/ui-state.service";
@@ -22,6 +23,7 @@ export class RightDrawerComponent {
22
23
  this.appState = appState;
23
24
  this.userMenuService = userMenuService;
24
25
  this.options = options;
26
+ this.PRODUCT_EXPERIENCE = PRODUCT_EXPERIENCE;
25
27
  this.closeDrawer = new EventEmitter();
26
28
  this.quickLinks = [];
27
29
  this.helpAndSupport = [];
@@ -51,10 +53,10 @@ export class RightDrawerComponent {
51
53
  }
52
54
  }
53
55
  RightDrawerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: RightDrawerComponent, deps: [{ token: i1.AppStateService }, { token: i2.UserMenuService }, { token: i3.OptionsService }], target: i0.ɵɵFactoryTarget.Component });
54
- RightDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: RightDrawerComponent, selector: "c8y-right-drawer", inputs: { _quickLinks: ["quickLinks", "_quickLinks"], _helpAndSupport: ["helpAndSupport", "_helpAndSupport"], app: "app", drawerOpen: "drawerOpen" }, outputs: { closeDrawer: "closeDrawer" }, ngImport: i0, template: "<aside class=\"c8y-right-drawer\" [cdkTrapFocus]=\"drawerOpen\">\n<!-- drawer header -->\n <div class=\"c8y-right-drawer__header separator-bottom\">\n <button type=\"button\" class=\"close\" title=\"{{'Close' | translate}}\" (click)=\"close()\">&times;</button>\n <div class=\"d-flex a-i-center\">\n <div class=\"user-dot\"> {{appState.currentUser | async | userNameInitials}}</div>\n <div class=\"min-width-0\">\n <p\n *ngIf=\"appState.currentUser | async\"\n class=\"text-truncate text-medium text-16\"\n title=\"{{appState.currentUser | async | shortenUserName}}\"\n >\n {{appState.currentUser | async | shortenUserName}}\n </p>\n <small *ngIf=\"appState.currentUser | async | userRolesList as userRoles\" [title]=\"userRoles\" class=\"text-truncate\">{{ userRoles }}</small>\n </div>\n </div>\n </div>\n\n <!-- user menu -->\n <c8y-user-menu-outlet\n [items]=\"(userMenuService.items$ | async)\"\n class=\"c8y-right-drawer__container\"\n ></c8y-user-menu-outlet>\n\n <!-- Version list -->\n <c8y-version-list *ngIf=\"showPlatformInformation\"></c8y-version-list>\n\n<!-- quicklinks > bookmarks -->\n <div *ngIf=\"(appState$ | async).showRightDrawer && quickLinks.length\"\n class=\"separator-top p-t-8 p-b-8\">\n <div class=\"c8y-right-drawer__item sticky-top\">\n <i c8yIcon=\"bookmark\"></i>\n <span class=\"text-bold\">{{ 'Quick links' | translate }}</span>\n </div>\n\n <ng-container *ngFor=\"let quickLink of quickLinks\">\n <ng-container *ngIf=\"quickLink.component\">\n <ng-container\n *ngComponentOutlet=\"quickLink.component; injector: quickLink.injector\"\n ></ng-container>\n </ng-container>\n <a\n *ngIf=\"!quickLink.component\"\n title=\"{{ quickLink.label | translate }}\"\n type=\"button\"\n class=\"c8y-right-drawer__link\"\n [href]=\"quickLink.url || '#'\"\n (click)=\"quickLink.click && $event.preventDefault(); quickLink.click && quickLink.click()\"\n c8yProductExperience\n [actionName]=\"'quickLinkRightDrawer:' + quickLink.label\"\n [actionData]=\"\"\n tabindex=\"{{ drawerOpen ? '0' : '-1' }}\"\n >\n <i *ngIf=\"quickLink.icon\" class=\"{{ quickLink.icon }} c8y-icon-duocolor\"></i>\n <img\n *ngIf=\"quickLink.iconSrc\"\n [src]=\"quickLink.iconSrc\"\n style=\"max-width: 20px\"\n class=\"img-responsive\"\n onerror=\"this.style.display = 'none'\"\n />\n <span>{{ quickLink.label | translate }}</span>\n </a>\n </ng-container>\n\n </div>\n\n <div *ngIf=\"(appState$ | async).showRightDrawer && helpAndSupport.length\"\n class=\"separator-top p-t-8 p-b-8\">\n <button type=\"button\" class=\"c8y-right-drawer__link sticky-top\" (click)=\"documentationOpen = !documentationOpen\"\n [attr.aria-expanded]=\"!documentationCol.isCollapsed\" [attr.aria-controls]=\"'collapseDocs'\">\n <i c8yIcon=\"book-shelf\"></i>\n <span class=\"text-bold\">{{ 'Documentation' | translate }}</span>\n <i c8yIcon=\"angle-down\" class=\"m-l-auto\" [ngClass]=\"{'icon-rotate-180': documentationOpen }\"></i>\n </button>\n <div class=\"collapse\" id=\"collapseDocs\" [collapse]=\"!documentationOpen\" [isAnimated]=\"true\" #documentationCol=\"bs-collapse\">\n <ng-container *ngFor=\"let link of helpAndSupport\">\n <ng-container *ngIf=\"link.component\">\n <ng-container *ngComponentOutlet=\"link.component; injector: link.injector\"></ng-container>\n </ng-container>\n <a\n *ngIf=\"!link.component\"\n title=\"{{ link.label | translate }}\"\n type=\"button\"\n class=\"c8y-right-drawer__link\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n [href]=\"link.url\"\n c8yProductExperience\n [actionName]=\"'quickLinkRightDrawer:' + link.label\"\n [actionData]=\"\"\n tabindex=\"{{ drawerOpen ? '0' : '-1' }}\"\n >\n <span title=\"{{ link.label | translate }}\" class=\"text-truncate text-12\">\n {{ link.label | translate }}\n </span>\n </a>\n </ng-container>\n </div>\n </div>\n\n <!-- TODO: move legal notices here -->\n <!-- <div class=\"separator-top p-t-8 m-t-auto\">\n <a href=\"#\" class=\"c8y-right-drawer__link\">\n <small>Legal notices</small>\n </a>\n </div> -->\n</aside>\n", dependencies: [{ kind: "directive", type: i4.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: i5.UserMenuOutletComponent, selector: "c8y-user-menu-outlet", inputs: ["items"] }, { kind: "directive", type: i6.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.VersionListComponent, selector: "c8y-version-list" }, { kind: "directive", type: i9.CollapseDirective, selector: "[collapse]", inputs: ["display", "isAnimated", "collapse"], outputs: ["collapsed", "collapses", "expanded", "expands"], exportAs: ["bs-collapse"] }, { kind: "directive", type: i10.ProductExperienceDirective, selector: "[c8yProductExperience]", inputs: ["actionName", "actionData", "inherit"] }, { kind: "pipe", type: i11.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: i12.ShortenUserNamePipe, name: "shortenUserName" }, { kind: "pipe", type: i13.UserNameInitialsPipe, name: "userNameInitials" }, { kind: "pipe", type: i14.UserRolesListPipe, name: "userRolesList" }] });
56
+ RightDrawerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: RightDrawerComponent, selector: "c8y-right-drawer", inputs: { _quickLinks: ["quickLinks", "_quickLinks"], _helpAndSupport: ["helpAndSupport", "_helpAndSupport"], app: "app", drawerOpen: "drawerOpen" }, outputs: { closeDrawer: "closeDrawer" }, ngImport: i0, template: "<aside class=\"c8y-right-drawer\" [cdkTrapFocus]=\"drawerOpen\">\n<!-- drawer header -->\n <div class=\"c8y-right-drawer__header separator-bottom\">\n <button type=\"button\" class=\"close\" title=\"{{'Close' | translate}}\" (click)=\"close()\">&times;</button>\n <div class=\"d-flex a-i-center\">\n <div class=\"user-dot\"> {{appState.currentUser | async | userNameInitials}}</div>\n <div class=\"min-width-0\">\n <p\n *ngIf=\"appState.currentUser | async\"\n class=\"text-truncate text-medium text-16\"\n title=\"{{appState.currentUser | async | shortenUserName}}\"\n >\n {{appState.currentUser | async | shortenUserName}}\n </p>\n <small *ngIf=\"appState.currentUser | async | userRolesList as userRoles\" [title]=\"userRoles\" class=\"text-truncate\">{{ userRoles }}</small>\n </div>\n </div>\n </div>\n\n <!-- user menu -->\n <c8y-user-menu-outlet\n [items]=\"(userMenuService.items$ | async)\"\n class=\"c8y-right-drawer__container\"\n ></c8y-user-menu-outlet>\n\n <!-- Version list -->\n <c8y-version-list *ngIf=\"showPlatformInformation\"></c8y-version-list>\n\n<!-- quicklinks > bookmarks -->\n <div *ngIf=\"(appState$ | async).showRightDrawer && quickLinks.length\"\n class=\"separator-top p-t-8 p-b-8\">\n <div class=\"c8y-right-drawer__item sticky-top\">\n <i c8yIcon=\"bookmark\"></i>\n <span class=\"text-bold\">{{ 'Quick links' | translate }}</span>\n </div>\n\n <ng-container *ngFor=\"let quickLink of quickLinks\">\n <ng-container *ngIf=\"quickLink.component\">\n <ng-container\n *ngComponentOutlet=\"quickLink.component; injector: quickLink.injector\"\n ></ng-container>\n </ng-container>\n <a\n *ngIf=\"!quickLink.component\"\n title=\"{{ quickLink.label | translate }}\"\n type=\"button\"\n class=\"c8y-right-drawer__link\"\n [href]=\"quickLink.url || '#'\"\n (click)=\"quickLink.click && $event.preventDefault(); quickLink.click && quickLink.click()\"\n c8yProductExperience\n [actionName]=\"PRODUCT_EXPERIENCE.QUICK_LINKS.EVENTS.QUICK_LINK_RIGHT_DRAWER\"\n [actionData]=\"{\n component: PRODUCT_EXPERIENCE.QUICK_LINKS.COMPONENTS.RIGHT_DRAWER_COMPONENT,\n action: quickLink.label\n }\"\n tabindex=\"{{ drawerOpen ? '0' : '-1' }}\"\n >\n <i *ngIf=\"quickLink.icon\" class=\"{{ quickLink.icon }} c8y-icon-duocolor\"></i>\n <img\n *ngIf=\"quickLink.iconSrc\"\n [src]=\"quickLink.iconSrc\"\n style=\"max-width: 20px\"\n class=\"img-responsive\"\n onerror=\"this.style.display = 'none'\"\n />\n <span>{{ quickLink.label | translate }}</span>\n </a>\n </ng-container>\n\n </div>\n\n <div *ngIf=\"(appState$ | async).showRightDrawer && helpAndSupport.length\"\n class=\"separator-top p-t-8 p-b-8\">\n <button type=\"button\" class=\"c8y-right-drawer__link sticky-top\" (click)=\"documentationOpen = !documentationOpen\"\n [attr.aria-expanded]=\"!documentationCol.isCollapsed\" [attr.aria-controls]=\"'collapseDocs'\">\n <i c8yIcon=\"book-shelf\"></i>\n <span class=\"text-bold\">{{ 'Documentation' | translate }}</span>\n <i c8yIcon=\"angle-down\" class=\"m-l-auto\" [ngClass]=\"{'icon-rotate-180': documentationOpen }\"></i>\n </button>\n <div class=\"collapse\" id=\"collapseDocs\" [collapse]=\"!documentationOpen\" [isAnimated]=\"true\" #documentationCol=\"bs-collapse\">\n <ng-container *ngFor=\"let link of helpAndSupport\">\n <ng-container *ngIf=\"link.component\">\n <ng-container *ngComponentOutlet=\"link.component; injector: link.injector\"></ng-container>\n </ng-container>\n <a\n *ngIf=\"!link.component\"\n title=\"{{ link.label | translate }}\"\n type=\"button\"\n class=\"c8y-right-drawer__link\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n [href]=\"link.url\"\n c8yProductExperience\n [actionName]=\"PRODUCT_EXPERIENCE.QUICK_LINKS.EVENTS.QUICK_LINK_RIGHT_DRAWER\"\n [actionData]=\"{\n component: PRODUCT_EXPERIENCE.QUICK_LINKS.COMPONENTS.RIGHT_DRAWER_COMPONENT,\n action: link.label\n }\"\n tabindex=\"{{ drawerOpen ? '0' : '-1' }}\"\n >\n <span title=\"{{ link.label | translate }}\" class=\"text-truncate text-12\">\n {{ link.label | translate }}\n </span>\n </a>\n </ng-container>\n </div>\n </div>\n\n <!-- TODO: move legal notices here -->\n <!-- <div class=\"separator-top p-t-8 m-t-auto\">\n <a href=\"#\" class=\"c8y-right-drawer__link\">\n <small>Legal notices</small>\n </a>\n </div> -->\n</aside>\n", dependencies: [{ kind: "directive", type: i4.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: i5.UserMenuOutletComponent, selector: "c8y-user-menu-outlet", inputs: ["items"] }, { kind: "directive", type: i6.IconDirective, selector: "[c8yIcon]", inputs: ["c8yIcon"] }, { kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.VersionListComponent, selector: "c8y-version-list" }, { kind: "directive", type: i9.CollapseDirective, selector: "[collapse]", inputs: ["display", "isAnimated", "collapse"], outputs: ["collapsed", "collapses", "expanded", "expands"], exportAs: ["bs-collapse"] }, { kind: "directive", type: i10.ProductExperienceDirective, selector: "[c8yProductExperience]", inputs: ["actionName", "actionData", "inherit"] }, { kind: "pipe", type: i11.C8yTranslatePipe, name: "translate" }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: i12.ShortenUserNamePipe, name: "shortenUserName" }, { kind: "pipe", type: i13.UserNameInitialsPipe, name: "userNameInitials" }, { kind: "pipe", type: i14.UserRolesListPipe, name: "userRolesList" }] });
55
57
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: RightDrawerComponent, decorators: [{
56
58
  type: Component,
57
- args: [{ selector: 'c8y-right-drawer', template: "<aside class=\"c8y-right-drawer\" [cdkTrapFocus]=\"drawerOpen\">\n<!-- drawer header -->\n <div class=\"c8y-right-drawer__header separator-bottom\">\n <button type=\"button\" class=\"close\" title=\"{{'Close' | translate}}\" (click)=\"close()\">&times;</button>\n <div class=\"d-flex a-i-center\">\n <div class=\"user-dot\"> {{appState.currentUser | async | userNameInitials}}</div>\n <div class=\"min-width-0\">\n <p\n *ngIf=\"appState.currentUser | async\"\n class=\"text-truncate text-medium text-16\"\n title=\"{{appState.currentUser | async | shortenUserName}}\"\n >\n {{appState.currentUser | async | shortenUserName}}\n </p>\n <small *ngIf=\"appState.currentUser | async | userRolesList as userRoles\" [title]=\"userRoles\" class=\"text-truncate\">{{ userRoles }}</small>\n </div>\n </div>\n </div>\n\n <!-- user menu -->\n <c8y-user-menu-outlet\n [items]=\"(userMenuService.items$ | async)\"\n class=\"c8y-right-drawer__container\"\n ></c8y-user-menu-outlet>\n\n <!-- Version list -->\n <c8y-version-list *ngIf=\"showPlatformInformation\"></c8y-version-list>\n\n<!-- quicklinks > bookmarks -->\n <div *ngIf=\"(appState$ | async).showRightDrawer && quickLinks.length\"\n class=\"separator-top p-t-8 p-b-8\">\n <div class=\"c8y-right-drawer__item sticky-top\">\n <i c8yIcon=\"bookmark\"></i>\n <span class=\"text-bold\">{{ 'Quick links' | translate }}</span>\n </div>\n\n <ng-container *ngFor=\"let quickLink of quickLinks\">\n <ng-container *ngIf=\"quickLink.component\">\n <ng-container\n *ngComponentOutlet=\"quickLink.component; injector: quickLink.injector\"\n ></ng-container>\n </ng-container>\n <a\n *ngIf=\"!quickLink.component\"\n title=\"{{ quickLink.label | translate }}\"\n type=\"button\"\n class=\"c8y-right-drawer__link\"\n [href]=\"quickLink.url || '#'\"\n (click)=\"quickLink.click && $event.preventDefault(); quickLink.click && quickLink.click()\"\n c8yProductExperience\n [actionName]=\"'quickLinkRightDrawer:' + quickLink.label\"\n [actionData]=\"\"\n tabindex=\"{{ drawerOpen ? '0' : '-1' }}\"\n >\n <i *ngIf=\"quickLink.icon\" class=\"{{ quickLink.icon }} c8y-icon-duocolor\"></i>\n <img\n *ngIf=\"quickLink.iconSrc\"\n [src]=\"quickLink.iconSrc\"\n style=\"max-width: 20px\"\n class=\"img-responsive\"\n onerror=\"this.style.display = 'none'\"\n />\n <span>{{ quickLink.label | translate }}</span>\n </a>\n </ng-container>\n\n </div>\n\n <div *ngIf=\"(appState$ | async).showRightDrawer && helpAndSupport.length\"\n class=\"separator-top p-t-8 p-b-8\">\n <button type=\"button\" class=\"c8y-right-drawer__link sticky-top\" (click)=\"documentationOpen = !documentationOpen\"\n [attr.aria-expanded]=\"!documentationCol.isCollapsed\" [attr.aria-controls]=\"'collapseDocs'\">\n <i c8yIcon=\"book-shelf\"></i>\n <span class=\"text-bold\">{{ 'Documentation' | translate }}</span>\n <i c8yIcon=\"angle-down\" class=\"m-l-auto\" [ngClass]=\"{'icon-rotate-180': documentationOpen }\"></i>\n </button>\n <div class=\"collapse\" id=\"collapseDocs\" [collapse]=\"!documentationOpen\" [isAnimated]=\"true\" #documentationCol=\"bs-collapse\">\n <ng-container *ngFor=\"let link of helpAndSupport\">\n <ng-container *ngIf=\"link.component\">\n <ng-container *ngComponentOutlet=\"link.component; injector: link.injector\"></ng-container>\n </ng-container>\n <a\n *ngIf=\"!link.component\"\n title=\"{{ link.label | translate }}\"\n type=\"button\"\n class=\"c8y-right-drawer__link\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n [href]=\"link.url\"\n c8yProductExperience\n [actionName]=\"'quickLinkRightDrawer:' + link.label\"\n [actionData]=\"\"\n tabindex=\"{{ drawerOpen ? '0' : '-1' }}\"\n >\n <span title=\"{{ link.label | translate }}\" class=\"text-truncate text-12\">\n {{ link.label | translate }}\n </span>\n </a>\n </ng-container>\n </div>\n </div>\n\n <!-- TODO: move legal notices here -->\n <!-- <div class=\"separator-top p-t-8 m-t-auto\">\n <a href=\"#\" class=\"c8y-right-drawer__link\">\n <small>Legal notices</small>\n </a>\n </div> -->\n</aside>\n" }]
59
+ args: [{ selector: 'c8y-right-drawer', template: "<aside class=\"c8y-right-drawer\" [cdkTrapFocus]=\"drawerOpen\">\n<!-- drawer header -->\n <div class=\"c8y-right-drawer__header separator-bottom\">\n <button type=\"button\" class=\"close\" title=\"{{'Close' | translate}}\" (click)=\"close()\">&times;</button>\n <div class=\"d-flex a-i-center\">\n <div class=\"user-dot\"> {{appState.currentUser | async | userNameInitials}}</div>\n <div class=\"min-width-0\">\n <p\n *ngIf=\"appState.currentUser | async\"\n class=\"text-truncate text-medium text-16\"\n title=\"{{appState.currentUser | async | shortenUserName}}\"\n >\n {{appState.currentUser | async | shortenUserName}}\n </p>\n <small *ngIf=\"appState.currentUser | async | userRolesList as userRoles\" [title]=\"userRoles\" class=\"text-truncate\">{{ userRoles }}</small>\n </div>\n </div>\n </div>\n\n <!-- user menu -->\n <c8y-user-menu-outlet\n [items]=\"(userMenuService.items$ | async)\"\n class=\"c8y-right-drawer__container\"\n ></c8y-user-menu-outlet>\n\n <!-- Version list -->\n <c8y-version-list *ngIf=\"showPlatformInformation\"></c8y-version-list>\n\n<!-- quicklinks > bookmarks -->\n <div *ngIf=\"(appState$ | async).showRightDrawer && quickLinks.length\"\n class=\"separator-top p-t-8 p-b-8\">\n <div class=\"c8y-right-drawer__item sticky-top\">\n <i c8yIcon=\"bookmark\"></i>\n <span class=\"text-bold\">{{ 'Quick links' | translate }}</span>\n </div>\n\n <ng-container *ngFor=\"let quickLink of quickLinks\">\n <ng-container *ngIf=\"quickLink.component\">\n <ng-container\n *ngComponentOutlet=\"quickLink.component; injector: quickLink.injector\"\n ></ng-container>\n </ng-container>\n <a\n *ngIf=\"!quickLink.component\"\n title=\"{{ quickLink.label | translate }}\"\n type=\"button\"\n class=\"c8y-right-drawer__link\"\n [href]=\"quickLink.url || '#'\"\n (click)=\"quickLink.click && $event.preventDefault(); quickLink.click && quickLink.click()\"\n c8yProductExperience\n [actionName]=\"PRODUCT_EXPERIENCE.QUICK_LINKS.EVENTS.QUICK_LINK_RIGHT_DRAWER\"\n [actionData]=\"{\n component: PRODUCT_EXPERIENCE.QUICK_LINKS.COMPONENTS.RIGHT_DRAWER_COMPONENT,\n action: quickLink.label\n }\"\n tabindex=\"{{ drawerOpen ? '0' : '-1' }}\"\n >\n <i *ngIf=\"quickLink.icon\" class=\"{{ quickLink.icon }} c8y-icon-duocolor\"></i>\n <img\n *ngIf=\"quickLink.iconSrc\"\n [src]=\"quickLink.iconSrc\"\n style=\"max-width: 20px\"\n class=\"img-responsive\"\n onerror=\"this.style.display = 'none'\"\n />\n <span>{{ quickLink.label | translate }}</span>\n </a>\n </ng-container>\n\n </div>\n\n <div *ngIf=\"(appState$ | async).showRightDrawer && helpAndSupport.length\"\n class=\"separator-top p-t-8 p-b-8\">\n <button type=\"button\" class=\"c8y-right-drawer__link sticky-top\" (click)=\"documentationOpen = !documentationOpen\"\n [attr.aria-expanded]=\"!documentationCol.isCollapsed\" [attr.aria-controls]=\"'collapseDocs'\">\n <i c8yIcon=\"book-shelf\"></i>\n <span class=\"text-bold\">{{ 'Documentation' | translate }}</span>\n <i c8yIcon=\"angle-down\" class=\"m-l-auto\" [ngClass]=\"{'icon-rotate-180': documentationOpen }\"></i>\n </button>\n <div class=\"collapse\" id=\"collapseDocs\" [collapse]=\"!documentationOpen\" [isAnimated]=\"true\" #documentationCol=\"bs-collapse\">\n <ng-container *ngFor=\"let link of helpAndSupport\">\n <ng-container *ngIf=\"link.component\">\n <ng-container *ngComponentOutlet=\"link.component; injector: link.injector\"></ng-container>\n </ng-container>\n <a\n *ngIf=\"!link.component\"\n title=\"{{ link.label | translate }}\"\n type=\"button\"\n class=\"c8y-right-drawer__link\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n [href]=\"link.url\"\n c8yProductExperience\n [actionName]=\"PRODUCT_EXPERIENCE.QUICK_LINKS.EVENTS.QUICK_LINK_RIGHT_DRAWER\"\n [actionData]=\"{\n component: PRODUCT_EXPERIENCE.QUICK_LINKS.COMPONENTS.RIGHT_DRAWER_COMPONENT,\n action: link.label\n }\"\n tabindex=\"{{ drawerOpen ? '0' : '-1' }}\"\n >\n <span title=\"{{ link.label | translate }}\" class=\"text-truncate text-12\">\n {{ link.label | translate }}\n </span>\n </a>\n </ng-container>\n </div>\n </div>\n\n <!-- TODO: move legal notices here -->\n <!-- <div class=\"separator-top p-t-8 m-t-auto\">\n <a href=\"#\" class=\"c8y-right-drawer__link\">\n <small>Legal notices</small>\n </a>\n </div> -->\n</aside>\n" }]
58
60
  }], ctorParameters: function () { return [{ type: i1.AppStateService }, { type: i2.UserMenuService }, { type: i3.OptionsService }]; }, propDecorators: { _quickLinks: [{
59
61
  type: Input,
60
62
  args: ['quickLinks']
@@ -68,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
68
70
  }], closeDrawer: [{
69
71
  type: Output
70
72
  }] } });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlnaHQtZHJhd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2NvcmUvaGVhZGVyL3JpZ2h0LWRyYXdlci9yaWdodC1kcmF3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vY29yZS9oZWFkZXIvcmlnaHQtZHJhd2VyL3JpZ2h0LWRyYXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBTTlELE1BQU0sT0FBTyxvQkFBb0I7SUFvQi9CLFlBQ1MsUUFBeUIsRUFDekIsZUFBZ0MsRUFDL0IsT0FBdUI7UUFGeEIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQy9CLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBVnZCLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNqRCxlQUFVLEdBQWMsRUFBRSxDQUFDO1FBQzNCLG1CQUFjLEdBQWMsRUFBRSxDQUFDO1FBQy9CLGNBQVMsR0FBb0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDbEQsc0JBQWlCLEdBQVksS0FBSyxDQUFDO1FBUWpDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsNkJBQTZCLEVBQUUsQ0FBQztJQUN0RSxDQUFDO0lBekJELElBQXlCLFdBQVcsQ0FBQyxJQUFXO1FBQzlDLElBQUksSUFBSSxFQUFFO1lBQ1IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsQ0FBQztTQUM1RDtJQUNILENBQUM7SUFDRCxJQUE2QixlQUFlLENBQUMsSUFBVztRQUN0RCxJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUM7U0FDMUQ7SUFDSCxDQUFDO0lBa0JELEtBQUs7UUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTyw2QkFBNkI7UUFDbkMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQzVFLElBQUksdUJBQXVCLEtBQUssU0FBUyxFQUFFO1lBQ3pDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUN6QztRQUVELE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQztJQUNsQyxDQUFDOztpSEF2Q1Usb0JBQW9CO3FHQUFwQixvQkFBb0IsdVBDWGpDLDY3SUE2R0E7MkZEbEdhLG9CQUFvQjtrQkFKaEMsU0FBUzsrQkFDRSxrQkFBa0I7aUtBSUgsV0FBVztzQkFBbkMsS0FBSzt1QkFBQyxZQUFZO2dCQUtVLGVBQWU7c0JBQTNDLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUtkLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQXBwU3RhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29tbW9uL3VpLXN0YXRlLnNlcnZpY2UnO1xuaW1wb3J0IHsgRG9jTGluayB9IGZyb20gJy4uLy4uL2RvY3MvZG9jcy5tb2RlbHMnO1xuaW1wb3J0IHsgVXNlck1lbnVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdXNlci91c2VyLW1lbnUuc2VydmljZSc7XG5pbXBvcnQgeyBPcHRpb25zU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9vcHRpb25zLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjOHktcmlnaHQtZHJhd2VyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JpZ2h0LWRyYXdlci5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUmlnaHREcmF3ZXJDb21wb25lbnQge1xuICBASW5wdXQoJ3F1aWNrTGlua3MnKSBzZXQgX3F1aWNrTGlua3MoZGF0YTogYW55W10pIHtcbiAgICBpZiAoZGF0YSkge1xuICAgICAgdGhpcy5xdWlja0xpbmtzID0gZGF0YS5maWx0ZXIoZCA9PiBkLnR5cGUgPT09ICdxdWlja2xpbmsnKTtcbiAgICB9XG4gIH1cbiAgQElucHV0KCdoZWxwQW5kU3VwcG9ydCcpIHNldCBfaGVscEFuZFN1cHBvcnQoZGF0YTogYW55W10pIHtcbiAgICBpZiAoZGF0YSkge1xuICAgICAgdGhpcy5oZWxwQW5kU3VwcG9ydCA9IGRhdGEuZmlsdGVyKGQgPT4gZC50eXBlID09PSAnZG9jJyk7XG4gICAgfVxuICB9XG4gIEBJbnB1dCgpIGFwcDogYW55O1xuICBASW5wdXQoKSBkcmF3ZXJPcGVuOiBib29sZWFuO1xuICBAT3V0cHV0KCkgY2xvc2VEcmF3ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIHF1aWNrTGlua3M6IERvY0xpbmtbXSA9IFtdO1xuICBoZWxwQW5kU3VwcG9ydDogRG9jTGlua1tdID0gW107XG4gIGFwcFN0YXRlJDogT2JzZXJ2YWJsZTxhbnk+ID0gdGhpcy5hcHBTdGF0ZS5zdGF0ZSQ7XG4gIGRvY3VtZW50YXRpb25PcGVuOiBib29sZWFuID0gZmFsc2U7XG4gIHNob3dQbGF0Zm9ybUluZm9ybWF0aW9uOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBhcHBTdGF0ZTogQXBwU3RhdGVTZXJ2aWNlLFxuICAgIHB1YmxpYyB1c2VyTWVudVNlcnZpY2U6IFVzZXJNZW51U2VydmljZSxcbiAgICBwcml2YXRlIG9wdGlvbnM6IE9wdGlvbnNTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc2hvd1BsYXRmb3JtSW5mb3JtYXRpb24gPSB0aGlzLnNob3VsZFNob3dQbGF0Zm9ybUluZm9ybWF0aW9uKCk7XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLmNsb3NlRHJhd2VyLmVtaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvdWxkU2hvd1BsYXRmb3JtSW5mb3JtYXRpb24oKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaGlkZVBsYXRmb3JtSW5mb3JtYXRpb24gPSB0aGlzLm9wdGlvbnMuZ2V0KCdoaWRlUGxhdGZvcm1JbmZvcm1hdGlvbicpO1xuICAgIGlmIChoaWRlUGxhdGZvcm1JbmZvcm1hdGlvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gIXRoaXMub3B0aW9ucy5nZXQoJ2hpZGVQb3dlcmVkJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuICFoaWRlUGxhdGZvcm1JbmZvcm1hdGlvbjtcbiAgfVxufVxuIiwiPGFzaWRlIGNsYXNzPVwiYzh5LXJpZ2h0LWRyYXdlclwiIFtjZGtUcmFwRm9jdXNdPVwiZHJhd2VyT3BlblwiPlxuPCEtLSBkcmF3ZXIgaGVhZGVyIC0tPlxuICA8ZGl2IGNsYXNzPVwiYzh5LXJpZ2h0LWRyYXdlcl9faGVhZGVyIHNlcGFyYXRvci1ib3R0b21cIj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNsb3NlXCIgdGl0bGU9XCJ7eydDbG9zZScgfCB0cmFuc2xhdGV9fVwiIChjbGljayk9XCJjbG9zZSgpXCI+JnRpbWVzOzwvYnV0dG9uPlxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYS1pLWNlbnRlclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInVzZXItZG90XCI+IHt7YXBwU3RhdGUuY3VycmVudFVzZXIgfCBhc3luYyB8IHVzZXJOYW1lSW5pdGlhbHN9fTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1pbi13aWR0aC0wXCI+XG4gICAgICAgIDxwXG4gICAgICAgICAgKm5nSWY9XCJhcHBTdGF0ZS5jdXJyZW50VXNlciB8IGFzeW5jXCJcbiAgICAgICAgICBjbGFzcz1cInRleHQtdHJ1bmNhdGUgdGV4dC1tZWRpdW0gdGV4dC0xNlwiXG4gICAgICAgICAgdGl0bGU9XCJ7e2FwcFN0YXRlLmN1cnJlbnRVc2VyIHwgYXN5bmMgfCBzaG9ydGVuVXNlck5hbWV9fVwiXG4gICAgICAgID5cbiAgICAgICAgICB7e2FwcFN0YXRlLmN1cnJlbnRVc2VyIHwgYXN5bmMgfCBzaG9ydGVuVXNlck5hbWV9fVxuICAgICAgICA8L3A+XG4gICAgICAgIDxzbWFsbCAqbmdJZj1cImFwcFN0YXRlLmN1cnJlbnRVc2VyIHwgYXN5bmMgfCB1c2VyUm9sZXNMaXN0IGFzIHVzZXJSb2xlc1wiIFt0aXRsZV09XCJ1c2VyUm9sZXNcIiBjbGFzcz1cInRleHQtdHJ1bmNhdGVcIj57eyB1c2VyUm9sZXMgfX08L3NtYWxsPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDwhLS0gdXNlciBtZW51IC0tPlxuICA8Yzh5LXVzZXItbWVudS1vdXRsZXRcbiAgICBbaXRlbXNdPVwiKHVzZXJNZW51U2VydmljZS5pdGVtcyQgfCBhc3luYylcIlxuICAgIGNsYXNzPVwiYzh5LXJpZ2h0LWRyYXdlcl9fY29udGFpbmVyXCJcbiAgPjwvYzh5LXVzZXItbWVudS1vdXRsZXQ+XG5cbiAgPCEtLSBWZXJzaW9uIGxpc3QgLS0+XG4gIDxjOHktdmVyc2lvbi1saXN0ICpuZ0lmPVwic2hvd1BsYXRmb3JtSW5mb3JtYXRpb25cIj48L2M4eS12ZXJzaW9uLWxpc3Q+XG5cbjwhLS0gcXVpY2tsaW5rcyA+IGJvb2ttYXJrcyAtLT5cbiAgPGRpdiAqbmdJZj1cIihhcHBTdGF0ZSQgfCBhc3luYykuc2hvd1JpZ2h0RHJhd2VyICYmIHF1aWNrTGlua3MubGVuZ3RoXCJcbiAgICBjbGFzcz1cInNlcGFyYXRvci10b3AgcC10LTggcC1iLThcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYzh5LXJpZ2h0LWRyYXdlcl9faXRlbSBzdGlja3ktdG9wXCI+XG4gICAgICA8aSBjOHlJY29uPVwiYm9va21hcmtcIj48L2k+XG4gICAgICA8c3BhbiBjbGFzcz1cInRleHQtYm9sZFwiPnt7ICdRdWljayBsaW5rcycgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgPC9kaXY+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBxdWlja0xpbmsgb2YgcXVpY2tMaW5rc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInF1aWNrTGluay5jb21wb25lbnRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0NvbXBvbmVudE91dGxldD1cInF1aWNrTGluay5jb21wb25lbnQ7IGluamVjdG9yOiBxdWlja0xpbmsuaW5qZWN0b3JcIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxhXG4gICAgICAgICpuZ0lmPVwiIXF1aWNrTGluay5jb21wb25lbnRcIlxuICAgICAgICB0aXRsZT1cInt7IHF1aWNrTGluay5sYWJlbCB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cImM4eS1yaWdodC1kcmF3ZXJfX2xpbmtcIlxuICAgICAgICBbaHJlZl09XCJxdWlja0xpbmsudXJsIHx8ICcjJ1wiXG4gICAgICAgIChjbGljayk9XCJxdWlja0xpbmsuY2xpY2sgJiYgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7IHF1aWNrTGluay5jbGljayAmJiBxdWlja0xpbmsuY2xpY2soKVwiXG4gICAgICAgIGM4eVByb2R1Y3RFeHBlcmllbmNlXG4gICAgICAgIFthY3Rpb25OYW1lXT1cIidxdWlja0xpbmtSaWdodERyYXdlcjonICsgcXVpY2tMaW5rLmxhYmVsXCJcbiAgICAgICAgW2FjdGlvbkRhdGFdPVwiXCJcbiAgICAgICAgdGFiaW5kZXg9XCJ7eyBkcmF3ZXJPcGVuID8gJzAnIDogJy0xJyB9fVwiXG4gICAgICA+XG4gICAgICAgIDxpICpuZ0lmPVwicXVpY2tMaW5rLmljb25cIiBjbGFzcz1cInt7IHF1aWNrTGluay5pY29uIH19IGM4eS1pY29uLWR1b2NvbG9yXCI+PC9pPlxuICAgICAgICA8aW1nXG4gICAgICAgICAgKm5nSWY9XCJxdWlja0xpbmsuaWNvblNyY1wiXG4gICAgICAgICAgW3NyY109XCJxdWlja0xpbmsuaWNvblNyY1wiXG4gICAgICAgICAgc3R5bGU9XCJtYXgtd2lkdGg6IDIwcHhcIlxuICAgICAgICAgIGNsYXNzPVwiaW1nLXJlc3BvbnNpdmVcIlxuICAgICAgICAgIG9uZXJyb3I9XCJ0aGlzLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSdcIlxuICAgICAgICAvPlxuICAgICAgICA8c3Bhbj57eyBxdWlja0xpbmsubGFiZWwgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICA8L2E+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgPC9kaXY+XG5cbiAgPGRpdiAqbmdJZj1cIihhcHBTdGF0ZSQgfCBhc3luYykuc2hvd1JpZ2h0RHJhd2VyICYmIGhlbHBBbmRTdXBwb3J0Lmxlbmd0aFwiXG4gICAgY2xhc3M9XCJzZXBhcmF0b3ItdG9wIHAtdC04IHAtYi04XCI+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjOHktcmlnaHQtZHJhd2VyX19saW5rIHN0aWNreS10b3BcIiAoY2xpY2spPVwiZG9jdW1lbnRhdGlvbk9wZW4gPSAhZG9jdW1lbnRhdGlvbk9wZW5cIlxuICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCIhZG9jdW1lbnRhdGlvbkNvbC5pc0NvbGxhcHNlZFwiIFthdHRyLmFyaWEtY29udHJvbHNdPVwiJ2NvbGxhcHNlRG9jcydcIj5cbiAgICAgIDxpIGM4eUljb249XCJib29rLXNoZWxmXCI+PC9pPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LWJvbGRcIj57eyAnRG9jdW1lbnRhdGlvbicgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICA8aSBjOHlJY29uPVwiYW5nbGUtZG93blwiIGNsYXNzPVwibS1sLWF1dG9cIiBbbmdDbGFzc109XCJ7J2ljb24tcm90YXRlLTE4MCc6IGRvY3VtZW50YXRpb25PcGVuIH1cIj48L2k+XG4gICAgPC9idXR0b24+XG4gICAgPGRpdiBjbGFzcz1cImNvbGxhcHNlXCIgaWQ9XCJjb2xsYXBzZURvY3NcIiBbY29sbGFwc2VdPVwiIWRvY3VtZW50YXRpb25PcGVuXCIgW2lzQW5pbWF0ZWRdPVwidHJ1ZVwiICNkb2N1bWVudGF0aW9uQ29sPVwiYnMtY29sbGFwc2VcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGxpbmsgb2YgaGVscEFuZFN1cHBvcnRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxpbmsuY29tcG9uZW50XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdDb21wb25lbnRPdXRsZXQ9XCJsaW5rLmNvbXBvbmVudDsgaW5qZWN0b3I6IGxpbmsuaW5qZWN0b3JcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxhXG4gICAgICAgICAgKm5nSWY9XCIhbGluay5jb21wb25lbnRcIlxuICAgICAgICAgIHRpdGxlPVwie3sgbGluay5sYWJlbCB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJjOHktcmlnaHQtZHJhd2VyX19saW5rXCJcbiAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgIFtocmVmXT1cImxpbmsudXJsXCJcbiAgICAgICAgICBjOHlQcm9kdWN0RXhwZXJpZW5jZVxuICAgICAgICAgIFthY3Rpb25OYW1lXT1cIidxdWlja0xpbmtSaWdodERyYXdlcjonICsgbGluay5sYWJlbFwiXG4gICAgICAgICAgW2FjdGlvbkRhdGFdPVwiXCJcbiAgICAgICAgICB0YWJpbmRleD1cInt7IGRyYXdlck9wZW4gPyAnMCcgOiAnLTEnIH19XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIHRpdGxlPVwie3sgbGluay5sYWJlbCB8IHRyYW5zbGF0ZSB9fVwiIGNsYXNzPVwidGV4dC10cnVuY2F0ZSB0ZXh0LTEyXCI+XG4gICAgICAgICAgICB7eyBsaW5rLmxhYmVsIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBUT0RPOiBtb3ZlIGxlZ2FsIG5vdGljZXMgaGVyZSAtLT5cbiAgPCEtLSA8ZGl2IGNsYXNzPVwic2VwYXJhdG9yLXRvcCBwLXQtOCBtLXQtYXV0b1wiPlxuICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJjOHktcmlnaHQtZHJhd2VyX19saW5rXCI+XG4gICAgICA8c21hbGw+TGVnYWwgbm90aWNlczwvc21hbGw+XG4gICAgPC9hPlxuICA8L2Rpdj4gLS0+XG48L2FzaWRlPlxuIl19
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlnaHQtZHJhd2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2NvcmUvaGVhZGVyL3JpZ2h0LWRyYXdlci9yaWdodC1kcmF3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vY29yZS9oZWFkZXIvcmlnaHQtZHJhd2VyL3JpZ2h0LWRyYXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVoRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7O0FBTTlELE1BQU0sT0FBTyxvQkFBb0I7SUFzQi9CLFlBQ1MsUUFBeUIsRUFDekIsZUFBZ0MsRUFDL0IsT0FBdUI7UUFGeEIsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQy9CLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBeEJqQyx1QkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztRQWM5QixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDakQsZUFBVSxHQUFjLEVBQUUsQ0FBQztRQUMzQixtQkFBYyxHQUFjLEVBQUUsQ0FBQztRQUMvQixjQUFTLEdBQW9CLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO1FBQ2xELHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQVFqQyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7SUFDdEUsQ0FBQztJQXpCRCxJQUF5QixXQUFXLENBQUMsSUFBVztRQUM5QyxJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLENBQUM7U0FDNUQ7SUFDSCxDQUFDO0lBQ0QsSUFBNkIsZUFBZSxDQUFDLElBQVc7UUFDdEQsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDO1NBQzFEO0lBQ0gsQ0FBQztJQWtCRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU8sNkJBQTZCO1FBQ25DLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUM1RSxJQUFJLHVCQUF1QixLQUFLLFNBQVMsRUFBRTtZQUN6QyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDekM7UUFFRCxPQUFPLENBQUMsdUJBQXVCLENBQUM7SUFDbEMsQ0FBQzs7aUhBekNVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLHVQQ1pqQyx5dkpBbUhBOzJGRHZHYSxvQkFBb0I7a0JBSmhDLFNBQVM7K0JBQ0Usa0JBQWtCO2lLQU1ILFdBQVc7c0JBQW5DLEtBQUs7dUJBQUMsWUFBWTtnQkFLVSxlQUFlO3NCQUEzQyxLQUFLO3VCQUFDLGdCQUFnQjtnQkFLZCxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFwcFN0YXRlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbW1vbi91aS1zdGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IERvY0xpbmsgfSBmcm9tICcuLi8uLi9kb2NzL2RvY3MubW9kZWxzJztcbmltcG9ydCB7IFVzZXJNZW51U2VydmljZSB9IGZyb20gJy4uLy4uL3VzZXIvdXNlci1tZW51LnNlcnZpY2UnO1xuaW1wb3J0IHsgUFJPRFVDVF9FWFBFUklFTkNFIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2NvcmUubW9kZWwnO1xuaW1wb3J0IHsgT3B0aW9uc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jb21tb24vb3B0aW9ucy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LXJpZ2h0LWRyYXdlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9yaWdodC1kcmF3ZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFJpZ2h0RHJhd2VyQ29tcG9uZW50IHtcbiAgUFJPRFVDVF9FWFBFUklFTkNFID0gUFJPRFVDVF9FWFBFUklFTkNFO1xuXG4gIEBJbnB1dCgncXVpY2tMaW5rcycpIHNldCBfcXVpY2tMaW5rcyhkYXRhOiBhbnlbXSkge1xuICAgIGlmIChkYXRhKSB7XG4gICAgICB0aGlzLnF1aWNrTGlua3MgPSBkYXRhLmZpbHRlcihkID0+IGQudHlwZSA9PT0gJ3F1aWNrbGluaycpO1xuICAgIH1cbiAgfVxuICBASW5wdXQoJ2hlbHBBbmRTdXBwb3J0Jykgc2V0IF9oZWxwQW5kU3VwcG9ydChkYXRhOiBhbnlbXSkge1xuICAgIGlmIChkYXRhKSB7XG4gICAgICB0aGlzLmhlbHBBbmRTdXBwb3J0ID0gZGF0YS5maWx0ZXIoZCA9PiBkLnR5cGUgPT09ICdkb2MnKTtcbiAgICB9XG4gIH1cbiAgQElucHV0KCkgYXBwOiBhbnk7XG4gIEBJbnB1dCgpIGRyYXdlck9wZW46IGJvb2xlYW47XG4gIEBPdXRwdXQoKSBjbG9zZURyYXdlciA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgcXVpY2tMaW5rczogRG9jTGlua1tdID0gW107XG4gIGhlbHBBbmRTdXBwb3J0OiBEb2NMaW5rW10gPSBbXTtcbiAgYXBwU3RhdGUkOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLmFwcFN0YXRlLnN0YXRlJDtcbiAgZG9jdW1lbnRhdGlvbk9wZW46IGJvb2xlYW4gPSBmYWxzZTtcbiAgc2hvd1BsYXRmb3JtSW5mb3JtYXRpb246IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGFwcFN0YXRlOiBBcHBTdGF0ZVNlcnZpY2UsXG4gICAgcHVibGljIHVzZXJNZW51U2VydmljZTogVXNlck1lbnVTZXJ2aWNlLFxuICAgIHByaXZhdGUgb3B0aW9uczogT3B0aW9uc1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5zaG93UGxhdGZvcm1JbmZvcm1hdGlvbiA9IHRoaXMuc2hvdWxkU2hvd1BsYXRmb3JtSW5mb3JtYXRpb24oKTtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMuY2xvc2VEcmF3ZXIuZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzaG91bGRTaG93UGxhdGZvcm1JbmZvcm1hdGlvbigpOiBib29sZWFuIHtcbiAgICBjb25zdCBoaWRlUGxhdGZvcm1JbmZvcm1hdGlvbiA9IHRoaXMub3B0aW9ucy5nZXQoJ2hpZGVQbGF0Zm9ybUluZm9ybWF0aW9uJyk7XG4gICAgaWYgKGhpZGVQbGF0Zm9ybUluZm9ybWF0aW9uID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiAhdGhpcy5vcHRpb25zLmdldCgnaGlkZVBvd2VyZWQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gIWhpZGVQbGF0Zm9ybUluZm9ybWF0aW9uO1xuICB9XG59XG4iLCI8YXNpZGUgY2xhc3M9XCJjOHktcmlnaHQtZHJhd2VyXCIgW2Nka1RyYXBGb2N1c109XCJkcmF3ZXJPcGVuXCI+XG48IS0tIGRyYXdlciBoZWFkZXIgLS0+XG4gIDxkaXYgY2xhc3M9XCJjOHktcmlnaHQtZHJhd2VyX19oZWFkZXIgc2VwYXJhdG9yLWJvdHRvbVwiPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiY2xvc2VcIiB0aXRsZT1cInt7J0Nsb3NlJyB8IHRyYW5zbGF0ZX19XCIgKGNsaWNrKT1cImNsb3NlKClcIj4mdGltZXM7PC9idXR0b24+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBhLWktY2VudGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwidXNlci1kb3RcIj4ge3thcHBTdGF0ZS5jdXJyZW50VXNlciB8IGFzeW5jIHwgdXNlck5hbWVJbml0aWFsc319PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWluLXdpZHRoLTBcIj5cbiAgICAgICAgPHBcbiAgICAgICAgICAqbmdJZj1cImFwcFN0YXRlLmN1cnJlbnRVc2VyIHwgYXN5bmNcIlxuICAgICAgICAgIGNsYXNzPVwidGV4dC10cnVuY2F0ZSB0ZXh0LW1lZGl1bSB0ZXh0LTE2XCJcbiAgICAgICAgICB0aXRsZT1cInt7YXBwU3RhdGUuY3VycmVudFVzZXIgfCBhc3luYyB8IHNob3J0ZW5Vc2VyTmFtZX19XCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7YXBwU3RhdGUuY3VycmVudFVzZXIgfCBhc3luYyB8IHNob3J0ZW5Vc2VyTmFtZX19XG4gICAgICAgIDwvcD5cbiAgICAgICAgPHNtYWxsICpuZ0lmPVwiYXBwU3RhdGUuY3VycmVudFVzZXIgfCBhc3luYyB8IHVzZXJSb2xlc0xpc3QgYXMgdXNlclJvbGVzXCIgW3RpdGxlXT1cInVzZXJSb2xlc1wiIGNsYXNzPVwidGV4dC10cnVuY2F0ZVwiPnt7IHVzZXJSb2xlcyB9fTwvc21hbGw+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPCEtLSB1c2VyIG1lbnUgLS0+XG4gIDxjOHktdXNlci1tZW51LW91dGxldFxuICAgIFtpdGVtc109XCIodXNlck1lbnVTZXJ2aWNlLml0ZW1zJCB8IGFzeW5jKVwiXG4gICAgY2xhc3M9XCJjOHktcmlnaHQtZHJhd2VyX19jb250YWluZXJcIlxuICA+PC9jOHktdXNlci1tZW51LW91dGxldD5cblxuICA8IS0tIFZlcnNpb24gbGlzdCAtLT5cbiAgPGM4eS12ZXJzaW9uLWxpc3QgKm5nSWY9XCJzaG93UGxhdGZvcm1JbmZvcm1hdGlvblwiPjwvYzh5LXZlcnNpb24tbGlzdD5cblxuPCEtLSBxdWlja2xpbmtzID4gYm9va21hcmtzIC0tPlxuICA8ZGl2ICpuZ0lmPVwiKGFwcFN0YXRlJCB8IGFzeW5jKS5zaG93UmlnaHREcmF3ZXIgJiYgcXVpY2tMaW5rcy5sZW5ndGhcIlxuICAgIGNsYXNzPVwic2VwYXJhdG9yLXRvcCBwLXQtOCBwLWItOFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjOHktcmlnaHQtZHJhd2VyX19pdGVtIHN0aWNreS10b3BcIj5cbiAgICAgIDxpIGM4eUljb249XCJib29rbWFya1wiPjwvaT5cbiAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1ib2xkXCI+e3sgJ1F1aWNrIGxpbmtzJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHF1aWNrTGluayBvZiBxdWlja0xpbmtzXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicXVpY2tMaW5rLmNvbXBvbmVudFwiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nQ29tcG9uZW50T3V0bGV0PVwicXVpY2tMaW5rLmNvbXBvbmVudDsgaW5qZWN0b3I6IHF1aWNrTGluay5pbmplY3RvclwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPGFcbiAgICAgICAgKm5nSWY9XCIhcXVpY2tMaW5rLmNvbXBvbmVudFwiXG4gICAgICAgIHRpdGxlPVwie3sgcXVpY2tMaW5rLmxhYmVsIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwiYzh5LXJpZ2h0LWRyYXdlcl9fbGlua1wiXG4gICAgICAgIFtocmVmXT1cInF1aWNrTGluay51cmwgfHwgJyMnXCJcbiAgICAgICAgKGNsaWNrKT1cInF1aWNrTGluay5jbGljayAmJiAkZXZlbnQucHJldmVudERlZmF1bHQoKTsgcXVpY2tMaW5rLmNsaWNrICYmIHF1aWNrTGluay5jbGljaygpXCJcbiAgICAgICAgYzh5UHJvZHVjdEV4cGVyaWVuY2VcbiAgICAgICAgW2FjdGlvbk5hbWVdPVwiUFJPRFVDVF9FWFBFUklFTkNFLlFVSUNLX0xJTktTLkVWRU5UUy5RVUlDS19MSU5LX1JJR0hUX0RSQVdFUlwiXG4gICAgICAgIFthY3Rpb25EYXRhXT1cIntcbiAgICAgICAgICBjb21wb25lbnQ6IFBST0RVQ1RfRVhQRVJJRU5DRS5RVUlDS19MSU5LUy5DT01QT05FTlRTLlJJR0hUX0RSQVdFUl9DT01QT05FTlQsXG4gICAgICAgICAgYWN0aW9uOiBxdWlja0xpbmsubGFiZWxcbiAgICAgICAgfVwiXG4gICAgICAgIHRhYmluZGV4PVwie3sgZHJhd2VyT3BlbiA/ICcwJyA6ICctMScgfX1cIlxuICAgICAgPlxuICAgICAgICA8aSAqbmdJZj1cInF1aWNrTGluay5pY29uXCIgY2xhc3M9XCJ7eyBxdWlja0xpbmsuaWNvbiB9fSBjOHktaWNvbi1kdW9jb2xvclwiPjwvaT5cbiAgICAgICAgPGltZ1xuICAgICAgICAgICpuZ0lmPVwicXVpY2tMaW5rLmljb25TcmNcIlxuICAgICAgICAgIFtzcmNdPVwicXVpY2tMaW5rLmljb25TcmNcIlxuICAgICAgICAgIHN0eWxlPVwibWF4LXdpZHRoOiAyMHB4XCJcbiAgICAgICAgICBjbGFzcz1cImltZy1yZXNwb25zaXZlXCJcbiAgICAgICAgICBvbmVycm9yPVwidGhpcy5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnXCJcbiAgICAgICAgLz5cbiAgICAgICAgPHNwYW4+e3sgcXVpY2tMaW5rLmxhYmVsIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgPC9hPlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gIDwvZGl2PlxuXG4gIDxkaXYgKm5nSWY9XCIoYXBwU3RhdGUkIHwgYXN5bmMpLnNob3dSaWdodERyYXdlciAmJiBoZWxwQW5kU3VwcG9ydC5sZW5ndGhcIlxuICAgIGNsYXNzPVwic2VwYXJhdG9yLXRvcCBwLXQtOCBwLWItOFwiPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYzh5LXJpZ2h0LWRyYXdlcl9fbGluayBzdGlja3ktdG9wXCIgKGNsaWNrKT1cImRvY3VtZW50YXRpb25PcGVuID0gIWRvY3VtZW50YXRpb25PcGVuXCJcbiAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiIWRvY3VtZW50YXRpb25Db2wuaXNDb2xsYXBzZWRcIiBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIidjb2xsYXBzZURvY3MnXCI+XG4gICAgICA8aSBjOHlJY29uPVwiYm9vay1zaGVsZlwiPjwvaT5cbiAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1ib2xkXCI+e3sgJ0RvY3VtZW50YXRpb24nIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgPGkgYzh5SWNvbj1cImFuZ2xlLWRvd25cIiBjbGFzcz1cIm0tbC1hdXRvXCIgW25nQ2xhc3NdPVwieydpY29uLXJvdGF0ZS0xODAnOiBkb2N1bWVudGF0aW9uT3BlbiB9XCI+PC9pPlxuICAgIDwvYnV0dG9uPlxuICAgIDxkaXYgY2xhc3M9XCJjb2xsYXBzZVwiIGlkPVwiY29sbGFwc2VEb2NzXCIgW2NvbGxhcHNlXT1cIiFkb2N1bWVudGF0aW9uT3BlblwiIFtpc0FuaW1hdGVkXT1cInRydWVcIiAjZG9jdW1lbnRhdGlvbkNvbD1cImJzLWNvbGxhcHNlXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBsaW5rIG9mIGhlbHBBbmRTdXBwb3J0XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsaW5rLmNvbXBvbmVudFwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nQ29tcG9uZW50T3V0bGV0PVwibGluay5jb21wb25lbnQ7IGluamVjdG9yOiBsaW5rLmluamVjdG9yXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8YVxuICAgICAgICAgICpuZ0lmPVwiIWxpbmsuY29tcG9uZW50XCJcbiAgICAgICAgICB0aXRsZT1cInt7IGxpbmsubGFiZWwgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiYzh5LXJpZ2h0LWRyYXdlcl9fbGlua1wiXG4gICAgICAgICAgdGFyZ2V0PVwiX2JsYW5rXCJcbiAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICBbaHJlZl09XCJsaW5rLnVybFwiXG4gICAgICAgICAgYzh5UHJvZHVjdEV4cGVyaWVuY2VcbiAgICAgICAgICBbYWN0aW9uTmFtZV09XCJQUk9EVUNUX0VYUEVSSUVOQ0UuUVVJQ0tfTElOS1MuRVZFTlRTLlFVSUNLX0xJTktfUklHSFRfRFJBV0VSXCJcbiAgICAgICAgICBbYWN0aW9uRGF0YV09XCJ7XG4gICAgICAgICAgICBjb21wb25lbnQ6IFBST0RVQ1RfRVhQRVJJRU5DRS5RVUlDS19MSU5LUy5DT01QT05FTlRTLlJJR0hUX0RSQVdFUl9DT01QT05FTlQsXG4gICAgICAgICAgICBhY3Rpb246IGxpbmsubGFiZWxcbiAgICAgICAgICB9XCJcbiAgICAgICAgICB0YWJpbmRleD1cInt7IGRyYXdlck9wZW4gPyAnMCcgOiAnLTEnIH19XCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuIHRpdGxlPVwie3sgbGluay5sYWJlbCB8IHRyYW5zbGF0ZSB9fVwiIGNsYXNzPVwidGV4dC10cnVuY2F0ZSB0ZXh0LTEyXCI+XG4gICAgICAgICAgICB7eyBsaW5rLmxhYmVsIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2E+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBUT0RPOiBtb3ZlIGxlZ2FsIG5vdGljZXMgaGVyZSAtLT5cbiAgPCEtLSA8ZGl2IGNsYXNzPVwic2VwYXJhdG9yLXRvcCBwLXQtOCBtLXQtYXV0b1wiPlxuICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJjOHktcmlnaHQtZHJhd2VyX19saW5rXCI+XG4gICAgICA8c21hbGw+TGVnYWwgbm90aWNlczwvc21hbGw+XG4gICAgPC9hPlxuICA8L2Rpdj4gLS0+XG48L2FzaWRlPlxuIl19
@@ -0,0 +1,15 @@
1
+ export const PRODUCT_EXPERIENCE = {
2
+ ACTION_BAR: {
3
+ EVENTS: { ACTION_BAR_ITEM: 'actionBarItem' },
4
+ COMPONENTS: { ACTION_BAR_COMPONENT: 'action-bar' },
5
+ ACTIONS: {},
6
+ RESULTS: {}
7
+ },
8
+ QUICK_LINKS: {
9
+ EVENTS: { QUICK_LINK_RIGHT_DRAWER: 'quickLinkRightDrawer' },
10
+ COMPONENTS: { RIGHT_DRAWER_COMPONENT: 'right-drawer' },
11
+ ACTIONS: {},
12
+ RESULTS: {}
13
+ }
14
+ };
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvc2hhcmVkL2NvcmUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDaEMsVUFBVSxFQUFFO1FBQ1YsTUFBTSxFQUFFLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRTtRQUM1QyxVQUFVLEVBQUUsRUFBRSxvQkFBb0IsRUFBRSxZQUFZLEVBQUU7UUFDbEQsT0FBTyxFQUFFLEVBQUU7UUFDWCxPQUFPLEVBQUUsRUFBRTtLQUNaO0lBQ0QsV0FBVyxFQUFFO1FBQ1gsTUFBTSxFQUFFLEVBQUUsdUJBQXVCLEVBQUUsc0JBQXNCLEVBQUU7UUFDM0QsVUFBVSxFQUFFLEVBQUUsc0JBQXNCLEVBQUUsY0FBYyxFQUFFO1FBQ3RELE9BQU8sRUFBRSxFQUFFO1FBQ1gsT0FBTyxFQUFFLEVBQUU7S0FDWjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgUFJPRFVDVF9FWFBFUklFTkNFID0ge1xuICBBQ1RJT05fQkFSOiB7XG4gICAgRVZFTlRTOiB7IEFDVElPTl9CQVJfSVRFTTogJ2FjdGlvbkJhckl0ZW0nIH0sXG4gICAgQ09NUE9ORU5UUzogeyBBQ1RJT05fQkFSX0NPTVBPTkVOVDogJ2FjdGlvbi1iYXInIH0sXG4gICAgQUNUSU9OUzoge30sXG4gICAgUkVTVUxUUzoge31cbiAgfSxcbiAgUVVJQ0tfTElOS1M6IHtcbiAgICBFVkVOVFM6IHsgUVVJQ0tfTElOS19SSUdIVF9EUkFXRVI6ICdxdWlja0xpbmtSaWdodERyYXdlcicgfSxcbiAgICBDT01QT05FTlRTOiB7IFJJR0hUX0RSQVdFUl9DT01QT05FTlQ6ICdyaWdodC1kcmF3ZXInIH0sXG4gICAgQUNUSU9OUzoge30sXG4gICAgUkVTVUxUUzoge31cbiAgfVxufTtcbiJdfQ==
@@ -1,6 +1,6 @@
1
- import { Injectable, Optional } from '@angular/core';
1
+ import { Injectable } from '@angular/core';
2
2
  import { InventoryService, UserService } from '@c8y/client';
3
- import { AlertService, DataGridService, GainsightService, gettext, ModalService, Status, UserPreferencesService } from '@c8y/ngx-components';
3
+ import { AlertService, DataGridService, gettext, ModalService, Status, UserPreferencesService } from '@c8y/ngx-components';
4
4
  import { TranslateService } from '@ngx-translate/core';
5
5
  import { AlarmsDeviceGridColumn } from './columns/alarms.device-grid-column';
6
6
  import { ColumnUtilService } from './columns/column-util.service';
@@ -18,7 +18,7 @@ import * as i2 from "@ngx-translate/core";
18
18
  import * as i3 from "@c8y/ngx-components";
19
19
  import * as i4 from "./columns/column-util.service";
20
20
  export class DeviceGridService extends DataGridService {
21
- constructor(inventoryService, userService, translateService, alertService, modal, columnUtilService, userPreferencesService, gainsightService) {
21
+ constructor(inventoryService, userService, translateService, alertService, modal, columnUtilService, userPreferencesService) {
22
22
  super(userPreferencesService);
23
23
  this.inventoryService = inventoryService;
24
24
  this.userService = userService;
@@ -27,7 +27,6 @@ export class DeviceGridService extends DataGridService {
27
27
  this.modal = modal;
28
28
  this.columnUtilService = columnUtilService;
29
29
  this.userPreferencesService = userPreferencesService;
30
- this.gainsightService = gainsightService;
31
30
  this.GRID_CONFIG_DEFAULT_STORAGE_KEY = 'device-grid-config';
32
31
  }
33
32
  getDefaultColumns() {
@@ -129,16 +128,10 @@ export class DeviceGridService extends DataGridService {
129
128
  });
130
129
  await this.inventoryService.delete(device, modalResult.confirmOptions);
131
130
  this.alertService.success(gettext('Device deleted.'));
132
- if (this.gainsightService) {
133
- this.gainsightService.triggerEvent('deviceGrid:EntryDeleted');
134
- }
135
131
  return Promise.resolve();
136
132
  }
137
133
  catch (ex) {
138
134
  // only if not cancel from modal
139
- if (this.gainsightService && !ex) {
140
- this.gainsightService.triggerEvent('deviceGrid:EntryDeletionCancelled');
141
- }
142
135
  if (ex) {
143
136
  this.alertService.addServerFailure(ex);
144
137
  }
@@ -234,14 +227,12 @@ export class DeviceGridService extends DataGridService {
234
227
  };
235
228
  }
236
229
  }
237
- DeviceGridService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DeviceGridService, deps: [{ token: i1.InventoryService }, { token: i1.UserService }, { token: i2.TranslateService }, { token: i3.AlertService }, { token: i3.ModalService }, { token: i4.ColumnUtilService }, { token: i3.UserPreferencesService }, { token: i3.GainsightService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
230
+ DeviceGridService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DeviceGridService, deps: [{ token: i1.InventoryService }, { token: i1.UserService }, { token: i2.TranslateService }, { token: i3.AlertService }, { token: i3.ModalService }, { token: i4.ColumnUtilService }, { token: i3.UserPreferencesService }], target: i0.ɵɵFactoryTarget.Injectable });
238
231
  DeviceGridService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DeviceGridService, providedIn: 'root' });
239
232
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DeviceGridService, decorators: [{
240
233
  type: Injectable,
241
234
  args: [{
242
235
  providedIn: 'root'
243
236
  }]
244
- }], ctorParameters: function () { return [{ type: i1.InventoryService }, { type: i1.UserService }, { type: i2.TranslateService }, { type: i3.AlertService }, { type: i3.ModalService }, { type: i4.ColumnUtilService }, { type: i3.UserPreferencesService }, { type: i3.GainsightService, decorators: [{
245
- type: Optional
246
- }] }]; } });
247
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWdyaWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2RldmljZS1ncmlkL2RldmljZS1ncmlkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckQsT0FBTyxFQUFrQixnQkFBZ0IsRUFBUyxXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkYsT0FBTyxFQUVMLFlBQVksRUFHWixlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLE9BQU8sRUFHUCxZQUFZLEVBR1osTUFBTSxFQUNOLHNCQUFzQixFQUN2QixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXZELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7QUFNbEYsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGVBQWU7SUFHcEQsWUFDWSxn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QUFDO0lBRUQsV0FBVyxDQUNULE1BQWtCLEVBQ2xCLE1BQWMsSUFBSSxDQUFDLCtCQUErQjtRQUVsRCxPQUFPLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTyxpQkFBaUIsQ0FDdkIsT0FBaUIsRUFDakIsVUFBc0IsRUFDdEIsS0FBVSxFQUNWLGtCQUE0QixFQUM1QixJQUFhO1FBRWIsT0FBTztZQUNMLEdBQUcsQ0FBQyxrQkFBa0I7Z0JBQ3BCLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFO2dCQUN0RCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3JELEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUNyQixRQUFRLEVBQUUsVUFBVSxDQUFDLFFBQVE7WUFDN0IsV0FBVyxFQUFFLFVBQVUsQ0FBQyxXQUFXO1lBQ25DLFlBQVksRUFBRSxLQUFLO1lBQ25CLGNBQWMsRUFBRSxJQUFJO1NBQ3JCLENBQUM7SUFDSixDQUFDOzs4R0FsU1UsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FGaEIsTUFBTTsyRkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFZSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElNYW5hZ2VkT2JqZWN0LCBJbnZlbnRvcnlTZXJ2aWNlLCBJVXNlciwgVXNlclNlcnZpY2UgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQge1xuICBBY3Rpb25Db250cm9sLFxuICBBbGVydFNlcnZpY2UsXG4gIEJ1bGtBY3Rpb25Db250cm9sLFxuICBDb2x1bW4sXG4gIERhdGFHcmlkU2VydmljZSxcbiAgR2FpbnNpZ2h0U2VydmljZSxcbiAgZ2V0dGV4dCxcbiAgR3JpZENvbmZpZyxcbiAgSGVhZGVyQWN0aW9uQ29udHJvbCxcbiAgTW9kYWxTZXJ2aWNlLFxuICBQYWdpbmF0aW9uLFxuICBSb3csXG4gIFN0YXR1cyxcbiAgVXNlclByZWZlcmVuY2VzU2VydmljZVxufSBmcm9tICdAYzh5L25neC1jb21wb25lbnRzJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFsYXJtc0RldmljZUdyaWRDb2x1bW4gfSBmcm9tICcuL2NvbHVtbnMvYWxhcm1zLmRldmljZS1ncmlkLWNvbHVtbic7XG5pbXBvcnQgeyBDb2x1bW5VdGlsU2VydmljZSB9IGZyb20gJy4vY29sdW1ucy9jb2x1bW4tdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7IEdyb3VwRGV2aWNlR3JpZENvbHVtbiB9IGZyb20gJy4vY29sdW1ucy9ncm91cC5kZXZpY2UtZ3JpZC1jb2x1bW4nO1xuaW1wb3J0IHsgSW1laURldmljZUdyaWRDb2x1bW4gfSBmcm9tICcuL2NvbHVtbnMvaW1laS5kZXZpY2UtZ3JpZC1jb2x1bW4nO1xuaW1wb3J0IHsgTW9kZWxEZXZpY2VHcmlkQ29sdW1uIH0gZnJvbSAnLi9jb2x1bW5zL21vZGVsLmRldmljZS1ncmlkLWNvbHVtbic7XG5pbXBvcnQgeyBOYW1lRGV2aWNlR3JpZENvbHVtbiB9IGZyb20gJy4vY29sdW1ucy9uYW1lLmRldmljZS1ncmlkLWNvbHVtbic7XG5pbXBvcnQgeyBSZWdpc3RyYXRpb25EYXRlRGV2aWNlR3JpZENvbHVtbiB9IGZyb20gJy4vY29sdW1ucy9yZWdpc3RyYXRpb24tZGF0ZS5kZXZpY2UtZ3JpZC1jb2x1bW4nO1xuaW1wb3J0IHsgU2VyaWFsTnVtYmVyRGV2aWNlR3JpZENvbHVtbiB9IGZyb20gJy4vY29sdW1ucy9zZXJpYWwtbnVtYmVyLmRldmljZS1ncmlkLWNvbHVtbic7XG5pbXBvcnQgeyBTdGF0dXNEZXZpY2VHcmlkQ29sdW1uIH0gZnJvbSAnLi9jb2x1bW5zL3N0YXR1cy5kZXZpY2UtZ3JpZC1jb2x1bW4nO1xuaW1wb3J0IHsgU3lzdGVtSWREZXZpY2VHcmlkQ29sdW1uIH0gZnJvbSAnLi9jb2x1bW5zL3N5c3RlbS1pZC5kZXZpY2UtZ3JpZC1jb2x1bW4nO1xuaW1wb3J0IHsgRGV2aWNlR3JpZEFjdGlvblR5cGUgfSBmcm9tICcuL2RldmljZS1ncmlkLm1vZGVsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRGV2aWNlR3JpZFNlcnZpY2UgZXh0ZW5kcyBEYXRhR3JpZFNlcnZpY2Uge1xuICBwcm90ZWN0ZWQgR1JJRF9DT05GSUdfREVGQVVMVF9TVE9SQUdFX0tFWSA9ICdkZXZpY2UtZ3JpZC1jb25maWcnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBpbnZlbnRvcnlTZXJ2aWNlOiBJbnZlbnRvcnlTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBtb2RhbDogTW9kYWxTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBjb2x1bW5VdGlsU2VydmljZTogQ29sdW1uVXRpbFNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHVzZXJQcmVmZXJlbmNlc1NlcnZpY2U6IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UsXG4gICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIGdhaW5zaWdodFNlcnZpY2U/OiBHYWluc2lnaHRTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKHVzZXJQcmVmZXJlbmNlc1NlcnZpY2UpO1xuICB9XG5cbiAgZ2V0RGVmYXVsdENvbHVtbnMoKTogQ29sdW1uW10ge1xuICAgIGNvbnN0IGRlZmF1bHRDb2x1bW5zID0gW1xuICAgICAgbmV3IFN0YXR1c0RldmljZUdyaWRDb2x1bW4oKSxcbiAgICAgIG5ldyBOYW1lRGV2aWNlR3JpZENvbHVtbigpLFxuICAgICAgbmV3IE1vZGVsRGV2aWNlR3JpZENvbHVtbigpLFxuICAgICAgbmV3IFNlcmlhbE51bWJlckRldmljZUdyaWRDb2x1bW4oKSxcbiAgICAgIG5ldyBHcm91cERldmljZUdyaWRDb2x1bW4oKSxcbiAgICAgIG5ldyBSZWdpc3RyYXRpb25EYXRlRGV2aWNlR3JpZENvbHVtbigpLFxuICAgICAgbmV3IFN5c3RlbUlkRGV2aWNlR3JpZENvbHVtbigpLFxuICAgICAgbmV3IEltZWlEZXZpY2VHcmlkQ29sdW1uKCksXG4gICAgICBuZXcgQWxhcm1zRGV2aWNlR3JpZENvbHVtbigpXG4gICAgXTtcblxuICAgIHJldHVybiBkZWZhdWx0Q29sdW1ucztcbiAgfVxuXG4gIGdldENoaWxkRGV2aWNlR3JpZENvbHVtbnMoKTogQ29sdW1uW10ge1xuICAgIGNvbnN0IGNoaWxkRGV2aWNlR3JpZENvbHVtbiA9IFtcbiAgICAgIG5ldyBTdGF0dXNEZXZpY2VHcmlkQ29sdW1uKCksXG4gICAgICBuZXcgTmFtZURldmljZUdyaWRDb2x1bW4oKSxcbiAgICAgIG5ldyBNb2RlbERldmljZUdyaWRDb2x1bW4oKSxcbiAgICAgIG5ldyBTZXJpYWxOdW1iZXJEZXZpY2VHcmlkQ29sdW1uKCksXG4gICAgICBuZXcgUmVnaXN0cmF0aW9uRGF0ZURldmljZUdyaWRDb2x1bW4oKSxcbiAgICAgIG5ldyBTeXN0ZW1JZERldmljZUdyaWRDb2x1bW4oKSxcbiAgICAgIG5ldyBJbWVpRGV2aWNlR3JpZENvbHVtbigpLFxuICAgICAgbmV3IEFsYXJtc0RldmljZUdyaWRDb2x1bW4oKVxuICAgIF07XG5cbiAgICByZXR1cm4gY2hpbGREZXZpY2VHcmlkQ29sdW1uO1xuICB9XG5cbiAgZ2V0RGVmYXVsdFBhZ2luYXRpb24oKTogUGFnaW5hdGlvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBhZ2VTaXplOiAyNSxcbiAgICAgIGN1cnJlbnRQYWdlOiAxXG4gICAgfTtcbiAgfVxuXG4gIGdldEluZmluaXRlU2Nyb2xsUGFnaW5hdGlvbigpOiBQYWdpbmF0aW9uIHtcbiAgICByZXR1cm4ge1xuICAgICAgcGFnZVNpemU6IDUwLFxuICAgICAgY3VycmVudFBhZ2U6IDFcbiAgICB9O1xuICB9XG5cbiAgZ2V0RGVmYXVsdEFjdGlvbkNvbnRyb2xzKCk6IEFjdGlvbkNvbnRyb2xbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdHlwZTogRGV2aWNlR3JpZEFjdGlvblR5cGUuRGVsZXRlLFxuICAgICAgICBjYWxsYmFjazogKGl0ZW06IFJvdykgPT4gdGhpcy5kZWxldGUoaXRlbSBhcyBJTWFuYWdlZE9iamVjdClcbiAgICAgIH1cbiAgICBdO1xuICB9XG5cbiAgZ2V0RGVmYXVsdEJ1bGtBY3Rpb25Db250cm9scygpOiBCdWxrQWN0aW9uQ29udHJvbFtdIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBnZXREZWZhdWx0SGVhZGVyQWN0aW9uQ29udHJvbHMoKTogSGVhZGVyQWN0aW9uQ29udHJvbFtdIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBnZXRQcm9wZXJOYW1lKGRldmljZTogSU1hbmFnZWRPYmplY3QpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvbHVtblV0aWxTZXJ2aWNlLmdldFByb3Blck5hbWUoZGV2aWNlKTtcbiAgfVxuXG4gIGdldE1vZGVsKGRldmljZTogSU1hbmFnZWRPYmplY3QpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvbHVtblV0aWxTZXJ2aWNlLmdldE1vZGVsKGRldmljZSk7XG4gIH1cblxuICBnZXRTZXJpYWxOdW1iZXIoZGV2aWNlOiBJTWFuYWdlZE9iamVjdCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1uVXRpbFNlcnZpY2UuZ2V0U2VyaWFsTnVtYmVyKGRldmljZSk7XG4gIH1cblxuICBnZXRQYXJlbnRzTmFtZXMoZGV2aWNlOiBJTWFuYWdlZE9iamVjdCwgZmVhdHVyZWRQYXJlbnRJZD86IHN0cmluZyB8IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1uVXRpbFNlcnZpY2UuZ2V0UGFyZW50c05hbWVzKGRldmljZSwgZmVhdHVyZWRQYXJlbnRJZCk7XG4gIH1cblxuICBnZXRIcmVmKGdyb3VwT3JEZXZpY2U6IElNYW5hZ2VkT2JqZWN0LCBwcmVmaXggPSAnIy8nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5VdGlsU2VydmljZS5nZXRIcmVmKGdyb3VwT3JEZXZpY2UsIHByZWZpeCk7XG4gIH1cblxuICBnZXRBbGFybXNIcmVmKGRldmljZTogSU1hbmFnZWRPYmplY3QpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvbHVtblV0aWxTZXJ2aWNlLmdldEFsYXJtc0hyZWYoZGV2aWNlKTtcbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZShkZXZpY2U6IElNYW5hZ2VkT2JqZWN0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRldmljZVdpdGhDaGlsZHJlbiA9IGF3YWl0IChcbiAgICAgICAgYXdhaXQgdGhpcy5pbnZlbnRvcnlTZXJ2aWNlLmRldGFpbChkZXZpY2UsIHsgd2l0aENoaWxkcmVuOiB0cnVlIH0pXG4gICAgICApLmRhdGE7XG4gICAgICBjb25zdCBoYXNDaGlsZERldmljZXMgPSBkZXZpY2VXaXRoQ2hpbGRyZW4uY2hpbGREZXZpY2VzPy5yZWZlcmVuY2VzPy5sZW5ndGggPiAwO1xuICAgICAgY29uc3QgaGFzQ2hpbGRBZGRpdGlvbnMgPSBkZXZpY2VXaXRoQ2hpbGRyZW4uY2hpbGRBZGRpdGlvbnM/LnJlZmVyZW5jZXM/Lmxlbmd0aCA+IDA7XG4gICAgICBjb25zdCBoYXNDaGlsZEFzc2V0cyA9IGRldmljZVdpdGhDaGlsZHJlbi5jaGlsZEFzc2V0cz8ucmVmZXJlbmNlcz8ubGVuZ3RoID4gMDtcbiAgICAgIGNvbnN0IHNob3dEZWxldGVDaGlsZHJlbiA9ICgpID0+IGhhc0NoaWxkQWRkaXRpb25zIHx8IGhhc0NoaWxkRGV2aWNlcyB8fCBoYXNDaGlsZEFzc2V0cztcbiAgICAgIGNvbnN0IG1vZGFsUmVzdWx0ID0gYXdhaXQgdGhpcy5tb2RhbC5jb25maXJtKFxuICAgICAgICBnZXR0ZXh0KCdEZWxldGUgZGV2aWNlJyksXG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICAgIGdldHRleHQoYFlvdSBhcmUgYWJvdXQgdG8gZGVsZXRlIGRldmljZSBcInt7IG5hbWUgfX1cIi4gRG8geW91IHdhbnQgdG8gcHJvY2VlZD9gKSxcbiAgICAgICAgICBkZXZpY2VcbiAgICAgICAgKSxcbiAgICAgICAgU3RhdHVzLkRBTkdFUixcbiAgICAgICAgeyBvazogZ2V0dGV4dCgnRGVsZXRlJyksIGNhbmNlbDogZ2V0dGV4dCgnQ2FuY2VsJykgfSxcbiAgICAgICAge1xuICAgICAgICAgIGNhc2NhZGU6IHtcbiAgICAgICAgICAgIHRleHQ6IGdldHRleHQoJ0Fsc28gZGVsZXRlIGNoaWxkIGhpZXJhcmNoeSBvZiB0aGlzIGRldmljZS4nKSxcbiAgICAgICAgICAgIGNoZWNrZWQ6IHNob3dEZWxldGVDaGlsZHJlbigpLFxuICAgICAgICAgICAgc2hvd0lmOiBzaG93RGVsZXRlQ2hpbGRyZW4sXG4gICAgICAgICAgICBkaXNhYmxlZEJ5S2V5OiAnd2l0aERldmljZVVzZXInXG4gICAgICAgICAgfSxcbiAgICAgICAgICB3aXRoRGV2aWNlVXNlcjoge1xuICAgICAgICAgICAgdGV4dDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgICAgIGdldHRleHQoJ0Fsc28gZGVsZXRlIGFzc29jaWF0ZWQgZGV2aWNlIG93bmVyIFwie3sgb3duZXIgfX1cIi4nKSxcbiAgICAgICAgICAgICAgZGV2aWNlXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgY2hlY2tlZDogZmFsc2UsXG4gICAgICAgICAgICBzaG93SWY6ICgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgaXNSb290RGV2aWNlID0gZGV2aWNlLmM4eV9Jc0RldmljZTtcbiAgICAgICAgICAgICAgY29uc3QgaGFzRGV2aWNlVXNlckFzT3duZXIgPVxuICAgICAgICAgICAgICAgIGRldmljZS5vd25lciAmJlxuICAgICAgICAgICAgICAgIHRoaXMudXNlclNlcnZpY2UuaXNEZXZpY2VVc2VyKHsgaWQ6IGRldmljZS5vd25lciB9IGFzIHVua25vd24gYXMgSVVzZXIpO1xuXG4gICAgICAgICAgICAgIHJldHVybiBCb29sZWFuKGlzUm9vdERldmljZSAmJiBoYXNEZXZpY2VVc2VyQXNPd25lcik7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGlzYWJsZWRCeUtleTogJ2Nhc2NhZGUnXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgYXdhaXQgdGhpcy5pbnZlbnRvcnlTZXJ2aWNlLmRlbGV0ZShcbiAgICAgICAgZGV2aWNlLFxuICAgICAgICAobW9kYWxSZXN1bHQgYXMgeyBjb25maXJtT3B0aW9uczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB9KS5jb25maXJtT3B0aW9uc1xuICAgICAgKTtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3MoZ2V0dGV4dCgnRGV2aWNlIGRlbGV0ZWQuJykpO1xuICAgICAgaWYgKHRoaXMuZ2FpbnNpZ2h0U2VydmljZSkge1xuICAgICAgICB0aGlzLmdhaW5zaWdodFNlcnZpY2UudHJpZ2dlckV2ZW50KCdkZXZpY2VHcmlkOkVudHJ5RGVsZXRlZCcpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAvLyBvbmx5IGlmIG5vdCBjYW5jZWwgZnJvbSBtb2RhbFxuICAgICAgaWYgKHRoaXMuZ2FpbnNpZ2h0U2VydmljZSAmJiAhZXgpIHtcbiAgICAgICAgdGhpcy5nYWluc2lnaHRTZXJ2aWNlLnRyaWdnZXJFdmVudCgnZGV2aWNlR3JpZDpFbnRyeURlbGV0aW9uQ2FuY2VsbGVkJyk7XG4gICAgICB9XG4gICAgICBpZiAoZXgpIHtcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkU2VydmVyRmFpbHVyZShleCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBnZXREYXRhKFxuICAgIGNvbHVtbnM6IENvbHVtbltdLFxuICAgIHBhZ2luYXRpb246IFBhZ2luYXRpb24sXG4gICAgcXVlcnk6IGFueSA9IHt9LFxuICAgIHdpdGhDaGlsZHJlbjogYm9vbGVhbiA9IGZhbHNlLFxuICAgIHRleHQ6IHN0cmluZyA9IG51bGxcbiAgKSB7XG4gICAgY29uc3QgZmlsdGVycyA9IHtcbiAgICAgIC4uLnRoaXMuZ2V0RGV2aWNlc0ZpbHRlcnMoY29sdW1ucywgcGFnaW5hdGlvbiwgcXVlcnksIGZhbHNlLCB0ZXh0KSxcbiAgICAgIHdpdGhHcm91cHM6IHRydWUsXG4gICAgICB3aXRoQ2hpbGRyZW5cbiAgICB9O1xuICAgIHJldHVybiB0aGlzLmludmVudG9yeVNlcnZpY2UubGlzdChmaWx0ZXJzKTtcbiAgfVxuXG4gIGFzeW5jIGdldENoaWxkRGV2aWNlRGF0YShcbiAgICBjb2x1bW5zOiBDb2x1bW5bXSxcbiAgICBwYWdpbmF0aW9uOiBQYWdpbmF0aW9uLFxuICAgIHF1ZXJ5OiBhbnkgPSB7fSxcbiAgICB3aXRoQ2hpbGRyZW46IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBpZDogc3RyaW5nXG4gICkge1xuICAgIGNvbnN0IGNoaWxkRGV2aWNlRmlsdGVycyA9IHRydWU7XG4gICAgY29uc3QgZmlsdGVycyA9IHtcbiAgICAgIC4uLnRoaXMuZ2V0RGV2aWNlc0ZpbHRlcnMoY29sdW1ucywgcGFnaW5hdGlvbiwgcXVlcnksIGNoaWxkRGV2aWNlRmlsdGVycyksXG4gICAgICB3aXRoR3JvdXBzOiB0cnVlLFxuICAgICAgd2l0aENoaWxkcmVuXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5pbnZlbnRvcnlTZXJ2aWNlLmNoaWxkRGV2aWNlc0xpc3QoaWQsIGZpbHRlcnMpO1xuICB9XG5cbiAgYXN5bmMgZ2V0Q291bnQoY29sdW1uczogQ29sdW1uW10sIHBhZ2luYXRpb246IFBhZ2luYXRpb24sIHF1ZXJ5OiBhbnkgPSB7fSwgdGV4dDogc3RyaW5nID0gbnVsbCkge1xuICAgIGNvbnN0IGZpbHRlcnMgPSB7XG4gICAgICAuLi50aGlzLmdldERldmljZXNGaWx0ZXJzKGNvbHVtbnMsIHBhZ2luYXRpb24sIHF1ZXJ5LCBmYWxzZSwgdGV4dCksXG4gICAgICBwYWdlU2l6ZTogMSxcbiAgICAgIGN1cnJlbnRQYWdlOiAxXG4gICAgfTtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuaW52ZW50b3J5U2VydmljZS5saXN0KGZpbHRlcnMpKS5wYWdpbmcudG90YWxQYWdlcztcbiAgfVxuXG4gIGFzeW5jIGdldENvdW50Q2hpbGREZXZpY2VzKFxuICAgIGNvbHVtbnM6IENvbHVtbltdLFxuICAgIHBhZ2luYXRpb246IFBhZ2luYXRpb24sXG4gICAgcXVlcnk6IGFueSA9IHt9LFxuICAgIGlkOiBzdHJpbmdcbiAgKSB7XG4gICAgY29uc3QgY2hpbGREZXZpY2VGaWx0ZXJzID0gdHJ1ZTtcbiAgICBjb25zdCBmaWx0ZXJzID0ge1xuICAgICAgLi4udGhpcy5nZXREZXZpY2VzRmlsdGVycyhjb2x1bW5zLCBwYWdpbmF0aW9uLCBxdWVyeSwgY2hpbGREZXZpY2VGaWx0ZXJzKSxcbiAgICAgIHBhZ2VTaXplOiAxLFxuICAgICAgY3VycmVudFBhZ2U6IDFcbiAgICB9O1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5pbnZlbnRvcnlTZXJ2aWNlLmNoaWxkRGV2aWNlc0xpc3QoaWQsIGZpbHRlcnMpKS5wYWdpbmcudG90YWxQYWdlcztcbiAgfVxuXG4gIGFzeW5jIGdldFRvdGFsQ2hpbGREZXZpY2VzKHF1ZXJ5OiBhbnkgPSB7fSwgaWQ6IHN0cmluZyk6IFByb21pc2U8bnVtYmVyPiB7XG4gICAgY29uc3QgZmlsdGVycyA9IHtcbiAgICAgIHE6IHRoaXMucXVlcmllc1V0aWwuYnVpbGRRdWVyeShxdWVyeSksXG4gICAgICBwYWdlU2l6ZTogMSxcbiAgICAgIHdpdGhUb3RhbFBhZ2VzOiB0cnVlXG4gICAgfTtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuaW52ZW50b3J5U2VydmljZS5jaGlsZERldmljZXNMaXN0KGlkLCBmaWx0ZXJzKSkucGFnaW5nLnRvdGFsUGFnZXM7XG4gIH1cblxuICBhc3luYyBnZXRUb3RhbChxdWVyeTogYW55ID0ge30pOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIGNvbnN0IGZpbHRlcnMgPSB7XG4gICAgICBxOiB0aGlzLnF1ZXJpZXNVdGlsLmJ1aWxkUXVlcnkocXVlcnkpLFxuICAgICAgcGFnZVNpemU6IDEsXG4gICAgICB3aXRoVG90YWxQYWdlczogdHJ1ZVxuICAgIH07XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmludmVudG9yeVNlcnZpY2UubGlzdChmaWx0ZXJzKSkucGFnaW5nLnRvdGFsUGFnZXM7XG4gIH1cblxuICBnZXREZXZpY2VRdWVyeVN0cmluZyhjb2x1bW5zOiBDb2x1bW5bXSwgcXVlcnk6IGFueSk6IHN0cmluZyB7XG4gICAgbGV0IGZ1bGxRdWVyeSA9IHRoaXMuZ2V0UXVlcnlPYmooY29sdW1ucyk7XG4gICAgZnVsbFF1ZXJ5ID0gdGhpcy5xdWVyaWVzVXRpbC5hZGRBbmRGaWx0ZXIoZnVsbFF1ZXJ5LCBxdWVyeSk7XG4gICAgcmV0dXJuIHRoaXMucXVlcmllc1V0aWwuYnVpbGRRdWVyeShmdWxsUXVlcnkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBnZXRDb25maWckKGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxHcmlkQ29uZmlnPiBpbnN0ZWFkLlxuICAgKi9cbiAgZ2V0Q29uZmlnKGtleTogc3RyaW5nID0gdGhpcy5HUklEX0NPTkZJR19ERUZBVUxUX1NUT1JBR0VfS0VZKTogR3JpZENvbmZpZyB7XG4gICAgcmV0dXJuIHN1cGVyLmdldENvbmZpZyhrZXkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBzYXZlQ29uZmlnJChjb25maWc6IEdyaWRDb25maWcsIGtleTogc3RyaW5nKTogUHJvbWlzZTxHcmlkQ29uZmlnPiBpbnN0ZWFkLlxuICAgKi9cbiAgc2F2ZUNvbmZpZyhjb25maWc6IEdyaWRDb25maWcsIGtleTogc3RyaW5nID0gdGhpcy5HUklEX0NPTkZJR19ERUZBVUxUX1NUT1JBR0VfS0VZKSB7XG4gICAgc3VwZXIuc2F2ZUNvbmZpZyhjb25maWcsIGtleSk7XG4gIH1cblxuICBjbGVhckNvbmZpZyhrZXk6IHN0cmluZyA9IHRoaXMuR1JJRF9DT05GSUdfREVGQVVMVF9TVE9SQUdFX0tFWSkge1xuICAgIHN1cGVyLmNsZWFyQ29uZmlnKGtleSk7XG4gIH1cblxuICBnZXRDb25maWckKGtleTogc3RyaW5nID0gdGhpcy5HUklEX0NPTkZJR19ERUZBVUxUX1NUT1JBR0VfS0VZKTogT2JzZXJ2YWJsZTxHcmlkQ29uZmlnPiB7XG4gICAgcmV0dXJuIHN1cGVyLmdldENvbmZpZyQoa2V5KTtcbiAgfVxuXG4gIHNhdmVDb25maWckKFxuICAgIGNvbmZpZzogR3JpZENvbmZpZyxcbiAgICBrZXk6IHN0cmluZyA9IHRoaXMuR1JJRF9DT05GSUdfREVGQVVMVF9TVE9SQUdFX0tFWVxuICApOiBPYnNlcnZhYmxlPEdyaWRDb25maWc+IHtcbiAgICByZXR1cm4gc3VwZXIuc2F2ZUNvbmZpZyQoY29uZmlnLCBrZXkpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREZXZpY2VzRmlsdGVycyhcbiAgICBjb2x1bW5zOiBDb2x1bW5bXSxcbiAgICBwYWdpbmF0aW9uOiBQYWdpbmF0aW9uLFxuICAgIHF1ZXJ5OiBhbnksXG4gICAgY2hpbGREZXZpY2VGaWx0ZXJzPzogYm9vbGVhbixcbiAgICB0ZXh0Pzogc3RyaW5nXG4gICkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi4oY2hpbGREZXZpY2VGaWx0ZXJzXG4gICAgICAgID8geyBxdWVyeTogdGhpcy5nZXREZXZpY2VRdWVyeVN0cmluZyhjb2x1bW5zLCBxdWVyeSkgfVxuICAgICAgICA6IHsgcTogdGhpcy5nZXREZXZpY2VRdWVyeVN0cmluZyhjb2x1bW5zLCBxdWVyeSkgfSksXG4gICAgICAuLi4odGV4dCAmJiB7IHRleHQgfSksXG4gICAgICBwYWdlU2l6ZTogcGFnaW5hdGlvbi5wYWdlU2l6ZSxcbiAgICAgIGN1cnJlbnRQYWdlOiBwYWdpbmF0aW9uLmN1cnJlbnRQYWdlLFxuICAgICAgd2l0aENoaWxkcmVuOiBmYWxzZSxcbiAgICAgIHdpdGhUb3RhbFBhZ2VzOiB0cnVlXG4gICAgfTtcbiAgfVxufVxuIl19
237
+ }], ctorParameters: function () { return [{ type: i1.InventoryService }, { type: i1.UserService }, { type: i2.TranslateService }, { type: i3.AlertService }, { type: i3.ModalService }, { type: i4.ColumnUtilService }, { type: i3.UserPreferencesService }]; } });
238
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2aWNlLWdyaWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2RldmljZS1ncmlkL2RldmljZS1ncmlkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWtCLGdCQUFnQixFQUFTLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNuRixPQUFPLEVBRUwsWUFBWSxFQUdaLGVBQWUsRUFDZixPQUFPLEVBR1AsWUFBWSxFQUdaLE1BQU0sRUFDTixzQkFBc0IsRUFDdkIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNsRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUMxRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7O0FBTWxGLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxlQUFlO0lBR3BELFlBQ1ksZ0JBQWtDLEVBQ2xDLFdBQXdCLEVBQ3hC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Q0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUU7Z0JBQ3RELENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDckQsR0FBRyxDQUFDLElBQUksSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ3JCLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUTtZQUM3QixXQUFXLEVBQUUsVUFBVSxDQUFDLFdBQVc7WUFDbkMsWUFBWSxFQUFFLEtBQUs7WUFDbkIsY0FBYyxFQUFFLElBQUk7U0FDckIsQ0FBQztJQUNKLENBQUM7OzhHQTNSVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZoQixNQUFNOzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJTWFuYWdlZE9iamVjdCwgSW52ZW50b3J5U2VydmljZSwgSVVzZXIsIFVzZXJTZXJ2aWNlIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHtcbiAgQWN0aW9uQ29udHJvbCxcbiAgQWxlcnRTZXJ2aWNlLFxuICBCdWxrQWN0aW9uQ29udHJvbCxcbiAgQ29sdW1uLFxuICBEYXRhR3JpZFNlcnZpY2UsXG4gIGdldHRleHQsXG4gIEdyaWRDb25maWcsXG4gIEhlYWRlckFjdGlvbkNvbnRyb2wsXG4gIE1vZGFsU2VydmljZSxcbiAgUGFnaW5hdGlvbixcbiAgUm93LFxuICBTdGF0dXMsXG4gIFVzZXJQcmVmZXJlbmNlc1NlcnZpY2Vcbn0gZnJvbSAnQGM4eS9uZ3gtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBbGFybXNEZXZpY2VHcmlkQ29sdW1uIH0gZnJvbSAnLi9jb2x1bW5zL2FsYXJtcy5kZXZpY2UtZ3JpZC1jb2x1bW4nO1xuaW1wb3J0IHsgQ29sdW1uVXRpbFNlcnZpY2UgfSBmcm9tICcuL2NvbHVtbnMvY29sdW1uLXV0aWwuc2VydmljZSc7XG5pbXBvcnQgeyBHcm91cERldmljZUdyaWRDb2x1bW4gfSBmcm9tICcuL2NvbHVtbnMvZ3JvdXAuZGV2aWNlLWdyaWQtY29sdW1uJztcbmltcG9ydCB7IEltZWlEZXZpY2VHcmlkQ29sdW1uIH0gZnJvbSAnLi9jb2x1bW5zL2ltZWkuZGV2aWNlLWdyaWQtY29sdW1uJztcbmltcG9ydCB7IE1vZGVsRGV2aWNlR3JpZENvbHVtbiB9IGZyb20gJy4vY29sdW1ucy9tb2RlbC5kZXZpY2UtZ3JpZC1jb2x1bW4nO1xuaW1wb3J0IHsgTmFtZURldmljZUdyaWRDb2x1bW4gfSBmcm9tICcuL2NvbHVtbnMvbmFtZS5kZXZpY2UtZ3JpZC1jb2x1bW4nO1xuaW1wb3J0IHsgUmVnaXN0cmF0aW9uRGF0ZURldmljZUdyaWRDb2x1bW4gfSBmcm9tICcuL2NvbHVtbnMvcmVnaXN0cmF0aW9uLWRhdGUuZGV2aWNlLWdyaWQtY29sdW1uJztcbmltcG9ydCB7IFNlcmlhbE51bWJlckRldmljZUdyaWRDb2x1bW4gfSBmcm9tICcuL2NvbHVtbnMvc2VyaWFsLW51bWJlci5kZXZpY2UtZ3JpZC1jb2x1bW4nO1xuaW1wb3J0IHsgU3RhdHVzRGV2aWNlR3JpZENvbHVtbiB9IGZyb20gJy4vY29sdW1ucy9zdGF0dXMuZGV2aWNlLWdyaWQtY29sdW1uJztcbmltcG9ydCB7IFN5c3RlbUlkRGV2aWNlR3JpZENvbHVtbiB9IGZyb20gJy4vY29sdW1ucy9zeXN0ZW0taWQuZGV2aWNlLWdyaWQtY29sdW1uJztcbmltcG9ydCB7IERldmljZUdyaWRBY3Rpb25UeXBlIH0gZnJvbSAnLi9kZXZpY2UtZ3JpZC5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERldmljZUdyaWRTZXJ2aWNlIGV4dGVuZHMgRGF0YUdyaWRTZXJ2aWNlIHtcbiAgcHJvdGVjdGVkIEdSSURfQ09ORklHX0RFRkFVTFRfU1RPUkFHRV9LRVkgPSAnZGV2aWNlLWdyaWQtY29uZmlnJztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaW52ZW50b3J5U2VydmljZTogSW52ZW50b3J5U2VydmljZSxcbiAgICBwcm90ZWN0ZWQgdXNlclNlcnZpY2U6IFVzZXJTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcbiAgICBwcm90ZWN0ZWQgbW9kYWw6IE1vZGFsU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgY29sdW1uVXRpbFNlcnZpY2U6IENvbHVtblV0aWxTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCB1c2VyUHJlZmVyZW5jZXNTZXJ2aWNlOiBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKHVzZXJQcmVmZXJlbmNlc1NlcnZpY2UpO1xuICB9XG5cbiAgZ2V0RGVmYXVsdENvbHVtbnMoKTogQ29sdW1uW10ge1xuICAgIGNvbnN0IGRlZmF1bHRDb2x1bW5zID0gW1xuICAgICAgbmV3IFN0YXR1c0RldmljZUdyaWRDb2x1bW4oKSxcbiAgICAgIG5ldyBOYW1lRGV2aWNlR3JpZENvbHVtbigpLFxuICAgICAgbmV3IE1vZGVsRGV2aWNlR3JpZENvbHVtbigpLFxuICAgICAgbmV3IFNlcmlhbE51bWJlckRldmljZUdyaWRDb2x1bW4oKSxcbiAgICAgIG5ldyBHcm91cERldmljZUdyaWRDb2x1bW4oKSxcbiAgICAgIG5ldyBSZWdpc3RyYXRpb25EYXRlRGV2aWNlR3JpZENvbHVtbigpLFxuICAgICAgbmV3IFN5c3RlbUlkRGV2aWNlR3JpZENvbHVtbigpLFxuICAgICAgbmV3IEltZWlEZXZpY2VHcmlkQ29sdW1uKCksXG4gICAgICBuZXcgQWxhcm1zRGV2aWNlR3JpZENvbHVtbigpXG4gICAgXTtcblxuICAgIHJldHVybiBkZWZhdWx0Q29sdW1ucztcbiAgfVxuXG4gIGdldENoaWxkRGV2aWNlR3JpZENvbHVtbnMoKTogQ29sdW1uW10ge1xuICAgIGNvbnN0IGNoaWxkRGV2aWNlR3JpZENvbHVtbiA9IFtcbiAgICAgIG5ldyBTdGF0dXNEZXZpY2VHcmlkQ29sdW1uKCksXG4gICAgICBuZXcgTmFtZURldmljZUdyaWRDb2x1bW4oKSxcbiAgICAgIG5ldyBNb2RlbERldmljZUdyaWRDb2x1bW4oKSxcbiAgICAgIG5ldyBTZXJpYWxOdW1iZXJEZXZpY2VHcmlkQ29sdW1uKCksXG4gICAgICBuZXcgUmVnaXN0cmF0aW9uRGF0ZURldmljZUdyaWRDb2x1bW4oKSxcbiAgICAgIG5ldyBTeXN0ZW1JZERldmljZUdyaWRDb2x1bW4oKSxcbiAgICAgIG5ldyBJbWVpRGV2aWNlR3JpZENvbHVtbigpLFxuICAgICAgbmV3IEFsYXJtc0RldmljZUdyaWRDb2x1bW4oKVxuICAgIF07XG5cbiAgICByZXR1cm4gY2hpbGREZXZpY2VHcmlkQ29sdW1uO1xuICB9XG5cbiAgZ2V0RGVmYXVsdFBhZ2luYXRpb24oKTogUGFnaW5hdGlvbiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBhZ2VTaXplOiAyNSxcbiAgICAgIGN1cnJlbnRQYWdlOiAxXG4gICAgfTtcbiAgfVxuXG4gIGdldEluZmluaXRlU2Nyb2xsUGFnaW5hdGlvbigpOiBQYWdpbmF0aW9uIHtcbiAgICByZXR1cm4ge1xuICAgICAgcGFnZVNpemU6IDUwLFxuICAgICAgY3VycmVudFBhZ2U6IDFcbiAgICB9O1xuICB9XG5cbiAgZ2V0RGVmYXVsdEFjdGlvbkNvbnRyb2xzKCk6IEFjdGlvbkNvbnRyb2xbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHtcbiAgICAgICAgdHlwZTogRGV2aWNlR3JpZEFjdGlvblR5cGUuRGVsZXRlLFxuICAgICAgICBjYWxsYmFjazogKGl0ZW06IFJvdykgPT4gdGhpcy5kZWxldGUoaXRlbSBhcyBJTWFuYWdlZE9iamVjdClcbiAgICAgIH1cbiAgICBdO1xuICB9XG5cbiAgZ2V0RGVmYXVsdEJ1bGtBY3Rpb25Db250cm9scygpOiBCdWxrQWN0aW9uQ29udHJvbFtdIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBnZXREZWZhdWx0SGVhZGVyQWN0aW9uQ29udHJvbHMoKTogSGVhZGVyQWN0aW9uQ29udHJvbFtdIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBnZXRQcm9wZXJOYW1lKGRldmljZTogSU1hbmFnZWRPYmplY3QpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvbHVtblV0aWxTZXJ2aWNlLmdldFByb3Blck5hbWUoZGV2aWNlKTtcbiAgfVxuXG4gIGdldE1vZGVsKGRldmljZTogSU1hbmFnZWRPYmplY3QpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvbHVtblV0aWxTZXJ2aWNlLmdldE1vZGVsKGRldmljZSk7XG4gIH1cblxuICBnZXRTZXJpYWxOdW1iZXIoZGV2aWNlOiBJTWFuYWdlZE9iamVjdCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1uVXRpbFNlcnZpY2UuZ2V0U2VyaWFsTnVtYmVyKGRldmljZSk7XG4gIH1cblxuICBnZXRQYXJlbnRzTmFtZXMoZGV2aWNlOiBJTWFuYWdlZE9iamVjdCwgZmVhdHVyZWRQYXJlbnRJZD86IHN0cmluZyB8IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1uVXRpbFNlcnZpY2UuZ2V0UGFyZW50c05hbWVzKGRldmljZSwgZmVhdHVyZWRQYXJlbnRJZCk7XG4gIH1cblxuICBnZXRIcmVmKGdyb3VwT3JEZXZpY2U6IElNYW5hZ2VkT2JqZWN0LCBwcmVmaXggPSAnIy8nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5VdGlsU2VydmljZS5nZXRIcmVmKGdyb3VwT3JEZXZpY2UsIHByZWZpeCk7XG4gIH1cblxuICBnZXRBbGFybXNIcmVmKGRldmljZTogSU1hbmFnZWRPYmplY3QpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvbHVtblV0aWxTZXJ2aWNlLmdldEFsYXJtc0hyZWYoZGV2aWNlKTtcbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZShkZXZpY2U6IElNYW5hZ2VkT2JqZWN0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGRldmljZVdpdGhDaGlsZHJlbiA9IGF3YWl0IChcbiAgICAgICAgYXdhaXQgdGhpcy5pbnZlbnRvcnlTZXJ2aWNlLmRldGFpbChkZXZpY2UsIHsgd2l0aENoaWxkcmVuOiB0cnVlIH0pXG4gICAgICApLmRhdGE7XG4gICAgICBjb25zdCBoYXNDaGlsZERldmljZXMgPSBkZXZpY2VXaXRoQ2hpbGRyZW4uY2hpbGREZXZpY2VzPy5yZWZlcmVuY2VzPy5sZW5ndGggPiAwO1xuICAgICAgY29uc3QgaGFzQ2hpbGRBZGRpdGlvbnMgPSBkZXZpY2VXaXRoQ2hpbGRyZW4uY2hpbGRBZGRpdGlvbnM/LnJlZmVyZW5jZXM/Lmxlbmd0aCA+IDA7XG4gICAgICBjb25zdCBoYXNDaGlsZEFzc2V0cyA9IGRldmljZVdpdGhDaGlsZHJlbi5jaGlsZEFzc2V0cz8ucmVmZXJlbmNlcz8ubGVuZ3RoID4gMDtcbiAgICAgIGNvbnN0IHNob3dEZWxldGVDaGlsZHJlbiA9ICgpID0+IGhhc0NoaWxkQWRkaXRpb25zIHx8IGhhc0NoaWxkRGV2aWNlcyB8fCBoYXNDaGlsZEFzc2V0cztcbiAgICAgIGNvbnN0IG1vZGFsUmVzdWx0ID0gYXdhaXQgdGhpcy5tb2RhbC5jb25maXJtKFxuICAgICAgICBnZXR0ZXh0KCdEZWxldGUgZGV2aWNlJyksXG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFxuICAgICAgICAgIGdldHRleHQoYFlvdSBhcmUgYWJvdXQgdG8gZGVsZXRlIGRldmljZSBcInt7IG5hbWUgfX1cIi4gRG8geW91IHdhbnQgdG8gcHJvY2VlZD9gKSxcbiAgICAgICAgICBkZXZpY2VcbiAgICAgICAgKSxcbiAgICAgICAgU3RhdHVzLkRBTkdFUixcbiAgICAgICAgeyBvazogZ2V0dGV4dCgnRGVsZXRlJyksIGNhbmNlbDogZ2V0dGV4dCgnQ2FuY2VsJykgfSxcbiAgICAgICAge1xuICAgICAgICAgIGNhc2NhZGU6IHtcbiAgICAgICAgICAgIHRleHQ6IGdldHRleHQoJ0Fsc28gZGVsZXRlIGNoaWxkIGhpZXJhcmNoeSBvZiB0aGlzIGRldmljZS4nKSxcbiAgICAgICAgICAgIGNoZWNrZWQ6IHNob3dEZWxldGVDaGlsZHJlbigpLFxuICAgICAgICAgICAgc2hvd0lmOiBzaG93RGVsZXRlQ2hpbGRyZW4sXG4gICAgICAgICAgICBkaXNhYmxlZEJ5S2V5OiAnd2l0aERldmljZVVzZXInXG4gICAgICAgICAgfSxcbiAgICAgICAgICB3aXRoRGV2aWNlVXNlcjoge1xuICAgICAgICAgICAgdGV4dDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXG4gICAgICAgICAgICAgIGdldHRleHQoJ0Fsc28gZGVsZXRlIGFzc29jaWF0ZWQgZGV2aWNlIG93bmVyIFwie3sgb3duZXIgfX1cIi4nKSxcbiAgICAgICAgICAgICAgZGV2aWNlXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgY2hlY2tlZDogZmFsc2UsXG4gICAgICAgICAgICBzaG93SWY6ICgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgaXNSb290RGV2aWNlID0gZGV2aWNlLmM4eV9Jc0RldmljZTtcbiAgICAgICAgICAgICAgY29uc3QgaGFzRGV2aWNlVXNlckFzT3duZXIgPVxuICAgICAgICAgICAgICAgIGRldmljZS5vd25lciAmJlxuICAgICAgICAgICAgICAgIHRoaXMudXNlclNlcnZpY2UuaXNEZXZpY2VVc2VyKHsgaWQ6IGRldmljZS5vd25lciB9IGFzIHVua25vd24gYXMgSVVzZXIpO1xuXG4gICAgICAgICAgICAgIHJldHVybiBCb29sZWFuKGlzUm9vdERldmljZSAmJiBoYXNEZXZpY2VVc2VyQXNPd25lcik7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGlzYWJsZWRCeUtleTogJ2Nhc2NhZGUnXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgYXdhaXQgdGhpcy5pbnZlbnRvcnlTZXJ2aWNlLmRlbGV0ZShcbiAgICAgICAgZGV2aWNlLFxuICAgICAgICAobW9kYWxSZXN1bHQgYXMgeyBjb25maXJtT3B0aW9uczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB9KS5jb25maXJtT3B0aW9uc1xuICAgICAgKTtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnN1Y2Nlc3MoZ2V0dGV4dCgnRGV2aWNlIGRlbGV0ZWQuJykpO1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAvLyBvbmx5IGlmIG5vdCBjYW5jZWwgZnJvbSBtb2RhbFxuICAgICAgaWYgKGV4KSB7XG4gICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZFNlcnZlckZhaWx1cmUoZXgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KCk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZ2V0RGF0YShcbiAgICBjb2x1bW5zOiBDb2x1bW5bXSxcbiAgICBwYWdpbmF0aW9uOiBQYWdpbmF0aW9uLFxuICAgIHF1ZXJ5OiBhbnkgPSB7fSxcbiAgICB3aXRoQ2hpbGRyZW46IGJvb2xlYW4gPSBmYWxzZSxcbiAgICB0ZXh0OiBzdHJpbmcgPSBudWxsXG4gICkge1xuICAgIGNvbnN0IGZpbHRlcnMgPSB7XG4gICAgICAuLi50aGlzLmdldERldmljZXNGaWx0ZXJzKGNvbHVtbnMsIHBhZ2luYXRpb24sIHF1ZXJ5LCBmYWxzZSwgdGV4dCksXG4gICAgICB3aXRoR3JvdXBzOiB0cnVlLFxuICAgICAgd2l0aENoaWxkcmVuXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcy5pbnZlbnRvcnlTZXJ2aWNlLmxpc3QoZmlsdGVycyk7XG4gIH1cblxuICBhc3luYyBnZXRDaGlsZERldmljZURhdGEoXG4gICAgY29sdW1uczogQ29sdW1uW10sXG4gICAgcGFnaW5hdGlvbjogUGFnaW5hdGlvbixcbiAgICBxdWVyeTogYW55ID0ge30sXG4gICAgd2l0aENoaWxkcmVuOiBib29sZWFuID0gZmFsc2UsXG4gICAgaWQ6IHN0cmluZ1xuICApIHtcbiAgICBjb25zdCBjaGlsZERldmljZUZpbHRlcnMgPSB0cnVlO1xuICAgIGNvbnN0IGZpbHRlcnMgPSB7XG4gICAgICAuLi50aGlzLmdldERldmljZXNGaWx0ZXJzKGNvbHVtbnMsIHBhZ2luYXRpb24sIHF1ZXJ5LCBjaGlsZERldmljZUZpbHRlcnMpLFxuICAgICAgd2l0aEdyb3VwczogdHJ1ZSxcbiAgICAgIHdpdGhDaGlsZHJlblxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuaW52ZW50b3J5U2VydmljZS5jaGlsZERldmljZXNMaXN0KGlkLCBmaWx0ZXJzKTtcbiAgfVxuXG4gIGFzeW5jIGdldENvdW50KGNvbHVtbnM6IENvbHVtbltdLCBwYWdpbmF0aW9uOiBQYWdpbmF0aW9uLCBxdWVyeTogYW55ID0ge30sIHRleHQ6IHN0cmluZyA9IG51bGwpIHtcbiAgICBjb25zdCBmaWx0ZXJzID0ge1xuICAgICAgLi4udGhpcy5nZXREZXZpY2VzRmlsdGVycyhjb2x1bW5zLCBwYWdpbmF0aW9uLCBxdWVyeSwgZmFsc2UsIHRleHQpLFxuICAgICAgcGFnZVNpemU6IDEsXG4gICAgICBjdXJyZW50UGFnZTogMVxuICAgIH07XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmludmVudG9yeVNlcnZpY2UubGlzdChmaWx0ZXJzKSkucGFnaW5nLnRvdGFsUGFnZXM7XG4gIH1cblxuICBhc3luYyBnZXRDb3VudENoaWxkRGV2aWNlcyhcbiAgICBjb2x1bW5zOiBDb2x1bW5bXSxcbiAgICBwYWdpbmF0aW9uOiBQYWdpbmF0aW9uLFxuICAgIHF1ZXJ5OiBhbnkgPSB7fSxcbiAgICBpZDogc3RyaW5nXG4gICkge1xuICAgIGNvbnN0IGNoaWxkRGV2aWNlRmlsdGVycyA9IHRydWU7XG4gICAgY29uc3QgZmlsdGVycyA9IHtcbiAgICAgIC4uLnRoaXMuZ2V0RGV2aWNlc0ZpbHRlcnMoY29sdW1ucywgcGFnaW5hdGlvbiwgcXVlcnksIGNoaWxkRGV2aWNlRmlsdGVycyksXG4gICAgICBwYWdlU2l6ZTogMSxcbiAgICAgIGN1cnJlbnRQYWdlOiAxXG4gICAgfTtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuaW52ZW50b3J5U2VydmljZS5jaGlsZERldmljZXNMaXN0KGlkLCBmaWx0ZXJzKSkucGFnaW5nLnRvdGFsUGFnZXM7XG4gIH1cblxuICBhc3luYyBnZXRUb3RhbENoaWxkRGV2aWNlcyhxdWVyeTogYW55ID0ge30sIGlkOiBzdHJpbmcpOiBQcm9taXNlPG51bWJlcj4ge1xuICAgIGNvbnN0IGZpbHRlcnMgPSB7XG4gICAgICBxOiB0aGlzLnF1ZXJpZXNVdGlsLmJ1aWxkUXVlcnkocXVlcnkpLFxuICAgICAgcGFnZVNpemU6IDEsXG4gICAgICB3aXRoVG90YWxQYWdlczogdHJ1ZVxuICAgIH07XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmludmVudG9yeVNlcnZpY2UuY2hpbGREZXZpY2VzTGlzdChpZCwgZmlsdGVycykpLnBhZ2luZy50b3RhbFBhZ2VzO1xuICB9XG5cbiAgYXN5bmMgZ2V0VG90YWwocXVlcnk6IGFueSA9IHt9KTogUHJvbWlzZTxudW1iZXI+IHtcbiAgICBjb25zdCBmaWx0ZXJzID0ge1xuICAgICAgcTogdGhpcy5xdWVyaWVzVXRpbC5idWlsZFF1ZXJ5KHF1ZXJ5KSxcbiAgICAgIHBhZ2VTaXplOiAxLFxuICAgICAgd2l0aFRvdGFsUGFnZXM6IHRydWVcbiAgICB9O1xuICAgIHJldHVybiAoYXdhaXQgdGhpcy5pbnZlbnRvcnlTZXJ2aWNlLmxpc3QoZmlsdGVycykpLnBhZ2luZy50b3RhbFBhZ2VzO1xuICB9XG5cbiAgZ2V0RGV2aWNlUXVlcnlTdHJpbmcoY29sdW1uczogQ29sdW1uW10sIHF1ZXJ5OiBhbnkpOiBzdHJpbmcge1xuICAgIGxldCBmdWxsUXVlcnkgPSB0aGlzLmdldFF1ZXJ5T2JqKGNvbHVtbnMpO1xuICAgIGZ1bGxRdWVyeSA9IHRoaXMucXVlcmllc1V0aWwuYWRkQW5kRmlsdGVyKGZ1bGxRdWVyeSwgcXVlcnkpO1xuICAgIHJldHVybiB0aGlzLnF1ZXJpZXNVdGlsLmJ1aWxkUXVlcnkoZnVsbFF1ZXJ5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2UgZ2V0Q29uZmlnJChrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8R3JpZENvbmZpZz4gaW5zdGVhZC5cbiAgICovXG4gIGdldENvbmZpZyhrZXk6IHN0cmluZyA9IHRoaXMuR1JJRF9DT05GSUdfREVGQVVMVF9TVE9SQUdFX0tFWSk6IEdyaWRDb25maWcge1xuICAgIHJldHVybiBzdXBlci5nZXRDb25maWcoa2V5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBVc2Ugc2F2ZUNvbmZpZyQoY29uZmlnOiBHcmlkQ29uZmlnLCBrZXk6IHN0cmluZyk6IFByb21pc2U8R3JpZENvbmZpZz4gaW5zdGVhZC5cbiAgICovXG4gIHNhdmVDb25maWcoY29uZmlnOiBHcmlkQ29uZmlnLCBrZXk6IHN0cmluZyA9IHRoaXMuR1JJRF9DT05GSUdfREVGQVVMVF9TVE9SQUdFX0tFWSkge1xuICAgIHN1cGVyLnNhdmVDb25maWcoY29uZmlnLCBrZXkpO1xuICB9XG5cbiAgY2xlYXJDb25maWcoa2V5OiBzdHJpbmcgPSB0aGlzLkdSSURfQ09ORklHX0RFRkFVTFRfU1RPUkFHRV9LRVkpIHtcbiAgICBzdXBlci5jbGVhckNvbmZpZyhrZXkpO1xuICB9XG5cbiAgZ2V0Q29uZmlnJChrZXk6IHN0cmluZyA9IHRoaXMuR1JJRF9DT05GSUdfREVGQVVMVF9TVE9SQUdFX0tFWSk6IE9ic2VydmFibGU8R3JpZENvbmZpZz4ge1xuICAgIHJldHVybiBzdXBlci5nZXRDb25maWckKGtleSk7XG4gIH1cblxuICBzYXZlQ29uZmlnJChcbiAgICBjb25maWc6IEdyaWRDb25maWcsXG4gICAga2V5OiBzdHJpbmcgPSB0aGlzLkdSSURfQ09ORklHX0RFRkFVTFRfU1RPUkFHRV9LRVlcbiAgKTogT2JzZXJ2YWJsZTxHcmlkQ29uZmlnPiB7XG4gICAgcmV0dXJuIHN1cGVyLnNhdmVDb25maWckKGNvbmZpZywga2V5KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RGV2aWNlc0ZpbHRlcnMoXG4gICAgY29sdW1uczogQ29sdW1uW10sXG4gICAgcGFnaW5hdGlvbjogUGFnaW5hdGlvbixcbiAgICBxdWVyeTogYW55LFxuICAgIGNoaWxkRGV2aWNlRmlsdGVycz86IGJvb2xlYW4sXG4gICAgdGV4dD86IHN0cmluZ1xuICApIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uKGNoaWxkRGV2aWNlRmlsdGVyc1xuICAgICAgICA/IHsgcXVlcnk6IHRoaXMuZ2V0RGV2aWNlUXVlcnlTdHJpbmcoY29sdW1ucywgcXVlcnkpIH1cbiAgICAgICAgOiB7IHE6IHRoaXMuZ2V0RGV2aWNlUXVlcnlTdHJpbmcoY29sdW1ucywgcXVlcnkpIH0pLFxuICAgICAgLi4uKHRleHQgJiYgeyB0ZXh0IH0pLFxuICAgICAgcGFnZVNpemU6IHBhZ2luYXRpb24ucGFnZVNpemUsXG4gICAgICBjdXJyZW50UGFnZTogcGFnaW5hdGlvbi5jdXJyZW50UGFnZSxcbiAgICAgIHdpdGhDaGlsZHJlbjogZmFsc2UsXG4gICAgICB3aXRoVG90YWxQYWdlczogdHJ1ZVxuICAgIH07XG4gIH1cbn1cbiJdfQ==