@provoly/dashboard 0.13.0 → 0.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/admin/components/admin-classes/admin-classes-view/admin-attributes-select/admin-attributes-select.component.d.ts +3 -1
  2. package/components/sinceDate/sinceDate.pipe.d.ts +1 -1
  3. package/dataset/components/dataset-detail/dataset-detail.component.d.ts +7 -1
  4. package/dataset/i18n/en.translations.d.ts +2 -0
  5. package/dataset/i18n/fr.translations.d.ts +2 -1
  6. package/dataset/style/_o-pry-dataset-detail.scss +13 -11
  7. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-select/admin-attributes-select.component.mjs +8 -3
  8. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.mjs +2 -1
  9. package/esm2022/components/sinceDate/sinceDate.pipe.mjs +7 -9
  10. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +26 -8
  11. package/esm2022/dataset/components/dataset.component.mjs +4 -2
  12. package/esm2022/dataset/i18n/en.translations.mjs +3 -1
  13. package/esm2022/dataset/i18n/fr.translations.mjs +4 -3
  14. package/esm2022/dataset/style/css.component.mjs +2 -2
  15. package/esm2022/filters/date/date-filter.component.mjs +3 -3
  16. package/esm2022/filters/number/number-filter.component.mjs +3 -3
  17. package/esm2022/filters/text/text-filter.component.mjs +3 -3
  18. package/esm2022/import/components/import.component.mjs +5 -16
  19. package/esm2022/import/store/import.actions.mjs +1 -1
  20. package/esm2022/import/store/import.effects.mjs +3 -3
  21. package/esm2022/import/store/import.reducer.mjs +5 -13
  22. package/esm2022/import/store/import.selectors.mjs +5 -7
  23. package/esm2022/import/store/import.service.mjs +1 -1
  24. package/esm2022/lib/core/components/accordion/accordion-item/accordion-item.component.mjs +42 -0
  25. package/esm2022/lib/core/components/accordion/accordion.component.mjs +13 -0
  26. package/esm2022/lib/core/components/select/select.component.mjs +3 -3
  27. package/esm2022/lib/core/core.module.mjs +26 -8
  28. package/esm2022/lib/core/i18n/en.translations.mjs +3 -2
  29. package/esm2022/lib/core/i18n/fr.translations.mjs +3 -2
  30. package/esm2022/lib/core/model/widget-map-manifest.interface.mjs +1 -2
  31. package/esm2022/lib/core/public-api.mjs +3 -1
  32. package/esm2022/lib/core/symbol/symbol.service.mjs +53 -15
  33. package/esm2022/lib/core/toolbox/toolbox-manifest.service.mjs +4 -4
  34. package/esm2022/lib/dashboard/components/widgets/base-widget.component.mjs +1 -1
  35. package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +3 -2
  36. package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-instanciator.component.mjs +6 -4
  37. package/esm2022/pipeline/components/pipeline-editor/pipeline-editor.component.mjs +6 -11
  38. package/esm2022/pipeline/style/css.component.mjs +2 -2
  39. package/esm2022/restitution/components/restitution-list/restitution-list.component.mjs +3 -7
  40. package/esm2022/restitution/style/css.component.mjs +2 -2
  41. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +53 -194
  42. package/esm2022/widgets/widget-map/interaction/interaction-manager.class.mjs +146 -0
  43. package/esm2022/widgets/widget-map/public-api.mjs +3 -1
  44. package/fesm2022/provoly-dashboard-admin.mjs +7 -2
  45. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  46. package/fesm2022/provoly-dashboard-components-sinceDate.mjs +6 -8
  47. package/fesm2022/provoly-dashboard-components-sinceDate.mjs.map +1 -1
  48. package/fesm2022/provoly-dashboard-dataset.mjs +35 -12
  49. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  50. package/fesm2022/provoly-dashboard-filters-date.mjs +2 -2
  51. package/fesm2022/provoly-dashboard-filters-date.mjs.map +1 -1
  52. package/fesm2022/provoly-dashboard-filters-number.mjs +2 -2
  53. package/fesm2022/provoly-dashboard-filters-number.mjs.map +1 -1
  54. package/fesm2022/provoly-dashboard-filters-text.mjs +2 -2
  55. package/fesm2022/provoly-dashboard-filters-text.mjs.map +1 -1
  56. package/fesm2022/provoly-dashboard-import.mjs +14 -35
  57. package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
  58. package/fesm2022/provoly-dashboard-pipeline.mjs +15 -19
  59. package/fesm2022/provoly-dashboard-pipeline.mjs.map +1 -1
  60. package/fesm2022/provoly-dashboard-restitution.mjs +4 -8
  61. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
  62. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +256 -257
  63. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  64. package/fesm2022/provoly-dashboard.mjs +143 -38
  65. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  66. package/import/components/import.component.d.ts +3 -9
  67. package/import/store/import.actions.d.ts +3 -16
  68. package/import/store/import.effects.d.ts +1 -1
  69. package/import/store/import.reducer.d.ts +2 -5
  70. package/import/store/import.selectors.d.ts +2 -7
  71. package/import/store/import.service.d.ts +2 -2
  72. package/lib/core/components/accordion/accordion-item/accordion-item.component.d.ts +17 -0
  73. package/lib/core/components/accordion/accordion.component.d.ts +6 -0
  74. package/lib/core/core.module.d.ts +15 -11
  75. package/lib/core/i18n/en.translations.d.ts +1 -0
  76. package/lib/core/i18n/fr.translations.d.ts +1 -0
  77. package/lib/core/model/widget-map-manifest.interface.d.ts +0 -1
  78. package/lib/core/public-api.d.ts +2 -0
  79. package/lib/core/symbol/symbol.service.d.ts +18 -2
  80. package/lib/dashboard/components/widgets/base-widget.component.d.ts +1 -1
  81. package/package.json +25 -25
  82. package/pipeline/components/pipeline-editor/pipeline-editor.component.d.ts +1 -3
  83. package/pipeline/style/_o-pipeline.scss +0 -108
  84. package/restitution/components/restitution-list/restitution-list.component.d.ts +0 -2
  85. package/restitution/style/_o-restitution-list.scss +2 -24
  86. package/schematics/ng-add/index.spec.js +9 -0
  87. package/schematics/ng-add/index.spec.js.map +1 -1
  88. package/styles/abstracts/_mixins.scss +14 -0
  89. package/styles/components/_m-filter.scss +0 -1
  90. package/styles/components/_o-accordion.scss +91 -0
  91. package/styles-theme/components-theme/_o-accordion.theme.scss +30 -0
  92. package/styles-theme/components-theme/_o-pipeline.theme.scss +0 -26
  93. package/styles-theme/main-theme.scss +1 -0
  94. package/widgets/widget-map/component/widget-map.component.d.ts +13 -24
  95. package/widgets/widget-map/interaction/interaction-manager.class.d.ts +27 -0
  96. package/widgets/widget-map/public-api.d.ts +2 -0
@@ -1,7 +1,7 @@
1
1
  import { OnDestroy, OnInit } from '@angular/core';
2
2
  import { ActivatedRoute, Router } from '@angular/router';
3
3
  import { Store } from '@ngrx/store';
4
- import { AttributeExtended, Class } from '@provoly/dashboard';
4
+ import { Associations, AttributeExtended, Class } from '@provoly/dashboard';
5
5
  import { Observable, Subscription } from 'rxjs';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class AdminAttributesSelectComponent implements OnInit, OnDestroy {
@@ -12,6 +12,7 @@ export declare class AdminAttributesSelectComponent implements OnInit, OnDestroy
12
12
  compId: number;
13
13
  selectedAttribute$: Observable<AttributeExtended | undefined>;
14
14
  sub: Subscription;
15
+ associations$: Observable<Associations | undefined>;
15
16
  tab: number;
16
17
  private classId?;
17
18
  private selectedClassId$;
@@ -22,6 +23,7 @@ export declare class AdminAttributesSelectComponent implements OnInit, OnDestroy
22
23
  ngOnInit(): void;
23
24
  ngOnDestroy(): void;
24
25
  closePanel(): void;
26
+ switch(number: number): void;
25
27
  static ɵfac: i0.ɵɵFactoryDeclaration<AdminAttributesSelectComponent, never>;
26
28
  static ɵcmp: i0.ɵɵComponentDeclaration<AdminAttributesSelectComponent, "pry-admin-attribute-select", never, {}, {}, never, never, false, never>;
27
29
  }
@@ -4,7 +4,7 @@ import * as i0 from "@angular/core";
4
4
  export declare class PrySinceDatePipe implements PipeTransform {
5
5
  private translateService;
6
6
  constructor(translateService: PryI18nService);
7
- transform(value: string): string;
7
+ transform(value: string, ...args: any[]): string;
8
8
  getDayDiff(startDate: Date, endDate: Date): number;
9
9
  static ɵfac: i0.ɵɵFactoryDeclaration<PrySinceDatePipe, never>;
10
10
  static ɵpipe: i0.ɵɵPipeDeclaration<PrySinceDatePipe, "sinceDate", false>;
@@ -7,7 +7,9 @@ export declare class PryDatasetDetailComponent implements OnInit {
7
7
  private store;
8
8
  dataset: Dataset;
9
9
  goToCatalog: EventEmitter<any>;
10
- widgetManifest: WidgetManifest;
10
+ widgetManifest: {
11
+ [key: string]: WidgetManifest;
12
+ };
11
13
  protected readonly ViewMode: typeof ViewMode;
12
14
  compId: number;
13
15
  tab: number;
@@ -16,6 +18,7 @@ export declare class PryDatasetDetailComponent implements OnInit {
16
18
  showModalStatus: boolean;
17
19
  selectedDatasetVersion?: DatasetVersion;
18
20
  selectedMode: ViewMode;
21
+ activeVersion$: Observable<string | undefined>;
19
22
  constructor(store: Store);
20
23
  ngOnInit(): void;
21
24
  goBack(): void;
@@ -24,6 +27,9 @@ export declare class PryDatasetDetailComponent implements OnInit {
24
27
  handleButtonAction(version: DatasetVersion): void;
25
28
  private deactivateVersion;
26
29
  private activateVersion;
30
+ modify(type: string, { manifest }: {
31
+ manifest: WidgetManifest;
32
+ }): void;
27
33
  static ɵfac: i0.ɵɵFactoryDeclaration<PryDatasetDetailComponent, never>;
28
34
  static ɵcmp: i0.ɵɵComponentDeclaration<PryDatasetDetailComponent, "pry-dataset-detail", never, { "dataset": { "alias": "dataset"; "required": false; }; }, { "goToCatalog": "goToCatalog"; }, never, never, false, never>;
29
35
  }
@@ -7,6 +7,8 @@ export declare const enTranslations: {
7
7
  status: string;
8
8
  versionHistory: string;
9
9
  data: string;
10
+ table: string;
11
+ map: string;
10
12
  export: string;
11
13
  api: string;
12
14
  returnToList: string;
@@ -5,9 +5,10 @@ export declare const frTranslations: {
5
5
  search: string;
6
6
  date: string;
7
7
  status: string;
8
- data: string;
9
8
  versionHistory: string;
9
+ data: string;
10
10
  table: string;
11
+ map: string;
11
12
  export: string;
12
13
  api: string;
13
14
  returnToList: string;
@@ -6,26 +6,28 @@ pry-dataset-detail {
6
6
  width: 100%;
7
7
  display: flex;
8
8
  flex-direction: column;
9
+ flex: 1 1;
9
10
 
10
11
  .o-pry-dataset-detail {
11
12
  display: flex;
12
13
  flex-direction: column;
14
+ flex: 1 1;
13
15
 
14
- .table-container {
15
- max-height: 48vh;
16
- overflow-y: auto;
17
- padding-left: 1rem;
18
- padding-right: 1rem;
19
-
20
- table {
21
- height: 100%;
16
+ .dataset-detail {
17
+ display: flex;
18
+ flex-direction: column;
19
+ flex: 1 1;
22
20
 
23
- tr {
24
- height: 4.25rem;
25
- }
21
+ .dashboard-container {
22
+ overflow: auto;
23
+ height: 50vh;
26
24
  }
27
25
  }
28
26
 
27
+ .table-container {
28
+ flex: 1 1;
29
+ }
30
+
29
31
  pry-icon {
30
32
  position: relative;
31
33
  top: toRem(5);
@@ -3,6 +3,7 @@ import { combineLatestWith, Subscription } from 'rxjs';
3
3
  import { AdminActions } from '../../../../store/admin.actions';
4
4
  import { AdminClassActions } from '../../store/admin-class.actions';
5
5
  import { AdminClassSelectors } from '../../store/admin-class.selectors';
6
+ import { AdminSelectors } from "../../../../store/admin.selectors";
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "@ngrx/store";
8
9
  import * as i2 from "@angular/router";
@@ -22,6 +23,7 @@ export class AdminAttributesSelectComponent {
22
23
  this.interClass$ = this.store.select(AdminClassSelectors.interClass);
23
24
  this.interClassId$ = this.store.select(AdminClassSelectors.interClassId);
24
25
  this.compId = nextCompId++;
26
+ this.associations$ = this.store.select(AdminSelectors.selectedAssociation);
25
27
  }
26
28
  ngOnInit() {
27
29
  this.sub.add(this.interClass$.subscribe((interClass) => {
@@ -71,11 +73,14 @@ export class AdminAttributesSelectComponent {
71
73
  }));
72
74
  }
73
75
  }
76
+ switch(number) {
77
+ this.tab = number;
78
+ }
74
79
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminAttributesSelectComponent, deps: [{ token: i1.Store }, { token: i2.Router }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
75
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AdminAttributesSelectComponent, selector: "pry-admin-attribute-select", ngImport: i0, template: "<div\n *ngIf=\"selectedAttribute$ | async as attribute\"\n [id]=\"'panel-attr-' + attribute.id\"\n [attr.aria-labelledby]=\"'button-attr-' + attribute.id\"\n class=\"o-panel\"\n>\n <div>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 [id]=\"'tab-title-' + compId\" class=\"a-h3\">\n {{ '@pry.admin.classes.attributes.info' | i18n }}\n </h3>\n </div>\n\n <div class=\"o-tabs\">\n <div class=\"o-tabs__list\" role=\"tablist\" [attr.aria-labelledby]=\"'tab-title-' + compId\">\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-0'\"\n [attr.aria-selected]=\"tab === 0\"\n [attr.tabindex]=\"tab === 0 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-0'\"\n >\n {{ '@pry.admin.details' | i18n }}\n </button>\n </div>\n\n <div class=\"o-tabs__panels\">\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 0\"\n [id]=\"'tabpanel-' + compId + '-0'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-0'\"\n tabindex=\"0\"\n >\n <div class=\"o-tabs__panels__item__content\">\n <h4 class=\"a-h4\">{{ '@pry.admin.properties' | i18n }}</h4>\n <p class=\"a-p\">\n {{ '@pry.admin.classes.attributes.name' | i18n }} :\n <strong>{{ attribute.name }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.classes.attributes.field' | i18n }} :\n <strong>{{ attribute.fieldName }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.classes.attributes.category' | i18n }} :\n <strong>{{ attribute.categoryName }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.classes.attributes.multiValued' | i18n }} :\n <strong>{{ attribute.multiValued }}</strong>\n </p>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
80
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AdminAttributesSelectComponent, selector: "pry-admin-attribute-select", ngImport: i0, template: "<div\n *ngIf=\"selectedAttribute$ | async as attribute\"\n [id]=\"'panel-attr-' + attribute.id\"\n [attr.aria-labelledby]=\"'button-attr-' + attribute.id\"\n class=\"o-panel\"\n>\n <div>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 [id]=\"'tab-title-' + compId\" class=\"a-h3\">\n {{ '@pry.admin.classes.attributes.info' | i18n }}\n </h3>\n </div>\n\n <div class=\"o-tabs\">\n <div class=\"o-tabs__list\" role=\"tablist\" [attr.aria-labelledby]=\"'tab-title-' + compId\">\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-0'\"\n [attr.aria-selected]=\"tab === 0\"\n [attr.tabindex]=\"tab === 0 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-0'\"\n (click)=\"switch(0)\"\n >\n {{ '@pry.admin.details' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-1'\"\n [attr.aria-selected]=\"tab === 1\"\n [attr.tabindex]=\"tab === 1 ? 1 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-1'\"\n (click)=\"switch(1)\"\n >\n {{ '@pry.admin.classes.associations' | i18n }}\n </button>\n </div>\n\n <div class=\"o-tabs__panels\">\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 0\"\n [id]=\"'tabpanel-' + compId + '-0'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-0'\"\n tabindex=\"0\"\n >\n <div class=\"o-tabs__panels__item__content\">\n <h4 class=\"a-h4\">{{ '@pry.admin.properties' | i18n }}</h4>\n <p class=\"a-p\">\n {{ '@pry.admin.classes.attributes.name' | i18n }} :\n <strong>{{ attribute.name }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.classes.attributes.field' | i18n }} :\n <strong>{{ attribute.fieldName }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.classes.attributes.category' | i18n }} :\n <strong>{{ attribute.categoryName }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.classes.attributes.multiValued' | i18n }} :\n <strong>{{ attribute.multiValued }}</strong>\n </p>\n </div>\n </div>\n </div>\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 1\"\n [id]=\"'tabpanel-' + compId + '-1'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-1'\"\n tabindex=\"2\"\n >\n <div *ngIf=\"associations$ | async as associations\" class=\"o-tabs__panels__item__content\">\n <h4 class=\"a-h4\">{{ '@pry.admin.classes.associations' | i18n }}</h4>\n <div *ngFor=\"let association of associations.associations\">\n <p class=\"a-p\">\n {{ '@pry.admin.classes.name' | i18n }} :\n <strong>{{ association.name }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.classes.type' | i18n }} :\n <strong>{{ association.type }}</strong>\n </p>\n </div>\n <p *ngIf=\"associations.usedElsewhere === true\" class=\"a-p\">\n <strong>{{ '@pry.admin.classes.usedElsewhere' | i18n }}</strong>\n </p>\n </div>\n </div>\n </div>\n </div>\n</div>\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: "component", type: i4.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
76
81
  }
77
82
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminAttributesSelectComponent, decorators: [{
78
83
  type: Component,
79
- args: [{ selector: 'pry-admin-attribute-select', template: "<div\n *ngIf=\"selectedAttribute$ | async as attribute\"\n [id]=\"'panel-attr-' + attribute.id\"\n [attr.aria-labelledby]=\"'button-attr-' + attribute.id\"\n class=\"o-panel\"\n>\n <div>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 [id]=\"'tab-title-' + compId\" class=\"a-h3\">\n {{ '@pry.admin.classes.attributes.info' | i18n }}\n </h3>\n </div>\n\n <div class=\"o-tabs\">\n <div class=\"o-tabs__list\" role=\"tablist\" [attr.aria-labelledby]=\"'tab-title-' + compId\">\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-0'\"\n [attr.aria-selected]=\"tab === 0\"\n [attr.tabindex]=\"tab === 0 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-0'\"\n >\n {{ '@pry.admin.details' | i18n }}\n </button>\n </div>\n\n <div class=\"o-tabs__panels\">\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 0\"\n [id]=\"'tabpanel-' + compId + '-0'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-0'\"\n tabindex=\"0\"\n >\n <div class=\"o-tabs__panels__item__content\">\n <h4 class=\"a-h4\">{{ '@pry.admin.properties' | i18n }}</h4>\n <p class=\"a-p\">\n {{ '@pry.admin.classes.attributes.name' | i18n }} :\n <strong>{{ attribute.name }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.classes.attributes.field' | i18n }} :\n <strong>{{ attribute.fieldName }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.classes.attributes.category' | i18n }} :\n <strong>{{ attribute.categoryName }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.classes.attributes.multiValued' | i18n }} :\n <strong>{{ attribute.multiValued }}</strong>\n </p>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
84
+ args: [{ selector: 'pry-admin-attribute-select', template: "<div\n *ngIf=\"selectedAttribute$ | async as attribute\"\n [id]=\"'panel-attr-' + attribute.id\"\n [attr.aria-labelledby]=\"'button-attr-' + attribute.id\"\n class=\"o-panel\"\n>\n <div>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 [id]=\"'tab-title-' + compId\" class=\"a-h3\">\n {{ '@pry.admin.classes.attributes.info' | i18n }}\n </h3>\n </div>\n\n <div class=\"o-tabs\">\n <div class=\"o-tabs__list\" role=\"tablist\" [attr.aria-labelledby]=\"'tab-title-' + compId\">\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-0'\"\n [attr.aria-selected]=\"tab === 0\"\n [attr.tabindex]=\"tab === 0 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-0'\"\n (click)=\"switch(0)\"\n >\n {{ '@pry.admin.details' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-1'\"\n [attr.aria-selected]=\"tab === 1\"\n [attr.tabindex]=\"tab === 1 ? 1 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-1'\"\n (click)=\"switch(1)\"\n >\n {{ '@pry.admin.classes.associations' | i18n }}\n </button>\n </div>\n\n <div class=\"o-tabs__panels\">\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 0\"\n [id]=\"'tabpanel-' + compId + '-0'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-0'\"\n tabindex=\"0\"\n >\n <div class=\"o-tabs__panels__item__content\">\n <h4 class=\"a-h4\">{{ '@pry.admin.properties' | i18n }}</h4>\n <p class=\"a-p\">\n {{ '@pry.admin.classes.attributes.name' | i18n }} :\n <strong>{{ attribute.name }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.classes.attributes.field' | i18n }} :\n <strong>{{ attribute.fieldName }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.classes.attributes.category' | i18n }} :\n <strong>{{ attribute.categoryName }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.classes.attributes.multiValued' | i18n }} :\n <strong>{{ attribute.multiValued }}</strong>\n </p>\n </div>\n </div>\n </div>\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 1\"\n [id]=\"'tabpanel-' + compId + '-1'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-1'\"\n tabindex=\"2\"\n >\n <div *ngIf=\"associations$ | async as associations\" class=\"o-tabs__panels__item__content\">\n <h4 class=\"a-h4\">{{ '@pry.admin.classes.associations' | i18n }}</h4>\n <div *ngFor=\"let association of associations.associations\">\n <p class=\"a-p\">\n {{ '@pry.admin.classes.name' | i18n }} :\n <strong>{{ association.name }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.classes.type' | i18n }} :\n <strong>{{ association.type }}</strong>\n </p>\n </div>\n <p *ngIf=\"associations.usedElsewhere === true\" class=\"a-p\">\n <strong>{{ '@pry.admin.classes.usedElsewhere' | i18n }}</strong>\n </p>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
80
85
  }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.Router }, { type: i2.ActivatedRoute }]; } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tYXR0cmlidXRlcy1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1jbGFzc2VzL2FkbWluLWNsYXNzZXMtdmlldy9hZG1pbi1hdHRyaWJ1dGVzLXNlbGVjdC9hZG1pbi1hdHRyaWJ1dGVzLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLWNsYXNzZXMvYWRtaW4tY2xhc3Nlcy12aWV3L2FkbWluLWF0dHJpYnV0ZXMtc2VsZWN0L2FkbWluLWF0dHJpYnV0ZXMtc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBSTdELE9BQU8sRUFBRSxpQkFBaUIsRUFBYyxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7QUFFeEUsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0FBTW5CLE1BQU0sT0FBTyw4QkFBOEI7YUFDbEMsT0FBRSxHQUFHLGdDQUFnQyxDQUFDO0lBWTdDLFlBQ1UsS0FBaUIsRUFDakIsTUFBYyxFQUNkLEtBQXFCO1FBRnJCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBWi9CLFFBQUcsR0FBRyxJQUFJLFlB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LEVBQUUsT0FBTztvQkFDckIsVUFBVSxFQUFFLFNBQVM7b0JBQ3JCLFlBQVksRUFBRSxPQUFPO2lCQUN0QjthQUNGLENBQUM7WUFDRixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ25CLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQ1gsTUFBTSxFQUFFLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQztvQkFDaEYsS0FBSyxFQUFFLFVBQVU7b0JBQ2pCLElBQUksRUFBRSxZQUFZO29CQUNsQixZQUFZLEVBQUUsT0FBTztvQkFDckIsVUFBVSxFQUFFLFNBQVM7b0JBQ3JCLFlBQVksRUFBRSxPQUFPO2lCQUN0QixDQUFDLENBQUM7YUFDSjtZQUNELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUNqQixZQUFZLENBQUMsV0FBVyxDQUFDO2dCQUN2QixPQUFPO2FBQ1IsQ0FBQyxDQUNILENBQUM7U0FDSDtJQUNILENBQUM7OEdBaEZVLDhCQUE4QjtrR0FBOUIsOEJBQThCLGtFQ2YzQyw4MEVBa0VBOzsyRkRuRGEsOEJBQThCO2tCQUoxQyxTQUFTOytCQUNFLDRCQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBBdHRyaWJ1dGVFeHRlbmRlZCwgQmFzZVRvb2xib3hBY3Rpb24sIENsYXNzIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3RXaXRoLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFkbWluQWN0aW9ucyB9IGZyb20gJy4uLy4uLy4uLy4uL3N0b3JlL2FkbWluLmFjdGlvbnMnO1xuaW1wb3J0IHsgQWRtaW5DbGFzc0FjdGlvbnMgfSBmcm9tICcuLi8uLi9zdG9yZS9hZG1pbi1jbGFzcy5hY3Rpb25zJztcbmltcG9ydCB7IEFkbWluQ2xhc3NTZWxlY3RvcnMgfSBmcm9tICcuLi8uLi9zdG9yZS9hZG1pbi1jbGFzcy5zZWxlY3RvcnMnO1xuXG5sZXQgbmV4dENvbXBJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1hZG1pbi1hdHRyaWJ1dGUtc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkbWluLWF0dHJpYnV0ZXMtc2VsZWN0LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBZG1pbkF0dHJpYnV0ZXNTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHN0YXRpYyBpZCA9ICdBZG1pbkF0dHJpYnV0ZXNTZWxlY3RDb21wb25lbnQnO1xuICBjb21wSWQ6IG51bWJlcjtcbiAgc2VsZWN0ZWRBdHRyaWJ1dGUkOiBPYnNlcnZhYmxlPEF0dHJpYnV0ZUV4dGVuZGVkIHwgdW5kZWZpbmVkPjtcbiAgc3ViID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIHRhYjogbnVtYmVyID0gMDtcbiAgcHJpdmF0ZSBjbGFzc0lkPzogc3RyaW5nO1xuICBwcml2YXRlIHNlbGVjdGVkQ2xhc3NJZCQ6IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPjtcbiAgcHJpdmF0ZSBpbnRlckNsYXNzSWQkOiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD47XG4gIGludGVyQ2xhc3MkOiBPYnNlcnZhYmxlPENsYXNzIHwgdW5kZWZpbmVkPjtcbiAgaW50ZXJDbGFzcz86IENsYXNzO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPGFueT4sXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxuICApIHtcbiAgICB0aGlzLnNlbGVjdGVkQXR0cmlidXRlJCA9IHRoaXMuc3RvcmUuc2VsZWN0KEFkbWluQ2xhc3NTZWxlY3RvcnMuc2VsZWN0ZWRBdHRyaWJ1dGUpO1xuICAgIHRoaXMuc2VsZWN0ZWRDbGFzc0lkJCA9IHRoaXMuc3RvcmUuc2VsZWN0KEFkbWluQ2xhc3NTZWxlY3RvcnMuc2VsZWN0ZWRDbGFzc0lkKTtcbiAgICB0aGlzLmludGVyQ2xhc3MkID0gdGhpcy5zdG9yZS5zZWxlY3QoQWRtaW5DbGFzc1NlbGVjdG9ycy5pbnRlckNsYXNzKTtcbiAgICB0aGlzLmludGVyQ2xhc3NJZCQgPSB0aGlzLnN0b3JlLnNlbGVjdChBZG1pbkNsYXNzU2VsZWN0b3JzLmludGVyQ2xhc3NJZCk7XG4gICAgdGhpcy5jb21wSWQgPSBuZXh0Q29tcElkKys7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1Yi5hZGQoXG4gICAgICB0aGlzLmludGVyQ2xhc3MkLnN1YnNjcmliZSgoaW50ZXJDbGFzcykgPT4ge1xuICAgICAgICB0aGlzLmludGVyQ2xhc3MgPSBpbnRlckNsYXNzO1xuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuc3ViLmFkZChcbiAgICAgIHRoaXMuc2VsZWN0ZWRDbGFzc0lkJC5waXBlKGNvbWJpbmVMYXRlc3RXaXRoKHRoaXMuaW50ZXJDbGFzc0lkJCkpLnN1YnNjcmliZSgoW3NlbGVjdENsYXNzaWQsIGludGVyQ2xhc3NJZF0pID0+IHtcbiAgICAgICAgdGhpcy5jbGFzc0lkID0gc2VsZWN0Q2xhc3NpZCA/PyBpbnRlckNsYXNzSWQ7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1Yi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgY2xvc2VQYW5lbCgpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluQ2xhc3NBY3Rpb25zLnVuc2VsZWN0QXR0cmlidXRlKCkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5BY3Rpb25zLnRvZ2dsZVBhbmVsKHsgcGFuZWxPcGVuOiBmYWxzZSB9KSk7XG4gICAgaWYgKHRoaXMuY2xhc3NJZCkge1xuICAgICAgY29uc3QgcGF0aCA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWycuJywgJ2NsYXNzZXMnLCB0aGlzLmNsYXNzSWQsICduZXcnXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuICAgICAgY29uc3QgYmFja1BhdGggPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFsnY2xhc3NlcyddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSkudG9TdHJpbmcoKTtcbiAgICAgIGNvbnN0IHNhdmVQYXRoID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy4uJ10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KS50b1N0cmluZygpO1xuICAgICAgY29uc3QgYWN0aW9uczogQmFzZVRvb2xib3hBY3Rpb25bXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgIGFjdGlvbjogQWRtaW5DbGFzc0FjdGlvbnMuYmFjayh7IHBhdGg6IGJhY2tQYXRoIH0pLFxuICAgICAgICAgIGxhYmVsOiAnYmFjaycsXG4gICAgICAgICAgaWNvbjogJ2Fycm93X2JhY2snXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBhY3Rpb246IEFkbWluQWN0aW9ucy5yb3V0ZVRvKHsgcGF0aDogcGF0aC50b1N0cmluZygpIH0pLFxuICAgICAgICAgIGxhYmVsOiAnYWRkQXR0cmlidXRlJyxcbiAgICAgICAgICBpY29uOiAnYWRkX2NvbHVtbicsXG4gICAgICAgICAgbW9kdWxlQWNjZXNzOiAnYWRtaW4nLFxuICAgICAgICAgIHBhZ2VBY2Nlc3M6ICdjbGFzc2VzJyxcbiAgICAgICAgICBhY3Rpb25BY2Nlc3M6ICd3cml0ZSdcbiAgICAgICAgfVxuICAgICAgXTtcbiAgICAgIGlmICh0aGlzLmludGVyQ2xhc3MpIHtcbiAgICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgICBhY3Rpb246IEFkbWluQ2xhc3NBY3Rpb25zLnNhdmVDbGFzcyh7IGNsYXNzOiB0aGlzLmludGVyQ2xhc3MsIHJvdXRlOiBzYXZlUGF0aCB9KSxcbiAgICAgICAgICBsYWJlbDogJ2FkZENsYXNzJyxcbiAgICAgICAgICBpY29uOiAnYWRkX2NvbHVtbicsXG4gICAgICAgICAgbW9kdWxlQWNjZXNzOiAnYWRtaW4nLFxuICAgICAgICAgIHBhZ2VBY2Nlc3M6ICdjbGFzc2VzJyxcbiAgICAgICAgICBhY3Rpb25BY2Nlc3M6ICd3cml0ZSdcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICBBZG1pbkFjdGlvbnMubWFpbkFjdGlvbnMoe1xuICAgICAgICAgIGFjdGlvbnNcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gICpuZ0lmPVwic2VsZWN0ZWRBdHRyaWJ1dGUkIHwgYXN5bmMgYXMgYXR0cmlidXRlXCJcbiAgW2lkXT1cIidwYW5lbC1hdHRyLScgKyBhdHRyaWJ1dGUuaWRcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ2J1dHRvbi1hdHRyLScgKyBhdHRyaWJ1dGUuaWRcIlxuICBjbGFzcz1cIm8tcGFuZWxcIlxuPlxuICA8ZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJvLXBhbmVsX19oZWFkZXJcIj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seVwiIChjbGljayk9XCJjbG9zZVBhbmVsKClcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LmFjdGlvbi5jbG9zZVBhbmVsJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiY2xvc2VcIj48L3ByeS1pY29uPlxuICAgICAgPC9idXR0b24+XG5cbiAgICAgIDxoMyBbaWRdPVwiJ3RhYi10aXRsZS0nICsgY29tcElkXCIgY2xhc3M9XCJhLWgzXCI+XG4gICAgICAgIHt7ICdAcHJ5LmFkbWluLmNsYXNzZXMuYXR0cmlidXRlcy5pbmZvJyB8IGkxOG4gfX1cbiAgICAgIDwvaDM+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiby10YWJzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiby10YWJzX19saXN0XCIgcm9sZT1cInRhYmxpc3RcIiBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ3RhYi10aXRsZS0nICsgY29tcElkXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cIm8tdGFic19fbGlzdF9fYnRuXCJcbiAgICAgICAgICByb2xlPVwidGFiXCJcbiAgICAgICAgICBbaWRdPVwiJ3RhYi0nICsgY29tcElkICsgJy0wJ1wiXG4gICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJ0YWIgPT09IDBcIlxuICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cInRhYiA9PT0gMCA/IDAgOiAtMVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCIndGFicGFuZWwtJyArIGNvbXBJZCArICctMCdcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgJ0BwcnkuYWRtaW4uZGV0YWlscycgfCBpMThuIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLXRhYnNfX3BhbmVsc1wiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJvLXRhYnNfX3BhbmVsc19faXRlbVwiXG4gICAgICAgICAgW2NsYXNzLmlzLWhpZGRlbl09XCJ0YWIgIT09IDBcIlxuICAgICAgICAgIFtpZF09XCIndGFicGFuZWwtJyArIGNvbXBJZCArICctMCdcIlxuICAgICAgICAgIHJvbGU9XCJ0YWJwYW5lbFwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIid0YWItJyArIGNvbXBJZCArICctMCdcIlxuICAgICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiby10YWJzX19wYW5lbHNfX2l0ZW1fX2NvbnRlbnRcIj5cbiAgICAgICAgICAgIDxoNCBjbGFzcz1cImEtaDRcIj57eyAnQHByeS5hZG1pbi5wcm9wZXJ0aWVzJyB8IGkxOG4gfX08L2g0PlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJhLXBcIj5cbiAgICAgICAgICAgICAge3sgJ0BwcnkuYWRtaW4uY2xhc3Nlcy5hdHRyaWJ1dGVzLm5hbWUnIHwgaTE4biB9fSA6XG4gICAgICAgICAgICAgIDxzdHJvbmc+e3sgYXR0cmlidXRlLm5hbWUgfX08L3N0cm9uZz5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwiYS1wXCI+XG4gICAgICAgICAgICAgIHt7ICdAcHJ5LmFkbWluLmNsYXNzZXMuYXR0cmlidXRlcy5maWVsZCcgfCBpMThuIH19IDpcbiAgICAgICAgICAgICAgPHN0cm9uZz57eyBhdHRyaWJ1dGUuZmllbGROYW1lIH19PC9zdHJvbmc+XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cCBjbGFzcz1cImEtcFwiPlxuICAgICAgICAgICAgICB7eyAnQHByeS5hZG1pbi5jbGFzc2VzLmF0dHJpYnV0ZXMuY2F0ZWdvcnknIHwgaTE4biB9fSA6XG4gICAgICAgICAgICAgIDxzdHJvbmc+e3sgYXR0cmlidXRlLmNhdGVnb3J5TmFtZSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJhLXBcIj5cbiAgICAgICAgICAgICAge3sgJ0BwcnkuYWRtaW4uY2xhc3Nlcy5hdHRyaWJ1dGVzLm11bHRpVmFsdWVkJyB8IGkxOG4gfX0gOlxuICAgICAgICAgICAgICA8c3Ryb25nPnt7IGF0dHJpYnV0ZS5tdWx0aVZhbHVlZCB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tYXR0cmlidXRlcy1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1jbGFzc2VzL2FkbWluLWNsYXNzZXMtdmlldy9hZG1pbi1hdHRyaWJ1dGVzLXNlbGVjdC9hZG1pbi1hdHRyaWJ1dGVzLXNlbGVjdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLWNsYXNzZXMvYWRtaW4tY2xhc3Nlcy12aWV3L2FkbWluLWF0dHJpYnV0ZXMtc2VsZWN0L2FkbWluLWF0dHJpYnV0ZXMtc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBSTdELE9BQU8sRUFBRSxpQkFBaUIsRUFBYyxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQzs7Ozs7O0FBRWpFLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztBQU1uQixNQUFNLE9BQU8sOEJBQThCO2FBQ2xDLE9BQUUsR0FBRyxnQ0FBZ0MsQ0FBQztJQWE3QyxZQUNVLEtBQWlCLEVBQ2pCLE1BQWMsRUFDZCxLQUFxQjtRQUZyQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxV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LEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztvQkFDdkQsS0FBSyxFQUFFLGNBQWM7b0JBQ3JCLElBQUksRUFBRSxZQUFZO29CQUNsQixZQUFZLEVBQUUsT0FBTztvQkFDckIsVUFBVSxFQUFFLFNBQVM7b0JBQ3JCLFlBQVksRUFBRSxPQUFPO2lCQUN0QjthQUNGLENBQUM7WUFDRixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ25CLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQ1gsTUFBTSxFQUFFLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQztvQkFDaEYsS0FBSyxFQUFFLFVBQVU7b0JBQ2pCLElBQUksRUFBRSxZQUFZO29CQUNsQixZQUFZLEVBQUUsT0FBTztvQkFDckIsVUFBVSxFQUFFLFNBQVM7b0JBQ3JCLFlBQVksRUFBRSxPQUFPO2lCQUN0QixDQUFDLENBQUM7YUFDSjtZQUNELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUNqQixZQUFZLENBQUMsV0FBVyxDQUFDO2dCQUN2QixPQUFPO2FBQ1IsQ0FBQyxDQUNILENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsTUFBYztRQUNuQixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQztJQUNwQixDQUFDOzhHQXRGVSw4QkFBOEI7a0dBQTlCLDhCQUE4QixrRUNoQjNDLDJ6SEF3R0E7OzJGRHhGYSw4QkFBOEI7a0JBSjFDLFNBQVM7K0JBQ0UsNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7QXNzb2NpYXRpb25zLCBBdHRyaWJ1dGVFeHRlbmRlZCwgQmFzZVRvb2xib3hBY3Rpb24sIENsYXNzfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdFdpdGgsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWRtaW5BY3Rpb25zIH0gZnJvbSAnLi4vLi4vLi4vLi4vc3RvcmUvYWRtaW4uYWN0aW9ucyc7XG5pbXBvcnQgeyBBZG1pbkNsYXNzQWN0aW9ucyB9IGZyb20gJy4uLy4uL3N0b3JlL2FkbWluLWNsYXNzLmFjdGlvbnMnO1xuaW1wb3J0IHsgQWRtaW5DbGFzc1NlbGVjdG9ycyB9IGZyb20gJy4uLy4uL3N0b3JlL2FkbWluLWNsYXNzLnNlbGVjdG9ycyc7XG5pbXBvcnQge0FkbWluU2VsZWN0b3JzfSBmcm9tIFwiLi4vLi4vLi4vLi4vc3RvcmUvYWRtaW4uc2VsZWN0b3JzXCI7XG5cbmxldCBuZXh0Q29tcElkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWFkbWluLWF0dHJpYnV0ZS1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRtaW4tYXR0cmlidXRlcy1zZWxlY3QuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEFkbWluQXR0cmlidXRlc1NlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgc3RhdGljIGlkID0gJ0FkbWluQXR0cmlidXRlc1NlbGVjdENvbXBvbmVudCc7XG4gIGNvbXBJZDogbnVtYmVyO1xuICBzZWxlY3RlZEF0dHJpYnV0ZSQ6IE9ic2VydmFibGU8QXR0cmlidXRlRXh0ZW5kZWQgfCB1bmRlZmluZWQ+O1xuICBzdWIgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIGFzc29jaWF0aW9ucyQ6IE9ic2VydmFibGU8QXNzb2NpYXRpb25zIHwgdW5kZWZpbmVkPjtcblxuICB0YWI6IG51bWJlciA9IDA7XG4gIHByaXZhdGUgY2xhc3NJZD86IHN0cmluZztcbiAgcHJpdmF0ZSBzZWxlY3RlZENsYXNzSWQkOiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD47XG4gIHByaXZhdGUgaW50ZXJDbGFzc0lkJDogT2JzZXJ2YWJsZTxzdHJpbmcgfCB1bmRlZmluZWQ+O1xuICBpbnRlckNsYXNzJDogT2JzZXJ2YWJsZTxDbGFzcyB8IHVuZGVmaW5lZD47XG4gIGludGVyQ2xhc3M/OiBDbGFzcztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+LFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGVcbiAgKSB7XG4gICAgdGhpcy5zZWxlY3RlZEF0dHJpYnV0ZSQgPSB0aGlzLnN0b3JlLnNlbGVjdChBZG1pbkNsYXNzU2VsZWN0b3JzLnNlbGVjdGVkQXR0cmlidXRlKTtcbiAgICB0aGlzLnNlbGVjdGVkQ2xhc3NJZCQgPSB0aGlzLnN0b3JlLnNlbGVjdChBZG1pbkNsYXNzU2VsZWN0b3JzLnNlbGVjdGVkQ2xhc3NJZCk7XG4gICAgdGhpcy5pbnRlckNsYXNzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KEFkbWluQ2xhc3NTZWxlY3RvcnMuaW50ZXJDbGFzcyk7XG4gICAgdGhpcy5pbnRlckNsYXNzSWQkID0gdGhpcy5zdG9yZS5zZWxlY3QoQWRtaW5DbGFzc1NlbGVjdG9ycy5pbnRlckNsYXNzSWQpO1xuICAgIHRoaXMuY29tcElkID0gbmV4dENvbXBJZCsrO1xuICAgIHRoaXMuYXNzb2NpYXRpb25zJCA9IHRoaXMuc3RvcmUuc2VsZWN0KEFkbWluU2VsZWN0b3JzLnNlbGVjdGVkQXNzb2NpYXRpb24pO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWIuYWRkKFxuICAgICAgdGhpcy5pbnRlckNsYXNzJC5zdWJzY3JpYmUoKGludGVyQ2xhc3MpID0+IHtcbiAgICAgICAgdGhpcy5pbnRlckNsYXNzID0gaW50ZXJDbGFzcztcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLnN1Yi5hZGQoXG4gICAgICB0aGlzLnNlbGVjdGVkQ2xhc3NJZCQucGlwZShjb21iaW5lTGF0ZXN0V2l0aCh0aGlzLmludGVyQ2xhc3NJZCQpKS5zdWJzY3JpYmUoKFtzZWxlY3RDbGFzc2lkLCBpbnRlckNsYXNzSWRdKSA9PiB7XG4gICAgICAgIHRoaXMuY2xhc3NJZCA9IHNlbGVjdENsYXNzaWQgPz8gaW50ZXJDbGFzc0lkO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWIudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGNsb3NlUGFuZWwoKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkNsYXNzQWN0aW9ucy51bnNlbGVjdEF0dHJpYnV0ZSgpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluQWN0aW9ucy50b2dnbGVQYW5lbCh7IHBhbmVsT3BlbjogZmFsc2UgfSkpO1xuICAgIGlmICh0aGlzLmNsYXNzSWQpIHtcbiAgICAgIGNvbnN0IHBhdGggPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFsnLicsICdjbGFzc2VzJywgdGhpcy5jbGFzc0lkLCAnbmV3J10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgICAgIGNvbnN0IGJhY2tQYXRoID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJ2NsYXNzZXMnXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pLnRvU3RyaW5nKCk7XG4gICAgICBjb25zdCBzYXZlUGF0aCA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWycuLiddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSkudG9TdHJpbmcoKTtcbiAgICAgIGNvbnN0IGFjdGlvbnM6IEJhc2VUb29sYm94QWN0aW9uW10gPSBbXG4gICAgICAgIHtcbiAgICAgICAgICBhY3Rpb246IEFkbWluQ2xhc3NBY3Rpb25zLmJhY2soeyBwYXRoOiBiYWNrUGF0aCB9KSxcbiAgICAgICAgICBsYWJlbDogJ2JhY2snLFxuICAgICAgICAgIGljb246ICdhcnJvd19iYWNrJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgYWN0aW9uOiBBZG1pbkFjdGlvbnMucm91dGVUbyh7IHBhdGg6IHBhdGgudG9TdHJpbmcoKSB9KSxcbiAgICAgICAgICBsYWJlbDogJ2FkZEF0dHJpYnV0ZScsXG4gICAgICAgICAgaWNvbjogJ2FkZF9jb2x1bW4nLFxuICAgICAgICAgIG1vZHVsZUFjY2VzczogJ2FkbWluJyxcbiAgICAgICAgICBwYWdlQWNjZXNzOiAnY2xhc3NlcycsXG4gICAgICAgICAgYWN0aW9uQWNjZXNzOiAnd3JpdGUnXG4gICAgICAgIH1cbiAgICAgIF07XG4gICAgICBpZiAodGhpcy5pbnRlckNsYXNzKSB7XG4gICAgICAgIGFjdGlvbnMucHVzaCh7XG4gICAgICAgICAgYWN0aW9uOiBBZG1pbkNsYXNzQWN0aW9ucy5zYXZlQ2xhc3MoeyBjbGFzczogdGhpcy5pbnRlckNsYXNzLCByb3V0ZTogc2F2ZVBhdGggfSksXG4gICAgICAgICAgbGFiZWw6ICdhZGRDbGFzcycsXG4gICAgICAgICAgaWNvbjogJ2FkZF9jb2x1bW4nLFxuICAgICAgICAgIG1vZHVsZUFjY2VzczogJ2FkbWluJyxcbiAgICAgICAgICBwYWdlQWNjZXNzOiAnY2xhc3NlcycsXG4gICAgICAgICAgYWN0aW9uQWNjZXNzOiAnd3JpdGUnXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgQWRtaW5BY3Rpb25zLm1haW5BY3Rpb25zKHtcbiAgICAgICAgICBhY3Rpb25zXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHN3aXRjaChudW1iZXI6IG51bWJlcikge1xuICAgIHRoaXMudGFiID0gbnVtYmVyO1xuICB9XG59XG4iLCI8ZGl2XG4gICpuZ0lmPVwic2VsZWN0ZWRBdHRyaWJ1dGUkIHwgYXN5bmMgYXMgYXR0cmlidXRlXCJcbiAgW2lkXT1cIidwYW5lbC1hdHRyLScgKyBhdHRyaWJ1dGUuaWRcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ2J1dHRvbi1hdHRyLScgKyBhdHRyaWJ1dGUuaWRcIlxuICBjbGFzcz1cIm8tcGFuZWxcIlxuPlxuICA8ZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJvLXBhbmVsX19oZWFkZXJcIj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seVwiIChjbGljayk9XCJjbG9zZVBhbmVsKClcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LmFjdGlvbi5jbG9zZVBhbmVsJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiY2xvc2VcIj48L3ByeS1pY29uPlxuICAgICAgPC9idXR0b24+XG5cbiAgICAgIDxoMyBbaWRdPVwiJ3RhYi10aXRsZS0nICsgY29tcElkXCIgY2xhc3M9XCJhLWgzXCI+XG4gICAgICAgIHt7ICdAcHJ5LmFkbWluLmNsYXNzZXMuYXR0cmlidXRlcy5pbmZvJyB8IGkxOG4gfX1cbiAgICAgIDwvaDM+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiby10YWJzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiby10YWJzX19saXN0XCIgcm9sZT1cInRhYmxpc3RcIiBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ3RhYi10aXRsZS0nICsgY29tcElkXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cIm8tdGFic19fbGlzdF9fYnRuXCJcbiAgICAgICAgICByb2xlPVwidGFiXCJcbiAgICAgICAgICBbaWRdPVwiJ3RhYi0nICsgY29tcElkICsgJy0wJ1wiXG4gICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJ0YWIgPT09IDBcIlxuICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cInRhYiA9PT0gMCA/IDAgOiAtMVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCIndGFicGFuZWwtJyArIGNvbXBJZCArICctMCdcIlxuICAgICAgICAgIChjbGljayk9XCJzd2l0Y2goMClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgJ0BwcnkuYWRtaW4uZGV0YWlscycgfCBpMThuIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJvLXRhYnNfX2xpc3RfX2J0blwiXG4gICAgICAgICAgcm9sZT1cInRhYlwiXG4gICAgICAgICAgW2lkXT1cIid0YWItJyArIGNvbXBJZCArICctMSdcIlxuICAgICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwidGFiID09PSAxXCJcbiAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJ0YWIgPT09IDEgPyAxIDogLTFcIlxuICAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiJ3RhYnBhbmVsLScgKyBjb21wSWQgKyAnLTEnXCJcbiAgICAgICAgICAoY2xpY2spPVwic3dpdGNoKDEpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7ICdAcHJ5LmFkbWluLmNsYXNzZXMuYXNzb2NpYXRpb25zJyB8IGkxOG4gfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cIm8tdGFic19fcGFuZWxzXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cIm8tdGFic19fcGFuZWxzX19pdGVtXCJcbiAgICAgICAgICBbY2xhc3MuaXMtaGlkZGVuXT1cInRhYiAhPT0gMFwiXG4gICAgICAgICAgW2lkXT1cIid0YWJwYW5lbC0nICsgY29tcElkICsgJy0wJ1wiXG4gICAgICAgICAgcm9sZT1cInRhYnBhbmVsXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ3RhYi0nICsgY29tcElkICsgJy0wJ1wiXG4gICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLXRhYnNfX3BhbmVsc19faXRlbV9fY29udGVudFwiPlxuICAgICAgICAgICAgPGg0IGNsYXNzPVwiYS1oNFwiPnt7ICdAcHJ5LmFkbWluLnByb3BlcnRpZXMnIHwgaTE4biB9fTwvaDQ+XG4gICAgICAgICAgICA8cCBjbGFzcz1cImEtcFwiPlxuICAgICAgICAgICAgICB7eyAnQHByeS5hZG1pbi5jbGFzc2VzLmF0dHJpYnV0ZXMubmFtZScgfCBpMThuIH19IDpcbiAgICAgICAgICAgICAgPHN0cm9uZz57eyBhdHRyaWJ1dGUubmFtZSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJhLXBcIj5cbiAgICAgICAgICAgICAge3sgJ0BwcnkuYWRtaW4uY2xhc3Nlcy5hdHRyaWJ1dGVzLmZpZWxkJyB8IGkxOG4gfX0gOlxuICAgICAgICAgICAgICA8c3Ryb25nPnt7IGF0dHJpYnV0ZS5maWVsZE5hbWUgfX08L3N0cm9uZz5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwiYS1wXCI+XG4gICAgICAgICAgICAgIHt7ICdAcHJ5LmFkbWluLmNsYXNzZXMuYXR0cmlidXRlcy5jYXRlZ29yeScgfCBpMThuIH19IDpcbiAgICAgICAgICAgICAgPHN0cm9uZz57eyBhdHRyaWJ1dGUuY2F0ZWdvcnlOYW1lIH19PC9zdHJvbmc+XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cCBjbGFzcz1cImEtcFwiPlxuICAgICAgICAgICAgICB7eyAnQHByeS5hZG1pbi5jbGFzc2VzLmF0dHJpYnV0ZXMubXVsdGlWYWx1ZWQnIHwgaTE4biB9fSA6XG4gICAgICAgICAgICAgIDxzdHJvbmc+e3sgYXR0cmlidXRlLm11bHRpVmFsdWVkIH19PC9zdHJvbmc+XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiby10YWJzX19wYW5lbHNfX2l0ZW1cIlxuICAgICAgICBbY2xhc3MuaXMtaGlkZGVuXT1cInRhYiAhPT0gMVwiXG4gICAgICAgIFtpZF09XCIndGFicGFuZWwtJyArIGNvbXBJZCArICctMSdcIlxuICAgICAgICByb2xlPVwidGFicGFuZWxcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ3RhYi0nICsgY29tcElkICsgJy0xJ1wiXG4gICAgICAgIHRhYmluZGV4PVwiMlwiXG4gICAgICA+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJhc3NvY2lhdGlvbnMkIHwgYXN5bmMgYXMgYXNzb2NpYXRpb25zXCIgY2xhc3M9XCJvLXRhYnNfX3BhbmVsc19faXRlbV9fY29udGVudFwiPlxuICAgICAgICAgIDxoNCBjbGFzcz1cImEtaDRcIj57eyAnQHByeS5hZG1pbi5jbGFzc2VzLmFzc29jaWF0aW9ucycgfCBpMThuIH19PC9oND5cbiAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBhc3NvY2lhdGlvbiBvZiBhc3NvY2lhdGlvbnMuYXNzb2NpYXRpb25zXCI+XG4gICAgICAgICAgICA8cCBjbGFzcz1cImEtcFwiPlxuICAgICAgICAgICAgICB7eyAnQHByeS5hZG1pbi5jbGFzc2VzLm5hbWUnIHwgaTE4biB9fSA6XG4gICAgICAgICAgICAgIDxzdHJvbmc+e3sgYXNzb2NpYXRpb24ubmFtZSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJhLXBcIj5cbiAgICAgICAgICAgICAge3sgJ0BwcnkuYWRtaW4uY2xhc3Nlcy50eXBlJyB8IGkxOG4gfX0gOlxuICAgICAgICAgICAgICA8c3Ryb25nPnt7IGFzc29jaWF0aW9uLnR5cGUgfX08L3N0cm9uZz5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8cCAqbmdJZj1cImFzc29jaWF0aW9ucy51c2VkRWxzZXdoZXJlID09PSB0cnVlXCIgY2xhc3M9XCJhLXBcIj5cbiAgICAgICAgICAgIDxzdHJvbmc+e3sgJ0BwcnkuYWRtaW4uY2xhc3Nlcy51c2VkRWxzZXdoZXJlJyB8IGkxOG4gfX08L3N0cm9uZz5cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -146,6 +146,7 @@ export class AdminClassesViewComponent {
146
146
  this.store.dispatch(AdminClassActions.selectAttribute({ attrExtended: attr }));
147
147
  this.store.dispatch(AdminActions.selectComponentType({ componentType: 'AdminAttributesSelectComponent' }));
148
148
  this.setAttributeActions(attr.id);
149
+ this.store.dispatch(AdminActions.fetchAttributeAssociations({ id: attr.id }));
149
150
  }
150
151
  dispatchCloseModal() {
151
152
  this.store.dispatch(AdminClassActions.closeModal());
@@ -180,4 +181,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
180
181
  type: ViewChild,
181
182
  args: ['confirmationModal', { read: TemplateRef }]
182
183
  }] } });
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tY2xhc3Nlcy12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL2NvbXBvbmVudHMvYWRtaW4tY2xhc3Nlcy9hZG1pbi1jbGFzc2VzLXZpZXcvYWRtaW4tY2xhc3Nlcy12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL2NvbXBvbmVudHMvYWRtaW4tY2xhc3Nlcy9hZG1pbi1jbGFzc2VzLXZpZXcvYWRtaW4tY2xhc3Nlcy12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVyxhQUFhLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBcUIsV0FBVyxFQUFFLFNBQVMsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFHdkcsT0FBTyxFQUtMLGVBQWUsRUFDZixpQkFBaUIsRUFFakIsWUFBWSxFQUNaLGNBQWMsRUFDZCxhQUFhLEVBRWIsWUFBWSxFQUNaLGNBQWMsRUFDZixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7OztBQU1yRSxNQUFNLE9BQU8seUJBQXlCO0lBcUJwQyxZQUNVLEtBQWlCLEVBQ2pCLE1B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QixpS0FtQkksV0FBVyw2QkNoRHJELGttR0FrRkE7OzJGRHJEYSx5QkFBeUI7a0JBSnJDLFNBQVM7K0JBQ0Usd0JBQXdCO21NQXNCcUIsaUJBQWlCO3NCQUF2RSxTQUFTO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIEF0dHJpYnV0ZSxcbiAgQXR0cmlidXRlRXh0ZW5kZWQsXG4gIEJhc2VUb29sYm94QWN0aW9uLFxuICBDYXRlZ29yeSxcbiAgQ2F0ZWdvcnlBY3Rpb25zLFxuICBDYXRlZ29yeVNlbGVjdG9ycyxcbiAgQ2xhc3MsXG4gIENsYXNzQWN0aW9ucyxcbiAgQ2xhc3NTZWxlY3RvcnMsXG4gIENvbmZpZ0FjdGlvbnMsXG4gIEZpZWxkLFxuICBGaWVsZEFjdGlvbnMsXG4gIEZpZWxkU2VsZWN0b3JzXG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWRtaW5BY3Rpb25zIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvYWRtaW4uYWN0aW9ucyc7XG5pbXBvcnQgeyBBZG1pbkNsYXNzQWN0aW9ucyB9IGZyb20gJy4uL3N0b3JlL2FkbWluLWNsYXNzLmFjdGlvbnMnO1xuaW1wb3J0IHsgQWRtaW5DbGFzc1NlbGVjdG9ycyB9IGZyb20gJy4uL3N0b3JlL2FkbWluLWNsYXNzLnNlbGVjdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1hZG1pbi1jbGFzc2VzLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRtaW4tY2xhc3Nlcy12aWV3LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBZG1pbkNsYXNzZXNWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBzZWxlY3RlZGNsYXNzJD86IE9ic2VydmFibGU8Q2xhc3M+O1xuICBpbnRlckNsYXNzJD86IE9ic2VydmFibGU8Q2xhc3MgfCB1bmRlZmluZWQ+O1xuICBhdHRyaWJ1dGVzJDogT2JzZXJ2YWJsZTxBdHRyaWJ1dGVbXT4gPSBvZihbXSk7XG4gIGZpZWxkcyQ6IE9ic2VydmFibGU8RmllbGRbXT4gPSBvZihbXSk7XG4gIGNhdGVnb3JpZXMkOiBPYnNlcnZhYmxlPENhdGVnb3J5W10+ID0gb2YoW10pO1xuICBhdHRyaWJ1dGVzRXh0ZW5kZWQkPzogT2JzZXJ2YWJsZTxBdHRyaWJ1dGVFeHRlbmRlZFtdPjtcbiAgc2VsZWN0ZWRBdHRyaWJ1dGVJZCQ6IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPjtcblxuICBpbnRlckNsYXNzPzogQ2xhc3M7XG5cbiAgc3ViID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICBzb3J0QWN0aXZlPyA9ICduYW1lJztcbiAgc29ydERpcmVjdGlvbj8gPSAnYXNjJztcbiAgc2VsZWN0ZWRDbGFzc0lkID0gJyc7XG4gIGJhY2tQYXRoOiBzdHJpbmc7XG4gIGFkZEF0dHJpYnV0ZVBhdGg6IHN0cmluZztcbiAgb3Blbk1vZGFsJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcHJpdmF0ZSBvdmVybGF5UmVmPzogT3ZlcmxheVJlZjtcbiAgQFZpZXdDaGlsZCgnY29uZmlybWF0aW9uTW9kYWwnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pIGNvbmZpcm1hdGlvbk1vZGFsITogVGVtcGxhdGVSZWY8YW55PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+LFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZlxuICApIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENsYXNzQWN0aW9ucy5sb2FkKCkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRmllbGRBY3Rpb25zLmxvYWQoKSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDYXRlZ29yeUFjdGlvbnMubG9hZCgpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluQ2xhc3NBY3Rpb25zLnVuc2VsZWN0QXR0cmlidXRlKCkpO1xuXG4gICAgdGhpcy5maWVsZHMkID0gdGhpcy5zdG9yZS5zZWxlY3QoRmllbGRTZWxlY3RvcnMuZmllbGRzKTtcbiAgICB0aGlzLmNhdGVnb3JpZXMkID0gdGhpcy5zdG9yZS5zZWxlY3QoQ2F0ZWdvcnlTZWxlY3RvcnMuY2F0ZWdvcmllcyk7XG4gICAgdGhpcy5zZWxlY3RlZEF0dHJpYnV0ZUlkJCA9IHRoaXMuc3RvcmUuc2VsZWN0KEFkbWluQ2xhc3NTZWxlY3RvcnMuc2VsZWN0ZWRBdHRyaWJ1dGVJZCk7XG4gICAgdGhpcy5iYWNrUGF0aCA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWycuLiddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSkudG9TdHJpbmcoKTtcbiAgICB0aGlzLmFkZEF0dHJpYnV0ZVBhdGggPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFsnLicsICduZXcnXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pLnRvU3RyaW5nKCk7XG4gICAgdGhpcy5vcGVuTW9kYWwkID0gdGhpcy5zdG9yZS5zZWxlY3QoQWRtaW5DbGFzc1NlbGVjdG9ycy5vcGVuTW9kYWwpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbnRlckNsYXNzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KEFkbWluQ2xhc3NTZWxlY3RvcnMuaW50ZXJDbGFzcyk7XG4gICAgdGhpcy5zdWIuYWRkKHRoaXMuaW50ZXJDbGFzcyQuc3Vic2NyaWJlKChjKSA9PiAodGhpcy5pbnRlckNsYXNzID0gYykpKTtcbiAgICBpZiAodGhpcy5pbnRlckNsYXNzKSB7XG4gICAgICBpZiAodGhpcy5pbnRlckNsYXNzLmF0dHJpYnV0ZXMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLmF0dHJpYnV0ZXMkID0gb2YodGhpcy5pbnRlckNsYXNzLmF0dHJpYnV0ZXMpO1xuICAgICAgICB0aGlzLmF0dHJpYnV0ZXNFeHRlbmRlZCQgPSB0aGlzLmdldEF0dHJFeHRlbmRlZCgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtcykgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2xhc3NJZCA9IHBhcmFtc1snaWQnXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZGNsYXNzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KENsYXNzU2VsZWN0b3JzLmNsYXNzQnlJZCh0aGlzLnNlbGVjdGVkQ2xhc3NJZCkpO1xuICAgICAgICB0aGlzLmF0dHJpYnV0ZXMkID0gdGhpcy5zZWxlY3RlZGNsYXNzJC5waXBlKG1hcCgoc2VsZWN0ZWRDbGFzcykgPT4gc2VsZWN0ZWRDbGFzcy5hdHRyaWJ1dGVzKSk7XG4gICAgICAgIHRoaXMuYXR0cmlidXRlc0V4dGVuZGVkJCA9IHRoaXMuZ2V0QXR0ckV4dGVuZGVkKCk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5zZXRDbGFzc0FjdGlvbnMoKTtcbiAgICB0aGlzLnN1Yi5hZGQoXG4gICAgICB0aGlzLm9wZW5Nb2RhbCQuc3Vic2NyaWJlKChvcGVuKSA9PiB7XG4gICAgICAgIGlmIChvcGVuKSB7XG4gICAgICAgICAgdGhpcy5zaG93TW9kYWwoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmNsb3NlTW9kYWwoKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWIudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QXR0ckV4dGVuZGVkKCkge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFt0aGlzLmF0dHJpYnV0ZXMkLCB0aGlzLmZpZWxkcyQsIHRoaXMuY2F0ZWdvcmllcyRdKS5waXBlKFxuICAgICAgZmlsdGVyKChbYXR0cmlidXRlcywgZmllbGRzLCBjYXRlZ29yaWVzXSkgPT4gZmllbGRzLmxlbmd0aCA+IDAgJiYgY2F0ZWdvcmllcy5sZW5ndGggPiAwKSxcbiAgICAgIG1hcCgoW2F0dHJpYnV0ZXMsIGZpZWxkcywgY2F0ZWdvcmllc10pID0+IHtcbiAgICAgICAgcmV0dXJuIGF0dHJpYnV0ZXMubWFwKFxuICAgICAgICAgIChhdHRyOiBBdHRyaWJ1dGUpID0+XG4gICAgICAgICAgICAoe1xuICAgICAgICAgICAgICAuLi5hdHRyLFxuICAgICAgICAgICAgICBmaWVsZE5hbWU6IGZpZWxkcy5maW5kKChmaWVsZCkgPT4gZmllbGQuaWQgPT09IGF0dHIuZmllbGQpPy5uYW1lIHx8ICd1bmtub3duJyxcbiAgICAgICAgICAgICAgY2F0ZWdvcnlOYW1lOiBjYXRlZ29yaWVzLmZpbmQoKGNhdGVnb3J5KSA9PiBjYXRlZ29yeS5pZCA9PT0gYXR0ci5jYXRlZ29yeSk/Lm5hbWUgfHwgJ3Vua25vd24nXG4gICAgICAgICAgICB9KSBhcyBBdHRyaWJ1dGVFeHRlbmRlZFxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDbGFzc0FjdGlvbnMoKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkFjdGlvbnMucmVzZXRBY3Rpb25zKCkpO1xuICAgIGxldCBhY3Rpb25zID0gW1xuICAgICAge1xuICAgICAgICBhY3Rpb246IEFkbWluQ2xhc3NBY3Rpb25zLmJhY2soeyBwYXRoOiB0aGlzLmJhY2tQYXRoIH0pLFxuICAgICAgICBsYWJlbDogJ2JhY2snLFxuICAgICAgICBpY29uOiAnYXJyb3dfYmFjaydcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGFjdGlvbjogQWRtaW5BY3Rpb25zLnJvdXRlVG8oeyBwYXRoOiB0aGlzLmFkZEF0dHJpYnV0ZVBhdGggfSksXG4gICAgICAgIGxhYmVsOiAnYWRkQXR0cmlidXRlJyxcbiAgICAgICAgaWNvbjogJ2FkZF9jb2x1bW4nLFxuICAgICAgICBtb2R1bGVBY2Nlc3M6ICdhZG1pbicsXG4gICAgICAgIHBhZ2VBY2Nlc3M6ICdjbGFzc2VzJyxcbiAgICAgICAgYWN0aW9uQWNjZXNzOiAnd3JpdGUnXG4gICAgICB9XG4gICAgXSBhcyBCYXNlVG9vbGJveEFjdGlvbltdO1xuXG4gICAgaWYgKHRoaXMuaW50ZXJDbGFzcykge1xuICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgYWN0aW9uOiBBZG1pbkNsYXNzQWN0aW9ucy5vcGVuTW9kYWwoKSxcbiAgICAgICAgbGFiZWw6ICdhZGRDbGFzcycsXG4gICAgICAgIGljb246ICdhZGRfY29sdW1uJyxcbiAgICAgICAgbW9kdWxlQWNjZXNzOiAnYWRtaW4nLFxuICAgICAgICBwYWdlQWNjZXNzOiAnY2xhc3NlcycsXG4gICAgICAgIGFjdGlvbkFjY2VzczogJ3dyaXRlJ1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIEFkbWluQWN0aW9ucy5tYWluQWN0aW9ucyh7XG4gICAgICAgIGFjdGlvbnM6IGFjdGlvbnNcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0QXR0cmlidXRlQWN0aW9ucyhhdHRySWQ6IHN0cmluZykge1xuICAgIHRoaXMuc3ViLmFkZChcbiAgICAgIHRoaXMuc2VsZWN0ZWRBdHRyaWJ1dGVJZCQuc3Vic2NyaWJlKChhdHRyaWJ1dGVJZCkgPT4ge1xuICAgICAgICBsZXQgZWRpdFBhdGggPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFthdHRyaWJ1dGVJZCwgJ2VkaXQnXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pLnRvU3RyaW5nKCk7XG5cbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICBBZG1pbkFjdGlvbnMubWFpbkFjdGlvbnMoe1xuICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYWN0aW9uOiBBZG1pbkNsYXNzQWN0aW9ucy5iYWNrKHsgcGF0aDogdGhpcy5iYWNrUGF0aCB9KSxcbiAgICAgICAgICAgICAgICBsYWJlbDogJ2JhY2snLFxuICAgICAgICAgICAgICAgIGljb246ICdhcnJvd19iYWNrJ1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYWN0aW9uOiBBZG1pbkFjdGlvbnMucm91dGVUbyh7IHBhdGg6IGVkaXRQYXRoIH0pLFxuICAgICAgICAgICAgICAgIGxhYmVsOiAnZWRpdCcsXG4gICAgICAgICAgICAgICAgaWNvbjogJ2VkaXQnLFxuICAgICAgICAgICAgICAgIG1vZHVsZUFjY2VzczogJ2FkbWluJyxcbiAgICAgICAgICAgICAgICBwYWdlQWNjZXNzOiAnZmllbGRzJyxcbiAgICAgICAgICAgICAgICBhY3Rpb25BY2Nlc3M6ICd3cml0ZSdcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGFjdGlvbjogQWRtaW5DbGFzc0FjdGlvbnMuY29uZmlybUF0dHJpYnV0ZURlbGV0aW9uKHtcbiAgICAgICAgICAgICAgICAgIGNsYXNzSWQ6IHRoaXMuc2VsZWN0ZWRDbGFzc0lkLFxuICAgICAgICAgICAgICAgICAgYXR0cklkOiBhdHRySWQsXG4gICAgICAgICAgICAgICAgICBiYWNrUGF0aDogdGhpcy5iYWNrUGF0aCxcbiAgICAgICAgICAgICAgICAgIGFkZEF0dHJQYXRoOiB0aGlzLmFkZEF0dHJpYnV0ZVBhdGhcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBsYWJlbDogJ2RlbGV0ZScsXG4gICAgICAgICAgICAgICAgaWNvbjogJ2RlbGV0ZScsXG4gICAgICAgICAgICAgICAgbW9kdWxlQWNjZXNzOiAnYWRtaW4nLFxuICAgICAgICAgICAgICAgIHBhZ2VBY2Nlc3M6ICdjbGFzc2VzJyxcbiAgICAgICAgICAgICAgICBhY3Rpb25BY2Nlc3M6ICd3cml0ZSdcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBzZWxlY3RBdHRyKGF0dHI6IEF0dHJpYnV0ZUV4dGVuZGVkKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkNsYXNzQWN0aW9ucy5zZWxlY3RBdHRyaWJ1dGUoeyBhdHRyRXh0ZW5kZWQ6IGF0dHIgfSkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5BY3Rpb25zLnNlbGVjdENvbXBvbmVudFR5cGUoeyBjb21wb25lbnRUeXBlOiAnQWRtaW5BdHRyaWJ1dGVzU2VsZWN0Q29tcG9uZW50JyB9KSk7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGVBY3Rpb25zKGF0dHIuaWQpO1xuICB9XG5cbiAgZGlzcGF0Y2hDbG9zZU1vZGFsKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5DbGFzc0FjdGlvbnMuY2xvc2VNb2RhbCgpKTtcbiAgfVxuXG4gIHNob3dNb2RhbCgpIHtcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKFxuICAgICAgbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgcGFuZWxDbGFzczogWydvLW1vZGFsLXdyYXBwZXInXSxcbiAgICAgICAgYmFja2Ryb3BDbGFzczogJ2JhY2tkcm9wJ1xuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ29uZmlnQWN0aW9ucy5hZGRpbmdPdmVybGF5KHsgaWQ6IHRoaXMuY29uc3RydWN0b3IubmFtZSB9KSk7XG4gICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKF8pID0+IHRoaXMuY2xvc2VNb2RhbCgpKTtcbiAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLmNvbmZpcm1hdGlvbk1vZGFsLCB0aGlzLnZpZXdDb250YWluZXJSZWYpKTtcbiAgfVxuXG4gIGNsb3NlTW9kYWwoKSB7XG4gICAgdGhpcy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDb25maWdBY3Rpb25zLmNsb3NlT3ZlcmxheSh7IGlkOiB0aGlzLmNvbnN0cnVjdG9yLm5hbWUgfSkpO1xuICB9XG5cbiAgc2F2ZUNsYXNzKCkge1xuICAgIGlmICh0aGlzLmludGVyQ2xhc3MpIHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5DbGFzc0FjdGlvbnMuc2F2ZUNsYXNzKHsgY2xhc3M6IHRoaXMuaW50ZXJDbGFzcywgcm91dGU6IHRoaXMuYmFja1BhdGggfSkpO1xuICAgIH1cbiAgICB0aGlzLmRpc3BhdGNoQ2xvc2VNb2RhbCgpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiKHNlbGVjdGVkY2xhc3MkIHwgYXN5bmMpIHx8IChpbnRlckNsYXNzJCB8IGFzeW5jKSBhcyBzZWxlY3RlZENsYXNzXCI+XG4gIDxkaXYgY2xhc3M9XCJvLWJhc2UtY29udGFpbmVyXCI+XG4gICAgPGgxIGNsYXNzPVwiYS1oMVwiPlxuICAgICAge3sgJ0BwcnkuYWRtaW4uY2xhc3Nlcy50aXRsZScgfCBpMThuOiB7IGNsYXNzOiBzZWxlY3RlZENsYXNzLm5hbWUgfSB9fVxuICAgIDwvaDE+XG4gICAgPHRhYmxlXG4gICAgICBjbGFzcz1cImEtdGFibGVcIlxuICAgICAgcHJ5U29ydFRhYmxlXG4gICAgICBwcnlTb3J0QWN0aXZlPVwibmFtZVwiXG4gICAgICBwcnlTb3J0RGlyZWN0aW9uPVwiYXNjXCJcbiAgICAgIChwcnlTb3J0Q2hhbmdlKT1cInNvcnRBY3RpdmUgPSAkZXZlbnQuYWN0aXZlOyBzb3J0RGlyZWN0aW9uID0gJGV2ZW50LmRpcmVjdGlvblwiXG4gICAgPlxuICAgICAgPGNhcHRpb24+XG4gICAgICAgIHt7XG4gICAgICAgICAgJ0BwcnkuYWRtaW4uY2xhc3Nlcy50aXRsZScgfCBpMThuXG4gICAgICAgIH19LFxuICAgICAgICB7e1xuICAgICAgICAgICdAcHJ5LmFjdGlvbi5zb3J0YWJsZUNvbHVtbkhlYWRlcicgfCBpMThuXG4gICAgICAgIH19XG4gICAgICA8L2NhcHRpb24+XG4gICAgICA8dGhlYWQ+XG4gICAgICAgIDx0cj5cbiAgICAgICAgICA8dGg+PC90aD5cbiAgICAgICAgICA8dGggcHJ5U29ydEhlYWRlcj1cIm5hbWVcIj57eyAnQHByeS5hZG1pbi5jbGFzc2VzLmF0dHJpYnV0ZXMubmFtZScgfCBpMThuIH19PC90aD5cbiAgICAgICAgICA8dGggcHJ5U29ydEhlYWRlcj1cImZpZWxkXCI+e3sgJ0BwcnkuYWRtaW4uY2xhc3Nlcy5hdHRyaWJ1dGVzLmZpZWxkJyB8IGkxOG4gfX08L3RoPlxuICAgICAgICAgIDx0aCBwcnlTb3J0SGVhZGVyPVwiY2F0ZWdvcnlcIj57eyAnQHByeS5hZG1pbi5jbGFzc2VzLmF0dHJpYnV0ZXMuY2F0ZWdvcnknIHwgaTE4biB9fTwvdGg+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L3RoZWFkPlxuICAgICAgPHRib2R5PlxuICAgICAgICA8dHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgYXR0ciBvZiBhdHRyaWJ1dGVzRXh0ZW5kZWQkIHwgYXN5bmMgfCBwcnlTb3J0RGF0YTogc29ydEFjdGl2ZSA6IHNvcnREaXJlY3Rpb25cIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3RBdHRyKGF0dHIpXCJcbiAgICAgICAgICBbY2xhc3MuaXMtc2VsZWN0ZWRdPVwiKHNlbGVjdGVkQXR0cmlidXRlSWQkIHwgYXN5bmMpID09PSBhdHRyLmlkXCJcbiAgICAgICAgPlxuICAgICAgICAgIDx0ZCBjbGFzcz1cInZpZXctZGV0YWlsc1wiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBbaWRdPVwiJ2J1dHRvbi1hdHRyLScgKyBhdHRyLmlkXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seVwiXG4gICAgICAgICAgICAgIHRpdGxlPVwie3sgJ0BwcnkuYWN0aW9uLnZpZXdEZXRhaWxzJyB8IGkxOG4gfX1cIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIihzZWxlY3RlZEF0dHJpYnV0ZUlkJCB8IGFzeW5jKSA9PT0gYXR0ci5pZFwiXG4gICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXBcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCIncGFuZWwtYXR0ci0nICsgYXR0ci5pZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyBhdHRyLm5hbWUgfX0sIHt7ICdAcHJ5LmFjdGlvbi52aWV3RGV0YWlscycgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImV5ZVwiIFt3aWR0aF09XCIxNVwiIFtoZWlnaHRdPVwiMTVcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQ+e3sgYXR0ci5uYW1lIH19PC90ZD5cbiAgICAgICAgICA8dGQ+e3sgYXR0ci5maWVsZE5hbWUgfX08L3RkPlxuICAgICAgICAgIDx0ZD57eyBhdHRyLmNhdGVnb3J5TmFtZSB9fTwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L3Rib2R5PlxuICAgIDwvdGFibGU+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjY29uZmlybWF0aW9uTW9kYWw+XG4gIDxkaXYgY2xhc3M9XCJvLW1vZGFsXCI+XG4gICAgPGRpdiBjbGFzcz1cIm8tbW9kYWxfX3RvcFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm8tbW9kYWxfX3RvcF9fdGl0bGVcIj5cbiAgICAgICAgPGgyIGNsYXNzPVwiYS1oMlwiIGlkPVwiZGlhbG9nX3RpdGxlXCI+XG4gICAgICAgICAge3sgJ0BwcnkuYWRtaW4uY2xhc3Nlcy5jcmVhdGVDbGFzc0NvbmZpcm1NZXNzYWdlJyB8IGkxOG4gfX1cbiAgICAgICAgPC9oMj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm8tbW9kYWxfX3RvcF9fY2xvc2VcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHlcIiAoY2xpY2spPVwiZGlzcGF0Y2hDbG9zZU1vZGFsKClcIj5cbiAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImNsb3NlXCIgW2hlaWdodF09XCIzNVwiIFt3aWR0aF09XCIzNVwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LnRvb2xib3guY2xvc2UnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibS1idG4tZ3JvdXBcIj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIiAoY2xpY2spPVwic2F2ZUNsYXNzKClcIj5cbiAgICAgICAge3sgJ0BwcnkudG9vbGJveC5tYW5pZmVzdC52YWxpZGF0ZScgfCBpMThuIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeVwiIChjbGljayk9XCJkaXNwYXRjaENsb3NlTW9kYWwoKVwiPlxuICAgICAgICB7eyAnQHByeS50b29sYm94Lm1hbmlmZXN0LmNsb3NlJyB8IGkxOG4gfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tY2xhc3Nlcy12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL2NvbXBvbmVudHMvYWRtaW4tY2xhc3Nlcy9hZG1pbi1jbGFzc2VzLXZpZXcvYWRtaW4tY2xhc3Nlcy12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL2NvbXBvbmVudHMvYWRtaW4tY2xhc3Nlcy9hZG1pbi1jbGFzc2VzLXZpZXcvYWRtaW4tY2xhc3Nlcy12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVyxhQUFhLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBcUIsV0FBVyxFQUFFLFNBQVMsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFHdkcsT0FBTyxFQUtMLGVBQWUsRUFDZixpQkFBaUIsRUFFakIsWUFBWSxFQUNaLGNBQWMsRUFDZCxhQUFhLEVBRWIsWUFBWSxFQUNaLGNBQWMsRUFDZixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBYyxFQUFFLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7OztBQU1yRSxNQUFNLE9BQU8seUJBQXlCO0lBcUJwQyxZQUNVLEtBQWlCLEVBQ2pCLE1B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QUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDcEc7UUFDRCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDOzhHQXhNVSx5QkFBeUI7a0dBQXpCLHlCQUF5QixpS0FtQkksV0FBVyw2QkNoRHJELGttR0FrRkE7OzJGRHJEYSx5QkFBeUI7a0JBSnJDLFNBQVM7K0JBQ0Usd0JBQXdCO21NQXNCcUIsaUJBQWlCO3NCQUF2RSxTQUFTO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIEF0dHJpYnV0ZSxcbiAgQXR0cmlidXRlRXh0ZW5kZWQsXG4gIEJhc2VUb29sYm94QWN0aW9uLFxuICBDYXRlZ29yeSxcbiAgQ2F0ZWdvcnlBY3Rpb25zLFxuICBDYXRlZ29yeVNlbGVjdG9ycyxcbiAgQ2xhc3MsXG4gIENsYXNzQWN0aW9ucyxcbiAgQ2xhc3NTZWxlY3RvcnMsXG4gIENvbmZpZ0FjdGlvbnMsXG4gIEZpZWxkLFxuICBGaWVsZEFjdGlvbnMsXG4gIEZpZWxkU2VsZWN0b3JzXG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBmaWx0ZXIsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWRtaW5BY3Rpb25zIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvYWRtaW4uYWN0aW9ucyc7XG5pbXBvcnQgeyBBZG1pbkNsYXNzQWN0aW9ucyB9IGZyb20gJy4uL3N0b3JlL2FkbWluLWNsYXNzLmFjdGlvbnMnO1xuaW1wb3J0IHsgQWRtaW5DbGFzc1NlbGVjdG9ycyB9IGZyb20gJy4uL3N0b3JlL2FkbWluLWNsYXNzLnNlbGVjdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1hZG1pbi1jbGFzc2VzLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRtaW4tY2xhc3Nlcy12aWV3LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBZG1pbkNsYXNzZXNWaWV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBzZWxlY3RlZGNsYXNzJD86IE9ic2VydmFibGU8Q2xhc3M+O1xuICBpbnRlckNsYXNzJD86IE9ic2VydmFibGU8Q2xhc3MgfCB1bmRlZmluZWQ+O1xuICBhdHRyaWJ1dGVzJDogT2JzZXJ2YWJsZTxBdHRyaWJ1dGVbXT4gPSBvZihbXSk7XG4gIGZpZWxkcyQ6IE9ic2VydmFibGU8RmllbGRbXT4gPSBvZihbXSk7XG4gIGNhdGVnb3JpZXMkOiBPYnNlcnZhYmxlPENhdGVnb3J5W10+ID0gb2YoW10pO1xuICBhdHRyaWJ1dGVzRXh0ZW5kZWQkPzogT2JzZXJ2YWJsZTxBdHRyaWJ1dGVFeHRlbmRlZFtdPjtcbiAgc2VsZWN0ZWRBdHRyaWJ1dGVJZCQ6IE9ic2VydmFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPjtcblxuICBpbnRlckNsYXNzPzogQ2xhc3M7XG5cbiAgc3ViID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICBzb3J0QWN0aXZlPyA9ICduYW1lJztcbiAgc29ydERpcmVjdGlvbj8gPSAnYXNjJztcbiAgc2VsZWN0ZWRDbGFzc0lkID0gJyc7XG4gIGJhY2tQYXRoOiBzdHJpbmc7XG4gIGFkZEF0dHJpYnV0ZVBhdGg6IHN0cmluZztcbiAgb3Blbk1vZGFsJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcHJpdmF0ZSBvdmVybGF5UmVmPzogT3ZlcmxheVJlZjtcbiAgQFZpZXdDaGlsZCgnY29uZmlybWF0aW9uTW9kYWwnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pIGNvbmZpcm1hdGlvbk1vZGFsITogVGVtcGxhdGVSZWY8YW55PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+LFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZlxuICApIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENsYXNzQWN0aW9ucy5sb2FkKCkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRmllbGRBY3Rpb25zLmxvYWQoKSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDYXRlZ29yeUFjdGlvbnMubG9hZCgpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluQ2xhc3NBY3Rpb25zLnVuc2VsZWN0QXR0cmlidXRlKCkpO1xuXG4gICAgdGhpcy5maWVsZHMkID0gdGhpcy5zdG9yZS5zZWxlY3QoRmllbGRTZWxlY3RvcnMuZmllbGRzKTtcbiAgICB0aGlzLmNhdGVnb3JpZXMkID0gdGhpcy5zdG9yZS5zZWxlY3QoQ2F0ZWdvcnlTZWxlY3RvcnMuY2F0ZWdvcmllcyk7XG4gICAgdGhpcy5zZWxlY3RlZEF0dHJpYnV0ZUlkJCA9IHRoaXMuc3RvcmUuc2VsZWN0KEFkbWluQ2xhc3NTZWxlY3RvcnMuc2VsZWN0ZWRBdHRyaWJ1dGVJZCk7XG4gICAgdGhpcy5iYWNrUGF0aCA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWycuLiddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSkudG9TdHJpbmcoKTtcbiAgICB0aGlzLmFkZEF0dHJpYnV0ZVBhdGggPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFsnLicsICduZXcnXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pLnRvU3RyaW5nKCk7XG4gICAgdGhpcy5vcGVuTW9kYWwkID0gdGhpcy5zdG9yZS5zZWxlY3QoQWRtaW5DbGFzc1NlbGVjdG9ycy5vcGVuTW9kYWwpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbnRlckNsYXNzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KEFkbWluQ2xhc3NTZWxlY3RvcnMuaW50ZXJDbGFzcyk7XG4gICAgdGhpcy5zdWIuYWRkKHRoaXMuaW50ZXJDbGFzcyQuc3Vic2NyaWJlKChjKSA9PiAodGhpcy5pbnRlckNsYXNzID0gYykpKTtcbiAgICBpZiAodGhpcy5pbnRlckNsYXNzKSB7XG4gICAgICBpZiAodGhpcy5pbnRlckNsYXNzLmF0dHJpYnV0ZXMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLmF0dHJpYnV0ZXMkID0gb2YodGhpcy5pbnRlckNsYXNzLmF0dHJpYnV0ZXMpO1xuICAgICAgICB0aGlzLmF0dHJpYnV0ZXNFeHRlbmRlZCQgPSB0aGlzLmdldEF0dHJFeHRlbmRlZCgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtcykgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2xhc3NJZCA9IHBhcmFtc1snaWQnXTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZGNsYXNzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KENsYXNzU2VsZWN0b3JzLmNsYXNzQnlJZCh0aGlzLnNlbGVjdGVkQ2xhc3NJZCkpO1xuICAgICAgICB0aGlzLmF0dHJpYnV0ZXMkID0gdGhpcy5zZWxlY3RlZGNsYXNzJC5waXBlKG1hcCgoc2VsZWN0ZWRDbGFzcykgPT4gc2VsZWN0ZWRDbGFzcy5hdHRyaWJ1dGVzKSk7XG4gICAgICAgIHRoaXMuYXR0cmlidXRlc0V4dGVuZGVkJCA9IHRoaXMuZ2V0QXR0ckV4dGVuZGVkKCk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgdGhpcy5zZXRDbGFzc0FjdGlvbnMoKTtcbiAgICB0aGlzLnN1Yi5hZGQoXG4gICAgICB0aGlzLm9wZW5Nb2RhbCQuc3Vic2NyaWJlKChvcGVuKSA9PiB7XG4gICAgICAgIGlmIChvcGVuKSB7XG4gICAgICAgICAgdGhpcy5zaG93TW9kYWwoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmNsb3NlTW9kYWwoKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zdWIudW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QXR0ckV4dGVuZGVkKCkge1xuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFt0aGlzLmF0dHJpYnV0ZXMkLCB0aGlzLmZpZWxkcyQsIHRoaXMuY2F0ZWdvcmllcyRdKS5waXBlKFxuICAgICAgZmlsdGVyKChbYXR0cmlidXRlcywgZmllbGRzLCBjYXRlZ29yaWVzXSkgPT4gZmllbGRzLmxlbmd0aCA+IDAgJiYgY2F0ZWdvcmllcy5sZW5ndGggPiAwKSxcbiAgICAgIG1hcCgoW2F0dHJpYnV0ZXMsIGZpZWxkcywgY2F0ZWdvcmllc10pID0+IHtcbiAgICAgICAgcmV0dXJuIGF0dHJpYnV0ZXMubWFwKFxuICAgICAgICAgIChhdHRyOiBBdHRyaWJ1dGUpID0+XG4gICAgICAgICAgICAoe1xuICAgICAgICAgICAgICAuLi5hdHRyLFxuICAgICAgICAgICAgICBmaWVsZE5hbWU6IGZpZWxkcy5maW5kKChmaWVsZCkgPT4gZmllbGQuaWQgPT09IGF0dHIuZmllbGQpPy5uYW1lIHx8ICd1bmtub3duJyxcbiAgICAgICAgICAgICAgY2F0ZWdvcnlOYW1lOiBjYXRlZ29yaWVzLmZpbmQoKGNhdGVnb3J5KSA9PiBjYXRlZ29yeS5pZCA9PT0gYXR0ci5jYXRlZ29yeSk/Lm5hbWUgfHwgJ3Vua25vd24nXG4gICAgICAgICAgICB9KSBhcyBBdHRyaWJ1dGVFeHRlbmRlZFxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDbGFzc0FjdGlvbnMoKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkFjdGlvbnMucmVzZXRBY3Rpb25zKCkpO1xuICAgIGxldCBhY3Rpb25zID0gW1xuICAgICAge1xuICAgICAgICBhY3Rpb246IEFkbWluQ2xhc3NBY3Rpb25zLmJhY2soeyBwYXRoOiB0aGlzLmJhY2tQYXRoIH0pLFxuICAgICAgICBsYWJlbDogJ2JhY2snLFxuICAgICAgICBpY29uOiAnYXJyb3dfYmFjaydcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGFjdGlvbjogQWRtaW5BY3Rpb25zLnJvdXRlVG8oeyBwYXRoOiB0aGlzLmFkZEF0dHJpYnV0ZVBhdGggfSksXG4gICAgICAgIGxhYmVsOiAnYWRkQXR0cmlidXRlJyxcbiAgICAgICAgaWNvbjogJ2FkZF9jb2x1bW4nLFxuICAgICAgICBtb2R1bGVBY2Nlc3M6ICdhZG1pbicsXG4gICAgICAgIHBhZ2VBY2Nlc3M6ICdjbGFzc2VzJyxcbiAgICAgICAgYWN0aW9uQWNjZXNzOiAnd3JpdGUnXG4gICAgICB9XG4gICAgXSBhcyBCYXNlVG9vbGJveEFjdGlvbltdO1xuXG4gICAgaWYgKHRoaXMuaW50ZXJDbGFzcykge1xuICAgICAgYWN0aW9ucy5wdXNoKHtcbiAgICAgICAgYWN0aW9uOiBBZG1pbkNsYXNzQWN0aW9ucy5vcGVuTW9kYWwoKSxcbiAgICAgICAgbGFiZWw6ICdhZGRDbGFzcycsXG4gICAgICAgIGljb246ICdhZGRfY29sdW1uJyxcbiAgICAgICAgbW9kdWxlQWNjZXNzOiAnYWRtaW4nLFxuICAgICAgICBwYWdlQWNjZXNzOiAnY2xhc3NlcycsXG4gICAgICAgIGFjdGlvbkFjY2VzczogJ3dyaXRlJ1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIEFkbWluQWN0aW9ucy5tYWluQWN0aW9ucyh7XG4gICAgICAgIGFjdGlvbnM6IGFjdGlvbnNcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0QXR0cmlidXRlQWN0aW9ucyhhdHRySWQ6IHN0cmluZykge1xuICAgIHRoaXMuc3ViLmFkZChcbiAgICAgIHRoaXMuc2VsZWN0ZWRBdHRyaWJ1dGVJZCQuc3Vic2NyaWJlKChhdHRyaWJ1dGVJZCkgPT4ge1xuICAgICAgICBsZXQgZWRpdFBhdGggPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFthdHRyaWJ1dGVJZCwgJ2VkaXQnXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pLnRvU3RyaW5nKCk7XG5cbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICBBZG1pbkFjdGlvbnMubWFpbkFjdGlvbnMoe1xuICAgICAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYWN0aW9uOiBBZG1pbkNsYXNzQWN0aW9ucy5iYWNrKHsgcGF0aDogdGhpcy5iYWNrUGF0aCB9KSxcbiAgICAgICAgICAgICAgICBsYWJlbDogJ2JhY2snLFxuICAgICAgICAgICAgICAgIGljb246ICdhcnJvd19iYWNrJ1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYWN0aW9uOiBBZG1pbkFjdGlvbnMucm91dGVUbyh7IHBhdGg6IGVkaXRQYXRoIH0pLFxuICAgICAgICAgICAgICAgIGxhYmVsOiAnZWRpdCcsXG4gICAgICAgICAgICAgICAgaWNvbjogJ2VkaXQnLFxuICAgICAgICAgICAgICAgIG1vZHVsZUFjY2VzczogJ2FkbWluJyxcbiAgICAgICAgICAgICAgICBwYWdlQWNjZXNzOiAnZmllbGRzJyxcbiAgICAgICAgICAgICAgICBhY3Rpb25BY2Nlc3M6ICd3cml0ZSdcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGFjdGlvbjogQWRtaW5DbGFzc0FjdGlvbnMuY29uZmlybUF0dHJpYnV0ZURlbGV0aW9uKHtcbiAgICAgICAgICAgICAgICAgIGNsYXNzSWQ6IHRoaXMuc2VsZWN0ZWRDbGFzc0lkLFxuICAgICAgICAgICAgICAgICAgYXR0cklkOiBhdHRySWQsXG4gICAgICAgICAgICAgICAgICBiYWNrUGF0aDogdGhpcy5iYWNrUGF0aCxcbiAgICAgICAgICAgICAgICAgIGFkZEF0dHJQYXRoOiB0aGlzLmFkZEF0dHJpYnV0ZVBhdGhcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBsYWJlbDogJ2RlbGV0ZScsXG4gICAgICAgICAgICAgICAgaWNvbjogJ2RlbGV0ZScsXG4gICAgICAgICAgICAgICAgbW9kdWxlQWNjZXNzOiAnYWRtaW4nLFxuICAgICAgICAgICAgICAgIHBhZ2VBY2Nlc3M6ICdjbGFzc2VzJyxcbiAgICAgICAgICAgICAgICBhY3Rpb25BY2Nlc3M6ICd3cml0ZSdcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXVxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBzZWxlY3RBdHRyKGF0dHI6IEF0dHJpYnV0ZUV4dGVuZGVkKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkNsYXNzQWN0aW9ucy5zZWxlY3RBdHRyaWJ1dGUoeyBhdHRyRXh0ZW5kZWQ6IGF0dHIgfSkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5BY3Rpb25zLnNlbGVjdENvbXBvbmVudFR5cGUoeyBjb21wb25lbnRUeXBlOiAnQWRtaW5BdHRyaWJ1dGVzU2VsZWN0Q29tcG9uZW50JyB9KSk7XG4gICAgdGhpcy5zZXRBdHRyaWJ1dGVBY3Rpb25zKGF0dHIuaWQpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5BY3Rpb25zLmZldGNoQXR0cmlidXRlQXNzb2NpYXRpb25zKHsgaWQ6IGF0dHIuaWQgfSkpO1xuICB9XG5cbiAgZGlzcGF0Y2hDbG9zZU1vZGFsKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5DbGFzc0FjdGlvbnMuY2xvc2VNb2RhbCgpKTtcbiAgfVxuXG4gIHNob3dNb2RhbCgpIHtcbiAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKFxuICAgICAgbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgICBoYXNCYWNrZHJvcDogdHJ1ZSxcbiAgICAgICAgcGFuZWxDbGFzczogWydvLW1vZGFsLXdyYXBwZXInXSxcbiAgICAgICAgYmFja2Ryb3BDbGFzczogJ2JhY2tkcm9wJ1xuICAgICAgfSlcbiAgICApO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ29uZmlnQWN0aW9ucy5hZGRpbmdPdmVybGF5KHsgaWQ6IHRoaXMuY29uc3RydWN0b3IubmFtZSB9KSk7XG4gICAgdGhpcy5vdmVybGF5UmVmLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKF8pID0+IHRoaXMuY2xvc2VNb2RhbCgpKTtcbiAgICB0aGlzLm92ZXJsYXlSZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLmNvbmZpcm1hdGlvbk1vZGFsLCB0aGlzLnZpZXdDb250YWluZXJSZWYpKTtcbiAgfVxuXG4gIGNsb3NlTW9kYWwoKSB7XG4gICAgdGhpcy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDb25maWdBY3Rpb25zLmNsb3NlT3ZlcmxheSh7IGlkOiB0aGlzLmNvbnN0cnVjdG9yLm5hbWUgfSkpO1xuICB9XG5cbiAgc2F2ZUNsYXNzKCkge1xuICAgIGlmICh0aGlzLmludGVyQ2xhc3MpIHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5DbGFzc0FjdGlvbnMuc2F2ZUNsYXNzKHsgY2xhc3M6IHRoaXMuaW50ZXJDbGFzcywgcm91dGU6IHRoaXMuYmFja1BhdGggfSkpO1xuICAgIH1cbiAgICB0aGlzLmRpc3BhdGNoQ2xvc2VNb2RhbCgpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiKHNlbGVjdGVkY2xhc3MkIHwgYXN5bmMpIHx8IChpbnRlckNsYXNzJCB8IGFzeW5jKSBhcyBzZWxlY3RlZENsYXNzXCI+XG4gIDxkaXYgY2xhc3M9XCJvLWJhc2UtY29udGFpbmVyXCI+XG4gICAgPGgxIGNsYXNzPVwiYS1oMVwiPlxuICAgICAge3sgJ0BwcnkuYWRtaW4uY2xhc3Nlcy50aXRsZScgfCBpMThuOiB7IGNsYXNzOiBzZWxlY3RlZENsYXNzLm5hbWUgfSB9fVxuICAgIDwvaDE+XG4gICAgPHRhYmxlXG4gICAgICBjbGFzcz1cImEtdGFibGVcIlxuICAgICAgcHJ5U29ydFRhYmxlXG4gICAgICBwcnlTb3J0QWN0aXZlPVwibmFtZVwiXG4gICAgICBwcnlTb3J0RGlyZWN0aW9uPVwiYXNjXCJcbiAgICAgIChwcnlTb3J0Q2hhbmdlKT1cInNvcnRBY3RpdmUgPSAkZXZlbnQuYWN0aXZlOyBzb3J0RGlyZWN0aW9uID0gJGV2ZW50LmRpcmVjdGlvblwiXG4gICAgPlxuICAgICAgPGNhcHRpb24+XG4gICAgICAgIHt7XG4gICAgICAgICAgJ0BwcnkuYWRtaW4uY2xhc3Nlcy50aXRsZScgfCBpMThuXG4gICAgICAgIH19LFxuICAgICAgICB7e1xuICAgICAgICAgICdAcHJ5LmFjdGlvbi5zb3J0YWJsZUNvbHVtbkhlYWRlcicgfCBpMThuXG4gICAgICAgIH19XG4gICAgICA8L2NhcHRpb24+XG4gICAgICA8dGhlYWQ+XG4gICAgICAgIDx0cj5cbiAgICAgICAgICA8dGg+PC90aD5cbiAgICAgICAgICA8dGggcHJ5U29ydEhlYWRlcj1cIm5hbWVcIj57eyAnQHByeS5hZG1pbi5jbGFzc2VzLmF0dHJpYnV0ZXMubmFtZScgfCBpMThuIH19PC90aD5cbiAgICAgICAgICA8dGggcHJ5U29ydEhlYWRlcj1cImZpZWxkXCI+e3sgJ0BwcnkuYWRtaW4uY2xhc3Nlcy5hdHRyaWJ1dGVzLmZpZWxkJyB8IGkxOG4gfX08L3RoPlxuICAgICAgICAgIDx0aCBwcnlTb3J0SGVhZGVyPVwiY2F0ZWdvcnlcIj57eyAnQHByeS5hZG1pbi5jbGFzc2VzLmF0dHJpYnV0ZXMuY2F0ZWdvcnknIHwgaTE4biB9fTwvdGg+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L3RoZWFkPlxuICAgICAgPHRib2R5PlxuICAgICAgICA8dHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgYXR0ciBvZiBhdHRyaWJ1dGVzRXh0ZW5kZWQkIHwgYXN5bmMgfCBwcnlTb3J0RGF0YTogc29ydEFjdGl2ZSA6IHNvcnREaXJlY3Rpb25cIlxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3RBdHRyKGF0dHIpXCJcbiAgICAgICAgICBbY2xhc3MuaXMtc2VsZWN0ZWRdPVwiKHNlbGVjdGVkQXR0cmlidXRlSWQkIHwgYXN5bmMpID09PSBhdHRyLmlkXCJcbiAgICAgICAgPlxuICAgICAgICAgIDx0ZCBjbGFzcz1cInZpZXctZGV0YWlsc1wiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBbaWRdPVwiJ2J1dHRvbi1hdHRyLScgKyBhdHRyLmlkXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seVwiXG4gICAgICAgICAgICAgIHRpdGxlPVwie3sgJ0BwcnkuYWN0aW9uLnZpZXdEZXRhaWxzJyB8IGkxOG4gfX1cIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIihzZWxlY3RlZEF0dHJpYnV0ZUlkJCB8IGFzeW5jKSA9PT0gYXR0ci5pZFwiXG4gICAgICAgICAgICAgIGFyaWEtaGFzcG9wdXBcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCIncGFuZWwtYXR0ci0nICsgYXR0ci5pZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyBhdHRyLm5hbWUgfX0sIHt7ICdAcHJ5LmFjdGlvbi52aWV3RGV0YWlscycgfCBpMThuIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImV5ZVwiIFt3aWR0aF09XCIxNVwiIFtoZWlnaHRdPVwiMTVcIj48L3ByeS1pY29uPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQ+e3sgYXR0ci5uYW1lIH19PC90ZD5cbiAgICAgICAgICA8dGQ+e3sgYXR0ci5maWVsZE5hbWUgfX08L3RkPlxuICAgICAgICAgIDx0ZD57eyBhdHRyLmNhdGVnb3J5TmFtZSB9fTwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L3Rib2R5PlxuICAgIDwvdGFibGU+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjY29uZmlybWF0aW9uTW9kYWw+XG4gIDxkaXYgY2xhc3M9XCJvLW1vZGFsXCI+XG4gICAgPGRpdiBjbGFzcz1cIm8tbW9kYWxfX3RvcFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm8tbW9kYWxfX3RvcF9fdGl0bGVcIj5cbiAgICAgICAgPGgyIGNsYXNzPVwiYS1oMlwiIGlkPVwiZGlhbG9nX3RpdGxlXCI+XG4gICAgICAgICAge3sgJ0BwcnkuYWRtaW4uY2xhc3Nlcy5jcmVhdGVDbGFzc0NvbmZpcm1NZXNzYWdlJyB8IGkxOG4gfX1cbiAgICAgICAgPC9oMj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm8tbW9kYWxfX3RvcF9fY2xvc2VcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1pY29uLW9ubHlcIiAoY2xpY2spPVwiZGlzcGF0Y2hDbG9zZU1vZGFsKClcIj5cbiAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImNsb3NlXCIgW2hlaWdodF09XCIzNVwiIFt3aWR0aF09XCIzNVwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LnRvb2xib3guY2xvc2UnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwibS1idG4tZ3JvdXBcIj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIiAoY2xpY2spPVwic2F2ZUNsYXNzKClcIj5cbiAgICAgICAge3sgJ0BwcnkudG9vbGJveC5tYW5pZmVzdC52YWxpZGF0ZScgfCBpMThuIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeVwiIChjbGljayk9XCJkaXNwYXRjaENsb3NlTW9kYWwoKVwiPlxuICAgICAgICB7eyAnQHByeS50b29sYm94Lm1hbmlmZXN0LmNsb3NlJyB8IGkxOG4gfX1cbiAgICAgIDwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -5,20 +5,18 @@ export class PrySinceDatePipe {
5
5
  constructor(translateService) {
6
6
  this.translateService = translateService;
7
7
  }
8
- transform(value) {
8
+ transform(value, ...args) {
9
9
  const date = new Date(value);
10
10
  const dateNow = new Date();
11
11
  const dayDif = this.getDayDiff(date, dateNow);
12
- if (dayDif <= 0) {
12
+ if (dayDif > 30 || (!!args[0] && args[0].onlyLocale)) {
13
+ return date.toLocaleString();
14
+ }
15
+ else if (dayDif <= 0) {
13
16
  return this.translateService.instant('@pry.toolbox.now');
14
17
  }
15
18
  else if (dayDif > 0 && dayDif <= 30) {
16
- return this.translateService.instant('@pry.toolbox.since_day', { day: dayDif });
17
- }
18
- else if (dayDif > 30) {
19
- const month = (date.getMonth() + 1).toString().padStart(2, '0');
20
- const day = date.getDate() > 9 ? date.getDate() : `0${date.getDate()}`;
21
- return `${day}/${month}/${date.getFullYear()}`;
19
+ return this.translateService.instant('@pry.toolbox.since_day', { day: dayDif, plural: dayDif >= 2 ? 's' : '' });
22
20
  }
23
21
  else {
24
22
  return '';
@@ -37,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
37
35
  name: 'sinceDate'
38
36
  }]
39
37
  }], ctorParameters: function () { return [{ type: i1.PryI18nService }]; } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luY2VEYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL3NpbmNlRGF0ZS9zaW5jZURhdGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7O0FBTXBELE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsWUFBb0IsZ0JBQWdDO1FBQWhDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBZ0I7SUFBRyxDQUFDO0lBRXhELFNBQVMsQ0FBQyxLQUFhO1FBQ3JCLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLE1BQU0sT0FBTyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDM0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDOUMsSUFBSSxNQUFNLElBQUksQ0FBQyxFQUFFO1lBQ2YsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7U0FDMUQ7YUFBTSxJQUFJLE1BQU0sR0FBRyxDQUFDLElBQUksTUFBTSxJQUFJLEVBQUUsRUFBRTtZQUNyQyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztTQUNqRjthQUFNLElBQUksTUFBTSxHQUFHLEVBQUUsRUFBRTtZQUN0QixNQUFNLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ2hFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUN2RSxPQUFPLEdBQUcsR0FBRyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztTQUNoRDthQUFNO1lBQ0wsT0FBTyxFQUFFLENBQUM7U0FDWDtJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsU0FBZSxFQUFFLE9BQWE7UUFDdkMsTUFBTSxPQUFPLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBRXBDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQztJQUNyRSxDQUFDOzhHQXhCVSxnQkFBZ0I7NEdBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFINUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsV0FBVztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcnlJMThuU2VydmljZSB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3NpbmNlRGF0ZSdcbn0pXG5leHBvcnQgY2xhc3MgUHJ5U2luY2VEYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFByeUkxOG5TZXJ2aWNlKSB7fVxuXG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodmFsdWUpO1xuICAgIGNvbnN0IGRhdGVOb3cgPSBuZXcgRGF0ZSgpO1xuICAgIGNvbnN0IGRheURpZiA9IHRoaXMuZ2V0RGF5RGlmZihkYXRlLCBkYXRlTm93KTtcbiAgICBpZiAoZGF5RGlmIDw9IDApIHtcbiAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnQHByeS50b29sYm94Lm5vdycpO1xuICAgIH0gZWxzZSBpZiAoZGF5RGlmID4gMCAmJiBkYXlEaWYgPD0gMzApIHtcbiAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnQHByeS50b29sYm94LnNpbmNlX2RheScsIHsgZGF5OiBkYXlEaWYgfSk7XG4gICAgfSBlbHNlIGlmIChkYXlEaWYgPiAzMCkge1xuICAgICAgY29uc3QgbW9udGggPSAoZGF0ZS5nZXRNb250aCgpICsgMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpO1xuICAgICAgY29uc3QgZGF5ID0gZGF0ZS5nZXREYXRlKCkgPiA5ID8gZGF0ZS5nZXREYXRlKCkgOiBgMCR7ZGF0ZS5nZXREYXRlKCl9YDtcbiAgICAgIHJldHVybiBgJHtkYXl9LyR7bW9udGh9LyR7ZGF0ZS5nZXRGdWxsWWVhcigpfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cblxuICBnZXREYXlEaWZmKHN0YXJ0RGF0ZTogRGF0ZSwgZW5kRGF0ZTogRGF0ZSk6IG51bWJlciB7XG4gICAgY29uc3QgbXNJbkRheSA9IDI0ICogNjAgKiA2MCAqIDEwMDA7XG5cbiAgICByZXR1cm4gTWF0aC5mbG9vcigoTnVtYmVyKGVuZERhdGUpIC0gTnVtYmVyKHN0YXJ0RGF0ZSkpIC8gbXNJbkRheSk7XG4gIH1cbn1cbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luY2VEYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9jb21wb25lbnRzL3NpbmNlRGF0ZS9zaW5jZURhdGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7O0FBTXBELE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsWUFBb0IsZ0JBQWdDO1FBQWhDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBZ0I7SUFBRyxDQUFDO0lBRXhELFNBQVMsQ0FBQyxLQUFhLEVBQUUsR0FBRyxJQUFXO1FBQ3JDLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLE1BQU0sT0FBTyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDM0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDOUMsSUFBSSxNQUFNLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUU7WUFDcEQsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDOUI7YUFBTSxJQUFJLE1BQU0sSUFBSSxDQUFDLEVBQUU7WUFDdEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLENBQUM7U0FDMUQ7YUFBTSxJQUFJLE1BQU0sR0FBRyxDQUFDLElBQUksTUFBTSxJQUFJLEVBQUUsRUFBRTtZQUNyQyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsd0JBQXdCLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDakg7YUFBTTtZQUNMLE9BQU8sRUFBRSxDQUFDO1NBQ1g7SUFDSCxDQUFDO0lBRUQsVUFBVSxDQUFDLFNBQWUsRUFBRSxPQUFhO1FBQ3ZDLE1BQU0sT0FBTyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztRQUVwQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUM7SUFDckUsQ0FBQzs4R0F0QlUsZ0JBQWdCOzRHQUFoQixnQkFBZ0I7OzJGQUFoQixnQkFBZ0I7a0JBSDVCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFdBQVc7aUJBQ2xCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJ5STE4blNlcnZpY2UgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdzaW5jZURhdGUnXG59KVxuZXhwb3J0IGNsYXNzIFByeVNpbmNlRGF0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBQcnlJMThuU2VydmljZSkge31cblxuICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZywgLi4uYXJnczogYW55W10pOiBzdHJpbmcge1xuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh2YWx1ZSk7XG4gICAgY29uc3QgZGF0ZU5vdyA9IG5ldyBEYXRlKCk7XG4gICAgY29uc3QgZGF5RGlmID0gdGhpcy5nZXREYXlEaWZmKGRhdGUsIGRhdGVOb3cpO1xuICAgIGlmIChkYXlEaWYgPiAzMCB8fCAoISFhcmdzWzBdICYmIGFyZ3NbMF0ub25seUxvY2FsZSkpIHtcbiAgICAgIHJldHVybiBkYXRlLnRvTG9jYWxlU3RyaW5nKCk7XG4gICAgfSBlbHNlIGlmIChkYXlEaWYgPD0gMCkge1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdAcHJ5LnRvb2xib3gubm93Jyk7XG4gICAgfSBlbHNlIGlmIChkYXlEaWYgPiAwICYmIGRheURpZiA8PSAzMCkge1xuICAgICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdAcHJ5LnRvb2xib3guc2luY2VfZGF5JywgeyBkYXk6IGRheURpZiwgcGx1cmFsOiBkYXlEaWYgPj0gMiA/ICdzJyA6ICcnIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbiAgZ2V0RGF5RGlmZihzdGFydERhdGU6IERhdGUsIGVuZERhdGU6IERhdGUpOiBudW1iZXIge1xuICAgIGNvbnN0IG1zSW5EYXkgPSAyNCAqIDYwICogNjAgKiAxMDAwO1xuXG4gICAgcmV0dXJuIE1hdGguZmxvb3IoKE51bWJlcihlbmREYXRlKSAtIE51bWJlcihzdGFydERhdGUpKSAvIG1zSW5EYXkpO1xuICB9XG59XG4iXX0=