@provoly/dashboard 0.14.5 → 0.14.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/admin/admin.module.d.ts +2 -1
- package/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.d.ts +5 -2
- package/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.d.ts +7 -3
- package/admin/i18n/en.translations.d.ts +15 -0
- package/admin/i18n/fr.translations.d.ts +15 -0
- package/esm2022/admin/admin.module.mjs +8 -4
- package/esm2022/admin/components/admin-classes/admin-classes-form/admin-classes-form.component.mjs +3 -3
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +19 -14
- package/esm2022/admin/components/admin-dataset/shared/admin-form-dataset/admin-form-dataset.component.mjs +3 -5
- package/esm2022/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.mjs +23 -12
- package/esm2022/admin/i18n/en.translations.mjs +17 -2
- package/esm2022/admin/i18n/fr.translations.mjs +19 -4
- package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +4 -3
- package/esm2022/import/components/import.component.mjs +12 -5
- package/esm2022/import/i18n/en.translations.mjs +3 -2
- package/esm2022/import/i18n/fr.translations.mjs +3 -2
- package/esm2022/import/import.module.mjs +7 -4
- package/esm2022/import/store/import.actions.mjs +1 -1
- package/esm2022/import/store/import.effects.mjs +2 -2
- package/esm2022/import/store/import.service.mjs +3 -2
- package/esm2022/lib/core/components/translate-id/translate-id.pipe.mjs +9 -9
- package/esm2022/lib/core/i18n/en.translations.mjs +2 -1
- package/esm2022/lib/core/i18n/fr.translations.mjs +2 -1
- package/esm2022/lib/core/model/admin-api.model.mjs +66 -14
- package/esm2022/lib/core/model/widget-map-manifest.interface.mjs +1 -1
- package/esm2022/lib/core/store/field/field.interface.mjs +10 -1
- package/esm2022/lib/core/symbol/symbol.service.mjs +7 -3
- package/esm2022/lib/core/toolbox/toolbox-manifest.service.mjs +17 -1
- package/esm2022/lib/core/toolbox/toolbox-menu.service.mjs +2 -1
- package/esm2022/lib/dashboard/components/dashboard.component.mjs +5 -5
- package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +9 -3
- package/esm2022/pipeline/components/pipeline-list/pipeline-list.component.mjs +25 -13
- package/esm2022/pipeline/pipeline.module.mjs +8 -4
- package/esm2022/supervision/store/supervision.reducer.mjs +2 -7
- package/esm2022/widgets/widget-map/component/widget-map-layer.service.mjs +34 -3
- package/esm2022/widgets/widget-map/component/widget-map.component.mjs +68 -10
- package/esm2022/widgets/widget-map/i18n/en.translations.mjs +3 -2
- package/esm2022/widgets/widget-map/i18n/fr.translations.mjs +3 -2
- package/esm2022/widgets/widget-map/utils/widget-map.utils.mjs +14 -8
- package/fesm2022/provoly-dashboard-admin.mjs +79 -31
- package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-dataset.mjs +3 -2
- package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-import.mjs +23 -10
- package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-pipeline.mjs +27 -11
- package/fesm2022/provoly-dashboard-pipeline.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-supervision.mjs +1 -6
- package/fesm2022/provoly-dashboard-supervision.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +536 -440
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +174 -85
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/import/components/import.component.d.ts +1 -0
- package/import/i18n/en.translations.d.ts +1 -0
- package/import/i18n/fr.translations.d.ts +1 -0
- package/import/import.module.d.ts +2 -1
- package/import/store/import.actions.d.ts +2 -0
- package/import/store/import.service.d.ts +1 -1
- package/lib/core/components/translate-id/translate-id.pipe.d.ts +1 -1
- package/lib/core/i18n/en.translations.d.ts +1 -0
- package/lib/core/i18n/fr.translations.d.ts +1 -0
- package/lib/core/model/admin-api.model.d.ts +1 -0
- package/lib/core/model/widget-map-manifest.interface.d.ts +11 -1
- package/lib/core/store/field/field.interface.d.ts +1 -0
- package/lib/core/symbol/symbol.service.d.ts +1 -1
- package/lib/dashboard/components/dashboard.component.d.ts +1 -1
- package/lib/dashboard/components/widgets/header/widget-header.component.d.ts +3 -1
- package/package.json +36 -36
- package/pipeline/components/pipeline-list/pipeline-list.component.d.ts +1 -0
- package/pipeline/pipeline.module.d.ts +2 -1
- package/schematics/migration.json +5 -0
- package/schematics/ng-update/utils/replaceStrings.function.d.ts +7 -0
- package/schematics/ng-update/utils/replaceStrings.function.js +15 -0
- package/schematics/ng-update/utils/replaceStrings.function.js.map +1 -0
- package/schematics/ng-update/version-0-13/index.spec.js +11 -0
- package/schematics/ng-update/version-0-13/index.spec.js.map +1 -1
- package/schematics/ng-update/version-0-14/index.d.ts +2 -0
- package/schematics/ng-update/version-0-14/index.js +49 -0
- package/schematics/ng-update/version-0-14/index.js.map +1 -0
- package/schematics/ng-update/version-0-14/index.spec.d.ts +1 -0
- package/schematics/ng-update/version-0-14/index.spec.js +52 -0
- package/schematics/ng-update/version-0-14/index.spec.js.map +1 -0
- package/styles/components/_m-context-menu.scss +4 -0
- package/styles/components/_o-pry-admin-classes-customize.scss +48 -0
- package/widgets/widget-map/component/widget-map-layer.service.d.ts +6 -1
- package/widgets/widget-map/component/widget-map.component.d.ts +4 -2
- package/widgets/widget-map/i18n/en.translations.d.ts +1 -0
- package/widgets/widget-map/i18n/fr.translations.d.ts +1 -0
- package/widgets/widget-map/utils/widget-map.utils.d.ts +2 -5
|
@@ -10,10 +10,11 @@ import * as i1 from "@ngrx/store";
|
|
|
10
10
|
import * as i2 from "@angular/cdk/overlay";
|
|
11
11
|
import * as i3 from "@angular/common";
|
|
12
12
|
import * as i4 from "@provoly/dashboard";
|
|
13
|
-
import * as i5 from "
|
|
14
|
-
import * as i6 from "
|
|
15
|
-
import * as i7 from "
|
|
16
|
-
import * as i8 from "
|
|
13
|
+
import * as i5 from "@angular/cdk/a11y";
|
|
14
|
+
import * as i6 from "../pipeline-editor/pipeline-editor.component";
|
|
15
|
+
import * as i7 from "../../style/css.component";
|
|
16
|
+
import * as i8 from "../pipeline-details/pipeline-details.component";
|
|
17
|
+
import * as i9 from "@provoly/dashboard/components/sinceDate";
|
|
17
18
|
export class PryPipelineListComponent {
|
|
18
19
|
constructor(store, overlay, viewContainerRef) {
|
|
19
20
|
this.store = store;
|
|
@@ -44,13 +45,17 @@ export class PryPipelineListComponent {
|
|
|
44
45
|
this.toggleActions.nativeElement.focus();
|
|
45
46
|
}, 10);
|
|
46
47
|
const modal = document.querySelector('div.modal');
|
|
47
|
-
// const displayedElement = document.querySelector('div.pipelineList-dropdown__actions') as HTMLDivElement;
|
|
48
|
-
const displayedElement = document.querySelector('.m-context-menu');
|
|
49
48
|
if (!!modal) {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
49
|
+
if ($event.pointerType === 'mouse') {
|
|
50
|
+
modal.style.left = $event.clientX - 150 + 'px';
|
|
51
|
+
modal.style.top = $event.clientY - 10 + 'px';
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
const toggleMenuButton = document.querySelector('#' + $event.target.id);
|
|
55
|
+
const rect = toggleMenuButton?.getBoundingClientRect();
|
|
56
|
+
modal.style.left = (rect?.left ?? 0) - (modal?.clientWidth ?? 0) + 'px';
|
|
57
|
+
modal.style.top = (rect?.top ?? 0) + 'px';
|
|
58
|
+
}
|
|
54
59
|
}
|
|
55
60
|
}
|
|
56
61
|
else {
|
|
@@ -134,12 +139,19 @@ export class PryPipelineListComponent {
|
|
|
134
139
|
focusElement(element) {
|
|
135
140
|
element.focus();
|
|
136
141
|
}
|
|
142
|
+
navigateContextMenu(button, nextButton) {
|
|
143
|
+
if (!nextButton.disabled) {
|
|
144
|
+
nextButton.tabIndex = 0;
|
|
145
|
+
nextButton.focus();
|
|
146
|
+
button.tabIndex = -1;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
137
149
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryPipelineListComponent, deps: [{ token: i1.Store }, { token: i2.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
138
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryPipelineListComponent, selector: "pry-pipeline-list", viewQueries: [{ propertyName: "templateDropdown", first: true, predicate: ["dropdown"], descendants: true, read: TemplateRef }, { propertyName: "templateModal", first: true, predicate: ["templateModal"], descendants: true, read: TemplateRef }, { propertyName: "actions", first: true, predicate: ["actions"], descendants: true }, { propertyName: "toggleActions", first: true, predicate: ["toggleActions"], descendants: true }, { propertyName: "cancel", first: true, predicate: ["cancel"], descendants: true }, { propertyName: "cross", first: true, predicate: ["cross"], descendants: true }, { propertyName: "confirm", first: true, predicate: ["confirm"], descendants: true }], ngImport: i0, template: "<pry-pipeline-css></pry-pipeline-css>\n<div class=\"o-pipeline-layout\" [ngSwitch]=\"selectedMode\">\n <ng-container *ngSwitchCase=\"ViewMode.CATALOG\">\n <div class=\"o-pipeline-layout__toolbox\">\n <button class=\"a-btn a-btn--primary a-btn--icon-text\" type=\"button\" (click)=\"create()\">\n {{ '@pry.pipeline.create' | i18n }}\n </button>\n </div>\n <h1 class=\"a-h1\">{{ '@pry.pipeline.transformation_catalog' | i18n }}</h1>\n <table\n class=\"a-table\"\n prySortTable\n prySortActive=\"date\"\n prySortDirection=\"desc\"\n (prySortChange)=\"sortActive = $event.active; sortDirection = $event.direction\"\n >\n <caption>\n {{\n '@pry.pipeline.transformation_catalog' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th prySortHeader=\"state\">{{ '@pry.pipeline.details.state' | i18n }}</th>\n <th prySortHeader=\"title\">{{ '@pry.pipeline.details.title' | i18n }}</th>\n <th prySortHeader=\"date\">{{ '@pry.pipeline.details.last_execution_date' | i18n }}</th>\n <th>\n <div class=\"u-display-flex -align-center -column\">\n {{ '@pry.pipeline.details.execution_status' | i18n }}\n </div>\n </th>\n <th>{{ '@pry.pipeline.action' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let transfo of transformation$ | async | prySortData: sortActive : sortDirection; let index = index\"\n >\n <td>\n <div *ngIf=\"transfo.active; else deactivated\" class=\"container-state\">\n <pry-icon [height]=\"15\" [width]=\"15\" iconSvg=\"check\" class=\"check\"></pry-icon>\n <span> {{ '@pry.pipeline.activated' | i18n }}</span>\n </div>\n <ng-template #deactivated>\n <div class=\"container-state\">\n <pry-icon [height]=\"15\" [width]=\"15\" iconSvg=\"stop\" class=\"stop\"></pry-icon>\n <span>{{ '@pry.pipeline.deactivated' | i18n }}</span>\n </div>\n </ng-template>\n </td>\n <td>{{ transfo.title }}</td>\n <td>{{ transfo?.lastJobExecution?.executionDate | sinceDate }}</td>\n <td *ngIf=\"transfo.lastJobExecution\" class=\"u-display-flex -align-center -column\">\n <div [ngSwitch]=\"transfo.lastJobExecution.status\">\n <ng-container *ngSwitchCase=\"ExecutionState.TERMINATED\">\n <pry-icon iconSvg=\"check\" [height]=\"25\" [width]=\"25\" class=\"check\"></pry-icon>\n </ng-container>\n <ng-container *ngSwitchCase=\"ExecutionState.STARTED\">\n <pry-icon iconSvg=\"synchro\" [height]=\"25\" [width]=\"25\" class=\"warning\"></pry-icon>\n </ng-container>\n <ng-container *ngSwitchCase=\"ExecutionState.ERROR\">\n <pry-icon iconSvg=\"close\" [height]=\"25\" [width]=\"25\" class=\"danger\"></pry-icon>\n </ng-container>\n </div>\n </td>\n <td>\n <button type=\"button\" class=\"a-btn a-btn--secondary -size-sm\" (click)=\"consult(transfo)\">\n {{ '@pry.pipeline.consult' | i18n }}\n <span class=\"u-visually-hidden\"> {{ transfo.title }} </span>\n </button>\n </td>\n <td>\n <button\n class=\"a-btn a-btn--more\"\n type=\"button\"\n id=\"actions\"\n #actions\n aria-controls=\"panelActions\"\n [attr.aria-expanded]=\"!!this.overlayRef\"\n (click)=\"toggleMoreDropdown($event, index, transfo)\"\n >\n <pry-icon iconSvg=\"more_horiz\"></pry-icon>\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n </ng-container>\n <ng-container *ngSwitchCase=\"ViewMode.CONSULT\">\n <ng-container *ngIf=\"selectedTransfo\">\n <pry-pipeline-details\n [pipeline]=\"selectedTransfo\"\n (goToList)=\"list()\"\n (goToEditor)=\"savePipeline($event)\"\n (executeConfirm)=\"toggleExecuteConfirm()\"\n ></pry-pipeline-details>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"ViewMode.CREATION\">\n <pry-pipeline-details (goToList)=\"list()\" (goToEditor)=\"savePipeline($event)\"></pry-pipeline-details>\n </ng-container>\n <ng-container *ngSwitchCase=\"ViewMode.EDITOR\">\n <pry-pipeline-editor [pipeline]=\"selectedTransfo\" (goToConsult)=\"consult($event)\"></pry-pipeline-editor>\n </ng-container>\n</div>\n<ng-template #noExecution>\n <div class=\"container-state\">\n <span>{{ '@pry.pipeline.ko' | i18n }}</span>\n <pry-icon [height]=\"15\" [width]=\"15\" iconSvg=\"danger\" class=\"danger\"></pry-icon>\n </div>\n</ng-template>\n\n<ng-template #dropdown>\n <div\n class=\"m-context-menu\"\n id=\"panelActions\"\n *ngIf=\"selectedTransfo\"\n (click)=\"$event.stopPropagation()\"\n (keydown.escape)=\"closeDropdown()\"\n >\n <ul class=\"m-context-menu__list\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"dialog panelActions\">\n <li class=\"m-context-menu__list__item\" role=\"none\" tabindex=\"-1\">\n <button\n type=\"button\"\n #toggleActions\n class=\"a-btn\"\n role=\"menuitem\"\n (click)=\"toggleState(selectedTransfo)\"\n (keydown.tab)=\"disableSelectedTranso()\"\n >\n <span>{{ (selectedTransfo.active ? '@pry.pipeline.deactivate' : '@pry.pipeline.activate') | i18n }}</span>\n </button>\n </li>\n <li class=\"m-context-menu__list__item\" role=\"none\" tabindex=\"-1\">\n <button\n type=\"button\"\n role=\"menuitem\"\n id=\"execute\"\n class=\"a-btn\"\n (keydown.tab)=\"closeDropdown()\"\n [disabled]=\"selectedTransfo.active === false\"\n (click)=\"toggleExecuteConfirm()\"\n >\n <span>{{ '@pry.pipeline.execute' | i18n }}</span>\n </button>\n </li>\n </ul>\n </div>\n</ng-template>\n<ng-template #templateModal>\n <div\n class=\"o-modal\"\n *ngIf=\"selectedTransfo\"\n (keydown.escape)=\"toggleExecuteConfirm()\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog confirm delete presentation\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ '@pry.widget.modalTitle' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button\n class=\"a-btn a-btn--icon-only\"\n #cross\n (keydown.shift.tab)=\"focusElement(this.confirm)\"\n (click)=\"cancelRemoveConfirm()\"\n >\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <div class=\"m-btn-group\">\n <button type=\"button\" #cancel (click)=\"cancelRemoveConfirm()\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button\n type=\"submit\"\n #confirm\n id=\"confirm\"\n class=\"a-btn a-btn--primary\"\n (click)=\"confirmExecution(selectedTransfo)\"\n (keydown.tab)=\"focusElement(this.cross)\"\n >\n {{ '@pry.toolbox.manifest.validate' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i4.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i4.PrySortHeaderComponent, selector: "th[prySortHeader]", inputs: ["prySortHeader"], outputs: ["sortChange"] }, { kind: "directive", type: i4.PrySortHeaderDirective, selector: "[prySortHeader]" }, { kind: "directive", type: i4.PrySortTableDirective, selector: "[prySortTable]", inputs: ["prySortActive", "prySortDirection"], outputs: ["prySortChange"] }, { kind: "component", type: i5.PryPipelineEditorComponent, selector: "pry-pipeline-editor", inputs: ["pipeline"], outputs: ["goToConsult"] }, { kind: "component", type: i6.PryPipelineCssComponent, selector: "pry-pipeline-css" }, { kind: "component", type: i7.PryPipelineDetailsComponent, selector: "pry-pipeline-details", inputs: ["pipeline"], outputs: ["goToList", "goToConsult", "goToEditor", "executeConfirm"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }, { kind: "pipe", type: i4.PrySortDataPipe, name: "prySortData" }, { kind: "pipe", type: i8.PrySinceDatePipe, name: "sinceDate" }] }); }
|
|
150
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryPipelineListComponent, selector: "pry-pipeline-list", viewQueries: [{ propertyName: "templateDropdown", first: true, predicate: ["dropdown"], descendants: true, read: TemplateRef }, { propertyName: "templateModal", first: true, predicate: ["templateModal"], descendants: true, read: TemplateRef }, { propertyName: "actions", first: true, predicate: ["actions"], descendants: true }, { propertyName: "toggleActions", first: true, predicate: ["toggleActions"], descendants: true }, { propertyName: "cancel", first: true, predicate: ["cancel"], descendants: true }, { propertyName: "cross", first: true, predicate: ["cross"], descendants: true }, { propertyName: "confirm", first: true, predicate: ["confirm"], descendants: true }], ngImport: i0, template: "<pry-pipeline-css></pry-pipeline-css>\n<div class=\"o-pipeline-layout\" [ngSwitch]=\"selectedMode\">\n <ng-container *ngSwitchCase=\"ViewMode.CATALOG\">\n <div class=\"o-pipeline-layout__toolbox\">\n <button class=\"a-btn a-btn--primary a-btn--icon-text\" type=\"button\" (click)=\"create()\">\n {{ '@pry.pipeline.create' | i18n }}\n </button>\n </div>\n <h1 class=\"a-h1\">{{ '@pry.pipeline.transformation_catalog' | i18n }}</h1>\n <table\n class=\"a-table\"\n prySortTable\n prySortActive=\"date\"\n prySortDirection=\"desc\"\n (prySortChange)=\"sortActive = $event.active; sortDirection = $event.direction\"\n >\n <caption>\n {{\n '@pry.pipeline.transformation_catalog' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th prySortHeader=\"state\">{{ '@pry.pipeline.details.state' | i18n }}</th>\n <th prySortHeader=\"title\">{{ '@pry.pipeline.details.title' | i18n }}</th>\n <th prySortHeader=\"date\">{{ '@pry.pipeline.details.last_execution_date' | i18n }}</th>\n <th>\n <div class=\"u-display-flex -align-center -column\">\n {{ '@pry.pipeline.details.execution_status' | i18n }}\n </div>\n </th>\n <th>{{ '@pry.pipeline.action' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let transfo of transformation$ | async | prySortData : sortActive : sortDirection; let index = index\"\n >\n <td>\n <div *ngIf=\"transfo.active; else deactivated\" class=\"container-state\">\n <pry-icon [height]=\"15\" [width]=\"15\" iconSvg=\"check\" class=\"check\"></pry-icon>\n <span> {{ '@pry.pipeline.activated' | i18n }}</span>\n </div>\n <ng-template #deactivated>\n <div class=\"container-state\">\n <pry-icon [height]=\"15\" [width]=\"15\" iconSvg=\"stop\" class=\"stop\"></pry-icon>\n <span>{{ '@pry.pipeline.deactivated' | i18n }}</span>\n </div>\n </ng-template>\n </td>\n <td>{{ transfo.title }}</td>\n <td>{{ transfo?.lastJobExecution?.executionDate | sinceDate }}</td>\n <td *ngIf=\"transfo.lastJobExecution\" class=\"u-display-flex -align-center -column\">\n <div [ngSwitch]=\"transfo.lastJobExecution.status\">\n <ng-container *ngSwitchCase=\"ExecutionState.TERMINATED\">\n <pry-icon iconSvg=\"check\" [height]=\"25\" [width]=\"25\" class=\"check\"></pry-icon>\n </ng-container>\n <ng-container *ngSwitchCase=\"ExecutionState.STARTED\">\n <pry-icon iconSvg=\"synchro\" [height]=\"25\" [width]=\"25\" class=\"warning\"></pry-icon>\n </ng-container>\n <ng-container *ngSwitchCase=\"ExecutionState.ERROR\">\n <pry-icon iconSvg=\"close\" [height]=\"25\" [width]=\"25\" class=\"danger\"></pry-icon>\n </ng-container>\n </div>\n </td>\n <td>\n <button type=\"button\" class=\"a-btn a-btn--secondary -size-sm\" (click)=\"consult(transfo)\">\n {{ '@pry.pipeline.consult' | i18n }}\n <span class=\"u-visually-hidden\"> {{ transfo.title }} </span>\n </button>\n </td>\n <td>\n <button\n class=\"a-btn a-btn--more\"\n type=\"button\"\n id=\"actions-{{ index }}\"\n #actions\n aria-controls=\"panelActions\"\n [attr.aria-expanded]=\"!!overlayRef\"\n (click)=\"toggleMoreDropdown($event, index, transfo)\"\n >\n <pry-icon iconSvg=\"more_horiz\"></pry-icon>\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n </ng-container>\n <ng-container *ngSwitchCase=\"ViewMode.CONSULT\">\n <ng-container *ngIf=\"selectedTransfo\">\n <pry-pipeline-details\n [pipeline]=\"selectedTransfo\"\n (goToList)=\"list()\"\n (goToEditor)=\"savePipeline($event)\"\n (executeConfirm)=\"toggleExecuteConfirm()\"\n ></pry-pipeline-details>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"ViewMode.CREATION\">\n <pry-pipeline-details (goToList)=\"list()\" (goToEditor)=\"savePipeline($event)\"></pry-pipeline-details>\n </ng-container>\n <ng-container *ngSwitchCase=\"ViewMode.EDITOR\">\n <pry-pipeline-editor [pipeline]=\"selectedTransfo\" (goToConsult)=\"consult($event)\"></pry-pipeline-editor>\n </ng-container>\n</div>\n<ng-template #noExecution>\n <div class=\"container-state\">\n <span>{{ '@pry.pipeline.ko' | i18n }}</span>\n <pry-icon [height]=\"15\" [width]=\"15\" iconSvg=\"danger\" class=\"danger\"></pry-icon>\n </div>\n</ng-template>\n\n<ng-template #dropdown>\n <div\n class=\"m-context-menu\"\n id=\"panelActions\"\n *ngIf=\"selectedTransfo\"\n (click)=\"$event.stopPropagation()\"\n (keydown.escape)=\"closeDropdown()\"\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"true\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog panelActions\"\n >\n <ul class=\"m-context-menu__list\">\n <li class=\"m-context-menu__list__item\" role=\"none\">\n <button\n #toggleActions\n type=\"button\"\n class=\"a-btn\"\n role=\"menuitem\"\n (click)=\"toggleState(selectedTransfo)\"\n (keydown.arrowDown)=\"navigateContextMenu(activate, execute)\"\n (keydown.arrowUp)=\"navigateContextMenu(activate, execute)\"\n tabindex=\"0\"\n #activate\n >\n <span>{{ (selectedTransfo.active ? '@pry.pipeline.deactivate' : '@pry.pipeline.activate') | i18n }}</span>\n </button>\n </li>\n <li class=\"m-context-menu__list__item\" role=\"none\">\n <button\n #execute\n type=\"button\"\n role=\"menuitem\"\n id=\"execute\"\n class=\"a-btn\"\n tabindex=\"-1\"\n (keydown.arrowDown)=\"navigateContextMenu(execute, activate)\"\n (keydown.arrowUp)=\"navigateContextMenu(execute, activate)\"\n [disabled]=\"!selectedTransfo.active\"\n (click)=\"toggleExecuteConfirm()\"\n >\n <span>{{ '@pry.pipeline.execute' | i18n }}</span>\n </button>\n </li>\n </ul>\n </div>\n</ng-template>\n<ng-template #templateModal>\n <div\n class=\"o-modal\"\n *ngIf=\"selectedTransfo\"\n (keydown.escape)=\"toggleExecuteConfirm()\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog confirm delete presentation\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ '@pry.widget.modalTitle' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button\n class=\"a-btn a-btn--icon-only\"\n #cross\n (keydown.shift.tab)=\"focusElement(confirm)\"\n (click)=\"cancelRemoveConfirm()\"\n >\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <div class=\"m-btn-group\">\n <button type=\"button\" #cancel (click)=\"cancelRemoveConfirm()\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button\n type=\"submit\"\n #confirm\n id=\"confirm\"\n class=\"a-btn a-btn--primary\"\n (click)=\"confirmExecution(selectedTransfo)\"\n (keydown.tab)=\"focusElement(cross)\"\n >\n {{ '@pry.toolbox.manifest.validate' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i4.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i4.PrySortHeaderComponent, selector: "th[prySortHeader]", inputs: ["prySortHeader"], outputs: ["sortChange"] }, { kind: "directive", type: i4.PrySortHeaderDirective, selector: "[prySortHeader]" }, { kind: "directive", type: i4.PrySortTableDirective, selector: "[prySortTable]", inputs: ["prySortActive", "prySortDirection"], outputs: ["prySortChange"] }, { kind: "directive", type: i5.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: i6.PryPipelineEditorComponent, selector: "pry-pipeline-editor", inputs: ["pipeline"], outputs: ["goToConsult"] }, { kind: "component", type: i7.PryPipelineCssComponent, selector: "pry-pipeline-css" }, { kind: "component", type: i8.PryPipelineDetailsComponent, selector: "pry-pipeline-details", inputs: ["pipeline"], outputs: ["goToList", "goToConsult", "goToEditor", "executeConfirm"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }, { kind: "pipe", type: i4.PrySortDataPipe, name: "prySortData" }, { kind: "pipe", type: i9.PrySinceDatePipe, name: "sinceDate" }] }); }
|
|
139
151
|
}
|
|
140
152
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryPipelineListComponent, decorators: [{
|
|
141
153
|
type: Component,
|
|
142
|
-
args: [{ selector: 'pry-pipeline-list', template: "<pry-pipeline-css></pry-pipeline-css>\n<div class=\"o-pipeline-layout\" [ngSwitch]=\"selectedMode\">\n <ng-container *ngSwitchCase=\"ViewMode.CATALOG\">\n <div class=\"o-pipeline-layout__toolbox\">\n <button class=\"a-btn a-btn--primary a-btn--icon-text\" type=\"button\" (click)=\"create()\">\n {{ '@pry.pipeline.create' | i18n }}\n </button>\n </div>\n <h1 class=\"a-h1\">{{ '@pry.pipeline.transformation_catalog' | i18n }}</h1>\n <table\n class=\"a-table\"\n prySortTable\n prySortActive=\"date\"\n prySortDirection=\"desc\"\n (prySortChange)=\"sortActive = $event.active; sortDirection = $event.direction\"\n >\n <caption>\n {{\n '@pry.pipeline.transformation_catalog' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th prySortHeader=\"state\">{{ '@pry.pipeline.details.state' | i18n }}</th>\n <th prySortHeader=\"title\">{{ '@pry.pipeline.details.title' | i18n }}</th>\n <th prySortHeader=\"date\">{{ '@pry.pipeline.details.last_execution_date' | i18n }}</th>\n <th>\n <div class=\"u-display-flex -align-center -column\">\n {{ '@pry.pipeline.details.execution_status' | i18n }}\n </div>\n </th>\n <th>{{ '@pry.pipeline.action' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let transfo of transformation$ | async | prySortData: sortActive : sortDirection; let index = index\"\n >\n <td>\n <div *ngIf=\"transfo.active; else deactivated\" class=\"container-state\">\n <pry-icon [height]=\"15\" [width]=\"15\" iconSvg=\"check\" class=\"check\"></pry-icon>\n <span> {{ '@pry.pipeline.activated' | i18n }}</span>\n </div>\n <ng-template #deactivated>\n <div class=\"container-state\">\n <pry-icon [height]=\"15\" [width]=\"15\" iconSvg=\"stop\" class=\"stop\"></pry-icon>\n <span>{{ '@pry.pipeline.deactivated' | i18n }}</span>\n </div>\n </ng-template>\n </td>\n <td>{{ transfo.title }}</td>\n <td>{{ transfo?.lastJobExecution?.executionDate | sinceDate }}</td>\n <td *ngIf=\"transfo.lastJobExecution\" class=\"u-display-flex -align-center -column\">\n <div [ngSwitch]=\"transfo.lastJobExecution.status\">\n <ng-container *ngSwitchCase=\"ExecutionState.TERMINATED\">\n <pry-icon iconSvg=\"check\" [height]=\"25\" [width]=\"25\" class=\"check\"></pry-icon>\n </ng-container>\n <ng-container *ngSwitchCase=\"ExecutionState.STARTED\">\n <pry-icon iconSvg=\"synchro\" [height]=\"25\" [width]=\"25\" class=\"warning\"></pry-icon>\n </ng-container>\n <ng-container *ngSwitchCase=\"ExecutionState.ERROR\">\n <pry-icon iconSvg=\"close\" [height]=\"25\" [width]=\"25\" class=\"danger\"></pry-icon>\n </ng-container>\n </div>\n </td>\n <td>\n <button type=\"button\" class=\"a-btn a-btn--secondary -size-sm\" (click)=\"consult(transfo)\">\n {{ '@pry.pipeline.consult' | i18n }}\n <span class=\"u-visually-hidden\"> {{ transfo.title }} </span>\n </button>\n </td>\n <td>\n <button\n class=\"a-btn a-btn--more\"\n type=\"button\"\n id=\"actions\"\n #actions\n aria-controls=\"panelActions\"\n [attr.aria-expanded]=\"!!
|
|
154
|
+
args: [{ selector: 'pry-pipeline-list', template: "<pry-pipeline-css></pry-pipeline-css>\n<div class=\"o-pipeline-layout\" [ngSwitch]=\"selectedMode\">\n <ng-container *ngSwitchCase=\"ViewMode.CATALOG\">\n <div class=\"o-pipeline-layout__toolbox\">\n <button class=\"a-btn a-btn--primary a-btn--icon-text\" type=\"button\" (click)=\"create()\">\n {{ '@pry.pipeline.create' | i18n }}\n </button>\n </div>\n <h1 class=\"a-h1\">{{ '@pry.pipeline.transformation_catalog' | i18n }}</h1>\n <table\n class=\"a-table\"\n prySortTable\n prySortActive=\"date\"\n prySortDirection=\"desc\"\n (prySortChange)=\"sortActive = $event.active; sortDirection = $event.direction\"\n >\n <caption>\n {{\n '@pry.pipeline.transformation_catalog' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th prySortHeader=\"state\">{{ '@pry.pipeline.details.state' | i18n }}</th>\n <th prySortHeader=\"title\">{{ '@pry.pipeline.details.title' | i18n }}</th>\n <th prySortHeader=\"date\">{{ '@pry.pipeline.details.last_execution_date' | i18n }}</th>\n <th>\n <div class=\"u-display-flex -align-center -column\">\n {{ '@pry.pipeline.details.execution_status' | i18n }}\n </div>\n </th>\n <th>{{ '@pry.pipeline.action' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let transfo of transformation$ | async | prySortData : sortActive : sortDirection; let index = index\"\n >\n <td>\n <div *ngIf=\"transfo.active; else deactivated\" class=\"container-state\">\n <pry-icon [height]=\"15\" [width]=\"15\" iconSvg=\"check\" class=\"check\"></pry-icon>\n <span> {{ '@pry.pipeline.activated' | i18n }}</span>\n </div>\n <ng-template #deactivated>\n <div class=\"container-state\">\n <pry-icon [height]=\"15\" [width]=\"15\" iconSvg=\"stop\" class=\"stop\"></pry-icon>\n <span>{{ '@pry.pipeline.deactivated' | i18n }}</span>\n </div>\n </ng-template>\n </td>\n <td>{{ transfo.title }}</td>\n <td>{{ transfo?.lastJobExecution?.executionDate | sinceDate }}</td>\n <td *ngIf=\"transfo.lastJobExecution\" class=\"u-display-flex -align-center -column\">\n <div [ngSwitch]=\"transfo.lastJobExecution.status\">\n <ng-container *ngSwitchCase=\"ExecutionState.TERMINATED\">\n <pry-icon iconSvg=\"check\" [height]=\"25\" [width]=\"25\" class=\"check\"></pry-icon>\n </ng-container>\n <ng-container *ngSwitchCase=\"ExecutionState.STARTED\">\n <pry-icon iconSvg=\"synchro\" [height]=\"25\" [width]=\"25\" class=\"warning\"></pry-icon>\n </ng-container>\n <ng-container *ngSwitchCase=\"ExecutionState.ERROR\">\n <pry-icon iconSvg=\"close\" [height]=\"25\" [width]=\"25\" class=\"danger\"></pry-icon>\n </ng-container>\n </div>\n </td>\n <td>\n <button type=\"button\" class=\"a-btn a-btn--secondary -size-sm\" (click)=\"consult(transfo)\">\n {{ '@pry.pipeline.consult' | i18n }}\n <span class=\"u-visually-hidden\"> {{ transfo.title }} </span>\n </button>\n </td>\n <td>\n <button\n class=\"a-btn a-btn--more\"\n type=\"button\"\n id=\"actions-{{ index }}\"\n #actions\n aria-controls=\"panelActions\"\n [attr.aria-expanded]=\"!!overlayRef\"\n (click)=\"toggleMoreDropdown($event, index, transfo)\"\n >\n <pry-icon iconSvg=\"more_horiz\"></pry-icon>\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n </ng-container>\n <ng-container *ngSwitchCase=\"ViewMode.CONSULT\">\n <ng-container *ngIf=\"selectedTransfo\">\n <pry-pipeline-details\n [pipeline]=\"selectedTransfo\"\n (goToList)=\"list()\"\n (goToEditor)=\"savePipeline($event)\"\n (executeConfirm)=\"toggleExecuteConfirm()\"\n ></pry-pipeline-details>\n </ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"ViewMode.CREATION\">\n <pry-pipeline-details (goToList)=\"list()\" (goToEditor)=\"savePipeline($event)\"></pry-pipeline-details>\n </ng-container>\n <ng-container *ngSwitchCase=\"ViewMode.EDITOR\">\n <pry-pipeline-editor [pipeline]=\"selectedTransfo\" (goToConsult)=\"consult($event)\"></pry-pipeline-editor>\n </ng-container>\n</div>\n<ng-template #noExecution>\n <div class=\"container-state\">\n <span>{{ '@pry.pipeline.ko' | i18n }}</span>\n <pry-icon [height]=\"15\" [width]=\"15\" iconSvg=\"danger\" class=\"danger\"></pry-icon>\n </div>\n</ng-template>\n\n<ng-template #dropdown>\n <div\n class=\"m-context-menu\"\n id=\"panelActions\"\n *ngIf=\"selectedTransfo\"\n (click)=\"$event.stopPropagation()\"\n (keydown.escape)=\"closeDropdown()\"\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"true\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog panelActions\"\n >\n <ul class=\"m-context-menu__list\">\n <li class=\"m-context-menu__list__item\" role=\"none\">\n <button\n #toggleActions\n type=\"button\"\n class=\"a-btn\"\n role=\"menuitem\"\n (click)=\"toggleState(selectedTransfo)\"\n (keydown.arrowDown)=\"navigateContextMenu(activate, execute)\"\n (keydown.arrowUp)=\"navigateContextMenu(activate, execute)\"\n tabindex=\"0\"\n #activate\n >\n <span>{{ (selectedTransfo.active ? '@pry.pipeline.deactivate' : '@pry.pipeline.activate') | i18n }}</span>\n </button>\n </li>\n <li class=\"m-context-menu__list__item\" role=\"none\">\n <button\n #execute\n type=\"button\"\n role=\"menuitem\"\n id=\"execute\"\n class=\"a-btn\"\n tabindex=\"-1\"\n (keydown.arrowDown)=\"navigateContextMenu(execute, activate)\"\n (keydown.arrowUp)=\"navigateContextMenu(execute, activate)\"\n [disabled]=\"!selectedTransfo.active\"\n (click)=\"toggleExecuteConfirm()\"\n >\n <span>{{ '@pry.pipeline.execute' | i18n }}</span>\n </button>\n </li>\n </ul>\n </div>\n</ng-template>\n<ng-template #templateModal>\n <div\n class=\"o-modal\"\n *ngIf=\"selectedTransfo\"\n (keydown.escape)=\"toggleExecuteConfirm()\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog confirm delete presentation\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ '@pry.widget.modalTitle' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button\n class=\"a-btn a-btn--icon-only\"\n #cross\n (keydown.shift.tab)=\"focusElement(confirm)\"\n (click)=\"cancelRemoveConfirm()\"\n >\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <div class=\"m-btn-group\">\n <button type=\"button\" #cancel (click)=\"cancelRemoveConfirm()\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button\n type=\"submit\"\n #confirm\n id=\"confirm\"\n class=\"a-btn a-btn--primary\"\n (click)=\"confirmExecution(selectedTransfo)\"\n (keydown.tab)=\"focusElement(cross)\"\n >\n {{ '@pry.toolbox.manifest.validate' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n" }]
|
|
143
155
|
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.Overlay }, { type: i0.ViewContainerRef }]; }, propDecorators: { templateDropdown: [{
|
|
144
156
|
type: ViewChild,
|
|
145
157
|
args: ['dropdown', { read: TemplateRef }]
|
|
@@ -162,4 +174,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
|
162
174
|
type: ViewChild,
|
|
163
175
|
args: ['confirm']
|
|
164
176
|
}] } });
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9waXBlbGluZS9jb21wb25lbnRzL3BpcGVsaW5lLWxpc3QvcGlwZWxpbmUtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9waXBlbGluZS9jb21wb25lbnRzL3BpcGVsaW5lLWxpc3QvcGlwZWxpbmUtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsYUFBYSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQWMsV0FBVyxFQUFFLFNBQVMsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFFaEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBYyxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7Ozs7O0FBTW5GLE1BQU0sT0FBTyx3QkFBd0I7SUFrQm5DLFlBQW9CLEtBQVksRUFBVSxPQUFnQixFQUFVLGdCQUFrQztRQUFsRixVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUFVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFoQnRHLGVBQVUsR0FBSSxjQUFjLENBQUM7UUFDN0Isa0JBQWEsR0FBSSxNQUFNLENBQUM7UUFXeEIsaUJBQVksR0FBYSxRQUFRLENBQUMsT0FBTyxDQUFD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LFdBQVcsRUFBRTtnQkFDTyxhQUFhO3NCQUEvRCxTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBQzNCLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUztnQkFDUSxhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWU7Z0JBQ0wsTUFBTTtzQkFBMUIsU0FBUzt1QkFBQyxRQUFRO2dCQUNDLEtBQUs7c0JBQXhCLFNBQVM7dUJBQUMsT0FBTztnQkFDSSxPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBDb25maWdBY3Rpb25zLCBWaWV3TW9kZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQaXBlbGluZUFjdGlvbnMgfSBmcm9tICcuLi8uLi9zdG9yZS9waXBlbGluZS5hY3Rpb25zJztcbmltcG9ydCB7IFBpcGVsaW5lU2VsZWN0b3JzIH0gZnJvbSAnLi4vLi4vc3RvcmUvcGlwZWxpbmUuc2VsZWN0b3JzJztcbmltcG9ydCB7IEV4ZWN1dGlvblN0YXRlLCBQcnlUcmFuc2ZvIH0gZnJvbSAnLi4vcGlwZWxpbmUtZWRpdG9yL3BpcGVsaW5lLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1waXBlbGluZS1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3BpcGVsaW5lLWxpc3QuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFByeVBpcGVsaW5lTGlzdENvbXBvbmVudCB7XG4gIHRyYW5zZm9ybWF0aW9uJDogT2JzZXJ2YWJsZTxQcnlUcmFuc2ZvW10+O1xuICBzb3J0QWN0aXZlPyA9ICdjcmVhdGlvbkRhdGUnO1xuICBzb3J0RGlyZWN0aW9uPyA9ICdkZXNjJztcbiAgdG9nZ2xlSW5kZXg/OiBudW1iZXI7XG4gIHNlbGVjdGVkVHJhbnNmbz86IFByeVRyYW5zZm87XG4gIG92ZXJsYXlSZWY6IGFueTtcbiAgQFZpZXdDaGlsZCgnZHJvcGRvd24nLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pIHRlbXBsYXRlRHJvcGRvd24hOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAVmlld0NoaWxkKCd0ZW1wbGF0ZU1vZGFsJywgeyByZWFkOiBUZW1wbGF0ZVJlZiB9KSB0ZW1wbGF0ZU1vZGFsITogVGVtcGxhdGVSZWY8YW55PjtcbiAgQFZpZXdDaGlsZCgnYWN0aW9ucycpIGFjdGlvbnMhOiBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgndG9nZ2xlQWN0aW9ucycpIHRvZ2dsZUFjdGlvbnMhOiBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgnY2FuY2VsJykgY2FuY2VsITogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoJ2Nyb3NzJykgY3Jvc3MhOiBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgnY29uZmlybScpIGNvbmZpcm0hOiBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PjtcbiAgc2VsZWN0ZWRNb2RlOiBWaWV3TW9kZSA9IFZpZXdNb2RlLkNBVEFMT0c7XG4gIFZpZXdNb2RlID0gVmlld01vZGU7XG4gIHByaXZhdGUgY29uZmlybUV4ZWN1dGlvblJlZj86IE92ZXJsYXlSZWY7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmUsIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSwgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChQaXBlbGluZUFjdGlvbnMuZmV0Y2hUcmFuc2Zvc0xpc3QoKSk7XG4gICAgdGhpcy50cmFuc2Zvcm1hdGlvbiQgPSB0aGlzLnN0b3JlLnNlbGVjdChQaXBlbGluZVNlbGVjdG9ycy50cmFuc2Zvcyk7XG4gICAgdGhpcy5zZWxlY3RlZE1vZGUgPSBWaWV3TW9kZS5DQVRBTE9HO1xuICB9XG5cbiAgdG9nZ2xlTW9yZURyb3Bkb3duKCRldmVudDogYW55LCBpbmRleDogbnVtYmVyLCB0cmFuc2ZvOiBQcnlUcmFuc2ZvKSB7XG4gICAgaWYgKHRoaXMudG9nZ2xlSW5kZXggIT09IGluZGV4KSB7XG4gICAgICB0aGlzLnNlbGVjdGVkVHJhbnNmbyA9IHRyYW5zZm87XG4gICAgICB0aGlzLnRvZ2dsZUluZGV4ID0gaW5kZXg7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKFxuICAgICAgICBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICAgICAgcGFuZWxDbGFzczogWydtb2RhbCddLFxuICAgICAgICAgIGJhY2tkcm9wQ2xhc3M6ICdiYWNrZHJvcCdcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENvbmZpZ0FjdGlvbnMuYWRkaW5nT3ZlcmxheSh7IGlkOiB0aGlzLmNvbnN0cnVjdG9yLm5hbWUgfSkpO1xuICAgICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy50b2dnbGVNb3JlRHJvcGRvd24oJGV2ZW50LCBpbmRleCwgdHJhbnNmbykpO1xuICAgICAgdGhpcy5vdmVybGF5UmVmLmF0dGFjaChuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy50ZW1wbGF0ZURyb3Bkb3duLCB0aGlzLnZpZXdDb250YWluZXJSZWYpKTtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnRvZ2dsZUFjdGlvbnMubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgfSwgMTApO1xuICAgICAgY29uc3QgbW9kYWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdkaXYubW9kYWwnKSBhcyBIVE1MRGl2RWxlbWVudDtcbiAgICAgIC8vIGNvbnN0IGRpc3BsYXllZEVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdkaXYucGlwZWxpbmVMaXN0LWRyb3Bkb3duX19hY3Rpb25zJykgYXMgSFRNTERpdkVsZW1lbnQ7XG4gICAgICBjb25zdCBkaXNwbGF5ZWRFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLm0tY29udGV4dC1tZW51JykgYXMgSFRNTERpdkVsZW1lbnQ7XG4gICAgICBpZiAoISFtb2RhbCkge1xuICAgICAgICBtb2RhbC5zdHlsZS5sZWZ0ID1cbiAgICAgICAgICBNYXRoLm1heCgwLCBNYXRoLm1pbih3aW5kb3cuaW5uZXJXaWR0aCAtIGRpc3BsYXllZEVsZW1lbnQuY2xpZW50V2lkdGgsICRldmVudC5jbGllbnRYIC0gMTUwKSkgKyAncHgnO1xuICAgICAgICBtb2RhbC5zdHlsZS50b3AgPVxuICAgICAgICAgIE1hdGgubWF4KDAsIE1hdGgubWluKHdpbmRvdy5pbm5lckhlaWdodCAtIGRpc3BsYXllZEVsZW1lbnQuY2xpZW50SGVpZ2h0LCAkZXZlbnQuY2xpZW50WSAtIDEwKSkgKyAncHgnO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgIH1cbiAgfVxuXG4gIGNsb3NlRHJvcGRvd24oKSB7XG4gICAgdGhpcy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XG4gICAgdGhpcy50b2dnbGVJbmRleCA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5hY3Rpb25zLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuXG4gIHRvZ2dsZVN0YXRlKHNlbGVjdGVkVHJhbnNmbzogUHJ5VHJhbnNmbykge1xuICAgIGlmIChzZWxlY3RlZFRyYW5zZm8pIHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goUGlwZWxpbmVBY3Rpb25zLnRvZ2dsZUFjdGl2YXRpb24oeyB0cmFuc2ZvOiBzZWxlY3RlZFRyYW5zZm8gfSkpO1xuICAgIH1cbiAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgfVxuXG4gIHRvZ2dsZUV4ZWN1dGVDb25maXJtKCkge1xuICAgIGlmICghdGhpcy5jb25maXJtRXhlY3V0aW9uUmVmKSB7XG4gICAgICB0aGlzLmNvbmZpcm1FeGVjdXRpb25SZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKFxuICAgICAgICBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICAgICAgcGFuZWxDbGFzczogWydvLW1vZGFsLXdyYXBwZXInXSxcbiAgICAgICAgICBiYWNrZHJvcENsYXNzOiAnYmFja2Ryb3AnXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDb25maWdBY3Rpb25zLmFkZGluZ092ZXJsYXkoeyBpZDogdGhpcy5jb25zdHJ1Y3Rvci5uYW1lIH0pKTtcbiAgICAgIHRoaXMuY29uZmlybUV4ZWN1dGlvblJlZi5hdHRhY2gobmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMudGVtcGxhdGVNb2RhbCwgdGhpcy52aWV3Q29udGFpbmVyUmVmKSk7XG4gICAgICB0aGlzLmNvbmZpcm1FeGVjdXRpb25SZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRvZ2dsZUV4ZWN1dGVDb25maXJtKCkpO1xuICAgICAgY29uc3QgcGFuZWwgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdkaXYuby1tb2RhbC13cmFwcGVyJykgYXMgSFRNTERpdkVsZW1lbnQ7XG4gICAgICBpZiAoISFwYW5lbCkge1xuICAgICAgICBwYW5lbC5zdHlsZS5wb3NpdGlvbiA9ICdmaXhlZCc7XG4gICAgICAgIHBhbmVsLnN0eWxlLnRvcCA9ICc1MCUnO1xuICAgICAgICBwYW5lbC5zdHlsZS5sZWZ0ID0gJzUwJSc7XG4gICAgICAgIHBhbmVsLnN0eWxlLnRyYW5zZm9ybSA9ICd0cmFuc2xhdGUoLTUwJSwgLTUwJSknO1xuICAgICAgfVxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2FuY2VsLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIH0sIDEwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb25maXJtRXhlY3V0aW9uUmVmLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMuY29uZmlybUV4ZWN1dGlvblJlZiA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ29uZmlnQWN0aW9ucy5jbG9zZU92ZXJsYXkoeyBpZDogdGhpcy5jb25zdHJ1Y3Rvci5uYW1lIH0pKTtcbiAgICAgIHRoaXMuYWN0aW9ucy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICB9XG4gIH1cblxuICBjYW5jZWxSZW1vdmVDb25maXJtKCkge1xuICAgIHRoaXMuY29uZmlybUV4ZWN1dGlvblJlZj8uZGlzcG9zZSgpO1xuICAgIHRoaXMuY29uZmlybUV4ZWN1dGlvblJlZiA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENvbmZpZ0FjdGlvbnMuY2xvc2VPdmVybGF5KHsgaWQ6IHRoaXMuY29uc3RydWN0b3IubmFtZSB9KSk7XG4gICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gIH1cblxuICBjb25maXJtRXhlY3V0aW9uKHNlbGVjdGVkVHJhbnNmbz86IFByeVRyYW5zZm8pIHtcbiAgICBpZiAoc2VsZWN0ZWRUcmFuc2ZvPy5qb2JJbnN0YW5jZUlkKSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFBpcGVsaW5lQWN0aW9ucy5leGVjdXRlVHJhbnNmbyh7IGlkOiBzZWxlY3RlZFRyYW5zZm8uam9iSW5zdGFuY2VJZCB9KSk7XG4gICAgfVxuICAgIHRoaXMuY2FuY2VsUmVtb3ZlQ29uZmlybSgpO1xuICB9XG5cbiAgbGlzdCgpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFBpcGVsaW5lQWN0aW9ucy5mZXRjaFRyYW5zZm9zTGlzdCgpKTtcbiAgICB0aGlzLnNlbGVjdGVkTW9kZSA9IFZpZXdNb2RlLkNBVEFMT0c7XG4gIH1cblxuICBjcmVhdGUoKSB7XG4gICAgdGhpcy5zZWxlY3RlZE1vZGUgPSBWaWV3TW9kZS5DUkVBVElPTjtcbiAgfVxuXG4gIGNvbnN1bHQodHJhbnNmbzogUHJ5VHJhbnNmbykge1xuICAgIHRoaXMuc2VsZWN0ZWRUcmFuc2ZvID0gdHJhbnNmbztcbiAgICB0aGlzLnNlbGVjdGVkTW9kZSA9IFZpZXdNb2RlLkNPTlNVTFQ7XG4gIH1cblxuICBzYXZlUGlwZWxpbmUodHJhbnNmbzogUHJ5VHJhbnNmbykge1xuICAgIHRoaXMuc2VsZWN0ZWRUcmFuc2ZvID0gdHJhbnNmbztcbiAgICB0aGlzLnNlbGVjdGVkTW9kZSA9IFZpZXdNb2RlLkVESVRPUjtcbiAgfVxuXG4gIGRpc2FibGVTZWxlY3RlZFRyYW5zbygpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZFRyYW5zZm8/LmFjdGl2ZSA9PT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgIH1cbiAgfVxuXG4gIGZvY3VzRWxlbWVudChlbGVtZW50OiBIVE1MQnV0dG9uRWxlbWVudCkge1xuICAgIGVsZW1lbnQuZm9jdXMoKTtcbiAgfVxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgRXhlY3V0aW9uU3RhdGUgPSBFeGVjdXRpb25TdGF0ZTtcbn1cbiIsIjxwcnktcGlwZWxpbmUtY3NzPjwvcHJ5LXBpcGVsaW5lLWNzcz5cbjxkaXYgY2xhc3M9XCJvLXBpcGVsaW5lLWxheW91dFwiIFtuZ1N3aXRjaF09XCJzZWxlY3RlZE1vZGVcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiVmlld01vZGUuQ0FUQUxPR1wiPlxuICAgIDxkaXYgY2xhc3M9XCJvLXBpcGVsaW5lLWxheW91dF9fdG9vbGJveFwiPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5IGEtYnRuLS1pY29uLXRleHRcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImNyZWF0ZSgpXCI+XG4gICAgICAgIHt7ICdAcHJ5LnBpcGVsaW5lLmNyZWF0ZScgfCBpMThuIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8aDEgY2xhc3M9XCJhLWgxXCI+e3sgJ0BwcnkucGlwZWxpbmUudHJhbnNmb3JtYXRpb25fY2F0YWxvZycgfCBpMThuIH19PC9oMT5cbiAgICA8dGFibGVcbiAgICAgIGNsYXNzPVwiYS10YWJsZVwiXG4gICAgICBwcnlTb3J0VGFibGVcbiAgICAgIHByeVNvcnRBY3RpdmU9XCJkYXRlXCJcbiAgICAgIHByeVNvcnREaXJlY3Rpb249XCJkZXNjXCJcbiAgICAgIChwcnlTb3J0Q2hhbmdlKT1cInNvcnRBY3RpdmUgPSAkZXZlbnQuYWN0aXZlOyBzb3J0RGlyZWN0aW9uID0gJGV2ZW50LmRpcmVjdGlvblwiXG4gICAgPlxuICAgICAgPGNhcHRpb24+XG4gICAgICAgIHt7XG4gICAgICAgICAgJ0BwcnkucGlwZWxpbmUudHJhbnNmb3JtYXRpb25fY2F0YWxvZycgfCBpMThuXG4gICAgICAgIH19XG4gICAgICA8L2NhcHRpb24+XG4gICAgICA8dGhlYWQ+XG4gICAgICAgIDx0cj5cbiAgICAgICAgICA8dGggcHJ5U29ydEhlYWRlcj1cInN0YXRlXCI+e3sgJ0BwcnkucGlwZWxpbmUuZGV0YWlscy5zdGF0ZScgfCBpMThuIH19PC90aD5cbiAgICAgICAgICA8dGggcHJ5U29ydEhlYWRlcj1cInRpdGxlXCI+e3sgJ0BwcnkucGlwZWxpbmUuZGV0YWlscy50aXRsZScgfCBpMThuIH19PC90aD5cbiAgICAgICAgICA8dGggcHJ5U29ydEhlYWRlcj1cImRhdGVcIj57eyAnQHByeS5waXBlbGluZS5kZXRhaWxzLmxhc3RfZXhlY3V0aW9uX2RhdGUnIHwgaTE4biB9fTwvdGg+XG4gICAgICAgICAgPHRoPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInUtZGlzcGxheS1mbGV4IC1hbGlnbi1jZW50ZXIgLWNvbHVtblwiPlxuICAgICAgICAgICAgICB7eyAnQHByeS5waXBlbGluZS5kZXRhaWxzLmV4ZWN1dGlvbl9zdGF0dXMnIHwgaTE4biB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgICA8dGg+e3sgJ0BwcnkucGlwZWxpbmUuYWN0aW9uJyB8IGkxOG4gfX08L3RoPlxuICAgICAgICA8L3RyPlxuICAgICAgPC90aGVhZD5cbiAgICAgIDx0Ym9keT5cbiAgICAgICAgPHRyXG4gICAgICAgICAgKm5nRm9yPVwibGV0IHRyYW5zZm8gb2YgdHJhbnNmb3JtYXRpb24kIHwgYXN5bmMgfCBwcnlTb3J0RGF0YTogc29ydEFjdGl2ZSA6IHNvcnREaXJlY3Rpb247IGxldCBpbmRleCA9IGluZGV4XCJcbiAgICAgICAgPlxuICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJ0cmFuc2ZvLmFjdGl2ZTsgZWxzZSBkZWFjdGl2YXRlZFwiIGNsYXNzPVwiY29udGFpbmVyLXN0YXRlXCI+XG4gICAgICAgICAgICAgIDxwcnktaWNvbiBbaGVpZ2h0XT1cIjE1XCIgW3dpZHRoXT1cIjE1XCIgaWNvblN2Zz1cImNoZWNrXCIgY2xhc3M9XCJjaGVja1wiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgIDxzcGFuPiB7eyAnQHByeS5waXBlbGluZS5hY3RpdmF0ZWQnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkZWFjdGl2YXRlZD5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1zdGF0ZVwiPlxuICAgICAgICAgICAgICAgIDxwcnktaWNvbiBbaGVpZ2h0XT1cIjE1XCIgW3dpZHRoXT1cIjE1XCIgaWNvblN2Zz1cInN0b3BcIiBjbGFzcz1cInN0b3BcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7ICdAcHJ5LnBpcGVsaW5lLmRlYWN0aXZhdGVkJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZD57eyB0cmFuc2ZvLnRpdGxlIH19PC90ZD5cbiAgICAgICAgICA8dGQ+e3sgdHJhbnNmbz8ubGFzdEpvYkV4ZWN1dGlvbj8uZXhlY3V0aW9uRGF0ZSB8IHNpbmNlRGF0ZSB9fTwvdGQ+XG4gICAgICAgICAgPHRkICpuZ0lmPVwidHJhbnNmby5sYXN0Sm9iRXhlY3V0aW9uXCIgY2xhc3M9XCJ1LWRpc3BsYXktZmxleCAtYWxpZ24tY2VudGVyIC1jb2x1bW5cIj5cbiAgICAgICAgICAgIDxkaXYgW25nU3dpdGNoXT1cInRyYW5zZm8ubGFzdEpvYkV4ZWN1dGlvbi5zdGF0dXNcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiRXhlY3V0aW9uU3RhdGUuVEVSTUlOQVRFRFwiPlxuICAgICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiY2hlY2tcIiBbaGVpZ2h0XT1cIjI1XCIgW3dpZHRoXT1cIjI1XCIgY2xhc3M9XCJjaGVja1wiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJFeGVjdXRpb25TdGF0ZS5TVEFSVEVEXCI+XG4gICAgICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJzeW5jaHJvXCIgW2hlaWdodF09XCIyNVwiIFt3aWR0aF09XCIyNVwiIGNsYXNzPVwid2FybmluZ1wiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJFeGVjdXRpb25TdGF0ZS5FUlJPUlwiPlxuICAgICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiY2xvc2VcIiBbaGVpZ2h0XT1cIjI1XCIgW3dpZHRoXT1cIjI1XCIgY2xhc3M9XCJkYW5nZXJcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPHRkPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5IC1zaXplLXNtXCIgKGNsaWNrKT1cImNvbnN1bHQodHJhbnNmbylcIj5cbiAgICAgICAgICAgICAge3sgJ0BwcnkucGlwZWxpbmUuY29uc3VsdCcgfCBpMThuIH19XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj4ge3sgdHJhbnNmby50aXRsZSB9fSA8L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tbW9yZVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBpZD1cImFjdGlvbnNcIlxuICAgICAgICAgICAgICAjYWN0aW9uc1xuICAgICAgICAgICAgICBhcmlhLWNvbnRyb2xzPVwicGFuZWxBY3Rpb25zXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCIhIXRoaXMub3ZlcmxheVJlZlwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVNb3JlRHJvcGRvd24oJGV2ZW50LCBpbmRleCwgdHJhbnNmbylcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cIm1vcmVfaG9yaXpcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGJvZHk+XG4gICAgPC90YWJsZT5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIlZpZXdNb2RlLkNPTlNVTFRcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2VsZWN0ZWRUcmFuc2ZvXCI+XG4gICAgICA8cHJ5LXBpcGVsaW5lLWRldGFpbHNcbiAgICAgICAgW3BpcGVsaW5lXT1cInNlbGVjdGVkVHJhbnNmb1wiXG4gICAgICAgIChnb1RvTGlzdCk9XCJsaXN0KClcIlxuICAgICAgICAoZ29Ub0VkaXRvcik9XCJzYXZlUGlwZWxpbmUoJGV2ZW50KVwiXG4gICAgICAgIChleGVjdXRlQ29uZmlybSk9XCJ0b2dnbGVFeGVjdXRlQ29uZmlybSgpXCJcbiAgICAgID48L3ByeS1waXBlbGluZS1kZXRhaWxzPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiVmlld01vZGUuQ1JFQVRJT05cIj5cbiAgICA8cHJ5LXBpcGVsaW5lLWRldGFpbHMgKGdvVG9MaXN0KT1cImxpc3QoKVwiIChnb1RvRWRpdG9yKT1cInNhdmVQaXBlbGluZSgkZXZlbnQpXCI+PC9wcnktcGlwZWxpbmUtZGV0YWlscz5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIlZpZXdNb2RlLkVESVRPUlwiPlxuICAgIDxwcnktcGlwZWxpbmUtZWRpdG9yIFtwaXBlbGluZV09XCJzZWxlY3RlZFRyYW5zZm9cIiAoZ29Ub0NvbnN1bHQpPVwiY29uc3VsdCgkZXZlbnQpXCI+PC9wcnktcGlwZWxpbmUtZWRpdG9yPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNub0V4ZWN1dGlvbj5cbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1zdGF0ZVwiPlxuICAgIDxzcGFuPnt7ICdAcHJ5LnBpcGVsaW5lLmtvJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgPHByeS1pY29uIFtoZWlnaHRdPVwiMTVcIiBbd2lkdGhdPVwiMTVcIiBpY29uU3ZnPVwiZGFuZ2VyXCIgY2xhc3M9XCJkYW5nZXJcIj48L3ByeS1pY29uPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZHJvcGRvd24+XG4gIDxkaXZcbiAgICBjbGFzcz1cIm0tY29udGV4dC1tZW51XCJcbiAgICBpZD1cInBhbmVsQWN0aW9uc1wiXG4gICAgKm5nSWY9XCJzZWxlY3RlZFRyYW5zZm9cIlxuICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgIChrZXlkb3duLmVzY2FwZSk9XCJjbG9zZURyb3Bkb3duKClcIlxuICA+XG4gICAgPHVsIGNsYXNzPVwibS1jb250ZXh0LW1lbnVfX2xpc3RcIiByb2xlPVwiZGlhbG9nXCIgYXJpYS1tb2RhbD1cInRydWVcIiBhcmlhLWxhYmVsbGVkYnk9XCJkaWFsb2cgcGFuZWxBY3Rpb25zXCI+XG4gICAgICA8bGkgY2xhc3M9XCJtLWNvbnRleHQtbWVudV9fbGlzdF9faXRlbVwiIHJvbGU9XCJub25lXCIgdGFiaW5kZXg9XCItMVwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgI3RvZ2dsZUFjdGlvbnNcbiAgICAgICAgICBjbGFzcz1cImEtYnRuXCJcbiAgICAgICAgICByb2xlPVwibWVudWl0ZW1cIlxuICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVTdGF0ZShzZWxlY3RlZFRyYW5zZm8pXCJcbiAgICAgICAgICAoa2V5ZG93bi50YWIpPVwiZGlzYWJsZVNlbGVjdGVkVHJhbnNvKClcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4+e3sgKHNlbGVjdGVkVHJhbnNmby5hY3RpdmUgPyAnQHByeS5waXBlbGluZS5kZWFjdGl2YXRlJyA6ICdAcHJ5LnBpcGVsaW5lLmFjdGl2YXRlJykgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbGk+XG4gICAgICA8bGkgY2xhc3M9XCJtLWNvbnRleHQtbWVudV9fbGlzdF9faXRlbVwiIHJvbGU9XCJub25lXCIgdGFiaW5kZXg9XCItMVwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgICAgICBpZD1cImV4ZWN1dGVcIlxuICAgICAgICAgIGNsYXNzPVwiYS1idG5cIlxuICAgICAgICAgIChrZXlkb3duLnRhYik9XCJjbG9zZURyb3Bkb3duKClcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJzZWxlY3RlZFRyYW5zZm8uYWN0aXZlID09PSBmYWxzZVwiXG4gICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZUV4ZWN1dGVDb25maXJtKClcIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4+e3sgJ0BwcnkucGlwZWxpbmUuZXhlY3V0ZScgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvbGk+XG4gICAgPC91bD5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICN0ZW1wbGF0ZU1vZGFsPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJvLW1vZGFsXCJcbiAgICAqbmdJZj1cInNlbGVjdGVkVHJhbnNmb1wiXG4gICAgKGtleWRvd24uZXNjYXBlKT1cInRvZ2dsZUV4ZWN1dGVDb25maXJtKClcIlxuICAgIHJvbGU9XCJkaWFsb2dcIlxuICAgIGFyaWEtbW9kYWw9XCJ0cnVlXCJcbiAgICBhcmlhLWxhYmVsbGVkYnk9XCJkaWFsb2cgY29uZmlybSBkZWxldGUgcHJlc2VudGF0aW9uXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJvLW1vZGFsX190b3BcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLW1vZGFsX190b3BfX3RpdGxlXCI+XG4gICAgICAgIDxoMiBjbGFzcz1cImEtaDJcIiBpZD1cImRpYWxvZ190aXRsZVwiPlxuICAgICAgICAgIHt7ICdAcHJ5LndpZGdldC5tb2RhbFRpdGxlJyB8IGkxOG4gfX1cbiAgICAgICAgPC9oMj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm8tbW9kYWxfX3RvcF9fY2xvc2VcIj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seVwiXG4gICAgICAgICAgI2Nyb3NzXG4gICAgICAgICAgKGtleWRvd24uc2hpZnQudGFiKT1cImZvY3VzRWxlbWVudCh0aGlzLmNvbmZpcm0pXCJcbiAgICAgICAgICAoY2xpY2spPVwiY2FuY2VsUmVtb3ZlQ29uZmlybSgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiY2xvc2VcIiBbaGVpZ2h0XT1cIjM1XCIgW3dpZHRoXT1cIjM1XCI+PC9wcnktaWNvbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+e3sgJ0BwcnkudG9vbGJveC5jbG9zZScgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtLWJ0bi1ncm91cFwiPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgI2NhbmNlbCAoY2xpY2spPVwiY2FuY2VsUmVtb3ZlQ29uZmlybSgpXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tc2Vjb25kYXJ5XCI+XG4gICAgICAgIHt7ICdAcHJ5LnRvb2xib3gubWFuaWZlc3QuY2xvc2UnIHwgaTE4biB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAjY29uZmlybVxuICAgICAgICBpZD1cImNvbmZpcm1cIlxuICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCJcbiAgICAgICAgKGNsaWNrKT1cImNvbmZpcm1FeGVjdXRpb24oc2VsZWN0ZWRUcmFuc2ZvKVwiXG4gICAgICAgIChrZXlkb3duLnRhYik9XCJmb2N1c0VsZW1lbnQodGhpcy5jcm9zcylcIlxuICAgICAgPlxuICAgICAgICB7eyAnQHByeS50b29sYm94Lm1hbmlmZXN0LnZhbGlkYXRlJyB8IGkxOG4gfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUtbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9waXBlbGluZS9jb21wb25lbnRzL3BpcGVsaW5lLWxpc3QvcGlwZWxpbmUtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9waXBlbGluZS9jb21wb25lbnRzL3BpcGVsaW5lLWxpc3QvcGlwZWxpbmUtbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVcsYUFBYSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQWMsV0FBVyxFQUFFLFNBQVMsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFFaEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBYyxNQUFNLHVDQUF1QyxDQUFDOzs7Ozs7Ozs7OztBQU1uRixNQUFNLE9BQU8sd0JBQXdCO0lBa0JuQyxZQUFvQixLQUFZLEVBQVUsT0FBZ0IsRUFBVSxnQkFBa0M7UUFBbEYsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUFVLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFBVSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBaEJ0RyxlQUFVLEdBQUksY0FBYyxDQUFDO1FBQzdCLGtCQUFhLEdBQUksTUFBTSxDQUFDO1FBV3hCLGlCQUFZLEdBQWEsUUFBUSxDQUFDLE9BQU8sQ0FB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LFVBQTZCO1FBQzFFLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFO1lBQ3hCLFVBQVUsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1lBQ3hCLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNuQixNQUFNLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3RCO0lBQ0gsQ0FBQzs4R0F6SlUsd0JBQXdCO2tHQUF4Qix3QkFBd0Isa0pBT0osV0FBVyx5R0FDTixXQUFXLDRjQ3RCakQsZ3lQQTRNQTs7MkZEOUxhLHdCQUF3QjtrQkFKcEMsU0FBUzsrQkFDRSxtQkFBbUI7aUpBVWlCLGdCQUFnQjtzQkFBN0QsU0FBUzt1QkFBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQUNPLGFBQWE7c0JBQS9ELFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFDM0IsT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTO2dCQUNRLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkFDTCxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVE7Z0JBQ0MsS0FBSztzQkFBeEIsU0FBUzt1QkFBQyxPQUFPO2dCQUNJLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IENvbmZpZ0FjdGlvbnMsIFZpZXdNb2RlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFBpcGVsaW5lQWN0aW9ucyB9IGZyb20gJy4uLy4uL3N0b3JlL3BpcGVsaW5lLmFjdGlvbnMnO1xuaW1wb3J0IHsgUGlwZWxpbmVTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi9zdG9yZS9waXBlbGluZS5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgRXhlY3V0aW9uU3RhdGUsIFByeVRyYW5zZm8gfSBmcm9tICcuLi9waXBlbGluZS1lZGl0b3IvcGlwZWxpbmUuaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LXBpcGVsaW5lLWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vcGlwZWxpbmUtbGlzdC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUHJ5UGlwZWxpbmVMaXN0Q29tcG9uZW50IHtcbiAgdHJhbnNmb3JtYXRpb24kOiBPYnNlcnZhYmxlPFByeVRyYW5zZm9bXT47XG4gIHNvcnRBY3RpdmU/ID0gJ2NyZWF0aW9uRGF0ZSc7XG4gIHNvcnREaXJlY3Rpb24/ID0gJ2Rlc2MnO1xuICB0b2dnbGVJbmRleD86IG51bWJlcjtcbiAgc2VsZWN0ZWRUcmFuc2ZvPzogUHJ5VHJhbnNmbztcbiAgb3ZlcmxheVJlZjogYW55O1xuICBAVmlld0NoaWxkKCdkcm9wZG93bicsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSkgdGVtcGxhdGVEcm9wZG93biE6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlTW9kYWwnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pIHRlbXBsYXRlTW9kYWwhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBAVmlld0NoaWxkKCdhY3Rpb25zJykgYWN0aW9ucyE6IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKCd0b2dnbGVBY3Rpb25zJykgdG9nZ2xlQWN0aW9ucyE6IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKCdjYW5jZWwnKSBjYW5jZWwhOiBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgnY3Jvc3MnKSBjcm9zcyE6IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuICBAVmlld0NoaWxkKCdjb25maXJtJykgY29uZmlybSE6IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuICBzZWxlY3RlZE1vZGU6IFZpZXdNb2RlID0gVmlld01vZGUuQ0FUQUxPRztcbiAgVmlld01vZGUgPSBWaWV3TW9kZTtcbiAgcHJpdmF0ZSBjb25maXJtRXhlY3V0aW9uUmVmPzogT3ZlcmxheVJlZjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZSwgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LCBwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFBpcGVsaW5lQWN0aW9ucy5mZXRjaFRyYW5zZm9zTGlzdCgpKTtcbiAgICB0aGlzLnRyYW5zZm9ybWF0aW9uJCA9IHRoaXMuc3RvcmUuc2VsZWN0KFBpcGVsaW5lU2VsZWN0b3JzLnRyYW5zZm9zKTtcbiAgICB0aGlzLnNlbGVjdGVkTW9kZSA9IFZpZXdNb2RlLkNBVEFMT0c7XG4gIH1cblxuICB0b2dnbGVNb3JlRHJvcGRvd24oJGV2ZW50OiBhbnksIGluZGV4OiBudW1iZXIsIHRyYW5zZm86IFByeVRyYW5zZm8pIHtcbiAgICBpZiAodGhpcy50b2dnbGVJbmRleCAhPT0gaW5kZXgpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRUcmFuc2ZvID0gdHJhbnNmbztcbiAgICAgIHRoaXMudG9nZ2xlSW5kZXggPSBpbmRleDtcbiAgICAgIHRoaXMub3ZlcmxheVJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoXG4gICAgICAgIG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgICBwYW5lbENsYXNzOiBbJ21vZGFsJ10sXG4gICAgICAgICAgYmFja2Ryb3BDbGFzczogJ2JhY2tkcm9wJ1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ29uZmlnQWN0aW9ucy5hZGRpbmdPdmVybGF5KHsgaWQ6IHRoaXMuY29uc3RydWN0b3IubmFtZSB9KSk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoKSA9PiB0aGlzLnRvZ2dsZU1vcmVEcm9wZG93bigkZXZlbnQsIGluZGV4LCB0cmFuc2ZvKSk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLnRlbXBsYXRlRHJvcGRvd24sIHRoaXMudmlld0NvbnRhaW5lclJlZikpO1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMudG9nZ2xlQWN0aW9ucy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICB9LCAxMCk7XG4gICAgICBjb25zdCBtb2RhbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2Rpdi5tb2RhbCcpIGFzIEhUTUxEaXZFbGVtZW50O1xuICAgICAgaWYgKCEhbW9kYWwpIHtcbiAgICAgICAgaWYgKCRldmVudC5wb2ludGVyVHlwZSA9PT0gJ21vdXNlJykge1xuICAgICAgICAgIG1vZGFsLnN0eWxlLmxlZnQgPSAkZXZlbnQuY2xpZW50WCAtIDE1MCArICdweCc7XG4gICAgICAgICAgbW9kYWwuc3R5bGUudG9wID0gJGV2ZW50LmNsaWVudFkgLSAxMCArICdweCc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc3QgdG9nZ2xlTWVudUJ1dHRvbiA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyMnICsgJGV2ZW50LnRhcmdldC5pZCk7XG4gICAgICAgICAgY29uc3QgcmVjdCA9IHRvZ2dsZU1lbnVCdXR0b24/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgIG1vZGFsLnN0eWxlLmxlZnQgPSAocmVjdD8ubGVmdCA/PyAwKSAtIChtb2RhbD8uY2xpZW50V2lkdGggPz8gMCkgKyAncHgnO1xuICAgICAgICAgIG1vZGFsLnN0eWxlLnRvcCA9IChyZWN0Py50b3AgPz8gMCkgKyAncHgnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xuICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgfVxuICB9XG5cbiAgY2xvc2VEcm9wZG93bigpIHtcbiAgICB0aGlzLm92ZXJsYXlSZWY/LmRpc3Bvc2UoKTtcbiAgICB0aGlzLnRvZ2dsZUluZGV4ID0gdW5kZWZpbmVkO1xuICAgIHRoaXMub3ZlcmxheVJlZiA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmFjdGlvbnMubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgdG9nZ2xlU3RhdGUoc2VsZWN0ZWRUcmFuc2ZvOiBQcnlUcmFuc2ZvKSB7XG4gICAgaWYgKHNlbGVjdGVkVHJhbnNmbykge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChQaXBlbGluZUFjdGlvbnMudG9nZ2xlQWN0aXZhdGlvbih7IHRyYW5zZm86IHNlbGVjdGVkVHJhbnNmbyB9KSk7XG4gICAgfVxuICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICB9XG5cbiAgdG9nZ2xlRXhlY3V0ZUNvbmZpcm0oKSB7XG4gICAgaWYgKCF0aGlzLmNvbmZpcm1FeGVjdXRpb25SZWYpIHtcbiAgICAgIHRoaXMuY29uZmlybUV4ZWN1dGlvblJlZiA9IHRoaXMub3ZlcmxheS5jcmVhdGUoXG4gICAgICAgIG5ldyBPdmVybGF5Q29uZmlnKHtcbiAgICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgICBwYW5lbENsYXNzOiBbJ28tbW9kYWwtd3JhcHBlciddLFxuICAgICAgICAgIGJhY2tkcm9wQ2xhc3M6ICdiYWNrZHJvcCdcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENvbmZpZ0FjdGlvbnMuYWRkaW5nT3ZlcmxheSh7IGlkOiB0aGlzLmNvbnN0cnVjdG9yLm5hbWUgfSkpO1xuICAgICAgdGhpcy5jb25maXJtRXhlY3V0aW9uUmVmLmF0dGFjaChuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy50ZW1wbGF0ZU1vZGFsLCB0aGlzLnZpZXdDb250YWluZXJSZWYpKTtcbiAgICAgIHRoaXMuY29uZmlybUV4ZWN1dGlvblJlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgpID0+IHRoaXMudG9nZ2xlRXhlY3V0ZUNvbmZpcm0oKSk7XG4gICAgICBjb25zdCBwYW5lbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2Rpdi5vLW1vZGFsLXdyYXBwZXInKSBhcyBIVE1MRGl2RWxlbWVudDtcbiAgICAgIGlmICghIXBhbmVsKSB7XG4gICAgICAgIHBhbmVsLnN0eWxlLnBvc2l0aW9uID0gJ2ZpeGVkJztcbiAgICAgICAgcGFuZWwuc3R5bGUudG9wID0gJzUwJSc7XG4gICAgICAgIHBhbmVsLnN0eWxlLmxlZnQgPSAnNTAlJztcbiAgICAgICAgcGFuZWwuc3R5bGUudHJhbnNmb3JtID0gJ3RyYW5zbGF0ZSgtNTAlLCAtNTAlKSc7XG4gICAgICB9XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5jYW5jZWwubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgfSwgMTApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvbmZpcm1FeGVjdXRpb25SZWYuZGlzcG9zZSgpO1xuICAgICAgdGhpcy5jb25maXJtRXhlY3V0aW9uUmVmID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDb25maWdBY3Rpb25zLmNsb3NlT3ZlcmxheSh7IGlkOiB0aGlzLmNvbnN0cnVjdG9yLm5hbWUgfSkpO1xuICAgICAgdGhpcy5hY3Rpb25zLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgIH1cbiAgfVxuXG4gIGNhbmNlbFJlbW92ZUNvbmZpcm0oKSB7XG4gICAgdGhpcy5jb25maXJtRXhlY3V0aW9uUmVmPy5kaXNwb3NlKCk7XG4gICAgdGhpcy5jb25maXJtRXhlY3V0aW9uUmVmID0gdW5kZWZpbmVkO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ29uZmlnQWN0aW9ucy5jbG9zZU92ZXJsYXkoeyBpZDogdGhpcy5jb25zdHJ1Y3Rvci5uYW1lIH0pKTtcbiAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgfVxuXG4gIGNvbmZpcm1FeGVjdXRpb24oc2VsZWN0ZWRUcmFuc2ZvPzogUHJ5VHJhbnNmbykge1xuICAgIGlmIChzZWxlY3RlZFRyYW5zZm8/LmpvYkluc3RhbmNlSWQpIHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goUGlwZWxpbmVBY3Rpb25zLmV4ZWN1dGVUcmFuc2ZvKHsgaWQ6IHNlbGVjdGVkVHJhbnNmby5qb2JJbnN0YW5jZUlkIH0pKTtcbiAgICB9XG4gICAgdGhpcy5jYW5jZWxSZW1vdmVDb25maXJtKCk7XG4gIH1cblxuICBsaXN0KCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goUGlwZWxpbmVBY3Rpb25zLmZldGNoVHJhbnNmb3NMaXN0KCkpO1xuICAgIHRoaXMuc2VsZWN0ZWRNb2RlID0gVmlld01vZGUuQ0FUQUxPRztcbiAgfVxuXG4gIGNyZWF0ZSgpIHtcbiAgICB0aGlzLnNlbGVjdGVkTW9kZSA9IFZpZXdNb2RlLkNSRUFUSU9OO1xuICB9XG5cbiAgY29uc3VsdCh0cmFuc2ZvOiBQcnlUcmFuc2ZvKSB7XG4gICAgdGhpcy5zZWxlY3RlZFRyYW5zZm8gPSB0cmFuc2ZvO1xuICAgIHRoaXMuc2VsZWN0ZWRNb2RlID0gVmlld01vZGUuQ09OU1VMVDtcbiAgfVxuXG4gIHNhdmVQaXBlbGluZSh0cmFuc2ZvOiBQcnlUcmFuc2ZvKSB7XG4gICAgdGhpcy5zZWxlY3RlZFRyYW5zZm8gPSB0cmFuc2ZvO1xuICAgIHRoaXMuc2VsZWN0ZWRNb2RlID0gVmlld01vZGUuRURJVE9SO1xuICB9XG5cbiAgZGlzYWJsZVNlbGVjdGVkVHJhbnNvKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkVHJhbnNmbz8uYWN0aXZlID09PSBmYWxzZSkge1xuICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgfVxuICB9XG5cbiAgZm9jdXNFbGVtZW50KGVsZW1lbnQ6IEhUTUxCdXR0b25FbGVtZW50KSB7XG4gICAgZWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgbmF2aWdhdGVDb250ZXh0TWVudShidXR0b246IEhUTUxCdXR0b25FbGVtZW50LCBuZXh0QnV0dG9uOiBIVE1MQnV0dG9uRWxlbWVudCkge1xuICAgIGlmICghbmV4dEJ1dHRvbi5kaXNhYmxlZCkge1xuICAgICAgbmV4dEJ1dHRvbi50YWJJbmRleCA9IDA7XG4gICAgICBuZXh0QnV0dG9uLmZvY3VzKCk7XG4gICAgICBidXR0b24udGFiSW5kZXggPSAtMTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgRXhlY3V0aW9uU3RhdGUgPSBFeGVjdXRpb25TdGF0ZTtcbn1cbiIsIjxwcnktcGlwZWxpbmUtY3NzPjwvcHJ5LXBpcGVsaW5lLWNzcz5cbjxkaXYgY2xhc3M9XCJvLXBpcGVsaW5lLWxheW91dFwiIFtuZ1N3aXRjaF09XCJzZWxlY3RlZE1vZGVcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiVmlld01vZGUuQ0FUQUxPR1wiPlxuICAgIDxkaXYgY2xhc3M9XCJvLXBpcGVsaW5lLWxheW91dF9fdG9vbGJveFwiPlxuICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5IGEtYnRuLS1pY29uLXRleHRcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImNyZWF0ZSgpXCI+XG4gICAgICAgIHt7ICdAcHJ5LnBpcGVsaW5lLmNyZWF0ZScgfCBpMThuIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8aDEgY2xhc3M9XCJhLWgxXCI+e3sgJ0BwcnkucGlwZWxpbmUudHJhbnNmb3JtYXRpb25fY2F0YWxvZycgfCBpMThuIH19PC9oMT5cbiAgICA8dGFibGVcbiAgICAgIGNsYXNzPVwiYS10YWJsZVwiXG4gICAgICBwcnlTb3J0VGFibGVcbiAgICAgIHByeVNvcnRBY3RpdmU9XCJkYXRlXCJcbiAgICAgIHByeVNvcnREaXJlY3Rpb249XCJkZXNjXCJcbiAgICAgIChwcnlTb3J0Q2hhbmdlKT1cInNvcnRBY3RpdmUgPSAkZXZlbnQuYWN0aXZlOyBzb3J0RGlyZWN0aW9uID0gJGV2ZW50LmRpcmVjdGlvblwiXG4gICAgPlxuICAgICAgPGNhcHRpb24+XG4gICAgICAgIHt7XG4gICAgICAgICAgJ0BwcnkucGlwZWxpbmUudHJhbnNmb3JtYXRpb25fY2F0YWxvZycgfCBpMThuXG4gICAgICAgIH19XG4gICAgICA8L2NhcHRpb24+XG4gICAgICA8dGhlYWQ+XG4gICAgICAgIDx0cj5cbiAgICAgICAgICA8dGggcHJ5U29ydEhlYWRlcj1cInN0YXRlXCI+e3sgJ0BwcnkucGlwZWxpbmUuZGV0YWlscy5zdGF0ZScgfCBpMThuIH19PC90aD5cbiAgICAgICAgICA8dGggcHJ5U29ydEhlYWRlcj1cInRpdGxlXCI+e3sgJ0BwcnkucGlwZWxpbmUuZGV0YWlscy50aXRsZScgfCBpMThuIH19PC90aD5cbiAgICAgICAgICA8dGggcHJ5U29ydEhlYWRlcj1cImRhdGVcIj57eyAnQHByeS5waXBlbGluZS5kZXRhaWxzLmxhc3RfZXhlY3V0aW9uX2RhdGUnIHwgaTE4biB9fTwvdGg+XG4gICAgICAgICAgPHRoPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInUtZGlzcGxheS1mbGV4IC1hbGlnbi1jZW50ZXIgLWNvbHVtblwiPlxuICAgICAgICAgICAgICB7eyAnQHByeS5waXBlbGluZS5kZXRhaWxzLmV4ZWN1dGlvbl9zdGF0dXMnIHwgaTE4biB9fVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgICA8dGg+e3sgJ0BwcnkucGlwZWxpbmUuYWN0aW9uJyB8IGkxOG4gfX08L3RoPlxuICAgICAgICA8L3RyPlxuICAgICAgPC90aGVhZD5cbiAgICAgIDx0Ym9keT5cbiAgICAgICAgPHRyXG4gICAgICAgICAgKm5nRm9yPVwibGV0IHRyYW5zZm8gb2YgdHJhbnNmb3JtYXRpb24kIHwgYXN5bmMgfCBwcnlTb3J0RGF0YSA6IHNvcnRBY3RpdmUgOiBzb3J0RGlyZWN0aW9uOyBsZXQgaW5kZXggPSBpbmRleFwiXG4gICAgICAgID5cbiAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwidHJhbnNmby5hY3RpdmU7IGVsc2UgZGVhY3RpdmF0ZWRcIiBjbGFzcz1cImNvbnRhaW5lci1zdGF0ZVwiPlxuICAgICAgICAgICAgICA8cHJ5LWljb24gW2hlaWdodF09XCIxNVwiIFt3aWR0aF09XCIxNVwiIGljb25Tdmc9XCJjaGVja1wiIGNsYXNzPVwiY2hlY2tcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICA8c3Bhbj4ge3sgJ0BwcnkucGlwZWxpbmUuYWN0aXZhdGVkJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGVhY3RpdmF0ZWQ+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItc3RhdGVcIj5cbiAgICAgICAgICAgICAgICA8cHJ5LWljb24gW2hlaWdodF09XCIxNVwiIFt3aWR0aF09XCIxNVwiIGljb25Tdmc9XCJzdG9wXCIgY2xhc3M9XCJzdG9wXCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgICA8c3Bhbj57eyAnQHByeS5waXBlbGluZS5kZWFjdGl2YXRlZCcgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQ+e3sgdHJhbnNmby50aXRsZSB9fTwvdGQ+XG4gICAgICAgICAgPHRkPnt7IHRyYW5zZm8/Lmxhc3RKb2JFeGVjdXRpb24/LmV4ZWN1dGlvbkRhdGUgfCBzaW5jZURhdGUgfX08L3RkPlxuICAgICAgICAgIDx0ZCAqbmdJZj1cInRyYW5zZm8ubGFzdEpvYkV4ZWN1dGlvblwiIGNsYXNzPVwidS1kaXNwbGF5LWZsZXggLWFsaWduLWNlbnRlciAtY29sdW1uXCI+XG4gICAgICAgICAgICA8ZGl2IFtuZ1N3aXRjaF09XCJ0cmFuc2ZvLmxhc3RKb2JFeGVjdXRpb24uc3RhdHVzXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIkV4ZWN1dGlvblN0YXRlLlRFUk1JTkFURURcIj5cbiAgICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImNoZWNrXCIgW2hlaWdodF09XCIyNVwiIFt3aWR0aF09XCIyNVwiIGNsYXNzPVwiY2hlY2tcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiRXhlY3V0aW9uU3RhdGUuU1RBUlRFRFwiPlxuICAgICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwic3luY2hyb1wiIFtoZWlnaHRdPVwiMjVcIiBbd2lkdGhdPVwiMjVcIiBjbGFzcz1cIndhcm5pbmdcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiRXhlY3V0aW9uU3RhdGUuRVJST1JcIj5cbiAgICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImNsb3NlXCIgW2hlaWdodF09XCIyNVwiIFt3aWR0aF09XCIyNVwiIGNsYXNzPVwiZGFuZ2VyXCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeSAtc2l6ZS1zbVwiIChjbGljayk9XCJjb25zdWx0KHRyYW5zZm8pXCI+XG4gICAgICAgICAgICAgIHt7ICdAcHJ5LnBpcGVsaW5lLmNvbnN1bHQnIHwgaTE4biB9fVxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+IHt7IHRyYW5zZm8udGl0bGUgfX0gPC9zcGFuPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLW1vcmVcIlxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgaWQ9XCJhY3Rpb25zLXt7IGluZGV4IH19XCJcbiAgICAgICAgICAgICAgI2FjdGlvbnNcbiAgICAgICAgICAgICAgYXJpYS1jb250cm9scz1cInBhbmVsQWN0aW9uc1wiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiISFvdmVybGF5UmVmXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZU1vcmVEcm9wZG93bigkZXZlbnQsIGluZGV4LCB0cmFuc2ZvKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwibW9yZV9ob3JpelwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L3RyPlxuICAgICAgPC90Ym9keT5cbiAgICA8L3RhYmxlPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiVmlld01vZGUuQ09OU1VMVFwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzZWxlY3RlZFRyYW5zZm9cIj5cbiAgICAgIDxwcnktcGlwZWxpbmUtZGV0YWlsc1xuICAgICAgICBbcGlwZWxpbmVdPVwic2VsZWN0ZWRUcmFuc2ZvXCJcbiAgICAgICAgKGdvVG9MaXN0KT1cImxpc3QoKVwiXG4gICAgICAgIChnb1RvRWRpdG9yKT1cInNhdmVQaXBlbGluZSgkZXZlbnQpXCJcbiAgICAgICAgKGV4ZWN1dGVDb25maXJtKT1cInRvZ2dsZUV4ZWN1dGVDb25maXJtKClcIlxuICAgICAgPjwvcHJ5LXBpcGVsaW5lLWRldGFpbHM+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJWaWV3TW9kZS5DUkVBVElPTlwiPlxuICAgIDxwcnktcGlwZWxpbmUtZGV0YWlscyAoZ29Ub0xpc3QpPVwibGlzdCgpXCIgKGdvVG9FZGl0b3IpPVwic2F2ZVBpcGVsaW5lKCRldmVudClcIj48L3ByeS1waXBlbGluZS1kZXRhaWxzPlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiVmlld01vZGUuRURJVE9SXCI+XG4gICAgPHByeS1waXBlbGluZS1lZGl0b3IgW3BpcGVsaW5lXT1cInNlbGVjdGVkVHJhbnNmb1wiIChnb1RvQ29uc3VsdCk9XCJjb25zdWx0KCRldmVudClcIj48L3ByeS1waXBlbGluZS1lZGl0b3I+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG48bmctdGVtcGxhdGUgI25vRXhlY3V0aW9uPlxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLXN0YXRlXCI+XG4gICAgPHNwYW4+e3sgJ0BwcnkucGlwZWxpbmUua28nIHwgaTE4biB9fTwvc3Bhbj5cbiAgICA8cHJ5LWljb24gW2hlaWdodF09XCIxNVwiIFt3aWR0aF09XCIxNVwiIGljb25Tdmc9XCJkYW5nZXJcIiBjbGFzcz1cImRhbmdlclwiPjwvcHJ5LWljb24+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNkcm9wZG93bj5cbiAgPGRpdlxuICAgIGNsYXNzPVwibS1jb250ZXh0LW1lbnVcIlxuICAgIGlkPVwicGFuZWxBY3Rpb25zXCJcbiAgICAqbmdJZj1cInNlbGVjdGVkVHJhbnNmb1wiXG4gICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXG4gICAgKGtleWRvd24uZXNjYXBlKT1cImNsb3NlRHJvcGRvd24oKVwiXG4gICAgY2RrVHJhcEZvY3VzXG4gICAgW2Nka1RyYXBGb2N1c0F1dG9DYXB0dXJlXT1cInRydWVcIlxuICAgIHJvbGU9XCJkaWFsb2dcIlxuICAgIGFyaWEtbW9kYWw9XCJ0cnVlXCJcbiAgICBhcmlhLWxhYmVsbGVkYnk9XCJkaWFsb2cgcGFuZWxBY3Rpb25zXCJcbiAgPlxuICAgIDx1bCBjbGFzcz1cIm0tY29udGV4dC1tZW51X19saXN0XCI+XG4gICAgICA8bGkgY2xhc3M9XCJtLWNvbnRleHQtbWVudV9fbGlzdF9faXRlbVwiIHJvbGU9XCJub25lXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICAjdG9nZ2xlQWN0aW9uc1xuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiYS1idG5cIlxuICAgICAgICAgIHJvbGU9XCJtZW51aXRlbVwiXG4gICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVN0YXRlKHNlbGVjdGVkVHJhbnNmbylcIlxuICAgICAgICAgIChrZXlkb3duLmFycm93RG93bik9XCJuYXZpZ2F0ZUNvbnRleHRNZW51KGFjdGl2YXRlLCBleGVjdXRlKVwiXG4gICAgICAgICAgKGtleWRvd24uYXJyb3dVcCk9XCJuYXZpZ2F0ZUNvbnRleHRNZW51KGFjdGl2YXRlLCBleGVjdXRlKVwiXG4gICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgICAjYWN0aXZhdGVcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuPnt7IChzZWxlY3RlZFRyYW5zZm8uYWN0aXZlID8gJ0BwcnkucGlwZWxpbmUuZGVhY3RpdmF0ZScgOiAnQHByeS5waXBlbGluZS5hY3RpdmF0ZScpIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2xpPlxuICAgICAgPGxpIGNsYXNzPVwibS1jb250ZXh0LW1lbnVfX2xpc3RfX2l0ZW1cIiByb2xlPVwibm9uZVwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgI2V4ZWN1dGVcbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICByb2xlPVwibWVudWl0ZW1cIlxuICAgICAgICAgIGlkPVwiZXhlY3V0ZVwiXG4gICAgICAgICAgY2xhc3M9XCJhLWJ0blwiXG4gICAgICAgICAgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgKGtleWRvd24uYXJyb3dEb3duKT1cIm5hdmlnYXRlQ29udGV4dE1lbnUoZXhlY3V0ZSwgYWN0aXZhdGUpXCJcbiAgICAgICAgICAoa2V5ZG93bi5hcnJvd1VwKT1cIm5hdmlnYXRlQ29udGV4dE1lbnUoZXhlY3V0ZSwgYWN0aXZhdGUpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIXNlbGVjdGVkVHJhbnNmby5hY3RpdmVcIlxuICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVFeGVjdXRlQ29uZmlybSgpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxzcGFuPnt7ICdAcHJ5LnBpcGVsaW5lLmV4ZWN1dGUnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbjxuZy10ZW1wbGF0ZSAjdGVtcGxhdGVNb2RhbD5cbiAgPGRpdlxuICAgIGNsYXNzPVwiby1tb2RhbFwiXG4gICAgKm5nSWY9XCJzZWxlY3RlZFRyYW5zZm9cIlxuICAgIChrZXlkb3duLmVzY2FwZSk9XCJ0b2dnbGVFeGVjdXRlQ29uZmlybSgpXCJcbiAgICByb2xlPVwiZGlhbG9nXCJcbiAgICBhcmlhLW1vZGFsPVwidHJ1ZVwiXG4gICAgYXJpYS1sYWJlbGxlZGJ5PVwiZGlhbG9nIGNvbmZpcm0gZGVsZXRlIHByZXNlbnRhdGlvblwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwiby1tb2RhbF9fdG9wXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1tb2RhbF9fdG9wX190aXRsZVwiPlxuICAgICAgICA8aDIgY2xhc3M9XCJhLWgyXCIgaWQ9XCJkaWFsb2dfdGl0bGVcIj5cbiAgICAgICAgICB7eyAnQHByeS53aWRnZXQubW9kYWxUaXRsZScgfCBpMThuIH19XG4gICAgICAgIDwvaDI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLW1vZGFsX190b3BfX2Nsb3NlXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHlcIlxuICAgICAgICAgICNjcm9zc1xuICAgICAgICAgIChrZXlkb3duLnNoaWZ0LnRhYik9XCJmb2N1c0VsZW1lbnQoY29uZmlybSlcIlxuICAgICAgICAgIChjbGljayk9XCJjYW5jZWxSZW1vdmVDb25maXJtKClcIlxuICAgICAgICA+XG4gICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJjbG9zZVwiIFtoZWlnaHRdPVwiMzVcIiBbd2lkdGhdPVwiMzVcIj48L3ByeS1pY29uPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS50b29sYm94LmNsb3NlJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm0tYnRuLWdyb3VwXCI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjY2FuY2VsIChjbGljayk9XCJjYW5jZWxSZW1vdmVDb25maXJtKClcIiBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnlcIj5cbiAgICAgICAge3sgJ0BwcnkudG9vbGJveC5tYW5pZmVzdC5jbG9zZScgfCBpMThuIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICNjb25maXJtXG4gICAgICAgIGlkPVwiY29uZmlybVwiXG4gICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIlxuICAgICAgICAoY2xpY2spPVwiY29uZmlybUV4ZWN1dGlvbihzZWxlY3RlZFRyYW5zZm8pXCJcbiAgICAgICAgKGtleWRvd24udGFiKT1cImZvY3VzRWxlbWVudChjcm9zcylcIlxuICAgICAgPlxuICAgICAgICB7eyAnQHByeS50b29sYm94Lm1hbmlmZXN0LnZhbGlkYXRlJyB8IGkxOG4gfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -14,6 +14,7 @@ import { frTranslations } from './i18n/fr.translations';
|
|
|
14
14
|
import { PipelineEffects } from './store/pipeline.effects';
|
|
15
15
|
import { pipelineFeatureKey, pipelineReducer } from './store/pipeline.reducer';
|
|
16
16
|
import { PryPipelineCssComponent } from './style/css.component';
|
|
17
|
+
import { A11yModule } from '@angular/cdk/a11y';
|
|
17
18
|
import * as i0 from "@angular/core";
|
|
18
19
|
import * as i1 from "@provoly/dashboard";
|
|
19
20
|
import * as i2 from "@ngrx/store";
|
|
@@ -42,7 +43,8 @@ export class PryPipelineModule {
|
|
|
42
43
|
PryToggleModule,
|
|
43
44
|
PrySinceDateModule,
|
|
44
45
|
ReactiveFormsModule,
|
|
45
|
-
OverlayModule
|
|
46
|
+
OverlayModule,
|
|
47
|
+
A11yModule], exports: [PryPipelineEditorComponent,
|
|
46
48
|
PryPipelineCssComponent,
|
|
47
49
|
PryPipelineListComponent,
|
|
48
50
|
PryPipelineDetailsComponent] }); }
|
|
@@ -57,7 +59,8 @@ export class PryPipelineModule {
|
|
|
57
59
|
PryToggleModule,
|
|
58
60
|
PrySinceDateModule,
|
|
59
61
|
ReactiveFormsModule,
|
|
60
|
-
OverlayModule
|
|
62
|
+
OverlayModule,
|
|
63
|
+
A11yModule] }); }
|
|
61
64
|
}
|
|
62
65
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryPipelineModule, decorators: [{
|
|
63
66
|
type: NgModule,
|
|
@@ -74,10 +77,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
|
74
77
|
PryToggleModule,
|
|
75
78
|
PrySinceDateModule,
|
|
76
79
|
ReactiveFormsModule,
|
|
77
|
-
OverlayModule
|
|
80
|
+
OverlayModule,
|
|
81
|
+
A11yModule
|
|
78
82
|
],
|
|
79
83
|
declarations: [...components],
|
|
80
84
|
exports: [...components]
|
|
81
85
|
}]
|
|
82
86
|
}], ctorParameters: function () { return [{ type: i1.PryI18nService }]; } });
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvcGlwZWxpbmUvcGlwZWxpbmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFDTCxhQUFhLEVBQ2IsYUFBYSxFQUViLGFBQWEsRUFDYixhQUFhLEVBQ2IsZUFBZSxFQUNoQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzdFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzlGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7O0FBRS9DLE1BQU0sVUFBVSxHQUFHO0lBQ2pCLDBCQUEwQjtJQUMxQix1QkFBdUI7SUFDdkIsd0JBQXdCO0lBQ3hCLDJCQUEyQjtDQUM1QixDQUFDO0FBcUJGLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFBb0IsbUJBQW1DO1FBQW5DLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBZ0I7UUFDckQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUMzRSxDQUFDOzhHQUpVLGlCQUFpQjsrR0FBakIsaUJBQWlCLGlCQXpCNUIsMEJBQTBCO1lBQzFCLHVCQUF1QjtZQUN2Qix3QkFBd0I7WUFDeEIsMkJBQTJCLGFBS3pCLFlBQVk7WUFDWixhQUFhLGtEQUdiLGFBQWE7WUFDYixhQUFhO1lBQ2IsYUFBYTtZQUNiLFdBQVc7WUFDWCxlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLG1CQUFtQjtZQUNuQixhQUFhO1lBQ2IsVUFBVSxhQXBCWiwwQkFBMEI7WUFDMUIsdUJBQXVCO1lBQ3ZCLHdCQUF3QjtZQUN4QiwyQkFBMkI7K0dBc0JoQixpQkFBaUIsWUFqQjFCLFlBQVk7WUFDWixhQUFhO1lBQ2IsV0FBVyxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRSxlQUFlLENBQUM7WUFDM0QsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQzNDLGFBQWE7WUFDYixhQUFhO1lBQ2IsYUFBYTtZQUNiLFdBQVc7WUFDWCxlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLG1CQUFtQjtZQUNuQixhQUFhO1lBQ2IsVUFBVTs7MkZBS0QsaUJBQWlCO2tCQW5CN0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLFdBQVcsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLEVBQUUsZUFBZSxDQUFDO3dCQUMzRCxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUM7d0JBQzNDLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixhQUFhO3dCQUNiLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixVQUFVO3FCQUNYO29CQUNELFlBQVksRUFBRSxDQUFDLEdBQUcsVUFBVSxDQUFDO29CQUM3QixPQUFPLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQztpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEVmZmVjdHNNb2R1bGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IFN0b3JlTW9kdWxlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgUHJ5Q29yZU1vZHVsZSxcbiAgUHJ5STE4bk1vZHVsZSxcbiAgUHJ5STE4blNlcnZpY2UsXG4gIFByeUljb25Nb2R1bGUsXG4gIFByeVNvcnRNb2R1bGUsXG4gIFByeVRvZ2dsZU1vZHVsZVxufSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgUHJ5U2luY2VEYXRlTW9kdWxlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkL2NvbXBvbmVudHMvc2luY2VEYXRlJztcbmltcG9ydCB7IFByeVBpcGVsaW5lRGV0YWlsc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9waXBlbGluZS1kZXRhaWxzL3BpcGVsaW5lLWRldGFpbHMuY29tcG9uZW50JztcbmltcG9ydCB7IFByeVBpcGVsaW5lRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BpcGVsaW5lLWVkaXRvci9waXBlbGluZS1lZGl0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IFByeVBpcGVsaW5lTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9waXBlbGluZS1saXN0L3BpcGVsaW5lLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IGVuVHJhbnNsYXRpb25zIH0gZnJvbSAnLi9pMThuL2VuLnRyYW5zbGF0aW9ucyc7XG5pbXBvcnQgeyBmclRyYW5zbGF0aW9ucyB9IGZyb20gJy4vaTE4bi9mci50cmFuc2xhdGlvbnMnO1xuaW1wb3J0IHsgUGlwZWxpbmVFZmZlY3RzIH0gZnJvbSAnLi9zdG9yZS9waXBlbGluZS5lZmZlY3RzJztcbmltcG9ydCB7IHBpcGVsaW5lRmVhdHVyZUtleSwgcGlwZWxpbmVSZWR1Y2VyIH0gZnJvbSAnLi9zdG9yZS9waXBlbGluZS5yZWR1Y2VyJztcbmltcG9ydCB7IFByeVBpcGVsaW5lQ3NzQ29tcG9uZW50IH0gZnJvbSAnLi9zdHlsZS9jc3MuY29tcG9uZW50JztcbmltcG9ydCB7IEExMXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5cbmNvbnN0IGNvbXBvbmVudHMgPSBbXG4gIFByeVBpcGVsaW5lRWRpdG9yQ29tcG9uZW50LFxuICBQcnlQaXBlbGluZUNzc0NvbXBvbmVudCxcbiAgUHJ5UGlwZWxpbmVMaXN0Q29tcG9uZW50LFxuICBQcnlQaXBlbGluZURldGFpbHNDb21wb25lbnRcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUHJ5Q29yZU1vZHVsZSxcbiAgICBTdG9yZU1vZHVsZS5mb3JGZWF0dXJlKHBpcGVsaW5lRmVhdHVyZUtleSwgcGlwZWxpbmVSZWR1Y2VyKSxcbiAgICBFZmZlY3RzTW9kdWxlLmZvckZlYXR1cmUoW1BpcGVsaW5lRWZmZWN0c10pLFxuICAgIFByeUljb25Nb2R1bGUsXG4gICAgUHJ5STE4bk1vZHVsZSxcbiAgICBQcnlTb3J0TW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFByeVRvZ2dsZU1vZHVsZSxcbiAgICBQcnlTaW5jZURhdGVNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBPdmVybGF5TW9kdWxlLFxuICAgIEExMXlNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbLi4uY29tcG9uZW50c10sXG4gIGV4cG9ydHM6IFsuLi5jb21wb25lbnRzXVxufSlcbmV4cG9ydCBjbGFzcyBQcnlQaXBlbGluZU1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcHJ5VHJhbnNsYXRlU2VydmljZTogUHJ5STE4blNlcnZpY2UpIHtcbiAgICB0aGlzLnByeVRyYW5zbGF0ZVNlcnZpY2UuYWRkTGFuZ09iamVjdCgnZnInLCAncGlwZWxpbmUnLCBmclRyYW5zbGF0aW9ucyk7XG4gICAgdGhpcy5wcnlUcmFuc2xhdGVTZXJ2aWNlLmFkZExhbmdPYmplY3QoJ2VuJywgJ3BpcGVsaW5lJywgZW5UcmFuc2xhdGlvbnMpO1xuICB9XG59XG4iXX0=
|
|
@@ -3,12 +3,7 @@ import { SupervisionActions } from './supervision.actions';
|
|
|
3
3
|
export const supervisionFeatureKey = '@pry/supervision';
|
|
4
4
|
export const initialSupervisionState = {
|
|
5
5
|
highlightedMenu: 'infrastructures',
|
|
6
|
-
menus: [
|
|
7
|
-
{ menu: 'infrastructures', module: 'supervision', page: 'infrastructures' },
|
|
8
|
-
{ menu: 'input-flows', module: 'supervision', page: 'input_flows' },
|
|
9
|
-
{ menu: 'business-datas', module: 'supervision', page: 'business_datas' },
|
|
10
|
-
{ menu: 'integration-errors', module: 'supervision', page: 'integration_errors' }
|
|
11
|
-
],
|
|
6
|
+
menus: [{ menu: 'integration-errors', module: 'supervision', page: 'integration_errors' }],
|
|
12
7
|
menuOpen: true,
|
|
13
8
|
actions: [],
|
|
14
9
|
subActions: [],
|
|
@@ -112,4 +107,4 @@ export const supervisionReducer = createReducer(initialSupervisionState, on(Supe
|
|
|
112
107
|
...state,
|
|
113
108
|
refreshInterval: action.interval
|
|
114
109
|
})));
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwZXJ2aXNpb24ucmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3N1cGVydmlzaW9uL3N0b3JlL3N1cGVydmlzaW9uLnJlZHVjZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFM0QsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsa0JBQWtCLENBQUM7QUFvQnhELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFxQjtJQUN2RCxlQUFlLEVBQUUsaUJBQWlCO0lBQ2xDLEtBQUssRUFBRTtRQUNMLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFO1FBQzNFLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUU7UUFDbkUsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7UUFDekUsRUFBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsb0JBQW9CLEVBQUU7S0FDbEY7SUFDRCxRQUFRLEVBQUUsSUFBSTtJQUNkLE9BQU8sRUFBRSxFQUFFO0lBQ1gsVUFBVSxFQUFFLEVBQUU7SUFDZCxlQUFlLEVBQUUsRUFBRTtJQUNuQixjQUFjLEVBQUUsU0FBUztJQUN6QixVQUFVLEVBQUUsRUFBRTtJQUNkLGFBQWEsRUFBRSxFQUFFO0lBQ2pCLGlCQUFpQixFQUFFLEVBQUU7SUFDckIsZ0JBQWdCLEVBQUUsS0FBSztJQUN2QixlQUFlLEVB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QztJQUMzRCxHQUFHLEtBQUs7SUFDUixPQUFPLEVBQUUsSUFBSTtDQUNkLENBQUMsQ0FBQyxFQUNILEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDbEUsR0FBRyxLQUFLO0lBQ1IsT0FBTyxFQUFFLEtBQUs7Q0FDZixDQUFDLENBQUMsRUFDSCxFQUFFLENBQUMsa0JBQWtCLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLEdBQUcsS0FBSztJQUNSLE9BQU8sRUFBRSxLQUFLO0NBQ2YsQ0FBQyxDQUFDLEVBQ0gsRUFBRSxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM1RCxHQUFHLEtBQUs7SUFDUixlQUFlLEVBQUUsTUFBTSxDQUFDLFFBQVE7Q0FDakMsQ0FBQyxDQUFDLENBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVJlZHVjZXIsIG9uIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQmFzZU1lbnVJdGVtLCBCYXNlVG9vbGJveEFjdGlvbiwgQnVzaW5lc3NEYXRhIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IEluZnJhc3RydWN0dXJlLCBJbnB1dEZsb3csIEludGVncmF0aW9uRXJyb3IsIExhc3RJbmZyYXN0cnVjdHVyZVNjYWxlIH0gZnJvbSAnLi9zdXBlcnZpc2lvbi1hcGkubW9kZWwnO1xuaW1wb3J0IHsgU3VwZXJ2aXNpb25BY3Rpb25zIH0gZnJvbSAnLi9zdXBlcnZpc2lvbi5hY3Rpb25zJztcblxuZXhwb3J0IGNvbnN0IHN1cGVydmlzaW9uRmVhdHVyZUtleSA9ICdAcHJ5L3N1cGVydmlzaW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBTdXBlcnZpc2lvblN0YXRlIHtcbiAgaGlnaGxpZ2h0ZWRNZW51OiBzdHJpbmc7XG4gIG1lbnVzOiBCYXNlTWVudUl0ZW1bXTtcbiAgbWVudU9wZW46IGJvb2xlYW47XG4gIGFjdGlvbnM6IEJhc2VUb29sYm94QWN0aW9uW107XG4gIHN1YkFjdGlvbnM6IEJhc2VUb29sYm94QWN0aW9uW107XG4gIGluZnJhc3RydWN0dXJlczogSW5mcmFzdHJ1Y3R1cmVbXTtcbiAgbGFzdEluZnJhU2NhbGU6IExhc3RJbmZyYXN0cnVjdHVyZVNjYWxlIHwgdW5kZWZpbmVkO1xuICBpbnB1dEZsb3dzOiBJbnB1dEZsb3dbXTtcbiAgYnVzaW5lc3NEYXRhczogQnVzaW5lc3NEYXRhW107XG4gIGludGVncmF0aW9uRXJyb3JzOiBJbnRlZ3JhdGlvbkVycm9yW107XG4gIGN1cnJlbnRJbnRlZ3JhdGlvbkVycm9yPzogSW50ZWdyYXRpb25FcnJvciB8IG51bGw7XG4gIGVycm9yRGV0YWlsc09wZW46IGJvb2xlYW47XG4gIHNlbGVjdGVkQ2xhc3Nlczogc3RyaW5nW107XG4gIHJlZnJlc2hJbnRlcnZhbDogbnVtYmVyO1xuICBsb2FkaW5nOiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgaW5pdGlhbFN1cGVydmlzaW9uU3RhdGU6IFN1cGVydmlzaW9uU3RhdGUgPSB7XG4gIGhpZ2hsaWdodGVkTWVudTogJ2luZnJhc3RydWN0dXJlcycsXG4gIG1lbnVzOiBbXG4gICAgeyBtZW51OiAnaW5mcmFzdHJ1Y3R1cmVzJywgbW9kdWxlOiAnc3VwZXJ2aXNpb24nLCBwYWdlOiAnaW5mcmFzdHJ1Y3R1cmVzJyB9LFxuICAgIHsgbWVudTogJ2lucHV0LWZsb3dzJywgbW9kdWxlOiAnc3VwZXJ2aXNpb24nLCBwYWdlOiAnaW5wdXRfZmxvd3MnIH0sXG4gICAgeyBtZW51OiAnYnVzaW5lc3MtZGF0YXMnLCBtb2R1bGU6ICdzdXBlcnZpc2lvbicsIHBhZ2U6ICdidXNpbmVzc19kYXRhcycgfSxcbiAgICB7IG1lbnU6ICdpbnRlZ3JhdGlvbi1lcnJvcnMnLCBtb2R1bGU6ICdzdXBlcnZpc2lvbicsIHBhZ2U6ICdpbnRlZ3JhdGlvbl9lcnJvcnMnIH1cbiAgXSxcbiAgbWVudU9wZW46IHRydWUsXG4gIGFjdGlvbnM6IFtdLFxuICBzdWJBY3Rpb25zOiBbXSxcbiAgaW5mcmFzdHJ1Y3R1cmVzOiBbXSxcbiAgbGFzdEluZnJhU2NhbGU6IHVuZGVmaW5lZCxcbiAgaW5wdXRGbG93czogW10sXG4gIGJ1c2luZXNzRGF0YXM6IFtdLFxuICBpbnRlZ3JhdGlvbkVycm9yczogW10sXG4gIGVycm9yRGV0YWlsc09wZW46IGZhbHNlLFxuICBzZWxlY3RlZENsYXNzZXM6IFtdLFxuICByZWZyZXNoSW50ZXJ2YWw6IDMwMDAwLFxuICBsb2FkaW5nOiBmYWxzZVxufTtcblxuZXhwb3J0IGNvbnN0IHN1cGVydmlzaW9uUmVkdWNlciA9IGNyZWF0ZVJlZHVjZXIoXG4gIGluaXRpYWxTdXBlcnZpc2lvblN0YXRlLFxuICBvbihTdXBlcnZpc2lvbkFjdGlvbnMuaGlnaExpZ2h0TWVudSwgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgaGlnaGxpZ2h0ZWRNZW51OiBhY3Rpb24ubWVudVxuICB9KSksXG4gIG9uKFN1cGVydmlzaW9uQWN0aW9ucy50b2dnbGVNZW51LCAoc3RhdGUpID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgbWVudU9wZW46ICFzdGF0ZS5tZW51T3BlblxuICB9KSksXG4gIG9uKFN1cGVydmlzaW9uQWN0aW9ucy5yZXNldEFjdGlvbnMsIChzdGF0ZSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBhY3Rpb25zOiBbXSxcbiAgICBzdWJBY3Rpb25zOiBbXVxuICB9KSksXG4gIG9uKFN1cGVydmlzaW9uQWN0aW9ucy5tYWluQWN0aW9ucywgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgYWN0aW9uczogWy4uLmFjdGlvbi5hY3Rpb25zXVxuICB9KSksXG4gIG9uKFN1cGVydmlzaW9uQWN0aW9ucy5zdWJBY3Rpb25zLCAoc3RhdGUsIGFjdGlvbikgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBzdWJBY3Rpb25zOiBbLi4uYWN0aW9uLmFjdGlvbnNdXG4gIH0pKSxcbiAgb24oU3VwZXJ2aXNpb25BY3Rpb25zLmxvYWRJbmZyYXMsIChzdGF0ZSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBsb2FkaW5nOiB0cnVlXG4gIH0pKSxcbiAgb24oU3VwZXJ2aXNpb25BY3Rpb25zLmxvYWRJbmZyYXNTdWNjZXNzLCAoc3RhdGUsIGFjdGlvbikgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBpbmZyYXN0cnVjdHVyZXM6IFsuLi5hY3Rpb24uaW5mcmFzXSxcbiAgICBsb2FkaW5nOiBmYWxzZVxuICB9KSksXG4gIG9uKFN1cGVydmlzaW9uQWN0aW9ucy5sb2FkSW5mcmFzRmFpbHVyZSwgKHN0YXRlKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGxvYWRpbmc6IGZhbHNlXG4gIH0pKSxcbiAgb24oU3VwZXJ2aXNpb25BY3Rpb25zLnNjYWxlSW5mcmEsIChzdGF0ZSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBsb2FkaW5nOiB0cnVlXG4gIH0pKSxcbiAgb24oU3VwZXJ2aXNpb25BY3Rpb25zLnNjYWxlSW5mcmFTdWNjZXNzLCAoc3RhdGUsIGFjdGlvbikgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBsYXN0SW5mcmFTY2FsZTogeyBuYW1lOiBhY3Rpb24ubmFtZSwgdGltZTogYWN0aW9uLnRpbWUsIHVwOiBhY3Rpb24udXAgfVxuICB9KSksXG4gIG9uKFN1cGVydmlzaW9uQWN0aW9ucy5zY2FsZUluZnJhRmFpbHVyZSwgKHN0YXRlKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGxvYWRpbmc6IGZhbHNlXG4gIH0pKSxcbiAgb24oU3VwZXJ2aXNpb25BY3Rpb25zLmxvYWRGbG93cywgKHN0YXRlKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGxvYWRpbmc6IHRydWVcbiAgfSkpLFxuICBvbihTdXBlcnZpc2lvbkFjdGlvbnMubG9hZEZsb3dzU3VjY2VzcywgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgaW5wdXRGbG93czogWy4uLmFjdGlvbi5mbG93c10sXG4gICAgbG9hZGluZzogZmFsc2VcbiAgfSkpLFxuICBvbihTdXBlcnZpc2lvbkFjdGlvbnMubG9hZEZsb3dzRmFpbHVyZSwgKHN0YXRlKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGxvYWRpbmc6IGZhbHNlXG4gIH0pKSxcbiAgb24oU3VwZXJ2aXNpb25BY3Rpb25zLmxvYWRJbnRlZ3JhdGlvbkVycm9ycywgKHN0YXRlKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGxvYWRpbmc6IHRydWVcbiAgfSkpLFxuICBvbihTdXBlcnZpc2lvbkFjdGlvbnMubG9hZEludGVncmF0aW9uRXJyb3JzU3VjY2VzcywgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgaW50ZWdyYXRpb25FcnJvcnM6IFsuLi5hY3Rpb24uaW50ZWdyYXRpb25FcnJvcnNdLFxuICAgIGxvYWRpbmc6IGZhbHNlXG4gIH0pKSxcbiAgb24oU3VwZXJ2aXNpb25BY3Rpb25zLmxvYWRJbnRlZ3JhdGlvbkVycm9yc0ZhaWx1cmUsIChzdGF0ZSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBsb2FkaW5nOiBmYWxzZVxuICB9KSksXG4gIG9uKFN1cGVydmlzaW9uQWN0aW9ucy50b2dnbGVFcnJvckRldGFpbHMsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGN1cnJlbnRJbnRlZ3JhdGlvbkVycm9yOiBhY3Rpb24uZXJyb3IsXG4gICAgZXJyb3JEZXRhaWxzT3BlbjogYWN0aW9uLmVycm9yRGV0YWlsc09wZW5cbiAgfSkpLFxuICBvbihTdXBlcnZpc2lvbkFjdGlvbnMudG9nZ2xlQ2xhc3NTZWxlY3Rpb24sIChzdGF0ZSwgYWN0aW9uKSA9PiB7XG4gICAgbGV0IHVwZGF0ZWRDbGFzc2VzO1xuICAgIGlmIChzdGF0ZS5zZWxlY3RlZENsYXNzZXMuaW5jbHVkZXMoYWN0aW9uLnNlbGVjdGVkQ2xhc3MpKSB7XG4gICAgICB1cGRhdGVkQ2xhc3NlcyA9IHN0YXRlLnNlbGVjdGVkQ2xhc3Nlcy5maWx0ZXIoKG9jbGFzcykgPT4gb2NsYXNzICE9PSBhY3Rpb24uc2VsZWN0ZWRDbGFzcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVwZGF0ZWRDbGFzc2VzID0gWy4uLnN0YXRlLnNlbGVjdGVkQ2xhc3NlcywgYWN0aW9uLnNlbGVjdGVkQ2xhc3NdO1xuICAgIH1cbiAgICByZXR1cm4geyAuLi5zdGF0ZSwgc2VsZWN0ZWRDbGFzc2VzOiB1cGRhdGVkQ2xhc3NlcyB9O1xuICB9KSxcbiAgb24oU3VwZXJ2aXNpb25BY3Rpb25zLnJlbG9hZEVycm9ycywgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgbG9hZGluZzogdHJ1ZVxuICB9KSksXG4gIG9uKFN1cGVydmlzaW9uQWN0aW9ucy5yZWxvYWRFcnJvcnNTdWNjZXNzLCAoc3RhdGUsIGFjdGlvbikgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBsb2FkaW5nOiBmYWxzZVxuICB9KSksXG4gIG9uKFN1cGVydmlzaW9uQWN0aW9ucy5yZWxvYWRFcnJvcnNGYWlsdXJlLCAoc3RhdGUsIGFjdGlvbikgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBsb2FkaW5nOiBmYWxzZVxuICB9KSksXG4gIG9uKFN1cGVydmlzaW9uQWN0aW9ucy5hY2tub3dsZWRnZUVycm9ycywgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgbG9hZGluZzogdHJ1ZVxuICB9KSksXG4gIG9uKFN1cGVydmlzaW9uQWN0aW9ucy5hY2tub3dsZWRnZUVycm9yc1N1Y2Nlc3MsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGxvYWRpbmc6IGZhbHNlXG4gIH0pKSxcbiAgb24oU3VwZXJ2aXNpb25BY3Rpb25zLmFja25vd2xlZGdlRXJyb3JzRmFpbHVyZSwgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgbG9hZGluZzogZmFsc2VcbiAgfSkpLFxuICBvbihTdXBlcnZpc2lvbkFjdGlvbnMuc2V0UmVmcmVzaEludGVydmFsLCAoc3RhdGUsIGFjdGlvbikgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICByZWZyZXNoSW50ZXJ2YWw6IGFjdGlvbi5pbnRlcnZhbFxuICB9KSlcbik7XG4iXX0=
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwZXJ2aXNpb24ucmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3N1cGVydmlzaW9uL3N0b3JlL3N1cGVydmlzaW9uLnJlZHVjZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFM0QsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsa0JBQWtCLENBQUM7QUFvQnhELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFxQjtJQUN2RCxlQUFlLEVBQUUsaUJBQWlCO0lBQ2xDLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFLENBQUM7SUFDMUYsUUFBUSxFQUFFLElBQUk7SUFDZCxPQUFPLEVBQUUsRUFBRTtJQUNYLFVBQVUsRUFBRSxFQUFFO0lBQ2QsZUFBZSxFQUFFLEVBQUU7SUFDbkIsY0FBYyxFQUFFLFNBQVM7SUFDekIsVUFBVSxFQUFFLEVBQUU7SUFDZCxhQUFhLEVBQUUsRUFBRTtJQUNqQixpQkFBaUIsRUFBRSxFQUFFO0lBQ3JCLGdCQUFnQixFQUFFLEtBQUs7SUFDdkIsZUFBZSxFQUFFLEVBQUU7SUFDbkIsZUFBZSxFQUFFLEtBQUs7SUFDdEIsT0FBTyxFQUFFLEtBQUs7Q0FDZixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUM3Qyx1QkFBdUIsRUFDdkIsRUFBRSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdkQsR0FBRyxLQUFLO0lBQ1IsZUFBZSxFQUFFLE1B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LENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNsRSxHQUFHLEtBQUs7SUFDUixPQUFPLEVBQUUsS0FBSztDQUNmLENBQUMsQ0FBQyxFQUNILEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDNUQsR0FBRyxLQUFLO0lBQ1IsZUFBZSxFQUFFLE1BQU0sQ0FBQyxRQUFRO0NBQ2pDLENBQUMsQ0FBQyxDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVSZWR1Y2VyLCBvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEJhc2VNZW51SXRlbSwgQmFzZVRvb2xib3hBY3Rpb24sIEJ1c2luZXNzRGF0YSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBJbmZyYXN0cnVjdHVyZSwgSW5wdXRGbG93LCBJbnRlZ3JhdGlvbkVycm9yLCBMYXN0SW5mcmFzdHJ1Y3R1cmVTY2FsZSB9IGZyb20gJy4vc3VwZXJ2aXNpb24tYXBpLm1vZGVsJztcbmltcG9ydCB7IFN1cGVydmlzaW9uQWN0aW9ucyB9IGZyb20gJy4vc3VwZXJ2aXNpb24uYWN0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBzdXBlcnZpc2lvbkZlYXR1cmVLZXkgPSAnQHByeS9zdXBlcnZpc2lvbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VwZXJ2aXNpb25TdGF0ZSB7XG4gIGhpZ2hsaWdodGVkTWVudTogc3RyaW5nO1xuICBtZW51czogQmFzZU1lbnVJdGVtW107XG4gIG1lbnVPcGVuOiBib29sZWFuO1xuICBhY3Rpb25zOiBCYXNlVG9vbGJveEFjdGlvbltdO1xuICBzdWJBY3Rpb25zOiBCYXNlVG9vbGJveEFjdGlvbltdO1xuICBpbmZyYXN0cnVjdHVyZXM6IEluZnJhc3RydWN0dXJlW107XG4gIGxhc3RJbmZyYVNjYWxlOiBMYXN0SW5mcmFzdHJ1Y3R1cmVTY2FsZSB8IHVuZGVmaW5lZDtcbiAgaW5wdXRGbG93czogSW5wdXRGbG93W107XG4gIGJ1c2luZXNzRGF0YXM6IEJ1c2luZXNzRGF0YVtdO1xuICBpbnRlZ3JhdGlvbkVycm9yczogSW50ZWdyYXRpb25FcnJvcltdO1xuICBjdXJyZW50SW50ZWdyYXRpb25FcnJvcj86IEludGVncmF0aW9uRXJyb3IgfCBudWxsO1xuICBlcnJvckRldGFpbHNPcGVuOiBib29sZWFuO1xuICBzZWxlY3RlZENsYXNzZXM6IHN0cmluZ1tdO1xuICByZWZyZXNoSW50ZXJ2YWw6IG51bWJlcjtcbiAgbG9hZGluZzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNvbnN0IGluaXRpYWxTdXBlcnZpc2lvblN0YXRlOiBTdXBlcnZpc2lvblN0YXRlID0ge1xuICBoaWdobGlnaHRlZE1lbnU6ICdpbmZyYXN0cnVjdHVyZXMnLFxuICBtZW51czogW3sgbWVudTogJ2ludGVncmF0aW9uLWVycm9ycycsIG1vZHVsZTogJ3N1cGVydmlzaW9uJywgcGFnZTogJ2ludGVncmF0aW9uX2Vycm9ycycgfV0sXG4gIG1lbnVPcGVuOiB0cnVlLFxuICBhY3Rpb25zOiBbXSxcbiAgc3ViQWN0aW9uczogW10sXG4gIGluZnJhc3RydWN0dXJlczogW10sXG4gIGxhc3RJbmZyYVNjYWxlOiB1bmRlZmluZWQsXG4gIGlucHV0Rmxvd3M6IFtdLFxuICBidXNpbmVzc0RhdGFzOiBbXSxcbiAgaW50ZWdyYXRpb25FcnJvcnM6IFtdLFxuICBlcnJvckRldGFpbHNPcGVuOiBmYWxzZSxcbiAgc2VsZWN0ZWRDbGFzc2VzOiBbXSxcbiAgcmVmcmVzaEludGVydmFsOiAzMDAwMCxcbiAgbG9hZGluZzogZmFsc2Vcbn07XG5cbmV4cG9ydCBjb25zdCBzdXBlcnZpc2lvblJlZHVjZXIgPSBjcmVhdGVSZWR1Y2VyKFxuICBpbml0aWFsU3VwZXJ2aXNpb25TdGF0ZSxcbiAgb24oU3VwZXJ2aXNpb25BY3Rpb25zLmhpZ2hMaWdodE1lbnUsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGhpZ2hsaWdodGVkTWVudTogYWN0aW9uLm1lbnVcbiAgfSkpLFxuICBvbihTdXBlcnZpc2lvbkFjdGlvbnMudG9nZ2xlTWVudSwgKHN0YXRlKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIG1lbnVPcGVuOiAhc3RhdGUubWVudU9wZW5cbiAgfSkpLFxuICBvbihTdXBlcnZpc2lvbkFjdGlvbnMucmVzZXRBY3Rpb25zLCAoc3RhdGUpID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgYWN0aW9uczogW10sXG4gICAgc3ViQWN0aW9uczogW11cbiAgfSkpLFxuICBvbihTdXBlcnZpc2lvbkFjdGlvbnMubWFpbkFjdGlvbnMsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGFjdGlvbnM6IFsuLi5hY3Rpb24uYWN0aW9uc11cbiAgfSkpLFxuICBvbihTdXBlcnZpc2lvbkFjdGlvbnMuc3ViQWN0aW9ucywgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgc3ViQWN0aW9uczogWy4uLmFjdGlvbi5hY3Rpb25zXVxuICB9KSksXG4gIG9uKFN1cGVydmlzaW9uQWN0aW9ucy5sb2FkSW5mcmFzLCAoc3RhdGUpID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgbG9hZGluZzogdHJ1ZVxuICB9KSksXG4gIG9uKFN1cGVydmlzaW9uQWN0aW9ucy5sb2FkSW5mcmFzU3VjY2VzcywgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgaW5mcmFzdHJ1Y3R1cmVzOiBbLi4uYWN0aW9uLmluZnJhc10sXG4gICAgbG9hZGluZzogZmFsc2VcbiAgfSkpLFxuICBvbihTdXBlcnZpc2lvbkFjdGlvbnMubG9hZEluZnJhc0ZhaWx1cmUsIChzdGF0ZSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBsb2FkaW5nOiBmYWxzZVxuICB9KSksXG4gIG9uKFN1cGVydmlzaW9uQWN0aW9ucy5zY2FsZUluZnJhLCAoc3RhdGUpID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgbG9hZGluZzogdHJ1ZVxuICB9KSksXG4gIG9uKFN1cGVydmlzaW9uQWN0aW9ucy5zY2FsZUluZnJhU3VjY2VzcywgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgbGFzdEluZnJhU2NhbGU6IHsgbmFtZTogYWN0aW9uLm5hbWUsIHRpbWU6IGFjdGlvbi50aW1lLCB1cDogYWN0aW9uLnVwIH1cbiAgfSkpLFxuICBvbihTdXBlcnZpc2lvbkFjdGlvbnMuc2NhbGVJbmZyYUZhaWx1cmUsIChzdGF0ZSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBsb2FkaW5nOiBmYWxzZVxuICB9KSksXG4gIG9uKFN1cGVydmlzaW9uQWN0aW9ucy5sb2FkRmxvd3MsIChzdGF0ZSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBsb2FkaW5nOiB0cnVlXG4gIH0pKSxcbiAgb24oU3VwZXJ2aXNpb25BY3Rpb25zLmxvYWRGbG93c1N1Y2Nlc3MsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGlucHV0Rmxvd3M6IFsuLi5hY3Rpb24uZmxvd3NdLFxuICAgIGxvYWRpbmc6IGZhbHNlXG4gIH0pKSxcbiAgb24oU3VwZXJ2aXNpb25BY3Rpb25zLmxvYWRGbG93c0ZhaWx1cmUsIChzdGF0ZSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBsb2FkaW5nOiBmYWxzZVxuICB9KSksXG4gIG9uKFN1cGVydmlzaW9uQWN0aW9ucy5sb2FkSW50ZWdyYXRpb25FcnJvcnMsIChzdGF0ZSkgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBsb2FkaW5nOiB0cnVlXG4gIH0pKSxcbiAgb24oU3VwZXJ2aXNpb25BY3Rpb25zLmxvYWRJbnRlZ3JhdGlvbkVycm9yc1N1Y2Nlc3MsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGludGVncmF0aW9uRXJyb3JzOiBbLi4uYWN0aW9uLmludGVncmF0aW9uRXJyb3JzXSxcbiAgICBsb2FkaW5nOiBmYWxzZVxuICB9KSksXG4gIG9uKFN1cGVydmlzaW9uQWN0aW9ucy5sb2FkSW50ZWdyYXRpb25FcnJvcnNGYWlsdXJlLCAoc3RhdGUpID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgbG9hZGluZzogZmFsc2VcbiAgfSkpLFxuICBvbihTdXBlcnZpc2lvbkFjdGlvbnMudG9nZ2xlRXJyb3JEZXRhaWxzLCAoc3RhdGUsIGFjdGlvbikgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBjdXJyZW50SW50ZWdyYXRpb25FcnJvcjogYWN0aW9uLmVycm9yLFxuICAgIGVycm9yRGV0YWlsc09wZW46IGFjdGlvbi5lcnJvckRldGFpbHNPcGVuXG4gIH0pKSxcbiAgb24oU3VwZXJ2aXNpb25BY3Rpb25zLnRvZ2dsZUNsYXNzU2VsZWN0aW9uLCAoc3RhdGUsIGFjdGlvbikgPT4ge1xuICAgIGxldCB1cGRhdGVkQ2xhc3NlcztcbiAgICBpZiAoc3RhdGUuc2VsZWN0ZWRDbGFzc2VzLmluY2x1ZGVzKGFjdGlvbi5zZWxlY3RlZENsYXNzKSkge1xuICAgICAgdXBkYXRlZENsYXNzZXMgPSBzdGF0ZS5zZWxlY3RlZENsYXNzZXMuZmlsdGVyKChvY2xhc3MpID0+IG9jbGFzcyAhPT0gYWN0aW9uLnNlbGVjdGVkQ2xhc3MpO1xuICAgIH0gZWxzZSB7XG4gICAgICB1cGRhdGVkQ2xhc3NlcyA9IFsuLi5zdGF0ZS5zZWxlY3RlZENsYXNzZXMsIGFjdGlvbi5zZWxlY3RlZENsYXNzXTtcbiAgICB9XG4gICAgcmV0dXJuIHsgLi4uc3RhdGUsIHNlbGVjdGVkQ2xhc3NlczogdXBkYXRlZENsYXNzZXMgfTtcbiAgfSksXG4gIG9uKFN1cGVydmlzaW9uQWN0aW9ucy5yZWxvYWRFcnJvcnMsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGxvYWRpbmc6IHRydWVcbiAgfSkpLFxuICBvbihTdXBlcnZpc2lvbkFjdGlvbnMucmVsb2FkRXJyb3JzU3VjY2VzcywgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgbG9hZGluZzogZmFsc2VcbiAgfSkpLFxuICBvbihTdXBlcnZpc2lvbkFjdGlvbnMucmVsb2FkRXJyb3JzRmFpbHVyZSwgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgbG9hZGluZzogZmFsc2VcbiAgfSkpLFxuICBvbihTdXBlcnZpc2lvbkFjdGlvbnMuYWNrbm93bGVkZ2VFcnJvcnMsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGxvYWRpbmc6IHRydWVcbiAgfSkpLFxuICBvbihTdXBlcnZpc2lvbkFjdGlvbnMuYWNrbm93bGVkZ2VFcnJvcnNTdWNjZXNzLCAoc3RhdGUsIGFjdGlvbikgPT4gKHtcbiAgICAuLi5zdGF0ZSxcbiAgICBsb2FkaW5nOiBmYWxzZVxuICB9KSksXG4gIG9uKFN1cGVydmlzaW9uQWN0aW9ucy5hY2tub3dsZWRnZUVycm9yc0ZhaWx1cmUsIChzdGF0ZSwgYWN0aW9uKSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGxvYWRpbmc6IGZhbHNlXG4gIH0pKSxcbiAgb24oU3VwZXJ2aXNpb25BY3Rpb25zLnNldFJlZnJlc2hJbnRlcnZhbCwgKHN0YXRlLCBhY3Rpb24pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgcmVmcmVzaEludGVydmFsOiBhY3Rpb24uaW50ZXJ2YWxcbiAgfSkpXG4pO1xuIl19
|