nuxeo-development-framework 0.6.2 → 0.6.6
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.
- package/bundles/nuxeo-development-framework.umd.js +179 -11
- package/bundles/nuxeo-development-framework.umd.js.map +1 -1
- package/esm2015/lib/components/correspondence-relation/components/versions/versions.component.js +5 -4
- package/esm2015/lib/components/dynamic-filter/dynamic-filter/dynamic-filter.component.js +17 -6
- package/esm2015/lib/components/dynamic-search/dynamic-search/dynamic-search.component.js +26 -5
- package/esm2015/lib/components/dynamic-table/dynamic-table/dynamic-table.component.js +2 -2
- package/esm2015/lib/components/dynamic-view/custom-document-viewer/custom-document-viewer.component.js +49 -0
- package/esm2015/lib/components/dynamic-view/custom-pp-viewer/custom-pp-viewer.component.js +49 -0
- package/esm2015/lib/components/dynamic-view/cutome-voc-viewer/cutome-voc-viewer.component.js +33 -0
- package/esm2015/lib/components/dynamic-view/dynamic-view.module.js +19 -4
- package/esm2015/public-api.js +4 -1
- package/fesm2015/nuxeo-development-framework.js +169 -12
- package/fesm2015/nuxeo-development-framework.js.map +1 -1
- package/lib/components/dynamic-filter/dynamic-filter/dynamic-filter.component.d.ts +4 -1
- package/lib/components/dynamic-view/custom-document-viewer/custom-document-viewer.component.d.ts +20 -0
- package/lib/components/dynamic-view/custom-pp-viewer/custom-pp-viewer.component.d.ts +20 -0
- package/lib/components/dynamic-view/cutome-voc-viewer/cutome-voc-viewer.component.d.ts +16 -0
- package/lib/components/dynamic-view/dynamic-view.module.d.ts +8 -5
- package/package.json +1 -1
- package/public-api.d.ts +3 -0
package/esm2015/lib/components/correspondence-relation/components/versions/versions.component.js
CHANGED
|
@@ -6,8 +6,9 @@ import * as i3 from "@angular/material/list";
|
|
|
6
6
|
import * as i4 from "../../../../shared/components/item-list/item-list.component";
|
|
7
7
|
import * as i5 from "../../../../shared/components/no-data/no-data.component";
|
|
8
8
|
import * as i6 from "@angular/common";
|
|
9
|
-
import * as i7 from "
|
|
10
|
-
import * as i8 from "
|
|
9
|
+
import * as i7 from "../../../../directive/permissions/permissions.directive";
|
|
10
|
+
import * as i8 from "@ngx-translate/core";
|
|
11
|
+
import * as i9 from "../../../../pipes/localized-date.pipe";
|
|
11
12
|
/**
|
|
12
13
|
* A component that views document versions
|
|
13
14
|
* @title
|
|
@@ -45,7 +46,7 @@ export class VersionsComponent {
|
|
|
45
46
|
}
|
|
46
47
|
}
|
|
47
48
|
VersionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: VersionsComponent, deps: [{ token: i1.ViewerFilesService }, { token: i2.DocumentsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
48
|
-
VersionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: VersionsComponent, selector: "cts-versions", inputs: { selectedVersion: "selectedVersion", file: "file" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"viewer-attachments\">\r\n <div class=\"subheader\">\r\n <div> {{ \"viewer.current\" | 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 (itemClicked)=\"showVersion(file)\">\r\n <div class=\"description\">\r\n {{ file.properties.major_version }}.{{\r\n file.properties.minor_version\r\n }}\r\n -\r\n {{ file.lastModified | localizedDate }}\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\" *ngIf=\"versions.length > 0\">\r\n <div class=\"subheader\">\r\n <div>{{ \"viewer.origin\" | 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\r\n [item]=\"versions[versions.length -1]\"\r\n [title]=\"versions[versions.length -1].title\"\r\n [iconname]=\"'description'\"\r\n [moreclasses]=\"'text-danger'\"\r\n (itemClicked)=\"showVersion(versions[versions.length -1])\"\r\n >\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\">\r\n <div class=\"subheader\">\r\n <div> {{ \"viewer.history\" | translate }}</div>\r\n\r\n </div>\r\n <div class=\"attachments-list\" *ngIf=\"versions.length > 0\">\r\n <ng-container >\r\n\r\n\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 + ' - ' + ( cnt - (i-1) - 1 ) \" [iconname]=\"'description'\"\r\n [moreclasses]=\"'text-danger'\" (itemClicked)=\"showVersion(version)\">\r\n <div class=\"description\">\r\n {{ version.properties.major_version }}.{{\r\n version.properties.minor_version\r\n }}\r\n -\r\n {{ version.lastModified | localizedDate }}\r\n <span class=\"font-weight-bold\">\r\n {{\r\n version.properties.lastContributor.properties.firstName +\r\n \" \" +\r\n version.properties.lastContributor.properties.lastName\r\n }}\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 *ngIf=\"versions.length === 0\">\r\n <cts-no-data></cts-no-data>\r\n </div>\r\n</div>\r\n<ng-template #noEntry>\r\n \r\n</ng-template>\r\n", styles: [""], components: [{ type: i3.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { type: i4.ItemListComponent, selector: "cts-item-list", inputs: ["item", "iconname", "title", "actions", "isselected", "moreclasses"], outputs: ["itemClicked", "actionclicked"] }, { type: i5.NoDataComponent, selector: "cts-no-data", inputs: ["message", "border"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate":
|
|
49
|
+
VersionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: VersionsComponent, selector: "cts-versions", inputs: { selectedVersion: "selectedVersion", file: "file" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"viewer-attachments\">\r\n <div class=\"subheader\">\r\n <div> {{ \"viewer.current\" | 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 (itemClicked)=\"showVersion(file)\">\r\n <div class=\"description\">\r\n {{ file.properties.major_version }}.{{\r\n file.properties.minor_version\r\n }}\r\n -\r\n {{ file.lastModified | localizedDate }}\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\" *ngIf=\"versions.length > 0\">\r\n <div class=\"subheader\">\r\n <div>{{ \"viewer.origin\" | 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\r\n [item]=\"versions[versions.length -1]\"\r\n [title]=\"versions[versions.length -1].title\"\r\n [iconname]=\"'description'\"\r\n [moreclasses]=\"'text-danger'\"\r\n (itemClicked)=\"showVersion(versions[versions.length -1])\"\r\n >\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\" *permission=\"{name: 'viewVersions', entity: file}\">\r\n <div class=\"subheader\">\r\n <div> {{ \"viewer.history\" | translate }}</div>\r\n\r\n </div>\r\n <div class=\"attachments-list\" *ngIf=\"versions.length > 0\">\r\n <ng-container >\r\n\r\n\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 + ' - ' + ( cnt - (i-1) - 1 ) \" [iconname]=\"'description'\"\r\n [moreclasses]=\"'text-danger'\" (itemClicked)=\"showVersion(version)\">\r\n <div class=\"description\">\r\n {{ version.properties.major_version }}.{{\r\n version.properties.minor_version\r\n }}\r\n -\r\n {{ version.lastModified | localizedDate }}\r\n <span class=\"font-weight-bold\">\r\n {{\r\n version.properties.lastContributor.properties.firstName +\r\n \" \" +\r\n version.properties.lastContributor.properties.lastName\r\n }}\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 *ngIf=\"versions.length === 0\">\r\n <cts-no-data></cts-no-data>\r\n </div>\r\n</div>\r\n<ng-template #noEntry>\r\n \r\n</ng-template>\r\n", styles: [""], components: [{ type: i3.MatList, selector: "mat-list, mat-action-list", inputs: ["disableRipple", "disabled"], exportAs: ["matList"] }, { type: i4.ItemListComponent, selector: "cts-item-list", inputs: ["item", "iconname", "title", "actions", "isselected", "moreclasses"], outputs: ["itemClicked", "actionclicked"] }, { type: i5.NoDataComponent, selector: "cts-no-data", inputs: ["message", "border"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.PermissionsDirective, selector: "[permission]", inputs: ["permission"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i8.TranslatePipe, "localizedDate": i9.LocalizedDatePipe } });
|
|
49
50
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: VersionsComponent, decorators: [{
|
|
50
51
|
type: Component,
|
|
51
52
|
args: [{
|
|
@@ -58,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
58
59
|
}], file: [{
|
|
59
60
|
type: Input
|
|
60
61
|
}] } });
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9jb3JyZXNwb25kZW5jZS1yZWxhdGlvbi9jb21wb25lbnRzL3ZlcnNpb25zL3ZlcnNpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvY29ycmVzcG9uZGVuY2UtcmVsYXRpb24vY29tcG9uZW50cy92ZXJzaW9ucy92ZXJzaW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBb0MsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7O0FBS25GOzs7Ozs7Ozs7O0dBVUc7QUFNSCxNQUFNLE9BQU8saUJBQWlCO0lBUTVCLFlBQ1Usa0JBQXNDLEVBQ3RDLFlBQThCO1FBRDlCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsaUJBQVksR0FBWixZQUFZLENBQWtCO1FBSHhDLGFBQVEsR0FBRyxFQUFFLENBQUM7SUFLVixDQUFDO0lBQ0wsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksT0FBTyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVk7WUFDM0MsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUdELFdBQVc7UUFDVCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzlELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUN2Qyx5QkFBeUI7UUFFM0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQU87UUFDakIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckQsQ0FBQzs7OEdBbkNVLGlCQUFpQjtrR0FBakIsaUJBQWlCLHVJQ3JCOUIsbTFGQW1GQTsyRkQ5RGEsaUJBQWlCO2tCQUw3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixXQUFXLEVBQUUsMkJBQTJCO29CQUN4QyxTQUFTLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztpQkFDekM7d0lBSUMsZUFBZTtzQkFEZCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvY3VtZW50c1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9kb2N1bWVudHMvc2VydmljZXMvZG9jdW1lbnRzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBWaWV3ZXJGaWxlc1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy92aWV3ZXItZmlsZXMuc2VydmljZSc7XHJcblxyXG5cclxuLyoqXHJcbiAqIEEgY29tcG9uZW50IHRoYXQgdmlld3MgZG9jdW1lbnQgdmVyc2lvbnNcclxuICogQHRpdGxlXHJcbiAqIFZpZXdlciBWZXJzaW9uc1xyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKlxyXG4gKiA8Y3RzLXZlcnNpb25zXHJcbiAqICAgW2ZpbGVdPVwiZmlsZVwiXHJcbiAqID48L2N0cy12ZXJzaW9ucz5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY3RzLXZlcnNpb25zJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdmVyc2lvbnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3ZlcnNpb25zLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFZlcnNpb25zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIC8qKiBDdXJyZW50IHNlbGVjdGVkIHZlcnNpb24gKGluIHZpZXdlcikgKi9cclxuICBASW5wdXQoKVxyXG4gIHNlbGVjdGVkVmVyc2lvbjtcclxuICAvKiogRG9jdW1lbnQgb2JqZWN0ICovXHJcbiAgQElucHV0KClcclxuICBmaWxlO1xyXG4gIHZlcnNpb25zID0gW107XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHZpZXdlckZpbGVzU2VydmljZTogVmlld2VyRmlsZXNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkb2N1bWVudHNBcGk6IERvY3VtZW50c1NlcnZpY2VcclxuXHJcbiAgKSB7IH1cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlcy5maWxlICYmIGNoYW5nZXMuZmlsZS5jdXJyZW50VmFsdWUgJiZcclxuICAgICAgY2hhbmdlcy5maWxlLnByZXZpb3VzVmFsdWUpIHtcclxuICAgICAgdGhpcy5nZXRWZXJzaW9ucygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdldFZlcnNpb25zKCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0VmVyc2lvbnMoKSB7XHJcbiAgICB0aGlzLmRvY3VtZW50c0FwaS5nZXRWZXJzaW9ucyh0aGlzLmZpbGUudWlkKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgdGhpcy52ZXJzaW9ucyA9IGRhdGEuZW50cmllcy5yZXZlcnNlKCk7XHJcbiAgICAgIC8vIHRoaXMudmVyc2lvbnMuc2hpZnQoKTtcclxuXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNob3dWZXJzaW9uKHZlcnNpb24pIHtcclxuICAgIHRoaXMudmlld2VyRmlsZXNTZXJ2aWNlLnVwZGF0ZVZpZXdlci5uZXh0KHZlcnNpb24pO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInZpZXdlci1hdHRhY2htZW50c1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJzdWJoZWFkZXJcIj5cclxuICAgIDxkaXY+IHt7IFwidmlld2VyLmN1cnJlbnRcIiB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxyXG5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiYXR0YWNobWVudHMtbGlzdFwiPlxyXG4gICAgPG1hdC1saXN0PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibWF0LWxpc3QtaXRlbXNcIj5cclxuICAgICAgICA8Y3RzLWl0ZW0tbGlzdCBbaXRlbV09XCJmaWxlXCIgW3RpdGxlXT1cImZpbGUudGl0bGVcIiBbaWNvbm5hbWVdPVwiJ2Rlc2NyaXB0aW9uJ1wiIFttb3JlY2xhc3Nlc109XCIndGV4dC1kYW5nZXInXCJcclxuICAgICAgICAgIChpdGVtQ2xpY2tlZCk9XCJzaG93VmVyc2lvbihmaWxlKVwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCI+XHJcbiAgICAgICAgICAgIHt7IGZpbGUucHJvcGVydGllcy5tYWpvcl92ZXJzaW9uIH19Lnt7XHJcbiAgICAgICAgICAgICAgZmlsZS5wcm9wZXJ0aWVzLm1pbm9yX3ZlcnNpb25cclxuICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgLVxyXG4gICAgICAgICAgICB7eyBmaWxlLmxhc3RNb2RpZmllZCB8IGxvY2FsaXplZERhdGUgfX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvY3RzLWl0ZW0tbGlzdD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC1saXN0PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJ2aWV3ZXItYXR0YWNobWVudHNcIiAqbmdJZj1cInZlcnNpb25zLmxlbmd0aCA+IDBcIj5cclxuICA8ZGl2IGNsYXNzPVwic3ViaGVhZGVyXCI+XHJcbiAgICA8ZGl2Pnt7IFwidmlld2VyLm9yaWdpblwiIHwgdHJhbnNsYXRlIH19PC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImF0dGFjaG1lbnRzLWxpc3RcIj5cclxuICAgIDxtYXQtbGlzdD5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1hdC1saXN0LWl0ZW1zXCI+XHJcbiAgICAgICAgPGN0cy1pdGVtLWxpc3RcclxuICAgICAgICBbaXRlbV09XCJ2ZXJzaW9uc1t2ZXJzaW9ucy5sZW5ndGggLTFdXCJcclxuICAgICAgICBbdGl0bGVdPVwidmVyc2lvbnNbdmVyc2lvbnMubGVuZ3RoIC0xXS50aXRsZVwiXHJcbiAgICAgICAgW2ljb25uYW1lXT1cIidkZXNjcmlwdGlvbidcIlxyXG4gICAgICAgIFttb3JlY2xhc3Nlc109XCIndGV4dC1kYW5nZXInXCJcclxuICAgICAgICAoaXRlbUNsaWNrZWQpPVwic2hvd1ZlcnNpb24odmVyc2lvbnNbdmVyc2lvbnMubGVuZ3RoIC0xXSlcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIFxyXG4gICAgICAgIDwvY3RzLWl0ZW0tbGlzdD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC1saXN0PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxkaXYgY2xhc3M9XCJ2aWV3ZXItYXR0YWNobWVudHNcIiAqcGVybWlzc2lvbj1cIntuYW1lOiAndmlld1ZlcnNpb25zJywgZW50aXR5OiBmaWxlfVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJzdWJoZWFkZXJcIj5cclxuICAgIDxkaXY+IHt7IFwidmlld2VyLmhpc3RvcnlcIiB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxyXG5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiYXR0YWNobWVudHMtbGlzdFwiICpuZ0lmPVwidmVyc2lvbnMubGVuZ3RoID4gMFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciA+XHJcblxyXG5cclxuICAgICAgPG1hdC1saXN0PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtbGlzdC1pdGVtc1wiICpuZ0Zvcj1cImxldCB2ZXJzaW9uIG9mIHZlcnNpb25zIDtsZXQgY250ID0gY291bnQ7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgIDxjdHMtaXRlbS1saXN0IFtpdGVtXT1cInZlcnNpb25cIiBbdGl0bGVdPVwidmVyc2lvbi50aXRsZSArICcgLSAnICsgKCBjbnQgLSAoaS0xKSAtIDEgKSBcIiBbaWNvbm5hbWVdPVwiJ2Rlc2NyaXB0aW9uJ1wiXHJcbiAgICAgICAgICAgIFttb3JlY2xhc3Nlc109XCIndGV4dC1kYW5nZXInXCIgKGl0ZW1DbGlja2VkKT1cInNob3dWZXJzaW9uKHZlcnNpb24pXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAgICAgIHt7IHZlcnNpb24ucHJvcGVydGllcy5tYWpvcl92ZXJzaW9uIH19Lnt7XHJcbiAgICAgICAgICAgICAgdmVyc2lvbi5wcm9wZXJ0aWVzLm1pbm9yX3ZlcnNpb25cclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICAgIC1cclxuICAgICAgICAgICAgICB7eyB2ZXJzaW9uLmxhc3RNb2RpZmllZCB8IGxvY2FsaXplZERhdGUgfX1cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZvbnQtd2VpZ2h0LWJvbGRcIj5cclxuICAgICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgICAgIHZlcnNpb24ucHJvcGVydGllcy5sYXN0Q29udHJpYnV0b3IucHJvcGVydGllcy5maXJzdE5hbWUgK1xyXG4gICAgICAgICAgICAgICAgICAgIFwiIFwiICtcclxuICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uLnByb3BlcnRpZXMubGFzdENvbnRyaWJ1dG9yLnByb3BlcnRpZXMubGFzdE5hbWVcclxuICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvY3RzLWl0ZW0tbGlzdD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9tYXQtbGlzdD5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJ2ZXJzaW9ucy5sZW5ndGggPT09IDBcIj5cclxuICAgIDxjdHMtbm8tZGF0YT48L2N0cy1uby1kYXRhPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPG5nLXRlbXBsYXRlICNub0VudHJ5PlxyXG4gIFxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@angular/material/checkbox";
|
|
4
|
-
import * as i2 from "../../dynamic-view/
|
|
5
|
-
import * as i3 from "
|
|
6
|
-
import * as i4 from "
|
|
4
|
+
import * as i2 from "../../dynamic-view/cutome-voc-viewer/cutome-voc-viewer.component";
|
|
5
|
+
import * as i3 from "../../dynamic-view/custom-pp-viewer/custom-pp-viewer.component";
|
|
6
|
+
import * as i4 from "../../dynamic-view/custom-document-viewer/custom-document-viewer.component";
|
|
7
|
+
import * as i5 from "../../dynamic-view/department-viewer/department-viewer.component";
|
|
8
|
+
import * as i6 from "@angular/common";
|
|
9
|
+
import * as i7 from "@ngx-translate/core";
|
|
7
10
|
/**
|
|
8
11
|
* Dyanamic filter is a component that leverages Nuxeo Elastic search aggregation buckets data to dynamically
|
|
9
12
|
* generate data filtering checkbox groups & emits checkbox selection for consumption
|
|
@@ -30,13 +33,15 @@ export class DynamicFilterComponent {
|
|
|
30
33
|
this.title = '';
|
|
31
34
|
/** special type for department */
|
|
32
35
|
this.department = false;
|
|
36
|
+
this.componentType = 'defult';
|
|
33
37
|
this.more = false;
|
|
34
38
|
}
|
|
35
39
|
/** new filters coming from the backend based on the selection */
|
|
36
40
|
set selections(val) {
|
|
37
41
|
this._selections = val;
|
|
38
42
|
}
|
|
39
|
-
ngOnInit() {
|
|
43
|
+
ngOnInit() {
|
|
44
|
+
}
|
|
40
45
|
onFilterSelect(committeeName, e) {
|
|
41
46
|
if (e) {
|
|
42
47
|
this._selections.push(committeeName);
|
|
@@ -73,9 +78,11 @@ export class DynamicFilterComponent {
|
|
|
73
78
|
return 'department';
|
|
74
79
|
}
|
|
75
80
|
}
|
|
81
|
+
ngOnDestroy() {
|
|
82
|
+
}
|
|
76
83
|
}
|
|
77
84
|
DynamicFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
78
|
-
DynamicFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: DynamicFilterComponent, selector: "cts-dynamic-filter", inputs: { title: "title", filters: "filters", selections: "selections", id: "id", entityType: "entityType", prefix: "prefix", department: "department" }, outputs: { onFilterSelected: "onFilterSelected" }, ngImport: i0, template: "<div class=\"aggregation-container\">\r\n <div class=\"search-title\">\r\n {{ prefix + \".\" + title | translate }}\r\n </div>\r\n <ng-container *ngIf=\"filters\">\r\n <ng-container *ngFor=\"let group of filters; index as i\">\r\n <div *ngIf=\"i < 5 || more\" class=\"search-checkbox\">\r\n <!-- <input\r\n [checked]=\"_selections.includes(group.key)\"\r\n type=\"checkbox\"\r\n (change)=\"onFilterSelect(group.key, $event.target.checked)\"\r\n /> -->\r\n <!-- <div class=\"mx-8\">\r\n <span [ngSwitch]=\"EntityType(group.fetchedKey)\">\r\n <span *ngSwitchCase=\"'directoryEntry'\">\r\n {{\r\n \"vocabulary.\" + group.fetchedKey.directoryName + \".\" + group.key\r\n | translate\r\n }}\r\n </span>\r\n <span *ngSwitchCase=\"'user'\">\r\n {{\r\n group.fetchedKey.properties.firstName +\r\n \" \" +\r\n group.fetchedKey.properties.lastName\r\n }}\r\n </span>\r\n <span *ngSwitchDefault>\r\n {{ prefix + \".\" + \"buckets.\" + group.key | translate }}\r\n </span>\r\n </span>\r\n <bdi>({{ group.docCount }})</bdi>\r\n </div> -->\r\n <mat-checkbox\r\n [checked]=\"_selections.includes(group.key)\"\r\n (change)=\"onFilterSelect(group.key, $event.checked)\"\r\n >\r\n <span [ngSwitch]=\"EntityType(group.fetchedKey)\">\r\n <span *ngSwitchCase=\"'directoryEntry'\">\r\n {{\r\n \"vocabulary.\" + group.fetchedKey.directoryName + \".\" + group.key\r\n | translate\r\n }}\r\n </span>\r\n <span *ngSwitchCase=\"'user'\">\r\n {{\r\n group.fetchedKey.properties.firstName +\r\n \" \" +\r\n group.fetchedKey.properties.lastName\r\n }}\r\n </span>\r\n <span *ngSwitchCase=\"'department'\">\r\n <cts-department-viewer\r\n [noStyle]=\"true\"\r\n [value]=\"group.key\"\r\n >\r\n </cts-department-viewer>\r\n <!-- {{group.key}} -->\r\n </span>\r\n <span *ngSwitchDefault>\r\n {{ prefix + \".\" + \"buckets.\" + group.key | translate }}\r\n </span>\r\n </span>\r\n <bdi>({{ group.docCount }})</bdi></mat-checkbox\r\n >\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"filters.length > 5\" class=\"more\">\r\n <button class=\"btn-more\" (click)=\"more = !more\">\r\n {{\r\n more\r\n ? (prefix + \".\" + \"viewless\" | translate)\r\n : (prefix + \".\" + \"viewmore\" | translate)\r\n }}\r\n </button>\r\n </div>\r\n </ng-container>\r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.mx-8{margin-left:8px;margin-right:8px}.aggregation-container{border-bottom:1px solid #b4bac6;padding-bottom:8px}.aggregation-container .search-title{margin-bottom:6px;margin-top:6px;border-bottom-width:2px;font-weight:700;--tw-text-opacity: 1;color:rgba(70,85,115,var(--tw-text-opacity))}.aggregation-container .search-checkbox{display:flex;align-items:center;margin-bottom:.5rem}.aggregation-container .mat-checkbox-ripple .mat-ripple-element,.aggregation-container .mat-checkbox-checked.mat-accent .mat-checkbox-background{background-color:#33e3b7!important}.aggregation-container .mat-checkbox-ripple .mat-ripple-element{position:fixed;left:inherit;top:inherit;transform:translate(-3px,-3px)!important}.aggregation-container mat-checkbox .mat-checkbox-background{background-color:#d9dce2!important}.aggregation-container mat-checkbox .mat-checkbox-inner-container{transform:scale(1.1)}.aggregation-container .justify-items-center{justify-items:center}.aggregation-container .more{display:flex;justify-content:center}.aggregation-container .btn-more{border-bottom-width:2px;--tw-border-opacity: 1;border-color:rgba(217,220,226,var(--tw-border-opacity));background:none;border:none;margin:0;padding:0;color:#00f}.rtl mat-checkbox .mat-checkbox-inner-container{margin-right:0!important;margin-left:8px!important}\n"], components: [{ type: i1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i2.DepartmentViewerComponent, selector: "cts-department-viewer", inputs: ["label", "value", "dropdownId", "vertical", "withOutLabel", "noStyle"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "translate": i4.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
85
|
+
DynamicFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: DynamicFilterComponent, selector: "cts-dynamic-filter", inputs: { title: "title", filters: "filters", selections: "selections", id: "id", entityType: "entityType", prefix: "prefix", department: "department", componentType: "componentType", customPageProvider: "customPageProvider" }, outputs: { onFilterSelected: "onFilterSelected" }, ngImport: i0, template: "<div class=\"aggregation-container\">\r\n <div class=\"search-title\">\r\n {{ prefix + \".\" + title | translate }}\r\n </div>\r\n <ng-container *ngIf=\"filters\">\r\n <ng-container *ngFor=\"let group of filters; index as i\">\r\n <div *ngIf=\"i < 5 || more\" class=\"search-checkbox\">\r\n <!-- <input\r\n [checked]=\"_selections.includes(group.key)\"\r\n type=\"checkbox\"\r\n (change)=\"onFilterSelect(group.key, $event.target.checked)\"\r\n /> -->\r\n <!-- <div class=\"mx-8\">\r\n <span [ngSwitch]=\"EntityType(group.fetchedKey)\">\r\n <span *ngSwitchCase=\"'directoryEntry'\">\r\n {{\r\n \"vocabulary.\" + group.fetchedKey.directoryName + \".\" + group.key\r\n | translate\r\n }}\r\n </span>\r\n <span *ngSwitchCase=\"'user'\">\r\n {{\r\n group.fetchedKey.properties.firstName +\r\n \" \" +\r\n group.fetchedKey.properties.lastName\r\n }}\r\n </span>\r\n <span *ngSwitchDefault>\r\n {{ prefix + \".\" + \"buckets.\" + group.key | translate }}\r\n </span>\r\n </span>\r\n <bdi>({{ group.docCount }})</bdi>\r\n </div> -->\r\n <mat-checkbox\r\n [checked]=\"_selections.includes(group.key)\"\r\n (change)=\"onFilterSelect(group.key, $event.checked)\"\r\n >\r\n <span [ngSwitch]=\"componentType\">\r\n\r\n <span *ngSwitchCase=\"'custom-voc'\">\r\n <lib-cutome-voc-viewer [type]=\"componentType\" [group]=\"group\"></lib-cutome-voc-viewer>\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'vocabulary'\">\r\n <lib-cutome-voc-viewer [type]=\"componentType\" [group]=\"group\"></lib-cutome-voc-viewer>\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'user'\">\r\n {{\r\n group.fetchedKey.properties.firstName +\r\n \" \" +\r\n group.fetchedKey.properties.lastName\r\n }}\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'custom-pp'\">\r\n <lib-custom-pp-viewer [pageProvider]=\"customPageProvider\" [group]=\"group\"></lib-custom-pp-viewer>\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'custom-document'\">\r\n <lib-custom-document-viewer [pageProvider]=\"customPageProvider\" [group]=\"group\"></lib-custom-document-viewer>\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'department'\">\r\n <cts-department-viewer\r\n [noStyle]=\"true\"\r\n [value]=\"group.key\"\r\n >\r\n </cts-department-viewer>\r\n <!-- {{group.key}} -->\r\n </span>\r\n\r\n <span *ngSwitchCase=\"'string'\">\r\n <span>{{group.key}}</span>\r\n </span>\r\n <span *ngSwitchDefault>\r\n {{ prefix + \".\" + \"buckets.\" + group.key | translate }}\r\n </span>\r\n </span>\r\n <bdi>({{ group.docCount }})</bdi></mat-checkbox\r\n >\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"filters.length > 5\" class=\"more\">\r\n <button class=\"btn-more\" (click)=\"more = !more\">\r\n {{\r\n more\r\n ? (prefix + \".\" + \"viewless\" | translate)\r\n : (prefix + \".\" + \"viewmore\" | translate)\r\n }}\r\n </button>\r\n </div>\r\n </ng-container>\r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.mx-8{margin-left:8px;margin-right:8px}.aggregation-container{border-bottom:1px solid #b4bac6;padding-bottom:8px}.aggregation-container .search-title{margin-bottom:6px;margin-top:6px;border-bottom-width:2px;font-weight:700;--tw-text-opacity: 1;color:rgba(70,85,115,var(--tw-text-opacity))}.aggregation-container .search-checkbox{display:flex;align-items:center;margin-bottom:.5rem}.aggregation-container .mat-checkbox-ripple .mat-ripple-element,.aggregation-container .mat-checkbox-checked.mat-accent .mat-checkbox-background{background-color:#33e3b7!important}.aggregation-container .mat-checkbox-ripple .mat-ripple-element{position:fixed;left:inherit;top:inherit;transform:translate(-3px,-3px)!important}.aggregation-container mat-checkbox .mat-checkbox-background{background-color:#d9dce2!important}.aggregation-container mat-checkbox .mat-checkbox-inner-container{transform:scale(1.1)}.aggregation-container .justify-items-center{justify-items:center}.aggregation-container .more{display:flex;justify-content:center}.aggregation-container .btn-more{border-bottom-width:2px;--tw-border-opacity: 1;border-color:rgba(217,220,226,var(--tw-border-opacity));background:none;border:none;margin:0;padding:0;color:#00f}.rtl mat-checkbox .mat-checkbox-inner-container{margin-right:0!important;margin-left:8px!important}\n"], components: [{ type: i1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "id", "labelPosition", "name", "required", "checked", "disabled", "indeterminate", "aria-describedby", "value"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i2.CutomeVocViewerComponent, selector: "lib-cutome-voc-viewer", inputs: ["type", "group"] }, { type: i3.CustomPpViewerComponent, selector: "lib-custom-pp-viewer", inputs: ["pageProvider", "group"] }, { type: i4.CustomDocumentViewerComponent, selector: "lib-custom-document-viewer", inputs: ["pageProvider", "group"] }, { type: i5.DepartmentViewerComponent, selector: "cts-department-viewer", inputs: ["label", "value", "dropdownId", "vertical", "withOutLabel", "noStyle"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i6.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i6.NgSwitchDefault, selector: "[ngSwitchDefault]" }], pipes: { "translate": i7.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
79
86
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicFilterComponent, decorators: [{
|
|
80
87
|
type: Component,
|
|
81
88
|
args: [{
|
|
@@ -102,5 +109,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
102
109
|
type: Input
|
|
103
110
|
}], department: [{
|
|
104
111
|
type: Input
|
|
112
|
+
}], componentType: [{
|
|
113
|
+
type: Input
|
|
114
|
+
}], customPageProvider: [{
|
|
115
|
+
type: Input
|
|
105
116
|
}] } });
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZpbHRlci9keW5hbWljLWZpbHRlci9keW5hbWljLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZmlsdGVyL2R5bmFtaWMtZmlsdGVyL2R5bmFtaWMtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFFdkI7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBT0gsTUFBTSxPQUFPLHNCQUFzQjtJQTRCakM7UUEzQkEsNkJBQTZCO1FBQ25CLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHaEQsaUNBQWlDO1FBRWpDLFVBQUssR0FBRyxFQUFFLENBQUM7UUFpQlgsa0NBQWtDO1FBRWxDLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsU0FBSSxHQUFHLEtBQUssQ0FBQztJQUNFLENBQUM7SUFqQmhCLGlFQUFpRTtJQUNqRSxJQUNJLFVBQVUsQ0FBQyxHQUFHO1FBQ2hCLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDO0lBQ3pCLENBQUM7SUFlRCxRQUFRLEtBQVUsQ0FBQztJQUVuQixjQUFjLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLEVBQUU7WUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNyQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO2dCQUN6QixNQUFNLEVBQUU7b0JBQ04sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2lCQUNqRDtnQkFDRCxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVU7YUFDdEIsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDL0MsT0FBTyxDQUFDLElBQUksYUFBYSxDQUFDO1lBQzVCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQztnQkFDekIsTUFBTSxFQUFFO29CQUNOLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztpQkFDakQ7Z0JBQ0QsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVO2FBQ3RCLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxVQUFVO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3BCLE1BQU0sT0FBTyxHQUFHLE9BQU8sVUFBVSxLQUFLLFFBQVEsSUFBSSxVQUFVLEtBQUssSUFBSSxDQUFDO1lBQ3RFLElBQUksT0FBTyxFQUFFO2dCQUNYLE9BQU8sVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ2xDO2lCQUFNO2dCQUNMLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7U0FDRjthQUFLO1lBQ0osT0FBTyxZQUFZLENBQUE7U0FDcEI7SUFDSCxDQUFDOzttSEFqRVUsc0JBQXNCO3VHQUF0QixzQkFBc0IsdVFDakNuQywrNUZBOEVBOzJGRDdDYSxzQkFBc0I7a0JBTmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsV0FBVyxFQUFFLGlDQUFpQztvQkFDOUMsU0FBUyxFQUFFLENBQUMsaUNBQWlDLENBQUM7b0JBQzlDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN0QzswRUFHVyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBS1AsS0FBSztzQkFESixLQUFLOztRQUdOLG9CQUFvQjtRQUNwQixPQUFPO3NCQUZOLEtBQUs7Z0JBS0YsVUFBVTtzQkFEYixLQUFLO2dCQU1OLEVBQUU7c0JBREQsS0FBSztnQkFHTixVQUFVO3NCQURULEtBQUs7Z0JBSU4sTUFBTTtzQkFETCxLQUFLO2dCQUlOLFVBQVU7c0JBRFQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIER5YW5hbWljIGZpbHRlciBpcyBhIGNvbXBvbmVudCB0aGF0IGxldmVyYWdlcyBOdXhlbyBFbGFzdGljIHNlYXJjaCBhZ2dyZWdhdGlvbiBidWNrZXRzIGRhdGEgdG8gZHluYW1pY2FsbHlcclxuICogZ2VuZXJhdGUgZGF0YSBmaWx0ZXJpbmcgY2hlY2tib3ggZ3JvdXBzICYgZW1pdHMgY2hlY2tib3ggc2VsZWN0aW9uIGZvciBjb25zdW1wdGlvblxyXG4gKiBAdGl0bGVcclxuICogRHluYW1pYyBGaWx0ZXJcclxuICpcclxuICogQGV4YW1wbGVcclxuICpcclxuICogPGN0cy1keW5hbWljLWZpbHRlclxyXG4gKiAgIFtlbnRpdHlUeXBlXT1cImVudGl0eVR5cGVcIlxyXG4gKiAgIFtmaWx0ZXJzXT1cImFnZ3JlZ2F0aW9uQnVja2V0c1wiXHJcbiAqICAgW2lkXT1cImFnZ3JlZ2F0aW9uSWRcIlxyXG4gKiAgIFtzZWxlY3Rpb25zXT1cImFnZ3JlZ2F0aW9uU2VsZWN0aW9uXCJcclxuICogICBbdGl0bGVdPVwiYWdncmVnYXRpb25GaWVsZFwiXHJcbiAqICAgW3ByZWZpeF09XCInc2VhcmNoJ1wiXHJcbiAqICAgKG9uRmlsdGVyU2VsZWN0ZWQpPVwiRmlsdGVyU2VsZWN0ZWQoJGV2ZW50KVwiPlxyXG4gKiA8L2N0cy1keW5hbWljLWZpbHRlcj5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY3RzLWR5bmFtaWMtZmlsdGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtZmlsdGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIC8qKiBlbWl0cyBhcnJheSBvZiBmaWx0ZXJzICovXHJcbiAgQE91dHB1dCgpIG9uRmlsdGVyU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgcHVibGljIF9zZWxlY3Rpb25zO1xyXG5cclxuICAvKiogdGl0bGUgb2YgdGhlIGZpbHRlcnMgZ3JvdXAgKi9cclxuICBASW5wdXQoKVxyXG4gIHRpdGxlID0gJyc7XHJcbiAgQElucHV0KClcclxuICAvKiogZmlsdGVycyBncm91cCAqL1xyXG4gIGZpbHRlcnM7XHJcbiAgLyoqIG5ldyBmaWx0ZXJzIGNvbWluZyBmcm9tIHRoZSBiYWNrZW5kIGJhc2VkIG9uIHRoZSBzZWxlY3Rpb24gKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBzZWxlY3Rpb25zKHZhbCkge1xyXG4gICAgdGhpcy5fc2VsZWN0aW9ucyA9IHZhbDtcclxuICB9XHJcbiAgLyoqIEFnZ3JlZ2F0aW9uIElEICovXHJcbiAgQElucHV0KClcclxuICBpZDtcclxuICBASW5wdXQoKVxyXG4gIGVudGl0eVR5cGU7XHJcbiAgLyoqIHN0YXRpYyAgcGF0aCBmb3IgdHJhbnNsYXRpb24gcGFzc2VkIGZyb20gb3V0IHNpZGUgYWNjb3JkaW5nIHRvIGVhY2ggcGFnZSB0cmFuc2xhdGlvbiBwYXRoICovXHJcbiAgQElucHV0KClcclxuICBwcmVmaXg7XHJcbiAgLyoqIHNwZWNpYWwgdHlwZSBmb3IgZGVwYXJ0bWVudCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgZGVwYXJ0bWVudDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIG1vcmUgPSBmYWxzZTtcclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge31cclxuXHJcbiAgb25GaWx0ZXJTZWxlY3QoY29tbWl0dGVlTmFtZSwgZSkge1xyXG4gICAgaWYgKGUpIHtcclxuICAgICAgdGhpcy5fc2VsZWN0aW9ucy5wdXNoKGNvbW1pdHRlZU5hbWUpO1xyXG4gICAgICB0aGlzLm9uRmlsdGVyU2VsZWN0ZWQuZW1pdCh7XHJcbiAgICAgICAgZmlsdGVyOiB7XHJcbiAgICAgICAgICBbdGhpcy5pZF06IEpTT04uc3RyaW5naWZ5KFsuLi50aGlzLl9zZWxlY3Rpb25zXSksXHJcbiAgICAgICAgfSxcclxuICAgICAgICB0eXBlOiB0aGlzLmVudGl0eVR5cGUsXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fc2VsZWN0aW9ucyA9IHRoaXMuX3NlbGVjdGlvbnMuZmlsdGVyKChlKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGUgIT0gY29tbWl0dGVlTmFtZTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMub25GaWx0ZXJTZWxlY3RlZC5lbWl0KHtcclxuICAgICAgICBmaWx0ZXI6IHtcclxuICAgICAgICAgIFt0aGlzLmlkXTogSlNPTi5zdHJpbmdpZnkoWy4uLnRoaXMuX3NlbGVjdGlvbnNdKSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHR5cGU6IHRoaXMuZW50aXR5VHlwZSxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBFbnRpdHlUeXBlKGZldGNoZWRLZXkpIHtcclxuICAgIGlmICghdGhpcy5kZXBhcnRtZW50KSB7XHJcbiAgICAgIGNvbnN0IHR5cGVPYmogPSB0eXBlb2YgZmV0Y2hlZEtleSA9PT0gJ29iamVjdCcgJiYgZmV0Y2hlZEtleSAhPT0gbnVsbDtcclxuICAgICAgaWYgKHR5cGVPYmopIHtcclxuICAgICAgICByZXR1cm4gZmV0Y2hlZEtleVsnZW50aXR5LXR5cGUnXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1lbHNlIHtcclxuICAgICAgcmV0dXJuICdkZXBhcnRtZW50J1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiYWdncmVnYXRpb24tY29udGFpbmVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cInNlYXJjaC10aXRsZVwiPlxyXG4gICAge3sgcHJlZml4ICsgXCIuXCIgKyB0aXRsZSB8IHRyYW5zbGF0ZSB9fVxyXG4gIDwvZGl2PlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaWx0ZXJzXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBncm91cCBvZiBmaWx0ZXJzOyBpbmRleCBhcyBpXCI+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJpIDwgNSB8fCBtb3JlXCIgY2xhc3M9XCJzZWFyY2gtY2hlY2tib3hcIj5cclxuICAgICAgICA8IS0tIDxpbnB1dFxyXG4gICAgICAgICAgW2NoZWNrZWRdPVwiX3NlbGVjdGlvbnMuaW5jbHVkZXMoZ3JvdXAua2V5KVwiXHJcbiAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgKGNoYW5nZSk9XCJvbkZpbHRlclNlbGVjdChncm91cC5rZXksICRldmVudC50YXJnZXQuY2hlY2tlZClcIlxyXG4gICAgICAgIC8+IC0tPlxyXG4gICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cIm14LThcIj5cclxuICAgICAgICAgIDxzcGFuIFtuZ1N3aXRjaF09XCJFbnRpdHlUeXBlKGdyb3VwLmZldGNoZWRLZXkpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInZGlyZWN0b3J5RW50cnknXCI+XHJcbiAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgIFwidm9jYWJ1bGFyeS5cIiArIGdyb3VwLmZldGNoZWRLZXkuZGlyZWN0b3J5TmFtZSArIFwiLlwiICsgZ3JvdXAua2V5XHJcbiAgICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlXHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ3VzZXInXCI+XHJcbiAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgIGdyb3VwLmZldGNoZWRLZXkucHJvcGVydGllcy5maXJzdE5hbWUgK1xyXG4gICAgICAgICAgICAgICAgICBcIiBcIiArXHJcbiAgICAgICAgICAgICAgICAgIGdyb3VwLmZldGNoZWRLZXkucHJvcGVydGllcy5sYXN0TmFtZVxyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgICAgICAgICAgICB7eyBwcmVmaXggKyBcIi5cIiArIFwiYnVja2V0cy5cIiArIGdyb3VwLmtleSB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8YmRpPih7eyBncm91cC5kb2NDb3VudCB9fSk8L2JkaT5cclxuICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgPG1hdC1jaGVja2JveFxyXG4gICAgICAgICAgW2NoZWNrZWRdPVwiX3NlbGVjdGlvbnMuaW5jbHVkZXMoZ3JvdXAua2V5KVwiXHJcbiAgICAgICAgICAoY2hhbmdlKT1cIm9uRmlsdGVyU2VsZWN0KGdyb3VwLmtleSwgJGV2ZW50LmNoZWNrZWQpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8c3BhbiBbbmdTd2l0Y2hdPVwiRW50aXR5VHlwZShncm91cC5mZXRjaGVkS2V5KVwiPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2RpcmVjdG9yeUVudHJ5J1wiPlxyXG4gICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgICBcInZvY2FidWxhcnkuXCIgKyBncm91cC5mZXRjaGVkS2V5LmRpcmVjdG9yeU5hbWUgKyBcIi5cIiArIGdyb3VwLmtleVxyXG4gICAgICAgICAgICAgICAgICB8IHRyYW5zbGF0ZVxyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIid1c2VyJ1wiPlxyXG4gICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgICBncm91cC5mZXRjaGVkS2V5LnByb3BlcnRpZXMuZmlyc3ROYW1lICtcclxuICAgICAgICAgICAgICAgICAgXCIgXCIgK1xyXG4gICAgICAgICAgICAgICAgICBncm91cC5mZXRjaGVkS2V5LnByb3BlcnRpZXMubGFzdE5hbWVcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInZGVwYXJ0bWVudCdcIj5cclxuICAgICAgICAgICAgICA8Y3RzLWRlcGFydG1lbnQtdmlld2VyXHJcbiAgICAgICAgICAgICAgW25vU3R5bGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW3ZhbHVlXT1cImdyb3VwLmtleVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9jdHMtZGVwYXJ0bWVudC12aWV3ZXI+XHJcbiAgICAgICAgICAgIDwhLS0ge3tncm91cC5rZXl9fSAtLT5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICAgICAgICAgIHt7IHByZWZpeCArIFwiLlwiICsgXCJidWNrZXRzLlwiICsgZ3JvdXAua2V5IHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxiZGk+KHt7IGdyb3VwLmRvY0NvdW50IH19KTwvYmRpPjwvbWF0LWNoZWNrYm94XHJcbiAgICAgICAgPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPGRpdiAqbmdJZj1cImZpbHRlcnMubGVuZ3RoID4gNVwiIGNsYXNzPVwibW9yZVwiPlxyXG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuLW1vcmVcIiAoY2xpY2spPVwibW9yZSA9ICFtb3JlXCI+XHJcbiAgICAgICAge3tcclxuICAgICAgICAgIG1vcmVcclxuICAgICAgICAgICAgPyAocHJlZml4ICsgXCIuXCIgKyBcInZpZXdsZXNzXCIgfCB0cmFuc2xhdGUpXHJcbiAgICAgICAgICAgIDogKHByZWZpeCArIFwiLlwiICsgXCJ2aWV3bW9yZVwiIHwgdHJhbnNsYXRlKVxyXG4gICAgICAgIH19XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLWZpbHRlci9keW5hbWljLWZpbHRlci9keW5hbWljLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZmlsdGVyL2R5bmFtaWMtZmlsdGVyL2R5bmFtaWMtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7QUFHdkI7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBT0gsTUFBTSxPQUFPLHNCQUFzQjtJQThCakM7UUE3QkEsNkJBQTZCO1FBQ25CLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFHaEQsaUNBQWlDO1FBRWpDLFVBQUssR0FBRyxFQUFFLENBQUM7UUFpQlgsa0NBQWtDO1FBRWxDLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDbkIsa0JBQWEsR0FBRyxRQUFRLENBQUM7UUFFbEMsU0FBSSxHQUFHLEtBQUssQ0FBQztJQUNFLENBQUM7SUFuQmhCLGlFQUFpRTtJQUNqRSxJQUNJLFVBQVUsQ0FBQyxHQUFHO1FBQ2hCLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDO0lBQ3pCLENBQUM7SUFpQkQsUUFBUTtJQUVSLENBQUM7SUFFRCxjQUFjLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLEVBQUU7WUFDTCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNyQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO2dCQUN6QixNQUFNLEVBQUU7b0JBQ04sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2lCQUNqRDtnQkFDRCxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVU7YUFDdEIsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDL0MsT0FBTyxDQUFDLElBQUksYUFBYSxDQUFDO1lBQzVCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQztnQkFDekIsTUFBTSxFQUFFO29CQUNOLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztpQkFDakQ7Z0JBQ0QsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVO2FBQ3RCLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxVQUFVO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3BCLE1BQU0sT0FBTyxHQUFHLE9BQU8sVUFBVSxLQUFLLFFBQVEsSUFBSSxVQUFVLEtBQUssSUFBSSxDQUFDO1lBQ3RFLElBQUksT0FBTyxFQUFFO2dCQUNYLE9BQU8sVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ2xDO2lCQUFNO2dCQUNMLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7U0FDRjthQUFLO1lBQ0osT0FBTyxZQUFZLENBQUE7U0FDcEI7SUFDSCxDQUFDO0lBRUQsV0FBVztJQUNYLENBQUM7O21IQXhFVSxzQkFBc0I7dUdBQXRCLHNCQUFzQixpVkNsQ25DLHFqSEE4RkE7MkZENURhLHNCQUFzQjtrQkFObEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO29CQUM5QixXQUFXLEVBQUUsaUNBQWlDO29CQUM5QyxTQUFTLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztvQkFDOUMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7aUJBQ3RDOzBFQUdXLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFLUCxLQUFLO3NCQURKLEtBQUs7O1FBR04sb0JBQW9CO1FBQ3BCLE9BQU87c0JBRk4sS0FBSztnQkFLRixVQUFVO3NCQURiLEtBQUs7Z0JBTU4sRUFBRTtzQkFERCxLQUFLO2dCQUdOLFVBQVU7c0JBRFQsS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sVUFBVTtzQkFEVCxLQUFLO2dCQUVHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuLyoqXHJcbiAqIER5YW5hbWljIGZpbHRlciBpcyBhIGNvbXBvbmVudCB0aGF0IGxldmVyYWdlcyBOdXhlbyBFbGFzdGljIHNlYXJjaCBhZ2dyZWdhdGlvbiBidWNrZXRzIGRhdGEgdG8gZHluYW1pY2FsbHlcclxuICogZ2VuZXJhdGUgZGF0YSBmaWx0ZXJpbmcgY2hlY2tib3ggZ3JvdXBzICYgZW1pdHMgY2hlY2tib3ggc2VsZWN0aW9uIGZvciBjb25zdW1wdGlvblxyXG4gKiBAdGl0bGVcclxuICogRHluYW1pYyBGaWx0ZXJcclxuICpcclxuICogQGV4YW1wbGVcclxuICpcclxuICogPGN0cy1keW5hbWljLWZpbHRlclxyXG4gKiAgIFtlbnRpdHlUeXBlXT1cImVudGl0eVR5cGVcIlxyXG4gKiAgIFtmaWx0ZXJzXT1cImFnZ3JlZ2F0aW9uQnVja2V0c1wiXHJcbiAqICAgW2lkXT1cImFnZ3JlZ2F0aW9uSWRcIlxyXG4gKiAgIFtzZWxlY3Rpb25zXT1cImFnZ3JlZ2F0aW9uU2VsZWN0aW9uXCJcclxuICogICBbdGl0bGVdPVwiYWdncmVnYXRpb25GaWVsZFwiXHJcbiAqICAgW3ByZWZpeF09XCInc2VhcmNoJ1wiXHJcbiAqICAgKG9uRmlsdGVyU2VsZWN0ZWQpPVwiRmlsdGVyU2VsZWN0ZWQoJGV2ZW50KVwiPlxyXG4gKiA8L2N0cy1keW5hbWljLWZpbHRlcj5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY3RzLWR5bmFtaWMtZmlsdGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtZmlsdGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNGaWx0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIC8qKiBlbWl0cyBhcnJheSBvZiBmaWx0ZXJzICovXHJcbiAgQE91dHB1dCgpIG9uRmlsdGVyU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgcHVibGljIF9zZWxlY3Rpb25zO1xyXG5cclxuICAvKiogdGl0bGUgb2YgdGhlIGZpbHRlcnMgZ3JvdXAgKi9cclxuICBASW5wdXQoKVxyXG4gIHRpdGxlID0gJyc7XHJcbiAgQElucHV0KClcclxuICAvKiogZmlsdGVycyBncm91cCAqL1xyXG4gIGZpbHRlcnM7XHJcbiAgLyoqIG5ldyBmaWx0ZXJzIGNvbWluZyBmcm9tIHRoZSBiYWNrZW5kIGJhc2VkIG9uIHRoZSBzZWxlY3Rpb24gKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBzZWxlY3Rpb25zKHZhbCkge1xyXG4gICAgdGhpcy5fc2VsZWN0aW9ucyA9IHZhbDtcclxuICB9XHJcbiAgLyoqIEFnZ3JlZ2F0aW9uIElEICovXHJcbiAgQElucHV0KClcclxuICBpZDtcclxuICBASW5wdXQoKVxyXG4gIGVudGl0eVR5cGU7XHJcbiAgLyoqIHN0YXRpYyAgcGF0aCBmb3IgdHJhbnNsYXRpb24gcGFzc2VkIGZyb20gb3V0IHNpZGUgYWNjb3JkaW5nIHRvIGVhY2ggcGFnZSB0cmFuc2xhdGlvbiBwYXRoICovXHJcbiAgQElucHV0KClcclxuICBwcmVmaXg7XHJcbiAgLyoqIHNwZWNpYWwgdHlwZSBmb3IgZGVwYXJ0bWVudCAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgZGVwYXJ0bWVudDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGNvbXBvbmVudFR5cGUgPSAnZGVmdWx0JztcclxuICBASW5wdXQoKSBjdXN0b21QYWdlUHJvdmlkZXIgO1xyXG4gIG1vcmUgPSBmYWxzZTtcclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG5cclxuICB9XHJcblxyXG4gIG9uRmlsdGVyU2VsZWN0KGNvbW1pdHRlZU5hbWUsIGUpIHtcclxuICAgIGlmIChlKSB7XHJcbiAgICAgIHRoaXMuX3NlbGVjdGlvbnMucHVzaChjb21taXR0ZWVOYW1lKTtcclxuICAgICAgdGhpcy5vbkZpbHRlclNlbGVjdGVkLmVtaXQoe1xyXG4gICAgICAgIGZpbHRlcjoge1xyXG4gICAgICAgICAgW3RoaXMuaWRdOiBKU09OLnN0cmluZ2lmeShbLi4udGhpcy5fc2VsZWN0aW9uc10pLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdHlwZTogdGhpcy5lbnRpdHlUeXBlLFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX3NlbGVjdGlvbnMgPSB0aGlzLl9zZWxlY3Rpb25zLmZpbHRlcigoZSkgPT4ge1xyXG4gICAgICAgIHJldHVybiBlICE9IGNvbW1pdHRlZU5hbWU7XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLm9uRmlsdGVyU2VsZWN0ZWQuZW1pdCh7XHJcbiAgICAgICAgZmlsdGVyOiB7XHJcbiAgICAgICAgICBbdGhpcy5pZF06IEpTT04uc3RyaW5naWZ5KFsuLi50aGlzLl9zZWxlY3Rpb25zXSksXHJcbiAgICAgICAgfSxcclxuICAgICAgICB0eXBlOiB0aGlzLmVudGl0eVR5cGUsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgRW50aXR5VHlwZShmZXRjaGVkS2V5KSB7XHJcbiAgICBpZiAoIXRoaXMuZGVwYXJ0bWVudCkge1xyXG4gICAgICBjb25zdCB0eXBlT2JqID0gdHlwZW9mIGZldGNoZWRLZXkgPT09ICdvYmplY3QnICYmIGZldGNoZWRLZXkgIT09IG51bGw7XHJcbiAgICAgIGlmICh0eXBlT2JqKSB7XHJcbiAgICAgICAgcmV0dXJuIGZldGNoZWRLZXlbJ2VudGl0eS10eXBlJ107XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9ZWxzZSB7XHJcbiAgICAgIHJldHVybiAnZGVwYXJ0bWVudCdcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCl7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJhZ2dyZWdhdGlvbi1jb250YWluZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwic2VhcmNoLXRpdGxlXCI+XHJcbiAgICB7eyBwcmVmaXggKyBcIi5cIiArIHRpdGxlIHwgdHJhbnNsYXRlIH19XHJcbiAgPC9kaXY+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZpbHRlcnNcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGdyb3VwIG9mIGZpbHRlcnM7IGluZGV4IGFzIGlcIj5cclxuICAgICAgPGRpdiAqbmdJZj1cImkgPCA1IHx8IG1vcmVcIiBjbGFzcz1cInNlYXJjaC1jaGVja2JveFwiPlxyXG4gICAgICAgIDwhLS0gPGlucHV0XHJcbiAgICAgICAgICBbY2hlY2tlZF09XCJfc2VsZWN0aW9ucy5pbmNsdWRlcyhncm91cC5rZXkpXCJcclxuICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiXHJcbiAgICAgICAgICAoY2hhbmdlKT1cIm9uRmlsdGVyU2VsZWN0KGdyb3VwLmtleSwgJGV2ZW50LnRhcmdldC5jaGVja2VkKVwiXHJcbiAgICAgICAgLz4gLS0+XHJcbiAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwibXgtOFwiPlxyXG4gICAgICAgICAgPHNwYW4gW25nU3dpdGNoXT1cIkVudGl0eVR5cGUoZ3JvdXAuZmV0Y2hlZEtleSlcIj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidkaXJlY3RvcnlFbnRyeSdcIj5cclxuICAgICAgICAgICAgICB7e1xyXG4gICAgICAgICAgICAgICAgXCJ2b2NhYnVsYXJ5LlwiICsgZ3JvdXAuZmV0Y2hlZEtleS5kaXJlY3RvcnlOYW1lICsgXCIuXCIgKyBncm91cC5rZXlcclxuICAgICAgICAgICAgICAgICAgfCB0cmFuc2xhdGVcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCIndXNlcidcIj5cclxuICAgICAgICAgICAgICB7e1xyXG4gICAgICAgICAgICAgICAgZ3JvdXAuZmV0Y2hlZEtleS5wcm9wZXJ0aWVzLmZpcnN0TmFtZSArXHJcbiAgICAgICAgICAgICAgICAgIFwiIFwiICtcclxuICAgICAgICAgICAgICAgICAgZ3JvdXAuZmV0Y2hlZEtleS5wcm9wZXJ0aWVzLmxhc3ROYW1lXHJcbiAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICAgICAgICAgIHt7IHByZWZpeCArIFwiLlwiICsgXCJidWNrZXRzLlwiICsgZ3JvdXAua2V5IHwgdHJhbnNsYXRlIH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxiZGk+KHt7IGdyb3VwLmRvY0NvdW50IH19KTwvYmRpPlxyXG4gICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICA8bWF0LWNoZWNrYm94XHJcbiAgICAgICAgICBbY2hlY2tlZF09XCJfc2VsZWN0aW9ucy5pbmNsdWRlcyhncm91cC5rZXkpXCJcclxuICAgICAgICAgIChjaGFuZ2UpPVwib25GaWx0ZXJTZWxlY3QoZ3JvdXAua2V5LCAkZXZlbnQuY2hlY2tlZClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxzcGFuIFtuZ1N3aXRjaF09XCJjb21wb25lbnRUeXBlXCI+XHJcblxyXG4gICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2N1c3RvbS12b2MnXCI+XHJcbiAgICAgICAgICAgICAgPGxpYi1jdXRvbWUtdm9jLXZpZXdlciBbdHlwZV09XCJjb21wb25lbnRUeXBlXCIgW2dyb3VwXT1cImdyb3VwXCI+PC9saWItY3V0b21lLXZvYy12aWV3ZXI+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCIndm9jYWJ1bGFyeSdcIj5cclxuICAgICAgICAgICAgICA8bGliLWN1dG9tZS12b2Mtdmlld2VyIFt0eXBlXT1cImNvbXBvbmVudFR5cGVcIiBbZ3JvdXBdPVwiZ3JvdXBcIj48L2xpYi1jdXRvbWUtdm9jLXZpZXdlcj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIid1c2VyJ1wiPlxyXG4gICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgICBncm91cC5mZXRjaGVkS2V5LnByb3BlcnRpZXMuZmlyc3ROYW1lICtcclxuICAgICAgICAgICAgICAgICAgXCIgXCIgK1xyXG4gICAgICAgICAgICAgICAgICBncm91cC5mZXRjaGVkS2V5LnByb3BlcnRpZXMubGFzdE5hbWVcclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2N1c3RvbS1wcCdcIj5cclxuICAgICAgICAgICAgICA8bGliLWN1c3RvbS1wcC12aWV3ZXIgW3BhZ2VQcm92aWRlcl09XCJjdXN0b21QYWdlUHJvdmlkZXJcIiBbZ3JvdXBdPVwiZ3JvdXBcIj48L2xpYi1jdXN0b20tcHAtdmlld2VyPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2N1c3RvbS1kb2N1bWVudCdcIj5cclxuICAgICAgICAgICAgICA8bGliLWN1c3RvbS1kb2N1bWVudC12aWV3ZXIgW3BhZ2VQcm92aWRlcl09XCJjdXN0b21QYWdlUHJvdmlkZXJcIiBbZ3JvdXBdPVwiZ3JvdXBcIj48L2xpYi1jdXN0b20tZG9jdW1lbnQtdmlld2VyPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcblxyXG4gICAgICAgICAgICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2RlcGFydG1lbnQnXCI+XHJcbiAgICAgICAgICAgICAgPGN0cy1kZXBhcnRtZW50LXZpZXdlclxyXG4gICAgICAgICAgICAgIFtub1N0eWxlXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJncm91cC5rZXlcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvY3RzLWRlcGFydG1lbnQtdmlld2VyPlxyXG4gICAgICAgICAgICA8IS0tIHt7Z3JvdXAua2V5fX0gLS0+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInc3RyaW5nJ1wiPlxyXG4gICAgICAgICAgICAgIDxzcGFuPnt7Z3JvdXAua2V5fX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgICAgICAgICAgICB7eyBwcmVmaXggKyBcIi5cIiArIFwiYnVja2V0cy5cIiArIGdyb3VwLmtleSB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8YmRpPih7eyBncm91cC5kb2NDb3VudCB9fSk8L2JkaT48L21hdC1jaGVja2JveFxyXG4gICAgICAgID5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxkaXYgKm5nSWY9XCJmaWx0ZXJzLmxlbmd0aCA+IDVcIiBjbGFzcz1cIm1vcmVcIj5cclxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0bi1tb3JlXCIgKGNsaWNrKT1cIm1vcmUgPSAhbW9yZVwiPlxyXG4gICAgICAgIHt7XHJcbiAgICAgICAgICBtb3JlXHJcbiAgICAgICAgICAgID8gKHByZWZpeCArIFwiLlwiICsgXCJ2aWV3bGVzc1wiIHwgdHJhbnNsYXRlKVxyXG4gICAgICAgICAgICA6IChwcmVmaXggKyBcIi5cIiArIFwidmlld21vcmVcIiB8IHRyYW5zbGF0ZSlcclxuICAgICAgICB9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -87,9 +87,30 @@ export class DynamicSearchComponent {
|
|
|
87
87
|
this.aggregations = Object.entries(data.aggregations || {}).map((item) => {
|
|
88
88
|
return item[1];
|
|
89
89
|
});
|
|
90
|
-
this.aggregations = this.aggregations.filter((item) =>
|
|
91
|
-
this.
|
|
92
|
-
|
|
90
|
+
// this.aggregations = this.aggregations.filter((item) =>
|
|
91
|
+
// this.sortingArray.includes(item.id)
|
|
92
|
+
// );
|
|
93
|
+
let updatedAggregation = [];
|
|
94
|
+
this.aggregations.map(aggreg => {
|
|
95
|
+
this.sortingArray.map(sortType => {
|
|
96
|
+
if (sortType.id === aggreg.id) {
|
|
97
|
+
aggreg['componentType'] = sortType.compoenentType;
|
|
98
|
+
// in case of custom component need to call page provider to get data
|
|
99
|
+
if (sortType.compoenentType === 'custom-pp' || sortType.compoenentType === 'custom-document') {
|
|
100
|
+
aggreg['customPageProvider'] = sortType.pageProvider;
|
|
101
|
+
}
|
|
102
|
+
updatedAggregation.push(aggreg);
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
this.aggregations = _.sortBy(updatedAggregation, (item) => {
|
|
107
|
+
let i = -1;
|
|
108
|
+
this.sortingArray.map((sortType, index) => {
|
|
109
|
+
if (sortType.id === item.id) {
|
|
110
|
+
i = index;
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
return i;
|
|
93
114
|
});
|
|
94
115
|
console.log('aggregations', this.aggregations);
|
|
95
116
|
this.totalRecords = data.totalSize;
|
|
@@ -116,7 +137,7 @@ export class DynamicSearchComponent {
|
|
|
116
137
|
}
|
|
117
138
|
}
|
|
118
139
|
DynamicSearchComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicSearchComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }, { token: i2.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component });
|
|
119
|
-
DynamicSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: DynamicSearchComponent, selector: "cts-dynamic-search", inputs: { columns: "columns", responsiveColumns: "responsiveColumns", entityType: "entityType", prefix: "prefix", headers: "headers", fields: "fields", pageProvider: "pageProvider", pageSize: "pageSize", sortingBy: "sortingBy", fullTextParamName: "fullTextParamName", onRowSelected: "onRowSelected", sortingArray: "sortingArray" }, ngImport: i0, template: "<div class=\"search-toolbar d-md-flex d-xl-none\">\r\n <button (click)=\"onOpenFilter()\" class=\"my-button\">\r\n <span> {{ \"FILTER\" | translate }}</span>\r\n <i class=\"bi bi-filter\" *ngIf=\"!openFilter\"></i>\r\n <i class=\"bi bi-x\" *ngIf=\"openFilter\"></i>\r\n </button>\r\n <div *ngIf=\"openFilter\">\r\n <i class=\"bi bi-caret-up-fill arrow-up\"></i>\r\n </div>\r\n</div>\r\n<div class=\"row wrapper\">\r\n <div class=\"popup-filter px-3 d-flex d-xl-none\" *ngIf=\"openFilter\">\r\n <form\r\n [formGroup]=\"searchForm\"\r\n class=\"search-form\"\r\n (ngSubmit)=\"submitForm()\"\r\n >\r\n <input\r\n class=\"search-input\"\r\n type=\"text\"\r\n formControlName=\"text\"\r\n [placeholder]=\"'search.search' | translate\"\r\n />\r\n <div (click)=\"submitForm()\" class=\"search-icon bi bi-search\"></div>\r\n </form>\r\n <ng-container *ngIf=\"aggregations; else progressSpinner\">\r\n <ng-container *ngIf=\"aggregations.length; else noAggregations\">\r\n <div *ngFor=\"let aggregation of aggregations\">\r\n <ng-container *ngIf=\"aggregation.buckets.length > 0\">\r\n <cts-dynamic-filter\r\n [entityType]=\"entityType\"\r\n [filters]=\"aggregation.buckets\"\r\n [id]=\"aggregation.id\"\r\n [selections]=\"aggregation.selection\"\r\n [title]=\"aggregation.field\"\r\n [prefix]=\"'search'\"\r\n [department]=\"\r\n aggregation.field === 'corr:to' ||\r\n aggregation.field === 'corr:from'\r\n \"\r\n (onFilterSelected)=\"FilterSelected($event)\"\r\n ></cts-dynamic-filter>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n <div class=\"col-xl-3 search-sideMenu d-none d-xl-block\">\r\n <form\r\n [formGroup]=\"searchForm\"\r\n class=\"search-form\"\r\n (ngSubmit)=\"submitForm()\"\r\n >\r\n <input\r\n class=\"search-input\"\r\n type=\"text\"\r\n formControlName=\"text\"\r\n [placeholder]=\"'search.search' | translate\"\r\n />\r\n <div (click)=\"submitForm()\" class=\"search-icon bi bi-search\"></div>\r\n </form>\r\n <ng-container *ngIf=\"aggregations; else progressSpinner\">\r\n <div *ngFor=\"let aggregation of aggregations\">\r\n <ng-container *ngIf=\"aggregation.buckets.length > 0\">\r\n <cts-dynamic-filter\r\n [entityType]=\"entityType\"\r\n [filters]=\"aggregation.buckets\"\r\n [id]=\"aggregation.id\"\r\n [selections]=\"aggregation.selection\"\r\n [title]=\"aggregation.field\"\r\n [prefix]=\"'search'\"\r\n [department]=\"\r\n aggregation.field === 'corr:to' ||\r\n aggregation.field === 'corr:from'\r\n \"\r\n (onFilterSelected)=\"FilterSelected($event)\"\r\n ></cts-dynamic-filter>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"col-12 col-xl-9\">\r\n <app-card>\r\n <div class=\"title\">\r\n <h3>\r\n {{ \"search.header\" | translate }}\r\n </h3>\r\n </div>\r\n <div class=\"body\">\r\n <div *ngIf=\"aggregations\" class=\"table-toolbar\">\r\n <div class=\"result-count\">\r\n <span>\r\n {{\r\n \"search.\" + \"resultsNumber\"\r\n | translate: { value: totalRecords ? totalRecords : 0 }\r\n }}\r\n </span>\r\n </div>\r\n <!-- <form\r\n [formGroup]=\"searchForm\"\r\n class=\"search-form\"\r\n (ngSubmit)=\"submitForm()\"\r\n >\r\n <input\r\n class=\"search-input\"\r\n type=\"text\"\r\n formControlName=\"text\"\r\n [placeholder]=\"'search.search' | translate\"\r\n />\r\n <div (click)=\"submitForm()\" class=\"search-icon bi bi-search\"></div>\r\n </form> -->\r\n </div>\r\n <cts-dynamic-table\r\n [pageSize]=\"pageSize\"\r\n [columns]=\"columns\"\r\n [responsiveColumns]=\"responsiveColumns\"\r\n [pageProvider]=\"pageProvider\"\r\n [quickFilter]=\"filter\"\r\n [entityType]=\"entityType\"\r\n [fields]=\"fields\"\r\n [queryParam]=\"queryParams\"\r\n [headers]=\"headers\"\r\n [prefix]=\"prefix\"\r\n [sortingBy]=\"sortingBy\"\r\n (onRowSelected)=\"onRowSelected($event)\"\r\n (onGettingData)=\"getTableData($event)\"\r\n ></cts-dynamic-table>\r\n </div>\r\n </app-card>\r\n </div>\r\n <ng-template #progressSpinner>\r\n <div class=\"progress-spinner\">\r\n <mat-spinner color=\"warn\" [diameter]=\"25\"></mat-spinner>\r\n </div>\r\n </ng-template>\r\n <ng-template #noAggregations>\r\n <div class=\"progress-spinner\">\r\n {{ \"search.noAggregations\" | translate }}\r\n </div>\r\n </ng-template>\r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.result-count{color:#8f98aa;font-size:14px}.search-sideMenu{background-color:#fff;padding-top:22px;padding-bottom:22px;border-radius:5px}.search-sideMenu .search-form{display:flex;color:#6a768e;width:100%}.search-sideMenu .search-form .search-input{width:100%;border:1px solid #d9dce2;border-inline-end:0;border-start-start-radius:5px;border-end-start-radius:5px;border:1px solid #ccc;height:32px;font-size:16px;padding-inline-start:4px}.search-sideMenu .search-form .search-input::-webkit-input-placeholder{font-size:14px}.search-sideMenu .search-form .search-input:focus-visible{border:2px solid #465573;outline:transparent}.search-sideMenu .search-form .search-icon{background:#465573;color:#fff;width:12%;display:flex;align-items:center;justify-content:center;border-radius:0;cursor:pointer;border:1px solid #d9dce2;border-start-end-radius:6px;border-end-end-radius:6px;border-inline-start:0}.search-toolbar{position:relative;display:flex;justify-content:flex-end;margin-bottom:16px}.search-toolbar .my-button{width:90px}.search-toolbar .arrow-up{position:absolute;top:26px;right:28px;font-size:25px;color:#8f98aab3}.wrapper{position:relative}.wrapper .popup-filter{flex-direction:column;position:absolute;right:0;z-index:9999;max-height:70vh;max-width:400px;background-color:#fff;overflow:scroll;box-shadow:0 1px 10px 2px #00000054;top:-4px;border-radius:5px}.wrapper .popup-filter .search-form{margin-top:10px!important}.wrapper .popup-filter .search-input{width:100%!important}.wrapper .search-container{background-color:#fff;border-radius:5px;border:0px;padding:16px;height:-webkit-max-content;height:max-content}.wrapper .search-container .table-toolbar{display:flex;align-items:center;margin-bottom:8px;justify-content:space-between}.progress-spinner{margin-top:10px;margin-block-end:0;display:grid;place-items:center;width:100%}.rtl .popup-filter{left:0px;right:unset!important}.rtl .arrow-up{position:absolute;top:33px;left:28px;right:unset!important}\n"], components: [{ type: i3.DynamicFilterComponent, selector: "cts-dynamic-filter", inputs: ["title", "filters", "selections", "id", "entityType", "prefix", "department"], outputs: ["onFilterSelected"] }, { type: i4.CardComponent, selector: "app-card", inputs: ["noBody", "dark"] }, { type: i5.DynamicTableComponent, selector: "cts-dynamic-table", inputs: ["columns", "responsiveColumns", "entityType", "prefix", "headers", "fields", "pageProvider", "pageSize", "sortingBy", "queryParam", "quickFilter", "report", "rowCursor", "fullWidth", "tableMode", "tableActions", "defultSort", "range"], outputs: ["onRowSelected", "actionOnRow", "onGettingData"] }, { type: i6.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i8.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i9.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
140
|
+
DynamicSearchComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: DynamicSearchComponent, selector: "cts-dynamic-search", inputs: { columns: "columns", responsiveColumns: "responsiveColumns", entityType: "entityType", prefix: "prefix", headers: "headers", fields: "fields", pageProvider: "pageProvider", pageSize: "pageSize", sortingBy: "sortingBy", fullTextParamName: "fullTextParamName", onRowSelected: "onRowSelected", sortingArray: "sortingArray" }, ngImport: i0, template: "<div class=\"search-toolbar d-md-flex d-xl-none mx-3\">\r\n <button (click)=\"onOpenFilter()\" class=\"my-button\">\r\n <span> {{ \"FILTER\" | translate }}</span>\r\n <i class=\"bi bi-filter\" *ngIf=\"!openFilter\"></i>\r\n <i class=\"bi bi-x\" *ngIf=\"openFilter\"></i>\r\n </button>\r\n <div *ngIf=\"openFilter\">\r\n <i class=\"bi bi-caret-up-fill arrow-up\"></i>\r\n </div>\r\n</div>\r\n<div class=\"row wrapper\">\r\n <div class=\"popup-filter px-3 d-flex d-xl-none\" *ngIf=\"openFilter\">\r\n <form\r\n [formGroup]=\"searchForm\"\r\n class=\"search-form\"\r\n (ngSubmit)=\"submitForm()\"\r\n >\r\n <input\r\n class=\"search-input\"\r\n type=\"text\"\r\n formControlName=\"text\"\r\n [placeholder]=\"'search.search' | translate\"\r\n />\r\n <div (click)=\"submitForm()\" class=\"search-icon bi bi-search\"></div>\r\n </form>\r\n <ng-container *ngIf=\"aggregations; else progressSpinner\">\r\n <ng-container *ngIf=\"aggregations.length; else noAggregations\">\r\n <div *ngFor=\"let aggregation of aggregations\">\r\n <ng-container *ngIf=\"aggregation.buckets.length > 0\">\r\n <cts-dynamic-filter\r\n [entityType]=\"entityType\"\r\n [filters]=\"aggregation.buckets\"\r\n [id]=\"aggregation.id\"\r\n [selections]=\"aggregation.selection\"\r\n [title]=\"aggregation.field\"\r\n [prefix]=\"'search'\"\r\n [department]=\"\r\n aggregation.field === 'corr:to' ||\r\n aggregation.field === 'corr:from'\r\n \"\r\n [componentType]=\"aggregation.componentType ? aggregation.componentType : 'defult'\"\r\n [customPageProvider]=\"aggregation.customPageProvider ? aggregation.customPageProvider : ''\"\r\n (onFilterSelected)=\"FilterSelected($event)\"\r\n ></cts-dynamic-filter>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n <div class=\"col-xl-3 search-sideMenu d-none d-xl-block\">\r\n <form\r\n [formGroup]=\"searchForm\"\r\n class=\"search-form\"\r\n (ngSubmit)=\"submitForm()\"\r\n >\r\n <input\r\n class=\"search-input\"\r\n type=\"text\"\r\n formControlName=\"text\"\r\n [placeholder]=\"'search.search' | translate\"\r\n />\r\n <div (click)=\"submitForm()\" class=\"search-icon bi bi-search\"></div>\r\n </form>\r\n <ng-container *ngIf=\"aggregations; else progressSpinner\">\r\n <div *ngFor=\"let aggregation of aggregations\">\r\n <ng-container *ngIf=\"aggregation.buckets.length > 0\">\r\n <cts-dynamic-filter\r\n [entityType]=\"entityType\"\r\n [filters]=\"aggregation.buckets\"\r\n [id]=\"aggregation.id\"\r\n [selections]=\"aggregation.selection\"\r\n [title]=\"aggregation.field\"\r\n [prefix]=\"'search'\"\r\n [department]=\"\r\n aggregation.field === 'corr:to' ||\r\n aggregation.field === 'corr:from'\r\n \"\r\n [componentType]=\"aggregation.componentType ? aggregation.componentType : 'defult'\"\r\n [customPageProvider]=\"aggregation.customPageProvider ? aggregation.customPageProvider : ''\"\r\n (onFilterSelected)=\"FilterSelected($event)\"\r\n ></cts-dynamic-filter>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"col-12 col-xl-9\">\r\n <app-card>\r\n <div class=\"title\">\r\n <h3>\r\n {{ \"search.header\" | translate }}\r\n </h3>\r\n </div>\r\n <div class=\"body\">\r\n <div *ngIf=\"aggregations\" class=\"table-toolbar\">\r\n <div class=\"result-count\">\r\n <span>\r\n {{\r\n \"search.\" + \"resultsNumber\"\r\n | translate: { value: totalRecords ? totalRecords : 0 }\r\n }}\r\n </span>\r\n </div>\r\n <!-- <form\r\n [formGroup]=\"searchForm\"\r\n class=\"search-form\"\r\n (ngSubmit)=\"submitForm()\"\r\n >\r\n <input\r\n class=\"search-input\"\r\n type=\"text\"\r\n formControlName=\"text\"\r\n [placeholder]=\"'search.search' | translate\"\r\n />\r\n <div (click)=\"submitForm()\" class=\"search-icon bi bi-search\"></div>\r\n </form> -->\r\n </div>\r\n <cts-dynamic-table\r\n [pageSize]=\"pageSize\"\r\n [columns]=\"columns\"\r\n [responsiveColumns]=\"responsiveColumns\"\r\n [pageProvider]=\"pageProvider\"\r\n [quickFilter]=\"filter\"\r\n [entityType]=\"entityType\"\r\n [fields]=\"fields\"\r\n [queryParam]=\"queryParams\"\r\n [headers]=\"headers\"\r\n [prefix]=\"prefix\"\r\n [sortingBy]=\"sortingBy\"\r\n (onRowSelected)=\"onRowSelected($event)\"\r\n (onGettingData)=\"getTableData($event)\"\r\n ></cts-dynamic-table>\r\n </div>\r\n </app-card>\r\n </div>\r\n\r\n <ng-template #progressSpinner>\r\n <div class=\"progress-spinner\">\r\n <mat-spinner color=\"warn\" [diameter]=\"25\"></mat-spinner>\r\n </div>\r\n </ng-template>\r\n <ng-template #noAggregations>\r\n <div class=\"progress-spinner\">\r\n {{ \"search.noAggregations\" | translate }}\r\n </div>\r\n </ng-template>\r\n</div>\r\n", styles: [".bi{margin:0!important}.memo-sorting-wrapper{width:265px;margin:0 10px;height:100%;display:flex}.memo-sorting-wrapper .sorting-direction{width:65px;height:40px;background-color:#465573;color:#fff;font-size:20px;display:flex;justify-content:center;align-items:center;cursor:pointer}.memo-sorting-wrapper .memo-sorting-trigger{width:calc(100% - 65px);height:100%;background-color:transparent;border:1px solid lightgrey;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:14px}.memo-sorting-wrapper .memo-sorting-trigger i{font-size:16px;color:gray}.memo-sorting-menu{width:200px}.my-button{border:1px solid #465573;color:#465573;border-radius:5px;background-color:transparent;font-weight:bold;min-width:80px;height:40px}.my-button.reset{border:none}.my-button:hover{color:#fff;background-color:#465573}.my-button:hover.reset{color:#465573;border:1px solid #465573;background-color:#fff}.app-property-value .app-input-wrapper label{color:#646f85;font-size:13px;margin-bottom:5px}.app-property-value .app-input-wrapper label .text-danger{font-size:16px;line-height:14px;margin:0 5px!important}.app-property-value .app-input-wrapper .form-control{border:1px solid #ccc;border-radius:5px;background-color:#8f98aa1a;height:40px}.app-property-value .app-input-wrapper .form-control:disabled{background-color:#e9ecef!important}.app-property-value .app-input-wrapper .form-control:focus{border:1px solid #1a96c6;box-shadow:0 0 4px #79c3c26b!important}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers{list-style:none;padding:0;margin:0;font-size:14px}.app-property-value .app-input-wrapper .app-textitem-editable-error .error-containers .error{margin-top:5px}.autocomplete-container .input-container input:focus,hijri-gregorian-datepicker .form-group .input-group .form-control:focus,.ng-select.ng-select-focused .ng-select-container{border:1px solid #1a96c6!important;box-shadow:0 0 4px #79c3c26b!important}input::placeholder{font-size:12px}.form-control:focus{box-shadow:none!important}.mat-stepper-horizontal{margin-top:-25px}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header.cdk-program-focused{background-color:transparent}.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-icon-selected{background-color:transparent;color:#fff;background-image:linear-gradient(to right,#0dbab5,#1a96c6)}@media only screen and (max-width: 576px){.mat-stepper-horizontal .mat-horizontal-stepper-header-container .mat-step-header .mat-step-label .mat-step-text-label{white-space:pre-wrap;overflow:visible}}.mat-stepper-horizontal .mat-horizontal-content-container{overflow:visible}@media only screen and (max-width: 768px){.mat-stepper-horizontal .mat-horizontal-content-container{padding:0 0 24px}}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:after,.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:before{display:none}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:first-child:before{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);left:0}.mat-stepper-horizontal.rtl .mat-horizontal-stepper-header:last-child:after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px);right:0}.form-wrapper{padding:30px 15px;border:1px solid #dde0e2}.form-wrapper .buttons-wrapper{display:flex;justify-content:space-between}.form-wrapper .buttons-wrapper .action-buttons-wrapper{display:flex}.form-wrapper .buttons-wrapper button{background-image:linear-gradient(to right,#0dbab5,#1a96c6);height:40px;color:#fff;border:none;width:125px;margin-top:20px;border-radius:5px}.form-wrapper .buttons-wrapper button:disabled{opacity:.4;cursor:not-allowed}.form-wrapper .buttons-wrapper button:hover{opacity:.7}.form-wrapper .upload-wrapper{display:flex;flex-direction:column;justify-content:flex-end}.form-wrapper .upload-wrapper label{color:#8f98aa;font-size:14px}.form-wrapper .upload-wrapper button{padding:10px;border:1px solid lightgray}.form-wrapper .upload-wrapper button span{margin:0 10px}.my-dynamic-viewer{display:flex;align-items:center;font-size:12px;min-height:30px}.my-dynamic-viewer .my-label{font-size:12px;font-weight:500;width:150px;word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-label{width:50%}}.my-dynamic-viewer .my-value{width:calc(100% - 150px);word-break:break-word}@media (max-width: 992px){.my-dynamic-viewer .my-value{width:50%}}.my-dynamic-viewer .direction-img{font-size:14px}.my-dynamic-viewer .direction-img .incoming{display:none}.my-dynamic-viewer .direction-img .outgoing{display:none}.my-dynamic-viewer.draft .my-value{color:#596973}.my-dynamic-viewer.inProgress .my-value{color:#3c3cf0}.my-dynamic-viewer.registered .my-value{color:#4f008c}.my-dynamic-viewer.archived .my-value{color:#fbb62c}.my-dynamic-viewer.closed .my-value{color:#00dca5}.my-dynamic-viewer.approved .my-value{color:#06a57e}.my-dynamic-viewer.assigned .my-value{color:#fd6670}.my-dynamic-viewer.sent .my-value{color:#3c3cf0}.my-dynamic-viewer.published .my-value{color:#00dca5}.my-dynamic-viewer.Outgoing .my-value{display:flex}.my-dynamic-viewer.Outgoing .my-value .direction-img .outgoing{color:#fbb62c;margin:1px 5px;display:flex}.my-dynamic-viewer.Outgoing .my-value .text{margin:0 5px}.my-dynamic-viewer.Incoming .my-value{display:flex}.my-dynamic-viewer.Incoming .my-value .direction-img .incoming{color:#00dca5;display:flex}.my-dynamic-viewer.Incoming .my-value .text{margin:-3px 5px 0}.my-dynamic-viewer.vertical{display:block}.my-dynamic-viewer.vertical .my-label{width:auto}.my-dynamic-viewer.vertical .my-value{width:auto}.my-dynamic-viewer.with-out-label{width:100%!important}.result-count{color:#8f98aa;font-size:14px}.search-sideMenu{background-color:#fff;padding-top:22px;padding-bottom:22px;border-radius:5px}.search-sideMenu .search-form{display:flex;color:#6a768e;width:100%}.search-sideMenu .search-form .search-input{width:100%;border:1px solid #d9dce2;border-inline-end:0;border-start-start-radius:5px;border-end-start-radius:5px;border:1px solid #ccc;height:32px;font-size:16px;padding-inline-start:4px}.search-sideMenu .search-form .search-input::-webkit-input-placeholder{font-size:14px}.search-sideMenu .search-form .search-input:focus-visible{border:2px solid #465573;outline:transparent}.search-sideMenu .search-form .search-icon{background:#465573;color:#fff;width:12%;display:flex;align-items:center;justify-content:center;border-radius:0;cursor:pointer;border:1px solid #d9dce2;border-start-end-radius:6px;border-end-end-radius:6px;border-inline-start:0}.search-toolbar{position:relative;display:flex;justify-content:flex-end;margin-bottom:16px}.search-toolbar .my-button{width:90px}.search-toolbar .arrow-up{position:absolute;top:26px;right:28px;font-size:25px;color:#8f98aab3}.wrapper{position:relative}.wrapper .popup-filter{flex-direction:column;position:absolute;right:0;z-index:9999;max-height:70vh;max-width:400px;background-color:#fff;overflow:scroll;box-shadow:0 1px 10px 2px #00000054;top:-4px;border-radius:5px}.wrapper .popup-filter .search-form{margin-top:10px!important}.wrapper .popup-filter .search-input{width:100%!important}.wrapper .search-container{background-color:#fff;border-radius:5px;border:0px;padding:16px;height:-webkit-max-content;height:max-content}.wrapper .search-container .table-toolbar{display:flex;align-items:center;margin-bottom:8px;justify-content:space-between}.progress-spinner{margin-top:10px;margin-block-end:0;display:grid;place-items:center;width:100%}.rtl .popup-filter{left:0px;right:unset!important}.rtl .arrow-up{position:absolute;top:33px;left:28px;right:unset!important}\n"], components: [{ type: i3.DynamicFilterComponent, selector: "cts-dynamic-filter", inputs: ["title", "filters", "selections", "id", "entityType", "prefix", "department", "componentType", "customPageProvider"], outputs: ["onFilterSelected"] }, { type: i4.CardComponent, selector: "app-card", inputs: ["noBody", "dark"] }, { type: i5.DynamicTableComponent, selector: "cts-dynamic-table", inputs: ["columns", "responsiveColumns", "entityType", "prefix", "headers", "fields", "pageProvider", "pageSize", "sortingBy", "queryParam", "quickFilter", "report", "rowCursor", "fullWidth", "tableMode", "tableActions", "defultSort", "range"], outputs: ["onRowSelected", "actionOnRow", "onGettingData"] }, { type: i6.MatSpinner, selector: "mat-spinner", inputs: ["color"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i8.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.FormControlName, selector: "[formControlName]", inputs: ["disabled", "formControlName", "ngModel"], outputs: ["ngModelChange"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "translate": i9.TranslatePipe }, encapsulation: i0.ViewEncapsulation.None });
|
|
120
141
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: DynamicSearchComponent, decorators: [{
|
|
121
142
|
type: Component,
|
|
122
143
|
args: [{
|
|
@@ -150,4 +171,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
150
171
|
}], sortingArray: [{
|
|
151
172
|
type: Input
|
|
152
173
|
}] } });
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1zZWFyY2guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLXNlYXJjaC9keW5hbWljLXNlYXJjaC9keW5hbWljLXNlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtc2VhcmNoL2R5bmFtaWMtc2VhcmNoL2R5bmFtaWMtc2VhcmNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJeEQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7Ozs7Ozs7Ozs7O0FBRTVCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBT0gsTUFBTSxPQUFPLHNCQUFzQjtJQXVDakMsWUFDVSxLQUFxQixFQUNyQixNQUFjLEVBQ2Ysa0JBQXNDO1FBRnJDLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBakMvQywwQkFBMEI7UUFDakIsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQVNyQixxQkFBcUI7UUFDWixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2Ysc0JBQWlCLEdBQUcsaUJBQWlCLENBQUM7UUFFL0Msa0JBQWEsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMs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c0JBQXNCO2tCQU5sQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFdBQVcsRUFBRSxpQ0FBaUM7b0JBQzlDLFNBQVMsRUFBRSxDQUFDLGlDQUFpQyxDQUFDO29CQUM5QyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDdEM7MkpBS1UsT0FBTztzQkFBZixLQUFLO2dCQUVHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFTixhQUFhO3NCQURaLEtBQUs7Z0JBZ0JOLFlBQVk7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IERvY3VtZW50c0NvbnN0YW50cyB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZG9jdW1lbnRzL2NvbnN0YW50cy9kb2N1bWVudHMnO1xyXG5pbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIsIEJyZWFrcG9pbnRzIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XHJcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcclxuXHJcbi8qKlxyXG4gKiBEeW5hbWljIHNlYXJjaCBjb21wb25lbnQgdXNlcyBbRHluYW1pYyBUYWJsZV17QGxpbmsgRHluYW1pY1RhYmxlQ29tcG9uZW50fSAmIFtEeW5hbWljIEZpbHRlcl17QGxpbmsgRHluYW1pY0ZpbHRlckNvbXBvbmVudH0gaW50ZXJuYWxseSxcclxuICogYW5kIHV0aWxpemVzIGl0cyBpbnB1dHMgdG8gcGVyZm9ybSBhZHZhbmNlZCBzZWFyY2ggYW5kIGZpbHRlcmluZyBvbiBhbnkgbnV4ZW8gUHJvdmlkZXJcclxuICogQHRpdGxlXHJcbiAqIER5bmFtaWMgU2VhcmNoXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIDxjdHMtZHluYW1pYy1zZWFyY2hcclxuICogICBbcGFnZVByb3ZpZGVyXT1cIidwYWdlUHJvdmlkZXJOYW1lJ1wiXHJcbiAqICAgW2NvbHVtbnNdPVwiY29sdW1uc0FycmF5XCJcclxuICogICBbcmVzcG9uc2l2ZUNvbHVtbnNdPVwicmVzcG9uc2l2ZUNvbHVtbnNBcnJheVwiXHJcbiAqICAgW2VudGl0eVR5cGVdPVwiJ2RvY3VtZW50cydcIlxyXG4gKiAgIFtwcmVmaXhdPVwicHJlZml4XCJcclxuICogICBbZmllbGRzXT1cImZpZWxkc1wiXHJcbiAqICAgW2hlYWRlcnNdPVwiaGVhZGVyc1wiXHJcbiAqICAgW3NvcnRpbmdCeV09XCJzb3J0aW5nQnlcIlxyXG4gKiAgIFtwYWdlU2l6ZV09XCJQYWdlU2l6ZVwiXHJcbiAqID5cclxuICogPC9jdHMtZHluYW1pYy1zZWFyY2g+XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2N0cy1keW5hbWljLXNlYXJjaCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtc2VhcmNoLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLXNlYXJjaC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNTZWFyY2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHRleHQ6IHN0cmluZztcclxuICBhZ2dyZWdhdGlvbnM7XHJcbiAgLyoqIEFycmF5IG9mIGNvbHVtbnMgKi9cclxuICBASW5wdXQoKSBjb2x1bW5zO1xyXG4gIC8qKiBBcnJheSBvZiBjb2x1bW5zIG9uIHNtYWxsZXIgc2NyZWVucyAqL1xyXG4gIEBJbnB1dCgpIHJlc3BvbnNpdmVDb2x1bW5zPztcclxuICAvKiogRGVmaW5lcyB0aGUgcGFnZSBpbiB3aGljaCB0YWJsZSBpcyBiZWluZyB1c2VkICovXHJcbiAgQElucHV0KCkgZW50aXR5VHlwZTogc3RyaW5nO1xyXG4gIC8qKiBUcmFuc2xhdGlvbnMgcHJlZml4ICovXHJcbiAgQElucHV0KCkgcHJlZml4ID0gJyc7XHJcbiAgLyoqIEhlYWRlcnMgdG8gYmUgc2VudCB3aXRoIEFQSSBSZXF1ZXN0ICovXHJcbiAgQElucHV0KCkgaGVhZGVycztcclxuICAvKiogRmllbGRzIGtleW1hcCB0byBiZSBtYXBwZWQgaW4gdGhlIGFkYXB0ZXIgKi9cclxuICBASW5wdXQoKSBmaWVsZHM7XHJcbiAgLyoqIFBhZ2UgUHJvdmlkZXIgbmFtZSB0aGF0IHdpbGwgYmUgdXNlZCB0byByZXRyaWV2ZSBkYXRhICovXHJcbiAgQElucHV0KCkgcGFnZVByb3ZpZGVyO1xyXG4gIC8qKiBDb250cm9scyBudW1iZXIgb2YgaXRlbXMgcGVyIHBhZ2UgaW4gdGFibGUgKi9cclxuICBASW5wdXQoKSBwYWdlU2l6ZTtcclxuICAvKiogU29ydGluZyBjb2x1bW4gKi9cclxuICBASW5wdXQoKSBzb3J0aW5nQnk/PSB7fTtcclxuICBASW5wdXQoKSBmdWxsVGV4dFBhcmFtTmFtZSA9ICdzeXN0ZW1fZnVsbHRleHQnO1xyXG4gIEBJbnB1dCgpIFxyXG4gIG9uUm93U2VsZWN0ZWQgPSAocm93KSA9PiB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbeyBvdXRsZXRzOiB7IHZpZXdlcjogWyd2aWV3Jywgcm93Wyd1aWQnXV0gfSB9XSwge1xyXG4gICAgICBxdWVyeVBhcmFtczogeyBsb2NhdGlvbjogdGhpcy5yb3V0ZXIudXJsIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgcXVlcnlQYXJhbXMgPSB7fTtcclxuICBmaWx0ZXI7XHJcbiAgZmlsdGVycztcclxuICBzZWFyY2hGb3JtID0gbmV3IEZvcm1Hcm91cCh7XHJcbiAgICB0ZXh0OiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgfSk7XHJcbiAgbG9hZGluZyA9IGZhbHNlO1xyXG4gIHRvdGFsUmVjb3JkcztcclxuICBvcGVuRmlsdGVyOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpXHJcbiAgc29ydGluZ0FycmF5O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHVibGljIGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRleHQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zWydzZWFyY2hfcXVlcnknXTtcclxuICAgIHRoaXMuc2VhcmNoSW5wdXRQb3B1bGF0ZSgpO1xyXG4gICAgdGhpcy51cGRhdGVRdWVyeVBhcmFtcyh7IFt0aGlzLmZ1bGxUZXh0UGFyYW1OYW1lXTogdGhpcy50ZXh0IH0pO1xyXG4gICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtcykgPT4ge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgKHRoaXMudGV4dCAhPT0gcGFyYW1zWydzZWFyY2hfcXVlcnknXSAmJiBwYXJhbXNbJ3NlYXJjaF9xdWVyeSddKSB8fFxyXG4gICAgICAgIChwYXJhbXNbJ3NlYXJjaF9xdWVyeSddPy5sZW5ndGggPT0gMCAmJlxyXG4gICAgICAgICAgdGhpcy50ZXh0ICE9PSBwYXJhbXNbJ3NlYXJjaF9xdWVyeSddKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnRleHQgPSBwYXJhbXNbJ3NlYXJjaF9xdWVyeSddO1xyXG4gICAgICAgIHRoaXMuc2VhcmNoSW5wdXRQb3B1bGF0ZSgpO1xyXG4gICAgICAgIHRoaXMudXBkYXRlUXVlcnlQYXJhbXMoeyBbdGhpcy5mdWxsVGV4dFBhcmFtTmFtZV06IHRoaXMudGV4dCB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmJyZWFrcG9pbnQoKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVF1ZXJ5UGFyYW1zKG5ld1F1ZXJ5cGFyYW1zOiBvYmplY3QpIHtcclxuICAgIHRoaXMucXVlcnlQYXJhbXMgPSB7XHJcbiAgICAgIC4uLnRoaXMucXVlcnlQYXJhbXMsXHJcbiAgICAgIC4uLm5ld1F1ZXJ5cGFyYW1zLFxyXG4gICAgfTtcclxuICB9XHJcbiAgXHJcbiAgc2VhcmNoSW5wdXRQb3B1bGF0ZSgpIHtcclxuICAgIHRoaXMuc2VhcmNoRm9ybS5wYXRjaFZhbHVlKHtcclxuICAgICAgdGV4dDogdGhpcy50ZXh0LFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIEZpbHRlclNlbGVjdGVkKHZhbDogYW55KSB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5maWx0ZXJzID0geyAuLi50aGlzLmZpbHRlcnMsIC4uLnZhbC5maWx0ZXIgfTsgLy9zdG9yZSBmaWx0ZXJzXHJcbiAgICB0aGlzLnVwZGF0ZVF1ZXJ5UGFyYW1zKHRoaXMuZmlsdGVycyk7XHJcbiAgfVxyXG5cclxuICBwYWdpbmF0aW9uQ2hhbmdlKGV2ZW50KSB7IH1cclxuXHJcbiAgZ2V0VGFibGVEYXRhKGRhdGEpIHtcclxuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgdGhpcy5hZ2dyZWdhdGlvbnMgPSBPYmplY3QuZW50cmllcyhkYXRhLmFnZ3JlZ2F0aW9ucyB8fCB7fSkubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgIHJldHVybiBpdGVtWzFdO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmFnZ3JlZ2F0aW9ucyA9IHRoaXMuYWdncmVnYXRpb25zLmZpbHRlcigoaXRlbSkgPT5cclxuICAgICAgdGhpcy5zb3J0aW5nQXJyYXkuaW5jbHVkZXMoaXRlbS5pZClcclxuICAgICk7XHJcbiAgICB0aGlzLmFnZ3JlZ2F0aW9ucyA9IF8uc29ydEJ5KHRoaXMuYWdncmVnYXRpb25zLCAoaXRlbSkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5zb3J0aW5nQXJyYXkuaW5kZXhPZihpdGVtLmlkKTtcclxuICAgIH0pO1xyXG4gICAgY29uc29sZS5sb2coJ2FnZ3JlZ2F0aW9ucycsIHRoaXMuYWdncmVnYXRpb25zKTtcclxuICAgIHRoaXMudG90YWxSZWNvcmRzID0gZGF0YS50b3RhbFNpemU7XHJcbiAgfVxyXG4gIHN1Ym1pdEZvcm0oKSB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy4nXSwge1xyXG4gICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxyXG4gICAgICBxdWVyeVBhcmFtczoge1xyXG4gICAgICAgIHNlYXJjaF9xdWVyeTogdGhpcy5zZWFyY2hGb3JtLmNvbnRyb2xzLnRleHQudmFsdWUsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIFxyXG4gIG9uT3BlbkZpbHRlcigpIHtcclxuICAgIHRoaXMub3BlbkZpbHRlciA9ICF0aGlzLm9wZW5GaWx0ZXI7XHJcbiAgfVxyXG5cclxuICBicmVha3BvaW50KCkge1xyXG4gICAgdGhpcy5icmVha3BvaW50T2JzZXJ2ZXJcclxuICAgICAgLm9ic2VydmUoWycobWluLXdpZHRoOiAxMjAwcHgpJ10pXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQubWF0Y2hlcykge1xyXG4gICAgICAgICAgdGhpcy5vcGVuRmlsdGVyID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInNlYXJjaC10b29sYmFyIGQtbWQtZmxleCBkLXhsLW5vbmVcIj5cclxuICA8YnV0dG9uIChjbGljayk9XCJvbk9wZW5GaWx0ZXIoKVwiIGNsYXNzPVwibXktYnV0dG9uXCI+XHJcbiAgICA8c3Bhbj4ge3sgXCJGSUxURVJcIiB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgIDxpIGNsYXNzPVwiYmkgYmktZmlsdGVyXCIgKm5nSWY9XCIhb3BlbkZpbHRlclwiPjwvaT5cclxuICAgIDxpIGNsYXNzPVwiYmkgYmkteFwiICpuZ0lmPVwib3BlbkZpbHRlclwiPjwvaT5cclxuICA8L2J1dHRvbj5cclxuICA8ZGl2ICpuZ0lmPVwib3BlbkZpbHRlclwiPlxyXG4gICAgPGkgY2xhc3M9XCJiaSBiaS1jYXJldC11cC1maWxsIGFycm93LXVwXCI+PC9pPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdiBjbGFzcz1cInJvdyB3cmFwcGVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cInBvcHVwLWZpbHRlciBweC0zIGQtZmxleCBkLXhsLW5vbmVcIiAqbmdJZj1cIm9wZW5GaWx0ZXJcIj5cclxuICAgIDxmb3JtXHJcbiAgICAgIFtmb3JtR3JvdXBdPVwic2VhcmNoRm9ybVwiXHJcbiAgICAgIGNsYXNzPVwic2VhcmNoLWZvcm1cIlxyXG4gICAgICAobmdTdWJtaXQpPVwic3VibWl0Rm9ybSgpXCJcclxuICAgID5cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgY2xhc3M9XCJzZWFyY2gtaW5wdXRcIlxyXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0ZXh0XCJcclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3NlYXJjaC5zZWFyY2gnIHwgdHJhbnNsYXRlXCJcclxuICAgICAgLz5cclxuICAgICAgPGRpdiAoY2xpY2spPVwic3VibWl0Rm9ybSgpXCIgY2xhc3M9XCJzZWFyY2gtaWNvbiBiaSBiaS1zZWFyY2hcIj48L2Rpdj5cclxuICAgIDwvZm9ybT5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhZ2dyZWdhdGlvbnM7IGVsc2UgcHJvZ3Jlc3NTcGlubmVyXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhZ2dyZWdhdGlvbnMubGVuZ3RoOyBlbHNlIG5vQWdncmVnYXRpb25zXCI+XHJcbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGFnZ3JlZ2F0aW9uIG9mIGFnZ3JlZ2F0aW9uc1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhZ2dyZWdhdGlvbi5idWNrZXRzLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgIDxjdHMtZHluYW1pYy1maWx0ZXJcclxuICAgICAgICAgICAgW2VudGl0eVR5cGVdPVwiZW50aXR5VHlwZVwiXHJcbiAgICAgICAgICAgIFtmaWx0ZXJzXT1cImFnZ3JlZ2F0aW9uLmJ1Y2tldHNcIlxyXG4gICAgICAgICAgICBbaWRdPVwiYWdncmVnYXRpb24uaWRcIlxyXG4gICAgICAgICAgICBbc2VsZWN0aW9uc109XCJhZ2dyZWdhdGlvbi5zZWxlY3Rpb25cIlxyXG4gICAgICAgICAgICBbdGl0bGVdPVwiYWdncmVnYXRpb24uZmllbGRcIlxyXG4gICAgICAgICAgICBbcHJlZml4XT1cIidzZWFyY2gnXCJcclxuICAgICAgICAgICAgW2RlcGFydG1lbnRdPVwiXHJcbiAgICAgICAgICAgICAgYWdncmVnYXRpb24uZmllbGQgPT09ICdjb3JyOnRvJyB8fFxyXG4gICAgICAgICAgICAgIGFnZ3JlZ2F0aW9uLmZpZWxkID09PSAnY29ycjpmcm9tJ1xyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAob25GaWx0ZXJTZWxlY3RlZCk9XCJGaWx0ZXJTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgID48L2N0cy1keW5hbWljLWZpbHRlcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImNvbC14bC0zIHNlYXJjaC1zaWRlTWVudSBkLW5vbmUgZC14bC1ibG9ja1wiPlxyXG4gICAgPGZvcm1cclxuICAgICAgW2Zvcm1Hcm91cF09XCJzZWFyY2hGb3JtXCJcclxuICAgICAgY2xhc3M9XCJzZWFyY2gtZm9ybVwiXHJcbiAgICAgIChuZ1N1Ym1pdCk9XCJzdWJtaXRGb3JtKClcIlxyXG4gICAgPlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICBjbGFzcz1cInNlYXJjaC1pbnB1dFwiXHJcbiAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cInRleHRcIlxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInc2VhcmNoLnNlYXJjaCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAvPlxyXG4gICAgICA8ZGl2IChjbGljayk9XCJzdWJtaXRGb3JtKClcIiBjbGFzcz1cInNlYXJjaC1pY29uIGJpIGJpLXNlYXJjaFwiPjwvZGl2PlxyXG4gICAgPC9mb3JtPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFnZ3JlZ2F0aW9uczsgZWxzZSBwcm9ncmVzc1NwaW5uZXJcIj5cclxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgYWdncmVnYXRpb24gb2YgYWdncmVnYXRpb25zXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFnZ3JlZ2F0aW9uLmJ1Y2tldHMubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgPGN0cy1keW5hbWljLWZpbHRlclxyXG4gICAgICAgICAgICBbZW50aXR5VHlwZV09XCJlbnRpdHlUeXBlXCJcclxuICAgICAgICAgICAgW2ZpbHRlcnNdPVwiYWdncmVnYXRpb24uYnVja2V0c1wiXHJcbiAgICAgICAgICAgIFtpZF09XCJhZ2dyZWdhdGlvbi5pZFwiXHJcbiAgICAgICAgICAgIFtzZWxlY3Rpb25zXT1cImFnZ3JlZ2F0aW9uLnNlbGVjdGlvblwiXHJcbiAgICAgICAgICAgIFt0aXRsZV09XCJhZ2dyZWdhdGlvbi5maWVsZFwiXHJcbiAgICAgICAgICAgIFtwcmVmaXhdPVwiJ3NlYXJjaCdcIlxyXG4gICAgICAgICAgICBbZGVwYXJ0bWVudF09XCJcclxuICAgICAgICAgICAgICBhZ2dyZWdhdGlvbi5maWVsZCA9PT0gJ2NvcnI6dG8nIHx8XHJcbiAgICAgICAgICAgICAgYWdncmVnYXRpb24uZmllbGQgPT09ICdjb3JyOmZyb20nXHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgIChvbkZpbHRlclNlbGVjdGVkKT1cIkZpbHRlclNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgPjwvY3RzLWR5bmFtaWMtZmlsdGVyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLXhsLTlcIj5cclxuICAgIDxhcHAtY2FyZD5cclxuICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+XHJcbiAgICAgICAgPGgzPlxyXG4gICAgICAgICAge3sgXCJzZWFyY2guaGVhZGVyXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgICAgICA8L2gzPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJvZHlcIj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiYWdncmVnYXRpb25zXCIgY2xhc3M9XCJ0YWJsZS10b29sYmFyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVzdWx0LWNvdW50XCI+XHJcbiAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgICBcInNlYXJjaC5cIiArIFwicmVzdWx0c051bWJlclwiXHJcbiAgICAgICAgICAgICAgICAgIHwgdHJhbnNsYXRlOiB7IHZhbHVlOiB0b3RhbFJlY29yZHMgPyB0b3RhbFJlY29yZHMgOiAwIH1cclxuICAgICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwhLS0gPGZvcm1cclxuICAgICAgICAgIFtmb3JtR3JvdXBdPVwic2VhcmNoRm9ybVwiXHJcbiAgICAgICAgICBjbGFzcz1cInNlYXJjaC1mb3JtXCJcclxuICAgICAgICAgIChuZ1N1Ym1pdCk9XCJzdWJtaXRGb3JtKClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBjbGFzcz1cInNlYXJjaC1pbnB1dFwiXHJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidGV4dFwiXHJcbiAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInc2VhcmNoLnNlYXJjaCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICAgIDxkaXYgKGNsaWNrKT1cInN1Ym1pdEZvcm0oKVwiIGNsYXNzPVwic2VhcmNoLWljb24gYmkgYmktc2VhcmNoXCI+PC9kaXY+XHJcbiAgICAgICAgPC9mb3JtPiAtLT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8Y3RzLWR5bmFtaWMtdGFibGVcclxuICAgICAgICAgIFtwYWdlU2l6ZV09XCJwYWdlU2l6ZVwiXHJcbiAgICAgICAgICBbY29sdW1uc109XCJjb2x1bW5zXCJcclxuICAgICAgICAgIFtyZXNwb25zaXZlQ29sdW1uc109XCJyZXNwb25zaXZlQ29sdW1uc1wiXHJcbiAgICAgICAgICBbcGFnZVByb3ZpZGVyXT1cInBhZ2VQcm92aWRlclwiXHJcbiAgICAgICAgICBbcXVpY2tGaWx0ZXJdPVwiZmlsdGVyXCJcclxuICAgICAgICAgIFtlbnRpdHlUeXBlXT1cImVudGl0eVR5cGVcIlxyXG4gICAgICAgICAgW2ZpZWxkc109XCJmaWVsZHNcIlxyXG4gICAgICAgICAgW3F1ZXJ5UGFyYW1dPVwicXVlcnlQYXJhbXNcIlxyXG4gICAgICAgICAgW2hlYWRlcnNdPVwiaGVhZGVyc1wiXHJcbiAgICAgICAgICBbcHJlZml4XT1cInByZWZpeFwiXHJcbiAgICAgICAgICBbc29ydGluZ0J5XT1cInNvcnRpbmdCeVwiXHJcbiAgICAgICAgICAob25Sb3dTZWxlY3RlZCk9XCJvblJvd1NlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgKG9uR2V0dGluZ0RhdGEpPVwiZ2V0VGFibGVEYXRhKCRldmVudClcIlxyXG4gICAgICAgID48L2N0cy1keW5hbWljLXRhYmxlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvYXBwLWNhcmQ+XHJcbiAgPC9kaXY+XHJcbiAgPG5nLXRlbXBsYXRlICNwcm9ncmVzc1NwaW5uZXI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3Mtc3Bpbm5lclwiPlxyXG4gICAgICA8bWF0LXNwaW5uZXIgY29sb3I9XCJ3YXJuXCIgW2RpYW1ldGVyXT1cIjI1XCI+PC9tYXQtc3Bpbm5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbiAgPG5nLXRlbXBsYXRlICNub0FnZ3JlZ2F0aW9ucz5cclxuICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzcy1zcGlubmVyXCI+XHJcbiAgICAgIHt7IFwic2VhcmNoLm5vQWdncmVnYXRpb25zXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1zZWFyY2guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnV4ZW8tZGV2ZWxvcG1lbnQtZnJhbWV3b3JrL3NyYy9saWIvY29tcG9uZW50cy9keW5hbWljLXNlYXJjaC9keW5hbWljLXNlYXJjaC9keW5hbWljLXNlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtc2VhcmNoL2R5bmFtaWMtc2VhcmNoL2R5bmFtaWMtc2VhcmNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJeEQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7Ozs7Ozs7Ozs7O0FBRTVCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBT0gsTUFBTSxPQUFPLHNCQUFzQjtJQXVDakMsWUFDVSxLQUFxQixFQUNyQixNQUFjLEVBQ2Ysa0JBQXNDO1FBRnJDLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBakMvQywwQkFBMEI7UUFDakIsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQVNyQixxQkFBcUI7UUFDWixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2Ysc0JBQWlCLEdBQUcsaUJBQWlCLENBQUM7UUFFL0Msa0JBQWEsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMs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QkFFTixhQUFhO3NCQURaLEtBQUs7Z0JBZ0JOLFlBQVk7c0JBRFgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IERvY3VtZW50c0NvbnN0YW50cyB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMvZG9jdW1lbnRzL2NvbnN0YW50cy9kb2N1bWVudHMnO1xyXG5pbXBvcnQgeyBCcmVha3BvaW50T2JzZXJ2ZXIsIEJyZWFrcG9pbnRzIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2xheW91dCc7XHJcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcclxuXHJcbi8qKlxyXG4gKiBEeW5hbWljIHNlYXJjaCBjb21wb25lbnQgdXNlcyBbRHluYW1pYyBUYWJsZV17QGxpbmsgRHluYW1pY1RhYmxlQ29tcG9uZW50fSAmIFtEeW5hbWljIEZpbHRlcl17QGxpbmsgRHluYW1pY0ZpbHRlckNvbXBvbmVudH0gaW50ZXJuYWxseSxcclxuICogYW5kIHV0aWxpemVzIGl0cyBpbnB1dHMgdG8gcGVyZm9ybSBhZHZhbmNlZCBzZWFyY2ggYW5kIGZpbHRlcmluZyBvbiBhbnkgbnV4ZW8gUHJvdmlkZXJcclxuICogQHRpdGxlXHJcbiAqIER5bmFtaWMgU2VhcmNoXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqIDxjdHMtZHluYW1pYy1zZWFyY2hcclxuICogICBbcGFnZVByb3ZpZGVyXT1cIidwYWdlUHJvdmlkZXJOYW1lJ1wiXHJcbiAqICAgW2NvbHVtbnNdPVwiY29sdW1uc0FycmF5XCJcclxuICogICBbcmVzcG9uc2l2ZUNvbHVtbnNdPVwicmVzcG9uc2l2ZUNvbHVtbnNBcnJheVwiXHJcbiAqICAgW2VudGl0eVR5cGVdPVwiJ2RvY3VtZW50cydcIlxyXG4gKiAgIFtwcmVmaXhdPVwicHJlZml4XCJcclxuICogICBbZmllbGRzXT1cImZpZWxkc1wiXHJcbiAqICAgW2hlYWRlcnNdPVwiaGVhZGVyc1wiXHJcbiAqICAgW3NvcnRpbmdCeV09XCJzb3J0aW5nQnlcIlxyXG4gKiAgIFtwYWdlU2l6ZV09XCJQYWdlU2l6ZVwiXHJcbiAqID5cclxuICogPC9jdHMtZHluYW1pYy1zZWFyY2g+XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2N0cy1keW5hbWljLXNlYXJjaCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtc2VhcmNoLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLXNlYXJjaC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNTZWFyY2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHRleHQ6IHN0cmluZztcclxuICBhZ2dyZWdhdGlvbnM7XHJcbiAgLyoqIEFycmF5IG9mIGNvbHVtbnMgKi9cclxuICBASW5wdXQoKSBjb2x1bW5zO1xyXG4gIC8qKiBBcnJheSBvZiBjb2x1bW5zIG9uIHNtYWxsZXIgc2NyZWVucyAqL1xyXG4gIEBJbnB1dCgpIHJlc3BvbnNpdmVDb2x1bW5zPztcclxuICAvKiogRGVmaW5lcyB0aGUgcGFnZSBpbiB3aGljaCB0YWJsZSBpcyBiZWluZyB1c2VkICovXHJcbiAgQElucHV0KCkgZW50aXR5VHlwZTogc3RyaW5nO1xyXG4gIC8qKiBUcmFuc2xhdGlvbnMgcHJlZml4ICovXHJcbiAgQElucHV0KCkgcHJlZml4ID0gJyc7XHJcbiAgLyoqIEhlYWRlcnMgdG8gYmUgc2VudCB3aXRoIEFQSSBSZXF1ZXN0ICovXHJcbiAgQElucHV0KCkgaGVhZGVycztcclxuICAvKiogRmllbGRzIGtleW1hcCB0byBiZSBtYXBwZWQgaW4gdGhlIGFkYXB0ZXIgKi9cclxuICBASW5wdXQoKSBmaWVsZHM7XHJcbiAgLyoqIFBhZ2UgUHJvdmlkZXIgbmFtZSB0aGF0IHdpbGwgYmUgdXNlZCB0byByZXRyaWV2ZSBkYXRhICovXHJcbiAgQElucHV0KCkgcGFnZVByb3ZpZGVyO1xyXG4gIC8qKiBDb250cm9scyBudW1iZXIgb2YgaXRlbXMgcGVyIHBhZ2UgaW4gdGFibGUgKi9cclxuICBASW5wdXQoKSBwYWdlU2l6ZTtcclxuICAvKiogU29ydGluZyBjb2x1bW4gKi9cclxuICBASW5wdXQoKSBzb3J0aW5nQnk/PSB7fTtcclxuICBASW5wdXQoKSBmdWxsVGV4dFBhcmFtTmFtZSA9ICdzeXN0ZW1fZnVsbHRleHQnO1xyXG4gIEBJbnB1dCgpIFxyXG4gIG9uUm93U2VsZWN0ZWQgPSAocm93KSA9PiB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbeyBvdXRsZXRzOiB7IHZpZXdlcjogWyd2aWV3Jywgcm93Wyd1aWQnXV0gfSB9XSwge1xyXG4gICAgICBxdWVyeVBhcmFtczogeyBsb2NhdGlvbjogdGhpcy5yb3V0ZXIudXJsIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbiAgcXVlcnlQYXJhbXMgPSB7fTtcclxuICBmaWx0ZXI7XHJcbiAgZmlsdGVycztcclxuICBzZWFyY2hGb3JtID0gbmV3IEZvcm1Hcm91cCh7XHJcbiAgICB0ZXh0OiBuZXcgRm9ybUNvbnRyb2wobnVsbCksXHJcbiAgfSk7XHJcbiAgbG9hZGluZyA9IGZhbHNlO1xyXG4gIHRvdGFsUmVjb3JkcztcclxuICBvcGVuRmlsdGVyOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpXHJcbiAgc29ydGluZ0FycmF5O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHVibGljIGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRleHQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zWydzZWFyY2hfcXVlcnknXTtcclxuICAgIHRoaXMuc2VhcmNoSW5wdXRQb3B1bGF0ZSgpO1xyXG4gICAgdGhpcy51cGRhdGVRdWVyeVBhcmFtcyh7IFt0aGlzLmZ1bGxUZXh0UGFyYW1OYW1lXTogdGhpcy50ZXh0IH0pO1xyXG4gICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtcykgPT4ge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgKHRoaXMudGV4dCAhPT0gcGFyYW1zWydzZWFyY2hfcXVlcnknXSAmJiBwYXJhbXNbJ3NlYXJjaF9xdWVyeSddKSB8fFxyXG4gICAgICAgIChwYXJhbXNbJ3NlYXJjaF9xdWVyeSddPy5sZW5ndGggPT0gMCAmJlxyXG4gICAgICAgICAgdGhpcy50ZXh0ICE9PSBwYXJhbXNbJ3NlYXJjaF9xdWVyeSddKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnRleHQgPSBwYXJhbXNbJ3NlYXJjaF9xdWVyeSddO1xyXG4gICAgICAgIHRoaXMuc2VhcmNoSW5wdXRQb3B1bGF0ZSgpO1xyXG4gICAgICAgIHRoaXMudXBkYXRlUXVlcnlQYXJhbXMoeyBbdGhpcy5mdWxsVGV4dFBhcmFtTmFtZV06IHRoaXMudGV4dCB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmJyZWFrcG9pbnQoKTtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVF1ZXJ5UGFyYW1zKG5ld1F1ZXJ5cGFyYW1zOiBvYmplY3QpIHtcclxuICAgIHRoaXMucXVlcnlQYXJhbXMgPSB7XHJcbiAgICAgIC4uLnRoaXMucXVlcnlQYXJhbXMsXHJcbiAgICAgIC4uLm5ld1F1ZXJ5cGFyYW1zLFxyXG4gICAgfTtcclxuICB9XHJcbiAgXHJcbiAgc2VhcmNoSW5wdXRQb3B1bGF0ZSgpIHtcclxuICAgIHRoaXMuc2VhcmNoRm9ybS5wYXRjaFZhbHVlKHtcclxuICAgICAgdGV4dDogdGhpcy50ZXh0LFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIEZpbHRlclNlbGVjdGVkKHZhbDogYW55KSB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5maWx0ZXJzID0geyAuLi50aGlzLmZpbHRlcnMsIC4uLnZhbC5maWx0ZXIgfTsgLy9zdG9yZSBmaWx0ZXJzXHJcbiAgICB0aGlzLnVwZGF0ZVF1ZXJ5UGFyYW1zKHRoaXMuZmlsdGVycyk7XHJcbiAgfVxyXG5cclxuICBwYWdpbmF0aW9uQ2hhbmdlKGV2ZW50KSB7IH1cclxuXHJcbiAgZ2V0VGFibGVEYXRhKGRhdGEpIHtcclxuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgdGhpcy5hZ2dyZWdhdGlvbnMgPSBPYmplY3QuZW50cmllcyhkYXRhLmFnZ3JlZ2F0aW9ucyB8fCB7fSkubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgIHJldHVybiBpdGVtWzFdO1xyXG4gICAgfSk7XHJcbiAgICAvLyB0aGlzLmFnZ3JlZ2F0aW9ucyA9IHRoaXMuYWdncmVnYXRpb25zLmZpbHRlcigoaXRlbSkgPT5cclxuICAgIC8vICAgdGhpcy5zb3J0aW5nQXJyYXkuaW5jbHVkZXMoaXRlbS5pZClcclxuICAgIC8vICk7XHJcbiAgICBsZXQgdXBkYXRlZEFnZ3JlZ2F0aW9uID0gW107XHJcbiAgICB0aGlzLmFnZ3JlZ2F0aW9ucy5tYXAoYWdncmVnID0+IHtcclxuICAgICAgdGhpcy5zb3J0aW5nQXJyYXkubWFwKHNvcnRUeXBlID0+IHtcclxuICAgICAgICBpZihzb3J0VHlwZS5pZCA9PT0gYWdncmVnLmlkKXtcclxuICAgICAgICAgIGFnZ3JlZ1snY29tcG9uZW50VHlwZSddID0gc29ydFR5cGUuY29tcG9lbmVudFR5cGU7XHJcbiAgICAgICAgICAvLyBpbiBjYXNlIG9mIGN1c3RvbSBjb21wb25lbnQgbmVlZCB0byBjYWxsIHBhZ2UgcHJvdmlkZXIgdG8gZ2V0IGRhdGEgXHJcbiAgICAgICAgICBpZihzb3J0VHlwZS5jb21wb2VuZW50VHlwZSA9PT0gJ2N1c3RvbS1wcCcgfHwgc29ydFR5cGUuY29tcG9lbmVudFR5cGUgPT09ICdjdXN0b20tZG9jdW1lbnQnKXtcclxuICAgICAgICAgICAgYWdncmVnWydjdXN0b21QYWdlUHJvdmlkZXInXSA9IHNvcnRUeXBlLnBhZ2VQcm92aWRlclxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdXBkYXRlZEFnZ3JlZ2F0aW9uLnB1c2goYWdncmVnKVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH0pXHJcbiAgICB0aGlzLmFnZ3JlZ2F0aW9ucyA9IF8uc29ydEJ5KHVwZGF0ZWRBZ2dyZWdhdGlvbiwgKGl0ZW0pID0+IHtcclxuICAgICAgbGV0IGkgPSAtMTtcclxuICAgICAgIHRoaXMuc29ydGluZ0FycmF5Lm1hcCgoc29ydFR5cGUgLCBpbmRleCkgPT4ge1xyXG4gICAgICAgICBpZihzb3J0VHlwZS5pZCA9PT0gaXRlbS5pZCl7XHJcbiAgICAgICAgICAgaSA9IGluZGV4O1xyXG4gICAgICAgICB9XHJcbiAgICAgICB9KTtcclxuICAgICAgIHJldHVybiBpO1xyXG4gICAgfSk7XHJcbiAgICBjb25zb2xlLmxvZygnYWdncmVnYXRpb25zJywgdGhpcy5hZ2dyZWdhdGlvbnMpO1xyXG4gICAgdGhpcy50b3RhbFJlY29yZHMgPSBkYXRhLnRvdGFsU2l6ZTtcclxuICB9XHJcblxyXG4gIHN1Ym1pdEZvcm0oKSB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy4nXSwge1xyXG4gICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLFxyXG4gICAgICBxdWVyeVBhcmFtczoge1xyXG4gICAgICAgIHNlYXJjaF9xdWVyeTogdGhpcy5zZWFyY2hGb3JtLmNvbnRyb2xzLnRleHQudmFsdWUsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIFxyXG4gIG9uT3BlbkZpbHRlcigpIHtcclxuICAgIHRoaXMub3BlbkZpbHRlciA9ICF0aGlzLm9wZW5GaWx0ZXI7XHJcbiAgfVxyXG5cclxuICBicmVha3BvaW50KCkge1xyXG4gICAgdGhpcy5icmVha3BvaW50T2JzZXJ2ZXJcclxuICAgICAgLm9ic2VydmUoWycobWluLXdpZHRoOiAxMjAwcHgpJ10pXHJcbiAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGlmIChyZXN1bHQubWF0Y2hlcykge1xyXG4gICAgICAgICAgdGhpcy5vcGVuRmlsdGVyID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInNlYXJjaC10b29sYmFyIGQtbWQtZmxleCBkLXhsLW5vbmUgbXgtM1wiPlxyXG4gIDxidXR0b24gKGNsaWNrKT1cIm9uT3BlbkZpbHRlcigpXCIgY2xhc3M9XCJteS1idXR0b25cIj5cclxuICAgIDxzcGFuPiB7eyBcIkZJTFRFUlwiIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxyXG4gICAgPGkgY2xhc3M9XCJiaSBiaS1maWx0ZXJcIiAqbmdJZj1cIiFvcGVuRmlsdGVyXCI+PC9pPlxyXG4gICAgPGkgY2xhc3M9XCJiaSBiaS14XCIgKm5nSWY9XCJvcGVuRmlsdGVyXCI+PC9pPlxyXG4gIDwvYnV0dG9uPlxyXG4gIDxkaXYgKm5nSWY9XCJvcGVuRmlsdGVyXCI+XHJcbiAgICA8aSBjbGFzcz1cImJpIGJpLWNhcmV0LXVwLWZpbGwgYXJyb3ctdXBcIj48L2k+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwicm93IHdyYXBwZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwicG9wdXAtZmlsdGVyIHB4LTMgZC1mbGV4IGQteGwtbm9uZVwiICpuZ0lmPVwib3BlbkZpbHRlclwiPlxyXG4gICAgPGZvcm1cclxuICAgICAgW2Zvcm1Hcm91cF09XCJzZWFyY2hGb3JtXCJcclxuICAgICAgY2xhc3M9XCJzZWFyY2gtZm9ybVwiXHJcbiAgICAgIChuZ1N1Ym1pdCk9XCJzdWJtaXRGb3JtKClcIlxyXG4gICAgPlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICBjbGFzcz1cInNlYXJjaC1pbnB1dFwiXHJcbiAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cInRleHRcIlxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCInc2VhcmNoLnNlYXJjaCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAvPlxyXG4gICAgICA8ZGl2IChjbGljayk9XCJzdWJtaXRGb3JtKClcIiBjbGFzcz1cInNlYXJjaC1pY29uIGJpIGJpLXNlYXJjaFwiPjwvZGl2PlxyXG4gICAgPC9mb3JtPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFnZ3JlZ2F0aW9uczsgZWxzZSBwcm9ncmVzc1NwaW5uZXJcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFnZ3JlZ2F0aW9ucy5sZW5ndGg7IGVsc2Ugbm9BZ2dyZWdhdGlvbnNcIj5cclxuICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgYWdncmVnYXRpb24gb2YgYWdncmVnYXRpb25zXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFnZ3JlZ2F0aW9uLmJ1Y2tldHMubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgPGN0cy1keW5hbWljLWZpbHRlclxyXG4gICAgICAgICAgICBbZW50aXR5VHlwZV09XCJlbnRpdHlUeXBlXCJcclxuICAgICAgICAgICAgW2ZpbHRlcnNdPVwiYWdncmVnYXRpb24uYnVja2V0c1wiXHJcbiAgICAgICAgICAgIFtpZF09XCJhZ2dyZWdhdGlvbi5pZFwiXHJcbiAgICAgICAgICAgIFtzZWxlY3Rpb25zXT1cImFnZ3JlZ2F0aW9uLnNlbGVjdGlvblwiXHJcbiAgICAgICAgICAgIFt0aXRsZV09XCJhZ2dyZWdhdGlvbi5maWVsZFwiXHJcbiAgICAgICAgICAgIFtwcmVmaXhdPVwiJ3NlYXJjaCdcIlxyXG4gICAgICAgICAgICBbZGVwYXJ0bWVudF09XCJcclxuICAgICAgICAgICAgICBhZ2dyZWdhdGlvbi5maWVsZCA9PT0gJ2NvcnI6dG8nIHx8XHJcbiAgICAgICAgICAgICAgYWdncmVnYXRpb24uZmllbGQgPT09ICdjb3JyOmZyb20nXHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgIFtjb21wb25lbnRUeXBlXT1cImFnZ3JlZ2F0aW9uLmNvbXBvbmVudFR5cGUgPyBhZ2dyZWdhdGlvbi5jb21wb25lbnRUeXBlIDogJ2RlZnVsdCdcIlxyXG4gICAgICAgICAgICBbY3VzdG9tUGFnZVByb3ZpZGVyXT1cImFnZ3JlZ2F0aW9uLmN1c3RvbVBhZ2VQcm92aWRlciA/IGFnZ3JlZ2F0aW9uLmN1c3RvbVBhZ2VQcm92aWRlciA6ICcnXCJcclxuICAgICAgICAgICAgKG9uRmlsdGVyU2VsZWN0ZWQpPVwiRmlsdGVyU2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICA+PC9jdHMtZHluYW1pYy1maWx0ZXI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiY29sLXhsLTMgc2VhcmNoLXNpZGVNZW51IGQtbm9uZSBkLXhsLWJsb2NrXCI+XHJcbiAgICA8Zm9ybVxyXG4gICAgICBbZm9ybUdyb3VwXT1cInNlYXJjaEZvcm1cIlxyXG4gICAgICBjbGFzcz1cInNlYXJjaC1mb3JtXCJcclxuICAgICAgKG5nU3VibWl0KT1cInN1Ym1pdEZvcm0oKVwiXHJcbiAgICA+XHJcbiAgICAgIDxpbnB1dFxyXG4gICAgICAgIGNsYXNzPVwic2VhcmNoLWlucHV0XCJcclxuICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidGV4dFwiXHJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidzZWFyY2guc2VhcmNoJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgIC8+XHJcbiAgICAgIDxkaXYgKGNsaWNrKT1cInN1Ym1pdEZvcm0oKVwiIGNsYXNzPVwic2VhcmNoLWljb24gYmkgYmktc2VhcmNoXCI+PC9kaXY+XHJcbiAgICA8L2Zvcm0+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWdncmVnYXRpb25zOyBlbHNlIHByb2dyZXNzU3Bpbm5lclwiPlxyXG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBhZ2dyZWdhdGlvbiBvZiBhZ2dyZWdhdGlvbnNcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWdncmVnYXRpb24uYnVja2V0cy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICA8Y3RzLWR5bmFtaWMtZmlsdGVyXHJcbiAgICAgICAgICAgIFtlbnRpdHlUeXBlXT1cImVudGl0eVR5cGVcIlxyXG4gICAgICAgICAgICBbZmlsdGVyc109XCJhZ2dyZWdhdGlvbi5idWNrZXRzXCJcclxuICAgICAgICAgICAgW2lkXT1cImFnZ3JlZ2F0aW9uLmlkXCJcclxuICAgICAgICAgICAgW3NlbGVjdGlvbnNdPVwiYWdncmVnYXRpb24uc2VsZWN0aW9uXCJcclxuICAgICAgICAgICAgW3RpdGxlXT1cImFnZ3JlZ2F0aW9uLmZpZWxkXCJcclxuICAgICAgICAgICAgW3ByZWZpeF09XCInc2VhcmNoJ1wiXHJcbiAgICAgICAgICAgIFtkZXBhcnRtZW50XT1cIlxyXG4gICAgICAgICAgICAgIGFnZ3JlZ2F0aW9uLmZpZWxkID09PSAnY29ycjp0bycgfHxcclxuICAgICAgICAgICAgICBhZ2dyZWdhdGlvbi5maWVsZCA9PT0gJ2NvcnI6ZnJvbSdcclxuICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgW2NvbXBvbmVudFR5cGVdPVwiYWdncmVnYXRpb24uY29tcG9uZW50VHlwZSA/IGFnZ3JlZ2F0aW9uLmNvbXBvbmVudFR5cGUgOiAnZGVmdWx0J1wiXHJcbiAgICAgICAgICAgIFtjdXN0b21QYWdlUHJvdmlkZXJdPVwiYWdncmVnYXRpb24uY3VzdG9tUGFnZVByb3ZpZGVyID8gYWdncmVnYXRpb24uY3VzdG9tUGFnZVByb3ZpZGVyIDogJydcIlxyXG4gICAgICAgICAgICAob25GaWx0ZXJTZWxlY3RlZCk9XCJGaWx0ZXJTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgID48L2N0cy1keW5hbWljLWZpbHRlcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wteGwtOVwiPlxyXG4gICAgPGFwcC1jYXJkPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGl0bGVcIj5cclxuICAgICAgICA8aDM+XHJcbiAgICAgICAgICB7eyBcInNlYXJjaC5oZWFkZXJcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICAgIDwvaDM+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYm9keVwiPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJhZ2dyZWdhdGlvbnNcIiBjbGFzcz1cInRhYmxlLXRvb2xiYXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyZXN1bHQtY291bnRcIj5cclxuICAgICAgICAgICAgPHNwYW4+XHJcbiAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgIFwic2VhcmNoLlwiICsgXCJyZXN1bHRzTnVtYmVyXCJcclxuICAgICAgICAgICAgICAgICAgfCB0cmFuc2xhdGU6IHsgdmFsdWU6IHRvdGFsUmVjb3JkcyA/IHRvdGFsUmVjb3JkcyA6IDAgfVxyXG4gICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPCEtLSA8Zm9ybVxyXG4gICAgICAgICAgW2Zvcm1Hcm91cF09XCJzZWFyY2hGb3JtXCJcclxuICAgICAgICAgIGNsYXNzPVwic2VhcmNoLWZvcm1cIlxyXG4gICAgICAgICAgKG5nU3VibWl0KT1cInN1Ym1pdEZvcm0oKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoLWlucHV0XCJcclxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidzZWFyY2guc2VhcmNoJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgICAgPGRpdiAoY2xpY2spPVwic3VibWl0Rm9ybSgpXCIgY2xhc3M9XCJzZWFyY2gtaWNvbiBiaSBiaS1zZWFyY2hcIj48L2Rpdj5cclxuICAgICAgICA8L2Zvcm0+IC0tPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxjdHMtZHluYW1pYy10YWJsZVxyXG4gICAgICAgICAgW3BhZ2VTaXplXT1cInBhZ2VTaXplXCJcclxuICAgICAgICAgIFtjb2x1bW5zXT1cImNvbHVtbnNcIlxyXG4gICAgICAgICAgW3Jlc3BvbnNpdmVDb2x1bW5zXT1cInJlc3BvbnNpdmVDb2x1bW5zXCJcclxuICAgICAgICAgIFtwYWdlUHJvdmlkZXJdPVwicGFnZVByb3ZpZGVyXCJcclxuICAgICAgICAgIFtxdWlja0ZpbHRlcl09XCJmaWx0ZXJcIlxyXG4gICAgICAgICAgW2VudGl0eVR5cGVdPVwiZW50aXR5VHlwZVwiXHJcbiAgICAgICAgICBbZmllbGRzXT1cImZpZWxkc1wiXHJcbiAgICAgICAgICBbcXVlcnlQYXJhbV09XCJxdWVyeVBhcmFtc1wiXHJcbiAgICAgICAgICBbaGVhZGVyc109XCJoZWFkZXJzXCJcclxuICAgICAgICAgIFtwcmVmaXhdPVwicHJlZml4XCJcclxuICAgICAgICAgIFtzb3J0aW5nQnldPVwic29ydGluZ0J5XCJcclxuICAgICAgICAgIChvblJvd1NlbGVjdGVkKT1cIm9uUm93U2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAob25HZXR0aW5nRGF0YSk9XCJnZXRUYWJsZURhdGEoJGV2ZW50KVwiXHJcbiAgICAgICAgPjwvY3RzLWR5bmFtaWMtdGFibGU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9hcHAtY2FyZD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNwcm9ncmVzc1NwaW5uZXI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3Mtc3Bpbm5lclwiPlxyXG4gICAgICA8bWF0LXNwaW5uZXIgY29sb3I9XCJ3YXJuXCIgW2RpYW1ldGVyXT1cIjI1XCI+PC9tYXQtc3Bpbm5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbiAgPG5nLXRlbXBsYXRlICNub0FnZ3JlZ2F0aW9ucz5cclxuICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzcy1zcGlubmVyXCI+XHJcbiAgICAgIHt7IFwic2VhcmNoLm5vQWdncmVnYXRpb25zXCIgfCB0cmFuc2xhdGUgfX1cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -93,7 +93,7 @@ export class DynamicTableComponent {
|
|
|
93
93
|
}
|
|
94
94
|
getData() {
|
|
95
95
|
this.loading = true;
|
|
96
|
-
let params = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, this.filterParams), this.queryParam), this.sortingBy), this.quickFilter), { currentPageIndex: this.pageNum - 1, pageSize: this.pageSize, offset: 0
|
|
96
|
+
let params = Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({ dublincore_created_agg: this.range }, this.filterParams), this.queryParam), this.sortingBy), this.quickFilter), { currentPageIndex: this.pageNum - 1, pageSize: this.pageSize, offset: 0 });
|
|
97
97
|
// don't refresh all table in case of sorting only
|
|
98
98
|
if (!this.sorting) { // used to not refreshing all table in case of sorting since table lose sorting state when refresh all table
|
|
99
99
|
this.rows = []; // used to refresh table to feel changes in actions when perform action and need to refresh actions
|
|
@@ -201,4 +201,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImpor
|
|
|
201
201
|
}], range: [{
|
|
202
202
|
type: Input
|
|
203
203
|
}] } });
|
|
204
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS9keW5hbWljLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy10YWJsZS9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBRVosS0FBSyxFQUlMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsVUFBVSxFQUFVLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7O0FBSXpEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCRztBQU9ILE1BQU0sT0FBTyxxQkFBcUI7SUE2Q2hDLFlBQ1UsT0FBdUIsRUFDdkIsT0FBdUIsRUFDdkIsbUJBQXdDO1FBRnhDLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUEvQ2xELCtDQUErQztRQUNyQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDN0MsbUVBQW1FO1FBQ3pELGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMzQyxnRkFBZ0Y7UUFDdEUsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBTzdDLDBCQUEwQjtRQUNqQixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBU3JCLHFCQUFxQjtRQUNaLGNB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TUFBTTtnQkFFRyxXQUFXO3NCQUFwQixNQUFNO2dCQUVHLGFBQWE7c0JBQXRCLE1BQU07Z0JBRUUsT0FBTztzQkFBZixLQUFLO2dCQUVHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFSyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUMsU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVJLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZyb20sIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ2FsbEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9Db3JlL3NlcnZpY2VzL2NhbGxBcGkvY2FsbC1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vQ29yZS9hZGFwdGVycy9hZGFwdGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEeW5hbWljVGFibGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZHluYW1pYy10YWJsZS5zZXJ2aWNlJztcclxuLyoqXHJcbiAqIHRoaXMgY29tcG9uZW50IGlzIGFuIGFkZGl0aW9uYWwgbGF5ZXIgdGhhdCB1c2VzIFtUYWJsZSBDb21wb25lbnRde0BsaW5rIFRhYmxlQ29tcG9uZW50fSBpbnRlcm5hbGx5LFxyXG4gKiB5b3UgY2FuIHVzZSB0aGlzIGNvbXBvbmVudCB0byBjb25maWd1cmUgYSBwYWdlIHByb3ZpZGVyIGxpc3Rpbmcgb3V0IG9mIHRoZSBib3ggZWFzaWx5LFxyXG4gKiBhbmQgaXQgd2lsbCBoYW5kbGUgYWxsIG9mIHRoZSBiYXNpYyBmZWF0dXJlcyBzdWNoIGFzIGdldHRpbmcgZGF0YSBmcm9tIEFQSSwgTGlzdGluZywgUGFnaW5hdGlvbiwgc29ydGluZyBhbmQgZmlsdGVyaW5nXHJcbiAqICFbU2NyZWVuc2hvdC0xXSguLi9zY3JlZW5zaG90cy9keW5hbWljVGFibGUucG5nKVxyXG4gKiBAdGl0bGVcclxuICogRHluYW1pYyBUYWJsZVxyXG4gKiBAZXhhbXBsZVxyXG4gKlxyXG4gKiA8Y3RzLWR5bmFtaWMtdGFibGVcclxuICogICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXHJcbiAqICAgIFtyZXNwb25zaXZlQ29sdW1uc109XCJyZXNwb25zaXZlQ29sdW1uc1wiXHJcbiAqICAgIFtmdWxsV2lkdGhdPVwiZnVsbFdpZHRoXCJcclxuICogICAgW3BhZ2VTaXplXT1cIlBhZ2VTaXplXCJcclxuICogICAgW3BhZ2VQcm92aWRlcl09XCJwYWdlUHJvdmlkZXJcIlxyXG4gKiAgICBbcXVpY2tGaWx0ZXJdPVwiZmlsdGVyXCJcclxuICogICAgW3NvcnRpbmdCeV09XCJzb3J0aW5nQnlcIlxyXG4gKiAgICBbZW50aXR5VHlwZV09XCInYWxsJ1wiXHJcbiAqICAgIFtmaWVsZHNdPVwiZmllbGRzXCJcclxuICogICAgW3ByZWZpeF09XCJwcmVmaXhcIlxyXG4gKiAgICBbcm93Q3Vyc29yXT1cInRydWVcIlxyXG4gKiAgICBbcXVlcnlQYXJhbV09XCJxdWVyeVBhcmFtXCJcclxuICogICAgW2hlYWRlcnNdPVwiaGVhZGVyc1wiXHJcbiAqICAgIChvblJvd1NlbGVjdGVkKT1cIm9wZW5WaWV3ZXIoJGV2ZW50KVwiXHJcbiAqICAgIChhY3Rpb25PblJvdyk9XCJwZXJmb3JtQWN0aW9uKCRldmVudClcIj5cclxuICogPC9jdHMtZHluYW1pYy10YWJsZT5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY3RzLWR5bmFtaWMtdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgRHluYW1pY1RhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIC8qKiBldmVudCB0byBlbWl0IHdoZW4gc2VsZWN0aW5nIHNpbmdsZSByb3cgICovXHJcbiAgQE91dHB1dCgpIG9uUm93U2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgLyoqIGV2ZW50IHRvIGVtaXQgd2hlbiBwZXJmb3JtIGFjdGlvbiBvbiByb3cgKGRlbHRlLCBlZGl0LCAuLi4gKSAqL1xyXG4gIEBPdXRwdXQoKSBhY3Rpb25PblJvdyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAvKiogZXZlbnQgdG8gZW1pdCB0byB0aGUgaGlnaGVyIGxldmVsICB3aGVuIGdldHRpbmcgZGF0YSBmcm9tIGFwaSBpcyBmaW5pc2hlZCAqL1xyXG4gIEBPdXRwdXQoKSBvbkdldHRpbmdEYXRhID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIC8qKiBBcnJheSBvZiBjb2x1bW5zICovXHJcbiAgQElucHV0KCkgY29sdW1ucztcclxuICAvKiogQXJyYXkgb2YgY29sdW1ucyBvbiBzbWFsbGVyIHNjcmVlbnMgKi9cclxuICBASW5wdXQoKSByZXNwb25zaXZlQ29sdW1ucz87XHJcbiAgLyoqIERlZmluZXMgdGhlIHBhZ2UgaW4gd2hpY2ggdGFibGUgaXMgYmVpbmcgdXNlZCAqL1xyXG4gIEBJbnB1dCgpIGVudGl0eVR5cGU6IHN0cmluZztcclxuICAvKiogVHJhbnNsYXRpb25zIHByZWZpeCAqL1xyXG4gIEBJbnB1dCgpIHByZWZpeCA9ICcnO1xyXG4gIC8qKiBIZWFkZXJzIHRvIGJlIHNlbnQgd2l0aCBBUEkgUmVxdWVzdCAqL1xyXG4gIEBJbnB1dCgpIGhlYWRlcnM7XHJcbiAgLyoqIEZpZWxkcyBrZXltYXAgdG8gYmUgbWFwcGVkIGluIHRoZSBhZGFwdGVyICovXHJcbiAgQElucHV0KCkgZmllbGRzO1xyXG4gIC8qKiBQYWdlIFByb3ZpZGVyIG5hbWUgdGhhdCB3aWxsIGJlIHVzZWQgdG8gcmV0cmlldmUgZGF0YSAqL1xyXG4gIEBJbnB1dCgpIHBhZ2VQcm92aWRlcjtcclxuICAvKiogQ29udHJvbHMgbnVtYmVyIG9mIGl0ZW1zIHBlciBwYWdlIGluIHRhYmxlICovXHJcbiAgQElucHV0KCkgcGFnZVNpemU7XHJcbiAgLyoqIFNvcnRpbmcgY29sdW1uICovXHJcbiAgQElucHV0KCkgc29ydGluZ0J5Pz0ge307XHJcbiAgQElucHV0KCkgcXVlcnlQYXJhbT89IHt9O1xyXG4gIEBJbnB1dCgpIHF1aWNrRmlsdGVyPztcclxuICAgIC8qKiBDb250cm9scyBpZiBpdCByZXBvcnQgcGFnZSAqL1xyXG4gICAgQElucHV0KCkgcmVwb3J0O1xyXG4gIC8qKiB0byBtYWtlIGN1cnNvciB3aGVuIGhvdmVyIG9uIHJvdyBvciBub3QgKi9cclxuICBASW5wdXQoKSByb3dDdXJzb3I/O1xyXG4gIEBJbnB1dCgpIGZ1bGxXaWR0aD89ICdhdXRvJztcclxuICAgLyoqICdsaXN0JyBmb3Igbm9yYW1sIHRhYmxlICdjYXJkJyBmb3IgY2FyZHMgbW9kZSBsaWtlIGluIG1lbW9zICovXHJcbiAgIEBJbnB1dCgpIHRhYmxlTW9kZSA9ICdsaXN0JztcclxuICAgLyoqIGFjdGlvbiB0byBiZSB1c2VkIGluIGNhc2Ugb2YgY2FyZCBtb2RlICovXHJcbiAgIEBJbnB1dCgpIHRhYmxlQWN0aW9ucztcclxuICAgQElucHV0KCkgZGVmdWx0U29ydCA9IFt7IHByb3A6ICdwcm9wZXJ0aWVzLmNyZWF0ZWRBdCcgLCBkaXI6ICdkZXNjJyB9XTtcclxuICAgQElucHV0KCkgcmFuZ2U7XHJcbiAgZmlsdGVyUGFyYW1zID0ge307XHJcbiAgcGFnZU51bSA9IDE7XHJcbiAgcm93cyA9IFtdO1xyXG4gIHRvdGFsUmVjb3JkcyA9IDA7XHJcbiAgbXlEYXRhU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgbG9hZGluZztcclxuICBzb3J0aW5nID0gZmFsc2U7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGFkYXB0ZXI6IEFkYXB0ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjYWxsQXBpOiBDYWxsQXBpU2VydmljZSxcclxuICAgIHByaXZhdGUgZHluYW1pY1RhYmxlU2VydmljZTogRHluYW1pY1RhYmxlU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5teURhdGFTdWJzY3JpcHRpb24gPSB0aGlzLmR5bmFtaWNUYWJsZVNlcnZpY2UucmVmcmVzaERhdGEuc3Vic2NyaWJlKGZpbHRlckRhdGEgPT4ge1xyXG4gICAgICBpZiAoZmlsdGVyRGF0YSkge1xyXG4gICAgICAgIHRoaXMuZmlsdGVyUGFyYW1zID0geyAuLi5maWx0ZXJEYXRhIH07XHJcbiAgICAgICAgLy8gcmVzZXQgcGFnZSBudW1iZXIgd2hlbiBzdGFydCBuZXcgZmlsdGVyaW5nXHJcbiAgICAgICAgdGhpcy5wYWdlTnVtID0gMTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmdldERhdGEoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMubXlEYXRhU3Vic2NyaXB0aW9uID8gdGhpcy5teURhdGFTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSA6ICcnO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoc2ltcGxlQ2hhbmdlOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBjb25zdCBpc0ZpcnN0Q2hhbmdlID0gT2JqZWN0LnZhbHVlcyhzaW1wbGVDaGFuZ2UpLnNvbWUoKGMpID0+XHJcbiAgICAgIGMuaXNGaXJzdENoYW5nZSgpXHJcbiAgICApO1xyXG4gICAgaWYgKGlzRmlyc3RDaGFuZ2UpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKFxyXG4gICAgICAoc2ltcGxlQ2hhbmdlLnF1ZXJ5UGFyYW0gJiZcclxuICAgICAgICBzaW1wbGVDaGFuZ2UucXVlcnlQYXJhbS5wcmV2aW91c1ZhbHVlICE9PVxyXG4gICAgICAgIHNpbXBsZUNoYW5nZS5xdWVyeVBhcmFtLmN1cnJlbnRWYWx1ZSkgfHxcclxuICAgICAgKHNpbXBsZUNoYW5nZS5xdWlja0ZpbHRlciAmJlxyXG4gICAgICAgIHNpbXBsZUNoYW5nZS5xdWlja0ZpbHRlci5wcmV2aW91c1ZhbHVlICE9PVxyXG4gICAgICAgIHNpbXBsZUNoYW5nZS5xdWlja0ZpbHRlci5jdXJyZW50VmFsdWUpXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5wYWdlTnVtID0gMTsgLy8gcmVzZXQgcGFnZSBudW1iZXIgYmVmb3IgcmVjYWxsaW5nIGFwaSB3aXRoIGZpbHRlcnNcclxuICAgICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXREYXRhKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIGxldCBwYXJhbXMgPSB7XHJcbiAgICAgIC4uLnRoaXMuZmlsdGVyUGFyYW1zLCAvLyB1c2VkIHRvIGdldCBmaWx0ZXIgZGF0YSBhbmQgc2V0IGl0IGluIG91ciBwYXJhbXNcclxuICAgICAgLi4udGhpcy5xdWVyeVBhcmFtLCAvLyB1c2VkIHRvIGdldCBwYXJhbXMgZnJvbSBvdXIgY29uZmlnXHJcbiAgICAgIC4uLnRoaXMuc29ydGluZ0J5LFxyXG4gICAgICAuLi50aGlzLnF1aWNrRmlsdGVyLFxyXG4gICAgICBjdXJyZW50UGFnZUluZGV4OiB0aGlzLnBhZ2VOdW0gLSAxLFxyXG4gICAgICBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSxcclxuICAgICAgb2Zmc2V0OiAwLFxyXG4gICAgICBkdWJsaW5jb3JlX2NyZWF0ZWRfYWdnOiB0aGlzLnJhbmdlXHJcbiAgICB9O1xyXG5cclxuICAgIC8vIGRvbid0IHJlZnJlc2ggYWxsIHRhYmxlIGluIGNhc2Ugb2Ygc29ydGluZyBvbmx5XHJcbiAgICBpZiAoIXRoaXMuc29ydGluZykgeyAvLyB1c2VkIHRvIG5vdCByZWZyZXNoaW5nIGFsbCB0YWJsZSBpbiBjYXNlIG9mIHNvcnRpbmcgc2luY2UgdGFibGUgbG9zZSBzb3J0aW5nIHN0YXRlIHdoZW4gcmVmcmVzaCBhbGwgdGFibGVcclxuICAgICAgdGhpcy5yb3dzID0gW107IC8vIHVzZWQgdG8gcmVmcmVzaCB0YWJsZSB0byBmZWVsIGNoYW5nZXMgaW4gYWN0aW9ucyB3aGVuIHBlcmZvcm0gYWN0aW9uIGFuZCBuZWVkIHRvIHJlZnJlc2ggYWN0aW9uc1xyXG4gICAgfVxyXG4gICAgdGhpcy5zb3J0aW5nID0gZmFsc2U7IC8vIHJlc2V0IHNvcnRpbmcgc3RhdHVzIHRvIGZhbHNlIGFuZCBmb3IgbmV4dCBzb3J0aW5nIGZ1bmMgc29ydGluZyBzZXQgaXQgdG8gdHJ1ZSBhZ2FpblxyXG4gICAgdGhpcy5jYWxsQXBpXHJcbiAgICAgIC5xdWVyeShcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwYWdlUHJvdmlkZXI6IHRoaXMucGFnZVByb3ZpZGVyLFxyXG4gICAgICAgICAgLi4ucGFyYW1zLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaGVhZGVyczogdGhpcy5oZWFkZXJzLFxyXG4gICAgICAgIH1cclxuICAgICAgKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgZGF0YS5lbnRyaWVzLm1hcCgoaXRlbSkgPT4gdGhpcy5hZGFwdGVyLmFkYXB0SW4oaXRlbSwgdGhpcy5maWVsZHMpKTtcclxuICAgICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICAgIH0pXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgcmVzLmVudHJpZXMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coXCJlbGVtZW50XCIsIGVsZW1lbnQpO1xyXG4gICAgICAgICAgaWYgKGVsZW1lbnQucHJvcGVydGllcyAmJiBlbGVtZW50LnByb3BlcnRpZXM/LmNyZWF0b3IgJiYgZWxlbWVudC5wcm9wZXJ0aWVzLmNyZWF0b3I/LnByb3BlcnRpZXMpIHtcclxuICAgICAgICAgICAgZWxlbWVudC5wcm9wZXJ0aWVzLmNyZWF0b3IgPVxyXG4gICAgICAgICAgICAgIGVsZW1lbnQucHJvcGVydGllcy5jcmVhdG9yPy5wcm9wZXJ0aWVzPy5maXJzdE5hbWUgK1xyXG4gICAgICAgICAgICAgICcgJyArXHJcbiAgICAgICAgICAgICAgZWxlbWVudC5wcm9wZXJ0aWVzLmNyZWF0b3I/LnByb3BlcnRpZXM/Lmxhc3ROYW1lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGVsZW1lbnQucHJvcGVydGllcyAmJiBlbGVtZW50LnByb3BlcnRpZXM/LmFzc2lnbmVlKSB7XHJcbiAgICAgICAgICAgIGVsZW1lbnQucHJvcGVydGllcy5hc3NpZ25lZSA9IGVsZW1lbnQucHJvcGVydGllcz8uYXNzaWduZWUuZnVsbE5hbWVcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnRvdGFsUmVjb3JkcyA9IHJlcy5yZXN1bHRzQ291bnQ7XHJcbiAgICAgICAgdGhpcy5yb3dzID0gcmVzLmVudHJpZXM7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJkYXRhXCIsIHJlcy5lbnRyaWVzKVxyXG4gICAgICAgIHRoaXMub25HZXR0aW5nRGF0YS5lbWl0KHJlcyk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gZnVuY3Rpb24gdG8gYmUgZXhlY3V0ZWQgd2hlbiBjbGlja2luZyBvbiBzaW5nbGUgcm93XHJcbiAgcm93RGV0YWlscyhldmVudCkge1xyXG4gICAgIHRoaXMub25Sb3dTZWxlY3RlZC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIC8vZnVuY3Rpb24gdG8gaGFuZGxlIGFsbCBvcGVyYXRpb25zIG9uIHNpbmdsZSByb3cgKGRlbGV0ZSAsIGVkaXQgLCAuLi4pXHJcbiAgcGVyZm9ybUFjdGlvbihhY3Rpb24pIHtcclxuICAgIHRoaXMuYWN0aW9uT25Sb3cuZW1pdChhY3Rpb24pO1xyXG4gIH1cclxuXHJcbiAgLy8gaGFuZGxlIHNvcnRpbmcgZnVuY3Rpb25hbGl0eSBvZiB0aGUgdGFibGVcclxuICBvblNvcnQoc29ydE9iamVjdCkge1xyXG4gICAgdGhpcy5zb3J0aW5nQnkgPSBzb3J0T2JqZWN0O1xyXG4gICAgdGhpcy5zb3J0aW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuZ2V0RGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFBhZ2luYXRpb25DaGFuZ2UoZXZlbnQpIHtcclxuICAgIHRoaXMucGFnZU51bSA9IGV2ZW50O1xyXG4gICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ3cmFwcGluZ1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXBvc2l0aW9uXCI+XHJcbiAgICA8Y3RzLXRhYmxlXHJcbiAgICAgICpuZ0lmPVwicm93cy5sZW5ndGhcIlxyXG4gICAgICBbcm93c109XCJyb3dzXCJcclxuICAgICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXHJcbiAgICAgIFtyZXNwb25zaXZlQ29sdW1uc109XCJyZXNwb25zaXZlQ29sdW1uc1wiXHJcbiAgICAgIFtyb3dDdXJzb3JdPVwicm93Q3Vyc29yXCJcclxuICAgICAgW2Z1bGxXaWR0aF09XCJmdWxsV2lkdGhcIlxyXG4gICAgICBbZW50aXR5VHlwZV09XCJlbnRpdHlUeXBlXCJcclxuICAgICAgW3ByZWZpeF09XCJwcmVmaXhcIlxyXG4gICAgICBbdG90YWxSZWNvcmRzXT1cInRvdGFsUmVjb3Jkc1wiXHJcbiAgICAgIFt0YWJsZU1vZGVdPVwidGFibGVNb2RlXCJcclxuICAgICAgW3RhYmxlQWN0aW9uc109XCJ0YWJsZUFjdGlvbnNcIlxyXG4gICAgICBbZGVmdWx0U29ydF09XCJkZWZ1bHRTb3J0XCJcclxuICAgICAgKG9uUm93U2VsZWN0ZWQpPVwicm93RGV0YWlscygkZXZlbnQpXCJcclxuICAgICAgKGFjdGlvbk9uUm93KT1cInBlcmZvcm1BY3Rpb24oJGV2ZW50KVwiXHJcbiAgICAgIChvblNvcnRpbmcpPVwib25Tb3J0KCRldmVudClcIlxyXG4gICAgPjwvY3RzLXRhYmxlPlxyXG4gIDwvZGl2PlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nXCI+XHJcbiAgICA8Y3RzLXNwaW5uZXI+PC9jdHMtc3Bpbm5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBteS0zXCJcclxuICAgICpuZ0lmPVwicm93cy5sZW5ndGhcIlxyXG4gID5cclxuICAgIDxjdHMtcGFnaW5hdGlvblxyXG4gICAgICBbcGFnZV09XCJwYWdlTnVtXCJcclxuICAgICAgKGNoYW5nZSk9XCJQYWdpbmF0aW9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICBbc2l6ZV09XCJwYWdlU2l6ZVwiXHJcbiAgICAgIFtjb3VudF09XCJ0b3RhbFJlY29yZHNcIlxyXG4gICAgPjwvY3RzLXBhZ2luYXRpb24+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJlbXB0eS1zdGF0ZVwiICpuZ0lmPVwicm93cy5sZW5ndGggPT09IDBcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCI+e3sgJ25vRGF0YScgfCB0cmFuc2xhdGV9fTwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udXhlby1kZXZlbG9wbWVudC1mcmFtZXdvcmsvc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtdGFibGUvZHluYW1pYy10YWJsZS9keW5hbWljLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251eGVvLWRldmVsb3BtZW50LWZyYW1ld29yay9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy10YWJsZS9keW5hbWljLXRhYmxlL2R5bmFtaWMtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBRVosS0FBSyxFQUlMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsVUFBVSxFQUFVLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7O0FBSXpEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCRztBQU9ILE1BQU0sT0FBTyxxQkFBcUI7SUE2Q2hDLFlBQ1UsT0FBdUIsRUFDdkIsT0FBdUIsRUFDdkIsbUJBQXdDO1FBRnhDLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3ZCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUEvQ2xELCtDQUErQztRQUNyQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDN0MsbUVBQW1FO1FBQ3pELGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMzQyxnRkFBZ0Y7UUFDdEUsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBTzdDLDBCQUEwQjtRQUNqQixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBU3JCLHFCQUFxQjtRQUNaLGNB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TUFBTTtnQkFFRyxXQUFXO3NCQUFwQixNQUFNO2dCQUVHLGFBQWE7c0JBQXRCLE1BQU07Z0JBRUUsT0FBTztzQkFBZixLQUFLO2dCQUVHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFRyxVQUFVO3NCQUFsQixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFSyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUMsU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVJLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZyb20sIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgQ2FsbEFwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9Db3JlL3NlcnZpY2VzL2NhbGxBcGkvY2FsbC1hcGkuc2VydmljZSc7XHJcbmltcG9ydCB7IEFkYXB0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vQ29yZS9hZGFwdGVycy9hZGFwdGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEeW5hbWljVGFibGVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZHluYW1pYy10YWJsZS5zZXJ2aWNlJztcclxuLyoqXHJcbiAqIHRoaXMgY29tcG9uZW50IGlzIGFuIGFkZGl0aW9uYWwgbGF5ZXIgdGhhdCB1c2VzIFtUYWJsZSBDb21wb25lbnRde0BsaW5rIFRhYmxlQ29tcG9uZW50fSBpbnRlcm5hbGx5LFxyXG4gKiB5b3UgY2FuIHVzZSB0aGlzIGNvbXBvbmVudCB0byBjb25maWd1cmUgYSBwYWdlIHByb3ZpZGVyIGxpc3Rpbmcgb3V0IG9mIHRoZSBib3ggZWFzaWx5LFxyXG4gKiBhbmQgaXQgd2lsbCBoYW5kbGUgYWxsIG9mIHRoZSBiYXNpYyBmZWF0dXJlcyBzdWNoIGFzIGdldHRpbmcgZGF0YSBmcm9tIEFQSSwgTGlzdGluZywgUGFnaW5hdGlvbiwgc29ydGluZyBhbmQgZmlsdGVyaW5nXHJcbiAqICFbU2NyZWVuc2hvdC0xXSguLi9zY3JlZW5zaG90cy9keW5hbWljVGFibGUucG5nKVxyXG4gKiBAdGl0bGVcclxuICogRHluYW1pYyBUYWJsZVxyXG4gKiBAZXhhbXBsZVxyXG4gKlxyXG4gKiA8Y3RzLWR5bmFtaWMtdGFibGVcclxuICogICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXHJcbiAqICAgIFtyZXNwb25zaXZlQ29sdW1uc109XCJyZXNwb25zaXZlQ29sdW1uc1wiXHJcbiAqICAgIFtmdWxsV2lkdGhdPVwiZnVsbFdpZHRoXCJcclxuICogICAgW3BhZ2VTaXplXT1cIlBhZ2VTaXplXCJcclxuICogICAgW3BhZ2VQcm92aWRlcl09XCJwYWdlUHJvdmlkZXJcIlxyXG4gKiAgICBbcXVpY2tGaWx0ZXJdPVwiZmlsdGVyXCJcclxuICogICAgW3NvcnRpbmdCeV09XCJzb3J0aW5nQnlcIlxyXG4gKiAgICBbZW50aXR5VHlwZV09XCInYWxsJ1wiXHJcbiAqICAgIFtmaWVsZHNdPVwiZmllbGRzXCJcclxuICogICAgW3ByZWZpeF09XCJwcmVmaXhcIlxyXG4gKiAgICBbcm93Q3Vyc29yXT1cInRydWVcIlxyXG4gKiAgICBbcXVlcnlQYXJhbV09XCJxdWVyeVBhcmFtXCJcclxuICogICAgW2hlYWRlcnNdPVwiaGVhZGVyc1wiXHJcbiAqICAgIChvblJvd1NlbGVjdGVkKT1cIm9wZW5WaWV3ZXIoJGV2ZW50KVwiXHJcbiAqICAgIChhY3Rpb25PblJvdyk9XCJwZXJmb3JtQWN0aW9uKCRldmVudClcIj5cclxuICogPC9jdHMtZHluYW1pYy10YWJsZT5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY3RzLWR5bmFtaWMtdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLXRhYmxlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLXRhYmxlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgRHluYW1pY1RhYmxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIC8qKiBldmVudCB0byBlbWl0IHdoZW4gc2VsZWN0aW5nIHNpbmdsZSByb3cgICovXHJcbiAgQE91dHB1dCgpIG9uUm93U2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgLyoqIGV2ZW50IHRvIGVtaXQgd2hlbiBwZXJmb3JtIGFjdGlvbiBvbiByb3cgKGRlbHRlLCBlZGl0LCAuLi4gKSAqL1xyXG4gIEBPdXRwdXQoKSBhY3Rpb25PblJvdyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAvKiogZXZlbnQgdG8gZW1pdCB0byB0aGUgaGlnaGVyIGxldmVsICB3aGVuIGdldHRpbmcgZGF0YSBmcm9tIGFwaSBpcyBmaW5pc2hlZCAqL1xyXG4gIEBPdXRwdXQoKSBvbkdldHRpbmdEYXRhID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIC8qKiBBcnJheSBvZiBjb2x1bW5zICovXHJcbiAgQElucHV0KCkgY29sdW1ucztcclxuICAvKiogQXJyYXkgb2YgY29sdW1ucyBvbiBzbWFsbGVyIHNjcmVlbnMgKi9cclxuICBASW5wdXQoKSByZXNwb25zaXZlQ29sdW1ucz87XHJcbiAgLyoqIERlZmluZXMgdGhlIHBhZ2UgaW4gd2hpY2ggdGFibGUgaXMgYmVpbmcgdXNlZCAqL1xyXG4gIEBJbnB1dCgpIGVudGl0eVR5cGU6IHN0cmluZztcclxuICAvKiogVHJhbnNsYXRpb25zIHByZWZpeCAqL1xyXG4gIEBJbnB1dCgpIHByZWZpeCA9ICcnO1xyXG4gIC8qKiBIZWFkZXJzIHRvIGJlIHNlbnQgd2l0aCBBUEkgUmVxdWVzdCAqL1xyXG4gIEBJbnB1dCgpIGhlYWRlcnM7XHJcbiAgLyoqIEZpZWxkcyBrZXltYXAgdG8gYmUgbWFwcGVkIGluIHRoZSBhZGFwdGVyICovXHJcbiAgQElucHV0KCkgZmllbGRzO1xyXG4gIC8qKiBQYWdlIFByb3ZpZGVyIG5hbWUgdGhhdCB3aWxsIGJlIHVzZWQgdG8gcmV0cmlldmUgZGF0YSAqL1xyXG4gIEBJbnB1dCgpIHBhZ2VQcm92aWRlcjtcclxuICAvKiogQ29udHJvbHMgbnVtYmVyIG9mIGl0ZW1zIHBlciBwYWdlIGluIHRhYmxlICovXHJcbiAgQElucHV0KCkgcGFnZVNpemU7XHJcbiAgLyoqIFNvcnRpbmcgY29sdW1uICovXHJcbiAgQElucHV0KCkgc29ydGluZ0J5Pz0ge307XHJcbiAgQElucHV0KCkgcXVlcnlQYXJhbT89IHt9O1xyXG4gIEBJbnB1dCgpIHF1aWNrRmlsdGVyPztcclxuICAgIC8qKiBDb250cm9scyBpZiBpdCByZXBvcnQgcGFnZSAqL1xyXG4gICAgQElucHV0KCkgcmVwb3J0O1xyXG4gIC8qKiB0byBtYWtlIGN1cnNvciB3aGVuIGhvdmVyIG9uIHJvdyBvciBub3QgKi9cclxuICBASW5wdXQoKSByb3dDdXJzb3I/O1xyXG4gIEBJbnB1dCgpIGZ1bGxXaWR0aD89ICdhdXRvJztcclxuICAgLyoqICdsaXN0JyBmb3Igbm9yYW1sIHRhYmxlICdjYXJkJyBmb3IgY2FyZHMgbW9kZSBsaWtlIGluIG1lbW9zICovXHJcbiAgIEBJbnB1dCgpIHRhYmxlTW9kZSA9ICdsaXN0JztcclxuICAgLyoqIGFjdGlvbiB0byBiZSB1c2VkIGluIGNhc2Ugb2YgY2FyZCBtb2RlICovXHJcbiAgIEBJbnB1dCgpIHRhYmxlQWN0aW9ucztcclxuICAgQElucHV0KCkgZGVmdWx0U29ydCA9IFt7IHByb3A6ICdwcm9wZXJ0aWVzLmNyZWF0ZWRBdCcgLCBkaXI6ICdkZXNjJyB9XTtcclxuICAgQElucHV0KCkgcmFuZ2U7XHJcbiAgZmlsdGVyUGFyYW1zID0ge307XHJcbiAgcGFnZU51bSA9IDE7XHJcbiAgcm93cyA9IFtdO1xyXG4gIHRvdGFsUmVjb3JkcyA9IDA7XHJcbiAgbXlEYXRhU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgbG9hZGluZztcclxuICBzb3J0aW5nID0gZmFsc2U7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGFkYXB0ZXI6IEFkYXB0ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjYWxsQXBpOiBDYWxsQXBpU2VydmljZSxcclxuICAgIHByaXZhdGUgZHluYW1pY1RhYmxlU2VydmljZTogRHluYW1pY1RhYmxlU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5teURhdGFTdWJzY3JpcHRpb24gPSB0aGlzLmR5bmFtaWNUYWJsZVNlcnZpY2UucmVmcmVzaERhdGEuc3Vic2NyaWJlKGZpbHRlckRhdGEgPT4ge1xyXG4gICAgICBpZiAoZmlsdGVyRGF0YSkge1xyXG4gICAgICAgIHRoaXMuZmlsdGVyUGFyYW1zID0geyAuLi5maWx0ZXJEYXRhIH07XHJcbiAgICAgICAgLy8gcmVzZXQgcGFnZSBudW1iZXIgd2hlbiBzdGFydCBuZXcgZmlsdGVyaW5nXHJcbiAgICAgICAgdGhpcy5wYWdlTnVtID0gMTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmdldERhdGEoKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMubXlEYXRhU3Vic2NyaXB0aW9uID8gdGhpcy5teURhdGFTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSA6ICcnO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoc2ltcGxlQ2hhbmdlOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBjb25zdCBpc0ZpcnN0Q2hhbmdlID0gT2JqZWN0LnZhbHVlcyhzaW1wbGVDaGFuZ2UpLnNvbWUoKGMpID0+XHJcbiAgICAgIGMuaXNGaXJzdENoYW5nZSgpXHJcbiAgICApO1xyXG4gICAgaWYgKGlzRmlyc3RDaGFuZ2UpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKFxyXG4gICAgICAoc2ltcGxlQ2hhbmdlLnF1ZXJ5UGFyYW0gJiZcclxuICAgICAgICBzaW1wbGVDaGFuZ2UucXVlcnlQYXJhbS5wcmV2aW91c1ZhbHVlICE9PVxyXG4gICAgICAgIHNpbXBsZUNoYW5nZS5xdWVyeVBhcmFtLmN1cnJlbnRWYWx1ZSkgfHxcclxuICAgICAgKHNpbXBsZUNoYW5nZS5xdWlja0ZpbHRlciAmJlxyXG4gICAgICAgIHNpbXBsZUNoYW5nZS5xdWlja0ZpbHRlci5wcmV2aW91c1ZhbHVlICE9PVxyXG4gICAgICAgIHNpbXBsZUNoYW5nZS5xdWlja0ZpbHRlci5jdXJyZW50VmFsdWUpXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5wYWdlTnVtID0gMTsgLy8gcmVzZXQgcGFnZSBudW1iZXIgYmVmb3IgcmVjYWxsaW5nIGFwaSB3aXRoIGZpbHRlcnNcclxuICAgICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXREYXRhKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIGxldCBwYXJhbXMgPSB7XHJcbiAgICAgIGR1YmxpbmNvcmVfY3JlYXRlZF9hZ2c6IHRoaXMucmFuZ2UsXHJcbiAgICAgIC4uLnRoaXMuZmlsdGVyUGFyYW1zLCAvLyB1c2VkIHRvIGdldCBmaWx0ZXIgZGF0YSBhbmQgc2V0IGl0IGluIG91ciBwYXJhbXNcclxuICAgICAgLi4udGhpcy5xdWVyeVBhcmFtLCAvLyB1c2VkIHRvIGdldCBwYXJhbXMgZnJvbSBvdXIgY29uZmlnXHJcbiAgICAgIC4uLnRoaXMuc29ydGluZ0J5LFxyXG4gICAgICAuLi50aGlzLnF1aWNrRmlsdGVyLFxyXG4gICAgICBjdXJyZW50UGFnZUluZGV4OiB0aGlzLnBhZ2VOdW0gLSAxLFxyXG4gICAgICBwYWdlU2l6ZTogdGhpcy5wYWdlU2l6ZSxcclxuICAgICAgb2Zmc2V0OiAwXHJcbiAgICB9O1xyXG5cclxuICAgIC8vIGRvbid0IHJlZnJlc2ggYWxsIHRhYmxlIGluIGNhc2Ugb2Ygc29ydGluZyBvbmx5XHJcbiAgICBpZiAoIXRoaXMuc29ydGluZykgeyAvLyB1c2VkIHRvIG5vdCByZWZyZXNoaW5nIGFsbCB0YWJsZSBpbiBjYXNlIG9mIHNvcnRpbmcgc2luY2UgdGFibGUgbG9zZSBzb3J0aW5nIHN0YXRlIHdoZW4gcmVmcmVzaCBhbGwgdGFibGVcclxuICAgICAgdGhpcy5yb3dzID0gW107IC8vIHVzZWQgdG8gcmVmcmVzaCB0YWJsZSB0byBmZWVsIGNoYW5nZXMgaW4gYWN0aW9ucyB3aGVuIHBlcmZvcm0gYWN0aW9uIGFuZCBuZWVkIHRvIHJlZnJlc2ggYWN0aW9uc1xyXG4gICAgfVxyXG4gICAgdGhpcy5zb3J0aW5nID0gZmFsc2U7IC8vIHJlc2V0IHNvcnRpbmcgc3RhdHVzIHRvIGZhbHNlIGFuZCBmb3IgbmV4dCBzb3J0aW5nIGZ1bmMgc29ydGluZyBzZXQgaXQgdG8gdHJ1ZSBhZ2FpblxyXG4gICAgdGhpcy5jYWxsQXBpXHJcbiAgICAgIC5xdWVyeShcclxuICAgICAgICB7XHJcbiAgICAgICAgICBwYWdlUHJvdmlkZXI6IHRoaXMucGFnZVByb3ZpZGVyLFxyXG4gICAgICAgICAgLi4ucGFyYW1zLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgaGVhZGVyczogdGhpcy5oZWFkZXJzLFxyXG4gICAgICAgIH1cclxuICAgICAgKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgZGF0YS5lbnRyaWVzLm1hcCgoaXRlbSkgPT4gdGhpcy5hZGFwdGVyLmFkYXB0SW4oaXRlbSwgdGhpcy5maWVsZHMpKTtcclxuICAgICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xyXG4gICAgICAgICAgdGhyb3cgZXJyO1xyXG4gICAgICAgIH0pXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgocmVzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgcmVzLmVudHJpZXMuZm9yRWFjaCgoZWxlbWVudCkgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coXCJlbGVtZW50XCIsIGVsZW1lbnQpO1xyXG4gICAgICAgICAgaWYgKGVsZW1lbnQucHJvcGVydGllcyAmJiBlbGVtZW50LnByb3BlcnRpZXM/LmNyZWF0b3IgJiYgZWxlbWVudC5wcm9wZXJ0aWVzLmNyZWF0b3I/LnByb3BlcnRpZXMpIHtcclxuICAgICAgICAgICAgZWxlbWVudC5wcm9wZXJ0aWVzLmNyZWF0b3IgPVxyXG4gICAgICAgICAgICAgIGVsZW1lbnQucHJvcGVydGllcy5jcmVhdG9yPy5wcm9wZXJ0aWVzPy5maXJzdE5hbWUgK1xyXG4gICAgICAgICAgICAgICcgJyArXHJcbiAgICAgICAgICAgICAgZWxlbWVudC5wcm9wZXJ0aWVzLmNyZWF0b3I/LnByb3BlcnRpZXM/Lmxhc3ROYW1lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGVsZW1lbnQucHJvcGVydGllcyAmJiBlbGVtZW50LnByb3BlcnRpZXM/LmFzc2lnbmVlKSB7XHJcbiAgICAgICAgICAgIGVsZW1lbnQucHJvcGVydGllcy5hc3NpZ25lZSA9IGVsZW1lbnQucHJvcGVydGllcz8uYXNzaWduZWUuZnVsbE5hbWVcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnRvdGFsUmVjb3JkcyA9IHJlcy5yZXN1bHRzQ291bnQ7XHJcbiAgICAgICAgdGhpcy5yb3dzID0gcmVzLmVudHJpZXM7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJkYXRhXCIsIHJlcy5lbnRyaWVzKVxyXG4gICAgICAgIHRoaXMub25HZXR0aW5nRGF0YS5lbWl0KHJlcyk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy8gZnVuY3Rpb24gdG8gYmUgZXhlY3V0ZWQgd2hlbiBjbGlja2luZyBvbiBzaW5nbGUgcm93XHJcbiAgcm93RGV0YWlscyhldmVudCkge1xyXG4gICAgIHRoaXMub25Sb3dTZWxlY3RlZC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIC8vZnVuY3Rpb24gdG8gaGFuZGxlIGFsbCBvcGVyYXRpb25zIG9uIHNpbmdsZSByb3cgKGRlbGV0ZSAsIGVkaXQgLCAuLi4pXHJcbiAgcGVyZm9ybUFjdGlvbihhY3Rpb24pIHtcclxuICAgIHRoaXMuYWN0aW9uT25Sb3cuZW1pdChhY3Rpb24pO1xyXG4gIH1cclxuXHJcbiAgLy8gaGFuZGxlIHNvcnRpbmcgZnVuY3Rpb25hbGl0eSBvZiB0aGUgdGFibGVcclxuICBvblNvcnQoc29ydE9iamVjdCkge1xyXG4gICAgdGhpcy5zb3J0aW5nQnkgPSBzb3J0T2JqZWN0O1xyXG4gICAgdGhpcy5zb3J0aW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuZ2V0RGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIFBhZ2luYXRpb25DaGFuZ2UoZXZlbnQpIHtcclxuICAgIHRoaXMucGFnZU51bSA9IGV2ZW50O1xyXG4gICAgdGhpcy5nZXREYXRhKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ3cmFwcGluZ1wiPlxyXG4gIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXBvc2l0aW9uXCI+XHJcbiAgICA8Y3RzLXRhYmxlXHJcbiAgICAgICpuZ0lmPVwicm93cy5sZW5ndGhcIlxyXG4gICAgICBbcm93c109XCJyb3dzXCJcclxuICAgICAgW2NvbHVtbnNdPVwiY29sdW1uc1wiXHJcbiAgICAgIFtyZXNwb25zaXZlQ29sdW1uc109XCJyZXNwb25zaXZlQ29sdW1uc1wiXHJcbiAgICAgIFtyb3dDdXJzb3JdPVwicm93Q3Vyc29yXCJcclxuICAgICAgW2Z1bGxXaWR0aF09XCJmdWxsV2lkdGhcIlxyXG4gICAgICBbZW50aXR5VHlwZV09XCJlbnRpdHlUeXBlXCJcclxuICAgICAgW3ByZWZpeF09XCJwcmVmaXhcIlxyXG4gICAgICBbdG90YWxSZWNvcmRzXT1cInRvdGFsUmVjb3Jkc1wiXHJcbiAgICAgIFt0YWJsZU1vZGVdPVwidGFibGVNb2RlXCJcclxuICAgICAgW3RhYmxlQWN0aW9uc109XCJ0YWJsZUFjdGlvbnNcIlxyXG4gICAgICBbZGVmdWx0U29ydF09XCJkZWZ1bHRTb3J0XCJcclxuICAgICAgKG9uUm93U2VsZWN0ZWQpPVwicm93RGV0YWlscygkZXZlbnQpXCJcclxuICAgICAgKGFjdGlvbk9uUm93KT1cInBlcmZvcm1BY3Rpb24oJGV2ZW50KVwiXHJcbiAgICAgIChvblNvcnRpbmcpPVwib25Tb3J0KCRldmVudClcIlxyXG4gICAgPjwvY3RzLXRhYmxlPlxyXG4gIDwvZGl2PlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nXCI+XHJcbiAgICA8Y3RzLXNwaW5uZXI+PC9jdHMtc3Bpbm5lcj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBteS0zXCJcclxuICAgICpuZ0lmPVwicm93cy5sZW5ndGhcIlxyXG4gID5cclxuICAgIDxjdHMtcGFnaW5hdGlvblxyXG4gICAgICBbcGFnZV09XCJwYWdlTnVtXCJcclxuICAgICAgKGNoYW5nZSk9XCJQYWdpbmF0aW9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICBbc2l6ZV09XCJwYWdlU2l6ZVwiXHJcbiAgICAgIFtjb3VudF09XCJ0b3RhbFJlY29yZHNcIlxyXG4gICAgPjwvY3RzLXBhZ2luYXRpb24+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJlbXB0eS1zdGF0ZVwiICpuZ0lmPVwicm93cy5sZW5ndGggPT09IDBcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0XCI+e3sgJ25vRGF0YScgfCB0cmFuc2xhdGV9fTwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|