@eo-sdk/client 11.5.0-rc.2 → 11.6.0-rc.1
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/app/eo-client/about-state/about-state.component.d.ts.map +1 -1
- package/app/eo-framework/actions/actions/custom-actions/custom-actions.component.d.ts.map +1 -1
- package/app/eo-framework/actions/actions/workflow-action/simple-workflow-action.component.d.ts.map +1 -1
- package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts +1 -1
- package/app/eo-framework/app-shell/app-bar/app-search/app-search.component.d.ts.map +1 -1
- package/app/eo-framework/form-elements/organization/organization.component.d.ts +1 -0
- package/app/eo-framework/form-elements/organization/organization.component.d.ts.map +1 -1
- package/app/eo-framework/grid/grid.component.d.ts +7 -0
- package/app/eo-framework/grid/grid.component.d.ts.map +1 -1
- package/app/eo-framework/media/media.component.d.ts +3 -2
- package/app/eo-framework/media/media.component.d.ts.map +1 -1
- package/app/eo-framework/object-details/object-details.component.d.ts +13 -4
- package/app/eo-framework/object-details/object-details.component.d.ts.map +1 -1
- package/app/eo-framework/object-details/object-history/object-history.component.d.ts +3 -2
- package/app/eo-framework/object-details/object-history/object-history.component.d.ts.map +1 -1
- package/app/eo-framework/result-list/result-list.component.d.ts.map +1 -1
- package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts +50 -0
- package/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.d.ts.map +1 -1
- package/app/eo-framework/ui/indexdata-summary/indexdata-summary.interface.d.ts +10 -0
- package/app/eo-framework/ui/indexdata-summary/indexdata-summary.interface.d.ts.map +1 -0
- package/app/eo-framework-core/search/app-search.service.d.ts +12 -1
- package/app/eo-framework-core/search/app-search.service.d.ts.map +1 -1
- package/assets/_default/i18n/de.json +5 -3
- package/assets/_default/i18n/en.json +10 -8
- package/esm2022/app/eo-client/about-state/about-state.component.mjs +3 -3
- package/esm2022/app/eo-framework/actions/actions/custom-actions/custom-actions.component.mjs +2 -1
- package/esm2022/app/eo-framework/actions/actions/workflow-action/simple-workflow-action.component.mjs +2 -2
- package/esm2022/app/eo-framework/app-shell/app-bar/app-search/app-search.component.mjs +18 -4
- package/esm2022/app/eo-framework/form-elements/organization/organization.component.mjs +25 -16
- package/esm2022/app/eo-framework/grid/extensions/filter/text/text-filter.component.mjs +3 -3
- package/esm2022/app/eo-framework/grid/grid.component.mjs +36 -10
- package/esm2022/app/eo-framework/media/media.component.mjs +8 -4
- package/esm2022/app/eo-framework/object-details/object-details.component.mjs +30 -15
- package/esm2022/app/eo-framework/object-details/object-history/object-history.component.mjs +11 -6
- package/esm2022/app/eo-framework/object-form/object-form/form-element-table/form-element-table.component.mjs +3 -3
- package/esm2022/app/eo-framework/prepare-details/prepare-details.component.mjs +1 -1
- package/esm2022/app/eo-framework/recyclebin-details/recyclebin-details.component.mjs +1 -1
- package/esm2022/app/eo-framework/result-list/result-list.component.mjs +7 -2
- package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary-entry/indexdata-summary-entry.component.mjs +2 -2
- package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary.component.mjs +138 -5
- package/esm2022/app/eo-framework/ui/indexdata-summary/indexdata-summary.interface.mjs +2 -0
- package/esm2022/app/eo-framework-core/api/grid.service.mjs +3 -3
- package/esm2022/app/eo-framework-core/search/app-search.service.mjs +25 -4
- package/fesm2022/eo-sdk-client.mjs +303 -746
- package/fesm2022/eo-sdk-client.mjs.map +1 -1
- package/misc/scripts/copy-client-assets.js +1 -1
- package/package.json +3 -3
- package/proxy.config.js +13 -0
- package/scss/_migrationTemp.scss +1 -0
- package/styles.css +1 -0
- package/app/eo-framework/grid/row-grouping/batchRemover.d.ts +0 -13
- package/app/eo-framework/grid/row-grouping/batchRemover.d.ts.map +0 -1
- package/app/eo-framework/grid/row-grouping/group-stage.d.ts +0 -45
- package/app/eo-framework/grid/row-grouping/group-stage.d.ts.map +0 -1
- package/app/eo-framework/grid/row-grouping/row-grouping.module.d.ts +0 -8
- package/app/eo-framework/grid/row-grouping/row-grouping.module.d.ts.map +0 -1
- package/esm2022/app/eo-framework/grid/row-grouping/batchRemover.mjs +0 -50
- package/esm2022/app/eo-framework/grid/row-grouping/group-stage.mjs +0 -623
- package/esm2022/app/eo-framework/grid/row-grouping/row-grouping.module.mjs +0 -8
- package/proxy.config.json +0 -97
|
@@ -26,10 +26,11 @@ let ObjectHistoryComponent = class ObjectHistoryComponent {
|
|
|
26
26
|
get params() {
|
|
27
27
|
return this._params;
|
|
28
28
|
}
|
|
29
|
-
constructor(dmsService, cd, eventService) {
|
|
29
|
+
constructor(dmsService, cd, eventService, translate) {
|
|
30
30
|
this.dmsService = dmsService;
|
|
31
31
|
this.cd = cd;
|
|
32
32
|
this.eventService = eventService;
|
|
33
|
+
this.translate = translate;
|
|
33
34
|
this._history = [];
|
|
34
35
|
this.completeHistory = [];
|
|
35
36
|
this.filters = [];
|
|
@@ -60,14 +61,18 @@ let ObjectHistoryComponent = class ObjectHistoryComponent {
|
|
|
60
61
|
.getHistory(id, type, true)
|
|
61
62
|
.pipe(map((res) => {
|
|
62
63
|
const reversedRes = res.reverse();
|
|
64
|
+
reversedRes.forEach(res => {
|
|
65
|
+
res.title = this.translate.instant('eo.object.history.entry.type.' + res.type + '.title');
|
|
66
|
+
res.description = this.translate.instant('eo.object.history.entry.type.' + (res.intent ? res.intent : res.type) + '.description');
|
|
67
|
+
});
|
|
63
68
|
this.completeHistory = reversedRes;
|
|
64
69
|
this.history = reversedRes;
|
|
65
70
|
this.cd.markForCheck();
|
|
66
71
|
}))
|
|
67
72
|
.subscribe();
|
|
68
73
|
}
|
|
69
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ObjectHistoryComponent, deps: [{ token: i1.DmsService }, { token: i0.ChangeDetectorRef }, { token: i1.EventService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
70
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: ObjectHistoryComponent, selector: "eo-object-history", inputs: { params: "params" }, ngImport: i0, template: "<div class=\"object-history\">\n\n <eo-history-filter [filters]=\"filters\"\n [history]=\"history\"\n [(term)]=\"filterterm\"\n [visibleFilter]=\"visibleFilter\"\n (onToggleFilter)=\"toggleFilter($event)\">\n </eo-history-filter>\n\n\n <ng-template #empty>\n <div class=\"history empty\" translate>eo.timeline.empty</div>\n </ng-template>\n\n <div class=\"history eo-timeline\" [ngClass]=\"{single: history?.length === 1}\" *ngIf=\"history?.length; else empty\">\n\n <div class=\"timeline-entry\" [ngClass]=\"{user: !!entry.user, comment: entry.comment}\"\n *ngFor=\"let entry of history | historyFilter: filterterm; trackBy: trackByIndex\">\n\n <div class=\"when\">\n <div class=\"date\">{{entry.time | localeDate: 'eoShortDate'}}</div>\n <div class=\"time\">{{entry.time | localeDate: 'eoShortTime'}}</div>\n </div>\n <div class=\"marker\" [ngClass]=\"{bpm: entry.group === 'PROCESS', mod: entry.group === 'MODIFICATION'}\"></div>\n <div class=\"what\">\n\n <div class=\"title\"><span
|
|
74
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ObjectHistoryComponent, deps: [{ token: i1.DmsService }, { token: i0.ChangeDetectorRef }, { token: i1.EventService }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
75
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: ObjectHistoryComponent, selector: "eo-object-history", inputs: { params: "params" }, ngImport: i0, template: "<div class=\"object-history\">\n\n <eo-history-filter [filters]=\"filters\"\n [history]=\"history\"\n [(term)]=\"filterterm\"\n [visibleFilter]=\"visibleFilter\"\n (onToggleFilter)=\"toggleFilter($event)\">\n </eo-history-filter>\n\n\n <ng-template #empty>\n <div class=\"history empty\" translate>eo.timeline.empty</div>\n </ng-template>\n\n <div class=\"history eo-timeline\" [ngClass]=\"{single: history?.length === 1}\" *ngIf=\"history?.length; else empty\">\n\n <div class=\"timeline-entry\" [ngClass]=\"{user: !!entry.user, comment: entry.comment}\"\n *ngFor=\"let entry of history | historyFilter: filterterm; trackBy: trackByIndex\">\n\n <div class=\"when\">\n <div class=\"date\">{{entry.time | localeDate: 'eoShortDate'}}</div>\n <div class=\"time\">{{entry.time | localeDate: 'eoShortTime'}}</div>\n </div>\n <div class=\"marker\" [ngClass]=\"{bpm: entry.group === 'PROCESS', mod: entry.group === 'MODIFICATION'}\"></div>\n <div class=\"what\">\n\n <div class=\"title\"><span>{{entry.title}}</span>\n <a class=\"version\" [routerLink]=\"'/versions/' + params.id\" [queryParams]=\"{type: params.type, version: entry.version}\">\n <span>{{'eo.object.history.version' | translate}} {{entry.version}}</span>\n </a>\n </div>\n <div class=\"description\">{{entry.description}}</div>\n <div class=\"comment\">"{{entry.comment}}"</div>\n\n <div class=\"meta\">\n <span *ngIf=\"entry.user.type === 'serveruser'; else user\">{{entry.user.title}}</span>\n <ng-template #user>\n <span [ngClass]=\"{inactive: !entry.user.active}\">{{entry.user.lastname}}, {{entry.user.firstname}} ({{entry.user.name}})</span>\n </ng-template>\n </div>\n\n <div class=\"bpm-meta\" *ngIf=\"entry.parameter?.type === 'bpm'\">\n <span *ngIf=\"entry.parameter.processName\">\n <span translate>eo.object.history.workflowprocess</span>\n <span>'{{entry.parameter.processName}}'</span>\n </span>\n <span *ngIf=\"entry.parameter.activityName\">\n <span translate>eo.object.history.activity</span>\n <span>'{{entry.parameter.activityName}}'</span>\n </span>\n </div>\n\n </div>\n </div>\n </div>\n</div>\n", styles: [":host .object-history{height:100%;min-width:350px;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}:host .history{flex:1 1 auto;overflow-y:auto;padding:var(--app-pane-padding)}:host .timeline-entry .marker.bpm:before{border-color:var(--color-warning)}:host .timeline-entry .marker.mod:before{border-color:var(--color-success)}:host .timeline-entry .what{padding-bottom:0}:host .timeline-entry .what .title{display:flex;flex-flow:row nowrap;justify-content:space-between}:host .timeline-entry .what .title .version{font-weight:var(--font-weight-normal);font-size:var(--font-hint);white-space:nowrap;color:var(--text-color-caption)}:host .timeline-entry .what .title .version span{padding:0 calc(var(--app-pane-padding) / 4)}:host .timeline-entry .what .comment{display:none}:host .timeline-entry .what .bpm-meta{font-size:var(--font-hint);color:var(--text-color-caption);margin-bottom:calc(var(--app-pane-padding) / 2)}:host .timeline-entry .what .meta{display:flex;flex-flow:row wrap;margin-bottom:calc(var(--app-pane-padding) / 4)}:host .timeline-entry .what .meta>span{display:block;border-radius:2px;padding:2px 4px;font-size:var(--font-caption);background-color:rgba(var(--color-black-rgb),.08);margin:0 calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 4) 0}:host .timeline-entry .what .meta>span.inactive{text-decoration:line-through}:host .timeline-entry.comment .what .comment{display:block;font-style:italic;color:var(--text-color-caption);margin-bottom:calc(var(--app-pane-padding) / 2)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "directive", type: i4.RouterLinkDirective, selector: "a[routerLink]" }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i6.HistoryFilterComponent, selector: "eo-history-filter", inputs: ["visibleFilter", "filters", "history", "term"], outputs: ["onToggleFilter", "termChange"] }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "pipe", type: i7.LocaleDatePipe, name: "localeDate" }, { kind: "pipe", type: i8.HistoryFilterPipe, name: "historyFilter" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
71
76
|
};
|
|
72
77
|
ObjectHistoryComponent = __decorate([
|
|
73
78
|
UntilDestroy()
|
|
@@ -75,8 +80,8 @@ ObjectHistoryComponent = __decorate([
|
|
|
75
80
|
export { ObjectHistoryComponent };
|
|
76
81
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: ObjectHistoryComponent, decorators: [{
|
|
77
82
|
type: Component,
|
|
78
|
-
args: [{ selector: 'eo-object-history', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"object-history\">\n\n <eo-history-filter [filters]=\"filters\"\n [history]=\"history\"\n [(term)]=\"filterterm\"\n [visibleFilter]=\"visibleFilter\"\n (onToggleFilter)=\"toggleFilter($event)\">\n </eo-history-filter>\n\n\n <ng-template #empty>\n <div class=\"history empty\" translate>eo.timeline.empty</div>\n </ng-template>\n\n <div class=\"history eo-timeline\" [ngClass]=\"{single: history?.length === 1}\" *ngIf=\"history?.length; else empty\">\n\n <div class=\"timeline-entry\" [ngClass]=\"{user: !!entry.user, comment: entry.comment}\"\n *ngFor=\"let entry of history | historyFilter: filterterm; trackBy: trackByIndex\">\n\n <div class=\"when\">\n <div class=\"date\">{{entry.time | localeDate: 'eoShortDate'}}</div>\n <div class=\"time\">{{entry.time | localeDate: 'eoShortTime'}}</div>\n </div>\n <div class=\"marker\" [ngClass]=\"{bpm: entry.group === 'PROCESS', mod: entry.group === 'MODIFICATION'}\"></div>\n <div class=\"what\">\n\n <div class=\"title\"><span
|
|
79
|
-
}], ctorParameters: () => [{ type: i1.DmsService }, { type: i0.ChangeDetectorRef }, { type: i1.EventService }], propDecorators: { params: [{
|
|
83
|
+
args: [{ selector: 'eo-object-history', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"object-history\">\n\n <eo-history-filter [filters]=\"filters\"\n [history]=\"history\"\n [(term)]=\"filterterm\"\n [visibleFilter]=\"visibleFilter\"\n (onToggleFilter)=\"toggleFilter($event)\">\n </eo-history-filter>\n\n\n <ng-template #empty>\n <div class=\"history empty\" translate>eo.timeline.empty</div>\n </ng-template>\n\n <div class=\"history eo-timeline\" [ngClass]=\"{single: history?.length === 1}\" *ngIf=\"history?.length; else empty\">\n\n <div class=\"timeline-entry\" [ngClass]=\"{user: !!entry.user, comment: entry.comment}\"\n *ngFor=\"let entry of history | historyFilter: filterterm; trackBy: trackByIndex\">\n\n <div class=\"when\">\n <div class=\"date\">{{entry.time | localeDate: 'eoShortDate'}}</div>\n <div class=\"time\">{{entry.time | localeDate: 'eoShortTime'}}</div>\n </div>\n <div class=\"marker\" [ngClass]=\"{bpm: entry.group === 'PROCESS', mod: entry.group === 'MODIFICATION'}\"></div>\n <div class=\"what\">\n\n <div class=\"title\"><span>{{entry.title}}</span>\n <a class=\"version\" [routerLink]=\"'/versions/' + params.id\" [queryParams]=\"{type: params.type, version: entry.version}\">\n <span>{{'eo.object.history.version' | translate}} {{entry.version}}</span>\n </a>\n </div>\n <div class=\"description\">{{entry.description}}</div>\n <div class=\"comment\">"{{entry.comment}}"</div>\n\n <div class=\"meta\">\n <span *ngIf=\"entry.user.type === 'serveruser'; else user\">{{entry.user.title}}</span>\n <ng-template #user>\n <span [ngClass]=\"{inactive: !entry.user.active}\">{{entry.user.lastname}}, {{entry.user.firstname}} ({{entry.user.name}})</span>\n </ng-template>\n </div>\n\n <div class=\"bpm-meta\" *ngIf=\"entry.parameter?.type === 'bpm'\">\n <span *ngIf=\"entry.parameter.processName\">\n <span translate>eo.object.history.workflowprocess</span>\n <span>'{{entry.parameter.processName}}'</span>\n </span>\n <span *ngIf=\"entry.parameter.activityName\">\n <span translate>eo.object.history.activity</span>\n <span>'{{entry.parameter.activityName}}'</span>\n </span>\n </div>\n\n </div>\n </div>\n </div>\n</div>\n", styles: [":host .object-history{height:100%;min-width:350px;display:flex;flex:1;flex-direction:column;min-height:0;min-width:0}:host .history{flex:1 1 auto;overflow-y:auto;padding:var(--app-pane-padding)}:host .timeline-entry .marker.bpm:before{border-color:var(--color-warning)}:host .timeline-entry .marker.mod:before{border-color:var(--color-success)}:host .timeline-entry .what{padding-bottom:0}:host .timeline-entry .what .title{display:flex;flex-flow:row nowrap;justify-content:space-between}:host .timeline-entry .what .title .version{font-weight:var(--font-weight-normal);font-size:var(--font-hint);white-space:nowrap;color:var(--text-color-caption)}:host .timeline-entry .what .title .version span{padding:0 calc(var(--app-pane-padding) / 4)}:host .timeline-entry .what .comment{display:none}:host .timeline-entry .what .bpm-meta{font-size:var(--font-hint);color:var(--text-color-caption);margin-bottom:calc(var(--app-pane-padding) / 2)}:host .timeline-entry .what .meta{display:flex;flex-flow:row wrap;margin-bottom:calc(var(--app-pane-padding) / 4)}:host .timeline-entry .what .meta>span{display:block;border-radius:2px;padding:2px 4px;font-size:var(--font-caption);background-color:rgba(var(--color-black-rgb),.08);margin:0 calc(var(--app-pane-padding) / 4) calc(var(--app-pane-padding) / 4) 0}:host .timeline-entry .what .meta>span.inactive{text-decoration:line-through}:host .timeline-entry.comment .what .comment{display:block;font-style:italic;color:var(--text-color-caption);margin-bottom:calc(var(--app-pane-padding) / 2)}\n"] }]
|
|
84
|
+
}], ctorParameters: () => [{ type: i1.DmsService }, { type: i0.ChangeDetectorRef }, { type: i1.EventService }, { type: i1.TranslateService }], propDecorators: { params: [{
|
|
80
85
|
type: Input
|
|
81
86
|
}] } });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWhpc3RvcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvb2JqZWN0LWRldGFpbHMvb2JqZWN0LWhpc3Rvcnkvb2JqZWN0LWhpc3RvcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvb2JqZWN0LWRldGFpbHMvb2JqZWN0LWhpc3Rvcnkvb2JqZWN0LWhpc3RvcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQStDLFVBQVUsRUFBZSxNQUFNLGNBQWMsQ0FBQztBQUNwRyxPQUFPLEVBQUMsWUFBWSxFQUFFLGNBQWMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ25FLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7OztBQVU1QixJQUFNLHNCQUFzQixHQUE1QixNQUFNLHNCQUFzQjtJQVNqQyxJQUFJLE9BQU8sQ0FBQyxVQUFtQztRQUM3QyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUNJLE1BQU0sQ0FBQyxDQUFZO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsWUFBb0IsVUFBc0IsRUFBVSxFQUFxQixFQUFVLFlBQTBCO1FBQXpGLGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBeEJyRyxhQUFRLEdBQTRCLEVBQUUsQ0FBQztRQUMvQyxvQkFBZSxHQUE0QixFQUFFLENBQUM7UUFDOUMsWUFBTyxHQUFhLEVBQUUsQ0FBQztRQUV2QixrQkFBYSxHQUFtQixFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBQyxDQUFDO1FBcUIxRCxJQUFJLENBQUMsWUFBWTthQUNkLEVBQUUsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLENBQ3JDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUN0QixTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDakIsSUFBSSxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQ25ELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUM1QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQU07UUFDakIsTUFBTSxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxNQUFNLENBQUM7UUFDakMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDdEQsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hHLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBSyxFQUFFLElBQUk7UUFDdEIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRU8sWUFBWSxDQUFDLEVBQVUsRUFBRSxJQUFhO1FBQzVDLElBQUksQ0FBQyxVQUFVO2FBQ1osVUFBVSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO2FBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUE0QixFQUFFLEVBQUU7WUFDekMsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxlQUFlLEdBQUcsV0FBVyxDQUFDO1lBQ25DLElBQUksQ0FBQyxPQUFPLEdBQUcsV0FBVyxDQUFDO1lBQzNCLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7YUFDRixTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDOzhHQTlEVSxzQkFBc0I7a0dBQXRCLHNCQUFzQix1RkNibkMsdWhGQTBEQTs7QUQ3Q2Esc0JBQXNCO0lBUGxDLFlBQVksRUFBRTtHQU9GLHNCQUFzQixDQStEbEM7OzJGQS9EWSxzQkFBc0I7a0JBTmxDLFNBQVM7K0JBQ0UsbUJBQW1CLG1CQUdaLHVCQUF1QixDQUFDLE1BQU07MElBb0IzQyxNQUFNO3NCQURULEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0Rtc09iamVjdEhpc3RvcnlFbnRyeSwgRG1zUGFyYW1zLCBEbXNTZXJ2aWNlLCBFbmFpb0V2ZW50LCBFdmVudFNlcnZpY2V9IGZyb20gJ0Blby1zZGsvY29yZSc7XG5pbXBvcnQge1VudGlsRGVzdHJveSwgdW50aWxEZXN0cm95ZWR9IGZyb20gJ0BuZ25lYXQvdW50aWwtZGVzdHJveSc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtJVmlzaWJsZUZpbHRlcn0gZnJvbSAnLi9oaXN0b3J5LWZpbHRlci9oaXN0b3J5LWZpbHRlcic7XG5cbkBVbnRpbERlc3Ryb3koKVxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW8tb2JqZWN0LWhpc3RvcnknLFxuICB0ZW1wbGF0ZVVybDogJy4vb2JqZWN0LWhpc3RvcnkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vYmplY3QtaGlzdG9yeS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBPYmplY3RIaXN0b3J5Q29tcG9uZW50IHtcblxuICBfcGFyYW1zOiBEbXNQYXJhbXM7XG4gIHByaXZhdGUgX2hpc3Rvcnk6IERtc09iamVjdEhpc3RvcnlFbnRyeVtdID0gW107XG4gIGNvbXBsZXRlSGlzdG9yeTogRG1zT2JqZWN0SGlzdG9yeUVudHJ5W10gPSBbXTtcbiAgZmlsdGVyczogc3RyaW5nW10gPSBbXTtcbiAgZmlsdGVydGVybTogc3RyaW5nO1xuICB2aXNpYmxlRmlsdGVyOiBJVmlzaWJsZUZpbHRlciA9IHtzZWxlY3Q6IHRydWUsIGlucHV0OiB0cnVlfTtcblxuICBzZXQgaGlzdG9yeShoaXN0b3J5T2JqOiBEbXNPYmplY3RIaXN0b3J5RW50cnlbXSkge1xuICAgIHRoaXMuX2hpc3RvcnkgPSBoaXN0b3J5T2JqO1xuICB9XG5cbiAgZ2V0IGhpc3RvcnkoKTogRG1zT2JqZWN0SGlzdG9yeUVudHJ5W10ge1xuICAgIHJldHVybiB0aGlzLl9oaXN0b3J5O1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IHBhcmFtcyhwOiBEbXNQYXJhbXMpIHtcbiAgICB0aGlzLl9wYXJhbXMgPSBwO1xuICAgIHRoaXMuZmV0Y2hIaXN0b3J5KHAuaWQsIHAudHlwZSk7XG4gIH1cblxuICBnZXQgcGFyYW1zKCkge1xuICAgIHJldHVybiB0aGlzLl9wYXJhbXM7XG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRtc1NlcnZpY2U6IERtc1NlcnZpY2UsIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIGV2ZW50U2VydmljZTogRXZlbnRTZXJ2aWNlKSB7XG4gICAgdGhpcy5ldmVudFNlcnZpY2VcbiAgICAgIC5vbihFbmFpb0V2ZW50LkRNU19PQkpFQ1RfVVBEQVRFRCkucGlwZShcbiAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgaWYgKGV2ZW50LmRhdGEgJiYgdGhpcy5wYXJhbXMuaWQgPT09IGV2ZW50LmRhdGEuaWQpIHtcbiAgICAgICAgICB0aGlzLnBhcmFtcyA9IHRoaXMucGFyYW1zO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHRvZ2dsZUZpbHRlcihmaWx0ZXIpIHtcbiAgICBjb25zdCBbdHlwZSwgaGFzRmlsdGVyXSA9IGZpbHRlcjtcbiAgICBpZiAoaGFzRmlsdGVyKSB7XG4gICAgICB0aGlzLmZpbHRlcnMgPSB0aGlzLmZpbHRlcnMuZmlsdGVyKHMgPT4gcyAhPT0gdHlwZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlsdGVycy5wdXNoKHR5cGUpO1xuICAgIH1cbiAgICB0aGlzLmhpc3RvcnkgPSB0aGlzLmNvbXBsZXRlSGlzdG9yeS5maWx0ZXIoZW50cnkgPT4gdGhpcy5maWx0ZXJzLmluZGV4T2YoZW50cnkuZ3JvdXApID09PSAtMSk7XG4gIH1cblxuICB0cmFja0J5SW5kZXgoaW5kZXgsIGl0ZW0pIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICBwcml2YXRlIGZldGNoSGlzdG9yeShpZDogc3RyaW5nLCB0eXBlPzogc3RyaW5nKSB7XG4gICAgdGhpcy5kbXNTZXJ2aWNlXG4gICAgICAuZ2V0SGlzdG9yeShpZCwgdHlwZSwgdHJ1ZSlcbiAgICAgIC5waXBlKG1hcCgocmVzOiBEbXNPYmplY3RIaXN0b3J5RW50cnlbXSkgPT4ge1xuICAgICAgICBjb25zdCByZXZlcnNlZFJlcyA9IHJlcy5yZXZlcnNlKCk7XG4gICAgICAgIHRoaXMuY29tcGxldGVIaXN0b3J5ID0gcmV2ZXJzZWRSZXM7XG4gICAgICAgIHRoaXMuaGlzdG9yeSA9IHJldmVyc2VkUmVzO1xuICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSkpXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJvYmplY3QtaGlzdG9yeVwiPlxuXG4gIDxlby1oaXN0b3J5LWZpbHRlciBbZmlsdGVyc109XCJmaWx0ZXJzXCJcbiAgICAgICAgICAgICAgICAgICAgIFtoaXN0b3J5XT1cImhpc3RvcnlcIlxuICAgICAgICAgICAgICAgICAgICAgWyh0ZXJtKV09XCJmaWx0ZXJ0ZXJtXCJcbiAgICAgICAgICAgICAgICAgICAgIFt2aXNpYmxlRmlsdGVyXT1cInZpc2libGVGaWx0ZXJcIlxuICAgICAgICAgICAgICAgICAgICAgKG9uVG9nZ2xlRmlsdGVyKT1cInRvZ2dsZUZpbHRlcigkZXZlbnQpXCI+XG4gIDwvZW8taGlzdG9yeS1maWx0ZXI+XG5cblxuICA8bmctdGVtcGxhdGUgI2VtcHR5PlxuICAgIDxkaXYgY2xhc3M9XCJoaXN0b3J5IGVtcHR5XCIgdHJhbnNsYXRlPmVvLnRpbWVsaW5lLmVtcHR5PC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPGRpdiBjbGFzcz1cImhpc3RvcnkgZW8tdGltZWxpbmVcIiBbbmdDbGFzc109XCJ7c2luZ2xlOiBoaXN0b3J5Py5sZW5ndGggPT09IDF9XCIgKm5nSWY9XCJoaXN0b3J5Py5sZW5ndGg7IGVsc2UgZW1wdHlcIj5cblxuICAgIDxkaXYgY2xhc3M9XCJ0aW1lbGluZS1lbnRyeVwiIFtuZ0NsYXNzXT1cInt1c2VyOiAhIWVudHJ5LnVzZXIsIGNvbW1lbnQ6IGVudHJ5LmNvbW1lbnR9XCJcbiAgICAgICAgICpuZ0Zvcj1cImxldCBlbnRyeSBvZiBoaXN0b3J5IHwgaGlzdG9yeUZpbHRlcjogZmlsdGVydGVybTsgdHJhY2tCeTogdHJhY2tCeUluZGV4XCI+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3aGVuXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlXCI+e3tlbnRyeS50aW1lIHwgbG9jYWxlRGF0ZTogJ2VvU2hvcnREYXRlJ319PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lXCI+e3tlbnRyeS50aW1lIHwgbG9jYWxlRGF0ZTogJ2VvU2hvcnRUaW1lJ319PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYXJrZXJcIiBbbmdDbGFzc109XCJ7YnBtOiBlbnRyeS5ncm91cCA9PT0gJ1BST0NFU1MnLCBtb2Q6IGVudHJ5Lmdyb3VwID09PSAnTU9ESUZJQ0FUSU9OJ31cIj48L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3aGF0XCI+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRpdGxlXCI+PHNwYW4gW3RyYW5zbGF0ZV09XCInZW8ub2JqZWN0Lmhpc3RvcnkuZW50cnkudHlwZS4nICsgZW50cnkudHlwZSArICcudGl0bGUnXCI+PC9zcGFuPlxuICAgICAgICAgIDxhIGNsYXNzPVwidmVyc2lvblwiIFtyb3V0ZXJMaW5rXT1cIicvdmVyc2lvbnMvJyArIHBhcmFtcy5pZFwiIFtxdWVyeVBhcmFtc109XCJ7dHlwZTogcGFyYW1zLnR5cGUsIHZlcnNpb246IGVudHJ5LnZlcnNpb259XCI+XG4gICAgICAgICAgICA8c3Bhbj57eydlby5vYmplY3QuaGlzdG9yeS52ZXJzaW9uJyB8IHRyYW5zbGF0ZX19IHt7ZW50cnkudmVyc2lvbn19PC9zcGFuPlxuICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkZXNjcmlwdGlvblwiXG4gICAgICAgICAgW3RyYW5zbGF0ZVBhcmFtc109XCJlbnRyeS5wYXJhbWV0ZXJcIlxuICAgICAgICAgIFt0cmFuc2xhdGVdPVwiJ2VvLm9iamVjdC5oaXN0b3J5LmVudHJ5LnR5cGUuJyArIChlbnRyeS5pbnRlbnQgPyBlbnRyeS5pbnRlbnQgOiBlbnRyeS50eXBlKSArICcuZGVzY3JpcHRpb24nXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb21tZW50XCI+JnF1b3Q7e3tlbnRyeS5jb21tZW50fX0mcXVvdDs8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwibWV0YVwiPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZW50cnkudXNlci50eXBlID09PSAnc2VydmVydXNlcic7IGVsc2UgdXNlclwiPnt7ZW50cnkudXNlci50aXRsZX19PC9zcGFuPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjdXNlcj5cbiAgICAgICAgICAgIDxzcGFuPnt7ZW50cnkudXNlci5sYXN0bmFtZX19LCB7e2VudHJ5LnVzZXIuZmlyc3RuYW1lfX0gKHt7ZW50cnkudXNlci5uYW1lfX0pPC9zcGFuPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJicG0tbWV0YVwiICpuZ0lmPVwiZW50cnkucGFyYW1ldGVyPy50eXBlID09PSAnYnBtJ1wiPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZW50cnkucGFyYW1ldGVyLnByb2Nlc3NOYW1lXCI+XG4gICAgICAgICAgPHNwYW4gdHJhbnNsYXRlPmVvLm9iamVjdC5oaXN0b3J5LndvcmtmbG93cHJvY2Vzczwvc3Bhbj5cbiAgICAgICAgICA8c3Bhbj4ne3tlbnRyeS5wYXJhbWV0ZXIucHJvY2Vzc05hbWV9fSc8L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cImVudHJ5LnBhcmFtZXRlci5hY3Rpdml0eU5hbWVcIj5cbiAgICAgICAgICA8c3BhbiB0cmFuc2xhdGU+ZW8ub2JqZWN0Lmhpc3RvcnkuYWN0aXZpdHk8L3NwYW4+XG4gICAgICAgICAgPHNwYW4+J3t7ZW50cnkucGFyYW1ldGVyLmFjdGl2aXR5TmFtZX19Jzwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LWhpc3RvcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvb2JqZWN0LWRldGFpbHMvb2JqZWN0LWhpc3Rvcnkvb2JqZWN0LWhpc3RvcnkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9lby1mcmFtZXdvcmsvb2JqZWN0LWRldGFpbHMvb2JqZWN0LWhpc3Rvcnkvb2JqZWN0LWhpc3RvcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzRixPQUFPLEVBQStDLFVBQVUsRUFBaUMsTUFBTSxjQUFjLENBQUM7QUFDdEgsT0FBTyxFQUFDLFlBQVksRUFBRSxjQUFjLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7QUFVNUIsSUFBTSxzQkFBc0IsR0FBNUIsTUFBTSxzQkFBc0I7SUFTakMsSUFBSSxPQUFPLENBQUMsVUFBbUM7UUFDN0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsSUFDSSxNQUFNLENBQUMsQ0FBWTtRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVELFlBQW9C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QUM7OEdBbEVVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLHVGQ2JuQyxzM0VBd0RBOztBRDNDYSxzQkFBc0I7SUFQbEMsWUFBWSxFQUFFO0dBT0Ysc0JBQXNCLENBbUVsQzs7MkZBbkVZLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDRSxtQkFBbUIsbUJBR1osdUJBQXVCLENBQUMsTUFBTTt5S0FvQjNDLE1BQU07c0JBRFQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RG1zT2JqZWN0SGlzdG9yeUVudHJ5LCBEbXNQYXJhbXMsIERtc1NlcnZpY2UsIEVuYWlvRXZlbnQsIEV2ZW50U2VydmljZSwgVHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQGVvLXNkay9jb3JlJztcbmltcG9ydCB7VW50aWxEZXN0cm95LCB1bnRpbERlc3Ryb3llZH0gZnJvbSAnQG5nbmVhdC91bnRpbC1kZXN0cm95JztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0lWaXNpYmxlRmlsdGVyfSBmcm9tICcuL2hpc3RvcnktZmlsdGVyL2hpc3RvcnktZmlsdGVyJztcblxuQFVudGlsRGVzdHJveSgpXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlby1vYmplY3QtaGlzdG9yeScsXG4gIHRlbXBsYXRlVXJsOiAnLi9vYmplY3QtaGlzdG9yeS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL29iamVjdC1oaXN0b3J5LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE9iamVjdEhpc3RvcnlDb21wb25lbnQge1xuXG4gIF9wYXJhbXM6IERtc1BhcmFtcztcbiAgcHJpdmF0ZSBfaGlzdG9yeTogRG1zT2JqZWN0SGlzdG9yeUVudHJ5W10gPSBbXTtcbiAgY29tcGxldGVIaXN0b3J5OiBEbXNPYmplY3RIaXN0b3J5RW50cnlbXSA9IFtdO1xuICBmaWx0ZXJzOiBzdHJpbmdbXSA9IFtdO1xuICBmaWx0ZXJ0ZXJtOiBzdHJpbmc7XG4gIHZpc2libGVGaWx0ZXI6IElWaXNpYmxlRmlsdGVyID0ge3NlbGVjdDogdHJ1ZSwgaW5wdXQ6IHRydWV9O1xuXG4gIHNldCBoaXN0b3J5KGhpc3RvcnlPYmo6IERtc09iamVjdEhpc3RvcnlFbnRyeVtdKSB7XG4gICAgdGhpcy5faGlzdG9yeSA9IGhpc3RvcnlPYmo7XG4gIH1cblxuICBnZXQgaGlzdG9yeSgpOiBEbXNPYmplY3RIaXN0b3J5RW50cnlbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2hpc3Rvcnk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgcGFyYW1zKHA6IERtc1BhcmFtcykge1xuICAgIHRoaXMuX3BhcmFtcyA9IHA7XG4gICAgdGhpcy5mZXRjaEhpc3RvcnkocC5pZCwgcC50eXBlKTtcbiAgfVxuXG4gIGdldCBwYXJhbXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcmFtcztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZG1zU2VydmljZTogRG1zU2VydmljZSwgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgZXZlbnRTZXJ2aWNlOiBFdmVudFNlcnZpY2UsIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XG4gICAgdGhpcy5ldmVudFNlcnZpY2VcbiAgICAgIC5vbihFbmFpb0V2ZW50LkRNU19PQkpFQ1RfVVBEQVRFRCkucGlwZShcbiAgICAgICAgdW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgaWYgKGV2ZW50LmRhdGEgJiYgdGhpcy5wYXJhbXMuaWQgPT09IGV2ZW50LmRhdGEuaWQpIHtcbiAgICAgICAgICB0aGlzLnBhcmFtcyA9IHRoaXMucGFyYW1zO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHRvZ2dsZUZpbHRlcihmaWx0ZXIpIHtcbiAgICBjb25zdCBbdHlwZSwgaGFzRmlsdGVyXSA9IGZpbHRlcjtcbiAgICBpZiAoaGFzRmlsdGVyKSB7XG4gICAgICB0aGlzLmZpbHRlcnMgPSB0aGlzLmZpbHRlcnMuZmlsdGVyKHMgPT4gcyAhPT0gdHlwZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmlsdGVycy5wdXNoKHR5cGUpO1xuICAgIH1cbiAgICB0aGlzLmhpc3RvcnkgPSB0aGlzLmNvbXBsZXRlSGlzdG9yeS5maWx0ZXIoZW50cnkgPT4gdGhpcy5maWx0ZXJzLmluZGV4T2YoZW50cnkuZ3JvdXApID09PSAtMSk7XG4gIH1cblxuICB0cmFja0J5SW5kZXgoaW5kZXgsIGl0ZW0pIHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICBwcml2YXRlIGZldGNoSGlzdG9yeShpZDogc3RyaW5nLCB0eXBlPzogc3RyaW5nKSB7XG4gICAgdGhpcy5kbXNTZXJ2aWNlXG4gICAgICAuZ2V0SGlzdG9yeShpZCwgdHlwZSwgdHJ1ZSlcbiAgICAgIC5waXBlKG1hcCgocmVzOiBEbXNPYmplY3RIaXN0b3J5RW50cnlbXSkgPT4ge1xuICAgICAgICBjb25zdCByZXZlcnNlZFJlcyA9IHJlcy5yZXZlcnNlKCk7XG4gICAgICAgIHJldmVyc2VkUmVzLmZvckVhY2gocmVzID0+IHtcbiAgICAgICAgICByZXMudGl0bGUgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5vYmplY3QuaGlzdG9yeS5lbnRyeS50eXBlLicgKyByZXMudHlwZSArICcudGl0bGUnKTtcbiAgICAgICAgICByZXMuZGVzY3JpcHRpb24gPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCdlby5vYmplY3QuaGlzdG9yeS5lbnRyeS50eXBlLicgKyAocmVzLmludGVudCA/IHJlcy5pbnRlbnQgOiByZXMudHlwZSkgKyAnLmRlc2NyaXB0aW9uJyk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNvbXBsZXRlSGlzdG9yeSA9IHJldmVyc2VkUmVzO1xuICAgICAgICB0aGlzLmhpc3RvcnkgPSByZXZlcnNlZFJlcztcbiAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwib2JqZWN0LWhpc3RvcnlcIj5cblxuICA8ZW8taGlzdG9yeS1maWx0ZXIgW2ZpbHRlcnNdPVwiZmlsdGVyc1wiXG4gICAgICAgICAgICAgICAgICAgICBbaGlzdG9yeV09XCJoaXN0b3J5XCJcbiAgICAgICAgICAgICAgICAgICAgIFsodGVybSldPVwiZmlsdGVydGVybVwiXG4gICAgICAgICAgICAgICAgICAgICBbdmlzaWJsZUZpbHRlcl09XCJ2aXNpYmxlRmlsdGVyXCJcbiAgICAgICAgICAgICAgICAgICAgIChvblRvZ2dsZUZpbHRlcik9XCJ0b2dnbGVGaWx0ZXIoJGV2ZW50KVwiPlxuICA8L2VvLWhpc3RvcnktZmlsdGVyPlxuXG5cbiAgPG5nLXRlbXBsYXRlICNlbXB0eT5cbiAgICA8ZGl2IGNsYXNzPVwiaGlzdG9yeSBlbXB0eVwiIHRyYW5zbGF0ZT5lby50aW1lbGluZS5lbXB0eTwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxkaXYgY2xhc3M9XCJoaXN0b3J5IGVvLXRpbWVsaW5lXCIgW25nQ2xhc3NdPVwie3NpbmdsZTogaGlzdG9yeT8ubGVuZ3RoID09PSAxfVwiICpuZ0lmPVwiaGlzdG9yeT8ubGVuZ3RoOyBlbHNlIGVtcHR5XCI+XG5cbiAgICA8ZGl2IGNsYXNzPVwidGltZWxpbmUtZW50cnlcIiBbbmdDbGFzc109XCJ7dXNlcjogISFlbnRyeS51c2VyLCBjb21tZW50OiBlbnRyeS5jb21tZW50fVwiXG4gICAgICAgICAqbmdGb3I9XCJsZXQgZW50cnkgb2YgaGlzdG9yeSB8IGhpc3RvcnlGaWx0ZXI6IGZpbHRlcnRlcm07IHRyYWNrQnk6IHRyYWNrQnlJbmRleFwiPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwid2hlblwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZVwiPnt7ZW50cnkudGltZSB8IGxvY2FsZURhdGU6ICdlb1Nob3J0RGF0ZSd9fTwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGltZVwiPnt7ZW50cnkudGltZSB8IGxvY2FsZURhdGU6ICdlb1Nob3J0VGltZSd9fTwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibWFya2VyXCIgW25nQ2xhc3NdPVwie2JwbTogZW50cnkuZ3JvdXAgPT09ICdQUk9DRVNTJywgbW9kOiBlbnRyeS5ncm91cCA9PT0gJ01PRElGSUNBVElPTid9XCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwid2hhdFwiPlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPjxzcGFuPnt7ZW50cnkudGl0bGV9fTwvc3Bhbj5cbiAgICAgICAgICA8YSBjbGFzcz1cInZlcnNpb25cIiBbcm91dGVyTGlua109XCInL3ZlcnNpb25zLycgKyBwYXJhbXMuaWRcIiBbcXVlcnlQYXJhbXNdPVwie3R5cGU6IHBhcmFtcy50eXBlLCB2ZXJzaW9uOiBlbnRyeS52ZXJzaW9ufVwiPlxuICAgICAgICAgICAgPHNwYW4+e3snZW8ub2JqZWN0Lmhpc3RvcnkudmVyc2lvbicgfCB0cmFuc2xhdGV9fSB7e2VudHJ5LnZlcnNpb259fTwvc3Bhbj5cbiAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzY3JpcHRpb25cIj57e2VudHJ5LmRlc2NyaXB0aW9ufX08L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbW1lbnRcIj4mcXVvdDt7e2VudHJ5LmNvbW1lbnR9fSZxdW90OzwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtZXRhXCI+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJlbnRyeS51c2VyLnR5cGUgPT09ICdzZXJ2ZXJ1c2VyJzsgZWxzZSB1c2VyXCI+e3tlbnRyeS51c2VyLnRpdGxlfX08L3NwYW4+XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICN1c2VyPlxuICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwie2luYWN0aXZlOiAhZW50cnkudXNlci5hY3RpdmV9XCI+e3tlbnRyeS51c2VyLmxhc3RuYW1lfX0sIHt7ZW50cnkudXNlci5maXJzdG5hbWV9fSAoe3tlbnRyeS51c2VyLm5hbWV9fSk8L3NwYW4+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJwbS1tZXRhXCIgKm5nSWY9XCJlbnRyeS5wYXJhbWV0ZXI/LnR5cGUgPT09ICdicG0nXCI+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJlbnRyeS5wYXJhbWV0ZXIucHJvY2Vzc05hbWVcIj5cbiAgICAgICAgICA8c3BhbiB0cmFuc2xhdGU+ZW8ub2JqZWN0Lmhpc3Rvcnkud29ya2Zsb3dwcm9jZXNzPC9zcGFuPlxuICAgICAgICAgIDxzcGFuPid7e2VudHJ5LnBhcmFtZXRlci5wcm9jZXNzTmFtZX19Jzwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZW50cnkucGFyYW1ldGVyLmFjdGl2aXR5TmFtZVwiPlxuICAgICAgICAgIDxzcGFuIHRyYW5zbGF0ZT5lby5vYmplY3QuaGlzdG9yeS5hY3Rpdml0eTwvc3Bhbj5cbiAgICAgICAgICA8c3Bhbj4ne3tlbnRyeS5wYXJhbWV0ZXIuYWN0aXZpdHlOYW1lfX0nPC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|