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
@@ -19,11 +19,11 @@ export class ReplaceCharsPipe {
19
19
  constructor(translate) {
20
20
  this.translate = translate;
21
21
  }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ReplaceCharsPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
23
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.6", ngImport: i0, type: ReplaceCharsPipe, name: "replaceChars" }); }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ReplaceCharsPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
23
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: ReplaceCharsPipe, name: "replaceChars" }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ReplaceCharsPipe, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: ReplaceCharsPipe, decorators: [{
26
26
  type: Pipe,
27
27
  args: [{ name: 'replaceChars' }]
28
- }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGFjZS1jaGFycy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9waXBlcy9yZXBsYWNlLWNoYXJzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7OztBQUlwRCxNQUFNLE9BQU8sZ0JBQWdCO0lBQ3pCLFNBQVMsQ0FBQyxLQUFhLEVBQUUsSUFBUztRQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDVixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMvQjtRQUNELElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzlDLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDakM7UUFDRCxLQUFLLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDekIsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ25FLENBQUMsRUFBRSxDQUFDO1NBQ1A7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBQ0QsWUFBb0IsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7SUFBRyxDQUFDOzhHQWYxQyxnQkFBZ0I7NEdBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFENUIsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbkBQaXBlKHsgbmFtZTogJ3JlcGxhY2VDaGFycycgfSlcbmV4cG9ydCBjbGFzcyBSZXBsYWNlQ2hhcnNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcsIGFyZ3M6IGFueSk6IHN0cmluZyB7XG4gICAgICAgIGxldCBpID0gMDtcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGFyZ3Muc2VhcmNoKSkge1xuICAgICAgICAgICAgYXJncy5zZWFyY2ggPSBbYXJncy5zZWFyY2hdO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhcmdzLnJlcGxhY2UgJiYgIUFycmF5LmlzQXJyYXkoYXJncy5yZXBsYWNlKSkge1xuICAgICAgICAgICAgYXJncy5yZXBsYWNlID0gW2FyZ3MucmVwbGFjZV07XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChsZXQgYXJnIG9mIGFyZ3Muc2VhcmNoKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IHZhbHVlLnNwbGl0KGFyZykuam9pbihhcmdzLnJlcGxhY2UgPyBhcmdzLnJlcGxhY2VbaV0gOiAnJyk7XG4gICAgICAgICAgICBpKys7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge31cbn1cbiJdfQ==
28
+ }], ctorParameters: () => [{ type: i1.TranslateService }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwbGFjZS1jaGFycy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9waXBlcy9yZXBsYWNlLWNoYXJzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7OztBQUlwRCxNQUFNLE9BQU8sZ0JBQWdCO0lBQ3pCLFNBQVMsQ0FBQyxLQUFhLEVBQUUsSUFBUztRQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDVixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hDLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQy9DLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEMsQ0FBQztRQUNELEtBQUssSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzFCLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuRSxDQUFDLEVBQUUsQ0FBQztRQUNSLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBQ0QsWUFBb0IsU0FBMkI7UUFBM0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7SUFBRyxDQUFDOzhHQWYxQyxnQkFBZ0I7NEdBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFENUIsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbkBQaXBlKHsgbmFtZTogJ3JlcGxhY2VDaGFycycgfSlcbmV4cG9ydCBjbGFzcyBSZXBsYWNlQ2hhcnNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcsIGFyZ3M6IGFueSk6IHN0cmluZyB7XG4gICAgICAgIGxldCBpID0gMDtcbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGFyZ3Muc2VhcmNoKSkge1xuICAgICAgICAgICAgYXJncy5zZWFyY2ggPSBbYXJncy5zZWFyY2hdO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhcmdzLnJlcGxhY2UgJiYgIUFycmF5LmlzQXJyYXkoYXJncy5yZXBsYWNlKSkge1xuICAgICAgICAgICAgYXJncy5yZXBsYWNlID0gW2FyZ3MucmVwbGFjZV07XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChsZXQgYXJnIG9mIGFyZ3Muc2VhcmNoKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IHZhbHVlLnNwbGl0KGFyZykuam9pbihhcmdzLnJlcGxhY2UgPyBhcmdzLnJlcGxhY2VbaV0gOiAnJyk7XG4gICAgICAgICAgICBpKys7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge31cbn1cbiJdfQ==
@@ -9,11 +9,11 @@ export class VCardNamePipe {
9
9
  transform(authority, args = null) {
10
10
  return authority ? new VCard(authority).getDisplayName() : '';
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: VCardNamePipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
13
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.6", ngImport: i0, type: VCardNamePipe, name: "vcardName" }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: VCardNamePipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
13
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0.2", ngImport: i0, type: VCardNamePipe, name: "vcardName" }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: VCardNamePipe, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: VCardNamePipe, decorators: [{
16
16
  type: Pipe,
17
17
  args: [{ name: 'vcardName' }]
18
- }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
18
+ }], ctorParameters: () => [{ type: i1.TranslateService }] });
19
19
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmNhcmQtbmFtZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9waXBlcy92Y2FyZC1uYW1lLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFcEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBR3RDLE1BQU0sT0FBTyxhQUFhO0lBQ3RCLFlBQW9CLFNBQTJCO1FBQTNCLGNBQVMsR0FBVCxTQUFTLENBQWtCO0lBQUcsQ0FBQztJQUNuRCxTQUFTLENBQUMsU0FBaUIsRUFBRSxPQUFpQixJQUFJO1FBQzlDLE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2xFLENBQUM7OEdBSlEsYUFBYTs0R0FBYixhQUFhOzsyRkFBYixhQUFhO2tCQUR6QixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFZDYXJkIH0gZnJvbSAnLi4vdXRpbC9WQ2FyZCc7XG5cbkBQaXBlKHsgbmFtZTogJ3ZjYXJkTmFtZScgfSlcbmV4cG9ydCBjbGFzcyBWQ2FyZE5hbWVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG4gICAgdHJhbnNmb3JtKGF1dGhvcml0eTogc3RyaW5nLCBhcmdzOiBzdHJpbmdbXSA9IG51bGwpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYXV0aG9yaXR5ID8gbmV3IFZDYXJkKGF1dGhvcml0eSkuZ2V0RGlzcGxheU5hbWUoKSA6ICcnO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,10 +1,10 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class KeyboardShortcutsService {
4
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: KeyboardShortcutsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: KeyboardShortcutsService }); }
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: KeyboardShortcutsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
5
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: KeyboardShortcutsService }); }
6
6
  }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: KeyboardShortcutsService, decorators: [{
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: KeyboardShortcutsService, decorators: [{
8
8
  type: Injectable
9
9
  }] });
10
10
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Ym9hcmQtc2hvcnRjdXRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3NlcnZpY2VzL2Fic3RyYWN0L2tleWJvYXJkLXNob3J0Y3V0cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBZ0Isd0JBQXdCOzhHQUF4Qix3QkFBd0I7a0hBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFEN0MsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEtleWJvYXJkU2hvcnRjdXQgfSBmcm9tICcuLi8uLi90eXBlcy9rZXlib2FyZC1zaG9ydGN1dHMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgS2V5Ym9hcmRTaG9ydGN1dHNTZXJ2aWNlIHtcbiAgICBhYnN0cmFjdCByZWdpc3RlcihzaG9ydGN1dHM6IEtleWJvYXJkU2hvcnRjdXRbXSwgeyB1bnRpbCB9OiB7IHVudGlsOiBPYnNlcnZhYmxlPHZvaWQ+IH0pOiB2b2lkO1xuXG4gICAgYWJzdHJhY3Qgc2hvdWxkSWdub3JlU2hvcnRjdXQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuO1xufVxuIl19
@@ -48,15 +48,15 @@ export class AccessibilityService {
48
48
  observeAll() {
49
49
  return this.observeMultiple(Object.keys(new AccessibilitySettings()));
50
50
  }
51
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AccessibilityService, deps: [{ token: i1.SessionStorageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
52
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AccessibilityService, providedIn: 'root' }); }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AccessibilityService, deps: [{ token: i1.SessionStorageService }], target: i0.ɵɵFactoryTarget.Injectable }); }
52
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AccessibilityService, providedIn: 'root' }); }
53
53
  }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AccessibilityService, decorators: [{
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AccessibilityService, decorators: [{
55
55
  type: Injectable,
56
56
  args: [{
57
57
  providedIn: 'root',
58
58
  }]
59
- }], ctorParameters: function () { return [{ type: i1.SessionStorageService }]; } });
59
+ }], ctorParameters: () => [{ type: i1.SessionStorageService }] });
60
60
  /**
61
61
  * Rxjs.combineLatest on objects instead of arrays.
62
62
  *
@@ -70,4 +70,4 @@ function combineLatest(sources) {
70
70
  return acc;
71
71
  }, {})));
72
72
  }
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzaWJpbGl0eS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9zZXJ2aWNlcy9hY2Nlc3NpYmlsaXR5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUU3QixPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFNaEUsTUFBTSxPQUFPLG9CQUFvQjthQUNMLG1CQUFjLEdBQUcsZ0JBQWdCLENBQUM7SUFFMUQsWUFBb0IsT0FBOEI7UUFBOUIsWUFBTyxHQUFQLE9BQU8sQ0FBdUI7SUFBRyxDQUFDO0lBRXRELEtBQUssQ0FBQyxHQUFHLENBQUMscUJBQXFEO1FBQzNELE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3hFLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMscUJBQXFCLENBQUM7YUFDL0MsTUFBTSxDQUNILENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtRQUNiLG1DQUFtQztRQUNsQyxhQUFxQixDQUFDLEdBQUcsQ0FBQyxLQUFLLEtBQUssQ0FDNUM7YUFDQSxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtZQUMxQixHQUFHLENBQUMsb0JBQW9CLENBQUMsY0FBYyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUN2RCxPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUMsRUFBRSxFQUE0QixDQUFDLENBQUM7UUFDckMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDaEMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN6QztJQUNMLENBQUM7SUFPRCxPQUFPLENBQ0gsU0FBbUI7UUFFbkIsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLEVBQUU7WUFDL0IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3hDO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2pDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUMxQzthQUFNO1lBQ0gsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDNUI7SUFDTCxDQUFDO0lBRU8sYUFBYSxDQUNqQixHQUFNO1FBRU4sTUFBTSxhQUFhLEdBQUcsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1FBQ2xELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsY0FBYyxHQUFHLEdBQUcsRUFBRSxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMvRixDQUFDO0lBRU8sZUFBZSxDQUNuQixJQUFTO1FBRVQsTUFBTSxhQUFhLEdBQUcsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO1FBQ2xELE9BQU8sYUFBYSxDQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ3JCLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FDM0Isb0JBQW9CLENBQUMsY0FBYyxHQUFHLEdBQUcsRUFDekMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUNyQixDQUFDO1lBQ0YsT0FBTyxHQUFHLENBQUM7UUFDZixDQUFDLEVBQUUsRUFBc0YsQ0FBQyxDQUM3RixDQUFDO0lBQ04sQ0FBQztJQUVPLFVBQVU7UUFDZCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQ3ZCLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxxQkFBcUIsRUFBRSxDQUF1QyxDQUNqRixDQUFDO0lBQ04sQ0FBQzs4R0FqRVEsb0JBQW9CO2tIQUFwQixvQkFBb0IsY0FGakIsTUFBTTs7MkZBRVQsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7QUFxRUQ7Ozs7R0FJRztBQUNILFNBQVMsYUFBYSxDQUF1QixPQUU1QztJQUNHLE9BQU8sSUFBSTtTQUNOLGFBQWEsQ0FDVixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FDekMsTUFBMkIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUN4RSxDQUNKO1NBQ0EsSUFBSSxDQUNELEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ1osT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFO1FBQ3BDLEdBQUcsQ0FBQyxHQUFRLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDdkIsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDLEVBQUUsRUFBTyxDQUFDLENBQ2QsQ0FDSixDQUFDO0FBQ1YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAqIGFzIHJ4anMgZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaXJzdCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWNjZXNzaWJpbGl0eVNldHRpbmdzIH0gZnJvbSAnLi4vdHlwZXMvYWNjZXNzaWJpbGxpdHknO1xuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFjY2Vzc2liaWxpdHlTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBTVE9SQUdFX1BSRUZJWCA9ICdhY2Nlc3NpYmlsaXR5Xyc7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JhZ2U6IFNlc3Npb25TdG9yYWdlU2VydmljZSkge31cblxuICAgIGFzeW5jIHNldChhY2Nlc3NpYmlsaXR5U2V0dGluZ3M6IFBhcnRpYWw8QWNjZXNzaWJpbGl0eVNldHRpbmdzPik6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBjdXJyZW50VmFsdWVzID0gYXdhaXQgdGhpcy5vYnNlcnZlQWxsKCkucGlwZShmaXJzdCgpKS50b1Byb21pc2UoKTtcbiAgICAgICAgY29uc3QgdmFsdWVzID0gT2JqZWN0LmVudHJpZXMoYWNjZXNzaWJpbGl0eVNldHRpbmdzKVxuICAgICAgICAgICAgLmZpbHRlcihcbiAgICAgICAgICAgICAgICAoW2tleSwgdmFsdWVdKSA9PlxuICAgICAgICAgICAgICAgICAgICAvLyBjaGVjayBpZiB2YWx1ZSBoYXMgYmVlbiBtb2RpZmllZFxuICAgICAgICAgICAgICAgICAgICAoY3VycmVudFZhbHVlcyBhcyBhbnkpW2tleV0gIT09IHZhbHVlLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnJlZHVjZSgoYWNjLCBba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgICAgICAgICBhY2NbQWNjZXNzaWJpbGl0eVNlcnZpY2UuU1RPUkFHRV9QUkVGSVggKyBrZXldID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICAgIH0sIHt9IGFzIHsgW2tleTogc3RyaW5nXTogYW55IH0pO1xuICAgICAgICBpZiAoT2JqZWN0LmtleXModmFsdWVzKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zdG9yYWdlLnNldFZhbHVlcyh2YWx1ZXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb2JzZXJ2ZTxLIGV4dGVuZHMga2V5b2YgQWNjZXNzaWJpbGl0eVNldHRpbmdzPihrZXk6IEspOiBPYnNlcnZhYmxlPEFjY2Vzc2liaWxpdHlTZXR0aW5nc1tLXT47XG4gICAgb2JzZXJ2ZTxLIGV4dGVuZHMga2V5b2YgQWNjZXNzaWJpbGl0eVNldHRpbmdzPihcbiAgICAgICAga2V5czogS1tdLFxuICAgICk6IE9ic2VydmFibGU8UGljazxBY2Nlc3NpYmlsaXR5U2V0dGluZ3MsIEs+PjtcbiAgICBvYnNlcnZlKCk6IE9ic2VydmFibGU8QWNjZXNzaWJpbGl0eVNldHRpbmdzPjtcbiAgICBvYnNlcnZlPEsgZXh0ZW5kcyBrZXlvZiBBY2Nlc3NpYmlsaXR5U2V0dGluZ3M+KFxuICAgICAgICBrZXlPcktleXM/OiBLIHwgS1tdLFxuICAgICk6IE9ic2VydmFibGU8QWNjZXNzaWJpbGl0eVNldHRpbmdzW0tdIHwgUGljazxBY2Nlc3NpYmlsaXR5U2V0dGluZ3MsIEs+PiB7XG4gICAgICAgIGlmICh0eXBlb2Yga2V5T3JLZXlzID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub2JzZXJ2ZVNpbmdsZShrZXlPcktleXMpO1xuICAgICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoa2V5T3JLZXlzKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMub2JzZXJ2ZU11bHRpcGxlKGtleU9yS2V5cyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vYnNlcnZlQWxsKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIG9ic2VydmVTaW5nbGU8SyBleHRlbmRzIGtleW9mIEFjY2Vzc2liaWxpdHlTZXR0aW5ncz4oXG4gICAgICAgIGtleTogSyxcbiAgICApOiBPYnNlcnZhYmxlPEFjY2Vzc2liaWxpdHlTZXR0aW5nc1tLXT4ge1xuICAgICAgICBjb25zdCBkZWZhdWx0VmFsdWVzID0gbmV3IEFjY2Vzc2liaWxpdHlTZXR0aW5ncygpO1xuICAgICAgICByZXR1cm4gdGhpcy5zdG9yYWdlLm9ic2VydmUoQWNjZXNzaWJpbGl0eVNlcnZpY2UuU1RPUkFHRV9QUkVGSVggKyBrZXksIGRlZmF1bHRWYWx1ZXNba2V5XSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvYnNlcnZlTXVsdGlwbGU8SyBleHRlbmRzIGtleW9mIEFjY2Vzc2liaWxpdHlTZXR0aW5ncz4oXG4gICAgICAgIGtleXM6IEtbXSxcbiAgICApOiBPYnNlcnZhYmxlPFBpY2s8QWNjZXNzaWJpbGl0eVNldHRpbmdzLCBLPj4ge1xuICAgICAgICBjb25zdCBkZWZhdWx0VmFsdWVzID0gbmV3IEFjY2Vzc2liaWxpdHlTZXR0aW5ncygpO1xuICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdChcbiAgICAgICAgICAgIGtleXMucmVkdWNlKChhY2MsIGtleSkgPT4ge1xuICAgICAgICAgICAgICAgIGFjY1trZXldID0gdGhpcy5zdG9yYWdlLm9ic2VydmUoXG4gICAgICAgICAgICAgICAgICAgIEFjY2Vzc2liaWxpdHlTZXJ2aWNlLlNUT1JBR0VfUFJFRklYICsga2V5LFxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWVzW2tleV0sXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgfSwge30gYXMgeyBba2V5IGluIGtleW9mIEFjY2Vzc2liaWxpdHlTZXR0aW5nc106IE9ic2VydmFibGU8QWNjZXNzaWJpbGl0eVNldHRpbmdzW2tleV0+IH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgb2JzZXJ2ZUFsbCgpOiBPYnNlcnZhYmxlPEFjY2Vzc2liaWxpdHlTZXR0aW5ncz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vYnNlcnZlTXVsdGlwbGUoXG4gICAgICAgICAgICBPYmplY3Qua2V5cyhuZXcgQWNjZXNzaWJpbGl0eVNldHRpbmdzKCkpIGFzIEFycmF5PGtleW9mIEFjY2Vzc2liaWxpdHlTZXR0aW5ncz4sXG4gICAgICAgICk7XG4gICAgfVxufVxuXG4vKipcbiAqIFJ4anMuY29tYmluZUxhdGVzdCBvbiBvYmplY3RzIGluc3RlYWQgb2YgYXJyYXlzLlxuICpcbiAqIFRoaXMgaXMgYSBzdGFuZGFyZCBmdW5jdGlvbiBpbiBSeGpzIDcsIGJ1dCB3ZSB3cmFwIGl0IGhlcmUgZm9yIFJ4anMgNi5cbiAqL1xuZnVuY3Rpb24gY29tYmluZUxhdGVzdDxULCBLIGV4dGVuZHMga2V5b2YgVD4oc291cmNlczoge1xuICAgIFtrZXkgaW4gS106IE9ic2VydmFibGU8VFtrZXldPjtcbn0pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICByZXR1cm4gcnhqc1xuICAgICAgICAuY29tYmluZUxhdGVzdChcbiAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKHNvdXJjZXMpLm1hcCgoW2tleSwgc291cmNlXSkgPT5cbiAgICAgICAgICAgICAgICAoc291cmNlIGFzIE9ic2VydmFibGU8VFtLXT4pLnBpcGUobWFwKChyZXN1bHQpID0+ICh7IGtleSwgcmVzdWx0IH0pKSksXG4gICAgICAgICAgICApLFxuICAgICAgICApXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKChyZXN1bHRzKSA9PlxuICAgICAgICAgICAgICAgIHJlc3VsdHMucmVkdWNlKChhY2MsIHsga2V5LCByZXN1bHQgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBhY2Nba2V5IGFzIEtdID0gcmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgICAgIH0sIHt9IGFzIFQpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcbn1cbiJdfQ==
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzaWJpbGl0eS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9zZXJ2aWNlcy9hY2Nlc3NpYmlsaXR5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUU3QixPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFNaEUsTUFBTSxPQUFPLG9CQUFvQjthQUNMLG1CQUFjLEdBQUcsZ0JBQWdCLEFBQW5CLENBQW9CO0lBRTFELFlBQW9CLE9BQThCO1FBQTlCLFlBQU8sR0FBUCxPQUFPLENBQXVCO0lBQUcsQ0FBQztJQUV0RCxLQUFLLENBQUMsR0FBRyxDQUFDLHFCQUFxRDtRQUMzRCxNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUN4RSxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDO2FBQy9DLE1BQU0sQ0FDSCxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7UUFDYixtQ0FBbUM7UUFDbEMsYUFBcUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxLQUFLLENBQzVDO2FBQ0EsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDMUIsR0FBRyxDQUFDLG9CQUFvQixDQUFDLGNBQWMsR0FBRyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDdkQsT0FBTyxHQUFHLENBQUM7UUFDZixDQUFDLEVBQUUsRUFBNEIsQ0FBQyxDQUFDO1FBQ3JDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDakMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxDQUFDO0lBQ0wsQ0FBQztJQU9ELE9BQU8sQ0FDSCxTQUFtQjtRQUVuQixJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ2hDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN6QyxDQUFDO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDbEMsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNDLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNMLENBQUM7SUFFTyxhQUFhLENBQ2pCLEdBQU07UUFFTixNQUFNLGFBQWEsR0FBRyxJQUFJLHFCQUFxQixFQUFFLENBQUM7UUFDbEQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxjQUFjLEdBQUcsR0FBRyxFQUFFLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFTyxlQUFlLENBQ25CLElBQVM7UUFFVCxNQUFNLGFBQWEsR0FBRyxJQUFJLHFCQUFxQixFQUFFLENBQUM7UUFDbEQsT0FBTyxhQUFhLENBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDckIsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUMzQixvQkFBb0IsQ0FBQyxjQUFjLEdBQUcsR0FBRyxFQUN6QyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQ3JCLENBQUM7WUFDRixPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUMsRUFBRSxFQUFzRixDQUFDLENBQzdGLENBQUM7SUFDTixDQUFDO0lBRU8sVUFBVTtRQUNkLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FDdkIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLHFCQUFxQixFQUFFLENBQXVDLENBQ2pGLENBQUM7SUFDTixDQUFDOzhHQWpFUSxvQkFBb0I7a0hBQXBCLG9CQUFvQixjQUZqQixNQUFNOzsyRkFFVCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOztBQXFFRDs7OztHQUlHO0FBQ0gsU0FBUyxhQUFhLENBQXVCLE9BRTVDO0lBQ0csT0FBTyxJQUFJO1NBQ04sYUFBYSxDQUNWLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUN6QyxNQUEyQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQ3hFLENBQ0o7U0FDQSxJQUFJLENBQ0QsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FDWixPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUU7UUFDcEMsR0FBRyxDQUFDLEdBQVEsQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUN2QixPQUFPLEdBQUcsQ0FBQztJQUNmLENBQUMsRUFBRSxFQUFPLENBQUMsQ0FDZCxDQUNKLENBQUM7QUFDVixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgcnhqcyBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpcnN0LCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBY2Nlc3NpYmlsaXR5U2V0dGluZ3MgfSBmcm9tICcuLi90eXBlcy9hY2Nlc3NpYmlsbGl0eSc7XG5pbXBvcnQgeyBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQWNjZXNzaWJpbGl0eVNlcnZpY2Uge1xuICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFNUT1JBR0VfUFJFRklYID0gJ2FjY2Vzc2liaWxpdHlfJztcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmFnZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlKSB7fVxuXG4gICAgYXN5bmMgc2V0KGFjY2Vzc2liaWxpdHlTZXR0aW5nczogUGFydGlhbDxBY2Nlc3NpYmlsaXR5U2V0dGluZ3M+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRWYWx1ZXMgPSBhd2FpdCB0aGlzLm9ic2VydmVBbGwoKS5waXBlKGZpcnN0KCkpLnRvUHJvbWlzZSgpO1xuICAgICAgICBjb25zdCB2YWx1ZXMgPSBPYmplY3QuZW50cmllcyhhY2Nlc3NpYmlsaXR5U2V0dGluZ3MpXG4gICAgICAgICAgICAuZmlsdGVyKFxuICAgICAgICAgICAgICAgIChba2V5LCB2YWx1ZV0pID0+XG4gICAgICAgICAgICAgICAgICAgIC8vIGNoZWNrIGlmIHZhbHVlIGhhcyBiZWVuIG1vZGlmaWVkXG4gICAgICAgICAgICAgICAgICAgIChjdXJyZW50VmFsdWVzIGFzIGFueSlba2V5XSAhPT0gdmFsdWUsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICAgICAgICAgIGFjY1tBY2Nlc3NpYmlsaXR5U2VydmljZS5TVE9SQUdFX1BSRUZJWCArIGtleV0gPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgfSwge30gYXMgeyBba2V5OiBzdHJpbmddOiBhbnkgfSk7XG4gICAgICAgIGlmIChPYmplY3Qua2V5cyh2YWx1ZXMpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnN0b3JhZ2Uuc2V0VmFsdWVzKHZhbHVlcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvYnNlcnZlPEsgZXh0ZW5kcyBrZXlvZiBBY2Nlc3NpYmlsaXR5U2V0dGluZ3M+KGtleTogSyk6IE9ic2VydmFibGU8QWNjZXNzaWJpbGl0eVNldHRpbmdzW0tdPjtcbiAgICBvYnNlcnZlPEsgZXh0ZW5kcyBrZXlvZiBBY2Nlc3NpYmlsaXR5U2V0dGluZ3M+KFxuICAgICAgICBrZXlzOiBLW10sXG4gICAgKTogT2JzZXJ2YWJsZTxQaWNrPEFjY2Vzc2liaWxpdHlTZXR0aW5ncywgSz4+O1xuICAgIG9ic2VydmUoKTogT2JzZXJ2YWJsZTxBY2Nlc3NpYmlsaXR5U2V0dGluZ3M+O1xuICAgIG9ic2VydmU8SyBleHRlbmRzIGtleW9mIEFjY2Vzc2liaWxpdHlTZXR0aW5ncz4oXG4gICAgICAgIGtleU9yS2V5cz86IEsgfCBLW10sXG4gICAgKTogT2JzZXJ2YWJsZTxBY2Nlc3NpYmlsaXR5U2V0dGluZ3NbS10gfCBQaWNrPEFjY2Vzc2liaWxpdHlTZXR0aW5ncywgSz4+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBrZXlPcktleXMgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vYnNlcnZlU2luZ2xlKGtleU9yS2V5cyk7XG4gICAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShrZXlPcktleXMpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vYnNlcnZlTXVsdGlwbGUoa2V5T3JLZXlzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9ic2VydmVBbGwoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgb2JzZXJ2ZVNpbmdsZTxLIGV4dGVuZHMga2V5b2YgQWNjZXNzaWJpbGl0eVNldHRpbmdzPihcbiAgICAgICAga2V5OiBLLFxuICAgICk6IE9ic2VydmFibGU8QWNjZXNzaWJpbGl0eVNldHRpbmdzW0tdPiB7XG4gICAgICAgIGNvbnN0IGRlZmF1bHRWYWx1ZXMgPSBuZXcgQWNjZXNzaWJpbGl0eVNldHRpbmdzKCk7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JhZ2Uub2JzZXJ2ZShBY2Nlc3NpYmlsaXR5U2VydmljZS5TVE9SQUdFX1BSRUZJWCArIGtleSwgZGVmYXVsdFZhbHVlc1trZXldKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9ic2VydmVNdWx0aXBsZTxLIGV4dGVuZHMga2V5b2YgQWNjZXNzaWJpbGl0eVNldHRpbmdzPihcbiAgICAgICAga2V5czogS1tdLFxuICAgICk6IE9ic2VydmFibGU8UGljazxBY2Nlc3NpYmlsaXR5U2V0dGluZ3MsIEs+PiB7XG4gICAgICAgIGNvbnN0IGRlZmF1bHRWYWx1ZXMgPSBuZXcgQWNjZXNzaWJpbGl0eVNldHRpbmdzKCk7XG4gICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFxuICAgICAgICAgICAga2V5cy5yZWR1Y2UoKGFjYywga2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgYWNjW2tleV0gPSB0aGlzLnN0b3JhZ2Uub2JzZXJ2ZShcbiAgICAgICAgICAgICAgICAgICAgQWNjZXNzaWJpbGl0eVNlcnZpY2UuU1RPUkFHRV9QUkVGSVggKyBrZXksXG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZXNba2V5XSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICB9LCB7fSBhcyB7IFtrZXkgaW4ga2V5b2YgQWNjZXNzaWJpbGl0eVNldHRpbmdzXTogT2JzZXJ2YWJsZTxBY2Nlc3NpYmlsaXR5U2V0dGluZ3Nba2V5XT4gfSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvYnNlcnZlQWxsKCk6IE9ic2VydmFibGU8QWNjZXNzaWJpbGl0eVNldHRpbmdzPiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9ic2VydmVNdWx0aXBsZShcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKG5ldyBBY2Nlc3NpYmlsaXR5U2V0dGluZ3MoKSkgYXMgQXJyYXk8a2V5b2YgQWNjZXNzaWJpbGl0eVNldHRpbmdzPixcbiAgICAgICAgKTtcbiAgICB9XG59XG5cbi8qKlxuICogUnhqcy5jb21iaW5lTGF0ZXN0IG9uIG9iamVjdHMgaW5zdGVhZCBvZiBhcnJheXMuXG4gKlxuICogVGhpcyBpcyBhIHN0YW5kYXJkIGZ1bmN0aW9uIGluIFJ4anMgNywgYnV0IHdlIHdyYXAgaXQgaGVyZSBmb3IgUnhqcyA2LlxuICovXG5mdW5jdGlvbiBjb21iaW5lTGF0ZXN0PFQsIEsgZXh0ZW5kcyBrZXlvZiBUPihzb3VyY2VzOiB7XG4gICAgW2tleSBpbiBLXTogT2JzZXJ2YWJsZTxUW2tleV0+O1xufSk6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiByeGpzXG4gICAgICAgIC5jb21iaW5lTGF0ZXN0KFxuICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMoc291cmNlcykubWFwKChba2V5LCBzb3VyY2VdKSA9PlxuICAgICAgICAgICAgICAgIChzb3VyY2UgYXMgT2JzZXJ2YWJsZTxUW0tdPikucGlwZShtYXAoKHJlc3VsdCkgPT4gKHsga2V5LCByZXN1bHQgfSkpKSxcbiAgICAgICAgICAgICksXG4gICAgICAgIClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3VsdHMpID0+XG4gICAgICAgICAgICAgICAgcmVzdWx0cy5yZWR1Y2UoKGFjYywgeyBrZXksIHJlc3VsdCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGFjY1trZXkgYXMgS10gPSByZXN1bHQ7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICAgICAgfSwge30gYXMgVCksXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xufVxuIl19
@@ -54,13 +54,13 @@ export class AppContainerService {
54
54
  }
55
55
  return null;
56
56
  }
57
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AppContainerService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
58
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AppContainerService, providedIn: 'root' }); }
57
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AppContainerService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
58
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AppContainerService, providedIn: 'root' }); }
59
59
  }
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: AppContainerService, decorators: [{
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AppContainerService, decorators: [{
61
61
  type: Injectable,
62
62
  args: [{
63
63
  providedIn: 'root',
64
64
  }]
65
- }], ctorParameters: function () { return [{ type: i0.NgZone }]; } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbnRhaW5lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9zZXJ2aWNlcy9hcHAtY29udGFpbmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRXRDOzs7OztHQUtHO0FBSUgsTUFBTSxPQUFPLG1CQUFtQjtJQUc1QixZQUFvQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUFHLENBQUM7SUFFdEMsSUFBSSxDQUFDLFVBQXVCO1FBQ3hCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxvQkFBb0IsQ0FDaEIsUUFBZ0MsRUFDaEMsS0FBdUIsRUFDdkIsRUFBRSxNQUFNLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxHQUFHLEVBQUU7UUFFNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDL0IsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsSUFBSSxNQUFNLENBQUM7WUFDcEQsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUU7Z0JBQ3hCLFlBQVksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7Z0JBQy9DLEtBQUs7cUJBQ0EsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDYixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO2FBQzNFO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsa0JBQWtCO1FBQ2QsT0FBTyxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksQ0FBQztJQUN4QyxDQUFDO0lBVUQsa0JBQWtCLENBQUMsRUFBRSxRQUFRLEdBQUcsUUFBUSxDQUFDLGVBQWUsRUFBRSxHQUFHLEVBQUU7UUFDM0QsT0FBTyxJQUFJLENBQUMsZUFBZSxJQUFJLFFBQVEsQ0FBQztJQUM1QyxDQUFDO0lBRU8sdUJBQXVCLENBQUMsVUFBdUI7UUFDbkQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsMkJBQTJCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVPLDJCQUEyQixDQUFDLE9BQW9CO1FBQ3BELE9BQU8sT0FBTyxDQUFDLGFBQWEsRUFBRTtZQUMxQixNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUMvRSxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRTtnQkFDNUMsT0FBTyxPQUFPLENBQUMsYUFBYSxDQUFDO2FBQ2hDO1lBQ0QsT0FBTyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7U0FDbkM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOzhHQWhFUSxtQkFBbUI7a0hBQW5CLG1CQUFtQixjQUZoQixNQUFNOzsyRkFFVCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIFByb3ZpZGVzIG1ldGhvZHMgb24gdGhlIGNvbnRhaW5lciB0aGF0IGhvc3RzIHRoZSBhcHBsaWNhdGlvbi5cbiAqXG4gKiBVc3VhbGx5LCB0aGlzIHdpbGwgYmUgYHdpbmRvd2AsIGJ1dCBpbiBjYXNlIHRoZSBhcHBsaWNhdGlvbiBpcyBlbWJlZGRlZCBhcyBhIHdlYiBjb21wb25lbnQsIGl0IGlzXG4gKiBhIGBIVE1MRWxlbWVudGAuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFwcENvbnRhaW5lclNlcnZpY2Uge1xuICAgIHByaXZhdGUgc2Nyb2xsQ29udGFpbmVyPzogSFRNTEVsZW1lbnQ7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5nWm9uZTogTmdab25lKSB7fVxuXG4gICAgaW5pdChhcHBFbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlZ2lzdGVyU2Nyb2xsQ29udGFpbmVyKGFwcEVsZW1lbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlZ2lzdGVycyBvbmUgb3IgbW9yZSBldmVudHMgb24gdGhlIGFwcGxpY2F0aW9uJ3Mgc2Nyb2xsIGNvbnRhaW5lci5cbiAgICAgKlxuICAgICAqIE5vdGUgdGhhdCB0aGUgY2FsbGJhY2sgd2lsbCBiZSBjYWxsZWQgb3V0c2lkZSBvZiBuZyB6b25lLCBzbyB5b3UgbXVzdCB3cmFwIGFueSBhY3Rpb24gdGhhdFxuICAgICAqIHNob3VsZCBiZSByZWZsZWN0ZWQgYnkgQW5ndWxhciB3aXRoIGBuZ1pvbmUucnVuKClgLlxuICAgICAqL1xuICAgIHJlZ2lzdGVyU2Nyb2xsRXZlbnRzKFxuICAgICAgICBjYWxsYmFjazogKGV2ZW50OiBFdmVudCkgPT4gdm9pZCxcbiAgICAgICAgdW50aWw6IE9ic2VydmFibGU8dm9pZD4sXG4gICAgICAgIHsgZXZlbnRzID0gWydzY3JvbGwnXSB9ID0ge30sXG4gICAgKSB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNjcm9sbFRhcmdldCA9IHRoaXMuc2Nyb2xsQ29udGFpbmVyID8/IHdpbmRvdztcbiAgICAgICAgICAgIGZvciAoY29uc3QgZXZlbnQgb2YgZXZlbnRzKSB7XG4gICAgICAgICAgICAgICAgc2Nyb2xsVGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnQsIGNhbGxiYWNrKTtcbiAgICAgICAgICAgICAgICB1bnRpbFxuICAgICAgICAgICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHNjcm9sbFRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50LCBjYWxsYmFjaykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gdHJ1ZSBpZiB0aGVyZSBpcyBhIHNjcm9sbGluZyBhbmNlc3RvciB0aGF0IGVuY29tcGFzc2VzIHRoZSBhcHAgb3RoZXIgdGhhbiB0aGUgZG9jdW1lbnRcbiAgICAgKiBlbGVtZW50LlxuICAgICAqL1xuICAgIGhhc1Njcm9sbENvbnRhaW5lcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2Nyb2xsQ29udGFpbmVyICE9IG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgbmVhcmVzdCBzY3JvbGxpbmcgY29udGFpbmVyIGVsZW1lbnQgdGhhdCBlbmNvbXBhc3NlcyB0aGUgYXBwIGlmIHRoZSBhcHAgaXNcbiAgICAgKiBlbWJlZGRlZCBpbiBhbm90aGVyIHdlYiBwYWdlLlxuICAgICAqXG4gICAgICogSWYgdGhlIGFwcCBpcyBzZXJ2ZWQgbmF0aXZlbHksIHJldHVybnMgdGhlIGRvY3VtZW50IGVsZW1lbnQuXG4gICAgICovXG4gICAgZ2V0U2Nyb2xsQ29udGFpbmVyKCk6IEhUTUxFbGVtZW50O1xuICAgIGdldFNjcm9sbENvbnRhaW5lcjxUPih7IGZhbGxiYWNrIH06IHsgZmFsbGJhY2s6IFQgfSk6IFQ7XG4gICAgZ2V0U2Nyb2xsQ29udGFpbmVyKHsgZmFsbGJhY2sgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgfSA9IHt9KTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5zY3JvbGxDb250YWluZXIgPz8gZmFsbGJhY2s7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWdpc3RlclNjcm9sbENvbnRhaW5lcihhcHBFbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNjcm9sbENvbnRhaW5lciA9IHRoaXMuZ2V0TmVhcmVzdFNjcm9sbGluZ0FuY2VzdG9yKGFwcEVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TmVhcmVzdFNjcm9sbGluZ0FuY2VzdG9yKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgd2hpbGUgKGVsZW1lbnQucGFyZW50RWxlbWVudCkge1xuICAgICAgICAgICAgY29uc3Qgb3ZlcmZsb3dTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQucGFyZW50RWxlbWVudCkub3ZlcmZsb3dZO1xuICAgICAgICAgICAgaWYgKFsnYXV0bycsICdzY3JvbGwnXS5pbmNsdWRlcyhvdmVyZmxvd1N0eWxlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBlbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbGVtZW50ID0gZWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbn1cbiJdfQ==
65
+ }], ctorParameters: () => [{ type: i0.NgZone }] });
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbnRhaW5lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWR1LXNoYXJpbmctdWkvc3JjL2xpYi9zZXJ2aWNlcy9hcHAtY29udGFpbmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRXRDOzs7OztHQUtHO0FBSUgsTUFBTSxPQUFPLG1CQUFtQjtJQUc1QixZQUFvQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUFHLENBQUM7SUFFdEMsSUFBSSxDQUFDLFVBQXVCO1FBQ3hCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxvQkFBb0IsQ0FDaEIsUUFBZ0MsRUFDaEMsS0FBdUIsRUFDdkIsRUFBRSxNQUFNLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxHQUFHLEVBQUU7UUFFNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDL0IsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsSUFBSSxNQUFNLENBQUM7WUFDcEQsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDekIsWUFBWSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDL0MsS0FBSztxQkFDQSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUNiLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDNUUsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVEOzs7T0FHRztJQUNILGtCQUFrQjtRQUNkLE9BQU8sSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUM7SUFDeEMsQ0FBQztJQVVELGtCQUFrQixDQUFDLEVBQUUsUUFBUSxHQUFHLFFBQVEsQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFO1FBQzNELE9BQU8sSUFBSSxDQUFDLGVBQWUsSUFBSSxRQUFRLENBQUM7SUFDNUMsQ0FBQztJQUVPLHVCQUF1QixDQUFDLFVBQXVCO1FBQ25ELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFTywyQkFBMkIsQ0FBQyxPQUFvQjtRQUNwRCxPQUFPLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMzQixNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUMvRSxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO2dCQUM3QyxPQUFPLE9BQU8sQ0FBQyxhQUFhLENBQUM7WUFDakMsQ0FBQztZQUNELE9BQU8sR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDO1FBQ3BDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOzhHQWhFUSxtQkFBbUI7a0hBQW5CLG1CQUFtQixjQUZoQixNQUFNOzsyRkFFVCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIFByb3ZpZGVzIG1ldGhvZHMgb24gdGhlIGNvbnRhaW5lciB0aGF0IGhvc3RzIHRoZSBhcHBsaWNhdGlvbi5cbiAqXG4gKiBVc3VhbGx5LCB0aGlzIHdpbGwgYmUgYHdpbmRvd2AsIGJ1dCBpbiBjYXNlIHRoZSBhcHBsaWNhdGlvbiBpcyBlbWJlZGRlZCBhcyBhIHdlYiBjb21wb25lbnQsIGl0IGlzXG4gKiBhIGBIVE1MRWxlbWVudGAuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEFwcENvbnRhaW5lclNlcnZpY2Uge1xuICAgIHByaXZhdGUgc2Nyb2xsQ29udGFpbmVyPzogSFRNTEVsZW1lbnQ7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5nWm9uZTogTmdab25lKSB7fVxuXG4gICAgaW5pdChhcHBFbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlZ2lzdGVyU2Nyb2xsQ29udGFpbmVyKGFwcEVsZW1lbnQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlZ2lzdGVycyBvbmUgb3IgbW9yZSBldmVudHMgb24gdGhlIGFwcGxpY2F0aW9uJ3Mgc2Nyb2xsIGNvbnRhaW5lci5cbiAgICAgKlxuICAgICAqIE5vdGUgdGhhdCB0aGUgY2FsbGJhY2sgd2lsbCBiZSBjYWxsZWQgb3V0c2lkZSBvZiBuZyB6b25lLCBzbyB5b3UgbXVzdCB3cmFwIGFueSBhY3Rpb24gdGhhdFxuICAgICAqIHNob3VsZCBiZSByZWZsZWN0ZWQgYnkgQW5ndWxhciB3aXRoIGBuZ1pvbmUucnVuKClgLlxuICAgICAqL1xuICAgIHJlZ2lzdGVyU2Nyb2xsRXZlbnRzKFxuICAgICAgICBjYWxsYmFjazogKGV2ZW50OiBFdmVudCkgPT4gdm9pZCxcbiAgICAgICAgdW50aWw6IE9ic2VydmFibGU8dm9pZD4sXG4gICAgICAgIHsgZXZlbnRzID0gWydzY3JvbGwnXSB9ID0ge30sXG4gICAgKSB7XG4gICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNjcm9sbFRhcmdldCA9IHRoaXMuc2Nyb2xsQ29udGFpbmVyID8/IHdpbmRvdztcbiAgICAgICAgICAgIGZvciAoY29uc3QgZXZlbnQgb2YgZXZlbnRzKSB7XG4gICAgICAgICAgICAgICAgc2Nyb2xsVGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnQsIGNhbGxiYWNrKTtcbiAgICAgICAgICAgICAgICB1bnRpbFxuICAgICAgICAgICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHNjcm9sbFRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50LCBjYWxsYmFjaykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gdHJ1ZSBpZiB0aGVyZSBpcyBhIHNjcm9sbGluZyBhbmNlc3RvciB0aGF0IGVuY29tcGFzc2VzIHRoZSBhcHAgb3RoZXIgdGhhbiB0aGUgZG9jdW1lbnRcbiAgICAgKiBlbGVtZW50LlxuICAgICAqL1xuICAgIGhhc1Njcm9sbENvbnRhaW5lcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2Nyb2xsQ29udGFpbmVyICE9IG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgbmVhcmVzdCBzY3JvbGxpbmcgY29udGFpbmVyIGVsZW1lbnQgdGhhdCBlbmNvbXBhc3NlcyB0aGUgYXBwIGlmIHRoZSBhcHAgaXNcbiAgICAgKiBlbWJlZGRlZCBpbiBhbm90aGVyIHdlYiBwYWdlLlxuICAgICAqXG4gICAgICogSWYgdGhlIGFwcCBpcyBzZXJ2ZWQgbmF0aXZlbHksIHJldHVybnMgdGhlIGRvY3VtZW50IGVsZW1lbnQuXG4gICAgICovXG4gICAgZ2V0U2Nyb2xsQ29udGFpbmVyKCk6IEhUTUxFbGVtZW50O1xuICAgIGdldFNjcm9sbENvbnRhaW5lcjxUPih7IGZhbGxiYWNrIH06IHsgZmFsbGJhY2s6IFQgfSk6IFQ7XG4gICAgZ2V0U2Nyb2xsQ29udGFpbmVyKHsgZmFsbGJhY2sgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgfSA9IHt9KTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5zY3JvbGxDb250YWluZXIgPz8gZmFsbGJhY2s7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWdpc3RlclNjcm9sbENvbnRhaW5lcihhcHBFbGVtZW50OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNjcm9sbENvbnRhaW5lciA9IHRoaXMuZ2V0TmVhcmVzdFNjcm9sbGluZ0FuY2VzdG9yKGFwcEVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TmVhcmVzdFNjcm9sbGluZ0FuY2VzdG9yKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgd2hpbGUgKGVsZW1lbnQucGFyZW50RWxlbWVudCkge1xuICAgICAgICAgICAgY29uc3Qgb3ZlcmZsb3dTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQucGFyZW50RWxlbWVudCkub3ZlcmZsb3dZO1xuICAgICAgICAgICAgaWYgKFsnYXV0bycsICdzY3JvbGwnXS5pbmNsdWRlcyhvdmVyZmxvd1N0eWxlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBlbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbGVtZW50ID0gZWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbn1cbiJdfQ==
@@ -24,10 +24,10 @@ export class LocalEventsService {
24
24
  // include a node and lists that the node was moved to.
25
25
  this.nodesDeleted = new EventEmitter();
26
26
  }
27
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: LocalEventsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
28
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: LocalEventsService, providedIn: 'root' }); }
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: LocalEventsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
28
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: LocalEventsService, providedIn: 'root' }); }
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: LocalEventsService, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: LocalEventsService, decorators: [{
31
31
  type: Injectable,
32
32
  args: [{
33
33
  providedIn: 'root',
@@ -172,10 +172,10 @@ export class NodeEntriesService {
172
172
  }
173
173
  }
174
174
  }
175
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: NodeEntriesService, deps: [{ token: i1.UIService }, { token: i2.NodeEntriesGlobalService }], target: i0.ɵɵFactoryTarget.Injectable }); }
176
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: NodeEntriesService }); }
175
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NodeEntriesService, deps: [{ token: i1.UIService }, { token: i2.NodeEntriesGlobalService }], target: i0.ɵɵFactoryTarget.Injectable }); }
176
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NodeEntriesService }); }
177
177
  }
178
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: NodeEntriesService, decorators: [{
178
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NodeEntriesService, decorators: [{
179
179
  type: Injectable
180
- }], ctorParameters: function () { return [{ type: i1.UIService }, { type: i2.NodeEntriesGlobalService }]; } });
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1lbnRyaWVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3NlcnZpY2VzL25vZGUtZW50cmllcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQWdCLFVBQVUsRUFBRSxNQUFNLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUF1QnZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFFNUM7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLG9CQUF3QixTQUFRLGNBQWlCO0lBQTlEOztRQUVJOztXQUVHO1FBQ00sdUJBQWtCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQzNDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFDUixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNOLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUNMLENBQUM7SUE0Qk4sQ0FBQztJQTNCRyxRQUFRLENBQUMsR0FBRyxNQUFXO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQVE7UUFDWCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFD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QUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN0RCxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNuQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLFNBQVMsRUFBRTtZQUMzQyxLQUFLLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksU0FBUyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUNqRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDdkQ7U0FDSjthQUFNLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGdCQUFnQixDQUFDLEdBQUcsU0FBUyxFQUFFO1lBQ2xELEtBQUssSUFBSSxDQUFDLEdBQUcsU0FBUyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDNUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3ZEO1NBQ0o7SUFDTCxDQUFDOzhHQWpKUSxrQkFBa0I7a0hBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFEOUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSwgc2lnbmFsLCBXcml0YWJsZVNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIENsaWNrU291cmNlLFxuICAgIEZldGNoRXZlbnQsXG4gICAgR3JpZENvbmZpZyxcbiAgICBJbnRlcmFjdGlvblR5cGUsXG4gICAgTGlzdERyYWdHcm9wQ29uZmlnLFxuICAgIExpc3RFdmVudEludGVyZmFjZSxcbiAgICBMaXN0T3B0aW9ucyxcbiAgICBMaXN0U29ydENvbmZpZyxcbiAgICBOb2RlQ2xpY2tFdmVudCxcbiAgICBOb2RlRW50cmllc0RhdGFUeXBlLFxuICAgIE5vZGVFbnRyaWVzRGlzcGxheVR5cGUsXG59IGZyb20gJy4uL25vZGUtZW50cmllcy9lbnRyaWVzLW1vZGVsJztcbmltcG9ydCB7IE5vZGVEYXRhU291cmNlIH0gZnJvbSAnLi4vbm9kZS1lbnRyaWVzL25vZGUtZGF0YS1zb3VyY2UnO1xuaW1wb3J0IHtcbiAgICBOb2RlRW50cmllc0dsb2JhbFNlcnZpY2UsXG4gICAgUGFnaW5hdGlvblN0cmF0ZWd5LFxufSBmcm9tICcuLi9ub2RlLWVudHJpZXMvbm9kZS1lbnRyaWVzLWdsb2JhbC5zZXJ2aWNlJztcblxuaW1wb3J0IHsgT3B0aW9uSXRlbSwgU2NvcGUgfSBmcm9tICcuLi90eXBlcy9vcHRpb24taXRlbSc7XG5pbXBvcnQgeyBMaXN0SXRlbSB9IGZyb20gJy4uL3R5cGVzL2xpc3QtaXRlbSc7XG5pbXBvcnQgeyBVSVNlcnZpY2UgfSBmcm9tICcuL3VpLnNlcnZpY2UnO1xuaW1wb3J0IHsgTm9kZURhdGFTb3VyY2VSZW1vdGUgfSBmcm9tICcuLi9ub2RlLWVudHJpZXMvbm9kZS1kYXRhLXNvdXJjZS1yZW1vdGUnO1xuaW1wb3J0IHsgZGVsYXksIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gQ3VzdG9tIHNlbGVjdGlvbiBtb2RlbCB3aGljaCBhZGRzIHRoZSBjbGljayBzb3VyY2Ugb2YgdGhlIHNlbGVjdGlvbi5cbiBVU0VEIElOIEVYVEVOU0lPTlMhXG4gKi9cbmV4cG9ydCBjbGFzcyBDdXN0b21TZWxlY3Rpb25Nb2RlbDxUPiBleHRlbmRzIFNlbGVjdGlvbk1vZGVsPFQ+IHtcbiAgICBwcml2YXRlIF9jbGlja1NvdXJjZTogQ2xpY2tTb3VyY2U7XG4gICAgLyoqXG4gICAgICogdXNlZCBpbiBleHRlbnNpb25zXG4gICAgICovXG4gICAgcmVhZG9ubHkgY2hhbmdlZENsaWNrU291cmNlID0gdGhpcy5jaGFuZ2VkLnBpcGUoXG4gICAgICAgIGRlbGF5KDApLFxuICAgICAgICBtYXAoKGMpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7IC4uLmMsIGNsaWNrU291cmNlOiB0aGlzLl9jbGlja1NvdXJjZSB9O1xuICAgICAgICB9KSxcbiAgICApO1xuICAgIGRlc2VsZWN0KC4uLnZhbHVlczogVFtdKSB7XG4gICAgICAgIHRoaXMuX2NsaWNrU291cmNlID0gbnVsbDtcbiAgICAgICAgc3VwZXIuZGVzZWxlY3QoLi4udmFsdWVzKTtcbiAgICB9XG5cbiAgICB0b2dnbGUodmFsdWU6IFQpIHtcbiAgICAgICAgdGhpcy5fY2xpY2tTb3VyY2UgPSBudWxsO1xuICAgICAgICBzdXBlci50b2dnbGUodmFsdWUpO1xuICAgIH1cblxuICAgIGNsZWFyKCkge1xuICAgICAgICB0aGlzLl9jbGlja1NvdXJjZSA9IG51bGw7XG4gICAgICAgIHN1cGVyLmNsZWFyKCk7XG4gICAgfVxuXG4gICAgc2VsZWN0KC4uLnZhbHVlczogVFtdKSB7XG4gICAgICAgIHRoaXMuX2NsaWNrU291cmNlID0gbnVsbDtcbiAgICAgICAgc3VwZXIuc2VsZWN0KC4uLnZhbHVlcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogdXNlZCBpbiBleHRlbnNpb25zXG4gICAgICogQHBhcmFtIHZhbHVlXG4gICAgICovXG4gICAgc2V0IGNsaWNrU291cmNlKHZhbHVlOiBDbGlja1NvdXJjZSkge1xuICAgICAgICB0aGlzLl9jbGlja1NvdXJjZSA9IHZhbHVlO1xuICAgIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5vZGVFbnRyaWVzU2VydmljZTxUIGV4dGVuZHMgTm9kZUVudHJpZXNEYXRhVHlwZT4ge1xuICAgIGxpc3Q6IExpc3RFdmVudEludGVyZmFjZTxUPjtcbiAgICByZWFkb25seSBkYXRhU291cmNlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Tm9kZURhdGFTb3VyY2U8VD4gfCBudWxsPihudWxsKTtcbiAgICAvKipcbiAgICAgKiBzY29wZSB0aGUgY3VycmVudCBsaXN0IGlzIGluLCBlLmcuIHdvcmtzcGFjZVxuICAgICAqIFRoaXMgaXMgdXNlZCBmb3IgYWRkaXRpb25hbCBjb25maWcgaW5qZWN0aW9uIGJhc2VkIG9uIHRoZSBzY29wZVxuICAgICAqL1xuICAgIHNjb3BlOiBTY29wZTtcbiAgICBnZXQgZGF0YVNvdXJjZSgpOiBOb2RlRGF0YVNvdXJjZTxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2UkLnZhbHVlO1xuICAgIH1cbiAgICBzZXQgZGF0YVNvdXJjZSh2YWx1ZTogTm9kZURhdGFTb3VyY2U8VD4pIHtcbiAgICAgICAgdGhpcy5kYXRhU291cmNlJC5uZXh0KHZhbHVlKTtcbiAgICB9XG4gICAgZ2V0IHBhZ2luYXRpb25TdHJhdGVneSgpOiBQYWdpbmF0aW9uU3RyYXRlZ3kge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnRyaWVzR2xvYmFsLmdldFBhZ2luYXRpb25TdHJhdGVneSh0aGlzLnNjb3BlKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogU3ViamVjdCB0aGF0IHJlZmxlY3RzIHRoZSBjdXJyZW50IGNvbHVtbnMgY29uZmlndXJhdGlvbi5cbiAgICAgKlxuICAgICAqIFVwZGF0ZWQgd2hlbiBsb2FkaW5nIGNvbmZpZ3VyYXRpb24gYW5kIHRocm91Z2ggdXNlciBpbnRlcmFjdGlvbi5cbiAgICAgKi9cbiAgICBjb2x1bW5zU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TGlzdEl0ZW1bXT4obnVsbCk7XG4gICAgZ2V0IGNvbHVtbnMoKTogTGlzdEl0ZW1bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbHVtbnNTdWJqZWN0LnZhbHVlO1xuICAgIH1cbiAgICBzZXQgY29sdW1ucyh2YWx1ZTogTGlzdEl0ZW1bXSkge1xuICAgICAgICB0aGlzLmNvbHVtbnNTdWJqZWN0Lm5leHQodmFsdWUpO1xuICAgIH1cbiAgICBjb25maWd1cmVDb2x1bW5zOiBib29sZWFuO1xuICAgIGRpc3BsYXlUeXBlOiBOb2RlRW50cmllc0Rpc3BsYXlUeXBlO1xuICAgIHNlbGVjdGlvbiA9IG5ldyBDdXN0b21TZWxlY3Rpb25Nb2RlbDxUPih0cnVlLCBbXSk7XG4gICAgZWxlbWVudEludGVyYWN0aW9uVHlwZTogSW50ZXJhY3Rpb25UeXBlO1xuICAgIG9wdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMaXN0T3B0aW9ucz4obnVsbCk7XG4gICAgZ2V0IG9wdGlvbnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMkLnZhbHVlO1xuICAgIH1cbiAgICBzZXQgb3B0aW9ucyhvcHRpb25zOiBMaXN0T3B0aW9ucykge1xuICAgICAgICB0aGlzLm9wdGlvbnMkLm5leHQob3B0aW9ucyk7XG4gICAgfVxuICAgIGNoZWNrYm94OiBib29sZWFuO1xuICAgIGdsb2JhbE9wdGlvbnNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxPcHRpb25JdGVtW10+KFtdKTtcbiAgICBzZXQgZ2xvYmFsT3B0aW9ucyhnbG9iYWxPcHRpb25zOiBPcHRpb25JdGVtW10pIHtcbiAgICAgICAgdGhpcy5nbG9iYWxPcHRpb25zU3ViamVjdC5uZXh0KGdsb2JhbE9wdGlvbnMpO1xuICAgIH1cbiAgICBzb3J0U3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TGlzdFNvcnRDb25maWc+KHZvaWQgMCk7XG4gICAgZ2V0IHNvcnQoKTogTGlzdFNvcnRDb25maWcge1xuICAgICAgICByZXR1cm4gdGhpcy5zb3J0U3ViamVjdC52YWx1ZTtcbiAgICB9XG4gICAgc2V0IHNvcnQodmFsdWU6IExpc3RTb3J0Q29uZmlnKSB7XG4gICAgICAgIHRoaXMuc29ydFN1YmplY3QubmV4dCh2YWx1ZSk7XG4gICAgfVxuICAgIHNvcnRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxMaXN0U29ydENvbmZpZz47XG4gICAgZHJhZ0Ryb3A6IExpc3REcmFnR3JvcENvbmZpZzxUPjtcbiAgICBjbGlja0l0ZW06IEV2ZW50RW1pdHRlcjxOb2RlQ2xpY2tFdmVudDxUPj47XG4gICAgZGJsQ2xpY2tJdGVtOiBFdmVudEVtaXR0ZXI8Tm9kZUNsaWNrRXZlbnQ8VD4+O1xuICAgIGZldGNoRGF0YTogRXZlbnRFbWl0dGVyPEZldGNoRXZlbnQ+O1xuICAgIHJlYWRvbmx5IGdyaWRDb25maWckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxHcmlkQ29uZmlnIHwgbnVsbD4obnVsbCk7XG4gICAgZ2V0IGdyaWRDb25maWcoKTogR3JpZENvbmZpZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdyaWRDb25maWckLnZhbHVlO1xuICAgIH1cbiAgICBzZXQgZ3JpZENvbmZpZyh2YWx1ZTogR3JpZENvbmZpZykge1xuICAgICAgICB0aGlzLmdyaWRDb25maWckLm5leHQodmFsdWUpO1xuICAgIH1cbiAgICBwcmltYXJ5SW5zdGFuY2U6IGJvb2xlYW47XG4gICAgc2luZ2xlQ2xpY2tIaW50OiAnZHluYW1pYycgfCAnc3RhdGljJztcbiAgICBkaXNhYmxlSW5maW5pdGVTY3JvbGw6IGJvb2xlYW47XG4gICAgc2Nyb2xsR3JhZGllbnRDb2xvcjogV3JpdGFibGVTaWduYWw8c3RyaW5nPiA9IHNpZ25hbCgnZmZmJyk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHVpU2VydmljZTogVUlTZXJ2aWNlLCBwcml2YXRlIGVudHJpZXNHbG9iYWw6IE5vZGVFbnRyaWVzR2xvYmFsU2VydmljZSkge31cblxuICAgIG9uQ2xpY2tlZCh7IGV2ZW50LCAuLi5kYXRhIH06IE5vZGVDbGlja0V2ZW50PFQ+ICYgeyBldmVudDogTW91c2VFdmVudCB9KSB7XG4gICAgICAgIGlmIChldmVudC5jdHJsS2V5IHx8IGV2ZW50Lm1ldGFLZXkpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLnRvZ2dsZShkYXRhLmVsZW1lbnQpO1xuICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICB0aGlzLmV4cGFuZFNlbGVjdGlvblRvKGRhdGEuZWxlbWVudCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNsaWNrSXRlbS5lbWl0KGRhdGEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25DaGVja2JveENoYW5nZWQobm9kZTogVCwgY2hlY2tlZDogYm9vbGVhbikge1xuICAgICAgICBjb25zb2xlLmxvZyhub2RlLCBjaGVja2VkLCB0aGlzLnVpU2VydmljZS5zaGlmdEtleVByZXNzZWQpO1xuICAgICAgICBpZiAodGhpcy51aVNlcnZpY2Uuc2hpZnRLZXlQcmVzc2VkKSB7XG4gICAgICAgICAgICB0aGlzLmV4cGFuZFNlbGVjdGlvblRvKG5vZGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoZWNrZWQgIT09IHRoaXMuc2VsZWN0aW9uLmlzU2VsZWN0ZWQobm9kZSkpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLnRvZ2dsZShub2RlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRvZ2dsZVNlbGVjdEFsbCgpIHtcbiAgICAgICAgaWYgKHRoaXMuaXNBbGxTZWxlY3RlZCgpKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5jbGVhcigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RBbGwoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxvYWRNb3JlKHNvdXJjZTogJ2J1dHRvbicgfCAnc2Nyb2xsJyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5wYWdpbmF0aW9uU3RyYXRlZ3kgIT09ICdpbmZpbml0ZS1zY3JvbGwnKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNvdXJjZSA9PT0gJ3Njcm9sbCcgJiYgdGhpcy5kaXNhYmxlSW5maW5pdGVTY3JvbGwpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBUT0RPOiBmb2N1cyBuZXh0IGl0ZW0gd2hlbiB0cmlnZ2VyZWQgdmlhIGJ1dHRvbi5cbiAgICAgICAgaWYgKHRoaXMuZGF0YVNvdXJjZSBpbnN0YW5jZW9mIE5vZGVEYXRhU291cmNlUmVtb3RlKSB7XG4gICAgICAgICAgICByZXR1cm4gKHRoaXMuZGF0YVNvdXJjZSBhcyBOb2RlRGF0YVNvdXJjZVJlbW90ZSkubG9hZE1vcmUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRhdGFTb3VyY2UuaGFzTW9yZSgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mZXRjaERhdGEuZW1pdCh7XG4gICAgICAgICAgICAgICAgICAgIG9mZnNldDogdGhpcy5kYXRhU291cmNlLmdldERhdGEoKS5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgIHJlc2V0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZWxlY3RBbGwoKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0aW9uLnNlbGVjdCguLi50aGlzLmRhdGFTb3VyY2UuZ2V0RGF0YSgpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzQWxsU2VsZWN0ZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2UuZ2V0RGF0YSgpLmV2ZXJ5KChub2RlKSA9PiB0aGlzLnNlbGVjdGlvbi5pc1NlbGVjdGVkKG5vZGUpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGV4cGFuZFNlbGVjdGlvblRvKG5vZGU6IFQpIHtcbiAgICAgICAgY29uc3Qgbm9kZUluZGV4ID0gdGhpcy5kYXRhU291cmNlLmdldERhdGEoKS5pbmRleE9mKG5vZGUpO1xuICAgICAgICBjb25zdCBzZWxlY3Rpb25JbmRleGVzID0gdGhpcy5zZWxlY3Rpb24uc2VsZWN0ZWRcbiAgICAgICAgICAgIC5tYXAoKG5vZGUpID0+IHRoaXMuZGF0YVNvdXJjZS5nZXREYXRhKCkuaW5kZXhPZihub2RlKSlcbiAgICAgICAgICAgIC5maWx0ZXIoKGluZGV4KSA9PiBpbmRleCA+PSAwKTtcbiAgICAgICAgaWYgKE1hdGgubWluKC4uLnNlbGVjdGlvbkluZGV4ZXMpIDwgbm9kZUluZGV4KSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gTWF0aC5taW4oLi4uc2VsZWN0aW9uSW5kZXhlcykgKyAxOyBpIDw9IG5vZGVJbmRleDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uc2VsZWN0KHRoaXMuZGF0YVNvdXJjZS5nZXREYXRhKClbaV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKE1hdGgubWF4KC4uLnNlbGVjdGlvbkluZGV4ZXMpID4gbm9kZUluZGV4KSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gbm9kZUluZGV4OyBpIDwgTWF0aC5tYXgoLi4uc2VsZWN0aW9uSW5kZXhlcyk7IGkrKykge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLnNlbGVjdCh0aGlzLmRhdGFTb3VyY2UuZ2V0RGF0YSgpW2ldKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
180
+ }], ctorParameters: () => [{ type: i1.UIService }, { type: i2.NodeEntriesGlobalService }] });
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1lbnRyaWVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3NlcnZpY2VzL25vZGUtZW50cmllcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQWdCLFVBQVUsRUFBRSxNQUFNLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUF1QnZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFFNUM7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLG9CQUF3QixTQUFRLGNBQWlCO0lBQTlEOztRQUVJOztXQUVHO1FBQ00sdUJBQWtCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQzNDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFDUixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNOLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUNMLENBQUM7SUE0Qk4sQ0FBQztJQTNCRyxRQUFRLENBQUMsR0FBRyxNQUFXO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQVE7UUFDWCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztRQUN6QixLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFD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cG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSwgc2lnbmFsLCBXcml0YWJsZVNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICAgIENsaWNrU291cmNlLFxuICAgIEZldGNoRXZlbnQsXG4gICAgR3JpZENvbmZpZyxcbiAgICBJbnRlcmFjdGlvblR5cGUsXG4gICAgTGlzdERyYWdHcm9wQ29uZmlnLFxuICAgIExpc3RFdmVudEludGVyZmFjZSxcbiAgICBMaXN0T3B0aW9ucyxcbiAgICBMaXN0U29ydENvbmZpZyxcbiAgICBOb2RlQ2xpY2tFdmVudCxcbiAgICBOb2RlRW50cmllc0RhdGFUeXBlLFxuICAgIE5vZGVFbnRyaWVzRGlzcGxheVR5cGUsXG59IGZyb20gJy4uL25vZGUtZW50cmllcy9lbnRyaWVzLW1vZGVsJztcbmltcG9ydCB7IE5vZGVEYXRhU291cmNlIH0gZnJvbSAnLi4vbm9kZS1lbnRyaWVzL25vZGUtZGF0YS1zb3VyY2UnO1xuaW1wb3J0IHtcbiAgICBOb2RlRW50cmllc0dsb2JhbFNlcnZpY2UsXG4gICAgUGFnaW5hdGlvblN0cmF0ZWd5LFxufSBmcm9tICcuLi9ub2RlLWVudHJpZXMvbm9kZS1lbnRyaWVzLWdsb2JhbC5zZXJ2aWNlJztcblxuaW1wb3J0IHsgT3B0aW9uSXRlbSwgU2NvcGUgfSBmcm9tICcuLi90eXBlcy9vcHRpb24taXRlbSc7XG5pbXBvcnQgeyBMaXN0SXRlbSB9IGZyb20gJy4uL3R5cGVzL2xpc3QtaXRlbSc7XG5pbXBvcnQgeyBVSVNlcnZpY2UgfSBmcm9tICcuL3VpLnNlcnZpY2UnO1xuaW1wb3J0IHsgTm9kZURhdGFTb3VyY2VSZW1vdGUgfSBmcm9tICcuLi9ub2RlLWVudHJpZXMvbm9kZS1kYXRhLXNvdXJjZS1yZW1vdGUnO1xuaW1wb3J0IHsgZGVsYXksIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLyoqXG4gQ3VzdG9tIHNlbGVjdGlvbiBtb2RlbCB3aGljaCBhZGRzIHRoZSBjbGljayBzb3VyY2Ugb2YgdGhlIHNlbGVjdGlvbi5cbiBVU0VEIElOIEVYVEVOU0lPTlMhXG4gKi9cbmV4cG9ydCBjbGFzcyBDdXN0b21TZWxlY3Rpb25Nb2RlbDxUPiBleHRlbmRzIFNlbGVjdGlvbk1vZGVsPFQ+IHtcbiAgICBwcml2YXRlIF9jbGlja1NvdXJjZTogQ2xpY2tTb3VyY2U7XG4gICAgLyoqXG4gICAgICogdXNlZCBpbiBleHRlbnNpb25zXG4gICAgICovXG4gICAgcmVhZG9ubHkgY2hhbmdlZENsaWNrU291cmNlID0gdGhpcy5jaGFuZ2VkLnBpcGUoXG4gICAgICAgIGRlbGF5KDApLFxuICAgICAgICBtYXAoKGMpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB7IC4uLmMsIGNsaWNrU291cmNlOiB0aGlzLl9jbGlja1NvdXJjZSB9O1xuICAgICAgICB9KSxcbiAgICApO1xuICAgIGRlc2VsZWN0KC4uLnZhbHVlczogVFtdKSB7XG4gICAgICAgIHRoaXMuX2NsaWNrU291cmNlID0gbnVsbDtcbiAgICAgICAgc3VwZXIuZGVzZWxlY3QoLi4udmFsdWVzKTtcbiAgICB9XG5cbiAgICB0b2dnbGUodmFsdWU6IFQpIHtcbiAgICAgICAgdGhpcy5fY2xpY2tTb3VyY2UgPSBudWxsO1xuICAgICAgICBzdXBlci50b2dnbGUodmFsdWUpO1xuICAgIH1cblxuICAgIGNsZWFyKCkge1xuICAgICAgICB0aGlzLl9jbGlja1NvdXJjZSA9IG51bGw7XG4gICAgICAgIHN1cGVyLmNsZWFyKCk7XG4gICAgfVxuXG4gICAgc2VsZWN0KC4uLnZhbHVlczogVFtdKSB7XG4gICAgICAgIHRoaXMuX2NsaWNrU291cmNlID0gbnVsbDtcbiAgICAgICAgc3VwZXIuc2VsZWN0KC4uLnZhbHVlcyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogdXNlZCBpbiBleHRlbnNpb25zXG4gICAgICogQHBhcmFtIHZhbHVlXG4gICAgICovXG4gICAgc2V0IGNsaWNrU291cmNlKHZhbHVlOiBDbGlja1NvdXJjZSkge1xuICAgICAgICB0aGlzLl9jbGlja1NvdXJjZSA9IHZhbHVlO1xuICAgIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5vZGVFbnRyaWVzU2VydmljZTxUIGV4dGVuZHMgTm9kZUVudHJpZXNEYXRhVHlwZT4ge1xuICAgIGxpc3Q6IExpc3RFdmVudEludGVyZmFjZTxUPjtcbiAgICByZWFkb25seSBkYXRhU291cmNlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Tm9kZURhdGFTb3VyY2U8VD4gfCBudWxsPihudWxsKTtcbiAgICAvKipcbiAgICAgKiBzY29wZSB0aGUgY3VycmVudCBsaXN0IGlzIGluLCBlLmcuIHdvcmtzcGFjZVxuICAgICAqIFRoaXMgaXMgdXNlZCBmb3IgYWRkaXRpb25hbCBjb25maWcgaW5qZWN0aW9uIGJhc2VkIG9uIHRoZSBzY29wZVxuICAgICAqL1xuICAgIHNjb3BlOiBTY29wZTtcbiAgICBnZXQgZGF0YVNvdXJjZSgpOiBOb2RlRGF0YVNvdXJjZTxUPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGFTb3VyY2UkLnZhbHVlO1xuICAgIH1cbiAgICBzZXQgZGF0YVNvdXJjZSh2YWx1ZTogTm9kZURhdGFTb3VyY2U8VD4pIHtcbiAgICAgICAgdGhpcy5kYXRhU291cmNlJC5uZXh0KHZhbHVlKTtcbiAgICB9XG4gICAgZ2V0IHBhZ2luYXRpb25TdHJhdGVneSgpOiBQYWdpbmF0aW9uU3RyYXRlZ3kge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnRyaWVzR2xvYmFsLmdldFBhZ2luYXRpb25TdHJhdGVneSh0aGlzLnNjb3BlKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogU3ViamVjdCB0aGF0IHJlZmxlY3RzIHRoZSBjdXJyZW50IGNvbHVtbnMgY29uZmlndXJhdGlvbi5cbiAgICAgKlxuICAgICAqIFVwZGF0ZWQgd2hlbiBsb2FkaW5nIGNvbmZpZ3VyYXRpb24gYW5kIHRocm91Z2ggdXNlciBpbnRlcmFjdGlvbi5cbiAgICAgKi9cbiAgICBjb2x1bW5zU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TGlzdEl0ZW1bXT4obnVsbCk7XG4gICAgZ2V0IGNvbHVtbnMoKTogTGlzdEl0ZW1bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbHVtbnNTdWJqZWN0LnZhbHVlO1xuICAgIH1cbiAgICBzZXQgY29sdW1ucyh2YWx1ZTogTGlzdEl0ZW1bXSkge1xuICAgICAgICB0aGlzLmNvbHVtbnNTdWJqZWN0Lm5leHQodmFsdWUpO1xuICAgIH1cbiAgICBjb25maWd1cmVDb2x1bW5zOiBib29sZWFuO1xuICAgIGRpc3BsYXlUeXBlOiBOb2RlRW50cmllc0Rpc3BsYXlUeXBlO1xuICAgIHNlbGVjdGlvbiA9IG5ldyBDdXN0b21TZWxlY3Rpb25Nb2RlbDxUPih0cnVlLCBbXSk7XG4gICAgZWxlbWVudEludGVyYWN0aW9uVHlwZTogSW50ZXJhY3Rpb25UeXBlO1xuICAgIG9wdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMaXN0T3B0aW9ucz4obnVsbCk7XG4gICAgZ2V0IG9wdGlvbnMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMkLnZhbHVlO1xuICAgIH1cbiAgICBzZXQgb3B0aW9ucyhvcHRpb25zOiBMaXN0T3B0aW9ucykge1xuICAgICAgICB0aGlzLm9wdGlvbnMkLm5leHQob3B0aW9ucyk7XG4gICAgfVxuICAgIGNoZWNrYm94OiBib29sZWFuO1xuICAgIGdsb2JhbE9wdGlvbnNTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxPcHRpb25JdGVtW10+KFtdKTtcbiAgICBzZXQgZ2xvYmFsT3B0aW9ucyhnbG9iYWxPcHRpb25zOiBPcHRpb25JdGVtW10pIHtcbiAgICAgICAgdGhpcy5nbG9iYWxPcHRpb25zU3ViamVjdC5uZXh0KGdsb2JhbE9wdGlvbnMpO1xuICAgIH1cbiAgICBzb3J0U3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TGlzdFNvcnRDb25maWc+KHZvaWQgMCk7XG4gICAgZ2V0IHNvcnQoKTogTGlzdFNvcnRDb25maWcge1xuICAgICAgICByZXR1cm4gdGhpcy5zb3J0U3ViamVjdC52YWx1ZTtcbiAgICB9XG4gICAgc2V0IHNvcnQodmFsdWU6IExpc3RTb3J0Q29uZmlnKSB7XG4gICAgICAgIHRoaXMuc29ydFN1YmplY3QubmV4dCh2YWx1ZSk7XG4gICAgfVxuICAgIHNvcnRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxMaXN0U29ydENvbmZpZz47XG4gICAgZHJhZ0Ryb3A6IExpc3REcmFnR3JvcENvbmZpZzxUPjtcbiAgICBjbGlja0l0ZW06IEV2ZW50RW1pdHRlcjxOb2RlQ2xpY2tFdmVudDxUPj47XG4gICAgZGJsQ2xpY2tJdGVtOiBFdmVudEVtaXR0ZXI8Tm9kZUNsaWNrRXZlbnQ8VD4+O1xuICAgIGZldGNoRGF0YTogRXZlbnRFbWl0dGVyPEZldGNoRXZlbnQ+O1xuICAgIHJlYWRvbmx5IGdyaWRDb25maWckID0gbmV3IEJlaGF2aW9yU3ViamVjdDxHcmlkQ29uZmlnIHwgbnVsbD4obnVsbCk7XG4gICAgZ2V0IGdyaWRDb25maWcoKTogR3JpZENvbmZpZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdyaWRDb25maWckLnZhbHVlO1xuICAgIH1cbiAgICBzZXQgZ3JpZENvbmZpZyh2YWx1ZTogR3JpZENvbmZpZykge1xuICAgICAgICB0aGlzLmdyaWRDb25maWckLm5leHQodmFsdWUpO1xuICAgIH1cbiAgICBwcmltYXJ5SW5zdGFuY2U6IGJvb2xlYW47XG4gICAgc2luZ2xlQ2xpY2tIaW50OiAnZHluYW1pYycgfCAnc3RhdGljJztcbiAgICBkaXNhYmxlSW5maW5pdGVTY3JvbGw6IGJvb2xlYW47XG4gICAgc2Nyb2xsR3JhZGllbnRDb2xvcjogV3JpdGFibGVTaWduYWw8c3RyaW5nPiA9IHNpZ25hbCgnZmZmJyk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB1aVNlcnZpY2U6IFVJU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBlbnRyaWVzR2xvYmFsOiBOb2RlRW50cmllc0dsb2JhbFNlcnZpY2UsXG4gICAgKSB7fVxuXG4gICAgb25DbGlja2VkKHsgZXZlbnQsIC4uLmRhdGEgfTogTm9kZUNsaWNrRXZlbnQ8VD4gJiB7IGV2ZW50OiBNb3VzZUV2ZW50IH0pIHtcbiAgICAgICAgaWYgKGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24udG9nZ2xlKGRhdGEuZWxlbWVudCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQuc2hpZnRLZXkpIHtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kU2VsZWN0aW9uVG8oZGF0YS5lbGVtZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuY2xpY2tJdGVtLmVtaXQoZGF0YSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNoZWNrYm94Q2hhbmdlZChub2RlOiBULCBjaGVja2VkOiBib29sZWFuKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKG5vZGUsIGNoZWNrZWQsIHRoaXMudWlTZXJ2aWNlLnNoaWZ0S2V5UHJlc3NlZCk7XG4gICAgICAgIGlmICh0aGlzLnVpU2VydmljZS5zaGlmdEtleVByZXNzZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kU2VsZWN0aW9uVG8obm9kZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2hlY2tlZCAhPT0gdGhpcy5zZWxlY3Rpb24uaXNTZWxlY3RlZChub2RlKSkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24udG9nZ2xlKG5vZGUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdG9nZ2xlU2VsZWN0QWxsKCkge1xuICAgICAgICBpZiAodGhpcy5pc0FsbFNlbGVjdGVkKCkpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uLmNsZWFyKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdEFsbCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbG9hZE1vcmUoc291cmNlOiAnYnV0dG9uJyB8ICdzY3JvbGwnKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLnBhZ2luYXRpb25TdHJhdGVneSAhPT0gJ2luZmluaXRlLXNjcm9sbCcpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc291cmNlID09PSAnc2Nyb2xsJyAmJiB0aGlzLmRpc2FibGVJbmZpbml0ZVNjcm9sbCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIC8vIFRPRE86IGZvY3VzIG5leHQgaXRlbSB3aGVuIHRyaWdnZXJlZCB2aWEgYnV0dG9uLlxuICAgICAgICBpZiAodGhpcy5kYXRhU291cmNlIGluc3RhbmNlb2YgTm9kZURhdGFTb3VyY2VSZW1vdGUpIHtcbiAgICAgICAgICAgIHJldHVybiAodGhpcy5kYXRhU291cmNlIGFzIE5vZGVEYXRhU291cmNlUmVtb3RlKS5sb2FkTW9yZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKHRoaXMuZGF0YVNvdXJjZS5oYXNNb3JlKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZldGNoRGF0YS5lbWl0KHtcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiB0aGlzLmRhdGFTb3VyY2UuZ2V0RGF0YSgpLmxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgcmVzZXQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNlbGVjdEFsbCgpIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24uc2VsZWN0KC4uLnRoaXMuZGF0YVNvdXJjZS5nZXREYXRhKCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNBbGxTZWxlY3RlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0YVNvdXJjZS5nZXREYXRhKCkuZXZlcnkoKG5vZGUpID0+IHRoaXMuc2VsZWN0aW9uLmlzU2VsZWN0ZWQobm9kZSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZXhwYW5kU2VsZWN0aW9uVG8obm9kZTogVCkge1xuICAgICAgICBjb25zdCBub2RlSW5kZXggPSB0aGlzLmRhdGFTb3VyY2UuZ2V0RGF0YSgpLmluZGV4T2Yobm9kZSk7XG4gICAgICAgIGNvbnN0IHNlbGVjdGlvbkluZGV4ZXMgPSB0aGlzLnNlbGVjdGlvbi5zZWxlY3RlZFxuICAgICAgICAgICAgLm1hcCgobm9kZSkgPT4gdGhpcy5kYXRhU291cmNlLmdldERhdGEoKS5pbmRleE9mKG5vZGUpKVxuICAgICAgICAgICAgLmZpbHRlcigoaW5kZXgpID0+IGluZGV4ID49IDApO1xuICAgICAgICBpZiAoTWF0aC5taW4oLi4uc2VsZWN0aW9uSW5kZXhlcykgPCBub2RlSW5kZXgpIHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSBNYXRoLm1pbiguLi5zZWxlY3Rpb25JbmRleGVzKSArIDE7IGkgPD0gbm9kZUluZGV4OyBpKyspIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGlvbi5zZWxlY3QodGhpcy5kYXRhU291cmNlLmdldERhdGEoKVtpXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoTWF0aC5tYXgoLi4uc2VsZWN0aW9uSW5kZXhlcykgPiBub2RlSW5kZXgpIHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSBub2RlSW5kZXg7IGkgPCBNYXRoLm1heCguLi5zZWxlY3Rpb25JbmRleGVzKTsgaSsrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb24uc2VsZWN0KHRoaXMuZGF0YVNvdXJjZS5nZXREYXRhKClbaV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -240,18 +240,18 @@ export class NodeHelperService {
240
240
  data.queryParams.redirectFromSSO = null;
241
241
  return data.queryParams;
242
242
  }
243
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: NodeHelperService, deps: [{ token: i1.TranslateService }, { token: i2.ApiHelpersService }, { token: i2.NetworkService }, { token: i2.ConfigService }, { token: i3.RepoUrlService }, { token: ASSETS_BASE_PATH, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
244
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: NodeHelperService, providedIn: 'root' }); }
243
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NodeHelperService, deps: [{ token: i1.TranslateService }, { token: i2.ApiHelpersService }, { token: i2.NetworkService }, { token: i2.ConfigService }, { token: i3.RepoUrlService }, { token: ASSETS_BASE_PATH, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
244
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NodeHelperService, providedIn: 'root' }); }
245
245
  }
246
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: NodeHelperService, decorators: [{
246
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NodeHelperService, decorators: [{
247
247
  type: Injectable,
248
248
  args: [{
249
249
  providedIn: 'root',
250
250
  }]
251
- }], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.ApiHelpersService }, { type: i2.NetworkService }, { type: i2.ConfigService }, { type: i3.RepoUrlService }, { type: undefined, decorators: [{
251
+ }], ctorParameters: () => [{ type: i1.TranslateService }, { type: i2.ApiHelpersService }, { type: i2.NetworkService }, { type: i2.ConfigService }, { type: i3.RepoUrlService }, { type: undefined, decorators: [{
252
252
  type: Optional
253
253
  }, {
254
254
  type: Inject,
255
255
  args: [ASSETS_BASE_PATH]
256
- }] }]; } });
257
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1oZWxwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvc2VydmljZXMvbm9kZS1oZWxwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQU1ILGFBQWEsR0FDaEIsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEtBQUssUUFBUSxNQUFNLG1CQUFtQixDQUFDO0FBRzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBSXJDLE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsWUFDYyxTQUEyQixFQUMzQixpQkFBb0MsRUFDcEMsY0FBOEIsRUFDOUIsYUFBNEIsRUFDNUIsY0FBOEIsRUFDTSxjQUFzQjtRQUwxRCxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDTSxtQkFBYyxHQUFkLGNBQWMsQ0FBUTtJQUNyRSxDQUFDO0lBRUcsc0JBQXNCLENBQUMsSUFBVTtRQUNwQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzdELElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQztRQUNsQixJQUFJLFNB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QkFDL0QsV0FBVyxFQUFFO3dCQUNULFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJO3dCQUMzQyxRQUFRLEVBQUcsSUFBcUIsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLEVBQUU7d0JBQ2pELGtCQUFrQixFQUFHLElBQXFCLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLEVBQUU7cUJBQ3hFO2lCQUNKLENBQUM7YUFDTDtTQUNKO1FBQ0QsSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFO1lBQ2YsT0FBTyxFQUFFLENBQUM7U0FDYjtRQUNELElBQUksSUFBSSxLQUFLLFlBQVksRUFBRTtZQUN2QixPQUFPLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQ2hDO1FBQ0Qsb0VBQW9FO1FBQ3BFLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUN4QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDNUIsQ0FBQzs4R0FsUFEsaUJBQWlCLDRLQU9GLGdCQUFnQjtrSEFQL0IsaUJBQWlCLGNBRmQsTUFBTTs7MkZBRVQsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBUVEsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFwaUhlbHBlcnNTZXJ2aWNlLFxuICAgIENvbmZpZ1NlcnZpY2UsXG4gICAgTmV0d29ya1NlcnZpY2UsXG4gICAgTm9kZSxcbiAgICBQcm9wb3NhbE5vZGUsXG4gICAgUmVzdENvbnN0YW50cyxcbn0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgKiBhcyBXb3JrZmxvdyBmcm9tICcuLi90eXBlcy93b3JrZmxvdyc7XG5pbXBvcnQgeyBSZXBvVXJsU2VydmljZSB9IGZyb20gJy4vcmVwby11cmwuc2VydmljZSc7XG5pbXBvcnQgeyBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVUlDb25zdGFudHMgfSBmcm9tICcuLi91dGlsL3VpLWNvbnN0YW50cyc7XG5pbXBvcnQgeyBBU1NFVFNfQkFTRV9QQVRIIH0gZnJvbSAnLi4vdHlwZXMvaW5qZWN0aW9uLXRva2Vucyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBOb2RlSGVscGVyU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBhcGlIZWxwZXJzU2VydmljZTogQXBpSGVscGVyc1NlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBuZXR3b3JrU2VydmljZTogTmV0d29ya1NlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBjb25maWdTZXJ2aWNlOiBDb25maWdTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgcmVwb1VybFNlcnZpY2U6IFJlcG9VcmxTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFTU0VUU19CQVNFX1BBVEgpIHByaXZhdGUgYXNzZXRzQmFzZVBhdGg6IHN0cmluZyxcbiAgICApIHt9XG5cbiAgICBwdWJsaWMgZ2V0Q29sbGVjdGlvblNjb3BlSW5mbyhub2RlOiBOb2RlKTogeyBpY29uOiBzdHJpbmc7IHNjb3BlTmFtZTogc3RyaW5nIH0ge1xuICAgICAgICBjb25zdCBzY29wZSA9IG5vZGUuY29sbGVjdGlvbiA/IG5vZGUuY29sbGVjdGlvbi5zY29wZSA6IG51bGw7XG4gICAgICAgIGxldCBpY29uID0gJ2hlbHAnO1xuICAgICAgICBsZXQgc2NvcGVOYW1lID0gJ1VOS05PV04nO1xuICAgICAgICBpZiAoc2NvcGUgPT09IFJlc3RDb25zdGFudHMuQ09MTEVDVElPTlNDT1BFX01ZKSB7XG4gICAgICAgICAgICBpY29uID0gJ2xvY2snO1xuICAgICAgICAgICAgc2NvcGVOYW1lID0gJ01ZJztcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgICBzY29wZSA9PT0gUmVzdENvbnN0YW50cy5DT0xMRUNUSU9OU0NPUEVfT1JHQSB8fFxuICAgICAgICAgICAgc2NvcGUgPT09IFJlc3RDb25zdGFudHMuQ09MTEVDVElPTlNDT1BFX0NVU1RPTVxuICAgICAgICApIHtcbiAgICAgICAgICAgIGljb24gPSAnZ3JvdXAnO1xuICAgICAgICAgICAgc2NvcGVOYW1lID0gJ1NIQVJFRCc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgc2NvcGUgPT09IFJlc3RDb25zdGFudHMuQ09MTEVDVElPTlNDT1BFX0FMTCB8fFxuICAgICAgICAgICAgc2NvcGUgPT09IFJlc3RDb25zdGFudHMuQ09MTEVDVElPTlNDT1BFX0NVU1RPTV9QVUJMSUNcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBpY29uID0gJ2xhbmd1YWdlJztcbiAgICAgICAgICAgIHNjb3BlTmFtZSA9ICdQVUJMSUMnO1xuICAgICAgICB9XG4gICAgICAgIGlmIChub2RlLmNvbGxlY3Rpb24/LnR5cGUgPT09IFJlc3RDb25zdGFudHMuQ09MTEVDVElPTlRZUEVfRURJVE9SSUFMKSB7XG4gICAgICAgICAgICBpY29uID0gJ3N0YXInO1xuICAgICAgICAgICAgc2NvcGVOYW1lID0gJ1RZUEVfRURJVE9SSUFMJztcbiAgICAgICAgfVxuICAgICAgICBpZiAobm9kZS5jb2xsZWN0aW9uPy50eXBlID09PSBSZXN0Q29uc3RhbnRzLkNPTExFQ1RJT05UWVBFX01FRElBX0NFTlRFUikge1xuICAgICAgICAgICAgaWNvbiA9ICdidXNpbmVzcyc7XG4gICAgICAgICAgICBzY29wZU5hbWUgPSAnVFlQRV9NRURJQV9DRU5URVInO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IGljb24sIHNjb3BlTmFtZSB9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gdGhlIGxpY2Vuc2UgaWNvbiBvZiBhIG5vZGVcbiAgICAgKi9cbiAgICBhc3luYyBnZXRMaWNlbnNlSWNvbihub2RlOiBOb2RlKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgICAgLy8gcHJlZmVyIG1hbnVhbCBtYXBwaW5nIGluc3RlYWQgb2YgYmFja2VuZCBkYXRhIHRvIHN1cHBvcnQgY3VzdG9tIHN0YXRlcyBmcm9tIGxvY2FsIGVkaXRzXG4gICAgICAgIGNvbnN0IGxpY2Vuc2UgPSBub2RlLnByb3BlcnRpZXM/LltSZXN0Q29uc3RhbnRzLkNDTV9QUk9QX0xJQ0VOU0VdPy5bMF07XG4gICAgICAgIGlmIChsaWNlbnNlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRMaWNlbnNlSWNvbkJ5U3RyaW5nKGxpY2Vuc2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBub2RlLmxpY2Vuc2UgPyB0aGlzLnJlcG9VcmxTZXJ2aWNlLmdldFJlcG9Vcmwobm9kZS5saWNlbnNlLmljb24sIG5vZGUpIDogbnVsbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgYSBsaWNlbnNlIGljb24gYnkgdXNpbmcgdGhlIHByb3BlcnR5IHZhbHVlIHN0cmluZ1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRMaWNlbnNlSWNvbkJ5U3RyaW5nKHN0cmluZzogU3RyaW5nLCB1c2VOb25lQXNGYWxsYmFjayA9IHRydWUpOiBzdHJpbmcge1xuICAgICAgICBsZXQgaWNvbiA9IHN0cmluZy5yZXBsYWNlKC9fL2csICctJykudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgaWYgKGljb24gPT0gJycpIGljb24gPSAnbm9uZSc7XG5cbiAgICAgICAgY29uc3QgTElDRU5TRV9JQ09OUyA9IFtcbiAgICAgICAgICAgICdjYy0wJyxcbiAgICAgICAgICAgICdjYy1ieS1uYycsXG4gICAgICAgICAgICAnY2MtYnktbmMtbmQnLFxuICAgICAgICAgICAgJ2NjLWJ5LW5jLXNhJyxcbiAgICAgICAgICAgICdjYy1ieS1uZCcsXG4gICAgICAgICAgICAnY2MtYnktc2EnLFxuICAgICAgICAgICAgJ2NjLWJ5JyxcbiAgICAgICAgICAgICdjb3B5cmlnaHQtZnJlZScsXG4gICAgICAgICAgICAnY29weXJpZ2h0LWxpY2Vuc2UnLFxuICAgICAgICAgICAgJ2N1c3RvbScsXG4gICAgICAgICAgICAnZWR1LW5jLW5kLW5vRG8nLFxuICAgICAgICAgICAgJ2VkdS1uYy1uZCcsXG4gICAgICAgICAgICAnZWR1LXAtbnItbmQtbm9EbycsXG4gICAgICAgICAgICAnZWR1LXAtbnItbmQnLFxuICAgICAgICAgICAgJ25vbmUnLFxuICAgICAgICAgICAgJ3BkbScsXG4gICAgICAgICAgICAnc2NodWxmdW5rJyxcbiAgICAgICAgICAgICd1bnRlcnJpY2h0cy11bmQtbGVocm1lZGllbicsXG4gICAgICAgIF07XG4gICAgICAgIGlmIChMSUNFTlNFX0lDT05TLmluZGV4T2YoaWNvbikgPT0gLTEgJiYgIXVzZU5vbmVBc0ZhbGxiYWNrKSByZXR1cm4gbnVsbDsgLy8gaWNvbj0nbm9uZSc7XG4gICAgICAgIGlmIChpY29uID09ICdub25lJyAmJiAhdXNlTm9uZUFzRmFsbGJhY2spIHJldHVybiBudWxsO1xuICAgICAgICBjb25zdCByZXN1bHQgPVxuICAgICAgICAgICAgdGhpcy5hcGlIZWxwZXJzU2VydmljZS5nZXRTZXJ2ZXJVcmwoKSArICcvLi4vY2NpbWFnZXMvbGljZW5zZXMvJyArIGljb24gKyAnLnN2Zyc7XG4gICAgICAgIHJldHVybiB0aGlzLnJlcG9VcmxTZXJ2aWNlLndpdGhDdXJyZW50T3JpZ2luKHJlc3VsdCk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybiBhIHRyYW5zbGF0ZWQgbmFtZSBvZiBhIGxpY2Vuc2UgbmFtZSBmb3IgYSBub2RlXG4gICAgICogQHBhcmFtIG5vZGVcbiAgICAgKiBAcGFyYW0gdHJhbnNsYXRlXG4gICAgICogQHJldHVybnMge3N0cmluZ3xhbnl8c3RyaW5nfGFueXxzdHJpbmd8YW55fHN0cmluZ3xhbnl8c3RyaW5nfGFueXxzdHJpbmd9XG4gICAgICovXG4gICAgcHVibGljIGdldExpY2Vuc2VOYW1lKG5vZGU6IE5vZGUpIHtcbiAgICAgICAgbGV0IHByb3AgPSBub2RlLnByb3BlcnRpZXNbUmVzdENvbnN0YW50cy5DQ01fUFJPUF9MSUNFTlNFXT8uWzBdO1xuICAgICAgICBpZiAoIXByb3ApIHByb3AgPSAnJztcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TGljZW5zZU5hbWVCeVN0cmluZyhwcm9wKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gYSB0cmFuc2xhdGVkIG5hbWUgZm9yIGEgbGljZW5zZSBzdHJpbmdcbiAgICAgKiBAcGFyYW0gc3RyaW5nXG4gICAgICogQHBhcmFtIHRyYW5zbGF0ZVxuICAgICAqIEByZXR1cm5zIHthbnl9XG4gICAgICovXG4gICAgcHVibGljIGdldExpY2Vuc2VOYW1lQnlTdHJpbmcobmFtZTogc3RyaW5nKSB7XG4gICAgICAgIGlmIChuYW1lID09ICcnKSB7XG4gICAgICAgICAgICBuYW1lID0gJ05PTkUnO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdMSUNFTlNFLk5BTUVTLicgKyBuYW1lKTtcbiAgICAgICAgLy8gcmV0dXJuIG5hbWUucmVwbGFjZSgvXy9nLFwiLVwiKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiByZXR1cm4gdGhlIExpY2Vuc2UgVVJMIChlLmcuIGZvciBDQ19CWSBsaWNlbnNlcykgZm9yIGEgbGljZW5zZSBzdHJpbmcgYW5kIHZlcnNpb25cbiAgICAgKiBAcGFyYW0gbGljZW5zZVByb3BlcnR5XG4gICAgICogQHBhcmFtIGxpY2Vuc2VWZXJzaW9uXG4gICAgICogQHBhcmFtIGxpY2Vuc2VMb2NhbGVcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TGljZW5zZVVybEJ5U3RyaW5nKFxuICAgICAgICBsaWNlbnNlUHJvcGVydHk6IHN0cmluZyxcbiAgICAgICAgbGljZW5zZVZlcnNpb246IHN0cmluZyxcbiAgICAgICAgbGljZW5zZUxvY2FsZTogc3RyaW5nLFxuICAgICkge1xuICAgICAgICBjb25zdCBpc1Y0ID0gbGljZW5zZVZlcnNpb24gPT09ICc0LjAnO1xuICAgICAgICBjb25zdCBsb2NhbGUgPSBpc1Y0IHx8ICFsaWNlbnNlTG9jYWxlID8gJycgOiBsaWNlbnNlTG9jYWxlLnRvTG93ZXJDYXNlKCkgKyAnLyc7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVxuICAgICAgICAgICAgLmdldChgTElDRU5TRS5VUkxTLiR7bGljZW5zZVByb3BlcnR5fWAsIHtcbiAgICAgICAgICAgICAgICB2ZXJzaW9uOiBsaWNlbnNlVmVyc2lvbixcbiAgICAgICAgICAgICAgICBsb2NhbGU6IGxvY2FsZSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHVybDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHdoZW4gdGhlIHRyYW5zbGF0aW9uIGZhaWxzIGl0IG1pZ2h0IHJldHVybiBzb21ldGhpbmcgbGlrZSAnTElDRU5TRS5VUkxTLnVuZGVmaW5lZCdcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF1cmwgfHwgdXJsLnN0YXJ0c1dpdGgoJ0xJQ0VOU0UuVVJMUycpKSByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFpc1Y0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBvbmx5IHRoZSBpbnRlcm5hdGlvbmFsIDQuMCB2ZXJzaW9uIHN1cHBvcnRzIGRpZmZlcmVudCBsYW5ndWFnZXNcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNvIHRoaXMgcGFydCBuZWVkcyB0byBiZSByZW1vdmVkIGZvciBhbGwgb3RoZXIgdmVyc2lvbnNcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybCA9IHVybC5yZXBsYWNlKCcuZGUnLCAnJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVybDtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFdvcmtmbG93U3RhdHVzQnlJZChpZDogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IHdvcmtmbG93cyA9IHRoaXMuZ2V0V29ya2Zsb3dzKCk7XG4gICAgICAgIHJldHVybiB3b3JrZmxvd3MuZmlsdGVyKCh3KSA9PiB3LmlkID09PSBpZCk/LlswXTtcbiAgICB9XG4gICAgcHVibGljIGdldFdvcmtmbG93U3RhdHVzKG5vZGU6IE5vZGUsIHVzZUZyb21Db25maWcgPSBmYWxzZSk6IFdvcmtmbG93LldvcmtmbG93RGVmaW5pdGlvblN0YXR1cyB7XG4gICAgICAgIGxldCB2YWx1ZSA9IG5vZGUucHJvcGVydGllc1tSZXN0Q29uc3RhbnRzLkNDTV9QUk9QX1dGX1NUQVRVU10/LlswXTtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RGVmYXVsdFdvcmtmbG93U3RhdHVzKHVzZUZyb21Db25maWcpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjdXJyZW50OiB0aGlzLmdldFdvcmtmbG93U3RhdHVzQnlJZCh2YWx1ZSksXG4gICAgICAgICAgICBpbml0aWFsOiB0aGlzLmdldFdvcmtmbG93U3RhdHVzQnlJZCh2YWx1ZSksXG4gICAgICAgIH07XG4gICAgfVxuICAgIGdldERlZmF1bHRXb3JrZmxvd1N0YXR1cyh1c2VGcm9tQ29uZmlnID0gZmFsc2UpOiBXb3JrZmxvdy5Xb3JrZmxvd0RlZmluaXRpb25TdGF0dXMge1xuICAgICAgICBjb25zdCByZXN1bHQgPSB7XG4gICAgICAgICAgICBjdXJyZW50OiBudWxsIGFzIFdvcmtmbG93LldvcmtmbG93RGVmaW5pdGlvbixcbiAgICAgICAgICAgIGluaXRpYWw6IG51bGwgYXMgV29ya2Zsb3cuV29ya2Zsb3dEZWZpbml0aW9uLFxuICAgICAgICB9O1xuICAgICAgICByZXN1bHQuaW5pdGlhbCA9IHRoaXMuZ2V0V29ya2Zsb3dzKClbMF07XG4gICAgICAgIGxldCBkZWZhdWx0U3RhdHVzOiBzdHJpbmcgPSBudWxsO1xuICAgICAgICBpZiAodXNlRnJvbUNvbmZpZykge1xuICAgICAgICAgICAgZGVmYXVsdFN0YXR1cyA9IHRoaXMuY29uZmlnU2VydmljZS5pbnN0YW50KCd3b3JrZmxvdy5kZWZhdWx0U3RhdHVzJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRlZmF1bHRTdGF0dXMpIHtcbiAgICAgICAgICAgIHJlc3VsdC5jdXJyZW50ID0gdGhpcy5nZXRXb3JrZmxvd3MoKS5maW5kKCh3KSA9PiB3LmlkID09PSBkZWZhdWx0U3RhdHVzKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc3VsdC5jdXJyZW50ID0gcmVzdWx0LmluaXRpYWw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgZ2V0V29ya2Zsb3dzKCk6IFdvcmtmbG93LldvcmtmbG93RGVmaW5pdGlvbltdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29uZmlnU2VydmljZS5pbnN0YW50KCd3b3JrZmxvdy53b3JrZmxvd3MnLCBbXG4gICAgICAgICAgICBXb3JrZmxvdy5XT1JLRkxPV19TVEFUVVNfVU5DSEVDS0VELFxuICAgICAgICAgICAgV29ya2Zsb3cuV09SS0ZMT1dfU1RBVFVTX1RPX0NIRUNLLFxuICAgICAgICAgICAgV29ya2Zsb3cuV09SS0ZMT1dfU1RBVFVTX0hBU0ZMQVdTLFxuICAgICAgICAgICAgV29ya2Zsb3cuV09SS0ZMT1dfU1RBVFVTX0NIRUNLRUQsXG4gICAgICAgIF0pO1xuICAgIH1cbiAgICBjb3B5RGF0YVRvTm9kZTxUIGV4dGVuZHMgTm9kZT4odGFyZ2V0OiBULCBzb3VyY2U6IFQpIHtcbiAgICAgICAgdGFyZ2V0LnByb3BlcnRpZXMgPSBzb3VyY2UucHJvcGVydGllcztcbiAgICAgICAgdGFyZ2V0Lm5hbWUgPSBzb3VyY2UubmFtZTtcbiAgICAgICAgdGFyZ2V0LnRpdGxlID0gc291cmNlLnRpdGxlO1xuICAgIH1cbiAgICBpc05vZGVDb2xsZWN0aW9uKG5vZGU6IE5vZGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIG5vZGUuYXNwZWN0cz8uaW5jbHVkZXMoUmVzdENvbnN0YW50cy5DQ01fQVNQRUNUX0NPTExFQ1RJT04pIHx8ICEhbm9kZS5jb2xsZWN0aW9uO1xuICAgIH1cbiAgICBwdWJsaWMgZ2V0U291cmNlSWNvblBhdGgoc3JjOiBzdHJpbmcpIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLmFzc2V0c0Jhc2VQYXRoID8/ICcnKSArICdhc3NldHMvaW1hZ2VzL3NvdXJjZXMvJyArIHNyYy50b0xvd2VyQ2FzZSgpICsgJy5wbmcnO1xuICAgIH1cblxuICAgIGdldE5vZGVMaW5rKG1vZGU6ICdyb3V0ZXJMaW5rJyB8ICdxdWVyeVBhcmFtcycsIG5vZGU6IE5vZGUpIHtcbiAgICAgICAgaWYgKCFub2RlPy5yZWYpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGxldCBkYXRhOiB7IHJvdXRlckxpbms6IHN0cmluZzsgcXVlcnlQYXJhbXM6IFBhcmFtcyB9ID0gbnVsbDtcbiAgICAgICAgaWYgKHRoaXMuaXNOb2RlQ29sbGVjdGlvbihub2RlKSkge1xuICAgICAgICAgICAgZGF0YSA9IHtcbiAgICAgICAgICAgICAgICByb3V0ZXJMaW5rOiBVSUNvbnN0YW50cy5ST1VURVJfUFJFRklYICsgJ2NvbGxlY3Rpb25zJyxcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczogeyBpZDogbm9kZS5yZWYuaWQgfSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAobm9kZS5pc0RpcmVjdG9yeSkge1xuICAgICAgICAgICAgICAgIGxldCBwYXRoO1xuICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgbm9kZS5wcm9wZXJ0aWVzPy5bUmVzdENvbnN0YW50cy5DQ01fUFJPUF9FRFVTQ09QRU5BTUVdPy5bMF0gPT09XG4gICAgICAgICAgICAgICAgICAgIFJlc3RDb25zdGFudHMuU0FGRV9TQ09QRVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBwYXRoID0gVUlDb25zdGFudHMuUk9VVEVSX1BSRUZJWCArICd3b3Jrc3BhY2Uvc2FmZSc7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0aCA9IFVJQ29uc3RhbnRzLlJPVVRFUl9QUkVGSVggKyAnd29ya3NwYWNlJztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZGF0YSA9IHtcbiAgICAgICAgICAgICAgICAgICAgcm91dGVyTGluazogcGF0aCxcbiAgICAgICAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHsgaWQ6IG5vZGUucmVmLmlkIH0sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAobm9kZS5yZWYpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBmcm9tSG9tZSA9IHRoaXMubmV0d29ya1NlcnZpY2UuaXNGcm9tSG9tZVJlcG9zaXRvcnkobm9kZSk7XG4gICAgICAgICAgICAgICAgZGF0YSA9IHtcbiAgICAgICAgICAgICAgICAgICAgcm91dGVyTGluazogVUlDb25zdGFudHMuUk9VVEVSX1BSRUZJWCArICdyZW5kZXIvJyArIG5vZGUucmVmLmlkLFxuICAgICAgICAgICAgICAgICAgICBxdWVyeVBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVwb3NpdG9yeTogZnJvbUhvbWUgPyBudWxsIDogbm9kZS5yZWYucmVwbyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3Bvc2FsOiAobm9kZSBhcyBQcm9wb3NhbE5vZGUpLnByb3Bvc2FsPy5yZWYuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9wb3NhbENvbGxlY3Rpb246IChub2RlIGFzIFByb3Bvc2FsTm9kZSkucHJvcG9zYWxDb2xsZWN0aW9uPy5yZWYuaWQsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZGF0YSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtb2RlID09PSAncm91dGVyTGluaycpIHtcbiAgICAgICAgICAgIHJldHVybiAnLycgKyBkYXRhLnJvdXRlckxpbms7XG4gICAgICAgIH1cbiAgICAgICAgLy8gZW5mb3JjZSBjbGVhcmluZyBvZiBwYXJhbWV0ZXJzIHdoaWNoIHNob3VsZCBvbmx5IGJlIGNvbnN1bWVkIG9uY2VcbiAgICAgICAgZGF0YS5xdWVyeVBhcmFtcy5yZWRpcmVjdEZyb21TU08gPSBudWxsO1xuICAgICAgICByZXR1cm4gZGF0YS5xdWVyeVBhcmFtcztcbiAgICB9XG59XG4iXX0=
256
+ }] }] });
257
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1oZWxwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvc2VydmljZXMvbm9kZS1oZWxwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQU1ILGFBQWEsR0FDaEIsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEtBQUssUUFBUSxNQUFNLG1CQUFtQixDQUFDO0FBRzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBSXJDLE1BQU0sT0FBTyxpQkFBaUI7SUFDMUIsWUFDYyxTQUEyQixFQUMzQixpQkFBb0MsRUFDcEMsY0FBOEIsRUFDOUIsYUFBNEIsRUFDNUIsY0FBOEIsRUFDTSxjQUFzQjtRQUwxRCxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDTSxtQkFBYyxHQUFkLGNBQWMsQ0FBUTtJQUNyRSxDQUFDO0lBRUcsc0JBQXNCLENBQUMsSUFBVTtRQUNwQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzdELElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQztRQUNsQixJQUFJLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDMUIsSUFBSSxLQUFLLEtBQUssYUFBYSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDN0MsSUFBSSxHQUFHLE1BQU0sQ0FBQztZQUNkLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDckIsQ0FBQztRQUNELElBQ0ksS0FBSyxLQUFLLGFBQWEsQ0FBQyxvQkFBb0I7WUFDNUMsS0FBSyxLQUFLLGFBQWEsQ0FBQyxzQkFBc0IsRUFDaEQsQ0FBQztZQUNDLElBQUksR0FBRyxPQUFPLENBQUM7WUFDZixTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLENBQUM7UUFDRCxJQUNJLEtBQUssS0FBSyxhQUFhLENBQUMsbUJBQW1CO1lBQzNDLEtBQUssS0FBSyxhQUFhLENBQUMsNkJBQTZCLEVBQ3ZELENBQUM7WUFDQyxJQUFJLEdBQUcsVUFBVSxDQUFDO1lBQ2xCLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDekIsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLEtBQUssYUFBYSxDQUFDLHdCQUF3QixFQUFFLENBQUM7WUFDbkUsSUFBSSxHQUFHLE1BQU0sQ0FBQztZQUNkLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQztRQUNqQyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksS0FBSyxhQUFhLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztZQUN0RSxJQUFJLEdBQUcsVUFBVSxDQUFDO1lBQ2xCLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBQ0Q7O09BRUc7SUFDSCxLQUFLLENBQUMsY0FBYyxDQUFDLElBQVU7UUFDM0IsMEZBQTBGO1FBQzFGLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksT0FBTyxFQUFFLENBQUM7WUFDVixPQUFPLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3pGLENBQUM7SUFFRDs7T0FFRztJQUNJLHNCQUFzQixDQUFDLE1BQWMsRUFBRSxpQkFBaUIsR0FBRyxJQUFJO1FBQ2xFLElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25ELElBQUksSUFBSSxJQUFJLEVBQUU7WUFBRSxJQUFJLEdBQUcsTUFBTSxDQUFDO1FBRTlCLE1BQU0sYUFBYSxHQUFHO1lBQ2xCLE1BQU07WUFDTixVQUFVO1lBQ1YsYUFBYTtZQUNiLGFBQWE7WUFDYixVQUFVO1lBQ1YsVUFBVTtZQUNWLE9BQU87WUFDUCxnQkFBZ0I7WUFDaEIsbUJBQW1CO1lBQ25CLFFBQVE7WUFDUixnQkFBZ0I7WUFDaEIsV0FBVztZQUNYLGtCQUFrQjtZQUNsQixhQUFhO1lBQ2IsTUFBTTtZQUNOLEtBQUs7WUFDTCxXQUFXO1lBQ1gsNEJBQTRCO1NBQy9CLENBQUM7UUFDRixJQUFJLGFBQWEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUI7WUFBRSxPQUFPLElBQUksQ0FBQyxDQUFDLGVBQWU7UUFDekYsSUFBSSxJQUFJLElBQUksTUFBTSxJQUFJLENBQUMsaUJBQWlCO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDdEQsTUFBTSxNQUFNLEdBQ1IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxHQUFHLHdCQUF3QixHQUFHLElBQUksR0FBRyxNQUFNLENBQUM7UUFDckYsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFDRDs7Ozs7T0FLRztJQUNJLGNBQWMsQ0FBQyxJQUFVO1FBQzVCLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsSUFBSTtZQUFFLElBQUksR0FBRyxFQUFFLENBQUM7UUFDckIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksc0JBQXNCLENBQUMsSUFBWTtRQUN0QyxJQUFJLElBQUksSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNiLElBQUksR0FBRyxNQUFNLENBQUM7UUFDbEIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLENBQUM7UUFDdkQsaUNBQWlDO0lBQ3JDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLHFCQUFxQixDQUN4QixlQUF1QixFQUN2QixjQUFzQixFQUN0QixhQUFxQjtRQUVyQixNQUFNLElBQUksR0FBRyxjQUFjLEtBQUssS0FBSyxDQUFDO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFDO1FBQy9FLE9BQU8sSUFBSSxDQUFDLFNBQVM7YUFDaEIsR0FBRyxDQUFDLGdCQUFnQixlQUFlLEVBQUUsRUFBRTtZQUNwQyxPQUFPLEVBQUUsY0FBYztZQUN2QixNQUFNLEVBQUUsTUFBTTtTQUNqQixDQUFDO2FBQ0QsSUFBSSxDQUNELEdBQUcsQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFO1lBQ2hCLHFGQUFxRjtZQUNyRixJQUFJLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBQ3hELElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDUixrRUFBa0U7Z0JBQ2xFLDBEQUEwRDtnQkFDMUQsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2pDLENBQUM7WUFDRCxPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDVixDQUFDO0lBRU0scUJBQXFCLENBQUMsRUFBVTtRQUNuQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDdEMsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUNNLGlCQUFpQixDQUFDLElBQVUsRUFBRSxhQUFhLEdBQUcsS0FBSztRQUN0RCxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ1QsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUNELE9BQU87WUFDSCxPQUFPLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQztZQUMxQyxPQUFPLEVBQUUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQztTQUM3QyxDQUFDO0lBQ04sQ0FBQztJQUNELHdCQUF3QixDQUFDLGFBQWEsR0FBRyxLQUFLO1FBQzFDLE1BQU0sTUFBTSxHQUFHO1lBQ1gsT0FBTyxFQUFFLElBQW1DO1lBQzVDLE9BQU8sRUFBRSxJQUFtQztTQUMvQyxDQUFDO1FBQ0YsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDeEMsSUFBSSxhQUFhLEdBQVcsSUFBSSxDQUFDO1FBQ2pDLElBQUksYUFBYSxFQUFFLENBQUM7WUFDaEIsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDekUsQ0FBQztRQUNELElBQUksYUFBYSxFQUFFLENBQUM7WUFDaEIsTUFBTSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLGFBQWEsQ0FBQyxDQUFDO1FBQzdFLENBQUM7YUFBTSxDQUFDO1lBQ0osTUFBTSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDO1FBQ3BDLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBQ0QsWUFBWTtRQUNSLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEVBQUU7WUFDcEQsUUFBUSxDQUFDLHlCQUF5QjtZQUNsQyxRQUFRLENBQUMsd0JBQXdCO1lBQ2pDLFFBQVEsQ0FBQyx3QkFBd0I7WUFDakMsUUFBUSxDQUFDLHVCQUF1QjtTQUNuQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0QsY0FBYyxDQUFpQixNQUFTLEVBQUUsTUFBUztRQUMvQyxNQUFNLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDdEMsTUFBTSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQzFCLE1BQU0sQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsSUFBVTtRQUN2QixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzVGLENBQUM7SUFDTSxpQkFBaUIsQ0FBQyxHQUFXO1FBQ2hDLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQyxHQUFHLHdCQUF3QixHQUFHLEdBQUcsQ0FBQyxXQUFXLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDL0YsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFrQyxFQUFFLElBQVU7UUFDdEQsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQztZQUNiLE9BQU8sSUFBSSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxJQUFJLElBQUksR0FBZ0QsSUFBSSxDQUFDO1FBQzdELElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDOUIsSUFBSSxHQUFHO2dCQUNILFVBQVUsRUFBRSxXQUFXLENBQUMsYUFBYSxHQUFHLGFBQWE7Z0JBQ3JELFdBQVcsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRTthQUNuQyxDQUFDO1FBQ04sQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxJQUFJLENBQUM7Z0JBQ1QsSUFDSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQzNELGFBQWEsQ0FBQyxVQUFVLEVBQzFCLENBQUM7b0JBQ0MsSUFBSSxHQUFHLFdBQVcsQ0FBQyxhQUFhLEdBQUcsZ0JBQWdCLENBQUM7Z0JBQ3hELENBQUM7cUJBQU0sQ0FBQztvQkFDSixJQUFJLEdBQUcsV0FBVyxDQUFDLGFBQWEsR0FBRyxXQUFXLENBQUM7Z0JBQ25ELENBQUM7Z0JBQ0QsSUFBSSxHQUFHO29CQUNILFVBQVUsRUFBRSxJQUFJO29CQUNoQixXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUU7aUJBQ25DLENBQUM7WUFDTixDQUFDO2lCQUFNLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNsQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNoRSxJQUFJLEdBQUc7b0JBQ0gsVUFBVSxFQUFFLFdBQVcsQ0FBQyxhQUFhLEdBQUcsU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDL0QsV0FBVyxFQUFFO3dCQUNULFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJO3dCQUMzQyxRQUFRLEVBQUcsSUFBcUIsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLEVBQUU7d0JBQ2pELGtCQUFrQixFQUFHLElBQXFCLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLEVBQUU7cUJBQ3hFO2lCQUNKLENBQUM7WUFDTixDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ2hCLE9BQU8sRUFBRSxDQUFDO1FBQ2QsQ0FBQztRQUNELElBQUksSUFBSSxLQUFLLFlBQVksRUFBRSxDQUFDO1lBQ3hCLE9BQU8sR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDakMsQ0FBQztRQUNELG9FQUFvRTtRQUNwRSxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDeEMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzVCLENBQUM7OEdBbFBRLGlCQUFpQiw0S0FPRixnQkFBZ0I7a0hBUC9CLGlCQUFpQixjQUZkLE1BQU07OzJGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQVFRLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBcGlIZWxwZXJzU2VydmljZSxcbiAgICBDb25maWdTZXJ2aWNlLFxuICAgIE5ldHdvcmtTZXJ2aWNlLFxuICAgIE5vZGUsXG4gICAgUHJvcG9zYWxOb2RlLFxuICAgIFJlc3RDb25zdGFudHMsXG59IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0ICogYXMgV29ya2Zsb3cgZnJvbSAnLi4vdHlwZXMvd29ya2Zsb3cnO1xuaW1wb3J0IHsgUmVwb1VybFNlcnZpY2UgfSBmcm9tICcuL3JlcG8tdXJsLnNlcnZpY2UnO1xuaW1wb3J0IHsgUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFVJQ29uc3RhbnRzIH0gZnJvbSAnLi4vdXRpbC91aS1jb25zdGFudHMnO1xuaW1wb3J0IHsgQVNTRVRTX0JBU0VfUEFUSCB9IGZyb20gJy4uL3R5cGVzL2luamVjdGlvbi10b2tlbnMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTm9kZUhlbHBlclNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgYXBpSGVscGVyc1NlcnZpY2U6IEFwaUhlbHBlcnNTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgbmV0d29ya1NlcnZpY2U6IE5ldHdvcmtTZXJ2aWNlLFxuICAgICAgICBwcm90ZWN0ZWQgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIHJlcG9VcmxTZXJ2aWNlOiBSZXBvVXJsU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChBU1NFVFNfQkFTRV9QQVRIKSBwcml2YXRlIGFzc2V0c0Jhc2VQYXRoOiBzdHJpbmcsXG4gICAgKSB7fVxuXG4gICAgcHVibGljIGdldENvbGxlY3Rpb25TY29wZUluZm8obm9kZTogTm9kZSk6IHsgaWNvbjogc3RyaW5nOyBzY29wZU5hbWU6IHN0cmluZyB9IHtcbiAgICAgICAgY29uc3Qgc2NvcGUgPSBub2RlLmNvbGxlY3Rpb24gPyBub2RlLmNvbGxlY3Rpb24uc2NvcGUgOiBudWxsO1xuICAgICAgICBsZXQgaWNvbiA9ICdoZWxwJztcbiAgICAgICAgbGV0IHNjb3BlTmFtZSA9ICdVTktOT1dOJztcbiAgICAgICAgaWYgKHNjb3BlID09PSBSZXN0Q29uc3RhbnRzLkNPTExFQ1RJT05TQ09QRV9NWSkge1xuICAgICAgICAgICAgaWNvbiA9ICdsb2NrJztcbiAgICAgICAgICAgIHNjb3BlTmFtZSA9ICdNWSc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgc2NvcGUgPT09IFJlc3RDb25zdGFudHMuQ09MTEVDVElPTlNDT1BFX09SR0EgfHxcbiAgICAgICAgICAgIHNjb3BlID09PSBSZXN0Q29uc3RhbnRzLkNPTExFQ1RJT05TQ09QRV9DVVNUT01cbiAgICAgICAgKSB7XG4gICAgICAgICAgICBpY29uID0gJ2dyb3VwJztcbiAgICAgICAgICAgIHNjb3BlTmFtZSA9ICdTSEFSRUQnO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHNjb3BlID09PSBSZXN0Q29uc3RhbnRzLkNPTExFQ1RJT05TQ09QRV9BTEwgfHxcbiAgICAgICAgICAgIHNjb3BlID09PSBSZXN0Q29uc3RhbnRzLkNPTExFQ1RJT05TQ09QRV9DVVNUT01fUFVCTElDXG4gICAgICAgICkge1xuICAgICAgICAgICAgaWNvbiA9ICdsYW5ndWFnZSc7XG4gICAgICAgICAgICBzY29wZU5hbWUgPSAnUFVCTElDJztcbiAgICAgICAgfVxuICAgICAgICBpZiAobm9kZS5jb2xsZWN0aW9uPy50eXBlID09PSBSZXN0Q29uc3RhbnRzLkNPTExFQ1RJT05UWVBFX0VESVRPUklBTCkge1xuICAgICAgICAgICAgaWNvbiA9ICdzdGFyJztcbiAgICAgICAgICAgIHNjb3BlTmFtZSA9ICdUWVBFX0VESVRPUklBTCc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5vZGUuY29sbGVjdGlvbj8udHlwZSA9PT0gUmVzdENvbnN0YW50cy5DT0xMRUNUSU9OVFlQRV9NRURJQV9DRU5URVIpIHtcbiAgICAgICAgICAgIGljb24gPSAnYnVzaW5lc3MnO1xuICAgICAgICAgICAgc2NvcGVOYW1lID0gJ1RZUEVfTUVESUFfQ0VOVEVSJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBpY29uLCBzY29wZU5hbWUgfTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJuIHRoZSBsaWNlbnNlIGljb24gb2YgYSBub2RlXG4gICAgICovXG4gICAgYXN5bmMgZ2V0TGljZW5zZUljb24obm9kZTogTm9kZSk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICAgIC8vIHByZWZlciBtYW51YWwgbWFwcGluZyBpbnN0ZWFkIG9mIGJhY2tlbmQgZGF0YSB0byBzdXBwb3J0IGN1c3RvbSBzdGF0ZXMgZnJvbSBsb2NhbCBlZGl0c1xuICAgICAgICBjb25zdCBsaWNlbnNlID0gbm9kZS5wcm9wZXJ0aWVzPy5bUmVzdENvbnN0YW50cy5DQ01fUFJPUF9MSUNFTlNFXT8uWzBdO1xuICAgICAgICBpZiAobGljZW5zZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TGljZW5zZUljb25CeVN0cmluZyhsaWNlbnNlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbm9kZS5saWNlbnNlID8gdGhpcy5yZXBvVXJsU2VydmljZS5nZXRSZXBvVXJsKG5vZGUubGljZW5zZS5pY29uLCBub2RlKSA6IG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGEgbGljZW5zZSBpY29uIGJ5IHVzaW5nIHRoZSBwcm9wZXJ0eSB2YWx1ZSBzdHJpbmdcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TGljZW5zZUljb25CeVN0cmluZyhzdHJpbmc6IFN0cmluZywgdXNlTm9uZUFzRmFsbGJhY2sgPSB0cnVlKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGljb24gPSBzdHJpbmcucmVwbGFjZSgvXy9nLCAnLScpLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGlmIChpY29uID09ICcnKSBpY29uID0gJ25vbmUnO1xuXG4gICAgICAgIGNvbnN0IExJQ0VOU0VfSUNPTlMgPSBbXG4gICAgICAgICAgICAnY2MtMCcsXG4gICAgICAgICAgICAnY2MtYnktbmMnLFxuICAgICAgICAgICAgJ2NjLWJ5LW5jLW5kJyxcbiAgICAgICAgICAgICdjYy1ieS1uYy1zYScsXG4gICAgICAgICAgICAnY2MtYnktbmQnLFxuICAgICAgICAgICAgJ2NjLWJ5LXNhJyxcbiAgICAgICAgICAgICdjYy1ieScsXG4gICAgICAgICAgICAnY29weXJpZ2h0LWZyZWUnLFxuICAgICAgICAgICAgJ2NvcHlyaWdodC1saWNlbnNlJyxcbiAgICAgICAgICAgICdjdXN0b20nLFxuICAgICAgICAgICAgJ2VkdS1uYy1uZC1ub0RvJyxcbiAgICAgICAgICAgICdlZHUtbmMtbmQnLFxuICAgICAgICAgICAgJ2VkdS1wLW5yLW5kLW5vRG8nLFxuICAgICAgICAgICAgJ2VkdS1wLW5yLW5kJyxcbiAgICAgICAgICAgICdub25lJyxcbiAgICAgICAgICAgICdwZG0nLFxuICAgICAgICAgICAgJ3NjaHVsZnVuaycsXG4gICAgICAgICAgICAndW50ZXJyaWNodHMtdW5kLWxlaHJtZWRpZW4nLFxuICAgICAgICBdO1xuICAgICAgICBpZiAoTElDRU5TRV9JQ09OUy5pbmRleE9mKGljb24pID09IC0xICYmICF1c2VOb25lQXNGYWxsYmFjaykgcmV0dXJuIG51bGw7IC8vIGljb249J25vbmUnO1xuICAgICAgICBpZiAoaWNvbiA9PSAnbm9uZScgJiYgIXVzZU5vbmVBc0ZhbGxiYWNrKSByZXR1cm4gbnVsbDtcbiAgICAgICAgY29uc3QgcmVzdWx0ID1cbiAgICAgICAgICAgIHRoaXMuYXBpSGVscGVyc1NlcnZpY2UuZ2V0U2VydmVyVXJsKCkgKyAnLy4uL2NjaW1hZ2VzL2xpY2Vuc2VzLycgKyBpY29uICsgJy5zdmcnO1xuICAgICAgICByZXR1cm4gdGhpcy5yZXBvVXJsU2VydmljZS53aXRoQ3VycmVudE9yaWdpbihyZXN1bHQpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm4gYSB0cmFuc2xhdGVkIG5hbWUgb2YgYSBsaWNlbnNlIG5hbWUgZm9yIGEgbm9kZVxuICAgICAqIEBwYXJhbSBub2RlXG4gICAgICogQHBhcmFtIHRyYW5zbGF0ZVxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd8YW55fHN0cmluZ3xhbnl8c3RyaW5nfGFueXxzdHJpbmd8YW55fHN0cmluZ3xhbnl8c3RyaW5nfVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRMaWNlbnNlTmFtZShub2RlOiBOb2RlKSB7XG4gICAgICAgIGxldCBwcm9wID0gbm9kZS5wcm9wZXJ0aWVzW1Jlc3RDb25zdGFudHMuQ0NNX1BST1BfTElDRU5TRV0/LlswXTtcbiAgICAgICAgaWYgKCFwcm9wKSBwcm9wID0gJyc7XG4gICAgICAgIHJldHVybiB0aGlzLmdldExpY2Vuc2VOYW1lQnlTdHJpbmcocHJvcCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJuIGEgdHJhbnNsYXRlZCBuYW1lIGZvciBhIGxpY2Vuc2Ugc3RyaW5nXG4gICAgICogQHBhcmFtIHN0cmluZ1xuICAgICAqIEBwYXJhbSB0cmFuc2xhdGVcbiAgICAgKiBAcmV0dXJucyB7YW55fVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRMaWNlbnNlTmFtZUJ5U3RyaW5nKG5hbWU6IHN0cmluZykge1xuICAgICAgICBpZiAobmFtZSA9PSAnJykge1xuICAgICAgICAgICAgbmFtZSA9ICdOT05FJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudCgnTElDRU5TRS5OQU1FUy4nICsgbmFtZSk7XG4gICAgICAgIC8vIHJldHVybiBuYW1lLnJlcGxhY2UoL18vZyxcIi1cIik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogcmV0dXJuIHRoZSBMaWNlbnNlIFVSTCAoZS5nLiBmb3IgQ0NfQlkgbGljZW5zZXMpIGZvciBhIGxpY2Vuc2Ugc3RyaW5nIGFuZCB2ZXJzaW9uXG4gICAgICogQHBhcmFtIGxpY2Vuc2VQcm9wZXJ0eVxuICAgICAqIEBwYXJhbSBsaWNlbnNlVmVyc2lvblxuICAgICAqIEBwYXJhbSBsaWNlbnNlTG9jYWxlXG4gICAgICovXG4gICAgcHVibGljIGdldExpY2Vuc2VVcmxCeVN0cmluZyhcbiAgICAgICAgbGljZW5zZVByb3BlcnR5OiBzdHJpbmcsXG4gICAgICAgIGxpY2Vuc2VWZXJzaW9uOiBzdHJpbmcsXG4gICAgICAgIGxpY2Vuc2VMb2NhbGU6IHN0cmluZyxcbiAgICApIHtcbiAgICAgICAgY29uc3QgaXNWNCA9IGxpY2Vuc2VWZXJzaW9uID09PSAnNC4wJztcbiAgICAgICAgY29uc3QgbG9jYWxlID0gaXNWNCB8fCAhbGljZW5zZUxvY2FsZSA/ICcnIDogbGljZW5zZUxvY2FsZS50b0xvd2VyQ2FzZSgpICsgJy8nO1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVcbiAgICAgICAgICAgIC5nZXQoYExJQ0VOU0UuVVJMUy4ke2xpY2Vuc2VQcm9wZXJ0eX1gLCB7XG4gICAgICAgICAgICAgICAgdmVyc2lvbjogbGljZW5zZVZlcnNpb24sXG4gICAgICAgICAgICAgICAgbG9jYWxlOiBsb2NhbGUsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKCh1cmw6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyB3aGVuIHRoZSB0cmFuc2xhdGlvbiBmYWlscyBpdCBtaWdodCByZXR1cm4gc29tZXRoaW5nIGxpa2UgJ0xJQ0VOU0UuVVJMUy51bmRlZmluZWQnXG4gICAgICAgICAgICAgICAgICAgIGlmICghdXJsIHx8IHVybC5zdGFydHNXaXRoKCdMSUNFTlNFLlVSTFMnKSkgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICAgICAgICAgIGlmICghaXNWNCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gb25seSB0aGUgaW50ZXJuYXRpb25hbCA0LjAgdmVyc2lvbiBzdXBwb3J0cyBkaWZmZXJlbnQgbGFuZ3VhZ2VzXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBzbyB0aGlzIHBhcnQgbmVlZHMgdG8gYmUgcmVtb3ZlZCBmb3IgYWxsIG90aGVyIHZlcnNpb25zXG4gICAgICAgICAgICAgICAgICAgICAgICB1cmwgPSB1cmwucmVwbGFjZSgnLmRlJywgJycpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB1cmw7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRXb3JrZmxvd1N0YXR1c0J5SWQoaWQ6IHN0cmluZykge1xuICAgICAgICBjb25zdCB3b3JrZmxvd3MgPSB0aGlzLmdldFdvcmtmbG93cygpO1xuICAgICAgICByZXR1cm4gd29ya2Zsb3dzLmZpbHRlcigodykgPT4gdy5pZCA9PT0gaWQpPy5bMF07XG4gICAgfVxuICAgIHB1YmxpYyBnZXRXb3JrZmxvd1N0YXR1cyhub2RlOiBOb2RlLCB1c2VGcm9tQ29uZmlnID0gZmFsc2UpOiBXb3JrZmxvdy5Xb3JrZmxvd0RlZmluaXRpb25TdGF0dXMge1xuICAgICAgICBsZXQgdmFsdWUgPSBub2RlLnByb3BlcnRpZXNbUmVzdENvbnN0YW50cy5DQ01fUFJPUF9XRl9TVEFUVVNdPy5bMF07XG4gICAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldERlZmF1bHRXb3JrZmxvd1N0YXR1cyh1c2VGcm9tQ29uZmlnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY3VycmVudDogdGhpcy5nZXRXb3JrZmxvd1N0YXR1c0J5SWQodmFsdWUpLFxuICAgICAgICAgICAgaW5pdGlhbDogdGhpcy5nZXRXb3JrZmxvd1N0YXR1c0J5SWQodmFsdWUpLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBnZXREZWZhdWx0V29ya2Zsb3dTdGF0dXModXNlRnJvbUNvbmZpZyA9IGZhbHNlKTogV29ya2Zsb3cuV29ya2Zsb3dEZWZpbml0aW9uU3RhdHVzIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0ge1xuICAgICAgICAgICAgY3VycmVudDogbnVsbCBhcyBXb3JrZmxvdy5Xb3JrZmxvd0RlZmluaXRpb24sXG4gICAgICAgICAgICBpbml0aWFsOiBudWxsIGFzIFdvcmtmbG93LldvcmtmbG93RGVmaW5pdGlvbixcbiAgICAgICAgfTtcbiAgICAgICAgcmVzdWx0LmluaXRpYWwgPSB0aGlzLmdldFdvcmtmbG93cygpWzBdO1xuICAgICAgICBsZXQgZGVmYXVsdFN0YXR1czogc3RyaW5nID0gbnVsbDtcbiAgICAgICAgaWYgKHVzZUZyb21Db25maWcpIHtcbiAgICAgICAgICAgIGRlZmF1bHRTdGF0dXMgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuaW5zdGFudCgnd29ya2Zsb3cuZGVmYXVsdFN0YXR1cycpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChkZWZhdWx0U3RhdHVzKSB7XG4gICAgICAgICAgICByZXN1bHQuY3VycmVudCA9IHRoaXMuZ2V0V29ya2Zsb3dzKCkuZmluZCgodykgPT4gdy5pZCA9PT0gZGVmYXVsdFN0YXR1cyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXN1bHQuY3VycmVudCA9IHJlc3VsdC5pbml0aWFsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIGdldFdvcmtmbG93cygpOiBXb3JrZmxvdy5Xb3JrZmxvd0RlZmluaXRpb25bXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZ1NlcnZpY2UuaW5zdGFudCgnd29ya2Zsb3cud29ya2Zsb3dzJywgW1xuICAgICAgICAgICAgV29ya2Zsb3cuV09SS0ZMT1dfU1RBVFVTX1VOQ0hFQ0tFRCxcbiAgICAgICAgICAgIFdvcmtmbG93LldPUktGTE9XX1NUQVRVU19UT19DSEVDSyxcbiAgICAgICAgICAgIFdvcmtmbG93LldPUktGTE9XX1NUQVRVU19IQVNGTEFXUyxcbiAgICAgICAgICAgIFdvcmtmbG93LldPUktGTE9XX1NUQVRVU19DSEVDS0VELFxuICAgICAgICBdKTtcbiAgICB9XG4gICAgY29weURhdGFUb05vZGU8VCBleHRlbmRzIE5vZGU+KHRhcmdldDogVCwgc291cmNlOiBUKSB7XG4gICAgICAgIHRhcmdldC5wcm9wZXJ0aWVzID0gc291cmNlLnByb3BlcnRpZXM7XG4gICAgICAgIHRhcmdldC5uYW1lID0gc291cmNlLm5hbWU7XG4gICAgICAgIHRhcmdldC50aXRsZSA9IHNvdXJjZS50aXRsZTtcbiAgICB9XG4gICAgaXNOb2RlQ29sbGVjdGlvbihub2RlOiBOb2RlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBub2RlLmFzcGVjdHM/LmluY2x1ZGVzKFJlc3RDb25zdGFudHMuQ0NNX0FTUEVDVF9DT0xMRUNUSU9OKSB8fCAhIW5vZGUuY29sbGVjdGlvbjtcbiAgICB9XG4gICAgcHVibGljIGdldFNvdXJjZUljb25QYXRoKHNyYzogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiAodGhpcy5hc3NldHNCYXNlUGF0aCA/PyAnJykgKyAnYXNzZXRzL2ltYWdlcy9zb3VyY2VzLycgKyBzcmMudG9Mb3dlckNhc2UoKSArICcucG5nJztcbiAgICB9XG5cbiAgICBnZXROb2RlTGluayhtb2RlOiAncm91dGVyTGluaycgfCAncXVlcnlQYXJhbXMnLCBub2RlOiBOb2RlKSB7XG4gICAgICAgIGlmICghbm9kZT8ucmVmKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBsZXQgZGF0YTogeyByb3V0ZXJMaW5rOiBzdHJpbmc7IHF1ZXJ5UGFyYW1zOiBQYXJhbXMgfSA9IG51bGw7XG4gICAgICAgIGlmICh0aGlzLmlzTm9kZUNvbGxlY3Rpb24obm9kZSkpIHtcbiAgICAgICAgICAgIGRhdGEgPSB7XG4gICAgICAgICAgICAgICAgcm91dGVyTGluazogVUlDb25zdGFudHMuUk9VVEVSX1BSRUZJWCArICdjb2xsZWN0aW9ucycsXG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHsgaWQ6IG5vZGUucmVmLmlkIH0sXG4gICAgICAgICAgICB9O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKG5vZGUuaXNEaXJlY3RvcnkpIHtcbiAgICAgICAgICAgICAgICBsZXQgcGF0aDtcbiAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIG5vZGUucHJvcGVydGllcz8uW1Jlc3RDb25zdGFudHMuQ0NNX1BST1BfRURVU0NPUEVOQU1FXT8uWzBdID09PVxuICAgICAgICAgICAgICAgICAgICBSZXN0Q29uc3RhbnRzLlNBRkVfU0NPUEVcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgcGF0aCA9IFVJQ29uc3RhbnRzLlJPVVRFUl9QUkVGSVggKyAnd29ya3NwYWNlL3NhZmUnO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhdGggPSBVSUNvbnN0YW50cy5ST1VURVJfUFJFRklYICsgJ3dvcmtzcGFjZSc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGRhdGEgPSB7XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IHBhdGgsXG4gICAgICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7IGlkOiBub2RlLnJlZi5pZCB9LFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9IGVsc2UgaWYgKG5vZGUucmVmKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZnJvbUhvbWUgPSB0aGlzLm5ldHdvcmtTZXJ2aWNlLmlzRnJvbUhvbWVSZXBvc2l0b3J5KG5vZGUpO1xuICAgICAgICAgICAgICAgIGRhdGEgPSB7XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlckxpbms6IFVJQ29uc3RhbnRzLlJPVVRFUl9QUkVGSVggKyAncmVuZGVyLycgKyBub2RlLnJlZi5pZCxcbiAgICAgICAgICAgICAgICAgICAgcXVlcnlQYXJhbXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcG9zaXRvcnk6IGZyb21Ib21lID8gbnVsbCA6IG5vZGUucmVmLnJlcG8sXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9wb3NhbDogKG5vZGUgYXMgUHJvcG9zYWxOb2RlKS5wcm9wb3NhbD8ucmVmLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJvcG9zYWxDb2xsZWN0aW9uOiAobm9kZSBhcyBQcm9wb3NhbE5vZGUpLnByb3Bvc2FsQ29sbGVjdGlvbj8ucmVmLmlkLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRhdGEgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuICAgICAgICBpZiAobW9kZSA9PT0gJ3JvdXRlckxpbmsnKSB7XG4gICAgICAgICAgICByZXR1cm4gJy8nICsgZGF0YS5yb3V0ZXJMaW5rO1xuICAgICAgICB9XG4gICAgICAgIC8vIGVuZm9yY2UgY2xlYXJpbmcgb2YgcGFyYW1ldGVycyB3aGljaCBzaG91bGQgb25seSBiZSBjb25zdW1lZCBvbmNlXG4gICAgICAgIGRhdGEucXVlcnlQYXJhbXMucmVkaXJlY3RGcm9tU1NPID0gbnVsbDtcbiAgICAgICAgcmV0dXJuIGRhdGEucXVlcnlQYXJhbXM7XG4gICAgfVxufVxuIl19
@@ -143,13 +143,13 @@ export class NodesDragDropService {
143
143
  return 'grabbing';
144
144
  }
145
145
  }
146
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: NodesDragDropService, deps: [{ token: i0.NgZone }, { token: i1.Toast }, { token: i2.UIService }], target: i0.ɵɵFactoryTarget.Injectable }); }
147
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: NodesDragDropService, providedIn: 'root' }); }
146
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NodesDragDropService, deps: [{ token: i0.NgZone }, { token: i1.Toast }, { token: i2.UIService }], target: i0.ɵɵFactoryTarget.Injectable }); }
147
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NodesDragDropService, providedIn: 'root' }); }
148
148
  }
149
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: NodesDragDropService, decorators: [{
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: NodesDragDropService, decorators: [{
150
150
  type: Injectable,
151
151
  args: [{
152
152
  providedIn: 'root',
153
153
  }]
154
- }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1.Toast }, { type: i2.UIService }]; } });
155
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZXMtZHJhZy1kcm9wLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3NlcnZpY2VzL25vZGVzLWRyYWctZHJvcC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBVXJFLE1BQU0sT0FBTyxvQkFBb0I7SUFjN0IsSUFBSSxZQUFZLENBQUMsS0FBYTtRQUMxQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxZQUFvQixNQUFjLEVBQVUsS0FBWSxFQUFVLFNBQW9CO1FBQWxFLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBVztRQXJCdEYsMkNBQTJDO1FBQ25DLHdCQUFtQixHQUFHLElBQUksZUFBZSxDQUFTLElBQUksQ0FBQyxDQUFDO1FBQ2hFLGlFQUFpRTtRQUN6RCxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBMkIsSUFBSSxDQUFDLENBQUM7UUFDaEYsMkVBQTJFO1FBQ25FLG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQWlCLElBQUksQ0FBQyxDQUFDO1FBQ25FLHFGQUFxRjtRQUM3RSx5QkFBb0IsR0FBRyxJQUFJLGVBQWUsQ0FBMkIsSUFBSSxD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YUFBTSxJQUFJLFVBQVUsS0FBSyxNQUFNLEVBQUU7WUFDOUIsT0FBTyxNQUFNLENBQUM7U0FDakI7YUFBTTtZQUNILE9BQU8sVUFBVSxDQUFDO1NBQ3JCO0lBQ0wsQ0FBQzs4R0F0SlEsb0JBQW9CO2tIQUFwQixvQkFBb0IsY0FGakIsTUFBTTs7MkZBRVQsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0ICogYXMgcnhqcyBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgcGFpcndpc2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDYW5Ecm9wLCBEcm9wQWN0aW9uIH0gZnJvbSAnLi4vdHlwZXMvZHJhZy1kcm9wJztcbmltcG9ydCB7IE5vZGVzRHJvcFRhcmdldERpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvZHJhZy1ub2Rlcy9ub2Rlcy1kcm9wLXRhcmdldC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTm9kZSB9IGZyb20gJ25neC1lZHUtc2hhcmluZy1hcGknO1xuaW1wb3J0IHsgVG9hc3QgfSBmcm9tICcuL2Fic3RyYWN0L3RvYXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVUlTZXJ2aWNlIH0gZnJvbSAnLi91aS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTm9kZXNEcmFnRHJvcFNlcnZpY2Uge1xuICAgIC8qKiBUaGUgbm9kZShzKSBjdXJyZW50bHkgYmVpbmcgZHJhZ2dlZC4gKi9cbiAgICBwcml2YXRlIGRyYWdnZWROb2Rlc1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE5vZGVbXT4obnVsbCk7XG4gICAgLyoqIFRoZSBkcm9wIHRhcmdldCB0aGF0IHNvbWV0aGluZyBpcyBjdXJyZW50bHkgZHJhZ2dlZCBhYm92ZS4gKi9cbiAgICBwcml2YXRlIGRyb3BUYXJnZXRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOb2Rlc0Ryb3BUYXJnZXREaXJlY3RpdmU+KG51bGwpO1xuICAgIC8qKiBXaGV0aGVyIHRoZSBjdXJyZW50IGRyb3AgdGFyZ2V0IGFsbG93cyBkcm9wcGluZyB0aGUgZHJhZ2dlZCBub2RlKHMpLiAqL1xuICAgIHByaXZhdGUgY2FuRHJvcFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PENhbkRyb3AgfCBudWxsPihudWxsKTtcbiAgICAvKiogQSB0YXJnZXQgYmVpbmcgaG92ZXJlZCB3aXRoIHRoZSBjdXJzb3IuIERvZXMgbm90IG1lYW4gYW55dGhpbmcgaXMgZHJhZ2dlZCB5ZXQuICovXG4gICAgcHJpdmF0ZSBob3ZlcmVkVGFyZ2V0U3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Tm9kZXNEcm9wVGFyZ2V0RGlyZWN0aXZlPihudWxsKTtcbiAgICAvKiogQ3VycmVudCBkcm9wIGFjdGlvbiBiYXNlZCBvbiBwcmVzc2VkIG1vZGlmaWVyIGtleXMuICovXG4gICAgcHJpdmF0ZSBkcm9wQWN0aW9uU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RHJvcEFjdGlvbj4oJ21vdmUnKTtcbiAgICAvKiogVGhlIGN1cnJlbnQgY3Vyc29yIHN0eWxlLiAqL1xuICAgIHByaXZhdGUgY3Vyc2VyU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPihudWxsKTtcblxuICAgIHNldCBkcmFnZ2VkTm9kZXMobm9kZXM6IE5vZGVbXSkge1xuICAgICAgICB0aGlzLmRyYWdnZWROb2Rlc1N1YmplY3QubmV4dChub2Rlcyk7XG4gICAgfVxuXG4gICAgZ2V0IGNhbkRyb3AoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbkRyb3BTdWJqZWN0LnZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbmdab25lOiBOZ1pvbmUsIHByaXZhdGUgdG9hc3Q6IFRvYXN0LCBwcml2YXRlIHVpU2VydmljZTogVUlTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJEcm9wVGFyZ2V0KCk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJDYW5Ecm9wKCk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJEcm9wQWN0aW9uU3ViamVjdCgpO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyQ3Vyc29yKCk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJBY3RpdmVEcm9wVGFyZ2V0U3R5bGUoKTtcbiAgICAgICAgLy8gdGhpcy5kcmFnZ2VkTm9kZXNTdWJqZWN0LnN1YnNjcmliZSgoZHJhZ2dlZE5vZGVzKSA9PlxuICAgICAgICAvLyAgICAgY29uc29sZS5sb2coJ2RyYWdnZWROb2RlcycsIGRyYWdnZWROb2RlcyksXG4gICAgICAgIC8vICk7XG4gICAgICAgIC8vIHRoaXMuZHJvcFRhcmdldFN1YmplY3Quc3Vic2NyaWJlKChkcm9wVGFyZ2V0KSA9PiBjb25zb2xlLmxvZygnZHJvcFRhcmdldCcsIGRyb3BUYXJnZXQpKTtcbiAgICAgICAgLy8gdGhpcy5jYW5Ecm9wU3ViamVjdC5zdWJzY3JpYmUoKGNhbkRyb3ApID0+IGNvbnNvbGUubG9nKCdjYW5Ecm9wJywgY2FuRHJvcCkpO1xuICAgIH1cblxuICAgIC8qKiBDYWxsIHdoZW4gdGhlIGN1cnNvciBlbnRlcnMgYSBwb3NzaWJsZSBkcm9wIHRhcmdldC4gUnVucyBvdXRzaWRlIG5nWm9uZS4gKi9cbiAgICBvbk1vdXNlRW50ZXIodGFyZ2V0OiBOb2Rlc0Ryb3BUYXJnZXREaXJlY3RpdmUpIHtcbiAgICAgICAgdGhpcy5ob3ZlcmVkVGFyZ2V0U3ViamVjdC5uZXh0KHRhcmdldCk7XG4gICAgfVxuXG4gICAgLyoqIENhbGwgd2hlbiB0aGUgY3Vyc29yIGxlYXZlcyBhIHBvc3NpYmxlIGRyb3AgdGFyZ2V0LiBSdW5zIG91dHNpZGUgbmdab25lLiAqL1xuICAgIG9uTW91c2VMZWF2ZSh0YXJnZXQ6IE5vZGVzRHJvcFRhcmdldERpcmVjdGl2ZSkge1xuICAgICAgICBpZiAodGhpcy5ob3ZlcmVkVGFyZ2V0U3ViamVjdC52YWx1ZSA9PT0gdGFyZ2V0KSB7XG4gICAgICAgICAgICB0aGlzLmhvdmVyZWRUYXJnZXRTdWJqZWN0Lm5leHQobnVsbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkRyb3BwZWQobm9kZXM6IE5vZGVbXSkge1xuICAgICAgICBpZiAodGhpcy5jYW5Ecm9wPy5hY2NlcHQpIHtcbiAgICAgICAgICAgIHRoaXMuZHJvcFRhcmdldFN1YmplY3QudmFsdWU/Lm5vZGVEcm9wcGVkLmVtaXQoe1xuICAgICAgICAgICAgICAgIGRyYWdnZWROb2Rlczogbm9kZXMsXG4gICAgICAgICAgICAgICAgYWN0aW9uOiB0aGlzLmRyb3BBY3Rpb25TdWJqZWN0LnZhbHVlLFxuICAgICAgICAgICAgICAgIHRhcmdldDogdGhpcy5kcm9wVGFyZ2V0U3ViamVjdC52YWx1ZS50YXJnZXQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNhbkRyb3A/LmRlbnlSZWFzb24pIHtcbiAgICAgICAgICAgIHRoaXMudG9hc3QuZXJyb3IobnVsbCwgdGhpcy5jYW5Ecm9wLmRlbnlSZWFzb24pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWdpc3RlckRyb3BUYXJnZXQoKSB7XG4gICAgICAgIHJ4anMuY29tYmluZUxhdGVzdChbdGhpcy5kcmFnZ2VkTm9kZXNTdWJqZWN0LCB0aGlzLmhvdmVyZWRUYXJnZXRTdWJqZWN0XSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgoW2RyYWdnZWROb2RlcywgaG92ZXJlZE5vZGVdKSA9PiBkcmFnZ2VkTm9kZXMgJiYgaG92ZXJlZE5vZGUpLFxuICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCh0YXJnZXQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRyb3BUYXJnZXRTdWJqZWN0Lm5leHQodGFyZ2V0KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVnaXN0ZXJDYW5Ecm9wKCkge1xuICAgICAgICByeGpzLmNvbWJpbmVMYXRlc3QoW3RoaXMuZHJvcFRhcmdldFN1YmplY3QsIHRoaXMuZHJvcEFjdGlvblN1YmplY3RdKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChbZHJvcFRhcmdldCwgZHJvcEFjdGlvbl0pID0+XG4gICAgICAgICAgICAgICAgICAgIGRyb3BUYXJnZXQ/LmNhbkRyb3BOb2Rlcyh7XG4gICAgICAgICAgICAgICAgICAgICAgICBkcmFnZ2VkTm9kZXM6IHRoaXMuZHJhZ2dlZE5vZGVzU3ViamVjdC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogZHJvcEFjdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogZHJvcFRhcmdldC50YXJnZXQsXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgLy8gRklYTUU6IHRoaXMgd29uJ3QgZmlsdGVyIGVxdWFsIG9iamVjdHNcbiAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoY2FuRHJvcCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB0aGlzLmNhbkRyb3BTdWJqZWN0Lm5leHQoY2FuRHJvcCkpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWdpc3RlckN1cnNvcigpIHtcbiAgICAgICAgcnhqcy5jb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgIHRoaXMuZHJhZ2dlZE5vZGVzU3ViamVjdCxcbiAgICAgICAgICAgIHRoaXMuY2FuRHJvcFN1YmplY3QsXG4gICAgICAgICAgICB0aGlzLmRyb3BBY3Rpb25TdWJqZWN0LFxuICAgICAgICBdKS5zdWJzY3JpYmUoKFtkcmFnZ2VkTm9kZXMsIGNhbkRyb3AsIGRyb3BBY3Rpb25dKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmN1cnNlclN1YmplY3QubmV4dCh0aGlzLmdldEN1cnNvcihkcmFnZ2VkTm9kZXMsIGNhbkRyb3AsIGRyb3BBY3Rpb24pKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGxldCBzdHlsZTogSFRNTFN0eWxlRWxlbWVudDtcbiAgICAgICAgdGhpcy5jdXJzZXJTdWJqZWN0LnN1YnNjcmliZSgoY3Vyc29yKSA9PiB7XG4gICAgICAgICAgICBpZiAoY3Vyc29yICYmICFzdHlsZSkge1xuICAgICAgICAgICAgICAgIHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcbiAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHN0eWxlKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoc3R5bGUgJiYgIWN1cnNvcikge1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoc3R5bGUpO1xuICAgICAgICAgICAgICAgIHN0eWxlID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjdXJzb3IpIHtcbiAgICAgICAgICAgICAgICBzdHlsZS5pbm5lckhUTUwgPSBgKiB7Y3Vyc29yOiAke2N1cnNvcn0gIWltcG9ydGFudDsgfWA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVnaXN0ZXJBY3RpdmVEcm9wVGFyZ2V0U3R5bGUoKSB7XG4gICAgICAgIHJ4anMuY29tYmluZUxhdGVzdChbdGhpcy5kcm9wVGFyZ2V0U3ViamVjdCwgdGhpcy5jYW5Ecm9wU3ViamVjdCwgdGhpcy5kcm9wQWN0aW9uU3ViamVjdF0pXG4gICAgICAgICAgICAucGlwZShwYWlyd2lzZSgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoW1twcmV2aW91c10sIFtjdXJyZW50LCBjYW5Ecm9wLCBhY3Rpb25dXSkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdjYW4gZHJvcCcsIGNhbkRyb3ApO1xuICAgICAgICAgICAgICAgIHByZXZpb3VzPy5fc2V0QWN0aXZlRHJvcFRhcmdldChudWxsKTtcbiAgICAgICAgICAgICAgICBjdXJyZW50Py5fc2V0QWN0aXZlRHJvcFRhcmdldCh7IGNhbkRyb3AsIGFjdGlvbiB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVnaXN0ZXJEcm9wQWN0aW9uU3ViamVjdCgpIHtcbiAgICAgICAgdGhpcy51aVNlcnZpY2VcbiAgICAgICAgICAgIC5vYnNlcnZlQ3RybE9yQ21kS2V5UHJlc3NlZE91dHNpZGVab25lKClcbiAgICAgICAgICAgIC5waXBlKG1hcCgoY3RybE9yQ21kUHJlc3NlZCkgPT4gdGhpcy5nZXREcm9wQWN0aW9uKGN0cmxPckNtZFByZXNzZWQpKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGRyb3BBY3Rpb24pID0+XG4gICAgICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHRoaXMuZHJvcEFjdGlvblN1YmplY3QubmV4dChkcm9wQWN0aW9uKSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RHJvcEFjdGlvbihjdHJsT3JDbWRQcmVzc2VkOiBib29sZWFuKTogRHJvcEFjdGlvbiB7XG4gICAgICAgIGlmIChjdHJsT3JDbWRQcmVzc2VkKSB7XG4gICAgICAgICAgICByZXR1cm4gJ2NvcHknO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuICdtb3ZlJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q3Vyc29yKGRyYWdnZWROb2RlczogTm9kZVtdLCBjYW5Ecm9wOiBDYW5Ecm9wLCBkcm9wQWN0aW9uOiBEcm9wQWN0aW9uKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCFkcmFnZ2VkTm9kZXMpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9IGVsc2UgaWYgKGNhbkRyb3A/LmRlbnlFeHBsaWNpdCkge1xuICAgICAgICAgICAgcmV0dXJuICduby1kcm9wJztcbiAgICAgICAgfSBlbHNlIGlmIChkcm9wQWN0aW9uID09PSAnY29weScpIHtcbiAgICAgICAgICAgIHJldHVybiAnY29weSc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gJ2dyYWJiaW5nJztcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
154
+ }], ctorParameters: () => [{ type: i0.NgZone }, { type: i1.Toast }, { type: i2.UIService }] });
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZXMtZHJhZy1kcm9wLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL3NlcnZpY2VzL25vZGVzLWRyYWctZHJvcC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxLQUFLLElBQUksTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBVXJFLE1BQU0sT0FBTyxvQkFBb0I7SUFjN0IsSUFBSSxZQUFZLENBQUMsS0FBYTtRQUMxQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxZQUFvQixNQUFjLEVBQVUsS0FBWSxFQUFVLFNBQW9CO1FBQWxFLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBVztRQXJCdEYsMkNBQTJDO1FBQ25DLHdCQUFtQixHQUFHLElBQUksZUFBZSxDQUFTLElBQUksQ0FBQyxDQUFDO1FBQ2hFLGlFQUFpRTtRQUN6RCxzQkFBaUIsR0FBRyxJQUFJLGVBQWUsQ0FBMkIsSUFBSSxDQUFDLENBQUM7UUFDaEYsMkVBQTJFO1FBQ25FLG1CQUFjLEdBQUcsSUFBSSxlQUFlLENBQWlCLElBQUksQ0FBQyxDQUFDO1FBQ25FLHFGQUFxRjtRQUM3RSx5QkFBb0IsR0FBRyxJQUFJLGVBQWUsQ0FBMkIsSUFBSSxDQUFDLENBQUM7UUFDbkYsMERBQTBEO1FBQ2xELHNCQUFpQixHQUFHLElBQUksZUFBZSxDQUFhLE1BQU0sQ0FBQyxDQUFDO1FBQ3BFLGdDQUFnQztRQUN4QixrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFTLElBQUksQ0FBQyxDQUFDO1FBV3RELElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7UUFDckMsdURBQXVEO1FBQ3ZELGlEQUFpRDtRQUNqRCxLQUFLO1FBQ0wsMkZBQTJGO1FBQzNGLCtFQUErRTtJQUNuRixDQUFDO0lBRUQsK0VBQStFO0lBQy9FLFlBQVksQ0FBQyxNQUFnQztRQUN6QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCwrRUFBK0U7SUFDL0UsWUFBWSxDQUFDLE1BQWdDO1FBQ3pDLElBQUksSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUM3QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWE7UUFDbkIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQztnQkFDM0MsWUFBWSxFQUFFLEtBQUs7Z0JBQ25CLE1BQU0sRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSztnQkFDcEMsTUFBTSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsTUFBTTthQUM5QyxDQUFDLENBQUM7UUFDUCxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BELENBQUM7SUFDTCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUM7YUFDcEUsSUFBSSxDQUNELEdBQUcsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxZQUFZLElBQUksV0FBVyxDQUFDLEVBQ2pFLG9CQUFvQixFQUFFLENBQ3pCO2FBQ0EsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNqQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hDLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRU8sZUFBZTtRQUNuQixJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2FBQy9ELElBQUksQ0FDRCxHQUFHLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsRUFBRSxFQUFFLENBQzdCLFVBQVUsRUFBRSxZQUFZLENBQUM7WUFDckIsWUFBWSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLO1lBQzVDLE1BQU0sRUFBRSxVQUFVO1lBQ2xCLE1BQU0sRUFBRSxVQUFVLENBQUMsTUFBTTtTQUM1QixDQUFDLENBQ0w7UUFDRCx5Q0FBeUM7UUFDekMsb0JBQW9CLEVBQUUsQ0FDekI7YUFDQSxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzdELENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVPLGNBQWM7UUFDbEIsSUFBSSxDQUFDLGFBQWEsQ0FBQztZQUNmLElBQUksQ0FBQyxtQkFBbUI7WUFDeEIsSUFBSSxDQUFDLGNBQWM7WUFDbkIsSUFBSSxDQUFDLGlCQUFpQjtTQUN6QixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxFQUFFLEVBQUU7WUFDakQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDL0UsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLEtBQXVCLENBQUM7UUFDNUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNwQyxJQUFJLE1BQU0sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNuQixLQUFLLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDeEMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckMsQ0FBQztpQkFBTSxJQUFJLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUMxQixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDakMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNqQixDQUFDO1lBQ0QsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDVCxLQUFLLENBQUMsU0FBUyxHQUFHLGNBQWMsTUFBTSxnQkFBZ0IsQ0FBQztZQUMzRCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sNkJBQTZCO1FBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQzthQUNwRixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDaEIsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDcEQsb0NBQW9DO1lBQ3BDLFFBQVEsRUFBRSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNyQyxPQUFPLEVBQUUsb0JBQW9CLENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUN2RCxDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFTyx5QkFBeUI7UUFDN0IsSUFBSSxDQUFDLFNBQVM7YUFDVCxxQ0FBcUMsRUFBRTthQUN2QyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO2FBQ3JFLFNBQVMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FDakUsQ0FBQztJQUNWLENBQUM7SUFFTyxhQUFhLENBQUMsZ0JBQXlCO1FBQzNDLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUNuQixPQUFPLE1BQU0sQ0FBQztRQUNsQixDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sTUFBTSxDQUFDO1FBQ2xCLENBQUM7SUFDTCxDQUFDO0lBRU8sU0FBUyxDQUFDLFlBQW9CLEVBQUUsT0FBZ0IsRUFBRSxVQUFzQjtRQUM1RSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDaEIsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQzthQUFNLElBQUksT0FBTyxFQUFFLFlBQVksRUFBRSxDQUFDO1lBQy9CLE9BQU8sU0FBUyxDQUFDO1FBQ3JCLENBQUM7YUFBTSxJQUFJLFVBQVUsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUMvQixPQUFPLE1BQU0sQ0FBQztRQUNsQixDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sVUFBVSxDQUFDO1FBQ3RCLENBQUM7SUFDTCxDQUFDOzhHQXRKUSxvQkFBb0I7a0hBQXBCLG9CQUFvQixjQUZqQixNQUFNOzsyRkFFVCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgKiBhcyByeGpzIGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBwYWlyd2lzZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENhbkRyb3AsIERyb3BBY3Rpb24gfSBmcm9tICcuLi90eXBlcy9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgTm9kZXNEcm9wVGFyZ2V0RGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9kcmFnLW5vZGVzL25vZGVzLWRyb3AtdGFyZ2V0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBOb2RlIH0gZnJvbSAnbmd4LWVkdS1zaGFyaW5nLWFwaSc7XG5pbXBvcnQgeyBUb2FzdCB9IGZyb20gJy4vYWJzdHJhY3QvdG9hc3Quc2VydmljZSc7XG5pbXBvcnQgeyBVSVNlcnZpY2UgfSBmcm9tICcuL3VpLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBOb2Rlc0RyYWdEcm9wU2VydmljZSB7XG4gICAgLyoqIFRoZSBub2RlKHMpIGN1cnJlbnRseSBiZWluZyBkcmFnZ2VkLiAqL1xuICAgIHByaXZhdGUgZHJhZ2dlZE5vZGVzU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Tm9kZVtdPihudWxsKTtcbiAgICAvKiogVGhlIGRyb3AgdGFyZ2V0IHRoYXQgc29tZXRoaW5nIGlzIGN1cnJlbnRseSBkcmFnZ2VkIGFib3ZlLiAqL1xuICAgIHByaXZhdGUgZHJvcFRhcmdldFN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE5vZGVzRHJvcFRhcmdldERpcmVjdGl2ZT4obnVsbCk7XG4gICAgLyoqIFdoZXRoZXIgdGhlIGN1cnJlbnQgZHJvcCB0YXJnZXQgYWxsb3dzIGRyb3BwaW5nIHRoZSBkcmFnZ2VkIG5vZGUocykuICovXG4gICAgcHJpdmF0ZSBjYW5Ecm9wU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Q2FuRHJvcCB8IG51bGw+KG51bGwpO1xuICAgIC8qKiBBIHRhcmdldCBiZWluZyBob3ZlcmVkIHdpdGggdGhlIGN1cnNvci4gRG9lcyBub3QgbWVhbiBhbnl0aGluZyBpcyBkcmFnZ2VkIHlldC4gKi9cbiAgICBwcml2YXRlIGhvdmVyZWRUYXJnZXRTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOb2Rlc0Ryb3BUYXJnZXREaXJlY3RpdmU+KG51bGwpO1xuICAgIC8qKiBDdXJyZW50IGRyb3AgYWN0aW9uIGJhc2VkIG9uIHByZXNzZWQgbW9kaWZpZXIga2V5cy4gKi9cbiAgICBwcml2YXRlIGRyb3BBY3Rpb25TdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEcm9wQWN0aW9uPignbW92ZScpO1xuICAgIC8qKiBUaGUgY3VycmVudCBjdXJzb3Igc3R5bGUuICovXG4gICAgcHJpdmF0ZSBjdXJzZXJTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KG51bGwpO1xuXG4gICAgc2V0IGRyYWdnZWROb2Rlcyhub2RlczogTm9kZVtdKSB7XG4gICAgICAgIHRoaXMuZHJhZ2dlZE5vZGVzU3ViamVjdC5uZXh0KG5vZGVzKTtcbiAgICB9XG5cbiAgICBnZXQgY2FuRHJvcCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FuRHJvcFN1YmplY3QudmFsdWU7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSwgcHJpdmF0ZSB0b2FzdDogVG9hc3QsIHByaXZhdGUgdWlTZXJ2aWNlOiBVSVNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5yZWdpc3RlckRyb3BUYXJnZXQoKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckNhbkRyb3AoKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckRyb3BBY3Rpb25TdWJqZWN0KCk7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJDdXJzb3IoKTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckFjdGl2ZURyb3BUYXJnZXRTdHlsZSgpO1xuICAgICAgICAvLyB0aGlzLmRyYWdnZWROb2Rlc1N1YmplY3Quc3Vic2NyaWJlKChkcmFnZ2VkTm9kZXMpID0+XG4gICAgICAgIC8vICAgICBjb25zb2xlLmxvZygnZHJhZ2dlZE5vZGVzJywgZHJhZ2dlZE5vZGVzKSxcbiAgICAgICAgLy8gKTtcbiAgICAgICAgLy8gdGhpcy5kcm9wVGFyZ2V0U3ViamVjdC5zdWJzY3JpYmUoKGRyb3BUYXJnZXQpID0+IGNvbnNvbGUubG9nKCdkcm9wVGFyZ2V0JywgZHJvcFRhcmdldCkpO1xuICAgICAgICAvLyB0aGlzLmNhbkRyb3BTdWJqZWN0LnN1YnNjcmliZSgoY2FuRHJvcCkgPT4gY29uc29sZS5sb2coJ2NhbkRyb3AnLCBjYW5Ecm9wKSk7XG4gICAgfVxuXG4gICAgLyoqIENhbGwgd2hlbiB0aGUgY3Vyc29yIGVudGVycyBhIHBvc3NpYmxlIGRyb3AgdGFyZ2V0LiBSdW5zIG91dHNpZGUgbmdab25lLiAqL1xuICAgIG9uTW91c2VFbnRlcih0YXJnZXQ6IE5vZGVzRHJvcFRhcmdldERpcmVjdGl2ZSkge1xuICAgICAgICB0aGlzLmhvdmVyZWRUYXJnZXRTdWJqZWN0Lm5leHQodGFyZ2V0KTtcbiAgICB9XG5cbiAgICAvKiogQ2FsbCB3aGVuIHRoZSBjdXJzb3IgbGVhdmVzIGEgcG9zc2libGUgZHJvcCB0YXJnZXQuIFJ1bnMgb3V0c2lkZSBuZ1pvbmUuICovXG4gICAgb25Nb3VzZUxlYXZlKHRhcmdldDogTm9kZXNEcm9wVGFyZ2V0RGlyZWN0aXZlKSB7XG4gICAgICAgIGlmICh0aGlzLmhvdmVyZWRUYXJnZXRTdWJqZWN0LnZhbHVlID09PSB0YXJnZXQpIHtcbiAgICAgICAgICAgIHRoaXMuaG92ZXJlZFRhcmdldFN1YmplY3QubmV4dChudWxsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRHJvcHBlZChub2RlczogTm9kZVtdKSB7XG4gICAgICAgIGlmICh0aGlzLmNhbkRyb3A/LmFjY2VwdCkge1xuICAgICAgICAgICAgdGhpcy5kcm9wVGFyZ2V0U3ViamVjdC52YWx1ZT8ubm9kZURyb3BwZWQuZW1pdCh7XG4gICAgICAgICAgICAgICAgZHJhZ2dlZE5vZGVzOiBub2RlcyxcbiAgICAgICAgICAgICAgICBhY3Rpb246IHRoaXMuZHJvcEFjdGlvblN1YmplY3QudmFsdWUsXG4gICAgICAgICAgICAgICAgdGFyZ2V0OiB0aGlzLmRyb3BUYXJnZXRTdWJqZWN0LnZhbHVlLnRhcmdldCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY2FuRHJvcD8uZGVueVJlYXNvbikge1xuICAgICAgICAgICAgdGhpcy50b2FzdC5lcnJvcihudWxsLCB0aGlzLmNhbkRyb3AuZGVueVJlYXNvbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlZ2lzdGVyRHJvcFRhcmdldCgpIHtcbiAgICAgICAgcnhqcy5jb21iaW5lTGF0ZXN0KFt0aGlzLmRyYWdnZWROb2Rlc1N1YmplY3QsIHRoaXMuaG92ZXJlZFRhcmdldFN1YmplY3RdKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChbZHJhZ2dlZE5vZGVzLCBob3ZlcmVkTm9kZV0pID0+IGRyYWdnZWROb2RlcyAmJiBob3ZlcmVkTm9kZSksXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHRhcmdldCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZHJvcFRhcmdldFN1YmplY3QubmV4dCh0YXJnZXQpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWdpc3RlckNhbkRyb3AoKSB7XG4gICAgICAgIHJ4anMuY29tYmluZUxhdGVzdChbdGhpcy5kcm9wVGFyZ2V0U3ViamVjdCwgdGhpcy5kcm9wQWN0aW9uU3ViamVjdF0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKFtkcm9wVGFyZ2V0LCBkcm9wQWN0aW9uXSkgPT5cbiAgICAgICAgICAgICAgICAgICAgZHJvcFRhcmdldD8uY2FuRHJvcE5vZGVzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRyYWdnZWROb2RlczogdGhpcy5kcmFnZ2VkTm9kZXNTdWJqZWN0LnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uOiBkcm9wQWN0aW9uLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBkcm9wVGFyZ2V0LnRhcmdldCxcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAvLyBGSVhNRTogdGhpcyB3b24ndCBmaWx0ZXIgZXF1YWwgb2JqZWN0c1xuICAgICAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChjYW5Ecm9wKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHRoaXMuY2FuRHJvcFN1YmplY3QubmV4dChjYW5Ecm9wKSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlZ2lzdGVyQ3Vyc29yKCkge1xuICAgICAgICByeGpzLmNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5kcmFnZ2VkTm9kZXNTdWJqZWN0LFxuICAgICAgICAgICAgdGhpcy5jYW5Ecm9wU3ViamVjdCxcbiAgICAgICAgICAgIHRoaXMuZHJvcEFjdGlvblN1YmplY3QsXG4gICAgICAgIF0pLnN1YnNjcmliZSgoW2RyYWdnZWROb2RlcywgY2FuRHJvcCwgZHJvcEFjdGlvbl0pID0+IHtcbiAgICAgICAgICAgIHRoaXMuY3Vyc2VyU3ViamVjdC5uZXh0KHRoaXMuZ2V0Q3Vyc29yKGRyYWdnZWROb2RlcywgY2FuRHJvcCwgZHJvcEFjdGlvbikpO1xuICAgICAgICB9KTtcbiAgICAgICAgbGV0IHN0eWxlOiBIVE1MU3R5bGVFbGVtZW50O1xuICAgICAgICB0aGlzLmN1cnNlclN1YmplY3Quc3Vic2NyaWJlKChjdXJzb3IpID0+IHtcbiAgICAgICAgICAgIGlmIChjdXJzb3IgJiYgIXN0eWxlKSB7XG4gICAgICAgICAgICAgICAgc3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc3R5bGUpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChzdHlsZSAmJiAhY3Vyc29yKSB7XG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzdHlsZSk7XG4gICAgICAgICAgICAgICAgc3R5bGUgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGN1cnNvcikge1xuICAgICAgICAgICAgICAgIHN0eWxlLmlubmVySFRNTCA9IGAqIHtjdXJzb3I6ICR7Y3Vyc29yfSAhaW1wb3J0YW50OyB9YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWdpc3RlckFjdGl2ZURyb3BUYXJnZXRTdHlsZSgpIHtcbiAgICAgICAgcnhqcy5jb21iaW5lTGF0ZXN0KFt0aGlzLmRyb3BUYXJnZXRTdWJqZWN0LCB0aGlzLmNhbkRyb3BTdWJqZWN0LCB0aGlzLmRyb3BBY3Rpb25TdWJqZWN0XSlcbiAgICAgICAgICAgIC5waXBlKHBhaXJ3aXNlKCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChbW3ByZXZpb3VzXSwgW2N1cnJlbnQsIGNhbkRyb3AsIGFjdGlvbl1dKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ2NhbiBkcm9wJywgY2FuRHJvcCk7XG4gICAgICAgICAgICAgICAgcHJldmlvdXM/Ll9zZXRBY3RpdmVEcm9wVGFyZ2V0KG51bGwpO1xuICAgICAgICAgICAgICAgIGN1cnJlbnQ/Ll9zZXRBY3RpdmVEcm9wVGFyZ2V0KHsgY2FuRHJvcCwgYWN0aW9uIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWdpc3RlckRyb3BBY3Rpb25TdWJqZWN0KCkge1xuICAgICAgICB0aGlzLnVpU2VydmljZVxuICAgICAgICAgICAgLm9ic2VydmVDdHJsT3JDbWRLZXlQcmVzc2VkT3V0c2lkZVpvbmUoKVxuICAgICAgICAgICAgLnBpcGUobWFwKChjdHJsT3JDbWRQcmVzc2VkKSA9PiB0aGlzLmdldERyb3BBY3Rpb24oY3RybE9yQ21kUHJlc3NlZCkpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZHJvcEFjdGlvbikgPT5cbiAgICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gdGhpcy5kcm9wQWN0aW9uU3ViamVjdC5uZXh0KGRyb3BBY3Rpb24pKSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXREcm9wQWN0aW9uKGN0cmxPckNtZFByZXNzZWQ6IGJvb2xlYW4pOiBEcm9wQWN0aW9uIHtcbiAgICAgICAgaWYgKGN0cmxPckNtZFByZXNzZWQpIHtcbiAgICAgICAgICAgIHJldHVybiAnY29weSc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gJ21vdmUnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDdXJzb3IoZHJhZ2dlZE5vZGVzOiBOb2RlW10sIGNhbkRyb3A6IENhbkRyb3AsIGRyb3BBY3Rpb246IERyb3BBY3Rpb24pOiBzdHJpbmcge1xuICAgICAgICBpZiAoIWRyYWdnZWROb2Rlcykge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH0gZWxzZSBpZiAoY2FuRHJvcD8uZGVueUV4cGxpY2l0KSB7XG4gICAgICAgICAgICByZXR1cm4gJ25vLWRyb3AnO1xuICAgICAgICB9IGVsc2UgaWYgKGRyb3BBY3Rpb24gPT09ICdjb3B5Jykge1xuICAgICAgICAgICAgcmV0dXJuICdjb3B5JztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiAnZ3JhYmJpbmcnO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19