@hestia-earth/ui-components 0.0.32 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/hestia-earth-ui-components.umd.js +180 -107
- package/bundles/hestia-earth-ui-components.umd.js.map +1 -1
- package/common/node-utils.d.ts +2 -2
- package/cycles/cycles-emissions-chart/cycles-emissions-chart.component.d.ts +4 -1
- package/cycles/cycles-result/cycles-result.component.d.ts +3 -1
- package/engine/engine.service.d.ts +2 -2
- package/esm2015/bibliographies/bibliographies-search-confirm/bibliographies-search-confirm.component.js +5 -4
- package/esm2015/common/blank-node-state/blank-node-state.component.js +5 -4
- package/esm2015/common/blank-node-state-notice/blank-node-state-notice.component.js +5 -4
- package/esm2015/common/blank-node-value-delta/blank-node-value-delta.component.js +5 -4
- package/esm2015/common/link-key-value/link-key-value.component.js +5 -4
- package/esm2015/common/node-utils.js +4 -4
- package/esm2015/common/schema-version-link/schema-version-link.component.js +5 -4
- package/esm2015/common/social-tags/social-tags.component.js +5 -4
- package/esm2015/common/unit-converter/unit-converter.component.js +5 -4
- package/esm2015/cycles/cycles-completeness/cycles-completeness.component.js +5 -4
- package/esm2015/cycles/cycles-emissions-chart/cycles-emissions-chart.component.js +9 -5
- package/esm2015/cycles/cycles-functional-unit-measure/cycles-functional-unit-measure.component.js +5 -4
- package/esm2015/cycles/cycles-result/cycles-result.component.js +10 -8
- package/esm2015/engine/engine-orchestrator-edit/engine-orchestrator-edit.component.js +5 -4
- package/esm2015/engine/engine-requirements-form/engine-requirements-form.component.js +5 -4
- package/esm2015/engine/engine.service.js +1 -1
- package/esm2015/files/files-form/files-form.component.js +5 -4
- package/esm2015/fontawesome/fontawesome.module.js +3 -3
- package/esm2015/impact-assessments/impact-assessments-indicator-breakdown-chart/impact-assessments-indicator-breakdown-chart.component.js +42 -16
- package/esm2015/impact-assessments/impact-assessments-indicators-chart/impact-assessments-indicators-chart.component.js +9 -5
- package/esm2015/impact-assessments/impact-assessments-products/impact-assessments-products.component.js +10 -2
- package/esm2015/node/node-csv-export-confirm/node-csv-export-confirm.component.js +5 -4
- package/esm2015/node/node-csv-select-headers/node-csv-select-headers.component.js +5 -4
- package/esm2015/node/node-diffs/node-diffs.component.js +5 -4
- package/esm2015/node/node-icon/node-icon.component.js +5 -4
- package/esm2015/node/node-link/node-link.component.js +5 -4
- package/esm2015/node/node-logs-file/node-logs-file.component.js +5 -4
- package/esm2015/node/node-missing-lookup-factors/node-missing-lookup-factors.component.js +5 -4
- package/esm2015/node/node-recommendations/node-recommendations.component.js +10 -8
- package/esm2015/node/node-value-details/node-value-details.component.js +5 -4
- package/esm2015/search/search.model.js +3 -3
- package/esm2015/sites/sites-maps/sites-maps.component.js +5 -4
- package/fesm2015/hestia-earth-ui-components.js +157 -87
- package/fesm2015/hestia-earth-ui-components.js.map +1 -1
- package/impact-assessments/impact-assessments-indicator-breakdown-chart/impact-assessments-indicator-breakdown-chart.component.d.ts +4 -2
- package/impact-assessments/impact-assessments-indicators-chart/impact-assessments-indicators-chart.component.d.ts +4 -1
- package/node/node-recommendations/node-recommendations.component.d.ts +3 -1
- package/package.json +6 -6
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
2
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
3
3
|
import { NodeType, SchemaType } from '@hestia-earth/schema';
|
|
4
|
-
import { getPrimaryProduct } from '@hestia-earth/api';
|
|
5
4
|
import { filterParams, isEqual, copyObject } from '../../common/utils';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
6
|
import * as i1 from "../../engine/engine.service";
|
|
8
7
|
import * as i2 from "@fortawesome/angular-fontawesome";
|
|
9
8
|
import * as i3 from "@angular/common";
|
|
10
|
-
import * as i4 from "../../common/
|
|
11
|
-
import * as i5 from "../../common/key-to-label.pipe";
|
|
9
|
+
import * as i4 from "../../common/key-to-label.pipe";
|
|
12
10
|
var NodeField;
|
|
13
11
|
(function (NodeField) {
|
|
14
12
|
NodeField["inputs"] = "inputs";
|
|
@@ -18,7 +16,7 @@ var NodeField;
|
|
|
18
16
|
})(NodeField || (NodeField = {}));
|
|
19
17
|
const filtersByType = {
|
|
20
18
|
[NodeType.Cycle]: (cycle) => {
|
|
21
|
-
const primaryProduct =
|
|
19
|
+
const primaryProduct = (cycle.products || []).find(p => { var _a; return p.primary && !!((_a = p.term) === null || _a === void 0 ? void 0 : _a['@id']); });
|
|
22
20
|
return primaryProduct ? {
|
|
23
21
|
productTermId: primaryProduct.term['@id']
|
|
24
22
|
} : {};
|
|
@@ -39,6 +37,7 @@ export class NodeRecommendationsComponent {
|
|
|
39
37
|
this.engineService = engineService;
|
|
40
38
|
this.selectRecommendation = new EventEmitter();
|
|
41
39
|
this.loading = false;
|
|
40
|
+
this.visible = false;
|
|
42
41
|
this.recommendations = [];
|
|
43
42
|
}
|
|
44
43
|
ngOnChanges(changes) {
|
|
@@ -50,6 +49,9 @@ export class NodeRecommendationsComponent {
|
|
|
50
49
|
}
|
|
51
50
|
}
|
|
52
51
|
}
|
|
52
|
+
trackByValue(_index, id) {
|
|
53
|
+
return id;
|
|
54
|
+
}
|
|
53
55
|
get type() {
|
|
54
56
|
var _a, _b;
|
|
55
57
|
return ((_a = this.node) === null || _a === void 0 ? void 0 : _a.type) || ((_b = this.node) === null || _b === void 0 ? void 0 : _b['@type']);
|
|
@@ -60,7 +62,7 @@ export class NodeRecommendationsComponent {
|
|
|
60
62
|
const termType = termTypesByField[this.nodeField];
|
|
61
63
|
const ids = yield this.engineService.getTermIds(Object.assign(Object.assign({}, this._filters), { termType }));
|
|
62
64
|
const existingIds = (this.node[this.nodeField] || []).map(n => { var _a; return (_a = n.term) === null || _a === void 0 ? void 0 : _a['@id']; }).filter(Boolean);
|
|
63
|
-
this.recommendations = ids.filter(id => !existingIds.includes(id));
|
|
65
|
+
this.recommendations = ids.filter(id => !existingIds.includes(id)).sort();
|
|
64
66
|
this.loading = false;
|
|
65
67
|
});
|
|
66
68
|
}
|
|
@@ -72,11 +74,11 @@ export class NodeRecommendationsComponent {
|
|
|
72
74
|
}
|
|
73
75
|
}
|
|
74
76
|
NodeRecommendationsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: NodeRecommendationsComponent, deps: [{ token: i1.HeEngineService }], target: i0.ɵɵFactoryTarget.Component });
|
|
75
|
-
NodeRecommendationsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: NodeRecommendationsComponent, selector: "
|
|
77
|
+
NodeRecommendationsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: NodeRecommendationsComponent, selector: "he-node-recommendations", inputs: { node: "node", nodeField: "nodeField", buttonClass: "buttonClass" }, outputs: { selectRecommendation: "selectRecommendation" }, usesOnChanges: true, ngImport: i0, template: "<p class=\"my-2 is-size-7\" [class.is-hidden]=\"!loading && recommendations.length === 0\">\n <span class=\"pr-2\">Recommendations</span>\n <span *ngIf=\"loading\">\n <fa-icon icon=\"spinner\" [pulse]=\"true\" size=\"sm\"></fa-icon>\n </span>\n <a *ngIf=\"!loading\" (click)=\"visible = !visible\">\n <span *ngIf=\"visible\">Hide</span>\n <span *ngIf=\"!visible\">Show</span>\n </a>\n</p>\n\n<div [class.is-hidden]=\"!visible\">\n <button class=\"button mr-2 mb-2 {{buttonClass}}\"\n *ngFor=\"let id of recommendations; trackBy: trackByValue; let i = index\" (click)=\"add(id, i)\"\n >\n <fa-icon icon=\"plus-circle\"></fa-icon>\n <span class=\"pl-2\">Add</span>\n <span class=\"pl-1\">{{id | keyToLabel}}</span>\n </button>\n</div>\n", styles: [""], components: [{ type: i2.FaIconComponent, selector: "fa-icon", inputs: ["classes", "icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "keyToLabel": i4.KeyToLabelPipe } });
|
|
76
78
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: NodeRecommendationsComponent, decorators: [{
|
|
77
79
|
type: Component,
|
|
78
80
|
args: [{
|
|
79
|
-
selector: '
|
|
81
|
+
selector: 'he-node-recommendations',
|
|
80
82
|
templateUrl: './node-recommendations.component.html',
|
|
81
83
|
styleUrls: ['./node-recommendations.component.scss']
|
|
82
84
|
}]
|
|
@@ -89,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
89
91
|
}], selectRecommendation: [{
|
|
90
92
|
type: Output
|
|
91
93
|
}] } });
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1yZWNvbW1lbmRhdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL25vZGUvbm9kZS1yZWNvbW1lbmRhdGlvbnMvbm9kZS1yZWNvbW1lbmRhdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL25vZGUvbm9kZS1yZWNvbW1lbmRhdGlvbnMvbm9kZS1yZWNvbW1lbmRhdGlvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBYSxNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxRQUFRLEVBQWUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHekUsT0FBTyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7OztBQUV2RSxJQUFLLFNBS0o7QUFMRCxXQUFLLFNBQVM7SUFDWiw4QkFBaUIsQ0FBQTtJQUNqQiwwQ0FBNkIsQ0FBQTtJQUM3QixvQ0FBdUIsQ0FBQTtJQUN2QixrQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBTEksU0FBUyxLQUFULFNBQVMsUUFLYjtBQUVELE1BQU0sYUFBYSxHQUVmO0lBQ0YsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtRQUMxQixNQUFNLGNBQWMsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQUMsT0FBQSxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFBLE1BQUEsQ0FBQyxDQUFDLElBQUksMENBQUcsS0FBSyxDQUFDLENBQUEsQ0FBQSxFQUFBLENBQUMsQ0FBQztRQUN4RixPQUFPLGNBQWMsQ0FBQyxDQUFDLENBQUM7WUFDdEIsYUFBYSxFQUFFLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQzFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNULENBQUM7SUFDRCxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFlLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDL0MsUUFBUTtLQUNULENBQUM7Q0FDSCxDQUFDO0FBRUYsTUFBTSxnQkFBZ0IsR0FFbEI7SUFDRixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxVQUFVLENBQUMsS0FBSztJQUNwQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsRUFBRSxVQUFVLENBQUMsV0FBVztJQUNoRCxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRSxVQUFVLENBQUMsUUFBUTtJQUMxQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxVQUFVLENBQUMsT0FBTztDQUN6QyxDQUFDO0FBRUYsTUFBTSxPQUFPLEdBQUcsQ0FBQyxJQUFTLEVBQUUsU0FBb0IsRUFBRSxFQUFFLENBQ2xELE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsSUFBSSxNQUFJLElBQUksYUFBSixJQUFJLHVCQUFKLElBQUksQ0FBRyxPQUFPLENBQUMsQ0FBQSxDQUFDLElBQUksYUFBYSxDQUFDO0FBT25HLE1BQU0sT0FBTyw0QkFBNEI7SUFpQnZDLFlBQ1UsYUFBOEI7UUFBOUIsa0JBQWEsR0FBYixhQUFhLENBQWlCO1FBUGhDLHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFbkQsWUFBTyxHQUFHLEtBQUssQ0FBQztRQUNoQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLG9CQUFlLEdBQWEsRUFBRSxDQUFDO0lBSWxDLENBQUM7SUFFTCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxNQUFNLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUMzRCxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzdDLElBQUksQ0FBQyxRQUFRLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUE4QixDQUFDO1lBQy9GLElBQUksVUFBVSxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFO2dCQUM5RCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDaEI7U0FDRjtJQUNILENBQUM7SUFFTSxZQUFZLENBQUMsTUFBYyxFQUFFLEVBQVU7UUFDNUMsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsSUFBVyxJQUFJOztRQUNiLE9BQU8sQ0FBQSxNQUFBLElBQUksQ0FBQyxJQUFJLDBDQUFFLElBQUksTUFBSSxNQUFBLElBQUksQ0FBQyxJQUFJLDBDQUFHLE9BQU8sQ0FBQyxDQUFBLENBQUM7SUFDakQsQ0FBQztJQUVhLE9BQU87O1lBQ25CLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNsRCxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxpQ0FBTSxJQUFJLENBQUMsUUFBUSxLQUFFLFFBQVEsSUFBRyxDQUFDO1lBQ2hGLE1BQU0sV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQUMsT0FBQSxNQUFBLENBQUMsQ0FBQyxJQUFJLDBDQUFHLEtBQUssQ0FBQyxDQUFBLEVBQUEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNoRyxJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMxRSxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUN2QixDQUFDO0tBQUE7SUFFTSxHQUFHLENBQUMsRUFBVSxFQUFFLEtBQWE7UUFDbEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3JELGVBQWUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxlQUFlLEdBQUcsZUFBZSxDQUFDO0lBQ3pDLENBQUM7OzBIQXJEVSw0QkFBNEI7OEdBQTVCLDRCQUE0Qiw2TkM1Q3pDLDZ2QkFvQkE7NEZEd0JhLDRCQUE0QjtrQkFMeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxXQUFXLEVBQUUsdUNBQXVDO29CQUNwRCxTQUFTLEVBQUUsQ0FBQyx1Q0FBdUMsQ0FBQztpQkFDckQ7c0dBS1MsSUFBSTtzQkFEWCxLQUFLO2dCQUdFLFNBQVM7c0JBRGhCLEtBQUs7Z0JBR0MsV0FBVztzQkFEakIsS0FBSztnQkFJRSxvQkFBb0I7c0JBRDNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb2RlVHlwZSwgSVNpdGVKU09OTEQsIFNjaGVtYVR5cGUgfSBmcm9tICdAaGVzdGlhLWVhcnRoL3NjaGVtYSc7XG5cbmltcG9ydCB7IEhlRW5naW5lU2VydmljZSwgSUNhbGN1bGF0aW9uc01vZGVsc1BhcmFtcyB9IGZyb20gJy4uLy4uL2VuZ2luZS9lbmdpbmUuc2VydmljZSc7XG5pbXBvcnQgeyBmaWx0ZXJQYXJhbXMsIGlzRXF1YWwsIGNvcHlPYmplY3QgfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbHMnO1xuXG5lbnVtIE5vZGVGaWVsZCB7XG4gIGlucHV0cyA9ICdpbnB1dHMnLFxuICBtZWFzdXJlbWVudHMgPSAnbWVhc3VyZW1lbnRzJyxcbiAgcHJhY3RpY2VzID0gJ3ByYWN0aWNlcycsXG4gIHByb2R1Y3RzID0gJ3Byb2R1Y3RzJ1xufVxuXG5jb25zdCBmaWx0ZXJzQnlUeXBlOiB7XG4gIFt0eXBlIGluIE5vZGVUeXBlXT86IChub2RlOiBhbnkpID0+IElDYWxjdWxhdGlvbnNNb2RlbHNQYXJhbXM7XG59ID0ge1xuICBbTm9kZVR5cGUuQ3ljbGVdOiAoY3ljbGUpID0+IHtcbiAgICBjb25zdCBwcmltYXJ5UHJvZHVjdCA9IChjeWNsZS5wcm9kdWN0cyB8fCBbXSkuZmluZChwID0+IHAucHJpbWFyeSAmJiAhIXAudGVybT8uWydAaWQnXSk7XG4gICAgcmV0dXJuIHByaW1hcnlQcm9kdWN0ID8ge1xuICAgICAgcHJvZHVjdFRlcm1JZDogcHJpbWFyeVByb2R1Y3QudGVybVsnQGlkJ11cbiAgICB9IDoge307XG4gIH0sXG4gIFtOb2RlVHlwZS5TaXRlXTogKHsgc2l0ZVR5cGUgfTogSVNpdGVKU09OTEQpID0+ICh7XG4gICAgc2l0ZVR5cGVcbiAgfSlcbn07XG5cbmNvbnN0IHRlcm1UeXBlc0J5RmllbGQ6IHtcbiAgW3Byb3BlcnR5IGluIE5vZGVGaWVsZF06IFNjaGVtYVR5cGU7XG59ID0ge1xuICBbTm9kZUZpZWxkLmlucHV0c106IFNjaGVtYVR5cGUuSW5wdXQsXG4gIFtOb2RlRmllbGQubWVhc3VyZW1lbnRzXTogU2NoZW1hVHlwZS5NZWFzdXJlbWVudCxcbiAgW05vZGVGaWVsZC5wcmFjdGljZXNdOiBTY2hlbWFUeXBlLlByYWN0aWNlLFxuICBbTm9kZUZpZWxkLnByb2R1Y3RzXTogU2NoZW1hVHlwZS5Qcm9kdWN0XG59O1xuXG5jb25zdCBpc1ZhbGlkID0gKG5vZGU6IGFueSwgbm9kZUZpZWxkOiBOb2RlRmllbGQpID0+XG4gIE9iamVjdC52YWx1ZXMoTm9kZUZpZWxkKS5pbmNsdWRlcyhub2RlRmllbGQpICYmIChub2RlPy50eXBlIHx8IG5vZGU/LlsnQHR5cGUnXSkgaW4gZmlsdGVyc0J5VHlwZTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaGUtbm9kZS1yZWNvbW1lbmRhdGlvbnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vbm9kZS1yZWNvbW1lbmRhdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9ub2RlLXJlY29tbWVuZGF0aW9ucy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE5vZGVSZWNvbW1lbmRhdGlvbnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBwcml2YXRlIF9maWx0ZXJzOiBJQ2FsY3VsYXRpb25zTW9kZWxzUGFyYW1zO1xuXG4gIEBJbnB1dCgpXG4gIHByaXZhdGUgbm9kZTogYW55O1xuICBASW5wdXQoKVxuICBwcml2YXRlIG5vZGVGaWVsZDogTm9kZUZpZWxkO1xuICBASW5wdXQoKVxuICBwdWJsaWMgYnV0dG9uQ2xhc3M6IHN0cmluZztcblxuICBAT3V0cHV0KClcbiAgcHJpdmF0ZSBzZWxlY3RSZWNvbW1lbmRhdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIHB1YmxpYyBsb2FkaW5nID0gZmFsc2U7XG4gIHB1YmxpYyB2aXNpYmxlID0gZmFsc2U7XG4gIHB1YmxpYyByZWNvbW1lbmRhdGlvbnM6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbmdpbmVTZXJ2aWNlOiBIZUVuZ2luZVNlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKCdub2RlJyBpbiBjaGFuZ2VzICYmIGlzVmFsaWQodGhpcy5ub2RlLCB0aGlzLm5vZGVGaWVsZCkpIHtcbiAgICAgIGNvbnN0IG9sZEZpbHRlcnMgPSBjb3B5T2JqZWN0KHRoaXMuX2ZpbHRlcnMpO1xuICAgICAgdGhpcy5fZmlsdGVycyA9IGZpbHRlclBhcmFtcyhmaWx0ZXJzQnlUeXBlW3RoaXMudHlwZV0odGhpcy5ub2RlKSkgYXMgSUNhbGN1bGF0aW9uc01vZGVsc1BhcmFtcztcbiAgICAgIGlmIChvbGRGaWx0ZXJzID09PSBudWxsIHx8ICFpc0VxdWFsKG9sZEZpbHRlcnMsIHRoaXMuX2ZpbHRlcnMpKSB7XG4gICAgICAgIHRoaXMucmVmcmVzaCgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB0cmFja0J5VmFsdWUoX2luZGV4OiBudW1iZXIsIGlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gaWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZT8udHlwZSB8fCB0aGlzLm5vZGU/LlsnQHR5cGUnXTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVmcmVzaCgpIHtcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgIGNvbnN0IHRlcm1UeXBlID0gdGVybVR5cGVzQnlGaWVsZFt0aGlzLm5vZGVGaWVsZF07XG4gICAgY29uc3QgaWRzID0gYXdhaXQgdGhpcy5lbmdpbmVTZXJ2aWNlLmdldFRlcm1JZHMoeyAuLi50aGlzLl9maWx0ZXJzLCB0ZXJtVHlwZSB9KTtcbiAgICBjb25zdCBleGlzdGluZ0lkcyA9ICh0aGlzLm5vZGVbdGhpcy5ub2RlRmllbGRdIHx8IFtdKS5tYXAobiA9PiBuLnRlcm0/LlsnQGlkJ10pLmZpbHRlcihCb29sZWFuKTtcbiAgICB0aGlzLnJlY29tbWVuZGF0aW9ucyA9IGlkcy5maWx0ZXIoaWQgPT4gIWV4aXN0aW5nSWRzLmluY2x1ZGVzKGlkKSkuc29ydCgpO1xuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGFkZChpZDogc3RyaW5nLCBpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5zZWxlY3RSZWNvbW1lbmRhdGlvbi5uZXh0KGlkKTtcbiAgICBjb25zdCByZWNvbW1lbmRhdGlvbnMgPSB0aGlzLnJlY29tbWVuZGF0aW9ucy5zbGljZSgpO1xuICAgIHJlY29tbWVuZGF0aW9ucy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIHRoaXMucmVjb21tZW5kYXRpb25zID0gcmVjb21tZW5kYXRpb25zO1xuICB9XG59XG4iLCI8cCBjbGFzcz1cIm15LTIgaXMtc2l6ZS03XCIgW2NsYXNzLmlzLWhpZGRlbl09XCIhbG9hZGluZyAmJiByZWNvbW1lbmRhdGlvbnMubGVuZ3RoID09PSAwXCI+XG4gIDxzcGFuIGNsYXNzPVwicHItMlwiPlJlY29tbWVuZGF0aW9uczwvc3Bhbj5cbiAgPHNwYW4gKm5nSWY9XCJsb2FkaW5nXCI+XG4gICAgPGZhLWljb24gaWNvbj1cInNwaW5uZXJcIiBbcHVsc2VdPVwidHJ1ZVwiIHNpemU9XCJzbVwiPjwvZmEtaWNvbj5cbiAgPC9zcGFuPlxuICA8YSAqbmdJZj1cIiFsb2FkaW5nXCIgKGNsaWNrKT1cInZpc2libGUgPSAhdmlzaWJsZVwiPlxuICAgIDxzcGFuICpuZ0lmPVwidmlzaWJsZVwiPkhpZGU8L3NwYW4+XG4gICAgPHNwYW4gKm5nSWY9XCIhdmlzaWJsZVwiPlNob3c8L3NwYW4+XG4gIDwvYT5cbjwvcD5cblxuPGRpdiBbY2xhc3MuaXMtaGlkZGVuXT1cIiF2aXNpYmxlXCI+XG4gIDxidXR0b24gY2xhc3M9XCJidXR0b24gbXItMiBtYi0yIHt7YnV0dG9uQ2xhc3N9fVwiXG4gICAgKm5nRm9yPVwibGV0IGlkIG9mIHJlY29tbWVuZGF0aW9uczsgdHJhY2tCeTogdHJhY2tCeVZhbHVlOyBsZXQgaSA9IGluZGV4XCIgKGNsaWNrKT1cImFkZChpZCwgaSlcIlxuICA+XG4gICAgPGZhLWljb24gaWNvbj1cInBsdXMtY2lyY2xlXCI+PC9mYS1pY29uPlxuICAgIDxzcGFuIGNsYXNzPVwicGwtMlwiPkFkZDwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cInBsLTFcIj57e2lkIHwga2V5VG9MYWJlbH19PC9zcGFuPlxuICA8L2J1dHRvbj5cbjwvZGl2PlxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
2
|
import { grouppedValueKeys } from '../../common/node-utils';
|
|
3
3
|
import { baseUrl } from '../../common/utils';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
@@ -30,13 +30,14 @@ export class NodeValueDetailsComponent {
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
NodeValueDetailsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: NodeValueDetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
33
|
-
NodeValueDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: NodeValueDetailsComponent, selector: "he-node-value-details", inputs: { data: "data", nodeType: "nodeType", dataKey: "dataKey" }, ngImport: i0, template: "<ng-container *bindOnce=\"data\">\n <ng-container *ngIf=\"data?.nodes?.length === 1; else showTable\">\n <ng-container *ngFor=\"let key of keys\">\n <he-link-key-value [node]=\"data!.nodes[0]\" [nodeType]=\"nodeType\" [dataKey]=\"dataKey\" [key]=\"key\"></he-link-key-value>\n </ng-container>\n <ng-container *ngFor=\"let key of additionalKeys\">\n <he-link-key-value [node]=\"data!.nodes[0]\" [nodeType]=\"nodeType\" [dataKey]=\"dataKey\" [key]=\"key\"></he-link-key-value>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #showTable>\n <he-link-key-value [node]=\"data!.nodes[0]\" [nodeType]=\"nodeType\" [dataKey]=\"dataKey\" key=\"term\"></he-link-key-value>\n\n <div class=\"table-container mt-2\">\n <table class=\"table is-narrow\">\n <thead>\n <th *ngFor=\"let key of tableKeys\">\n <a [href]=\"baseUrl + '/schema/' + type + '#' + key\" target=\"_blank\"><b>{{key}}</b></a>\n </th>\n </thead>\n <tbody>\n <tr *ngFor=\"let node of data!.nodes\">\n <td *ngFor=\"let key of tableKeys\">\n <he-link-key-value [node]=\"node\" [nodeType]=\"nodeType\" [dataKey]=\"dataKey\" [key]=\"key\"></he-link-key-value>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</ng-template>\n", styles: ["table{background-color:transparent;color:#fff}table::ng-deep he-link-key-value a:first-child,table::ng-deep he-link-key-value a:first-child+span{display:none}\n"], components: [{ type: i1.LinkKeyValueComponent, selector: "he-link-key-value", inputs: ["node", "nodeType", "dataKey", "key"] }], directives: [{ type: i2.BindOnceDirective, selector: "[bindOnce]", inputs: ["bindOnce"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
33
|
+
NodeValueDetailsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: NodeValueDetailsComponent, selector: "he-node-value-details", inputs: { data: "data", nodeType: "nodeType", dataKey: "dataKey" }, ngImport: i0, template: "<ng-container *bindOnce=\"data\">\n <ng-container *ngIf=\"data?.nodes?.length === 1; else showTable\">\n <ng-container *ngFor=\"let key of keys\">\n <he-link-key-value [node]=\"data!.nodes[0]\" [nodeType]=\"nodeType\" [dataKey]=\"dataKey\" [key]=\"key\"></he-link-key-value>\n </ng-container>\n <ng-container *ngFor=\"let key of additionalKeys\">\n <he-link-key-value [node]=\"data!.nodes[0]\" [nodeType]=\"nodeType\" [dataKey]=\"dataKey\" [key]=\"key\"></he-link-key-value>\n </ng-container>\n </ng-container>\n</ng-container>\n\n<ng-template #showTable>\n <he-link-key-value [node]=\"data!.nodes[0]\" [nodeType]=\"nodeType\" [dataKey]=\"dataKey\" key=\"term\"></he-link-key-value>\n\n <div class=\"table-container mt-2\">\n <table class=\"table is-narrow\">\n <thead>\n <th *ngFor=\"let key of tableKeys\">\n <a [href]=\"baseUrl + '/schema/' + type + '#' + key\" target=\"_blank\"><b>{{key}}</b></a>\n </th>\n </thead>\n <tbody>\n <tr *ngFor=\"let node of data!.nodes\">\n <td *ngFor=\"let key of tableKeys\">\n <he-link-key-value [node]=\"node\" [nodeType]=\"nodeType\" [dataKey]=\"dataKey\" [key]=\"key\"></he-link-key-value>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</ng-template>\n", styles: ["table{background-color:transparent;color:#fff}table::ng-deep he-link-key-value a:first-child,table::ng-deep he-link-key-value a:first-child+span{display:none}\n"], components: [{ type: i1.LinkKeyValueComponent, selector: "he-link-key-value", inputs: ["node", "nodeType", "dataKey", "key"] }], directives: [{ type: i2.BindOnceDirective, selector: "[bindOnce]", inputs: ["bindOnce"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
34
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: NodeValueDetailsComponent, decorators: [{
|
|
35
35
|
type: Component,
|
|
36
36
|
args: [{
|
|
37
37
|
selector: 'he-node-value-details',
|
|
38
38
|
templateUrl: './node-value-details.component.html',
|
|
39
|
-
styleUrls: ['./node-value-details.component.scss']
|
|
39
|
+
styleUrls: ['./node-value-details.component.scss'],
|
|
40
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
40
41
|
}]
|
|
41
42
|
}], propDecorators: { data: [{
|
|
42
43
|
type: Input
|
|
@@ -45,4 +46,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
45
46
|
}], dataKey: [{
|
|
46
47
|
type: Input
|
|
47
48
|
}] } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS12YWx1ZS1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ub2RlL25vZGUtdmFsdWUtZGV0YWlscy9ub2RlLXZhbHVlLWRldGFpbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vc3JjL25vZGUvbm9kZS12YWx1ZS1kZXRhaWxzL25vZGUtdmFsdWUtZGV0YWlscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUdsRixPQUFPLEVBQUUsaUJBQWlCLEVBQWdCLE1BQU0seUJBQXlCLENBQUM7QUFDMUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7OztBQUU3QyxNQUFNLGNBQWMsR0FBRztJQUNyQix3QkFBd0IsRUFBRSxhQUFhO0lBQ3ZDLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsaUJBQWlCO0lBQ2hFLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsb0JBQW9CO0lBQ3hHLGtCQUFrQjtDQUNuQixDQUFDO0FBQ0YsTUFBTSxTQUFTLEdBQUc7SUFDaEIsUUFBUSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxpQkFBaUI7Q0FDM0UsQ0FBQztBQVFGLE1BQU0sT0FBTyx5QkFBeUI7SUFOdEM7UUFjUyxZQUFPLEdBQUcsT0FBTyxFQUFFLENBQUM7UUFDcEIsU0FBSSxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsaUJBQWlCLENBQUMsQ0FBQztRQUN2QyxtQkFBYyxHQUFHLGNBQWMsQ0FBQztRQUNoQyxjQUFTLEdBQUcsU0FBUyxDQUFDO0tBUzlCO0lBUEMsSUFBVyxJQUFJOztRQUNiLE9BQU8sTUFBQSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFdBQUMsT0FBQSxDQUFDLENBQUEsTUFBQSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxLQUFLLEtBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFBLEVBQUEsQ0FBQyxDQUFDO0lBQy9GLENBQUM7O3VIQW5CVSx5QkFBeUI7MkdBQXpCLHlCQUF5QixpSUN0QnRDLG15Q0ErQkE7NEZEVGEseUJBQXlCO2tCQU5yQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFdBQVcsRUFBRSxxQ0FBcUM7b0JBQ2xELFNBQVMsRUFBRSxDQUFDLHFDQUFxQyxDQUFDO29CQUNsRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7OEJBR1EsSUFBSTtzQkFEVixLQUFLO2dCQUdDLFFBQVE7c0JBRGQsS0FBSztnQkFHQyxPQUFPO3NCQURiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb2RlVHlwZSB9IGZyb20gJ0BoZXN0aWEtZWFydGgvc2NoZW1hJztcblxuaW1wb3J0IHsgZ3JvdXBwZWRWYWx1ZUtleXMsIElHcm91cGVkTm9kZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9ub2RlLXV0aWxzJztcbmltcG9ydCB7IGJhc2VVcmwgfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbHMnO1xuXG5jb25zdCBhZGRpdGlvbmFsS2V5cyA9IFtcbiAgJ21ldGhvZE1vZGVsRGVzY3JpcHRpb24nLCAnZGVzY3JpcHRpb24nLFxuICAncHJpbWFyeScsICdlbWlzc2lvbkR1cmF0aW9uJywgJ29ic2VydmF0aW9ucycsICdzdGF0c0RlZmluaXRpb24nLFxuICAndGVybScsICdzb3VyY2UnLCAndmFyaWV0eScsICdyZWxpYWJpbGl0eScsICdwcmljZScsICdjdXJyZW5jeScsICdjb3N0JywgJ3JldmVudWUnLCAnZWNvbm9taWNWYWx1ZVNoYXJlJyxcbiAgJ2ltcGFjdEFzc2Vzc21lbnQnXG5dO1xuY29uc3QgdGFibGVLZXlzID0gW1xuICAnaW5wdXRzJywgJ3ZhbHVlJywgJ2RhdGVzJywgJ21ldGhvZE1vZGVsJywgJ21ldGhvZFRpZXInLCAnc3RhdHNEZWZpbml0aW9uJ1xuXTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaGUtbm9kZS12YWx1ZS1kZXRhaWxzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25vZGUtdmFsdWUtZGV0YWlscy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL25vZGUtdmFsdWUtZGV0YWlscy5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBOb2RlVmFsdWVEZXRhaWxzQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgcHVibGljIGRhdGE/OiBJR3JvdXBlZE5vZGU8VD47XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBub2RlVHlwZT86IE5vZGVUeXBlO1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGF0YUtleT86IHN0cmluZztcblxuICBwdWJsaWMgYmFzZVVybCA9IGJhc2VVcmwoKTtcbiAgcHVibGljIGtleXMgPSBbJ3ZhbHVlJywgLi4uZ3JvdXBwZWRWYWx1ZUtleXNdO1xuICBwdWJsaWMgYWRkaXRpb25hbEtleXMgPSBhZGRpdGlvbmFsS2V5cztcbiAgcHVibGljIHRhYmxlS2V5cyA9IHRhYmxlS2V5cztcblxuICBwdWJsaWMgZ2V0IHR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YT8ubm9kZXNbMF1bJ0B0eXBlJ107XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnRhYmxlS2V5cyA9IHRhYmxlS2V5cy5maWx0ZXIoa2V5ID0+ICh0aGlzLmRhdGE/Lm5vZGVzIHx8IFtdKS5zb21lKG5vZGUgPT4ga2V5IGluIG5vZGUpKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqYmluZE9uY2U9XCJkYXRhXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRhPy5ub2Rlcz8ubGVuZ3RoID09PSAxOyBlbHNlIHNob3dUYWJsZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGtleSBvZiBrZXlzXCI+XG4gICAgICA8aGUtbGluay1rZXktdmFsdWUgW25vZGVdPVwiZGF0YSEubm9kZXNbMF1cIiBbbm9kZVR5cGVdPVwibm9kZVR5cGVcIiBbZGF0YUtleV09XCJkYXRhS2V5XCIgW2tleV09XCJrZXlcIj48L2hlLWxpbmsta2V5LXZhbHVlPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGtleSBvZiBhZGRpdGlvbmFsS2V5c1wiPlxuICAgICAgPGhlLWxpbmsta2V5LXZhbHVlIFtub2RlXT1cImRhdGEhLm5vZGVzWzBdXCIgW25vZGVUeXBlXT1cIm5vZGVUeXBlXCIgW2RhdGFLZXldPVwiZGF0YUtleVwiIFtrZXldPVwia2V5XCI+PC9oZS1saW5rLWtleS12YWx1ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNzaG93VGFibGU+XG4gIDxoZS1saW5rLWtleS12YWx1ZSBbbm9kZV09XCJkYXRhIS5ub2Rlc1swXVwiIFtub2RlVHlwZV09XCJub2RlVHlwZVwiIFtkYXRhS2V5XT1cImRhdGFLZXlcIiBrZXk9XCJ0ZXJtXCI+PC9oZS1saW5rLWtleS12YWx1ZT5cblxuICA8ZGl2IGNsYXNzPVwidGFibGUtY29udGFpbmVyIG10LTJcIj5cbiAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSBpcy1uYXJyb3dcIj5cbiAgICAgIDx0aGVhZD5cbiAgICAgICAgPHRoICpuZ0Zvcj1cImxldCBrZXkgb2YgdGFibGVLZXlzXCI+XG4gICAgICAgICAgPGEgW2hyZWZdPVwiYmFzZVVybCArICcvc2NoZW1hLycgKyB0eXBlICsgJyMnICsga2V5XCIgdGFyZ2V0PVwiX2JsYW5rXCI+PGI+e3trZXl9fTwvYj48L2E+XG4gICAgICAgIDwvdGg+XG4gICAgICA8L3RoZWFkPlxuICAgICAgPHRib2R5PlxuICAgICAgICA8dHIgKm5nRm9yPVwibGV0IG5vZGUgb2YgZGF0YSEubm9kZXNcIj5cbiAgICAgICAgICA8dGQgKm5nRm9yPVwibGV0IGtleSBvZiB0YWJsZUtleXNcIj5cbiAgICAgICAgICAgIDxoZS1saW5rLWtleS12YWx1ZSBbbm9kZV09XCJub2RlXCIgW25vZGVUeXBlXT1cIm5vZGVUeXBlXCIgW2RhdGFLZXldPVwiZGF0YUtleVwiIFtrZXldPVwia2V5XCI+PC9oZS1saW5rLWtleS12YWx1ZT5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L3RyPlxuICAgICAgPC90Ym9keT5cbiAgICA8L3RhYmxlPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -125,7 +125,7 @@ export const matchNestedKey = (key, query) => isNestedKey(key) ? {
|
|
|
125
125
|
*/
|
|
126
126
|
export const searchResultsFields = Object.freeze({
|
|
127
127
|
[NodeType.Cycle]: [
|
|
128
|
-
'description', '
|
|
128
|
+
'description', 'endDate',
|
|
129
129
|
'emissionsCount', 'inputsCount', 'productsCount',
|
|
130
130
|
'site.location', 'site.country.name', 'site.region.name'
|
|
131
131
|
],
|
|
@@ -136,7 +136,7 @@ export const searchResultsFields = Object.freeze({
|
|
|
136
136
|
* List of fields to search in.
|
|
137
137
|
*/
|
|
138
138
|
const searchFields = Object.freeze({
|
|
139
|
-
[NodeType.Cycle]: ['name', 'description'
|
|
139
|
+
[NodeType.Cycle]: ['name', 'description'],
|
|
140
140
|
[NodeType.Source]: ['name', 'bibliography.title'],
|
|
141
141
|
[NodeType.ImpactAssessment]: ['name', 'product.name', 'country.name']
|
|
142
142
|
});
|
|
@@ -201,4 +201,4 @@ export const searchQuery = (type, query, filters, aggregated) => {
|
|
|
201
201
|
};
|
|
202
202
|
};
|
|
203
203
|
/* eslint-enable complexity */
|
|
204
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlYXJjaC9zZWFyY2gubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUlwRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQXFCO0lBQy9DLFFBQVEsQ0FBQyxLQUFLO0lBQ2QsUUFBUSxDQUFDLE1BQU07Q0FDaEIsQ0FBQztBQVNGLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLENBQUMsT0FBdUIsRUFBRSxFQUFFLENBQ2hFLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztLQUMxQixNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztLQUN2QyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztLQUNsRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFZixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLE9BQWUsRUFBa0IsRUFBRSxDQUMxRSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBUyxFQUFFLElBQUksRUFBRSxFQUFFO0lBQ3BELE1BQU0sQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLElB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b3J0IHsgTm9kZVR5cGUsIFRlcm1UZXJtVHlwZSwgbmVzdGVkU2VhcmNoYWJsZUtleXMgfSBmcm9tICdAaGVzdGlhLWVhcnRoL3NjaGVtYSc7XG5cbmV4cG9ydCB0eXBlIHNlYXJjaGFibGVUeXBlID0gTm9kZVR5cGUuQ3ljbGUgfCBOb2RlVHlwZS5Tb3VyY2U7XG5cbmV4cG9ydCBjb25zdCBzZWFyY2hhYmxlVHlwZXM6IHNlYXJjaGFibGVUeXBlW10gPSBbXG4gIE5vZGVUeXBlLkN5Y2xlLFxuICBOb2RlVHlwZS5Tb3VyY2Vcbl07XG5cbnR5cGUgbXVsdGlNYXRjaFR5cGUgPSAnYmVzdF9maWVsZHMnIHwgJ21vc3RfZmllbGRzJyB8ICdjcm9zc19maWVsZHMnIHwgJ3BocmFzZScgfCAncGhyYXNlX3ByZWZpeCcgfCAnYm9vbF9wcmVmaXgnO1xudHlwZSBtdWx0aU1hdGNoQW5hbHl6ZXIgPSAnc3RhbmRhcmQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTZWFyY2hGaWx0ZXJzIHtcbiAgW2tleTogc3RyaW5nXTogKHN0cmluZyB8IG51bWJlcilbXTtcbn1cblxuZXhwb3J0IGNvbnN0IHNlcmlhbGl6ZVNlYXJjaEZpbHRlcnMgPSAoZmlsdGVyczogSVNlYXJjaEZpbHRlcnMpID0+XG4gIE9iamVjdC5lbnRyaWVzKGZpbHRlcnMgfHwge30pXG4gICAgLmZpbHRlcigoW19rZXksIHZhbHVlXSkgPT4gdmFsdWUubGVuZ3RoKVxuICAgIC5tYXAoKFtrZXksIHZhbHVlXSkgPT4gYCR7a2V5fT0ke3ZhbHVlLmZpbHRlcihCb29sZWFuKS5qb2luKCd8Jyl9YClcbiAgICAuam9pbignOycpO1xuXG5leHBvcnQgY29uc3QgZGVzZXJpYWxpemVTZWFyY2hGaWx0ZXJzID0gKGZpbHRlcnM6IHN0cmluZyk6IElTZWFyY2hGaWx0ZXJzID0+XG4gIChmaWx0ZXJzIHx8ICcnKS5zcGxpdCgnOycpLnJlZHVjZSgocHJldjogYW55LCBjdXJyKSA9PiB7XG4gICAgY29uc3QgW2tleSwgdmFsdWVzXSA9IGN1cnIuc3BsaXQoJz0nKTtcbiAgICBwcmV2W2tleV0gPSAodmFsdWVzIHx8ICcnKS5zcGxpdCgnfCcpLmZpbHRlcihCb29sZWFuKTtcbiAgICByZXR1cm4gcHJldjtcbiAgfSwge30pO1xuXG5leHBvcnQgY29uc3QgbWF0Y2hUeXBlID0gKHR5cGU6IE5vZGVUeXBlIHwgc3RyaW5nKSA9PiBPYmplY3QuZnJlZXplKHtcbiAgbWF0Y2g6IHsgJ0B0eXBlJzogdHlwZSB9XG59KTtcblxuZXhwb3J0IGNvbnN0IG1hdGNoVGVybVR5cGUgPSAodGVybVR5cGU6IFRlcm1UZXJtVHlwZSB8IHN0cmluZykgPT4gT2JqZWN0LmZyZWV6ZSh7XG4gIG1hdGNoOiB7IHRlcm1UeXBlIH1cbn0pO1xuXG5leHBvcnQgY29uc3QgbWF0Y2hSZWdleCA9IChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IFJlZ0V4cCkgPT4gT2JqZWN0LmZyZWV6ZSh7XG4gIHJlZ2V4cDogeyBba2V5XTogeyB2YWx1ZTogdmFsdWUudG9TdHJpbmcoKSB9IH1cbn0pO1xuXG5leHBvcnQgY29uc3QgbWF0Y2hRdWVyeSA9IChrZXk6IHN0cmluZywgdmFsdWU6IGFueSwgYm9vc3Q/OiBudW1iZXIpID0+IE9iamVjdC5mcmVlemUoe1xuICBtYXRjaDoge1xuICAgIFtrZXldOiB7XG4gICAgICBxdWVyeTogdmFsdWUsXG4gICAgICAuLi4oYm9vc3QgPyB7IGJvb3N0IH0gOiB7fSlcbiAgICB9XG4gIH1cbn0pO1xuXG5leHBvcnQgY29uc3QgbWF0Y2hFeGFjdFF1ZXJ5ID0gKGtleTogc3RyaW5nLCB2YWx1ZTogYW55LCBib29zdD86IG51bWJlcikgPT4gbWF0Y2hRdWVyeShgJHtrZXl9LmtleXdvcmRgLCB2YWx1ZSwgYm9vc3QpO1xuXG5leHBvcnQgY29uc3QgbWF0Y2hOYW1lTm9ybWFsaXplZCA9IChxdWVyeTogc3RyaW5nLCBib29zdCA9IDIwKSA9PiBPYmplY3QuZnJlZXplKHtcbiAgbWF0Y2g6IHsgbmFtZU5vcm1hbGl6ZWQ6IHsgcXVlcnksIGJvb3N0IH0gfVxufSk7XG5cbmV4cG9ydCBjb25zdCBudW1iZXJHdGUgPSAoa2V5OiBzdHJpbmcsIHZhbHVlOiBudW1iZXIpID0+IE9iamVjdC5mcmVlemUoe1xuICByYW5nZTogeyBba2V5XTogeyBndGU6IHZhbHVlIH0gfVxufSk7XG5cbmV4cG9ydCBjb25zdCBtdWx0aU1hdGNoUXVlcnkgPSAoXG4gIHF1ZXJ5OiBzdHJpbmcsIGZpZWxkczogc3RyaW5nW10sIHR5cGU6IG11bHRpTWF0Y2hUeXBlID0gJ2Jlc3RfZmllbGRzJywgYm9vc3Q/OiBudW1iZXIsIGFuYWx5emVyPzogbXVsdGlNYXRjaEFuYWx5emVyXG4pID0+IE9iamVjdC5mcmVlemUoe1xuICBtdWx0aV9tYXRjaDoge1xuICAgIHF1ZXJ5LFxuICAgIGZpZWxkcyxcbiAgICB0eXBlLFxuICAgIC4uLihib29zdCA/IHsgYm9vc3QgfSA6IHt9KSxcbiAgICAuLi4oYW5hbHl6ZXIgPyB7IGFuYWx5emVyIH0gOiB7fSlcbiAgfVxufSk7XG5cbmV4cG9ydCBjb25zdCBtYXRjaFBocmFzZVF1ZXJ5ID0gKHF1ZXJ5OiBzdHJpbmcsIGJvb3N0PzogbnVtYmVyLCAuLi5maWVsZHM6IHN0cmluZ1tdKSA9PlxuICBmaWVsZHMubGVuZ3RoID8gbXVsdGlNYXRjaFF1ZXJ5KHF1ZXJ5LCBmaWVsZHMsICdwaHJhc2UnLCBib29zdCkgOiBtYXRjaEV4YWN0UXVlcnkoJ25hbWUnLCBxdWVyeSwgYm9vc3QpO1xuXG5leHBvcnQgY29uc3QgbWF0Y2hQaHJhc2VQcmVmaXhRdWVyeSA9IChxdWVyeTogc3RyaW5nLCBib29zdCA9IDIsIC4uLmZpZWxkczogc3RyaW5nW10pID0+XG4gIGZpZWxkcy5sZW5ndGggP1xuICAgIG11bHRpTWF0Y2hRdWVyeShxdWVyeSwgZmllbGRzLCAncGhyYXNlX3ByZWZpeCcsIGJvb3N0KSA6XG4gICAgT2JqZWN0LmZyZWV6ZSh7XG4gICAgICBtYXRjaF9waHJhc2VfcHJlZml4OiB7XG4gICAgICAgIG5hbWVTZWFyY2hBc1lvdVR5cGU6IHtcbiAgICAgICAgICBxdWVyeSxcbiAgICAgICAgICBib29zdFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbmV4cG9ydCBjb25zdCBtYXRjaEJvb2xQcmVmaXhRdWVyeSA9IChxdWVyeTogc3RyaW5nLCBib29zdCA9IDEsIC4uLmZpZWxkczogc3RyaW5nW10pID0+XG4gIGZpZWxkcy5sZW5ndGggP1xuICAgIG11bHRpTWF0Y2hRdWVyeShxdWVyeSwgZmllbGRzLCAnYm9vbF9wcmVmaXgnLCBib29zdCkgOlxuICAgIE9iamVjdC5mcmVlemUoe1xuICAgICAgbWF0Y2hfYm9vbF9wcmVmaXg6IHtcbiAgICAgICAgbmFtZToge1xuICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICAgIGJvb3N0XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuZXhwb3J0IGNvbnN0IHdpbGRjYXJkUXVlcnkgPSAocXVlcnk6IHN0cmluZywgYm9vc3QgPSAzLCAuLi5maWVsZHM6IHN0cmluZ1tdKSA9PiBPYmplY3QuZnJlZXplKHtcbiAgc2ltcGxlX3F1ZXJ5X3N0cmluZzoge1xuICAgIHF1ZXJ5OiBgKiR7cXVlcnl9KmAsXG4gICAgZmllbGRzLFxuICAgIGFuYWx5emVfd2lsZGNhcmQ6IHRydWUsXG4gICAgYm9vc3RcbiAgfVxufSk7XG5cbmNvbnN0IG1hdGNoQ291bnRyeUxldmVsID0geyBtYXRjaDogeyBnYWRtTGV2ZWw6IDAgfSB9O1xuXG5leHBvcnQgY29uc3QgbWF0Y2hHbG9iYWxSZWdpb24gPSB7IHJlZ2V4cDogeyAnQGlkJzogJ3JlZ2lvbi0qJyB9IH07XG5cbmV4cG9ydCBjb25zdCBtYXRjaENvdW50cnkgPSBPYmplY3QuZnJlZXplKHtcbiAgYm9vbDoge1xuICAgIHNob3VsZDogW1xuICAgICAgbWF0Y2hDb3VudHJ5TGV2ZWwsXG4gICAgICBtYXRjaEdsb2JhbFJlZ2lvblxuICAgIF0sXG4gICAgbWluaW11bV9zaG91bGRfbWF0Y2g6IDFcbiAgfVxufSk7XG5cbmV4cG9ydCBjb25zdCBjb3VudHJpZXNRdWVyeSA9IE9iamVjdC5mcmVlemUoe1xuICBib29sOiB7XG4gICAgbXVzdDogW1xuICAgICAgbWF0Y2hUeXBlKE5vZGVUeXBlLlRlcm0pLFxuICAgICAgbWF0Y2hUZXJtVHlwZShUZXJtVGVybVR5cGUucmVnaW9uKSxcbiAgICAgIG1hdGNoQ291bnRyeUxldmVsXG4gICAgXVxuICB9XG59KTtcblxuZXhwb3J0IGNvbnN0IGFsbENvdW50cmllc1F1ZXJ5ID0gT2JqZWN0LmZyZWV6ZSh7XG4gIGJvb2w6IHtcbiAgICBtdXN0OiBbXG4gICAgICBtYXRjaFR5cGUoTm9kZVR5cGUuVGVybSksXG4gICAgICBtYXRjaFRlcm1UeXBlKFRlcm1UZXJtVHlwZS5yZWdpb24pXG4gICAgXSxcbiAgICAuLi5tYXRjaENvdW50cnkuYm9vbFxuICB9XG59KTtcblxuZXhwb3J0IGNvbnN0IG1hdGNoUmVnaW9uID0gbnVtYmVyR3RlKCdnYWRtTGV2ZWwnLCAxKTtcblxuZXhwb3J0IGNvbnN0IHJlZ2lvbnNRdWVyeSA9IE9iamVjdC5mcmVlemUoe1xuICBib29sOiB7XG4gICAgbXVzdDogW1xuICAgICAgbWF0Y2hUeXBlKE5vZGVUeXBlLlRlcm0pLFxuICAgICAgbWF0Y2hUZXJtVHlwZShUZXJtVGVybVR5cGUucmVnaW9uKSxcbiAgICAgIG1hdGNoUmVnaW9uXG4gICAgXVxuICB9XG59KTtcblxuZXhwb3J0IGNvbnN0IHdvcmxkUmVnaW9uID0gT2JqZWN0LmZyZWV6ZSh7XG4gICdAaWQnOiAncmVnaW9uLXdvcmxkJyxcbiAgbmFtZTogJ1dvcmxkJ1xufSk7XG5cbmV4cG9ydCBjb25zdCBjcm9wc1F1ZXJ5ID0gT2JqZWN0LmZyZWV6ZSh7XG4gIGJvb2w6IHtcbiAgICBtdXN0OiBbXG4gICAgICBtYXRjaFR5cGUoTm9kZVR5cGUuVGVybSksXG4gICAgICBtYXRjaFRlcm1UeXBlKFRlcm1UZXJtVHlwZS5jcm9wKVxuICAgIF1cbiAgfVxufSk7XG5cbmV4cG9ydCBjb25zdCBtYXRjaEFnZ3JlZ2F0ZWRRdWVyeSA9IG1hdGNoUXVlcnkoJ2FnZ3JlZ2F0ZWQnLCB0cnVlKTtcblxuY29uc3QgaXNOZXN0ZWRLZXkgPSAoa2V5OiBzdHJpbmcpID0+IG5lc3RlZFNlYXJjaGFibGVLZXlzLmluY2x1ZGVzKGtleS5zcGxpdCgnLicpWzBdKTtcblxuZXhwb3J0IGNvbnN0IG1hdGNoTmVzdGVkS2V5ID0gKGtleTogc3RyaW5nLCBxdWVyeTogYW55KSA9PlxuICBpc05lc3RlZEtleShrZXkpID8ge1xuICAgIG5lc3RlZDogeyBwYXRoOiBrZXkuc3BsaXQoJy4nKVswXSwgcXVlcnkgfVxuICB9IDogcXVlcnk7XG5cbi8qKlxuICogTGlzdCBvZiBmaWVsZHMgdG8gcmV0dXJuIGluIHRoZSBzZWFyY2ggcmVzdWx0cy5cbiAqL1xuZXhwb3J0IGNvbnN0IHNlYXJjaFJlc3VsdHNGaWVsZHM6IHtcbiAgW3R5cGUgaW4gc2VhcmNoYWJsZVR5cGVdOiBzdHJpbmdbXTtcbn0gPSBPYmplY3QuZnJlZXplKHtcbiAgW05vZGVUeXBlLkN5Y2xlXTogW1xuICAgICdkZXNjcmlwdGlvbicsICdkYXRhRGVzY3JpcHRpb24nLCAnZW5kRGF0ZScsXG4gICAgJ2VtaXNzaW9uc0NvdW50JywgJ2lucHV0c0NvdW50JywgJ3Byb2R1Y3RzQ291bnQnLFxuICAgICdzaXRlLmxvY2F0aW9uJywgJ3NpdGUuY291bnRyeS5uYW1lJywgJ3NpdGUucmVnaW9uLm5hbWUnXG4gIF0sXG4gIFtOb2RlVHlwZS5Tb3VyY2VdOiBbJ2JpYmxpb2dyYXBoeS50aXRsZScsICdiaWJsaW9ncmFwaHkuZG9jdW1lbnRET0knXSxcbiAgW05vZGVUeXBlLkltcGFjdEFzc2Vzc21lbnRdOiBbJ2VtaXNzaW9uc1Jlc291cmNlVXNlQ291bnQnLCAnaW1wYWN0c0NvdW50JywgJ2NvdW50cnkubmFtZSddXG59KTtcblxuLyoqXG4gKiBMaXN0IG9mIGZpZWxkcyB0byBzZWFyY2ggaW4uXG4gKi9cbmNvbnN0IHNlYXJjaEZpZWxkczoge1xuICBbdHlwZSBpbiBzZWFyY2hhYmxlVHlwZV06IHN0cmluZ1tdO1xufSA9IE9iamVjdC5mcmVlemUoe1xuICBbTm9kZVR5cGUuQ3ljbGVdOiBbJ25hbWUnLCAnZGVzY3JpcHRpb24nLCAnZGF0YURlc2NyaXB0aW9uJ10sXG4gIFtOb2RlVHlwZS5Tb3VyY2VdOiBbJ25hbWUnLCAnYmlibGlvZ3JhcGh5LnRpdGxlJ10sXG4gIFtOb2RlVHlwZS5JbXBhY3RBc3Nlc3NtZW50XTogWyduYW1lJywgJ3Byb2R1Y3QubmFtZScsICdjb3VudHJ5Lm5hbWUnXVxufSk7XG5cbmNvbnN0IHNlYXJjaEZpZWxkc05lc3RlZDoge1xuICBbdHlwZSBpbiBzZWFyY2hhYmxlVHlwZV06IHN0cmluZ1tdO1xufSA9IE9iamVjdC5mcmVlemUoe1xuICBbTm9kZVR5cGUuQ3ljbGVdOiBbXG4gICAgJ2lucHV0cy50ZXJtLm5hbWUnLFxuICAgICdlbWlzc2lvbnMudGVybS5uYW1lJyxcbiAgICAncHJhY3RpY2VzLnRlcm0ubmFtZSdcbiAgXSxcbiAgW05vZGVUeXBlLlNvdXJjZV06IFtdLFxuICBbTm9kZVR5cGUuSW1wYWN0QXNzZXNzbWVudF06IFtcbiAgICAnZW1pc3Npb25zUmVzb3VyY2VVc2UudGVybS5uYW1lJyxcbiAgICAnaW1wYWN0cy50ZXJtLm5hbWUnXG4gIF1cbn0pO1xuXG4vKipcbiAqIFNwZWNpZmljIHN0cmljdCBxdWVyaWVzIHBlciB0eXBlLlxuICovXG5jb25zdCBzZWFyY2hRdWVyaWVzOiB7XG4gIFt0eXBlIGluIHNlYXJjaGFibGVUeXBlXTogeyBtdXN0OiBhbnlbXTsgbXVzdF9ub3Q6IGFueVtdIH07XG59ID0ge1xuICBbTm9kZVR5cGUuQ3ljbGVdOiB7IG11c3Q6IFtdLCBtdXN0X25vdDogW21hdGNoQWdncmVnYXRlZFF1ZXJ5XSB9LFxuICBbTm9kZVR5cGUuU291cmNlXTogeyBtdXN0OiBbXSwgbXVzdF9ub3Q6IFttYXRjaEFnZ3JlZ2F0ZWRRdWVyeV0gfVxufTtcblxuY29uc3Qgc2VhcmNoRmlsdGVyc0tleXM6IHtcbiAgW3R5cGUgaW4gc2VhcmNoYWJsZVR5cGVdOiAoa2V5OiBzdHJpbmcpID0+IHN0cmluZztcbn0gPSB7XG4gIFtOb2RlVHlwZS5DeWNsZV06IGtleSA9PiBrZXksXG4gIFtOb2RlVHlwZS5Tb3VyY2VdOiBrZXkgPT4ga2V5XG59O1xuXG4vKiBlc2xpbnQtZGlzYWJsZSBjb21wbGV4aXR5ICovXG5leHBvcnQgY29uc3Qgc2VhcmNoUXVlcnkgPSAodHlwZTogc2VhcmNoYWJsZVR5cGUsIHF1ZXJ5Pzogc3RyaW5nLCBmaWx0ZXJzPzogSVNlYXJjaEZpbHRlcnMsIGFnZ3JlZ2F0ZWQ/OiBib29sZWFuKSA9PiB7XG4gIGNvbnN0IGJvb2xRdWVyeTogYW55ID0gKHtcbiAgICBtdXN0OiBbXG4gICAgICBtYXRjaFR5cGUodHlwZSksXG4gICAgICBhZ2dyZWdhdGVkID8gbWF0Y2hBZ2dyZWdhdGVkUXVlcnkgOiBudWxsXG4gICAgXS5maWx0ZXIoQm9vbGVhbiksXG4gICAgLi4uKHF1ZXJ5ID8ge1xuICAgICAgc2hvdWxkOiBbXG4gICAgICAgIG1hdGNoUGhyYXNlUXVlcnkocXVlcnksIDEwMCwgLi4uc2VhcmNoRmllbGRzW3R5cGVdKSwgLy8gbWFrZSBzdXJlIGV4YWN0IG1hdGNoZXMgY29tZSBmaXJzdFxuICAgICAgICBtYXRjaFBocmFzZVByZWZpeFF1ZXJ5KHF1ZXJ5LCAyMCwgLi4uc2VhcmNoRmllbGRzW3R5cGVdKSxcbiAgICAgICAgbWF0Y2hCb29sUHJlZml4UXVlcnkocXVlcnksIDEwLCAuLi5zZWFyY2hGaWVsZHNbdHlwZV0pLFxuICAgICAgICAuLi5zZWFyY2hGaWVsZHNOZXN0ZWRbdHlwZV0ubWFwKGZpZWxkID0+IG1hdGNoTmVzdGVkS2V5KGZpZWxkLCBtYXRjaEJvb2xQcmVmaXhRdWVyeShxdWVyeSwgMSwgZmllbGQpKSlcbiAgICAgIF0sXG4gICAgICBtaW5pbXVtX3Nob3VsZF9tYXRjaDogMVxuICAgIH0gOiB7fSksXG4gICAgbXVzdF9ub3Q6IFtcbiAgICAgIGFnZ3JlZ2F0ZWQgPyBudWxsIDogbWF0Y2hBZ2dyZWdhdGVkUXVlcnlcbiAgICBdLmZpbHRlcihCb29sZWFuKVxuICB9KTtcbiAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGZpbHRlcnMgfHwge30pLmZpbHRlcihrZXkgPT4gZmlsdGVycyFba2V5XS5sZW5ndGgpO1xuICByZXR1cm4ge1xuICAgIGJvb2w6IGtleXMubGVuZ3RoID8ge1xuICAgICAgbXVzdDoga2V5cy5tYXAoa2V5ID0+IHtcbiAgICAgICAgY29uc3QgZmlsdGVyS2V5ID0gc2VhcmNoRmlsdGVyc0tleXNbdHlwZV0oa2V5KTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBib29sOiB7XG4gICAgICAgICAgICBzaG91bGQ6IGZpbHRlcnMhW2tleV1cbiAgICAgICAgICAgICAgLm1hcCh2YWx1ZSA9PiBtYXRjaE5lc3RlZEtleShmaWx0ZXJLZXksIG1hdGNoRXhhY3RRdWVyeShmaWx0ZXJLZXksIHZhbHVlKSkpXG4gICAgICAgICAgICAgIC5tYXAobXVzdCA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbG9jYWxRdWVyeSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoYm9vbFF1ZXJ5KSk7XG4gICAgICAgICAgICAgICAgbG9jYWxRdWVyeS5tdXN0LnB1c2gobXVzdCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgYm9vbDogbG9jYWxRdWVyeSB9O1xuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG1pbmltdW1fc2hvdWxkX21hdGNoOiAxXG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfSlcbiAgICB9IDogYm9vbFF1ZXJ5XG4gIH07XG59O1xuLyogZXNsaW50LWVuYWJsZSBjb21wbGV4aXR5ICovXG4iXX0=
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlYXJjaC9zZWFyY2gubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUlwRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQXFCO0lBQy9DLFFBQVEsQ0FBQyxLQUFLO0lBQ2QsUUFBUSxDQUFDLE1BQU07Q0FDaEIsQ0FBQztBQVNGLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLENBQUMsT0FBdUIsRUFBRSxFQUFFLENBQ2hFLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztLQUMxQixNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztLQUN2QyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztLQUNsRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFFZixNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLE9BQWUsRUFBa0IsRUFBRSxDQUMxRSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBUyxFQUFFLElBQUksRUFBRSxFQUFFO0lBQ3BELE1BQU0sQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0RCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUVULE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLElBQXVCLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDbEUsS0FBSyxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtDQUN6QixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxRQUErQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzlFLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRTtDQUNwQixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFXLEVBQUUsS0FBc0IsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUMvRSxNQUFNLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFO0NBQy9DLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLEdBQVcsRUFBRSxLQUFVLEVBQUUsS0FBYyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ25GLEtBQUssRUFBRTtRQUNMLENBQUMsR0FBRyxDQUFDLGtCQUNILEtBQUssRUFBRSxLQUFLLElBQ1QsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUM1QjtLQUNGO0NBQ0YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsR0FBVyxFQUFFLEtBQVUsRUFBRSxLQUFjLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEdBQUcsVUFBVSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztBQUV2SCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEtBQWEsRUFBRSxLQUFLLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzlFLEtBQUssRUFBRSxFQUFFLGNBQWMsRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtDQUM1QyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxHQUFXLEVBQUUsS0FBYSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3JFLEtBQUssRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUU7Q0FDakMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQzdCLEtBQWEsRUFBRSxNQUFnQixFQUFFLE9BQXVCLGFBQWEsRUFBRSxLQUFjLEVBQUUsUUFBNkIsRUFDcEgsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDakIsV0FBVyxnQ0FDVCxLQUFLO1FBQ0wsTUFBTTtRQUNOLElBQUksSUFDRCxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQ3hCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDbEM7Q0FDRixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLEtBQWEsRUFBRSxLQUFjLEVBQUUsR0FBRyxNQUFnQixFQUFFLEVBQUUsQ0FDckYsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztBQUUxRyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLEtBQWEsRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEdBQUcsTUFBZ0IsRUFBRSxFQUFFLENBQ3RGLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNiLGVBQWUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3hELE1BQU0sQ0FBQyxNQUFNLENBQUM7UUFDWixtQkFBbUIsRUFBRTtZQUNuQixtQkFBbUIsRUFBRTtnQkFDbkIsS0FBSztnQkFDTCxLQUFLO2FBQ047U0FDRjtLQUNGLENBQUMsQ0FBQztBQUVQLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsS0FBYSxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsR0FBRyxNQUFnQixFQUFFLEVBQUUsQ0FDcEYsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2IsZUFBZSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDdEQsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUNaLGlCQUFpQixFQUFFO1lBQ2pCLElBQUksRUFBRTtnQkFDSixLQUFLO2dCQUNMLEtBQUs7YUFDTjtTQUNGO0tBQ0YsQ0FBQyxDQUFDO0FBRVAsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsS0FBYSxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsR0FBRyxNQUFnQixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzVGLG1CQUFtQixFQUFFO1FBQ25CLEtBQUssRUFBRSxJQUFJLEtBQUssR0FBRztRQUNuQixNQUFNO1FBQ04sZ0JBQWdCLEVBQUUsSUFBSTtRQUN0QixLQUFLO0tBQ047Q0FDRixDQUFDLENBQUM7QUFFSCxNQUFNLGlCQUFpQixHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7QUFFdEQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLEVBQUUsQ0FBQztBQUVuRSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUN4QyxJQUFJLEVBQUU7UUFDSixNQUFNLEVBQUU7WUFDTixpQkFBaUI7WUFDakIsaUJBQWlCO1NBQ2xCO1FBQ0Qsb0JBQW9CLEVBQUUsQ0FBQztLQUN4QjtDQUNGLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzFDLElBQUksRUFBRTtRQUNKLElBQUksRUFBRTtZQUNKLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ3hCLGFBQWEsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDO1lBQ2xDLGlCQUFpQjtTQUNsQjtLQUNGO0NBQ0YsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUM3QyxJQUFJLGtCQUNGLElBQUksRUFBRTtZQUNKLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ3hCLGFBQWEsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDO1NBQ25DLElBQ0UsWUFBWSxDQUFDLElBQUksQ0FDckI7Q0FDRixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUVyRCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUN4QyxJQUFJLEVBQUU7UUFDSixJQUFJLEVBQUU7WUFDSixTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUN4QixhQUFhLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztZQUNsQyxXQUFXO1NBQ1o7S0FDRjtDQUNGLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3ZDLEtBQUssRUFBRSxjQUFjO0lBQ3JCLElBQUksRUFBRSxPQUFPO0NBQ2QsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDdEMsSUFBSSxFQUFFO1FBQ0osSUFBSSxFQUFFO1lBQ0osU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFDeEIsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUM7U0FDakM7S0FDRjtDQUNGLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLFVBQVUsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFFbkUsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRSxDQUFDLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFdEYsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsR0FBVyxFQUFFLEtBQVUsRUFBRSxFQUFFLENBQ3hELFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakIsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFO0NBQzNDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUVaOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBRTVCLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDaEIsYUFBYSxFQUFFLFNBQVM7UUFDeEIsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLGVBQWU7UUFDaEQsZUFBZSxFQUFFLG1CQUFtQixFQUFFLGtCQUFrQjtLQUN6RDtJQUNELENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsb0JBQW9CLEVBQUUsMEJBQTBCLENBQUM7SUFDckUsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLDJCQUEyQixFQUFFLGNBQWMsRUFBRSxjQUFjLENBQUM7Q0FDM0YsQ0FBQyxDQUFDO0FBRUg7O0dBRUc7QUFDSCxNQUFNLFlBQVksR0FFZCxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ2hCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQztJQUN6QyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQztJQUNqRCxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLGNBQWMsRUFBRSxjQUFjLENBQUM7Q0FDdEUsQ0FBQyxDQUFDO0FBRUgsTUFBTSxrQkFBa0IsR0FFcEIsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNoQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUNoQixrQkFBa0I7UUFDbEIscUJBQXFCO1FBQ3JCLHFCQUFxQjtLQUN0QjtJQUNELENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUU7SUFDckIsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtRQUMzQixnQ0FBZ0M7UUFDaEMsbUJBQW1CO0tBQ3BCO0NBQ0YsQ0FBQyxDQUFDO0FBRUg7O0dBRUc7QUFDSCxNQUFNLGFBQWEsR0FFZjtJQUNGLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFO0lBQ2hFLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFO0NBQ2xFLENBQUM7QUFFRixNQUFNLGlCQUFpQixHQUVuQjtJQUNGLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRztJQUM1QixDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUc7Q0FDOUIsQ0FBQztBQUVGLCtCQUErQjtBQUMvQixNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxJQUFvQixFQUFFLEtBQWMsRUFBRSxPQUF3QixFQUFFLFVBQW9CLEVBQUUsRUFBRTtJQUNsSCxNQUFNLFNBQVMsR0FBUSwrQkFDckIsSUFBSSxFQUFFO1lBQ0osU0FBUyxDQUFDLElBQUksQ0FBQztZQUNmLFVBQVUsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLElBQUk7U0FDekMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQ2QsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ1YsTUFBTSxFQUFFO1lBQ04sZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuRCxzQkFBc0IsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3hELG9CQUFvQixDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEQsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLG9CQUFvQixDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUN2RztRQUNELG9CQUFvQixFQUFFLENBQUM7S0FDeEIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQ1AsUUFBUSxFQUFFO1lBQ1IsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLG9CQUFvQjtTQUN6QyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFDakIsQ0FBQztJQUNILE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1RSxPQUFPO1FBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ2xCLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNuQixNQUFNLFNBQVMsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDL0MsT0FBTztvQkFDTCxJQUFJLEVBQUU7d0JBQ0osTUFBTSxFQUFFLE9BQVEsQ0FBQyxHQUFHLENBQUM7NkJBQ2xCLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDOzZCQUMxRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7NEJBQ1YsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7NEJBQ3pELFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDOzRCQUMzQixPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDO3dCQUM5QixDQUFDLENBQUM7d0JBQ0osb0JBQW9CLEVBQUUsQ0FBQztxQkFDeEI7aUJBQ0YsQ0FBQztZQUNKLENBQUMsQ0FBQztTQUNILENBQUMsQ0FBQyxDQUFDLFNBQVM7S0FDZCxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBQ0YsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm9kZVR5cGUsIFRlcm1UZXJtVHlwZSwgbmVzdGVkU2VhcmNoYWJsZUtleXMgfSBmcm9tICdAaGVzdGlhLWVhcnRoL3NjaGVtYSc7XG5cbmV4cG9ydCB0eXBlIHNlYXJjaGFibGVUeXBlID0gTm9kZVR5cGUuQ3ljbGUgfCBOb2RlVHlwZS5Tb3VyY2U7XG5cbmV4cG9ydCBjb25zdCBzZWFyY2hhYmxlVHlwZXM6IHNlYXJjaGFibGVUeXBlW10gPSBbXG4gIE5vZGVUeXBlLkN5Y2xlLFxuICBOb2RlVHlwZS5Tb3VyY2Vcbl07XG5cbnR5cGUgbXVsdGlNYXRjaFR5cGUgPSAnYmVzdF9maWVsZHMnIHwgJ21vc3RfZmllbGRzJyB8ICdjcm9zc19maWVsZHMnIHwgJ3BocmFzZScgfCAncGhyYXNlX3ByZWZpeCcgfCAnYm9vbF9wcmVmaXgnO1xudHlwZSBtdWx0aU1hdGNoQW5hbHl6ZXIgPSAnc3RhbmRhcmQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElTZWFyY2hGaWx0ZXJzIHtcbiAgW2tleTogc3RyaW5nXTogKHN0cmluZyB8IG51bWJlcilbXTtcbn1cblxuZXhwb3J0IGNvbnN0IHNlcmlhbGl6ZVNlYXJjaEZpbHRlcnMgPSAoZmlsdGVyczogSVNlYXJjaEZpbHRlcnMpID0+XG4gIE9iamVjdC5lbnRyaWVzKGZpbHRlcnMgfHwge30pXG4gICAgLmZpbHRlcigoW19rZXksIHZhbHVlXSkgPT4gdmFsdWUubGVuZ3RoKVxuICAgIC5tYXAoKFtrZXksIHZhbHVlXSkgPT4gYCR7a2V5fT0ke3ZhbHVlLmZpbHRlcihCb29sZWFuKS5qb2luKCd8Jyl9YClcbiAgICAuam9pbignOycpO1xuXG5leHBvcnQgY29uc3QgZGVzZXJpYWxpemVTZWFyY2hGaWx0ZXJzID0gKGZpbHRlcnM6IHN0cmluZyk6IElTZWFyY2hGaWx0ZXJzID0+XG4gIChmaWx0ZXJzIHx8ICcnKS5zcGxpdCgnOycpLnJlZHVjZSgocHJldjogYW55LCBjdXJyKSA9PiB7XG4gICAgY29uc3QgW2tleSwgdmFsdWVzXSA9IGN1cnIuc3BsaXQoJz0nKTtcbiAgICBwcmV2W2tleV0gPSAodmFsdWVzIHx8ICcnKS5zcGxpdCgnfCcpLmZpbHRlcihCb29sZWFuKTtcbiAgICByZXR1cm4gcHJldjtcbiAgfSwge30pO1xuXG5leHBvcnQgY29uc3QgbWF0Y2hUeXBlID0gKHR5cGU6IE5vZGVUeXBlIHwgc3RyaW5nKSA9PiBPYmplY3QuZnJlZXplKHtcbiAgbWF0Y2g6IHsgJ0B0eXBlJzogdHlwZSB9XG59KTtcblxuZXhwb3J0IGNvbnN0IG1hdGNoVGVybVR5cGUgPSAodGVybVR5cGU6IFRlcm1UZXJtVHlwZSB8IHN0cmluZykgPT4gT2JqZWN0LmZyZWV6ZSh7XG4gIG1hdGNoOiB7IHRlcm1UeXBlIH1cbn0pO1xuXG5leHBvcnQgY29uc3QgbWF0Y2hSZWdleCA9IChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IFJlZ0V4cCkgPT4gT2JqZWN0LmZyZWV6ZSh7XG4gIHJlZ2V4cDogeyBba2V5XTogeyB2YWx1ZTogdmFsdWUudG9TdHJpbmcoKSB9IH1cbn0pO1xuXG5leHBvcnQgY29uc3QgbWF0Y2hRdWVyeSA9IChrZXk6IHN0cmluZywgdmFsdWU6IGFueSwgYm9vc3Q/OiBudW1iZXIpID0+IE9iamVjdC5mcmVlemUoe1xuICBtYXRjaDoge1xuICAgIFtrZXldOiB7XG4gICAgICBxdWVyeTogdmFsdWUsXG4gICAgICAuLi4oYm9vc3QgPyB7IGJvb3N0IH0gOiB7fSlcbiAgICB9XG4gIH1cbn0pO1xuXG5leHBvcnQgY29uc3QgbWF0Y2hFeGFjdFF1ZXJ5ID0gKGtleTogc3RyaW5nLCB2YWx1ZTogYW55LCBib29zdD86IG51bWJlcikgPT4gbWF0Y2hRdWVyeShgJHtrZXl9LmtleXdvcmRgLCB2YWx1ZSwgYm9vc3QpO1xuXG5leHBvcnQgY29uc3QgbWF0Y2hOYW1lTm9ybWFsaXplZCA9IChxdWVyeTogc3RyaW5nLCBib29zdCA9IDIwKSA9PiBPYmplY3QuZnJlZXplKHtcbiAgbWF0Y2g6IHsgbmFtZU5vcm1hbGl6ZWQ6IHsgcXVlcnksIGJvb3N0IH0gfVxufSk7XG5cbmV4cG9ydCBjb25zdCBudW1iZXJHdGUgPSAoa2V5OiBzdHJpbmcsIHZhbHVlOiBudW1iZXIpID0+IE9iamVjdC5mcmVlemUoe1xuICByYW5nZTogeyBba2V5XTogeyBndGU6IHZhbHVlIH0gfVxufSk7XG5cbmV4cG9ydCBjb25zdCBtdWx0aU1hdGNoUXVlcnkgPSAoXG4gIHF1ZXJ5OiBzdHJpbmcsIGZpZWxkczogc3RyaW5nW10sIHR5cGU6IG11bHRpTWF0Y2hUeXBlID0gJ2Jlc3RfZmllbGRzJywgYm9vc3Q/OiBudW1iZXIsIGFuYWx5emVyPzogbXVsdGlNYXRjaEFuYWx5emVyXG4pID0+IE9iamVjdC5mcmVlemUoe1xuICBtdWx0aV9tYXRjaDoge1xuICAgIHF1ZXJ5LFxuICAgIGZpZWxkcyxcbiAgICB0eXBlLFxuICAgIC4uLihib29zdCA/IHsgYm9vc3QgfSA6IHt9KSxcbiAgICAuLi4oYW5hbHl6ZXIgPyB7IGFuYWx5emVyIH0gOiB7fSlcbiAgfVxufSk7XG5cbmV4cG9ydCBjb25zdCBtYXRjaFBocmFzZVF1ZXJ5ID0gKHF1ZXJ5OiBzdHJpbmcsIGJvb3N0PzogbnVtYmVyLCAuLi5maWVsZHM6IHN0cmluZ1tdKSA9PlxuICBmaWVsZHMubGVuZ3RoID8gbXVsdGlNYXRjaFF1ZXJ5KHF1ZXJ5LCBmaWVsZHMsICdwaHJhc2UnLCBib29zdCkgOiBtYXRjaEV4YWN0UXVlcnkoJ25hbWUnLCBxdWVyeSwgYm9vc3QpO1xuXG5leHBvcnQgY29uc3QgbWF0Y2hQaHJhc2VQcmVmaXhRdWVyeSA9IChxdWVyeTogc3RyaW5nLCBib29zdCA9IDIsIC4uLmZpZWxkczogc3RyaW5nW10pID0+XG4gIGZpZWxkcy5sZW5ndGggP1xuICAgIG11bHRpTWF0Y2hRdWVyeShxdWVyeSwgZmllbGRzLCAncGhyYXNlX3ByZWZpeCcsIGJvb3N0KSA6XG4gICAgT2JqZWN0LmZyZWV6ZSh7XG4gICAgICBtYXRjaF9waHJhc2VfcHJlZml4OiB7XG4gICAgICAgIG5hbWVTZWFyY2hBc1lvdVR5cGU6IHtcbiAgICAgICAgICBxdWVyeSxcbiAgICAgICAgICBib29zdFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbmV4cG9ydCBjb25zdCBtYXRjaEJvb2xQcmVmaXhRdWVyeSA9IChxdWVyeTogc3RyaW5nLCBib29zdCA9IDEsIC4uLmZpZWxkczogc3RyaW5nW10pID0+XG4gIGZpZWxkcy5sZW5ndGggP1xuICAgIG11bHRpTWF0Y2hRdWVyeShxdWVyeSwgZmllbGRzLCAnYm9vbF9wcmVmaXgnLCBib29zdCkgOlxuICAgIE9iamVjdC5mcmVlemUoe1xuICAgICAgbWF0Y2hfYm9vbF9wcmVmaXg6IHtcbiAgICAgICAgbmFtZToge1xuICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICAgIGJvb3N0XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuZXhwb3J0IGNvbnN0IHdpbGRjYXJkUXVlcnkgPSAocXVlcnk6IHN0cmluZywgYm9vc3QgPSAzLCAuLi5maWVsZHM6IHN0cmluZ1tdKSA9PiBPYmplY3QuZnJlZXplKHtcbiAgc2ltcGxlX3F1ZXJ5X3N0cmluZzoge1xuICAgIHF1ZXJ5OiBgKiR7cXVlcnl9KmAsXG4gICAgZmllbGRzLFxuICAgIGFuYWx5emVfd2lsZGNhcmQ6IHRydWUsXG4gICAgYm9vc3RcbiAgfVxufSk7XG5cbmNvbnN0IG1hdGNoQ291bnRyeUxldmVsID0geyBtYXRjaDogeyBnYWRtTGV2ZWw6IDAgfSB9O1xuXG5leHBvcnQgY29uc3QgbWF0Y2hHbG9iYWxSZWdpb24gPSB7IHJlZ2V4cDogeyAnQGlkJzogJ3JlZ2lvbi0qJyB9IH07XG5cbmV4cG9ydCBjb25zdCBtYXRjaENvdW50cnkgPSBPYmplY3QuZnJlZXplKHtcbiAgYm9vbDoge1xuICAgIHNob3VsZDogW1xuICAgICAgbWF0Y2hDb3VudHJ5TGV2ZWwsXG4gICAgICBtYXRjaEdsb2JhbFJlZ2lvblxuICAgIF0sXG4gICAgbWluaW11bV9zaG91bGRfbWF0Y2g6IDFcbiAgfVxufSk7XG5cbmV4cG9ydCBjb25zdCBjb3VudHJpZXNRdWVyeSA9IE9iamVjdC5mcmVlemUoe1xuICBib29sOiB7XG4gICAgbXVzdDogW1xuICAgICAgbWF0Y2hUeXBlKE5vZGVUeXBlLlRlcm0pLFxuICAgICAgbWF0Y2hUZXJtVHlwZShUZXJtVGVybVR5cGUucmVnaW9uKSxcbiAgICAgIG1hdGNoQ291bnRyeUxldmVsXG4gICAgXVxuICB9XG59KTtcblxuZXhwb3J0IGNvbnN0IGFsbENvdW50cmllc1F1ZXJ5ID0gT2JqZWN0LmZyZWV6ZSh7XG4gIGJvb2w6IHtcbiAgICBtdXN0OiBbXG4gICAgICBtYXRjaFR5cGUoTm9kZVR5cGUuVGVybSksXG4gICAgICBtYXRjaFRlcm1UeXBlKFRlcm1UZXJtVHlwZS5yZWdpb24pXG4gICAgXSxcbiAgICAuLi5tYXRjaENvdW50cnkuYm9vbFxuICB9XG59KTtcblxuZXhwb3J0IGNvbnN0IG1hdGNoUmVnaW9uID0gbnVtYmVyR3RlKCdnYWRtTGV2ZWwnLCAxKTtcblxuZXhwb3J0IGNvbnN0IHJlZ2lvbnNRdWVyeSA9IE9iamVjdC5mcmVlemUoe1xuICBib29sOiB7XG4gICAgbXVzdDogW1xuICAgICAgbWF0Y2hUeXBlKE5vZGVUeXBlLlRlcm0pLFxuICAgICAgbWF0Y2hUZXJtVHlwZShUZXJtVGVybVR5cGUucmVnaW9uKSxcbiAgICAgIG1hdGNoUmVnaW9uXG4gICAgXVxuICB9XG59KTtcblxuZXhwb3J0IGNvbnN0IHdvcmxkUmVnaW9uID0gT2JqZWN0LmZyZWV6ZSh7XG4gICdAaWQnOiAncmVnaW9uLXdvcmxkJyxcbiAgbmFtZTogJ1dvcmxkJ1xufSk7XG5cbmV4cG9ydCBjb25zdCBjcm9wc1F1ZXJ5ID0gT2JqZWN0LmZyZWV6ZSh7XG4gIGJvb2w6IHtcbiAgICBtdXN0OiBbXG4gICAgICBtYXRjaFR5cGUoTm9kZVR5cGUuVGVybSksXG4gICAgICBtYXRjaFRlcm1UeXBlKFRlcm1UZXJtVHlwZS5jcm9wKVxuICAgIF1cbiAgfVxufSk7XG5cbmV4cG9ydCBjb25zdCBtYXRjaEFnZ3JlZ2F0ZWRRdWVyeSA9IG1hdGNoUXVlcnkoJ2FnZ3JlZ2F0ZWQnLCB0cnVlKTtcblxuY29uc3QgaXNOZXN0ZWRLZXkgPSAoa2V5OiBzdHJpbmcpID0+IG5lc3RlZFNlYXJjaGFibGVLZXlzLmluY2x1ZGVzKGtleS5zcGxpdCgnLicpWzBdKTtcblxuZXhwb3J0IGNvbnN0IG1hdGNoTmVzdGVkS2V5ID0gKGtleTogc3RyaW5nLCBxdWVyeTogYW55KSA9PlxuICBpc05lc3RlZEtleShrZXkpID8ge1xuICAgIG5lc3RlZDogeyBwYXRoOiBrZXkuc3BsaXQoJy4nKVswXSwgcXVlcnkgfVxuICB9IDogcXVlcnk7XG5cbi8qKlxuICogTGlzdCBvZiBmaWVsZHMgdG8gcmV0dXJuIGluIHRoZSBzZWFyY2ggcmVzdWx0cy5cbiAqL1xuZXhwb3J0IGNvbnN0IHNlYXJjaFJlc3VsdHNGaWVsZHM6IHtcbiAgW3R5cGUgaW4gc2VhcmNoYWJsZVR5cGVdOiBzdHJpbmdbXTtcbn0gPSBPYmplY3QuZnJlZXplKHtcbiAgW05vZGVUeXBlLkN5Y2xlXTogW1xuICAgICdkZXNjcmlwdGlvbicsICdlbmREYXRlJyxcbiAgICAnZW1pc3Npb25zQ291bnQnLCAnaW5wdXRzQ291bnQnLCAncHJvZHVjdHNDb3VudCcsXG4gICAgJ3NpdGUubG9jYXRpb24nLCAnc2l0ZS5jb3VudHJ5Lm5hbWUnLCAnc2l0ZS5yZWdpb24ubmFtZSdcbiAgXSxcbiAgW05vZGVUeXBlLlNvdXJjZV06IFsnYmlibGlvZ3JhcGh5LnRpdGxlJywgJ2JpYmxpb2dyYXBoeS5kb2N1bWVudERPSSddLFxuICBbTm9kZVR5cGUuSW1wYWN0QXNzZXNzbWVudF06IFsnZW1pc3Npb25zUmVzb3VyY2VVc2VDb3VudCcsICdpbXBhY3RzQ291bnQnLCAnY291bnRyeS5uYW1lJ11cbn0pO1xuXG4vKipcbiAqIExpc3Qgb2YgZmllbGRzIHRvIHNlYXJjaCBpbi5cbiAqL1xuY29uc3Qgc2VhcmNoRmllbGRzOiB7XG4gIFt0eXBlIGluIHNlYXJjaGFibGVUeXBlXTogc3RyaW5nW107XG59ID0gT2JqZWN0LmZyZWV6ZSh7XG4gIFtOb2RlVHlwZS5DeWNsZV06IFsnbmFtZScsICdkZXNjcmlwdGlvbiddLFxuICBbTm9kZVR5cGUuU291cmNlXTogWyduYW1lJywgJ2JpYmxpb2dyYXBoeS50aXRsZSddLFxuICBbTm9kZVR5cGUuSW1wYWN0QXNzZXNzbWVudF06IFsnbmFtZScsICdwcm9kdWN0Lm5hbWUnLCAnY291bnRyeS5uYW1lJ11cbn0pO1xuXG5jb25zdCBzZWFyY2hGaWVsZHNOZXN0ZWQ6IHtcbiAgW3R5cGUgaW4gc2VhcmNoYWJsZVR5cGVdOiBzdHJpbmdbXTtcbn0gPSBPYmplY3QuZnJlZXplKHtcbiAgW05vZGVUeXBlLkN5Y2xlXTogW1xuICAgICdpbnB1dHMudGVybS5uYW1lJyxcbiAgICAnZW1pc3Npb25zLnRlcm0ubmFtZScsXG4gICAgJ3ByYWN0aWNlcy50ZXJtLm5hbWUnXG4gIF0sXG4gIFtOb2RlVHlwZS5Tb3VyY2VdOiBbXSxcbiAgW05vZGVUeXBlLkltcGFjdEFzc2Vzc21lbnRdOiBbXG4gICAgJ2VtaXNzaW9uc1Jlc291cmNlVXNlLnRlcm0ubmFtZScsXG4gICAgJ2ltcGFjdHMudGVybS5uYW1lJ1xuICBdXG59KTtcblxuLyoqXG4gKiBTcGVjaWZpYyBzdHJpY3QgcXVlcmllcyBwZXIgdHlwZS5cbiAqL1xuY29uc3Qgc2VhcmNoUXVlcmllczoge1xuICBbdHlwZSBpbiBzZWFyY2hhYmxlVHlwZV06IHsgbXVzdDogYW55W107IG11c3Rfbm90OiBhbnlbXSB9O1xufSA9IHtcbiAgW05vZGVUeXBlLkN5Y2xlXTogeyBtdXN0OiBbXSwgbXVzdF9ub3Q6IFttYXRjaEFnZ3JlZ2F0ZWRRdWVyeV0gfSxcbiAgW05vZGVUeXBlLlNvdXJjZV06IHsgbXVzdDogW10sIG11c3Rfbm90OiBbbWF0Y2hBZ2dyZWdhdGVkUXVlcnldIH1cbn07XG5cbmNvbnN0IHNlYXJjaEZpbHRlcnNLZXlzOiB7XG4gIFt0eXBlIGluIHNlYXJjaGFibGVUeXBlXTogKGtleTogc3RyaW5nKSA9PiBzdHJpbmc7XG59ID0ge1xuICBbTm9kZVR5cGUuQ3ljbGVdOiBrZXkgPT4ga2V5LFxuICBbTm9kZVR5cGUuU291cmNlXToga2V5ID0+IGtleVxufTtcblxuLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSAqL1xuZXhwb3J0IGNvbnN0IHNlYXJjaFF1ZXJ5ID0gKHR5cGU6IHNlYXJjaGFibGVUeXBlLCBxdWVyeT86IHN0cmluZywgZmlsdGVycz86IElTZWFyY2hGaWx0ZXJzLCBhZ2dyZWdhdGVkPzogYm9vbGVhbikgPT4ge1xuICBjb25zdCBib29sUXVlcnk6IGFueSA9ICh7XG4gICAgbXVzdDogW1xuICAgICAgbWF0Y2hUeXBlKHR5cGUpLFxuICAgICAgYWdncmVnYXRlZCA/IG1hdGNoQWdncmVnYXRlZFF1ZXJ5IDogbnVsbFxuICAgIF0uZmlsdGVyKEJvb2xlYW4pLFxuICAgIC4uLihxdWVyeSA/IHtcbiAgICAgIHNob3VsZDogW1xuICAgICAgICBtYXRjaFBocmFzZVF1ZXJ5KHF1ZXJ5LCAxMDAsIC4uLnNlYXJjaEZpZWxkc1t0eXBlXSksIC8vIG1ha2Ugc3VyZSBleGFjdCBtYXRjaGVzIGNvbWUgZmlyc3RcbiAgICAgICAgbWF0Y2hQaHJhc2VQcmVmaXhRdWVyeShxdWVyeSwgMjAsIC4uLnNlYXJjaEZpZWxkc1t0eXBlXSksXG4gICAgICAgIG1hdGNoQm9vbFByZWZpeFF1ZXJ5KHF1ZXJ5LCAxMCwgLi4uc2VhcmNoRmllbGRzW3R5cGVdKSxcbiAgICAgICAgLi4uc2VhcmNoRmllbGRzTmVzdGVkW3R5cGVdLm1hcChmaWVsZCA9PiBtYXRjaE5lc3RlZEtleShmaWVsZCwgbWF0Y2hCb29sUHJlZml4UXVlcnkocXVlcnksIDEsIGZpZWxkKSkpXG4gICAgICBdLFxuICAgICAgbWluaW11bV9zaG91bGRfbWF0Y2g6IDFcbiAgICB9IDoge30pLFxuICAgIG11c3Rfbm90OiBbXG4gICAgICBhZ2dyZWdhdGVkID8gbnVsbCA6IG1hdGNoQWdncmVnYXRlZFF1ZXJ5XG4gICAgXS5maWx0ZXIoQm9vbGVhbilcbiAgfSk7XG4gIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhmaWx0ZXJzIHx8IHt9KS5maWx0ZXIoa2V5ID0+IGZpbHRlcnMhW2tleV0ubGVuZ3RoKTtcbiAgcmV0dXJuIHtcbiAgICBib29sOiBrZXlzLmxlbmd0aCA/IHtcbiAgICAgIG11c3Q6IGtleXMubWFwKGtleSA9PiB7XG4gICAgICAgIGNvbnN0IGZpbHRlcktleSA9IHNlYXJjaEZpbHRlcnNLZXlzW3R5cGVdKGtleSk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgYm9vbDoge1xuICAgICAgICAgICAgc2hvdWxkOiBmaWx0ZXJzIVtrZXldXG4gICAgICAgICAgICAgIC5tYXAodmFsdWUgPT4gbWF0Y2hOZXN0ZWRLZXkoZmlsdGVyS2V5LCBtYXRjaEV4YWN0UXVlcnkoZmlsdGVyS2V5LCB2YWx1ZSkpKVxuICAgICAgICAgICAgICAubWFwKG11c3QgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxvY2FsUXVlcnkgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGJvb2xRdWVyeSkpO1xuICAgICAgICAgICAgICAgIGxvY2FsUXVlcnkubXVzdC5wdXNoKG11c3QpO1xuICAgICAgICAgICAgICAgIHJldHVybiB7IGJvb2w6IGxvY2FsUXVlcnkgfTtcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBtaW5pbXVtX3Nob3VsZF9tYXRjaDogMVxuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgIH0pXG4gICAgfSA6IGJvb2xRdWVyeVxuICB9O1xufTtcbi8qIGVzbGludC1lbmFibGUgY29tcGxleGl0eSAqL1xuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
-
import { Component, Input, ViewChild } from '@angular/core';
|
|
2
|
+
import { Component, Input, ViewChild, ChangeDetectionStrategy } from '@angular/core';
|
|
3
3
|
import { GoogleMap } from '@angular/google-maps';
|
|
4
4
|
import MarkerClusterer from '@google/markerclustererplus';
|
|
5
5
|
import { NodeType } from '@hestia-earth/schema';
|
|
@@ -140,13 +140,14 @@ export class SitesMapsComponent {
|
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
142
|
SitesMapsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SitesMapsComponent, deps: [{ token: i1.HeNodeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
143
|
-
SitesMapsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SitesMapsComponent, selector: "he-sites-maps", inputs: { loadPolygons: "loadPolygons", sites: "sites", selected: "selected", nodes: "nodes", center: "center", zoom: "zoom", showNotice: "showNotice" }, viewQueries: [{ propertyName: "map", first: true, predicate: GoogleMap, descendants: true }], ngImport: i0, template: "<google-map *ngIf=\"googleLoaded\"\n height=\"100%\"\n width=\"100%\"\n [zoom]=\"zoom\"\n [center]=\"center\"\n></google-map>\n\n<p *ngIf=\"showNotice\" class=\"mt-2 is-italic is-size-7\">The information provided might not be complete</p>\n\n<div class=\"no-location has-text-center has-text-light\" *ngIf=\"showNoLocation\">\n <span>No precise location data</span>\n</div>\n", styles: [":host{display:block;height:100%;position:relative;width:100%}.no-location{background-color:#0000004d;left:0;height:100%;position:absolute;top:0;width:100%;z-index:9}.no-location>span{display:inline-block;margin-top:12%}\n"], components: [{ type: i2.GoogleMap, selector: "google-map", inputs: ["height", "width", "center", "zoom", "options", "mapTypeId"], outputs: ["authFailure", "boundsChanged", "centerChanged", "mapClick", "mapDblclick", "mapDrag", "mapDragend", "mapDragstart", "headingChanged", "idle", "maptypeidChanged", "mapMousemove", "mapMouseout", "mapMouseover", "projectionChanged", "mapRightclick", "tilesloaded", "tiltChanged", "zoomChanged"], exportAs: ["googleMap"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
143
|
+
SitesMapsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SitesMapsComponent, selector: "he-sites-maps", inputs: { loadPolygons: "loadPolygons", sites: "sites", selected: "selected", nodes: "nodes", center: "center", zoom: "zoom", showNotice: "showNotice" }, viewQueries: [{ propertyName: "map", first: true, predicate: GoogleMap, descendants: true }], ngImport: i0, template: "<google-map *ngIf=\"googleLoaded\"\n height=\"100%\"\n width=\"100%\"\n [zoom]=\"zoom\"\n [center]=\"center\"\n></google-map>\n\n<p *ngIf=\"showNotice\" class=\"mt-2 is-italic is-size-7\">The information provided might not be complete</p>\n\n<div class=\"no-location has-text-center has-text-light\" *ngIf=\"showNoLocation\">\n <span>No precise location data</span>\n</div>\n", styles: [":host{display:block;height:100%;position:relative;width:100%}.no-location{background-color:#0000004d;left:0;height:100%;position:absolute;top:0;width:100%;z-index:9}.no-location>span{display:inline-block;margin-top:12%}\n"], components: [{ type: i2.GoogleMap, selector: "google-map", inputs: ["height", "width", "center", "zoom", "options", "mapTypeId"], outputs: ["authFailure", "boundsChanged", "centerChanged", "mapClick", "mapDblclick", "mapDrag", "mapDragend", "mapDragstart", "headingChanged", "idle", "maptypeidChanged", "mapMousemove", "mapMouseout", "mapMouseover", "projectionChanged", "mapRightclick", "tilesloaded", "tiltChanged", "zoomChanged"], exportAs: ["googleMap"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
144
144
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SitesMapsComponent, decorators: [{
|
|
145
145
|
type: Component,
|
|
146
146
|
args: [{
|
|
147
147
|
selector: 'he-sites-maps',
|
|
148
148
|
templateUrl: './sites-maps.component.html',
|
|
149
|
-
styleUrls: ['./sites-maps.component.scss']
|
|
149
|
+
styleUrls: ['./sites-maps.component.scss'],
|
|
150
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
150
151
|
}]
|
|
151
152
|
}], ctorParameters: function () { return [{ type: i1.HeNodeService }]; }, propDecorators: { map: [{
|
|
152
153
|
type: ViewChild,
|
|
@@ -166,4 +167,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
166
167
|
}], showNotice: [{
|
|
167
168
|
type: Input
|
|
168
169
|
}] } });
|
|
169
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZXMtbWFwcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2l0ZXMvc2l0ZXMtbWFwcy9zaXRlcy1tYXBzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9zaXRlcy9zaXRlcy1tYXBzL3NpdGVzLW1hcHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWlCLEtBQUssRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sZUFBZSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBVSxRQUFRLEVBQXdELE1BQU0sc0JBQXNCLENBQUM7QUFDOUcsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEgsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUFJdEQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO0FBRXJGLE1BQU0sWUFBWSxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0UsR0FBRyxFQUFFLFFBQVE7SUFDYixHQUFHLEVBQUUsU0FBUztDQUNmLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBRWYsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBUSxFQUFFLEVBQUU7SUFDeEQsTUFBTSxPQUFPLEdBQUc7UUFDZCxNQUFNLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztRQUNyRyxPQUFPLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztLQUN6RyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNsQixPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQXVCLENBQUM7QUFDekUsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxJQUFVLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUVsRyxNQUFNLFdBQVcsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFRLEVBQUUsRUFBRSxDQUFDLENBQzFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FDNUIsQ0FBQztBQUUzQixNQUFNLE9BQU8sR0FBRyxDQUFDLEtBQWEsRUFBWSxFQUFFLENBQUMsTUFBTSxDQUNqRCxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FDL0csQ0FBQztBQUVGLE1BQU0sYUFBYSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUM7QUFPekMsTUFBTSxPQUFPLGtCQUFrQjtJQXVCN0IsWUFDVSxXQUEwQjtRQUExQixnQkFBVyxHQUFYLFdBQVcsQ0FBZTtRQXZCN0IsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUtkLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBRXBCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFFbkIsYUFBUSxHQUFhLEVBQUUsQ0FBQztRQUV4QixVQUFLLEdBQVEsRUFBRSxDQUFDO1FBRWpCLFdBQU0sR0FBRyxhQUFhLENBQUM7UUFFdkIsU0FBSSxHQUFHLENBQUMsQ0FBQztRQUVULGVBQVUsR0FBRyxJQUFJLENBQUM7UUFFbEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsbUJBQWMsR0FBRyxLQUFLLENBQUM7SUFJMUIsQ0FBQztJQUVMLFFBQVE7UUFDTixPQUFPLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUN6QixVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFTyxVQUFVLENBQUMsSUFBVTtRQUMzQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRWEsUUFBUTs7WUFDcEIseUJBQXlCO1lBQ3pCLElBQUksQ0FBQyxHQUFJLENBQUMsU0FBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsaUNBQU0sV0FBVyxLQUFFLGFBQWEsRUFBRSxHQUFHLElBQUcsQ0FBQyxDQUFDO1lBRW5GLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0MsaUNBQWlDO1lBQ2pDLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVELFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFJLENBQUMsU0FBVSxDQUFDLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUVuQix3REFBd0Q7WUFDeEQsTUFBTSxZQUFZLEdBQUcsQ0FBQyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUVuRyxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFlBQVksQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO1lBQ2pHLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNuRSxDQUFDO0tBQUE7SUFFTyxVQUFVLENBQUMsT0FBNkIsRUFBRSxPQUFPLEdBQUcsS0FBSztRQUMvRCxPQUFPLE9BQU8sQ0FBQyxDQUFDO1lBQ2QsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUksQ0FBQyxTQUFVLEVBQUUsT0FBTyxFQUFFLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNuRixPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBSSxDQUFDLFNBQVUsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVhLGdCQUFnQixDQUFDLEVBQVU7O1lBQ3ZDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDOUQsQ0FBQztLQUFBO0lBRU8sWUFBWSxDQUFDLE1BQTBCO1FBQzdDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO0lBQ2xGLENBQUM7SUFFTyxjQUFjLENBQUMsUUFBK0I7UUFDcEQsSUFBSTtZQUNGLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUksQ0FBQyxTQUFVLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDekY7UUFDRCxPQUFPLEdBQUcsRUFBRTtZQUNWLElBQUksUUFBUSxDQUFDLE1BQU0sRUFBRTtnQkFDbkIsSUFBSSxDQUFDLEdBQUksQ0FBQyxTQUFVLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMzRCxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQzthQUNmO1NBQ0Y7SUFDSCxDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQWE7UUFDbEMsTUFBTSxXQUFXLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUQsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0MsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVhLFFBQVEsQ0FBQyxJQUFTOztZQUM5Qix3Q0FBd0M7WUFDeEMsT0FBTyxlQUFlLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQW9DLElBQUksQ0FBQyxDQUFDO1FBQzlHLENBQUM7S0FBQTtJQUVhLFFBQVEsQ0FBQyxJQUFTOztZQUM5QixPQUFPO2dCQUNMLFFBQVEsQ0FBQyxJQUFJO2dCQUNiLFFBQVEsQ0FBQyxZQUFZO2FBQ3RCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUM3QixNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDWixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUN0QixNQUFNLElBQUksSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDekMsQ0FDRixDQUFDO1FBQ04sQ0FBQztLQUFBO0lBRU8sUUFBUTs7UUFDZCxNQUFNLEtBQUssR0FBVSxDQUFBLE1BQUEsSUFBSSxDQUFDLEtBQUssMENBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN4RyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFYSxZQUFZLENBQUMsRUFBVTs7WUFDbkMsSUFBSTtnQkFDRixNQUFNLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLEdBQUcsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFDbkYsTUFBTSxRQUFRLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzNDLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFJLENBQUMsU0FBVSxDQUFDLENBQUMsQ0FBQztnQkFDOUQsT0FBTyxRQUFRLENBQUM7YUFDakI7WUFDRCxPQUFPLElBQUksRUFBRTtnQkFDWCwwQ0FBMEM7Z0JBQzFDLE9BQU8sRUFBRSxDQUFDO2FBQ1g7UUFDSCxDQUFDO0tBQUE7O2dIQW5JVSxrQkFBa0I7b0dBQWxCLGtCQUFrQixvUEFHbEIsU0FBUyxnRENoRHRCLDhYQVlBOzRGRGlDYSxrQkFBa0I7a0JBTDlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFdBQVcsRUFBRSw2QkFBNkI7b0JBQzFDLFNBQVMsRUFBRSxDQUFDLDZCQUE2QixDQUFDO2lCQUMzQztvR0FLUyxHQUFHO3NCQURWLFNBQVM7dUJBQUMsU0FBUztnQkFHWixZQUFZO3NCQURuQixLQUFLO2dCQUdFLEtBQUs7c0JBRFosS0FBSztnQkFHRSxRQUFRO3NCQURmLEtBQUs7Z0JBR0UsS0FBSztzQkFEWixLQUFLO2dCQUdDLE1BQU07c0JBRFosS0FBSztnQkFHQyxJQUFJO3NCQURWLEtBQUs7Z0JBR0MsVUFBVTtzQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQWZ0ZXJWaWV3SW5pdCwgSW5wdXQsIFZpZXdDaGlsZCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBHb29nbGVNYXAgfSBmcm9tICdAYW5ndWxhci9nb29nbGUtbWFwcyc7XG5pbXBvcnQgTWFya2VyQ2x1c3RlcmVyIGZyb20gJ0Bnb29nbGUvbWFya2VyY2x1c3RlcmVycGx1cyc7XG5pbXBvcnQgeyBKU09OTEQsIE5vZGVUeXBlLCBJU2l0ZUpTT05MRCwgU2l0ZSwgSU9yZ2FuaXNhdGlvbkpTT05MRCwgT3JnYW5pc2F0aW9uIH0gZnJvbSAnQGhlc3RpYS1lYXJ0aC9zY2hlbWEnO1xuaW1wb3J0IHsgdW5pcXVlIH0gZnJvbSAnQGhlc3RpYS1lYXJ0aC91dGlscyc7XG5cbmltcG9ydCB7IEhlTm9kZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9ub2RlL25vZGUuc2VydmljZSc7XG5pbXBvcnQgeyB0ZXJtTG9jYXRpb24sIHRlcm1Mb2NhdGlvbk5hbWUgfSBmcm9tICcuLi8uLi90ZXJtcy90ZXJtcy5tb2RlbCc7XG5pbXBvcnQgeyBjbHVzdGVyZXJJbWFnZSwgY3JlYXRlTWFya2VyLCBwb2x5Z29uc0Zyb21GZWF0dXJlLCBwb2x5Z29uQm91bmRzLCBzdHJva2VTdHlsZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9tYXBzLXV0aWxzJztcbmltcG9ydCB7IGJhc2VVcmwsIHdhaXRGb3IgfSBmcm9tICcuLi8uLi9jb21tb24vdXRpbHMnO1xuXG50eXBlIHNpdGUgPSBJU2l0ZUpTT05MRCB8IFNpdGUgfCBJT3JnYW5pc2F0aW9uSlNPTkxEIHwgT3JnYW5pc2F0aW9uO1xuXG5jb25zdCBpc1NpdGUgPSAoeyAnQHR5cGUnOiB0eXBlLCAnQGlkJzogaWQgfTogYW55KSA9PiB0eXBlID09PSBOb2RlVHlwZS5TaXRlICYmICEhaWQ7XG5cbmNvbnN0IHNpdGVMb2NhdGlvbiA9ICh7IGxhdGl0dWRlLCBsb25naXR1ZGUgfTogc2l0ZSkgPT4gbGF0aXR1ZGUgJiYgbG9uZ2l0dWRlID8gKHtcbiAgbGF0OiBsYXRpdHVkZSxcbiAgbG5nOiBsb25naXR1ZGVcbn0pIDogdW5kZWZpbmVkO1xuXG5jb25zdCBzaXRlRGVmYXVsdExvY2F0aW9uID0gKHsgcmVnaW9uLCBjb3VudHJ5IH06IHNpdGUpID0+IHtcbiAgY29uc3QgbWFya2VycyA9IFtcbiAgICByZWdpb24gPyBjcmVhdGVNYXJrZXIodGVybUxvY2F0aW9uKHJlZ2lvbiksIHRlcm1Mb2NhdGlvbk5hbWUocmVnaW9uKS5uYW1lLCB1bmRlZmluZWQsIDIwKSA6IHVuZGVmaW5lZCxcbiAgICBjb3VudHJ5ID8gY3JlYXRlTWFya2VyKHRlcm1Mb2NhdGlvbihjb3VudHJ5KSwgdGVybUxvY2F0aW9uTmFtZShjb3VudHJ5KS5uYW1lLCB1bmRlZmluZWQsIDQwKSA6IHVuZGVmaW5lZFxuICBdLmZpbHRlcihCb29sZWFuKTtcbiAgcmV0dXJuIChtYXJrZXJzLmxlbmd0aCA/IG1hcmtlcnNbMF0gOiB1bmRlZmluZWQpIGFzIGdvb2dsZS5tYXBzLk1hcmtlcjtcbn07XG5cbmNvbnN0IHNpdGVNYXJrZXIgPSAoc2l0ZTogc2l0ZSkgPT4gY3JlYXRlTWFya2VyKHNpdGUgPyBzaXRlTG9jYXRpb24oc2l0ZSkgOiB1bmRlZmluZWQsIHNpdGUubmFtZSk7XG5cbmNvbnN0IHNpdGVQb2x5Z29uID0gKHsgYm91bmRhcnkgfTogc2l0ZSkgPT4gKFxuICBib3VuZGFyeSA/IHBvbHlnb25zRnJvbUZlYXR1cmUoYm91bmRhcnkpIDogdW5kZWZpbmVkXG4pIGFzIGdvb2dsZS5tYXBzLlBvbHlnb25bXTtcblxuY29uc3QgcmVnaW9ucyA9IChzaXRlczogc2l0ZVtdKTogc3RyaW5nW10gPT4gdW5pcXVlKFxuICBzaXRlcy5tYXAoKHsgY291bnRyeSwgcmVnaW9uIH0pID0+IHJlZ2lvbiA/IHJlZ2lvblsnQGlkJ10gOiAoY291bnRyeSA/IGNvdW50cnlbJ0BpZCddIDogbnVsbCkpLmZpbHRlcihCb29sZWFuKVxuKTtcblxuY29uc3QgZGVmYXVsdENlbnRlciA9IHsgbGF0OiAwLCBsbmc6IDAgfTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaGUtc2l0ZXMtbWFwcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zaXRlcy1tYXBzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2l0ZXMtbWFwcy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNpdGVzTWFwc0NvbXBvbmVudDxDIGV4dGVuZHMgSlNPTkxEPFQ+LCBUIGV4dGVuZHMgTm9kZVR5cGU+IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgcHVibGljIGxvYWRlZCA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoR29vZ2xlTWFwKVxuICBwcml2YXRlIG1hcD86IEdvb2dsZU1hcDtcbiAgQElucHV0KClcbiAgcHJpdmF0ZSBsb2FkUG9seWdvbnMgPSB0cnVlO1xuICBASW5wdXQoKVxuICBwcml2YXRlIHNpdGVzOiBzaXRlW10gPSBbXTtcbiAgQElucHV0KClcbiAgcHJpdmF0ZSBzZWxlY3RlZDogc3RyaW5nW10gPSBbXTtcbiAgQElucHV0KClcbiAgcHJpdmF0ZSBub2RlczogQ1tdID0gW107XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjZW50ZXIgPSBkZWZhdWx0Q2VudGVyO1xuICBASW5wdXQoKVxuICBwdWJsaWMgem9vbSA9IDI7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93Tm90aWNlID0gdHJ1ZTtcblxuICBwdWJsaWMgZ29vZ2xlTG9hZGVkID0gZmFsc2U7XG4gIHB1YmxpYyBzaG93Tm9Mb2NhdGlvbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbm9kZVNlcnZpY2U6IEhlTm9kZVNlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB3YWl0Rm9yKCdnb29nbGUnLCAoKSA9PiB7XG4gICAgICB0aGlzLmdvb2dsZUxvYWRlZCA9IHRydWU7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+ICF0aGlzLmxvYWRlZCAmJiB0aGlzLmxvYWREYXRhKCkpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHJldHVybiB0aGlzLmdvb2dsZUxvYWRlZCAmJiB0aGlzLmxvYWREYXRhKCk7XG4gIH1cblxuICBwcml2YXRlIGlzU2VsZWN0ZWQoc2l0ZTogc2l0ZSkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkLmxlbmd0aCA9PT0gMCB8fCB0aGlzLnNlbGVjdGVkLmluY2x1ZGVzKHNpdGVbJ0BpZCddKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZERhdGEoKSB7XG4gICAgLy8gbG9hZGVkIGRhdGEgYXMgZ2VvanNvblxuICAgIHRoaXMubWFwIS5nb29nbGVNYXAhLmRhdGEuc2V0U3R5bGUoKCkgPT4gKHsgLi4uc3Ryb2tlU3R5bGUsIHN0cm9rZU9wYWNpdHk6IDAuMSB9KSk7XG5cbiAgICBjb25zdCBzaXRlcyA9IGF3YWl0IHRoaXMuZ2V0U2l0ZXMoKTtcbiAgICBjb25zdCBtYXJrZXJzID0gdGhpcy5hZGRTaXRlTWFya2VycyhzaXRlcyk7XG4gICAgLy8gYWRkIHRoZSBzaXRlLmJvdW5kYXJ5IGlmIGV4aXN0XG4gICAgY29uc3QgcG9seWdvbnMgPSBzaXRlcy5mbGF0TWFwKHNpdGVQb2x5Z29uKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgcG9seWdvbnMubWFwKHBvbHlnb24gPT4gcG9seWdvbj8uc2V0TWFwKHRoaXMubWFwIS5nb29nbGVNYXAhKSk7XG4gICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xuXG4gICAgLy8gYWRkIHRoZSBkZWZhdWx0IHNpdGUgcG9seWdvbnMgZnJvbSBHQURNIHJlZ2lvbiBpZiBhbnlcbiAgICBjb25zdCB0ZXJtUG9seWdvbnMgPSAoYXdhaXQgUHJvbWlzZS5hbGwocmVnaW9ucyhzaXRlcykubWFwKHYgPT4gdGhpcy5hZGRUZXJtc1BvbHlnb25zKHYpKSkpLmZsYXQoKTtcblxuICAgIHRoaXMuc2hvd05vTG9jYXRpb24gPSBtYXJrZXJzLmxlbmd0aCA9PT0gMCAmJiBwb2x5Z29ucy5sZW5ndGggPT09IDAgJiYgdGVybVBvbHlnb25zLmxlbmd0aCA9PT0gMDtcbiAgICByZXR1cm4gbWFya2Vycy5sZW5ndGggP1xuICAgICAgdGhpcy5jZW50ZXJNYXJrZXIobWFya2Vyc1swXSEpIDpcbiAgICAgIHRoaXMuY2VudGVyUG9seWdvbnMocG9seWdvbnMubGVuZ3RoID8gcG9seWdvbnMgOiB0ZXJtUG9seWdvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRNYXJrZXJzKG1hcmtlcnM6IGdvb2dsZS5tYXBzLk1hcmtlcltdLCBjbHVzdGVyID0gZmFsc2UpIHtcbiAgICByZXR1cm4gY2x1c3RlciA/XG4gICAgICBuZXcgTWFya2VyQ2x1c3RlcmVyKHRoaXMubWFwIS5nb29nbGVNYXAhLCBtYXJrZXJzLCB7IGltYWdlUGF0aDogY2x1c3RlcmVySW1hZ2UgfSkgOlxuICAgICAgbWFya2Vycy5tYXAobWFya2VyID0+IG1hcmtlci5zZXRNYXAodGhpcy5tYXAhLmdvb2dsZU1hcCEpKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgYWRkVGVybXNQb2x5Z29ucyhpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMubG9hZFBvbHlnb25zID8gYXdhaXQgdGhpcy50ZXJtUG9seWdvbnMoaWQpIDogW107XG4gIH1cblxuICBwcml2YXRlIGNlbnRlck1hcmtlcihtYXJrZXI6IGdvb2dsZS5tYXBzLk1hcmtlcikge1xuICAgIGNvbnN0IGNlbnRlciA9IG1hcmtlci5nZXRQb3NpdGlvbigpO1xuICAgIHRoaXMuY2VudGVyID0gY2VudGVyID8geyBsYXQ6IGNlbnRlci5sYXQoKSwgbG5nOiBjZW50ZXIubG5nKCkgfSA6IGRlZmF1bHRDZW50ZXI7XG4gIH1cblxuICBwcml2YXRlIGNlbnRlclBvbHlnb25zKHBvbHlnb25zOiBnb29nbGUubWFwcy5Qb2x5Z29uW10pIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHBvbHlnb25zLmxlbmd0aCA/IHRoaXMubWFwIS5nb29nbGVNYXAhLmZpdEJvdW5kcyhwb2x5Z29uQm91bmRzKHBvbHlnb25zKSkgOiBudWxsO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICBpZiAocG9seWdvbnMubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMubWFwIS5nb29nbGVNYXAhLmZpdEJvdW5kcyhwb2x5Z29uQm91bmRzKHBvbHlnb25zWzBdKSk7XG4gICAgICAgIHRoaXMuem9vbSA9IDM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhZGRTaXRlTWFya2VycyhzaXRlczogc2l0ZVtdKSB7XG4gICAgY29uc3Qgc2l0ZU1hcmtlcnMgPSBzaXRlcy5tYXAoc2l0ZU1hcmtlcikuZmlsdGVyKEJvb2xlYW4pO1xuICAgIGNvbnN0IG1hcmtlcnMgPSBzaXRlTWFya2Vycy5sZW5ndGggPyBzaXRlTWFya2VycyA6IHNpdGVzLm1hcChzaXRlRGVmYXVsdExvY2F0aW9uKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgdGhpcy5hZGRNYXJrZXJzKG1hcmtlcnMsICEhc2l0ZU1hcmtlcnMubGVuZ3RoKTtcbiAgICByZXR1cm4gbWFya2VycztcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZFNpdGUobm9kZTogYW55KSB7XG4gICAgLy8gbWVhbnMgdGhlIHNpdGUgd2FzIGFscmVhZHkgZG93bmxvYWRlZFxuICAgIHJldHVybiAnc2NoZW1hVmVyc2lvbicgaW4gbm9kZSA/IG5vZGUgOiBhd2FpdCB0aGlzLm5vZGVTZXJ2aWNlLmdldDxJU2l0ZUpTT05MRCB8IElPcmdhbmlzYXRpb25KU09OTEQ+KG5vZGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzaXRlRGF0YShub2RlOiBhbnkpIHtcbiAgICByZXR1cm4gW1xuICAgICAgTm9kZVR5cGUuU2l0ZSxcbiAgICAgIE5vZGVUeXBlLk9yZ2FuaXNhdGlvblxuICAgIF0uaW5jbHVkZXMobm9kZS50eXBlKSA/IG5vZGUgOiAoXG4gICAgICBpc1NpdGUobm9kZSkgP1xuICAgICAgICB0aGlzLmxvYWRTaXRlKG5vZGUpIDogKFxuICAgICAgICAnc2l0ZScgaW4gbm9kZSAmJiBpc1NpdGUobm9kZS5zaXRlKSA/XG4gICAgICAgICAgdGhpcy5sb2FkU2l0ZShub2RlLnNpdGUpIDpcbiAgICAgICAgICB0aGlzLnNpdGVEYXRhKGF3YWl0IHRoaXMubG9hZFNpdGUobm9kZSkpXG4gICAgICAgIClcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldFNpdGVzKCk6IFByb21pc2U8c2l0ZVtdPiB7XG4gICAgY29uc3Qgbm9kZXM6IGFueVtdID0gdGhpcy5zaXRlcz8ubGVuZ3RoID8gdGhpcy5zaXRlcy5maWx0ZXIoc2l0ZSA9PiB0aGlzLmlzU2VsZWN0ZWQoc2l0ZSkpIDogdGhpcy5ub2RlcztcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwobm9kZXMubWFwKG5vZGUgPT4gdGhpcy5zaXRlRGF0YShub2RlKSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB0ZXJtUG9seWdvbnMoaWQ6IHN0cmluZykge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5ub2RlU2VydmljZS5kb3dubG9hZFJhdyhgJHtiYXNlVXJsKCl9L2dhZG0vJHtpZH0uZ2VvanNvbmApO1xuICAgICAgY29uc3QgcG9seWdvbnMgPSBwb2x5Z29uc0Zyb21GZWF0dXJlKGRhdGEpO1xuICAgICAgcG9seWdvbnMubWFwKHBvbHlnb24gPT4gcG9seWdvbi5zZXRNYXAodGhpcy5tYXAhLmdvb2dsZU1hcCEpKTtcbiAgICAgIHJldHVybiBwb2x5Z29ucztcbiAgICB9XG4gICAgY2F0Y2ggKF9lcnIpIHtcbiAgICAgIC8vIGlnbm9yZSBlcnJvciBpZiB0aGUgZmlsZSBkb2VzIG5vdCBleGlzdFxuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgfVxufVxuIiwiPGdvb2dsZS1tYXAgKm5nSWY9XCJnb29nbGVMb2FkZWRcIlxuICBoZWlnaHQ9XCIxMDAlXCJcbiAgd2lkdGg9XCIxMDAlXCJcbiAgW3pvb21dPVwiem9vbVwiXG4gIFtjZW50ZXJdPVwiY2VudGVyXCJcbj48L2dvb2dsZS1tYXA+XG5cbjxwICpuZ0lmPVwic2hvd05vdGljZVwiIGNsYXNzPVwibXQtMiBpcy1pdGFsaWMgaXMtc2l6ZS03XCI+VGhlIGluZm9ybWF0aW9uIHByb3ZpZGVkIG1pZ2h0IG5vdCBiZSBjb21wbGV0ZTwvcD5cblxuPGRpdiBjbGFzcz1cIm5vLWxvY2F0aW9uIGhhcy10ZXh0LWNlbnRlciBoYXMtdGV4dC1saWdodFwiICpuZ0lmPVwic2hvd05vTG9jYXRpb25cIj5cbiAgPHNwYW4+Tm8gcHJlY2lzZSBsb2NhdGlvbiBkYXRhPC9zcGFuPlxuPC9kaXY+XG4iXX0=
|
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZXMtbWFwcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2l0ZXMvc2l0ZXMtbWFwcy9zaXRlcy1tYXBzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9zaXRlcy9zaXRlcy1tYXBzL3NpdGVzLW1hcHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWlCLEtBQUssRUFBRSxTQUFTLEVBQVUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sZUFBZSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBVSxRQUFRLEVBQXdELE1BQU0sc0JBQXNCLENBQUM7QUFDOUcsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEgsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUFJdEQsTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO0FBRXJGLE1BQU0sWUFBWSxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0UsR0FBRyxF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QUMsQ0FBQztnQkFDbkYsTUFBTSxRQUFRLEdBQUcsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzNDLFFBQVEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFJLENBQUMsU0FBVSxDQUFDLENBQUMsQ0FBQztnQkFDOUQsT0FBTyxRQUFRLENBQUM7YUFDakI7WUFDRCxPQUFPLElBQUksRUFBRTtnQkFDWCwwQ0FBMEM7Z0JBQzFDLE9BQU8sRUFBRSxDQUFDO2FBQ1g7UUFDSCxDQUFDO0tBQUE7O2dIQW5JVSxrQkFBa0I7b0dBQWxCLGtCQUFrQixvUEFHbEIsU0FBUyxnRENqRHRCLDhYQVlBOzRGRGtDYSxrQkFBa0I7a0JBTjlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFdBQVcsRUFBRSw2QkFBNkI7b0JBQzFDLFNBQVMsRUFBRSxDQUFDLDZCQUE2QixDQUFDO29CQUMxQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQ7b0dBS1MsR0FBRztzQkFEVixTQUFTO3VCQUFDLFNBQVM7Z0JBR1osWUFBWTtzQkFEbkIsS0FBSztnQkFHRSxLQUFLO3NCQURaLEtBQUs7Z0JBR0UsUUFBUTtzQkFEZixLQUFLO2dCQUdFLEtBQUs7c0JBRFosS0FBSztnQkFHQyxNQUFNO3NCQURaLEtBQUs7Z0JBR0MsSUFBSTtzQkFEVixLQUFLO2dCQUdDLFVBQVU7c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEFmdGVyVmlld0luaXQsIElucHV0LCBWaWV3Q2hpbGQsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdvb2dsZU1hcCB9IGZyb20gJ0Bhbmd1bGFyL2dvb2dsZS1tYXBzJztcbmltcG9ydCBNYXJrZXJDbHVzdGVyZXIgZnJvbSAnQGdvb2dsZS9tYXJrZXJjbHVzdGVyZXJwbHVzJztcbmltcG9ydCB7IEpTT05MRCwgTm9kZVR5cGUsIElTaXRlSlNPTkxELCBTaXRlLCBJT3JnYW5pc2F0aW9uSlNPTkxELCBPcmdhbmlzYXRpb24gfSBmcm9tICdAaGVzdGlhLWVhcnRoL3NjaGVtYSc7XG5pbXBvcnQgeyB1bmlxdWUgfSBmcm9tICdAaGVzdGlhLWVhcnRoL3V0aWxzJztcblxuaW1wb3J0IHsgSGVOb2RlU2VydmljZSB9IGZyb20gJy4uLy4uL25vZGUvbm9kZS5zZXJ2aWNlJztcbmltcG9ydCB7IHRlcm1Mb2NhdGlvbiwgdGVybUxvY2F0aW9uTmFtZSB9IGZyb20gJy4uLy4uL3Rlcm1zL3Rlcm1zLm1vZGVsJztcbmltcG9ydCB7IGNsdXN0ZXJlckltYWdlLCBjcmVhdGVNYXJrZXIsIHBvbHlnb25zRnJvbUZlYXR1cmUsIHBvbHlnb25Cb3VuZHMsIHN0cm9rZVN0eWxlIH0gZnJvbSAnLi4vLi4vY29tbW9uL21hcHMtdXRpbHMnO1xuaW1wb3J0IHsgYmFzZVVybCwgd2FpdEZvciB9IGZyb20gJy4uLy4uL2NvbW1vbi91dGlscyc7XG5cbnR5cGUgc2l0ZSA9IElTaXRlSlNPTkxEIHwgU2l0ZSB8IElPcmdhbmlzYXRpb25KU09OTEQgfCBPcmdhbmlzYXRpb247XG5cbmNvbnN0IGlzU2l0ZSA9ICh7ICdAdHlwZSc6IHR5cGUsICdAaWQnOiBpZCB9OiBhbnkpID0+IHR5cGUgPT09IE5vZGVUeXBlLlNpdGUgJiYgISFpZDtcblxuY29uc3Qgc2l0ZUxvY2F0aW9uID0gKHsgbGF0aXR1ZGUsIGxvbmdpdHVkZSB9OiBzaXRlKSA9PiBsYXRpdHVkZSAmJiBsb25naXR1ZGUgPyAoe1xuICBsYXQ6IGxhdGl0dWRlLFxuICBsbmc6IGxvbmdpdHVkZVxufSkgOiB1bmRlZmluZWQ7XG5cbmNvbnN0IHNpdGVEZWZhdWx0TG9jYXRpb24gPSAoeyByZWdpb24sIGNvdW50cnkgfTogc2l0ZSkgPT4ge1xuICBjb25zdCBtYXJrZXJzID0gW1xuICAgIHJlZ2lvbiA/IGNyZWF0ZU1hcmtlcih0ZXJtTG9jYXRpb24ocmVnaW9uKSwgdGVybUxvY2F0aW9uTmFtZShyZWdpb24pLm5hbWUsIHVuZGVmaW5lZCwgMjApIDogdW5kZWZpbmVkLFxuICAgIGNvdW50cnkgPyBjcmVhdGVNYXJrZXIodGVybUxvY2F0aW9uKGNvdW50cnkpLCB0ZXJtTG9jYXRpb25OYW1lKGNvdW50cnkpLm5hbWUsIHVuZGVmaW5lZCwgNDApIDogdW5kZWZpbmVkXG4gIF0uZmlsdGVyKEJvb2xlYW4pO1xuICByZXR1cm4gKG1hcmtlcnMubGVuZ3RoID8gbWFya2Vyc1swXSA6IHVuZGVmaW5lZCkgYXMgZ29vZ2xlLm1hcHMuTWFya2VyO1xufTtcblxuY29uc3Qgc2l0ZU1hcmtlciA9IChzaXRlOiBzaXRlKSA9PiBjcmVhdGVNYXJrZXIoc2l0ZSA/IHNpdGVMb2NhdGlvbihzaXRlKSA6IHVuZGVmaW5lZCwgc2l0ZS5uYW1lKTtcblxuY29uc3Qgc2l0ZVBvbHlnb24gPSAoeyBib3VuZGFyeSB9OiBzaXRlKSA9PiAoXG4gIGJvdW5kYXJ5ID8gcG9seWdvbnNGcm9tRmVhdHVyZShib3VuZGFyeSkgOiB1bmRlZmluZWRcbikgYXMgZ29vZ2xlLm1hcHMuUG9seWdvbltdO1xuXG5jb25zdCByZWdpb25zID0gKHNpdGVzOiBzaXRlW10pOiBzdHJpbmdbXSA9PiB1bmlxdWUoXG4gIHNpdGVzLm1hcCgoeyBjb3VudHJ5LCByZWdpb24gfSkgPT4gcmVnaW9uID8gcmVnaW9uWydAaWQnXSA6IChjb3VudHJ5ID8gY291bnRyeVsnQGlkJ10gOiBudWxsKSkuZmlsdGVyKEJvb2xlYW4pXG4pO1xuXG5jb25zdCBkZWZhdWx0Q2VudGVyID0geyBsYXQ6IDAsIGxuZzogMCB9O1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdoZS1zaXRlcy1tYXBzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpdGVzLW1hcHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zaXRlcy1tYXBzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFNpdGVzTWFwc0NvbXBvbmVudDxDIGV4dGVuZHMgSlNPTkxEPFQ+LCBUIGV4dGVuZHMgTm9kZVR5cGU+IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgcHVibGljIGxvYWRlZCA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoR29vZ2xlTWFwKVxuICBwcml2YXRlIG1hcD86IEdvb2dsZU1hcDtcbiAgQElucHV0KClcbiAgcHJpdmF0ZSBsb2FkUG9seWdvbnMgPSB0cnVlO1xuICBASW5wdXQoKVxuICBwcml2YXRlIHNpdGVzOiBzaXRlW10gPSBbXTtcbiAgQElucHV0KClcbiAgcHJpdmF0ZSBzZWxlY3RlZDogc3RyaW5nW10gPSBbXTtcbiAgQElucHV0KClcbiAgcHJpdmF0ZSBub2RlczogQ1tdID0gW107XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjZW50ZXIgPSBkZWZhdWx0Q2VudGVyO1xuICBASW5wdXQoKVxuICBwdWJsaWMgem9vbSA9IDI7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaG93Tm90aWNlID0gdHJ1ZTtcblxuICBwdWJsaWMgZ29vZ2xlTG9hZGVkID0gZmFsc2U7XG4gIHB1YmxpYyBzaG93Tm9Mb2NhdGlvbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbm9kZVNlcnZpY2U6IEhlTm9kZVNlcnZpY2VcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB3YWl0Rm9yKCdnb29nbGUnLCAoKSA9PiB7XG4gICAgICB0aGlzLmdvb2dsZUxvYWRlZCA9IHRydWU7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+ICF0aGlzLmxvYWRlZCAmJiB0aGlzLmxvYWREYXRhKCkpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHJldHVybiB0aGlzLmdvb2dsZUxvYWRlZCAmJiB0aGlzLmxvYWREYXRhKCk7XG4gIH1cblxuICBwcml2YXRlIGlzU2VsZWN0ZWQoc2l0ZTogc2l0ZSkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkLmxlbmd0aCA9PT0gMCB8fCB0aGlzLnNlbGVjdGVkLmluY2x1ZGVzKHNpdGVbJ0BpZCddKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZERhdGEoKSB7XG4gICAgLy8gbG9hZGVkIGRhdGEgYXMgZ2VvanNvblxuICAgIHRoaXMubWFwIS5nb29nbGVNYXAhLmRhdGEuc2V0U3R5bGUoKCkgPT4gKHsgLi4uc3Ryb2tlU3R5bGUsIHN0cm9rZU9wYWNpdHk6IDAuMSB9KSk7XG5cbiAgICBjb25zdCBzaXRlcyA9IGF3YWl0IHRoaXMuZ2V0U2l0ZXMoKTtcbiAgICBjb25zdCBtYXJrZXJzID0gdGhpcy5hZGRTaXRlTWFya2VycyhzaXRlcyk7XG4gICAgLy8gYWRkIHRoZSBzaXRlLmJvdW5kYXJ5IGlmIGV4aXN0XG4gICAgY29uc3QgcG9seWdvbnMgPSBzaXRlcy5mbGF0TWFwKHNpdGVQb2x5Z29uKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgcG9seWdvbnMubWFwKHBvbHlnb24gPT4gcG9seWdvbj8uc2V0TWFwKHRoaXMubWFwIS5nb29nbGVNYXAhKSk7XG4gICAgdGhpcy5sb2FkZWQgPSB0cnVlO1xuXG4gICAgLy8gYWRkIHRoZSBkZWZhdWx0IHNpdGUgcG9seWdvbnMgZnJvbSBHQURNIHJlZ2lvbiBpZiBhbnlcbiAgICBjb25zdCB0ZXJtUG9seWdvbnMgPSAoYXdhaXQgUHJvbWlzZS5hbGwocmVnaW9ucyhzaXRlcykubWFwKHYgPT4gdGhpcy5hZGRUZXJtc1BvbHlnb25zKHYpKSkpLmZsYXQoKTtcblxuICAgIHRoaXMuc2hvd05vTG9jYXRpb24gPSBtYXJrZXJzLmxlbmd0aCA9PT0gMCAmJiBwb2x5Z29ucy5sZW5ndGggPT09IDAgJiYgdGVybVBvbHlnb25zLmxlbmd0aCA9PT0gMDtcbiAgICByZXR1cm4gbWFya2Vycy5sZW5ndGggP1xuICAgICAgdGhpcy5jZW50ZXJNYXJrZXIobWFya2Vyc1swXSEpIDpcbiAgICAgIHRoaXMuY2VudGVyUG9seWdvbnMocG9seWdvbnMubGVuZ3RoID8gcG9seWdvbnMgOiB0ZXJtUG9seWdvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRNYXJrZXJzKG1hcmtlcnM6IGdvb2dsZS5tYXBzLk1hcmtlcltdLCBjbHVzdGVyID0gZmFsc2UpIHtcbiAgICByZXR1cm4gY2x1c3RlciA/XG4gICAgICBuZXcgTWFya2VyQ2x1c3RlcmVyKHRoaXMubWFwIS5nb29nbGVNYXAhLCBtYXJrZXJzLCB7IGltYWdlUGF0aDogY2x1c3RlcmVySW1hZ2UgfSkgOlxuICAgICAgbWFya2Vycy5tYXAobWFya2VyID0+IG1hcmtlci5zZXRNYXAodGhpcy5tYXAhLmdvb2dsZU1hcCEpKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgYWRkVGVybXNQb2x5Z29ucyhpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMubG9hZFBvbHlnb25zID8gYXdhaXQgdGhpcy50ZXJtUG9seWdvbnMoaWQpIDogW107XG4gIH1cblxuICBwcml2YXRlIGNlbnRlck1hcmtlcihtYXJrZXI6IGdvb2dsZS5tYXBzLk1hcmtlcikge1xuICAgIGNvbnN0IGNlbnRlciA9IG1hcmtlci5nZXRQb3NpdGlvbigpO1xuICAgIHRoaXMuY2VudGVyID0gY2VudGVyID8geyBsYXQ6IGNlbnRlci5sYXQoKSwgbG5nOiBjZW50ZXIubG5nKCkgfSA6IGRlZmF1bHRDZW50ZXI7XG4gIH1cblxuICBwcml2YXRlIGNlbnRlclBvbHlnb25zKHBvbHlnb25zOiBnb29nbGUubWFwcy5Qb2x5Z29uW10pIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHBvbHlnb25zLmxlbmd0aCA/IHRoaXMubWFwIS5nb29nbGVNYXAhLmZpdEJvdW5kcyhwb2x5Z29uQm91bmRzKHBvbHlnb25zKSkgOiBudWxsO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyKSB7XG4gICAgICBpZiAocG9seWdvbnMubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMubWFwIS5nb29nbGVNYXAhLmZpdEJvdW5kcyhwb2x5Z29uQm91bmRzKHBvbHlnb25zWzBdKSk7XG4gICAgICAgIHRoaXMuem9vbSA9IDM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhZGRTaXRlTWFya2VycyhzaXRlczogc2l0ZVtdKSB7XG4gICAgY29uc3Qgc2l0ZU1hcmtlcnMgPSBzaXRlcy5tYXAoc2l0ZU1hcmtlcikuZmlsdGVyKEJvb2xlYW4pO1xuICAgIGNvbnN0IG1hcmtlcnMgPSBzaXRlTWFya2Vycy5sZW5ndGggPyBzaXRlTWFya2VycyA6IHNpdGVzLm1hcChzaXRlRGVmYXVsdExvY2F0aW9uKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgdGhpcy5hZGRNYXJrZXJzKG1hcmtlcnMsICEhc2l0ZU1hcmtlcnMubGVuZ3RoKTtcbiAgICByZXR1cm4gbWFya2VycztcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgbG9hZFNpdGUobm9kZTogYW55KSB7XG4gICAgLy8gbWVhbnMgdGhlIHNpdGUgd2FzIGFscmVhZHkgZG93bmxvYWRlZFxuICAgIHJldHVybiAnc2NoZW1hVmVyc2lvbicgaW4gbm9kZSA/IG5vZGUgOiBhd2FpdCB0aGlzLm5vZGVTZXJ2aWNlLmdldDxJU2l0ZUpTT05MRCB8IElPcmdhbmlzYXRpb25KU09OTEQ+KG5vZGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzaXRlRGF0YShub2RlOiBhbnkpIHtcbiAgICByZXR1cm4gW1xuICAgICAgTm9kZVR5cGUuU2l0ZSxcbiAgICAgIE5vZGVUeXBlLk9yZ2FuaXNhdGlvblxuICAgIF0uaW5jbHVkZXMobm9kZS50eXBlKSA/IG5vZGUgOiAoXG4gICAgICBpc1NpdGUobm9kZSkgP1xuICAgICAgICB0aGlzLmxvYWRTaXRlKG5vZGUpIDogKFxuICAgICAgICAnc2l0ZScgaW4gbm9kZSAmJiBpc1NpdGUobm9kZS5zaXRlKSA/XG4gICAgICAgICAgdGhpcy5sb2FkU2l0ZShub2RlLnNpdGUpIDpcbiAgICAgICAgICB0aGlzLnNpdGVEYXRhKGF3YWl0IHRoaXMubG9hZFNpdGUobm9kZSkpXG4gICAgICAgIClcbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldFNpdGVzKCk6IFByb21pc2U8c2l0ZVtdPiB7XG4gICAgY29uc3Qgbm9kZXM6IGFueVtdID0gdGhpcy5zaXRlcz8ubGVuZ3RoID8gdGhpcy5zaXRlcy5maWx0ZXIoc2l0ZSA9PiB0aGlzLmlzU2VsZWN0ZWQoc2l0ZSkpIDogdGhpcy5ub2RlcztcbiAgICByZXR1cm4gUHJvbWlzZS5hbGwobm9kZXMubWFwKG5vZGUgPT4gdGhpcy5zaXRlRGF0YShub2RlKSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB0ZXJtUG9seWdvbnMoaWQ6IHN0cmluZykge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5ub2RlU2VydmljZS5kb3dubG9hZFJhdyhgJHtiYXNlVXJsKCl9L2dhZG0vJHtpZH0uZ2VvanNvbmApO1xuICAgICAgY29uc3QgcG9seWdvbnMgPSBwb2x5Z29uc0Zyb21GZWF0dXJlKGRhdGEpO1xuICAgICAgcG9seWdvbnMubWFwKHBvbHlnb24gPT4gcG9seWdvbi5zZXRNYXAodGhpcy5tYXAhLmdvb2dsZU1hcCEpKTtcbiAgICAgIHJldHVybiBwb2x5Z29ucztcbiAgICB9XG4gICAgY2F0Y2ggKF9lcnIpIHtcbiAgICAgIC8vIGlnbm9yZSBlcnJvciBpZiB0aGUgZmlsZSBkb2VzIG5vdCBleGlzdFxuICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgfVxufVxuIiwiPGdvb2dsZS1tYXAgKm5nSWY9XCJnb29nbGVMb2FkZWRcIlxuICBoZWlnaHQ9XCIxMDAlXCJcbiAgd2lkdGg9XCIxMDAlXCJcbiAgW3pvb21dPVwiem9vbVwiXG4gIFtjZW50ZXJdPVwiY2VudGVyXCJcbj48L2dvb2dsZS1tYXA+XG5cbjxwICpuZ0lmPVwic2hvd05vdGljZVwiIGNsYXNzPVwibXQtMiBpcy1pdGFsaWMgaXMtc2l6ZS03XCI+VGhlIGluZm9ybWF0aW9uIHByb3ZpZGVkIG1pZ2h0IG5vdCBiZSBjb21wbGV0ZTwvcD5cblxuPGRpdiBjbGFzcz1cIm5vLWxvY2F0aW9uIGhhcy10ZXh0LWNlbnRlciBoYXMtdGV4dC1saWdodFwiICpuZ0lmPVwic2hvd05vTG9jYXRpb25cIj5cbiAgPHNwYW4+Tm8gcHJlY2lzZSBsb2NhdGlvbiBkYXRhPC9zcGFuPlxuPC9kaXY+XG4iXX0=
|