ngx-edu-sharing-ui 9.1.1 → 9999.0.0

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 (100) hide show
  1. package/assets/scss/variables-scss.scss +2 -0
  2. package/assets/scss/variables.scss +2 -1
  3. package/esm2022/lib/actionbar/actionbar.component.mjs +6 -6
  4. package/esm2022/lib/common/edu-sharing-ui-common.module.mjs +4 -4
  5. package/esm2022/lib/directives/border-box-observer.directive.mjs +5 -5
  6. package/esm2022/lib/directives/check-text-overflow.directive.mjs +5 -5
  7. package/esm2022/lib/directives/drag-nodes/nodes-drag-source.directive.mjs +5 -5
  8. package/esm2022/lib/directives/drag-nodes/nodes-drag.directive.mjs +5 -5
  9. package/esm2022/lib/directives/drag-nodes/nodes-drop-target.directive.mjs +5 -5
  10. package/esm2022/lib/directives/focus-state.directive.mjs +5 -5
  11. package/esm2022/lib/directives/icon.directive.mjs +6 -6
  12. package/esm2022/lib/directives/infinite-scroll.directive.mjs +5 -5
  13. package/esm2022/lib/dropdown/dropdown.component.mjs +6 -6
  14. package/esm2022/lib/edu-sharing-ui-configuration.mjs +3 -3
  15. package/esm2022/lib/edu-sharing-ui.module.mjs +9 -5
  16. package/esm2022/lib/list-items/format-duration.pipe.mjs +3 -3
  17. package/esm2022/lib/list-items/list-base/list-base.component.mjs +5 -5
  18. package/esm2022/lib/list-items/list-collection-info/list-collection-info.component.mjs +5 -5
  19. package/esm2022/lib/list-items/list-counts/list-counts.component.mjs +4 -4
  20. package/esm2022/lib/list-items/list-items.module.mjs +4 -4
  21. package/esm2022/lib/list-items/list-node-license/list-node-license.component.mjs +5 -5
  22. package/esm2022/lib/list-items/list-node-replication-source/list-node-replication-source.component.mjs +5 -5
  23. package/esm2022/lib/list-items/list-node-workflow/list-node-workflow.component.mjs +5 -5
  24. package/esm2022/lib/list-items/list-text/list-text.component.mjs +8 -10
  25. package/esm2022/lib/list-items/list-widget.mjs +5 -5
  26. package/esm2022/lib/list-items/node-row/node-row.component.mjs +5 -5
  27. package/esm2022/lib/list-items/node-source.pipe.mjs +5 -5
  28. package/esm2022/lib/mds/mds-helper.service.mjs +167 -0
  29. package/esm2022/lib/mds/mds.module.mjs +16 -0
  30. package/esm2022/lib/node-entries/drag-preview/drag-preview.component.mjs +3 -3
  31. package/esm2022/lib/node-entries/items-cap.mjs +1 -1
  32. package/esm2022/lib/node-entries/list-item-label.pipe.mjs +5 -5
  33. package/esm2022/lib/node-entries/node-cache.mjs +1 -1
  34. package/esm2022/lib/node-entries/node-data-source-remote.mjs +1 -1
  35. package/esm2022/lib/node-entries/node-data-source.mjs +1 -1
  36. package/esm2022/lib/node-entries/node-entries-card/node-entries-card.component.mjs +7 -7
  37. package/esm2022/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.mjs +6 -6
  38. package/esm2022/lib/node-entries/node-entries-card-small/node-entries-card-small.component.mjs +6 -6
  39. package/esm2022/lib/node-entries/node-entries-global-options/node-entries-global-options.component.mjs +10 -6
  40. package/esm2022/lib/node-entries/node-entries-global.service.mjs +5 -5
  41. package/esm2022/lib/node-entries/node-entries-table/column-chooser/column-chooser.component.mjs +6 -6
  42. package/esm2022/lib/node-entries/node-entries-table/node-entries-table.component.mjs +6 -6
  43. package/esm2022/lib/node-entries/node-entries-templates.service.mjs +4 -4
  44. package/esm2022/lib/node-entries/node-entries-wrapper.component.mjs +5 -5
  45. package/esm2022/lib/node-entries/node-entries.component.mjs +6 -6
  46. package/esm2022/lib/node-entries/node-entries.module.mjs +4 -4
  47. package/esm2022/lib/node-entries/node-rating/node-rating.component.mjs +5 -5
  48. package/esm2022/lib/node-entries/node-stats-badges/node-stats-badges.component.mjs +6 -6
  49. package/esm2022/lib/node-entries/node-type-badge/node-type-badge.component.mjs +5 -5
  50. package/esm2022/lib/node-entries/option-button/option-button.component.mjs +5 -5
  51. package/esm2022/lib/node-entries/preview-image/preview-image.component.mjs +5 -5
  52. package/esm2022/lib/node-entries/sort-select-panel/sort-select-panel.component.mjs +5 -5
  53. package/esm2022/lib/node-url/node-url.component.mjs +5 -5
  54. package/esm2022/lib/pipes/file-size.pipe.mjs +5 -5
  55. package/esm2022/lib/pipes/format-date.pipe.mjs +5 -5
  56. package/esm2022/lib/pipes/node-icon.pipe.mjs +4 -4
  57. package/esm2022/lib/pipes/node-image-size.pipe.mjs +4 -4
  58. package/esm2022/lib/pipes/node-image.pipe.mjs +5 -5
  59. package/esm2022/lib/pipes/node-person-name.pipe.mjs +5 -5
  60. package/esm2022/lib/pipes/node-title.pipe.mjs +4 -4
  61. package/esm2022/lib/pipes/option-tooltip.pipe.mjs +5 -5
  62. package/esm2022/lib/pipes/property-slug.pipe.mjs +3 -3
  63. package/esm2022/lib/pipes/replace-chars.pipe.mjs +5 -5
  64. package/esm2022/lib/pipes/vcard-name.pipe.mjs +4 -4
  65. package/esm2022/lib/services/abstract/keyboard-shortcuts.service.mjs +3 -3
  66. package/esm2022/lib/services/accessibility.service.mjs +5 -5
  67. package/esm2022/lib/services/app-container.service.mjs +5 -5
  68. package/esm2022/lib/services/local-events.service.mjs +3 -3
  69. package/esm2022/lib/services/node-entries.service.mjs +5 -5
  70. package/esm2022/lib/services/node-helper.service.mjs +6 -6
  71. package/esm2022/lib/services/nodes-drag-drop.service.mjs +5 -5
  72. package/esm2022/lib/services/options-helper-data.service.mjs +6 -6
  73. package/esm2022/lib/services/repo-url.service.mjs +5 -5
  74. package/esm2022/lib/services/temporary-storage.service.mjs +5 -5
  75. package/esm2022/lib/services/ui.service.mjs +5 -5
  76. package/esm2022/lib/sort-dropdown/sort-dropdown.component.mjs +5 -5
  77. package/esm2022/lib/spinner/spinner.component.mjs +6 -6
  78. package/esm2022/lib/translations/translation-loader.mjs +12 -9
  79. package/esm2022/lib/translations/translations.module.mjs +7 -7
  80. package/esm2022/lib/translations/translations.service.mjs +16 -8
  81. package/esm2022/lib/util/DateHelper.mjs +1 -1
  82. package/esm2022/lib/util/VCard.mjs +1 -1
  83. package/esm2022/lib/util/color-helper.mjs +1 -1
  84. package/esm2022/lib/util/duration-helper.mjs +1 -1
  85. package/esm2022/lib/util/helper.mjs +1 -1
  86. package/esm2022/lib/util/rest-helper.mjs +1 -1
  87. package/esm2022/module.mjs +3 -1
  88. package/fesm2022/ngx-edu-sharing-ui.mjs +539 -350
  89. package/fesm2022/ngx-edu-sharing-ui.mjs.map +1 -1
  90. package/lib/edu-sharing-ui.module.d.ts +7 -6
  91. package/lib/list-items/list-text/list-text.component.d.ts +1 -1
  92. package/lib/list-items/list-widget.d.ts +1 -1
  93. package/lib/mds/mds-helper.service.d.ts +37 -0
  94. package/lib/mds/mds.module.d.ts +6 -0
  95. package/lib/node-entries/node-data-source-remote.d.ts +2 -2
  96. package/lib/node-entries/node-entries-global-options/node-entries-global-options.component.d.ts +1 -0
  97. package/lib/types/option-item.d.ts +21 -21
  98. package/lib/util/ui-constants.d.ts +2 -2
  99. package/module.d.ts +2 -0
  100. package/package.json +5 -5
@@ -121,14 +121,14 @@ export class OptionsHelperDataService {
121
121
  pasteNode(nodes = []) {
122
122
  this.optionsHelperService.pasteNode(this.components, this.data, nodes);
123
123
  }
124
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: OptionsHelperDataService, deps: [{ token: i0.NgZone }, { token: i1.ActivatedRoute }, { token: i2.LocalEventsService }, { token: i3.AuthenticationService }, { token: i3.UserService }, { token: i3.NetworkService }, { token: i4.KeyboardShortcutsService, optional: true }, { token: i5.OptionsHelperService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
125
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: OptionsHelperDataService }); }
124
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: OptionsHelperDataService, deps: [{ token: i0.NgZone }, { token: i1.ActivatedRoute }, { token: i2.LocalEventsService }, { token: i3.AuthenticationService }, { token: i3.UserService }, { token: i3.NetworkService }, { token: i4.KeyboardShortcutsService, optional: true }, { token: i5.OptionsHelperService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
125
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: OptionsHelperDataService }); }
126
126
  }
127
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: OptionsHelperDataService, decorators: [{
127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: OptionsHelperDataService, decorators: [{
128
128
  type: Injectable
129
- }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.ActivatedRoute }, { type: i2.LocalEventsService }, { type: i3.AuthenticationService }, { type: i3.UserService }, { type: i3.NetworkService }, { type: i4.KeyboardShortcutsService, decorators: [{
129
+ }], ctorParameters: () => [{ type: i0.NgZone }, { type: i1.ActivatedRoute }, { type: i2.LocalEventsService }, { type: i3.AuthenticationService }, { type: i3.UserService }, { type: i3.NetworkService }, { type: i4.KeyboardShortcutsService, decorators: [{
130
130
  type: Optional
131
131
  }] }, { type: i5.OptionsHelperService, decorators: [{
132
132
  type: Optional
133
- }] }]; } });
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy1oZWxwZXItZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9zZXJ2aWNlcy9vcHRpb25zLWhlbHBlci1kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQXlCLEVBQUUsRUFBcUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBb0MsTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3hELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7O0FBNkJ2RSxNQUFNLE9BQU8sd0JBQXdCO0lBWWpDLFlBQ1ksTUFBYyxFQUNkLEtBQXFCLEVBQ3JCLFdBQStCLEVBQy9CLHFCQUE0QyxFQUM1QyxXQUF3QixFQUN4QixjQUE4QixFQUNsQix3QkFBa0QsRUFDbEQsb0JBQTBDO1FBUHRELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDbEIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBZjFELGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRS9CLHNC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b3duL2Ryb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBY3Rpb25iYXJDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpb25iYXIvYWN0aW9uYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICAgIExpc3RFdmVudEludGVyZmFjZSxcbiAgICBOb2RlRW50cmllc0RhdGFUeXBlLFxuICAgIE5vZGVFbnRyaWVzRGlzcGxheVR5cGUsXG59IGZyb20gJy4uL25vZGUtZW50cmllcy9lbnRyaWVzLW1vZGVsJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSwgTmdab25lLCBPbkRlc3Ryb3ksIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UsIE1FLCBOZXR3b3JrU2VydmljZSwgTm9kZSwgVXNlclNlcnZpY2UgfSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcbmltcG9ydCB7IHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEN1c3RvbU9wdGlvbnMsIE9wdGlvbkl0ZW0sIFNjb3BlLCBUYXJnZXQgfSBmcm9tICcuLi90eXBlcy9vcHRpb24taXRlbSc7XG5pbXBvcnQgeyBPcHRpb25zSGVscGVyU2VydmljZSB9IGZyb20gJy4vYWJzdHJhY3Qvb3B0aW9ucy1oZWxwZXIuc2VydmljZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWF0Y2hlc1Nob3J0Y3V0Q29uZGl0aW9uIH0gZnJvbSAnLi4vdHlwZXMva2V5Ym9hcmQtc2hvcnRjdXRzJztcbmltcG9ydCB7IEtleWJvYXJkU2hvcnRjdXRzU2VydmljZSB9IGZyb20gJy4vYWJzdHJhY3Qva2V5Ym9hcmQtc2hvcnRjdXRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgTG9jYWxFdmVudHNTZXJ2aWNlIH0gZnJvbSAnLi9sb2NhbC1ldmVudHMuc2VydmljZSc7XG5cbnR5cGUgRGVsZXRlRXZlbnQgPSB7XG4gICAgb2JqZWN0czogTm9kZVtdIHwgYW55O1xuICAgIGNvdW50OiBudW1iZXI7XG4gICAgZXJyb3I6IGJvb2xlYW47XG59O1xuZXhwb3J0IGludGVyZmFjZSBPcHRpb25zSGVscGVyQ29tcG9uZW50cyB7XG4gICAgYWN0aW9uYmFyOiBBY3Rpb25iYXJDb21wb25lbnQ7XG4gICAgZHJvcGRvd246IERyb3Bkb3duQ29tcG9uZW50O1xuICAgIGxpc3Q6IExpc3RFdmVudEludGVyZmFjZTxOb2RlRW50cmllc0RhdGFUeXBlPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcHRpb25EYXRhIHtcbiAgICBzY29wZTogU2NvcGU7XG4gICAgYWN0aXZlT2JqZWN0cz86IE5vZGVbXSB8IGFueVtdO1xuICAgIHNlbGVjdGVkT2JqZWN0cz86IE5vZGVbXSB8IGFueVtdO1xuICAgIGFsbE9iamVjdHM/OiBOb2RlW10gfCBhbnlbXTtcbiAgICBwYXJlbnQ/OiBOb2RlIHwgYW55O1xuICAgIGN1c3RvbU9wdGlvbnM/OiBDdXN0b21PcHRpb25zO1xuICAgIC8qKlxuICAgICAqIGN1c3RvbSBpbnRlcmNlcHRvciB0byBtb2RpZnkgdGhlIGRlZmF1bHQgb3B0aW9ucyBhcnJheVxuICAgICAqL1xuICAgIHBvc3RQcmVwYXJlT3B0aW9ucz86IChvcHRpb25zOiBPcHRpb25JdGVtW10sIG9iamVjdHM6IE5vZGVbXSkgPT4gdm9pZDtcbn1cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPcHRpb25zSGVscGVyRGF0YVNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgY29tcG9uZW50czogT3B0aW9uc0hlbHBlckNvbXBvbmVudHM7XG4gICAgcHJpdmF0ZSBkYXRhOiBPcHRpb25EYXRhO1xuICAgIHByaXZhdGUga2V5Ym9hcmRTaG9ydGN1dHNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgICBwcml2YXRlIGdsb2JhbE9wdGlvbnM6IE9wdGlvbkl0ZW1bXTtcbiAgICBwcml2YXRlIGRlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICByZWFkb25seSB2aXJ0dWFsTm9kZXNBZGRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Tm9kZVtdPigpO1xuICAgIHJlYWRvbmx5IG5vZGVzQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Tm9kZVtdIHwgdm9pZD4oKTtcbiAgICByZWFkb25seSBub2Rlc0RlbGV0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPERlbGV0ZUV2ZW50PigpO1xuICAgIHJlYWRvbmx5IGRpc3BsYXlUeXBlQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Tm9kZUVudHJpZXNEaXNwbGF5VHlwZT4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIG5nWm9uZTogTmdab25lLFxuICAgICAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSBsb2NhbEV2ZW50czogTG9jYWxFdmVudHNTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGF1dGhlbnRpY2F0aW9uU2VydmljZTogQXV0aGVudGljYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHVzZXJTZXJ2aWNlOiBVc2VyU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBuZXR3b3JrU2VydmljZTogTmV0d29ya1NlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUga2V5Ym9hcmRTaG9ydGN1dHNTZXJ2aWNlOiBLZXlib2FyZFNob3J0Y3V0c1NlcnZpY2UsXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgb3B0aW9uc0hlbHBlclNlcnZpY2U6IE9wdGlvbnNIZWxwZXJTZXJ2aWNlLFxuICAgICkge1xuICAgICAgICB0aGlzLnJlZ2lzdGVyU3RhdGljU3Vic2NyaXB0aW9ucygpO1xuICAgIH1cbiAgICAvKiogUGVyZm9ybXMgc3Vic2NyaXB0aW9ucyB0aGF0IGRvbid0IGhhdmUgdG8gYmUgcmVmcmVzaGVkLiAqL1xuICAgIHByaXZhdGUgcmVnaXN0ZXJTdGF0aWNTdWJzY3JpcHRpb25zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxvY2FsRXZlbnRzLm5vZGVzRGVsZXRlZFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKG5vZGVzKSA9PiB0aGlzLmNvbXBvbmVudHM/Lmxpc3Q/LmRlbGV0ZU5vZGVzKG5vZGVzKSk7XG4gICAgICAgIHRoaXMubG9jYWxFdmVudHMubm9kZXNDaGFuZ2VkXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgobm9kZXMpID0+IHRoaXMuY29tcG9uZW50cz8ubGlzdD8udXBkYXRlTm9kZXMobm9kZXMpKTtcbiAgICB9XG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveWVkLm5leHQoKTtcbiAgICAgICAgdGhpcy5kZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBhc3luYyBpbml0Q29tcG9uZW50cyhcbiAgICAgICAgYWN0aW9uYmFyOiBBY3Rpb25iYXJDb21wb25lbnQgPSBudWxsLFxuICAgICAgICBsaXN0OiBMaXN0RXZlbnRJbnRlcmZhY2U8Tm9kZUVudHJpZXNEYXRhVHlwZT4gPSBudWxsLFxuICAgICAgICBkcm9wZG93bjogRHJvcGRvd25Db21wb25lbnQgPSBudWxsLFxuICAgICkge1xuICAgICAgICB0aGlzLmNvbXBvbmVudHMgPSB7XG4gICAgICAgICAgICBhY3Rpb25iYXIsXG4gICAgICAgICAgICBsaXN0LFxuICAgICAgICAgICAgZHJvcGRvd24sXG4gICAgICAgIH07XG4gICAgICAgIGlmICgoYXdhaXQgdGhpcy51c2VyU2VydmljZS5nZXRVc2VyKE1FKS5waXBlKHRha2UoMSkpLnRvUHJvbWlzZSgpKS5wZXJzb24uYXV0aG9yaXR5TmFtZSkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5uZXR3b3JrU2VydmljZS5nZXRSZXBvc2l0b3JpZXMoKS5waXBlKHRha2UoMSkpLnRvUHJvbWlzZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0RGF0YSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YTtcbiAgICB9XG5cbiAgICBzZXREYXRhKGRhdGE6IE9wdGlvbkRhdGEpIHtcbiAgICAgICAgdGhpcy5kYXRhID0gdGhpcy5vcHRpb25zSGVscGVyU2VydmljZS53cmFwT3B0aW9uQ2FsbGJhY2tzKGRhdGEpO1xuICAgIH1cblxuICAgIGFzeW5jIHJlZnJlc2hDb21wb25lbnRzKHJlZnJlc2hMaXN0T3B0aW9ucyA9IHRydWUpIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YSA9PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ29wdGlvbnMgaGVscGVyIHJlZnJlc2ggY2FsbGVkIGJ1dCBubyBkYXRhIHByZXZpb3VzbHkgYm91bmQnKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5vcHRpb25zSGVscGVyU2VydmljZSA9PSBudWxsKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ29wdGlvbnNIZWxwZXJTZXJ2aWNlIG5vdCBwcm92aWRlZC4gTm8gZGVmYXVsdCBhY3Rpb25zIHdpbGwgYmUgZ2VuZXJhdGVkJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5nbG9iYWxPcHRpb25zID0gYXdhaXQgdGhpcy5nZXRBdmFpbGFibGVPcHRpb25zKFRhcmdldC5BY3Rpb25iYXIpO1xuICAgICAgICBhd2FpdCB0aGlzLm9wdGlvbnNIZWxwZXJTZXJ2aWNlPy5yZWZyZXNoQ29tcG9uZW50cyhcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50cyxcbiAgICAgICAgICAgIHRoaXMuZGF0YSxcbiAgICAgICAgICAgIHJlZnJlc2hMaXN0T3B0aW9ucyxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBnZXRBdmFpbGFibGVPcHRpb25zKHRhcmdldDogVGFyZ2V0LCBvYmplY3RzOiBOb2RlW10gPSBudWxsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnNIZWxwZXJTZXJ2aWNlPy5nZXRBdmFpbGFibGVPcHRpb25zKFxuICAgICAgICAgICAgdGFyZ2V0LFxuICAgICAgICAgICAgb2JqZWN0cyxcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50cyxcbiAgICAgICAgICAgIHRoaXMuZGF0YSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZFZpcnR1YWxPYmplY3RzKG9iamVjdHM6IGFueVtdKSB7XG4gICAgICAgIG9iamVjdHMgPSBvYmplY3RzLm1hcCgobzogYW55KSA9PiB7XG4gICAgICAgICAgICBvLnZpcnR1YWwgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuIG87XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnZpcnR1YWxOb2Rlc0FkZGVkLmVtaXQob2JqZWN0cyk7XG4gICAgICAgIGlmICh0aGlzLmNvbXBvbmVudHM/Lmxpc3QpIHtcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50cz8ubGlzdC5hZGRWaXJ0dWFsTm9kZXMob2JqZWN0cyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3Rlckdsb2JhbEtleWJvYXJkU2hvcnRjdXRzKCkge1xuICAgICAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMua2V5Ym9hcmRTaG9ydGN1dHNTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmtleWJvYXJkU2hvcnRjdXRzU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KGRvY3VtZW50LCAna2V5ZG93bicpXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpXG4gICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB0aGlzLmhhbmRsZUtleWJvYXJkRXZlbnQoZXZlbnQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmdsb2JhbE9wdGlvbnMgJiYgIXRoaXMua2V5Ym9hcmRTaG9ydGN1dHNTZXJ2aWNlPy5zaG91bGRJZ25vcmVTaG9ydGN1dChldmVudCkpIHtcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoZWRPcHRpb24gPSB0aGlzLmdsb2JhbE9wdGlvbnMuZmluZChcbiAgICAgICAgICAgICAgICAob3B0aW9uOiBPcHRpb25JdGVtKSA9PlxuICAgICAgICAgICAgICAgICAgICBvcHRpb24uaXNFbmFibGVkICYmXG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbi5rZXlib2FyZFNob3J0Y3V0ICYmXG4gICAgICAgICAgICAgICAgICAgIG1hdGNoZXNTaG9ydGN1dENvbmRpdGlvbihldmVudCwgb3B0aW9uLmtleWJvYXJkU2hvcnRjdXQpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGlmIChtYXRjaGVkT3B0aW9uKSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gbWF0Y2hlZE9wdGlvbi5jYWxsYmFjayhudWxsKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgZmlsdGVyT3B0aW9ucyhvcHRpb25zOiBPcHRpb25JdGVtW10sIHRhcmdldDogVGFyZ2V0LCBvYmplY3RzOiBOb2RlW10gfCBhbnkgPSBudWxsKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnNIZWxwZXJTZXJ2aWNlLmZpbHRlck9wdGlvbnMob3B0aW9ucywgdGFyZ2V0LCB0aGlzLmRhdGEsIG9iamVjdHMpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBzaG9ydGN1dCB0byBzaW1wbHkgZGlzYWJsZSBhbGwgb3B0aW9ucyBvbiB0aGUgZ2l2ZW4gY29tcG9lbm50c1xuICAgICAqIEBwYXJhbSBhY3Rpb25iYXJcbiAgICAgKiBAcGFyYW0gbGlzdFxuICAgICAqL1xuICAgIGNsZWFyQ29tcG9uZW50cyhhY3Rpb25iYXI6IEFjdGlvbmJhckNvbXBvbmVudCwgbGlzdDogTGlzdEV2ZW50SW50ZXJmYWNlPE5vZGU+ID0gbnVsbCkge1xuICAgICAgICBpZiAobGlzdCkge1xuICAgICAgICAgICAgbGlzdC5zZXRPcHRpb25zKG51bGwpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhY3Rpb25iYXIpIHtcbiAgICAgICAgICAgIGFjdGlvbmJhci5vcHRpb25zID0gW107XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwYXN0ZU5vZGUobm9kZXM6IE5vZGVbXSA9IFtdKSB7XG4gICAgICAgIHRoaXMub3B0aW9uc0hlbHBlclNlcnZpY2UucGFzdGVOb2RlKHRoaXMuY29tcG9uZW50cywgdGhpcy5kYXRhLCBub2Rlcyk7XG4gICAgfVxufVxuIl19
133
+ }] }] });
134
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy1oZWxwZXItZGF0YS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9zZXJ2aWNlcy9vcHRpb25zLWhlbHBlci1kYXRhLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQXFCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQXlCLEVBQUUsRUFBcUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBb0MsTUFBTSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFaEYsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3hELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7Ozs7O0FBNkJ2RSxNQUFNLE9BQU8sd0JBQXdCO0lBWWpDLFlBQ1ksTUFBYyxFQUNkLEtBQXFCLEVBQ3JCLFdBQStCLEVBQy9CLHFCQUE0QyxFQUM1QyxXQUF3QixFQUN4QixjQUE4QixFQUNsQix3QkFBa0QsRUFDbEQsb0JBQTBDO1FBUHRELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQUM1QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDbEIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBZjFELGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRS9CLHNC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QVU7OzBCQW9CRixRQUFROzswQkFDUixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuLi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWN0aW9uYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vYWN0aW9uYmFyL2FjdGlvbmJhci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgICBMaXN0RXZlbnRJbnRlcmZhY2UsXG4gICAgTm9kZUVudHJpZXNEYXRhVHlwZSxcbiAgICBOb2RlRW50cmllc0Rpc3BsYXlUeXBlLFxufSBmcm9tICcuLi9ub2RlLWVudHJpZXMvZW50cmllcy1tb2RlbCc7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUsIE5nWm9uZSwgT25EZXN0cm95LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aGVudGljYXRpb25TZXJ2aWNlLCBNRSwgTmV0d29ya1NlcnZpY2UsIE5vZGUsIFVzZXJTZXJ2aWNlIH0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDdXN0b21PcHRpb25zLCBPcHRpb25JdGVtLCBTY29wZSwgVGFyZ2V0IH0gZnJvbSAnLi4vdHlwZXMvb3B0aW9uLWl0ZW0nO1xuaW1wb3J0IHsgT3B0aW9uc0hlbHBlclNlcnZpY2UgfSBmcm9tICcuL2Fic3RyYWN0L29wdGlvbnMtaGVscGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hdGNoZXNTaG9ydGN1dENvbmRpdGlvbiB9IGZyb20gJy4uL3R5cGVzL2tleWJvYXJkLXNob3J0Y3V0cyc7XG5pbXBvcnQgeyBLZXlib2FyZFNob3J0Y3V0c1NlcnZpY2UgfSBmcm9tICcuL2Fic3RyYWN0L2tleWJvYXJkLXNob3J0Y3V0cy5zZXJ2aWNlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IExvY2FsRXZlbnRzU2VydmljZSB9IGZyb20gJy4vbG9jYWwtZXZlbnRzLnNlcnZpY2UnO1xuXG50eXBlIERlbGV0ZUV2ZW50ID0ge1xuICAgIG9iamVjdHM6IE5vZGVbXSB8IGFueTtcbiAgICBjb3VudDogbnVtYmVyO1xuICAgIGVycm9yOiBib29sZWFuO1xufTtcbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uc0hlbHBlckNvbXBvbmVudHMge1xuICAgIGFjdGlvbmJhcjogQWN0aW9uYmFyQ29tcG9uZW50O1xuICAgIGRyb3Bkb3duOiBEcm9wZG93bkNvbXBvbmVudDtcbiAgICBsaXN0OiBMaXN0RXZlbnRJbnRlcmZhY2U8Tm9kZUVudHJpZXNEYXRhVHlwZT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uRGF0YSB7XG4gICAgc2NvcGU6IFNjb3BlO1xuICAgIGFjdGl2ZU9iamVjdHM/OiBOb2RlW10gfCBhbnlbXTtcbiAgICBzZWxlY3RlZE9iamVjdHM/OiBOb2RlW10gfCBhbnlbXTtcbiAgICBhbGxPYmplY3RzPzogTm9kZVtdIHwgYW55W107XG4gICAgcGFyZW50PzogTm9kZSB8IGFueTtcbiAgICBjdXN0b21PcHRpb25zPzogQ3VzdG9tT3B0aW9ucztcbiAgICAvKipcbiAgICAgKiBjdXN0b20gaW50ZXJjZXB0b3IgdG8gbW9kaWZ5IHRoZSBkZWZhdWx0IG9wdGlvbnMgYXJyYXlcbiAgICAgKi9cbiAgICBwb3N0UHJlcGFyZU9wdGlvbnM/OiAob3B0aW9uczogT3B0aW9uSXRlbVtdLCBvYmplY3RzOiBOb2RlW10pID0+IHZvaWQ7XG59XG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgT3B0aW9uc0hlbHBlckRhdGFTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIGNvbXBvbmVudHM6IE9wdGlvbnNIZWxwZXJDb21wb25lbnRzO1xuICAgIHByaXZhdGUgZGF0YTogT3B0aW9uRGF0YTtcbiAgICBwcml2YXRlIGtleWJvYXJkU2hvcnRjdXRzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgcHJpdmF0ZSBnbG9iYWxPcHRpb25zOiBPcHRpb25JdGVtW107XG4gICAgcHJpdmF0ZSBkZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcmVhZG9ubHkgdmlydHVhbE5vZGVzQWRkZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE5vZGVbXT4oKTtcbiAgICByZWFkb25seSBub2Rlc0NoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE5vZGVbXSB8IHZvaWQ+KCk7XG4gICAgcmVhZG9ubHkgbm9kZXNEZWxldGVkID0gbmV3IEV2ZW50RW1pdHRlcjxEZWxldGVFdmVudD4oKTtcbiAgICByZWFkb25seSBkaXNwbGF5VHlwZUNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE5vZGVFbnRyaWVzRGlzcGxheVR5cGU+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgICAgIHByaXZhdGUgbG9jYWxFdmVudHM6IExvY2FsRXZlbnRzU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhdXRoZW50aWNhdGlvblNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB1c2VyU2VydmljZTogVXNlclNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbmV0d29ya1NlcnZpY2U6IE5ldHdvcmtTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGtleWJvYXJkU2hvcnRjdXRzU2VydmljZTogS2V5Ym9hcmRTaG9ydGN1dHNTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIG9wdGlvbnNIZWxwZXJTZXJ2aWNlOiBPcHRpb25zSGVscGVyU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgdGhpcy5yZWdpc3RlclN0YXRpY1N1YnNjcmlwdGlvbnMoKTtcbiAgICB9XG4gICAgLyoqIFBlcmZvcm1zIHN1YnNjcmlwdGlvbnMgdGhhdCBkb24ndCBoYXZlIHRvIGJlIHJlZnJlc2hlZC4gKi9cbiAgICBwcml2YXRlIHJlZ2lzdGVyU3RhdGljU3Vic2NyaXB0aW9ucygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5sb2NhbEV2ZW50cy5ub2Rlc0RlbGV0ZWRcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChub2RlcykgPT4gdGhpcy5jb21wb25lbnRzPy5saXN0Py5kZWxldGVOb2Rlcyhub2RlcykpO1xuICAgICAgICB0aGlzLmxvY2FsRXZlbnRzLm5vZGVzQ2hhbmdlZFxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKG5vZGVzKSA9PiB0aGlzLmNvbXBvbmVudHM/Lmxpc3Q/LnVwZGF0ZU5vZGVzKG5vZGVzKSk7XG4gICAgfVxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgYXN5bmMgaW5pdENvbXBvbmVudHMoXG4gICAgICAgIGFjdGlvbmJhcjogQWN0aW9uYmFyQ29tcG9uZW50ID0gbnVsbCxcbiAgICAgICAgbGlzdDogTGlzdEV2ZW50SW50ZXJmYWNlPE5vZGVFbnRyaWVzRGF0YVR5cGU+ID0gbnVsbCxcbiAgICAgICAgZHJvcGRvd246IERyb3Bkb3duQ29tcG9uZW50ID0gbnVsbCxcbiAgICApIHtcbiAgICAgICAgdGhpcy5jb21wb25lbnRzID0ge1xuICAgICAgICAgICAgYWN0aW9uYmFyLFxuICAgICAgICAgICAgbGlzdCxcbiAgICAgICAgICAgIGRyb3Bkb3duLFxuICAgICAgICB9O1xuICAgICAgICBpZiAoKGF3YWl0IHRoaXMudXNlclNlcnZpY2UuZ2V0VXNlcihNRSkucGlwZSh0YWtlKDEpKS50b1Byb21pc2UoKSkucGVyc29uLmF1dGhvcml0eU5hbWUpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMubmV0d29ya1NlcnZpY2UuZ2V0UmVwb3NpdG9yaWVzKCkucGlwZSh0YWtlKDEpKS50b1Byb21pc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldERhdGEoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGE7XG4gICAgfVxuXG4gICAgc2V0RGF0YShkYXRhOiBPcHRpb25EYXRhKSB7XG4gICAgICAgIHRoaXMuZGF0YSA9IHRoaXMub3B0aW9uc0hlbHBlclNlcnZpY2Uud3JhcE9wdGlvbkNhbGxiYWNrcyhkYXRhKTtcbiAgICB9XG5cbiAgICBhc3luYyByZWZyZXNoQ29tcG9uZW50cyhyZWZyZXNoTGlzdE9wdGlvbnMgPSB0cnVlKSB7XG4gICAgICAgIGlmICh0aGlzLmRhdGEgPT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdvcHRpb25zIGhlbHBlciByZWZyZXNoIGNhbGxlZCBidXQgbm8gZGF0YSBwcmV2aW91c2x5IGJvdW5kJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMub3B0aW9uc0hlbHBlclNlcnZpY2UgPT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdvcHRpb25zSGVscGVyU2VydmljZSBub3QgcHJvdmlkZWQuIE5vIGRlZmF1bHQgYWN0aW9ucyB3aWxsIGJlIGdlbmVyYXRlZCcpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZ2xvYmFsT3B0aW9ucyA9IGF3YWl0IHRoaXMuZ2V0QXZhaWxhYmxlT3B0aW9ucyhUYXJnZXQuQWN0aW9uYmFyKTtcbiAgICAgICAgYXdhaXQgdGhpcy5vcHRpb25zSGVscGVyU2VydmljZT8ucmVmcmVzaENvbXBvbmVudHMoXG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudHMsXG4gICAgICAgICAgICB0aGlzLmRhdGEsXG4gICAgICAgICAgICByZWZyZXNoTGlzdE9wdGlvbnMsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0QXZhaWxhYmxlT3B0aW9ucyh0YXJnZXQ6IFRhcmdldCwgb2JqZWN0czogTm9kZVtdID0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zSGVscGVyU2VydmljZT8uZ2V0QXZhaWxhYmxlT3B0aW9ucyhcbiAgICAgICAgICAgIHRhcmdldCxcbiAgICAgICAgICAgIG9iamVjdHMsXG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudHMsXG4gICAgICAgICAgICB0aGlzLmRhdGEsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRWaXJ0dWFsT2JqZWN0cyhvYmplY3RzOiBhbnlbXSkge1xuICAgICAgICBvYmplY3RzID0gb2JqZWN0cy5tYXAoKG86IGFueSkgPT4ge1xuICAgICAgICAgICAgby52aXJ0dWFsID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybiBvO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy52aXJ0dWFsTm9kZXNBZGRlZC5lbWl0KG9iamVjdHMpO1xuICAgICAgICBpZiAodGhpcy5jb21wb25lbnRzPy5saXN0KSB7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudHM/Lmxpc3QuYWRkVmlydHVhbE5vZGVzKG9iamVjdHMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJHbG9iYWxLZXlib2FyZFNob3J0Y3V0cygpIHtcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmtleWJvYXJkU2hvcnRjdXRzU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5rZXlib2FyZFNob3J0Y3V0c1N1YnNjcmlwdGlvbiA9IGZyb21FdmVudChkb2N1bWVudCwgJ2tleWRvd24nKVxuICAgICAgICAgICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gdGhpcy5oYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5nbG9iYWxPcHRpb25zICYmICF0aGlzLmtleWJvYXJkU2hvcnRjdXRzU2VydmljZT8uc2hvdWxkSWdub3JlU2hvcnRjdXQoZXZlbnQpKSB7XG4gICAgICAgICAgICBjb25zdCBtYXRjaGVkT3B0aW9uID0gdGhpcy5nbG9iYWxPcHRpb25zLmZpbmQoXG4gICAgICAgICAgICAgICAgKG9wdGlvbjogT3B0aW9uSXRlbSkgPT5cbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uLmlzRW5hYmxlZCAmJlxuICAgICAgICAgICAgICAgICAgICBvcHRpb24ua2V5Ym9hcmRTaG9ydGN1dCAmJlxuICAgICAgICAgICAgICAgICAgICBtYXRjaGVzU2hvcnRjdXRDb25kaXRpb24oZXZlbnQsIG9wdGlvbi5rZXlib2FyZFNob3J0Y3V0KSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAobWF0Y2hlZE9wdGlvbikge1xuICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IG1hdGNoZWRPcHRpb24uY2FsbGJhY2sobnVsbCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGZpbHRlck9wdGlvbnMob3B0aW9uczogT3B0aW9uSXRlbVtdLCB0YXJnZXQ6IFRhcmdldCwgb2JqZWN0czogTm9kZVtdIHwgYW55ID0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zSGVscGVyU2VydmljZS5maWx0ZXJPcHRpb25zKG9wdGlvbnMsIHRhcmdldCwgdGhpcy5kYXRhLCBvYmplY3RzKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogc2hvcnRjdXQgdG8gc2ltcGx5IGRpc2FibGUgYWxsIG9wdGlvbnMgb24gdGhlIGdpdmVuIGNvbXBvZW5udHNcbiAgICAgKiBAcGFyYW0gYWN0aW9uYmFyXG4gICAgICogQHBhcmFtIGxpc3RcbiAgICAgKi9cbiAgICBjbGVhckNvbXBvbmVudHMoYWN0aW9uYmFyOiBBY3Rpb25iYXJDb21wb25lbnQsIGxpc3Q6IExpc3RFdmVudEludGVyZmFjZTxOb2RlPiA9IG51bGwpIHtcbiAgICAgICAgaWYgKGxpc3QpIHtcbiAgICAgICAgICAgIGxpc3Quc2V0T3B0aW9ucyhudWxsKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYWN0aW9uYmFyKSB7XG4gICAgICAgICAgICBhY3Rpb25iYXIub3B0aW9ucyA9IFtdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcGFzdGVOb2RlKG5vZGVzOiBOb2RlW10gPSBbXSkge1xuICAgICAgICB0aGlzLm9wdGlvbnNIZWxwZXJTZXJ2aWNlLnBhc3RlTm9kZSh0aGlzLmNvbXBvbmVudHMsIHRoaXMuZGF0YSwgbm9kZXMpO1xuICAgIH1cbn1cbiJdfQ==
@@ -38,13 +38,13 @@ export class RepoUrlService {
38
38
  urlObject.protocol = window.location.protocol;
39
39
  return urlObject.href;
40
40
  }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: RepoUrlService, deps: [{ token: i1.NetworkService }, { token: i2.EduSharingUiConfiguration }], target: i0.ɵɵFactoryTarget.Injectable }); }
42
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: RepoUrlService, providedIn: 'root' }); }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: RepoUrlService, deps: [{ token: i1.NetworkService }, { token: i2.EduSharingUiConfiguration }], target: i0.ɵɵFactoryTarget.Injectable }); }
42
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: RepoUrlService, providedIn: 'root' }); }
43
43
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: RepoUrlService, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: RepoUrlService, decorators: [{
45
45
  type: Injectable,
46
46
  args: [{
47
47
  providedIn: 'root',
48
48
  }]
49
- }], ctorParameters: function () { return [{ type: i1.NetworkService }, { type: i2.EduSharingUiConfiguration }]; } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwby11cmwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvc2VydmljZXMvcmVwby11cmwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUd0Qzs7Ozs7R0FLRztBQUlILE1BQU0sT0FBTyxjQUFjO0lBQ3ZCLFlBQ1ksY0FBOEIsRUFDOUIsYUFBd0M7UUFEeEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGtCQUFhLEdBQWIsYUFBYSxDQUEyQjtJQUNqRCxDQUFDO0lBRUo7O09BRUc7SUFDSCxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQVcsRUFBRSxJQUFVO1FBQ3BDLElBQ0ksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVU7WUFDOUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVU7WUFDOUIsQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQ2xGO1lBQ0UsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDdEM7YUFBTTtZQUNILE9BQU8sR0FBRyxDQUFDO1NBQ2Q7SUFDTCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGlCQUFpQixDQUFDLEdBQVc7UUFDekIsTUFBTSxTQUFTLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsU0FBUyxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUN0QyxTQUFTLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDO1FBQzlDLE9BQU8sU0FBUyxDQUFDLElBQUksQ0FBQztJQUMxQixDQUFDOzhHQS9CUSxjQUFjO2tIQUFkLGNBQWMsY0FGWCxNQUFNOzsyRkFFVCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5ldHdvcmtTZXJ2aWNlLCBOb2RlIH0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRWR1U2hhcmluZ1VpQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL2VkdS1zaGFyaW5nLXVpLWNvbmZpZ3VyYXRpb24nO1xuXG4vKipcbiAqIFJlcGxhY2VzIGFic29sdXRlIGJhY2tlbmQgVVJMcyB3aXRoIHByb3hpZWQgVVJMcyB3aGVuIGluIGRldiBlbnZpcm9ubWVudC5cbiAqXG4gKiBUaGlzIGlzIG5lZWRlZCBmb3IgY29udGVudCB0aGF0IHJlcXVpcmVzIGF1dGhlbnRpY2F0aW9uLCBzbyB0aGUgYnJvd3NlciBwcm92aWRlcyB0aGUgcmVxdWlyZWRcbiAqIHNlc3Npb24gY29va2llIHdpdGggdGhlIHJlcXVlc3QsIG9yIHdoZW4gYWNjZXNzaW5nIHRoZSBkZXYgc2VydmVyIGZyb20gYW5vdGhlciBkZXZpY2UuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFJlcG9VcmxTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIG5ldHdvcmtTZXJ2aWNlOiBOZXR3b3JrU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uOiBFZHVTaGFyaW5nVWlDb25maWd1cmF0aW9uLFxuICAgICkge31cblxuICAgIC8qKlxuICAgICAqIFJlcGxhY2VzIHRoZSBnaXZlbiBVUkwgaWYgdGhlIGdpdmVuIG5vZGUgYmVsb25ncyB0byB0aGUgaG9tZSByZXBvc2l0b3J5LlxuICAgICAqL1xuICAgIGFzeW5jIGdldFJlcG9VcmwodXJsOiBzdHJpbmcsIG5vZGU6IE5vZGUpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXRoaXMuY29uZmlndXJhdGlvbi5wcm9kdWN0aW9uICYmXG4gICAgICAgICAgICAhdGhpcy5jb25maWd1cmF0aW9uLmlzRW1iZWRkZWQgJiZcbiAgICAgICAgICAgIChhd2FpdCB0aGlzLm5ldHdvcmtTZXJ2aWNlLmlzRnJvbUhvbWVSZXBvc2l0b3J5KG5vZGUpLnBpcGUodGFrZSgxKSkudG9Qcm9taXNlKCkpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMud2l0aEN1cnJlbnRPcmlnaW4odXJsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB1cmw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXBsYWNlcyB0aGUgZ2l2ZW4gVVJMLlxuICAgICAqXG4gICAgICogVGhlIGNhbGxlciBuZWVkcyB0byBtYWtlIHN1cmUgdGhhdCB0aGUgZ2l2ZW4gVVJMIGJlbG9uZ3MgdG8gdGhlIGhvbWUgcmVwb3NpdG9yeS5cbiAgICAgKi9cbiAgICB3aXRoQ3VycmVudE9yaWdpbih1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHVybE9iamVjdCA9IG5ldyBVUkwodXJsKTtcbiAgICAgICAgdXJsT2JqZWN0Lmhvc3QgPSB3aW5kb3cubG9jYXRpb24uaG9zdDtcbiAgICAgICAgdXJsT2JqZWN0LnByb3RvY29sID0gd2luZG93LmxvY2F0aW9uLnByb3RvY29sO1xuICAgICAgICByZXR1cm4gdXJsT2JqZWN0LmhyZWY7XG4gICAgfVxufVxuIl19
49
+ }], ctorParameters: () => [{ type: i1.NetworkService }, { type: i2.EduSharingUiConfiguration }] });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwby11cmwuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvc2VydmljZXMvcmVwby11cmwuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUd0Qzs7Ozs7R0FLRztBQUlILE1BQU0sT0FBTyxjQUFjO0lBQ3ZCLFlBQ1ksY0FBOEIsRUFDOUIsYUFBd0M7UUFEeEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGtCQUFhLEdBQWIsYUFBYSxDQUEyQjtJQUNqRCxDQUFDO0lBRUo7O09BRUc7SUFDSCxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQVcsRUFBRSxJQUFVO1FBQ3BDLElBQ0ksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVU7WUFDOUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVU7WUFDOUIsQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQ2xGLENBQUM7WUFDQyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2QyxDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sR0FBRyxDQUFDO1FBQ2YsQ0FBQztJQUNMLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsaUJBQWlCLENBQUMsR0FBVztRQUN6QixNQUFNLFNBQVMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMvQixTQUFTLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3RDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7UUFDOUMsT0FBTyxTQUFTLENBQUMsSUFBSSxDQUFDO0lBQzFCLENBQUM7OEdBL0JRLGNBQWM7a0hBQWQsY0FBYyxjQUZYLE1BQU07OzJGQUVULGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmV0d29ya1NlcnZpY2UsIE5vZGUgfSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFZHVTaGFyaW5nVWlDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vZWR1LXNoYXJpbmctdWktY29uZmlndXJhdGlvbic7XG5cbi8qKlxuICogUmVwbGFjZXMgYWJzb2x1dGUgYmFja2VuZCBVUkxzIHdpdGggcHJveGllZCBVUkxzIHdoZW4gaW4gZGV2IGVudmlyb25tZW50LlxuICpcbiAqIFRoaXMgaXMgbmVlZGVkIGZvciBjb250ZW50IHRoYXQgcmVxdWlyZXMgYXV0aGVudGljYXRpb24sIHNvIHRoZSBicm93c2VyIHByb3ZpZGVzIHRoZSByZXF1aXJlZFxuICogc2Vzc2lvbiBjb29raWUgd2l0aCB0aGUgcmVxdWVzdCwgb3Igd2hlbiBhY2Nlc3NpbmcgdGhlIGRldiBzZXJ2ZXIgZnJvbSBhbm90aGVyIGRldmljZS5cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUmVwb1VybFNlcnZpY2Uge1xuICAgIHByaXZhdGUgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgbmV0d29ya1NlcnZpY2U6IE5ldHdvcmtTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNvbmZpZ3VyYXRpb246IEVkdVNoYXJpbmdVaUNvbmZpZ3VyYXRpb24sXG4gICAgKSB7fVxuXG4gICAgLyoqXG4gICAgICogUmVwbGFjZXMgdGhlIGdpdmVuIFVSTCBpZiB0aGUgZ2l2ZW4gbm9kZSBiZWxvbmdzIHRvIHRoZSBob21lIHJlcG9zaXRvcnkuXG4gICAgICovXG4gICAgYXN5bmMgZ2V0UmVwb1VybCh1cmw6IHN0cmluZywgbm9kZTogTm9kZSkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy5jb25maWd1cmF0aW9uLnByb2R1Y3Rpb24gJiZcbiAgICAgICAgICAgICF0aGlzLmNvbmZpZ3VyYXRpb24uaXNFbWJlZGRlZCAmJlxuICAgICAgICAgICAgKGF3YWl0IHRoaXMubmV0d29ya1NlcnZpY2UuaXNGcm9tSG9tZVJlcG9zaXRvcnkobm9kZSkucGlwZSh0YWtlKDEpKS50b1Byb21pc2UoKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy53aXRoQ3VycmVudE9yaWdpbih1cmwpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHVybDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlcGxhY2VzIHRoZSBnaXZlbiBVUkwuXG4gICAgICpcbiAgICAgKiBUaGUgY2FsbGVyIG5lZWRzIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBnaXZlbiBVUkwgYmVsb25ncyB0byB0aGUgaG9tZSByZXBvc2l0b3J5LlxuICAgICAqL1xuICAgIHdpdGhDdXJyZW50T3JpZ2luKHVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgdXJsT2JqZWN0ID0gbmV3IFVSTCh1cmwpO1xuICAgICAgICB1cmxPYmplY3QuaG9zdCA9IHdpbmRvdy5sb2NhdGlvbi5ob3N0O1xuICAgICAgICB1cmxPYmplY3QucHJvdG9jb2wgPSB3aW5kb3cubG9jYXRpb24ucHJvdG9jb2w7XG4gICAgICAgIHJldHVybiB1cmxPYmplY3QuaHJlZjtcbiAgICB9XG59XG4iXX0=
@@ -38,11 +38,11 @@ export class TemporaryStorageService {
38
38
  remove(name) {
39
39
  this.data[name] = null;
40
40
  }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: TemporaryStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
42
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: TemporaryStorageService, providedIn: 'root' }); }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: TemporaryStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
42
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: TemporaryStorageService, providedIn: 'root' }); }
43
43
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: TemporaryStorageService, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: TemporaryStorageService, decorators: [{
45
45
  type: Injectable,
46
46
  args: [{ providedIn: 'root' }]
47
- }], ctorParameters: function () { return []; } });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcG9yYXJ5LXN0b3JhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvc2VydmljZXMvdGVtcG9yYXJ5LXN0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQzs7Ozs7R0FLRztBQUVILE1BQU0sT0FBTyx1QkFBdUI7YUFDekIsZ0NBQTJCLEdBQUcsbUJBQW1CLENBQUM7SUFDekQsNERBQTREO2FBQ3JELCtCQUEwQixHQUFHLGtCQUFrQixDQUFDO2FBQ2hELHNDQUFpQyxHQUFHLHlCQUF5QixDQUFDO2FBQzlELHlCQUFvQixHQUFHLHNCQUFzQixDQUFDO2FBQzlDLDRCQUF1QixHQUFHLHlCQUF5QixDQUFDO2FBS3BELCtCQUEwQixHQUFHLDRCQUE0QixDQUFDO2FBQzFELGtDQUE2QixHQUFHLCtCQUErQixDQUFDO0lBSXZFO1FBRlEsU0FBSSxHQUFRLEVBQUUsQ0FBQztJQUVSLENBQUM7SUFFaEIsR0FBRyxDQUFDLElBQVksRUFBRSxlQUFvQixJQUFJO1FBQ3RDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzFCO1FBQ0QsT0FBTyxZQUFZLENBQUM7SUFDeEIsQ0FBQztJQUVELEdBQUcsQ0FBQyxJQUFZLEVBQUUsS0FBVTtRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxHQUFHLENBQUMsSUFBWSxFQUFFLGVBQW9CLElBQUk7UUFDdEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVk7UUFDZixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztJQUMzQixDQUFDOzhHQXhDUSx1QkFBdUI7a0hBQXZCLHVCQUF1QixjQURWLE1BQU07OzJGQUNuQix1QkFBdUI7a0JBRG5DLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm9kZSB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuXG4vKipcbiAqIFNlcnZpY2UgdG8gc3RvcmUgYW55IGRhdGEgdGVtcG9yYXJ5IChsb3N0IGFmdGVyIHJlbG9hZGluZyBwYWdlKS5cbiAqXG4gKiBOb3RlIHRoYXQgYWxsIGNvbXBvbmVudHMgc2hhcmUgdGhlIHNhbWUgZGF0YSBzb3VyY2UuIFNvIHVzZXMgcHJlZml4ZXMgZm9yIHlvdXIgbmFtZSBpZlxuICogYXBwbGljYWJsZSFcbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBUZW1wb3JhcnlTdG9yYWdlU2VydmljZSB7XG4gICAgc3RhdGljIEFQUExZX1RPX0xNU19QQVJBTUVURVJfTk9ERSA9ICdhcHBseV90b19sbXNfbm9kZSc7XG4gICAgLy8gQERlcHJlY2F0ZWQgVXNlIE5PREVfUkVOREVSX1BBUkFNRVRFUl9EQVRBX1NPVVJDRSBpbnN0ZWFkXG4gICAgc3RhdGljIE5PREVfUkVOREVSX1BBUkFNRVRFUl9MSVNUID0gJ25vZGVfcmVuZGVyX2xpc3QnO1xuICAgIHN0YXRpYyBOT0RFX1JFTkRFUl9QQVJBTUVURVJfREFUQV9TT1VSQ0UgPSAnbm9kZV9yZW5kZXJfZGF0YV9zb3VyY2UnO1xuICAgIHN0YXRpYyBDT0xMRUNUSU9OX0FERF9OT0RFUyA9ICdjb2xsZWN0aW9uX2FkZF9ub2Rlcyc7XG4gICAgc3RhdGljIFdPUktTUEFDRV9MQVNUX0xPQ0FUSU9OID0gJ1dPUktTUEFDRV9MQVNUX0xPQ0FUSU9OJztcbiAgICAvLyBkZWZhdWx0OiBmYWxzZVxuICAgIHN0YXRpYyBPUFRJT05fSElERV9NQUlOTkFWOiAnb3B0aW9uX2hpZGVfbWFpbm5hdic7XG4gICAgLy8gZGVmYXVsdDogZmFsc2VcbiAgICBzdGF0aWMgT1BUSU9OX0RJU0FCTEVfU0NST0xMX0xBWU9VVDogJ29wdGlvbl9kaXNhYmxlX3Njcm9sbF9sYXlvdXQnO1xuICAgIHN0YXRpYyBDVVNUT01fTk9ERV9MSVNUX0NPTVBPTkVOVCA9ICdjdXN0b21fbm9kZV9saXN0X2NvbXBvbmVudCc7XG4gICAgc3RhdGljIENVU1RPTV9OT0RFX0VOVFJJRVNfQ09NUE9ORU5UID0gJ2N1c3RvbV9ub2RlX2VudHJpZXNfY29tcG9uZW50JztcblxuICAgIHByaXZhdGUgZGF0YTogYW55ID0ge307XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBnZXQobmFtZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IGFueSA9IG51bGwpIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YVtuYW1lXSAhPSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kYXRhW25hbWVdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XG4gICAgfVxuXG4gICAgc2V0KG5hbWU6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLmRhdGFbbmFtZV0gPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTYW1lIGFzIGdldCwgYnV0IHdpbGwgcmVtb3ZlIHRoZSB2YWx1ZSBhZnRlciBmZXRjaGluZyBpdC5cbiAgICAgKi9cbiAgICBwb3AobmFtZTogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IGFueSA9IG51bGwpOiBhbnkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0KG5hbWUsIGRlZmF1bHRWYWx1ZSk7XG4gICAgICAgIHRoaXMucmVtb3ZlKG5hbWUpO1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuXG4gICAgcmVtb3ZlKG5hbWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLmRhdGFbbmFtZV0gPSBudWxsO1xuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbGlwYm9hcmRPYmplY3Qge1xuICAgIG5vZGVzOiBOb2RlW107XG4gICAgc291cmNlTm9kZTogTm9kZTtcbiAgICBjb3B5OiBib29sZWFuO1xufVxuIl19
47
+ }], ctorParameters: () => [] });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcG9yYXJ5LXN0b3JhZ2Uuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvc2VydmljZXMvdGVtcG9yYXJ5LXN0b3JhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUczQzs7Ozs7R0FLRztBQUVILE1BQU0sT0FBTyx1QkFBdUI7YUFDekIsZ0NBQTJCLEdBQUcsbUJBQW1CLEFBQXRCLENBQXVCO0lBQ3pELDREQUE0RDthQUNyRCwrQkFBMEIsR0FBRyxrQkFBa0IsQUFBckIsQ0FBc0I7YUFDaEQsc0NBQWlDLEdBQUcseUJBQXlCLEFBQTVCLENBQTZCO2FBQzlELHlCQUFvQixHQUFHLHNCQUFzQixBQUF6QixDQUEwQjthQUM5Qyw0QkFBdUIsR0FBRyx5QkFBeUIsQUFBNUIsQ0FBNkI7YUFLcEQsK0JBQTBCLEdBQUcsNEJBQTRCLEFBQS9CLENBQWdDO2FBQzFELGtDQUE2QixHQUFHLCtCQUErQixBQUFsQyxDQUFtQztJQUl2RTtRQUZRLFNBQUksR0FBUSxFQUFFLENBQUM7SUFFUixDQUFDO0lBRWhCLEdBQUcsQ0FBQyxJQUFZLEVBQUUsZUFBb0IsSUFBSTtRQUN0QyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUM7WUFDMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLENBQUM7UUFDRCxPQUFPLFlBQVksQ0FBQztJQUN4QixDQUFDO0lBRUQsR0FBRyxDQUFDLElBQVksRUFBRSxLQUFVO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNILEdBQUcsQ0FBQyxJQUFZLEVBQUUsZUFBb0IsSUFBSTtRQUN0QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBWTtRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDO0lBQzNCLENBQUM7OEdBeENRLHVCQUF1QjtrSEFBdkIsdUJBQXVCLGNBRFYsTUFBTTs7MkZBQ25CLHVCQUF1QjtrQkFEbkMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb2RlIH0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5cbi8qKlxuICogU2VydmljZSB0byBzdG9yZSBhbnkgZGF0YSB0ZW1wb3JhcnkgKGxvc3QgYWZ0ZXIgcmVsb2FkaW5nIHBhZ2UpLlxuICpcbiAqIE5vdGUgdGhhdCBhbGwgY29tcG9uZW50cyBzaGFyZSB0aGUgc2FtZSBkYXRhIHNvdXJjZS4gU28gdXNlcyBwcmVmaXhlcyBmb3IgeW91ciBuYW1lIGlmXG4gKiBhcHBsaWNhYmxlIVxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFRlbXBvcmFyeVN0b3JhZ2VTZXJ2aWNlIHtcbiAgICBzdGF0aWMgQVBQTFlfVE9fTE1TX1BBUkFNRVRFUl9OT0RFID0gJ2FwcGx5X3RvX2xtc19ub2RlJztcbiAgICAvLyBARGVwcmVjYXRlZCBVc2UgTk9ERV9SRU5ERVJfUEFSQU1FVEVSX0RBVEFfU09VUkNFIGluc3RlYWRcbiAgICBzdGF0aWMgTk9ERV9SRU5ERVJfUEFSQU1FVEVSX0xJU1QgPSAnbm9kZV9yZW5kZXJfbGlzdCc7XG4gICAgc3RhdGljIE5PREVfUkVOREVSX1BBUkFNRVRFUl9EQVRBX1NPVVJDRSA9ICdub2RlX3JlbmRlcl9kYXRhX3NvdXJjZSc7XG4gICAgc3RhdGljIENPTExFQ1RJT05fQUREX05PREVTID0gJ2NvbGxlY3Rpb25fYWRkX25vZGVzJztcbiAgICBzdGF0aWMgV09SS1NQQUNFX0xBU1RfTE9DQVRJT04gPSAnV09SS1NQQUNFX0xBU1RfTE9DQVRJT04nO1xuICAgIC8vIGRlZmF1bHQ6IGZhbHNlXG4gICAgc3RhdGljIE9QVElPTl9ISURFX01BSU5OQVY6ICdvcHRpb25faGlkZV9tYWlubmF2JztcbiAgICAvLyBkZWZhdWx0OiBmYWxzZVxuICAgIHN0YXRpYyBPUFRJT05fRElTQUJMRV9TQ1JPTExfTEFZT1VUOiAnb3B0aW9uX2Rpc2FibGVfc2Nyb2xsX2xheW91dCc7XG4gICAgc3RhdGljIENVU1RPTV9OT0RFX0xJU1RfQ09NUE9ORU5UID0gJ2N1c3RvbV9ub2RlX2xpc3RfY29tcG9uZW50JztcbiAgICBzdGF0aWMgQ1VTVE9NX05PREVfRU5UUklFU19DT01QT05FTlQgPSAnY3VzdG9tX25vZGVfZW50cmllc19jb21wb25lbnQnO1xuXG4gICAgcHJpdmF0ZSBkYXRhOiBhbnkgPSB7fTtcblxuICAgIGNvbnN0cnVjdG9yKCkge31cblxuICAgIGdldChuYW1lOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogYW55ID0gbnVsbCkge1xuICAgICAgICBpZiAodGhpcy5kYXRhW25hbWVdICE9IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmRhdGFbbmFtZV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTtcbiAgICB9XG5cbiAgICBzZXQobmFtZTogc3RyaW5nLCB2YWx1ZTogYW55KSB7XG4gICAgICAgIHRoaXMuZGF0YVtuYW1lXSA9IHZhbHVlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNhbWUgYXMgZ2V0LCBidXQgd2lsbCByZW1vdmUgdGhlIHZhbHVlIGFmdGVyIGZldGNoaW5nIGl0LlxuICAgICAqL1xuICAgIHBvcChuYW1lOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogYW55ID0gbnVsbCk6IGFueSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXQobmFtZSwgZGVmYXVsdFZhbHVlKTtcbiAgICAgICAgdGhpcy5yZW1vdmUobmFtZSk7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG5cbiAgICByZW1vdmUobmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZGF0YVtuYW1lXSA9IG51bGw7XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENsaXBib2FyZE9iamVjdCB7XG4gICAgbm9kZXM6IE5vZGVbXTtcbiAgICBzb3VyY2VOb2RlOiBOb2RlO1xuICAgIGNvcHk6IGJvb2xlYW47XG59XG4iXX0=
@@ -158,11 +158,11 @@ export class UIService {
158
158
  }, delay);
159
159
  return component;
160
160
  }
161
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: UIService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
162
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: UIService, providedIn: 'root' }); }
161
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: UIService, deps: [{ token: i0.ComponentFactoryResolver }, { token: i0.Injector }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
162
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: UIService, providedIn: 'root' }); }
163
163
  }
164
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: UIService, decorators: [{
164
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: UIService, decorators: [{
165
165
  type: Injectable,
166
166
  args: [{ providedIn: 'root' }]
167
- }], ctorParameters: function () { return [{ type: i0.ComponentFactoryResolver }, { type: i0.Injector }, { type: i0.NgZone }]; } });
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvc2VydmljZXMvdWkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUgsVUFBVSxHQUtiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFHM0QsTUFBTSxPQUFPLFNBQVM7SUFNbEIsSUFBSSxlQUFlO1FBQ2YsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDO0lBQzdDLENBQUM7SUFFRCxZQUNjLHdCQUFrRCxFQUNsRCxRQUFrQixFQUNsQixNQUFjO1FBRmQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFaNUIsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQywwQkFBcUIsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRCwyQkFBc0IsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRCwwQkFBcUIsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQVd2RCwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDL0IsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dC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NkM7b0JBQzdDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2lCQUMzRDtxQkFBTTtvQkFDSCxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDO29CQUN4QiwyRUFBMkU7b0JBQzNFLHVCQUF1QjtvQkFDdkIsOEpBQThKO2lCQUNqSzthQUNKO1NBQ0o7UUFFRCxvQ0FBb0M7UUFDcEMsTUFBTSxPQUFPLEdBQUksU0FBUyxDQUFDLFFBQWlDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBZ0IsQ0FBQztRQUN6RixPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDL0IsSUFBSSxPQUFPLEVBQUU7WUFDVCxhQUFhLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztTQUNsQztRQUNELGFBQWEsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNqQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDVixPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDOzhHQXpLUSxTQUFTO2tIQUFULFNBQVMsY0FESSxNQUFNOzsyRkFDbkIsU0FBUztrQkFEckIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBDb21wb25lbnRSZWYsXG4gICAgRW1iZWRkZWRWaWV3UmVmLFxuICAgIEluamVjdGFibGUsXG4gICAgSW5qZWN0b3IsXG4gICAgTmdab25lLFxuICAgIFR5cGUsXG4gICAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyByeGpzIGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBVSUNvbnN0YW50cyB9IGZyb20gJy4uL3V0aWwvdWktY29uc3RhbnRzJztcbmltcG9ydCB7IE9wdGlvbkl0ZW0gfSBmcm9tICcuLi90eXBlcy9vcHRpb24taXRlbSc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFVJU2VydmljZSB7XG4gICAgaXNUb3VjaFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgICBwcml2YXRlIG1ldGFLZXlQcmVzc2VkU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICAgIHByaXZhdGUgc2hpZnRLZXlQcmVzc2VkU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICAgIHByaXZhdGUgY3RybEtleVByZXNzZWRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG5cbiAgICBnZXQgc2hpZnRLZXlQcmVzc2VkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zaGlmdEtleVByZXNzZWRTdWJqZWN0LnZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gICAgICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgICAgIHByb3RlY3RlZCBuZ1pvbmU6IE5nWm9uZSxcbiAgICApIHtcbiAgICAgICAgLy8gSG9zdExpc3RlbmVyIG5vdCB3b3JraW5nLCBzbyB1c2Ugd2luZG93XG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbktleURvd25PcktleVVwKGV2ZW50KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2tleXVwJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbktleURvd25PcktleVVwKGV2ZW50KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gVXN1YWxseSwgcHJvcGVydGllcyBmb3IgbW9kaWZpZXIga2V5cyB3aWxsIGJlIHNldCBjb3JyZWN0bHkgb24ga2V5ZG93biBhbmQga2V5dXBcbiAgICAgICAgICAgICAgICAvLyBldmVudHMsIGJ1dCB0aGVyZSBhcmUgc2l0dWF0aW9ucyB3aGVyZSB0aGUgb3BlcmF0aW5nIHN5c3RlbSBpbnRlcmNlcHRzIGtleVxuICAgICAgICAgICAgICAgIC8vIHByZXNzZXMsIGUuZy4gdGhlIFdpbmRvd3Mga2V5IG9uIExpbnV4IHN5c3RlbXMsIHNvIHdlIHVwZGF0ZSBhZ2FpbiBvbiBtb3VzZVxuICAgICAgICAgICAgICAgIC8vIGNsaWNrcyB0byBiZSBzdXJlLlxuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlTW9kaWZpZXJLZXlzKGV2ZW50KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvaW50ZXJkb3duJywgKGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gVXN1YWxseSwgcHJvcGVydGllcyBmb3IgbW9kaWZpZXIga2V5cyB3aWxsIGJlIHNldCBjb3JyZWN0bHkgb24ga2V5ZG93biBhbmQga2V5dXBcbiAgICAgICAgICAgICAgICAvLyBldmVudHMsIGJ1dCB0aGVyZSBhcmUgc2l0dWF0aW9ucyB3aGVyZSB0aGUgb3BlcmF0aW5nIHN5c3RlbSBpbnRlcmNlcHRzIGtleVxuICAgICAgICAgICAgICAgIC8vIHByZXNzZXMsIGUuZy4gdGhlIFdpbmRvd3Mga2V5IG9uIExpbnV4IHN5c3RlbXMsIHNvIHdlIHVwZGF0ZSBhZ2FpbiBvbiBtb3VzZVxuICAgICAgICAgICAgICAgIC8vIGNsaWNrcyB0byBiZSBzdXJlLlxuICAgICAgICAgICAgICAgIGNvbnN0IGlzVG91Y2ggPSAoZXZlbnQgYXMgUG9pbnRlckV2ZW50KS5wb2ludGVyVHlwZSA9PT0gJ3RvdWNoJztcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1RvdWNoU3ViamVjdC52YWx1ZSAhPT0gaXNUb3VjaCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gdGhpcy5pc1RvdWNoU3ViamVjdC5uZXh0KGlzVG91Y2gpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHByaXZhdGUgb25LZXlEb3duT3JLZXlVcChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICAvLyBgZXZlbnQubWV0YUtleWAgaXMgbm90IGNvbnNpc3RlbnQgYWNyb3NzIGJyb3dzZXJzIG9uIHRoZSBhY3R1YWwga2V5cHJlc3Mgb2YgdGhlIG1vZGlmaWVyXG4gICAgICAgIC8vIGtleS4gU28gd2UgaGFuZGxlIHRoZXNlIGV2ZW50cyBzZXBhcmF0ZWx5LlxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSAnQ29udHJvbCcpIHtcbiAgICAgICAgICAgIHRoaXMuY3RybEtleVByZXNzZWRTdWJqZWN0Lm5leHQoZXZlbnQudHlwZSA9PT0gJ2tleWRvd24nKTtcbiAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdTaGlmdCcpIHtcbiAgICAgICAgICAgIHRoaXMuc2hpZnRLZXlQcmVzc2VkU3ViamVjdC5uZXh0KGV2ZW50LnR5cGUgPT09ICdrZXlkb3duJyk7XG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnTWV0YScpIHtcbiAgICAgICAgICAgIHRoaXMubWV0YUtleVByZXNzZWRTdWJqZWN0Lm5leHQoZXZlbnQudHlwZSA9PT0gJ2tleWRvd24nKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIEluIGNhc2Ugd2UgbWlzcyBtb2RpZmllciBldmVudHMgYmVjYXVzZSB0aGUgYnJvd3NlciBkaWRuJ3QgaGF2ZSBmb2N1cyBkdXJpbmcgdGhlXG4gICAgICAgICAgICAvLyBldmVudCwgd2UgdXBkYXRlIG1vZGlmaWVyIGtleXMgb24gdW5yZWxhdGVkIGtleSBldmVudHMgYXMgd2VsbC5cbiAgICAgICAgICAgIHRoaXMudXBkYXRlTW9kaWZpZXJLZXlzKGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlTW9kaWZpZXJLZXlzKGV2ZW50OiBQb2ludGVyRXZlbnQgfCBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIHRoaXMubWV0YUtleVByZXNzZWRTdWJqZWN0Lm5leHQoZXZlbnQubWV0YUtleSk7XG4gICAgICAgIHRoaXMuc2hpZnRLZXlQcmVzc2VkU3ViamVjdC5uZXh0KGV2ZW50LnNoaWZ0S2V5KTtcbiAgICAgICAgdGhpcy5jdHJsS2V5UHJlc3NlZFN1YmplY3QubmV4dChldmVudC5jdHJsS2V5KTtcbiAgICB9XG5cbiAgICBvYnNlcnZlQ3RybE9yQ21kS2V5UHJlc3NlZE91dHNpZGVab25lKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gcnhqcy5jb21iaW5lTGF0ZXN0KFt0aGlzLm1ldGFLZXlQcmVzc2VkU3ViamVjdCwgdGhpcy5jdHJsS2V5UHJlc3NlZFN1YmplY3RdKS5waXBlKFxuICAgICAgICAgICAgbWFwKChbbWV0YUtleVByZXNzZWQsIGN0cmxLZXlQcmVzc2VkXSkgPT4gbWV0YUtleVByZXNzZWQgfHwgY3RybEtleVByZXNzZWQpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBARGVwcmVjYXRlZFxuICAgICAqIFByZWZlciB0byBzdWJzY3JpYmUgdG8gdGhlIGlzVG91Y2hTdWJqZWN0IGRpcmVjdGx5IGlmIHZpYWJsZVxuICAgICAqXG4gICAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBjdXJyZW50IHNlc3Npb25zIHNlZW1zIHRvIGJlIHJ1bm5pbmcgb24gYSBtb2JpbGUgZGV2aWNlXG4gICAgICovXG4gICAgcHVibGljIGlzTW9iaWxlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5pc1RvdWNoU3ViamVjdC52YWx1ZTtcbiAgICB9XG4gICAgcHVibGljIHN0YXRpYyBldmFsdWF0ZU1lZGlhUXVlcnkodHlwZTogc3RyaW5nLCB2YWx1ZTogbnVtYmVyKSB7XG4gICAgICAgIGlmICh0eXBlID09IFVJQ29uc3RhbnRzLk1FRElBX1FVRVJZX01BWF9XSURUSCkgcmV0dXJuIHZhbHVlID4gd2luZG93LmlubmVyV2lkdGg7XG4gICAgICAgIGlmICh0eXBlID09IFVJQ29uc3RhbnRzLk1FRElBX1FVRVJZX01JTl9XSURUSCkgcmV0dXJuIHZhbHVlIDwgd2luZG93LmlubmVyV2lkdGg7XG4gICAgICAgIGlmICh0eXBlID09IFVJQ29uc3RhbnRzLk1FRElBX1FVRVJZX01BWF9IRUlHSFQpIHJldHVybiB2YWx1ZSA+IHdpbmRvdy5pbm5lckhlaWdodDtcbiAgICAgICAgaWYgKHR5cGUgPT0gVUlDb25zdGFudHMuTUVESUFfUVVFUllfTUlOX0hFSUdIVCkgcmV0dXJuIHZhbHVlIDwgd2luZG93LmlubmVySGVpZ2h0O1xuICAgICAgICBjb25zb2xlLndhcm4oJ1Vuc3VwcG9ydGVkIG1lZGlhIHF1ZXJ5ICcgKyB0eXBlKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGZpbHRlclZhbGlkT3B0aW9ucyhvcHRpb25zOiBPcHRpb25JdGVtW10pIHtcbiAgICAgICAgaWYgKG9wdGlvbnMgPT0gbnVsbCkgcmV0dXJuIG51bGw7XG4gICAgICAgIG9wdGlvbnMgPSBvcHRpb25zLmZpbHRlcigodmFsdWUpID0+IHZhbHVlICE9IG51bGwpO1xuICAgICAgICBsZXQgb3B0aW9uc0ZpbHRlcmVkOiBPcHRpb25JdGVtW10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgb3B0aW9uIG9mIG9wdGlvbnMpIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAoIW9wdGlvbi5vbmx5TW9iaWxlIHx8IChvcHRpb24ub25seU1vYmlsZSAmJiB0aGlzLmlzTW9iaWxlKCkpKSAmJlxuICAgICAgICAgICAgICAgICghb3B0aW9uLm9ubHlEZXNrdG9wIHx8IChvcHRpb24ub25seURlc2t0b3AgJiYgIXRoaXMuaXNNb2JpbGUoKSkpICYmXG4gICAgICAgICAgICAgICAgKCFvcHRpb24ubWVkaWFRdWVyeVR5cGUgfHxcbiAgICAgICAgICAgICAgICAgICAgKG9wdGlvbi5tZWRpYVF1ZXJ5VHlwZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgVUlTZXJ2aWNlLmV2YWx1YXRlTWVkaWFRdWVyeShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb24ubWVkaWFRdWVyeVR5cGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uLm1lZGlhUXVlcnlWYWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICkpKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIG9wdGlvbnNGaWx0ZXJlZC5wdXNoKG9wdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9wdGlvbnNGaWx0ZXJlZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZmlsdGVyVG9nZ2xlT3B0aW9ucyhvcHRpb25zOiBPcHRpb25JdGVtW10sIHRvZ2dsZTogYm9vbGVhbikge1xuICAgICAgICBsZXQgcmVzdWx0OiBPcHRpb25JdGVtW10gPSBbXTtcbiAgICAgICAgZm9yIChsZXQgb3B0aW9uIG9mIG9wdGlvbnMpIHtcbiAgICAgICAgICAgIGlmIChvcHRpb24uaXNUb2dnbGUgPT0gdG9nZ2xlKSByZXN1bHQucHVzaChvcHRpb24pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIGR5bmFtaWNhbGx5IGluamVjdCBhbiBhbmd1bGFyIGNvbXBvbmVudCBpbnRvIGEgcmVndWxhciBodG1sIGRvbSBlbGVtZW50XG4gICAgICogQHBhcmFtIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlciBUaGUgcmVzb2x2ZXIgc2VydmljZVxuICAgICAqIEBwYXJhbSB2aWV3Q29udGFpbmVyUmVmIFRoZSB2aWV3Q29udGFpbmVyUmVmIHNlcnZpY2VcbiAgICAgKiBAcGFyYW0gY29tcG9uZW50TmFtZSBUaGUgbmFtZSBvZiB0aGUgYW5ndWxhciBjb21wb25lbnQgKGUuZy4gU3Bpbm5lckNvbXBvbmVudClcbiAgICAgKiBAcGFyYW0gdGFyZ2V0RWxlbWVudCBUaGUgdGFyZ2V0IGVsZW1lbnQgb2YgdGhlIGRvbS4gSWYgdGhlIGVsZW1lbnQgaXMgbnVsbCAobm90IGZvdW5kKSwgbm90aGluZyBpcyBkb25lXG4gICAgICogQHBhcmFtIGJpbmRpbmdzIE9wdGlvbmFsIGJpbmRpbmdzIChpbnB1dHMgJiBvdXRwdXRzKSB0byB0aGUgZ2l2ZW4gY29tcG9uZW50XG4gICAgICogQHBhcmFtIGRlbGF5IE9wdGlvbmFsIGluZmxhdGluZyBkZWxheSBpbiBtcyhzb21lIGNvbXBvbmVudHMgbWF5IG5lZWQgc29tZSB0aW1lIHRvIFwiaW5pdFwiIHRoZSBsYXlvdXQpXG4gICAgICogQHBhcmFtIHJlcGxhY2UgV2hldGhlciB0byByZXBsYWNlIHRvIHByZXZpb3VzIGBpbm5lckhUTUxgIG9mIGB0YXJnZXRFbGVtZW50YFxuICAgICAqIEBwYXJhbSBpbmplY3RvciAodG8gZmV0Y2ggdGVtcGxhdGVzIGZvciB0aGUgY29tcG9uZW50KVxuICAgICAqL1xuICAgIHB1YmxpYyBpbmplY3RBbmd1bGFyQ29tcG9uZW50PFQ+KFxuICAgICAgICB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBjb21wb25lbnROYW1lOiBUeXBlPFQ+LFxuICAgICAgICB0YXJnZXRFbGVtZW50OiBFbGVtZW50LFxuICAgICAgICBiaW5kaW5nczogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IG51bGwsXG4gICAgICAgIHsgZGVsYXkgPSAwLCByZXBsYWNlID0gdHJ1ZSB9ID0ge30sXG4gICAgKTogQ29tcG9uZW50UmVmPFQ+IHtcbiAgICAgICAgaWYgKHRhcmdldEVsZW1lbnQgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZmFjdG9yeSA9IHRoaXMuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudE5hbWUpO1xuICAgICAgICBjb25zdCBjb21wb25lbnQ6IENvbXBvbmVudFJlZjxUPiA9IHZpZXdDb250YWluZXJSZWYuY3JlYXRlQ29tcG9uZW50KFxuICAgICAgICAgICAgZmFjdG9yeSxcbiAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHRoaXMuaW5qZWN0b3IsXG4gICAgICAgICk7XG4gICAgICAgIGlmIChiaW5kaW5ncykge1xuICAgICAgICAgICAgY29uc3QgaW5zdGFuY2U6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSBjb21wb25lbnQuaW5zdGFuY2U7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBiaW5kaW5ncykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJpbmRpbmcgPSBiaW5kaW5nc1trZXldO1xuICAgICAgICAgICAgICAgIGlmIChiaW5kaW5nIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gc3Vic2NyaWJlIHNvIGNhbGxiYWNrIGNhbiBwcm9wZXJseSBpbnZva2VkXG4gICAgICAgICAgICAgICAgICAgIGluc3RhbmNlW2tleV0uc3Vic2NyaWJlKCh2YWx1ZTogYW55KSA9PiBiaW5kaW5nKHZhbHVlKSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2Vba2V5XSA9IGJpbmRpbmc7XG4gICAgICAgICAgICAgICAgICAgIC8vIGBuZ09uQ2hhbmdlc2Agd29uJ3QgYmUgY2FsbGVkIG9uIHRoZSBjb21wb25lbnQgbGlrZSB0aGlzLiBDb25zaWRlciBkb2luZ1xuICAgICAgICAgICAgICAgICAgICAvLyBzb21ldGhpbmcgbGlrZSB0aGlzOlxuICAgICAgICAgICAgICAgICAgICAvLyBodHRwczovL3NjbS5lZHUtc2hhcmluZy5jb20vZWR1LXNoYXJpbmcvcHJvamVjdHMvb2VoLXJlZGFrdGlvbi9uZy1tZXRhLXdpZGdldHMvLS9ibG9iLzE2MDNmYjJkZWRhZGQzOTUyNDAxMzg1YmNiZDkxYTRiZDg0MDc2NDMvc3JjL2FwcC9hcHAubW9kdWxlLnRzI0w2Ni03OVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIDMuIEdldCBET00gZWxlbWVudCBmcm9tIGNvbXBvbmVudFxuICAgICAgICBjb25zdCBkb21FbGVtID0gKGNvbXBvbmVudC5ob3N0VmlldyBhcyBFbWJlZGRlZFZpZXdSZWY8YW55Pikucm9vdE5vZGVzWzBdIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBkb21FbGVtLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgIGlmIChyZXBsYWNlKSB7XG4gICAgICAgICAgICB0YXJnZXRFbGVtZW50LmlubmVySFRNTCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgdGFyZ2V0RWxlbWVudC5hcHBlbmRDaGlsZChkb21FbGVtKTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBkb21FbGVtLnN0eWxlLmRpc3BsYXkgPSBudWxsO1xuICAgICAgICB9LCBkZWxheSk7XG4gICAgICAgIHJldHVybiBjb21wb25lbnQ7XG4gICAgfVxufVxuIl19
167
+ }], ctorParameters: () => [{ type: i0.ComponentFactoryResolver }, { type: i0.Injector }, { type: i0.NgZone }] });
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvc2VydmljZXMvdWkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUgsVUFBVSxHQUtiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxlQUFlLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFHM0QsTUFBTSxPQUFPLFNBQVM7SUFNbEIsSUFBSSxlQUFlO1FBQ2YsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDO0lBQzdDLENBQUM7SUFFRCxZQUNjLHdCQUFrRCxFQUNsRCxRQUFrQixFQUNsQixNQUFjO1FBRmQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtRQUNsRCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFaNUIsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQywwQkFBcUIsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRCwyQkFBc0IsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRCwwQkFBcUIsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQVd2RCwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDL0IsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO2dC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O2dCQUN6QixNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzlCLElBQUksT0FBTyxZQUFZLFFBQVEsRUFBRSxDQUFDO29CQUM5Qiw2Q0FBNkM7b0JBQzdDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUM1RCxDQUFDO3FCQUFNLENBQUM7b0JBQ0osUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQztvQkFDeEIsMkVBQTJFO29CQUMzRSx1QkFBdUI7b0JBQ3ZCLDhKQUE4SjtnQkFDbEssQ0FBQztZQUNMLENBQUM7UUFDTCxDQUFDO1FBRUQsb0NBQW9DO1FBQ3BDLE1BQU0sT0FBTyxHQUFJLFNBQVMsQ0FBQyxRQUFpQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQWdCLENBQUM7UUFDekYsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQy9CLElBQUksT0FBTyxFQUFFLENBQUM7WUFDVixhQUFhLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUNuQyxDQUFDO1FBQ0QsYUFBYSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuQyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNWLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7OEdBektRLFNBQVM7a0hBQVQsU0FBUyxjQURJLE1BQU07OzJGQUNuQixTQUFTO2tCQURyQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIENvbXBvbmVudFJlZixcbiAgICBFbWJlZGRlZFZpZXdSZWYsXG4gICAgSW5qZWN0YWJsZSxcbiAgICBJbmplY3RvcixcbiAgICBOZ1pvbmUsXG4gICAgVHlwZSxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIHJ4anMgZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFVJQ29uc3RhbnRzIH0gZnJvbSAnLi4vdXRpbC91aS1jb25zdGFudHMnO1xuaW1wb3J0IHsgT3B0aW9uSXRlbSB9IGZyb20gJy4uL3R5cGVzL29wdGlvbi1pdGVtJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgVUlTZXJ2aWNlIHtcbiAgICBpc1RvdWNoU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICAgIHByaXZhdGUgbWV0YUtleVByZXNzZWRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gICAgcHJpdmF0ZSBzaGlmdEtleVByZXNzZWRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gICAgcHJpdmF0ZSBjdHJsS2V5UHJlc3NlZFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICAgIGdldCBzaGlmdEtleVByZXNzZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNoaWZ0S2V5UHJlc3NlZFN1YmplY3QudmFsdWU7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICAgICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcbiAgICAgICAgcHJvdGVjdGVkIG5nWm9uZTogTmdab25lLFxuICAgICkge1xuICAgICAgICAvLyBIb3N0TGlzdGVuZXIgbm90IHdvcmtpbmcsIHNvIHVzZSB3aW5kb3dcbiAgICAgICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uS2V5RG93bk9yS2V5VXAoZXZlbnQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigna2V5dXAnLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uS2V5RG93bk9yS2V5VXAoZXZlbnQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcmRvd24nLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBVc3VhbGx5LCBwcm9wZXJ0aWVzIGZvciBtb2RpZmllciBrZXlzIHdpbGwgYmUgc2V0IGNvcnJlY3RseSBvbiBrZXlkb3duIGFuZCBrZXl1cFxuICAgICAgICAgICAgICAgIC8vIGV2ZW50cywgYnV0IHRoZXJlIGFyZSBzaXR1YXRpb25zIHdoZXJlIHRoZSBvcGVyYXRpbmcgc3lzdGVtIGludGVyY2VwdHMga2V5XG4gICAgICAgICAgICAgICAgLy8gcHJlc3NlcywgZS5nLiB0aGUgV2luZG93cyBrZXkgb24gTGludXggc3lzdGVtcywgc28gd2UgdXBkYXRlIGFnYWluIG9uIG1vdXNlXG4gICAgICAgICAgICAgICAgLy8gY2xpY2tzIHRvIGJlIHN1cmUuXG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVNb2RpZmllcktleXMoZXZlbnQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcmRvd24nLCAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBVc3VhbGx5LCBwcm9wZXJ0aWVzIGZvciBtb2RpZmllciBrZXlzIHdpbGwgYmUgc2V0IGNvcnJlY3RseSBvbiBrZXlkb3duIGFuZCBrZXl1cFxuICAgICAgICAgICAgICAgIC8vIGV2ZW50cywgYnV0IHRoZXJlIGFyZSBzaXR1YXRpb25zIHdoZXJlIHRoZSBvcGVyYXRpbmcgc3lzdGVtIGludGVyY2VwdHMga2V5XG4gICAgICAgICAgICAgICAgLy8gcHJlc3NlcywgZS5nLiB0aGUgV2luZG93cyBrZXkgb24gTGludXggc3lzdGVtcywgc28gd2UgdXBkYXRlIGFnYWluIG9uIG1vdXNlXG4gICAgICAgICAgICAgICAgLy8gY2xpY2tzIHRvIGJlIHN1cmUuXG4gICAgICAgICAgICAgICAgY29uc3QgaXNUb3VjaCA9IChldmVudCBhcyBQb2ludGVyRXZlbnQpLnBvaW50ZXJUeXBlID09PSAndG91Y2gnO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzVG91Y2hTdWJqZWN0LnZhbHVlICE9PSBpc1RvdWNoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB0aGlzLmlzVG91Y2hTdWJqZWN0Lm5leHQoaXNUb3VjaCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgcHJpdmF0ZSBvbktleURvd25PcktleVVwKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIC8vIGBldmVudC5tZXRhS2V5YCBpcyBub3QgY29uc2lzdGVudCBhY3Jvc3MgYnJvd3NlcnMgb24gdGhlIGFjdHVhbCBrZXlwcmVzcyBvZiB0aGUgbW9kaWZpZXJcbiAgICAgICAgLy8ga2V5LiBTbyB3ZSBoYW5kbGUgdGhlc2UgZXZlbnRzIHNlcGFyYXRlbHkuXG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdDb250cm9sJykge1xuICAgICAgICAgICAgdGhpcy5jdHJsS2V5UHJlc3NlZFN1YmplY3QubmV4dChldmVudC50eXBlID09PSAna2V5ZG93bicpO1xuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ1NoaWZ0Jykge1xuICAgICAgICAgICAgdGhpcy5zaGlmdEtleVByZXNzZWRTdWJqZWN0Lm5leHQoZXZlbnQudHlwZSA9PT0gJ2tleWRvd24nKTtcbiAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXkgPT09ICdNZXRhJykge1xuICAgICAgICAgICAgdGhpcy5tZXRhS2V5UHJlc3NlZFN1YmplY3QubmV4dChldmVudC50eXBlID09PSAna2V5ZG93bicpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gSW4gY2FzZSB3ZSBtaXNzIG1vZGlmaWVyIGV2ZW50cyBiZWNhdXNlIHRoZSBicm93c2VyIGRpZG4ndCBoYXZlIGZvY3VzIGR1cmluZyB0aGVcbiAgICAgICAgICAgIC8vIGV2ZW50LCB3ZSB1cGRhdGUgbW9kaWZpZXIga2V5cyBvbiB1bnJlbGF0ZWQga2V5IGV2ZW50cyBhcyB3ZWxsLlxuICAgICAgICAgICAgdGhpcy51cGRhdGVNb2RpZmllcktleXMoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVNb2RpZmllcktleXMoZXZlbnQ6IFBvaW50ZXJFdmVudCB8IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgdGhpcy5tZXRhS2V5UHJlc3NlZFN1YmplY3QubmV4dChldmVudC5tZXRhS2V5KTtcbiAgICAgICAgdGhpcy5zaGlmdEtleVByZXNzZWRTdWJqZWN0Lm5leHQoZXZlbnQuc2hpZnRLZXkpO1xuICAgICAgICB0aGlzLmN0cmxLZXlQcmVzc2VkU3ViamVjdC5uZXh0KGV2ZW50LmN0cmxLZXkpO1xuICAgIH1cblxuICAgIG9ic2VydmVDdHJsT3JDbWRLZXlQcmVzc2VkT3V0c2lkZVpvbmUoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgICAgIHJldHVybiByeGpzLmNvbWJpbmVMYXRlc3QoW3RoaXMubWV0YUtleVByZXNzZWRTdWJqZWN0LCB0aGlzLmN0cmxLZXlQcmVzc2VkU3ViamVjdF0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKFttZXRhS2V5UHJlc3NlZCwgY3RybEtleVByZXNzZWRdKSA9PiBtZXRhS2V5UHJlc3NlZCB8fCBjdHJsS2V5UHJlc3NlZCksXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBEZXByZWNhdGVkXG4gICAgICogUHJlZmVyIHRvIHN1YnNjcmliZSB0byB0aGUgaXNUb3VjaFN1YmplY3QgZGlyZWN0bHkgaWYgdmlhYmxlXG4gICAgICpcbiAgICAgKiBSZXR1cm5zIHRydWUgaWYgdGhlIGN1cnJlbnQgc2Vzc2lvbnMgc2VlbXMgdG8gYmUgcnVubmluZyBvbiBhIG1vYmlsZSBkZXZpY2VcbiAgICAgKi9cbiAgICBwdWJsaWMgaXNNb2JpbGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzVG91Y2hTdWJqZWN0LnZhbHVlO1xuICAgIH1cbiAgICBwdWJsaWMgc3RhdGljIGV2YWx1YXRlTWVkaWFRdWVyeSh0eXBlOiBzdHJpbmcsIHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgaWYgKHR5cGUgPT0gVUlDb25zdGFudHMuTUVESUFfUVVFUllfTUFYX1dJRFRIKSByZXR1cm4gdmFsdWUgPiB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgICAgICAgaWYgKHR5cGUgPT0gVUlDb25zdGFudHMuTUVESUFfUVVFUllfTUlOX1dJRFRIKSByZXR1cm4gdmFsdWUgPCB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgICAgICAgaWYgKHR5cGUgPT0gVUlDb25zdGFudHMuTUVESUFfUVVFUllfTUFYX0hFSUdIVCkgcmV0dXJuIHZhbHVlID4gd2luZG93LmlubmVySGVpZ2h0O1xuICAgICAgICBpZiAodHlwZSA9PSBVSUNvbnN0YW50cy5NRURJQV9RVUVSWV9NSU5fSEVJR0hUKSByZXR1cm4gdmFsdWUgPCB3aW5kb3cuaW5uZXJIZWlnaHQ7XG4gICAgICAgIGNvbnNvbGUud2FybignVW5zdXBwb3J0ZWQgbWVkaWEgcXVlcnkgJyArIHR5cGUpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgZmlsdGVyVmFsaWRPcHRpb25zKG9wdGlvbnM6IE9wdGlvbkl0ZW1bXSkge1xuICAgICAgICBpZiAob3B0aW9ucyA9PSBudWxsKSByZXR1cm4gbnVsbDtcbiAgICAgICAgb3B0aW9ucyA9IG9wdGlvbnMuZmlsdGVyKCh2YWx1ZSkgPT4gdmFsdWUgIT0gbnVsbCk7XG4gICAgICAgIGxldCBvcHRpb25zRmlsdGVyZWQ6IE9wdGlvbkl0ZW1bXSA9IFtdO1xuICAgICAgICBmb3IgKGxldCBvcHRpb24gb2Ygb3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICghb3B0aW9uLm9ubHlNb2JpbGUgfHwgKG9wdGlvbi5vbmx5TW9iaWxlICYmIHRoaXMuaXNNb2JpbGUoKSkpICYmXG4gICAgICAgICAgICAgICAgKCFvcHRpb24ub25seURlc2t0b3AgfHwgKG9wdGlvbi5vbmx5RGVza3RvcCAmJiAhdGhpcy5pc01vYmlsZSgpKSkgJiZcbiAgICAgICAgICAgICAgICAoIW9wdGlvbi5tZWRpYVF1ZXJ5VHlwZSB8fFxuICAgICAgICAgICAgICAgICAgICAob3B0aW9uLm1lZGlhUXVlcnlUeXBlICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBVSVNlcnZpY2UuZXZhbHVhdGVNZWRpYVF1ZXJ5KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbi5tZWRpYVF1ZXJ5VHlwZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb24ubWVkaWFRdWVyeVZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgKSkpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgb3B0aW9uc0ZpbHRlcmVkLnB1c2gob3B0aW9uKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb3B0aW9uc0ZpbHRlcmVkO1xuICAgIH1cblxuICAgIHB1YmxpYyBmaWx0ZXJUb2dnbGVPcHRpb25zKG9wdGlvbnM6IE9wdGlvbkl0ZW1bXSwgdG9nZ2xlOiBib29sZWFuKSB7XG4gICAgICAgIGxldCByZXN1bHQ6IE9wdGlvbkl0ZW1bXSA9IFtdO1xuICAgICAgICBmb3IgKGxldCBvcHRpb24gb2Ygb3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKG9wdGlvbi5pc1RvZ2dsZSA9PSB0b2dnbGUpIHJlc3VsdC5wdXNoKG9wdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogZHluYW1pY2FsbHkgaW5qZWN0IGFuIGFuZ3VsYXIgY29tcG9uZW50IGludG8gYSByZWd1bGFyIGh0bWwgZG9tIGVsZW1lbnRcbiAgICAgKiBAcGFyYW0gY29tcG9uZW50RmFjdG9yeVJlc29sdmVyIFRoZSByZXNvbHZlciBzZXJ2aWNlXG4gICAgICogQHBhcmFtIHZpZXdDb250YWluZXJSZWYgVGhlIHZpZXdDb250YWluZXJSZWYgc2VydmljZVxuICAgICAqIEBwYXJhbSBjb21wb25lbnROYW1lIFRoZSBuYW1lIG9mIHRoZSBhbmd1bGFyIGNvbXBvbmVudCAoZS5nLiBTcGlubmVyQ29tcG9uZW50KVxuICAgICAqIEBwYXJhbSB0YXJnZXRFbGVtZW50IFRoZSB0YXJnZXQgZWxlbWVudCBvZiB0aGUgZG9tLiBJZiB0aGUgZWxlbWVudCBpcyBudWxsIChub3QgZm91bmQpLCBub3RoaW5nIGlzIGRvbmVcbiAgICAgKiBAcGFyYW0gYmluZGluZ3MgT3B0aW9uYWwgYmluZGluZ3MgKGlucHV0cyAmIG91dHB1dHMpIHRvIHRoZSBnaXZlbiBjb21wb25lbnRcbiAgICAgKiBAcGFyYW0gZGVsYXkgT3B0aW9uYWwgaW5mbGF0aW5nIGRlbGF5IGluIG1zKHNvbWUgY29tcG9uZW50cyBtYXkgbmVlZCBzb21lIHRpbWUgdG8gXCJpbml0XCIgdGhlIGxheW91dClcbiAgICAgKiBAcGFyYW0gcmVwbGFjZSBXaGV0aGVyIHRvIHJlcGxhY2UgdG8gcHJldmlvdXMgYGlubmVySFRNTGAgb2YgYHRhcmdldEVsZW1lbnRgXG4gICAgICogQHBhcmFtIGluamVjdG9yICh0byBmZXRjaCB0ZW1wbGF0ZXMgZm9yIHRoZSBjb21wb25lbnQpXG4gICAgICovXG4gICAgcHVibGljIGluamVjdEFuZ3VsYXJDb21wb25lbnQ8VD4oXG4gICAgICAgIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgICAgIGNvbXBvbmVudE5hbWU6IFR5cGU8VD4sXG4gICAgICAgIHRhcmdldEVsZW1lbnQ6IEVsZW1lbnQsXG4gICAgICAgIGJpbmRpbmdzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0gbnVsbCxcbiAgICAgICAgeyBkZWxheSA9IDAsIHJlcGxhY2UgPSB0cnVlIH0gPSB7fSxcbiAgICApOiBDb21wb25lbnRSZWY8VD4ge1xuICAgICAgICBpZiAodGFyZ2V0RWxlbWVudCA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoY29tcG9uZW50TmFtZSk7XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudDogQ29tcG9uZW50UmVmPFQ+ID0gdmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoXG4gICAgICAgICAgICBmYWN0b3J5LFxuICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgdGhpcy5pbmplY3RvcixcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGJpbmRpbmdzKSB7XG4gICAgICAgICAgICBjb25zdCBpbnN0YW5jZTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSA9IGNvbXBvbmVudC5pbnN0YW5jZTtcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGJpbmRpbmdzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYmluZGluZyA9IGJpbmRpbmdzW2tleV07XG4gICAgICAgICAgICAgICAgaWYgKGJpbmRpbmcgaW5zdGFuY2VvZiBGdW5jdGlvbikge1xuICAgICAgICAgICAgICAgICAgICAvLyBzdWJzY3JpYmUgc28gY2FsbGJhY2sgY2FuIHByb3Blcmx5IGludm9rZWRcbiAgICAgICAgICAgICAgICAgICAgaW5zdGFuY2Vba2V5XS5zdWJzY3JpYmUoKHZhbHVlOiBhbnkpID0+IGJpbmRpbmcodmFsdWUpKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpbnN0YW5jZVtrZXldID0gYmluZGluZztcbiAgICAgICAgICAgICAgICAgICAgLy8gYG5nT25DaGFuZ2VzYCB3b24ndCBiZSBjYWxsZWQgb24gdGhlIGNvbXBvbmVudCBsaWtlIHRoaXMuIENvbnNpZGVyIGRvaW5nXG4gICAgICAgICAgICAgICAgICAgIC8vIHNvbWV0aGluZyBsaWtlIHRoaXM6XG4gICAgICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vc2NtLmVkdS1zaGFyaW5nLmNvbS9lZHUtc2hhcmluZy9wcm9qZWN0cy9vZWgtcmVkYWt0aW9uL25nLW1ldGEtd2lkZ2V0cy8tL2Jsb2IvMTYwM2ZiMmRlZGFkZDM5NTI0MDEzODViY2JkOTFhNGJkODQwNzY0My9zcmMvYXBwL2FwcC5tb2R1bGUudHMjTDY2LTc5XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gMy4gR2V0IERPTSBlbGVtZW50IGZyb20gY29tcG9uZW50XG4gICAgICAgIGNvbnN0IGRvbUVsZW0gPSAoY29tcG9uZW50Lmhvc3RWaWV3IGFzIEVtYmVkZGVkVmlld1JlZjxhbnk+KS5yb290Tm9kZXNbMF0gYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGRvbUVsZW0uc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICAgICAgaWYgKHJlcGxhY2UpIHtcbiAgICAgICAgICAgIHRhcmdldEVsZW1lbnQuaW5uZXJIVE1MID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB0YXJnZXRFbGVtZW50LmFwcGVuZENoaWxkKGRvbUVsZW0pO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGRvbUVsZW0uc3R5bGUuZGlzcGxheSA9IG51bGw7XG4gICAgICAgIH0sIGRlbGF5KTtcbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudDtcbiAgICB9XG59XG4iXX0=
@@ -29,13 +29,13 @@ export class SortDropdownComponent {
29
29
  item.ascending = ascending;
30
30
  this.onSort.emit(item);
31
31
  }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: SortDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: SortDropdownComponent, selector: "es-sort-dropdown", inputs: { columns: "columns", sortBy: "sortBy", sortAscending: "sortAscending" }, outputs: { onSort: "onSort" }, viewQueries: [{ propertyName: "menu", first: true, predicate: ["menu"], descendants: true, static: true }], ngImport: i0, template: "<mat-menu #menu=\"matMenu\" class=\"sort-dropdown-menu\">\n <div class=\"collection-item-title\">{{ 'SORT_BY' | translate }}</div>\n <button\n *ngFor=\"let item of columns\"\n mat-menu-item\n (click)=\"setSort(item)\"\n class=\"collection-item\"\n [class.active]=\"sortBy == item.name\"\n >\n <span class=\"title\" *ngIf=\"item.label\">{{ item.label }}</span>\n <span class=\"title\" *ngIf=\"!item.label\">{{ item.type + '.' + item.name | translate }}</span>\n <ng-container *ngIf=\"sortBy == item.name && item.name !== 'ccm:collection_ordered_position'\">\n <i class=\"material-icons\" *ngIf=\"sortAscending\" [altText]=\"'ASCENDING' | translate\">\n arrow_upward\n </i>\n <i class=\"material-icons\" *ngIf=\"!sortAscending\" [altText]=\"'DESCENDING' | translate\">\n arrow_downward\n </i>\n <span class=\"cdk-visually-hidden\">{{ 'SELECTED' | translate }}</span>\n </ng-container>\n </button>\n</mat-menu>\n", styles: ["::ng-deep .sort-dropdown-menu{width:240px}.collection-item-title{color:var(--textLight);font-size:80%;font-weight:700;padding:5px 16px}.collection-item{display:flex;color:var(--primary);text-align:left;border:none;width:100%}.collection-item ::ng-deep .mat-mdc-menu-item-text{flex-grow:1;display:flex;align-items:center}.collection-item.cdk-keyboard-focused{outline:none;border:var(--focusWidth) solid var(--palette-primary-300)}.collection-item.active{--mat-menu-item-label-text-weight: bold}.collection-item.active:after{content:\"\";position:absolute;left:0;width:100%;height:100%;background:linear-gradient(to right,var(--primary) 0,var(--primary) 5px,transparent 5px,transparent 5%)}.collection-item .title{flex-grow:1}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.IconDirective, selector: "i[esIcon], i.material-icons", inputs: ["altText", "aria", "esIcon"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], animations: [trigger('openOverlay', UIAnimation.openOverlay(UIAnimation.ANIMATION_TIME_FAST))] }); }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: SortDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: SortDropdownComponent, selector: "es-sort-dropdown", inputs: { columns: "columns", sortBy: "sortBy", sortAscending: "sortAscending" }, outputs: { onSort: "onSort" }, viewQueries: [{ propertyName: "menu", first: true, predicate: ["menu"], descendants: true, static: true }], ngImport: i0, template: "<mat-menu #menu=\"matMenu\" class=\"sort-dropdown-menu\">\n <div class=\"collection-item-title\">{{ 'SORT_BY' | translate }}</div>\n <button\n *ngFor=\"let item of columns\"\n mat-menu-item\n (click)=\"setSort(item)\"\n class=\"collection-item\"\n [class.active]=\"sortBy == item.name\"\n >\n <span class=\"title\" *ngIf=\"item.label\">{{ item.label }}</span>\n <span class=\"title\" *ngIf=\"!item.label\">{{ item.type + '.' + item.name | translate }}</span>\n <ng-container *ngIf=\"sortBy == item.name && item.name !== 'ccm:collection_ordered_position'\">\n <i class=\"material-icons\" *ngIf=\"sortAscending\" [altText]=\"'ASCENDING' | translate\">\n arrow_upward\n </i>\n <i class=\"material-icons\" *ngIf=\"!sortAscending\" [altText]=\"'DESCENDING' | translate\">\n arrow_downward\n </i>\n <span class=\"cdk-visually-hidden\">{{ 'SELECTED' | translate }}</span>\n </ng-container>\n </button>\n</mat-menu>\n", styles: ["::ng-deep .sort-dropdown-menu{width:240px}.collection-item-title{color:var(--textLight);font-size:80%;font-weight:700;padding:5px 16px}.collection-item{display:flex;color:var(--primary);text-align:left;border:none;width:100%}.collection-item ::ng-deep .mat-mdc-menu-item-text{flex-grow:1;display:flex;align-items:center}.collection-item.cdk-keyboard-focused{outline:none;border:var(--focusWidth) solid var(--palette-primary-300)}.collection-item.active{--mat-menu-item-label-text-weight: bold}.collection-item.active:after{content:\"\";position:absolute;left:0;width:100%;height:100%;background:linear-gradient(to right,var(--primary) 0,var(--primary) 5px,transparent 5px,transparent 5%)}.collection-item .title{flex-grow:1}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3.IconDirective, selector: "i[esIcon], i.material-icons", inputs: ["altText", "aria", "esIcon"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], animations: [trigger('openOverlay', UIAnimation.openOverlay(UIAnimation.ANIMATION_TIME_FAST))] }); }
34
34
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: SortDropdownComponent, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: SortDropdownComponent, decorators: [{
36
36
  type: Component,
37
37
  args: [{ selector: 'es-sort-dropdown', animations: [trigger('openOverlay', UIAnimation.openOverlay(UIAnimation.ANIMATION_TIME_FAST))], template: "<mat-menu #menu=\"matMenu\" class=\"sort-dropdown-menu\">\n <div class=\"collection-item-title\">{{ 'SORT_BY' | translate }}</div>\n <button\n *ngFor=\"let item of columns\"\n mat-menu-item\n (click)=\"setSort(item)\"\n class=\"collection-item\"\n [class.active]=\"sortBy == item.name\"\n >\n <span class=\"title\" *ngIf=\"item.label\">{{ item.label }}</span>\n <span class=\"title\" *ngIf=\"!item.label\">{{ item.type + '.' + item.name | translate }}</span>\n <ng-container *ngIf=\"sortBy == item.name && item.name !== 'ccm:collection_ordered_position'\">\n <i class=\"material-icons\" *ngIf=\"sortAscending\" [altText]=\"'ASCENDING' | translate\">\n arrow_upward\n </i>\n <i class=\"material-icons\" *ngIf=\"!sortAscending\" [altText]=\"'DESCENDING' | translate\">\n arrow_downward\n </i>\n <span class=\"cdk-visually-hidden\">{{ 'SELECTED' | translate }}</span>\n </ng-container>\n </button>\n</mat-menu>\n", styles: ["::ng-deep .sort-dropdown-menu{width:240px}.collection-item-title{color:var(--textLight);font-size:80%;font-weight:700;padding:5px 16px}.collection-item{display:flex;color:var(--primary);text-align:left;border:none;width:100%}.collection-item ::ng-deep .mat-mdc-menu-item-text{flex-grow:1;display:flex;align-items:center}.collection-item.cdk-keyboard-focused{outline:none;border:var(--focusWidth) solid var(--palette-primary-300)}.collection-item.active{--mat-menu-item-label-text-weight: bold}.collection-item.active:after{content:\"\";position:absolute;left:0;width:100%;height:100%;background:linear-gradient(to right,var(--primary) 0,var(--primary) 5px,transparent 5px,transparent 5%)}.collection-item .title{flex-grow:1}\n"] }]
38
- }], ctorParameters: function () { return []; }, propDecorators: { menu: [{
38
+ }], ctorParameters: () => [], propDecorators: { menu: [{
39
39
  type: ViewChild,
40
40
  args: ['menu', { static: true }]
41
41
  }], columns: [{
@@ -47,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
47
47
  }], onSort: [{
48
48
  type: Output
49
49
  }] } });
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1kcm9wZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3NvcnQtZHJvcGRvd24vc29ydC1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3NvcnQtZHJvcGRvd24vc29ydC1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7QUFTbkQsTUFBTSxPQUFPLHFCQUFxQjtJQVM5QjtRQUZVLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO0lBRWxDLENBQUM7SUFFaEIsT0FBTyxDQUFDLElBQW9CO1FBQ3hCLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDbkMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxXQUFXLENBQUM7UUFDaEQsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDM0IsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRTtnQkFDbkIscURBQXFEO2dCQUNyRCxJQUFJLGFBQWEsS0FBSyxJQUFJLENBQUMsYUFBYSxFQUFFO29CQUN0QyxPQUFPO2lCQUNWO2FBQ0o7WUFDRCxTQUFTLEdBQUcsQ0FBQyxTQUFTLENBQUM7U0FDMUI7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxFQUFFO1lBQzFCLG9DQUFvQztZQUNwQyxTQUFTLEdBQUcsYUFBYSxDQUFDO1NBQzdCO1FBQ0EsSUFBa0IsQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7OEdBNUJRLHFCQUFxQjtrR0FBckIscUJBQXFCLHFSQ1psQyxxOUJBc0JBLHk0Q0RaZ0IsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQzs7MkZBRXJGLHFCQUFxQjtrQkFOakMsU0FBUzsrQkFDSSxrQkFBa0IsY0FHaEIsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQzswRUFHekQsSUFBSTtzQkFBeEMsU0FBUzt1QkFBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUUxQixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUksTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0TWVudSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgVUlBbmltYXRpb24gfSBmcm9tICcuLi91dGlsL3VpLWFuaW1hdGlvbic7XG5pbXBvcnQgeyBMaXN0SXRlbSwgU29ydEV2ZW50IH0gZnJvbSAnLi4vdHlwZXMvbGlzdC1pdGVtJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlcy1zb3J0LWRyb3Bkb3duJyxcbiAgICB0ZW1wbGF0ZVVybDogJ3NvcnQtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydzb3J0LWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgYW5pbWF0aW9uczogW3RyaWdnZXIoJ29wZW5PdmVybGF5JywgVUlBbmltYXRpb24ub3Blbk92ZXJsYXkoVUlBbmltYXRpb24uQU5JTUFUSU9OX1RJTUVfRkFTVCkpXSxcbn0pXG5leHBvcnQgY2xhc3MgU29ydERyb3Bkb3duQ29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkKCdtZW51JywgeyBzdGF0aWM6IHRydWUgfSkgbWVudTogTWF0TWVudTtcblxuICAgIEBJbnB1dCgpIGNvbHVtbnM6IExpc3RJdGVtW107XG4gICAgQElucHV0KCkgc29ydEJ5OiBzdHJpbmc7XG4gICAgQElucHV0KCkgc29ydEFzY2VuZGluZzogYm9vbGVhbjtcblxuICAgIEBPdXRwdXQoKSBvblNvcnQgPSBuZXcgRXZlbnRFbWl0dGVyPFNvcnRFdmVudD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge31cblxuICAgIHNldFNvcnQoaXRlbTogTGlzdEl0ZW0gfCBhbnkpOiB2b2lkIHtcbiAgICAgICAgbGV0IGFzY2VuZGluZyA9IHRoaXMuc29ydEFzY2VuZGluZztcbiAgICAgICAgY29uc3QgaXRlbUFzY2VuZGluZyA9IGl0ZW0ubW9kZSA9PT0gJ2FzY2VuZGluZyc7XG4gICAgICAgIGlmIChpdGVtLm5hbWUgPT09IHRoaXMuc29ydEJ5KSB7XG4gICAgICAgICAgICBpZiAoaXRlbS5tb2RlICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAvLyBlbGVtZW50IGlzIGxpbWl0ZWQgdG8gb25lIG1vZGUsIGlnbm9yZSB0aGUgcmVxdWVzdFxuICAgICAgICAgICAgICAgIGlmIChpdGVtQXNjZW5kaW5nID09PSB0aGlzLnNvcnRBc2NlbmRpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFzY2VuZGluZyA9ICFhc2NlbmRpbmc7XG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbS5tb2RlICE9IG51bGwpIHtcbiAgICAgICAgICAgIC8vIGZvcmNlIG1vZGUgd2hlbiBzd2l0Y2hpbmcgdG8gaXRlbVxuICAgICAgICAgICAgYXNjZW5kaW5nID0gaXRlbUFzY2VuZGluZztcbiAgICAgICAgfVxuICAgICAgICAoaXRlbSBhcyBTb3J0RXZlbnQpLmFzY2VuZGluZyA9IGFzY2VuZGluZztcbiAgICAgICAgdGhpcy5vblNvcnQuZW1pdChpdGVtKTtcbiAgICB9XG59XG4iLCI8bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCIgY2xhc3M9XCJzb3J0LWRyb3Bkb3duLW1lbnVcIj5cbiAgPGRpdiBjbGFzcz1cImNvbGxlY3Rpb24taXRlbS10aXRsZVwiPnt7ICdTT1JUX0JZJyB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICA8YnV0dG9uXG4gICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgY29sdW1uc1wiXG4gICAgbWF0LW1lbnUtaXRlbVxuICAgIChjbGljayk9XCJzZXRTb3J0KGl0ZW0pXCJcbiAgICBjbGFzcz1cImNvbGxlY3Rpb24taXRlbVwiXG4gICAgW2NsYXNzLmFjdGl2ZV09XCJzb3J0QnkgPT0gaXRlbS5uYW1lXCJcbiAgPlxuICAgIDxzcGFuIGNsYXNzPVwidGl0bGVcIiAqbmdJZj1cIml0ZW0ubGFiZWxcIj57eyBpdGVtLmxhYmVsIH19PC9zcGFuPlxuICAgIDxzcGFuIGNsYXNzPVwidGl0bGVcIiAqbmdJZj1cIiFpdGVtLmxhYmVsXCI+e3sgaXRlbS50eXBlICsgJy4nICsgaXRlbS5uYW1lIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzb3J0QnkgPT0gaXRlbS5uYW1lICYmIGl0ZW0ubmFtZSAhPT0gJ2NjbTpjb2xsZWN0aW9uX29yZGVyZWRfcG9zaXRpb24nXCI+XG4gICAgICA8aSBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCIgKm5nSWY9XCJzb3J0QXNjZW5kaW5nXCIgW2FsdFRleHRdPVwiJ0FTQ0VORElORycgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgYXJyb3dfdXB3YXJkXG4gICAgICA8L2k+XG4gICAgICA8aSBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCIgKm5nSWY9XCIhc29ydEFzY2VuZGluZ1wiIFthbHRUZXh0XT1cIidERVNDRU5ESU5HJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICBhcnJvd19kb3dud2FyZFxuICAgICAgPC9pPlxuICAgICAgPHNwYW4gY2xhc3M9XCJjZGstdmlzdWFsbHktaGlkZGVuXCI+e3sgJ1NFTEVDVEVEJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9idXR0b24+XG48L21hdC1tZW51PlxuIl19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1kcm9wZG93bi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3NvcnQtZHJvcGRvd24vc29ydC1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3NvcnQtZHJvcGRvd24vc29ydC1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7QUFTbkQsTUFBTSxPQUFPLHFCQUFxQjtJQVM5QjtRQUZVLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO0lBRWxDLENBQUM7SUFFaEIsT0FBTyxDQUFDLElBQW9CO1FBQ3hCLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDbkMsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxXQUFXLENBQUM7UUFDaEQsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUM1QixJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ3BCLHFEQUFxRDtnQkFDckQsSUFBSSxhQUFhLEtBQUssSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO29CQUN2QyxPQUFPO2dCQUNYLENBQUM7WUFDTCxDQUFDO1lBQ0QsU0FBUyxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQzNCLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7WUFDM0Isb0NBQW9DO1lBQ3BDLFNBQVMsR0FBRyxhQUFhLENBQUM7UUFDOUIsQ0FBQztRQUNBLElBQWtCLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMxQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixDQUFDOzhHQTVCUSxxQkFBcUI7a0dBQXJCLHFCQUFxQixxUkNabEMscTlCQXNCQSx3a0REWmdCLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7OzJGQUVyRixxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0ksa0JBQWtCLGNBR2hCLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7d0RBR3pELElBQUk7c0JBQXhDLFNBQVM7dUJBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFFMUIsT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdE1lbnUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IFVJQW5pbWF0aW9uIH0gZnJvbSAnLi4vdXRpbC91aS1hbmltYXRpb24nO1xuaW1wb3J0IHsgTGlzdEl0ZW0sIFNvcnRFdmVudCB9IGZyb20gJy4uL3R5cGVzL2xpc3QtaXRlbSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXMtc29ydC1kcm9wZG93bicsXG4gICAgdGVtcGxhdGVVcmw6ICdzb3J0LWRyb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnc29ydC1kcm9wZG93bi5jb21wb25lbnQuc2NzcyddLFxuICAgIGFuaW1hdGlvbnM6IFt0cmlnZ2VyKCdvcGVuT3ZlcmxheScsIFVJQW5pbWF0aW9uLm9wZW5PdmVybGF5KFVJQW5pbWF0aW9uLkFOSU1BVElPTl9USU1FX0ZBU1QpKV0sXG59KVxuZXhwb3J0IGNsYXNzIFNvcnREcm9wZG93bkNvbXBvbmVudCB7XG4gICAgQFZpZXdDaGlsZCgnbWVudScsIHsgc3RhdGljOiB0cnVlIH0pIG1lbnU6IE1hdE1lbnU7XG5cbiAgICBASW5wdXQoKSBjb2x1bW5zOiBMaXN0SXRlbVtdO1xuICAgIEBJbnB1dCgpIHNvcnRCeTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHNvcnRBc2NlbmRpbmc6IGJvb2xlYW47XG5cbiAgICBAT3V0cHV0KCkgb25Tb3J0ID0gbmV3IEV2ZW50RW1pdHRlcjxTb3J0RXZlbnQ+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICBzZXRTb3J0KGl0ZW06IExpc3RJdGVtIHwgYW55KTogdm9pZCB7XG4gICAgICAgIGxldCBhc2NlbmRpbmcgPSB0aGlzLnNvcnRBc2NlbmRpbmc7XG4gICAgICAgIGNvbnN0IGl0ZW1Bc2NlbmRpbmcgPSBpdGVtLm1vZGUgPT09ICdhc2NlbmRpbmcnO1xuICAgICAgICBpZiAoaXRlbS5uYW1lID09PSB0aGlzLnNvcnRCeSkge1xuICAgICAgICAgICAgaWYgKGl0ZW0ubW9kZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgLy8gZWxlbWVudCBpcyBsaW1pdGVkIHRvIG9uZSBtb2RlLCBpZ25vcmUgdGhlIHJlcXVlc3RcbiAgICAgICAgICAgICAgICBpZiAoaXRlbUFzY2VuZGluZyA9PT0gdGhpcy5zb3J0QXNjZW5kaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhc2NlbmRpbmcgPSAhYXNjZW5kaW5nO1xuICAgICAgICB9IGVsc2UgaWYgKGl0ZW0ubW9kZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAvLyBmb3JjZSBtb2RlIHdoZW4gc3dpdGNoaW5nIHRvIGl0ZW1cbiAgICAgICAgICAgIGFzY2VuZGluZyA9IGl0ZW1Bc2NlbmRpbmc7XG4gICAgICAgIH1cbiAgICAgICAgKGl0ZW0gYXMgU29ydEV2ZW50KS5hc2NlbmRpbmcgPSBhc2NlbmRpbmc7XG4gICAgICAgIHRoaXMub25Tb3J0LmVtaXQoaXRlbSk7XG4gICAgfVxufVxuIiwiPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiIGNsYXNzPVwic29ydC1kcm9wZG93bi1tZW51XCI+XG4gIDxkaXYgY2xhc3M9XCJjb2xsZWN0aW9uLWl0ZW0tdGl0bGVcIj57eyAnU09SVF9CWScgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgPGJ1dHRvblxuICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGNvbHVtbnNcIlxuICAgIG1hdC1tZW51LWl0ZW1cbiAgICAoY2xpY2spPVwic2V0U29ydChpdGVtKVwiXG4gICAgY2xhc3M9XCJjb2xsZWN0aW9uLWl0ZW1cIlxuICAgIFtjbGFzcy5hY3RpdmVdPVwic29ydEJ5ID09IGl0ZW0ubmFtZVwiXG4gID5cbiAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCIgKm5nSWY9XCJpdGVtLmxhYmVsXCI+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cInRpdGxlXCIgKm5nSWY9XCIhaXRlbS5sYWJlbFwiPnt7IGl0ZW0udHlwZSArICcuJyArIGl0ZW0ubmFtZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic29ydEJ5ID09IGl0ZW0ubmFtZSAmJiBpdGVtLm5hbWUgIT09ICdjY206Y29sbGVjdGlvbl9vcmRlcmVkX3Bvc2l0aW9uJ1wiPlxuICAgICAgPGkgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiICpuZ0lmPVwic29ydEFzY2VuZGluZ1wiIFthbHRUZXh0XT1cIidBU0NFTkRJTkcnIHwgdHJhbnNsYXRlXCI+XG4gICAgICAgIGFycm93X3Vwd2FyZFxuICAgICAgPC9pPlxuICAgICAgPGkgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiICpuZ0lmPVwiIXNvcnRBc2NlbmRpbmdcIiBbYWx0VGV4dF09XCInREVTQ0VORElORycgfCB0cmFuc2xhdGVcIj5cbiAgICAgICAgYXJyb3dfZG93bndhcmRcbiAgICAgIDwvaT5cbiAgICAgIDxzcGFuIGNsYXNzPVwiY2RrLXZpc3VhbGx5LWhpZGRlblwiPnt7ICdTRUxFQ1RFRCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvYnV0dG9uPlxuPC9tYXQtbWVudT5cbiJdfQ==
@@ -6,14 +6,14 @@ export class SpinnerComponent {
6
6
  constructor() {
7
7
  this.dataTest = 'loading-spinner';
8
8
  }
9
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: SpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: SpinnerComponent, isStandalone: true, selector: "es-spinner", host: { properties: { "attr.data-test": "this.dataTest" } }, ngImport: i0, template: "<div class=\"spinner\">\n <span aria-live=\"polite\" class=\"cdk-visually-hidden\">{{ 'LOADING' | translate }}</span>\n <div class=\"spinnercontainer\">\n <div class=\"inner\">\n <div class=\"spinner1\"></div>\n </div>\n <div class=\"inner\">\n <div class=\"spinner2\"></div>\n </div>\n <div class=\"inner\">\n <div class=\"spinner3\"></div>\n </div>\n </div>\n</div>\n", styles: [".spinner{margin:0 auto}.spinnercontainer{margin:20px auto auto;height:54px;color:#0000;text-align:center;float:left;width:100%}.inner{width:30px;height:50px;display:inline-block}.spinner1{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDEyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgNTE0NDgpICAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiBbCgk8IUVOVElUWSBuc19zdmcgImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTwhRU5USVRZIG5zX3hsaW5rICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KXT4KPHN2ZyAgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9IiZuc19zdmc7IiB4bWxuczp4bGluaz0iJm5zX3hsaW5rOyIgd2lkdGg9IjE1LjY1NyIgaGVpZ2h0PSIxMy41NTkiCgkgdmlld0JveD0iMCAwIDE1LjY1NyAxMy41NTkiIG92ZXJmbG93PSJ2aXNpYmxlIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNS42NTcgMTMuNTU5IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBvbHlnb24gb3BhY2l0eT0iMC42IiBmaWxsPSIjYzFjNmUzIiBwb2ludHM9IjMuOTE0LDEzLjU1OSAwLDYuNzggMy45MTQsMCAxMS43NDMsMCAxNS42NTcsNi43OCAxMS43NDMsMTMuNTU5ICIvPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:center;background-size:50px;width:50px;height:50px;animation:spin 2s infinite ease-in;animation-delay:.1s}.spinner2{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDEyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgNTE0NDgpICAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiBbCgk8IUVOVElUWSBuc19zdmcgImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTwhRU5USVRZIG5zX3hsaW5rICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KXT4KPHN2ZyAgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9IiZuc19zdmc7IiB4bWxuczp4bGluaz0iJm5zX3hsaW5rOyIgd2lkdGg9IjE1LjY1NyIgaGVpZ2h0PSIxMy41NTkiCgkgdmlld0JveD0iMCAwIDE1LjY1NyAxMy41NTkiIG92ZXJmbG93PSJ2aXNpYmxlIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNS42NTcgMTMuNTU5IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBvbHlnb24gb3BhY2l0eT0iMC42IiBmaWxsPSIjN2Y5MWMzIiBwb2ludHM9IjMuOTE0LDEzLjU1OSAwLDYuNzggMy45MTQsMCAxMS43NDMsMCAxNS42NTcsNi43OCAxMS43NDMsMTMuNTU5ICIvPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:center;background-size:50px;width:50px;height:50px;animation:spin 2s infinite ease-in;animation-delay:.25s}.spinner3{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDEyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgNTE0NDgpICAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiBbCgk8IUVOVElUWSBuc19zdmcgImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTwhRU5USVRZIG5zX3hsaW5rICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KXT4KPHN2ZyAgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9IiZuc19zdmc7IiB4bWxuczp4bGluaz0iJm5zX3hsaW5rOyIgd2lkdGg9IjE1LjY1NyIgaGVpZ2h0PSIxMy41NTkiCgkgdmlld0JveD0iMCAwIDE1LjY1NyAxMy41NTkiIG92ZXJmbG93PSJ2aXNpYmxlIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNS42NTcgMTMuNTU5IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBvbHlnb24gb3BhY2l0eT0iMC42IiBmaWxsPSIjMzE2MmE3IiBwb2ludHM9IjMuOTE0LDEzLjU1OSAwLDYuNzggMy45MTQsMCAxMS43NDMsMCAxNS42NTcsNi43OCAxMS43NDMsMTMuNTU5ICIvPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:center;background-size:50px;width:50px;height:50px;animation:spin 2s infinite ease-in;animation-delay:.5s}@keyframes spin{0%{transform:scale(1)}50%{transform:scale(.5) rotate(90deg)}to{transform:scale(1)}}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: SpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
10
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.2", type: SpinnerComponent, isStandalone: true, selector: "es-spinner", host: { properties: { "attr.data-test": "this.dataTest" } }, ngImport: i0, template: "<div class=\"spinner\">\n <span aria-live=\"polite\" class=\"cdk-visually-hidden\">{{ 'LOADING' | translate }}</span>\n <div class=\"spinnercontainer\">\n <div class=\"inner\">\n <div class=\"spinner1\"></div>\n </div>\n <div class=\"inner\">\n <div class=\"spinner2\"></div>\n </div>\n <div class=\"inner\">\n <div class=\"spinner3\"></div>\n </div>\n </div>\n</div>\n", styles: [".spinner{margin:0 auto}.spinnercontainer{margin:20px auto auto;height:54px;color:#0000;text-align:center;float:left;width:100%}.inner{width:30px;height:50px;display:inline-block}.spinner1{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDEyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgNTE0NDgpICAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiBbCgk8IUVOVElUWSBuc19zdmcgImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTwhRU5USVRZIG5zX3hsaW5rICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KXT4KPHN2ZyAgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9IiZuc19zdmc7IiB4bWxuczp4bGluaz0iJm5zX3hsaW5rOyIgd2lkdGg9IjE1LjY1NyIgaGVpZ2h0PSIxMy41NTkiCgkgdmlld0JveD0iMCAwIDE1LjY1NyAxMy41NTkiIG92ZXJmbG93PSJ2aXNpYmxlIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNS42NTcgMTMuNTU5IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBvbHlnb24gb3BhY2l0eT0iMC42IiBmaWxsPSIjYzFjNmUzIiBwb2ludHM9IjMuOTE0LDEzLjU1OSAwLDYuNzggMy45MTQsMCAxMS43NDMsMCAxNS42NTcsNi43OCAxMS43NDMsMTMuNTU5ICIvPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:center;background-size:50px;width:50px;height:50px;-webkit-animation:spin 2s infinite ease-in;-moz-animation:spin 2s infinite ease-in;-ms-animation:spin 2s infinite ease-in;-o-animation:spin 2s infinite ease-in;animation:spin 2s infinite ease-in;-webkit-animation-delay:.1s;-moz-animation-delay:.1s;animation-delay:.1s}.spinner2{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDEyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgNTE0NDgpICAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiBbCgk8IUVOVElUWSBuc19zdmcgImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTwhRU5USVRZIG5zX3hsaW5rICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KXT4KPHN2ZyAgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9IiZuc19zdmc7IiB4bWxuczp4bGluaz0iJm5zX3hsaW5rOyIgd2lkdGg9IjE1LjY1NyIgaGVpZ2h0PSIxMy41NTkiCgkgdmlld0JveD0iMCAwIDE1LjY1NyAxMy41NTkiIG92ZXJmbG93PSJ2aXNpYmxlIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNS42NTcgMTMuNTU5IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBvbHlnb24gb3BhY2l0eT0iMC42IiBmaWxsPSIjN2Y5MWMzIiBwb2ludHM9IjMuOTE0LDEzLjU1OSAwLDYuNzggMy45MTQsMCAxMS43NDMsMCAxNS42NTcsNi43OCAxMS43NDMsMTMuNTU5ICIvPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:center;background-size:50px;width:50px;height:50px;-webkit-animation:spin 2s infinite ease-in;-moz-animation:spin 2s infinite ease-in;-ms-animation:spin 2s infinite ease-in;-o-animation:spin 2s infinite ease-in;animation:spin 2s infinite ease-in;-webkit-animation-delay:.25s;-moz-animation-delay:.25s;animation-delay:.25s}.spinner3{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDEyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgNTE0NDgpICAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiBbCgk8IUVOVElUWSBuc19zdmcgImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTwhRU5USVRZIG5zX3hsaW5rICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KXT4KPHN2ZyAgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9IiZuc19zdmc7IiB4bWxuczp4bGluaz0iJm5zX3hsaW5rOyIgd2lkdGg9IjE1LjY1NyIgaGVpZ2h0PSIxMy41NTkiCgkgdmlld0JveD0iMCAwIDE1LjY1NyAxMy41NTkiIG92ZXJmbG93PSJ2aXNpYmxlIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNS42NTcgMTMuNTU5IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBvbHlnb24gb3BhY2l0eT0iMC42IiBmaWxsPSIjMzE2MmE3IiBwb2ludHM9IjMuOTE0LDEzLjU1OSAwLDYuNzggMy45MTQsMCAxMS43NDMsMCAxNS42NTcsNi43OCAxMS43NDMsMTMuNTU5ICIvPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:center;background-size:50px;width:50px;height:50px;-webkit-animation:spin 2s infinite ease-in;-moz-animation:spin 2s infinite ease-in;-ms-animation:spin 2s infinite ease-in;-o-animation:spin 2s infinite ease-in;animation:spin 2s infinite ease-in;-webkit-animation-delay:.5s;-moz-animation-delay:.5s;animation-delay:.5s}@-webkit-keyframes spin{0%{transform:scale(1)}50%{transform:scale(.5)}to{transform:scale(1)}}@-moz-keyframes spin{0%{transform:scale(1)}50%{transform:scale(.5)}to{transform:scale(1)}}@-ms-keyframes spin{0%{transform:scale(1)}50%{transform:scale(.5)}to{transform:scale(1)}}@-o-keyframes spin{0%{transform:scale(1)}50%{transform:scale(.5)}to{transform:scale(1)}}@keyframes spin{0%{transform:scale(1)}50%{transform:scale(.5) rotate(90deg)}to{transform:scale(1)}}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }] }); }
11
11
  }
12
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: SpinnerComponent, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: SpinnerComponent, decorators: [{
13
13
  type: Component,
14
- args: [{ selector: 'es-spinner', standalone: true, imports: [TranslateModule], template: "<div class=\"spinner\">\n <span aria-live=\"polite\" class=\"cdk-visually-hidden\">{{ 'LOADING' | translate }}</span>\n <div class=\"spinnercontainer\">\n <div class=\"inner\">\n <div class=\"spinner1\"></div>\n </div>\n <div class=\"inner\">\n <div class=\"spinner2\"></div>\n </div>\n <div class=\"inner\">\n <div class=\"spinner3\"></div>\n </div>\n </div>\n</div>\n", styles: [".spinner{margin:0 auto}.spinnercontainer{margin:20px auto auto;height:54px;color:#0000;text-align:center;float:left;width:100%}.inner{width:30px;height:50px;display:inline-block}.spinner1{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDEyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgNTE0NDgpICAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiBbCgk8IUVOVElUWSBuc19zdmcgImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTwhRU5USVRZIG5zX3hsaW5rICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KXT4KPHN2ZyAgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9IiZuc19zdmc7IiB4bWxuczp4bGluaz0iJm5zX3hsaW5rOyIgd2lkdGg9IjE1LjY1NyIgaGVpZ2h0PSIxMy41NTkiCgkgdmlld0JveD0iMCAwIDE1LjY1NyAxMy41NTkiIG92ZXJmbG93PSJ2aXNpYmxlIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNS42NTcgMTMuNTU5IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBvbHlnb24gb3BhY2l0eT0iMC42IiBmaWxsPSIjYzFjNmUzIiBwb2ludHM9IjMuOTE0LDEzLjU1OSAwLDYuNzggMy45MTQsMCAxMS43NDMsMCAxNS42NTcsNi43OCAxMS43NDMsMTMuNTU5ICIvPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:center;background-size:50px;width:50px;height:50px;animation:spin 2s infinite ease-in;animation-delay:.1s}.spinner2{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDEyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgNTE0NDgpICAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiBbCgk8IUVOVElUWSBuc19zdmcgImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTwhRU5USVRZIG5zX3hsaW5rICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KXT4KPHN2ZyAgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9IiZuc19zdmc7IiB4bWxuczp4bGluaz0iJm5zX3hsaW5rOyIgd2lkdGg9IjE1LjY1NyIgaGVpZ2h0PSIxMy41NTkiCgkgdmlld0JveD0iMCAwIDE1LjY1NyAxMy41NTkiIG92ZXJmbG93PSJ2aXNpYmxlIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNS42NTcgMTMuNTU5IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBvbHlnb24gb3BhY2l0eT0iMC42IiBmaWxsPSIjN2Y5MWMzIiBwb2ludHM9IjMuOTE0LDEzLjU1OSAwLDYuNzggMy45MTQsMCAxMS43NDMsMCAxNS42NTcsNi43OCAxMS43NDMsMTMuNTU5ICIvPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:center;background-size:50px;width:50px;height:50px;animation:spin 2s infinite ease-in;animation-delay:.25s}.spinner3{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDEyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgNTE0NDgpICAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiBbCgk8IUVOVElUWSBuc19zdmcgImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTwhRU5USVRZIG5zX3hsaW5rICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KXT4KPHN2ZyAgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9IiZuc19zdmc7IiB4bWxuczp4bGluaz0iJm5zX3hsaW5rOyIgd2lkdGg9IjE1LjY1NyIgaGVpZ2h0PSIxMy41NTkiCgkgdmlld0JveD0iMCAwIDE1LjY1NyAxMy41NTkiIG92ZXJmbG93PSJ2aXNpYmxlIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNS42NTcgMTMuNTU5IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBvbHlnb24gb3BhY2l0eT0iMC42IiBmaWxsPSIjMzE2MmE3IiBwb2ludHM9IjMuOTE0LDEzLjU1OSAwLDYuNzggMy45MTQsMCAxMS43NDMsMCAxNS42NTcsNi43OCAxMS43NDMsMTMuNTU5ICIvPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:center;background-size:50px;width:50px;height:50px;animation:spin 2s infinite ease-in;animation-delay:.5s}@keyframes spin{0%{transform:scale(1)}50%{transform:scale(.5) rotate(90deg)}to{transform:scale(1)}}\n"] }]
15
- }], ctorParameters: function () { return []; }, propDecorators: { dataTest: [{
14
+ args: [{ selector: 'es-spinner', standalone: true, imports: [TranslateModule], template: "<div class=\"spinner\">\n <span aria-live=\"polite\" class=\"cdk-visually-hidden\">{{ 'LOADING' | translate }}</span>\n <div class=\"spinnercontainer\">\n <div class=\"inner\">\n <div class=\"spinner1\"></div>\n </div>\n <div class=\"inner\">\n <div class=\"spinner2\"></div>\n </div>\n <div class=\"inner\">\n <div class=\"spinner3\"></div>\n </div>\n </div>\n</div>\n", styles: [".spinner{margin:0 auto}.spinnercontainer{margin:20px auto auto;height:54px;color:#0000;text-align:center;float:left;width:100%}.inner{width:30px;height:50px;display:inline-block}.spinner1{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDEyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgNTE0NDgpICAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiBbCgk8IUVOVElUWSBuc19zdmcgImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTwhRU5USVRZIG5zX3hsaW5rICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KXT4KPHN2ZyAgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9IiZuc19zdmc7IiB4bWxuczp4bGluaz0iJm5zX3hsaW5rOyIgd2lkdGg9IjE1LjY1NyIgaGVpZ2h0PSIxMy41NTkiCgkgdmlld0JveD0iMCAwIDE1LjY1NyAxMy41NTkiIG92ZXJmbG93PSJ2aXNpYmxlIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNS42NTcgMTMuNTU5IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBvbHlnb24gb3BhY2l0eT0iMC42IiBmaWxsPSIjYzFjNmUzIiBwb2ludHM9IjMuOTE0LDEzLjU1OSAwLDYuNzggMy45MTQsMCAxMS43NDMsMCAxNS42NTcsNi43OCAxMS43NDMsMTMuNTU5ICIvPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:center;background-size:50px;width:50px;height:50px;-webkit-animation:spin 2s infinite ease-in;-moz-animation:spin 2s infinite ease-in;-ms-animation:spin 2s infinite ease-in;-o-animation:spin 2s infinite ease-in;animation:spin 2s infinite ease-in;-webkit-animation-delay:.1s;-moz-animation-delay:.1s;animation-delay:.1s}.spinner2{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDEyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgNTE0NDgpICAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiBbCgk8IUVOVElUWSBuc19zdmcgImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTwhRU5USVRZIG5zX3hsaW5rICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KXT4KPHN2ZyAgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9IiZuc19zdmc7IiB4bWxuczp4bGluaz0iJm5zX3hsaW5rOyIgd2lkdGg9IjE1LjY1NyIgaGVpZ2h0PSIxMy41NTkiCgkgdmlld0JveD0iMCAwIDE1LjY1NyAxMy41NTkiIG92ZXJmbG93PSJ2aXNpYmxlIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNS42NTcgMTMuNTU5IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBvbHlnb24gb3BhY2l0eT0iMC42IiBmaWxsPSIjN2Y5MWMzIiBwb2ludHM9IjMuOTE0LDEzLjU1OSAwLDYuNzggMy45MTQsMCAxMS43NDMsMCAxNS42NTcsNi43OCAxMS43NDMsMTMuNTU5ICIvPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:center;background-size:50px;width:50px;height:50px;-webkit-animation:spin 2s infinite ease-in;-moz-animation:spin 2s infinite ease-in;-ms-animation:spin 2s infinite ease-in;-o-animation:spin 2s infinite ease-in;animation:spin 2s infinite ease-in;-webkit-animation-delay:.25s;-moz-animation-delay:.25s;animation-delay:.25s}.spinner3{background:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDEyLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgNTE0NDgpICAtLT4KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIiBbCgk8IUVOVElUWSBuc19zdmcgImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTwhRU5USVRZIG5zX3hsaW5rICJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KXT4KPHN2ZyAgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9IiZuc19zdmc7IiB4bWxuczp4bGluaz0iJm5zX3hsaW5rOyIgd2lkdGg9IjE1LjY1NyIgaGVpZ2h0PSIxMy41NTkiCgkgdmlld0JveD0iMCAwIDE1LjY1NyAxMy41NTkiIG92ZXJmbG93PSJ2aXNpYmxlIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNS42NTcgMTMuNTU5IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHBvbHlnb24gb3BhY2l0eT0iMC42IiBmaWxsPSIjMzE2MmE3IiBwb2ludHM9IjMuOTE0LDEzLjU1OSAwLDYuNzggMy45MTQsMCAxMS43NDMsMCAxNS42NTcsNi43OCAxMS43NDMsMTMuNTU5ICIvPgo8L3N2Zz4K);background-repeat:no-repeat;background-position:center;background-size:50px;width:50px;height:50px;-webkit-animation:spin 2s infinite ease-in;-moz-animation:spin 2s infinite ease-in;-ms-animation:spin 2s infinite ease-in;-o-animation:spin 2s infinite ease-in;animation:spin 2s infinite ease-in;-webkit-animation-delay:.5s;-moz-animation-delay:.5s;animation-delay:.5s}@-webkit-keyframes spin{0%{transform:scale(1)}50%{transform:scale(.5)}to{transform:scale(1)}}@-moz-keyframes spin{0%{transform:scale(1)}50%{transform:scale(.5)}to{transform:scale(1)}}@-ms-keyframes spin{0%{transform:scale(1)}50%{transform:scale(.5)}to{transform:scale(1)}}@-o-keyframes spin{0%{transform:scale(1)}50%{transform:scale(.5)}to{transform:scale(1)}}@keyframes spin{0%{transform:scale(1)}50%{transform:scale(.5) rotate(90deg)}to{transform:scale(1)}}\n"] }]
15
+ }], ctorParameters: () => [], propDecorators: { dataTest: [{
16
16
  type: HostBinding,
17
17
  args: ['attr.data-test']
18
18
  }] } });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQVN0RCxNQUFNLE9BQU8sZ0JBQWdCO0lBR3pCO1FBRndDLGFBQVEsR0FBRyxpQkFBaUIsQ0FBQztJQUV0RCxDQUFDOzhHQUhQLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLG1JQ1Y3Qix1WkFjQSxzbEhETmMsZUFBZTs7MkZBRWhCLGdCQUFnQjtrQkFQNUIsU0FBUzsrQkFDSSxZQUFZLGNBR1YsSUFBSSxXQUNQLENBQUMsZUFBZSxDQUFDOzBFQUdjLFFBQVE7c0JBQS9DLFdBQVc7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlcy1zcGlubmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJ3NwaW5uZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydzcGlubmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbVHJhbnNsYXRlTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgU3Bpbm5lckNvbXBvbmVudCB7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdGVzdCcpIHJlYWRvbmx5IGRhdGFUZXN0ID0gJ2xvYWRpbmctc3Bpbm5lcic7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iLCI8ZGl2IGNsYXNzPVwic3Bpbm5lclwiPlxuICA8c3BhbiBhcmlhLWxpdmU9XCJwb2xpdGVcIiBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIj57eyAnTE9BRElORycgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gIDxkaXYgY2xhc3M9XCJzcGlubmVyY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImlubmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic3Bpbm5lcjFcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaW5uZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzcGlubmVyMlwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJpbm5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInNwaW5uZXIzXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQVN0RCxNQUFNLE9BQU8sZ0JBQWdCO0lBR3pCO1FBRndDLGFBQVEsR0FBRyxpQkFBaUIsQ0FBQztJQUV0RCxDQUFDOzhHQUhQLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLG1JQ1Y3Qix1WkFjQSwrakpETmMsZUFBZTs7MkZBRWhCLGdCQUFnQjtrQkFQNUIsU0FBUzsrQkFDSSxZQUFZLGNBR1YsSUFBSSxXQUNQLENBQUMsZUFBZSxDQUFDO3dEQUdjLFFBQVE7c0JBQS9DLFdBQVc7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdlcy1zcGlubmVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJ3NwaW5uZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydzcGlubmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbVHJhbnNsYXRlTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgU3Bpbm5lckNvbXBvbmVudCB7XG4gICAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdGVzdCcpIHJlYWRvbmx5IGRhdGFUZXN0ID0gJ2xvYWRpbmctc3Bpbm5lcic7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iLCI8ZGl2IGNsYXNzPVwic3Bpbm5lclwiPlxuICA8c3BhbiBhcmlhLWxpdmU9XCJwb2xpdGVcIiBjbGFzcz1cImNkay12aXN1YWxseS1oaWRkZW5cIj57eyAnTE9BRElORycgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gIDxkaXYgY2xhc3M9XCJzcGlubmVyY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cImlubmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic3Bpbm5lcjFcIj48L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaW5uZXJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzcGlubmVyMlwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJpbm5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cInNwaW5uZXIzXCI+PC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -7,11 +7,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __param = (this && this.__param) || function (paramIndex, decorator) {
8
8
  return function (target, key) { decorator(target, key, paramIndex); }
9
9
  };
10
+ var TranslationLoader_1;
10
11
  import { Inject, Optional } from '@angular/core';
11
12
  import { LANGUAGES } from 'ngx-edu-sharing-api';
12
13
  import * as rxjs from 'rxjs';
13
14
  import { concat, of } from 'rxjs';
14
- import { catchError, first, map, reduce } from 'rxjs/operators';
15
+ import { catchError, filter, first, map, reduce, switchMap } from 'rxjs/operators';
15
16
  import { ASSETS_BASE_PATH } from '../types/injection-tokens';
16
17
  import { TranslationSource } from './translation-source';
17
18
  export const TRANSLATION_LIST = [
@@ -31,9 +32,9 @@ export const TRANSLATION_LIST = [
31
32
  'stream',
32
33
  'override',
33
34
  ];
34
- let TranslationLoader = class TranslationLoader {
35
+ let TranslationLoader = TranslationLoader_1 = class TranslationLoader {
35
36
  static create(http, configService, configuration, assetsBasePath) {
36
- return new TranslationLoader(assetsBasePath, http, configService, configuration);
37
+ return new TranslationLoader_1(assetsBasePath, http, configService, configuration);
37
38
  }
38
39
  constructor(assetsBasePath, http, configService, configuration, prefix = (assetsBasePath ?? '') + 'assets/i18n', suffix = '.json') {
39
40
  this.assetsBasePath = assetsBasePath;
@@ -56,6 +57,7 @@ let TranslationLoader = class TranslationLoader {
56
57
  if (!LANGUAGES[lang]) {
57
58
  console.error('unknown locale for language ' + lang);
58
59
  }
60
+ console.log('lang', lang);
59
61
  this.configService.setLocale(LANGUAGES[lang]);
60
62
  return rxjs
61
63
  .forkJoin({
@@ -66,9 +68,10 @@ let TranslationLoader = class TranslationLoader {
66
68
  .observeTranslationOverrides()
67
69
  .pipe(first()),
68
70
  })
69
- .pipe(map(({ originalTranslations, translationOverrides }) =>
70
- // FIXME: This will alter the object returned by `getOriginalTranslations`.
71
- this.applyOverrides(originalTranslations, translationOverrides)), map((translations) => this.replaceGenderCharacter(translations)), catchError((error, obs) => {
71
+ .pipe(map(({ originalTranslations, translationOverrides }) => {
72
+ // FIXME: This will alter the object returned by `getOriginalTranslations`.
73
+ return this.applyOverrides(originalTranslations, translationOverrides);
74
+ }), map((translations) => this.replaceGenderCharacter(translations)), catchError((error, obs) => {
72
75
  console.error(error);
73
76
  return of(error);
74
77
  }));
@@ -76,7 +79,7 @@ let TranslationLoader = class TranslationLoader {
76
79
  getOriginalTranslations(lang) {
77
80
  switch (this.getSource()) {
78
81
  case 'repository':
79
- return this.configService.observeDefaultTranslations().pipe(first());
82
+ return this.configService.observeDefaultTranslations().pipe(filter((arg) => !arg || arg.locale === LANGUAGES[lang]), switchMap((arg) => arg?.dict?.pipe(first()) || of(null)), first());
80
83
  case 'local':
81
84
  return this.mergeTranslations(this.fetchTranslations(lang));
82
85
  }
@@ -172,9 +175,9 @@ __decorate([
172
175
  __param(3, Optional()),
173
176
  __param(3, Inject(ASSETS_BASE_PATH))
174
177
  ], TranslationLoader, "create", null);
175
- TranslationLoader = __decorate([
178
+ TranslationLoader = TranslationLoader_1 = __decorate([
176
179
  __param(0, Optional()),
177
180
  __param(0, Inject(ASSETS_BASE_PATH))
178
181
  ], TranslationLoader);
179
182
  export { TranslationLoader };
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tbG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi90cmFuc2xhdGlvbnMvdHJhbnNsYXRpb24tbG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpELE9BQU8sRUFBaUIsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0QsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFFLE1BQU0sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWhFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzVCLFFBQVE7SUFDUixPQUFPO0lBQ1AsU0FBUztJQUNULFdBQVc7SUFDWCxRQUFRO0lBQ1IsYUFBYTtJQUNiLE9BQU87SUFDUCxhQUFhO0lBQ2IsS0FBSztJQUNMLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixRQUFRO0lBQ1IsVUFBVTtDQUNiLENBQUM7QUFJSyxJQUFNLGlCQUFpQixHQUF2QixNQUFNLGlCQUFpQjtJQUNuQixBQUFQLE1BQU0sQ0FBQyxNQUFNLENBQ1QsSUFBZ0IsRUFDaEIsYUFBNEIsRUFDNUIsYUFBd0MsRUFDRixjQUF1QjtRQUU3RCxPQUFPLElBQUksaUJBQWlCLENBQUMsY0FBYyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsYUFBYSxDQUFD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WSxDQUFDLEdBQUcsQ0FBZSxFQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUNuQixDQUFDO2FBQ0w7U0FDSjtRQUVELE9BQU8sWUFBWSxDQUFDO0lBQ3hCLENBQUM7Q0FDSixDQUFBO0FBL0tVO0lBSUYsV0FBQSxRQUFRLEVBQUUsQ0FBQTtJQUFFLFdBQUEsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUE7cUNBR3hDO0FBUlEsaUJBQWlCO0lBV3JCLFdBQUEsUUFBUSxFQUFFLENBQUE7SUFBRSxXQUFBLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFBO0dBWGhDLGlCQUFpQixDQWdMN0I7U0FoTFksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZUxvYWRlciB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlnU2VydmljZSwgTEFOR1VBR0VTIH0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5pbXBvcnQgKiBhcyByeGpzIGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY29uY2F0LCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlyc3QsIG1hcCwgcmVkdWNlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRWR1U2hhcmluZ1VpQ29uZmlndXJhdGlvbiB9IGZyb20gJy4uL2VkdS1zaGFyaW5nLXVpLWNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgQVNTRVRTX0JBU0VfUEFUSCB9IGZyb20gJy4uL3R5cGVzL2luamVjdGlvbi10b2tlbnMnO1xuaW1wb3J0IHsgVHJhbnNsYXRpb25Tb3VyY2UgfSBmcm9tICcuL3RyYW5zbGF0aW9uLXNvdXJjZSc7XG5cbmV4cG9ydCBjb25zdCBUUkFOU0xBVElPTl9MSVNUID0gW1xuICAgICdjb21tb24nLFxuICAgICdhZG1pbicsXG4gICAgJ3JlY3ljbGUnLFxuICAgICd3b3Jrc3BhY2UnLFxuICAgICdzZWFyY2gnLFxuICAgICdjb2xsZWN0aW9ucycsXG4gICAgJ2xvZ2luJyxcbiAgICAncGVybWlzc2lvbnMnLFxuICAgICdvZXInLFxuICAgICdtZXNzYWdlcycsXG4gICAgJ3JlZ2lzdGVyJyxcbiAgICAncHJvZmlsZXMnLFxuICAgICdzZXJ2aWNlcycsXG4gICAgJ3N0cmVhbScsXG4gICAgJ292ZXJyaWRlJyxcbl07XG5cbnR5cGUgRGljdGlvbmFyeSA9IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgRGljdGlvbmFyeSB9O1xuXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRpb25Mb2FkZXIgaW1wbGVtZW50cyBUcmFuc2xhdGVMb2FkZXIge1xuICAgIHN0YXRpYyBjcmVhdGUoXG4gICAgICAgIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgICAgIGNvbmZpZ3VyYXRpb246IEVkdVNoYXJpbmdVaUNvbmZpZ3VyYXRpb24sXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQVNTRVRTX0JBU0VfUEFUSCkgYXNzZXRzQmFzZVBhdGg/OiBzdHJpbmcsXG4gICAgKSB7XG4gICAgICAgIHJldHVybiBuZXcgVHJhbnNsYXRpb25Mb2FkZXIoYXNzZXRzQmFzZVBhdGgsIGh0dHAsIGNvbmZpZ1NlcnZpY2UsIGNvbmZpZ3VyYXRpb24pO1xuICAgIH1cblxuICAgIHByaXZhdGUgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQVNTRVRTX0JBU0VfUEFUSCkgcHJpdmF0ZSBhc3NldHNCYXNlUGF0aDogc3RyaW5nLFxuICAgICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBjb25maWd1cmF0aW9uOiBFZHVTaGFyaW5nVWlDb25maWd1cmF0aW9uLFxuICAgICAgICBwcml2YXRlIHByZWZpeDogc3RyaW5nID0gKGFzc2V0c0Jhc2VQYXRoID8/ICcnKSArICdhc3NldHMvaTE4bicsXG4gICAgICAgIHByaXZhdGUgc3VmZml4OiBzdHJpbmcgPSAnLmpzb24nLFxuICAgICkge31cblxuICAgIC8vIElmIHlvdSBuZWVkIHRvIGNvbmZpZ3VyZSB0aGlzLCBkZWZpbmUgYW4gaW5qZWN0YWJsZSBjb25maWd1cmF0aW9uIG9iamVjdC4gU2VlXG4gICAgLy8gaHR0cHM6Ly9hbmd1bGFyLmlvL2d1aWRlL2RlcGVuZGVuY3ktaW5qZWN0aW9uLXByb3ZpZGVycyNpbmplY3RpbmctYS1jb25maWd1cmF0aW9uLW9iamVjdC5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHNvdXJjZTogVHJhbnNsYXRpb25Tb3VyY2UgPSBUcmFuc2xhdGlvblNvdXJjZS5BdXRvO1xuXG4gICAgLyoqXG4gICAgICogR2V0cyB0aGUgdHJhbnNsYXRpb25zIGZyb20gdGhlIHNlcnZlclxuICAgICAqL1xuICAgIGdldFRyYW5zbGF0aW9uKGxhbmc6IHN0cmluZyk6IE9ic2VydmFibGU8RGljdGlvbmFyeT4ge1xuICAgICAgICBpZiAobGFuZyA9PT0gJ25vbmUnKSB7XG4gICAgICAgICAgICByZXR1cm4gb2Yoe30pO1xuICAgICAgICB9XG4gICAgICAgIGlmICghTEFOR1VBR0VTW2xhbmddKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCd1bmtub3duIGxvY2FsZSBmb3IgbGFuZ3VhZ2UgJyArIGxhbmcpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY29uZmlnU2VydmljZS5zZXRMb2NhbGUoTEFOR1VBR0VTW2xhbmddKTtcbiAgICAgICAgcmV0dXJuIHJ4anNcbiAgICAgICAgICAgIC5mb3JrSm9pbih7XG4gICAgICAgICAgICAgICAgb3JpZ2luYWxUcmFuc2xhdGlvbnM6IHRoaXMuZ2V0T3JpZ2luYWxUcmFuc2xhdGlvbnMobGFuZykucGlwZShcbiAgICAgICAgICAgICAgICAgICAgLy8gRGVmYXVsdCB0byBlbXB0eSBkaWN0aW9uYXJ5IGlmIHdlIGdvdCBub3RoaW5nXG4gICAgICAgICAgICAgICAgICAgIG1hcCgodHJhbnNsYXRpb25zKSA9PiB0cmFuc2xhdGlvbnMgfHwge30pLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgdHJhbnNsYXRpb25PdmVycmlkZXM6IHRoaXMuY29uZmlnU2VydmljZVxuICAgICAgICAgICAgICAgICAgICAub2JzZXJ2ZVRyYW5zbGF0aW9uT3ZlcnJpZGVzKClcbiAgICAgICAgICAgICAgICAgICAgLnBpcGUoZmlyc3QoKSksXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKCh7IG9yaWdpbmFsVHJhbnNsYXRpb25zLCB0cmFuc2xhdGlvbk92ZXJyaWRlcyB9KSA9PlxuICAgICAgICAgICAgICAgICAgICAvLyBGSVhNRTogVGhpcyB3aWxsIGFsdGVyIHRoZSBvYmplY3QgcmV0dXJuZWQgYnkgYGdldE9yaWdpbmFsVHJhbnNsYXRpb25zYC5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHBseU92ZXJyaWRlcyhvcmlnaW5hbFRyYW5zbGF0aW9ucywgdHJhbnNsYXRpb25PdmVycmlkZXMpLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgbWFwKCh0cmFuc2xhdGlvbnMpID0+IHRoaXMucmVwbGFjZUdlbmRlckNoYXJhY3Rlcih0cmFuc2xhdGlvbnMpKSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvciwgb2JzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoZXJyb3IpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE9yaWdpbmFsVHJhbnNsYXRpb25zKGxhbmc6IHN0cmluZyk6IE9ic2VydmFibGU8RGljdGlvbmFyeT4ge1xuICAgICAgICBzd2l0Y2ggKHRoaXMuZ2V0U291cmNlKCkpIHtcbiAgICAgICAgICAgIGNhc2UgJ3JlcG9zaXRvcnknOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbmZpZ1NlcnZpY2Uub2JzZXJ2ZURlZmF1bHRUcmFuc2xhdGlvbnMoKS5waXBlKGZpcnN0KCkpO1xuICAgICAgICAgICAgY2FzZSAnbG9jYWwnOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLm1lcmdlVHJhbnNsYXRpb25zKHRoaXMuZmV0Y2hUcmFuc2xhdGlvbnMobGFuZykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTb3VyY2UoKTogJ3JlcG9zaXRvcnknIHwgJ2xvY2FsJyB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICh0aGlzLmNvbmZpZ3VyYXRpb24ucHJvZHVjdGlvbiAmJiB0aGlzLnNvdXJjZSA9PT0gVHJhbnNsYXRpb25Tb3VyY2UuQXV0bykgfHxcbiAgICAgICAgICAgIHRoaXMuc291cmNlID09PSBUcmFuc2xhdGlvblNvdXJjZS5SZXBvc2l0b3J5XG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuICdyZXBvc2l0b3J5JztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAnbG9jYWwnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhbiBhcnJheSBvZiBPYnNlcnZhYmxlcyB0aGF0IHdpbGwgZWFjaCBmZXRjaCBhIHRyYW5zbGF0aW9ucyBqc29uXG4gICAgICogZmlsZS5cbiAgICAgKi9cbiAgICBwcml2YXRlIGZldGNoVHJhbnNsYXRpb25zKGxhbmc6IHN0cmluZyk6IE9ic2VydmFibGU8RGljdGlvbmFyeT5bXSB7XG4gICAgICAgIHJldHVybiBUUkFOU0xBVElPTl9MSVNULm1hcChcbiAgICAgICAgICAgICh0cmFuc2xhdGlvbikgPT4gYCR7dGhpcy5wcmVmaXh9LyR7dHJhbnNsYXRpb259LyR7bGFuZ30ke3RoaXMuc3VmZml4fWAsXG4gICAgICAgIClcbiAgICAgICAgICAgIC5tYXAoKHVybCkgPT4gdGhpcy5odHRwLmdldCh1cmwpIGFzIE9ic2VydmFibGU8RGljdGlvbmFyeT4pXG4gICAgICAgICAgICAubWFwKChvYnMpID0+XG4gICAgICAgICAgICAgICAgb2JzLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbWlzc2luZyB0cmFuc2xhdGlvbiBmaWxlIGZvciBsYW5ndWFnZSAnICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFuZyArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcsIHRyYW5zbGF0aW9ucyB3aWxsIGJlIG1pc3NpbmcgLyBmYWxsaW5nIGJhY2sgdG8gdGhlIGRlZmF1bHQgbGFuZ3VhZ2UnLFxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvZih7fSk7XG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRha2VzIGFuIGFycmF5IGFzIHJldHVybmVkIGJ5IGBmZXRjaFRyYW5zbGF0aW9uc2AgYW5kIGNvbnZlcnRzIGl0IHRvIGFuXG4gICAgICogT2JzZXJ2YWJsZSB0aGF0IHlpZWxkcyBhIHNpbmdsZSBEaWN0aW9uYXJ5IG9iamVjdC5cbiAgICAgKi9cbiAgICBwcml2YXRlIG1lcmdlVHJhbnNsYXRpb25zKHRyYW5zbGF0aW9uczogT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5PltdKTogT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5PiB7XG4gICAgICAgIHJldHVybiBjb25jYXQoLi4udHJhbnNsYXRpb25zKS5waXBlKFxuICAgICAgICAgICAgcmVkdWNlKChhY2M6IERpY3Rpb25hcnksIHZhbHVlOiBEaWN0aW9uYXJ5KSA9PiB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBwcm9wIGluIHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh2YWx1ZS5oYXNPd25Qcm9wZXJ0eShwcm9wKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYWNjW3Byb3BdID0gdmFsdWVbcHJvcF07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgIH0sIHt9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBcHBsaWVzIGBvdmVycmlkZXNgIHRvIGB0cmFuc2xhdGlvbnNgIGFuZCByZXR1cm5zIGB0cmFuc2xhdGlvbnNgLlxuICAgICAqXG4gICAgICogRXhhbXBsZTpcbiAgICAgKiAgdHJhbnNsYXRpb25zID0geyBmb286IHsgYmFyOiAnYmFyJyB9IH1cbiAgICAgKiAgb3ZlcnJpZGVzID0geyAnZm9vLmJhcic6ICdiYXonIH1cbiAgICAgKiByZXN1bHRzIGluXG4gICAgICogIHRyYW5zbGF0aW9ucyA9IHsgZm9vOiB7YmFyOiAnYmF6JyB9IH1cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0cmFuc2xhdGlvbnMgTmVzdGVkIHRyYW5zbGF0aW9ucyBvYmplY3QuXG4gICAgICogQHBhcmFtIG92ZXJyaWRlcyBGbGF0IG9iamVjdCB3aXRoIGRvdHMgKC4pIGluIGtleXMgaW50ZXJwcmV0ZWQgYXNcbiAgICAgKiBzZXBhcmF0b3JzLlxuICAgICAqL1xuICAgIHByaXZhdGUgYXBwbHlPdmVycmlkZXMoXG4gICAgICAgIHRyYW5zbGF0aW9uczogRGljdGlvbmFyeSxcbiAgICAgICAgb3ZlcnJpZGVzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LFxuICAgICk6IERpY3Rpb25hcnkge1xuICAgICAgICBpZiAob3ZlcnJpZGVzKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllczxzdHJpbmc+KG92ZXJyaWRlcykpIHtcbiAgICAgICAgICAgICAgICBsZXQgcmVmID0gdHJhbnNsYXRpb25zO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhdGggPSBrZXkuc3BsaXQoJy4nKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXRoTGFzdCA9IHBhdGgucG9wKCk7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIHBhdGgpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFyZWZbaXRlbV0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZltpdGVtXSA9IHt9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlZkl0ZW0gPSByZWZbaXRlbV07XG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgcmVmSXRlbSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVHJ5aW5nIHRvIG92ZXJyaWRlIGxlYXZlIHdpdGggc3ViIHRyZWU6ICcgKyBwYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZWYgPSByZWZJdGVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZWZbcGF0aExhc3RdID0gdmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0aW9ucztcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlcGxhY2VHZW5kZXJDaGFyYWN0ZXIodHJhbnNsYXRpb25zOiBEaWN0aW9uYXJ5LCBwYXRoOiBzdHJpbmdbXSA9IFtdKSB7XG4gICAgICAgIGZvciAobGV0IGtleSBvZiBPYmplY3Qua2V5cyh0cmFuc2xhdGlvbnMpKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHRyYW5zbGF0aW9uc1trZXldID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIC8vIERPIE5PVCBSRU1PVkUgKHJlcXVpcmVkIGZvciBjc3YgbGFuZ3VhZ2UgZHVtcGluZylcbiAgICAgICAgICAgICAgICAvKmNvbnNvbGUubG9nKENzdkhlbHBlci5mcm9tQXJyYXkobnVsbCwgW1tcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhdGguY29uY2F0KGtleSkuam9pbignLicpLCB0cmFuc2xhdGlvbnNba2V5XVxuICAgICAgICAgICAgICAgIF1dKSk7Ki9cbiAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbnNba2V5XSA9ICh0cmFuc2xhdGlvbnNba2V5XSBhcyBzdHJpbmcpLnJlcGxhY2UoXG4gICAgICAgICAgICAgICAgICAgIC97e0dFTkRFUl9TRVBBUkFUT1J9fS9nLFxuICAgICAgICAgICAgICAgICAgICAnKicsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdHJhbnNsYXRpb25zW2tleV0gPSB0aGlzLnJlcGxhY2VHZW5kZXJDaGFyYWN0ZXIoXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0aW9uc1trZXldIGFzIERpY3Rpb25hcnksXG4gICAgICAgICAgICAgICAgICAgIHBhdGguY29uY2F0KGtleSksXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cmFuc2xhdGlvbnM7XG4gICAgfVxufVxuIl19
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tbG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi90cmFuc2xhdGlvbnMvdHJhbnNsYXRpb24tbG9hZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQWlCLFNBQVMsRUFBb0IsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRixPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUUsTUFBTSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQU8sTUFBTSxnQkFBZ0IsQ0FBQztBQUV4RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV6RCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM1QixRQUFRO0lBQ1IsT0FBTztJQUNQLFNBQVM7SUFDVCxXQUFXO0lBQ1gsUUFBUTtJQUNSLGFBQWE7SUFDYixPQUFPO0lBQ1AsYUFBYTtJQUNiLEtBQUs7SUFDTCxVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsUUFBUTtJQUNSLFVBQVU7Q0FDYixDQUFDO0FBSUssSUFBTSxpQkFBaUIseUJBQXZCLE1BQU0saUJBQWlCO0lBQ25CLEFBQVAsTUFBTSxDQUFDLE1BQU0sQ0FDVCxJQUFnQixFQUNoQixhQUE0QixFQUM1QixhQUF3QyxFQUNGLGNBQXVCO1FBRTdELE9BQU8sSUFBSSxtQkFBaUIsQ0FBQyxjQUFjLEVBQUUsSUFBSSxF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RCxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQzFCLENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxZQUFZLENBQUM7SUFDeEIsQ0FBQztJQUVPLHNCQUFzQixDQUFDLFlBQXdCLEVBQUUsT0FBaUIsRUFBRTtRQUN4RSxLQUFLLElBQUksR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUN4QyxJQUFJLE9BQU8sWUFBWSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUN4QyxvREFBb0Q7Z0JBQ3BEOzt1QkFFTztnQkFDUCxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUksWUFBWSxDQUFDLEdBQUcsQ0FBWSxDQUFDLE9BQU8sQ0FDckQsdUJBQXVCLEVBQ3ZCLEdBQUcsQ0FDTixDQUFDO1lBQ04sQ0FBQztpQkFBTSxDQUFDO2dCQUNKLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQzNDLFlBQVksQ0FBQyxHQUFHLENBQWUsRUFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FDbkIsQ0FBQztZQUNOLENBQUM7UUFDTCxDQUFDO1FBRUQsT0FBTyxZQUFZLENBQUM7SUFDeEIsQ0FBQztDQUNKLENBQUE7QUFwTFU7SUFJRixXQUFBLFFBQVEsRUFBRSxDQUFBO0lBQUUsV0FBQSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQTtxQ0FHeEM7QUFSUSxpQkFBaUI7SUFXckIsV0FBQSxRQUFRLEVBQUUsQ0FBQTtJQUFFLFdBQUEsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUE7R0FYaEMsaUJBQWlCLENBcUw3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3QsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVMb2FkZXIgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UsIExBTkdVQUdFUywgVHJhbnNsYXRpb25zRGljdCB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0ICogYXMgcnhqcyBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNvbmNhdCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbHRlciwgZmlyc3QsIG1hcCwgcmVkdWNlLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEVkdVNoYXJpbmdVaUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi9lZHUtc2hhcmluZy11aS1jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IEFTU0VUU19CQVNFX1BBVEggfSBmcm9tICcuLi90eXBlcy9pbmplY3Rpb24tdG9rZW5zJztcbmltcG9ydCB7IFRyYW5zbGF0aW9uU291cmNlIH0gZnJvbSAnLi90cmFuc2xhdGlvbi1zb3VyY2UnO1xuXG5leHBvcnQgY29uc3QgVFJBTlNMQVRJT05fTElTVCA9IFtcbiAgICAnY29tbW9uJyxcbiAgICAnYWRtaW4nLFxuICAgICdyZWN5Y2xlJyxcbiAgICAnd29ya3NwYWNlJyxcbiAgICAnc2VhcmNoJyxcbiAgICAnY29sbGVjdGlvbnMnLFxuICAgICdsb2dpbicsXG4gICAgJ3Blcm1pc3Npb25zJyxcbiAgICAnb2VyJyxcbiAgICAnbWVzc2FnZXMnLFxuICAgICdyZWdpc3RlcicsXG4gICAgJ3Byb2ZpbGVzJyxcbiAgICAnc2VydmljZXMnLFxuICAgICdzdHJlYW0nLFxuICAgICdvdmVycmlkZScsXG5dO1xuXG50eXBlIERpY3Rpb25hcnkgPSB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IERpY3Rpb25hcnkgfTtcblxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0aW9uTG9hZGVyIGltcGxlbWVudHMgVHJhbnNsYXRlTG9hZGVyIHtcbiAgICBzdGF0aWMgY3JlYXRlKFxuICAgICAgICBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgICAgICBjb25maWd1cmF0aW9uOiBFZHVTaGFyaW5nVWlDb25maWd1cmF0aW9uLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFTU0VUU19CQVNFX1BBVEgpIGFzc2V0c0Jhc2VQYXRoPzogc3RyaW5nLFxuICAgICkge1xuICAgICAgICByZXR1cm4gbmV3IFRyYW5zbGF0aW9uTG9hZGVyKGFzc2V0c0Jhc2VQYXRoLCBodHRwLCBjb25maWdTZXJ2aWNlLCBjb25maWd1cmF0aW9uKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFTU0VUU19CQVNFX1BBVEgpIHByaXZhdGUgYXNzZXRzQmFzZVBhdGg6IHN0cmluZyxcbiAgICAgICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICBwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY29uZmlndXJhdGlvbjogRWR1U2hhcmluZ1VpQ29uZmlndXJhdGlvbixcbiAgICAgICAgcHJpdmF0ZSBwcmVmaXg6IHN0cmluZyA9IChhc3NldHNCYXNlUGF0aCA/PyAnJykgKyAnYXNzZXRzL2kxOG4nLFxuICAgICAgICBwcml2YXRlIHN1ZmZpeDogc3RyaW5nID0gJy5qc29uJyxcbiAgICApIHt9XG5cbiAgICAvLyBJZiB5b3UgbmVlZCB0byBjb25maWd1cmUgdGhpcywgZGVmaW5lIGFuIGluamVjdGFibGUgY29uZmlndXJhdGlvbiBvYmplY3QuIFNlZVxuICAgIC8vIGh0dHBzOi8vYW5ndWxhci5pby9ndWlkZS9kZXBlbmRlbmN5LWluamVjdGlvbi1wcm92aWRlcnMjaW5qZWN0aW5nLWEtY29uZmlndXJhdGlvbi1vYmplY3QuXG4gICAgcHJpdmF0ZSByZWFkb25seSBzb3VyY2U6IFRyYW5zbGF0aW9uU291cmNlID0gVHJhbnNsYXRpb25Tb3VyY2UuQXV0bztcblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHRyYW5zbGF0aW9ucyBmcm9tIHRoZSBzZXJ2ZXJcbiAgICAgKi9cbiAgICBnZXRUcmFuc2xhdGlvbihsYW5nOiBzdHJpbmcpOiBPYnNlcnZhYmxlPERpY3Rpb25hcnk+IHtcbiAgICAgICAgaWYgKGxhbmcgPT09ICdub25lJykge1xuICAgICAgICAgICAgcmV0dXJuIG9mKHt9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIUxBTkdVQUdFU1tsYW5nXSkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcigndW5rbm93biBsb2NhbGUgZm9yIGxhbmd1YWdlICcgKyBsYW5nKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zb2xlLmxvZygnbGFuZycsIGxhbmcpO1xuICAgICAgICB0aGlzLmNvbmZpZ1NlcnZpY2Uuc2V0TG9jYWxlKExBTkdVQUdFU1tsYW5nXSk7XG4gICAgICAgIHJldHVybiByeGpzXG4gICAgICAgICAgICAuZm9ya0pvaW4oe1xuICAgICAgICAgICAgICAgIG9yaWdpbmFsVHJhbnNsYXRpb25zOiB0aGlzLmdldE9yaWdpbmFsVHJhbnNsYXRpb25zKGxhbmcpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIC8vIERlZmF1bHQgdG8gZW1wdHkgZGljdGlvbmFyeSBpZiB3ZSBnb3Qgbm90aGluZ1xuICAgICAgICAgICAgICAgICAgICBtYXAoKHRyYW5zbGF0aW9ucykgPT4gdHJhbnNsYXRpb25zIHx8IHt9KSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIHRyYW5zbGF0aW9uT3ZlcnJpZGVzOiB0aGlzLmNvbmZpZ1NlcnZpY2VcbiAgICAgICAgICAgICAgICAgICAgLm9ic2VydmVUcmFuc2xhdGlvbk92ZXJyaWRlcygpXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKGZpcnN0KCkpLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoeyBvcmlnaW5hbFRyYW5zbGF0aW9ucywgdHJhbnNsYXRpb25PdmVycmlkZXMgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBGSVhNRTogVGhpcyB3aWxsIGFsdGVyIHRoZSBvYmplY3QgcmV0dXJuZWQgYnkgYGdldE9yaWdpbmFsVHJhbnNsYXRpb25zYC5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuYXBwbHlPdmVycmlkZXMob3JpZ2luYWxUcmFuc2xhdGlvbnMsIHRyYW5zbGF0aW9uT3ZlcnJpZGVzKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBtYXAoKHRyYW5zbGF0aW9ucykgPT4gdGhpcy5yZXBsYWNlR2VuZGVyQ2hhcmFjdGVyKHRyYW5zbGF0aW9ucykpLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yLCBvYnMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihlcnJvcik7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0T3JpZ2luYWxUcmFuc2xhdGlvbnMobGFuZzogc3RyaW5nKTogT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5PiB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5nZXRTb3VyY2UoKSkge1xuICAgICAgICAgICAgY2FzZSAncmVwb3NpdG9yeSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnU2VydmljZS5vYnNlcnZlRGVmYXVsdFRyYW5zbGF0aW9ucygpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcigoYXJnKSA9PiAhYXJnIHx8IGFyZy5sb2NhbGUgPT09IExBTkdVQUdFU1tsYW5nXSksXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoYXJnKSA9PiBhcmc/LmRpY3Q/LnBpcGUoZmlyc3QoKSkgfHwgb2YobnVsbCkpLFxuICAgICAgICAgICAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICBjYXNlICdsb2NhbCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubWVyZ2VUcmFuc2xhdGlvbnModGhpcy5mZXRjaFRyYW5zbGF0aW9ucyhsYW5nKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFNvdXJjZSgpOiAncmVwb3NpdG9yeScgfCAnbG9jYWwnIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgKHRoaXMuY29uZmlndXJhdGlvbi5wcm9kdWN0aW9uICYmIHRoaXMuc291cmNlID09PSBUcmFuc2xhdGlvblNvdXJjZS5BdXRvKSB8fFxuICAgICAgICAgICAgdGhpcy5zb3VyY2UgPT09IFRyYW5zbGF0aW9uU291cmNlLlJlcG9zaXRvcnlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gJ3JlcG9zaXRvcnknO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuICdsb2NhbCc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGFuIGFycmF5IG9mIE9ic2VydmFibGVzIHRoYXQgd2lsbCBlYWNoIGZldGNoIGEgdHJhbnNsYXRpb25zIGpzb25cbiAgICAgKiBmaWxlLlxuICAgICAqL1xuICAgIHByaXZhdGUgZmV0Y2hUcmFuc2xhdGlvbnMobGFuZzogc3RyaW5nKTogT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5PltdIHtcbiAgICAgICAgcmV0dXJuIFRSQU5TTEFUSU9OX0xJU1QubWFwKFxuICAgICAgICAgICAgKHRyYW5zbGF0aW9uKSA9PiBgJHt0aGlzLnByZWZpeH0vJHt0cmFuc2xhdGlvbn0vJHtsYW5nfSR7dGhpcy5zdWZmaXh9YCxcbiAgICAgICAgKVxuICAgICAgICAgICAgLm1hcCgodXJsKSA9PiB0aGlzLmh0dHAuZ2V0KHVybCkgYXMgT2JzZXJ2YWJsZTxEaWN0aW9uYXJ5PilcbiAgICAgICAgICAgIC5tYXAoKG9icykgPT5cbiAgICAgICAgICAgICAgICBvYnMucGlwZShcbiAgICAgICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtaXNzaW5nIHRyYW5zbGF0aW9uIGZpbGUgZm9yIGxhbmd1YWdlICcgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYW5nICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJywgdHJhbnNsYXRpb25zIHdpbGwgYmUgbWlzc2luZyAvIGZhbGxpbmcgYmFjayB0byB0aGUgZGVmYXVsdCBsYW5ndWFnZScsXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHt9KTtcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGFrZXMgYW4gYXJyYXkgYXMgcmV0dXJuZWQgYnkgYGZldGNoVHJhbnNsYXRpb25zYCBhbmQgY29udmVydHMgaXQgdG8gYW5cbiAgICAgKiBPYnNlcnZhYmxlIHRoYXQgeWllbGRzIGEgc2luZ2xlIERpY3Rpb25hcnkgb2JqZWN0LlxuICAgICAqL1xuICAgIHByaXZhdGUgbWVyZ2VUcmFuc2xhdGlvbnModHJhbnNsYXRpb25zOiBPYnNlcnZhYmxlPERpY3Rpb25hcnk+W10pOiBPYnNlcnZhYmxlPERpY3Rpb25hcnk+IHtcbiAgICAgICAgcmV0dXJuIGNvbmNhdCguLi50cmFuc2xhdGlvbnMpLnBpcGUoXG4gICAgICAgICAgICByZWR1Y2UoKGFjYzogRGljdGlvbmFyeSwgdmFsdWU6IERpY3Rpb25hcnkpID0+IHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHByb3AgaW4gdmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbHVlLmhhc093blByb3BlcnR5KHByb3ApKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBhY2NbcHJvcF0gPSB2YWx1ZVtwcm9wXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgfSwge30pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFwcGxpZXMgYG92ZXJyaWRlc2AgdG8gYHRyYW5zbGF0aW9uc2AgYW5kIHJldHVybnMgYHRyYW5zbGF0aW9uc2AuXG4gICAgICpcbiAgICAgKiBFeGFtcGxlOlxuICAgICAqICB0cmFuc2xhdGlvbnMgPSB7IGZvbzogeyBiYXI6ICdiYXInIH0gfVxuICAgICAqICBvdmVycmlkZXMgPSB7ICdmb28uYmFyJzogJ2JheicgfVxuICAgICAqIHJlc3VsdHMgaW5cbiAgICAgKiAgdHJhbnNsYXRpb25zID0geyBmb286IHtiYXI6ICdiYXonIH0gfVxuICAgICAqXG4gICAgICogQHBhcmFtIHRyYW5zbGF0aW9ucyBOZXN0ZWQgdHJhbnNsYXRpb25zIG9iamVjdC5cbiAgICAgKiBAcGFyYW0gb3ZlcnJpZGVzIEZsYXQgb2JqZWN0IHdpdGggZG90cyAoLikgaW4ga2V5cyBpbnRlcnByZXRlZCBhc1xuICAgICAqIHNlcGFyYXRvcnMuXG4gICAgICovXG4gICAgcHJpdmF0ZSBhcHBseU92ZXJyaWRlcyhcbiAgICAgICAgdHJhbnNsYXRpb25zOiBEaWN0aW9uYXJ5LFxuICAgICAgICBvdmVycmlkZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sXG4gICAgKTogRGljdGlvbmFyeSB7XG4gICAgICAgIGlmIChvdmVycmlkZXMpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzPHN0cmluZz4ob3ZlcnJpZGVzKSkge1xuICAgICAgICAgICAgICAgIGxldCByZWYgPSB0cmFuc2xhdGlvbnM7XG4gICAgICAgICAgICAgICAgY29uc3QgcGF0aCA9IGtleS5zcGxpdCgnLicpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhdGhMYXN0ID0gcGF0aC5wb3AoKTtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgcGF0aCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXJlZltpdGVtXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVmW2l0ZW1dID0ge307XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVmSXRlbSA9IHJlZltpdGVtXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiByZWZJdGVtID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUcnlpbmcgdG8gb3ZlcnJpZGUgbGVhdmUgd2l0aCBzdWIgdHJlZTogJyArIHBhdGgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJlZiA9IHJlZkl0ZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlZltwYXRoTGFzdF0gPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJhbnNsYXRpb25zO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVwbGFjZUdlbmRlckNoYXJhY3Rlcih0cmFuc2xhdGlvbnM6IERpY3Rpb25hcnksIHBhdGg6IHN0cmluZ1tdID0gW10pIHtcbiAgICAgICAgZm9yIChsZXQga2V5IG9mIE9iamVjdC5rZXlzKHRyYW5zbGF0aW9ucykpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdHJhbnNsYXRpb25zW2tleV0gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgLy8gRE8gTk9UIFJFTU9WRSAocmVxdWlyZWQgZm9yIGNzdiBsYW5ndWFnZSBkdW1waW5nKVxuICAgICAgICAgICAgICAgIC8qY29uc29sZS5sb2coQ3N2SGVscGVyLmZyb21BcnJheShudWxsLCBbW1xuICAgICAgICAgICAgICAgICAgICAgICAgcGF0aC5jb25jYXQoa2V5KS5qb2luKCcuJyksIHRyYW5zbGF0aW9uc1trZXldXG4gICAgICAgICAgICAgICAgXV0pKTsqL1xuICAgICAgICAgICAgICAgIHRyYW5zbGF0aW9uc1trZXldID0gKHRyYW5zbGF0aW9uc1trZXldIGFzIHN0cmluZykucmVwbGFjZShcbiAgICAgICAgICAgICAgICAgICAgL3t7R0VOREVSX1NFUEFSQVRPUn19L2csXG4gICAgICAgICAgICAgICAgICAgICcqJyxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0cmFuc2xhdGlvbnNba2V5XSA9IHRoaXMucmVwbGFjZUdlbmRlckNoYXJhY3RlcihcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRpb25zW2tleV0gYXMgRGljdGlvbmFyeSxcbiAgICAgICAgICAgICAgICAgICAgcGF0aC5jb25jYXQoa2V5KSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRyYW5zbGF0aW9ucztcbiAgICB9XG59XG4iXX0=