nuxeo-development-framework 6.2.10 → 6.2.12

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 (19) hide show
  1. package/bundles/nuxeo-development-framework.umd.js +71 -36
  2. package/bundles/nuxeo-development-framework.umd.js.map +1 -1
  3. package/esm2015/lib/components/comments/components/comments-list/comments-list.component.js +1 -1
  4. package/esm2015/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.js +30 -32
  5. package/esm2015/lib/components/correspondence-relation/components/versions/versions.component.js +1 -1
  6. package/esm2015/lib/components/dynamic-form/components/dynamic-form-department/services/department-api.service.js +23 -1
  7. package/esm2015/lib/components/dynamic-view/department-viewer/department-viewer.component.js +19 -5
  8. package/esm2015/lib/components/ndf-panel/component/ndf-panel.component.js +1 -1
  9. package/esm2015/lib/components/ndf-tabs/component/ndf-tabs.component.js +2 -2
  10. package/esm2015/lib/components/notifications/components/notifications-button/notifications-button.component.js +1 -1
  11. package/esm2015/lib/components/reports/ndf-reports/directives/empty-content-template.directive.js +1 -1
  12. package/esm2015/lib/components/reports/ndf-reports/directives/header-panel-template.directive.js +1 -1
  13. package/esm2015/lib/components/tables/shared/index.js +1 -1
  14. package/esm2015/lib/shared/components/nuxeo-dialog/nuxeo.dialog.js +1 -1
  15. package/fesm2015/nuxeo-development-framework.js +72 -37
  16. package/fesm2015/nuxeo-development-framework.js.map +1 -1
  17. package/lib/components/correspondence-relation/components/correspondence-relation/correspondence-relation.component.d.ts +8 -8
  18. package/lib/components/dynamic-form/components/dynamic-form-department/services/department-api.service.d.ts +1 -0
  19. package/package.json +2 -2
@@ -50,7 +50,7 @@ export class CommentsListComponent {
50
50
  }
51
51
  }
52
52
  CommentsListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CommentsListComponent, deps: [{ token: i1.CommentApiService }], target: i0.ɵɵFactoryTarget.Component });
53
- CommentsListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CommentsListComponent, selector: "app-comments-list", inputs: { entityId: "entityId", pageSize: "pageSize", loaderType: "loaderType", showCommentActions: "showCommentActions" }, viewQueries: [{ propertyName: "scrollDiv", first: true, predicate: ["scrollDiv"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"comments.length !== 0\"\r\n class=\"scroll-div overflow-auto dark-scroll\"\r\n #scrollDiv\r\n infinite-scroll\r\n [scrollWindow]=\"false\"\r\n [infiniteScrollDistance]=\"distance\"\r\n [infiniteScrollDisabled]=\"infiniteScrollDisabled\"\r\n [infiniteScrollThrottle]=\"throttle\"\r\n (scrolled)=\"onScroll($event)\"\r\n>\r\n <app-comment-item\r\n [loaderType]=\"loaderType\"\r\n class=\"mb-2\"\r\n *ngFor=\"let comment of comments\"\r\n [comment]=\"comment\"\r\n [showCommentActions]=\"showCommentActions\"\r\n (refreshCommentList)=\"refreshList()\"\r\n >\r\n </app-comment-item>\r\n <div *ngIf=\"fetching && loaderType === 'scroll'\">\r\n <mat-spinner [diameter]=\"30\"></mat-spinner>\r\n </div>\r\n <div\r\n class=\"button-wrapper\"\r\n *ngIf=\"!infiniteScrollDisabled && loaderType === 'button'\"\r\n >\r\n <cts-button\r\n [theme]=\"'outline-dark'\"\r\n [size]=\"'regular'\"\r\n (onClick)=\"onScroll($event)\"\r\n [loading]=\"fetching\"\r\n >\r\n {{ \"comment.loadMore\" | translate }}\r\n </cts-button>\r\n </div>\r\n</div>\r\n\r\n<div\r\n *ngIf=\"comments.length === 0 && !fetching\"\r\n class=\"No-Items flex justify-center\"\r\n>\r\n <cts-no-data img=\"assets/images/empty-state/empty-comments.png\" [message]=\"'comment.nocomment'\"></cts-no-data>\r\n</div>\r\n", styles: [".text-style{color:#fff}.containerHeight{min-height:400px;max-height:auto}.titleStyle{font-size:24px}.padding-50{padding:50px}.p-20px{padding:20px}.mt-33{margin-top:33px}.mt-24px{margin-top:24px}.mb-20px{margin-bottom:20px}.mb-30{margin-bottom:30px}.mt-30{margin-top:30px}.avatar{width:40px;height:40px;border-radius:50%}.btn{width:123px;height:40px}.submibtn{width:171px;height:40px}.btnText{font-size:14px;color:#fff}.CardFont{font-size:14px}.border{border-width:1px}.gridContainer{display:grid;grid-template-columns:40px auto;grid-column-gap:5px;column-gap:5px;margin-bottom:20px}.container{height:110px}.mat-grid-tile{background-color:#00f}.avatarContainer{height:40px;width:40px}.col .containerHeight{min-height:260px;max-height:auto}.gap-40px{grid-row-gap:40px;row-gap:40px}.scroll-div{max-height:100%;display:flex;flex-direction:column;flex:1}.button-wrapper{width:150px}.comment-spinner{width:100%;display:grid;place-items:center}\n"], components: [{ type: i2.CommentItemComponent, selector: "app-comment-item", inputs: ["comment", "loaderType", "showCommentActions"], outputs: ["refreshCommentList"] }, { type: i3.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: i4.ButtonComponent, selector: "cts-button", inputs: ["disabled", "loading", "size", "theme", "spinnerTheming"], outputs: ["onClick"] }, { type: i5.NoDataComponent, selector: "cts-no-data", inputs: ["message", "border", "img"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i8.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
53
+ CommentsListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: CommentsListComponent, selector: "app-comments-list", inputs: { entityId: "entityId", pageSize: "pageSize", loaderType: "loaderType", showCommentActions: "showCommentActions" }, viewQueries: [{ propertyName: "scrollDiv", first: true, predicate: ["scrollDiv"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"comments.length !== 0\"\r\n class=\"scroll-div overflow-auto dark-scroll\"\r\n #scrollDiv\r\n infinite-scroll\r\n [scrollWindow]=\"false\"\r\n [infiniteScrollDistance]=\"distance\"\r\n [infiniteScrollDisabled]=\"infiniteScrollDisabled\"\r\n [infiniteScrollThrottle]=\"throttle\"\r\n (scrolled)=\"onScroll($event)\"\r\n>\r\n <app-comment-item\r\n [loaderType]=\"loaderType\"\r\n class=\"mb-2\"\r\n *ngFor=\"let comment of comments\"\r\n [comment]=\"comment\"\r\n [showCommentActions]=\"showCommentActions\"\r\n (refreshCommentList)=\"refreshList()\"\r\n >\r\n </app-comment-item>\r\n <div *ngIf=\"fetching && loaderType === 'scroll'\">\r\n <mat-spinner [diameter]=\"30\"></mat-spinner>\r\n </div>\r\n <div\r\n class=\"button-wrapper\"\r\n *ngIf=\"!infiniteScrollDisabled && loaderType === 'button'\"\r\n >\r\n <cts-button\r\n [theme]=\"'outline-dark'\"\r\n [size]=\"'regular'\"\r\n (onClick)=\"onScroll($event)\"\r\n [loading]=\"fetching\"\r\n >\r\n {{ \"comment.loadMore\" | translate }}\r\n </cts-button>\r\n </div>\r\n</div>\r\n\r\n<div\r\n *ngIf=\"comments.length === 0 && !fetching\"\r\n class=\"No-Items flex justify-center\"\r\n>\r\n <cts-no-data img=\"assets/images/empty-state/empty-comments.png\" [message]=\"'comment.nocomment'\"></cts-no-data>\r\n</div>\r\n", styles: [".text-style{color:#fff}.containerHeight{min-height:400px;max-height:auto}.titleStyle{font-size:24px}.padding-50{padding:50px}.p-20px{padding:20px}.mt-33{margin-top:33px}.mt-24px{margin-top:24px}.mb-20px{margin-bottom:20px}.mb-30{margin-bottom:30px}.mt-30{margin-top:30px}.avatar{width:40px;height:40px;border-radius:50%}.btn{width:123px;height:40px}.submibtn{width:171px;height:40px}.btnText{font-size:14px;color:#fff}.input-group-append .btn{width:auto;height:auto}.CardFont{font-size:14px}.border{border-width:1px}.gridContainer{display:grid;grid-template-columns:40px auto;grid-column-gap:5px;column-gap:5px;margin-bottom:20px}.container{height:110px}.mat-grid-tile{background-color:#00f}.avatarContainer{height:40px;width:40px}.col .containerHeight{min-height:260px;max-height:auto}.gap-40px{grid-row-gap:40px;row-gap:40px}.scroll-div{max-height:100%;display:flex;flex-direction:column;flex:1}.button-wrapper{width:150px}.comment-spinner{width:100%;display:grid;place-items:center}\n"], components: [{ type: i2.CommentItemComponent, selector: "app-comment-item", inputs: ["comment", "loaderType", "showCommentActions"], outputs: ["refreshCommentList"] }, { type: i3.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: i4.ButtonComponent, selector: "cts-button", inputs: ["disabled", "loading", "size", "theme", "spinnerTheming"], outputs: ["onClick"] }, { type: i5.NoDataComponent, selector: "cts-no-data", inputs: ["message", "border", "img"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.InfiniteScrollDirective, selector: "[infiniteScroll], [infinite-scroll], [data-infinite-scroll]", inputs: ["infiniteScrollDistance", "infiniteScrollUpDistance", "infiniteScrollThrottle", "infiniteScrollDisabled", "infiniteScrollContainer", "scrollWindow", "immediateCheck", "horizontal", "alwaysCallback", "fromRoot"], outputs: ["scrolled", "scrolledUp"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i8.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
54
54
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CommentsListComponent, decorators: [{
55
55
  type: Component,
56
56
  args: [{
@@ -1,9 +1,8 @@
1
- import { Component, EventEmitter, Input, Output } from "@angular/core";
2
- import { MatDialogConfig } from "@angular/material/dialog";
3
- import { take } from "rxjs/operators";
4
- import { ConfirmCallerDialogComponent } from "../../../confirm-caller/confirm-caller.dialog";
5
- import { CorrespondenceRelationCreateFormComponent } from "../correspondence-relation-create-form/correspondence-relation-create-form.component";
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { take } from 'rxjs/operators';
6
3
  import { GeneralNotificationPopupComponent } from '../../../../shared/components/general-notification-popup/general-notification-popup.component';
4
+ import { ConfirmCallerDialogComponent } from '../../../confirm-caller/confirm-caller.dialog';
5
+ import { CorrespondenceRelationCreateFormComponent } from '../correspondence-relation-create-form/correspondence-relation-create-form.component';
7
6
  import * as i0 from "@angular/core";
8
7
  import * as i1 from "@angular/material/dialog";
9
8
  import * as i2 from "../../services/correspondence-realation.service";
@@ -44,20 +43,19 @@ export class CorrespondenceRelationComponent {
44
43
  data = {
45
44
  exist_relations_list: this.relations_list.value,
46
45
  correspondance: this.correspondance,
47
- corr_id: this.corr_id,
46
+ corr_id: this.corr_id
48
47
  };
49
48
  else
50
49
  data = { exist_relations_list: [] };
51
- const dialogConfig = new MatDialogConfig();
52
- dialogConfig.data = data;
53
- dialogConfig.direction =
54
- this.userPreference.locale === "ar" ? "rtl" : "ltr";
55
- dialogConfig.panelClass = "custom-dialog-container";
56
- dialogConfig.width = "min(94%,760px)";
57
- dialogConfig.maxWidth = "98vw";
58
- dialogConfig.height = "80vh";
59
- dialogConfig.disableClose = true;
60
- const dialogRef = this.dialog.open(CorrespondenceRelationCreateFormComponent, dialogConfig);
50
+ const dialogRef = this.dialog.open(CorrespondenceRelationCreateFormComponent, {
51
+ panelClass: 'custom-dialog-container',
52
+ width: 'min(94%,760px)',
53
+ maxWidth: '98vw',
54
+ height: '80vh',
55
+ disableClose: true,
56
+ direction: this.userPreference.locale === 'ar' ? 'rtl' : 'ltr',
57
+ data: data
58
+ });
61
59
  dialogRef.afterClosed().subscribe((result) => {
62
60
  if (result) {
63
61
  this.reload = true;
@@ -95,20 +93,20 @@ export class CorrespondenceRelationComponent {
95
93
  });
96
94
  }
97
95
  handleActions(event) {
98
- if (event.action === "view") {
96
+ if (event.action === 'view') {
99
97
  this.view_Corres(event.item);
100
98
  }
101
- else if (event.action === "delete") {
99
+ else if (event.action === 'delete') {
102
100
  this.deleteRelation(event.item);
103
101
  }
104
- else if (event.action === "show") {
102
+ else if (event.action === 'show') {
105
103
  this.showCorrespondenceInViewer(event.item.uid);
106
104
  }
107
105
  }
108
106
  view_Corres(relation) {
109
107
  if (relation.uid) {
110
108
  let url = window.location.href;
111
- window.open(url.replace(this.corr_id, relation.uid), "_blank");
109
+ window.open(url.replace(this.corr_id, relation.uid), '_blank');
112
110
  }
113
111
  else {
114
112
  this.openGeneralNotificationPopup();
@@ -136,14 +134,14 @@ export class CorrespondenceRelationComponent {
136
134
  openConfirmDialog(functionToPerform, title, msg) {
137
135
  return this.dialog
138
136
  .open(ConfirmCallerDialogComponent, {
139
- width: "400px",
140
- panelClass: "relation-confirm-dialog",
137
+ width: 'min(80%,400px)',
138
+ panelClass: 'relation-confirm-dialog',
141
139
  data: {
142
140
  call: functionToPerform,
143
- title: "genericConfirm",
141
+ title: 'genericConfirm',
144
142
  toastrTitle: title,
145
- toastrMsg: msg,
146
- },
143
+ toastrMsg: msg
144
+ }
147
145
  })
148
146
  .afterClosed()
149
147
  .pipe(take(1));
@@ -152,9 +150,9 @@ export class CorrespondenceRelationComponent {
152
150
  let functionToPerform = () => {
153
151
  return this.corrrelationsvc.Delete_Named_Relation(this.corr_id, relateddoc.relationId, relateddoc.uid);
154
152
  };
155
- let title = "";
156
- let msg = "";
157
- this.openConfirmDialog(functionToPerform, "Success", "correspondence-relation.deleted_success").subscribe((data) => {
153
+ let title = '';
154
+ let msg = '';
155
+ this.openConfirmDialog(functionToPerform, 'Success', 'correspondence-relation.deleted_success').subscribe((data) => {
158
156
  if (data) {
159
157
  this.corrrelationsvc.getUpdatedRelation.next();
160
158
  }
@@ -166,9 +164,9 @@ CorrespondenceRelationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
166
164
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: CorrespondenceRelationComponent, decorators: [{
167
165
  type: Component,
168
166
  args: [{
169
- selector: "cts-correspondence-relation",
170
- templateUrl: "./correspondence-relation.component.html",
171
- styleUrls: ["./correspondence-relation.component.scss"],
167
+ selector: 'cts-correspondence-relation',
168
+ templateUrl: './correspondence-relation.component.html',
169
+ styleUrls: ['./correspondence-relation.component.scss']
172
170
  }]
173
171
  }], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.CorrespondenceRelationService }, { type: i3.CustomToastrService }, { type: i4.ViewerFilesService }, { type: i5.DocumentsService }, { type: i6.UserPreferencesService }, { type: i7.NuxeoService }]; }, propDecorators: { corr_id: [{
174
172
  type: Input
@@ -181,4 +179,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
181
179
  }], openDialogFromOutside: [{
182
180
  type: Output
183
181
  }] } });
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ycmVzcG9uZGVuY2UtcmVsYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvY29ycmVzcG9uZGVuY2UtcmVsYXRpb24vY29tcG9uZW50cy9jb3JyZXNwb25kZW5jZS1yZWxhdGlvbi9jb3JyZXNwb25kZW5jZS1yZWxhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9jb3JyZXNwb25kZW5jZS1yZWxhdGlvbi9jb21wb25lbnRzL2NvcnJlc3BvbmRlbmNlLXJlbGF0aW9uL2NvcnJlc3BvbmRlbmNlLXJlbGF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFhLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3RFLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUM3RixPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSxzRkFBc0YsQ0FBQztBQUtqSixPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSwrRkFBK0YsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFNbEosTUFBTSxPQUFPLCtCQUErQjtJQWMxQyxZQUNTLE1BQWlCLEVBQ2hCLGVBQThDLEVBQzlDLE1BQTJCLEVBQzNCLGtCQUFzQyxFQUN0QyxZQUE4QixFQUM5QixjQUFzQyxFQUN2QyxZQUEwQjtRQU4xQixXQUFNLEdBQU4sTUFBTSxDQUFX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QkFDUixJQUFJLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFDO2FBQ2hEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs2SEFyS1UsK0JBQStCO2lIQUEvQiwrQkFBK0Isc1VDakI1QywraUNBNEJBOzRGRFhhLCtCQUErQjtrQkFMM0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNkJBQTZCO29CQUN2QyxXQUFXLEVBQUUsMENBQTBDO29CQUN2RCxTQUFTLEVBQUUsQ0FBQywwQ0FBMEMsQ0FBQztpQkFDeEQ7OFNBR0MsT0FBTztzQkFETixLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSztnQkFHTix3QkFBd0I7c0JBRHZCLEtBQUs7Z0JBR04sb0NBQW9DO3NCQURuQyxLQUFLO2dCQUtOLHFCQUFxQjtzQkFEcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHsgQ3VzdG9tVG9hc3RyU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9jdXN0b20tdG9hc3RyL3NlcnZpY2VzL2N1c3RvbS10b2FzdHIuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBDb3JyZXNwb25kZW5jZVJlbGF0aW9uU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9jb3JyZXNwb25kZW5jZS1yZWFsYXRpb24uc2VydmljZVwiO1xyXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XHJcbmltcG9ydCB7IENvbmZpcm1DYWxsZXJEaWFsb2dDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vLi4vY29uZmlybS1jYWxsZXIvY29uZmlybS1jYWxsZXIuZGlhbG9nXCI7XHJcbmltcG9ydCB7IENvcnJlc3BvbmRlbmNlUmVsYXRpb25DcmVhdGVGb3JtQ29tcG9uZW50IH0gZnJvbSBcIi4uL2NvcnJlc3BvbmRlbmNlLXJlbGF0aW9uLWNyZWF0ZS1mb3JtL2NvcnJlc3BvbmRlbmNlLXJlbGF0aW9uLWNyZWF0ZS1mb3JtLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBEb2N1bWVudHNTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL2RvY3VtZW50cy9zZXJ2aWNlcy9kb2N1bWVudHMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBWaWV3ZXJGaWxlc1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvdmlld2VyLWZpbGVzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgVXNlclByZWZlcmVuY2VzU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi8uLi9jb3JlL3NlcnZpY2VzL3VzZXIvdXNlci1wcmVmZXJlbmNlcy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IE51eGVvU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi8uLi9jb3JlL3NlcnZpY2VzL251eGVvL251eGVvLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgR2VuZXJhbE5vdGlmaWNhdGlvblBvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvZ2VuZXJhbC1ub3RpZmljYXRpb24tcG9wdXAvZ2VuZXJhbC1ub3RpZmljYXRpb24tcG9wdXAuY29tcG9uZW50JztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY3RzLWNvcnJlc3BvbmRlbmNlLXJlbGF0aW9uXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9jb3JyZXNwb25kZW5jZS1yZWxhdGlvbi5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9jb3JyZXNwb25kZW5jZS1yZWxhdGlvbi5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvcnJlc3BvbmRlbmNlUmVsYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpXHJcbiAgY29ycl9pZDtcclxuICAvKiogQ29ycmVzcG9uZGFuY2UgKi9cclxuICBASW5wdXQoKVxyXG4gIGNvcnJlc3BvbmRhbmNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgY2FuT3BlbkRpYWxvZ0Zyb21PdXRzaWRlID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICByZW1vdmVSZWxhdGlvblRpdGxlRnJvbUV4cGFuc2lvbkxpc3QgPSBmYWxzZVxyXG4gIHJlbGF0aW9uc19saXN0OiBhbnk7XHJcbiAgcmVsb2FkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpXHJcbiAgb3BlbkRpYWxvZ0Zyb21PdXRzaWRlICA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgY29ycnJlbGF0aW9uc3ZjOiBDb3JyZXNwb25kZW5jZVJlbGF0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgdG9hc3RyOiBDdXN0b21Ub2FzdHJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB2aWV3ZXJGaWxlc1NlcnZpY2U6IFZpZXdlckZpbGVzU2VydmljZSxcclxuICAgIHByaXZhdGUgZG9jdW1lbnRzQXBpOiBEb2N1bWVudHNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB1c2VyUHJlZmVyZW5jZTogVXNlclByZWZlcmVuY2VzU2VydmljZSxcclxuICAgIHB1YmxpYyBudXhlb1NlcnZpY2U6IE51eGVvU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdldGFsbHJlbGF0ZWQoKTtcclxuICAgIHRoaXMuY29ycnJlbGF0aW9uc3ZjLmdldFVwZGF0ZWRSZWxhdGlvbi5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICB0aGlzLmdldGFsbHJlbGF0ZWQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb3BlbkRpYWxvZygpIHtcclxuICAgIGlmKCF0aGlzLmNhbk9wZW5EaWFsb2dGcm9tT3V0c2lkZSl7XHJcbiAgICAgIGxldCBkYXRhID0ge307XHJcbiAgICAgIGlmICh0aGlzLnJlbGF0aW9uc19saXN0KVxyXG4gICAgICAgIGRhdGEgPSB7XHJcbiAgICAgICAgICBleGlzdF9yZWxhdGlvbnNfbGlzdDogdGhpcy5yZWxhdGlvbnNfbGlzdC52YWx1ZSxcclxuICAgICAgICAgIGNvcnJlc3BvbmRhbmNlOiB0aGlzLmNvcnJlc3BvbmRhbmNlLFxyXG4gICAgICAgICAgY29ycl9pZDogdGhpcy5jb3JyX2lkLFxyXG4gICAgICAgIH07XHJcbiAgICAgIGVsc2UgZGF0YSA9IHsgZXhpc3RfcmVsYXRpb25zX2xpc3Q6IFtdIH07XHJcbiAgICAgIGNvbnN0IGRpYWxvZ0NvbmZpZyA9IG5ldyBNYXREaWFsb2dDb25maWcoKTtcclxuICAgICAgZGlhbG9nQ29uZmlnLmRhdGEgPSBkYXRhO1xyXG4gICAgICBkaWFsb2dDb25maWcuZGlyZWN0aW9uID1cclxuICAgICAgICB0aGlzLnVzZXJQcmVmZXJlbmNlLmxvY2FsZSA9PT0gXCJhclwiID8gXCJydGxcIiA6IFwibHRyXCI7XHJcbiAgICAgIGRpYWxvZ0NvbmZpZy5wYW5lbENsYXNzID0gXCJjdXN0b20tZGlhbG9nLWNvbnRhaW5lclwiO1xyXG4gICAgICBkaWFsb2dDb25maWcud2lkdGggPSBcIm1pbig5NCUsNzYwcHgpXCI7XHJcbiAgICAgIGRpYWxvZ0NvbmZpZy5tYXhXaWR0aCA9IFwiOTh2d1wiO1xyXG4gICAgICBkaWFsb2dDb25maWcuaGVpZ2h0ID0gXCI4MHZoXCI7XHJcbiAgICAgIGRpYWxvZ0NvbmZpZy5kaXNhYmxlQ2xvc2UgPSB0cnVlO1xyXG4gICAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5vcGVuKFxyXG4gICAgICAgIENvcnJlc3BvbmRlbmNlUmVsYXRpb25DcmVhdGVGb3JtQ29tcG9uZW50LFxyXG4gICAgICAgIGRpYWxvZ0NvbmZpZ1xyXG4gICAgICApO1xyXG4gIFxyXG4gICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICAgIHRoaXMucmVsb2FkID0gdHJ1ZTtcclxuICAgICAgICAgIC8vIHRoaXMuY29ycnJlbGF0aW9uc3ZjXHJcbiAgICAgICAgICAvLyAgIC5jcmVhdGVfTmFtZWRfUmVsYXRpb24odGhpcy5jb3JyX2lkLCByZXN1bHQucmVsYXRpb25uYW1lLCByZXN1bHQuZG9jcylcclxuICAgICAgICAgIC8vICAgLnN1YnNjcmliZShcclxuICAgICAgICAgIC8vICAgICAoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgLy8gICAgICAgdGhpcy5yZWxvYWQgPSB0cnVlO1xyXG4gICAgICAgICAgLy8gICAgICAgdGhpcy5jb3JycmVsYXRpb25zdmMuZ2V0VXBkYXRlZFJlbGF0aW9uLm5leHQoKTtcclxuICAgICAgICAgIC8vICAgICAgIHRoaXMudG9hc3RyLnNob3coXHJcbiAgICAgICAgICAvLyAgICAgICAgICdzdWNjZXNzJyxcclxuICAgICAgICAgIC8vICAgICAgICAgJ3N1Y2Nlc3MnLFxyXG4gICAgICAgICAgLy8gICAgICAgICAnUmVhbGF0aW9uIFN1Y2Nlc3NmdWx5IGFkZGVkJ1xyXG4gICAgICAgICAgLy8gICAgICAgKTtcclxuICAgICAgICAgIC8vICAgICB9LFxyXG4gICAgICAgICAgLy8gICAgIChlcnIpID0+IHtcclxuICAgICAgICAgIC8vICAgICAgIHRoaXMudG9hc3RyLnNob3coJ2Vycm9yJywgJ2Vycm9yJyxcclxuICAgICAgICAgIC8vICAgICAgICAgZXJyLnJldC5tZXNzYWdlID9cclxuICAgICAgICAgIC8vICAgICAgICAgICBgZXJyb3JzLiR7ZXJyLnJldC5jb2RlfWBcclxuICAgICAgICAgIC8vICAgICAgICAgICA6ICdnZW5lcmljRXJyb3InKTtcclxuICAgICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgICAvLyAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLm9wZW5EaWFsb2dGcm9tT3V0c2lkZS5lbWl0KHRydWUpO1xyXG4gICAgfVxyXG4gICBcclxuICB9XHJcblxyXG4gIGdldGFsbHJlbGF0ZWQoKSB7XHJcbiAgICB0aGlzLmNvcnJyZWxhdGlvbnN2Y1xyXG4gICAgICAuZ2V0X0NvcnJlc3BvbmRlbmNlX1JlbGF0aW9uX1dpdGhvdXRSZXBseSh0aGlzLmNvcnJfaWQpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdHMpID0+IHtcclxuICAgICAgICB0aGlzLnJlbGF0aW9uc19saXN0ID0gcmVzdWx0cztcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVBY3Rpb25zKGV2ZW50KSB7XHJcbiAgICBpZiAoZXZlbnQuYWN0aW9uID09PSBcInZpZXdcIikge1xyXG4gICAgICB0aGlzLnZpZXdfQ29ycmVzKGV2ZW50Lml0ZW0pO1xyXG4gICAgfSBlbHNlIGlmIChldmVudC5hY3Rpb24gPT09IFwiZGVsZXRlXCIpIHtcclxuICAgICAgdGhpcy5kZWxldGVSZWxhdGlvbihldmVudC5pdGVtKTtcclxuICAgIH0gZWxzZSBpZiAoZXZlbnQuYWN0aW9uID09PSBcInNob3dcIikge1xyXG4gICAgICB0aGlzLnNob3dDb3JyZXNwb25kZW5jZUluVmlld2VyKGV2ZW50Lml0ZW0udWlkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHZpZXdfQ29ycmVzKHJlbGF0aW9uKSB7XHJcbiAgICBpZihyZWxhdGlvbi51aWQpe1xyXG4gICAgICBsZXQgdXJsID0gd2luZG93LmxvY2F0aW9uLmhyZWY7XHJcbiAgICAgIHdpbmRvdy5vcGVuKHVybC5yZXBsYWNlKHRoaXMuY29ycl9pZCwgcmVsYXRpb24udWlkKSwgXCJfYmxhbmtcIik7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5vcGVuR2VuZXJhbE5vdGlmaWNhdGlvblBvcHVwKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAgIG9wZW5HZW5lcmFsTm90aWZpY2F0aW9uUG9wdXAoKXtcclxuICAgICAgdGhpcy5kaWFsb2dcclxuICAgICAgICAub3BlbihHZW5lcmFsTm90aWZpY2F0aW9uUG9wdXBDb21wb25lbnQsIHtcclxuICAgICAgICAgIHdpZHRoOiAnNTAwcHgnLFxyXG4gICAgICAgICAgcGFuZWxDbGFzczogJ3VwZGF0ZWQtZGVzaWduLWRpYWxvZydcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAgICAgLnBpcGUodGFrZSgxKSk7XHJcbiAgICB9XHJcblxyXG4gIHNob3dDb3JyZXNwb25kZW5jZUluVmlld2VyKGNvcnJlc19pZCkge1xyXG4gICAgaWYoY29ycmVzX2lkKXtcclxuICAgIHRoaXMuZG9jdW1lbnRzQXBpLmdldERvY3VtZW50KGNvcnJlc19pZCkuc3Vic2NyaWJlKChmaWxlKSA9PiB7XHJcbiAgICAgIHRoaXMudmlld2VyRmlsZXNTZXJ2aWNlLnVwZGF0ZVZpZXdlci5uZXh0KGZpbGUpO1xyXG4gICAgfSk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy5vcGVuR2VuZXJhbE5vdGlmaWNhdGlvblBvcHVwKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9wZW5Db25maXJtRGlhbG9nKGZ1bmN0aW9uVG9QZXJmb3JtLCB0aXRsZSwgbXNnKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kaWFsb2dcclxuICAgICAgLm9wZW4oQ29uZmlybUNhbGxlckRpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgIHdpZHRoOiBcIjQwMHB4XCIsXHJcbiAgICAgICAgcGFuZWxDbGFzczogXCJyZWxhdGlvbi1jb25maXJtLWRpYWxvZ1wiLFxyXG4gICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgIGNhbGw6IGZ1bmN0aW9uVG9QZXJmb3JtLFxyXG4gICAgICAgICAgdGl0bGU6IFwiZ2VuZXJpY0NvbmZpcm1cIixcclxuICAgICAgICAgIHRvYXN0clRpdGxlOiB0aXRsZSxcclxuICAgICAgICAgIHRvYXN0ck1zZzogbXNnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pXHJcbiAgICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAgIC5waXBlKHRha2UoMSkpO1xyXG4gIH1cclxuICBkZWxldGVSZWxhdGlvbihyZWxhdGVkZG9jKSB7XHJcbiAgICBsZXQgZnVuY3Rpb25Ub1BlcmZvcm0gPSAoKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvcnJyZWxhdGlvbnN2Yy5EZWxldGVfTmFtZWRfUmVsYXRpb24oXHJcbiAgICAgICAgdGhpcy5jb3JyX2lkLFxyXG4gICAgICAgIHJlbGF0ZWRkb2MucmVsYXRpb25JZCxcclxuICAgICAgICByZWxhdGVkZG9jLnVpZFxyXG4gICAgICApO1xyXG4gICAgfTtcclxuICAgIGxldCB0aXRsZSA9IFwiXCI7XHJcbiAgICBsZXQgbXNnID0gXCJcIjtcclxuICAgIHRoaXMub3BlbkNvbmZpcm1EaWFsb2coXHJcbiAgICAgIGZ1bmN0aW9uVG9QZXJmb3JtLFxyXG4gICAgICBcIlN1Y2Nlc3NcIixcclxuICAgICAgXCJjb3JyZXNwb25kZW5jZS1yZWxhdGlvbi5kZWxldGVkX3N1Y2Nlc3NcIlxyXG4gICAgKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgaWYgKGRhdGEpIHtcclxuICAgICAgICB0aGlzLmNvcnJyZWxhdGlvbnN2Yy5nZXRVcGRhdGVkUmVsYXRpb24ubmV4dCgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInJlbGF0aW9ucy1jb250YWluZXJcIj5cclxuICA8ZGl2ICBjbGFzcz1cIm1iLTMgcmVsYXRpb25zLXJlcGx5XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic3ViaGVhZGVyXCI+XHJcbiAgICAgIDxkaXY+e3sgXCJjb3JyZXNwb25kZW5jZS1yZWxhdGlvbi5yZXBseV9yZWxhdGlvblwiIHwgdHJhbnNsYXRlIH19PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxjdHMtY29ycmVzcG9uZGVuY2UtcmVsYXRpb24tcmVwbHlcclxuICAgICAgW2NvcnJlc3BvbmRlbmNlX2lkXT1cImNvcnJfaWRcIlxyXG4gICAgICAoYWN0aW9uY2xpY2tlZCk9XCJoYW5kbGVBY3Rpb25zKCRldmVudClcIlxyXG4gICAgPjwvY3RzLWNvcnJlc3BvbmRlbmNlLXJlbGF0aW9uLXJlcGx5PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwibWItMiByZWxhdGlvbnMtbGlzdGluZ1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cInN1YmhlYWRlclwiPlxyXG4gICAgICA8ZGl2Pnt7IFwiY29ycmVzcG9uZGVuY2UtcmVsYXRpb24udGl0bGVcIiB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiXCIgKnBlcm1pc3Npb249XCJ7XHJcbiAgICAgICAgbmFtZTogJ0FkZFJlbGF0ZWRDb3JyZXNwb25kZW5jZScsXHJcbiAgICAgICAgZW50aXR5OiBjb3JyZXNwb25kYW5jZSAsIHVzZXI6IG51eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyXHJcbiAgICAgIH1cIiAoY2xpY2spPVwib3BlbkRpYWxvZygpXCI+PG1hdC1pY29uPmFkZDwvbWF0LWljb24+PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxjdHMtY29ycmVzcG9uZGVuY2UtcmVsYXRpb24tbGlzdFxyXG4gICAgICBbY29ycmVzcG9uZGVuY2VfaWRdPVwiY29ycl9pZFwiXHJcbiAgICAgIFtyZWxvYWRdPVwicmVsb2FkXCJcclxuICAgICAgW3JlbW92ZVJlbGF0aW9uVGl0bGVGcm9tRXhwYW5zaW9uTGlzdF09XCJyZW1vdmVSZWxhdGlvblRpdGxlRnJvbUV4cGFuc2lvbkxpc3RcIlxyXG4gICAgPjwvY3RzLWNvcnJlc3BvbmRlbmNlLXJlbGF0aW9uLWxpc3Q+XHJcbiAgPC9kaXY+XHJcblxyXG5cclxuPC9kaXY+XHJcbiJdfQ==
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ycmVzcG9uZGVuY2UtcmVsYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvY29ycmVzcG9uZGVuY2UtcmVsYXRpb24vY29tcG9uZW50cy9jb3JyZXNwb25kZW5jZS1yZWxhdGlvbi9jb3JyZXNwb25kZW5jZS1yZWxhdGlvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9jb3JyZXNwb25kZW5jZS1yZWxhdGlvbi9jb21wb25lbnRzL2NvcnJlc3BvbmRlbmNlLXJlbGF0aW9uL2NvcnJlc3BvbmRlbmNlLXJlbGF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0UsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3RDLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLCtGQUErRixDQUFDO0FBQ2xKLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBSzdGLE9BQU8sRUFBRSx5Q0FBeUMsRUFBRSxNQUFNLHNGQUFzRixDQUFDOzs7Ozs7Ozs7Ozs7OztBQU1qSixNQUFNLE9BQU8sK0JBQStCO0lBYzFDLFlBQ1MsTUFBaUIsRUFDaEIsZUFBOEMsRUFDOUMsTUFBMkIsRUFDM0Isa0JBQXNDLEVBQ3RDLFlBQThCLEVBQzlCLGNBQXNDLEVBQ3ZDLFlBQTBCO1FBTjFCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDaEIsb0JBQWUsR0FBZixlQUFlLENBQStCO1FBQzlDLFdBQU0sR0FB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QUE2QjtvQkFDdkMsV0FBVyxFQUFFLDBDQUEwQztvQkFDdkQsU0FBUyxFQUFFLENBQUMsMENBQTBDLENBQUM7aUJBQ3hEOzhTQUdDLE9BQU87c0JBRE4sS0FBSztnQkFJTixjQUFjO3NCQURiLEtBQUs7Z0JBR04sd0JBQXdCO3NCQUR2QixLQUFLO2dCQUdOLG9DQUFvQztzQkFEbkMsS0FBSztnQkFLTixxQkFBcUI7c0JBRHBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE51eGVvU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvc2VydmljZXMvbnV4ZW8vbnV4ZW8uc2VydmljZSc7XHJcbmltcG9ydCB7IFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9jb3JlL3NlcnZpY2VzL3VzZXIvdXNlci1wcmVmZXJlbmNlcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgR2VuZXJhbE5vdGlmaWNhdGlvblBvcHVwQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vc2hhcmVkL2NvbXBvbmVudHMvZ2VuZXJhbC1ub3RpZmljYXRpb24tcG9wdXAvZ2VuZXJhbC1ub3RpZmljYXRpb24tcG9wdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29uZmlybUNhbGxlckRpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2NvbmZpcm0tY2FsbGVyL2NvbmZpcm0tY2FsbGVyLmRpYWxvZyc7XHJcbmltcG9ydCB7IEN1c3RvbVRvYXN0clNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jdXN0b20tdG9hc3RyL3NlcnZpY2VzL2N1c3RvbS10b2FzdHIuc2VydmljZSc7XHJcbmltcG9ydCB7IERvY3VtZW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9kb2N1bWVudHMvc2VydmljZXMvZG9jdW1lbnRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb3JyZXNwb25kZW5jZVJlbGF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvcnJlc3BvbmRlbmNlLXJlYWxhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVmlld2VyRmlsZXNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdmlld2VyLWZpbGVzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDb3JyZXNwb25kZW5jZVJlbGF0aW9uQ3JlYXRlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL2NvcnJlc3BvbmRlbmNlLXJlbGF0aW9uLWNyZWF0ZS1mb3JtL2NvcnJlc3BvbmRlbmNlLXJlbGF0aW9uLWNyZWF0ZS1mb3JtLmNvbXBvbmVudCc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY3RzLWNvcnJlc3BvbmRlbmNlLXJlbGF0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY29ycmVzcG9uZGVuY2UtcmVsYXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvcnJlc3BvbmRlbmNlLXJlbGF0aW9uLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIENvcnJlc3BvbmRlbmNlUmVsYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpXHJcbiAgY29ycl9pZDtcclxuICAvKiogQ29ycmVzcG9uZGFuY2UgKi9cclxuICBASW5wdXQoKVxyXG4gIGNvcnJlc3BvbmRhbmNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgY2FuT3BlbkRpYWxvZ0Zyb21PdXRzaWRlID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICByZW1vdmVSZWxhdGlvblRpdGxlRnJvbUV4cGFuc2lvbkxpc3QgPSBmYWxzZTtcclxuICByZWxhdGlvbnNfbGlzdDogYW55O1xyXG4gIHJlbG9hZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKVxyXG4gIG9wZW5EaWFsb2dGcm9tT3V0c2lkZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgY29ycnJlbGF0aW9uc3ZjOiBDb3JyZXNwb25kZW5jZVJlbGF0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgdG9hc3RyOiBDdXN0b21Ub2FzdHJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB2aWV3ZXJGaWxlc1NlcnZpY2U6IFZpZXdlckZpbGVzU2VydmljZSxcclxuICAgIHByaXZhdGUgZG9jdW1lbnRzQXBpOiBEb2N1bWVudHNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB1c2VyUHJlZmVyZW5jZTogVXNlclByZWZlcmVuY2VzU2VydmljZSxcclxuICAgIHB1YmxpYyBudXhlb1NlcnZpY2U6IE51eGVvU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdldGFsbHJlbGF0ZWQoKTtcclxuICAgIHRoaXMuY29ycnJlbGF0aW9uc3ZjLmdldFVwZGF0ZWRSZWxhdGlvbi5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICB0aGlzLmdldGFsbHJlbGF0ZWQoKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb3BlbkRpYWxvZygpIHtcclxuICAgIGlmICghdGhpcy5jYW5PcGVuRGlhbG9nRnJvbU91dHNpZGUpIHtcclxuICAgICAgbGV0IGRhdGEgPSB7fTtcclxuICAgICAgaWYgKHRoaXMucmVsYXRpb25zX2xpc3QpXHJcbiAgICAgICAgZGF0YSA9IHtcclxuICAgICAgICAgIGV4aXN0X3JlbGF0aW9uc19saXN0OiB0aGlzLnJlbGF0aW9uc19saXN0LnZhbHVlLFxyXG4gICAgICAgICAgY29ycmVzcG9uZGFuY2U6IHRoaXMuY29ycmVzcG9uZGFuY2UsXHJcbiAgICAgICAgICBjb3JyX2lkOiB0aGlzLmNvcnJfaWRcclxuICAgICAgICB9O1xyXG4gICAgICBlbHNlIGRhdGEgPSB7IGV4aXN0X3JlbGF0aW9uc19saXN0OiBbXSB9O1xyXG5cclxuXHJcbiAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oXHJcbiAgICAgICAgQ29ycmVzcG9uZGVuY2VSZWxhdGlvbkNyZWF0ZUZvcm1Db21wb25lbnQsXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgcGFuZWxDbGFzczogJ2N1c3RvbS1kaWFsb2ctY29udGFpbmVyJyxcclxuICAgICAgICAgIHdpZHRoOiAnbWluKDk0JSw3NjBweCknLFxyXG4gICAgICAgICAgbWF4V2lkdGg6ICc5OHZ3JyxcclxuICAgICAgICAgIGhlaWdodDogJzgwdmgnLFxyXG4gICAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG4gICAgICAgICAgZGlyZWN0aW9uOiB0aGlzLnVzZXJQcmVmZXJlbmNlLmxvY2FsZSA9PT0gJ2FyJyA/ICdydGwnIDogJ2x0cicsXHJcbiAgICAgICAgICBkYXRhOiBkYXRhXHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG5cclxuICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICB0aGlzLnJlbG9hZCA9IHRydWU7XHJcbiAgICAgICAgICAvLyB0aGlzLmNvcnJyZWxhdGlvbnN2Y1xyXG4gICAgICAgICAgLy8gICAuY3JlYXRlX05hbWVkX1JlbGF0aW9uKHRoaXMuY29ycl9pZCwgcmVzdWx0LnJlbGF0aW9ubmFtZSwgcmVzdWx0LmRvY3MpXHJcbiAgICAgICAgICAvLyAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAvLyAgICAgKGRhdGEpID0+IHtcclxuICAgICAgICAgIC8vICAgICAgIHRoaXMucmVsb2FkID0gdHJ1ZTtcclxuICAgICAgICAgIC8vICAgICAgIHRoaXMuY29ycnJlbGF0aW9uc3ZjLmdldFVwZGF0ZWRSZWxhdGlvbi5uZXh0KCk7XHJcbiAgICAgICAgICAvLyAgICAgICB0aGlzLnRvYXN0ci5zaG93KFxyXG4gICAgICAgICAgLy8gICAgICAgICAnc3VjY2VzcycsXHJcbiAgICAgICAgICAvLyAgICAgICAgICdzdWNjZXNzJyxcclxuICAgICAgICAgIC8vICAgICAgICAgJ1JlYWxhdGlvbiBTdWNjZXNzZnVseSBhZGRlZCdcclxuICAgICAgICAgIC8vICAgICAgICk7XHJcbiAgICAgICAgICAvLyAgICAgfSxcclxuICAgICAgICAgIC8vICAgICAoZXJyKSA9PiB7XHJcbiAgICAgICAgICAvLyAgICAgICB0aGlzLnRvYXN0ci5zaG93KCdlcnJvcicsICdlcnJvcicsXHJcbiAgICAgICAgICAvLyAgICAgICAgIGVyci5yZXQubWVzc2FnZSA/XHJcbiAgICAgICAgICAvLyAgICAgICAgICAgYGVycm9ycy4ke2Vyci5yZXQuY29kZX1gXHJcbiAgICAgICAgICAvLyAgICAgICAgICAgOiAnZ2VuZXJpY0Vycm9yJyk7XHJcbiAgICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgICAgLy8gICApO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9wZW5EaWFsb2dGcm9tT3V0c2lkZS5lbWl0KHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0YWxscmVsYXRlZCgpIHtcclxuICAgIHRoaXMuY29ycnJlbGF0aW9uc3ZjXHJcbiAgICAgIC5nZXRfQ29ycmVzcG9uZGVuY2VfUmVsYXRpb25fV2l0aG91dFJlcGx5KHRoaXMuY29ycl9pZClcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0cykgPT4ge1xyXG4gICAgICAgIHRoaXMucmVsYXRpb25zX2xpc3QgPSByZXN1bHRzO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUFjdGlvbnMoZXZlbnQpIHtcclxuICAgIGlmIChldmVudC5hY3Rpb24gPT09ICd2aWV3Jykge1xyXG4gICAgICB0aGlzLnZpZXdfQ29ycmVzKGV2ZW50Lml0ZW0pO1xyXG4gICAgfSBlbHNlIGlmIChldmVudC5hY3Rpb24gPT09ICdkZWxldGUnKSB7XHJcbiAgICAgIHRoaXMuZGVsZXRlUmVsYXRpb24oZXZlbnQuaXRlbSk7XHJcbiAgICB9IGVsc2UgaWYgKGV2ZW50LmFjdGlvbiA9PT0gJ3Nob3cnKSB7XHJcbiAgICAgIHRoaXMuc2hvd0NvcnJlc3BvbmRlbmNlSW5WaWV3ZXIoZXZlbnQuaXRlbS51aWQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdmlld19Db3JyZXMocmVsYXRpb24pIHtcclxuICAgIGlmIChyZWxhdGlvbi51aWQpIHtcclxuICAgICAgbGV0IHVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmO1xyXG4gICAgICB3aW5kb3cub3Blbih1cmwucmVwbGFjZSh0aGlzLmNvcnJfaWQsIHJlbGF0aW9uLnVpZCksICdfYmxhbmsnKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub3BlbkdlbmVyYWxOb3RpZmljYXRpb25Qb3B1cCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3BlbkdlbmVyYWxOb3RpZmljYXRpb25Qb3B1cCgpIHtcclxuICAgIHRoaXMuZGlhbG9nXHJcbiAgICAgIC5vcGVuKEdlbmVyYWxOb3RpZmljYXRpb25Qb3B1cENvbXBvbmVudCwge1xyXG4gICAgICAgIHdpZHRoOiAnNTAwcHgnLFxyXG4gICAgICAgIHBhbmVsQ2xhc3M6ICd1cGRhdGVkLWRlc2lnbi1kaWFsb2cnXHJcbiAgICAgIH0pXHJcbiAgICAgIC5hZnRlckNsb3NlZCgpXHJcbiAgICAgIC5waXBlKHRha2UoMSkpO1xyXG4gIH1cclxuXHJcbiAgc2hvd0NvcnJlc3BvbmRlbmNlSW5WaWV3ZXIoY29ycmVzX2lkKSB7XHJcbiAgICBpZiAoY29ycmVzX2lkKSB7XHJcbiAgICAgIHRoaXMuZG9jdW1lbnRzQXBpLmdldERvY3VtZW50KGNvcnJlc19pZCkuc3Vic2NyaWJlKChmaWxlKSA9PiB7XHJcbiAgICAgICAgdGhpcy52aWV3ZXJGaWxlc1NlcnZpY2UudXBkYXRlVmlld2VyLm5leHQoZmlsZSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vcGVuR2VuZXJhbE5vdGlmaWNhdGlvblBvcHVwKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG9wZW5Db25maXJtRGlhbG9nKGZ1bmN0aW9uVG9QZXJmb3JtLCB0aXRsZSwgbXNnKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kaWFsb2dcclxuICAgICAgLm9wZW4oQ29uZmlybUNhbGxlckRpYWxvZ0NvbXBvbmVudCwge1xyXG4gICAgICAgIHdpZHRoOiAnbWluKDgwJSw0MDBweCknLFxyXG4gICAgICAgIHBhbmVsQ2xhc3M6ICdyZWxhdGlvbi1jb25maXJtLWRpYWxvZycsXHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgY2FsbDogZnVuY3Rpb25Ub1BlcmZvcm0sXHJcbiAgICAgICAgICB0aXRsZTogJ2dlbmVyaWNDb25maXJtJyxcclxuICAgICAgICAgIHRvYXN0clRpdGxlOiB0aXRsZSxcclxuICAgICAgICAgIHRvYXN0ck1zZzogbXNnXHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgICAuYWZ0ZXJDbG9zZWQoKVxyXG4gICAgICAucGlwZSh0YWtlKDEpKTtcclxuICB9XHJcbiAgZGVsZXRlUmVsYXRpb24ocmVsYXRlZGRvYykge1xyXG4gICAgbGV0IGZ1bmN0aW9uVG9QZXJmb3JtID0gKCkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb3JycmVsYXRpb25zdmMuRGVsZXRlX05hbWVkX1JlbGF0aW9uKFxyXG4gICAgICAgIHRoaXMuY29ycl9pZCxcclxuICAgICAgICByZWxhdGVkZG9jLnJlbGF0aW9uSWQsXHJcbiAgICAgICAgcmVsYXRlZGRvYy51aWRcclxuICAgICAgKTtcclxuICAgIH07XHJcbiAgICBsZXQgdGl0bGUgPSAnJztcclxuICAgIGxldCBtc2cgPSAnJztcclxuICAgIHRoaXMub3BlbkNvbmZpcm1EaWFsb2coXHJcbiAgICAgIGZ1bmN0aW9uVG9QZXJmb3JtLFxyXG4gICAgICAnU3VjY2VzcycsXHJcbiAgICAgICdjb3JyZXNwb25kZW5jZS1yZWxhdGlvbi5kZWxldGVkX3N1Y2Nlc3MnXHJcbiAgICApLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgIHRoaXMuY29ycnJlbGF0aW9uc3ZjLmdldFVwZGF0ZWRSZWxhdGlvbi5uZXh0KCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwicmVsYXRpb25zLWNvbnRhaW5lclwiPlxyXG4gIDxkaXYgIGNsYXNzPVwibWItMyByZWxhdGlvbnMtcmVwbHlcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJzdWJoZWFkZXJcIj5cclxuICAgICAgPGRpdj57eyBcImNvcnJlc3BvbmRlbmNlLXJlbGF0aW9uLnJlcGx5X3JlbGF0aW9uXCIgfCB0cmFuc2xhdGUgfX08L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGN0cy1jb3JyZXNwb25kZW5jZS1yZWxhdGlvbi1yZXBseVxyXG4gICAgICBbY29ycmVzcG9uZGVuY2VfaWRdPVwiY29ycl9pZFwiXHJcbiAgICAgIChhY3Rpb25jbGlja2VkKT1cImhhbmRsZUFjdGlvbnMoJGV2ZW50KVwiXHJcbiAgICA+PC9jdHMtY29ycmVzcG9uZGVuY2UtcmVsYXRpb24tcmVwbHk+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJtYi0yIHJlbGF0aW9ucy1saXN0aW5nXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwic3ViaGVhZGVyXCI+XHJcbiAgICAgIDxkaXY+e3sgXCJjb3JyZXNwb25kZW5jZS1yZWxhdGlvbi50aXRsZVwiIHwgdHJhbnNsYXRlIH19PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJcIiAqcGVybWlzc2lvbj1cIntcclxuICAgICAgICBuYW1lOiAnQWRkUmVsYXRlZENvcnJlc3BvbmRlbmNlJyxcclxuICAgICAgICBlbnRpdHk6IGNvcnJlc3BvbmRhbmNlICwgdXNlcjogbnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXJcclxuICAgICAgfVwiIChjbGljayk9XCJvcGVuRGlhbG9nKClcIj48bWF0LWljb24+YWRkPC9tYXQtaWNvbj48L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGN0cy1jb3JyZXNwb25kZW5jZS1yZWxhdGlvbi1saXN0XHJcbiAgICAgIFtjb3JyZXNwb25kZW5jZV9pZF09XCJjb3JyX2lkXCJcclxuICAgICAgW3JlbG9hZF09XCJyZWxvYWRcIlxyXG4gICAgICBbcmVtb3ZlUmVsYXRpb25UaXRsZUZyb21FeHBhbnNpb25MaXN0XT1cInJlbW92ZVJlbGF0aW9uVGl0bGVGcm9tRXhwYW5zaW9uTGlzdFwiXHJcbiAgICA+PC9jdHMtY29ycmVzcG9uZGVuY2UtcmVsYXRpb24tbGlzdD5cclxuICA8L2Rpdj5cclxuXHJcblxyXG48L2Rpdj5cclxuIl19
@@ -91,7 +91,7 @@ export class VersionsComponent {
91
91
  }
92
92
  }
93
93
  VersionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VersionsComponent, deps: [{ token: i1.ViewerFilesService }, { token: i2.TranslationService }, { token: i3.DocumentsService }], target: i0.ɵɵFactoryTarget.Component });
94
- VersionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VersionsComponent, selector: "cts-versions", inputs: { selectedVersion: "selectedVersion", file: "file", actions: "actions", currentTranslation: "currentTranslation", originTranslation: "originTranslation", historyTranslation: "historyTranslation", showUserCard: "showUserCard" }, outputs: { handleActions: "handleActions" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-col\">\r\n<div class=\"viewer-attachments\">\r\n <div class=\"subheader\">\r\n <div> {{ currentTranslation | translate }}</div>\r\n\r\n </div>\r\n <div class=\"attachments-list\">\r\n <mat-list>\r\n <div class=\"mat-list-items\">\r\n <cts-item-list [item]=\"file\" [title]=\"file.title\" [iconname]=\"'description'\" [moreclasses]=\"'text-danger'\"\r\n [actions]=\"actions\" (itemClicked)=\"showVersion(file)\" (actionclicked)=\"handleAction($event)\">\r\n <div class=\"description\">\r\n <div class=\"file-size\">\r\n {{ getFileSize(file)}}\r\n </div>\r\n {{getVersion(file)}}\r\n -\r\n {{ file.lastModified | localizedDate : '' : (isArabic? 'ar-AR' : 'en-US') }}\r\n </div>\r\n </cts-item-list>\r\n </div>\r\n </mat-list>\r\n </div>\r\n</div>\r\n\r\n<div class=\"viewer-attachments original-section\" *ngIf=\"versions.length > 0\" >\r\n <div class=\"subheader\">\r\n <div>{{ originTranslation | translate }}</div>\r\n </div>\r\n <div class=\"attachments-list\">\r\n <mat-list>\r\n <div class=\"mat-list-items\">\r\n <cts-item-list [item]=\"versions[versions.length -1]\" [title]=\"versions[versions.length -1].title\"\r\n [iconname]=\"'description'\" [moreclasses]=\"'text-danger'\" [actions]=\"actions\"\r\n (itemClicked)=\"showVersion(versions[versions.length -1])\" (actionclicked)=\"handleAction($event)\">\r\n\r\n </cts-item-list>\r\n </div>\r\n </mat-list>\r\n </div>\r\n</div>\r\n\r\n<div class=\"viewer-attachments\" [ngClass]=\"{'viewer-attachment-with-user-card' : showUserCard}\" *permission=\"{name: 'viewVersions', entity: file}\">\r\n <div class=\"subheader\">\r\n <div> {{ historyTranslation | translate }}</div>\r\n\r\n </div>\r\n <div class=\"attachments-list\" *ngIf=\"versions.length > 0\">\r\n <ng-container>\r\n <mat-list>\r\n <div class=\"mat-list-items\" *ngFor=\"let version of versions ;let cnt = count; let i = index\">\r\n <cts-item-list [item]=\"version\" [title]=\"version.title + '-' + getVersion(version)\" [iconname]=\"'description'\"\r\n [moreclasses]=\"'text-danger'\" (itemClicked)=\"showVersion(version)\" [actions]=\"actions\" (actionclicked)=\"handleAction($event)\">\r\n <div class=\"description\">\r\n <div class=\"file-size\">\r\n {{ getFileSize(version)}}\r\n </div>\r\n {{getVersion(version)}}\r\n -\r\n {{ version.lastModified | localizedDate : '' : (isArabic? 'ar-AR' : 'en-US') }}\r\n <span class=\"version-contributor font-weight-bold\">\r\n\r\n {{\r\n version.properties.lastContributor.id === 'system' ?\r\n ('SYSTEM_ADMIN' | translate) : (\r\n isArabic ? (version.properties.lastContributor.fullNameAr ? version.properties.lastContributor.fullNameAr : (version.properties.lastContributor.properties.firstName + \" \" + version.properties.lastContributor.properties.lastName)) : \r\n ( version.properties.lastContributor.properties.firstName + \" \" + version.properties.lastContributor.properties.lastName)\r\n )\r\n }}\r\n <div class=\"contributor-card-details\" (click)=\"$event.stopPropagation()\" *ngIf=\"showUserCard\">\r\n <div class=\"user-img\">\r\n <img class=\"user-avatar\" [src]=\"version.properties.lastContributor.avatar\">\r\n </div>\r\n <div class=\"user-details\">\r\n <div class=\"user-name\">{{isArabic ? version.properties.lastContributor.fullNameAr : version.properties.lastContributor.fullName}}</div>\r\n <div class=\"user-position\">{{(isArabic && version.properties.lastContributor.jobGradeAr) ? version.properties.lastContributor.jobGradeAr : (version.properties.lastContributor.jobGrade ? version.properties.lastContributor.jobGrade : '--')}}</div>\r\n </div>\r\n </div>\r\n </span>\r\n </div>\r\n </cts-item-list>\r\n </div>\r\n </mat-list>\r\n </ng-container>\r\n </div>\r\n <div class=\"version-loading\" *ngIf=\"fetching\">\r\n <mat-spinner color=\"warn\" [diameter]=\"25\"></mat-spinner>\r\n </div>\r\n <div *ngIf=\"(!fetching && versions.length === 0)\">\r\n <cts-no-data></cts-no-data>\r\n </div>\r\n</div>\r\n</div>\r\n<ng-template #noEntry>\r\n\r\n</ng-template>", styles: [".viewer-attachments .attachments-list .version-contributor{position:relative}.viewer-attachments .attachments-list .version-contributor .contributor-card-details{position:absolute;z-index:99999;display:none;min-width:250px;padding:28px 16px;align-items:center;grid-gap:8px;gap:8px;border-radius:4px;background:#FFF;cursor:default;box-shadow:0 -1px 4px #1c34541a,0 1px 4px -1px #1c345426}.viewer-attachments .attachments-list .version-contributor .contributor-card-details .user-img img{width:40px;height:40px;min-width:40px;border-radius:48px;border:1px solid var(--Outline-Card, #DCDCE4)}.viewer-attachments .attachments-list .version-contributor .contributor-card-details .user-details{text-align:start}.viewer-attachments .attachments-list .version-contributor .contributor-card-details .user-details .user-name{color:#234990;font-size:14px;font-family:\"semiBoldPoppins\";font-weight:bold}.viewer-attachments .attachments-list .version-contributor .contributor-card-details .user-details .user-position{color:#5d6481;font-size:12px}.viewer-attachments .attachments-list .version-contributor:hover .contributor-card-details{display:flex}.viewer-attachments .attachments-list .mat-list-items .description .file-size{display:none}.viewer-attachments .version-loading{display:flex;justify-content:center;padding:10px 0}\n"], components: [{ type: i4.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { type: i5.ItemListComponent, selector: "cts-item-list", inputs: ["item", "iconname", "title", "actions", "isselected", "moreclasses"], outputs: ["itemClicked", "actionclicked"] }, { type: i6.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: i7.NoDataComponent, selector: "cts-no-data", inputs: ["message", "border", "img"] }], directives: [{ type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i10.TranslatePipe, "localizedDate": i11.LocalizedDatePipe } });
94
+ VersionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: VersionsComponent, selector: "cts-versions", inputs: { selectedVersion: "selectedVersion", file: "file", actions: "actions", currentTranslation: "currentTranslation", originTranslation: "originTranslation", historyTranslation: "historyTranslation", showUserCard: "showUserCard" }, outputs: { handleActions: "handleActions" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-col\">\r\n<div class=\"viewer-attachments\">\r\n <div class=\"subheader\">\r\n <div> {{ currentTranslation | translate }}</div>\r\n\r\n </div>\r\n <div class=\"attachments-list\">\r\n <mat-list>\r\n <div class=\"mat-list-items\">\r\n <cts-item-list [item]=\"file\" [title]=\"file.title\" [iconname]=\"'description'\" [moreclasses]=\"'text-danger'\"\r\n [actions]=\"actions\" (itemClicked)=\"showVersion(file)\" (actionclicked)=\"handleAction($event)\">\r\n <div class=\"description\">\r\n <div class=\"file-size\">\r\n {{ getFileSize(file)}}\r\n </div>\r\n {{getVersion(file)}}\r\n -\r\n {{ file.lastModified | localizedDate : '' : (isArabic? 'ar-AR' : 'en-US') }}\r\n </div>\r\n </cts-item-list>\r\n </div>\r\n </mat-list>\r\n </div>\r\n</div>\r\n\r\n<div class=\"viewer-attachments original-section\" *ngIf=\"versions.length > 0\" >\r\n <div class=\"subheader\">\r\n <div>{{ originTranslation | translate }}</div>\r\n </div>\r\n <div class=\"attachments-list\">\r\n <mat-list>\r\n <div class=\"mat-list-items\">\r\n <cts-item-list [item]=\"versions[versions.length -1]\" [title]=\"versions[versions.length -1].title\"\r\n [iconname]=\"'description'\" [moreclasses]=\"'text-danger'\" [actions]=\"actions\"\r\n (itemClicked)=\"showVersion(versions[versions.length -1])\" (actionclicked)=\"handleAction($event)\">\r\n\r\n </cts-item-list>\r\n </div>\r\n </mat-list>\r\n </div>\r\n</div>\r\n\r\n<div class=\"viewer-attachments\" [ngClass]=\"{'viewer-attachment-with-user-card' : showUserCard}\" *permission=\"{name: 'viewVersions', entity: file}\">\r\n <div class=\"subheader\">\r\n <div> {{ historyTranslation | translate }}</div>\r\n\r\n </div>\r\n <div class=\"attachments-list\" *ngIf=\"versions.length > 0\">\r\n <ng-container>\r\n <mat-list>\r\n <div class=\"mat-list-items\" *ngFor=\"let version of versions ;let cnt = count; let i = index\">\r\n <cts-item-list [item]=\"version\" [title]=\"version.title + '-' + getVersion(version)\" [iconname]=\"'description'\"\r\n [moreclasses]=\"'text-danger'\" (itemClicked)=\"showVersion(version)\" [actions]=\"actions\" (actionclicked)=\"handleAction($event)\">\r\n <div class=\"description\">\r\n <div class=\"file-size\">\r\n {{ getFileSize(version)}}\r\n </div>\r\n {{getVersion(version)}}\r\n -\r\n {{ version.lastModified | localizedDate : '' : (isArabic? 'ar-AR' : 'en-US') }}\r\n <span class=\"version-contributor font-weight-bold\">\r\n\r\n {{\r\n version.properties.lastContributor.id === 'system' ?\r\n ('SYSTEM_ADMIN' | translate) : (\r\n isArabic ? (version.properties.lastContributor.fullNameAr ? version.properties.lastContributor.fullNameAr : (version.properties.lastContributor.properties.firstName + \" \" + version.properties.lastContributor.properties.lastName)) : \r\n ( version.properties.lastContributor.properties.firstName + \" \" + version.properties.lastContributor.properties.lastName)\r\n )\r\n }}\r\n <div class=\"contributor-card-details\" (click)=\"$event.stopPropagation()\" *ngIf=\"showUserCard\">\r\n <div class=\"user-img\">\r\n <img class=\"user-avatar\" [src]=\"version.properties.lastContributor.avatar\">\r\n </div>\r\n <div class=\"user-details\">\r\n <div class=\"user-name\">{{isArabic ? version.properties.lastContributor.fullNameAr : version.properties.lastContributor.fullName}}</div>\r\n <div class=\"user-position\">{{(isArabic && version.properties.lastContributor.jobGradeAr) ? version.properties.lastContributor.jobGradeAr : (version.properties.lastContributor.jobGrade ? version.properties.lastContributor.jobGrade : '--')}}</div>\r\n </div>\r\n </div>\r\n </span>\r\n </div>\r\n </cts-item-list>\r\n </div>\r\n </mat-list>\r\n </ng-container>\r\n </div>\r\n <div class=\"version-loading\" *ngIf=\"fetching\">\r\n <mat-spinner color=\"warn\" [diameter]=\"25\"></mat-spinner>\r\n </div>\r\n <div *ngIf=\"(!fetching && versions.length === 0)\">\r\n <cts-no-data></cts-no-data>\r\n </div>\r\n</div>\r\n</div>\r\n<ng-template #noEntry>\r\n\r\n</ng-template>", styles: [".viewer-attachments .attachments-list .version-contributor{position:relative}.viewer-attachments .attachments-list .version-contributor .contributor-card-details{position:absolute;z-index:99999;display:none;min-width:250px;padding:28px 16px;align-items:center;grid-gap:8px;gap:8px;border-radius:4px;background:#fff;cursor:default;box-shadow:0 -1px 4px #1c34541a,0 1px 4px -1px #1c345426}.viewer-attachments .attachments-list .version-contributor .contributor-card-details .user-img img{width:40px;height:40px;min-width:40px;border-radius:48px;border:1px solid var(--Outline-Card, #dcdce4)}.viewer-attachments .attachments-list .version-contributor .contributor-card-details .user-details{text-align:start}.viewer-attachments .attachments-list .version-contributor .contributor-card-details .user-details .user-name{color:#234990;font-size:14px;font-family:var(--main-title-font-family, \"semiBoldPoppins\");font-weight:bold}.viewer-attachments .attachments-list .version-contributor .contributor-card-details .user-details .user-position{color:#5d6481;font-size:12px}.viewer-attachments .attachments-list .version-contributor:hover .contributor-card-details{display:flex}.viewer-attachments .attachments-list .mat-list-items .description .file-size{display:none}.viewer-attachments .version-loading{display:flex;justify-content:center;padding:10px 0}\n"], components: [{ type: i4.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { type: i5.ItemListComponent, selector: "cts-item-list", inputs: ["item", "iconname", "title", "actions", "isselected", "moreclasses"], outputs: ["itemClicked", "actionclicked"] }, { type: i6.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: i7.NoDataComponent, selector: "cts-no-data", inputs: ["message", "border", "img"] }], directives: [{ type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i10.TranslatePipe, "localizedDate": i11.LocalizedDatePipe } });
95
95
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: VersionsComponent, decorators: [{
96
96
  type: Component,
97
97
  args: [{
@@ -65,6 +65,28 @@ export class DepartmentApiService {
65
65
  },
66
66
  });
67
67
  }
68
+ getObsoletDepartmentDetails(code, customPageProvider) {
69
+ let params = {
70
+ pageProvider: 'PP_Department_WithObsolete_ElasticSearch',
71
+ currentPageIndex: 0,
72
+ offset: 0,
73
+ pageSize: 40,
74
+ dublincore_title: code,
75
+ };
76
+ if (this.globalAdminService.isGlobalAdmin) {
77
+ params['queryParams'] = this.globalAdminService.activeTenant;
78
+ }
79
+ else if (!this.globalAdminService.isGlobalAdmin && this.nuxeoService.nuxeoClient.user.properties.tenantId) {
80
+ params['queryParams'] = this.nuxeoService.nuxeoClient.user.properties.tenantId;
81
+ }
82
+ return this.CallApiService.query(Object.assign({}, params), {
83
+ headers: {
84
+ 'X-NXproperties': '*',
85
+ 'enrichers-document': 'children',
86
+ depth: 'max',
87
+ },
88
+ });
89
+ }
68
90
  getDepartmentNestedTree(code, customPageProvider, customParentCodeProperty) {
69
91
  let params = {};
70
92
  customParentCodeProperty ? (params[customParentCodeProperty] = code) : (params = { 'department_parentDepartmentCode': code });
@@ -256,4 +278,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
256
278
  type: Inject,
257
279
  args: ['environment']
258
280
  }] }]; }, propDecorators: { getDepartmentTree: [], getDepartmentDetails: [], getDepartmentNestedTree: [], createDepartment: [], createDepartmentInRoot: [], updateDepartment: [], getFullDepartmentTree: [] } });
259
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwYXJ0bWVudC1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS1kZXBhcnRtZW50L3NlcnZpY2VzL2RlcGFydG1lbnQtYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBZ0IsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxJQUFJLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7QUFFNUUsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztBQUMxRCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDO0FBQzVCLGNBQWM7QUFLZCxNQUFNLE9BQU8sb0JBQW9CO0lBRS9CLFlBQ1UsY0FBOEIsRUFDOUIsV0FBK0IsRUFDL0IsWUFBMEIsRUFDMUIsT0FBdUIsRUFDdkIsa0JBQXVDLEVBQ2hCLFdBQVc7UUFMbEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUMvQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2Qix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXFCO1FBQ2hCLGdCQUFXLEdBQVgsV0FBVyxDQUFBO1FBRTFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQzFDLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQVFELGlCQUFpQixDQUFDLGtCQUFtQixFQUFDLFlBQWE7UUFDakQsSUFBSSxHQUFHLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMzQyxJQUFJLE1BQU0sbUJBQ1IsWUFBWSxFQUFFLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUN2RSxnQkFBZ0IsRUFBRSxDQUFDLEVBQ25CLE1BQU0sRUFBRSxDQUFDLEVBQ1QsUUFBUSxFQUFFLEVBQUUsRUFDWixZQUFZLEVBQUUsYUFBYSxJQUN4QixHQUFHLENBQ1AsQ0FBQTtRQUNELElBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsRUFBQztZQUN2QyxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQTtTQUM3RDthQUFLLElBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFDO1lBQ3hHLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQTtTQUMvRTtRQUNELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLG1CQUV6QixNQUFNLEdBRVg7WUFDRSxPQUFPLEVBQUU7Z0JBQ1AsZ0JBQWdCLEVBQUUsR0FBRztnQkFDckIsb0JBQW9CLEVBQUUsVUFBVTtnQkFDaEMsS0FBSyxFQUFFLEtBQUs7YUFDYjtTQUNGLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFRRCxvQkFBb0IsQ0FBQyxJQUFJLEVBQUcsa0JBQW1CO1FBQzdDLElBQUksTUFBTSxHQUFHO1lBQ1gsWUFBWSxFQUFFLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQSxDQUFDLENBQUMsa0NBQWtDO1lBQ3pGLGdCQUFnQixFQUFFLENBQUM7WUFDbkIsTUFBTSxFQUFFLENBQUM7WUFDVCxRQUFRLEVBQUUsRUFBRTtZQUNaLGdCQUFnQixFQUFFLElBQUk7U0FDdkIsQ0FBQTtRQUNELElBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsRUFBQztZQUN2QyxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQTtTQUM3RDthQUFLLElBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFDO1lBQ3hHLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQTtTQUMvRTtRQUNELE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLG1CQUV6QixNQUFNLEdBRVg7WUFDRSxPQUFPLEVBQUU7Z0JBQ1AsZ0JBQWdCLEVBQUUsR0FBRztnQkFDckIsb0JBQW9CLEVBQUUsVUFBVTtnQkFDaEMsS0FBSyxFQUFFLEtBQUs7YUFDYjtTQUNGLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFRRCx1QkFBdUIsQ0FBQyxJQUFJLEVBQUcsa0JBQW1CLEVBQUcsd0JBQXlCO1FBQzVFLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztRQUNmLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxFQUFDLGlDQUFpQyxFQUFFLElBQUksRUFBQyxDQUFDLENBQUE7UUFDNUgsSUFBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFDO1lBQ3hDLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFBO1NBQzdEO2FBQUssSUFBRyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUM7WUFDeEcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFBO1NBQy9FO1FBQ0QsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssaUJBRTVCLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFDdkUsZ0JBQWdCLEVBQUUsQ0FBQyxFQUNuQixNQUFNLEVBQUUsQ0FBQyxFQUNULFFBQVEsRUFBRSxFQUFFLElBQ1QsTUFBTSxHQUVYO1lBQ0UsT0FBTyxFQUFFO2dCQUNQLGdCQUFnQixFQUFFLEdBQUc7Z0JBQ3JCLG9CQUFvQixFQUFFLFVBQVU7Z0JBQ2hDLEtBQUssRUFBRSxLQUFLO2FBQ2I7U0FDRixDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsYUFBYSxDQUFDLEdBQUcsRUFBRyxNQUFPO1FBQ3pCLE9BQU8sSUFBSSxDQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVzthQUMxQixVQUFVLEVBQUU7YUFDWixPQUFPLENBQUM7WUFDUCxnQkFBZ0IsRUFBRSxHQUFHO1NBQ3RCLENBQUM7YUFDRCxLQUFLLENBQUMsR0FBRyxDQUFDLENBQ2QsQ0FBQyxJQUFJLENBQ0osR0FBRyxDQUFDLENBQUMsSUFBUyxFQUFFLEVBQUU7WUFDaEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xGLENBQUMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pCLE1BQU0sR0FBRyxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxVQUFVO0lBSVYsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRyxlQUFnQixFQUFHLE1BQU87UUFDaEUsSUFBSSxPQUFPLEdBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQzlDLFVBQVUsRUFDVixNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUM3QyxFQUFDLENBQUM7UUFDSCxJQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUM7WUFDdkMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUE7U0FDM0Q7UUFFRCxPQUFPLElBQUksQ0FDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVc7YUFDMUIsU0FBUyxDQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFBLENBQUMsQ0FBQyx5QkFBeUIsRUFBRztZQUN6RSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFO1NBQ3JFLENBQUM7YUFDRCxLQUFLLENBQUMsUUFBUSxDQUFDO2FBQ2YsT0FBTyxtQkFDSCxPQUFPLEVBQ1Y7YUFDRCxPQUFPLEVBQUUsQ0FDYixDQUFDLElBQUksQ0FDSixVQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNqQixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2pCLE1BQU0sR0FBRyxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFLRCxzQkFBc0IsQ0FBQyxVQUFVLEVBQUcsZUFBZ0I7UUFDbEQsSUFBSSxPQUFPLEdBQUc7WUFDWixVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQy9CLFVBQVUsRUFDVixtQkFBbUIsQ0FBQyxNQUFNLENBQzNCO1NBQ0YsQ0FBQTtRQUNELElBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsRUFBQztZQUN2QyxPQUFPLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQTtTQUMzRDtRQUNELE9BQU8sSUFBSSxDQUNULElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVzthQUMxQixTQUFTLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLGdDQUFnQyxFQUFFO1lBQy9FLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLEVBQUU7U0FDckUsQ0FBQzthQUNELE9BQU8sbUJBQ0gsT0FBTyxFQUNWO2FBQ0QsT0FBTyxFQUFFLENBQ2IsQ0FBQyxJQUFJLENBQ0osVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqQixNQUFNLEdBQUcsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBS0QsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLFlBQVksRUFBRyxlQUFnQixFQUFHLE1BQU87UUFDcEUsSUFBSSxPQUFPLEdBQUc7WUFDWixVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQy9CLFVBQVUsRUFDVixNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUM3QztTQUNGLENBQUE7UUFDRCxJQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUM7WUFDdkMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUE7U0FDM0Q7UUFDRCxPQUFPLElBQUksQ0FDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVc7YUFDMUIsU0FBUyxDQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsRUFBRztZQUMxRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFO1NBQ3JFLENBQUM7YUFDRCxLQUFLLENBQUMsWUFBWSxDQUFDO2FBQ25CLE9BQU8sbUJBQ0gsT0FBTyxFQUNWO2FBQ0QsT0FBTyxFQUFFLENBQ2IsQ0FBQyxJQUFJLENBQ0osVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDakIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqQixNQUFNLEdBQUcsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBRUQsYUFBYSxDQUNYLE9BQU8sRUFDUCxLQUFLLEdBQUcsQ0FBQyxFQUNULFFBQVEsR0FBRyxJQUFJLEVBQ2YsU0FBUyxHQUFHLElBQUksRUFDaEIsWUFBYTtRQUViLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzFCLElBQUksV0FBVyxHQUFHLFFBQVE7Z0JBQ3hCLENBQUMsQ0FBQztvQkFDRSxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU07d0JBQ2YsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVOzRCQUNmLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDOzRCQUNwRixDQUFDLENBQUMsSUFBSTt3QkFDUixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVU7NEJBQ2pCLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDOzRCQUN0RixDQUFDLENBQUMsSUFBSTtvQkFDUixLQUFLLGtDQUFPLElBQUksS0FBRSxLQUFLLEdBQUU7aUJBQzFCO2dCQUNILENBQUMsQ0FBQztvQkFDRSxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU07d0JBQ2YsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVOzRCQUNmLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEdBQUcsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDOzRCQUNwRixDQUFDLENBQUMsSUFBSTt3QkFDUixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVU7NEJBQ2pCLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDOzRCQUN0RixDQUFDLENBQUMsSUFBSTtvQkFDUixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7aUJBQ2xCLENBQUM7WUFDTixNQUFNLFFBQVEsR0FBRyxJQUFJLFlBQVksaUNBQzVCLFdBQVcsS0FDZCxTQUFTLEVBQUUsS0FBSyxJQUFJLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUNqRCxDQUFDO1lBQ0gsSUFDRSxJQUFJLENBQUMsaUJBQWlCO2dCQUN0QixJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQzlDO2dCQUNBLFFBQVEsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FDcEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQ3ZDLEtBQUssR0FBRyxDQUFDLEVBQ1QsU0FBUyxFQUNULFNBQVMsRUFDVCxZQUFZLENBQ2IsQ0FBQzthQUNIO1lBQ0QsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBT0QscUJBQXFCLENBQUMsa0JBQW1CLEVBQUMsWUFBYSxFQUFDLHFCQUFzQjtRQUM1RSxJQUFJLEdBQUcsR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzNDLElBQUksTUFBTSxtQkFDUixZQUFZLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQ3ZFLGdCQUFnQixFQUFFLENBQUMsRUFDbkIsTUFBTSxFQUFFLENBQUMsRUFDVCxRQUFRLEVBQUUsRUFBRSxJQUVULEdBQUcsQ0FDUCxDQUFBO1FBQ0QsSUFBRyxxQkFBcUIsS0FBRyxJQUFJLEVBQUM7WUFDOUIsTUFBTSxDQUFDLGtCQUFrQixDQUFDLEdBQUcscUJBQXFCLENBQUM7U0FDcEQ7YUFBSTtZQUNILE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRSxhQUFhLENBQUE7U0FDdEM7UUFDRCxJQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLEVBQUM7WUFDdkMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUE7U0FDN0Q7YUFBSyxJQUFHLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBQztZQUN4RyxNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUE7U0FDL0U7UUFDRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxtQkFFekIsTUFBTSxHQUVYO1lBQ0UsT0FBTyxFQUFFO2dCQUNQLGdCQUFnQixFQUFFLEdBQUc7Z0JBQ3JCLG9CQUFvQixFQUFFLFVBQVU7Z0JBQ2hDLEtBQUssRUFBRSxLQUFLO2FBQ2I7U0FDRixDQUNGLENBQUM7SUFDSixDQUFDOztrSEF2VFUsb0JBQW9CLDhLQVFyQixhQUFhO3NIQVJaLG9CQUFvQixjQUZuQixNQUFNO0FBdUJsQjtJQU5DLFNBQVMsQ0FBQztRQUNULG1CQUFtQixFQUFFLHNCQUFzQjtRQUMzQyxlQUFlLEVBQUUsb0JBQW9CO1FBQ3JDLE1BQU0sRUFBRSxFQUFFLEdBQUcsTUFBTTtLQUNwQixDQUFDOzZEQTZCRDtBQVFEO0lBTkMsU0FBUyxDQUFDO1FBQ1QsYUFBYSxFQUFFLEdBQUc7UUFDbEIsZUFBZSxFQUFFLG9CQUFvQjtRQUNyQyxtQkFBbUIsRUFBRSxzQkFBc0I7UUFDM0MsTUFBTSxFQUFFLEdBQUcsR0FBRyxNQUFNO0tBQ3JCLENBQUM7Z0VBMEJEO0FBUUQ7SUFOQyxTQUFTLENBQUM7UUFDVCxhQUFhLEVBQUUsR0FBRztRQUNsQixtQkFBbUIsRUFBRSxzQkFBc0I7UUFDM0MsZUFBZSxFQUFFLG9CQUFvQjtRQUNyQyxNQUFNLEVBQUUsRUFBRSxHQUFHLE1BQU07S0FDcEIsQ0FBQzttRUF5QkQ7QUF3QkQ7SUFIQyxXQUFXLENBQUM7UUFDWCxtQkFBbUIsRUFBRSxzQkFBc0I7S0FDNUMsQ0FBQzs0REEwQkQ7QUFLRDtJQUhDLFdBQVcsQ0FBQztRQUNYLG1CQUFtQixFQUFFLHNCQUFzQjtLQUM1QyxDQUFDO2tFQTBCRDtBQUtEO0lBSEMsV0FBVyxDQUFDO1FBQ1gsbUJBQW1CLEVBQUUsc0JBQXNCO0tBQzVDLENBQUM7NERBMkJEO0FBd0REO0lBTEMsU0FBUyxDQUFDO1FBQ1QsbUJBQW1CLEVBQUUsc0JBQXNCO1FBQzNDLGVBQWUsRUFBRSxvQkFBb0I7S0FDdEMsQ0FBQztpRUFrQ0Q7NEZBdlRVLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVNJLE1BQU07MkJBQUMsYUFBYTs0Q0FhdkIsaUJBQWlCLE1BbUNqQixvQkFBb0IsTUFpQ3BCLHVCQUF1QixNQWdEdkIsZ0JBQWdCLE1BOEJoQixzQkFBc0IsTUE4QnRCLGdCQUFnQixNQWtGaEIscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmVldmlld0l0ZW0gfSBmcm9tICduZ3gtdHJlZXZpZXcnO1xyXG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQWRhcHRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb3JlL2FkYXB0ZXJzL2FkYXB0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IENhbGxBcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9jYWxsQXBpL2NhbGwtYXBpLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOdXhlb1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb3JlL3NlcnZpY2VzL251eGVvL251eGVvLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb3JlL3NlcnZpY2VzL3RyYW5zbGF0aW9uL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEZXBhcnRtZW50Q29uc3RhbnRzIH0gZnJvbSAnLi4vY29uc3RhbnRzL2RlcGFydG1lbnQnO1xyXG5pbXBvcnQgeyBDYWNoZWFibGUsIENhY2hlQnVzdGVyLCBMb2NhbFN0b3JhZ2VTdHJhdGVneSB9IGZyb20gJ3RzLWNhY2hlYWJsZSc7XHJcbmltcG9ydCB7IEdsb2JhbEFkbWluU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3NoYXJlZC1zZXJ2aWNlcy9nbG9iYWwtYWRtaW4uc2VydmljZSc7XHJcbmV4cG9ydCBjb25zdCBkZXBhcnRtZW50Q2FjaGVCdXN0ZXIkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuZXhwb3J0IGNvbnN0IG1pbnV0ZSA9IDYwMDAwO1xyXG4vKiogQGlnbm9yZSAqL1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIERlcGFydG1lbnRBcGlTZXJ2aWNlIHtcclxuICBhcmFiaWM7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIENhbGxBcGlTZXJ2aWNlOiBDYWxsQXBpU2VydmljZSxcclxuICAgIHByaXZhdGUgdHJhbnNsYXRpb246IFRyYW5zbGF0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgbnV4ZW9TZXJ2aWNlOiBOdXhlb1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGFkYXB0ZXI6IEFkYXB0ZXJTZXJ2aWNlLCBcclxuICAgIHByaXZhdGUgZ2xvYmFsQWRtaW5TZXJ2aWNlIDogR2xvYmFsQWRtaW5TZXJ2aWNlLFxyXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50XHJcbiAgKSB7XHJcbiAgICB0aGlzLnRyYW5zbGF0aW9uLmlzQXJhYmljLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgIHRoaXMuYXJhYmljID0gcmVzO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBAQ2FjaGVhYmxlKHtcclxuICAgIGNhY2hlQnVzdGVyT2JzZXJ2ZXI6IGRlcGFydG1lbnRDYWNoZUJ1c3RlciQsXHJcbiAgICBzdG9yYWdlU3RyYXRlZ3k6IExvY2FsU3RvcmFnZVN0cmF0ZWd5LFxyXG4gICAgbWF4QWdlOiA2MCAqIG1pbnV0ZSxcclxuICB9KVxyXG4gIFxyXG4gIGdldERlcGFydG1lbnRUcmVlKGN1c3RvbVBhZ2VQcm92aWRlcj8sY3VzdG9tUGFyYW1zPyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBsZXQgb2JqID0gY3VzdG9tUGFyYW1zID8gY3VzdG9tUGFyYW1zIDoge307XHJcbiAgICBsZXQgcGFyYW1zID0ge1xyXG4gICAgICBwYWdlUHJvdmlkZXI6IGN1c3RvbVBhZ2VQcm92aWRlciA/IGN1c3RvbVBhZ2VQcm92aWRlciA6ICdQUF9EZXBhcnRtZW50JyxcclxuICAgICAgY3VycmVudFBhZ2VJbmRleDogMCxcclxuICAgICAgb2Zmc2V0OiAwLFxyXG4gICAgICBwYWdlU2l6ZTogNDAsXHJcbiAgICAgIHF1aWNrRmlsdGVyczogJ1BhcmVudCBEZXB0JyxcclxuICAgICAgLi4ub2JqXHJcbiAgICB9XHJcbiAgICBpZih0aGlzLmdsb2JhbEFkbWluU2VydmljZS5pc0dsb2JhbEFkbWluKXtcclxuICAgICAgcGFyYW1zWydxdWVyeVBhcmFtcyddID0gdGhpcy5nbG9iYWxBZG1pblNlcnZpY2UuYWN0aXZlVGVuYW50XHJcbiAgICB9ZWxzZSBpZighdGhpcy5nbG9iYWxBZG1pblNlcnZpY2UuaXNHbG9iYWxBZG1pbiAmJiB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyLnByb3BlcnRpZXMudGVuYW50SWQpe1xyXG4gICAgICBwYXJhbXNbJ3F1ZXJ5UGFyYW1zJ10gPSB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyLnByb3BlcnRpZXMudGVuYW50SWRcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLkNhbGxBcGlTZXJ2aWNlLnF1ZXJ5KFxyXG4gICAgICB7XHJcbiAgICAgICAgLi4ucGFyYW1zXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAnWC1OWHByb3BlcnRpZXMnOiAnKicsXHJcbiAgICAgICAgICAnZW5yaWNoZXJzLWRvY3VtZW50JzogJ2NoaWxkcmVuJyxcclxuICAgICAgICAgIGRlcHRoOiAnbWF4JyxcclxuICAgICAgICB9LFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgQENhY2hlYWJsZSh7XHJcbiAgICBtYXhDYWNoZUNvdW50OiAyMDAsXHJcbiAgICBzdG9yYWdlU3RyYXRlZ3k6IExvY2FsU3RvcmFnZVN0cmF0ZWd5LFxyXG4gICAgY2FjaGVCdXN0ZXJPYnNlcnZlcjogZGVwYXJ0bWVudENhY2hlQnVzdGVyJCxcclxuICAgIG1heEFnZTogMTIwICogbWludXRlLFxyXG4gIH0pXHJcbiAgZ2V0RGVwYXJ0bWVudERldGFpbHMoY29kZSAsIGN1c3RvbVBhZ2VQcm92aWRlcj8pe1xyXG4gICAgbGV0IHBhcmFtcyA9IHtcclxuICAgICAgcGFnZVByb3ZpZGVyOiBjdXN0b21QYWdlUHJvdmlkZXIgPyBjdXN0b21QYWdlUHJvdmlkZXI6ICdQUF9EZXBhcnRtZW50X1dpdGhfRWxhc3RpY1NlYXJjaCcsXHJcbiAgICAgIGN1cnJlbnRQYWdlSW5kZXg6IDAsXHJcbiAgICAgIG9mZnNldDogMCxcclxuICAgICAgcGFnZVNpemU6IDQwLFxyXG4gICAgICBkdWJsaW5jb3JlX3RpdGxlOiBjb2RlLFxyXG4gICAgfVxyXG4gICAgaWYodGhpcy5nbG9iYWxBZG1pblNlcnZpY2UuaXNHbG9iYWxBZG1pbil7XHJcbiAgICAgIHBhcmFtc1sncXVlcnlQYXJhbXMnXSA9IHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmFjdGl2ZVRlbmFudFxyXG4gICAgfWVsc2UgaWYoIXRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmlzR2xvYmFsQWRtaW4gJiYgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlci5wcm9wZXJ0aWVzLnRlbmFudElkKXtcclxuICAgICAgcGFyYW1zWydxdWVyeVBhcmFtcyddID0gdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlci5wcm9wZXJ0aWVzLnRlbmFudElkXHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5DYWxsQXBpU2VydmljZS5xdWVyeShcclxuICAgICAge1xyXG4gICAgICAgIC4uLnBhcmFtc1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgJ1gtTlhwcm9wZXJ0aWVzJzogJyonLFxyXG4gICAgICAgICAgJ2VucmljaGVycy1kb2N1bWVudCc6ICdjaGlsZHJlbicsXHJcbiAgICAgICAgICBkZXB0aDogJ21heCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIEBDYWNoZWFibGUoe1xyXG4gICAgbWF4Q2FjaGVDb3VudDogMjAwLFxyXG4gICAgY2FjaGVCdXN0ZXJPYnNlcnZlcjogZGVwYXJ0bWVudENhY2hlQnVzdGVyJCxcclxuICAgIHN0b3JhZ2VTdHJhdGVneTogTG9jYWxTdG9yYWdlU3RyYXRlZ3ksXHJcbiAgICBtYXhBZ2U6IDYwICogbWludXRlLFxyXG4gIH0pXHJcbiAgZ2V0RGVwYXJ0bWVudE5lc3RlZFRyZWUoY29kZSAsIGN1c3RvbVBhZ2VQcm92aWRlcj8gLCBjdXN0b21QYXJlbnRDb2RlUHJvcGVydHk/KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGxldCBwYXJhbXMgPSB7fTtcclxuICAgICBjdXN0b21QYXJlbnRDb2RlUHJvcGVydHkgPyAocGFyYW1zW2N1c3RvbVBhcmVudENvZGVQcm9wZXJ0eV0gPSBjb2RlKSAgOiAocGFyYW1zID0geydkZXBhcnRtZW50X3BhcmVudERlcGFydG1lbnRDb2RlJzogY29kZX0pXHJcbiAgICAgaWYodGhpcy5nbG9iYWxBZG1pblNlcnZpY2UuaXNHbG9iYWxBZG1pbil7XHJcbiAgICAgIHBhcmFtc1sncXVlcnlQYXJhbXMnXSA9IHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmFjdGl2ZVRlbmFudFxyXG4gICAgfWVsc2UgaWYoIXRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmlzR2xvYmFsQWRtaW4gJiYgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlci5wcm9wZXJ0aWVzLnRlbmFudElkKXtcclxuICAgICAgcGFyYW1zWydxdWVyeVBhcmFtcyddID0gdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlci5wcm9wZXJ0aWVzLnRlbmFudElkXHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5DYWxsQXBpU2VydmljZS5xdWVyeShcclxuICAgICAge1xyXG4gICAgICAgIHBhZ2VQcm92aWRlcjogY3VzdG9tUGFnZVByb3ZpZGVyID8gY3VzdG9tUGFnZVByb3ZpZGVyIDogJ1BQX0RlcGFydG1lbnQnLFxyXG4gICAgICAgIGN1cnJlbnRQYWdlSW5kZXg6IDAsXHJcbiAgICAgICAgb2Zmc2V0OiAwLFxyXG4gICAgICAgIHBhZ2VTaXplOiA0MCxcclxuICAgICAgICAuLi5wYXJhbXNcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICdYLU5YcHJvcGVydGllcyc6ICcqJyxcclxuICAgICAgICAgICdlbnJpY2hlcnMtZG9jdW1lbnQnOiAnY2hpbGRyZW4nLFxyXG4gICAgICAgICAgZGVwdGg6ICdtYXgnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXREZXBhcnRtZW50KHVpZCAsIGZpZWxkcz8pIHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5yZXBvc2l0b3J5KClcclxuICAgICAgICAuaGVhZGVycyh7XHJcbiAgICAgICAgICAnWC1OWHByb3BlcnRpZXMnOiAnKicsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuZmV0Y2godWlkKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBtYXAoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFkYXB0ZXIuYWRhcHRJbihkYXRhLCBmaWVsZHMgPyBmaWVsZHMgOiBEZXBhcnRtZW50Q29uc3RhbnRzLmZpZWxkcyk7XHJcbiAgICAgIH0pLFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLy8gdGVzdGluZ1xyXG4gIEBDYWNoZUJ1c3Rlcih7XHJcbiAgICBjYWNoZUJ1c3Rlck5vdGlmaWVyOiBkZXBhcnRtZW50Q2FjaGVCdXN0ZXIkLFxyXG4gIH0pXHJcbiAgY3JlYXRlRGVwYXJ0bWVudChEZXBhcnRtZW50LCBwYXJlbnRJZCAsIGN1c3RvbU9wZXJhdGlvbj8gLCBmaWVsZHM/KSB7XHJcbiAgICBsZXQgY29udGV4dCA9eyBkZXBhcnRtZW50OiB0aGlzLmFkYXB0ZXIuYWRhcHRPdXQoXHJcbiAgICAgIERlcGFydG1lbnQsXHJcbiAgICAgIGZpZWxkcyA/IGZpZWxkcyA6IERlcGFydG1lbnRDb25zdGFudHMuZmllbGRzXHJcbiAgICApfTtcclxuICAgIGlmKHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmlzR2xvYmFsQWRtaW4pe1xyXG4gICAgICBjb250ZXh0Wyd0ZW5hbnRJZCddID0gdGhpcy5nbG9iYWxBZG1pblNlcnZpY2UuYWN0aXZlVGVuYW50XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbiggY3VzdG9tT3BlcmF0aW9uID8gY3VzdG9tT3BlcmF0aW9uOiAnQUNfVUFfRGVwYXRybWVudF9DcmVhdGUnICwge1xyXG4gICAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfSR7dGhpcy5lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWAsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuaW5wdXQocGFyZW50SWQpXHJcbiAgICAgICAgLmNvbnRleHQoe1xyXG4gICAgICAgICAgLi4uY29udGV4dFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmV4ZWN1dGUoKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBAQ2FjaGVCdXN0ZXIoe1xyXG4gICAgY2FjaGVCdXN0ZXJOb3RpZmllcjogZGVwYXJ0bWVudENhY2hlQnVzdGVyJCxcclxuICB9KVxyXG4gIGNyZWF0ZURlcGFydG1lbnRJblJvb3QoRGVwYXJ0bWVudCAsIGN1c3RvbU9wZXJhdGlvbj8pIHtcclxuICAgIGxldCBjb250ZXh0ID0ge1xyXG4gICAgICBkZXBhcnRtZW50OiB0aGlzLmFkYXB0ZXIuYWRhcHRPdXQoXHJcbiAgICAgICAgRGVwYXJ0bWVudCxcclxuICAgICAgICBEZXBhcnRtZW50Q29uc3RhbnRzLmZpZWxkc1xyXG4gICAgICApXHJcbiAgICB9XHJcbiAgICBpZih0aGlzLmdsb2JhbEFkbWluU2VydmljZS5pc0dsb2JhbEFkbWluKXtcclxuICAgICAgY29udGV4dFsndGVuYW50SWQnXSA9IHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmFjdGl2ZVRlbmFudFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbihjdXN0b21PcGVyYXRpb24gPyBjdXN0b21PcGVyYXRpb24gOiAnQUNfVUFfRGVwYXRybWVudF9DcmVhdGVfSW5Sb290Jywge1xyXG4gICAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfSR7dGhpcy5lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWAsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY29udGV4dCh7XHJcbiAgICAgICAgICAuLi5jb250ZXh0XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuZXhlY3V0ZSgpXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIEBDYWNoZUJ1c3Rlcih7XHJcbiAgICBjYWNoZUJ1c3Rlck5vdGlmaWVyOiBkZXBhcnRtZW50Q2FjaGVCdXN0ZXIkLFxyXG4gIH0pXHJcbiAgdXBkYXRlRGVwYXJ0bWVudChEZXBhcnRtZW50LCBkZXBhcnRtZW50SWQgLCBjdXN0b21PcGVyYXRpb24/ICwgZmllbGRzPykge1xyXG4gICAgbGV0IGNvbnRleHQgPSB7XHJcbiAgICAgIGRlcGFydG1lbnQ6IHRoaXMuYWRhcHRlci5hZGFwdE91dChcclxuICAgICAgICBEZXBhcnRtZW50LFxyXG4gICAgICAgIGZpZWxkcyA/IGZpZWxkcyA6IERlcGFydG1lbnRDb25zdGFudHMuZmllbGRzXHJcbiAgICAgIClcclxuICAgIH1cclxuICAgIGlmKHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmlzR2xvYmFsQWRtaW4pe1xyXG4gICAgICBjb250ZXh0Wyd0ZW5hbnRJZCddID0gdGhpcy5nbG9iYWxBZG1pblNlcnZpY2UuYWN0aXZlVGVuYW50XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKCBjdXN0b21PcGVyYXRpb24gPyBjdXN0b21PcGVyYXRpb24gOiAnQUNfVUFfRGVwYXJ0bWVudF9VcGRhdGUnICwge1xyXG4gICAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfSR7dGhpcy5lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWAsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuaW5wdXQoZGVwYXJ0bWVudElkKVxyXG4gICAgICAgIC5jb250ZXh0KHtcclxuICAgICAgICAgIC4uLmNvbnRleHRcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5leGVjdXRlKClcclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcmVjdXJzaXZlRmlsbChcclxuICAgIGVudHJpZXMsXHJcbiAgICBsZXZlbCA9IDAsXHJcbiAgICB0cmVldmlldyA9IHRydWUsXHJcbiAgICBjb2xsYXBzZWQgPSB0cnVlLFxyXG4gICAgY3VzdG9tUHJlZml4P1xyXG4gICk6IFRyZWV2aWV3SXRlbVtdIHtcclxuICAgIHJldHVybiBlbnRyaWVzLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICBsZXQgdHJlZVZpZXdPYmogPSB0cmVldmlld1xyXG4gICAgICAgID8ge1xyXG4gICAgICAgICAgICB0ZXh0OiB0aGlzLmFyYWJpY1xyXG4gICAgICAgICAgICAgID8gaXRlbS5wcm9wZXJ0aWVzXHJcbiAgICAgICAgICAgICAgICA/IGl0ZW0ucHJvcGVydGllc1tjdXN0b21QcmVmaXggPyAoY3VzdG9tUHJlZml4ICsgJzphcmFiaWNOYW1lJykgOiAnZGVwdDphcmFiaWNOYW1lJ11cclxuICAgICAgICAgICAgICAgIDogJy0tJ1xyXG4gICAgICAgICAgICAgIDogaXRlbS5wcm9wZXJ0aWVzXHJcbiAgICAgICAgICAgICAgPyBpdGVtLnByb3BlcnRpZXNbY3VzdG9tUHJlZml4ID8gKGN1c3RvbVByZWZpeCArICc6ZW5nbGlzaE5hbWUnKSA6ICdkZXB0OmVuZ2xpc2hOYW1lJ11cclxuICAgICAgICAgICAgICA6ICctLScsXHJcbiAgICAgICAgICAgIHZhbHVlOiB7IC4uLml0ZW0sIGxldmVsIH0sXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgOiB7XHJcbiAgICAgICAgICAgIHRleHQ6IHRoaXMuYXJhYmljXHJcbiAgICAgICAgICAgICAgPyBpdGVtLnByb3BlcnRpZXNcclxuICAgICAgICAgICAgICAgID8gaXRlbS5wcm9wZXJ0aWVzW2N1c3RvbVByZWZpeCA/IChjdXN0b21QcmVmaXggKyAnOmFyYWJpY05hbWUnKSA6ICdkZXB0OmFyYWJpY05hbWUnXVxyXG4gICAgICAgICAgICAgICAgOiAnLS0nXHJcbiAgICAgICAgICAgICAgOiBpdGVtLnByb3BlcnRpZXNcclxuICAgICAgICAgICAgICA/IGl0ZW0ucHJvcGVydGllc1tjdXN0b21QcmVmaXggPyAoY3VzdG9tUHJlZml4ICsgJzplbmdsaXNoTmFtZScpIDogJ2RlcHQ6ZW5nbGlzaE5hbWUnXVxyXG4gICAgICAgICAgICAgIDogJy0tJyxcclxuICAgICAgICAgICAgdmFsdWU6IGl0ZW0udGl0bGUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICBjb25zdCB0cmVlSXRlbSA9IG5ldyBUcmVldmlld0l0ZW0oe1xyXG4gICAgICAgIC4uLnRyZWVWaWV3T2JqLFxyXG4gICAgICAgIGNvbGxhcHNlZDogbGV2ZWwgPj0gMiAmJiBjb2xsYXBzZWQgPyB0cnVlIDogZmFsc2UsXHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgaXRlbS5jb250ZXh0UGFyYW1ldGVycyAmJlxyXG4gICAgICAgIGl0ZW0uY29udGV4dFBhcmFtZXRlcnMuY2hpbGRyZW4uZW50cmllcy5sZW5ndGhcclxuICAgICAgKSB7XHJcbiAgICAgICAgdHJlZUl0ZW0uY2hpbGRyZW4gPSB0aGlzLnJlY3Vyc2l2ZUZpbGwoXHJcbiAgICAgICAgICBpdGVtLmNvbnRleHRQYXJhbWV0ZXJzLmNoaWxkcmVuLmVudHJpZXMsXHJcbiAgICAgICAgICBsZXZlbCArIDEsXHJcbiAgICAgICAgICB1bmRlZmluZWQsXHJcbiAgICAgICAgICB1bmRlZmluZWQsXHJcbiAgICAgICAgICBjdXN0b21QcmVmaXhcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0cmVlSXRlbTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgQENhY2hlYWJsZSh7XHJcbiAgICBjYWNoZUJ1c3Rlck9ic2VydmVyOiBkZXBhcnRtZW50Q2FjaGVCdXN0ZXIkLFxyXG4gICAgc3RvcmFnZVN0cmF0ZWd5OiBMb2NhbFN0b3JhZ2VTdHJhdGVneVxyXG4gIH0pXHJcbiAgXHJcbiAgZ2V0RnVsbERlcGFydG1lbnRUcmVlKGN1c3RvbVBhZ2VQcm92aWRlcj8sY3VzdG9tUGFyYW1zPyxjaGlsZHJlbk9mU3BlY2lmaWNEZXA/KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGxldCBvYmogPSBjdXN0b21QYXJhbXMgPyBjdXN0b21QYXJhbXMgOiB7fTtcclxuICAgIGxldCBwYXJhbXMgPSB7XHJcbiAgICAgIHBhZ2VQcm92aWRlcjogY3VzdG9tUGFnZVByb3ZpZGVyID8gY3VzdG9tUGFnZVByb3ZpZGVyIDogJ1BQX0RlcGFydG1lbnQnLFxyXG4gICAgICBjdXJyZW50UGFnZUluZGV4OiAwLFxyXG4gICAgICBvZmZzZXQ6IDAsXHJcbiAgICAgIHBhZ2VTaXplOiA0MCxcclxuICAgICAgLy8gcXVpY2tGaWx0ZXJzOiAnUGFyZW50IERlcHQnLFxyXG4gICAgICAuLi5vYmpcclxuICAgIH1cclxuICAgIGlmKGNoaWxkcmVuT2ZTcGVjaWZpY0RlcCE9PW51bGwpe1xyXG4gICAgICBwYXJhbXNbJ2R1YmxpbmNvcmVfdGl0bGUnXSA9IGNoaWxkcmVuT2ZTcGVjaWZpY0RlcDtcclxuICAgIH1lbHNle1xyXG4gICAgICBwYXJhbXNbJ3F1aWNrRmlsdGVycyddPSAnUGFyZW50IERlcHQnXHJcbiAgICB9XHJcbiAgICBpZih0aGlzLmdsb2JhbEFkbWluU2VydmljZS5pc0dsb2JhbEFkbWluKXtcclxuICAgICAgcGFyYW1zWydxdWVyeVBhcmFtcyddID0gdGhpcy5nbG9iYWxBZG1pblNlcnZpY2UuYWN0aXZlVGVuYW50XHJcbiAgICB9ZWxzZSBpZighdGhpcy5nbG9iYWxBZG1pblNlcnZpY2UuaXNHbG9iYWxBZG1pbiAmJiB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyLnByb3BlcnRpZXMudGVuYW50SWQpe1xyXG4gICAgICBwYXJhbXNbJ3F1ZXJ5UGFyYW1zJ10gPSB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyLnByb3BlcnRpZXMudGVuYW50SWRcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLkNhbGxBcGlTZXJ2aWNlLnF1ZXJ5KFxyXG4gICAgICB7XHJcbiAgICAgICAgLi4ucGFyYW1zXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAnWC1OWHByb3BlcnRpZXMnOiAnKicsXHJcbiAgICAgICAgICAnZW5yaWNoZXJzLWRvY3VtZW50JzogJ2NoaWxkcmVuJyxcclxuICAgICAgICAgIGRlcHRoOiAnbWF4JyxcclxuICAgICAgICB9LFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
281
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwYXJ0bWVudC1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS1kZXBhcnRtZW50L3NlcnZpY2VzL2RlcGFydG1lbnQtYXBpLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBZ0IsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBRSxJQUFJLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFLakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7Ozs7QUFFNUUsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztBQUMxRCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDO0FBQzVCLGNBQWM7QUFLZCxNQUFNLE9BQU8sb0JBQW9CO0lBRS9CLFlBQ1UsY0FBOEIsRUFDOUIsV0FBK0IsRUFDL0IsWUFBMEIsRUFDMUIsT0FBdUIsRUFDdkIsa0JBQXVDLEVBQ2hCLFdBQVc7UUFMbEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUMvQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUN2Qix1QkFBa0Is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QkFBc0I7UUFDM0MsZUFBZSxFQUFFLG9CQUFvQjtRQUNyQyxNQUFNLEVBQUUsRUFBRSxHQUFHLE1BQU07S0FDcEIsQ0FBQzs2REE2QkQ7QUFRRDtJQU5DLFNBQVMsQ0FBQztRQUNULGFBQWEsRUFBRSxHQUFHO1FBQ2xCLGVBQWUsRUFBRSxvQkFBb0I7UUFDckMsbUJBQW1CLEVBQUUsc0JBQXNCO1FBQzNDLE1BQU0sRUFBRSxHQUFHLEdBQUcsTUFBTTtLQUNyQixDQUFDO2dFQTBCRDtBQW1DRDtJQU5DLFNBQVMsQ0FBQztRQUNULGFBQWEsRUFBRSxHQUFHO1FBQ2xCLG1CQUFtQixFQUFFLHNCQUFzQjtRQUMzQyxlQUFlLEVBQUUsb0JBQW9CO1FBQ3JDLE1BQU0sRUFBRSxFQUFFLEdBQUcsTUFBTTtLQUNwQixDQUFDO21FQXlCRDtBQXdCRDtJQUhDLFdBQVcsQ0FBQztRQUNYLG1CQUFtQixFQUFFLHNCQUFzQjtLQUM1QyxDQUFDOzREQTBCRDtBQUtEO0lBSEMsV0FBVyxDQUFDO1FBQ1gsbUJBQW1CLEVBQUUsc0JBQXNCO0tBQzVDLENBQUM7a0VBMEJEO0FBS0Q7SUFIQyxXQUFXLENBQUM7UUFDWCxtQkFBbUIsRUFBRSxzQkFBc0I7S0FDNUMsQ0FBQzs0REEyQkQ7QUF3REQ7SUFMQyxTQUFTLENBQUM7UUFDVCxtQkFBbUIsRUFBRSxzQkFBc0I7UUFDM0MsZUFBZSxFQUFFLG9CQUFvQjtLQUN0QyxDQUFDO2lFQWtDRDs0RkFsVlUsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBU0ksTUFBTTsyQkFBQyxhQUFhOzRDQWF2QixpQkFBaUIsTUFtQ2pCLG9CQUFvQixNQTREcEIsdUJBQXVCLE1BZ0R2QixnQkFBZ0IsTUE4QmhCLHNCQUFzQixNQThCdEIsZ0JBQWdCLE1Ba0ZoQixxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IFRyZWV2aWV3SXRlbSB9IGZyb20gJ25neC10cmVldmlldyc7XHJcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBBZGFwdGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvcmUvYWRhcHRlcnMvYWRhcHRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2FsbEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb3JlL3NlcnZpY2VzL2NhbGxBcGkvY2FsbC1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IE51eGVvU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvcmUvc2VydmljZXMvbnV4ZW8vbnV4ZW8uc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvcmUvc2VydmljZXMvdHJhbnNsYXRpb24vdHJhbnNsYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IERlcGFydG1lbnRDb25zdGFudHMgfSBmcm9tICcuLi9jb25zdGFudHMvZGVwYXJ0bWVudCc7XHJcbmltcG9ydCB7IENhY2hlYWJsZSwgQ2FjaGVCdXN0ZXIsIExvY2FsU3RvcmFnZVN0cmF0ZWd5IH0gZnJvbSAndHMtY2FjaGVhYmxlJztcclxuaW1wb3J0IHsgR2xvYmFsQWRtaW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2hhcmVkLXNlcnZpY2VzL2dsb2JhbC1hZG1pbi5zZXJ2aWNlJztcclxuZXhwb3J0IGNvbnN0IGRlcGFydG1lbnRDYWNoZUJ1c3RlciQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5leHBvcnQgY29uc3QgbWludXRlID0gNjAwMDA7XHJcbi8qKiBAaWdub3JlICovXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVwYXJ0bWVudEFwaVNlcnZpY2Uge1xyXG4gIGFyYWJpYztcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgQ2FsbEFwaVNlcnZpY2U6IENhbGxBcGlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGlvbjogVHJhbnNsYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBudXhlb1NlcnZpY2U6IE51eGVvU2VydmljZSxcclxuICAgIHByaXZhdGUgYWRhcHRlcjogQWRhcHRlclNlcnZpY2UsIFxyXG4gICAgcHJpdmF0ZSBnbG9iYWxBZG1pblNlcnZpY2UgOiBHbG9iYWxBZG1pblNlcnZpY2UsXHJcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnRcclxuICApIHtcclxuICAgIHRoaXMudHJhbnNsYXRpb24uaXNBcmFiaWMuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgdGhpcy5hcmFiaWMgPSByZXM7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIEBDYWNoZWFibGUoe1xyXG4gICAgY2FjaGVCdXN0ZXJPYnNlcnZlcjogZGVwYXJ0bWVudENhY2hlQnVzdGVyJCxcclxuICAgIHN0b3JhZ2VTdHJhdGVneTogTG9jYWxTdG9yYWdlU3RyYXRlZ3ksXHJcbiAgICBtYXhBZ2U6IDYwICogbWludXRlLFxyXG4gIH0pXHJcbiAgXHJcbiAgZ2V0RGVwYXJ0bWVudFRyZWUoY3VzdG9tUGFnZVByb3ZpZGVyPyxjdXN0b21QYXJhbXM/KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGxldCBvYmogPSBjdXN0b21QYXJhbXMgPyBjdXN0b21QYXJhbXMgOiB7fTtcclxuICAgIGxldCBwYXJhbXMgPSB7XHJcbiAgICAgIHBhZ2VQcm92aWRlcjogY3VzdG9tUGFnZVByb3ZpZGVyID8gY3VzdG9tUGFnZVByb3ZpZGVyIDogJ1BQX0RlcGFydG1lbnQnLFxyXG4gICAgICBjdXJyZW50UGFnZUluZGV4OiAwLFxyXG4gICAgICBvZmZzZXQ6IDAsXHJcbiAgICAgIHBhZ2VTaXplOiA0MCxcclxuICAgICAgcXVpY2tGaWx0ZXJzOiAnUGFyZW50IERlcHQnLFxyXG4gICAgICAuLi5vYmpcclxuICAgIH1cclxuICAgIGlmKHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmlzR2xvYmFsQWRtaW4pe1xyXG4gICAgICBwYXJhbXNbJ3F1ZXJ5UGFyYW1zJ10gPSB0aGlzLmdsb2JhbEFkbWluU2VydmljZS5hY3RpdmVUZW5hbnRcclxuICAgIH1lbHNlIGlmKCF0aGlzLmdsb2JhbEFkbWluU2VydmljZS5pc0dsb2JhbEFkbWluICYmIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIucHJvcGVydGllcy50ZW5hbnRJZCl7XHJcbiAgICAgIHBhcmFtc1sncXVlcnlQYXJhbXMnXSA9IHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50LnVzZXIucHJvcGVydGllcy50ZW5hbnRJZFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuQ2FsbEFwaVNlcnZpY2UucXVlcnkoXHJcbiAgICAgIHtcclxuICAgICAgICAuLi5wYXJhbXNcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICdYLU5YcHJvcGVydGllcyc6ICcqJyxcclxuICAgICAgICAgICdlbnJpY2hlcnMtZG9jdW1lbnQnOiAnY2hpbGRyZW4nLFxyXG4gICAgICAgICAgZGVwdGg6ICdtYXgnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBAQ2FjaGVhYmxlKHtcclxuICAgIG1heENhY2hlQ291bnQ6IDIwMCxcclxuICAgIHN0b3JhZ2VTdHJhdGVneTogTG9jYWxTdG9yYWdlU3RyYXRlZ3ksXHJcbiAgICBjYWNoZUJ1c3Rlck9ic2VydmVyOiBkZXBhcnRtZW50Q2FjaGVCdXN0ZXIkLFxyXG4gICAgbWF4QWdlOiAxMjAgKiBtaW51dGUsXHJcbiAgfSlcclxuICBnZXREZXBhcnRtZW50RGV0YWlscyhjb2RlICwgY3VzdG9tUGFnZVByb3ZpZGVyPyl7XHJcbiAgICBsZXQgcGFyYW1zID0ge1xyXG4gICAgICBwYWdlUHJvdmlkZXI6IGN1c3RvbVBhZ2VQcm92aWRlciA/IGN1c3RvbVBhZ2VQcm92aWRlcjogJ1BQX0RlcGFydG1lbnRfV2l0aF9FbGFzdGljU2VhcmNoJyxcclxuICAgICAgY3VycmVudFBhZ2VJbmRleDogMCxcclxuICAgICAgb2Zmc2V0OiAwLFxyXG4gICAgICBwYWdlU2l6ZTogNDAsXHJcbiAgICAgIGR1YmxpbmNvcmVfdGl0bGU6IGNvZGUsXHJcbiAgICB9XHJcbiAgICBpZih0aGlzLmdsb2JhbEFkbWluU2VydmljZS5pc0dsb2JhbEFkbWluKXtcclxuICAgICAgcGFyYW1zWydxdWVyeVBhcmFtcyddID0gdGhpcy5nbG9iYWxBZG1pblNlcnZpY2UuYWN0aXZlVGVuYW50XHJcbiAgICB9ZWxzZSBpZighdGhpcy5nbG9iYWxBZG1pblNlcnZpY2UuaXNHbG9iYWxBZG1pbiAmJiB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyLnByb3BlcnRpZXMudGVuYW50SWQpe1xyXG4gICAgICBwYXJhbXNbJ3F1ZXJ5UGFyYW1zJ10gPSB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyLnByb3BlcnRpZXMudGVuYW50SWRcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLkNhbGxBcGlTZXJ2aWNlLnF1ZXJ5KFxyXG4gICAgICB7XHJcbiAgICAgICAgLi4ucGFyYW1zXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAnWC1OWHByb3BlcnRpZXMnOiAnKicsXHJcbiAgICAgICAgICAnZW5yaWNoZXJzLWRvY3VtZW50JzogJ2NoaWxkcmVuJyxcclxuICAgICAgICAgIGRlcHRoOiAnbWF4JyxcclxuICAgICAgICB9LFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgICBnZXRPYnNvbGV0RGVwYXJ0bWVudERldGFpbHMoY29kZSAsIGN1c3RvbVBhZ2VQcm92aWRlcj8pe1xyXG4gICAgbGV0IHBhcmFtcyA9IHtcclxuICAgICAgcGFnZVByb3ZpZGVyOiAnUFBfRGVwYXJ0bWVudF9XaXRoT2Jzb2xldGVfRWxhc3RpY1NlYXJjaCcsXHJcbiAgICAgIGN1cnJlbnRQYWdlSW5kZXg6IDAsXHJcbiAgICAgIG9mZnNldDogMCxcclxuICAgICAgcGFnZVNpemU6IDQwLFxyXG4gICAgICBkdWJsaW5jb3JlX3RpdGxlOiBjb2RlLFxyXG4gICAgfVxyXG4gICAgaWYodGhpcy5nbG9iYWxBZG1pblNlcnZpY2UuaXNHbG9iYWxBZG1pbil7XHJcbiAgICAgIHBhcmFtc1sncXVlcnlQYXJhbXMnXSA9IHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmFjdGl2ZVRlbmFudFxyXG4gICAgfWVsc2UgaWYoIXRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmlzR2xvYmFsQWRtaW4gJiYgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlci5wcm9wZXJ0aWVzLnRlbmFudElkKXtcclxuICAgICAgcGFyYW1zWydxdWVyeVBhcmFtcyddID0gdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlci5wcm9wZXJ0aWVzLnRlbmFudElkXHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5DYWxsQXBpU2VydmljZS5xdWVyeShcclxuICAgICAge1xyXG4gICAgICAgIC4uLnBhcmFtc1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgJ1gtTlhwcm9wZXJ0aWVzJzogJyonLFxyXG4gICAgICAgICAgJ2VucmljaGVycy1kb2N1bWVudCc6ICdjaGlsZHJlbicsXHJcbiAgICAgICAgICBkZXB0aDogJ21heCcsXHJcbiAgICAgICAgfSxcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIEBDYWNoZWFibGUoe1xyXG4gICAgbWF4Q2FjaGVDb3VudDogMjAwLFxyXG4gICAgY2FjaGVCdXN0ZXJPYnNlcnZlcjogZGVwYXJ0bWVudENhY2hlQnVzdGVyJCxcclxuICAgIHN0b3JhZ2VTdHJhdGVneTogTG9jYWxTdG9yYWdlU3RyYXRlZ3ksXHJcbiAgICBtYXhBZ2U6IDYwICogbWludXRlLFxyXG4gIH0pXHJcbiAgZ2V0RGVwYXJ0bWVudE5lc3RlZFRyZWUoY29kZSAsIGN1c3RvbVBhZ2VQcm92aWRlcj8gLCBjdXN0b21QYXJlbnRDb2RlUHJvcGVydHk/KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGxldCBwYXJhbXMgPSB7fTtcclxuICAgICBjdXN0b21QYXJlbnRDb2RlUHJvcGVydHkgPyAocGFyYW1zW2N1c3RvbVBhcmVudENvZGVQcm9wZXJ0eV0gPSBjb2RlKSAgOiAocGFyYW1zID0geydkZXBhcnRtZW50X3BhcmVudERlcGFydG1lbnRDb2RlJzogY29kZX0pXHJcbiAgICAgaWYodGhpcy5nbG9iYWxBZG1pblNlcnZpY2UuaXNHbG9iYWxBZG1pbil7XHJcbiAgICAgIHBhcmFtc1sncXVlcnlQYXJhbXMnXSA9IHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmFjdGl2ZVRlbmFudFxyXG4gICAgfWVsc2UgaWYoIXRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmlzR2xvYmFsQWRtaW4gJiYgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlci5wcm9wZXJ0aWVzLnRlbmFudElkKXtcclxuICAgICAgcGFyYW1zWydxdWVyeVBhcmFtcyddID0gdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnQudXNlci5wcm9wZXJ0aWVzLnRlbmFudElkXHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5DYWxsQXBpU2VydmljZS5xdWVyeShcclxuICAgICAge1xyXG4gICAgICAgIHBhZ2VQcm92aWRlcjogY3VzdG9tUGFnZVByb3ZpZGVyID8gY3VzdG9tUGFnZVByb3ZpZGVyIDogJ1BQX0RlcGFydG1lbnQnLFxyXG4gICAgICAgIGN1cnJlbnRQYWdlSW5kZXg6IDAsXHJcbiAgICAgICAgb2Zmc2V0OiAwLFxyXG4gICAgICAgIHBhZ2VTaXplOiA0MCxcclxuICAgICAgICAuLi5wYXJhbXNcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICdYLU5YcHJvcGVydGllcyc6ICcqJyxcclxuICAgICAgICAgICdlbnJpY2hlcnMtZG9jdW1lbnQnOiAnY2hpbGRyZW4nLFxyXG4gICAgICAgICAgZGVwdGg6ICdtYXgnLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBnZXREZXBhcnRtZW50KHVpZCAsIGZpZWxkcz8pIHtcclxuICAgIHJldHVybiBmcm9tKFxyXG4gICAgICB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudFxyXG4gICAgICAgIC5yZXBvc2l0b3J5KClcclxuICAgICAgICAuaGVhZGVycyh7XHJcbiAgICAgICAgICAnWC1OWHByb3BlcnRpZXMnOiAnKicsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuZmV0Y2godWlkKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBtYXAoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmFkYXB0ZXIuYWRhcHRJbihkYXRhLCBmaWVsZHMgPyBmaWVsZHMgOiBEZXBhcnRtZW50Q29uc3RhbnRzLmZpZWxkcyk7XHJcbiAgICAgIH0pLFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgLy8gdGVzdGluZ1xyXG4gIEBDYWNoZUJ1c3Rlcih7XHJcbiAgICBjYWNoZUJ1c3Rlck5vdGlmaWVyOiBkZXBhcnRtZW50Q2FjaGVCdXN0ZXIkLFxyXG4gIH0pXHJcbiAgY3JlYXRlRGVwYXJ0bWVudChEZXBhcnRtZW50LCBwYXJlbnRJZCAsIGN1c3RvbU9wZXJhdGlvbj8gLCBmaWVsZHM/KSB7XHJcbiAgICBsZXQgY29udGV4dCA9eyBkZXBhcnRtZW50OiB0aGlzLmFkYXB0ZXIuYWRhcHRPdXQoXHJcbiAgICAgIERlcGFydG1lbnQsXHJcbiAgICAgIGZpZWxkcyA/IGZpZWxkcyA6IERlcGFydG1lbnRDb25zdGFudHMuZmllbGRzXHJcbiAgICApfTtcclxuICAgIGlmKHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmlzR2xvYmFsQWRtaW4pe1xyXG4gICAgICBjb250ZXh0Wyd0ZW5hbnRJZCddID0gdGhpcy5nbG9iYWxBZG1pblNlcnZpY2UuYWN0aXZlVGVuYW50XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbiggY3VzdG9tT3BlcmF0aW9uID8gY3VzdG9tT3BlcmF0aW9uOiAnQUNfVUFfRGVwYXRybWVudF9DcmVhdGUnICwge1xyXG4gICAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfSR7dGhpcy5lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWAsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuaW5wdXQocGFyZW50SWQpXHJcbiAgICAgICAgLmNvbnRleHQoe1xyXG4gICAgICAgICAgLi4uY29udGV4dFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmV4ZWN1dGUoKVxyXG4gICAgKS5waXBlKFxyXG4gICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRocm93IGVycjtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBAQ2FjaGVCdXN0ZXIoe1xyXG4gICAgY2FjaGVCdXN0ZXJOb3RpZmllcjogZGVwYXJ0bWVudENhY2hlQnVzdGVyJCxcclxuICB9KVxyXG4gIGNyZWF0ZURlcGFydG1lbnRJblJvb3QoRGVwYXJ0bWVudCAsIGN1c3RvbU9wZXJhdGlvbj8pIHtcclxuICAgIGxldCBjb250ZXh0ID0ge1xyXG4gICAgICBkZXBhcnRtZW50OiB0aGlzLmFkYXB0ZXIuYWRhcHRPdXQoXHJcbiAgICAgICAgRGVwYXJ0bWVudCxcclxuICAgICAgICBEZXBhcnRtZW50Q29uc3RhbnRzLmZpZWxkc1xyXG4gICAgICApXHJcbiAgICB9XHJcbiAgICBpZih0aGlzLmdsb2JhbEFkbWluU2VydmljZS5pc0dsb2JhbEFkbWluKXtcclxuICAgICAgY29udGV4dFsndGVuYW50SWQnXSA9IHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmFjdGl2ZVRlbmFudFxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZyb20oXHJcbiAgICAgIHRoaXMubnV4ZW9TZXJ2aWNlLm51eGVvQ2xpZW50XHJcbiAgICAgICAgLm9wZXJhdGlvbihjdXN0b21PcGVyYXRpb24gPyBjdXN0b21PcGVyYXRpb24gOiAnQUNfVUFfRGVwYXRybWVudF9DcmVhdGVfSW5Sb290Jywge1xyXG4gICAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfSR7dGhpcy5lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWAsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY29udGV4dCh7XHJcbiAgICAgICAgICAuLi5jb250ZXh0XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuZXhlY3V0ZSgpXHJcbiAgICApLnBpcGUoXHJcbiAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIEBDYWNoZUJ1c3Rlcih7XHJcbiAgICBjYWNoZUJ1c3Rlck5vdGlmaWVyOiBkZXBhcnRtZW50Q2FjaGVCdXN0ZXIkLFxyXG4gIH0pXHJcbiAgdXBkYXRlRGVwYXJ0bWVudChEZXBhcnRtZW50LCBkZXBhcnRtZW50SWQgLCBjdXN0b21PcGVyYXRpb24/ICwgZmllbGRzPykge1xyXG4gICAgbGV0IGNvbnRleHQgPSB7XHJcbiAgICAgIGRlcGFydG1lbnQ6IHRoaXMuYWRhcHRlci5hZGFwdE91dChcclxuICAgICAgICBEZXBhcnRtZW50LFxyXG4gICAgICAgIGZpZWxkcyA/IGZpZWxkcyA6IERlcGFydG1lbnRDb25zdGFudHMuZmllbGRzXHJcbiAgICAgIClcclxuICAgIH1cclxuICAgIGlmKHRoaXMuZ2xvYmFsQWRtaW5TZXJ2aWNlLmlzR2xvYmFsQWRtaW4pe1xyXG4gICAgICBjb250ZXh0Wyd0ZW5hbnRJZCddID0gdGhpcy5nbG9iYWxBZG1pblNlcnZpY2UuYWN0aXZlVGVuYW50XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZnJvbShcclxuICAgICAgdGhpcy5udXhlb1NlcnZpY2UubnV4ZW9DbGllbnRcclxuICAgICAgICAub3BlcmF0aW9uKCBjdXN0b21PcGVyYXRpb24gPyBjdXN0b21PcGVyYXRpb24gOiAnQUNfVUFfRGVwYXJ0bWVudF9VcGRhdGUnICwge1xyXG4gICAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50Lm51eGVvfSR7dGhpcy5lbnZpcm9ubWVudC5jdXN0b21BdXRvbWF0aW9ufWAsXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuaW5wdXQoZGVwYXJ0bWVudElkKVxyXG4gICAgICAgIC5jb250ZXh0KHtcclxuICAgICAgICAgIC4uLmNvbnRleHRcclxuICAgICAgICB9KVxyXG4gICAgICAgIC5leGVjdXRlKClcclxuICAgICkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coZXJyKTtcclxuICAgICAgICB0aHJvdyBlcnI7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcmVjdXJzaXZlRmlsbChcclxuICAgIGVudHJpZXMsXHJcbiAgICBsZXZlbCA9IDAsXHJcbiAgICB0cmVldmlldyA9IHRydWUsXHJcbiAgICBjb2xsYXBzZWQgPSB0cnVlLFxyXG4gICAgY3VzdG9tUHJlZml4P1xyXG4gICk6IFRyZWV2aWV3SXRlbVtdIHtcclxuICAgIHJldHVybiBlbnRyaWVzLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICBsZXQgdHJlZVZpZXdPYmogPSB0cmVldmlld1xyXG4gICAgICAgID8ge1xyXG4gICAgICAgICAgICB0ZXh0OiB0aGlzLmFyYWJpY1xyXG4gICAgICAgICAgICAgID8gaXRlbS5wcm9wZXJ0aWVzXHJcbiAgICAgICAgICAgICAgICA/IGl0ZW0ucHJvcGVydGllc1tjdXN0b21QcmVmaXggPyAoY3VzdG9tUHJlZml4ICsgJzphcmFiaWNOYW1lJykgOiAnZGVwdDphcmFiaWNOYW1lJ11cclxuICAgICAgICAgICAgICAgIDogJy0tJ1xyXG4gICAgICAgICAgICAgIDogaXRlbS5wcm9wZXJ0aWVzXHJcbiAgICAgICAgICAgICAgPyBpdGVtLnByb3BlcnRpZXNbY3VzdG9tUHJlZml4ID8gKGN1c3RvbVByZWZpeCArICc6ZW5nbGlzaE5hbWUnKSA6ICdkZXB0OmVuZ2xpc2hOYW1lJ11cclxuICAgICAgICAgICAgICA6ICctLScsXHJcbiAgICAgICAgICAgIHZhbHVlOiB7IC4uLml0ZW0sIGxldmVsIH0sXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgOiB7XHJcbiAgICAgICAgICAgIHRleHQ6IHRoaXMuYXJhYmljXHJcbiAgICAgICAgICAgICAgPyBpdGVtLnByb3BlcnRpZXNcclxuICAgICAgICAgICAgICAgID8gaXRlbS5wcm9wZXJ0aWVzW2N1c3RvbVByZWZpeCA/IChjdXN0b21QcmVmaXggKyAnOmFyYWJpY05hbWUnKSA6ICdkZXB0OmFyYWJpY05hbWUnXVxyXG4gICAgICAgICAgICAgICAgOiAnLS0nXHJcbiAgICAgICAgICAgICAgOiBpdGVtLnByb3BlcnRpZXNcclxuICAgICAgICAgICAgICA/IGl0ZW0ucHJvcGVydGllc1tjdXN0b21QcmVmaXggPyAoY3VzdG9tUHJlZml4ICsgJzplbmdsaXNoTmFtZScpIDogJ2RlcHQ6ZW5nbGlzaE5hbWUnXVxyXG4gICAgICAgICAgICAgIDogJy0tJyxcclxuICAgICAgICAgICAgdmFsdWU6IGl0ZW0udGl0bGUsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICBjb25zdCB0cmVlSXRlbSA9IG5ldyBUcmVldmlld0l0ZW0oe1xyXG4gICAgICAgIC4uLnRyZWVWaWV3T2JqLFxyXG4gICAgICAgIGNvbGxhcHNlZDogbGV2ZWwgPj0gMiAmJiBjb2xsYXBzZWQgPyB0cnVlIDogZmFsc2UsXHJcbiAgICAgIH0pO1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgaXRlbS5jb250ZXh0UGFyYW1ldGVycyAmJlxyXG4gICAgICAgIGl0ZW0uY29udGV4dFBhcmFtZXRlcnMuY2hpbGRyZW4uZW50cmllcy5sZW5ndGhcclxuICAgICAgKSB7XHJcbiAgICAgICAgdHJlZUl0ZW0uY2hpbGRyZW4gPSB0aGlzLnJlY3Vyc2l2ZUZpbGwoXHJcbiAgICAgICAgICBpdGVtLmNvbnRleHRQYXJhbWV0ZXJzLmNoaWxkcmVuLmVudHJpZXMsXHJcbiAgICAgICAgICBsZXZlbCArIDEsXHJcbiAgICAgICAgICB1bmRlZmluZWQsXHJcbiAgICAgICAgICB1bmRlZmluZWQsXHJcbiAgICAgICAgICBjdXN0b21QcmVmaXhcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0cmVlSXRlbTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgQENhY2hlYWJsZSh7XHJcbiAgICBjYWNoZUJ1c3Rlck9ic2VydmVyOiBkZXBhcnRtZW50Q2FjaGVCdXN0ZXIkLFxyXG4gICAgc3RvcmFnZVN0cmF0ZWd5OiBMb2NhbFN0b3JhZ2VTdHJhdGVneVxyXG4gIH0pXHJcbiAgXHJcbiAgZ2V0RnVsbERlcGFydG1lbnRUcmVlKGN1c3RvbVBhZ2VQcm92aWRlcj8sY3VzdG9tUGFyYW1zPyxjaGlsZHJlbk9mU3BlY2lmaWNEZXA/KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGxldCBvYmogPSBjdXN0b21QYXJhbXMgPyBjdXN0b21QYXJhbXMgOiB7fTtcclxuICAgIGxldCBwYXJhbXMgPSB7XHJcbiAgICAgIHBhZ2VQcm92aWRlcjogY3VzdG9tUGFnZVByb3ZpZGVyID8gY3VzdG9tUGFnZVByb3ZpZGVyIDogJ1BQX0RlcGFydG1lbnQnLFxyXG4gICAgICBjdXJyZW50UGFnZUluZGV4OiAwLFxyXG4gICAgICBvZmZzZXQ6IDAsXHJcbiAgICAgIHBhZ2VTaXplOiA0MCxcclxuICAgICAgLy8gcXVpY2tGaWx0ZXJzOiAnUGFyZW50IERlcHQnLFxyXG4gICAgICAuLi5vYmpcclxuICAgIH1cclxuICAgIGlmKGNoaWxkcmVuT2ZTcGVjaWZpY0RlcCE9PW51bGwpe1xyXG4gICAgICBwYXJhbXNbJ2R1YmxpbmNvcmVfdGl0bGUnXSA9IGNoaWxkcmVuT2ZTcGVjaWZpY0RlcDtcclxuICAgIH1lbHNle1xyXG4gICAgICBwYXJhbXNbJ3F1aWNrRmlsdGVycyddPSAnUGFyZW50IERlcHQnXHJcbiAgICB9XHJcbiAgICBpZih0aGlzLmdsb2JhbEFkbWluU2VydmljZS5pc0dsb2JhbEFkbWluKXtcclxuICAgICAgcGFyYW1zWydxdWVyeVBhcmFtcyddID0gdGhpcy5nbG9iYWxBZG1pblNlcnZpY2UuYWN0aXZlVGVuYW50XHJcbiAgICB9ZWxzZSBpZighdGhpcy5nbG9iYWxBZG1pblNlcnZpY2UuaXNHbG9iYWxBZG1pbiAmJiB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyLnByb3BlcnRpZXMudGVuYW50SWQpe1xyXG4gICAgICBwYXJhbXNbJ3F1ZXJ5UGFyYW1zJ10gPSB0aGlzLm51eGVvU2VydmljZS5udXhlb0NsaWVudC51c2VyLnByb3BlcnRpZXMudGVuYW50SWRcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLkNhbGxBcGlTZXJ2aWNlLnF1ZXJ5KFxyXG4gICAgICB7XHJcbiAgICAgICAgLi4ucGFyYW1zXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAnWC1OWHByb3BlcnRpZXMnOiAnKicsXHJcbiAgICAgICAgICAnZW5yaWNoZXJzLWRvY3VtZW50JzogJ2NoaWxkcmVuJyxcclxuICAgICAgICAgIGRlcHRoOiAnbWF4JyxcclxuICAgICAgICB9LFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -49,10 +49,24 @@ export class DepartmentViewerComponent {
49
49
  });
50
50
  }
51
51
  else {
52
- this.departmentName = this.value;
53
- this.dynamicViewService.setDataToStorag(this.value, {
54
- arabicName: this.departmentName,
55
- englishName: this.departmentName
52
+ this.DepartmentApiService.getObsoletDepartmentDetails(this.value).subscribe(res => {
53
+ var _a, _b, _c, _d;
54
+ if (res.entries.length > 0) {
55
+ this.departmentName = this.isArabic
56
+ ? (_a = res === null || res === void 0 ? void 0 : res.entries[0]) === null || _a === void 0 ? void 0 : _a.properties['dept:arabicName']
57
+ : (_b = res === null || res === void 0 ? void 0 : res.entries[0]) === null || _b === void 0 ? void 0 : _b.properties['dept:englishName'];
58
+ this.dynamicViewService.setDataToStorag(this.value, {
59
+ arabicName: (_c = res === null || res === void 0 ? void 0 : res.entries[0]) === null || _c === void 0 ? void 0 : _c.properties['dept:arabicName'],
60
+ englishName: (_d = res === null || res === void 0 ? void 0 : res.entries[0]) === null || _d === void 0 ? void 0 : _d.properties['dept:englishName']
61
+ });
62
+ }
63
+ else {
64
+ this.departmentName = this.value;
65
+ this.dynamicViewService.setDataToStorag(this.value, {
66
+ arabicName: this.departmentName,
67
+ englishName: this.departmentName
68
+ });
69
+ }
56
70
  });
57
71
  }
58
72
  }, (err) => {
@@ -87,4 +101,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
87
101
  }], noStyle: [{
88
102
  type: Input
89
103
  }] } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwYXJ0bWVudC12aWV3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy12aWV3L2RlcGFydG1lbnQtdmlld2VyL2RlcGFydG1lbnQtdmlld2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtdmlldy9kZXBhcnRtZW50LXZpZXdlci9kZXBhcnRtZW50LXZpZXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFrQnpELE1BQU0sT0FBTyx5QkFBeUI7SUFnQnBDLFlBQ1UsV0FBK0IsRUFDL0Isb0JBQTBDLEVBQzFDLGtCQUF3QztRQUZ4QyxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXNCO1FBZmxELHFCQUFxQjtRQUNaLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDcEIscUJBQXFCO1FBQ1osVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNwQixxQkFBcUI7UUFDWixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLGtCQUFrQjtRQUNULGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDMUIscUJBQXFCO1FBQ1osaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDOUIsY0FBYztRQUNMLFlBQU8sR0FBRyxLQUFLLENBQUM7SUFLdEIsQ0FBQztJQUVKLFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVB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RDs4S0FNVSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9jb3JlL3NlcnZpY2VzL3RyYW5zbGF0aW9uL3RyYW5zbGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDYWNoZWFibGUsIExvY2FsU3RvcmFnZVN0cmF0ZWd5IH0gZnJvbSAndHMtY2FjaGVhYmxlJztcclxuaW1wb3J0IHsgRG9jdW1lbnRzU2VydmljZSB9IGZyb20gJy4uLy4uL2RvY3VtZW50cy9zZXJ2aWNlcy9kb2N1bWVudHMuc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgRGVwYXJ0bWVudEFwaVNlcnZpY2UsXHJcbiAgZGVwYXJ0bWVudENhY2hlQnVzdGVyJCxcclxuICBtaW51dGUsXHJcbn0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9keW5hbWljLWZvcm0vY29tcG9uZW50cy9keW5hbWljLWZvcm0tZGVwYXJ0bWVudC9zZXJ2aWNlcy9kZXBhcnRtZW50LWFwaS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRHluYW1pY1ZpZXdlU2VydmljZSB9IGZyb20gJy4uL2R5bmFtaWMtdmlld2Uuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2N0cy1kZXBhcnRtZW50LXZpZXdlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RlcGFydG1lbnQtdmlld2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kZXBhcnRtZW50LXZpZXdlci5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVwYXJ0bWVudFZpZXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgZGVwYXJ0bWVudE5hbWU6IHN0cmluZztcclxuICBpc0FyYWJpYzogYm9vbGVhbjtcclxuICBsb2FkaW5nOiBib29sZWFuO1xyXG4gIC8qKiBMYWJlbCBvZiBmaWVsZCAqL1xyXG4gIEBJbnB1dCgpIGxhYmVsID0gJyc7XHJcbiAgLyoqIFZhbHVlIG9mIGZpZWxkICovXHJcbiAgQElucHV0KCkgdmFsdWUgPSAnJztcclxuICAvKiogVm9jYWJ1bGFyeSBLZXkgKi9cclxuICBASW5wdXQoKSBkcm9wZG93bklkID0gJyc7XHJcbiAgLyoqIGlzIHZlcnRpY2FsICovXHJcbiAgQElucHV0KCkgdmVydGljYWwgPSBmYWxzZTtcclxuICAvKiogaGlkZSB0aGUgbGFiZWwgKi9cclxuICBASW5wdXQoKSB3aXRoT3V0TGFiZWwgPSBmYWxzZTtcclxuICAvKipvbmx5IHRleHQqL1xyXG4gIEBJbnB1dCgpIG5vU3R5bGUgPSBmYWxzZTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgdHJhbnNsYXRpb246IFRyYW5zbGF0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgRGVwYXJ0bWVudEFwaVNlcnZpY2U6IERlcGFydG1lbnRBcGlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkeW5hbWljVmlld1NlcnZpY2UgOiBEeW5hbWljVmlld2VTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNsYXRpb24uaXNBcmFiaWMuc3Vic2NyaWJlKHJlcyA9PntcclxuICAgICAgdGhpcy5pc0FyYWJpYyA9IHJlcztcclxuICAgICAgdGhpcy5nZXREZXBhcnRtZW50KHRoaXMudmFsdWUpO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGdldERlcGFydG1lbnQoaWQpIHtcclxuICAgIGlmKHRoaXMuZHluYW1pY1ZpZXdTZXJ2aWNlLmdldERhdGFGcm9tU3RvcmVkQWdncmVnYXRpb24odGhpcy52YWx1ZSkpe1xyXG4gICAgICBsZXQgc3RvcmVkRGVwYXJ0bWVudE5hbWUgPSB0aGlzLmR5bmFtaWNWaWV3U2VydmljZS5nZXREYXRhRnJvbVN0b3JlZEFnZ3JlZ2F0aW9uKHRoaXMudmFsdWUpO1xyXG4gICAgICB0aGlzLmRlcGFydG1lbnROYW1lID0gdGhpcy5pc0FyYWJpYyA/IHN0b3JlZERlcGFydG1lbnROYW1lWydkYXRhJ11bJ2FyYWJpY05hbWUnXSA6IHN0b3JlZERlcGFydG1lbnROYW1lWydkYXRhJ11bJ2VuZ2xpc2hOYW1lJ11cclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLkRlcGFydG1lbnRBcGlTZXJ2aWNlLmdldERlcGFydG1lbnREZXRhaWxzKHRoaXMudmFsdWUpLnN1YnNjcmliZShcclxuICAgICAgICAocmVzKSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZygncmVzdWx0cycsIHJlcyk7XHJcbiAgICAgICAgICBpZiAocmVzLmVudHJpZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmRlcGFydG1lbnROYW1lID0gdGhpcy5pc0FyYWJpY1xyXG4gICAgICAgICAgICAgID8gcmVzPy5lbnRyaWVzWzBdPy5wcm9wZXJ0aWVzWydkZXB0OmFyYWJpY05hbWUnXVxyXG4gICAgICAgICAgICAgIDogcmVzPy5lbnRyaWVzWzBdPy5wcm9wZXJ0aWVzWydkZXB0OmVuZ2xpc2hOYW1lJ107XHJcbiAgICAgICAgICAgICAgdGhpcy5keW5hbWljVmlld1NlcnZpY2Uuc2V0RGF0YVRvU3RvcmFnKHRoaXMudmFsdWUgLCB7XHJcbiAgICAgICAgICAgICAgICBhcmFiaWNOYW1lIDogcmVzPy5lbnRyaWVzWzBdPy5wcm9wZXJ0aWVzWydkZXB0OmFyYWJpY05hbWUnXSxcclxuICAgICAgICAgICAgICAgIGVuZ2xpc2hOYW1lIDogcmVzPy5lbnRyaWVzWzBdPy5wcm9wZXJ0aWVzWydkZXB0OmVuZ2xpc2hOYW1lJ11cclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5kZXBhcnRtZW50TmFtZSA9IHRoaXMudmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMuZHluYW1pY1ZpZXdTZXJ2aWNlLnNldERhdGFUb1N0b3JhZyh0aGlzLnZhbHVlICx7XHJcbiAgICAgICAgICAgICAgYXJhYmljTmFtZSA6IHRoaXMuZGVwYXJ0bWVudE5hbWUsXHJcbiAgICAgICAgICAgICAgZW5nbGlzaE5hbWUgOiB0aGlzLmRlcGFydG1lbnROYW1lXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICB9XHJcbiAgXHJcbiAgICAgICAgfSxcclxuICAgICAgICAoZXJyKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmRlcGFydG1lbnROYW1lID0gdGhpcy52YWx1ZTtcclxuICAgICAgICAgIHRoaXMuZHluYW1pY1ZpZXdTZXJ2aWNlLnNldERhdGFUb1N0b3JhZyh0aGlzLnZhbHVlICx7XHJcbiAgICAgICAgICAgIGFyYWJpY05hbWUgOiB0aGlzLmRlcGFydG1lbnROYW1lLFxyXG4gICAgICAgICAgICBlbmdsaXNoTmFtZSA6IHRoaXMuZGVwYXJ0bWVudE5hbWVcclxuICAgICAgICAgIH0pXHJcbiAgXHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIW5vU3R5bGVcIj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cIm15LWR5bmFtaWMtdmlld2VyXCJcclxuICAgIFtuZ0NsYXNzXT1cInsgdmVydGljYWw6IHZlcnRpY2FsID09PSB0cnVlLCAnd2l0aC1vdXQtbGFiZWwnOiB3aXRoT3V0TGFiZWwgfVwiXHJcbiAgPlxyXG4gICAgPGRpdiBjbGFzcz1cIm15LWxhYmVsXCIgKm5nSWY9XCIhd2l0aE91dExhYmVsXCIgbWF0VG9vbHRpcD1cInt7bGFiZWwgfCB0cmFuc2xhdGV9fVwiPnt7IGxhYmVsIHwgdHJhbnNsYXRlIH19PC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiZGVwYXJ0bWVudE5hbWVcIiBjbGFzcz1cIm15LXZhbHVlXCIgbWF0VG9vbHRpcD1cInt7ZGVwYXJ0bWVudE5hbWV9fVwiPlxyXG4gICAgICB7eyBkZXBhcnRtZW50TmFtZSB9fVxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG48bmctY29udGFpbmVyICpuZ0lmPVwibm9TdHlsZVwiPlxyXG4gIHt7IGRlcGFydG1lbnROYW1lIH19XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwYXJ0bWVudC12aWV3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy12aWV3L2RlcGFydG1lbnQtdmlld2VyL2RlcGFydG1lbnQtdmlld2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtdmlldy9kZXBhcnRtZW50LXZpZXdlci9kZXBhcnRtZW50LXZpZXdlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFrQnpELE1BQU0sT0FBTyx5QkFBeUI7SUFnQnBDLFlBQ1UsV0FBK0IsRUFDL0Isb0JBQTBDLEVBQzFDLGtCQUF1QztRQUZ2QyxnQkFBVyxHQUFYLFdBQVcsQ0FBb0I7UUFDL0IseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQUMxQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXFCO1FBZmpELHFCQUFxQjtRQUNaLFVBQUssR0FBRyxFQUFFLENBQUM7UUFDcEIscUJBQXFCO1FBQ1osVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNwQixxQkFBcUI7UUFDWixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ3pCLGtCQUFrQjtRQUNULGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDMUIscUJBQXFCO1FBQ1osaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDOUIsY0FBYztRQUNMLFlBQU8sR0FBRyxLQUFLLENBQUM7SUFLckIsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVB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fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy90cmFuc2xhdGlvbi90cmFuc2xhdGlvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2FjaGVhYmxlLCBMb2NhbFN0b3JhZ2VTdHJhdGVneSB9IGZyb20gJ3RzLWNhY2hlYWJsZSc7XHJcbmltcG9ydCB7IERvY3VtZW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9kb2N1bWVudHMvc2VydmljZXMvZG9jdW1lbnRzLnNlcnZpY2UnO1xyXG5pbXBvcnQge1xyXG4gIERlcGFydG1lbnRBcGlTZXJ2aWNlLFxyXG4gIGRlcGFydG1lbnRDYWNoZUJ1c3RlciQsXHJcbiAgbWludXRlLFxyXG59IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtLWRlcGFydG1lbnQvc2VydmljZXMvZGVwYXJ0bWVudC1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IER5bmFtaWNWaWV3ZVNlcnZpY2UgfSBmcm9tICcuLi9keW5hbWljLXZpZXdlLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjdHMtZGVwYXJ0bWVudC12aWV3ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kZXBhcnRtZW50LXZpZXdlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZGVwYXJ0bWVudC12aWV3ZXIuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIERlcGFydG1lbnRWaWV3ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGRlcGFydG1lbnROYW1lOiBzdHJpbmc7XHJcbiAgaXNBcmFiaWM6IGJvb2xlYW47XHJcbiAgbG9hZGluZzogYm9vbGVhbjtcclxuICAvKiogTGFiZWwgb2YgZmllbGQgKi9cclxuICBASW5wdXQoKSBsYWJlbCA9ICcnO1xyXG4gIC8qKiBWYWx1ZSBvZiBmaWVsZCAqL1xyXG4gIEBJbnB1dCgpIHZhbHVlID0gJyc7XHJcbiAgLyoqIFZvY2FidWxhcnkgS2V5ICovXHJcbiAgQElucHV0KCkgZHJvcGRvd25JZCA9ICcnO1xyXG4gIC8qKiBpcyB2ZXJ0aWNhbCAqL1xyXG4gIEBJbnB1dCgpIHZlcnRpY2FsID0gZmFsc2U7XHJcbiAgLyoqIGhpZGUgdGhlIGxhYmVsICovXHJcbiAgQElucHV0KCkgd2l0aE91dExhYmVsID0gZmFsc2U7XHJcbiAgLyoqb25seSB0ZXh0Ki9cclxuICBASW5wdXQoKSBub1N0eWxlID0gZmFsc2U7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHRyYW5zbGF0aW9uOiBUcmFuc2xhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIERlcGFydG1lbnRBcGlTZXJ2aWNlOiBEZXBhcnRtZW50QXBpU2VydmljZSxcclxuICAgIHByaXZhdGUgZHluYW1pY1ZpZXdTZXJ2aWNlOiBEeW5hbWljVmlld2VTZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRyYW5zbGF0aW9uLmlzQXJhYmljLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICB0aGlzLmlzQXJhYmljID0gcmVzO1xyXG4gICAgICB0aGlzLmdldERlcGFydG1lbnQodGhpcy52YWx1ZSk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0RGVwYXJ0bWVudChpZCkge1xyXG4gICAgaWYgKHRoaXMuZHluYW1pY1ZpZXdTZXJ2aWNlLmdldERhdGFGcm9tU3RvcmVkQWdncmVnYXRpb24odGhpcy52YWx1ZSkpIHtcclxuICAgICAgbGV0IHN0b3JlZERlcGFydG1lbnROYW1lID0gdGhpcy5keW5hbWljVmlld1NlcnZpY2UuZ2V0RGF0YUZyb21TdG9yZWRBZ2dyZWdhdGlvbih0aGlzLnZhbHVlKTtcclxuICAgICAgdGhpcy5kZXBhcnRtZW50TmFtZSA9IHRoaXMuaXNBcmFiaWMgPyBzdG9yZWREZXBhcnRtZW50TmFtZVsnZGF0YSddWydhcmFiaWNOYW1lJ10gOiBzdG9yZWREZXBhcnRtZW50TmFtZVsnZGF0YSddWydlbmdsaXNoTmFtZSddXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLkRlcGFydG1lbnRBcGlTZXJ2aWNlLmdldERlcGFydG1lbnREZXRhaWxzKHRoaXMudmFsdWUpLnN1YnNjcmliZShcclxuICAgICAgICAocmVzKSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZygncmVzdWx0cycsIHJlcyk7XHJcbiAgICAgICAgICBpZiAocmVzLmVudHJpZXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmRlcGFydG1lbnROYW1lID0gdGhpcy5pc0FyYWJpY1xyXG4gICAgICAgICAgICAgID8gcmVzPy5lbnRyaWVzWzBdPy5wcm9wZXJ0aWVzWydkZXB0OmFyYWJpY05hbWUnXVxyXG4gICAgICAgICAgICAgIDogcmVzPy5lbnRyaWVzWzBdPy5wcm9wZXJ0aWVzWydkZXB0OmVuZ2xpc2hOYW1lJ107XHJcbiAgICAgICAgICAgIHRoaXMuZHluYW1pY1ZpZXdTZXJ2aWNlLnNldERhdGFUb1N0b3JhZyh0aGlzLnZhbHVlLCB7XHJcbiAgICAgICAgICAgICAgYXJhYmljTmFtZTogcmVzPy5lbnRyaWVzWzBdPy5wcm9wZXJ0aWVzWydkZXB0OmFyYWJpY05hbWUnXSxcclxuICAgICAgICAgICAgICBlbmdsaXNoTmFtZTogcmVzPy5lbnRyaWVzWzBdPy5wcm9wZXJ0aWVzWydkZXB0OmVuZ2xpc2hOYW1lJ11cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuRGVwYXJ0bWVudEFwaVNlcnZpY2UuZ2V0T2Jzb2xldERlcGFydG1lbnREZXRhaWxzKHRoaXMudmFsdWUpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChyZXMuZW50cmllcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRlcGFydG1lbnROYW1lID0gdGhpcy5pc0FyYWJpY1xyXG4gICAgICAgICAgICAgICAgICA/IHJlcz8uZW50cmllc1swXT8ucHJvcGVydGllc1snZGVwdDphcmFiaWNOYW1lJ11cclxuICAgICAgICAgICAgICAgICAgOiByZXM/LmVudHJpZXNbMF0/LnByb3BlcnRpZXNbJ2RlcHQ6ZW5nbGlzaE5hbWUnXTtcclxuICAgICAgICAgICAgICAgIHRoaXMuZHluYW1pY1ZpZXdTZXJ2aWNlLnNldERhdGFUb1N0b3JhZyh0aGlzLnZhbHVlLCB7XHJcbiAgICAgICAgICAgICAgICAgIGFyYWJpY05hbWU6IHJlcz8uZW50cmllc1swXT8ucHJvcGVydGllc1snZGVwdDphcmFiaWNOYW1lJ10sXHJcbiAgICAgICAgICAgICAgICAgIGVuZ2xpc2hOYW1lOiByZXM/LmVudHJpZXNbMF0/LnByb3BlcnRpZXNbJ2RlcHQ6ZW5nbGlzaE5hbWUnXVxyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGVwYXJ0bWVudE5hbWUgPSB0aGlzLnZhbHVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5keW5hbWljVmlld1NlcnZpY2Uuc2V0RGF0YVRvU3RvcmFnKHRoaXMudmFsdWUsIHtcclxuICAgICAgICAgICAgICAgICAgYXJhYmljTmFtZTogdGhpcy5kZXBhcnRtZW50TmFtZSxcclxuICAgICAgICAgICAgICAgICAgZW5nbGlzaE5hbWU6IHRoaXMuZGVwYXJ0bWVudE5hbWVcclxuICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICB9LFxyXG4gICAgICAgIChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMuZGVwYXJ0bWVudE5hbWUgPSB0aGlzLnZhbHVlO1xyXG4gICAgICAgICAgdGhpcy5keW5hbWljVmlld1NlcnZpY2Uuc2V0RGF0YVRvU3RvcmFnKHRoaXMudmFsdWUsIHtcclxuICAgICAgICAgICAgYXJhYmljTmFtZTogdGhpcy5kZXBhcnRtZW50TmFtZSxcclxuICAgICAgICAgICAgZW5nbGlzaE5hbWU6IHRoaXMuZGVwYXJ0bWVudE5hbWVcclxuICAgICAgICAgIH0pXHJcblxyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFub1N0eWxlXCI+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJteS1keW5hbWljLXZpZXdlclwiXHJcbiAgICBbbmdDbGFzc109XCJ7IHZlcnRpY2FsOiB2ZXJ0aWNhbCA9PT0gdHJ1ZSwgJ3dpdGgtb3V0LWxhYmVsJzogd2l0aE91dExhYmVsIH1cIlxyXG4gID5cclxuICAgIDxkaXYgY2xhc3M9XCJteS1sYWJlbFwiICpuZ0lmPVwiIXdpdGhPdXRMYWJlbFwiIG1hdFRvb2x0aXA9XCJ7e2xhYmVsIHwgdHJhbnNsYXRlfX1cIj57eyBsYWJlbCB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cImRlcGFydG1lbnROYW1lXCIgY2xhc3M9XCJteS12YWx1ZVwiIG1hdFRvb2x0aXA9XCJ7e2RlcGFydG1lbnROYW1lfX1cIj5cclxuICAgICAge3sgZGVwYXJ0bWVudE5hbWUgfX1cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vU3R5bGVcIj5cclxuICB7eyBkZXBhcnRtZW50TmFtZSB9fVxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19
@@ -7,7 +7,7 @@ export class NdfPanelComponent {
7
7
  }
8
8
  }
9
9
  NdfPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
- NdfPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfPanelComponent, selector: "ndf-panel", inputs: { maxBodyHeight: "maxBodyHeight" }, queries: [{ propertyName: "panelHeader", first: true, predicate: ["panelHeader"], descendants: true, read: TemplateRef }, { propertyName: "panelBody", first: true, predicate: ["panelBody"], descendants: true, read: TemplateRef }, { propertyName: "panelFooter", first: true, predicate: ["panelFooter"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<div class=\"scroll-panel\">\r\n\t<div class=\"header\">\r\n\t\t<ng-container [ngTemplateOutlet]=\"panelHeader\"></ng-container>\r\n\t</div>\r\n\r\n\t<div class=\"body\" [style.maxHeight]=\"maxBodyHeight\">\r\n\t\t<ng-container [ngTemplateOutlet]=\"panelBody\"></ng-container>\r\n\t</div>\r\n\r\n\t<div class=\"footer\">\r\n\t\t<ng-container [ngTemplateOutlet]=\"panelFooter\"></ng-container>\r\n\t</div>\r\n</div>\r\n", styles: [".scroll-panel{display:var(--ndf-panel-display, flex);flex-direction:var(--ndf-panel-flex-direction, column);height:var(--ndf-panel-height, calc(100vh - 65px));border:1px solid var(--ndf-panel-main-border)}.header{flex:var(--ndf-panel-header-flex, 0 0 auto);color:var(--ndf-panel-color, #3b3b3c);background-color:var(--ndf-panel-bg, #f6f9f5);border-bottom:1px solid var(--ndf-panel-border-color, #e7e7e7)}.footer{border-top:1px solid var(--ndf-panel-border-color, #e7e7e7)}.body{flex:var(--ndf-panel-body-flex, 1 1 auto);overflow-y:var(--ndf-panel-body-overflow-y, auto);min-height:var(--ndf-panel-body-min-height, 0)}\n"], directives: [{ type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
10
+ NdfPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: NdfPanelComponent, selector: "ndf-panel", inputs: { maxBodyHeight: "maxBodyHeight" }, queries: [{ propertyName: "panelHeader", first: true, predicate: ["panelHeader"], descendants: true, read: TemplateRef }, { propertyName: "panelBody", first: true, predicate: ["panelBody"], descendants: true, read: TemplateRef }, { propertyName: "panelFooter", first: true, predicate: ["panelFooter"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<div class=\"scroll-panel\">\r\n\t<div class=\"header\">\r\n\t\t<ng-container [ngTemplateOutlet]=\"panelHeader\"></ng-container>\r\n\t</div>\r\n\r\n\t<div class=\"body\" [style.maxHeight]=\"maxBodyHeight\">\r\n\t\t<ng-container [ngTemplateOutlet]=\"panelBody\"></ng-container>\r\n\t</div>\r\n\r\n\t<div class=\"footer\">\r\n\t\t<ng-container [ngTemplateOutlet]=\"panelFooter\"></ng-container>\r\n\t</div>\r\n</div>\r\n", styles: [".scroll-panel{display:var(--ndf-panel-display, flex);flex-direction:var(--ndf-panel-flex-direction, column);height:var(--ndf-panel-height, calc(100dvh - 65px));border:1px solid var(--ndf-panel-main-border)}.header{flex:var(--ndf-panel-header-flex, 0 0 auto);color:var(--ndf-panel-color, #3b3b3c);background-color:var(--ndf-panel-bg, #f6f9f5);border-bottom:1px solid var(--ndf-panel-border-color, #e7e7e7)}.footer{border-top:1px solid var(--ndf-panel-border-color, #e7e7e7)}.body{flex:var(--ndf-panel-body-flex, 1 1 auto);overflow-y:var(--ndf-panel-body-overflow-y, auto);min-height:var(--ndf-panel-body-min-height, 0)}\n"], directives: [{ type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11
11
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NdfPanelComponent, decorators: [{
12
12
  type: Component,
13
13
  args: [{