ngx-edu-sharing-metaqs2 0.9.27 → 0.9.29
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/esm2022/lib/components/collection-issues/collection-issues.component.mjs +3 -3
- package/esm2022/lib/components/material-issues/material-issues.component.mjs +3 -3
- package/esm2022/lib/components/node-list/node-list.component.mjs +15 -8
- package/esm2022/lib/tree-search-counts/inline-worker.mjs +7 -8
- package/esm2022/lib/tree-search-counts/tree-search-counts.component.mjs +14 -6
- package/fesm2022/ngx-edu-sharing-metaqs2.mjs +35 -22
- package/fesm2022/ngx-edu-sharing-metaqs2.mjs.map +1 -1
- package/lib/components/node-list/node-list.component.d.ts +7 -3
- package/lib/tree-search-counts/tree-search-counts.component.d.ts +2 -1
- package/package.json +1 -1
|
@@ -14,10 +14,10 @@ export class CollectionIssuesComponent {
|
|
|
14
14
|
this.issues = await this.filterAPIService.getCollectionIssueFieldNames().toPromise();
|
|
15
15
|
}
|
|
16
16
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CollectionIssuesComponent, deps: [{ token: i1.FilterAPIService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CollectionIssuesComponent, selector: "metaqs2-collection-issues", ngImport: i0, template: "<metaqs2-node-list\n *ngFor=\"let mode of issues\"\n [
|
|
17
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CollectionIssuesComponent, selector: "metaqs2-collection-issues", ngImport: i0, template: "<metaqs2-node-list\n *ngFor=\"let mode of issues\"\n [collectionId]=\"collectionId\"\n [mode]=\"mode\"\n type=\"collection\"\n></metaqs2-node-list>\n", styles: [":host{padding:0 30px;display:flex;gap:30px;flex-wrap:wrap}:host>metaqs2-node-list{width:400px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.NodeListComponent, selector: "metaqs2-node-list", inputs: ["mode", "type", "collectionId"], outputs: ["countChanged"] }] }); }
|
|
18
18
|
}
|
|
19
19
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CollectionIssuesComponent, decorators: [{
|
|
20
20
|
type: Component,
|
|
21
|
-
args: [{ selector: 'metaqs2-collection-issues', template: "<metaqs2-node-list\n *ngFor=\"let mode of issues\"\n [
|
|
21
|
+
args: [{ selector: 'metaqs2-collection-issues', template: "<metaqs2-node-list\n *ngFor=\"let mode of issues\"\n [collectionId]=\"collectionId\"\n [mode]=\"mode\"\n type=\"collection\"\n></metaqs2-node-list>\n", styles: [":host{padding:0 30px;display:flex;gap:30px;flex-wrap:wrap}:host>metaqs2-node-list{width:400px}\n"] }]
|
|
22
22
|
}], ctorParameters: () => [{ type: i1.FilterAPIService }] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGVjdGlvbi1pc3N1ZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWV0YS13aWRnZXRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY29sbGVjdGlvbi1pc3N1ZXMvY29sbGVjdGlvbi1pc3N1ZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWV0YS13aWRnZXRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY29sbGVjdGlvbi1pc3N1ZXMvY29sbGVjdGlvbi1pc3N1ZXMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFRbEQsTUFBTSxPQUFPLHlCQUF5QjtJQUtwQyxZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUp0RCxXQUFNLEdBQWEsRUFBRSxDQUFDO1FBQ3RCLHVFQUF1RTtRQUN2RSxpQkFBWSxHQUFXLHNDQUFzQyxDQUFDO0lBRUwsQ0FBQztJQUUxRCxLQUFLLENBQUMsUUFBUTtRQUNaLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsNEJBQTRCLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN2RixDQUFDOytHQVRVLHlCQUF5QjttR0FBekIseUJBQXlCLGlFQ1J0QywySkFNQTs7NEZERWEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWx0ZXJBUElTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vamF2YS1hcGknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZXRhcXMyLWNvbGxlY3Rpb24taXNzdWVzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbGxlY3Rpb24taXNzdWVzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29sbGVjdGlvbi1pc3N1ZXMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29sbGVjdGlvbklzc3Vlc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGlzc3Vlczogc3RyaW5nW10gPSBbXTtcbiAgLy8gQFRPRE86IElucHV0IGlzIGJyb2tlbiwgbWF5YmUgY2F1c2Ugb2Ygd2l0aENvbXBvbmVudElucHV0QmluZGluZygpPyFcbiAgY29sbGVjdGlvbklkOiBzdHJpbmcgPSAnOTRmMjJjOWItMGQzYS00YzFjLTg5ODctNGM4ZTgzZjNhOTJlJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZpbHRlckFQSVNlcnZpY2U6IEZpbHRlckFQSVNlcnZpY2UpIHt9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pc3N1ZXMgPSBhd2FpdCB0aGlzLmZpbHRlckFQSVNlcnZpY2UuZ2V0Q29sbGVjdGlvbklzc3VlRmllbGROYW1lcygpLnRvUHJvbWlzZSgpO1xuICB9XG59XG4iLCI8bWV0YXFzMi1ub2RlLWxpc3RcbiAgKm5nRm9yPVwibGV0IG1vZGUgb2YgaXNzdWVzXCJcbiAgW2NvbGxlY3Rpb25JZF09XCJjb2xsZWN0aW9uSWRcIlxuICBbbW9kZV09XCJtb2RlXCJcbiAgdHlwZT1cImNvbGxlY3Rpb25cIlxuPjwvbWV0YXFzMi1ub2RlLWxpc3Q+XG4iXX0=
|
|
@@ -14,10 +14,10 @@ export class MaterialIssuesComponent {
|
|
|
14
14
|
this.issues = await this.filterAPIService.getMaterialIssueFieldNames().toPromise();
|
|
15
15
|
}
|
|
16
16
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MaterialIssuesComponent, deps: [{ token: i1.FilterAPIService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MaterialIssuesComponent, selector: "metaqs2-material-issues", ngImport: i0, template: "<metaqs2-node-list\n *ngFor=\"let mode of issues\"\n [
|
|
17
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MaterialIssuesComponent, selector: "metaqs2-material-issues", ngImport: i0, template: "<metaqs2-node-list\n *ngFor=\"let mode of issues\"\n [collectionId]=\"collectionId\"\n [mode]=\"mode\"\n type=\"material\"\n></metaqs2-node-list>\n", styles: [":host{padding:0 30px;display:flex;gap:30px;flex-wrap:wrap}:host>metaqs2-node-list{width:400px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.NodeListComponent, selector: "metaqs2-node-list", inputs: ["mode", "type", "collectionId"], outputs: ["countChanged"] }] }); }
|
|
18
18
|
}
|
|
19
19
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MaterialIssuesComponent, decorators: [{
|
|
20
20
|
type: Component,
|
|
21
|
-
args: [{ selector: 'metaqs2-material-issues', template: "<metaqs2-node-list\n *ngFor=\"let mode of issues\"\n [
|
|
21
|
+
args: [{ selector: 'metaqs2-material-issues', template: "<metaqs2-node-list\n *ngFor=\"let mode of issues\"\n [collectionId]=\"collectionId\"\n [mode]=\"mode\"\n type=\"material\"\n></metaqs2-node-list>\n", styles: [":host{padding:0 30px;display:flex;gap:30px;flex-wrap:wrap}:host>metaqs2-node-list{width:400px}\n"] }]
|
|
22
22
|
}], ctorParameters: () => [{ type: i1.FilterAPIService }] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWwtaXNzdWVzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1ldGEtd2lkZ2V0cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL21hdGVyaWFsLWlzc3Vlcy9tYXRlcmlhbC1pc3N1ZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWV0YS13aWRnZXRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbWF0ZXJpYWwtaXNzdWVzL21hdGVyaWFsLWlzc3Vlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7OztBQVFsRCxNQUFNLE9BQU8sdUJBQXVCO0lBS2xDLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBSnRELFdBQU0sR0FBYSxFQUFFLENBQUM7UUFDdEIsdUVBQXVFO1FBQ3ZFLGlCQUFZLEdBQVcsc0NBQXNDLENBQUM7SUFFTCxDQUFDO0lBRTFELEtBQUssQ0FBQyxRQUFRO1FBQ1osSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQywwQkFBMEIsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JGLENBQUM7K0dBVFUsdUJBQXVCO21HQUF2Qix1QkFBdUIsK0RDUnBDLHlKQU1BOzs0RkRFYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0UseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpbHRlckFQSVNlcnZpY2UgfSBmcm9tICcuLi8uLi9qYXZhLWFwaSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21ldGFxczItbWF0ZXJpYWwtaXNzdWVzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21hdGVyaWFsLWlzc3Vlcy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21hdGVyaWFsLWlzc3Vlcy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbElzc3Vlc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGlzc3Vlczogc3RyaW5nW10gPSBbXTtcbiAgLy8gQFRPRE86IElucHV0IGlzIGJyb2tlbiwgbWF5YmUgY2F1c2Ugb2Ygd2l0aENvbXBvbmVudElucHV0QmluZGluZygpPyFcbiAgY29sbGVjdGlvbklkOiBzdHJpbmcgPSAnOTRmMjJjOWItMGQzYS00YzFjLTg5ODctNGM4ZTgzZjNhOTJlJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZpbHRlckFQSVNlcnZpY2U6IEZpbHRlckFQSVNlcnZpY2UpIHt9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pc3N1ZXMgPSBhd2FpdCB0aGlzLmZpbHRlckFQSVNlcnZpY2UuZ2V0TWF0ZXJpYWxJc3N1ZUZpZWxkTmFtZXMoKS50b1Byb21pc2UoKTtcbiAgfVxufVxuIiwiPG1ldGFxczItbm9kZS1saXN0XG4gICpuZ0Zvcj1cImxldCBtb2RlIG9mIGlzc3Vlc1wiXG4gIFtjb2xsZWN0aW9uSWRdPVwiY29sbGVjdGlvbklkXCJcbiAgW21vZGVdPVwibW9kZVwiXG4gIHR5cGU9XCJtYXRlcmlhbFwiXG4+PC9tZXRhcXMyLW5vZGUtbGlzdD5cbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Component, inject, Input } from '@angular/core';
|
|
1
|
+
import { Component, EventEmitter, inject, Input, Output } from '@angular/core';
|
|
2
2
|
import { BehaviorSubject, Subject } from 'rxjs';
|
|
3
|
-
import { map, shareReplay } from 'rxjs/operators';
|
|
3
|
+
import { map, shareReplay, takeUntil } from 'rxjs/operators';
|
|
4
4
|
import { wrapResponse } from '../../wrap-observable.pipe';
|
|
5
5
|
import { ConfigHelperService } from '../../config-helper.service';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
@@ -18,6 +18,10 @@ export class NodeListComponent {
|
|
|
18
18
|
constructor(collectionAPIService) {
|
|
19
19
|
this.collectionAPIService = collectionAPIService;
|
|
20
20
|
this.env = inject(ConfigHelperService);
|
|
21
|
+
/**
|
|
22
|
+
* outputs the current count of materials in this view
|
|
23
|
+
*/
|
|
24
|
+
this.countChanged = new EventEmitter();
|
|
21
25
|
/**
|
|
22
26
|
* default max count of nodes that should be shown
|
|
23
27
|
*/
|
|
@@ -30,9 +34,10 @@ export class NodeListComponent {
|
|
|
30
34
|
* should all nodes be shown?
|
|
31
35
|
*/
|
|
32
36
|
this.showAll = false;
|
|
37
|
+
this.data.pipe(takeUntil(this.destroyed$)).subscribe((d) => this.countChanged.next(d?.length || 0));
|
|
33
38
|
}
|
|
34
39
|
async ngOnChanges(changes) {
|
|
35
|
-
if (this.
|
|
40
|
+
if (this.collectionId) {
|
|
36
41
|
await this.refresh();
|
|
37
42
|
}
|
|
38
43
|
}
|
|
@@ -43,10 +48,10 @@ export class NodeListComponent {
|
|
|
43
48
|
async refresh() {
|
|
44
49
|
let getByMissingAttribute = () => {
|
|
45
50
|
if (this.type === 'material') {
|
|
46
|
-
return this.collectionAPIService.getMaterialsWithMissingAttribute(this.
|
|
51
|
+
return this.collectionAPIService.getMaterialsWithMissingAttribute(this.collectionId, this.mode);
|
|
47
52
|
}
|
|
48
53
|
else {
|
|
49
|
-
return this.collectionAPIService.getCollectionsWithMissingAttribute(this.
|
|
54
|
+
return this.collectionAPIService.getCollectionsWithMissingAttribute(this.collectionId, this.mode);
|
|
50
55
|
}
|
|
51
56
|
};
|
|
52
57
|
// reset all data before switching
|
|
@@ -86,7 +91,7 @@ export class NodeListComponent {
|
|
|
86
91
|
// this.data = this.rawData?.filter((d) => (d as MaterialCounts).materials_count <= (this.count ?? 0));
|
|
87
92
|
}
|
|
88
93
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NodeListComponent, deps: [{ token: i1.CollectionAPIService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
89
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NodeListComponent, selector: "metaqs2-node-list", inputs: { mode: "mode", type: "type",
|
|
94
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NodeListComponent, selector: "metaqs2-node-list", inputs: { mode: "mode", type: "type", collectionId: "collectionId" }, outputs: { countChanged: "countChanged" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"wrapper\">\n <mat-card *ngIf=\"mode\">\n <mat-card-header>\n <mat-card-title>\n {{ 'issues.' + mode | translate }}\n <span class=\"count\" *ngIf=\"(data | async) as d\">({{ d.length || 0 }})</span>\n </mat-card-title>\n <button mat-icon-button color=\"primary\" [disabled]=\"!(data | async)\" (click)=\"refresh()\">\n <mat-icon>refresh</mat-icon>\n </button>\n </mat-card-header>\n <!-- @TODO -->\n <div *ngIf=\"type === 'collection' && mode === 'TODO_count'\" class=\"count-slider\">\n <label>Sammlungen mit {{ count }} oder weniger Inhalten</label>\n <mat-slider\n [showTickMarks]=\"true\"\n step=\"1\"\n [ngModel]=\"count\"\n (ngModelChange)=\"count = $event; filterCount()\"\n min=\"0\"\n max=\"10\"\n ></mat-slider>\n </div>\n <ng-container *ngIf=\"wrappedData$ | async as wrappedData\">\n <mat-spinner *ngIf=\"wrappedData.state === 'loading'\" diameter=\"40\" color=\"primary\"></mat-spinner>\n <div class=\"error\" *ngIf=\"wrappedData.state === 'error'\">\n <p class=\"error-text\">Etwas ist schief gelaufen.</p>\n </div>\n <div class=\"scroll\" *ngIf=\"wrappedData.state === 'success'\">\n <ng-container *ngIf=\"(data | async) as d\">\n <metaqs2-node-entry\n *ngFor=\"let node of DEFAULT_LIMIT < d.length && !showAll ? d.slice(0, DEFAULT_LIMIT) : d\"\n [node]=\"node\"\n (edit)=\"editNode(node)\"\n ></metaqs2-node-entry>\n <div *ngIf=\"!d.length\">\n <div class=\"all-done\">\n <p class=\"all-done-emoji\">\uD83E\uDD73</p>\n <p class=\"all-done-text\">Keine Elemente ausstehend</p>\n </div>\n </div>\n <button *ngIf=\"DEFAULT_LIMIT < d.length && !showAll\" (click)=\"showAll = true\" color=\"primary\" mat-button>\n Alle Elemente anzeigen <mat-icon>keyboard_arrow_down</mat-icon>\n </button>\n </ng-container>\n </div>\n </ng-container>\n </mat-card>\n</div>\n", styles: [".wrapper{width:100%;height:100%}.wrapper mat-card{display:flex;flex-direction:column;width:100%;height:100%;padding:0;box-shadow:none}.wrapper mat-card ::ng-deep mat-card-header{align-items:center}.wrapper mat-card ::ng-deep mat-card-header .mat-card-header-text{flex-grow:1;margin:0}.wrapper mat-card ::ng-deep mat-card-header .mat-card-header-text mat-card-title{padding-top:20px;font-size:120%}.wrapper mat-card ::ng-deep mat-card-header .mat-card-header-text mat-card-title .count{font-size:80%;color:#888}.wrapper mat-card .count-slider{display:flex;flex-direction:column;width:100%}.wrapper mat-card .count-slider>label{padding:0 20px;font-size:90%}.wrapper mat-card .count-slider>mat-slider{width:100%}.wrapper mat-card mat-spinner{flex-grow:1;display:flex;align-self:center;justify-self:center;margin-top:20%}.wrapper mat-card .scroll{flex-grow:1;overflow-y:auto}.wrapper mat-card .scroll>button{display:flex;margin:auto}.wrapper mat-card .scroll .all-done{display:flex;flex-direction:column;align-items:center}.wrapper mat-card .scroll .all-done .all-done-emoji{font-size:72px;margin-bottom:20px}.wrapper mat-card .scroll .all-done .all-done-text{text-align:center;font-size:1.3em;color:var(--font-light)}.wrapper mat-card .error{border:#d00 solid 2px;background-color:#d005;display:flex;flex-direction:column;align-items:center}.wrapper mat-card .error .error-text{font-size:1.3em}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "component", type: i3.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i3.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatSlider, selector: "mat-slider", inputs: ["disabled", "discrete", "showTickMarks", "min", "color", "disableRipple", "max", "step", "displayWith"], exportAs: ["matSlider"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i7.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i9.NodeEntryComponent, selector: "metaqs2-node-entry", inputs: ["node"], outputs: ["edit"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i10.TranslatePipe, name: "translate" }] }); }
|
|
90
95
|
}
|
|
91
96
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NodeListComponent, decorators: [{
|
|
92
97
|
type: Component,
|
|
@@ -95,7 +100,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
95
100
|
type: Input
|
|
96
101
|
}], type: [{
|
|
97
102
|
type: Input
|
|
98
|
-
}],
|
|
103
|
+
}], collectionId: [{
|
|
99
104
|
type: Input
|
|
105
|
+
}], countChanged: [{
|
|
106
|
+
type: Output
|
|
100
107
|
}] } });
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1ldGEtd2lkZ2V0cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL25vZGUtbGlzdC9ub2RlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWV0YS13aWRnZXRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbm9kZS1saXN0L25vZGUtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQXVDLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEQsT0FBTyxFQUFtQixZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7Ozs7O0FBT2xFLE1BQU0sT0FBTyxpQkFBaUI7SUF1QjVCLFlBQW9CLG9CQUEwQztRQUExQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBdEJ0RCxRQUFHLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFLMUM7O1dBRUc7UUFDTSxrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUU1QixTQUFJLEdBQUcsSUFBSSxlQUFlLENBQ3hCLFNBQVMsQ0FDVixDQUFDO1FBQ0YsNEZBQTRGO1FBQzVGLFVBQUssR0FBa0IsQ0FBQyxDQUFDO1FBRWpCLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ3pDOztXQUVHO1FBQ0gsWUFBTyxHQUFHLEtBQUssQ0FBQztJQUVpRCxDQUFDO0lBRWxFLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBc0I7UUFDdEMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTztRQUNYLElBQUkscUJBQXFCLEdBQUcsR0FBb0YsRUFBRTtZQUNoSCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssVUFBVSxFQUFFLENBQUM7Z0JBQzdCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzlGLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxrQ0FBa0MsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoRyxDQUFDO1FBQ0gsQ0FBQyxDQUFDO1FBRUYsa0NBQWtDO1FBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFCLDJCQUEyQjtRQUMzQixJQUFJLENBQUMsWUFBWSxHQUFHLHFCQUFxQixFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pGLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNaLE1BQU0sSUFBSSxDQUFDLFlBQVk7YUFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQzthQUM1RixTQUFTLEVBQUUsQ0FDZixDQUFDO1FBQ0YsMENBQTBDO1FBRTFDOztXQUVHO1FBQ0g7Ozs7ZUFJTztJQUNULENBQUM7SUFFRCxRQUFRLENBQUMsSUFBcUU7UUFDNUUsSUFBSSxNQUFjLENBQUM7UUFDbkIsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLGlCQUFpQixFQUFFLENBQUM7WUFDcEMsTUFBTSxHQUFHLGlCQUFpQixDQUFDO1FBQzdCLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxHQUFHLGNBQWMsQ0FBQztRQUMxQixDQUFDO1FBRUQsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQVMsQ0FBQztRQUMxQixNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUNyQixJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWM7WUFDckIsNERBQTREO1lBQzVELGtCQUFrQixDQUFDLEVBQUUsQ0FBQztZQUN0QixVQUFVO1lBQ1YsTUFBTSxDQUNULENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULFFBQVE7UUFDUix1R0FBdUc7SUFDekcsQ0FBQzsrR0F2RlUsaUJBQWlCO21HQUFqQixpQkFBaUIsNElDWjlCLGtqRUFpREE7OzRGRHJDYSxpQkFBaUI7a0JBTDdCLFNBQVM7K0JBQ0UsbUJBQW1CO3lGQU1wQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgSW5wdXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc2hhcmVSZXBsYXkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uQVBJU2VydmljZSwgQ29sbGVjdGlvbldpdGhNaXNzaW5nQXR0cmlidXRlcywgTWF0ZXJpYWxXaXRoTWlzc2luZ0F0dHJpYnV0ZXMgfSBmcm9tICcuLi8uLi9qYXZhLWFwaSc7XG5pbXBvcnQgeyBXcmFwcGVkUmVzcG9uc2UsIHdyYXBSZXNwb25zZSB9IGZyb20gJy4uLy4uL3dyYXAtb2JzZXJ2YWJsZS5waXBlJztcbmltcG9ydCB7IENvbmZpZ0hlbHBlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb25maWctaGVscGVyLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtZXRhcXMyLW5vZGUtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9ub2RlLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ub2RlLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTm9kZUxpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgZW52ID0gaW5qZWN0KENvbmZpZ0hlbHBlclNlcnZpY2UpO1xuICBASW5wdXQoKSBtb2RlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHR5cGU6ICdtYXRlcmlhbCcgfCAnY29sbGVjdGlvbic7XG4gIEBJbnB1dCgpIHBhcmVudElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGRlZmF1bHQgbWF4IGNvdW50IG9mIG5vZGVzIHRoYXQgc2hvdWxkIGJlIHNob3duXG4gICAqL1xuICByZWFkb25seSBERUZBVUxUX0xJTUlUID0gMjU7XG4gIHdyYXBwZWREYXRhJDogT2JzZXJ2YWJsZTxXcmFwcGVkUmVzcG9uc2U8KE1hdGVyaWFsV2l0aE1pc3NpbmdBdHRyaWJ1dGVzIHwgQ29sbGVjdGlvbldpdGhNaXNzaW5nQXR0cmlidXRlcylbXT4+O1xuICBkYXRhID0gbmV3IEJlaGF2aW9yU3ViamVjdDwoTWF0ZXJpYWxXaXRoTWlzc2luZ0F0dHJpYnV0ZXMgfCBDb2xsZWN0aW9uV2l0aE1pc3NpbmdBdHRyaWJ1dGVzKVtdIHwgdW5kZWZpbmVkPihcbiAgICB1bmRlZmluZWRcbiAgKTtcbiAgLy8gcmF3RGF0YTogKE1hdGVyaWFsV2l0aE1pc3NpbmdBdHRyaWJ1dGVzIHwgQ29sbGVjdGlvbldpdGhNaXNzaW5nQXR0cmlidXRlcylbXSB8IHVuZGVmaW5lZDtcbiAgY291bnQ6IG51bWJlciB8IG51bGwgPSAwO1xuXG4gIHByaXZhdGUgZGVzdHJveWVkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gIC8qKlxuICAgKiBzaG91bGQgYWxsIG5vZGVzIGJlIHNob3duP1xuICAgKi9cbiAgc2hvd0FsbCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29sbGVjdGlvbkFQSVNlcnZpY2U6IENvbGxlY3Rpb25BUElTZXJ2aWNlKSB7fVxuXG4gIGFzeW5jIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAodGhpcy5wYXJlbnRJZCkge1xuICAgICAgYXdhaXQgdGhpcy5yZWZyZXNoKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95ZWQkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3llZCQuY29tcGxldGUoKTtcbiAgfVxuXG4gIGFzeW5jIHJlZnJlc2goKSB7XG4gICAgbGV0IGdldEJ5TWlzc2luZ0F0dHJpYnV0ZSA9ICgpOiBPYnNlcnZhYmxlPChNYXRlcmlhbFdpdGhNaXNzaW5nQXR0cmlidXRlcyB8IENvbGxlY3Rpb25XaXRoTWlzc2luZ0F0dHJpYnV0ZXMpW10+ID0+IHtcbiAgICAgIGlmICh0aGlzLnR5cGUgPT09ICdtYXRlcmlhbCcpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29sbGVjdGlvbkFQSVNlcnZpY2UuZ2V0TWF0ZXJpYWxzV2l0aE1pc3NpbmdBdHRyaWJ1dGUodGhpcy5wYXJlbnRJZCwgdGhpcy5tb2RlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbGxlY3Rpb25BUElTZXJ2aWNlLmdldENvbGxlY3Rpb25zV2l0aE1pc3NpbmdBdHRyaWJ1dGUodGhpcy5wYXJlbnRJZCwgdGhpcy5tb2RlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgLy8gcmVzZXQgYWxsIGRhdGEgYmVmb3JlIHN3aXRjaGluZ1xuICAgIHRoaXMuZGF0YS5uZXh0KHVuZGVmaW5lZCk7XG4gICAgLy90aGlzLnJhd0RhdGEgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy53cmFwcGVkRGF0YSQgPSBnZXRCeU1pc3NpbmdBdHRyaWJ1dGUoKS5waXBlKHdyYXBSZXNwb25zZSgpLCBzaGFyZVJlcGxheSgxKSk7XG4gICAgdGhpcy5kYXRhLm5leHQoXG4gICAgICBhd2FpdCB0aGlzLndyYXBwZWREYXRhJFxuICAgICAgICAucGlwZShtYXAoKHdyYXBwZWREYXRhKSA9PiAod3JhcHBlZERhdGEuc3RhdGUgPT09ICdzdWNjZXNzJyA/IHdyYXBwZWREYXRhLmRhdGEgOiB1bmRlZmluZWQpKSlcbiAgICAgICAgLnRvUHJvbWlzZSgpXG4gICAgKTtcbiAgICAvL3RoaXMucmF3RGF0YSA9IHRoaXMuZGF0YS52YWx1ZT8uc2xpY2UoKTtcblxuICAgIC8qKlxuICAgICAqIEBUT0RPOiBDb3VudCBtb2RlXG4gICAgICovXG4gICAgLypcbiAgICAgICAgaWYgKD8pIHtcbiAgICAgICAgICB0aGlzLmZpbHRlckNvdW50KCk7XG4gICAgICAgIH1cbiAgICAgICAgICovXG4gIH1cblxuICBlZGl0Tm9kZShub2RlOiBNYXRlcmlhbFdpdGhNaXNzaW5nQXR0cmlidXRlcyB8IENvbGxlY3Rpb25XaXRoTWlzc2luZ0F0dHJpYnV0ZXMpIHtcbiAgICBsZXQgYWN0aW9uOiBzdHJpbmc7XG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ3dpdGhvdXRfbGljZW5zZScpIHtcbiAgICAgIGFjdGlvbiA9ICdPUFRJT05TLkxJQ0VOU0UnO1xuICAgIH0gZWxzZSB7XG4gICAgICBhY3Rpb24gPSAnT1BUSU9OUy5FRElUJztcbiAgICB9XG5cbiAgICBjb25zdCBpZCA9IG5vZGUubm9kZV9pZCEhO1xuICAgIGNvbnN0IHdpbiA9IHdpbmRvdy5vcGVuKFxuICAgICAgdGhpcy5lbnYuZWR1U2hhcmluZ1BhdGggK1xuICAgICAgICAnL2NvbXBvbmVudHMvZWRpdG9yaWFsLWRlc2s/bW9kZT1hdWRpdCZ2aWV3VHlwZT1zaW5nbGUmaWRzPScgK1xuICAgICAgICBlbmNvZGVVUklDb21wb25lbnQoaWQpICtcbiAgICAgICAgJyZhY3Rpb249JyArXG4gICAgICAgIGFjdGlvblxuICAgICk7XG4gIH1cblxuICBmaWx0ZXJDb3VudCgpIHtcbiAgICAvLyBAVE9ET1xuICAgIC8vIHRoaXMuZGF0YSA9IHRoaXMucmF3RGF0YT8uZmlsdGVyKChkKSA9PiAoZCBhcyBNYXRlcmlhbENvdW50cykubWF0ZXJpYWxzX2NvdW50IDw9ICh0aGlzLmNvdW50ID8/IDApKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cbiAgPG1hdC1jYXJkICpuZ0lmPVwibW9kZVwiPlxuICAgIDxtYXQtY2FyZC1oZWFkZXI+XG4gICAgICA8bWF0LWNhcmQtdGl0bGU+XG4gICAgICAgIHt7ICdpc3N1ZXMuJyArIG1vZGUgIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY291bnRcIiAqbmdJZj1cIihkYXRhIHwgYXN5bmMpIGFzIGRcIj4oe3sgZC5sZW5ndGggfHwgMCB9fSk8L3NwYW4+XG4gICAgICA8L21hdC1jYXJkLXRpdGxlPlxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cIiEoZGF0YSB8IGFzeW5jKVwiIChjbGljayk9XCJyZWZyZXNoKClcIj5cbiAgICAgICAgPG1hdC1pY29uPnJlZnJlc2g8L21hdC1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9tYXQtY2FyZC1oZWFkZXI+XG4gICAgPCEtLSBAVE9ETyAtLT5cbiAgICA8ZGl2ICpuZ0lmPVwidHlwZSA9PT0gJ2NvbGxlY3Rpb24nICYmIG1vZGUgPT09ICdUT0RPX2NvdW50J1wiIGNsYXNzPVwiY291bnQtc2xpZGVyXCI+XG4gICAgICA8bGFiZWw+U2FtbWx1bmdlbiBtaXQge3sgY291bnQgfX0gb2RlciB3ZW5pZ2VyIEluaGFsdGVuPC9sYWJlbD5cbiAgICAgIDxtYXQtc2xpZGVyXG4gICAgICAgIFtzaG93VGlja01hcmtzXT1cInRydWVcIlxuICAgICAgICBzdGVwPVwiMVwiXG4gICAgICAgIFtuZ01vZGVsXT1cImNvdW50XCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiY291bnQgPSAkZXZlbnQ7IGZpbHRlckNvdW50KClcIlxuICAgICAgICBtaW49XCIwXCJcbiAgICAgICAgbWF4PVwiMTBcIlxuICAgICAgPjwvbWF0LXNsaWRlcj5cbiAgICA8L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwid3JhcHBlZERhdGEkIHwgYXN5bmMgYXMgd3JhcHBlZERhdGFcIj5cbiAgICAgIDxtYXQtc3Bpbm5lciAqbmdJZj1cIndyYXBwZWREYXRhLnN0YXRlID09PSAnbG9hZGluZydcIiBkaWFtZXRlcj1cIjQwXCIgY29sb3I9XCJwcmltYXJ5XCI+PC9tYXQtc3Bpbm5lcj5cbiAgICAgIDxkaXYgY2xhc3M9XCJlcnJvclwiICpuZ0lmPVwid3JhcHBlZERhdGEuc3RhdGUgPT09ICdlcnJvcidcIj5cbiAgICAgICAgPHAgY2xhc3M9XCJlcnJvci10ZXh0XCI+RXR3YXMgaXN0IHNjaGllZiBnZWxhdWZlbi48L3A+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzY3JvbGxcIiAqbmdJZj1cIndyYXBwZWREYXRhLnN0YXRlID09PSAnc3VjY2VzcydcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihkYXRhIHwgYXN5bmMpIGFzIGRcIj5cbiAgICAgICAgICA8bWV0YXFzMi1ub2RlLWVudHJ5XG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgbm9kZSBvZiBERUZBVUxUX0xJTUlUIDwgZC5sZW5ndGggJiYgIXNob3dBbGwgPyBkLnNsaWNlKDAsIERFRkFVTFRfTElNSVQpIDogZFwiXG4gICAgICAgICAgICBbbm9kZV09XCJub2RlXCJcbiAgICAgICAgICAgIChlZGl0KT1cImVkaXROb2RlKG5vZGUpXCJcbiAgICAgICAgICA+PC9tZXRhcXMyLW5vZGUtZW50cnk+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cIiFkLmxlbmd0aFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsbC1kb25lXCI+XG4gICAgICAgICAgICAgIDxwIGNsYXNzPVwiYWxsLWRvbmUtZW1vamlcIj7wn6WzPC9wPlxuICAgICAgICAgICAgICA8cCBjbGFzcz1cImFsbC1kb25lLXRleHRcIj5LZWluZSBFbGVtZW50ZSBhdXNzdGVoZW5kPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIkRFRkFVTFRfTElNSVQgPCBkLmxlbmd0aCAmJiAhc2hvd0FsbFwiIChjbGljayk9XCJzaG93QWxsID0gdHJ1ZVwiIGNvbG9yPVwicHJpbWFyeVwiIG1hdC1idXR0b24+XG4gICAgICAgICAgICBBbGxlIEVsZW1lbnRlIGFuemVpZ2VuIDxtYXQtaWNvbj5rZXlib2FyZF9hcnJvd19kb3duPC9tYXQtaWNvbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtY2FyZD5cbjwvZGl2PlxuIl19
|
|
108
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1ldGEtd2lkZ2V0cy1saWIvc3JjL2xpYi9jb21wb25lbnRzL25vZGUtbGlzdC9ub2RlLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWV0YS13aWRnZXRzLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbm9kZS1saXN0L25vZGUtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUF3QixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdELE9BQU8sRUFBbUIsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7Ozs7OztBQU9sRSxNQUFNLE9BQU8saUJBQWlCO0lBMkI1QixZQUFvQixvQkFBMEM7UUFBMUMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFzQjtRQTFCdEQsUUFBRyxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBSTFDOztXQUVHO1FBQ08saUJBQVksR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRXBEOztXQUVHO1FBQ00sa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFFNUIsU0FBSSxHQUFHLElBQUksZUFBZSxDQUN4QixTQUFTLENBQ1YsQ0FBQztRQUNGLDRGQUE0RjtRQUM1RixVQUFLLEdBQWtCLENBQUMsQ0FBQztRQUVqQixlQUFVLEdB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c0JBQXBCLEtBQUs7Z0JBSUksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBpbmplY3QsIElucHV0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc2hhcmVSZXBsYXksIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbGxlY3Rpb25BUElTZXJ2aWNlLCBDb2xsZWN0aW9uV2l0aE1pc3NpbmdBdHRyaWJ1dGVzLCBNYXRlcmlhbFdpdGhNaXNzaW5nQXR0cmlidXRlcyB9IGZyb20gJy4uLy4uL2phdmEtYXBpJztcbmltcG9ydCB7IFdyYXBwZWRSZXNwb25zZSwgd3JhcFJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vd3JhcC1vYnNlcnZhYmxlLnBpcGUnO1xuaW1wb3J0IHsgQ29uZmlnSGVscGVyU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbmZpZy1oZWxwZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21ldGFxczItbm9kZS1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL25vZGUtbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25vZGUtbGlzdC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBOb2RlTGlzdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBlbnYgPSBpbmplY3QoQ29uZmlnSGVscGVyU2VydmljZSk7XG4gIEBJbnB1dCgpIG1vZGU6IHN0cmluZztcbiAgQElucHV0KCkgdHlwZTogJ21hdGVyaWFsJyB8ICdjb2xsZWN0aW9uJztcbiAgQElucHV0KCkgY29sbGVjdGlvbklkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBvdXRwdXRzIHRoZSBjdXJyZW50IGNvdW50IG9mIG1hdGVyaWFscyBpbiB0aGlzIHZpZXdcbiAgICovXG4gIEBPdXRwdXQoKSBjb3VudENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICAvKipcbiAgICogZGVmYXVsdCBtYXggY291bnQgb2Ygbm9kZXMgdGhhdCBzaG91bGQgYmUgc2hvd25cbiAgICovXG4gIHJlYWRvbmx5IERFRkFVTFRfTElNSVQgPSAyNTtcbiAgd3JhcHBlZERhdGEkOiBPYnNlcnZhYmxlPFdyYXBwZWRSZXNwb25zZTwoTWF0ZXJpYWxXaXRoTWlzc2luZ0F0dHJpYnV0ZXMgfCBDb2xsZWN0aW9uV2l0aE1pc3NpbmdBdHRyaWJ1dGVzKVtdPj47XG4gIGRhdGEgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PChNYXRlcmlhbFdpdGhNaXNzaW5nQXR0cmlidXRlcyB8IENvbGxlY3Rpb25XaXRoTWlzc2luZ0F0dHJpYnV0ZXMpW10gfCB1bmRlZmluZWQ+KFxuICAgIHVuZGVmaW5lZFxuICApO1xuICAvLyByYXdEYXRhOiAoTWF0ZXJpYWxXaXRoTWlzc2luZ0F0dHJpYnV0ZXMgfCBDb2xsZWN0aW9uV2l0aE1pc3NpbmdBdHRyaWJ1dGVzKVtdIHwgdW5kZWZpbmVkO1xuICBjb3VudDogbnVtYmVyIHwgbnVsbCA9IDA7XG5cbiAgcHJpdmF0ZSBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgLyoqXG4gICAqIHNob3VsZCBhbGwgbm9kZXMgYmUgc2hvd24/XG4gICAqL1xuICBzaG93QWxsID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb2xsZWN0aW9uQVBJU2VydmljZTogQ29sbGVjdGlvbkFQSVNlcnZpY2UpIHtcbiAgICB0aGlzLmRhdGEucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSkuc3Vic2NyaWJlKChkKSA9PiB0aGlzLmNvdW50Q2hhbmdlZC5uZXh0KGQ/Lmxlbmd0aCB8fCAwKSk7XG4gIH1cblxuICBhc3luYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKHRoaXMuY29sbGVjdGlvbklkKSB7XG4gICAgICBhd2FpdCB0aGlzLnJlZnJlc2goKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3llZCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveWVkJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgYXN5bmMgcmVmcmVzaCgpIHtcbiAgICBsZXQgZ2V0QnlNaXNzaW5nQXR0cmlidXRlID0gKCk6IE9ic2VydmFibGU8KE1hdGVyaWFsV2l0aE1pc3NpbmdBdHRyaWJ1dGVzIHwgQ29sbGVjdGlvbldpdGhNaXNzaW5nQXR0cmlidXRlcylbXT4gPT4ge1xuICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ21hdGVyaWFsJykge1xuICAgICAgICByZXR1cm4gdGhpcy5jb2xsZWN0aW9uQVBJU2VydmljZS5nZXRNYXRlcmlhbHNXaXRoTWlzc2luZ0F0dHJpYnV0ZSh0aGlzLmNvbGxlY3Rpb25JZCwgdGhpcy5tb2RlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbGxlY3Rpb25BUElTZXJ2aWNlLmdldENvbGxlY3Rpb25zV2l0aE1pc3NpbmdBdHRyaWJ1dGUodGhpcy5jb2xsZWN0aW9uSWQsIHRoaXMubW9kZSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIC8vIHJlc2V0IGFsbCBkYXRhIGJlZm9yZSBzd2l0Y2hpbmdcbiAgICB0aGlzLmRhdGEubmV4dCh1bmRlZmluZWQpO1xuICAgIC8vdGhpcy5yYXdEYXRhID0gdW5kZWZpbmVkO1xuICAgIHRoaXMud3JhcHBlZERhdGEkID0gZ2V0QnlNaXNzaW5nQXR0cmlidXRlKCkucGlwZSh3cmFwUmVzcG9uc2UoKSwgc2hhcmVSZXBsYXkoMSkpO1xuICAgIHRoaXMuZGF0YS5uZXh0KFxuICAgICAgYXdhaXQgdGhpcy53cmFwcGVkRGF0YSRcbiAgICAgICAgLnBpcGUobWFwKCh3cmFwcGVkRGF0YSkgPT4gKHdyYXBwZWREYXRhLnN0YXRlID09PSAnc3VjY2VzcycgPyB3cmFwcGVkRGF0YS5kYXRhIDogdW5kZWZpbmVkKSkpXG4gICAgICAgIC50b1Byb21pc2UoKVxuICAgICk7XG4gICAgLy90aGlzLnJhd0RhdGEgPSB0aGlzLmRhdGEudmFsdWU/LnNsaWNlKCk7XG5cbiAgICAvKipcbiAgICAgKiBAVE9ETzogQ291bnQgbW9kZVxuICAgICAqL1xuICAgIC8qXG4gICAgICAgIGlmICg/KSB7XG4gICAgICAgICAgdGhpcy5maWx0ZXJDb3VudCgpO1xuICAgICAgICB9XG4gICAgICAgICAqL1xuICB9XG5cbiAgZWRpdE5vZGUobm9kZTogTWF0ZXJpYWxXaXRoTWlzc2luZ0F0dHJpYnV0ZXMgfCBDb2xsZWN0aW9uV2l0aE1pc3NpbmdBdHRyaWJ1dGVzKSB7XG4gICAgbGV0IGFjdGlvbjogc3RyaW5nO1xuICAgIGlmICh0aGlzLm1vZGUgPT09ICd3aXRob3V0X2xpY2Vuc2UnKSB7XG4gICAgICBhY3Rpb24gPSAnT1BUSU9OUy5MSUNFTlNFJztcbiAgICB9IGVsc2Uge1xuICAgICAgYWN0aW9uID0gJ09QVElPTlMuRURJVCc7XG4gICAgfVxuXG4gICAgY29uc3QgaWQgPSBub2RlLm5vZGVfaWQhITtcbiAgICBjb25zdCB3aW4gPSB3aW5kb3cub3BlbihcbiAgICAgIHRoaXMuZW52LmVkdVNoYXJpbmdQYXRoICtcbiAgICAgICAgJy9jb21wb25lbnRzL2VkaXRvcmlhbC1kZXNrP21vZGU9YXVkaXQmdmlld1R5cGU9c2luZ2xlJmlkcz0nICtcbiAgICAgICAgZW5jb2RlVVJJQ29tcG9uZW50KGlkKSArXG4gICAgICAgICcmYWN0aW9uPScgK1xuICAgICAgICBhY3Rpb25cbiAgICApO1xuICB9XG5cbiAgZmlsdGVyQ291bnQoKSB7XG4gICAgLy8gQFRPRE9cbiAgICAvLyB0aGlzLmRhdGEgPSB0aGlzLnJhd0RhdGE/LmZpbHRlcigoZCkgPT4gKGQgYXMgTWF0ZXJpYWxDb3VudHMpLm1hdGVyaWFsc19jb3VudCA8PSAodGhpcy5jb3VudCA/PyAwKSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XG4gIDxtYXQtY2FyZCAqbmdJZj1cIm1vZGVcIj5cbiAgICA8bWF0LWNhcmQtaGVhZGVyPlxuICAgICAgPG1hdC1jYXJkLXRpdGxlPlxuICAgICAgICB7eyAnaXNzdWVzLicgKyBtb2RlICB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8c3BhbiBjbGFzcz1cImNvdW50XCIgKm5nSWY9XCIoZGF0YSB8IGFzeW5jKSBhcyBkXCI+KHt7IGQubGVuZ3RoIHx8IDAgfX0pPC9zcGFuPlxuICAgICAgPC9tYXQtY2FyZC10aXRsZT5cbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCIhKGRhdGEgfCBhc3luYylcIiAoY2xpY2spPVwicmVmcmVzaCgpXCI+XG4gICAgICAgIDxtYXQtaWNvbj5yZWZyZXNoPC9tYXQtaWNvbj5cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxuICAgIDwhLS0gQFRPRE8gLS0+XG4gICAgPGRpdiAqbmdJZj1cInR5cGUgPT09ICdjb2xsZWN0aW9uJyAmJiBtb2RlID09PSAnVE9ET19jb3VudCdcIiBjbGFzcz1cImNvdW50LXNsaWRlclwiPlxuICAgICAgPGxhYmVsPlNhbW1sdW5nZW4gbWl0IHt7IGNvdW50IH19IG9kZXIgd2VuaWdlciBJbmhhbHRlbjwvbGFiZWw+XG4gICAgICA8bWF0LXNsaWRlclxuICAgICAgICBbc2hvd1RpY2tNYXJrc109XCJ0cnVlXCJcbiAgICAgICAgc3RlcD1cIjFcIlxuICAgICAgICBbbmdNb2RlbF09XCJjb3VudFwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImNvdW50ID0gJGV2ZW50OyBmaWx0ZXJDb3VudCgpXCJcbiAgICAgICAgbWluPVwiMFwiXG4gICAgICAgIG1heD1cIjEwXCJcbiAgICAgID48L21hdC1zbGlkZXI+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIndyYXBwZWREYXRhJCB8IGFzeW5jIGFzIHdyYXBwZWREYXRhXCI+XG4gICAgICA8bWF0LXNwaW5uZXIgKm5nSWY9XCJ3cmFwcGVkRGF0YS5zdGF0ZSA9PT0gJ2xvYWRpbmcnXCIgZGlhbWV0ZXI9XCI0MFwiIGNvbG9yPVwicHJpbWFyeVwiPjwvbWF0LXNwaW5uZXI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZXJyb3JcIiAqbmdJZj1cIndyYXBwZWREYXRhLnN0YXRlID09PSAnZXJyb3InXCI+XG4gICAgICAgIDxwIGNsYXNzPVwiZXJyb3ItdGV4dFwiPkV0d2FzIGlzdCBzY2hpZWYgZ2VsYXVmZW4uPC9wPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwic2Nyb2xsXCIgKm5nSWY9XCJ3cmFwcGVkRGF0YS5zdGF0ZSA9PT0gJ3N1Y2Nlc3MnXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoZGF0YSB8IGFzeW5jKSBhcyBkXCI+XG4gICAgICAgICAgPG1ldGFxczItbm9kZS1lbnRyeVxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IG5vZGUgb2YgREVGQVVMVF9MSU1JVCA8IGQubGVuZ3RoICYmICFzaG93QWxsID8gZC5zbGljZSgwLCBERUZBVUxUX0xJTUlUKSA6IGRcIlxuICAgICAgICAgICAgW25vZGVdPVwibm9kZVwiXG4gICAgICAgICAgICAoZWRpdCk9XCJlZGl0Tm9kZShub2RlKVwiXG4gICAgICAgICAgPjwvbWV0YXFzMi1ub2RlLWVudHJ5PlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCIhZC5sZW5ndGhcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGwtZG9uZVwiPlxuICAgICAgICAgICAgICA8cCBjbGFzcz1cImFsbC1kb25lLWVtb2ppXCI+8J+lszwvcD5cbiAgICAgICAgICAgICAgPHAgY2xhc3M9XCJhbGwtZG9uZS10ZXh0XCI+S2VpbmUgRWxlbWVudGUgYXVzc3RlaGVuZDwvcD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJERUZBVUxUX0xJTUlUIDwgZC5sZW5ndGggJiYgIXNob3dBbGxcIiAoY2xpY2spPVwic2hvd0FsbCA9IHRydWVcIiBjb2xvcj1cInByaW1hcnlcIiBtYXQtYnV0dG9uPlxuICAgICAgICAgICAgQWxsZSBFbGVtZW50ZSBhbnplaWdlbiA8bWF0LWljb24+a2V5Ym9hcmRfYXJyb3dfZG93bjwvbWF0LWljb24+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbWF0LWNhcmQ+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -20,7 +20,7 @@ export class InlineWorker {
|
|
|
20
20
|
// Perform the fetch request
|
|
21
21
|
const { basePath, collectionId, searchTerm, oerOnly } = data;
|
|
22
22
|
searchForTypeAndCollection(basePath, searchTerm, oerOnly)
|
|
23
|
-
.then((response) => (response.ok ? response : Promise.reject(response)))
|
|
23
|
+
.then((response) => (response.ok ? response : Promise.reject(response)), (error) => Promise.reject(error))
|
|
24
24
|
.then((response) => response.json())
|
|
25
25
|
.then((data) => {
|
|
26
26
|
resolve({ collectionId, data });
|
|
@@ -46,12 +46,11 @@ export class InlineWorker {
|
|
|
46
46
|
});
|
|
47
47
|
}
|
|
48
48
|
const searchForTypeAndCollection = (basePath, searchTerm, oerOnly = false) => {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
return fetch(url, { credentials: 'include' });
|
|
49
|
+
//strip trailing slash from basePath, if present
|
|
50
|
+
const searchUrl = new URL(basePath.replace(/\/$/, '') + '/collections/v2/material/search');
|
|
51
|
+
searchUrl.searchParams.set('term', searchTerm);
|
|
52
|
+
searchUrl.searchParams.set('oerOnly', oerOnly ? 'true' : 'false');
|
|
53
|
+
return fetch(searchUrl, { credentials: 'include' });
|
|
55
54
|
};
|
|
56
55
|
self.onmessage = (evt) => {
|
|
57
56
|
enqueueRequest(evt)
|
|
@@ -100,4 +99,4 @@ export class InlineWorker {
|
|
|
100
99
|
}
|
|
101
100
|
}
|
|
102
101
|
}
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLXdvcmtlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1ldGEtd2lkZ2V0cy1saWIvc3JjL2xpYi90cmVlLXNlYXJjaC1jb3VudHMvaW5saW5lLXdvcmtlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBUTNDLE1BQU0sT0FBTyxZQUFZO0lBeUV2QixZQUFZLEVBQUUsUUFBUSxFQUF3QjtRQXZFdEMsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFnQixDQUFDO1FBQ3hDLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBYyxDQUFDO1FBRXBDLFNBQUksR0FBRyxHQUFHLEVBQUU7WUFDbEIsOEJBQThCO1lBQzlCLE9BQU8sQ0FBQyxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQztZQUU3RCxNQUFNLHFCQUFxQixHQUFHLEVBQUUsQ0FBQyxDQUFDLGdEQUFnRDtZQUNsRixJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUM7WUFDdkIsSUFBSSxZQUFZLEdBQXVELEVBQUUsQ0FBQztZQUUxRSxvREFBb0Q7WUFDcEQsU0FBUyxZQUFZO2dCQUNuQixJQUFJLGNBQWMsSUFBSSxxQkFBcUIsSUFBSSxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUN6RSxPQUFPLENBQUMsb0RBQW9EO2dCQUM5RCxDQUFDO2dCQUNELGFBQWE7Z0JBQ2IsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUN2RCxjQUFjLEVBQUUsQ0FBQztnQkFFakIsNEJBQTRCO2dCQUM1QixNQUFNLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDO2dCQUM3RCwwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQztxQkFDdEQsSUFBSSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO3FCQUN2RSxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztxQkFDbkMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7b0JBQ2IsT0FBTyxDQUFDLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7Z0JBQ2xDLENBQUMsQ0FBQztxQkFDRCxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtvQkFDZixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxtQkFBbUI7Z0JBQ3BDLENBQUMsQ0FBQztxQkFDRCxPQUFPLENBQUMsR0FBRyxFQUFFO29CQUNaLGNBQWMsRUFBRSxDQUFDLENBQUMsaUNBQWlDO29CQUNuRCxZQUFZLEVBQUUsQ0FBQyxDQUFDLHdDQUF3QztnQkFDMUQsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1lBRUQsdUNBQXVDO1lBQ3ZDLFNBQVMsY0FBYyxDQUFDLEtBQW1CO2dCQUN6QyxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO29CQUNyQyxJQUFJLENBQUM7d0JBQ0gsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO3dCQUN6RCxZQUFZLEVBQUUsQ0FBQyxDQUFDLDZCQUE2QjtvQkFDL0MsQ0FBQztvQkFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO3dCQUNmLE9BQU8sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLEVBQUUsS0FBSyxDQUFDLENBQUM7b0JBQ25ELENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDO1lBRUQsTUFBTSwwQkFBMEIsR0FBRyxDQUFDLFFBQWdCLEVBQUUsVUFBa0IsRUFBRSxVQUFtQixLQUFLLEVBQUUsRUFBRTtnQkFDcEcsTUFBTSxTQUFTLEdBQUcsSUFBSSxlQUFlLENBQUM7b0JBQ3BDLElBQUksRUFBRSxVQUFVO29CQUNoQixPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU87aUJBQ3BDLENBQUMsQ0FBQztnQkFDSCxNQUFNLEdBQUcsR0FBRyxRQUFRLEdBQUcsa0NBQWtDLEdBQUcsU0FBUyxDQUFDO2dCQUN0RSxPQUFPLEtBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztZQUNoRCxDQUFDLENBQUM7WUFFRixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsR0FBaUIsRUFBRSxFQUFFO2dCQUNyQyxjQUFjLENBQUMsR0FBRyxDQUFDO3FCQUNoQixJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtvQkFDYixXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ3BCLENBQUMsQ0FBQztxQkFDRCxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtvQkFDZixXQUFXLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztnQkFDeEQsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDLENBQUM7WUFDRiw0QkFBNEI7UUFDOUIsQ0FBQyxDQUFDO1FBSUEsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsTUFBTSxjQUFjLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUVoQyxJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ25CLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJO2lCQUMzQixRQUFRLEVBQUU7aUJBQ1YsT0FBTyxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7aUJBQ3pCLE9BQU8sQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFFN0IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVyRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUMvQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM1QixDQUFDLENBQUM7WUFFRixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFO2dCQUM3QixPQUFPLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUN2QyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMxQixDQUFDLENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUM5QyxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUEwQjtRQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBQ0Qsa0VBQWtFO0lBQ2xFLFNBQVM7UUFDUCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3REYXRhIHtcbiAgYmFzZVBhdGg6IHN0cmluZztcbiAgY29sbGVjdGlvbklkOiBzdHJpbmc7XG4gIHNlYXJjaFRlcm06IHN0cmluZztcbiAgb2VyT25seTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIElubGluZVdvcmtlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgd29ya2VyOiBXb3JrZXI7XG4gIHByaXZhdGUgb25NZXNzYWdlID0gbmV3IFN1YmplY3Q8TWVzc2FnZUV2ZW50PigpO1xuICBwcml2YXRlIG9uRXJyb3IgPSBuZXcgU3ViamVjdDxFcnJvckV2ZW50PigpO1xuXG4gIHByaXZhdGUgZnVuYyA9ICgpID0+IHtcbiAgICAvLyBTVEFSVCBPRiBXT1JLRVIgVEhSRUFEIENPREVcbiAgICBjb25zb2xlLmRlYnVnKCdTdGFydCB3b3JrZXIgdGhyZWFkLCB3YWl0IGZvciBwb3N0TWVzc2FnZTogJyk7XG5cbiAgICBjb25zdCBtYXhDb25jdXJyZW50UmVxdWVzdHMgPSAxMDsgLy8gTGltaXQgdGhlIG51bWJlciBvZiBjb25jdXJyZW50IGZldGNoIHJlcXVlc3RzXG4gICAgbGV0IGFjdGl2ZVJlcXVlc3RzID0gMDtcbiAgICBsZXQgcmVxdWVzdFF1ZXVlOiB7IGRhdGE6IFJlcXVlc3REYXRhOyByZXNvbHZlOiBhbnk7IHJlamVjdDogYW55IH1bXSA9IFtdO1xuXG4gICAgLy8gRnVuY3Rpb24gdG8gcHJvY2VzcyB0aGUgbmV4dCByZXF1ZXN0IGluIHRoZSBxdWV1ZVxuICAgIGZ1bmN0aW9uIHByb2Nlc3NRdWV1ZSgpIHtcbiAgICAgIGlmIChhY3RpdmVSZXF1ZXN0cyA+PSBtYXhDb25jdXJyZW50UmVxdWVzdHMgfHwgcmVxdWVzdFF1ZXVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm47IC8vIEV4aXQgaWYgbWF4IHJlcXVlc3RzIGFyZSBhY3RpdmUgb3IgcXVldWUgaXMgZW1wdHlcbiAgICAgIH1cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGNvbnN0IHsgZGF0YSwgcmVzb2x2ZSwgcmVqZWN0IH0gPSByZXF1ZXN0UXVldWUuc2hpZnQoKTtcbiAgICAgIGFjdGl2ZVJlcXVlc3RzKys7XG5cbiAgICAgIC8vIFBlcmZvcm0gdGhlIGZldGNoIHJlcXVlc3RcbiAgICAgIGNvbnN0IHsgYmFzZVBhdGgsIGNvbGxlY3Rpb25JZCwgc2VhcmNoVGVybSwgb2VyT25seSB9ID0gZGF0YTtcbiAgICAgIHNlYXJjaEZvclR5cGVBbmRDb2xsZWN0aW9uKGJhc2VQYXRoLCBzZWFyY2hUZXJtLCBvZXJPbmx5KVxuICAgICAgICAudGhlbigocmVzcG9uc2UpID0+IChyZXNwb25zZS5vayA/IHJlc3BvbnNlIDogUHJvbWlzZS5yZWplY3QocmVzcG9uc2UpKSlcbiAgICAgICAgLnRoZW4oKHJlc3BvbnNlKSA9PiByZXNwb25zZS5qc29uKCkpXG4gICAgICAgIC50aGVuKChkYXRhKSA9PiB7XG4gICAgICAgICAgcmVzb2x2ZSh7IGNvbGxlY3Rpb25JZCwgZGF0YSB9KTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgIHJlamVjdChlcnJvcik7IC8vIEhhbmRsZSB0aGUgZXJyb3JcbiAgICAgICAgfSlcbiAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgIGFjdGl2ZVJlcXVlc3RzLS07IC8vIERlY3JlbWVudCBhY3RpdmUgcmVxdWVzdCBjb3VudFxuICAgICAgICAgIHByb2Nlc3NRdWV1ZSgpOyAvLyBQcm9jZXNzIHRoZSBuZXh0IHJlcXVlc3QgaW4gdGhlIHF1ZXVlXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIEFkZCBhIG5ldyBmZXRjaCByZXF1ZXN0IHRvIHRoZSBxdWV1ZVxuICAgIGZ1bmN0aW9uIGVucXVldWVSZXF1ZXN0KGV2ZW50OiBNZXNzYWdlRXZlbnQpIHtcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcmVxdWVzdFF1ZXVlLnB1c2goeyBkYXRhOiBldmVudC5kYXRhLCByZXNvbHZlLCByZWplY3QgfSk7XG4gICAgICAgICAgcHJvY2Vzc1F1ZXVlKCk7IC8vIFN0YXJ0IHByb2Nlc3NpbmcgdGhlIHF1ZXVlXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZW5xdWV1aW5nIHJlcXVlc3Q6JywgZXJyb3IpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBzZWFyY2hGb3JUeXBlQW5kQ29sbGVjdGlvbiA9IChiYXNlUGF0aDogc3RyaW5nLCBzZWFyY2hUZXJtOiBzdHJpbmcsIG9lck9ubHk6IGJvb2xlYW4gPSBmYWxzZSkgPT4ge1xuICAgICAgY29uc3QgdXJsUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh7XG4gICAgICAgIHRlcm06IHNlYXJjaFRlcm0sXG4gICAgICAgIG9lck9ubHk6IG9lck9ubHkgPyAndHJ1ZScgOiAnZmFsc2UnLFxuICAgICAgfSk7XG4gICAgICBjb25zdCB1cmwgPSBiYXNlUGF0aCArICcvY29sbGVjdGlvbnMvdjIvbWF0ZXJpYWwvc2VhcmNoPycgKyB1cmxQYXJhbXM7XG4gICAgICByZXR1cm4gZmV0Y2godXJsLCB7IGNyZWRlbnRpYWxzOiAnaW5jbHVkZScgfSk7XG4gICAgfTtcblxuICAgIHNlbGYub25tZXNzYWdlID0gKGV2dDogTWVzc2FnZUV2ZW50KSA9PiB7XG4gICAgICBlbnF1ZXVlUmVxdWVzdChldnQpXG4gICAgICAgIC50aGVuKChkYXRhKSA9PiB7XG4gICAgICAgICAgcG9zdE1lc3NhZ2UoZGF0YSk7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICBwb3N0TWVzc2FnZSh7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvcjogZXJyb3IubWVzc2FnZSB9KTtcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICAvLyBFTkQgT0YgV09SS0VSIFRIUkVBRCBDT0RFXG4gIH07XG4gIHByaXZhdGUgYmFzZVBhdGg6IGFueTtcblxuICBjb25zdHJ1Y3Rvcih7IGJhc2VQYXRoIH06IHsgYmFzZVBhdGg6IHN0cmluZyB9KSB7XG4gICAgdGhpcy5iYXNlUGF0aCA9IGJhc2VQYXRoO1xuICAgIGNvbnN0IFdPUktFUl9FTkFCTEVEID0gISFXb3JrZXI7XG5cbiAgICBpZiAoV09SS0VSX0VOQUJMRUQpIHtcbiAgICAgIGNvbnN0IGZ1bmN0aW9uQm9keSA9IHRoaXMuZnVuY1xuICAgICAgICAudG9TdHJpbmcoKVxuICAgICAgICAucmVwbGFjZSgvXltee10qe1xccyovLCAnJylcbiAgICAgICAgLnJlcGxhY2UoL1xccyp9W159XSokLywgJycpO1xuXG4gICAgICB0aGlzLndvcmtlciA9IG5ldyBXb3JrZXIoVVJMLmNyZWF0ZU9iamVjdFVSTChuZXcgQmxvYihbZnVuY3Rpb25Cb2R5XSwgeyB0eXBlOiAndGV4dC9qYXZhc2NyaXB0JyB9KSkpO1xuXG4gICAgICB0aGlzLndvcmtlci5vbm1lc3NhZ2UgPSAoZGF0YSkgPT4ge1xuICAgICAgICB0aGlzLm9uTWVzc2FnZS5uZXh0KGRhdGEpO1xuICAgICAgfTtcblxuICAgICAgdGhpcy53b3JrZXIub25lcnJvciA9IChkYXRhKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ3dvcmtlcnMgZXJyb3I6ICcsIGRhdGEpO1xuICAgICAgICB0aGlzLm9uRXJyb3IubmV4dChkYXRhKTtcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignV2ViV29ya2VyIGlzIG5vdCBlbmFibGVkJyk7XG4gICAgfVxuICB9XG5cbiAgcG9zdE1lc3NhZ2UoZGF0YTogUGFydGlhbDxSZXF1ZXN0RGF0YT4pIHtcbiAgICB0aGlzLndvcmtlci5wb3N0TWVzc2FnZSh7IGJhc2VQYXRoOiB0aGlzLmJhc2VQYXRoLCAuLi5kYXRhIH0pO1xuICB9XG5cbiAgb25tZXNzYWdlKCk6IE9ic2VydmFibGU8TWVzc2FnZUV2ZW50PiB7XG4gICAgcmV0dXJuIHRoaXMub25NZXNzYWdlLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgb25lcnJvcigpOiBPYnNlcnZhYmxlPEVycm9yRXZlbnQ+IHtcbiAgICByZXR1cm4gdGhpcy5vbkVycm9yLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG4gIC8vVE9ETzogaW1wbGVtZW50IGdyYWNlZnVsIHNodXRkb3duIGFuZCBhYm9ydCBvdXRzdGFuZGluZyByZXF1ZXN0c1xuICB0ZXJtaW5hdGUoKSB7XG4gICAgaWYgKHRoaXMud29ya2VyKSB7XG4gICAgICB0aGlzLndvcmtlci50ZXJtaW5hdGUoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLXdvcmtlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1ldGEtd2lkZ2V0cy1saWIvc3JjL2xpYi90cmVlLXNlYXJjaC1jb3VudHMvaW5saW5lLXdvcmtlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBUTNDLE1BQU0sT0FBTyxZQUFZO0lBMkV2QixZQUFZLEVBQUUsUUFBUSxFQUF3QjtRQXpFdEMsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFnQixDQUFDO1FBQ3hDLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBYyxDQUFDO1FBRXBDLFNBQUksR0FBRyxHQUFHLEVBQUU7WUFDbEIsOEJBQThCO1lBQzlCLE9BQU8sQ0FBQyxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQztZQUU3RCxNQUFNLHFCQUFxQixHQUFHLEVBQUUsQ0FBQyxDQUFDLGdEQUFnRDtZQUNsRixJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUM7WUFDdkIsSUFBSSxZQUFZLEdBQXVELEVBQUUsQ0FBQztZQUUxRSxvREFBb0Q7WUFDcEQsU0FBUyxZQUFZO2dCQUNuQixJQUFJLGNBQWMsSUFBSSxxQkFBcUIsSUFBSSxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUN6RSxPQUFPLENBQUMsb0RBQW9EO2dCQUM5RCxDQUFDO2dCQUNELGFBQWE7Z0JBQ2IsTUFBTSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUN2RCxjQUFjLEVBQUUsQ0FBQztnQkFFakIsNEJBQTRCO2dCQUM1QixNQUFNLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDO2dCQUM3RCwwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFF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RUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBQ0Qsa0VBQWtFO0lBQ2xFLFNBQVM7UUFDUCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3REYXRhIHtcbiAgYmFzZVBhdGg6IHN0cmluZztcbiAgY29sbGVjdGlvbklkOiBzdHJpbmc7XG4gIHNlYXJjaFRlcm06IHN0cmluZztcbiAgb2VyT25seTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIElubGluZVdvcmtlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgd29ya2VyOiBXb3JrZXI7XG4gIHByaXZhdGUgb25NZXNzYWdlID0gbmV3IFN1YmplY3Q8TWVzc2FnZUV2ZW50PigpO1xuICBwcml2YXRlIG9uRXJyb3IgPSBuZXcgU3ViamVjdDxFcnJvckV2ZW50PigpO1xuXG4gIHByaXZhdGUgZnVuYyA9ICgpID0+IHtcbiAgICAvLyBTVEFSVCBPRiBXT1JLRVIgVEhSRUFEIENPREVcbiAgICBjb25zb2xlLmRlYnVnKCdTdGFydCB3b3JrZXIgdGhyZWFkLCB3YWl0IGZvciBwb3N0TWVzc2FnZTogJyk7XG5cbiAgICBjb25zdCBtYXhDb25jdXJyZW50UmVxdWVzdHMgPSAxMDsgLy8gTGltaXQgdGhlIG51bWJlciBvZiBjb25jdXJyZW50IGZldGNoIHJlcXVlc3RzXG4gICAgbGV0IGFjdGl2ZVJlcXVlc3RzID0gMDtcbiAgICBsZXQgcmVxdWVzdFF1ZXVlOiB7IGRhdGE6IFJlcXVlc3REYXRhOyByZXNvbHZlOiBhbnk7IHJlamVjdDogYW55IH1bXSA9IFtdO1xuXG4gICAgLy8gRnVuY3Rpb24gdG8gcHJvY2VzcyB0aGUgbmV4dCByZXF1ZXN0IGluIHRoZSBxdWV1ZVxuICAgIGZ1bmN0aW9uIHByb2Nlc3NRdWV1ZSgpIHtcbiAgICAgIGlmIChhY3RpdmVSZXF1ZXN0cyA+PSBtYXhDb25jdXJyZW50UmVxdWVzdHMgfHwgcmVxdWVzdFF1ZXVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm47IC8vIEV4aXQgaWYgbWF4IHJlcXVlc3RzIGFyZSBhY3RpdmUgb3IgcXVldWUgaXMgZW1wdHlcbiAgICAgIH1cbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGNvbnN0IHsgZGF0YSwgcmVzb2x2ZSwgcmVqZWN0IH0gPSByZXF1ZXN0UXVldWUuc2hpZnQoKTtcbiAgICAgIGFjdGl2ZVJlcXVlc3RzKys7XG5cbiAgICAgIC8vIFBlcmZvcm0gdGhlIGZldGNoIHJlcXVlc3RcbiAgICAgIGNvbnN0IHsgYmFzZVBhdGgsIGNvbGxlY3Rpb25JZCwgc2VhcmNoVGVybSwgb2VyT25seSB9ID0gZGF0YTtcbiAgICAgIHNlYXJjaEZvclR5cGVBbmRDb2xsZWN0aW9uKGJhc2VQYXRoLCBzZWFyY2hUZXJtLCBvZXJPbmx5KVxuICAgICAgICAudGhlbihcbiAgICAgICAgICAocmVzcG9uc2UpID0+IChyZXNwb25zZS5vayA/IHJlc3BvbnNlIDogUHJvbWlzZS5yZWplY3QocmVzcG9uc2UpKSxcbiAgICAgICAgICAoZXJyb3IpID0+IFByb21pc2UucmVqZWN0KGVycm9yKVxuICAgICAgICApXG4gICAgICAgIC50aGVuKChyZXNwb25zZSkgPT4gcmVzcG9uc2UuanNvbigpKVxuICAgICAgICAudGhlbigoZGF0YSkgPT4ge1xuICAgICAgICAgIHJlc29sdmUoeyBjb2xsZWN0aW9uSWQsIGRhdGEgfSk7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICByZWplY3QoZXJyb3IpOyAvLyBIYW5kbGUgdGhlIGVycm9yXG4gICAgICAgIH0pXG4gICAgICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICBhY3RpdmVSZXF1ZXN0cy0tOyAvLyBEZWNyZW1lbnQgYWN0aXZlIHJlcXVlc3QgY291bnRcbiAgICAgICAgICBwcm9jZXNzUXVldWUoKTsgLy8gUHJvY2VzcyB0aGUgbmV4dCByZXF1ZXN0IGluIHRoZSBxdWV1ZVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBBZGQgYSBuZXcgZmV0Y2ggcmVxdWVzdCB0byB0aGUgcXVldWVcbiAgICBmdW5jdGlvbiBlbnF1ZXVlUmVxdWVzdChldmVudDogTWVzc2FnZUV2ZW50KSB7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHJlcXVlc3RRdWV1ZS5wdXNoKHsgZGF0YTogZXZlbnQuZGF0YSwgcmVzb2x2ZSwgcmVqZWN0IH0pO1xuICAgICAgICAgIHByb2Nlc3NRdWV1ZSgpOyAvLyBTdGFydCBwcm9jZXNzaW5nIHRoZSBxdWV1ZVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGVucXVldWluZyByZXF1ZXN0OicsIGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2VhcmNoRm9yVHlwZUFuZENvbGxlY3Rpb24gPSAoYmFzZVBhdGg6IHN0cmluZywgc2VhcmNoVGVybTogc3RyaW5nLCBvZXJPbmx5OiBib29sZWFuID0gZmFsc2UpID0+IHtcbiAgICAgIC8vc3RyaXAgdHJhaWxpbmcgc2xhc2ggZnJvbSBiYXNlUGF0aCwgaWYgcHJlc2VudFxuICAgICAgY29uc3Qgc2VhcmNoVXJsID0gbmV3IFVSTChiYXNlUGF0aC5yZXBsYWNlKC9cXC8kLywgJycpICsgJy9jb2xsZWN0aW9ucy92Mi9tYXRlcmlhbC9zZWFyY2gnKTtcbiAgICAgIHNlYXJjaFVybC5zZWFyY2hQYXJhbXMuc2V0KCd0ZXJtJywgc2VhcmNoVGVybSk7XG4gICAgICBzZWFyY2hVcmwuc2VhcmNoUGFyYW1zLnNldCgnb2VyT25seScsIG9lck9ubHkgPyAndHJ1ZScgOiAnZmFsc2UnKTtcbiAgICAgIHJldHVybiBmZXRjaChzZWFyY2hVcmwsIHsgY3JlZGVudGlhbHM6ICdpbmNsdWRlJyB9KTtcbiAgICB9O1xuXG4gICAgc2VsZi5vbm1lc3NhZ2UgPSAoZXZ0OiBNZXNzYWdlRXZlbnQpID0+IHtcbiAgICAgIGVucXVldWVSZXF1ZXN0KGV2dClcbiAgICAgICAgLnRoZW4oKGRhdGEpID0+IHtcbiAgICAgICAgICBwb3N0TWVzc2FnZShkYXRhKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xuICAgICAgICAgIHBvc3RNZXNzYWdlKHsgc3VjY2VzczogZmFsc2UsIGVycm9yOiBlcnJvci5tZXNzYWdlIH0pO1xuICAgICAgICB9KTtcbiAgICB9O1xuICAgIC8vIEVORCBPRiBXT1JLRVIgVEhSRUFEIENPREVcbiAgfTtcbiAgcHJpdmF0ZSBiYXNlUGF0aDogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHsgYmFzZVBhdGggfTogeyBiYXNlUGF0aDogc3RyaW5nIH0pIHtcbiAgICB0aGlzLmJhc2VQYXRoID0gYmFzZVBhdGg7XG4gICAgY29uc3QgV09SS0VSX0VOQUJMRUQgPSAhIVdvcmtlcjtcblxuICAgIGlmIChXT1JLRVJfRU5BQkxFRCkge1xuICAgICAgY29uc3QgZnVuY3Rpb25Cb2R5ID0gdGhpcy5mdW5jXG4gICAgICAgIC50b1N0cmluZygpXG4gICAgICAgIC5yZXBsYWNlKC9eW157XSp7XFxzKi8sICcnKVxuICAgICAgICAucmVwbGFjZSgvXFxzKn1bXn1dKiQvLCAnJyk7XG5cbiAgICAgIHRoaXMud29ya2VyID0gbmV3IFdvcmtlcihVUkwuY3JlYXRlT2JqZWN0VVJMKG5ldyBCbG9iKFtmdW5jdGlvbkJvZHldLCB7IHR5cGU6ICd0ZXh0L2phdmFzY3JpcHQnIH0pKSk7XG5cbiAgICAgIHRoaXMud29ya2VyLm9ubWVzc2FnZSA9IChkYXRhKSA9PiB7XG4gICAgICAgIHRoaXMub25NZXNzYWdlLm5leHQoZGF0YSk7XG4gICAgICB9O1xuXG4gICAgICB0aGlzLndvcmtlci5vbmVycm9yID0gKGRhdGEpID0+IHtcbiAgICAgICAgY29uc29sZS5lcnJvcignd29ya2VycyBlcnJvcjogJywgZGF0YSk7XG4gICAgICAgIHRoaXMub25FcnJvci5uZXh0KGRhdGEpO1xuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdXZWJXb3JrZXIgaXMgbm90IGVuYWJsZWQnKTtcbiAgICB9XG4gIH1cblxuICBwb3N0TWVzc2FnZShkYXRhOiBQYXJ0aWFsPFJlcXVlc3REYXRhPikge1xuICAgIHRoaXMud29ya2VyLnBvc3RNZXNzYWdlKHsgYmFzZVBhdGg6IHRoaXMuYmFzZVBhdGgsIC4uLmRhdGEgfSk7XG4gIH1cblxuICBvbm1lc3NhZ2UoKTogT2JzZXJ2YWJsZTxNZXNzYWdlRXZlbnQ+IHtcbiAgICByZXR1cm4gdGhpcy5vbk1lc3NhZ2UuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBvbmVycm9yKCk6IE9ic2VydmFibGU8RXJyb3JFdmVudD4ge1xuICAgIHJldHVybiB0aGlzLm9uRXJyb3IuYXNPYnNlcnZhYmxlKCk7XG4gIH1cbiAgLy9UT0RPOiBpbXBsZW1lbnQgZ3JhY2VmdWwgc2h1dGRvd24gYW5kIGFib3J0IG91dHN0YW5kaW5nIHJlcXVlc3RzXG4gIHRlcm1pbmF0ZSgpIHtcbiAgICBpZiAodGhpcy53b3JrZXIpIHtcbiAgICAgIHRoaXMud29ya2VyLnRlcm1pbmF0ZSgpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input, signal } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Inject, Input, signal, } from '@angular/core';
|
|
2
2
|
import { BehaviorSubject } from 'rxjs';
|
|
3
3
|
import { take } from 'rxjs/operators';
|
|
4
4
|
import { FormControl } from '@angular/forms';
|
|
5
5
|
import { InlineWorker } from './inline-worker';
|
|
6
|
+
import { DOCUMENT } from '@angular/common';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "../meta-api.service";
|
|
8
9
|
import * as i2 from "../config-helper.service";
|
|
@@ -15,10 +16,11 @@ import * as i8 from "@angular/forms";
|
|
|
15
16
|
import * as i9 from "@angular/material/tooltip";
|
|
16
17
|
import * as i10 from "../components/filter/quality-matrix-filter.component";
|
|
17
18
|
export class TreeSearchCountsComponent {
|
|
18
|
-
constructor(metaApi, env, changeDetector) {
|
|
19
|
+
constructor(metaApi, env, changeDetector, document) {
|
|
19
20
|
this.metaApi = metaApi;
|
|
20
21
|
this.env = env;
|
|
21
22
|
this.changeDetector = changeDetector;
|
|
23
|
+
this.document = document;
|
|
22
24
|
/**
|
|
23
25
|
* default max count of columns that should be shown
|
|
24
26
|
*/
|
|
@@ -48,7 +50,10 @@ export class TreeSearchCountsComponent {
|
|
|
48
50
|
if (this.worker) {
|
|
49
51
|
this.worker.terminate();
|
|
50
52
|
}
|
|
51
|
-
|
|
53
|
+
// applications that use us, may provide a relative URL for apiPath.
|
|
54
|
+
// because the Worker runs under a ::blob url, we have to rebase the URL to the search API to the Document, we run in.
|
|
55
|
+
const workerUrl = new URL(this.env.apiPath, this.document.baseURI).toString();
|
|
56
|
+
this.worker = new InlineWorker({ basePath: workerUrl });
|
|
52
57
|
this.worker.onmessage().subscribe((event) => {
|
|
53
58
|
// one message per row
|
|
54
59
|
let total = 0;
|
|
@@ -186,13 +191,16 @@ export class TreeSearchCountsComponent {
|
|
|
186
191
|
get alternatingDataColumns() {
|
|
187
192
|
return this.collectionColumns.flatMap((e, i) => [e, this.searchColumns[i]]);
|
|
188
193
|
}
|
|
189
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TreeSearchCountsComponent, deps: [{ token: i1.MetaApiService }, { token: i2.ConfigHelperService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
194
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TreeSearchCountsComponent, deps: [{ token: i1.MetaApiService }, { token: i2.ConfigHelperService }, { token: i0.ChangeDetectorRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
190
195
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TreeSearchCountsComponent, selector: "metaqs2-tree-search-counts", inputs: { pageTitle: "pageTitle" }, ngImport: i0, template: "<mat-card appearance=\"raised\">\n<mat-card-header *ngIf=\"pageTitle\">\n <mat-card-title>\n Material in Sammlungen{{isLoading() ? \": Lade neue Daten.\" : \"\"}}</mat-card-title\n >\n</mat-card-header>\n<mat-card-content>\n<!-- consider to put the filter in the table header to avoid that it is scrolled out of view-->\n <metaqs2-qm-filter\n aria-disabled=\"true\"\n [label]=\"'Sammlung'\"\n [options]=\"collections$ | async\"\n [multiple]=\"false\"\n [inputFormControl]=\"selectedCollection\"\n >\n </metaqs2-qm-filter>\n\n</mat-card-content>\n</mat-card>\n<mat-card>\n <table [ngClass]=\"{'while-loading': isLoading()}\" mat-table [dataSource]=\"materialCounts.rows\" *ngIf=\"columns\" class=\"quality-matrix\">\n <!-- Define columns of table -->\n <!-- Label Column -->\n <ng-container matColumnDef=\"label-col\" sticky>\n <th rowspan=\"2\" mat-header-cell *matHeaderCellDef>Sammlung\n <div >\n <mat-slide-toggle labelPosition=\"before\" class=\"toggle\" [formControl]=\"showOERonly\" >\n zeige nur OER\n </mat-slide-toggle>\n </div>\n <div>\n <mat-slide-toggle labelPosition=\"before\" class=\"toggle\" [formControl]=\"showAllColumns\" >\n zeige alle Typen\n </mat-slide-toggle>\n </div>\n </th>\n <td\n mat-cell\n *matCellDef=\"let row\"\n matTooltip=\"{{row.meta.alt_label}}\"\n class=\"label-col {{'mat-cell-level-' + (row.meta.level+1)}}\"\n >\n <a (click)=\"openCollection(row.meta.id)\">\n <mat-icon [svgIcon]=\"row.meta.level<=1?'layers':'child'\" />\n {{ row.meta.label }}\n </a>\n </td>\n </ng-container>\n <!-- one column for the MaterialType spanning the collection and search columns-->\n <ng-container *ngFor=\"let col of filteredColumns; trackBy:columnIdent\" [matColumnDef]=\"col.id + '_type'\">\n <th [attr.colspan]=\"2\" mat-header-cell *matHeaderCellDef class='mat-cell-level-\"{{col.level}}\"' matTooltip=\"{{col.label}}\" >{{col.label}}</th>\n </ng-container>\n <!-- /source -->\n <!-- collection Data Columns -->\n <ng-container *ngFor=\"let column of filteredColumns; trackBy:columnIdent\" [matColumnDef]=\"column.id + COLLECTION_POSTFIX\">\n <th mat-header-cell *matHeaderCellDef matTooltip=\"{{column.label}}\" >in Sammlung</th>\n <td [class.noMaterial]=\"!row.counts[column.id]?.sufficient || row.counts[column.id]?.sufficient <= 1\"\n [class.fewMaterials]=\"1 < row.counts[column.id]?.sufficient && row.counts[column.id]?.sufficient <= 3\"\n class=\"collection-data-cell\"\n mat-cell *matCellDef=\"let row\">\n <a (click)=\"showCollectionItems(row.meta.id, row.meta.label, column.id)\">\n {{ row.counts[column.id]?.sufficient || '0' }}\n </a>\n </td>\n </ng-container>\n <!-- /collection Data Columns -->\n <!-- search Data Columns -->\n <ng-container *ngFor=\"let column of filteredColumns let index = index; trackBy:columnIdent\" [matColumnDef]=\"column.id + SEARCH_POSTFIX\">\n <th mat-header-cell *matHeaderCellDef>Suche</th>\n <td class=\"search-data-cell\" mat-cell *matCellDef=\"let row\">\n <a (click)=\"searchInEditor(column.id, row.meta.label)\">\n <ng-container *ngIf=\"(( searchCounts | async)?.has(column.id + '_' + row.meta.id) ) else zeroOrLoading\">\n {{ (searchCounts | async)?.get(column.id + '_' + row.meta.id) }}\n </ng-container>\n <ng-template #zeroOrLoading>\n <ng-container *ngIf=\"rowsLoaded.has(row.meta.id) else loadingBlock\"> 0 </ng-container>\n </ng-template>\n <ng-template #loadingBlock>\n loading\u2026\n </ng-template>\n </a>\n </td>\n </ng-container>\n <!-- /search Data Columns -->\n <!-- Generate actual table -->\n <tr mat-header-row *matHeaderRowDef=\"['label-col'].concat( typeColumns ); sticky: true;\"></tr>\n <tr mat-header-row *matHeaderRowDef=\"alternatingDataColumns; sticky: true;\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: ['label-col'].concat(alternatingDataColumns)\"></tr>\n </table>\n</mat-card>", styles: ["tr:nth-child(2n){background-color:#e4e4e4}tr:nth-child(2n)>.mat-column-label-col,tr:nth-child(2n) .search-data-cell{border-right-color:#fff}.search-data-cell,.mat-mdc-header-cell,.mat-column-label-col{border-right:1px solid #e4e4e4}.search-data-cell mat-icon,.mat-mdc-header-cell mat-icon,.mat-column-label-col mat-icon{color:var(--mat-table-row-item-label-text-color);height:16px;padding-right:5px;font-size:16px}.mat-mdc-header-cell,.mat-mdc-cell{padding-left:5px;text-align:center}.mat-mdc-header-cell a,.mat-mdc-cell a{cursor:pointer;text-decoration:underline}.mat-mdc-header-cell a:hover,.mat-mdc-cell a:hover{text-decoration:underline}.label-col a{text-decoration:none;align-items:center;display:flex}.mat-column-totals_collection.noMaterial{background-color:#fad6da}.mat-column-totals_collection.fewMaterials{background-color:#fff1d6}.mat-cell-level-1{padding-left:20px!important;text-align:left}.mat-cell-level-2{padding-left:40px!important;text-align:left}.mat-cell-level-3{padding-left:60px!important;text-align:left}.mat-cell-level-4{padding-left:80px!important;text-align:left}.mat-cell-level-5{padding-left:100px!important;text-align:left}.mat-cell-level-6{padding-left:120px!important;text-align:left}.mat-cell-level-7{padding-left:140px!important;text-align:left}.mat-cell-level-8{padding-left:160px!important;text-align:left}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i4.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "component", type: i7.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i7.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i7.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i7.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i7.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i7.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i7.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i7.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i7.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i7.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i9.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i10.QualityMatrixFilterComponent, selector: "metaqs2-qm-filter", inputs: ["options", "inputFormControl", "label", "multiple"], outputs: ["changedFilters"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
191
196
|
}
|
|
192
197
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TreeSearchCountsComponent, decorators: [{
|
|
193
198
|
type: Component,
|
|
194
199
|
args: [{ selector: 'metaqs2-tree-search-counts', changeDetection: ChangeDetectionStrategy.OnPush, template: "<mat-card appearance=\"raised\">\n<mat-card-header *ngIf=\"pageTitle\">\n <mat-card-title>\n Material in Sammlungen{{isLoading() ? \": Lade neue Daten.\" : \"\"}}</mat-card-title\n >\n</mat-card-header>\n<mat-card-content>\n<!-- consider to put the filter in the table header to avoid that it is scrolled out of view-->\n <metaqs2-qm-filter\n aria-disabled=\"true\"\n [label]=\"'Sammlung'\"\n [options]=\"collections$ | async\"\n [multiple]=\"false\"\n [inputFormControl]=\"selectedCollection\"\n >\n </metaqs2-qm-filter>\n\n</mat-card-content>\n</mat-card>\n<mat-card>\n <table [ngClass]=\"{'while-loading': isLoading()}\" mat-table [dataSource]=\"materialCounts.rows\" *ngIf=\"columns\" class=\"quality-matrix\">\n <!-- Define columns of table -->\n <!-- Label Column -->\n <ng-container matColumnDef=\"label-col\" sticky>\n <th rowspan=\"2\" mat-header-cell *matHeaderCellDef>Sammlung\n <div >\n <mat-slide-toggle labelPosition=\"before\" class=\"toggle\" [formControl]=\"showOERonly\" >\n zeige nur OER\n </mat-slide-toggle>\n </div>\n <div>\n <mat-slide-toggle labelPosition=\"before\" class=\"toggle\" [formControl]=\"showAllColumns\" >\n zeige alle Typen\n </mat-slide-toggle>\n </div>\n </th>\n <td\n mat-cell\n *matCellDef=\"let row\"\n matTooltip=\"{{row.meta.alt_label}}\"\n class=\"label-col {{'mat-cell-level-' + (row.meta.level+1)}}\"\n >\n <a (click)=\"openCollection(row.meta.id)\">\n <mat-icon [svgIcon]=\"row.meta.level<=1?'layers':'child'\" />\n {{ row.meta.label }}\n </a>\n </td>\n </ng-container>\n <!-- one column for the MaterialType spanning the collection and search columns-->\n <ng-container *ngFor=\"let col of filteredColumns; trackBy:columnIdent\" [matColumnDef]=\"col.id + '_type'\">\n <th [attr.colspan]=\"2\" mat-header-cell *matHeaderCellDef class='mat-cell-level-\"{{col.level}}\"' matTooltip=\"{{col.label}}\" >{{col.label}}</th>\n </ng-container>\n <!-- /source -->\n <!-- collection Data Columns -->\n <ng-container *ngFor=\"let column of filteredColumns; trackBy:columnIdent\" [matColumnDef]=\"column.id + COLLECTION_POSTFIX\">\n <th mat-header-cell *matHeaderCellDef matTooltip=\"{{column.label}}\" >in Sammlung</th>\n <td [class.noMaterial]=\"!row.counts[column.id]?.sufficient || row.counts[column.id]?.sufficient <= 1\"\n [class.fewMaterials]=\"1 < row.counts[column.id]?.sufficient && row.counts[column.id]?.sufficient <= 3\"\n class=\"collection-data-cell\"\n mat-cell *matCellDef=\"let row\">\n <a (click)=\"showCollectionItems(row.meta.id, row.meta.label, column.id)\">\n {{ row.counts[column.id]?.sufficient || '0' }}\n </a>\n </td>\n </ng-container>\n <!-- /collection Data Columns -->\n <!-- search Data Columns -->\n <ng-container *ngFor=\"let column of filteredColumns let index = index; trackBy:columnIdent\" [matColumnDef]=\"column.id + SEARCH_POSTFIX\">\n <th mat-header-cell *matHeaderCellDef>Suche</th>\n <td class=\"search-data-cell\" mat-cell *matCellDef=\"let row\">\n <a (click)=\"searchInEditor(column.id, row.meta.label)\">\n <ng-container *ngIf=\"(( searchCounts | async)?.has(column.id + '_' + row.meta.id) ) else zeroOrLoading\">\n {{ (searchCounts | async)?.get(column.id + '_' + row.meta.id) }}\n </ng-container>\n <ng-template #zeroOrLoading>\n <ng-container *ngIf=\"rowsLoaded.has(row.meta.id) else loadingBlock\"> 0 </ng-container>\n </ng-template>\n <ng-template #loadingBlock>\n loading\u2026\n </ng-template>\n </a>\n </td>\n </ng-container>\n <!-- /search Data Columns -->\n <!-- Generate actual table -->\n <tr mat-header-row *matHeaderRowDef=\"['label-col'].concat( typeColumns ); sticky: true;\"></tr>\n <tr mat-header-row *matHeaderRowDef=\"alternatingDataColumns; sticky: true;\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: ['label-col'].concat(alternatingDataColumns)\"></tr>\n </table>\n</mat-card>", styles: ["tr:nth-child(2n){background-color:#e4e4e4}tr:nth-child(2n)>.mat-column-label-col,tr:nth-child(2n) .search-data-cell{border-right-color:#fff}.search-data-cell,.mat-mdc-header-cell,.mat-column-label-col{border-right:1px solid #e4e4e4}.search-data-cell mat-icon,.mat-mdc-header-cell mat-icon,.mat-column-label-col mat-icon{color:var(--mat-table-row-item-label-text-color);height:16px;padding-right:5px;font-size:16px}.mat-mdc-header-cell,.mat-mdc-cell{padding-left:5px;text-align:center}.mat-mdc-header-cell a,.mat-mdc-cell a{cursor:pointer;text-decoration:underline}.mat-mdc-header-cell a:hover,.mat-mdc-cell a:hover{text-decoration:underline}.label-col a{text-decoration:none;align-items:center;display:flex}.mat-column-totals_collection.noMaterial{background-color:#fad6da}.mat-column-totals_collection.fewMaterials{background-color:#fff1d6}.mat-cell-level-1{padding-left:20px!important;text-align:left}.mat-cell-level-2{padding-left:40px!important;text-align:left}.mat-cell-level-3{padding-left:60px!important;text-align:left}.mat-cell-level-4{padding-left:80px!important;text-align:left}.mat-cell-level-5{padding-left:100px!important;text-align:left}.mat-cell-level-6{padding-left:120px!important;text-align:left}.mat-cell-level-7{padding-left:140px!important;text-align:left}.mat-cell-level-8{padding-left:160px!important;text-align:left}\n"] }]
|
|
195
|
-
}], ctorParameters: () => [{ type: i1.MetaApiService }, { type: i2.ConfigHelperService }, { type: i0.ChangeDetectorRef }
|
|
200
|
+
}], ctorParameters: () => [{ type: i1.MetaApiService }, { type: i2.ConfigHelperService }, { type: i0.ChangeDetectorRef }, { type: Document, decorators: [{
|
|
201
|
+
type: Inject,
|
|
202
|
+
args: [DOCUMENT]
|
|
203
|
+
}] }], propDecorators: { pageTitle: [{
|
|
196
204
|
type: Input
|
|
197
205
|
}] } });
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1zZWFyY2gtY291bnRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1ldGEtd2lkZ2V0cy1saWIvc3JjL2xpYi90cmVlLXNlYXJjaC1jb3VudHMvdHJlZS1zZWFyY2gtY291bnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1ldGEtd2lkZ2V0cy1saWIvc3JjL2xpYi90cmVlLXNlYXJjaC1jb3VudHMvdHJlZS1zZWFyY2gtY291bnRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXRDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7Ozs7OztBQWUvQyxNQUFNLE9BQU8seUJBQXlCO0lBd0JwQyxZQUNtQixPQUF1QixFQUNoQyxHQUF3QixFQUNmLGNBQWlDO1FBRmpDLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ2hDLFFBQUcsR0FBSCxHQUFHLENBQXFCO1FBQ2YsbUJBQWMsR0FBZCxjQUFjLENBQW1CO1FBMUJwRDs7V0FFRztRQUNNLHlCQUFvQixHQUFHLENBQUMsQ0FBQztRQUN6Qix1QkFBa0IsR0FBRyxhQUFhLENBQUM7UUFDbkMsbUJBQWMsR0FBRyxTQUFTLENBQUM7UUFDM0IsaUJBQVksR0FBbUMsSUFBSSxlQUFlLENBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQ3RGLGlCQUFZLEdBQUcsSUFBSSxlQUFlLENBQXNCLElBQUks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VztRQUNiLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBSSxpQkFBaUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxJQUFJLHNCQUFzQjtRQUN4QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5RSxDQUFDOytHQWpOVSx5QkFBeUI7bUdBQXpCLHlCQUF5QixzR0N0QnRDLHNwSUF5Rlc7OzRGRG5FRSx5QkFBeUI7a0JBTnJDLFNBQVM7K0JBQ0UsNEJBQTRCLG1CQUdyQix1QkFBdUIsQ0FBQyxNQUFNO3FKQXdCckMsU0FBUztzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWV0YUFwaVNlcnZpY2UgfSBmcm9tICcuLi9tZXRhLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpZ0hlbHBlclNlcnZpY2UgfSBmcm9tICcuLi9jb25maWctaGVscGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmlsdGVyVmFsdWUsIFF1YWxpdHlNYXRyaXggfSBmcm9tICcuLi9qYXZhLWFwaSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElubGluZVdvcmtlciB9IGZyb20gJy4vaW5saW5lLXdvcmtlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YUNvbHVtbiB7XG4gIGlkOiBzdHJpbmc7XG4gIGljb246IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgbGV2ZWw/OiBudW1iZXI7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21ldGFxczItdHJlZS1zZWFyY2gtY291bnRzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RyZWUtc2VhcmNoLWNvdW50cy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RyZWUtc2VhcmNoLWNvdW50cy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHJlZVNlYXJjaENvdW50c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIGRlZmF1bHQgbWF4IGNvdW50IG9mIGNvbHVtbnMgdGhhdCBzaG91bGQgYmUgc2hvd25cbiAgICovXG4gIHJlYWRvbmx5IERFRkFVTFRfQ09MVU1OX0xJTUlUID0gNjtcbiAgcmVhZG9ubHkgQ09MTEVDVElPTl9QT1NURklYID0gJ19jb2xsZWN0aW9uJztcbiAgcmVhZG9ubHkgU0VBUkNIX1BPU1RGSVggPSAnX3NlYXJjaCc7XG4gIHJlYWRvbmx5IGNvbGxlY3Rpb25zJDogQmVoYXZpb3JTdWJqZWN0PEZpbHRlclZhbHVlW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGaWx0ZXJWYWx1ZVtdPihbXSk7XG4gIHJlYWRvbmx5IHNlYXJjaENvdW50cyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWFwPHN0cmluZywgbnVtYmVyPj4obmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oKSk7XG4gIHJlYWRvbmx5IHNob3dPRVJvbmx5ID0gbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6IHRydWUsIGRpc2FibGVkOiBmYWxzZSB9LCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pO1xuICByZWFkb25seSBzaG93QWxsQ29sdW1ucyA9IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiBmYWxzZSwgZGlzYWJsZWQ6IGZhbHNlIH0sIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG4gIHJlYWRvbmx5IHNlbGVjdGVkQ29sbGVjdGlvbiA9IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pO1xuXG4gIC8vIGNvbnZlcnQgdGhpcyBpbiBhbiBPYmVzZXJ2YWJsZVxuICBwcm90ZWN0ZWQgbWF0ZXJpYWxDb3VudHM6IFF1YWxpdHlNYXRyaXg7XG4gIHB1YmxpYyBjb2x1bW5zOiBEYXRhQ29sdW1uW107XG4gIHByb3RlY3RlZCByb3dzTG9hZGVkOiBNYXA8c3RyaW5nLCBib29sZWFuPiA9IG5ldyBNYXA8c3RyaW5nLCBib29sZWFuPigpO1xuXG4gIGlzTG9hZGluZyA9IHNpZ25hbCh0cnVlKTtcbiAgcHJpdmF0ZSB3b3JrZXI6IElubGluZVdvcmtlcjtcblxuICBASW5wdXQoKVxuICBwcm90ZWN0ZWQgcGFnZVRpdGxlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBtZXRhQXBpOiBNZXRhQXBpU2VydmljZSxcbiAgICBwcml2YXRlIGVudjogQ29uZmlnSGVscGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbml0Q29sbGVjdGlvbnNGaWx0ZXIoKTtcbiAgICB0aGlzLmluaXRPZXJGaWx0ZXIoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLndvcmtlcikge1xuICAgICAgdGhpcy53b3JrZXIudGVybWluYXRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBsZXRUaGVXb3JrZXJTZWFyY2goKTogdm9pZCB7XG4gICAgdGhpcy5zZWFyY2hDb3VudHMubmV4dChuZXcgTWFwPHN0cmluZywgbnVtYmVyPigpKTtcbiAgICB0aGlzLnJvd3NMb2FkZWQuY2xlYXIoKTtcbiAgICBpZiAodGhpcy53b3JrZXIpIHtcbiAgICAgIHRoaXMud29ya2VyLnRlcm1pbmF0ZSgpO1xuICAgIH1cbiAgICB0aGlzLndvcmtlciA9IG5ldyBJbmxpbmVXb3JrZXIoeyBiYXNlUGF0aDogdGhpcy5lbnYuYXBpUGF0aCB9KTtcbiAgICB0aGlzLndvcmtlci5vbm1lc3NhZ2UoKS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAvLyBvbmUgbWVzc2FnZSBwZXIgcm93XG4gICAgICBsZXQgdG90YWwgPSAwO1xuXG4gICAgICBPYmplY3QuZW50cmllcyhldmVudC5kYXRhLmRhdGEpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICAvLyBrZXkgaXMgdGhlIG1hdGVyaWFsIHR5cGUsIHZhbHVlIGlzIHRoZSBjb3VudFxuICAgICAgICBjb25zdCBjb2x1bW5LZXkgPSBrZXkgKyAnXycgKyBldmVudC5kYXRhLmNvbGxlY3Rpb25JZDtcbiAgICAgICAgdG90YWwgKz0gdmFsdWUgYXMgbnVtYmVyO1xuICAgICAgICB0aGlzLnNlYXJjaENvdW50cy52YWx1ZS5zZXQoY29sdW1uS2V5LCB2YWx1ZSBhcyBudW1iZXIpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnNlYXJjaENvdW50cy52YWx1ZS5zZXQoJ3RvdGFsc18nICsgZXZlbnQuZGF0YS5jb2xsZWN0aW9uSWQsIHRvdGFsKTtcbiAgICAgIHRoaXMuc2VhcmNoQ291bnRzLm5leHQodGhpcy5zZWFyY2hDb3VudHMudmFsdWUpO1xuICAgICAgdGhpcy5yb3dzTG9hZGVkLnNldChldmVudC5kYXRhLmNvbGxlY3Rpb25JZCwgdHJ1ZSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLndvcmtlci5vbmVycm9yKCkuc3Vic2NyaWJlKChkYXRhKSA9PiB7XG4gICAgICBjb25zb2xlLmVycm9yKCdpbiBtYWluIHRocmVhZCcsIGRhdGEpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5tYXRlcmlhbENvdW50cy5yb3dzLmZvckVhY2goKHJvdykgPT4ge1xuICAgICAgdGhpcy53b3JrZXIucG9zdE1lc3NhZ2Uoe1xuICAgICAgICBjb2xsZWN0aW9uSWQ6IHJvdy5tZXRhLmlkLFxuICAgICAgICBzZWFyY2hUZXJtOiByb3cubWV0YS5sYWJlbCxcbiAgICAgICAgb2VyT25seTogdGhpcy5zaG93T0VSb25seS52YWx1ZSxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0T2VyRmlsdGVyKCk6IHZvaWQge1xuICAgIHRoaXMuc2hvd09FUm9ubHkudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBjb25zdCBjb2xsZWN0aW9uSWQgPSB0aGlzLmV4dHJhY3RDb2xsZWN0aW9uSWRGcm9tVm9jYWJVcmwodGhpcy5zZWxlY3RlZENvbGxlY3Rpb24udmFsdWUpO1xuICAgICAgdGhpcy5sb2FkRGF0YUZvckNvbGxlY3Rpb24oY29sbGVjdGlvbklkKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdENvbGxlY3Rpb25zRmlsdGVyKCk6IHZvaWQge1xuICAgIHRoaXMuc2VsZWN0ZWRDb2xsZWN0aW9uLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKGNvbGxlY3Rpb25JZFZhbHVlKSA9PiB7XG4gICAgICBjb25zdCBpZCA9IHRoaXMuZXh0cmFjdENvbGxlY3Rpb25JZEZyb21Wb2NhYlVybChjb2xsZWN0aW9uSWRWYWx1ZSk7XG4gICAgICB0aGlzLmxvYWREYXRhRm9yQ29sbGVjdGlvbihpZCk7XG4gICAgfSk7XG4gICAgdGhpcy5tZXRhQXBpXG4gICAgICAuZ2V0Q29sbGVjdGlvbnNGaWx0ZXIoKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKGNvbGxlY3Rpb25zKSA9PiB7XG4gICAgICAgIGNvbnN0IHNvcnRlZENvbGxlY3Rpb25zID0gY29sbGVjdGlvbnMuc29ydCgoYSwgYikgPT4gYS5sYWJlbC5sb2NhbGVDb21wYXJlKGIubGFiZWwpKTtcbiAgICAgICAgdGhpcy5jb2xsZWN0aW9ucyQubmV4dChzb3J0ZWRDb2xsZWN0aW9ucyk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb2xsZWN0aW9uLnNldFZhbHVlKHNvcnRlZENvbGxlY3Rpb25zWzBdLmlkKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBsb2FkRGF0YUZvckNvbGxlY3Rpb24oY29sbGVjdGlvbklkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmlzTG9hZGluZy5zZXQodHJ1ZSk7XG4gICAgdGhpcy5tYXRlcmlhbENvdW50cyA9IGF3YWl0IHRoaXMubWV0YUFwaVxuICAgICAgLmdldE1hdGVyaWFsQ291bnRNYXRyaXhQZXJDb2xsZWN0aW9uKGNvbGxlY3Rpb25JZCwgdGhpcy5zaG93T0VSb25seS52YWx1ZSlcbiAgICAgIC50b1Byb21pc2UoKTtcbiAgICAvL1RPRE86IHRyeSB0byBhdm9pZCB0byByZWNhbGN1bGF0ZSB0aGUgY29sdW1ucyBvbiBldmVyeSBjaGFuZ2VcbiAgICB0aGlzLmNvbHVtbnMgPSB0aGlzLm1hdGVyaWFsQ291bnRzLmNvbHVtbnMubWFwKChjKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZDogYy5pZCxcbiAgICAgICAgaWNvbjogJ3RvdGFsJyxcbiAgICAgICAgbGFiZWw6IGMubGFiZWwsXG4gICAgICAgIGxldmVsOiBjLmxldmVsLFxuICAgICAgfTtcbiAgICB9KTtcblxuICAgIHRoaXMubGV0VGhlV29ya2VyU2VhcmNoKCk7XG5cbiAgICB0aGlzLmlzTG9hZGluZy5zZXQoZmFsc2UpO1xuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0Q29sbGVjdGlvbklkRnJvbVZvY2FiVXJsKHVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdXJsLnN1YnN0cmluZyh1cmwubGFzdEluZGV4T2YoJy8nKSArIDEpO1xuICB9XG5cbiAgb3BlbkNvbGxlY3Rpb24oaWQ6IHN0cmluZykge1xuICAgIGNvbnN0IGNvbGxlY3Rpb25JZCA9IHRoaXMuZXh0cmFjdENvbGxlY3Rpb25JZEZyb21Wb2NhYlVybChpZCk7XG4gICAgd2luZG93Lm9wZW4oXG4gICAgICB0aGlzLmVudi5lZHVTaGFyaW5nUGF0aCArXG4gICAgICAgICcvY29tcG9uZW50cy9lZGl0b3JpYWwtZGVzay8/bW9kZT1yZW5kZXImdmlld1R5cGU9c2luZ2xlJmlkcz0nICtcbiAgICAgICAgZW5jb2RlVVJJQ29tcG9uZW50KGNvbGxlY3Rpb25JZClcbiAgICApO1xuICB9XG5cbiAgc2VhcmNoSW5FZGl0b3IobWF0ZXJpYWxUeXBlOiBzdHJpbmcsIHNlYXJjaFRlcm06IHN0cmluZykge1xuICAgIGNvbnN0IGZpbHRlcnM6IGFueSA9IHt9O1xuICAgIGlmIChtYXRlcmlhbFR5cGUgIT09ICd0b3RhbHMnKSB7XG4gICAgICBmaWx0ZXJzWydjY206b2VoX2xydF9hZ2dyZWdhdGVkJ10gPSBbbWF0ZXJpYWxUeXBlXTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc2hvd09FUm9ubHkudmFsdWUpIHtcbiAgICAgIGZpbHRlcnNbJ3ZpcnR1YWw6ZWRpdG9yaWFsX2xpY2Vuc2UnXSA9IFsnb2VyJ107XG4gICAgfVxuICAgIGNvbnN0IHVybCA9XG4gICAgICB0aGlzLmVudi5lZHVTaGFyaW5nUGF0aCArXG4gICAgICAnL2NvbXBvbmVudHMvZWRpdG9yaWFsLWRlc2s/bW9kZT1hdWRpdF9tZXRhcXMmJyArXG4gICAgICAncT0nICtcbiAgICAgIGVuY29kZVVSSUNvbXBvbmVudChzZWFyY2hUZXJtKSArXG4gICAgICAnJicgK1xuICAgICAgJ3RpdGxlPScgK1xuICAgICAgZW5jb2RlVVJJQ29tcG9uZW50KCdNZXRhUVMgLSBTdWNoZXJnZWJuaXNzZSBmw7xyIFwiJyArIHNlYXJjaFRlcm0gKyAnXCInKSArXG4gICAgICAnJicgK1xuICAgICAgJ2ZpbHRlcnM9JyArXG4gICAgICBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoZmlsdGVycykpICtcbiAgICAgICcmJyArXG4gICAgICAncGFuZWw9Y29udGVudHMmdGFiPTQmJztcblxuICAgIGNvbnN0IHJlZiA9IHdpbmRvdy5vcGVuKHVybCk7XG4gIH1cblxuICBzaG93Q29sbGVjdGlvbkl0ZW1zKGNvbGxlY3Rpb25JZDogc3RyaW5nLCBjb2xsZWN0aW9uTmFtZTogc3RyaW5nLCBtYXRlcmlhbFR5cGU6IHN0cmluZykge1xuICAgIGNvbnN0IGlkID0gdGhpcy5leHRyYWN0Q29sbGVjdGlvbklkRnJvbVZvY2FiVXJsKGNvbGxlY3Rpb25JZCk7XG4gICAgY29uc3QgZmlsdGVyczogYW55ID0ge1xuICAgICAgLy9cInZpcnR1YWw6Y29sbGVjdGlvbl9pZF9wcmltYXJ5XCI6IFtpZF0sIC8vd29ya3Mgb2Z0ZW4sIGJ1dCBub3QgYWx3YXlzXG4gICAgICAndmlydHVhbDptZXRhcXNfY29sbGVjdGlvbl9pZCc6IFtpZF0sXG4gICAgfTtcbiAgICBpZiAobWF0ZXJpYWxUeXBlICE9PSAndG90YWxzJykge1xuICAgICAgZmlsdGVyc1snY2NtOm9laF9scnRfYWdncmVnYXRlZCddID0gW21hdGVyaWFsVHlwZV07XG4gICAgfVxuICAgIGlmICh0aGlzLnNob3dPRVJvbmx5LnZhbHVlKSB7XG4gICAgICBmaWx0ZXJzWyd2aXJ0dWFsOmVkaXRvcmlhbF9saWNlbnNlJ10gPSBbJ29lciddO1xuICAgIH1cbiAgICB3aW5kb3cub3BlbihcbiAgICAgIHRoaXMuZW52LmVkdVNoYXJpbmdQYXRoICtcbiAgICAgICAgJy9jb21wb25lbnRzL2VkaXRvcmlhbC1kZXNrP21vZGU9YXVkaXRfbWV0YXFzJicgK1xuICAgICAgICAndGl0bGU9JyArXG4gICAgICAgIGVuY29kZVVSSUNvbXBvbmVudCgnTWV0YVFTIC0gU2FtbWx1bmdzaW5oYWx0ZSBmw7xyIFwiJyArIGNvbGxlY3Rpb25OYW1lICsgJ1wiJykgK1xuICAgICAgICAnJicgK1xuICAgICAgICAnZmlsdGVycz0nICtcbiAgICAgICAgZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGZpbHRlcnMpKSArXG4gICAgICAgICcmJyArXG4gICAgICAgICdwYW5lbD1jb250ZW50cyZ0YWI9NCYnXG4gICAgKTtcbiAgfVxuXG4gIGNvbHVtbklkZW50KF9pbmRleDogbnVtYmVyLCBjb2w6IHsgaWQ6IHN0cmluZyB9KSB7XG4gICAgcmV0dXJuIGNvbC5pZDtcbiAgfVxuXG4gIGdldCBmaWx0ZXJlZENvbHVtbnMoKSB7XG4gICAgLy8gcmV0dXJuIGVpdGhlciBhbGwgb3IganVzdCBhIGdpdmVuIGFtb3VudCBvZiBjb2x1bW5zXG4gICAgcmV0dXJuIHRoaXMuc2hvd0FsbENvbHVtbnMudmFsdWUgPyB0aGlzLmNvbHVtbnMgOiB0aGlzLmNvbHVtbnMuc2xpY2UoMCwgdGhpcy5ERUZBVUxUX0NPTFVNTl9MSU1JVCk7XG4gIH1cblxuICBnZXQgY29sdW1uTmFtZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyZWRDb2x1bW5zLm1hcCgoYykgPT4gYy5pZCk7XG4gIH1cblxuICBnZXQgdHlwZUNvbHVtbnMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLmNvbHVtbk5hbWVzLm1hcCgoYykgPT4gYyArICdfdHlwZScpO1xuICB9XG5cbiAgZ2V0IGNvbGxlY3Rpb25Db2x1bW5zKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5OYW1lcy5tYXAoKGMpID0+IGMgKyB0aGlzLkNPTExFQ1RJT05fUE9TVEZJWCk7XG4gIH1cblxuICBnZXQgc2VhcmNoQ29sdW1ucygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1uTmFtZXMubWFwKChjKSA9PiBjICsgdGhpcy5TRUFSQ0hfUE9TVEZJWCk7XG4gIH1cblxuICBnZXQgYWx0ZXJuYXRpbmdEYXRhQ29sdW1ucygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuY29sbGVjdGlvbkNvbHVtbnMuZmxhdE1hcCgoZSwgaSkgPT4gW2UsIHRoaXMuc2VhcmNoQ29sdW1uc1tpXV0pO1xuICB9XG59XG4iLCI8bWF0LWNhcmQgYXBwZWFyYW5jZT1cInJhaXNlZFwiPlxuPG1hdC1jYXJkLWhlYWRlciAqbmdJZj1cInBhZ2VUaXRsZVwiPlxuICA8bWF0LWNhcmQtdGl0bGU+XG4gICAgTWF0ZXJpYWwgaW4gU2FtbWx1bmdlbnt7aXNMb2FkaW5nKCkgPyBcIjogTGFkZSBuZXVlIERhdGVuLlwiIDogXCJcIn19PC9tYXQtY2FyZC10aXRsZVxuICA+XG48L21hdC1jYXJkLWhlYWRlcj5cbjxtYXQtY2FyZC1jb250ZW50PlxuPCEtLSBjb25zaWRlciB0byBwdXQgdGhlIGZpbHRlciBpbiB0aGUgdGFibGUgaGVhZGVyIHRvIGF2b2lkIHRoYXQgaXQgaXMgc2Nyb2xsZWQgb3V0IG9mIHZpZXctLT5cbiAgICA8bWV0YXFzMi1xbS1maWx0ZXJcbiAgICAgIGFyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJcbiAgICAgIFtsYWJlbF09XCInU2FtbWx1bmcnXCJcbiAgICAgIFtvcHRpb25zXT1cImNvbGxlY3Rpb25zJCB8IGFzeW5jXCJcbiAgICAgIFttdWx0aXBsZV09XCJmYWxzZVwiXG4gICAgICBbaW5wdXRGb3JtQ29udHJvbF09XCJzZWxlY3RlZENvbGxlY3Rpb25cIlxuICAgID5cbiAgICA8L21ldGFxczItcW0tZmlsdGVyPlxuXG48L21hdC1jYXJkLWNvbnRlbnQ+XG48L21hdC1jYXJkPlxuPG1hdC1jYXJkPlxuICA8dGFibGUgW25nQ2xhc3NdPVwieyd3aGlsZS1sb2FkaW5nJzogaXNMb2FkaW5nKCl9XCIgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cIm1hdGVyaWFsQ291bnRzLnJvd3NcIiAqbmdJZj1cImNvbHVtbnNcIiBjbGFzcz1cInF1YWxpdHktbWF0cml4XCI+XG4gICAgPCEtLSBEZWZpbmUgY29sdW1ucyBvZiB0YWJsZSAtLT5cbiAgICA8IS0tIExhYmVsIENvbHVtbiAtLT5cbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImxhYmVsLWNvbFwiIHN0aWNreT5cbiAgICAgIDx0aCByb3dzcGFuPVwiMlwiIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5TYW1tbHVuZ1xuICAgICAgPGRpdiA+XG4gICAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlIGxhYmVsUG9zaXRpb249XCJiZWZvcmVcIiBjbGFzcz1cInRvZ2dsZVwiIFtmb3JtQ29udHJvbF09XCJzaG93T0VSb25seVwiID5cbiAgICAgICAgICB6ZWlnZSBudXIgT0VSXG4gICAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2PlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBsYWJlbFBvc2l0aW9uPVwiYmVmb3JlXCIgY2xhc3M9XCJ0b2dnbGVcIiBbZm9ybUNvbnRyb2xdPVwic2hvd0FsbENvbHVtbnNcIiA+XG4gICAgICAgICAgemVpZ2UgYWxsZSBUeXBlblxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC90aD5cbiAgICAgIDx0ZFxuICAgICAgICBtYXQtY2VsbFxuICAgICAgICAqbWF0Q2VsbERlZj1cImxldCByb3dcIlxuICAgICAgICBtYXRUb29sdGlwPVwie3tyb3cubWV0YS5hbHRfbGFiZWx9fVwiXG4gICAgICAgIGNsYXNzPVwibGFiZWwtY29sIHt7J21hdC1jZWxsLWxldmVsLScgKyAocm93Lm1ldGEubGV2ZWwrMSl9fVwiXG4gICAgICA+XG4gICAgICAgIDxhIChjbGljayk9XCJvcGVuQ29sbGVjdGlvbihyb3cubWV0YS5pZClcIj5cbiAgICAgICAgICA8bWF0LWljb24gW3N2Z0ljb25dPVwicm93Lm1ldGEubGV2ZWw8PTE/J2xheWVycyc6J2NoaWxkJ1wiIC8+XG4gICAgICAgICAge3sgcm93Lm1ldGEubGFiZWwgfX1cbiAgICAgICAgPC9hPlxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8IS0tIG9uZSBjb2x1bW4gZm9yIHRoZSBNYXRlcmlhbFR5cGUgc3Bhbm5pbmcgdGhlIGNvbGxlY3Rpb24gYW5kIHNlYXJjaCBjb2x1bW5zLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sIG9mIGZpbHRlcmVkQ29sdW1uczsgdHJhY2tCeTpjb2x1bW5JZGVudFwiIFttYXRDb2x1bW5EZWZdPVwiY29sLmlkICsgJ190eXBlJ1wiPlxuICAgICAgPHRoIFthdHRyLmNvbHNwYW5dPVwiMlwiIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz0nbWF0LWNlbGwtbGV2ZWwtXCJ7e2NvbC5sZXZlbH19XCInIG1hdFRvb2x0aXA9XCJ7e2NvbC5sYWJlbH19XCIgPnt7Y29sLmxhYmVsfX08L3RoPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwhLS0gL3NvdXJjZSAtLT5cbiAgICA8IS0tIGNvbGxlY3Rpb24gRGF0YSBDb2x1bW5zIC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbHVtbiBvZiBmaWx0ZXJlZENvbHVtbnM7IHRyYWNrQnk6Y29sdW1uSWRlbnRcIiBbbWF0Q29sdW1uRGVmXT1cImNvbHVtbi5pZCArIENPTExFQ1RJT05fUE9TVEZJWFwiPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBtYXRUb29sdGlwPVwie3tjb2x1bW4ubGFiZWx9fVwiID5pbiBTYW1tbHVuZzwvdGg+XG4gICAgICA8dGQgW2NsYXNzLm5vTWF0ZXJpYWxdPVwiIXJvdy5jb3VudHNbY29sdW1uLmlkXT8uc3VmZmljaWVudCB8fCByb3cuY291bnRzW2NvbHVtbi5pZF0/LnN1ZmZpY2llbnQgPD0gMVwiXG4gICAgICAgICAgW2NsYXNzLmZld01hdGVyaWFsc109XCIxIDwgcm93LmNvdW50c1tjb2x1bW4uaWRdPy5zdWZmaWNpZW50ICYmIHJvdy5jb3VudHNbY29sdW1uLmlkXT8uc3VmZmljaWVudCA8PSAzXCJcbiAgICAgICAgICBjbGFzcz1cImNvbGxlY3Rpb24tZGF0YS1jZWxsXCJcbiAgICAgICAgICBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIj5cbiAgICAgICAgICAgIDxhIChjbGljayk9XCJzaG93Q29sbGVjdGlvbkl0ZW1zKHJvdy5tZXRhLmlkLCByb3cubWV0YS5sYWJlbCwgY29sdW1uLmlkKVwiPlxuICAgICAgICAgICAgICB7eyByb3cuY291bnRzW2NvbHVtbi5pZF0/LnN1ZmZpY2llbnQgfHwgJzAnIH19XG4gICAgICAgICAgICA8L2E+XG4gICAgICA8L3RkPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwhLS0gL2NvbGxlY3Rpb24gRGF0YSBDb2x1bW5zIC0tPlxuICAgIDwhLS0gc2VhcmNoIERhdGEgQ29sdW1ucyAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgZmlsdGVyZWRDb2x1bW5zIGxldCBpbmRleCA9IGluZGV4OyB0cmFja0J5OmNvbHVtbklkZW50XCIgW21hdENvbHVtbkRlZl09XCJjb2x1bW4uaWQgKyBTRUFSQ0hfUE9TVEZJWFwiPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5TdWNoZTwvdGg+XG4gICAgICA8dGQgY2xhc3M9XCJzZWFyY2gtZGF0YS1jZWxsXCIgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCI+XG4gICAgICAgIDxhIChjbGljayk9XCJzZWFyY2hJbkVkaXRvcihjb2x1bW4uaWQsIHJvdy5tZXRhLmxhYmVsKVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoKCBzZWFyY2hDb3VudHMgfCBhc3luYyk/Lmhhcyhjb2x1bW4uaWQgKyAnXycgKyByb3cubWV0YS5pZCkgKSBlbHNlIHplcm9PckxvYWRpbmdcIj5cbiAgICAgICAgICAgIHt7IChzZWFyY2hDb3VudHMgfCBhc3luYyk/LmdldChjb2x1bW4uaWQgKyAnXycgKyByb3cubWV0YS5pZCkgfX1cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3plcm9PckxvYWRpbmc+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicm93c0xvYWRlZC5oYXMocm93Lm1ldGEuaWQpIGVsc2UgbG9hZGluZ0Jsb2NrXCI+IDAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2xvYWRpbmdCbG9jaz5cbiAgICAgICAgICAgIGxvYWRpbmfigKZcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICA8L2E+XG4gICAgICA8L3RkPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwhLS0gL3NlYXJjaCBEYXRhIENvbHVtbnMgLS0+XG4gICAgICA8IS0tIEdlbmVyYXRlIGFjdHVhbCB0YWJsZSAtLT5cbiAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cIlsnbGFiZWwtY29sJ10uY29uY2F0KCB0eXBlQ29sdW1ucyApOyBzdGlja3k6IHRydWU7XCI+PC90cj5cbiAgICA8dHIgbWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cImFsdGVybmF0aW5nRGF0YUNvbHVtbnM7IHN0aWNreTogdHJ1ZTtcIj48L3RyPlxuICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBbJ2xhYmVsLWNvbCddLmNvbmNhdChhbHRlcm5hdGluZ0RhdGFDb2x1bW5zKVwiPjwvdHI+XG4gIDwvdGFibGU+XG48L21hdC1jYXJkPiJdfQ==
|
|
206
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1zZWFyY2gtY291bnRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1ldGEtd2lkZ2V0cy1saWIvc3JjL2xpYi90cmVlLXNlYXJjaC1jb3VudHMvdHJlZS1zZWFyY2gtY291bnRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1ldGEtd2lkZ2V0cy1saWIvc3JjL2xpYi90cmVlLXNlYXJjaC1jb3VudHMvdHJlZS1zZWFyY2gtY291bnRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBR0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSXRDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7Ozs7QUFlM0MsTUFBTSxPQUFPLHlCQUF5QjtJQXdCcEMsWUFDbUIsT0FBdUIsRUFDaEMsR0FBd0IsRUFDZixjQUFpQyxFQUVqQyxRQUFrQjtRQUpsQixZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUNoQyxRQUFHLEdBQUgsR0FBRyxDQUFxQjtRQUNmLG1CQUFjLEdBQWQsY0FBYyxDQUFtQjtRQUVqQyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBNUJyQzs7V0FFRztRQUNNLHlCQUFvQixHQUFHLENBQUMsQ0FBQztRQUN6Qix1QkFBa0IsR0FBRyxhQUFhLENBQUM7UUFDbkMsbUJBQWMsR0FBRyxTQUFTLENB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QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTWV0YUFwaVNlcnZpY2UgfSBmcm9tICcuLi9tZXRhLWFwaS5zZXJ2aWNlJztcbmltcG9ydCB7IENvbmZpZ0hlbHBlclNlcnZpY2UgfSBmcm9tICcuLi9jb25maWctaGVscGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRmlsdGVyVmFsdWUsIFF1YWxpdHlNYXRyaXggfSBmcm9tICcuLi9qYXZhLWFwaSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElubGluZVdvcmtlciB9IGZyb20gJy4vaW5saW5lLXdvcmtlcic7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YUNvbHVtbiB7XG4gIGlkOiBzdHJpbmc7XG4gIGljb246IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgbGV2ZWw/OiBudW1iZXI7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21ldGFxczItdHJlZS1zZWFyY2gtY291bnRzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RyZWUtc2VhcmNoLWNvdW50cy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RyZWUtc2VhcmNoLWNvdW50cy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHJlZVNlYXJjaENvdW50c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIGRlZmF1bHQgbWF4IGNvdW50IG9mIGNvbHVtbnMgdGhhdCBzaG91bGQgYmUgc2hvd25cbiAgICovXG4gIHJlYWRvbmx5IERFRkFVTFRfQ09MVU1OX0xJTUlUID0gNjtcbiAgcmVhZG9ubHkgQ09MTEVDVElPTl9QT1NURklYID0gJ19jb2xsZWN0aW9uJztcbiAgcmVhZG9ubHkgU0VBUkNIX1BPU1RGSVggPSAnX3NlYXJjaCc7XG4gIHJlYWRvbmx5IGNvbGxlY3Rpb25zJDogQmVoYXZpb3JTdWJqZWN0PEZpbHRlclZhbHVlW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGaWx0ZXJWYWx1ZVtdPihbXSk7XG4gIHJlYWRvbmx5IHNlYXJjaENvdW50cyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWFwPHN0cmluZywgbnVtYmVyPj4obmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oKSk7XG4gIHJlYWRvbmx5IHNob3dPRVJvbmx5ID0gbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6IHRydWUsIGRpc2FibGVkOiBmYWxzZSB9LCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pO1xuICByZWFkb25seSBzaG93QWxsQ29sdW1ucyA9IG5ldyBGb3JtQ29udHJvbCh7IHZhbHVlOiBmYWxzZSwgZGlzYWJsZWQ6IGZhbHNlIH0sIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XG4gIHJlYWRvbmx5IHNlbGVjdGVkQ29sbGVjdGlvbiA9IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KCcnLCB7IG5vbk51bGxhYmxlOiB0cnVlIH0pO1xuXG4gIC8vIGNvbnZlcnQgdGhpcyBpbiBhbiBPYmVzZXJ2YWJsZVxuICBwcm90ZWN0ZWQgbWF0ZXJpYWxDb3VudHM6IFF1YWxpdHlNYXRyaXg7XG4gIHB1YmxpYyBjb2x1bW5zOiBEYXRhQ29sdW1uW107XG4gIHByb3RlY3RlZCByb3dzTG9hZGVkOiBNYXA8c3RyaW5nLCBib29sZWFuPiA9IG5ldyBNYXA8c3RyaW5nLCBib29sZWFuPigpO1xuXG4gIGlzTG9hZGluZyA9IHNpZ25hbCh0cnVlKTtcbiAgcHJpdmF0ZSB3b3JrZXI6IElubGluZVdvcmtlcjtcblxuICBASW5wdXQoKVxuICBwcm90ZWN0ZWQgcGFnZVRpdGxlOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBtZXRhQXBpOiBNZXRhQXBpU2VydmljZSxcbiAgICBwcml2YXRlIGVudjogQ29uZmlnSGVscGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBASW5qZWN0KERPQ1VNRU5UKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQ6IERvY3VtZW50XG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRDb2xsZWN0aW9uc0ZpbHRlcigpO1xuICAgIHRoaXMuaW5pdE9lckZpbHRlcigpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMud29ya2VyKSB7XG4gICAgICB0aGlzLndvcmtlci50ZXJtaW5hdGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGxldFRoZVdvcmtlclNlYXJjaCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlYXJjaENvdW50cy5uZXh0KG5ldyBNYXA8c3RyaW5nLCBudW1iZXI+KCkpO1xuICAgIHRoaXMucm93c0xvYWRlZC5jbGVhcigpO1xuICAgIGlmICh0aGlzLndvcmtlcikge1xuICAgICAgdGhpcy53b3JrZXIudGVybWluYXRlKCk7XG4gICAgfVxuICAgIC8vIGFwcGxpY2F0aW9ucyB0aGF0IHVzZSB1cywgbWF5IHByb3ZpZGUgYSByZWxhdGl2ZSBVUkwgZm9yIGFwaVBhdGguXG4gICAgLy8gYmVjYXVzZSB0aGUgV29ya2VyIHJ1bnMgdW5kZXIgYSA6OmJsb2IgdXJsLCB3ZSBoYXZlIHRvIHJlYmFzZSB0aGUgVVJMIHRvIHRoZSBzZWFyY2ggQVBJIHRvIHRoZSBEb2N1bWVudCwgd2UgcnVuIGluLlxuICAgIGNvbnN0IHdvcmtlclVybCA9IG5ldyBVUkwodGhpcy5lbnYuYXBpUGF0aCwgdGhpcy5kb2N1bWVudC5iYXNlVVJJKS50b1N0cmluZygpO1xuICAgIHRoaXMud29ya2VyID0gbmV3IElubGluZVdvcmtlcih7IGJhc2VQYXRoOiB3b3JrZXJVcmwgfSk7XG4gICAgdGhpcy53b3JrZXIub25tZXNzYWdlKCkuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgLy8gb25lIG1lc3NhZ2UgcGVyIHJvd1xuICAgICAgbGV0IHRvdGFsID0gMDtcblxuICAgICAgT2JqZWN0LmVudHJpZXMoZXZlbnQuZGF0YS5kYXRhKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgLy8ga2V5IGlzIHRoZSBtYXRlcmlhbCB0eXBlLCB2YWx1ZSBpcyB0aGUgY291bnRcbiAgICAgICAgY29uc3QgY29sdW1uS2V5ID0ga2V5ICsgJ18nICsgZXZlbnQuZGF0YS5jb2xsZWN0aW9uSWQ7XG4gICAgICAgIHRvdGFsICs9IHZhbHVlIGFzIG51bWJlcjtcbiAgICAgICAgdGhpcy5zZWFyY2hDb3VudHMudmFsdWUuc2V0KGNvbHVtbktleSwgdmFsdWUgYXMgbnVtYmVyKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5zZWFyY2hDb3VudHMudmFsdWUuc2V0KCd0b3RhbHNfJyArIGV2ZW50LmRhdGEuY29sbGVjdGlvbklkLCB0b3RhbCk7XG4gICAgICB0aGlzLnNlYXJjaENvdW50cy5uZXh0KHRoaXMuc2VhcmNoQ291bnRzLnZhbHVlKTtcbiAgICAgIHRoaXMucm93c0xvYWRlZC5zZXQoZXZlbnQuZGF0YS5jb2xsZWN0aW9uSWQsIHRydWUpO1xuICAgIH0pO1xuXG4gICAgdGhpcy53b3JrZXIub25lcnJvcigpLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xuICAgICAgY29uc29sZS5lcnJvcignaW4gbWFpbiB0aHJlYWQnLCBkYXRhKTtcbiAgICB9KTtcblxuICAgIHRoaXMubWF0ZXJpYWxDb3VudHMucm93cy5mb3JFYWNoKChyb3cpID0+IHtcbiAgICAgIHRoaXMud29ya2VyLnBvc3RNZXNzYWdlKHtcbiAgICAgICAgY29sbGVjdGlvbklkOiByb3cubWV0YS5pZCxcbiAgICAgICAgc2VhcmNoVGVybTogcm93Lm1ldGEubGFiZWwsXG4gICAgICAgIG9lck9ubHk6IHRoaXMuc2hvd09FUm9ubHkudmFsdWUsXG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdE9lckZpbHRlcigpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dPRVJvbmx5LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY29uc3QgY29sbGVjdGlvbklkID0gdGhpcy5leHRyYWN0Q29sbGVjdGlvbklkRnJvbVZvY2FiVXJsKHRoaXMuc2VsZWN0ZWRDb2xsZWN0aW9uLnZhbHVlKTtcbiAgICAgIHRoaXMubG9hZERhdGFGb3JDb2xsZWN0aW9uKGNvbGxlY3Rpb25JZCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGluaXRDb2xsZWN0aW9uc0ZpbHRlcigpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkQ29sbGVjdGlvbi52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKChjb2xsZWN0aW9uSWRWYWx1ZSkgPT4ge1xuICAgICAgY29uc3QgaWQgPSB0aGlzLmV4dHJhY3RDb2xsZWN0aW9uSWRGcm9tVm9jYWJVcmwoY29sbGVjdGlvbklkVmFsdWUpO1xuICAgICAgdGhpcy5sb2FkRGF0YUZvckNvbGxlY3Rpb24oaWQpO1xuICAgIH0pO1xuICAgIHRoaXMubWV0YUFwaVxuICAgICAgLmdldENvbGxlY3Rpb25zRmlsdGVyKClcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChjb2xsZWN0aW9ucykgPT4ge1xuICAgICAgICBjb25zdCBzb3J0ZWRDb2xsZWN0aW9ucyA9IGNvbGxlY3Rpb25zLnNvcnQoKGEsIGIpID0+IGEubGFiZWwubG9jYWxlQ29tcGFyZShiLmxhYmVsKSk7XG4gICAgICAgIHRoaXMuY29sbGVjdGlvbnMkLm5leHQoc29ydGVkQ29sbGVjdGlvbnMpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ29sbGVjdGlvbi5zZXRWYWx1ZShzb3J0ZWRDb2xsZWN0aW9uc1swXS5pZCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZERhdGFGb3JDb2xsZWN0aW9uKGNvbGxlY3Rpb25JZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5pc0xvYWRpbmcuc2V0KHRydWUpO1xuICAgIHRoaXMubWF0ZXJpYWxDb3VudHMgPSBhd2FpdCB0aGlzLm1ldGFBcGlcbiAgICAgIC5nZXRNYXRlcmlhbENvdW50TWF0cml4UGVyQ29sbGVjdGlvbihjb2xsZWN0aW9uSWQsIHRoaXMuc2hvd09FUm9ubHkudmFsdWUpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gICAgLy9UT0RPOiB0cnkgdG8gYXZvaWQgdG8gcmVjYWxjdWxhdGUgdGhlIGNvbHVtbnMgb24gZXZlcnkgY2hhbmdlXG4gICAgdGhpcy5jb2x1bW5zID0gdGhpcy5tYXRlcmlhbENvdW50cy5jb2x1bW5zLm1hcCgoYykgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IGMuaWQsXG4gICAgICAgIGljb246ICd0b3RhbCcsXG4gICAgICAgIGxhYmVsOiBjLmxhYmVsLFxuICAgICAgICBsZXZlbDogYy5sZXZlbCxcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICB0aGlzLmxldFRoZVdvcmtlclNlYXJjaCgpO1xuXG4gICAgdGhpcy5pc0xvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZXh0cmFjdENvbGxlY3Rpb25JZEZyb21Wb2NhYlVybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHVybC5zdWJzdHJpbmcodXJsLmxhc3RJbmRleE9mKCcvJykgKyAxKTtcbiAgfVxuXG4gIG9wZW5Db2xsZWN0aW9uKGlkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBjb2xsZWN0aW9uSWQgPSB0aGlzLmV4dHJhY3RDb2xsZWN0aW9uSWRGcm9tVm9jYWJVcmwoaWQpO1xuICAgIHdpbmRvdy5vcGVuKFxuICAgICAgdGhpcy5lbnYuZWR1U2hhcmluZ1BhdGggK1xuICAgICAgICAnL2NvbXBvbmVudHMvZWRpdG9yaWFsLWRlc2svP21vZGU9cmVuZGVyJnZpZXdUeXBlPXNpbmdsZSZpZHM9JyArXG4gICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChjb2xsZWN0aW9uSWQpXG4gICAgKTtcbiAgfVxuXG4gIHNlYXJjaEluRWRpdG9yKG1hdGVyaWFsVHlwZTogc3RyaW5nLCBzZWFyY2hUZXJtOiBzdHJpbmcpIHtcbiAgICBjb25zdCBmaWx0ZXJzOiBhbnkgPSB7fTtcbiAgICBpZiAobWF0ZXJpYWxUeXBlICE9PSAndG90YWxzJykge1xuICAgICAgZmlsdGVyc1snY2NtOm9laF9scnRfYWdncmVnYXRlZCddID0gW21hdGVyaWFsVHlwZV07XG4gICAgfVxuICAgIGlmICh0aGlzLnNob3dPRVJvbmx5LnZhbHVlKSB7XG4gICAgICBmaWx0ZXJzWyd2aXJ0dWFsOmVkaXRvcmlhbF9saWNlbnNlJ10gPSBbJ29lciddO1xuICAgIH1cbiAgICBjb25zdCB1cmwgPVxuICAgICAgdGhpcy5lbnYuZWR1U2hhcmluZ1BhdGggK1xuICAgICAgJy9jb21wb25lbnRzL2VkaXRvcmlhbC1kZXNrP21vZGU9YXVkaXRfbWV0YXFzJicgK1xuICAgICAgJ3E9JyArXG4gICAgICBlbmNvZGVVUklDb21wb25lbnQoc2VhcmNoVGVybSkgK1xuICAgICAgJyYnICtcbiAgICAgICd0aXRsZT0nICtcbiAgICAgIGVuY29kZVVSSUNvbXBvbmVudCgnTWV0YVFTIC0gU3VjaGVyZ2Vibmlzc2UgZsO8ciBcIicgKyBzZWFyY2hUZXJtICsgJ1wiJykgK1xuICAgICAgJyYnICtcbiAgICAgICdmaWx0ZXJzPScgK1xuICAgICAgZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGZpbHRlcnMpKSArXG4gICAgICAnJicgK1xuICAgICAgJ3BhbmVsPWNvbnRlbnRzJnRhYj00Jic7XG5cbiAgICBjb25zdCByZWYgPSB3aW5kb3cub3Blbih1cmwpO1xuICB9XG5cbiAgc2hvd0NvbGxlY3Rpb25JdGVtcyhjb2xsZWN0aW9uSWQ6IHN0cmluZywgY29sbGVjdGlvbk5hbWU6IHN0cmluZywgbWF0ZXJpYWxUeXBlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBpZCA9IHRoaXMuZXh0cmFjdENvbGxlY3Rpb25JZEZyb21Wb2NhYlVybChjb2xsZWN0aW9uSWQpO1xuICAgIGNvbnN0IGZpbHRlcnM6IGFueSA9IHtcbiAgICAgIC8vXCJ2aXJ0dWFsOmNvbGxlY3Rpb25faWRfcHJpbWFyeVwiOiBbaWRdLCAvL3dvcmtzIG9mdGVuLCBidXQgbm90IGFsd2F5c1xuICAgICAgJ3ZpcnR1YWw6bWV0YXFzX2NvbGxlY3Rpb25faWQnOiBbaWRdLFxuICAgIH07XG4gICAgaWYgKG1hdGVyaWFsVHlwZSAhPT0gJ3RvdGFscycpIHtcbiAgICAgIGZpbHRlcnNbJ2NjbTpvZWhfbHJ0X2FnZ3JlZ2F0ZWQnXSA9IFttYXRlcmlhbFR5cGVdO1xuICAgIH1cbiAgICBpZiAodGhpcy5zaG93T0VSb25seS52YWx1ZSkge1xuICAgICAgZmlsdGVyc1sndmlydHVhbDplZGl0b3JpYWxfbGljZW5zZSddID0gWydvZXInXTtcbiAgICB9XG4gICAgd2luZG93Lm9wZW4oXG4gICAgICB0aGlzLmVudi5lZHVTaGFyaW5nUGF0aCArXG4gICAgICAgICcvY29tcG9uZW50cy9lZGl0b3JpYWwtZGVzaz9tb2RlPWF1ZGl0X21ldGFxcyYnICtcbiAgICAgICAgJ3RpdGxlPScgK1xuICAgICAgICBlbmNvZGVVUklDb21wb25lbnQoJ01ldGFRUyAtIFNhbW1sdW5nc2luaGFsdGUgZsO8ciBcIicgKyBjb2xsZWN0aW9uTmFtZSArICdcIicpICtcbiAgICAgICAgJyYnICtcbiAgICAgICAgJ2ZpbHRlcnM9JyArXG4gICAgICAgIGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShmaWx0ZXJzKSkgK1xuICAgICAgICAnJicgK1xuICAgICAgICAncGFuZWw9Y29udGVudHMmdGFiPTQmJ1xuICAgICk7XG4gIH1cblxuICBjb2x1bW5JZGVudChfaW5kZXg6IG51bWJlciwgY29sOiB7IGlkOiBzdHJpbmcgfSkge1xuICAgIHJldHVybiBjb2wuaWQ7XG4gIH1cblxuICBnZXQgZmlsdGVyZWRDb2x1bW5zKCkge1xuICAgIC8vIHJldHVybiBlaXRoZXIgYWxsIG9yIGp1c3QgYSBnaXZlbiBhbW91bnQgb2YgY29sdW1uc1xuICAgIHJldHVybiB0aGlzLnNob3dBbGxDb2x1bW5zLnZhbHVlID8gdGhpcy5jb2x1bW5zIDogdGhpcy5jb2x1bW5zLnNsaWNlKDAsIHRoaXMuREVGQVVMVF9DT0xVTU5fTElNSVQpO1xuICB9XG5cbiAgZ2V0IGNvbHVtbk5hbWVzKCkge1xuICAgIHJldHVybiB0aGlzLmZpbHRlcmVkQ29sdW1ucy5tYXAoKGMpID0+IGMuaWQpO1xuICB9XG5cbiAgZ2V0IHR5cGVDb2x1bW5zKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5OYW1lcy5tYXAoKGMpID0+IGMgKyAnX3R5cGUnKTtcbiAgfVxuXG4gIGdldCBjb2xsZWN0aW9uQ29sdW1ucygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuY29sdW1uTmFtZXMubWFwKChjKSA9PiBjICsgdGhpcy5DT0xMRUNUSU9OX1BPU1RGSVgpO1xuICB9XG5cbiAgZ2V0IHNlYXJjaENvbHVtbnMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLmNvbHVtbk5hbWVzLm1hcCgoYykgPT4gYyArIHRoaXMuU0VBUkNIX1BPU1RGSVgpO1xuICB9XG5cbiAgZ2V0IGFsdGVybmF0aW5nRGF0YUNvbHVtbnMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLmNvbGxlY3Rpb25Db2x1bW5zLmZsYXRNYXAoKGUsIGkpID0+IFtlLCB0aGlzLnNlYXJjaENvbHVtbnNbaV1dKTtcbiAgfVxufVxuIiwiPG1hdC1jYXJkIGFwcGVhcmFuY2U9XCJyYWlzZWRcIj5cbjxtYXQtY2FyZC1oZWFkZXIgKm5nSWY9XCJwYWdlVGl0bGVcIj5cbiAgPG1hdC1jYXJkLXRpdGxlPlxuICAgIE1hdGVyaWFsIGluIFNhbW1sdW5nZW57e2lzTG9hZGluZygpID8gXCI6IExhZGUgbmV1ZSBEYXRlbi5cIiA6IFwiXCJ9fTwvbWF0LWNhcmQtdGl0bGVcbiAgPlxuPC9tYXQtY2FyZC1oZWFkZXI+XG48bWF0LWNhcmQtY29udGVudD5cbjwhLS0gY29uc2lkZXIgdG8gcHV0IHRoZSBmaWx0ZXIgaW4gdGhlIHRhYmxlIGhlYWRlciB0byBhdm9pZCB0aGF0IGl0IGlzIHNjcm9sbGVkIG91dCBvZiB2aWV3LS0+XG4gICAgPG1ldGFxczItcW0tZmlsdGVyXG4gICAgICBhcmlhLWRpc2FibGVkPVwidHJ1ZVwiXG4gICAgICBbbGFiZWxdPVwiJ1NhbW1sdW5nJ1wiXG4gICAgICBbb3B0aW9uc109XCJjb2xsZWN0aW9ucyQgfCBhc3luY1wiXG4gICAgICBbbXVsdGlwbGVdPVwiZmFsc2VcIlxuICAgICAgW2lucHV0Rm9ybUNvbnRyb2xdPVwic2VsZWN0ZWRDb2xsZWN0aW9uXCJcbiAgICA+XG4gICAgPC9tZXRhcXMyLXFtLWZpbHRlcj5cblxuPC9tYXQtY2FyZC1jb250ZW50PlxuPC9tYXQtY2FyZD5cbjxtYXQtY2FyZD5cbiAgPHRhYmxlIFtuZ0NsYXNzXT1cInsnd2hpbGUtbG9hZGluZyc6IGlzTG9hZGluZygpfVwiIG1hdC10YWJsZSBbZGF0YVNvdXJjZV09XCJtYXRlcmlhbENvdW50cy5yb3dzXCIgKm5nSWY9XCJjb2x1bW5zXCIgY2xhc3M9XCJxdWFsaXR5LW1hdHJpeFwiPlxuICAgIDwhLS0gRGVmaW5lIGNvbHVtbnMgb2YgdGFibGUgLS0+XG4gICAgPCEtLSBMYWJlbCBDb2x1bW4gLS0+XG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJsYWJlbC1jb2xcIiBzdGlja3k+XG4gICAgICA8dGggcm93c3Bhbj1cIjJcIiBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+U2FtbWx1bmdcbiAgICAgIDxkaXYgPlxuICAgICAgICA8bWF0LXNsaWRlLXRvZ2dsZSBsYWJlbFBvc2l0aW9uPVwiYmVmb3JlXCIgY2xhc3M9XCJ0b2dnbGVcIiBbZm9ybUNvbnRyb2xdPVwic2hvd09FUm9ubHlcIiA+XG4gICAgICAgICAgemVpZ2UgbnVyIE9FUlxuICAgICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgPG1hdC1zbGlkZS10b2dnbGUgbGFiZWxQb3NpdGlvbj1cImJlZm9yZVwiIGNsYXNzPVwidG9nZ2xlXCIgW2Zvcm1Db250cm9sXT1cInNob3dBbGxDb2x1bW5zXCIgPlxuICAgICAgICAgIHplaWdlIGFsbGUgVHlwZW5cbiAgICAgICAgPC9tYXQtc2xpZGUtdG9nZ2xlPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdGg+XG4gICAgICA8dGRcbiAgICAgICAgbWF0LWNlbGxcbiAgICAgICAgKm1hdENlbGxEZWY9XCJsZXQgcm93XCJcbiAgICAgICAgbWF0VG9vbHRpcD1cInt7cm93Lm1ldGEuYWx0X2xhYmVsfX1cIlxuICAgICAgICBjbGFzcz1cImxhYmVsLWNvbCB7eydtYXQtY2VsbC1sZXZlbC0nICsgKHJvdy5tZXRhLmxldmVsKzEpfX1cIlxuICAgICAgPlxuICAgICAgICA8YSAoY2xpY2spPVwib3BlbkNvbGxlY3Rpb24ocm93Lm1ldGEuaWQpXCI+XG4gICAgICAgICAgPG1hdC1pY29uIFtzdmdJY29uXT1cInJvdy5tZXRhLmxldmVsPD0xPydsYXllcnMnOidjaGlsZCdcIiAvPlxuICAgICAgICAgIHt7IHJvdy5tZXRhLmxhYmVsIH19XG4gICAgICAgIDwvYT5cbiAgICAgIDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPCEtLSBvbmUgY29sdW1uIGZvciB0aGUgTWF0ZXJpYWxUeXBlIHNwYW5uaW5nIHRoZSBjb2xsZWN0aW9uIGFuZCBzZWFyY2ggY29sdW1ucy0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvbCBvZiBmaWx0ZXJlZENvbHVtbnM7IHRyYWNrQnk6Y29sdW1uSWRlbnRcIiBbbWF0Q29sdW1uRGVmXT1cImNvbC5pZCArICdfdHlwZSdcIj5cbiAgICAgIDx0aCBbYXR0ci5jb2xzcGFuXT1cIjJcIiBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgY2xhc3M9J21hdC1jZWxsLWxldmVsLVwie3tjb2wubGV2ZWx9fVwiJyBtYXRUb29sdGlwPVwie3tjb2wubGFiZWx9fVwiID57e2NvbC5sYWJlbH19PC90aD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8IS0tIC9zb3VyY2UgLS0+XG4gICAgPCEtLSBjb2xsZWN0aW9uIERhdGEgQ29sdW1ucyAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgZmlsdGVyZWRDb2x1bW5zOyB0cmFja0J5OmNvbHVtbklkZW50XCIgW21hdENvbHVtbkRlZl09XCJjb2x1bW4uaWQgKyBDT0xMRUNUSU9OX1BPU1RGSVhcIj5cbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgbWF0VG9vbHRpcD1cInt7Y29sdW1uLmxhYmVsfX1cIiA+aW4gU2FtbWx1bmc8L3RoPlxuICAgICAgPHRkIFtjbGFzcy5ub01hdGVyaWFsXT1cIiFyb3cuY291bnRzW2NvbHVtbi5pZF0/LnN1ZmZpY2llbnQgfHwgcm93LmNvdW50c1tjb2x1bW4uaWRdPy5zdWZmaWNpZW50IDw9IDFcIlxuICAgICAgICAgIFtjbGFzcy5mZXdNYXRlcmlhbHNdPVwiMSA8IHJvdy5jb3VudHNbY29sdW1uLmlkXT8uc3VmZmljaWVudCAmJiByb3cuY291bnRzW2NvbHVtbi5pZF0/LnN1ZmZpY2llbnQgPD0gM1wiXG4gICAgICAgICAgY2xhc3M9XCJjb2xsZWN0aW9uLWRhdGEtY2VsbFwiXG4gICAgICAgICAgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCI+XG4gICAgICAgICAgICA8YSAoY2xpY2spPVwic2hvd0NvbGxlY3Rpb25JdGVtcyhyb3cubWV0YS5pZCwgcm93Lm1ldGEubGFiZWwsIGNvbHVtbi5pZClcIj5cbiAgICAgICAgICAgICAge3sgcm93LmNvdW50c1tjb2x1bW4uaWRdPy5zdWZmaWNpZW50IHx8ICcwJyB9fVxuICAgICAgICAgICAgPC9hPlxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8IS0tIC9jb2xsZWN0aW9uIERhdGEgQ29sdW1ucyAtLT5cbiAgICA8IS0tIHNlYXJjaCBEYXRhIENvbHVtbnMgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGZpbHRlcmVkQ29sdW1ucyBsZXQgaW5kZXggPSBpbmRleDsgdHJhY2tCeTpjb2x1bW5JZGVudFwiIFttYXRDb2x1bW5EZWZdPVwiY29sdW1uLmlkICsgU0VBUkNIX1BPU1RGSVhcIj5cbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+U3VjaGU8L3RoPlxuICAgICAgPHRkIGNsYXNzPVwic2VhcmNoLWRhdGEtY2VsbFwiIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvd1wiPlxuICAgICAgICA8YSAoY2xpY2spPVwic2VhcmNoSW5FZGl0b3IoY29sdW1uLmlkLCByb3cubWV0YS5sYWJlbClcIj5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKCggc2VhcmNoQ291bnRzIHwgYXN5bmMpPy5oYXMoY29sdW1uLmlkICsgJ18nICsgcm93Lm1ldGEuaWQpICkgZWxzZSB6ZXJvT3JMb2FkaW5nXCI+XG4gICAgICAgICAgICB7eyAoc2VhcmNoQ291bnRzIHwgYXN5bmMpPy5nZXQoY29sdW1uLmlkICsgJ18nICsgcm93Lm1ldGEuaWQpIH19XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICN6ZXJvT3JMb2FkaW5nPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJvd3NMb2FkZWQuaGFzKHJvdy5tZXRhLmlkKSBlbHNlIGxvYWRpbmdCbG9ja1wiPiAwIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNsb2FkaW5nQmxvY2s+XG4gICAgICAgICAgICBsb2FkaW5n4oCmXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9hPlxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8IS0tIC9zZWFyY2ggRGF0YSBDb2x1bW5zIC0tPlxuICAgICAgPCEtLSBHZW5lcmF0ZSBhY3R1YWwgdGFibGUgLS0+XG4gICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJbJ2xhYmVsLWNvbCddLmNvbmNhdCggdHlwZUNvbHVtbnMgKTsgc3RpY2t5OiB0cnVlO1wiPjwvdHI+XG4gICAgPHRyIG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJhbHRlcm5hdGluZ0RhdGFDb2x1bW5zOyBzdGlja3k6IHRydWU7XCI+PC90cj5cbiAgICA8dHIgbWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogWydsYWJlbC1jb2wnXS5jb25jYXQoYWx0ZXJuYXRpbmdEYXRhQ29sdW1ucylcIj48L3RyPlxuICA8L3RhYmxlPlxuPC9tYXQtY2FyZD4iXX0=
|