@alfresco/adf-content-services 8.1.0-15865093855 → 8.1.0-15928551305

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 (76) hide show
  1. package/esm2022/lib/aspect-list/aspect-list-dialog.component.mjs +5 -6
  2. package/esm2022/lib/aspect-list/aspect-list.component.mjs +5 -6
  3. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +6 -7
  4. package/esm2022/lib/breadcrumb/dropdown-breadcrumb.component.mjs +4 -5
  5. package/esm2022/lib/category/categories-management/categories-management.component.mjs +10 -11
  6. package/esm2022/lib/content-metadata/components/content-metadata/content-metadata-header.component.mjs +4 -5
  7. package/esm2022/lib/content-metadata/components/content-metadata/content-metadata.component.mjs +6 -7
  8. package/esm2022/lib/content-metadata/components/content-metadata-card/content-metadata-card.component.mjs +4 -5
  9. package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.component.mjs +8 -9
  10. package/esm2022/lib/content-node-selector/content-node-selector.component.mjs +6 -7
  11. package/esm2022/lib/content-node-selector/site-dropdown/sites-dropdown.component.mjs +4 -4
  12. package/esm2022/lib/content-node-share/content-node-share.dialog.mjs +11 -12
  13. package/esm2022/lib/content-type/content-type-dialog.component.mjs +7 -8
  14. package/esm2022/lib/content.module.mjs +2 -2
  15. package/esm2022/lib/dialogs/category-selector/category-selector.dialog.mjs +5 -6
  16. package/esm2022/lib/dialogs/folder/folder.dialog.mjs +7 -8
  17. package/esm2022/lib/dialogs/library/library.dialog.mjs +8 -9
  18. package/esm2022/lib/dialogs/node-lock/node-lock.dialog.mjs +9 -10
  19. package/esm2022/lib/directives/content-directive.module.mjs +2 -2
  20. package/esm2022/lib/directives/node-counter.directive.mjs +4 -5
  21. package/esm2022/lib/document-list/components/document-list.component.mjs +6 -7
  22. package/esm2022/lib/document-list/components/file-auto-download/file-auto-download.component.mjs +7 -8
  23. package/esm2022/lib/document-list/components/library-name-column/library-name-column.component.mjs +5 -7
  24. package/esm2022/lib/document-list/components/library-role-column/library-role-column.component.mjs +5 -7
  25. package/esm2022/lib/document-list/components/library-status-column/library-status-column.component.mjs +5 -7
  26. package/esm2022/lib/document-list/components/name-column/name-column.component.mjs +5 -7
  27. package/esm2022/lib/document-list/document-list.module.mjs +1 -5
  28. package/esm2022/lib/new-version-uploader/new-version-uploader.dialog.mjs +5 -6
  29. package/esm2022/lib/permission-manager/components/add-permission/add-permission-dialog.component.mjs +5 -6
  30. package/esm2022/lib/permission-manager/components/add-permission/add-permission-panel.component.mjs +7 -8
  31. package/esm2022/lib/permission-manager/components/add-permission/add-permission.component.mjs +4 -5
  32. package/esm2022/lib/permission-manager/components/permission-container/permission-container.component.mjs +6 -7
  33. package/esm2022/lib/permission-manager/components/permission-list/permission-list.component.mjs +5 -6
  34. package/esm2022/lib/permission-manager/components/user-role-column/user-role-column.component.mjs +4 -5
  35. package/esm2022/lib/search/components/search-check-list/search-check-list.component.mjs +6 -7
  36. package/esm2022/lib/search/components/search-chip-autocomplete-input/search-chip-autocomplete-input.component.mjs +8 -9
  37. package/esm2022/lib/search/components/search-chip-list/search-chip-list.component.mjs +5 -6
  38. package/esm2022/lib/search/components/search-control.component.mjs +4 -5
  39. package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.component.mjs +8 -9
  40. package/esm2022/lib/search/components/search-datetime-range/search-datetime-range.component.mjs +4 -5
  41. package/esm2022/lib/search/components/search-facet-field/search-facet-field.component.mjs +6 -7
  42. package/esm2022/lib/search/components/search-filter/search-filter-card/search-filter-card.component.mjs +5 -6
  43. package/esm2022/lib/search/components/search-filter/search-filter.component.mjs +4 -5
  44. package/esm2022/lib/search/components/search-filter-autocomplete-chips/search-filter-autocomplete-chips.component.mjs +5 -6
  45. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip/search-facet-chip.component.mjs +6 -7
  46. package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-chip-tabbed.component.mjs +6 -7
  47. package/esm2022/lib/search/components/search-filter-chips/search-filter-chips.component.mjs +4 -5
  48. package/esm2022/lib/search/components/search-filter-chips/search-filter-menu-card/search-filter-menu-card.component.mjs +6 -7
  49. package/esm2022/lib/search/components/search-filter-chips/search-widget-chip/search-widget-chip.component.mjs +6 -7
  50. package/esm2022/lib/search/components/search-filter-container/search-filter-container.component.mjs +5 -6
  51. package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tabbed.component.mjs +4 -5
  52. package/esm2022/lib/search/components/search-form/search-form.component.mjs +6 -7
  53. package/esm2022/lib/search/components/search-input/search-input.component.mjs +4 -5
  54. package/esm2022/lib/search/components/search-logical-filter/search-logical-filter.component.mjs +5 -6
  55. package/esm2022/lib/search/components/search-number-range/search-number-range.component.mjs +5 -6
  56. package/esm2022/lib/search/components/search-properties/search-properties.component.mjs +4 -4
  57. package/esm2022/lib/search/components/search-radio/search-radio.component.mjs +6 -7
  58. package/esm2022/lib/search/components/search-slider/search-slider.component.mjs +4 -5
  59. package/esm2022/lib/search/components/search-text/search-text.component.mjs +8 -9
  60. package/esm2022/lib/search/components/search.component.mjs +4 -5
  61. package/esm2022/lib/tag/tag-actions/tag-actions.component.mjs +6 -7
  62. package/esm2022/lib/tag/tags-creator/tags-creator.component.mjs +6 -7
  63. package/esm2022/lib/tree/components/tree.component.mjs +10 -11
  64. package/esm2022/lib/tree-view/components/tree-view.component.mjs +4 -5
  65. package/esm2022/lib/upload/components/file-uploading-dialog.component.mjs +6 -7
  66. package/esm2022/lib/upload/components/file-uploading-list-row.component.mjs +5 -6
  67. package/esm2022/lib/upload/components/upload-button.component.mjs +5 -6
  68. package/esm2022/lib/upload/components/upload-version-button.component.mjs +5 -6
  69. package/esm2022/lib/version-manager/version-comparison.component.mjs +4 -5
  70. package/esm2022/lib/version-manager/version-list.component.mjs +5 -6
  71. package/esm2022/lib/version-manager/version-manager.component.mjs +4 -5
  72. package/esm2022/lib/version-manager/version-upload.component.mjs +7 -8
  73. package/esm2022/lib/viewer/components/alfresco-viewer.component.mjs +6 -7
  74. package/fesm2022/adf-content-services.mjs +188 -192
  75. package/fesm2022/adf-content-services.mjs.map +1 -1
  76. package/package.json +4 -4
@@ -24,7 +24,7 @@ import { ClipboardDirective, ConfirmDialogComponent } from '@alfresco/adf-core';
24
24
  import { RenditionService } from '../common/services/rendition.service';
25
25
  import { add, endOfDay, format, isBefore } from 'date-fns';
26
26
  import { CommonModule } from '@angular/common';
27
- import { TranslateModule } from '@ngx-translate/core';
27
+ import { TranslatePipe } from '@ngx-translate/core';
28
28
  import { MatIconModule } from '@angular/material/icon';
29
29
  import { MatFormFieldModule } from '@angular/material/form-field';
30
30
  import { MatDatepickerModule } from '@angular/material/datepicker';
@@ -36,14 +36,13 @@ import * as i2 from "@angular/material/dialog";
36
36
  import * as i3 from "../common/services/content.service";
37
37
  import * as i4 from "../common/services/rendition.service";
38
38
  import * as i5 from "@angular/common";
39
- import * as i6 from "@ngx-translate/core";
40
- import * as i7 from "@angular/material/icon";
41
- import * as i8 from "@angular/forms";
42
- import * as i9 from "@angular/material/slide-toggle";
43
- import * as i10 from "@angular/material/form-field";
44
- import * as i11 from "@angular/material/datepicker";
45
- import * as i12 from "@angular/material/input";
46
- import * as i13 from "@angular/material/button";
39
+ import * as i6 from "@angular/material/icon";
40
+ import * as i7 from "@angular/forms";
41
+ import * as i8 from "@angular/material/slide-toggle";
42
+ import * as i9 from "@angular/material/form-field";
43
+ import * as i10 from "@angular/material/datepicker";
44
+ import * as i11 from "@angular/material/input";
45
+ import * as i12 from "@angular/material/button";
47
46
  export class ShareDialogComponent {
48
47
  constructor(sharedLinksApiService, dialogRef, dialog, contentService, renditionService, data) {
49
48
  this.sharedLinksApiService = sharedLinksApiService;
@@ -261,13 +260,13 @@ export class ShareDialogComponent {
261
260
  }
262
261
  }
263
262
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShareDialogComponent, deps: [{ token: i1.SharedLinksApiService }, { token: i2.MatDialogRef }, { token: i2.MatDialog }, { token: i3.ContentService }, { token: i4.RenditionService }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
264
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ShareDialogComponent, isStandalone: true, selector: "adf-share-dialog", host: { classAttribute: "adf-share-dialog" }, viewQueries: [{ propertyName: "slideToggleExpirationDate", first: true, predicate: ["slideToggleExpirationDate"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"adf-share-link__dialog-content\">\n <div class=\"adf-share-link__dialog-container\">\n <div class=\"adf-share-link--header adf-share-link--row\">\n <div\n data-automation-id=\"adf-share-dialog-title\"\n class=\"adf-share-link__title adf-share-link__label adf-share-link__heading\"\n role=\"heading\"\n aria-level=\"1\">\n {{ 'SHARE.DIALOG-TITLE' | translate }} {{ fileName }}\n </div>\n <mat-icon mat-dialog-close class=\"adf-share-link__close adf-share-link__icon\">close</mat-icon>\n </div>\n <mat-dialog-content class=\"adf-share-link--dialog-content\">\n <hr class=\"adf-share-link__separation-line\" />\n <form [formGroup]=\"form\" class=\"adf-share-link__form\">\n <div class=\"adf-share-link--row adf-share-link--row-sharable\">\n <mat-icon class=\"adf-share-link__icon\">timer</mat-icon>\n <div class=\"adf-share-link__label adf-sharable-link\">{{ 'SHARE.LINK-EXPIRY-DATE' | translate }}\n </div>\n <mat-slide-toggle\n #slideToggleExpirationDate\n [disabled]=\"!canUpdate\"\n color=\"primary\"\n data-automation-id=\"adf-expire-toggle\"\n aria-label=\"{{ 'SHARE.EXPIRES' | translate }}\"\n [checked]=\"!!time.value\"\n (change)=\"onToggleExpirationDate($event)\" />\n </div>\n <div\n [style.display]=\"isExpiryDateToggleChecked ? 'block' : 'none'\"\n data-automation-id=\"adf-slide-toggle-checked\"\n class=\"adf-share-link__date-time-container\">\n <mat-form-field class=\"adf-full-width\" subscriptSizing=\"dynamic\" data-automation-id=\"adf-content-share-expiration-field\">\n <mat-label>{{ 'SHARE.EXPIRATION-PLACEHOLDER' | translate }}</mat-label>\n <mat-datepicker-toggle\n [disabled]=\"time.disabled\"\n [for]=\"datePicker\"\n matSuffix\n class=\"adf-share-link__icon adf-share-link__calender-icon\" />\n <mat-datepicker\n #datePicker\n (closed)=\"onDatePickerClosed()\" />\n <input\n class=\"adf-share-link__input\"\n #datePickerInput\n matInput\n [attr.aria-label]=\"'SHARE.EXPIRATION-LABEL' | translate\"\n [min]=\"minDate\"\n formControlName=\"time\"\n (keydown)=\"preventIncorrectCharacters($event)\"\n (blur)=\"onTimeChanged()\"\n (keydown.enter)=\"datePickerInput.blur()\"\n [matDatepicker]=\"datePicker\"/>\n <mat-error *ngIf=\"time.errors?.['invalidDate'] && (time.dirty || time.touched)\"\n data-automation-id=\"adf-share-link-input-warning\">{{ 'SHARE.INVALID_DATE_ERROR' | translate }}</mat-error>\n </mat-form-field>\n </div>\n <p class=\"adf-share-link__info adf-share-link__para\">{{ 'SHARE.SHARE-LINK' | translate }}</p>\n <div class=\"adf-share-link--row adf-share-link--sharable-container\">\n <mat-slide-toggle\n color=\"primary\"\n data-automation-id=\"adf-share-toggle\"\n class=\"adf-share-link--row__slide-toggle\"\n aria-label=\"{{ 'SHARE.TITLE' | translate }}\"\n [checked]=\"isFileShared\"\n [disabled]=\"!canUpdate || isDisabled\"\n (change)=\"onSlideShareChange($event)\" />\n <div class=\"adf-share-link__label adf-sharable-link\">{{ 'SHARE.SHARABLE-LINK-CREATED' | translate }}\n </div>\n </div>\n <mat-form-field\n subscriptSizing=\"dynamic\"\n floatLabel=\"always\"\n class=\"adf-full-width adf-share-link__form--field\"\n data-automation-id=\"adf-content-share-public-link-field\"\n [ngClass]=\"isLinkWithExpiryDate? 'adf-share-link__border-color' : ''\">\n <input\n #sharedLinkInput\n data-automation-id=\"adf-share-link\"\n class=\"adf-share-link__input\"\n matInput\n placeholder=\"{{ 'SHARE.PUBLIC-LINK' | translate }}\"\n [attr.aria-label]=\"'SHARE.PUBLIC-LINK' | translate\"\n formControlName=\"sharedUrl\"\n readonly=\"readonly\">\n <mat-icon\n class=\"adf-input-action adf-share-link__icon adf-share-link__copy-icon\"\n role=\"button\"\n matSuffix\n [clipboard-notification]=\"'SHARE.CLIPBOARD-MESSAGE' | translate\"\n [adf-clipboard]\n [attr.aria-label]=\"'SHARE.COPY_BUTTON_LABEL' | translate\"\n [target]=\"sharedLinkInput\"\n tabindex=\"0\">\n content_copy\n </mat-icon>\n </mat-form-field>\n <p class=\"adf-share-link__warn adf-share-link__para\" *ngIf=\"isLinkWithExpiryDate\">\n {{ 'SHARE.LINK-WITH-EXPIRY-SETTINGS' | translate }}\n </p>\n <div class=\"adf-share-link--row\">\n <mat-icon class=\"adf-share-link__icon\">public</mat-icon>\n <p\n class=\"adf-share-link__info adf-sharable-link adf-share-link__public-content adf-share-link__para\">\n {{ 'SHARE.PUBLIC-CONTENT' | translate }}\n </p>\n </div>\n </form>\n <hr class=\"adf-share-link__separation-line\" />\n </mat-dialog-content>\n <div class=\"adf-share-link__actions\" mat-dialog-actions>\n <button data-automation-id=\"adf-share-dialog-close\" mat-button color=\"primary\" mat-dialog-close>\n {{ 'SHARE.CLOSE' | translate }}\n </button>\n </div>\n </div>\n</div>\n", styles: [".adf-share-link-dialog .adf-share-link .mat-mdc-form-field-flex{height:48px}.adf-share-link-dialog .adf-share-link__dialog-content{display:flex;flex-direction:column}.adf-share-link-dialog .adf-share-link__dialog-container{background-color:var(--theme-card-background-color);border-radius:16px}.adf-share-link-dialog .adf-share-link__label,.adf-share-link-dialog .adf-share-link__title,.adf-share-link-dialog .adf-share-link__info{letter-spacing:-.4px;line-height:2;font-weight:400;font-style:normal;font-stretch:normal;font-size:var(--theme-body-1-font-size);color:var(--adf-theme-foreground-text-color-087)}.adf-share-link-dialog .adf-share-link__label{flex:1 1 auto}.adf-share-link-dialog .adf-share-link__form{padding-top:8px}.adf-share-link-dialog .adf-share-link__form .mat-mdc-form-field-infix:has(.adf-share-link__input){border-top:.9375em solid transparent;border-bottom:.9375em solid transparent;height:16px}.adf-share-link-dialog .adf-share-link__form--field{padding-bottom:16px}.adf-share-link-dialog .adf-share-link__public-content{color:var(--adf-theme-foreground-text-color-054);font-size:var(--theme-caption-font-size)}.adf-share-link-dialog .adf-share-link__warn{color:var(--theme-warn-color-a700);font-size:var(--theme-caption-font-size)}.adf-share-link-dialog .adf-share-link--row{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;margin:8px 0}.adf-share-link-dialog .adf-share-link--row-sharable,.adf-share-link-dialog .adf-share-link--sharable-container{margin-bottom:0}.adf-share-link-dialog .adf-share-link--header{padding:16px 24px 0}.adf-share-link-dialog .adf-share-link--dialog-content{padding-top:0;padding-bottom:0}.adf-share-link-dialog .adf-share-link__input{color:var(--adf-theme-foreground-text-color-087)}.adf-share-link-dialog .adf-share-link__separation-line{border:1px solid var(--theme-grey-background-color);margin:8px -24px}.adf-share-link-dialog .adf-share-link__close{cursor:pointer;margin-left:12px}.adf-share-link-dialog .adf-share-link__icon{color:var(--adf-theme-foreground-icon-color-054);padding-bottom:0;padding-right:0}.adf-share-link-dialog .adf-share-link__para{margin-top:8px;margin-bottom:8px}.adf-share-link-dialog .adf-share-link__heading{font-weight:700;font-size:var(--theme-subheading-2-font-size)}.adf-share-link-dialog .adf-share-link__copy-icon{padding-top:18px;font-size:22px}.adf-share-link-dialog .adf-share-link__calender-icon{top:12px;position:relative;right:-6px}.adf-share-link-dialog .adf-share-link__calender-icon svg{height:18px;width:18px}.adf-share-link-dialog .adf-share-link__date-time-container{padding-bottom:20px}.adf-share-link-dialog .adf-share-link__border-color{border:1px solid var(--theme-warn-color-a700)}.adf-share-link-dialog .adf-input-action{cursor:pointer}.adf-share-link-dialog .adf-full-width{width:100%;border-radius:6px;margin-top:-6px}.adf-share-link-dialog .adf-sharable-link{margin-top:2px;margin-left:8px}.adf-share-link-dialog .adf-share-link__actions{justify-content:flex-end;padding:8px 24px 32px 0;margin:8px 0 0}.adf-share-link-dialog .adf-share-link__actions>button{color:var(--adf-theme-foreground-base-color);background-color:var(--theme-grey-text-background-color);margin-right:12px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i8.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i8.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i8.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i9.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i10.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i10.MatLabel, selector: "mat-label" }, { kind: "directive", type: i10.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i10.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i11.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i11.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i11.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i12.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i13.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: ClipboardDirective, selector: "[adf-clipboard]", inputs: ["adf-clipboard", "target", "clipboard-notification"], exportAs: ["adfClipboard"] }], encapsulation: i0.ViewEncapsulation.None }); }
263
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ShareDialogComponent, isStandalone: true, selector: "adf-share-dialog", host: { classAttribute: "adf-share-dialog" }, viewQueries: [{ propertyName: "slideToggleExpirationDate", first: true, predicate: ["slideToggleExpirationDate"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"adf-share-link__dialog-content\">\n <div class=\"adf-share-link__dialog-container\">\n <div class=\"adf-share-link--header adf-share-link--row\">\n <div\n data-automation-id=\"adf-share-dialog-title\"\n class=\"adf-share-link__title adf-share-link__label adf-share-link__heading\"\n role=\"heading\"\n aria-level=\"1\">\n {{ 'SHARE.DIALOG-TITLE' | translate }} {{ fileName }}\n </div>\n <mat-icon mat-dialog-close class=\"adf-share-link__close adf-share-link__icon\">close</mat-icon>\n </div>\n <mat-dialog-content class=\"adf-share-link--dialog-content\">\n <hr class=\"adf-share-link__separation-line\" />\n <form [formGroup]=\"form\" class=\"adf-share-link__form\">\n <div class=\"adf-share-link--row adf-share-link--row-sharable\">\n <mat-icon class=\"adf-share-link__icon\">timer</mat-icon>\n <div class=\"adf-share-link__label adf-sharable-link\">{{ 'SHARE.LINK-EXPIRY-DATE' | translate }}\n </div>\n <mat-slide-toggle\n #slideToggleExpirationDate\n [disabled]=\"!canUpdate\"\n color=\"primary\"\n data-automation-id=\"adf-expire-toggle\"\n aria-label=\"{{ 'SHARE.EXPIRES' | translate }}\"\n [checked]=\"!!time.value\"\n (change)=\"onToggleExpirationDate($event)\" />\n </div>\n <div\n [style.display]=\"isExpiryDateToggleChecked ? 'block' : 'none'\"\n data-automation-id=\"adf-slide-toggle-checked\"\n class=\"adf-share-link__date-time-container\">\n <mat-form-field class=\"adf-full-width\" subscriptSizing=\"dynamic\" data-automation-id=\"adf-content-share-expiration-field\">\n <mat-label>{{ 'SHARE.EXPIRATION-PLACEHOLDER' | translate }}</mat-label>\n <mat-datepicker-toggle\n [disabled]=\"time.disabled\"\n [for]=\"datePicker\"\n matSuffix\n class=\"adf-share-link__icon adf-share-link__calender-icon\" />\n <mat-datepicker\n #datePicker\n (closed)=\"onDatePickerClosed()\" />\n <input\n class=\"adf-share-link__input\"\n #datePickerInput\n matInput\n [attr.aria-label]=\"'SHARE.EXPIRATION-LABEL' | translate\"\n [min]=\"minDate\"\n formControlName=\"time\"\n (keydown)=\"preventIncorrectCharacters($event)\"\n (blur)=\"onTimeChanged()\"\n (keydown.enter)=\"datePickerInput.blur()\"\n [matDatepicker]=\"datePicker\"/>\n <mat-error *ngIf=\"time.errors?.['invalidDate'] && (time.dirty || time.touched)\"\n data-automation-id=\"adf-share-link-input-warning\">{{ 'SHARE.INVALID_DATE_ERROR' | translate }}</mat-error>\n </mat-form-field>\n </div>\n <p class=\"adf-share-link__info adf-share-link__para\">{{ 'SHARE.SHARE-LINK' | translate }}</p>\n <div class=\"adf-share-link--row adf-share-link--sharable-container\">\n <mat-slide-toggle\n color=\"primary\"\n data-automation-id=\"adf-share-toggle\"\n class=\"adf-share-link--row__slide-toggle\"\n aria-label=\"{{ 'SHARE.TITLE' | translate }}\"\n [checked]=\"isFileShared\"\n [disabled]=\"!canUpdate || isDisabled\"\n (change)=\"onSlideShareChange($event)\" />\n <div class=\"adf-share-link__label adf-sharable-link\">{{ 'SHARE.SHARABLE-LINK-CREATED' | translate }}\n </div>\n </div>\n <mat-form-field\n subscriptSizing=\"dynamic\"\n floatLabel=\"always\"\n class=\"adf-full-width adf-share-link__form--field\"\n data-automation-id=\"adf-content-share-public-link-field\"\n [ngClass]=\"isLinkWithExpiryDate? 'adf-share-link__border-color' : ''\">\n <input\n #sharedLinkInput\n data-automation-id=\"adf-share-link\"\n class=\"adf-share-link__input\"\n matInput\n placeholder=\"{{ 'SHARE.PUBLIC-LINK' | translate }}\"\n [attr.aria-label]=\"'SHARE.PUBLIC-LINK' | translate\"\n formControlName=\"sharedUrl\"\n readonly=\"readonly\">\n <mat-icon\n class=\"adf-input-action adf-share-link__icon adf-share-link__copy-icon\"\n role=\"button\"\n matSuffix\n [clipboard-notification]=\"'SHARE.CLIPBOARD-MESSAGE' | translate\"\n [adf-clipboard]\n [attr.aria-label]=\"'SHARE.COPY_BUTTON_LABEL' | translate\"\n [target]=\"sharedLinkInput\"\n tabindex=\"0\">\n content_copy\n </mat-icon>\n </mat-form-field>\n <p class=\"adf-share-link__warn adf-share-link__para\" *ngIf=\"isLinkWithExpiryDate\">\n {{ 'SHARE.LINK-WITH-EXPIRY-SETTINGS' | translate }}\n </p>\n <div class=\"adf-share-link--row\">\n <mat-icon class=\"adf-share-link__icon\">public</mat-icon>\n <p\n class=\"adf-share-link__info adf-sharable-link adf-share-link__public-content adf-share-link__para\">\n {{ 'SHARE.PUBLIC-CONTENT' | translate }}\n </p>\n </div>\n </form>\n <hr class=\"adf-share-link__separation-line\" />\n </mat-dialog-content>\n <div class=\"adf-share-link__actions\" mat-dialog-actions>\n <button data-automation-id=\"adf-share-dialog-close\" mat-button color=\"primary\" mat-dialog-close>\n {{ 'SHARE.CLOSE' | translate }}\n </button>\n </div>\n </div>\n</div>\n", styles: [".adf-share-link-dialog .adf-share-link .mat-mdc-form-field-flex{height:48px}.adf-share-link-dialog .adf-share-link__dialog-content{display:flex;flex-direction:column}.adf-share-link-dialog .adf-share-link__dialog-container{background-color:var(--theme-card-background-color);border-radius:16px}.adf-share-link-dialog .adf-share-link__label,.adf-share-link-dialog .adf-share-link__title,.adf-share-link-dialog .adf-share-link__info{letter-spacing:-.4px;line-height:2;font-weight:400;font-style:normal;font-stretch:normal;font-size:var(--theme-body-1-font-size);color:var(--adf-theme-foreground-text-color-087)}.adf-share-link-dialog .adf-share-link__label{flex:1 1 auto}.adf-share-link-dialog .adf-share-link__form{padding-top:8px}.adf-share-link-dialog .adf-share-link__form .mat-mdc-form-field-infix:has(.adf-share-link__input){border-top:.9375em solid transparent;border-bottom:.9375em solid transparent;height:16px}.adf-share-link-dialog .adf-share-link__form--field{padding-bottom:16px}.adf-share-link-dialog .adf-share-link__public-content{color:var(--adf-theme-foreground-text-color-054);font-size:var(--theme-caption-font-size)}.adf-share-link-dialog .adf-share-link__warn{color:var(--theme-warn-color-a700);font-size:var(--theme-caption-font-size)}.adf-share-link-dialog .adf-share-link--row{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;margin:8px 0}.adf-share-link-dialog .adf-share-link--row-sharable,.adf-share-link-dialog .adf-share-link--sharable-container{margin-bottom:0}.adf-share-link-dialog .adf-share-link--header{padding:16px 24px 0}.adf-share-link-dialog .adf-share-link--dialog-content{padding-top:0;padding-bottom:0}.adf-share-link-dialog .adf-share-link__input{color:var(--adf-theme-foreground-text-color-087)}.adf-share-link-dialog .adf-share-link__separation-line{border:1px solid var(--theme-grey-background-color);margin:8px -24px}.adf-share-link-dialog .adf-share-link__close{cursor:pointer;margin-left:12px}.adf-share-link-dialog .adf-share-link__icon{color:var(--adf-theme-foreground-icon-color-054);padding-bottom:0;padding-right:0}.adf-share-link-dialog .adf-share-link__para{margin-top:8px;margin-bottom:8px}.adf-share-link-dialog .adf-share-link__heading{font-weight:700;font-size:var(--theme-subheading-2-font-size)}.adf-share-link-dialog .adf-share-link__copy-icon{padding-top:18px;font-size:22px}.adf-share-link-dialog .adf-share-link__calender-icon{top:12px;position:relative;right:-6px}.adf-share-link-dialog .adf-share-link__calender-icon svg{height:18px;width:18px}.adf-share-link-dialog .adf-share-link__date-time-container{padding-bottom:20px}.adf-share-link-dialog .adf-share-link__border-color{border:1px solid var(--theme-warn-color-a700)}.adf-share-link-dialog .adf-input-action{cursor:pointer}.adf-share-link-dialog .adf-full-width{width:100%;border-radius:6px;margin-top:-6px}.adf-share-link-dialog .adf-sharable-link{margin-top:2px;margin-left:8px}.adf-share-link-dialog .adf-share-link__actions{justify-content:flex-end;padding:8px 24px 32px 0;margin:8px 0 0}.adf-share-link-dialog .adf-share-link__actions>button{color:var(--adf-theme-foreground-base-color);background-color:var(--theme-grey-text-background-color);margin-right:12px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i8.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i9.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i9.MatLabel, selector: "mat-label" }, { kind: "directive", type: i9.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i9.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i10.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i10.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i10.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i11.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i12.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: ClipboardDirective, selector: "[adf-clipboard]", inputs: ["adf-clipboard", "target", "clipboard-notification"], exportAs: ["adfClipboard"] }], encapsulation: i0.ViewEncapsulation.None }); }
265
264
  }
266
265
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShareDialogComponent, decorators: [{
267
266
  type: Component,
268
267
  args: [{ selector: 'adf-share-dialog', standalone: true, imports: [
269
268
  CommonModule,
270
- TranslateModule,
269
+ TranslatePipe,
271
270
  MatIconModule,
272
271
  MatDialogModule,
273
272
  ReactiveFormsModule,
@@ -285,4 +284,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
285
284
  type: ViewChild,
286
285
  args: ['slideToggleExpirationDate', { static: true }]
287
286
  }] } });
288
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1ub2RlLXNoYXJlLmRpYWxvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvY29udGVudC1ub2RlLXNoYXJlL2NvbnRlbnQtbm9kZS1zaGFyZS5kaWFsb2cudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL2NvbnRlbnQtbm9kZS1zaGFyZS9jb250ZW50LW5vZGUtc2hhcmUuZGlhbG9nLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRyxPQUFPLEVBQXdCLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWhGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9B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LE1BQU07MkJBQUMsZUFBZTt5Q0FQM0IseUJBQXlCO3NCQUR4QixTQUFTO3VCQUFDLDJCQUEyQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2csIE1hdERpYWxvZ01vZHVsZSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdFNsaWRlVG9nZ2xlQ2hhbmdlLCBNYXRTbGlkZVRvZ2dsZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NsaWRlLXRvZ2dsZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29udGVudFNlcnZpY2UgfSBmcm9tICcuLi9jb21tb24vc2VydmljZXMvY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7IFNoYXJlZExpbmtzQXBpU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvc2hhcmVkLWxpbmtzLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IFNoYXJlZExpbmtCb2R5Q3JlYXRlIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBDbGlwYm9hcmREaXJlY3RpdmUsIENvbmZpcm1EaWFsb2dDb21wb25lbnQgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgQ29udGVudE5vZGVTaGFyZVNldHRpbmdzIH0gZnJvbSAnLi9jb250ZW50LW5vZGUtc2hhcmUuc2V0dGluZ3MnO1xuaW1wb3J0IHsgUmVuZGl0aW9uU2VydmljZSB9IGZyb20gJy4uL2NvbW1vbi9zZXJ2aWNlcy9yZW5kaXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBhZGQsIGVuZE9mRGF5LCBmb3JtYXQsIGlzQmVmb3JlIH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbmludGVyZmFjZSBTaGFyZWREaWFsb2dGb3JtUHJvcHMge1xuICAgIHNoYXJlZFVybDogRm9ybUNvbnRyb2w8c3RyaW5nPjtcbiAgICB0aW1lOiBGb3JtQ29udHJvbDxEYXRlPjtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtc2hhcmUtZGlhbG9nJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXG4gICAgICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICAgICAgTWF0RGF0ZXBpY2tlck1vZHVsZSxcbiAgICAgICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgQ2xpcGJvYXJkRGlyZWN0aXZlXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29udGVudC1ub2RlLXNoYXJlLmRpYWxvZy5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jb250ZW50LW5vZGUtc2hhcmUuZGlhbG9nLnNjc3MnXSxcbiAgICBob3N0OiB7IGNsYXNzOiAnYWRmLXNoYXJlLWRpYWxvZycgfSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIFNoYXJlRGlhbG9nQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwcml2YXRlIG1pbkRhdGVWYWxpZGF0b3IgPSAoY29udHJvbDogRm9ybUNvbnRyb2w8RGF0ZT4pOiBhbnkgPT5cbiAgICAgICAgaXNCZWZvcmUoZW5kT2ZEYXkobmV3IERhdGUoY29udHJvbC52YWx1ZSkpLCB0aGlzLm1pbkRhdGUpID8geyBpbnZhbGlkRGF0ZTogdHJ1ZSB9IDogbnVsbDtcblxuICAgIG1pbkRhdGUgPSBhZGQobmV3IERhdGUoKSwgeyBkYXlzOiAxIH0pO1xuICAgIHNoYXJlZElkOiBzdHJpbmc7XG4gICAgZmlsZU5hbWU6IHN0cmluZztcbiAgICBiYXNlU2hhcmVVcmw6IHN0cmluZztcbiAgICBpc0ZpbGVTaGFyZWQgPSBmYWxzZTtcbiAgICBpc0Rpc2FibGVkID0gZmFsc2U7XG4gICAgaXNMaW5rV2l0aEV4cGlyeURhdGUgPSBmYWxzZTtcbiAgICBmb3JtID0gbmV3IEZvcm1Hcm91cDxTaGFyZWREaWFsb2dGb3JtUHJvcHM+KHtcbiAgICAgICAgc2hhcmVkVXJsOiBuZXcgRm9ybUNvbnRyb2woJycpLFxuICAgICAgICB0aW1lOiBuZXcgRm9ybUNvbnRyb2woeyB2YWx1ZTogbnVsbCwgZGlzYWJsZWQ6IHRydWUgfSwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIHRoaXMubWluRGF0ZVZhbGlkYXRvcl0pXG4gICAgfSk7XG4gICAgaXNFeHBpcnlEYXRlVG9nZ2xlQ2hlY2tlZDogYm9vbGVhbjtcblxuICAgIEBWaWV3Q2hpbGQoJ3NsaWRlVG9nZ2xlRXhwaXJhdGlvbkRhdGUnLCB7IHN0YXRpYzogdHJ1ZSB9KVxuICAgIHNsaWRlVG9nZ2xlRXhwaXJhdGlvbkRhdGU7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgc2hhcmVkTGlua3NBcGlTZXJ2aWNlOiBTaGFyZWRMaW5rc0FwaVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8U2hhcmVEaWFsb2dDb21wb25lbnQ+LFxuICAgICAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxuICAgICAgICBwcml2YXRlIGNvbnRlbnRTZXJ2aWNlOiBDb250ZW50U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZW5kaXRpb25TZXJ2aWNlOiBSZW5kaXRpb25TZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IENvbnRlbnROb2RlU2hhcmVTZXR0aW5nc1xuICAgICkge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5kYXRhLm5vZGU/LmVudHJ5KSB7XG4gICAgICAgICAgICB0aGlzLmZpbGVOYW1lID0gdGhpcy5kYXRhLm5vZGUuZW50cnkubmFtZTtcbiAgICAgICAgICAgIHRoaXMuYmFzZVNoYXJlVXJsID0gdGhpcy5kYXRhLmJhc2VTaGFyZVVybDtcblxuICAgICAgICAgICAgY29uc3QgcHJvcGVydGllcyA9IHRoaXMuZGF0YS5ub2RlLmVudHJ5LnByb3BlcnRpZXM7XG5cbiAgICAgICAgICAgIGlmICghcHJvcGVydGllcz8uWydxc2hhcmU6c2hhcmVkSWQnXSkge1xuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlU2hhcmVkTGlua3ModGhpcy5kYXRhLm5vZGUuZW50cnkuaWQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNoYXJlZElkID0gcHJvcGVydGllc1sncXNoYXJlOnNoYXJlZElkJ107XG4gICAgICAgICAgICAgICAgdGhpcy5pc0ZpbGVTaGFyZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgZXhwaXJ5RGF0ZSA9IHRoaXMudXBkYXRlRm9ybSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNFeHBpcnlEYXRlVG9nZ2xlQ2hlY2tlZCA9IHRoaXMuaXNMaW5rV2l0aEV4cGlyeURhdGUgPSAhIWV4cGlyeURhdGU7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xpbmtXaXRoRXhwaXJ5RGF0ZSA/IHRoaXMudGltZS5lbmFibGUoKSA6IHRoaXMudGltZS5kaXNhYmxlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblRpbWVDaGFuZ2VkKCkge1xuICAgICAgICBpZiAodGhpcy50aW1lLnZhbGlkKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU5vZGUodGhpcy50aW1lLnZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCB0aW1lKCk6IEZvcm1Db250cm9sPERhdGU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS5jb250cm9sc1sndGltZSddO1xuICAgIH1cbiAgICBvblNsaWRlU2hhcmVDaGFuZ2UoZXZlbnQ6IE1hdFNsaWRlVG9nZ2xlQ2hhbmdlKSB7XG4gICAgICAgIGlmIChldmVudC5jaGVja2VkKSB7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZVNoYXJlZExpbmtzKHRoaXMuZGF0YS5ub2RlLmVudHJ5LmlkKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMub3BlbkNvbmZpcm1hdGlvbkRpYWxvZygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGNhblVwZGF0ZSgpIHtcbiAgICAgICAgY29uc3QgeyBlbnRyeSB9ID0gdGhpcy5kYXRhLm5vZGU7XG5cbiAgICAgICAgaWYgKGVudHJ5Py5hbGxvd2FibGVPcGVyYXRpb25zKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb250ZW50U2VydmljZS5oYXNBbGxvd2FibGVPcGVyYXRpb25zKGVudHJ5LCAndXBkYXRlJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBvblRvZ2dsZUV4cGlyYXRpb25EYXRlKHNsaWRlVG9nZ2xlOiBNYXRTbGlkZVRvZ2dsZUNoYW5nZSkge1xuICAgICAgICBpZiAoc2xpZGVUb2dnbGUuY2hlY2tlZCkge1xuICAgICAgICAgICAgdGhpcy50aW1lLmVuYWJsZSgpO1xuICAgICAgICAgICAgdGhpcy5pc0V4cGlyeURhdGVUb2dnbGVDaGVja2VkID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudGltZS5kaXNhYmxlKCk7XG4gICAgICAgICAgICB0aGlzLnRpbWUuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgICAgICB0aGlzLmRlbGV0ZVNoYXJlZExpbmsodGhpcy5zaGFyZWRJZCwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkRhdGVQaWNrZXJDbG9zZWQoKSB7XG4gICAgICAgIHRoaXMub25UaW1lQ2hhbmdlZCgpO1xuICAgICAgICBpZiAoIXRoaXMudGltZS52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zbGlkZVRvZ2dsZUV4cGlyYXRpb25EYXRlLmNoZWNrZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByZXZlbnRJbmNvcnJlY3RDaGFyYWN0ZXJzKGU6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgcmVnZXggPSAvW15cXGQvLi1dLztcbiAgICAgICAgcmV0dXJuIGUua2V5Lmxlbmd0aCA9PT0gMSA/ICFyZWdleC50ZXN0KGUua2V5KSA6IHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvcGVuQ29uZmlybWF0aW9uRGlhbG9nKCkge1xuICAgICAgICB0aGlzLmlzRmlsZVNoYXJlZCA9IGZhbHNlO1xuXG4gICAgICAgIHRoaXMuZGlhbG9nXG4gICAgICAgICAgICAub3BlbihDb25maXJtRGlhbG9nQ29tcG9uZW50LCB7XG4gICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICB0aXRsZTogJ1NIQVJFLkNPTkZJUk1BVElPTi5ESUFMT0ctVElUTEUnLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiAnU0hBUkUuQ09ORklSTUFUSU9OLk1FU1NBR0UnLFxuICAgICAgICAgICAgICAgICAgICB5ZXNMYWJlbDogJ1NIQVJFLkNPTkZJUk1BVElPTi5SRU1PVkUnLFxuICAgICAgICAgICAgICAgICAgICBub0xhYmVsOiAnU0hBUkUuQ09ORklSTUFUSU9OLkNBTkNFTCdcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG1pbldpZHRoOiAnMjUwcHgnLFxuICAgICAgICAgICAgICAgIGNsb3NlT25OYXZpZ2F0aW9uOiB0cnVlXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmJlZm9yZUNsb3NlZCgpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChkZWxldGVTaGFyZWRMaW5rKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGRlbGV0ZVNoYXJlZExpbmspIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWxldGVTaGFyZWRMaW5rKHRoaXMuc2hhcmVkSWQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNGaWxlU2hhcmVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNyZWF0ZVNoYXJlZExpbmtzKG5vZGVJZDogc3RyaW5nLCBzaGFyZWRMaW5rV2l0aEV4cGlyeVNldHRpbmdzPzogU2hhcmVkTGlua0JvZHlDcmVhdGUpIHtcbiAgICAgICAgdGhpcy5pc0Rpc2FibGVkID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLnNoYXJlZExpbmtzQXBpU2VydmljZS5jcmVhdGVTaGFyZWRMaW5rcyhub2RlSWQsIHNoYXJlZExpbmtXaXRoRXhwaXJ5U2V0dGluZ3MpLnN1YnNjcmliZShcbiAgICAgICAgICAgIChzaGFyZWRMaW5rKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHNoYXJlZExpbmsuZW50cnkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaGFyZWRJZCA9IHNoYXJlZExpbmsuZW50cnkuaWQ7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmRhdGEubm9kZS5lbnRyeS5wcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGEubm9kZS5lbnRyeS5wcm9wZXJ0aWVzWydxc2hhcmU6c2hhcmVkSWQnXSA9IHRoaXMuc2hhcmVkSWQ7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGEubm9kZS5lbnRyeS5wcm9wZXJ0aWVzID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdxc2hhcmU6c2hhcmVkSWQnOiB0aGlzLnNoYXJlZElkXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRmlsZVNoYXJlZCA9IHRydWU7XG5cbiAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGl0aW9uU2VydmljZS5nZXROb2RlUmVuZGl0aW9uKHRoaXMuZGF0YS5ub2RlLmVudHJ5LmlkKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUZvcm0oKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNGaWxlU2hhcmVkID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZGVsZXRlU2hhcmVkTGluayhzaGFyZWRJZDogc3RyaW5nLCBkaWFsb2dPcGVuRmxhZz86IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5pc0Rpc2FibGVkID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLnNoYXJlZExpbmtzQXBpU2VydmljZS5kZWxldGVTaGFyZWRMaW5rKHNoYXJlZElkKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmIChyZXNwb25zZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0Rpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0ZpbGVTaGFyZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlRXJyb3IocmVzcG9uc2UpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kYXRhLm5vZGUuZW50cnkucHJvcGVydGllcykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGEubm9kZS5lbnRyeS5wcm9wZXJ0aWVzWydxc2hhcmU6c2hhcmVkSWQnXSA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YS5ub2RlLmVudHJ5LnByb3BlcnRpZXNbJ3FzaGFyZTpleHBpcnlEYXRlJ10gPSBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoZGlhbG9nT3BlbkZsYWcpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVTaGFyZWRMaW5rcyh0aGlzLmRhdGEubm9kZS5lbnRyeS5pZCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNFeHBpcnlEYXRlVG9nZ2xlQ2hlY2tlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTGlua1dpdGhFeHBpcnlEYXRlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoZmFsc2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVFcnJvcihlcnJvcjogRXJyb3IpIHtcbiAgICAgICAgbGV0IG1lc3NhZ2UgPSAnU0hBUkUuVU5TSEFSRV9FUlJPUic7XG4gICAgICAgIGxldCBzdGF0dXNDb2RlID0gMDtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgc3RhdHVzQ29kZSA9IEpTT04ucGFyc2UoZXJyb3IubWVzc2FnZSkuZXJyb3Iuc3RhdHVzQ29kZTtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAvKiBlbXB0eSAqL1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHN0YXR1c0NvZGUgPT09IDQwMykge1xuICAgICAgICAgICAgbWVzc2FnZSA9ICdTSEFSRS5VTlNIQVJFX1BFUk1JU1NJT05fRVJST1InO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zaGFyZWRMaW5rc0FwaVNlcnZpY2UuZXJyb3IubmV4dCh7XG4gICAgICAgICAgICBzdGF0dXNDb2RlLFxuICAgICAgICAgICAgbWVzc2FnZVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZUZvcm0oKTogRGF0ZSB7XG4gICAgICAgIGNvbnN0IHsgZW50cnkgfSA9IHRoaXMuZGF0YS5ub2RlO1xuICAgICAgICBsZXQgZXhwaXJ5RGF0ZSA9IG51bGw7XG5cbiAgICAgICAgaWYgKGVudHJ5Py5wcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICBleHBpcnlEYXRlID0gZW50cnkucHJvcGVydGllc1sncXNoYXJlOmV4cGlyeURhdGUnXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZm9ybS5zZXRWYWx1ZShcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBzaGFyZWRVcmw6IGAke3RoaXMuYmFzZVNoYXJlVXJsfSR7dGhpcy5zaGFyZWRJZH1gLFxuICAgICAgICAgICAgICAgIHRpbWU6IGV4cGlyeURhdGUgPyBuZXcgRGF0ZShleHBpcnlEYXRlKSA6IG51bGxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7IGVtaXRFdmVudDogZmFsc2UgfVxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiBleHBpcnlEYXRlO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlTm9kZShkYXRlOiBEYXRlKSB7XG4gICAgICAgIGxldCBleHBpcnlEYXRlOiBEYXRlIHwgc3RyaW5nO1xuICAgICAgICBpZiAoZGF0ZSkge1xuICAgICAgICAgICAgZXhwaXJ5RGF0ZSA9IGZvcm1hdChlbmRPZkRheShuZXcgRGF0ZShkYXRlKSksIGB5eXl5LU1NLWRkJ1QnSEg6bW06c3MuU1NTeHhgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGV4cGlyeURhdGUgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc2hhcmVkSWQgJiYgZXhwaXJ5RGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5pc0Rpc2FibGVkID0gdHJ1ZTtcblxuICAgICAgICAgICAgdGhpcy5zaGFyZWRMaW5rc0FwaVNlcnZpY2UuZGVsZXRlU2hhcmVkTGluayh0aGlzLnNoYXJlZElkKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVzcG9uc2UgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0ZpbGVTaGFyZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKHJlc3BvbnNlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNoYXJlZExpbmtXaXRoRXhwaXJ5U2V0dGluZ3MoZXhwaXJ5RGF0ZSBhcyBEYXRlKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xpbmtXaXRoRXhwaXJ5RGF0ZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlRW50cnlFeHBpcnlEYXRlKGRhdGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzaGFyZWRMaW5rV2l0aEV4cGlyeVNldHRpbmdzKGV4cGlyeURhdGU6IERhdGUpIHtcbiAgICAgICAgY29uc3Qgbm9kZU9iamVjdDogU2hhcmVkTGlua0JvZHlDcmVhdGUgPSB7XG4gICAgICAgICAgICBub2RlSWQ6IHRoaXMuZGF0YS5ub2RlLmVudHJ5LmlkLFxuICAgICAgICAgICAgZXhwaXJlc0F0OiBleHBpcnlEYXRlIGFzIERhdGVcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5jcmVhdGVTaGFyZWRMaW5rcyh0aGlzLmRhdGEubm9kZS5lbnRyeS5pZCwgbm9kZU9iamVjdCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVFbnRyeUV4cGlyeURhdGUoZGF0ZTogRGF0ZSkge1xuICAgICAgICBjb25zdCB7IHByb3BlcnRpZXMgfSA9IHRoaXMuZGF0YS5ub2RlLmVudHJ5O1xuXG4gICAgICAgIGlmIChwcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICBwcm9wZXJ0aWVzWydxc2hhcmU6ZXhwaXJ5RGF0ZSddID0gZGF0ZSA/IG5ldyBEYXRlKGRhdGUpIDogbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhZGYtc2hhcmUtbGlua19fZGlhbG9nLWNvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWRmLXNoYXJlLWxpbmtfX2RpYWxvZy1jb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1zaGFyZS1saW5rLS1oZWFkZXIgYWRmLXNoYXJlLWxpbmstLXJvd1wiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi1zaGFyZS1kaWFsb2ctdGl0bGVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXNoYXJlLWxpbmtfX3RpdGxlIGFkZi1zaGFyZS1saW5rX19sYWJlbCBhZGYtc2hhcmUtbGlua19faGVhZGluZ1wiXG4gICAgICAgICAgICAgICAgcm9sZT1cImhlYWRpbmdcIlxuICAgICAgICAgICAgICAgIGFyaWEtbGV2ZWw9XCIxXCI+XG4gICAgICAgICAgICAgICAge3sgJ1NIQVJFLkRJQUxPRy1USVRMRScgfCB0cmFuc2xhdGUgfX0ge3sgZmlsZU5hbWUgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG1hdC1pY29uIG1hdC1kaWFsb2ctY2xvc2UgY2xhc3M9XCJhZGYtc2hhcmUtbGlua19fY2xvc2UgYWRmLXNoYXJlLWxpbmtfX2ljb25cIj5jbG9zZTwvbWF0LWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8bWF0LWRpYWxvZy1jb250ZW50IGNsYXNzPVwiYWRmLXNoYXJlLWxpbmstLWRpYWxvZy1jb250ZW50XCI+XG4gICAgICAgICAgICA8aHIgY2xhc3M9XCJhZGYtc2hhcmUtbGlua19fc2VwYXJhdGlvbi1saW5lXCIgLz5cbiAgICAgICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiYWRmLXNoYXJlLWxpbmtfX2Zvcm1cIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLXNoYXJlLWxpbmstLXJvdyBhZGYtc2hhcmUtbGluay0tcm93LXNoYXJhYmxlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImFkZi1zaGFyZS1saW5rX19pY29uXCI+dGltZXI8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLXNoYXJlLWxpbmtfX2xhYmVsIGFkZi1zaGFyYWJsZS1saW5rXCI+e3sgJ1NIQVJFLkxJTkstRVhQSVJZLURBVEUnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZVxuICAgICAgICAgICAgICAgICAgICAgICAgI3NsaWRlVG9nZ2xlRXhwaXJhdGlvbkRhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhY2FuVXBkYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtZXhwaXJlLXRvZ2dsZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwie3sgJ1NIQVJFLkVYUElSRVMnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cIiEhdGltZS52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uVG9nZ2xlRXhwaXJhdGlvbkRhdGUoJGV2ZW50KVwiIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBbc3R5bGUuZGlzcGxheV09XCJpc0V4cGlyeURhdGVUb2dnbGVDaGVja2VkID8gJ2Jsb2NrJyA6ICdub25lJ1wiXG4gICAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi1zbGlkZS10b2dnbGUtY2hlY2tlZFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXNoYXJlLWxpbmtfX2RhdGUtdGltZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiYWRmLWZ1bGwtd2lkdGhcIiBzdWJzY3JpcHRTaXppbmc9XCJkeW5hbWljXCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLWNvbnRlbnQtc2hhcmUtZXhwaXJhdGlvbi1maWVsZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD57eyAnU0hBUkUuRVhQSVJBVElPTi1QTEFDRUhPTERFUicgfCB0cmFuc2xhdGUgfX08L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwidGltZS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcl09XCJkYXRlUGlja2VyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1zaGFyZS1saW5rX19pY29uIGFkZi1zaGFyZS1saW5rX19jYWxlbmRlci1pY29uXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZGF0ZXBpY2tlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICNkYXRlUGlja2VyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsb3NlZCk9XCJvbkRhdGVQaWNrZXJDbG9zZWQoKVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1zaGFyZS1saW5rX19pbnB1dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgI2RhdGVQaWNrZXJJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInU0hBUkUuRVhQSVJBVElPTi1MQUJFTCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttaW5dPVwibWluRGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidGltZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwicHJldmVudEluY29ycmVjdENoYXJhY3RlcnMoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGJsdXIpPVwib25UaW1lQ2hhbmdlZCgpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJkYXRlUGlja2VySW5wdXQuYmx1cigpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF0RGF0ZXBpY2tlcl09XCJkYXRlUGlja2VyXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cInRpbWUuZXJyb3JzPy5bJ2ludmFsaWREYXRlJ10gJiYgKHRpbWUuZGlydHkgfHwgdGltZS50b3VjaGVkKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi1zaGFyZS1saW5rLWlucHV0LXdhcm5pbmdcIj57eyAnU0hBUkUuSU5WQUxJRF9EQVRFX0VSUk9SJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWVycm9yPlxuICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiYWRmLXNoYXJlLWxpbmtfX2luZm8gYWRmLXNoYXJlLWxpbmtfX3BhcmFcIj57eyAnU0hBUkUuU0hBUkUtTElOSycgfCB0cmFuc2xhdGUgfX08L3A+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1zaGFyZS1saW5rLS1yb3cgYWRmLXNoYXJlLWxpbmstLXNoYXJhYmxlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZVxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi1zaGFyZS10b2dnbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtc2hhcmUtbGluay0tcm93X19zbGlkZS10b2dnbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cInt7ICdTSEFSRS5USVRMRScgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiaXNGaWxlU2hhcmVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIhY2FuVXBkYXRlIHx8IGlzRGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvblNsaWRlU2hhcmVDaGFuZ2UoJGV2ZW50KVwiIC8+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtc2hhcmUtbGlua19fbGFiZWwgYWRmLXNoYXJhYmxlLWxpbmtcIj57eyAnU0hBUkUuU0hBUkFCTEUtTElOSy1DUkVBVEVEJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGRcbiAgICAgICAgICAgICAgICAgICAgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiXG4gICAgICAgICAgICAgICAgICAgIGZsb2F0TGFiZWw9XCJhbHdheXNcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1mdWxsLXdpZHRoIGFkZi1zaGFyZS1saW5rX19mb3JtLS1maWVsZFwiXG4gICAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi1jb250ZW50LXNoYXJlLXB1YmxpYy1saW5rLWZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiaXNMaW5rV2l0aEV4cGlyeURhdGU/ICdhZGYtc2hhcmUtbGlua19fYm9yZGVyLWNvbG9yJyA6ICcnXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgI3NoYXJlZExpbmtJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLXNoYXJlLWxpbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtc2hhcmUtbGlua19faW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgbWF0SW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ1NIQVJFLlBVQkxJQy1MSU5LJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidTSEFSRS5QVUJMSUMtTElOSycgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic2hhcmVkVXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRvbmx5PVwicmVhZG9ubHlcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1pbnB1dC1hY3Rpb24gYWRmLXNoYXJlLWxpbmtfX2ljb24gYWRmLXNoYXJlLWxpbmtfX2NvcHktaWNvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdFN1ZmZpeFxuICAgICAgICAgICAgICAgICAgICAgICAgW2NsaXBib2FyZC1ub3RpZmljYXRpb25dPVwiJ1NIQVJFLkNMSVBCT0FSRC1NRVNTQUdFJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYWRmLWNsaXBib2FyZF1cbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NIQVJFLkNPUFlfQlVUVE9OX0xBQkVMJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbdGFyZ2V0XT1cInNoYXJlZExpbmtJbnB1dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0YWJpbmRleD1cIjBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRfY29weVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJhZGYtc2hhcmUtbGlua19fd2FybiBhZGYtc2hhcmUtbGlua19fcGFyYVwiICpuZ0lmPVwiaXNMaW5rV2l0aEV4cGlyeURhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgJ1NIQVJFLkxJTkstV0lUSC1FWFBJUlktU0VUVElOR1MnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtc2hhcmUtbGluay0tcm93XCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImFkZi1zaGFyZS1saW5rX19pY29uXCI+cHVibGljPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPHBcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXNoYXJlLWxpbmtfX2luZm8gYWRmLXNoYXJhYmxlLWxpbmsgYWRmLXNoYXJlLWxpbmtfX3B1YmxpYy1jb250ZW50IGFkZi1zaGFyZS1saW5rX19wYXJhXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAnU0hBUkUuUFVCTElDLUNPTlRFTlQnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgICAgIDxociBjbGFzcz1cImFkZi1zaGFyZS1saW5rX19zZXBhcmF0aW9uLWxpbmVcIiAvPlxuICAgICAgICA8L21hdC1kaWFsb2ctY29udGVudD5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1zaGFyZS1saW5rX19hY3Rpb25zXCIgbWF0LWRpYWxvZy1hY3Rpb25zPlxuICAgICAgICAgICAgPGJ1dHRvbiBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtc2hhcmUtZGlhbG9nLWNsb3NlXCIgbWF0LWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBtYXQtZGlhbG9nLWNsb3NlPlxuICAgICAgICAgICAgICAgIHt7ICdTSEFSRS5DTE9TRScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
287
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1ub2RlLXNoYXJlLmRpYWxvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvY29udGVudC1ub2RlLXNoYXJlL2NvbnRlbnQtbm9kZS1zaGFyZS5kaWFsb2cudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL2NvbnRlbnQtbm9kZS1zaGFyZS9jb250ZW50LW5vZGUtc2hhcmUuZGlhbG9nLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRyxPQUFPLEVBQXdCLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWhGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9B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TUFBTTsyQkFBQyxlQUFlO3lDQVAzQix5QkFBeUI7c0JBRHhCLFNBQVM7dUJBQUMsMkJBQTJCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZywgTWF0RGlhbG9nTW9kdWxlLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVDaGFuZ2UsIE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb250ZW50U2VydmljZSB9IGZyb20gJy4uL2NvbW1vbi9zZXJ2aWNlcy9jb250ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2hhcmVkTGlua3NBcGlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9zaGFyZWQtbGlua3MtYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2hhcmVkTGlua0JvZHlDcmVhdGUgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IENsaXBib2FyZERpcmVjdGl2ZSwgQ29uZmlybURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBDb250ZW50Tm9kZVNoYXJlU2V0dGluZ3MgfSBmcm9tICcuL2NvbnRlbnQtbm9kZS1zaGFyZS5zZXR0aW5ncyc7XG5pbXBvcnQgeyBSZW5kaXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL3NlcnZpY2VzL3JlbmRpdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IGFkZCwgZW5kT2ZEYXksIGZvcm1hdCwgaXNCZWZvcmUgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbmludGVyZmFjZSBTaGFyZWREaWFsb2dGb3JtUHJvcHMge1xuICAgIHNoYXJlZFVybDogRm9ybUNvbnRyb2w8c3RyaW5nPjtcbiAgICB0aW1lOiBGb3JtQ29udHJvbDxEYXRlPjtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtc2hhcmUtZGlhbG9nJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVQaXBlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLFxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgICAgIE1hdElucHV0TW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIENsaXBib2FyZERpcmVjdGl2ZVxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbnRlbnQtbm9kZS1zaGFyZS5kaWFsb2cuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY29udGVudC1ub2RlLXNoYXJlLmRpYWxvZy5zY3NzJ10sXG4gICAgaG9zdDogeyBjbGFzczogJ2FkZi1zaGFyZS1kaWFsb2cnIH0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBTaGFyZURpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHJpdmF0ZSBtaW5EYXRlVmFsaWRhdG9yID0gKGNvbnRyb2w6IEZvcm1Db250cm9sPERhdGU+KTogYW55ID0+XG4gICAgICAgIGlzQmVmb3JlKGVuZE9mRGF5KG5ldyBEYXRlKGNvbnRyb2wudmFsdWUpKSwgdGhpcy5taW5EYXRlKSA/IHsgaW52YWxpZERhdGU6IHRydWUgfSA6IG51bGw7XG5cbiAgICBtaW5EYXRlID0gYWRkKG5ldyBEYXRlKCksIHsgZGF5czogMSB9KTtcbiAgICBzaGFyZWRJZDogc3RyaW5nO1xuICAgIGZpbGVOYW1lOiBzdHJpbmc7XG4gICAgYmFzZVNoYXJlVXJsOiBzdHJpbmc7XG4gICAgaXNGaWxlU2hhcmVkID0gZmFsc2U7XG4gICAgaXNEaXNhYmxlZCA9IGZhbHNlO1xuICAgIGlzTGlua1dpdGhFeHBpcnlEYXRlID0gZmFsc2U7XG4gICAgZm9ybSA9IG5ldyBGb3JtR3JvdXA8U2hhcmVkRGlhbG9nRm9ybVByb3BzPih7XG4gICAgICAgIHNoYXJlZFVybDogbmV3IEZvcm1Db250cm9sKCcnKSxcbiAgICAgICAgdGltZTogbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6IG51bGwsIGRpc2FibGVkOiB0cnVlIH0sIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCB0aGlzLm1pbkRhdGVWYWxpZGF0b3JdKVxuICAgIH0pO1xuICAgIGlzRXhwaXJ5RGF0ZVRvZ2dsZUNoZWNrZWQ6IGJvb2xlYW47XG5cbiAgICBAVmlld0NoaWxkKCdzbGlkZVRvZ2dsZUV4cGlyYXRpb25EYXRlJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgICBzbGlkZVRvZ2dsZUV4cGlyYXRpb25EYXRlO1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHNoYXJlZExpbmtzQXBpU2VydmljZTogU2hhcmVkTGlua3NBcGlTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFNoYXJlRGlhbG9nQ29tcG9uZW50PixcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICAgICAgcHJpdmF0ZSBjb250ZW50U2VydmljZTogQ29udGVudFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVuZGl0aW9uU2VydmljZTogUmVuZGl0aW9uU2VydmljZSxcbiAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBDb250ZW50Tm9kZVNoYXJlU2V0dGluZ3NcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YS5ub2RlPy5lbnRyeSkge1xuICAgICAgICAgICAgdGhpcy5maWxlTmFtZSA9IHRoaXMuZGF0YS5ub2RlLmVudHJ5Lm5hbWU7XG4gICAgICAgICAgICB0aGlzLmJhc2VTaGFyZVVybCA9IHRoaXMuZGF0YS5iYXNlU2hhcmVVcmw7XG5cbiAgICAgICAgICAgIGNvbnN0IHByb3BlcnRpZXMgPSB0aGlzLmRhdGEubm9kZS5lbnRyeS5wcm9wZXJ0aWVzO1xuXG4gICAgICAgICAgICBpZiAoIXByb3BlcnRpZXM/LlsncXNoYXJlOnNoYXJlZElkJ10pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVNoYXJlZExpbmtzKHRoaXMuZGF0YS5ub2RlLmVudHJ5LmlkKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zaGFyZWRJZCA9IHByb3BlcnRpZXNbJ3FzaGFyZTpzaGFyZWRJZCddO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNGaWxlU2hhcmVkID0gdHJ1ZTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGV4cGlyeURhdGUgPSB0aGlzLnVwZGF0ZUZvcm0oKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzRXhwaXJ5RGF0ZVRvZ2dsZUNoZWNrZWQgPSB0aGlzLmlzTGlua1dpdGhFeHBpcnlEYXRlID0gISFleHBpcnlEYXRlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMaW5rV2l0aEV4cGlyeURhdGUgPyB0aGlzLnRpbWUuZW5hYmxlKCkgOiB0aGlzLnRpbWUuZGlzYWJsZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25UaW1lQ2hhbmdlZCgpIHtcbiAgICAgICAgaWYgKHRoaXMudGltZS52YWxpZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVOb2RlKHRoaXMudGltZS52YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgdGltZSgpOiBGb3JtQ29udHJvbDxEYXRlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm0uY29udHJvbHNbJ3RpbWUnXTtcbiAgICB9XG4gICAgb25TbGlkZVNoYXJlQ2hhbmdlKGV2ZW50OiBNYXRTbGlkZVRvZ2dsZUNoYW5nZSkge1xuICAgICAgICBpZiAoZXZlbnQuY2hlY2tlZCkge1xuICAgICAgICAgICAgdGhpcy5jcmVhdGVTaGFyZWRMaW5rcyh0aGlzLmRhdGEubm9kZS5lbnRyeS5pZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9wZW5Db25maXJtYXRpb25EaWFsb2coKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBjYW5VcGRhdGUoKSB7XG4gICAgICAgIGNvbnN0IHsgZW50cnkgfSA9IHRoaXMuZGF0YS5ub2RlO1xuXG4gICAgICAgIGlmIChlbnRyeT8uYWxsb3dhYmxlT3BlcmF0aW9ucykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudFNlcnZpY2UuaGFzQWxsb3dhYmxlT3BlcmF0aW9ucyhlbnRyeSwgJ3VwZGF0ZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgb25Ub2dnbGVFeHBpcmF0aW9uRGF0ZShzbGlkZVRvZ2dsZTogTWF0U2xpZGVUb2dnbGVDaGFuZ2UpIHtcbiAgICAgICAgaWYgKHNsaWRlVG9nZ2xlLmNoZWNrZWQpIHtcbiAgICAgICAgICAgIHRoaXMudGltZS5lbmFibGUoKTtcbiAgICAgICAgICAgIHRoaXMuaXNFeHBpcnlEYXRlVG9nZ2xlQ2hlY2tlZCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRpbWUuZGlzYWJsZSgpO1xuICAgICAgICAgICAgdGhpcy50aW1lLnNldFZhbHVlKG51bGwpO1xuICAgICAgICAgICAgdGhpcy5kZWxldGVTaGFyZWRMaW5rKHRoaXMuc2hhcmVkSWQsIHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25EYXRlUGlja2VyQ2xvc2VkKCkge1xuICAgICAgICB0aGlzLm9uVGltZUNoYW5nZWQoKTtcbiAgICAgICAgaWYgKCF0aGlzLnRpbWUudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2xpZGVUb2dnbGVFeHBpcmF0aW9uRGF0ZS5jaGVja2VkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcmV2ZW50SW5jb3JyZWN0Q2hhcmFjdGVycyhlOiBLZXlib2FyZEV2ZW50KTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHJlZ2V4ID0gL1teXFxkLy4tXS87XG4gICAgICAgIHJldHVybiBlLmtleS5sZW5ndGggPT09IDEgPyAhcmVnZXgudGVzdChlLmtleSkgOiB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgb3BlbkNvbmZpcm1hdGlvbkRpYWxvZygpIHtcbiAgICAgICAgdGhpcy5pc0ZpbGVTaGFyZWQgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLmRpYWxvZ1xuICAgICAgICAgICAgLm9wZW4oQ29uZmlybURpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdTSEFSRS5DT05GSVJNQVRJT04uRElBTE9HLVRJVExFJyxcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ1NIQVJFLkNPTkZJUk1BVElPTi5NRVNTQUdFJyxcbiAgICAgICAgICAgICAgICAgICAgeWVzTGFiZWw6ICdTSEFSRS5DT05GSVJNQVRJT04uUkVNT1ZFJyxcbiAgICAgICAgICAgICAgICAgICAgbm9MYWJlbDogJ1NIQVJFLkNPTkZJUk1BVElPTi5DQU5DRUwnXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBtaW5XaWR0aDogJzI1MHB4JyxcbiAgICAgICAgICAgICAgICBjbG9zZU9uTmF2aWdhdGlvbjogdHJ1ZVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5iZWZvcmVDbG9zZWQoKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZGVsZXRlU2hhcmVkTGluaykgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChkZWxldGVTaGFyZWRMaW5rKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVsZXRlU2hhcmVkTGluayh0aGlzLnNoYXJlZElkKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRmlsZVNoYXJlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVTaGFyZWRMaW5rcyhub2RlSWQ6IHN0cmluZywgc2hhcmVkTGlua1dpdGhFeHBpcnlTZXR0aW5ncz86IFNoYXJlZExpbmtCb2R5Q3JlYXRlKSB7XG4gICAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5zaGFyZWRMaW5rc0FwaVNlcnZpY2UuY3JlYXRlU2hhcmVkTGlua3Mobm9kZUlkLCBzaGFyZWRMaW5rV2l0aEV4cGlyeVNldHRpbmdzKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAoc2hhcmVkTGluaykgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChzaGFyZWRMaW5rLmVudHJ5KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2hhcmVkSWQgPSBzaGFyZWRMaW5rLmVudHJ5LmlkO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5kYXRhLm5vZGUuZW50cnkucHJvcGVydGllcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhLm5vZGUuZW50cnkucHJvcGVydGllc1sncXNoYXJlOnNoYXJlZElkJ10gPSB0aGlzLnNoYXJlZElkO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhLm5vZGUuZW50cnkucHJvcGVydGllcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncXNoYXJlOnNoYXJlZElkJzogdGhpcy5zaGFyZWRJZFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0ZpbGVTaGFyZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRpdGlvblNlcnZpY2UuZ2V0Tm9kZVJlbmRpdGlvbih0aGlzLmRhdGEubm9kZS5lbnRyeS5pZCk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVGb3JtKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzRmlsZVNoYXJlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGRlbGV0ZVNoYXJlZExpbmsoc2hhcmVkSWQ6IHN0cmluZywgZGlhbG9nT3BlbkZsYWc/OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5zaGFyZWRMaW5rc0FwaVNlcnZpY2UuZGVsZXRlU2hhcmVkTGluayhzaGFyZWRJZCkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzcG9uc2UgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNGaWxlU2hhcmVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKHJlc3BvbnNlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS5ub2RlLmVudHJ5LnByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhLm5vZGUuZW50cnkucHJvcGVydGllc1sncXNoYXJlOnNoYXJlZElkJ10gPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGEubm9kZS5lbnRyeS5wcm9wZXJ0aWVzWydxc2hhcmU6ZXhwaXJ5RGF0ZSddID0gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGRpYWxvZ09wZW5GbGFnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlU2hhcmVkTGlua3ModGhpcy5kYXRhLm5vZGUuZW50cnkuaWQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRXhwaXJ5RGF0ZVRvZ2dsZUNoZWNrZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xpbmtXaXRoRXhwaXJ5RGF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlRXJyb3IoZXJyb3I6IEVycm9yKSB7XG4gICAgICAgIGxldCBtZXNzYWdlID0gJ1NIQVJFLlVOU0hBUkVfRVJST1InO1xuICAgICAgICBsZXQgc3RhdHVzQ29kZSA9IDA7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHN0YXR1c0NvZGUgPSBKU09OLnBhcnNlKGVycm9yLm1lc3NhZ2UpLmVycm9yLnN0YXR1c0NvZGU7XG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgLyogZW1wdHkgKi9cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzdGF0dXNDb2RlID09PSA0MDMpIHtcbiAgICAgICAgICAgIG1lc3NhZ2UgPSAnU0hBUkUuVU5TSEFSRV9QRVJNSVNTSU9OX0VSUk9SJztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2hhcmVkTGlua3NBcGlTZXJ2aWNlLmVycm9yLm5leHQoe1xuICAgICAgICAgICAgc3RhdHVzQ29kZSxcbiAgICAgICAgICAgIG1lc3NhZ2VcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVGb3JtKCk6IERhdGUge1xuICAgICAgICBjb25zdCB7IGVudHJ5IH0gPSB0aGlzLmRhdGEubm9kZTtcbiAgICAgICAgbGV0IGV4cGlyeURhdGUgPSBudWxsO1xuXG4gICAgICAgIGlmIChlbnRyeT8ucHJvcGVydGllcykge1xuICAgICAgICAgICAgZXhwaXJ5RGF0ZSA9IGVudHJ5LnByb3BlcnRpZXNbJ3FzaGFyZTpleHBpcnlEYXRlJ107XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmZvcm0uc2V0VmFsdWUoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgc2hhcmVkVXJsOiBgJHt0aGlzLmJhc2VTaGFyZVVybH0ke3RoaXMuc2hhcmVkSWR9YCxcbiAgICAgICAgICAgICAgICB0aW1lOiBleHBpcnlEYXRlID8gbmV3IERhdGUoZXhwaXJ5RGF0ZSkgOiBudWxsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgeyBlbWl0RXZlbnQ6IGZhbHNlIH1cbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gZXhwaXJ5RGF0ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZU5vZGUoZGF0ZTogRGF0ZSkge1xuICAgICAgICBsZXQgZXhwaXJ5RGF0ZTogRGF0ZSB8IHN0cmluZztcbiAgICAgICAgaWYgKGRhdGUpIHtcbiAgICAgICAgICAgIGV4cGlyeURhdGUgPSBmb3JtYXQoZW5kT2ZEYXkobmV3IERhdGUoZGF0ZSkpLCBgeXl5eS1NTS1kZCdUJ0hIOm1tOnNzLlNTU3h4YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBleHBpcnlEYXRlID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnNoYXJlZElkICYmIGV4cGlyeURhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IHRydWU7XG5cbiAgICAgICAgICAgIHRoaXMuc2hhcmVkTGlua3NBcGlTZXJ2aWNlLmRlbGV0ZVNoYXJlZExpbmsodGhpcy5zaGFyZWRJZCkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0Rpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNGaWxlU2hhcmVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihyZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaGFyZWRMaW5rV2l0aEV4cGlyeVNldHRpbmdzKGV4cGlyeURhdGUgYXMgRGF0ZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMaW5rV2l0aEV4cGlyeURhdGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUVudHJ5RXhwaXJ5RGF0ZShkYXRlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2hhcmVkTGlua1dpdGhFeHBpcnlTZXR0aW5ncyhleHBpcnlEYXRlOiBEYXRlKSB7XG4gICAgICAgIGNvbnN0IG5vZGVPYmplY3Q6IFNoYXJlZExpbmtCb2R5Q3JlYXRlID0ge1xuICAgICAgICAgICAgbm9kZUlkOiB0aGlzLmRhdGEubm9kZS5lbnRyeS5pZCxcbiAgICAgICAgICAgIGV4cGlyZXNBdDogZXhwaXJ5RGF0ZSBhcyBEYXRlXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuY3JlYXRlU2hhcmVkTGlua3ModGhpcy5kYXRhLm5vZGUuZW50cnkuaWQsIG5vZGVPYmplY3QpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlRW50cnlFeHBpcnlEYXRlKGRhdGU6IERhdGUpIHtcbiAgICAgICAgY29uc3QgeyBwcm9wZXJ0aWVzIH0gPSB0aGlzLmRhdGEubm9kZS5lbnRyeTtcblxuICAgICAgICBpZiAocHJvcGVydGllcykge1xuICAgICAgICAgICAgcHJvcGVydGllc1sncXNoYXJlOmV4cGlyeURhdGUnXSA9IGRhdGUgPyBuZXcgRGF0ZShkYXRlKSA6IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYWRmLXNoYXJlLWxpbmtfX2RpYWxvZy1jb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cImFkZi1zaGFyZS1saW5rX19kaWFsb2ctY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtc2hhcmUtbGluay0taGVhZGVyIGFkZi1zaGFyZS1saW5rLS1yb3dcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtc2hhcmUtZGlhbG9nLXRpdGxlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1zaGFyZS1saW5rX190aXRsZSBhZGYtc2hhcmUtbGlua19fbGFiZWwgYWRmLXNoYXJlLWxpbmtfX2hlYWRpbmdcIlxuICAgICAgICAgICAgICAgIHJvbGU9XCJoZWFkaW5nXCJcbiAgICAgICAgICAgICAgICBhcmlhLWxldmVsPVwiMVwiPlxuICAgICAgICAgICAgICAgIHt7ICdTSEFSRS5ESUFMT0ctVElUTEUnIHwgdHJhbnNsYXRlIH19IHt7IGZpbGVOYW1lIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBtYXQtZGlhbG9nLWNsb3NlIGNsYXNzPVwiYWRmLXNoYXJlLWxpbmtfX2Nsb3NlIGFkZi1zaGFyZS1saW5rX19pY29uXCI+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cImFkZi1zaGFyZS1saW5rLS1kaWFsb2ctY29udGVudFwiPlxuICAgICAgICAgICAgPGhyIGNsYXNzPVwiYWRmLXNoYXJlLWxpbmtfX3NlcGFyYXRpb24tbGluZVwiIC8+XG4gICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImFkZi1zaGFyZS1saW5rX19mb3JtXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1zaGFyZS1saW5rLS1yb3cgYWRmLXNoYXJlLWxpbmstLXJvdy1zaGFyYWJsZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJhZGYtc2hhcmUtbGlua19faWNvblwiPnRpbWVyPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1zaGFyZS1saW5rX19sYWJlbCBhZGYtc2hhcmFibGUtbGlua1wiPnt7ICdTSEFSRS5MSU5LLUVYUElSWS1EQVRFJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICNzbGlkZVRvZ2dsZUV4cGlyYXRpb25EYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWNhblVwZGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLWV4cGlyZS10b2dnbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cInt7ICdTSEFSRS5FWFBJUkVTJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCIhIXRpbWUudmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvblRvZ2dsZUV4cGlyYXRpb25EYXRlKCRldmVudClcIiAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwiaXNFeHBpcnlEYXRlVG9nZ2xlQ2hlY2tlZCA/ICdibG9jaycgOiAnbm9uZSdcIlxuICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtc2xpZGUtdG9nZ2xlLWNoZWNrZWRcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1zaGFyZS1saW5rX19kYXRlLXRpbWUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFkZi1mdWxsLXdpZHRoXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi1jb250ZW50LXNoYXJlLWV4cGlyYXRpb24tZmllbGRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgJ1NIQVJFLkVYUElSQVRJT04tUExBQ0VIT0xERVInIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInRpbWUuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JdPVwiZGF0ZVBpY2tlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtc2hhcmUtbGlua19faWNvbiBhZGYtc2hhcmUtbGlua19fY2FsZW5kZXItaWNvblwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWRhdGVwaWNrZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZGF0ZVBpY2tlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbG9zZWQpPVwib25EYXRlUGlja2VyQ2xvc2VkKClcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtc2hhcmUtbGlua19faW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICNkYXRlUGlja2VySW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NIQVJFLkVYUElSQVRJT04tTEFCRUwnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWluXT1cIm1pbkRhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInRpbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cInByZXZlbnRJbmNvcnJlY3RDaGFyYWN0ZXJzKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChibHVyKT1cIm9uVGltZUNoYW5nZWQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiZGF0ZVBpY2tlcklucHV0LmJsdXIoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdERhdGVwaWNrZXJdPVwiZGF0ZVBpY2tlclwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJ0aW1lLmVycm9ycz8uWydpbnZhbGlkRGF0ZSddICYmICh0aW1lLmRpcnR5IHx8IHRpbWUudG91Y2hlZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtc2hhcmUtbGluay1pbnB1dC13YXJuaW5nXCI+e3sgJ1NIQVJFLklOVkFMSURfREFURV9FUlJPUicgfCB0cmFuc2xhdGUgfX08L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImFkZi1zaGFyZS1saW5rX19pbmZvIGFkZi1zaGFyZS1saW5rX19wYXJhXCI+e3sgJ1NIQVJFLlNIQVJFLUxJTksnIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtc2hhcmUtbGluay0tcm93IGFkZi1zaGFyZS1saW5rLS1zaGFyYWJsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtc2hhcmUtdG9nZ2xlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXNoYXJlLWxpbmstLXJvd19fc2xpZGUtdG9nZ2xlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJ7eyAnU0hBUkUuVElUTEUnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImlzRmlsZVNoYXJlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWNhblVwZGF0ZSB8fCBpc0Rpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25TbGlkZVNoYXJlQ2hhbmdlKCRldmVudClcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLXNoYXJlLWxpbmtfX2xhYmVsIGFkZi1zaGFyYWJsZS1saW5rXCI+e3sgJ1NIQVJFLlNIQVJBQkxFLUxJTkstQ1JFQVRFRCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkXG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIlxuICAgICAgICAgICAgICAgICAgICBmbG9hdExhYmVsPVwiYWx3YXlzXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtZnVsbC13aWR0aCBhZGYtc2hhcmUtbGlua19fZm9ybS0tZmllbGRcIlxuICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtY29udGVudC1zaGFyZS1wdWJsaWMtbGluay1maWVsZFwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImlzTGlua1dpdGhFeHBpcnlEYXRlPyAnYWRmLXNoYXJlLWxpbmtfX2JvcmRlci1jb2xvcicgOiAnJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICNzaGFyZWRMaW5rSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi1zaGFyZS1saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXNoYXJlLWxpbmtfX2lucHV0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdTSEFSRS5QVUJMSUMtTElOSycgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInU0hBUkUuUFVCTElDLUxJTksnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInNoYXJlZFVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICByZWFkb25seT1cInJlYWRvbmx5XCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtaW5wdXQtYWN0aW9uIGFkZi1zaGFyZS1saW5rX19pY29uIGFkZi1zaGFyZS1saW5rX19jb3B5LWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGlwYm9hcmQtbm90aWZpY2F0aW9uXT1cIidTSEFSRS5DTElQQk9BUkQtTUVTU0FHRScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FkZi1jbGlwYm9hcmRdXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidTSEFSRS5DT1BZX0JVVFRPTl9MQUJFTCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RhcmdldF09XCJzaGFyZWRMaW5rSW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50X2NvcHlcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiYWRmLXNoYXJlLWxpbmtfX3dhcm4gYWRmLXNoYXJlLWxpbmtfX3BhcmFcIiAqbmdJZj1cImlzTGlua1dpdGhFeHBpcnlEYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdTSEFSRS5MSU5LLVdJVEgtRVhQSVJZLVNFVFRJTkdTJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLXNoYXJlLWxpbmstLXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJhZGYtc2hhcmUtbGlua19faWNvblwiPnB1YmxpYzwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxwXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1zaGFyZS1saW5rX19pbmZvIGFkZi1zaGFyYWJsZS1saW5rIGFkZi1zaGFyZS1saW5rX19wdWJsaWMtY29udGVudCBhZGYtc2hhcmUtbGlua19fcGFyYVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ1NIQVJFLlBVQkxJQy1DT05URU5UJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgICA8aHIgY2xhc3M9XCJhZGYtc2hhcmUtbGlua19fc2VwYXJhdGlvbi1saW5lXCIgLz5cbiAgICAgICAgPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtc2hhcmUtbGlua19fYWN0aW9uc1wiIG1hdC1kaWFsb2ctYWN0aW9ucz5cbiAgICAgICAgICAgIDxidXR0b24gZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLXNoYXJlLWRpYWxvZy1jbG9zZVwiIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgbWF0LWRpYWxvZy1jbG9zZT5cbiAgICAgICAgICAgICAgICB7eyAnU0hBUkUuQ0xPU0UnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -2,7 +2,7 @@ import { Component, Inject, ViewEncapsulation } from '@angular/core';
2
2
  import { MAT_DIALOG_DATA, MatDialogModule, MatDialogRef } from '@angular/material/dialog';
3
3
  import { ContentTypeService } from './content-type.service';
4
4
  import { CommonModule } from '@angular/common';
5
- import { TranslateModule } from '@ngx-translate/core';
5
+ import { TranslatePipe } from '@ngx-translate/core';
6
6
  import { MatExpansionModule } from '@angular/material/expansion';
7
7
  import { MatTableModule } from '@angular/material/table';
8
8
  import { MatButtonModule } from '@angular/material/button';
@@ -10,10 +10,9 @@ import * as i0 from "@angular/core";
10
10
  import * as i1 from "@angular/material/dialog";
11
11
  import * as i2 from "./content-type.service";
12
12
  import * as i3 from "@angular/common";
13
- import * as i4 from "@ngx-translate/core";
14
- import * as i5 from "@angular/material/expansion";
15
- import * as i6 from "@angular/material/table";
16
- import * as i7 from "@angular/material/button";
13
+ import * as i4 from "@angular/material/expansion";
14
+ import * as i5 from "@angular/material/table";
15
+ import * as i6 from "@angular/material/button";
17
16
  export class ContentTypeDialogComponent {
18
17
  constructor(dialog, data, contentTypeService) {
19
18
  this.dialog = dialog;
@@ -46,13 +45,13 @@ export class ContentTypeDialogComponent {
46
45
  this.close();
47
46
  }
48
47
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContentTypeDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.ContentTypeService }], target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ContentTypeDialogComponent, isStandalone: true, selector: "adf-content-type-dialog", ngImport: i0, template: "<div class=\"adf-content-type-dialog\">\n <h2 mat-dialog-title class=\"adf-content-type-dialog-title\" data-automation-id=\"content-type-dialog-title\">{{title |\n translate}}</h2>\n <mat-dialog-content class=\"mat-typography adf-content-type-dialog-content\"\n data-automation-id=\"content-type-dialog-content\">\n <h4 data-automation-id=\"content-type-dialog-description\">{{description | translate}}</h4>\n <p data-automation-id=\"content-type-dialog-confirm-message\">{{confirmMessage | translate}}</p>\n <mat-accordion>\n <mat-expansion-panel class=\"adf-content-type-accordion\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n {{'CORE.METADATA.CONTENT_TYPE.DIALOG.VIEW_DETAILS' | translate}}\n </mat-panel-title>\n </mat-expansion-panel-header>\n <table mat-table [dataSource]=\"typeProperties\"\n *ngIf=\"typeProperties?.length > 0\" class=\"adf-content-type-table\">\n <ng-container matColumnDef=\"name\">\n <th mat-header-cell *matHeaderCellDef> {{'CORE.METADATA.CONTENT_TYPE.DIALOG.PROPERTY.NAME' |\n translate}} </th>\n <td mat-cell *matCellDef=\"let property\"> {{property.id}} </td>\n </ng-container>\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef>\n {{'CORE.METADATA.CONTENT_TYPE.DIALOG.PROPERTY.DESCRIPTION' | translate}} </th>\n <td mat-cell *matCellDef=\"let property\"> {{property.title}} </td>\n </ng-container>\n <ng-container matColumnDef=\"dataType\">\n <th mat-header-cell *matHeaderCellDef> {{'CORE.METADATA.CONTENT_TYPE.DIALOG.PROPERTY.DATA_TYPE'\n | translate}} </th>\n <td mat-cell *matCellDef=\"let property\"> {{property.dataType}} </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"propertyColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: propertyColumns;\"></tr>\n </table>\n </mat-expansion-panel>\n </mat-accordion>\n </mat-dialog-content>\n <mat-dialog-actions align=\"end\">\n <button mat-button mat-dialog-close\n id=\"content-type-dialog-actions-cancel\">{{'CORE.METADATA.CONTENT_TYPE.DIALOG.CANCEL' | translate }}</button>\n <button mat-button class=\"adf-content-type-dialog-apply-button\" id=\"content-type-dialog-apply-button\"\n [mat-dialog-close]=\"true\" (click)=\"onApply()\">{{'CORE.METADATA.CONTENT_TYPE.DIALOG.APPLY' |\n translate}}</button>\n </mat-dialog-actions>\n</div>\n", styles: [".adf-content-type-dialog .adf-content-type-accordion{margin:10px}.adf-content-type-dialog-title{font-size:large;font-weight:200;margin-top:0}.adf-content-type-dialog-description{font-size:small;line-height:normal}.adf-content-type-table{width:100%}.adf-content-type-dialog-apply-button{color:var(--theme-primary-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "directive", type: i5.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i5.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i5.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i5.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i6.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i6.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i6.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i6.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i6.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i6.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i6.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i6.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i6.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i6.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None }); }
48
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ContentTypeDialogComponent, isStandalone: true, selector: "adf-content-type-dialog", ngImport: i0, template: "<div class=\"adf-content-type-dialog\">\n <h2 mat-dialog-title class=\"adf-content-type-dialog-title\" data-automation-id=\"content-type-dialog-title\">{{title |\n translate}}</h2>\n <mat-dialog-content class=\"mat-typography adf-content-type-dialog-content\"\n data-automation-id=\"content-type-dialog-content\">\n <h4 data-automation-id=\"content-type-dialog-description\">{{description | translate}}</h4>\n <p data-automation-id=\"content-type-dialog-confirm-message\">{{confirmMessage | translate}}</p>\n <mat-accordion>\n <mat-expansion-panel class=\"adf-content-type-accordion\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n {{'CORE.METADATA.CONTENT_TYPE.DIALOG.VIEW_DETAILS' | translate}}\n </mat-panel-title>\n </mat-expansion-panel-header>\n <table mat-table [dataSource]=\"typeProperties\"\n *ngIf=\"typeProperties?.length > 0\" class=\"adf-content-type-table\">\n <ng-container matColumnDef=\"name\">\n <th mat-header-cell *matHeaderCellDef> {{'CORE.METADATA.CONTENT_TYPE.DIALOG.PROPERTY.NAME' |\n translate}} </th>\n <td mat-cell *matCellDef=\"let property\"> {{property.id}} </td>\n </ng-container>\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef>\n {{'CORE.METADATA.CONTENT_TYPE.DIALOG.PROPERTY.DESCRIPTION' | translate}} </th>\n <td mat-cell *matCellDef=\"let property\"> {{property.title}} </td>\n </ng-container>\n <ng-container matColumnDef=\"dataType\">\n <th mat-header-cell *matHeaderCellDef> {{'CORE.METADATA.CONTENT_TYPE.DIALOG.PROPERTY.DATA_TYPE'\n | translate}} </th>\n <td mat-cell *matCellDef=\"let property\"> {{property.dataType}} </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"propertyColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: propertyColumns;\"></tr>\n </table>\n </mat-expansion-panel>\n </mat-accordion>\n </mat-dialog-content>\n <mat-dialog-actions align=\"end\">\n <button mat-button mat-dialog-close\n id=\"content-type-dialog-actions-cancel\">{{'CORE.METADATA.CONTENT_TYPE.DIALOG.CANCEL' | translate }}</button>\n <button mat-button class=\"adf-content-type-dialog-apply-button\" id=\"content-type-dialog-apply-button\"\n [mat-dialog-close]=\"true\" (click)=\"onApply()\">{{'CORE.METADATA.CONTENT_TYPE.DIALOG.APPLY' |\n translate}}</button>\n </mat-dialog-actions>\n</div>\n", styles: [".adf-content-type-dialog .adf-content-type-accordion{margin:10px}.adf-content-type-dialog-title{font-size:large;font-weight:200;margin-top:0}.adf-content-type-dialog-description{font-size:small;line-height:normal}.adf-content-type-table{width:100%}.adf-content-type-dialog-apply-button{color:var(--theme-primary-color)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatExpansionModule }, { kind: "directive", type: i4.MatAccordion, selector: "mat-accordion", inputs: ["hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i4.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["hideToggle", "togglePosition"], outputs: ["afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i4.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["expandedHeight", "collapsedHeight", "tabIndex"] }, { kind: "directive", type: i4.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "ngmodule", type: MatTableModule }, { kind: "component", type: i5.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i5.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i5.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i5.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i5.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i5.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i5.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i5.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i5.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i5.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None }); }
50
49
  }
51
50
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContentTypeDialogComponent, decorators: [{
52
51
  type: Component,
53
- args: [{ selector: 'adf-content-type-dialog', standalone: true, imports: [CommonModule, MatDialogModule, TranslateModule, MatExpansionModule, MatTableModule, MatButtonModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"adf-content-type-dialog\">\n <h2 mat-dialog-title class=\"adf-content-type-dialog-title\" data-automation-id=\"content-type-dialog-title\">{{title |\n translate}}</h2>\n <mat-dialog-content class=\"mat-typography adf-content-type-dialog-content\"\n data-automation-id=\"content-type-dialog-content\">\n <h4 data-automation-id=\"content-type-dialog-description\">{{description | translate}}</h4>\n <p data-automation-id=\"content-type-dialog-confirm-message\">{{confirmMessage | translate}}</p>\n <mat-accordion>\n <mat-expansion-panel class=\"adf-content-type-accordion\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n {{'CORE.METADATA.CONTENT_TYPE.DIALOG.VIEW_DETAILS' | translate}}\n </mat-panel-title>\n </mat-expansion-panel-header>\n <table mat-table [dataSource]=\"typeProperties\"\n *ngIf=\"typeProperties?.length > 0\" class=\"adf-content-type-table\">\n <ng-container matColumnDef=\"name\">\n <th mat-header-cell *matHeaderCellDef> {{'CORE.METADATA.CONTENT_TYPE.DIALOG.PROPERTY.NAME' |\n translate}} </th>\n <td mat-cell *matCellDef=\"let property\"> {{property.id}} </td>\n </ng-container>\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef>\n {{'CORE.METADATA.CONTENT_TYPE.DIALOG.PROPERTY.DESCRIPTION' | translate}} </th>\n <td mat-cell *matCellDef=\"let property\"> {{property.title}} </td>\n </ng-container>\n <ng-container matColumnDef=\"dataType\">\n <th mat-header-cell *matHeaderCellDef> {{'CORE.METADATA.CONTENT_TYPE.DIALOG.PROPERTY.DATA_TYPE'\n | translate}} </th>\n <td mat-cell *matCellDef=\"let property\"> {{property.dataType}} </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"propertyColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: propertyColumns;\"></tr>\n </table>\n </mat-expansion-panel>\n </mat-accordion>\n </mat-dialog-content>\n <mat-dialog-actions align=\"end\">\n <button mat-button mat-dialog-close\n id=\"content-type-dialog-actions-cancel\">{{'CORE.METADATA.CONTENT_TYPE.DIALOG.CANCEL' | translate }}</button>\n <button mat-button class=\"adf-content-type-dialog-apply-button\" id=\"content-type-dialog-apply-button\"\n [mat-dialog-close]=\"true\" (click)=\"onApply()\">{{'CORE.METADATA.CONTENT_TYPE.DIALOG.APPLY' |\n translate}}</button>\n </mat-dialog-actions>\n</div>\n", styles: [".adf-content-type-dialog .adf-content-type-accordion{margin:10px}.adf-content-type-dialog-title{font-size:large;font-weight:200;margin-top:0}.adf-content-type-dialog-description{font-size:small;line-height:normal}.adf-content-type-table{width:100%}.adf-content-type-dialog-apply-button{color:var(--theme-primary-color)}\n"] }]
52
+ args: [{ selector: 'adf-content-type-dialog', standalone: true, imports: [CommonModule, MatDialogModule, TranslatePipe, MatExpansionModule, MatTableModule, MatButtonModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"adf-content-type-dialog\">\n <h2 mat-dialog-title class=\"adf-content-type-dialog-title\" data-automation-id=\"content-type-dialog-title\">{{title |\n translate}}</h2>\n <mat-dialog-content class=\"mat-typography adf-content-type-dialog-content\"\n data-automation-id=\"content-type-dialog-content\">\n <h4 data-automation-id=\"content-type-dialog-description\">{{description | translate}}</h4>\n <p data-automation-id=\"content-type-dialog-confirm-message\">{{confirmMessage | translate}}</p>\n <mat-accordion>\n <mat-expansion-panel class=\"adf-content-type-accordion\">\n <mat-expansion-panel-header>\n <mat-panel-title>\n {{'CORE.METADATA.CONTENT_TYPE.DIALOG.VIEW_DETAILS' | translate}}\n </mat-panel-title>\n </mat-expansion-panel-header>\n <table mat-table [dataSource]=\"typeProperties\"\n *ngIf=\"typeProperties?.length > 0\" class=\"adf-content-type-table\">\n <ng-container matColumnDef=\"name\">\n <th mat-header-cell *matHeaderCellDef> {{'CORE.METADATA.CONTENT_TYPE.DIALOG.PROPERTY.NAME' |\n translate}} </th>\n <td mat-cell *matCellDef=\"let property\"> {{property.id}} </td>\n </ng-container>\n <ng-container matColumnDef=\"title\">\n <th mat-header-cell *matHeaderCellDef>\n {{'CORE.METADATA.CONTENT_TYPE.DIALOG.PROPERTY.DESCRIPTION' | translate}} </th>\n <td mat-cell *matCellDef=\"let property\"> {{property.title}} </td>\n </ng-container>\n <ng-container matColumnDef=\"dataType\">\n <th mat-header-cell *matHeaderCellDef> {{'CORE.METADATA.CONTENT_TYPE.DIALOG.PROPERTY.DATA_TYPE'\n | translate}} </th>\n <td mat-cell *matCellDef=\"let property\"> {{property.dataType}} </td>\n </ng-container>\n <tr mat-header-row *matHeaderRowDef=\"propertyColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: propertyColumns;\"></tr>\n </table>\n </mat-expansion-panel>\n </mat-accordion>\n </mat-dialog-content>\n <mat-dialog-actions align=\"end\">\n <button mat-button mat-dialog-close\n id=\"content-type-dialog-actions-cancel\">{{'CORE.METADATA.CONTENT_TYPE.DIALOG.CANCEL' | translate }}</button>\n <button mat-button class=\"adf-content-type-dialog-apply-button\" id=\"content-type-dialog-apply-button\"\n [mat-dialog-close]=\"true\" (click)=\"onApply()\">{{'CORE.METADATA.CONTENT_TYPE.DIALOG.APPLY' |\n translate}}</button>\n </mat-dialog-actions>\n</div>\n", styles: [".adf-content-type-dialog .adf-content-type-accordion{margin:10px}.adf-content-type-dialog-title{font-size:large;font-weight:200;margin-top:0}.adf-content-type-dialog-description{font-size:small;line-height:normal}.adf-content-type-table{width:100%}.adf-content-type-dialog-apply-button{color:var(--theme-primary-color)}\n"] }]
54
53
  }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
55
54
  type: Inject,
56
55
  args: [MAT_DIALOG_DATA]
57
56
  }] }, { type: i2.ContentTypeService }] });
58
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC10eXBlLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL2NvbnRlbnQtdHlwZS9jb250ZW50LXR5cGUtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvY29udGVudC10eXBlL2NvbnRlbnQtdHlwZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0JBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTFGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7O0FBVTNELE1BQU0sT0FBTywwQkFBMEI7SUFXbkMsWUFDWSxNQUFnRCxFQUN4QixJQUFvQyxFQUM1RCxrQkFBc0M7UUFGdEMsV0FBTSxHQUFOLE1BQU0sQ0FBMEM7UUFDeEIsU0FBSSxHQUFKLElBQUksQ0FBZ0M7UUFDNUQsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQVBsRCxtQkFBYyxHQUFVLEVBQUUsQ0FBQztRQUUzQixvQkFBZSxHQUFhLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztRQU90RCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMxQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFOUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFO1lBQ3pGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxnQkFBZ0IsQ0FBQztZQUMzQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQy9FLFFBQVEsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUM5RSxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN2QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDakIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsS0FBSztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNqQixDQUFDOytHQTlDUSwwQkFBMEIsOENBYXZCLGVBQWU7bUdBYmxCLDBCQUEwQixtRkNwQ3ZDLDgyRkE2Q0EsMFhEZGMsWUFBWSxrSUFBRSxlQUFlLCtuQkFBRSxlQUFlLDJGQUFFLGtCQUFrQix1bkJBQUUsY0FBYyxzZ0NBQUUsZUFBZTs7NEZBS3BHLDBCQUEwQjtrQkFSdEMsU0FBUzsrQkFDSSx5QkFBeUIsY0FDdkIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLGVBQWUsQ0FBQyxpQkFHL0YsaUJBQWlCLENBQUMsSUFBSTs7MEJBZWhDLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgVHlwZUVudHJ5IH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dNb2R1bGUsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBDb250ZW50VHlwZURpYWxvZ0NvbXBvbmVudERhdGEgfSBmcm9tICcuL2NvbnRlbnQtdHlwZS1tZXRhZGF0YS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgQ29udGVudFR5cGVTZXJ2aWNlIH0gZnJvbSAnLi9jb250ZW50LXR5cGUuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRFeHBhbnNpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb24nO1xuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1jb250ZW50LXR5cGUtZGlhbG9nJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdERpYWxvZ01vZHVsZSwgVHJhbnNsYXRlTW9kdWxlLCBNYXRFeHBhbnNpb25Nb2R1bGUsIE1hdFRhYmxlTW9kdWxlLCBNYXRCdXR0b25Nb2R1bGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb250ZW50LXR5cGUtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jb250ZW50LXR5cGUtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBDb250ZW50VHlwZURpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIG5vZGVUeXBlOiBzdHJpbmc7XG4gICAgY29uZmlybU1lc3NhZ2U6IHN0cmluZztcblxuICAgIGN1cnJlbnRDb250ZW50VHlwZTogVHlwZUVudHJ5O1xuICAgIHR5cGVQcm9wZXJ0aWVzOiBhbnlbXSA9IFtdO1xuXG4gICAgcHJvcGVydHlDb2x1bW5zOiBzdHJpbmdbXSA9IFsnbmFtZScsICd0aXRsZScsICdkYXRhVHlwZSddO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2dSZWY8Q29udGVudFR5cGVEaWFsb2dDb21wb25lbnQ+LFxuICAgICAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IENvbnRlbnRUeXBlRGlhbG9nQ29tcG9uZW50RGF0YSxcbiAgICAgICAgcHJpdmF0ZSBjb250ZW50VHlwZVNlcnZpY2U6IENvbnRlbnRUeXBlU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLnRpdGxlID0gZGF0YS50aXRsZTtcbiAgICAgICAgdGhpcy5kZXNjcmlwdGlvbiA9IGRhdGEuZGVzY3JpcHRpb247XG4gICAgICAgIHRoaXMuY29uZmlybU1lc3NhZ2UgPSBkYXRhLmNvbmZpcm1NZXNzYWdlO1xuICAgICAgICB0aGlzLm5vZGVUeXBlID0gZGF0YS5ub2RlVHlwZTtcblxuICAgICAgICB0aGlzLmNvbnRlbnRUeXBlU2VydmljZS5nZXRDb250ZW50VHlwZUJ5UHJlZml4KHRoaXMubm9kZVR5cGUpLnN1YnNjcmliZSgoY29udGVudFR5cGVFbnRyeSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50Q29udGVudFR5cGUgPSBjb250ZW50VHlwZUVudHJ5O1xuICAgICAgICAgICAgdGhpcy50eXBlUHJvcGVydGllcyA9IHRoaXMuY3VycmVudENvbnRlbnRUeXBlLmVudHJ5LnByb3BlcnRpZXMuZmlsdGVyKChwcm9wZXJ0eSkgPT5cbiAgICAgICAgICAgICAgICBwcm9wZXJ0eS5pZC5zdGFydHNXaXRoKHRoaXMuY3VycmVudENvbnRlbnRUeXBlLmVudHJ5Lm1vZGVsLm5hbWVzcGFjZVByZWZpeClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmRpYWxvZy5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgY2xvc2UoKSB7XG4gICAgICAgIHRoaXMuZGF0YS5zZWxlY3QuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBvbkNhbmNlbCgpIHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cblxuICAgIG9uQXBwbHkoKSB7XG4gICAgICAgIHRoaXMuZGF0YS5zZWxlY3QubmV4dCh0cnVlKTtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJhZGYtY29udGVudC10eXBlLWRpYWxvZ1wiPlxuICAgIDxoMiBtYXQtZGlhbG9nLXRpdGxlIGNsYXNzPVwiYWRmLWNvbnRlbnQtdHlwZS1kaWFsb2ctdGl0bGVcIiBkYXRhLWF1dG9tYXRpb24taWQ9XCJjb250ZW50LXR5cGUtZGlhbG9nLXRpdGxlXCI+e3t0aXRsZSB8XG4gICAgICAgIHRyYW5zbGF0ZX19PC9oMj5cbiAgICA8bWF0LWRpYWxvZy1jb250ZW50IGNsYXNzPVwibWF0LXR5cG9ncmFwaHkgYWRmLWNvbnRlbnQtdHlwZS1kaWFsb2ctY29udGVudFwiXG4gICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImNvbnRlbnQtdHlwZS1kaWFsb2ctY29udGVudFwiPlxuICAgICAgICA8aDQgZGF0YS1hdXRvbWF0aW9uLWlkPVwiY29udGVudC10eXBlLWRpYWxvZy1kZXNjcmlwdGlvblwiPnt7ZGVzY3JpcHRpb24gfCB0cmFuc2xhdGV9fTwvaDQ+XG4gICAgICAgIDxwIGRhdGEtYXV0b21hdGlvbi1pZD1cImNvbnRlbnQtdHlwZS1kaWFsb2ctY29uZmlybS1tZXNzYWdlXCI+e3tjb25maXJtTWVzc2FnZSB8IHRyYW5zbGF0ZX19PC9wPlxuICAgICAgICA8bWF0LWFjY29yZGlvbj5cbiAgICAgICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPVwiYWRmLWNvbnRlbnQtdHlwZS1hY2NvcmRpb25cIj5cbiAgICAgICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eydDT1JFLk1FVEFEQVRBLkNPTlRFTlRfVFlQRS5ESUFMT0cuVklFV19ERVRBSUxTJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgICAgICAgICAgICAgPHRhYmxlIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJ0eXBlUHJvcGVydGllc1wiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwidHlwZVByb3BlcnRpZXM/Lmxlbmd0aCA+IDBcIiBjbGFzcz1cImFkZi1jb250ZW50LXR5cGUtdGFibGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJuYW1lXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiB7eydDT1JFLk1FVEFEQVRBLkNPTlRFTlRfVFlQRS5ESUFMT0cuUFJPUEVSVFkuTkFNRScgfFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZX19IDwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcHJvcGVydHlcIj4ge3twcm9wZXJ0eS5pZH19IDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInRpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7J0NPUkUuTUVUQURBVEEuQ09OVEVOVF9UWVBFLkRJQUxPRy5QUk9QRVJUWS5ERVNDUklQVElPTicgfCB0cmFuc2xhdGV9fSA8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHByb3BlcnR5XCI+IHt7cHJvcGVydHkudGl0bGV9fSA8L3RkPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJkYXRhVHlwZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4ge3snQ09SRS5NRVRBREFUQS5DT05URU5UX1RZUEUuRElBTE9HLlBST1BFUlRZLkRBVEFfVFlQRSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IHRyYW5zbGF0ZX19IDwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcHJvcGVydHlcIj4ge3twcm9wZXJ0eS5kYXRhVHlwZX19IDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cInByb3BlcnR5Q29sdW1uc1wiPjwvdHI+XG4gICAgICAgICAgICAgICAgICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBwcm9wZXJ0eUNvbHVtbnM7XCI+PC90cj5cbiAgICAgICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgICAgICA8L21hdC1hY2NvcmRpb24+XG4gICAgPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgPG1hdC1kaWFsb2ctYWN0aW9ucyBhbGlnbj1cImVuZFwiPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gbWF0LWRpYWxvZy1jbG9zZVxuICAgICAgICAgICAgaWQ9XCJjb250ZW50LXR5cGUtZGlhbG9nLWFjdGlvbnMtY2FuY2VsXCI+e3snQ09SRS5NRVRBREFUQS5DT05URU5UX1RZUEUuRElBTE9HLkNBTkNFTCcgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNsYXNzPVwiYWRmLWNvbnRlbnQtdHlwZS1kaWFsb2ctYXBwbHktYnV0dG9uXCIgaWQ9XCJjb250ZW50LXR5cGUtZGlhbG9nLWFwcGx5LWJ1dHRvblwiXG4gICAgICAgICAgICBbbWF0LWRpYWxvZy1jbG9zZV09XCJ0cnVlXCIgKGNsaWNrKT1cIm9uQXBwbHkoKVwiPnt7J0NPUkUuTUVUQURBVEEuQ09OVEVOVF9UWVBFLkRJQUxPRy5BUFBMWScgfFxuICAgICAgICAgICAgdHJhbnNsYXRlfX08L2J1dHRvbj5cbiAgICA8L21hdC1kaWFsb2ctYWN0aW9ucz5cbjwvZGl2PlxuIl19
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC10eXBlLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL2NvbnRlbnQtdHlwZS9jb250ZW50LXR5cGUtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvY29udGVudC10eXBlL2NvbnRlbnQtdHlwZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0JBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTFGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7Ozs7QUFVM0QsTUFBTSxPQUFPLDBCQUEwQjtJQVduQyxZQUNZLE1BQWdELEVBQ3hCLElBQW9DLEVBQzVELGtCQUFzQztRQUZ0QyxXQUFNLEdBQU4sTUFBTSxDQUEwQztRQUN4QixTQUFJLEdBQUosSUFBSSxDQUFnQztRQUM1RCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBUGxELG1CQUFjLEdBQVUsRUFBRSxDQUFDO1FBRTNCLG9CQUFlLEdBQWEsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBT3RELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDcEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQzFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUU5QixJQUFJLENBQUMsa0JBQWtCLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLEVBQUU7WUFDekYsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGdCQUFnQixDQUFDO1lBQzNDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FDL0UsUUFBUSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQzlFLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELE9BQU87UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2pCLENBQUM7K0dBOUNRLDBCQUEwQiw4Q0FhdkIsZUFBZTttR0FibEIsMEJBQTBCLG1GQ3BDdkMsODJGQTZDQSwwWERkYyxZQUFZLGtJQUFFLGVBQWUsMm5CQUFFLGFBQWEsaURBQUUsa0JBQWtCLHVuQkFBRSxjQUFjLHNnQ0FBRSxlQUFlOzs0RkFLbEcsMEJBQTBCO2tCQVJ0QyxTQUFTOytCQUNJLHlCQUF5QixjQUN2QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsZUFBZSxDQUFDLGlCQUc3RixpQkFBaUIsQ0FBQyxJQUFJOzswQkFlaEMsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBUeXBlRW50cnkgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ01vZHVsZSwgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IENvbnRlbnRUeXBlRGlhbG9nQ29tcG9uZW50RGF0YSB9IGZyb20gJy4vY29udGVudC10eXBlLW1ldGFkYXRhLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDb250ZW50VHlwZVNlcnZpY2UgfSBmcm9tICcuL2NvbnRlbnQtdHlwZS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBUcmFuc2xhdGVQaXBlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNYXRFeHBhbnNpb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb24nO1xuaW1wb3J0IHsgTWF0VGFibGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2FkZi1jb250ZW50LXR5cGUtZGlhbG9nJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdERpYWxvZ01vZHVsZSwgVHJhbnNsYXRlUGlwZSwgTWF0RXhwYW5zaW9uTW9kdWxlLCBNYXRUYWJsZU1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY29udGVudC10eXBlLWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY29udGVudC10eXBlLWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgQ29udGVudFR5cGVEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgICBub2RlVHlwZTogc3RyaW5nO1xuICAgIGNvbmZpcm1NZXNzYWdlOiBzdHJpbmc7XG5cbiAgICBjdXJyZW50Q29udGVudFR5cGU6IFR5cGVFbnRyeTtcbiAgICB0eXBlUHJvcGVydGllczogYW55W10gPSBbXTtcblxuICAgIHByb3BlcnR5Q29sdW1uczogc3RyaW5nW10gPSBbJ25hbWUnLCAndGl0bGUnLCAnZGF0YVR5cGUnXTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nUmVmPENvbnRlbnRUeXBlRGlhbG9nQ29tcG9uZW50PixcbiAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBDb250ZW50VHlwZURpYWxvZ0NvbXBvbmVudERhdGEsXG4gICAgICAgIHByaXZhdGUgY29udGVudFR5cGVTZXJ2aWNlOiBDb250ZW50VHlwZVNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy50aXRsZSA9IGRhdGEudGl0bGU7XG4gICAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSBkYXRhLmRlc2NyaXB0aW9uO1xuICAgICAgICB0aGlzLmNvbmZpcm1NZXNzYWdlID0gZGF0YS5jb25maXJtTWVzc2FnZTtcbiAgICAgICAgdGhpcy5ub2RlVHlwZSA9IGRhdGEubm9kZVR5cGU7XG5cbiAgICAgICAgdGhpcy5jb250ZW50VHlwZVNlcnZpY2UuZ2V0Q29udGVudFR5cGVCeVByZWZpeCh0aGlzLm5vZGVUeXBlKS5zdWJzY3JpYmUoKGNvbnRlbnRUeXBlRW50cnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudENvbnRlbnRUeXBlID0gY29udGVudFR5cGVFbnRyeTtcbiAgICAgICAgICAgIHRoaXMudHlwZVByb3BlcnRpZXMgPSB0aGlzLmN1cnJlbnRDb250ZW50VHlwZS5lbnRyeS5wcm9wZXJ0aWVzLmZpbHRlcigocHJvcGVydHkpID0+XG4gICAgICAgICAgICAgICAgcHJvcGVydHkuaWQuc3RhcnRzV2l0aCh0aGlzLmN1cnJlbnRDb250ZW50VHlwZS5lbnRyeS5tb2RlbC5uYW1lc3BhY2VQcmVmaXgpXG4gICAgICAgICAgICApO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5kaWFsb2cuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNsb3NlKCkge1xuICAgICAgICB0aGlzLmRhdGEuc2VsZWN0LmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgb25DYW5jZWwoKSB7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBvbkFwcGx5KCkge1xuICAgICAgICB0aGlzLmRhdGEuc2VsZWN0Lm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYWRmLWNvbnRlbnQtdHlwZS1kaWFsb2dcIj5cbiAgICA8aDIgbWF0LWRpYWxvZy10aXRsZSBjbGFzcz1cImFkZi1jb250ZW50LXR5cGUtZGlhbG9nLXRpdGxlXCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwiY29udGVudC10eXBlLWRpYWxvZy10aXRsZVwiPnt7dGl0bGUgfFxuICAgICAgICB0cmFuc2xhdGV9fTwvaDI+XG4gICAgPG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cIm1hdC10eXBvZ3JhcGh5IGFkZi1jb250ZW50LXR5cGUtZGlhbG9nLWNvbnRlbnRcIlxuICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJjb250ZW50LXR5cGUtZGlhbG9nLWNvbnRlbnRcIj5cbiAgICAgICAgPGg0IGRhdGEtYXV0b21hdGlvbi1pZD1cImNvbnRlbnQtdHlwZS1kaWFsb2ctZGVzY3JpcHRpb25cIj57e2Rlc2NyaXB0aW9uIHwgdHJhbnNsYXRlfX08L2g0PlxuICAgICAgICA8cCBkYXRhLWF1dG9tYXRpb24taWQ9XCJjb250ZW50LXR5cGUtZGlhbG9nLWNvbmZpcm0tbWVzc2FnZVwiPnt7Y29uZmlybU1lc3NhZ2UgfCB0cmFuc2xhdGV9fTwvcD5cbiAgICAgICAgPG1hdC1hY2NvcmRpb24+XG4gICAgICAgICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbCBjbGFzcz1cImFkZi1jb250ZW50LXR5cGUtYWNjb3JkaW9uXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAge3snQ09SRS5NRVRBREFUQS5DT05URU5UX1RZUEUuRElBTE9HLlZJRVdfREVUQUlMUycgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICAgICAgICAgIDx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwidHlwZVByb3BlcnRpZXNcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cInR5cGVQcm9wZXJ0aWVzPy5sZW5ndGggPiAwXCIgY2xhc3M9XCJhZGYtY29udGVudC10eXBlLXRhYmxlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwibmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4ge3snQ09SRS5NRVRBREFUQS5DT05URU5UX1RZUEUuRElBTE9HLlBST1BFUlRZLk5BTUUnIHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGV9fSA8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHByb3BlcnR5XCI+IHt7cHJvcGVydHkuaWR9fSA8L3RkPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ0aXRsZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eydDT1JFLk1FVEFEQVRBLkNPTlRFTlRfVFlQRS5ESUFMT0cuUFJPUEVSVFkuREVTQ1JJUFRJT04nIHwgdHJhbnNsYXRlfX0gPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBwcm9wZXJ0eVwiPiB7e3Byb3BlcnR5LnRpdGxlfX0gPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZGF0YVR5cGVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IHt7J0NPUkUuTUVUQURBVEEuQ09OVEVOVF9UWVBFLkRJQUxPRy5QUk9QRVJUWS5EQVRBX1RZUEUnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB0cmFuc2xhdGV9fSA8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHByb3BlcnR5XCI+IHt7cHJvcGVydHkuZGF0YVR5cGV9fSA8L3RkPlxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJwcm9wZXJ0eUNvbHVtbnNcIj48L3RyPlxuICAgICAgICAgICAgICAgICAgICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogcHJvcGVydHlDb2x1bW5zO1wiPjwvdHI+XG4gICAgICAgICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cbiAgICAgICAgPC9tYXQtYWNjb3JkaW9uPlxuICAgIDwvbWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxtYXQtZGlhbG9nLWFjdGlvbnMgYWxpZ249XCJlbmRcIj5cbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIG1hdC1kaWFsb2ctY2xvc2VcbiAgICAgICAgICAgIGlkPVwiY29udGVudC10eXBlLWRpYWxvZy1hY3Rpb25zLWNhbmNlbFwiPnt7J0NPUkUuTUVUQURBVEEuQ09OVEVOVF9UWVBFLkRJQUxPRy5DQU5DRUwnIHwgdHJhbnNsYXRlIH19PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjbGFzcz1cImFkZi1jb250ZW50LXR5cGUtZGlhbG9nLWFwcGx5LWJ1dHRvblwiIGlkPVwiY29udGVudC10eXBlLWRpYWxvZy1hcHBseS1idXR0b25cIlxuICAgICAgICAgICAgW21hdC1kaWFsb2ctY2xvc2VdPVwidHJ1ZVwiIChjbGljayk9XCJvbkFwcGx5KClcIj57eydDT1JFLk1FVEFEQVRBLkNPTlRFTlRfVFlQRS5ESUFMT0cuQVBQTFknIHxcbiAgICAgICAgICAgIHRyYW5zbGF0ZX19PC9idXR0b24+XG4gICAgPC9tYXQtZGlhbG9nLWFjdGlvbnM+XG48L2Rpdj5cbiJdfQ==
@@ -207,7 +207,7 @@ export class ContentModule {
207
207
  AlfrescoIconComponent] }); }
208
208
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContentModule, providers: [provideTranslations('adf-content-services', 'assets/adf-content-services')], imports: [MaterialModule,
209
209
  MatDatetimepickerModule,
210
- MatNativeDatetimeModule, CONTENT_TAG_DIRECTIVES, CONTENT_DIALOG_DIRECTIVES, i11.SearchCheckListComponent, i12.SearchChipAutocompleteInputComponent, i13.SearchChipListComponent, i15.SearchFilterComponent, i16.SearchFilterCardComponent, i18.SearchTextComponent, i19.SearchFilterAutocompleteChipsComponent, i20.SearchDatetimeRangeComponent, i21.SearchFacetFieldComponent, i23.SearchDateRangeComponent, i24.SearchFilterMenuCardComponent, i25.SearchFacetChipTabbedComponent, i26.SearchFacetTabbedContentComponent, i27.SearchFilterTabbedComponent, i29.SearchDateRangeTabbedComponent, i30.SearchSortingPickerComponent, i31.SearchSliderComponent, i32.SearchNumberRangeComponent, i33.SearchPanelComponent, i34.SearchRadioComponent, i35.SearchFilterContainerComponent, i36.SearchFormComponent, i37.SearchFilterChipsComponent, i38.SearchWidgetChipComponent, i39.SearchFacetChipComponent, i40.SearchLogicalFilterComponent, i41.SearchPropertiesComponent, i42.SearchComponent, i43.SearchControlComponent, i45.FileAutoDownloadComponent, i46.FilterHeaderComponent, i47.LibraryNameColumnComponent, i48.LibraryRoleColumnComponent, i49.LibraryStatusColumnComponent, i50.NameColumnComponent, i51.TrashcanNameColumnComponent, i53.DocumentListComponent, i58.UploadButtonComponent, i59.UploadVersionButtonComponent, i60.FileUploadingListRowComponent, i61.FileUploadingListComponent, i62.FileUploadingDialogComponent, BREADCRUMB_DIRECTIVES, i65.ContentNodeSelectorPanelComponent, i67.ContentNodeSelectorComponent, i68.DropdownSitesComponent, i69.ShareDialogComponent, CONTENT_METADATA_DIRECTIVES, i75.NodeCounterComponent, i84.AddPermissionPanelComponent, i85.AddPermissionComponent, i86.AddPermissionDialogComponent, i87.NodePathColumnComponent, i88.PermissionContainerComponent, i89.PermissionListComponent, i90.UserNameColumnComponent, i91.UserIconColumnComponent, i92.UserRoleColumnComponent, CONTENT_VERSION_DIRECTIVES, TreeViewComponent,
210
+ MatNativeDatetimeModule, CONTENT_TAG_DIRECTIVES, CONTENT_DIALOG_DIRECTIVES, i11.SearchCheckListComponent, i12.SearchChipAutocompleteInputComponent, i13.SearchChipListComponent, i15.SearchFilterComponent, i16.SearchFilterCardComponent, i18.SearchTextComponent, i19.SearchFilterAutocompleteChipsComponent, i20.SearchDatetimeRangeComponent, i21.SearchFacetFieldComponent, i23.SearchDateRangeComponent, i24.SearchFilterMenuCardComponent, i25.SearchFacetChipTabbedComponent, i26.SearchFacetTabbedContentComponent, i27.SearchFilterTabbedComponent, i29.SearchDateRangeTabbedComponent, i30.SearchSortingPickerComponent, i31.SearchSliderComponent, i32.SearchNumberRangeComponent, i33.SearchPanelComponent, i34.SearchRadioComponent, i35.SearchFilterContainerComponent, i36.SearchFormComponent, i37.SearchFilterChipsComponent, i38.SearchWidgetChipComponent, i39.SearchFacetChipComponent, i40.SearchLogicalFilterComponent, i41.SearchPropertiesComponent, i42.SearchComponent, i43.SearchControlComponent, i45.FileAutoDownloadComponent, i46.FilterHeaderComponent, i51.TrashcanNameColumnComponent, i53.DocumentListComponent, i58.UploadButtonComponent, i59.UploadVersionButtonComponent, i60.FileUploadingListRowComponent, i61.FileUploadingListComponent, i62.FileUploadingDialogComponent, BREADCRUMB_DIRECTIVES, i65.ContentNodeSelectorPanelComponent, i67.ContentNodeSelectorComponent, i68.DropdownSitesComponent, i69.ShareDialogComponent, CONTENT_METADATA_DIRECTIVES, i84.AddPermissionPanelComponent, i85.AddPermissionComponent, i86.AddPermissionDialogComponent, i87.NodePathColumnComponent, i88.PermissionContainerComponent, i89.PermissionListComponent, i90.UserNameColumnComponent, i91.UserIconColumnComponent, i92.UserRoleColumnComponent, CONTENT_VERSION_DIRECTIVES, TreeViewComponent,
211
211
  ContentTypeDialogComponent, ASPECT_LIST_DIRECTIVES, NodeCommentsComponent,
212
212
  TreeComponent,
213
213
  AlfrescoViewerComponent,
@@ -274,4 +274,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
274
274
  ]
275
275
  }]
276
276
  }] });
277
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL2NvbnRlbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxRQUFRLEVBQXVCLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNoRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN0RixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUN4RyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUMvRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUN6RixPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN2RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUs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O29CQUN2RixPQUFPLEVBQUU7d0JBQ0wsY0FBYzt3QkFDZCxHQUFHLGFBQWE7d0JBQ2hCLEdBQUcsc0JBQXNCO3dCQUN6QixHQUFHLHdCQUF3Qjt3QkFDM0IsR0FBRyx5QkFBeUI7d0JBQzVCLEdBQUcseUJBQXlCO3dCQUM1QixHQUFHLHFCQUFxQjt3QkFDeEIsR0FBRyxnQ0FBZ0M7d0JBQ25DLEdBQUcsNkJBQTZCO3dCQUNoQyxHQUFHLDJCQUEyQjt3QkFDOUIsR0FBRyx5QkFBeUI7d0JBQzVCLEdBQUcsa0JBQWtCO3dCQUNyQixHQUFHLHFDQUFxQzt3QkFDeEMsR0FBRywwQkFBMEI7d0JBQzdCLGlCQUFpQjt3QkFDakIsR0FBRyxzQkFBc0I7d0JBQ3pCLDBCQUEwQjt3QkFDMUIsNkJBQTZCO3dCQUM3QixxQkFBcUI7d0JBQ3JCLGFBQWE7d0JBQ2IsdUJBQXVCO3dCQUN2Qiw2QkFBNkI7d0JBQzdCLGlDQUFpQzt3QkFDakMscUJBQXFCO3FCQUN4QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMsIEFQUF9JTklUSUFMSVpFUiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcHJvdmlkZVRyYW5zbGF0aW9ucyB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBNYXREYXRldGltZXBpY2tlck1vZHVsZSwgTWF0TmF0aXZlRGF0ZXRpbWVNb2R1bGUgfSBmcm9tICdAbWF0LWRhdGV0aW1lcGlja2VyL2NvcmUnO1xuaW1wb3J0IHsgQ09OVEVOVF9UQUdfRElSRUNUSVZFUyB9IGZyb20gJy4vdGFnL3RhZy5tb2R1bGUnO1xuaW1wb3J0IHsgRE9DVU1FTlRfTElTVF9ESVJFQ1RJVkVTIH0gZnJvbSAnLi9kb2N1bWVudC1saXN0L2RvY3VtZW50LWxpc3QubW9kdWxlJztcbmltcG9ydCB7IENPTlRFTlRfU0VBUkNIX0RJUkVDVElWRVMgfSBmcm9tICcuL3NlYXJjaC9zZWFyY2gubW9kdWxlJztcbmltcG9ydCB7IEJSRUFEQ1JVTUJfRElSRUNUSVZFUyB9IGZyb20gJy4vYnJlYWRjcnVtYi9icmVhZGNydW1iLm1vZHVsZSc7XG5pbXBvcnQgeyBDT05URU5UX1ZFUlNJT05fRElSRUNUSVZFUyB9IGZyb20gJy4vdmVyc2lvbi1tYW5hZ2VyL3ZlcnNpb24tbWFuYWdlci5tb2R1bGUnO1xuaW1wb3J0IHsgQ09OVEVOVF9OT0RFX1NFTEVDVE9SX0RJUkVDVElWRVMgfSBmcm9tICcuL2NvbnRlbnQtbm9kZS1zZWxlY3Rvci9jb250ZW50LW5vZGUtc2VsZWN0b3IubW9kdWxlJztcbmltcG9ydCB7IENPTlRFTlRfTk9ERV9TSEFSRV9ESVJFQ1RJVkVTIH0gZnJvbSAnLi9jb250ZW50LW5vZGUtc2hhcmUvY29udGVudC1ub2RlLXNoYXJlLm1vZHVsZSc7XG5pbXBvcnQgeyBDT05URU5UX0RJUkVDVElWRVMgfSBmcm9tICcuL2RpcmVjdGl2ZXMvY29udGVudC1kaXJlY3RpdmUubW9kdWxlJztcbmltcG9ydCB7IENPTlRFTlRfRElBTE9HX0RJUkVDVElWRVMgfSBmcm9tICcuL2RpYWxvZ3MvZGlhbG9nLm1vZHVsZSc7XG5pbXBvcnQgeyBDT05URU5UX01FVEFEQVRBX0RJUkVDVElWRVMgfSBmcm9tICcuL2NvbnRlbnQtbWV0YWRhdGEvY29udGVudC1tZXRhZGF0YS5tb2R1bGUnO1xuaW1wb3J0IHsgQ09OVEVOVF9QRVJNSVNTSU9OX01BTkFHRVJfRElSRUNUSVZFUyB9IGZyb20gJy4vcGVybWlzc2lvbi1tYW5hZ2VyL3Blcm1pc3Npb24tbWFuYWdlci5tb2R1bGUnO1xuaW1wb3J0IHsgQVNQRUNUX0xJU1RfRElSRUNUSVZFUyB9IGZyb20gJy4vYXNwZWN0LWxpc3QvYXNwZWN0LWxpc3QubW9kdWxlJztcbmltcG9ydCB7IHZlcnNpb25Db21wYXRpYmlsaXR5RmFjdG9yeSB9IGZyb20gJy4vdmVyc2lvbi1jb21wYXRpYmlsaXR5L3ZlcnNpb24tY29tcGF0aWJpbGl0eS1mYWN0b3J5JztcbmltcG9ydCB7IFZlcnNpb25Db21wYXRpYmlsaXR5U2VydmljZSB9IGZyb20gJy4vdmVyc2lvbi1jb21wYXRpYmlsaXR5L3ZlcnNpb24tY29tcGF0aWJpbGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IENPTlRFTlRfUElQRVMgfSBmcm9tICcuL3BpcGVzL2NvbnRlbnQtcGlwZS5tb2R1bGUnO1xuaW1wb3J0IHsgY29udGVudEF1dGhMb2FkZXJGYWN0b3J5IH0gZnJvbSAnLi9hdXRoLWxvYWRlci9jb250ZW50LWF1dGgtbG9hZGVyLWZhY3RvcnknO1xuaW1wb3J0IHsgQ29udGVudEF1dGhMb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLWxvYWRlci9jb250ZW50LWF1dGgtbG9hZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2F0ZWdvcmllc01hbmFnZW1lbnRDb21wb25lbnQgfSBmcm9tICcuL2NhdGVnb3J5JztcbmltcG9ydCB7IFRyZWVDb21wb25lbnQgfSBmcm9tICcuL3RyZWUnO1xuaW1wb3J0IHsgTmV3VmVyc2lvblVwbG9hZGVyRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9uZXctdmVyc2lvbi11cGxvYWRlcic7XG5pbXBvcnQgeyBWZXJzaW9uQ29tcGF0aWJpbGl0eURpcmVjdGl2ZSB9IGZyb20gJy4vdmVyc2lvbi1jb21wYXRpYmlsaXR5JztcbmltcG9ydCB7IENPTlRFTlRfVVBMT0FEX0RJUkVDVElWRVMgfSBmcm9tICcuL3VwbG9hZCc7XG5pbXBvcnQgeyBUcmVlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdHJlZS12aWV3JztcbmltcG9ydCB7IE5vZGVDb21tZW50c0NvbXBvbmVudCB9IGZyb20gJy4vbm9kZS1jb21tZW50cyc7XG5pbXBvcnQgeyBBbGZyZXNjb1ZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vdmlld2VyJztcbmltcG9ydCB7IENvbnRlbnRUeXBlRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb250ZW50LXR5cGUnO1xuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuL21hdGVyaWFsLm1vZHVsZSc7XG5pbXBvcnQgeyBBbGZyZXNjb0ljb25Db21wb25lbnQgfSBmcm9tICcuL2FsZnJlc2NvLWljb24vYWxmcmVzY28taWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWxmcmVzY29BcGlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hbGZyZXNjby1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBBbGZyZXNjb0FwaU5vQXV0aFNlcnZpY2UgfSBmcm9tICcuL2FwaS1mYWN0b3JpZXMvYWxmcmVzY28tYXBpLW5vLWF1dGguc2VydmljZSc7XG5pbXBvcnQgeyBBbGZyZXNjb0FwaUxvYWRlclNlcnZpY2UsIGNyZWF0ZUFsZnJlc2NvQXBpSW5zdGFuY2UgfSBmcm9tICcuL2FwaS1mYWN0b3JpZXMvYWxmcmVzY28tYXBpLXYyLWxvYWRlci5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE1hdGVyaWFsTW9kdWxlLFxuICAgICAgICBNYXREYXRldGltZXBpY2tlck1vZHVsZSxcbiAgICAgICAgTWF0TmF0aXZlRGF0ZXRpbWVNb2R1bGUsXG4gICAgICAgIC4uLkNPTlRFTlRfUElQRVMsXG4gICAgICAgIC4uLkNPTlRFTlRfVEFHX0RJUkVDVElWRVMsXG4gICAgICAgIC4uLkNPTlRFTlRfRElBTE9HX0RJUkVDVElWRVMsXG4gICAgICAgIC4uLkNPTlRFTlRfU0VBUkNIX0RJUkVDVElWRVMsXG4gICAgICAgIC4uLkRPQ1VNRU5UX0xJU1RfRElSRUNUSVZFUyxcbiAgICAgICAgLi4uQ09OVEVOVF9VUExPQURfRElSRUNUSVZFUyxcbiAgICAgICAgLi4uQlJFQURDUlVNQl9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5DT05URU5UX05PREVfU0VMRUNUT1JfRElSRUNUSVZFUyxcbiAgICAgICAgLi4uQ09OVEVOVF9OT0RFX1NIQVJFX0RJUkVDVElWRVMsXG4gICAgICAgIC4uLkNPTlRFTlRfTUVUQURBVEFfRElSRUNUSVZFUyxcbiAgICAgICAgLi4uQ09OVEVOVF9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5DT05URU5UX1BFUk1JU1NJT05fTUFOQUdFUl9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5DT05URU5UX1ZFUlNJT05fRElSRUNUSVZFUyxcbiAgICAgICAgVHJlZVZpZXdDb21wb25lbnQsXG4gICAgICAgIENvbnRlbnRUeXBlRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICAuLi5BU1BFQ1RfTElTVF9ESVJFQ1RJVkVTLFxuICAgICAgICBWZXJzaW9uQ29tcGF0aWJpbGl0eURpcmVjdGl2ZSxcbiAgICAgICAgTm9kZUNvbW1lbnRzQ29tcG9uZW50LFxuICAgICAgICBUcmVlQ29tcG9uZW50LFxuICAgICAgICBBbGZyZXNjb1ZpZXdlckNvbXBvbmVudCxcbiAgICAgICAgQ2F0ZWdvcmllc01hbmFnZW1lbnRDb21wb25lbnQsXG4gICAgICAgIE5ld1ZlcnNpb25VcGxvYWRlckRpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgQWxmcmVzY29JY29uQ29tcG9uZW50XG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtwcm92aWRlVHJhbnNsYXRpb25zKCdhZGYtY29udGVudC1zZXJ2aWNlcycsICdhc3NldHMvYWRmLWNvbnRlbnQtc2VydmljZXMnKV0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBNYXRlcmlhbE1vZHVsZSxcbiAgICAgICAgLi4uQ09OVEVOVF9QSVBFUyxcbiAgICAgICAgLi4uQ09OVEVOVF9UQUdfRElSRUNUSVZFUyxcbiAgICAgICAgLi4uRE9DVU1FTlRfTElTVF9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5DT05URU5UX1VQTE9BRF9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5DT05URU5UX1NFQVJDSF9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5CUkVBRENSVU1CX0RJUkVDVElWRVMsXG4gICAgICAgIC4uLkNPTlRFTlRfTk9ERV9TRUxFQ1RPUl9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5DT05URU5UX05PREVfU0hBUkVfRElSRUNUSVZFUyxcbiAgICAgICAgLi4uQ09OVEVOVF9NRVRBREFUQV9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5DT05URU5UX0RJQUxPR19ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5DT05URU5UX0RJUkVDVElWRVMsXG4gICAgICAgIC4uLkNPTlRFTlRfUEVSTUlTU0lPTl9NQU5BR0VSX0RJUkVDVElWRVMsXG4gICAgICAgIC4uLkNPTlRFTlRfVkVSU0lPTl9ESVJFQ1RJVkVTLFxuICAgICAgICBUcmVlVmlld0NvbXBvbmVudCxcbiAgICAgICAgLi4uQVNQRUNUX0xJU1RfRElSRUNUSVZFUyxcbiAgICAgICAgQ29udGVudFR5cGVEaWFsb2dDb21wb25lbnQsXG4gICAgICAgIFZlcnNpb25Db21wYXRpYmlsaXR5RGlyZWN0aXZlLFxuICAgICAgICBOb2RlQ29tbWVudHNDb21wb25lbnQsXG4gICAgICAgIFRyZWVDb21wb25lbnQsXG4gICAgICAgIEFsZnJlc2NvVmlld2VyQ29tcG9uZW50LFxuICAgICAgICBDYXRlZ29yaWVzTWFuYWdlbWVudENvbXBvbmVudCxcbiAgICAgICAgTmV3VmVyc2lvblVwbG9hZGVyRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICBBbGZyZXNjb0ljb25Db21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIENvbnRlbnRNb2R1bGUge1xuICAgIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Q29udGVudE1vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IENvbnRlbnRNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICBwcm92aWRlVHJhbnNsYXRpb25zKCdhZGYtY29udGVudC1zZXJ2aWNlcycsICdhc3NldHMvYWRmLWNvbnRlbnQtc2VydmljZXMnKSxcbiAgICAgICAgICAgICAgICBDb250ZW50QXV0aExvYWRlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBBbGZyZXNjb0FwaVNlcnZpY2UsIHVzZUNsYXNzOiBBbGZyZXNjb0FwaU5vQXV0aFNlcnZpY2UgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogdmVyc2lvbkNvbXBhdGliaWxpdHlGYWN0b3J5LFxuICAgICAgICAgICAgICAgICAgICBkZXBzOiBbVmVyc2lvbkNvbXBhdGliaWxpdHlTZXJ2aWNlXSxcbiAgICAgICAgICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiBjb250ZW50QXV0aExvYWRlckZhY3RvcnksXG4gICAgICAgICAgICAgICAgICAgIGRlcHM6IFtDb250ZW50QXV0aExvYWRlclNlcnZpY2VdLFxuICAgICAgICAgICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGNyZWF0ZUFsZnJlc2NvQXBpSW5zdGFuY2UsXG4gICAgICAgICAgICAgICAgICAgIGRlcHM6IFtBbGZyZXNjb0FwaUxvYWRlclNlcnZpY2VdLFxuICAgICAgICAgICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCB1c2UgYENvbnRlbnRNb2R1bGVgIGluc3RlYWRcbiAgICAgKiBAcmV0dXJucyBNb2R1bGVXaXRoUHJvdmlkZXJzPENvbnRlbnRNb2R1bGU+XG4gICAgICovXG4gICAgc3RhdGljIGZvckNoaWxkKCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Q29udGVudE1vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IENvbnRlbnRNb2R1bGVcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
277
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL2NvbnRlbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxRQUFRLEVBQXVCLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNoRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN0RixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUN4RyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUMvRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUN6RixPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUN2RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUs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O29CQUN2RixPQUFPLEVBQUU7d0JBQ0wsY0FBYzt3QkFDZCxHQUFHLGFBQWE7d0JBQ2hCLEdBQUcsc0JBQXNCO3dCQUN6QixHQUFHLHdCQUF3Qjt3QkFDM0IsR0FBRyx5QkFBeUI7d0JBQzVCLEdBQUcseUJBQXlCO3dCQUM1QixHQUFHLHFCQUFxQjt3QkFDeEIsR0FBRyxnQ0FBZ0M7d0JBQ25DLEdBQUcsNkJBQTZCO3dCQUNoQyxHQUFHLDJCQUEyQjt3QkFDOUIsR0FBRyx5QkFBeUI7d0JBQzVCLEdBQUcsa0JBQWtCO3dCQUNyQixHQUFHLHFDQUFxQzt3QkFDeEMsR0FBRywwQkFBMEI7d0JBQzdCLGlCQUFpQjt3QkFDakIsR0FBRyxzQkFBc0I7d0JBQ3pCLDBCQUEwQjt3QkFDMUIsNkJBQTZCO3dCQUM3QixxQkFBcUI7d0JBQ3JCLGFBQWE7d0JBQ2IsdUJBQXVCO3dCQUN2Qiw2QkFBNkI7d0JBQzdCLGlDQUFpQzt3QkFDakMscUJBQXFCO3FCQUN4QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMsIEFQUF9JTklUSUFMSVpFUiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcHJvdmlkZVRyYW5zbGF0aW9ucyB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBNYXREYXRldGltZXBpY2tlck1vZHVsZSwgTWF0TmF0aXZlRGF0ZXRpbWVNb2R1bGUgfSBmcm9tICdAbWF0LWRhdGV0aW1lcGlja2VyL2NvcmUnO1xuaW1wb3J0IHsgQ09OVEVOVF9UQUdfRElSRUNUSVZFUyB9IGZyb20gJy4vdGFnL3RhZy5tb2R1bGUnO1xuaW1wb3J0IHsgRE9DVU1FTlRfTElTVF9ESVJFQ1RJVkVTIH0gZnJvbSAnLi9kb2N1bWVudC1saXN0L2RvY3VtZW50LWxpc3QubW9kdWxlJztcbmltcG9ydCB7IENPTlRFTlRfU0VBUkNIX0RJUkVDVElWRVMgfSBmcm9tICcuL3NlYXJjaC9zZWFyY2gubW9kdWxlJztcbmltcG9ydCB7IEJSRUFEQ1JVTUJfRElSRUNUSVZFUyB9IGZyb20gJy4vYnJlYWRjcnVtYi9icmVhZGNydW1iLm1vZHVsZSc7XG5pbXBvcnQgeyBDT05URU5UX1ZFUlNJT05fRElSRUNUSVZFUyB9IGZyb20gJy4vdmVyc2lvbi1tYW5hZ2VyL3ZlcnNpb24tbWFuYWdlci5tb2R1bGUnO1xuaW1wb3J0IHsgQ09OVEVOVF9OT0RFX1NFTEVDVE9SX0RJUkVDVElWRVMgfSBmcm9tICcuL2NvbnRlbnQtbm9kZS1zZWxlY3Rvci9jb250ZW50LW5vZGUtc2VsZWN0b3IubW9kdWxlJztcbmltcG9ydCB7IENPTlRFTlRfTk9ERV9TSEFSRV9ESVJFQ1RJVkVTIH0gZnJvbSAnLi9jb250ZW50LW5vZGUtc2hhcmUvY29udGVudC1ub2RlLXNoYXJlLm1vZHVsZSc7XG5pbXBvcnQgeyBDT05URU5UX0RJUkVDVElWRVMgfSBmcm9tICcuL2RpcmVjdGl2ZXMvY29udGVudC1kaXJlY3RpdmUubW9kdWxlJztcbmltcG9ydCB7IENPTlRFTlRfRElBTE9HX0RJUkVDVElWRVMgfSBmcm9tICcuL2RpYWxvZ3MvZGlhbG9nLm1vZHVsZSc7XG5pbXBvcnQgeyBDT05URU5UX01FVEFEQVRBX0RJUkVDVElWRVMgfSBmcm9tICcuL2NvbnRlbnQtbWV0YWRhdGEvY29udGVudC1tZXRhZGF0YS5tb2R1bGUnO1xuaW1wb3J0IHsgQ09OVEVOVF9QRVJNSVNTSU9OX01BTkFHRVJfRElSRUNUSVZFUyB9IGZyb20gJy4vcGVybWlzc2lvbi1tYW5hZ2VyL3Blcm1pc3Npb24tbWFuYWdlci5tb2R1bGUnO1xuaW1wb3J0IHsgQVNQRUNUX0xJU1RfRElSRUNUSVZFUyB9IGZyb20gJy4vYXNwZWN0LWxpc3QvYXNwZWN0LWxpc3QubW9kdWxlJztcbmltcG9ydCB7IHZlcnNpb25Db21wYXRpYmlsaXR5RmFjdG9yeSB9IGZyb20gJy4vdmVyc2lvbi1jb21wYXRpYmlsaXR5L3ZlcnNpb24tY29tcGF0aWJpbGl0eS1mYWN0b3J5JztcbmltcG9ydCB7IFZlcnNpb25Db21wYXRpYmlsaXR5U2VydmljZSB9IGZyb20gJy4vdmVyc2lvbi1jb21wYXRpYmlsaXR5L3ZlcnNpb24tY29tcGF0aWJpbGl0eS5zZXJ2aWNlJztcbmltcG9ydCB7IENPTlRFTlRfUElQRVMgfSBmcm9tICcuL3BpcGVzL2NvbnRlbnQtcGlwZS5tb2R1bGUnO1xuaW1wb3J0IHsgY29udGVudEF1dGhMb2FkZXJGYWN0b3J5IH0gZnJvbSAnLi9hdXRoLWxvYWRlci9jb250ZW50LWF1dGgtbG9hZGVyLWZhY3RvcnknO1xuaW1wb3J0IHsgQ29udGVudEF1dGhMb2FkZXJTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLWxvYWRlci9jb250ZW50LWF1dGgtbG9hZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2F0ZWdvcmllc01hbmFnZW1lbnRDb21wb25lbnQgfSBmcm9tICcuL2NhdGVnb3J5JztcbmltcG9ydCB7IFRyZWVDb21wb25lbnQgfSBmcm9tICcuL3RyZWUnO1xuaW1wb3J0IHsgTmV3VmVyc2lvblVwbG9hZGVyRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9uZXctdmVyc2lvbi11cGxvYWRlcic7XG5pbXBvcnQgeyBWZXJzaW9uQ29tcGF0aWJpbGl0eURpcmVjdGl2ZSB9IGZyb20gJy4vdmVyc2lvbi1jb21wYXRpYmlsaXR5JztcbmltcG9ydCB7IENPTlRFTlRfVVBMT0FEX0RJUkVDVElWRVMgfSBmcm9tICcuL3VwbG9hZCc7XG5pbXBvcnQgeyBUcmVlVmlld0NvbXBvbmVudCB9IGZyb20gJy4vdHJlZS12aWV3JztcbmltcG9ydCB7IE5vZGVDb21tZW50c0NvbXBvbmVudCB9IGZyb20gJy4vbm9kZS1jb21tZW50cyc7XG5pbXBvcnQgeyBBbGZyZXNjb1ZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vdmlld2VyJztcbmltcG9ydCB7IENvbnRlbnRUeXBlRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb250ZW50LXR5cGUnO1xuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuL21hdGVyaWFsLm1vZHVsZSc7XG5pbXBvcnQgeyBBbGZyZXNjb0ljb25Db21wb25lbnQgfSBmcm9tICcuL2FsZnJlc2NvLWljb24vYWxmcmVzY28taWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWxmcmVzY29BcGlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9hbGZyZXNjby1hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBBbGZyZXNjb0FwaU5vQXV0aFNlcnZpY2UgfSBmcm9tICcuL2FwaS1mYWN0b3JpZXMvYWxmcmVzY28tYXBpLW5vLWF1dGguc2VydmljZSc7XG5pbXBvcnQgeyBBbGZyZXNjb0FwaUxvYWRlclNlcnZpY2UsIGNyZWF0ZUFsZnJlc2NvQXBpSW5zdGFuY2UgfSBmcm9tICcuL2FwaS1mYWN0b3JpZXMvYWxmcmVzY28tYXBpLXYyLWxvYWRlci5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE1hdGVyaWFsTW9kdWxlLFxuICAgICAgICBNYXREYXRldGltZXBpY2tlck1vZHVsZSxcbiAgICAgICAgTWF0TmF0aXZlRGF0ZXRpbWVNb2R1bGUsXG4gICAgICAgIC4uLkNPTlRFTlRfUElQRVMsXG4gICAgICAgIC4uLkNPTlRFTlRfVEFHX0RJUkVDVElWRVMsXG4gICAgICAgIC4uLkNPTlRFTlRfRElBTE9HX0RJUkVDVElWRVMsXG4gICAgICAgIC4uLkNPTlRFTlRfU0VBUkNIX0RJUkVDVElWRVMsXG4gICAgICAgIC4uLkRPQ1VNRU5UX0xJU1RfRElSRUNUSVZFUyxcbiAgICAgICAgLi4uQ09OVEVOVF9VUExPQURfRElSRUNUSVZFUyxcbiAgICAgICAgLi4uQlJFQURDUlVNQl9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5DT05URU5UX05PREVfU0VMRUNUT1JfRElSRUNUSVZFUyxcbiAgICAgICAgLi4uQ09OVEVOVF9OT0RFX1NIQVJFX0RJUkVDVElWRVMsXG4gICAgICAgIC4uLkNPTlRFTlRfTUVUQURBVEFfRElSRUNUSVZFUyxcbiAgICAgICAgLi4uQ09OVEVOVF9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5DT05URU5UX1BFUk1JU1NJT05fTUFOQUdFUl9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5DT05URU5UX1ZFUlNJT05fRElSRUNUSVZFUyxcbiAgICAgICAgVHJlZVZpZXdDb21wb25lbnQsXG4gICAgICAgIENvbnRlbnRUeXBlRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICAuLi5BU1BFQ1RfTElTVF9ESVJFQ1RJVkVTLFxuICAgICAgICBWZXJzaW9uQ29tcGF0aWJpbGl0eURpcmVjdGl2ZSxcbiAgICAgICAgTm9kZUNvbW1lbnRzQ29tcG9uZW50LFxuICAgICAgICBUcmVlQ29tcG9uZW50LFxuICAgICAgICBBbGZyZXNjb1ZpZXdlckNvbXBvbmVudCxcbiAgICAgICAgQ2F0ZWdvcmllc01hbmFnZW1lbnRDb21wb25lbnQsXG4gICAgICAgIE5ld1ZlcnNpb25VcGxvYWRlckRpYWxvZ0NvbXBvbmVudCxcbiAgICAgICAgQWxmcmVzY29JY29uQ29tcG9uZW50XG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtwcm92aWRlVHJhbnNsYXRpb25zKCdhZGYtY29udGVudC1zZXJ2aWNlcycsICdhc3NldHMvYWRmLWNvbnRlbnQtc2VydmljZXMnKV0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBNYXRlcmlhbE1vZHVsZSxcbiAgICAgICAgLi4uQ09OVEVOVF9QSVBFUyxcbiAgICAgICAgLi4uQ09OVEVOVF9UQUdfRElSRUNUSVZFUyxcbiAgICAgICAgLi4uRE9DVU1FTlRfTElTVF9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5DT05URU5UX1VQTE9BRF9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5DT05URU5UX1NFQVJDSF9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5CUkVBRENSVU1CX0RJUkVDVElWRVMsXG4gICAgICAgIC4uLkNPTlRFTlRfTk9ERV9TRUxFQ1RPUl9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5DT05URU5UX05PREVfU0hBUkVfRElSRUNUSVZFUyxcbiAgICAgICAgLi4uQ09OVEVOVF9NRVRBREFUQV9ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5DT05URU5UX0RJQUxPR19ESVJFQ1RJVkVTLFxuICAgICAgICAuLi5DT05URU5UX0RJUkVDVElWRVMsXG4gICAgICAgIC4uLkNPTlRFTlRfUEVSTUlTU0lPTl9NQU5BR0VSX0RJUkVDVElWRVMsXG4gICAgICAgIC4uLkNPTlRFTlRfVkVSU0lPTl9ESVJFQ1RJVkVTLFxuICAgICAgICBUcmVlVmlld0NvbXBvbmVudCxcbiAgICAgICAgLi4uQVNQRUNUX0xJU1RfRElSRUNUSVZFUyxcbiAgICAgICAgQ29udGVudFR5cGVEaWFsb2dDb21wb25lbnQsXG4gICAgICAgIFZlcnNpb25Db21wYXRpYmlsaXR5RGlyZWN0aXZlLFxuICAgICAgICBOb2RlQ29tbWVudHNDb21wb25lbnQsXG4gICAgICAgIFRyZWVDb21wb25lbnQsXG4gICAgICAgIEFsZnJlc2NvVmlld2VyQ29tcG9uZW50LFxuICAgICAgICBDYXRlZ29yaWVzTWFuYWdlbWVudENvbXBvbmVudCxcbiAgICAgICAgTmV3VmVyc2lvblVwbG9hZGVyRGlhbG9nQ29tcG9uZW50LFxuICAgICAgICBBbGZyZXNjb0ljb25Db21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIENvbnRlbnRNb2R1bGUge1xuICAgIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Q29udGVudE1vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IENvbnRlbnRNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICBwcm92aWRlVHJhbnNsYXRpb25zKCdhZGYtY29udGVudC1zZXJ2aWNlcycsICdhc3NldHMvYWRmLWNvbnRlbnQtc2VydmljZXMnKSxcbiAgICAgICAgICAgICAgICBDb250ZW50QXV0aExvYWRlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgeyBwcm92aWRlOiBBbGZyZXNjb0FwaVNlcnZpY2UsIHVzZUNsYXNzOiBBbGZyZXNjb0FwaU5vQXV0aFNlcnZpY2UgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICAgICAgICAgICAgdXNlRmFjdG9yeTogdmVyc2lvbkNvbXBhdGliaWxpdHlGYWN0b3J5LFxuICAgICAgICAgICAgICAgICAgICBkZXBzOiBbVmVyc2lvbkNvbXBhdGliaWxpdHlTZXJ2aWNlXSxcbiAgICAgICAgICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgICAgICAgICAgICAgICB1c2VGYWN0b3J5OiBjb250ZW50QXV0aExvYWRlckZhY3RvcnksXG4gICAgICAgICAgICAgICAgICAgIGRlcHM6IFtDb250ZW50QXV0aExvYWRlclNlcnZpY2VdLFxuICAgICAgICAgICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICAgICAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGNyZWF0ZUFsZnJlc2NvQXBpSW5zdGFuY2UsXG4gICAgICAgICAgICAgICAgICAgIGRlcHM6IFtBbGZyZXNjb0FwaUxvYWRlclNlcnZpY2VdLFxuICAgICAgICAgICAgICAgICAgICBtdWx0aTogdHJ1ZVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIF1cbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCB1c2UgYENvbnRlbnRNb2R1bGVgIGluc3RlYWRcbiAgICAgKiBAcmV0dXJucyBNb2R1bGVXaXRoUHJvdmlkZXJzPENvbnRlbnRNb2R1bGU+XG4gICAgICovXG4gICAgc3RhdGljIGZvckNoaWxkKCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8Q29udGVudE1vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IENvbnRlbnRNb2R1bGVcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=