@provoly/dashboard 1.3.9 → 1.3.10

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.
Files changed (32) hide show
  1. package/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.d.ts +2 -2
  2. package/admin/i18n/en.translations.d.ts +1 -1
  3. package/admin/i18n/fr.translations.d.ts +1 -1
  4. package/components/data-format/data-format.pipe.d.ts +1 -1
  5. package/esm2022/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.mjs +9 -9
  6. package/esm2022/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.mjs +3 -3
  7. package/esm2022/admin/i18n/en.translations.mjs +2 -2
  8. package/esm2022/admin/i18n/fr.translations.mjs +2 -2
  9. package/esm2022/components/data-format/data-format.pipe.mjs +4 -4
  10. package/esm2022/components/paginator/paginator.component.mjs +4 -4
  11. package/esm2022/import/components/list/import-list.component.mjs +13 -5
  12. package/esm2022/import/style/css.component.mjs +2 -2
  13. package/esm2022/lib/core/store/field/field.interface.mjs +1 -1
  14. package/esm2022/lib/core/store/field/field.service.mjs +2 -2
  15. package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +11 -7
  16. package/fesm2022/provoly-dashboard-admin.mjs +12 -12
  17. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  18. package/fesm2022/provoly-dashboard-components-data-format.mjs +3 -3
  19. package/fesm2022/provoly-dashboard-components-data-format.mjs.map +1 -1
  20. package/fesm2022/provoly-dashboard-components-paginator.mjs +3 -3
  21. package/fesm2022/provoly-dashboard-components-paginator.mjs.map +1 -1
  22. package/fesm2022/provoly-dashboard-import.mjs +14 -6
  23. package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
  24. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +10 -6
  25. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
  26. package/fesm2022/provoly-dashboard.mjs +1 -1
  27. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  28. package/import/components/list/import-list.component.d.ts +14 -4
  29. package/import/style/_o-import.scss +6 -0
  30. package/lib/core/store/field/field.interface.d.ts +1 -1
  31. package/package.json +37 -37
  32. package/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.d.ts +1 -1
@@ -1,4 +1,4 @@
1
- import { Component, input } from '@angular/core';
1
+ import { Component, input, signal } from '@angular/core';
2
2
  import { DataSourceActions, DataSourceSelectors, PryStatusModalComponent, SubscriptionnerDirective } from '@provoly/dashboard';
3
3
  import { PryVersionModalComponent } from '../version-modal/version-modal.component';
4
4
  import { GlobalPositionStrategy } from '@angular/cdk/overlay';
@@ -14,7 +14,7 @@ export class PryImportListComponent extends SubscriptionnerDirective {
14
14
  super();
15
15
  this.store = store;
16
16
  this.dialog = dialog;
17
- this.loadDataAction = input(DataSourceActions.dataset.listVersions({}));
17
+ this.loadDataAction = signal(DataSourceActions.dataset.listVersions({}));
18
18
  this.refreshClick = input();
19
19
  this.possibleStatus = ['LOADING', 'INDEXING', 'INACTIVE', 'ERROR', 'ACTIVE', 'DELETING', 'DELETE_ERROR'];
20
20
  this.filters = {
@@ -34,6 +34,11 @@ export class PryImportListComponent extends SubscriptionnerDirective {
34
34
  }
35
35
  clearFilters() {
36
36
  this.filters = { dataset: undefined, status: undefined, dateMin: undefined, dateMax: undefined };
37
+ this.store.dispatch({
38
+ ...this.loadDataAction(),
39
+ limit: 10,
40
+ ...this.sort
41
+ });
37
42
  }
38
43
  loadData() {
39
44
  this.store.dispatch({
@@ -63,11 +68,14 @@ export class PryImportListComponent extends SubscriptionnerDirective {
63
68
  this.sort.orderBy = $event.active;
64
69
  this.loadData();
65
70
  }
71
+ updateFilters() {
72
+ this.loadDataAction.update((loadDataAction) => ({ ...loadDataAction, ...this.filters }));
73
+ }
66
74
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryImportListComponent, deps: [{ token: i1.Store }, { token: i2.PryDialogService }], target: i0.ɵɵFactoryTarget.Component }); }
67
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: PryImportListComponent, selector: "pry-import-list", inputs: { loadDataAction: { classPropertyName: "loadDataAction", publicName: "loadDataAction", isSignal: true, isRequired: false, transformFunction: null }, refreshClick: { classPropertyName: "refreshClick", publicName: "refreshClick", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<pry-import-css></pry-import-css>\n<div class=\"o-import-list u-display-flex -column -gap-20\">\n <h1 class=\"a-h1\">{{ '@pry.importList.title' | i18n }}</h1>\n <div class=\"o-import-list__filters u-display-flex -gap-20\">\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown\" #dsRef>\n <label class=\"a-label m-filter__label\" for=\"dataset_name_filter\">\n {{ '@pry.importList.filter.dsName' | i18n }}&nbsp;:&nbsp;\n </label>\n <pry-select\n id=\"dataset_name_filter\"\n [items]=\"datasets$ | async\"\n [(ngModel)]=\"filters.dataset\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n aria-labelledby=\"item-label\"\n bindLabel=\"name\"\n bindValue=\"id\"\n [elementRef]=\"dsRef\"\n ></pry-select>\n </div>\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown\" #statusRef>\n <label class=\"a-label m-filter__label\" for=\"import_status\">\n {{ '@pry.importList.filter.status' | i18n }}&nbsp;:&nbsp;\n </label>\n <pry-select\n id=\"import_status\"\n [items]=\"possibleStatus\"\n [(ngModel)]=\"filters.status\"\n [clearable]=\"true\"\n aria-labelledby=\"item-label\"\n [elementRef]=\"statusRef\"\n i18nPrefix=\"@pry.dataset.version.stateFilter.\"\n ></pry-select>\n </div>\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown\">\n <fieldset class=\"u-display-flex -align-center\">\n <legend class=\"a-label m-filter__label\">{{ '@pry.importList.filter.date' | i18n }}&nbsp;:&nbsp;</legend>\n <input class=\"m-filter__input\" type=\"date\" [(ngModel)]=\"filters.dateMin\" />\n <span class=\"m-filter__date-input-separator\">&nbsp;-&nbsp;</span>\n <input class=\"m-filter__input\" type=\"date\" [(ngModel)]=\"filters.dateMax\" />\n </fieldset>\n </div>\n <button type=\"button\" class=\"a-btn a-btn--icon-only u-self-center\" (click)=\"clearFilters()\">\n <pry-icon iconSvg=\"clear_filter\" [width]=\"30\" [height]=\"30\"></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--primary\" (click)=\"loadData()\">\n {{ '@pry.toolbox.apply' | i18n }}\n <pry-icon iconSvg=\"refresh_filter\" [width]=\"18\" [height]=\"18\"></pry-icon>\n </button>\n </div>\n <div class=\"o-import-list__content\">\n <table class=\"a-table\" prySortTable (prySortChange)=\"sortChange($event)\">\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th id=\"import_list_header_dataset\" prySortHeader=\"DATASET_NAME\">\n {{ '@pry.importList.dsName' | i18n }}\n </th>\n <th>{{ '@pry.importList.number' | i18n }}</th>\n <th id=\"import_list_header_date\" prySortHeader=\"DATE\" (sortChange)=\"sortChange($event)\">\n {{ '@pry.importList.date' | i18n }}\n </th>\n <th>{{ '@pry.importList.status' | i18n }}</th>\n <th>{{ '@pry.importList.actions' | i18n }}</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n @for (version of datasetVersions$ | async; track version.id) {\n <tr>\n <td>{{ version.dataset.name }}</td>\n <td>\n {{ version.version }}\n </td>\n <td>\n {{ version.productionDate | date: 'dd/MM/yyyy HH:mm' }}\n </td>\n <td class=\"u-display-flex -align-center -cell-with-icon\">\n @if (version.state === 'ACTIVE') {\n <pry-icon iconSvg=\"check\" class=\"check\" [height]=\"20\" [width]=\"20\"></pry-icon>\n } @else if (version.state === 'WARNING' || version.state === 'ERROR') {\n <pry-icon iconSvg=\"warning-triangle\" class=\"warning\" [height]=\"20\" [width]=\"20\"></pry-icon>\n }\n {{\n version.id === version.dataset.activeVersion?.id\n ? '@pry.dataset.version.state.currentlyActive'\n : ('@pry.dataset.version.state.' + version.state | i18n)\n }}\n </td>\n @if (version.state === 'ACTIVE' || version.state === 'INACTIVE') {\n <td>\n <button class=\"a-btn a-btn--secondary\" (click)=\"openInfoModal(version)\">Consulter</button>\n </td>\n } @else if (version.state === 'ERROR' || version.state === 'WARNING') {\n <td>\n <button class=\"a-btn a-btn--secondary\" (click)=\"openErrorModal(version)\">\n {{ version.state === 'ERROR' ? 'Consulter erreurs' : 'Consulter warnings' }}\n </button>\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n <pry-paginator\n [action]=\"loadDataAction()\"\n [nbPerPage]=\"10\"\n [totalItemNb]=\"(totalVersionCount$ | async)!\"\n class=\"u-self-center\"\n ></pry-paginator>\n</div>\n", dependencies: [{ kind: "component", type: i2.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.PryPaginatorComponent, selector: "pry-paginator", inputs: ["action", "nbPerPage", "totalItemNb", "mode"], outputs: ["pageChange"] }, { kind: "component", type: i2.PrySortHeaderComponent, selector: "th[prySortHeader]", inputs: ["prySortHeader"], outputs: ["sortChange"] }, { kind: "directive", type: i2.PrySortHeaderDirective, selector: "[prySortHeader]" }, { kind: "directive", type: i2.PrySortTableDirective, selector: "[prySortTable]", inputs: ["prySortActive", "prySortDirection"], outputs: ["prySortChange"] }, { kind: "component", type: i5.PryImportCssComponent, selector: "pry-import-css" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.DatePipe, name: "date" }] }); }
75
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: PryImportListComponent, selector: "pry-import-list", inputs: { refreshClick: { classPropertyName: "refreshClick", publicName: "refreshClick", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<pry-import-css></pry-import-css>\n<div class=\"o-import-list u-display-flex -column -gap-20\">\n <h1 class=\"a-h1\">{{ '@pry.importList.title' | i18n }}</h1>\n <div class=\"o-import-list__filters u-display-flex -gap-20\">\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown o-import-list__dataset-filter\" #dsRef>\n <label class=\"a-label m-filter__label\" for=\"dataset_name_filter\">\n {{ '@pry.importList.filter.dsName' | i18n }}&nbsp;:&nbsp;\n </label>\n <pry-select\n id=\"dataset_name_filter\"\n [items]=\"datasets$ | async\"\n [(ngModel)]=\"filters.dataset\"\n (ngModelChange)=\"updateFilters()\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n aria-labelledby=\"item-label\"\n bindLabel=\"name\"\n bindValue=\"id\"\n [elementRef]=\"dsRef\"\n ></pry-select>\n </div>\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown o-import-list__state-filter\" #statusRef>\n <label class=\"a-label m-filter__label\" for=\"import_status\">\n {{ '@pry.importList.filter.status' | i18n }}&nbsp;:&nbsp;\n </label>\n <pry-select\n id=\"import_status\"\n [items]=\"possibleStatus\"\n [(ngModel)]=\"filters.status\"\n (ngModelChange)=\"updateFilters()\"\n [clearable]=\"true\"\n aria-labelledby=\"item-label\"\n [elementRef]=\"statusRef\"\n i18nPrefix=\"@pry.dataset.version.stateFilter.\"\n ></pry-select>\n </div>\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown o-import-list__date-filter\">\n <fieldset class=\"u-display-flex -align-center\">\n <legend class=\"a-label m-filter__label\">{{ '@pry.importList.filter.date' | i18n }}&nbsp;:&nbsp;</legend>\n <input class=\"m-filter__input\" type=\"date\" [(ngModel)]=\"filters.dateMin\" (ngModelChange)=\"updateFilters()\" />\n <span class=\"m-filter__date-input-separator\">&nbsp;-&nbsp;</span>\n <input class=\"m-filter__input\" type=\"date\" [(ngModel)]=\"filters.dateMax\" (ngModelChange)=\"updateFilters()\" />\n </fieldset>\n </div>\n <button type=\"button\" class=\"a-btn a-btn--icon-only u-self-center\" (click)=\"clearFilters()\">\n <pry-icon iconSvg=\"clear_filter\" [width]=\"30\" [height]=\"30\"></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--primary\" (click)=\"loadData()\">\n {{ '@pry.toolbox.apply' | i18n }}\n <pry-icon iconSvg=\"refresh_filter\" [width]=\"18\" [height]=\"18\"></pry-icon>\n </button>\n </div>\n <div class=\"o-import-list__content\">\n <table class=\"a-table\" prySortTable (prySortChange)=\"sortChange($event)\">\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th id=\"import_list_header_dataset\" prySortHeader=\"DATASET_NAME\">\n {{ '@pry.importList.dsName' | i18n }}\n </th>\n <th>{{ '@pry.importList.number' | i18n }}</th>\n <th id=\"import_list_header_date\" prySortHeader=\"DATE\" (sortChange)=\"sortChange($event)\">\n {{ '@pry.importList.date' | i18n }}\n </th>\n <th>{{ '@pry.importList.status' | i18n }}</th>\n <th>{{ '@pry.importList.actions' | i18n }}</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n @for (version of datasetVersions$ | async; track version.id) {\n <tr>\n <td>{{ version.dataset.name }}</td>\n <td>\n {{ version.version }}\n </td>\n <td>\n {{ version.productionDate | date: 'dd/MM/yyyy HH:mm' }}\n </td>\n <td class=\"u-display-flex -align-center -cell-with-icon\">\n @if (version.state === 'ACTIVE') {\n <pry-icon iconSvg=\"check\" class=\"check\" [height]=\"20\" [width]=\"20\"></pry-icon>\n } @else if (version.state === 'WARNING' || version.state === 'ERROR') {\n <pry-icon iconSvg=\"warning-triangle\" class=\"warning\" [height]=\"20\" [width]=\"20\"></pry-icon>\n }\n {{\n version.id === version.dataset.activeVersion?.id\n ? '@pry.dataset.version.state.currentlyActive'\n : ('@pry.dataset.version.state.' + version.state | i18n)\n }}\n </td>\n @if (version.state === 'ACTIVE' || version.state === 'INACTIVE') {\n <td>\n <button class=\"a-btn a-btn--secondary\" (click)=\"openInfoModal(version)\">Consulter</button>\n </td>\n } @else if (version.state === 'ERROR' || version.state === 'WARNING') {\n <td>\n <button class=\"a-btn a-btn--secondary\" (click)=\"openErrorModal(version)\">\n {{ version.state === 'ERROR' ? 'Consulter erreurs' : 'Consulter warnings' }}\n </button>\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n <pry-paginator\n [action]=\"loadDataAction()\"\n [nbPerPage]=\"10\"\n [totalItemNb]=\"(totalVersionCount$ | async)!\"\n class=\"u-self-center\"\n ></pry-paginator>\n</div>\n", dependencies: [{ kind: "component", type: i2.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.PryPaginatorComponent, selector: "pry-paginator", inputs: ["action", "nbPerPage", "totalItemNb", "mode"], outputs: ["pageChange"] }, { kind: "component", type: i2.PrySortHeaderComponent, selector: "th[prySortHeader]", inputs: ["prySortHeader"], outputs: ["sortChange"] }, { kind: "directive", type: i2.PrySortHeaderDirective, selector: "[prySortHeader]" }, { kind: "directive", type: i2.PrySortTableDirective, selector: "[prySortTable]", inputs: ["prySortActive", "prySortDirection"], outputs: ["prySortChange"] }, { kind: "component", type: i5.PryImportCssComponent, selector: "pry-import-css" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.DatePipe, name: "date" }] }); }
68
76
  }
69
77
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryImportListComponent, decorators: [{
70
78
  type: Component,
71
- args: [{ selector: 'pry-import-list', template: "<pry-import-css></pry-import-css>\n<div class=\"o-import-list u-display-flex -column -gap-20\">\n <h1 class=\"a-h1\">{{ '@pry.importList.title' | i18n }}</h1>\n <div class=\"o-import-list__filters u-display-flex -gap-20\">\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown\" #dsRef>\n <label class=\"a-label m-filter__label\" for=\"dataset_name_filter\">\n {{ '@pry.importList.filter.dsName' | i18n }}&nbsp;:&nbsp;\n </label>\n <pry-select\n id=\"dataset_name_filter\"\n [items]=\"datasets$ | async\"\n [(ngModel)]=\"filters.dataset\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n aria-labelledby=\"item-label\"\n bindLabel=\"name\"\n bindValue=\"id\"\n [elementRef]=\"dsRef\"\n ></pry-select>\n </div>\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown\" #statusRef>\n <label class=\"a-label m-filter__label\" for=\"import_status\">\n {{ '@pry.importList.filter.status' | i18n }}&nbsp;:&nbsp;\n </label>\n <pry-select\n id=\"import_status\"\n [items]=\"possibleStatus\"\n [(ngModel)]=\"filters.status\"\n [clearable]=\"true\"\n aria-labelledby=\"item-label\"\n [elementRef]=\"statusRef\"\n i18nPrefix=\"@pry.dataset.version.stateFilter.\"\n ></pry-select>\n </div>\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown\">\n <fieldset class=\"u-display-flex -align-center\">\n <legend class=\"a-label m-filter__label\">{{ '@pry.importList.filter.date' | i18n }}&nbsp;:&nbsp;</legend>\n <input class=\"m-filter__input\" type=\"date\" [(ngModel)]=\"filters.dateMin\" />\n <span class=\"m-filter__date-input-separator\">&nbsp;-&nbsp;</span>\n <input class=\"m-filter__input\" type=\"date\" [(ngModel)]=\"filters.dateMax\" />\n </fieldset>\n </div>\n <button type=\"button\" class=\"a-btn a-btn--icon-only u-self-center\" (click)=\"clearFilters()\">\n <pry-icon iconSvg=\"clear_filter\" [width]=\"30\" [height]=\"30\"></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--primary\" (click)=\"loadData()\">\n {{ '@pry.toolbox.apply' | i18n }}\n <pry-icon iconSvg=\"refresh_filter\" [width]=\"18\" [height]=\"18\"></pry-icon>\n </button>\n </div>\n <div class=\"o-import-list__content\">\n <table class=\"a-table\" prySortTable (prySortChange)=\"sortChange($event)\">\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th id=\"import_list_header_dataset\" prySortHeader=\"DATASET_NAME\">\n {{ '@pry.importList.dsName' | i18n }}\n </th>\n <th>{{ '@pry.importList.number' | i18n }}</th>\n <th id=\"import_list_header_date\" prySortHeader=\"DATE\" (sortChange)=\"sortChange($event)\">\n {{ '@pry.importList.date' | i18n }}\n </th>\n <th>{{ '@pry.importList.status' | i18n }}</th>\n <th>{{ '@pry.importList.actions' | i18n }}</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n @for (version of datasetVersions$ | async; track version.id) {\n <tr>\n <td>{{ version.dataset.name }}</td>\n <td>\n {{ version.version }}\n </td>\n <td>\n {{ version.productionDate | date: 'dd/MM/yyyy HH:mm' }}\n </td>\n <td class=\"u-display-flex -align-center -cell-with-icon\">\n @if (version.state === 'ACTIVE') {\n <pry-icon iconSvg=\"check\" class=\"check\" [height]=\"20\" [width]=\"20\"></pry-icon>\n } @else if (version.state === 'WARNING' || version.state === 'ERROR') {\n <pry-icon iconSvg=\"warning-triangle\" class=\"warning\" [height]=\"20\" [width]=\"20\"></pry-icon>\n }\n {{\n version.id === version.dataset.activeVersion?.id\n ? '@pry.dataset.version.state.currentlyActive'\n : ('@pry.dataset.version.state.' + version.state | i18n)\n }}\n </td>\n @if (version.state === 'ACTIVE' || version.state === 'INACTIVE') {\n <td>\n <button class=\"a-btn a-btn--secondary\" (click)=\"openInfoModal(version)\">Consulter</button>\n </td>\n } @else if (version.state === 'ERROR' || version.state === 'WARNING') {\n <td>\n <button class=\"a-btn a-btn--secondary\" (click)=\"openErrorModal(version)\">\n {{ version.state === 'ERROR' ? 'Consulter erreurs' : 'Consulter warnings' }}\n </button>\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n <pry-paginator\n [action]=\"loadDataAction()\"\n [nbPerPage]=\"10\"\n [totalItemNb]=\"(totalVersionCount$ | async)!\"\n class=\"u-self-center\"\n ></pry-paginator>\n</div>\n" }]
79
+ args: [{ selector: 'pry-import-list', template: "<pry-import-css></pry-import-css>\n<div class=\"o-import-list u-display-flex -column -gap-20\">\n <h1 class=\"a-h1\">{{ '@pry.importList.title' | i18n }}</h1>\n <div class=\"o-import-list__filters u-display-flex -gap-20\">\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown o-import-list__dataset-filter\" #dsRef>\n <label class=\"a-label m-filter__label\" for=\"dataset_name_filter\">\n {{ '@pry.importList.filter.dsName' | i18n }}&nbsp;:&nbsp;\n </label>\n <pry-select\n id=\"dataset_name_filter\"\n [items]=\"datasets$ | async\"\n [(ngModel)]=\"filters.dataset\"\n (ngModelChange)=\"updateFilters()\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n aria-labelledby=\"item-label\"\n bindLabel=\"name\"\n bindValue=\"id\"\n [elementRef]=\"dsRef\"\n ></pry-select>\n </div>\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown o-import-list__state-filter\" #statusRef>\n <label class=\"a-label m-filter__label\" for=\"import_status\">\n {{ '@pry.importList.filter.status' | i18n }}&nbsp;:&nbsp;\n </label>\n <pry-select\n id=\"import_status\"\n [items]=\"possibleStatus\"\n [(ngModel)]=\"filters.status\"\n (ngModelChange)=\"updateFilters()\"\n [clearable]=\"true\"\n aria-labelledby=\"item-label\"\n [elementRef]=\"statusRef\"\n i18nPrefix=\"@pry.dataset.version.stateFilter.\"\n ></pry-select>\n </div>\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown o-import-list__date-filter\">\n <fieldset class=\"u-display-flex -align-center\">\n <legend class=\"a-label m-filter__label\">{{ '@pry.importList.filter.date' | i18n }}&nbsp;:&nbsp;</legend>\n <input class=\"m-filter__input\" type=\"date\" [(ngModel)]=\"filters.dateMin\" (ngModelChange)=\"updateFilters()\" />\n <span class=\"m-filter__date-input-separator\">&nbsp;-&nbsp;</span>\n <input class=\"m-filter__input\" type=\"date\" [(ngModel)]=\"filters.dateMax\" (ngModelChange)=\"updateFilters()\" />\n </fieldset>\n </div>\n <button type=\"button\" class=\"a-btn a-btn--icon-only u-self-center\" (click)=\"clearFilters()\">\n <pry-icon iconSvg=\"clear_filter\" [width]=\"30\" [height]=\"30\"></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--primary\" (click)=\"loadData()\">\n {{ '@pry.toolbox.apply' | i18n }}\n <pry-icon iconSvg=\"refresh_filter\" [width]=\"18\" [height]=\"18\"></pry-icon>\n </button>\n </div>\n <div class=\"o-import-list__content\">\n <table class=\"a-table\" prySortTable (prySortChange)=\"sortChange($event)\">\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th id=\"import_list_header_dataset\" prySortHeader=\"DATASET_NAME\">\n {{ '@pry.importList.dsName' | i18n }}\n </th>\n <th>{{ '@pry.importList.number' | i18n }}</th>\n <th id=\"import_list_header_date\" prySortHeader=\"DATE\" (sortChange)=\"sortChange($event)\">\n {{ '@pry.importList.date' | i18n }}\n </th>\n <th>{{ '@pry.importList.status' | i18n }}</th>\n <th>{{ '@pry.importList.actions' | i18n }}</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n @for (version of datasetVersions$ | async; track version.id) {\n <tr>\n <td>{{ version.dataset.name }}</td>\n <td>\n {{ version.version }}\n </td>\n <td>\n {{ version.productionDate | date: 'dd/MM/yyyy HH:mm' }}\n </td>\n <td class=\"u-display-flex -align-center -cell-with-icon\">\n @if (version.state === 'ACTIVE') {\n <pry-icon iconSvg=\"check\" class=\"check\" [height]=\"20\" [width]=\"20\"></pry-icon>\n } @else if (version.state === 'WARNING' || version.state === 'ERROR') {\n <pry-icon iconSvg=\"warning-triangle\" class=\"warning\" [height]=\"20\" [width]=\"20\"></pry-icon>\n }\n {{\n version.id === version.dataset.activeVersion?.id\n ? '@pry.dataset.version.state.currentlyActive'\n : ('@pry.dataset.version.state.' + version.state | i18n)\n }}\n </td>\n @if (version.state === 'ACTIVE' || version.state === 'INACTIVE') {\n <td>\n <button class=\"a-btn a-btn--secondary\" (click)=\"openInfoModal(version)\">Consulter</button>\n </td>\n } @else if (version.state === 'ERROR' || version.state === 'WARNING') {\n <td>\n <button class=\"a-btn a-btn--secondary\" (click)=\"openErrorModal(version)\">\n {{ version.state === 'ERROR' ? 'Consulter erreurs' : 'Consulter warnings' }}\n </button>\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n <pry-paginator\n [action]=\"loadDataAction()\"\n [nbPerPage]=\"10\"\n [totalItemNb]=\"(totalVersionCount$ | async)!\"\n class=\"u-self-center\"\n ></pry-paginator>\n</div>\n" }]
72
80
  }], ctorParameters: () => [{ type: i1.Store }, { type: i2.PryDialogService }] });
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvaW1wb3J0L2NvbXBvbmVudHMvbGlzdC9pbXBvcnQtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9pbXBvcnQvY29tcG9uZW50cy9saXN0L2ltcG9ydC1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXpELE9BQU8sRUFHTCxpQkFBaUIsRUFDakIsbUJBQW1CLEVBR25CLHVCQUF1QixFQUN2Qix3QkFBd0IsRUFDekIsTUFBTSxvQkFBb0IsQ0FBQztBQUU1QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNwRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7QUFNOUQsTUFBTSxPQUFPLHNCQUF1QixTQUFRLHdCQUF3QjtJQWdCbEUsWUFDVSxLQUFZLEVBQ1osTUFBd0I7UUFFaEMsS0FBSyxFQUFFLENBQUM7UUFIQSxVQUFLLEdBQUwsS0FBSyxDQUFPO1FBQ1osV0FBTSxHQUFOLE1BQU0sQ0FBa0I7UUFqQmxDLG1CQUFjLEdBQUcsS0FBSyxDQUFTLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzRSxpQkFBWSxHQUFHLEtBQUssRUFBb0IsQ0FBQztRQUd6QyxtQkFBYyxHQUFHLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFHcEcsWUFBTyxHQUE4RTtZQUNuRixPQUFPLEVBQUUsU0FBUztZQUNsQixNQUFNLEVBQUUsU0FBUztZQUNqQixPQUFPLEVBQUUsU0FBUztZQUNsQixPQUFPLEVBQUUsU0FBUztTQUNuQixDQUFDO1FBQ0YsU0FBSSxHQUFtRSxFQUFFLENBQUM7UUFPeEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFDO0lBQ25HLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7WUFDbEIsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hCLEtBQUssRUFBRSxFQUFFO1lBQ1QsR0FBRyxJQUFJLENBQUMsT0FBTztZQUNmLEdBQUcsSUFBSSxDQUFDLElBQUk7U0FDYixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQXVCO1FBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFO1lBQ3pDLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRTtZQUNqQixhQUFhLEVBQUU7Z0JBQ2IsZ0JBQWdCLEVBQUUsSUFBSSxzQkFBc0IsRUFBRSxDQUFDLGdCQUFnQixFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztnQkFDL0UsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLGFBQWEsRUFBRSxrQ0FBa0M7YUFDbEQ7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYyxDQUFDLE9BQXVCO1FBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFO1lBQ3hDLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRTtTQUNsQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQXFCO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUEyQixDQUFDO1FBQ3RELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFpQyxDQUFDO1FBQzdELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDOzhHQWpFVSxzQkFBc0I7a0dBQXRCLHNCQUFzQiwwWENwQm5DLHVpS0F1SEE7OzJGRG5HYSxzQkFBc0I7a0JBSmxDLFNBQVM7K0JBQ0UsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb24sIFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgRGF0YXNldCxcbiAgRGF0YXNldFZlcnNpb24sXG4gIERhdGFTb3VyY2VBY3Rpb25zLFxuICBEYXRhU291cmNlU2VsZWN0b3JzLFxuICBQcnlEaWFsb2dTZXJ2aWNlLFxuICBQcnlTb3J0Q2hhbmdlLFxuICBQcnlTdGF0dXNNb2RhbENvbXBvbmVudCxcbiAgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlXG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQcnlWZXJzaW9uTW9kYWxDb21wb25lbnQgfSBmcm9tICcuLi92ZXJzaW9uLW1vZGFsL3ZlcnNpb24tbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1pbXBvcnQtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbXBvcnQtbGlzdC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUHJ5SW1wb3J0TGlzdENvbXBvbmVudCBleHRlbmRzIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGxvYWREYXRhQWN0aW9uID0gaW5wdXQ8QWN0aW9uPihEYXRhU291cmNlQWN0aW9ucy5kYXRhc2V0Lmxpc3RWZXJzaW9ucyh7fSkpO1xuICByZWZyZXNoQ2xpY2sgPSBpbnB1dDxPYnNlcnZhYmxlPHZvaWQ+PigpO1xuXG4gIGRhdGFzZXRzJDogT2JzZXJ2YWJsZTxEYXRhc2V0W10+O1xuICBwb3NzaWJsZVN0YXR1cyA9IFsnTE9BRElORycsICdJTkRFWElORycsICdJTkFDVElWRScsICdFUlJPUicsICdBQ1RJVkUnLCAnREVMRVRJTkcnLCAnREVMRVRFX0VSUk9SJ107XG4gIGRhdGFzZXRWZXJzaW9ucyQ6IE9ic2VydmFibGU8RGF0YXNldFZlcnNpb25bXT47XG4gIHRvdGFsVmVyc2lvbkNvdW50JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBmaWx0ZXJzOiB7IGRhdGFzZXQ/OiBzdHJpbmc7IHN0YXR1cz86IHN0cmluZzsgZGF0ZU1pbj86IHN0cmluZzsgZGF0ZU1heD86IHN0cmluZyB9ID0ge1xuICAgIGRhdGFzZXQ6IHVuZGVmaW5lZCxcbiAgICBzdGF0dXM6IHVuZGVmaW5lZCxcbiAgICBkYXRlTWluOiB1bmRlZmluZWQsXG4gICAgZGF0ZU1heDogdW5kZWZpbmVkXG4gIH07XG4gIHNvcnQ6IHsgb3JkZXJCeT86ICdEQVRBU0VUX05BTUUnIHwgJ0RBVEUnOyBzb3J0Qnk/OiAnYXNjJyB8ICdkZXNjJyB9ID0ge307XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSBkaWFsb2c6IFByeURpYWxvZ1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQubG9hZERhdGFzZXQoKSk7XG4gICAgdGhpcy5kYXRhc2V0cyQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmRhdGFzZXRzKTtcbiAgICB0aGlzLmRhdGFzZXRWZXJzaW9ucyQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmRhdGFzZXRWZXJzaW9ucyk7XG4gICAgdGhpcy50b3RhbFZlcnNpb25Db3VudCQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLnRvdGFsVmVyc2lvbkNvdW50KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQodGhpcy5yZWZyZXNoQ2xpY2soKT8uc3Vic2NyaWJlKCgpID0+IHRoaXMubG9hZERhdGEoKSkpO1xuICB9XG5cbiAgY2xlYXJGaWx0ZXJzKCk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVycyA9IHsgZGF0YXNldDogdW5kZWZpbmVkLCBzdGF0dXM6IHVuZGVmaW5lZCwgZGF0ZU1pbjogdW5kZWZpbmVkLCBkYXRlTWF4OiB1bmRlZmluZWQgfTtcbiAgfVxuXG4gIGxvYWREYXRhKCk6IHZvaWQge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goe1xuICAgICAgLi4udGhpcy5sb2FkRGF0YUFjdGlvbigpLFxuICAgICAgbGltaXQ6IDEwLFxuICAgICAgLi4udGhpcy5maWx0ZXJzLFxuICAgICAgLi4udGhpcy5zb3J0XG4gICAgfSk7XG4gIH1cblxuICBvcGVuSW5mb01vZGFsKHZlcnNpb246IERhdGFzZXRWZXJzaW9uKSB7XG4gICAgdGhpcy5kaWFsb2cub3BlbihQcnlWZXJzaW9uTW9kYWxDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IHsgdmVyc2lvbiB9LFxuICAgICAgb3ZlcmxheUNvbmZpZzoge1xuICAgICAgICBwb3NpdGlvblN0cmF0ZWd5OiBuZXcgR2xvYmFsUG9zaXRpb25TdHJhdGVneSgpLmNlbnRlclZlcnRpY2FsbHkoKS5yaWdodCgnMjBweCcpLFxuICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgYmFja2Ryb3BDbGFzczogJ2Nkay1vdmVybGF5LXRyYW5zcGFyZW50LWJhY2tkcm9wJ1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgb3BlbkVycm9yTW9kYWwodmVyc2lvbjogRGF0YXNldFZlcnNpb24pIHtcbiAgICB0aGlzLmRpYWxvZy5vcGVuKFByeVN0YXR1c01vZGFsQ29tcG9uZW50LCB7XG4gICAgICBkYXRhOiB7IHZlcnNpb24gfVxuICAgIH0pO1xuICB9XG5cbiAgc29ydENoYW5nZSgkZXZlbnQ6IFByeVNvcnRDaGFuZ2UpIHtcbiAgICB0aGlzLnNvcnQuc29ydEJ5ID0gJGV2ZW50LmRpcmVjdGlvbiBhcyAnYXNjJyB8ICdkZXNjJztcbiAgICB0aGlzLnNvcnQub3JkZXJCeSA9ICRldmVudC5hY3RpdmUgYXMgJ0RBVEFTRVRfTkFNRScgfCAnREFURSc7XG4gICAgdGhpcy5sb2FkRGF0YSgpO1xuICB9XG59XG4iLCI8cHJ5LWltcG9ydC1jc3M+PC9wcnktaW1wb3J0LWNzcz5cbjxkaXYgY2xhc3M9XCJvLWltcG9ydC1saXN0IHUtZGlzcGxheS1mbGV4IC1jb2x1bW4gLWdhcC0yMFwiPlxuICA8aDEgY2xhc3M9XCJhLWgxXCI+e3sgJ0BwcnkuaW1wb3J0TGlzdC50aXRsZScgfCBpMThuIH19PC9oMT5cbiAgPGRpdiBjbGFzcz1cIm8taW1wb3J0LWxpc3RfX2ZpbHRlcnMgdS1kaXNwbGF5LWZsZXggLWdhcC0yMFwiPlxuICAgIDxkaXYgY2xhc3M9XCJtLWZpbHRlcl9faW5wdXQtd3JhcHBlciBtLWZpbHRlcl9faW5wdXQtd3JhcHBlci0tZHJvcGRvd25cIiAjZHNSZWY+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJhLWxhYmVsIG0tZmlsdGVyX19sYWJlbFwiIGZvcj1cImRhdGFzZXRfbmFtZV9maWx0ZXJcIj5cbiAgICAgICAge3sgJ0BwcnkuaW1wb3J0TGlzdC5maWx0ZXIuZHNOYW1lJyB8IGkxOG4gfX0mbmJzcDs6Jm5ic3A7XG4gICAgICA8L2xhYmVsPlxuICAgICAgPHByeS1zZWxlY3RcbiAgICAgICAgaWQ9XCJkYXRhc2V0X25hbWVfZmlsdGVyXCJcbiAgICAgICAgW2l0ZW1zXT1cImRhdGFzZXRzJCB8IGFzeW5jXCJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJmaWx0ZXJzLmRhdGFzZXRcIlxuICAgICAgICBbY2xlYXJhYmxlXT1cInRydWVcIlxuICAgICAgICBbYXV0b2NvbXBsZXRlXT1cInRydWVcIlxuICAgICAgICBhcmlhLWxhYmVsbGVkYnk9XCJpdGVtLWxhYmVsXCJcbiAgICAgICAgYmluZExhYmVsPVwibmFtZVwiXG4gICAgICAgIGJpbmRWYWx1ZT1cImlkXCJcbiAgICAgICAgW2VsZW1lbnRSZWZdPVwiZHNSZWZcIlxuICAgICAgPjwvcHJ5LXNlbGVjdD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibS1maWx0ZXJfX2lucHV0LXdyYXBwZXIgbS1maWx0ZXJfX2lucHV0LXdyYXBwZXItLWRyb3Bkb3duXCIgI3N0YXR1c1JlZj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWwgbS1maWx0ZXJfX2xhYmVsXCIgZm9yPVwiaW1wb3J0X3N0YXR1c1wiPlxuICAgICAgICB7eyAnQHByeS5pbXBvcnRMaXN0LmZpbHRlci5zdGF0dXMnIHwgaTE4biB9fSZuYnNwOzombmJzcDtcbiAgICAgIDwvbGFiZWw+XG4gICAgICA8cHJ5LXNlbGVjdFxuICAgICAgICBpZD1cImltcG9ydF9zdGF0dXNcIlxuICAgICAgICBbaXRlbXNdPVwicG9zc2libGVTdGF0dXNcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuc3RhdHVzXCJcbiAgICAgICAgW2NsZWFyYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwiaXRlbS1sYWJlbFwiXG4gICAgICAgIFtlbGVtZW50UmVmXT1cInN0YXR1c1JlZlwiXG4gICAgICAgIGkxOG5QcmVmaXg9XCJAcHJ5LmRhdGFzZXQudmVyc2lvbi5zdGF0ZUZpbHRlci5cIlxuICAgICAgPjwvcHJ5LXNlbGVjdD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibS1maWx0ZXJfX2lucHV0LXdyYXBwZXIgbS1maWx0ZXJfX2lucHV0LXdyYXBwZXItLWRyb3Bkb3duXCI+XG4gICAgICA8ZmllbGRzZXQgY2xhc3M9XCJ1LWRpc3BsYXktZmxleCAtYWxpZ24tY2VudGVyXCI+XG4gICAgICAgIDxsZWdlbmQgY2xhc3M9XCJhLWxhYmVsIG0tZmlsdGVyX19sYWJlbFwiPnt7ICdAcHJ5LmltcG9ydExpc3QuZmlsdGVyLmRhdGUnIHwgaTE4biB9fSZuYnNwOzombmJzcDs8L2xlZ2VuZD5cbiAgICAgICAgPGlucHV0IGNsYXNzPVwibS1maWx0ZXJfX2lucHV0XCIgdHlwZT1cImRhdGVcIiBbKG5nTW9kZWwpXT1cImZpbHRlcnMuZGF0ZU1pblwiIC8+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibS1maWx0ZXJfX2RhdGUtaW5wdXQtc2VwYXJhdG9yXCI+Jm5ic3A7LSZuYnNwOzwvc3Bhbj5cbiAgICAgICAgPGlucHV0IGNsYXNzPVwibS1maWx0ZXJfX2lucHV0XCIgdHlwZT1cImRhdGVcIiBbKG5nTW9kZWwpXT1cImZpbHRlcnMuZGF0ZU1heFwiIC8+XG4gICAgICA8L2ZpZWxkc2V0PlxuICAgIDwvZGl2PlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seSB1LXNlbGYtY2VudGVyXCIgKGNsaWNrKT1cImNsZWFyRmlsdGVycygpXCI+XG4gICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImNsZWFyX2ZpbHRlclwiIFt3aWR0aF09XCIzMFwiIFtoZWlnaHRdPVwiMzBcIj48L3ByeS1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIiAoY2xpY2spPVwibG9hZERhdGEoKVwiPlxuICAgICAge3sgJ0BwcnkudG9vbGJveC5hcHBseScgfCBpMThuIH19XG4gICAgICA8cHJ5LWljb24gaWNvblN2Zz1cInJlZnJlc2hfZmlsdGVyXCIgW3dpZHRoXT1cIjE4XCIgW2hlaWdodF09XCIxOFwiPjwvcHJ5LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiby1pbXBvcnQtbGlzdF9fY29udGVudFwiPlxuICAgIDx0YWJsZSBjbGFzcz1cImEtdGFibGVcIiBwcnlTb3J0VGFibGUgKHByeVNvcnRDaGFuZ2UpPVwic29ydENoYW5nZSgkZXZlbnQpXCI+XG4gICAgICA8Y2FwdGlvbj5cbiAgICAgICAge3tcbiAgICAgICAgICAnQHByeS5hZG1pbi5kYXRhc2V0LnRpdGxlJyB8IGkxOG5cbiAgICAgICAgfX0sXG4gICAgICAgIHt7XG4gICAgICAgICAgJ0BwcnkuYWN0aW9uLnNvcnRhYmxlQ29sdW1uSGVhZGVyJyB8IGkxOG5cbiAgICAgICAgfX1cbiAgICAgIDwvY2FwdGlvbj5cbiAgICAgIDx0aGVhZD5cbiAgICAgICAgPHRyPlxuICAgICAgICAgIDx0aCBpZD1cImltcG9ydF9saXN0X2hlYWRlcl9kYXRhc2V0XCIgcHJ5U29ydEhlYWRlcj1cIkRBVEFTRVRfTkFNRVwiPlxuICAgICAgICAgICAge3sgJ0BwcnkuaW1wb3J0TGlzdC5kc05hbWUnIHwgaTE4biB9fVxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoPnt7ICdAcHJ5LmltcG9ydExpc3QubnVtYmVyJyB8IGkxOG4gfX08L3RoPlxuICAgICAgICAgIDx0aCBpZD1cImltcG9ydF9saXN0X2hlYWRlcl9kYXRlXCIgcHJ5U29ydEhlYWRlcj1cIkRBVEVcIiAoc29ydENoYW5nZSk9XCJzb3J0Q2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgICAgIHt7ICdAcHJ5LmltcG9ydExpc3QuZGF0ZScgfCBpMThuIH19XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgICA8dGg+e3sgJ0BwcnkuaW1wb3J0TGlzdC5zdGF0dXMnIHwgaTE4biB9fTwvdGg+XG4gICAgICAgICAgPHRoPnt7ICdAcHJ5LmltcG9ydExpc3QuYWN0aW9ucycgfCBpMThuIH19PC90aD5cbiAgICAgICAgICA8dGg+PC90aD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGhlYWQ+XG4gICAgICA8dGJvZHk+XG4gICAgICAgIEBmb3IgKHZlcnNpb24gb2YgZGF0YXNldFZlcnNpb25zJCB8IGFzeW5jOyB0cmFjayB2ZXJzaW9uLmlkKSB7XG4gICAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRkPnt7IHZlcnNpb24uZGF0YXNldC5uYW1lIH19PC90ZD5cbiAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAge3sgdmVyc2lvbi52ZXJzaW9uIH19XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICB7eyB2ZXJzaW9uLnByb2R1Y3Rpb25EYXRlIHwgZGF0ZTogJ2RkL01NL3l5eXkgSEg6bW0nIH19XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPHRkIGNsYXNzPVwidS1kaXNwbGF5LWZsZXggLWFsaWduLWNlbnRlciAtY2VsbC13aXRoLWljb25cIj5cbiAgICAgICAgICAgICAgQGlmICh2ZXJzaW9uLnN0YXRlID09PSAnQUNUSVZFJykge1xuICAgICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiY2hlY2tcIiBjbGFzcz1cImNoZWNrXCIgW2hlaWdodF09XCIyMFwiIFt3aWR0aF09XCIyMFwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgIH0gQGVsc2UgaWYgKHZlcnNpb24uc3RhdGUgPT09ICdXQVJOSU5HJyB8fCB2ZXJzaW9uLnN0YXRlID09PSAnRVJST1InKSB7XG4gICAgICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJ3YXJuaW5nLXRyaWFuZ2xlXCIgY2xhc3M9XCJ3YXJuaW5nXCIgW2hlaWdodF09XCIyMFwiIFt3aWR0aF09XCIyMFwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICB2ZXJzaW9uLmlkID09PSB2ZXJzaW9uLmRhdGFzZXQuYWN0aXZlVmVyc2lvbj8uaWRcbiAgICAgICAgICAgICAgICAgID8gJ0BwcnkuZGF0YXNldC52ZXJzaW9uLnN0YXRlLmN1cnJlbnRseUFjdGl2ZSdcbiAgICAgICAgICAgICAgICAgIDogKCdAcHJ5LmRhdGFzZXQudmVyc2lvbi5zdGF0ZS4nICsgdmVyc2lvbi5zdGF0ZSB8IGkxOG4pXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgQGlmICh2ZXJzaW9uLnN0YXRlID09PSAnQUNUSVZFJyB8fCB2ZXJzaW9uLnN0YXRlID09PSAnSU5BQ1RJVkUnKSB7XG4gICAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeVwiIChjbGljayk9XCJvcGVuSW5mb01vZGFsKHZlcnNpb24pXCI+Q29uc3VsdGVyPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICB9IEBlbHNlIGlmICh2ZXJzaW9uLnN0YXRlID09PSAnRVJST1InIHx8IHZlcnNpb24uc3RhdGUgPT09ICdXQVJOSU5HJykge1xuICAgICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnlcIiAoY2xpY2spPVwib3BlbkVycm9yTW9kYWwodmVyc2lvbilcIj5cbiAgICAgICAgICAgICAgICAgIHt7IHZlcnNpb24uc3RhdGUgPT09ICdFUlJPUicgPyAnQ29uc3VsdGVyIGVycmV1cnMnIDogJ0NvbnN1bHRlciB3YXJuaW5ncycgfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3RyPlxuICAgICAgICB9XG4gICAgICA8L3Rib2R5PlxuICAgIDwvdGFibGU+XG4gIDwvZGl2PlxuICA8cHJ5LXBhZ2luYXRvclxuICAgIFthY3Rpb25dPVwibG9hZERhdGFBY3Rpb24oKVwiXG4gICAgW25iUGVyUGFnZV09XCIxMFwiXG4gICAgW3RvdGFsSXRlbU5iXT1cIih0b3RhbFZlcnNpb25Db3VudCQgfCBhc3luYykhXCJcbiAgICBjbGFzcz1cInUtc2VsZi1jZW50ZXJcIlxuICA+PC9wcnktcGFnaW5hdG9yPlxuPC9kaXY+XG4iXX0=
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LWxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvaW1wb3J0L2NvbXBvbmVudHMvbGlzdC9pbXBvcnQtbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9pbXBvcnQvY29tcG9uZW50cy9saXN0L2ltcG9ydC1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFVLE1BQU0sRUFBa0IsTUFBTSxlQUFlLENBQUM7QUFFekYsT0FBTyxFQUdMLGlCQUFpQixFQUNqQixtQkFBbUIsRUFHbkIsdUJBQXVCLEVBQ3ZCLHdCQUF3QixFQUN6QixNQUFNLG9CQUFvQixDQUFDO0FBRTVCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7OztBQU05RCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsd0JBQXdCO0lBZ0JsRSxZQUNVLEtBQVksRUFDWixNQUF3QjtRQUVoQyxLQUFLLEVBQUUsQ0FBQztRQUhBLFVBQUssR0FBTCxLQUFLLENBQU87UUFDWixXQUFNLEdBQU4sTUFBTSxDQUFrQjtRQWpCbEMsbUJBQWMsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLGlCQUFZLEdBQUcsS0FBSyxFQUFvQixDQUFDO1FBR3pDLG1CQUFjLEdBQUcsQ0FBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUdwRyxZQUFPLEdBQThFO1lBQ25GLE9BQU8sRUFBRSxTQUFTO1lBQ2xCLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLE9BQU8sRUFBRSxTQUFTO1lBQ2xCLE9BQU8sRUFBRSxTQUFTO1NBQ25CLENBQUM7UUFDRixTQUFJLEdBQW1FLEVBQUUsQ0FBQztRQU94RSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDakcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7WUFDbEIsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hCLEtBQUssRUFBRSxFQUFFO1lBQ1QsR0FBRyxJQUFJLENBQUMsSUFBSTtTQUNiLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7WUFDbEIsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hCLEtBQUssRUFBRSxFQUFFO1lBQ1QsR0FBRyxJQUFJLENBQUMsT0FBTztZQUNmLEdBQUcsSUFBSSxDQUFDLElBQUk7U0FDYixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQXVCO1FBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFO1lBQ3pDLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRTtZQUNqQixhQUFhLEVBQUU7Z0JBQ2IsZ0JBQWdCLEVBQUUsSUFBSSxzQkFBc0IsRUFBRSxDQUFDLGdCQUFnQixFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztnQkFDL0UsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLGFBQWEsRUFBRSxrQ0FBa0M7YUFDbEQ7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYyxDQUFDLE9BQXVCO1FBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFO1lBQ3hDLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRTtTQUNsQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVSxDQUFDLE1BQXFCO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUEyQixDQUFDO1FBQ3RELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxNQUFpQyxDQUFDO1FBQzdELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxjQUFjLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzNGLENBQUM7OEdBMUVVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLHVPQ3BCbkMsOHhLQXlIQTs7MkZEckdhLHNCQUFzQjtrQkFKbEMsU0FBUzsrQkFDRSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGVmZmVjdCwgaW5wdXQsIE9uSW5pdCwgc2lnbmFsLCBXcml0YWJsZVNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9uLCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIERhdGFzZXQsXG4gIERhdGFzZXRWZXJzaW9uLFxuICBEYXRhU291cmNlQWN0aW9ucyxcbiAgRGF0YVNvdXJjZVNlbGVjdG9ycyxcbiAgUHJ5RGlhbG9nU2VydmljZSxcbiAgUHJ5U29ydENoYW5nZSxcbiAgUHJ5U3RhdHVzTW9kYWxDb21wb25lbnQsXG4gIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZVxufSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUHJ5VmVyc2lvbk1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi4vdmVyc2lvbi1tb2RhbC92ZXJzaW9uLW1vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktaW1wb3J0LWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vaW1wb3J0LWxpc3QuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFByeUltcG9ydExpc3RDb21wb25lbnQgZXh0ZW5kcyBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBsb2FkRGF0YUFjdGlvbiA9IHNpZ25hbChEYXRhU291cmNlQWN0aW9ucy5kYXRhc2V0Lmxpc3RWZXJzaW9ucyh7fSkpO1xuICByZWZyZXNoQ2xpY2sgPSBpbnB1dDxPYnNlcnZhYmxlPHZvaWQ+PigpO1xuXG4gIGRhdGFzZXRzJDogT2JzZXJ2YWJsZTxEYXRhc2V0W10+O1xuICBwb3NzaWJsZVN0YXR1cyA9IFsnTE9BRElORycsICdJTkRFWElORycsICdJTkFDVElWRScsICdFUlJPUicsICdBQ1RJVkUnLCAnREVMRVRJTkcnLCAnREVMRVRFX0VSUk9SJ107XG4gIGRhdGFzZXRWZXJzaW9ucyQ6IE9ic2VydmFibGU8RGF0YXNldFZlcnNpb25bXT47XG4gIHRvdGFsVmVyc2lvbkNvdW50JDogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBmaWx0ZXJzOiB7IGRhdGFzZXQ/OiBzdHJpbmc7IHN0YXR1cz86IHN0cmluZzsgZGF0ZU1pbj86IHN0cmluZzsgZGF0ZU1heD86IHN0cmluZyB9ID0ge1xuICAgIGRhdGFzZXQ6IHVuZGVmaW5lZCxcbiAgICBzdGF0dXM6IHVuZGVmaW5lZCxcbiAgICBkYXRlTWluOiB1bmRlZmluZWQsXG4gICAgZGF0ZU1heDogdW5kZWZpbmVkXG4gIH07XG4gIHNvcnQ6IHsgb3JkZXJCeT86ICdEQVRBU0VUX05BTUUnIHwgJ0RBVEUnOyBzb3J0Qnk/OiAnYXNjJyB8ICdkZXNjJyB9ID0ge307XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmUsXG4gICAgcHJpdmF0ZSBkaWFsb2c6IFByeURpYWxvZ1NlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQubG9hZERhdGFzZXQoKSk7XG4gICAgdGhpcy5kYXRhc2V0cyQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmRhdGFzZXRzKTtcbiAgICB0aGlzLmRhdGFzZXRWZXJzaW9ucyQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmRhdGFzZXRWZXJzaW9ucyk7XG4gICAgdGhpcy50b3RhbFZlcnNpb25Db3VudCQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLnRvdGFsVmVyc2lvbkNvdW50KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQodGhpcy5yZWZyZXNoQ2xpY2soKT8uc3Vic2NyaWJlKCgpID0+IHRoaXMubG9hZERhdGEoKSkpO1xuICB9XG5cbiAgY2xlYXJGaWx0ZXJzKCk6IHZvaWQge1xuICAgIHRoaXMuZmlsdGVycyA9IHsgZGF0YXNldDogdW5kZWZpbmVkLCBzdGF0dXM6IHVuZGVmaW5lZCwgZGF0ZU1pbjogdW5kZWZpbmVkLCBkYXRlTWF4OiB1bmRlZmluZWQgfTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHtcbiAgICAgIC4uLnRoaXMubG9hZERhdGFBY3Rpb24oKSxcbiAgICAgIGxpbWl0OiAxMCxcbiAgICAgIC4uLnRoaXMuc29ydFxuICAgIH0pO1xuICB9XG5cbiAgbG9hZERhdGEoKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaCh7XG4gICAgICAuLi50aGlzLmxvYWREYXRhQWN0aW9uKCksXG4gICAgICBsaW1pdDogMTAsXG4gICAgICAuLi50aGlzLmZpbHRlcnMsXG4gICAgICAuLi50aGlzLnNvcnRcbiAgICB9KTtcbiAgfVxuXG4gIG9wZW5JbmZvTW9kYWwodmVyc2lvbjogRGF0YXNldFZlcnNpb24pIHtcbiAgICB0aGlzLmRpYWxvZy5vcGVuKFByeVZlcnNpb25Nb2RhbENvbXBvbmVudCwge1xuICAgICAgZGF0YTogeyB2ZXJzaW9uIH0sXG4gICAgICBvdmVybGF5Q29uZmlnOiB7XG4gICAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IG5ldyBHbG9iYWxQb3NpdGlvblN0cmF0ZWd5KCkuY2VudGVyVmVydGljYWxseSgpLnJpZ2h0KCcyMHB4JyksXG4gICAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgICBiYWNrZHJvcENsYXNzOiAnY2RrLW92ZXJsYXktdHJhbnNwYXJlbnQtYmFja2Ryb3AnXG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBvcGVuRXJyb3JNb2RhbCh2ZXJzaW9uOiBEYXRhc2V0VmVyc2lvbikge1xuICAgIHRoaXMuZGlhbG9nLm9wZW4oUHJ5U3RhdHVzTW9kYWxDb21wb25lbnQsIHtcbiAgICAgIGRhdGE6IHsgdmVyc2lvbiB9XG4gICAgfSk7XG4gIH1cblxuICBzb3J0Q2hhbmdlKCRldmVudDogUHJ5U29ydENoYW5nZSkge1xuICAgIHRoaXMuc29ydC5zb3J0QnkgPSAkZXZlbnQuZGlyZWN0aW9uIGFzICdhc2MnIHwgJ2Rlc2MnO1xuICAgIHRoaXMuc29ydC5vcmRlckJ5ID0gJGV2ZW50LmFjdGl2ZSBhcyAnREFUQVNFVF9OQU1FJyB8ICdEQVRFJztcbiAgICB0aGlzLmxvYWREYXRhKCk7XG4gIH1cblxuICB1cGRhdGVGaWx0ZXJzKCkge1xuICAgIHRoaXMubG9hZERhdGFBY3Rpb24udXBkYXRlKChsb2FkRGF0YUFjdGlvbikgPT4gKHsgLi4ubG9hZERhdGFBY3Rpb24sIC4uLnRoaXMuZmlsdGVycyB9KSk7XG4gIH1cbn1cbiIsIjxwcnktaW1wb3J0LWNzcz48L3ByeS1pbXBvcnQtY3NzPlxuPGRpdiBjbGFzcz1cIm8taW1wb3J0LWxpc3QgdS1kaXNwbGF5LWZsZXggLWNvbHVtbiAtZ2FwLTIwXCI+XG4gIDxoMSBjbGFzcz1cImEtaDFcIj57eyAnQHByeS5pbXBvcnRMaXN0LnRpdGxlJyB8IGkxOG4gfX08L2gxPlxuICA8ZGl2IGNsYXNzPVwiby1pbXBvcnQtbGlzdF9fZmlsdGVycyB1LWRpc3BsYXktZmxleCAtZ2FwLTIwXCI+XG4gICAgPGRpdiBjbGFzcz1cIm0tZmlsdGVyX19pbnB1dC13cmFwcGVyIG0tZmlsdGVyX19pbnB1dC13cmFwcGVyLS1kcm9wZG93biBvLWltcG9ydC1saXN0X19kYXRhc2V0LWZpbHRlclwiICNkc1JlZj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWwgbS1maWx0ZXJfX2xhYmVsXCIgZm9yPVwiZGF0YXNldF9uYW1lX2ZpbHRlclwiPlxuICAgICAgICB7eyAnQHByeS5pbXBvcnRMaXN0LmZpbHRlci5kc05hbWUnIHwgaTE4biB9fSZuYnNwOzombmJzcDtcbiAgICAgIDwvbGFiZWw+XG4gICAgICA8cHJ5LXNlbGVjdFxuICAgICAgICBpZD1cImRhdGFzZXRfbmFtZV9maWx0ZXJcIlxuICAgICAgICBbaXRlbXNdPVwiZGF0YXNldHMkIHwgYXN5bmNcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuZGF0YXNldFwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZUZpbHRlcnMoKVwiXG4gICAgICAgIFtjbGVhcmFibGVdPVwidHJ1ZVwiXG4gICAgICAgIFthdXRvY29tcGxldGVdPVwidHJ1ZVwiXG4gICAgICAgIGFyaWEtbGFiZWxsZWRieT1cIml0ZW0tbGFiZWxcIlxuICAgICAgICBiaW5kTGFiZWw9XCJuYW1lXCJcbiAgICAgICAgYmluZFZhbHVlPVwiaWRcIlxuICAgICAgICBbZWxlbWVudFJlZl09XCJkc1JlZlwiXG4gICAgICA+PC9wcnktc2VsZWN0PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtLWZpbHRlcl9faW5wdXQtd3JhcHBlciBtLWZpbHRlcl9faW5wdXQtd3JhcHBlci0tZHJvcGRvd24gby1pbXBvcnQtbGlzdF9fc3RhdGUtZmlsdGVyXCIgI3N0YXR1c1JlZj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImEtbGFiZWwgbS1maWx0ZXJfX2xhYmVsXCIgZm9yPVwiaW1wb3J0X3N0YXR1c1wiPlxuICAgICAgICB7eyAnQHByeS5pbXBvcnRMaXN0LmZpbHRlci5zdGF0dXMnIHwgaTE4biB9fSZuYnNwOzombmJzcDtcbiAgICAgIDwvbGFiZWw+XG4gICAgICA8cHJ5LXNlbGVjdFxuICAgICAgICBpZD1cImltcG9ydF9zdGF0dXNcIlxuICAgICAgICBbaXRlbXNdPVwicG9zc2libGVTdGF0dXNcIlxuICAgICAgICBbKG5nTW9kZWwpXT1cImZpbHRlcnMuc3RhdHVzXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidXBkYXRlRmlsdGVycygpXCJcbiAgICAgICAgW2NsZWFyYWJsZV09XCJ0cnVlXCJcbiAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PVwiaXRlbS1sYWJlbFwiXG4gICAgICAgIFtlbGVtZW50UmVmXT1cInN0YXR1c1JlZlwiXG4gICAgICAgIGkxOG5QcmVmaXg9XCJAcHJ5LmRhdGFzZXQudmVyc2lvbi5zdGF0ZUZpbHRlci5cIlxuICAgICAgPjwvcHJ5LXNlbGVjdD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibS1maWx0ZXJfX2lucHV0LXdyYXBwZXIgbS1maWx0ZXJfX2lucHV0LXdyYXBwZXItLWRyb3Bkb3duIG8taW1wb3J0LWxpc3RfX2RhdGUtZmlsdGVyXCI+XG4gICAgICA8ZmllbGRzZXQgY2xhc3M9XCJ1LWRpc3BsYXktZmxleCAtYWxpZ24tY2VudGVyXCI+XG4gICAgICAgIDxsZWdlbmQgY2xhc3M9XCJhLWxhYmVsIG0tZmlsdGVyX19sYWJlbFwiPnt7ICdAcHJ5LmltcG9ydExpc3QuZmlsdGVyLmRhdGUnIHwgaTE4biB9fSZuYnNwOzombmJzcDs8L2xlZ2VuZD5cbiAgICAgICAgPGlucHV0IGNsYXNzPVwibS1maWx0ZXJfX2lucHV0XCIgdHlwZT1cImRhdGVcIiBbKG5nTW9kZWwpXT1cImZpbHRlcnMuZGF0ZU1pblwiIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZUZpbHRlcnMoKVwiIC8+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibS1maWx0ZXJfX2RhdGUtaW5wdXQtc2VwYXJhdG9yXCI+Jm5ic3A7LSZuYnNwOzwvc3Bhbj5cbiAgICAgICAgPGlucHV0IGNsYXNzPVwibS1maWx0ZXJfX2lucHV0XCIgdHlwZT1cImRhdGVcIiBbKG5nTW9kZWwpXT1cImZpbHRlcnMuZGF0ZU1heFwiIChuZ01vZGVsQ2hhbmdlKT1cInVwZGF0ZUZpbHRlcnMoKVwiIC8+XG4gICAgICA8L2ZpZWxkc2V0PlxuICAgIDwvZGl2PlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seSB1LXNlbGYtY2VudGVyXCIgKGNsaWNrKT1cImNsZWFyRmlsdGVycygpXCI+XG4gICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImNsZWFyX2ZpbHRlclwiIFt3aWR0aF09XCIzMFwiIFtoZWlnaHRdPVwiMzBcIj48L3ByeS1pY29uPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIiAoY2xpY2spPVwibG9hZERhdGEoKVwiPlxuICAgICAge3sgJ0BwcnkudG9vbGJveC5hcHBseScgfCBpMThuIH19XG4gICAgICA8cHJ5LWljb24gaWNvblN2Zz1cInJlZnJlc2hfZmlsdGVyXCIgW3dpZHRoXT1cIjE4XCIgW2hlaWdodF09XCIxOFwiPjwvcHJ5LWljb24+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiby1pbXBvcnQtbGlzdF9fY29udGVudFwiPlxuICAgIDx0YWJsZSBjbGFzcz1cImEtdGFibGVcIiBwcnlTb3J0VGFibGUgKHByeVNvcnRDaGFuZ2UpPVwic29ydENoYW5nZSgkZXZlbnQpXCI+XG4gICAgICA8Y2FwdGlvbj5cbiAgICAgICAge3tcbiAgICAgICAgICAnQHByeS5hZG1pbi5kYXRhc2V0LnRpdGxlJyB8IGkxOG5cbiAgICAgICAgfX0sXG4gICAgICAgIHt7XG4gICAgICAgICAgJ0BwcnkuYWN0aW9uLnNvcnRhYmxlQ29sdW1uSGVhZGVyJyB8IGkxOG5cbiAgICAgICAgfX1cbiAgICAgIDwvY2FwdGlvbj5cbiAgICAgIDx0aGVhZD5cbiAgICAgICAgPHRyPlxuICAgICAgICAgIDx0aCBpZD1cImltcG9ydF9saXN0X2hlYWRlcl9kYXRhc2V0XCIgcHJ5U29ydEhlYWRlcj1cIkRBVEFTRVRfTkFNRVwiPlxuICAgICAgICAgICAge3sgJ0BwcnkuaW1wb3J0TGlzdC5kc05hbWUnIHwgaTE4biB9fVxuICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgPHRoPnt7ICdAcHJ5LmltcG9ydExpc3QubnVtYmVyJyB8IGkxOG4gfX08L3RoPlxuICAgICAgICAgIDx0aCBpZD1cImltcG9ydF9saXN0X2hlYWRlcl9kYXRlXCIgcHJ5U29ydEhlYWRlcj1cIkRBVEVcIiAoc29ydENoYW5nZSk9XCJzb3J0Q2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgICAgIHt7ICdAcHJ5LmltcG9ydExpc3QuZGF0ZScgfCBpMThuIH19XG4gICAgICAgICAgPC90aD5cbiAgICAgICAgICA8dGg+e3sgJ0BwcnkuaW1wb3J0TGlzdC5zdGF0dXMnIHwgaTE4biB9fTwvdGg+XG4gICAgICAgICAgPHRoPnt7ICdAcHJ5LmltcG9ydExpc3QuYWN0aW9ucycgfCBpMThuIH19PC90aD5cbiAgICAgICAgICA8dGg+PC90aD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGhlYWQ+XG4gICAgICA8dGJvZHk+XG4gICAgICAgIEBmb3IgKHZlcnNpb24gb2YgZGF0YXNldFZlcnNpb25zJCB8IGFzeW5jOyB0cmFjayB2ZXJzaW9uLmlkKSB7XG4gICAgICAgICAgPHRyPlxuICAgICAgICAgICAgPHRkPnt7IHZlcnNpb24uZGF0YXNldC5uYW1lIH19PC90ZD5cbiAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAge3sgdmVyc2lvbi52ZXJzaW9uIH19XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPHRkPlxuICAgICAgICAgICAgICB7eyB2ZXJzaW9uLnByb2R1Y3Rpb25EYXRlIHwgZGF0ZTogJ2RkL01NL3l5eXkgSEg6bW0nIH19XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPHRkIGNsYXNzPVwidS1kaXNwbGF5LWZsZXggLWFsaWduLWNlbnRlciAtY2VsbC13aXRoLWljb25cIj5cbiAgICAgICAgICAgICAgQGlmICh2ZXJzaW9uLnN0YXRlID09PSAnQUNUSVZFJykge1xuICAgICAgICAgICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiY2hlY2tcIiBjbGFzcz1cImNoZWNrXCIgW2hlaWdodF09XCIyMFwiIFt3aWR0aF09XCIyMFwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgIH0gQGVsc2UgaWYgKHZlcnNpb24uc3RhdGUgPT09ICdXQVJOSU5HJyB8fCB2ZXJzaW9uLnN0YXRlID09PSAnRVJST1InKSB7XG4gICAgICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJ3YXJuaW5nLXRyaWFuZ2xlXCIgY2xhc3M9XCJ3YXJuaW5nXCIgW2hlaWdodF09XCIyMFwiIFt3aWR0aF09XCIyMFwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICB2ZXJzaW9uLmlkID09PSB2ZXJzaW9uLmRhdGFzZXQuYWN0aXZlVmVyc2lvbj8uaWRcbiAgICAgICAgICAgICAgICAgID8gJ0BwcnkuZGF0YXNldC52ZXJzaW9uLnN0YXRlLmN1cnJlbnRseUFjdGl2ZSdcbiAgICAgICAgICAgICAgICAgIDogKCdAcHJ5LmRhdGFzZXQudmVyc2lvbi5zdGF0ZS4nICsgdmVyc2lvbi5zdGF0ZSB8IGkxOG4pXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgQGlmICh2ZXJzaW9uLnN0YXRlID09PSAnQUNUSVZFJyB8fCB2ZXJzaW9uLnN0YXRlID09PSAnSU5BQ1RJVkUnKSB7XG4gICAgICAgICAgICAgIDx0ZD5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeVwiIChjbGljayk9XCJvcGVuSW5mb01vZGFsKHZlcnNpb24pXCI+Q29uc3VsdGVyPC9idXR0b24+XG4gICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICB9IEBlbHNlIGlmICh2ZXJzaW9uLnN0YXRlID09PSAnRVJST1InIHx8IHZlcnNpb24uc3RhdGUgPT09ICdXQVJOSU5HJykge1xuICAgICAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnlcIiAoY2xpY2spPVwib3BlbkVycm9yTW9kYWwodmVyc2lvbilcIj5cbiAgICAgICAgICAgICAgICAgIHt7IHZlcnNpb24uc3RhdGUgPT09ICdFUlJPUicgPyAnQ29uc3VsdGVyIGVycmV1cnMnIDogJ0NvbnN1bHRlciB3YXJuaW5ncycgfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L3RyPlxuICAgICAgICB9XG4gICAgICA8L3Rib2R5PlxuICAgIDwvdGFibGU+XG4gIDwvZGl2PlxuICA8cHJ5LXBhZ2luYXRvclxuICAgIFthY3Rpb25dPVwibG9hZERhdGFBY3Rpb24oKVwiXG4gICAgW25iUGVyUGFnZV09XCIxMFwiXG4gICAgW3RvdGFsSXRlbU5iXT1cIih0b3RhbFZlcnNpb25Db3VudCQgfCBhc3luYykhXCJcbiAgICBjbGFzcz1cInUtc2VsZi1jZW50ZXJcIlxuICA+PC9wcnktcGFnaW5hdG9yPlxuPC9kaXY+XG4iXX0=
@@ -2,10 +2,10 @@ import { Component, ViewEncapsulation } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class PryImportCssComponent {
4
4
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryImportCssComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PryImportCssComponent, selector: "pry-import-css", ngImport: i0, template: '', isInline: true, styles: [".m-version-modal__list{margin:0;padding:0}.m-version-modal__list li{list-style:none}.o-import{overflow:scroll;height:100%;padding:.9375rem 1.5625rem}.o-import__header,.o-import__form-container{width:50%}.o-import .u-display-flex{gap:4.6875rem}.o-import .o-file-input{min-height:4.6875rem}.o-import__file{text-align:center}.o-import__actions{margin-top:3.125rem}.o-import__message{padding:.9375rem;background-color:#ecedf4;border-radius:.625rem;overflow-y:auto;height:fit-content}.o-import .a-pry-select__content{flex:1}.o-import-list{height:100%}.o-import-list .a-h1{padding:0}.o-import-list .warning{color:#fc5640}.o-import-list .m-filter__input-wrapper{height:2.5rem}.o-import-list .m-filter__date-input-separator{line-height:0}.o-import-list .a-table tbody td.-cell-with-icon{margin:0;padding:1.25rem;height:100%}.o-import-list__content{overflow:auto}.m-version-modal{background-color:#fff;max-width:23.75rem;max-height:37.5rem;padding:0 1.25rem 1.25rem .625rem;box-shadow:0 4px 4px #00000040}.m-version-modal__list{overflow:auto}\n"], encapsulation: i0.ViewEncapsulation.None }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PryImportCssComponent, selector: "pry-import-css", ngImport: i0, template: '', isInline: true, styles: [".m-version-modal__list{margin:0;padding:0}.m-version-modal__list li{list-style:none}.o-import{overflow:scroll;height:100%;padding:.9375rem 1.5625rem}.o-import__header,.o-import__form-container{width:50%}.o-import .u-display-flex{gap:4.6875rem}.o-import .o-file-input{min-height:4.6875rem}.o-import__file{text-align:center}.o-import__actions{margin-top:3.125rem}.o-import__message{padding:.9375rem;background-color:#ecedf4;border-radius:.625rem;overflow-y:auto;height:fit-content}.o-import .a-pry-select__content{flex:1}.o-import-list{height:100%}.o-import-list .a-h1{padding:0}.o-import-list .warning{color:#fc5640}.o-import-list .m-filter__input-wrapper{height:2.5rem}.o-import-list .m-filter__date-input-separator{line-height:0}.o-import-list .a-table tbody td.-cell-with-icon{margin:0;padding:1.25rem;height:100%}.o-import-list__content{overflow:auto}.o-import-list__state-filter pry-select{min-width:9.375rem}.m-version-modal{background-color:#fff;max-width:23.75rem;max-height:37.5rem;padding:0 1.25rem 1.25rem .625rem;box-shadow:0 4px 4px #00000040}.m-version-modal__list{overflow:auto}\n"], encapsulation: i0.ViewEncapsulation.None }); }
6
6
  }
7
7
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryImportCssComponent, decorators: [{
8
8
  type: Component,
9
- args: [{ selector: 'pry-import-css', template: '', encapsulation: ViewEncapsulation.None, styles: [".m-version-modal__list{margin:0;padding:0}.m-version-modal__list li{list-style:none}.o-import{overflow:scroll;height:100%;padding:.9375rem 1.5625rem}.o-import__header,.o-import__form-container{width:50%}.o-import .u-display-flex{gap:4.6875rem}.o-import .o-file-input{min-height:4.6875rem}.o-import__file{text-align:center}.o-import__actions{margin-top:3.125rem}.o-import__message{padding:.9375rem;background-color:#ecedf4;border-radius:.625rem;overflow-y:auto;height:fit-content}.o-import .a-pry-select__content{flex:1}.o-import-list{height:100%}.o-import-list .a-h1{padding:0}.o-import-list .warning{color:#fc5640}.o-import-list .m-filter__input-wrapper{height:2.5rem}.o-import-list .m-filter__date-input-separator{line-height:0}.o-import-list .a-table tbody td.-cell-with-icon{margin:0;padding:1.25rem;height:100%}.o-import-list__content{overflow:auto}.m-version-modal{background-color:#fff;max-width:23.75rem;max-height:37.5rem;padding:0 1.25rem 1.25rem .625rem;box-shadow:0 4px 4px #00000040}.m-version-modal__list{overflow:auto}\n"] }]
9
+ args: [{ selector: 'pry-import-css', template: '', encapsulation: ViewEncapsulation.None, styles: [".m-version-modal__list{margin:0;padding:0}.m-version-modal__list li{list-style:none}.o-import{overflow:scroll;height:100%;padding:.9375rem 1.5625rem}.o-import__header,.o-import__form-container{width:50%}.o-import .u-display-flex{gap:4.6875rem}.o-import .o-file-input{min-height:4.6875rem}.o-import__file{text-align:center}.o-import__actions{margin-top:3.125rem}.o-import__message{padding:.9375rem;background-color:#ecedf4;border-radius:.625rem;overflow-y:auto;height:fit-content}.o-import .a-pry-select__content{flex:1}.o-import-list{height:100%}.o-import-list .a-h1{padding:0}.o-import-list .warning{color:#fc5640}.o-import-list .m-filter__input-wrapper{height:2.5rem}.o-import-list .m-filter__date-input-separator{line-height:0}.o-import-list .a-table tbody td.-cell-with-icon{margin:0;padding:1.25rem;height:100%}.o-import-list__content{overflow:auto}.o-import-list__state-filter pry-select{min-width:9.375rem}.m-version-modal{background-color:#fff;max-width:23.75rem;max-height:37.5rem;padding:0 1.25rem 1.25rem .625rem;box-shadow:0 4px 4px #00000040}.m-version-modal__list{overflow:auto}\n"] }]
10
10
  }] });
11
11
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2ltcG9ydC9zdHlsZS9jc3MuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTdELE1BQU0sT0FBTyxxQkFBcUI7OEdBQXJCLHFCQUFxQjtrR0FBckIscUJBQXFCLHNEQUp0QixFQUFFOzsyRkFJRCxxQkFBcUI7a0JBTmpDLFNBQVM7K0JBQ0UsZ0JBQWdCLFlBQ2hCLEVBQUUsaUJBRUcsaUJBQWlCLENBQUMsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWltcG9ydC1jc3MnLFxuICB0ZW1wbGF0ZTogJycsXG4gIHN0eWxlVXJsczogWycuL19vLWltcG9ydC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgUHJ5SW1wb3J0Q3NzQ29tcG9uZW50IHt9XG4iXX0=
@@ -26,4 +26,4 @@ export const GeometricFieldTypes = [
26
26
  ];
27
27
  export const NumericFieldTypes = [FieldType.INTEGER, FieldType.DECIMAL, FieldType.INSTANT, FieldType.LONG];
28
28
  export const TextFieldTypes = [FieldType.STRING, FieldType.KEYWORD];
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2NvcmUvc3RvcmUvZmllbGQvZmllbGQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFNBZVg7QUFmRCxXQUFZLFNBQVM7SUFDbkIsOEJBQWlCLENBQUE7SUFDakIsZ0NBQW1CLENBQUE7SUFDbkIsZ0NBQW1CLENBQUE7SUFDbkIsZ0NBQW1CLENBQUE7SUFDbkIsZ0NBQW1CLENBQUE7SUFDbkIsMEJBQWEsQ0FBQTtJQUNiLHdCQUFXLENBQUE7SUFDWCw0QkFBZSxDQUFBO0lBQ2Ysc0NBQXlCLENBQUE7SUFDekIsZ0NBQW1CLENBQUE7SUFDbkIsMENBQTZCLENBQUE7SUFDN0IsZ0NBQW1CLENBQUE7SUFDbkIsMENBQTZCLENBQUE7SUFDN0Isc0RBQXlDLENBQUE7QUFDM0MsQ0FBQyxFQWZXLFNBQVMsS0FBVCxTQUFTLFFBZXBCO0FBZ0JELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQ2pDLFNBQVMsQ0FBQyxLQUFLO0lBQ2YsU0FBUyxDQUFDLFVBQVU7SUFDcEIsU0FBUyxDQUFDLElBQUk7SUFDZCxTQUFTLENBQUMsU0FBUztJQUNuQixTQUFTLENBQUMsT0FBTztJQUNqQixTQUFTLENBQUMsWUFBWTtJQUN0QixTQUFTLENBQUMsa0JBQWtCO0NBQ2pCLENBQUM7QUFFZCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQWEsQ0FBQztBQUN2SCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEZpZWxkVHlwZSB7XG4gIFNUUklORyA9ICdzdHJpbmcnLFxuICBLRVlXT1JEID0gJ2tleXdvcmQnLFxuICBJTlRFR0VSID0gJ2ludGVnZXInLFxuICBERUNJTUFMID0gJ2RlY2ltYWwnLFxuICBJTlNUQU5UID0gJ2luc3RhbnQnLFxuICBMT05HID0gJ2xvbmcnLFxuICBSQVcgPSAncmF3JyxcbiAgUE9JTlQgPSAnUG9pbnQnLFxuICBNVUxUSVBPSU5UID0gJ011bHRpUG9pbnQnLFxuICBMSU5FID0gJ0xpbmVTdHJpbmcnLFxuICBNVUxUSUxJTkUgPSAnTXVsdGlMaW5lU3RyaW5nJyxcbiAgUE9MWUdPTiA9ICdQb2x5Z29uJyxcbiAgTVVMVElQT0xZR09OID0gJ011bHRpUG9seWdvbicsXG4gIEdFT01FVFJZQ09MTEVDVElPTiA9ICdHZW9tZXRyeUNvbGxlY3Rpb24nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybWF0T3B0aW9ucyB7XG4gIGZvcm1hdD86IHN0cmluZztcbiAgZGVjaW1hbFByZWNpc2lvbj86IG51bWJlcjtcbiAgdW5pdD86IHN0cmluZztcbiAgaXNMb2NhbGVGb3JtYXQ/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkIGV4dGVuZHMgRm9ybWF0T3B0aW9ucyB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogRmllbGRUeXBlO1xuICBjcnM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBHZW9tZXRyaWNGaWVsZFR5cGVzID0gW1xuICBGaWVsZFR5cGUuUE9JTlQsXG4gIEZpZWxkVHlwZS5NVUxUSVBPSU5ULFxuICBGaWVsZFR5cGUuTElORSxcbiAgRmllbGRUeXBlLk1VTFRJTElORSxcbiAgRmllbGRUeXBlLlBPTFlHT04sXG4gIEZpZWxkVHlwZS5NVUxUSVBPTFlHT04sXG4gIEZpZWxkVHlwZS5HRU9NRVRSWUNPTExFQ1RJT05cbl0gYXMgc3RyaW5nW107XG5cbmV4cG9ydCBjb25zdCBOdW1lcmljRmllbGRUeXBlcyA9IFtGaWVsZFR5cGUuSU5URUdFUiwgRmllbGRUeXBlLkRFQ0lNQUwsIEZpZWxkVHlwZS5JTlNUQU5ULCBGaWVsZFR5cGUuTE9OR10gYXMgc3RyaW5nW107XG5leHBvcnQgY29uc3QgVGV4dEZpZWxkVHlwZXMgPSBbRmllbGRUeXBlLlNUUklORywgRmllbGRUeXBlLktFWVdPUkRdIGFzIHN0cmluZ1tdO1xuIl19
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvbGliL2NvcmUvc3RvcmUvZmllbGQvZmllbGQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLFNBZVg7QUFmRCxXQUFZLFNBQVM7SUFDbkIsOEJBQWlCLENBQUE7SUFDakIsZ0NBQW1CLENBQUE7SUFDbkIsZ0NBQW1CLENBQUE7SUFDbkIsZ0NBQW1CLENBQUE7SUFDbkIsZ0NBQW1CLENBQUE7SUFDbkIsMEJBQWEsQ0FBQTtJQUNiLHdCQUFXLENBQUE7SUFDWCw0QkFBZSxDQUFBO0lBQ2Ysc0NBQXlCLENBQUE7SUFDekIsZ0NBQW1CLENBQUE7SUFDbkIsMENBQTZCLENBQUE7SUFDN0IsZ0NBQW1CLENBQUE7SUFDbkIsMENBQTZCLENBQUE7SUFDN0Isc0RBQXlDLENBQUE7QUFDM0MsQ0FBQyxFQWZXLFNBQVMsS0FBVCxTQUFTLFFBZXBCO0FBZ0JELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHO0lBQ2pDLFNBQVMsQ0FBQyxLQUFLO0lBQ2YsU0FBUyxDQUFDLFVBQVU7SUFDcEIsU0FBUyxDQUFDLElBQUk7SUFDZCxTQUFTLENBQUMsU0FBUztJQUNuQixTQUFTLENBQUMsT0FBTztJQUNqQixTQUFTLENBQUMsWUFBWTtJQUN0QixTQUFTLENBQUMsa0JBQWtCO0NBQ2pCLENBQUM7QUFFZCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQWEsQ0FBQztBQUN2SCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEZpZWxkVHlwZSB7XG4gIFNUUklORyA9ICdzdHJpbmcnLFxuICBLRVlXT1JEID0gJ2tleXdvcmQnLFxuICBJTlRFR0VSID0gJ2ludGVnZXInLFxuICBERUNJTUFMID0gJ2RlY2ltYWwnLFxuICBJTlNUQU5UID0gJ2luc3RhbnQnLFxuICBMT05HID0gJ2xvbmcnLFxuICBSQVcgPSAncmF3JyxcbiAgUE9JTlQgPSAnUG9pbnQnLFxuICBNVUxUSVBPSU5UID0gJ011bHRpUG9pbnQnLFxuICBMSU5FID0gJ0xpbmVTdHJpbmcnLFxuICBNVUxUSUxJTkUgPSAnTXVsdGlMaW5lU3RyaW5nJyxcbiAgUE9MWUdPTiA9ICdQb2x5Z29uJyxcbiAgTVVMVElQT0xZR09OID0gJ011bHRpUG9seWdvbicsXG4gIEdFT01FVFJZQ09MTEVDVElPTiA9ICdHZW9tZXRyeUNvbGxlY3Rpb24nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybWF0T3B0aW9ucyB7XG4gIGZvcm1hdD86IHN0cmluZztcbiAgZGVjaW1hbFByZWNpc2lvbj86IG51bWJlcjtcbiAgdW5pdD86IHN0cmluZztcbiAgbG9jYWxlRm9ybWF0PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWVsZCBleHRlbmRzIEZvcm1hdE9wdGlvbnMge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHR5cGU6IEZpZWxkVHlwZTtcbiAgY3JzPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY29uc3QgR2VvbWV0cmljRmllbGRUeXBlcyA9IFtcbiAgRmllbGRUeXBlLlBPSU5ULFxuICBGaWVsZFR5cGUuTVVMVElQT0lOVCxcbiAgRmllbGRUeXBlLkxJTkUsXG4gIEZpZWxkVHlwZS5NVUxUSUxJTkUsXG4gIEZpZWxkVHlwZS5QT0xZR09OLFxuICBGaWVsZFR5cGUuTVVMVElQT0xZR09OLFxuICBGaWVsZFR5cGUuR0VPTUVUUllDT0xMRUNUSU9OXG5dIGFzIHN0cmluZ1tdO1xuXG5leHBvcnQgY29uc3QgTnVtZXJpY0ZpZWxkVHlwZXMgPSBbRmllbGRUeXBlLklOVEVHRVIsIEZpZWxkVHlwZS5ERUNJTUFMLCBGaWVsZFR5cGUuSU5TVEFOVCwgRmllbGRUeXBlLkxPTkddIGFzIHN0cmluZ1tdO1xuZXhwb3J0IGNvbnN0IFRleHRGaWVsZFR5cGVzID0gW0ZpZWxkVHlwZS5TVFJJTkcsIEZpZWxkVHlwZS5LRVlXT1JEXSBhcyBzdHJpbmdbXTtcbiJdfQ==
@@ -22,7 +22,7 @@ export class FieldService {
22
22
  updateField(field) {
23
23
  return this.store
24
24
  .select(ConfigSelectors.refUrl)
25
- .pipe(mergeMap((url) => this.httpClient.put(encodeURI(`${url}/model/fields/${field.id}`), field)));
25
+ .pipe(mergeMap((url) => this.httpClient.put(encodeURI(`${url}/model/fields/id/${field.id}`), field)));
26
26
  }
27
27
  deleteField(id) {
28
28
  return this.store
@@ -38,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
38
38
  providedIn: 'root'
39
39
  }]
40
40
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.Store }] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL3N0b3JlL2ZpZWxkL2ZpZWxkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsUUFBUSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQUs3RCxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUNVLFVBQXNCLEVBQ3RCLEtBQWlCO1FBRGpCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsVUFBSyxHQUFMLEtBQUssQ0FBWTtJQUN4QixDQUFDO0lBRUosU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLEtBQUs7YUFDZCxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQzthQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBZSxTQUFTLENBQUMsR0FBRyxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBWTtRQUNwQixPQUFPLElBQUksQ0FBQyxLQUFLO2FBQ2QsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7YUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQU8sU0FBUyxDQUFDLEdBQUcsR0FBRyxlQUFlLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEtBQUs7YUFDZCxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQzthQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBTyxTQUFTLENBQUMsR0FBRyxHQUFHLGlCQUFpQixLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0csQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUFVO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLEtBQUs7YUFDZCxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQzthQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBTyxTQUFTLENBQUMsR0FBRyxHQUFHLGlCQUFpQixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25HLENBQUM7OEdBNUJVLFlBQVk7a0hBQVosWUFBWSxjQUZYLE1BQU07OzJGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IG1lcmdlTWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQ29uZmlnU2VsZWN0b3JzIH0gZnJvbSAnLi4vY29uZmlnL2NvbmZpZy5zZWxlY3RvcnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGaWVsZFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55PlxuICApIHt9XG5cbiAgZ2V0RmllbGRzKCk6IE9ic2VydmFibGU8QXJyYXk8RmllbGQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8QXJyYXk8RmllbGQ+PihlbmNvZGVVUkkoYCR7dXJsfS9tb2RlbC9maWVsZHNgKSkpKTtcbiAgfVxuXG4gIHNhdmVGaWVsZChmaWVsZDogRmllbGQpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8dm9pZD4oZW5jb2RlVVJJKGAke3VybH0vbW9kZWwvZmllbGRzYCksIGZpZWxkKSkpO1xuICB9XG5cbiAgdXBkYXRlRmllbGQoZmllbGQ6IEZpZWxkKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5wdXQ8dm9pZD4oZW5jb2RlVVJJKGAke3VybH0vbW9kZWwvZmllbGRzLyR7ZmllbGQuaWR9YCksIGZpZWxkKSkpO1xuICB9XG5cbiAgZGVsZXRlRmllbGQoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZGVsZXRlPHZvaWQ+KGVuY29kZVVSSShgJHt1cmx9L21vZGVsL2ZpZWxkcy8ke2lkfWApKSkpO1xuICB9XG59XG4iXX0=
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2xpYi9jb3JlL3N0b3JlL2ZpZWxkL2ZpZWxkLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsUUFBUSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBRzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQUs3RCxNQUFNLE9BQU8sWUFBWTtJQUN2QixZQUNVLFVBQXNCLEVBQ3RCLEtBQWlCO1FBRGpCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsVUFBSyxHQUFMLEtBQUssQ0FBWTtJQUN4QixDQUFDO0lBRUosU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLEtBQUs7YUFDZCxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQzthQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBZSxTQUFTLENBQUMsR0FBRyxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBWTtRQUNwQixPQUFPLElBQUksQ0FBQyxLQUFLO2FBQ2QsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUM7YUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQU8sU0FBUyxDQUFDLEdBQUcsR0FBRyxlQUFlLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFZO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEtBQUs7YUFDZCxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQzthQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBTyxTQUFTLENBQUMsR0FBRyxHQUFHLG9CQUFvQixLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEgsQ0FBQztJQUVELFdBQVcsQ0FBQyxFQUFVO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLEtBQUs7YUFDZCxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQzthQUM5QixJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBTyxTQUFTLENBQUMsR0FBRyxHQUFHLGlCQUFpQixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25HLENBQUM7OEdBNUJVLFlBQVk7a0hBQVosWUFBWSxjQUZYLE1BQU07OzJGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IG1lcmdlTWFwLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGaWVsZCB9IGZyb20gJy4vZmllbGQuaW50ZXJmYWNlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQ29uZmlnU2VsZWN0b3JzIH0gZnJvbSAnLi4vY29uZmlnL2NvbmZpZy5zZWxlY3RvcnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGaWVsZFNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55PlxuICApIHt9XG5cbiAgZ2V0RmllbGRzKCk6IE9ic2VydmFibGU8QXJyYXk8RmllbGQ+PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5nZXQ8QXJyYXk8RmllbGQ+PihlbmNvZGVVUkkoYCR7dXJsfS9tb2RlbC9maWVsZHNgKSkpKTtcbiAgfVxuXG4gIHNhdmVGaWVsZChmaWVsZDogRmllbGQpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChDb25maWdTZWxlY3RvcnMucmVmVXJsKVxuICAgICAgLnBpcGUobWVyZ2VNYXAoKHVybCkgPT4gdGhpcy5odHRwQ2xpZW50LnBvc3Q8dm9pZD4oZW5jb2RlVVJJKGAke3VybH0vbW9kZWwvZmllbGRzYCksIGZpZWxkKSkpO1xuICB9XG5cbiAgdXBkYXRlRmllbGQoZmllbGQ6IEZpZWxkKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoQ29uZmlnU2VsZWN0b3JzLnJlZlVybClcbiAgICAgIC5waXBlKG1lcmdlTWFwKCh1cmwpID0+IHRoaXMuaHR0cENsaWVudC5wdXQ8dm9pZD4oZW5jb2RlVVJJKGAke3VybH0vbW9kZWwvZmllbGRzL2lkLyR7ZmllbGQuaWR9YCksIGZpZWxkKSkpO1xuICB9XG5cbiAgZGVsZXRlRmllbGQoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLnN0b3JlXG4gICAgICAuc2VsZWN0KENvbmZpZ1NlbGVjdG9ycy5yZWZVcmwpXG4gICAgICAucGlwZShtZXJnZU1hcCgodXJsKSA9PiB0aGlzLmh0dHBDbGllbnQuZGVsZXRlPHZvaWQ+KGVuY29kZVVSSShgJHt1cmx9L21vZGVsL2ZpZWxkcy8ke2lkfWApKSkpO1xuICB9XG59XG4iXX0=