@muraai/mnl-form 0.0.1-alpha-c28cefb → 0.0.1-alpha-2efa750

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 (45) hide show
  1. package/esm2022/lib/confirmation-dialog/confirmation-dialog.component.mjs +3 -3
  2. package/esm2022/lib/formly-lib/formly-lib.component.mjs +17 -8
  3. package/esm2022/lib/formly-lib/formly-standalone.module.mjs +3 -1
  4. package/esm2022/lib/services/graphql.service.mjs +3 -3
  5. package/esm2022/lib/services/scoring.service.mjs +75 -0
  6. package/esm2022/lib/types/action-button-renderer.component.mjs +3 -3
  7. package/esm2022/lib/types/autocomplete-type.component.mjs +3 -3
  8. package/esm2022/lib/types/button.type.mjs +3 -3
  9. package/esm2022/lib/types/comments.type.mjs +3 -3
  10. package/esm2022/lib/types/country-code-input.type.mjs +3 -3
  11. package/esm2022/lib/types/custom-input.component.mjs +3 -3
  12. package/esm2022/lib/types/date-format.type.mjs +3 -3
  13. package/esm2022/lib/types/expansion-panel.types.mjs +3 -3
  14. package/esm2022/lib/types/formly-field-panel.type.mjs +3 -3
  15. package/esm2022/lib/types/grid-actionable.type.mjs +3 -3
  16. package/esm2022/lib/types/grid-formly-cell.component.mjs +3 -3
  17. package/esm2022/lib/types/grid.type.mjs +3 -3
  18. package/esm2022/lib/types/input.type.mjs +3 -3
  19. package/esm2022/lib/types/mu-helper-text.type.mjs +190 -0
  20. package/esm2022/lib/types/multi-select-autocomplete.mjs +3 -3
  21. package/esm2022/lib/types/multi-select-checkbox.component.mjs +3 -3
  22. package/esm2022/lib/types/radio.type.mjs +3 -3
  23. package/esm2022/lib/types/scrollable-tabs.types.mjs +3 -3
  24. package/esm2022/lib/types/select-api-auto-complete.component.mjs +3 -3
  25. package/esm2022/lib/types/select-autocomplete-redefined.component.mjs +3 -3
  26. package/esm2022/lib/types/select-autocomplete.type.mjs +3 -3
  27. package/esm2022/lib/types/stepper.type.mjs +3 -3
  28. package/esm2022/lib/types/table.types.mjs +3 -3
  29. package/esm2022/lib/types/tabs.types.mjs +3 -3
  30. package/esm2022/lib/types/tabular-form-dialog.component.mjs +3 -3
  31. package/esm2022/lib/types/tabular-form.type.mjs +3 -3
  32. package/esm2022/lib/types/upload-file.mjs +3 -3
  33. package/esm2022/lib/types/view-file-dialog.component.mjs +3 -3
  34. package/esm2022/lib/workflow-status/ workflow-status.module.mjs +4 -4
  35. package/esm2022/lib/workflow-status/workflow-status.component.mjs +3 -3
  36. package/esm2022/lib/wrappers/form-field-description-wrapper.component.mjs +3 -3
  37. package/esm2022/lib/wrappers/form-field-wrapper.component.mjs +3 -3
  38. package/esm2022/lib/wrappers/formly-wrapper-with-old-value.component.mjs +3 -3
  39. package/esm2022/lib/wrappers/prefix-suffix-wrapper.component.mjs +3 -3
  40. package/fesm2022/muraai-mnl-form.mjs +390 -134
  41. package/fesm2022/muraai-mnl-form.mjs.map +1 -1
  42. package/lib/formly-lib/formly-lib.component.d.ts +6 -2
  43. package/lib/services/scoring.service.d.ts +15 -0
  44. package/lib/types/mu-helper-text.type.d.ts +17 -0
  45. package/package.json +1 -1
@@ -21,10 +21,10 @@ export class ConfirmationDialogComponent {
21
21
  onYesClick() {
22
22
  this.dialogRef.close(true);
23
23
  }
24
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfirmationDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
25
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: ConfirmationDialogComponent, isStandalone: true, selector: "mu-confirm-dialog", ngImport: i0, template: "<div class=\"w-full overflow-hidden h-full\">\n<div class='text-xl mt-2 ml-3'>\n <p >{{'CONFIRMATION_DIALOG.CONFIRMATION' | translate}}</p>\n</div>\n <mat-dialog-content>\n <div class=\"iconText\">\n <mat-icon class=\"mt-1 ml-2 mr-3\">error_outline</mat-icon>\n <h1 class=\"title\" [innerHTML]=\"data.title | translate\"></h1>\n </div>\n <div mat-dialog-content>\n <p>{{ data.message | translate }}</p>\n </div>\n </mat-dialog-content>\n <mat-dialog-actions align=\"end\">\n @if (data.showOk) {\n <button mat-button class=\"flex justify-center\" (click)=\"onYesClick()\">{{'CONFIRMATION_DIALOG.OK' | translate}}</button>\n } @else {\n <button mat-button class=\"flex justify-center\" (click)=\"onNoClick()\">{{'CONFIRMATION_DIALOG.NO' | translate}}</button>\n <button mat-button color=\"primary\" (click)=\"onYesClick()\">{{'CONFIRMATION_DIALOG.YES' | translate}}</button>\n }\n </mat-dialog-actions>\n</div>\n", styles: ["::ng-deep .title{font-weight:300!important;font-size:15px!important;line-height:24px!important;margin-top:4px!important;width:100%!important}.iconText{display:flex!important;justify-content:space-between!important}::ng-deep .mat-mdc-dialog-container .mat-mdc-dialog-content{padding:0!important}::ng-deep .mat-dialog-container{display:flex;flex-direction:column;align-items:center;justify-content:center}::ng-deep .cdk-overlay-pane{display:flex!important;justify-content:center!important;align-items:center!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonsModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
24
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ConfirmationDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ConfirmationDialogComponent, isStandalone: true, selector: "mu-confirm-dialog", ngImport: i0, template: "<div class=\"w-full overflow-hidden h-full\">\n<div class='text-xl mt-2 ml-3'>\n <p >{{'CONFIRMATION_DIALOG.CONFIRMATION' | translate}}</p>\n</div>\n <mat-dialog-content>\n <div class=\"iconText\">\n <mat-icon class=\"mt-1 ml-2 mr-3\">error_outline</mat-icon>\n <h1 class=\"title\" [innerHTML]=\"data.title | translate\"></h1>\n </div>\n <div mat-dialog-content>\n <p>{{ data.message | translate }}</p>\n </div>\n </mat-dialog-content>\n <mat-dialog-actions align=\"end\">\n @if (data.showOk) {\n <button mat-button class=\"flex justify-center\" (click)=\"onYesClick()\">{{'CONFIRMATION_DIALOG.OK' | translate}}</button>\n } @else {\n <button mat-button class=\"flex justify-center\" (click)=\"onNoClick()\">{{'CONFIRMATION_DIALOG.NO' | translate}}</button>\n <button mat-button color=\"primary\" (click)=\"onYesClick()\">{{'CONFIRMATION_DIALOG.YES' | translate}}</button>\n }\n </mat-dialog-actions>\n</div>\n", styles: ["::ng-deep .title{font-weight:300!important;font-size:15px!important;line-height:24px!important;margin-top:4px!important;width:100%!important}.iconText{display:flex!important;justify-content:space-between!important}::ng-deep .mat-mdc-dialog-container .mat-mdc-dialog-content{padding:0!important}::ng-deep .mat-dialog-container{display:flex;flex-direction:column;align-items:center;justify-content:center}::ng-deep .cdk-overlay-pane{display:flex!important;justify-content:center!important;align-items:center!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonsModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfirmationDialogComponent, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ConfirmationDialogComponent, decorators: [{
28
28
  type: Component,
29
29
  args: [{ selector: 'mu-confirm-dialog', standalone: true, imports: [CommonsModule, CommonModule, TranslateModule, MatDialogModule, MatButtonModule, MatIconModule], template: "<div class=\"w-full overflow-hidden h-full\">\n<div class='text-xl mt-2 ml-3'>\n <p >{{'CONFIRMATION_DIALOG.CONFIRMATION' | translate}}</p>\n</div>\n <mat-dialog-content>\n <div class=\"iconText\">\n <mat-icon class=\"mt-1 ml-2 mr-3\">error_outline</mat-icon>\n <h1 class=\"title\" [innerHTML]=\"data.title | translate\"></h1>\n </div>\n <div mat-dialog-content>\n <p>{{ data.message | translate }}</p>\n </div>\n </mat-dialog-content>\n <mat-dialog-actions align=\"end\">\n @if (data.showOk) {\n <button mat-button class=\"flex justify-center\" (click)=\"onYesClick()\">{{'CONFIRMATION_DIALOG.OK' | translate}}</button>\n } @else {\n <button mat-button class=\"flex justify-center\" (click)=\"onNoClick()\">{{'CONFIRMATION_DIALOG.NO' | translate}}</button>\n <button mat-button color=\"primary\" (click)=\"onYesClick()\">{{'CONFIRMATION_DIALOG.YES' | translate}}</button>\n }\n </mat-dialog-actions>\n</div>\n", styles: ["::ng-deep .title{font-weight:300!important;font-size:15px!important;line-height:24px!important;margin-top:4px!important;width:100%!important}.iconText{display:flex!important;justify-content:space-between!important}::ng-deep .mat-mdc-dialog-container .mat-mdc-dialog-content{padding:0!important}::ng-deep .mat-dialog-container{display:flex;flex-direction:column;align-items:center;justify-content:center}::ng-deep .cdk-overlay-pane{display:flex!important;justify-content:center!important;align-items:center!important}\n"] }]
30
30
  }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
@@ -11,12 +11,15 @@ import { of } from 'rxjs';
11
11
  import { FormlyMatRadioModule } from '@ngx-formly/material/radio';
12
12
  import * as i0 from "@angular/core";
13
13
  import * as i1 from "@ngx-translate/core";
14
- import * as i2 from "@ngx-formly/core";
14
+ import * as i2 from "../services/scoring.service";
15
+ import * as i3 from "@ngx-formly/core";
15
16
  export class MnlFormLibComponent {
16
- constructor(translateService) {
17
+ constructor(translateService, scoring) {
17
18
  this.translateService = translateService;
19
+ this.scoring = scoring;
18
20
  this.readonly = false;
19
21
  this.noOfTabs = new EventEmitter();
22
+ this.scoreChange = new EventEmitter();
20
23
  this.formPrepared = false;
21
24
  this.totalTabs = 0;
22
25
  this.translateService.setDefaultLang('en');
@@ -38,6 +41,10 @@ export class MnlFormLibComponent {
38
41
  };
39
42
  }
40
43
  }
44
+ onModelChange(model) {
45
+ const result = this.scoring.updateScore(model, this.fields);
46
+ this.scoreChange.emit(result);
47
+ }
41
48
  setAutocompleteSingleOptionByDefault(fields) {
42
49
  fields.forEach((field) => {
43
50
  if (field.type === 'mu-select-autocomplete') {
@@ -134,10 +141,10 @@ export class MnlFormLibComponent {
134
141
  }
135
142
  });
136
143
  }
137
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MnlFormLibComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
138
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: MnlFormLibComponent, isStandalone: true, selector: "mnl-form", inputs: { readonly: "readonly", form: "form", fields: "fields", model: "model", options: "options", userRoles: "userRoles", userCountries: "userCountries", oldValues: "oldValues", showOldValues: "showOldValues" }, outputs: { noOfTabs: "noOfTabs" }, ngImport: i0, template: "@if(formPrepared) {\n<formly-form\n [form]=\"form\"\n [fields]=\"fields\"\n [model]=\"model\"\n [options]=\"options\"\n class=\"mnl-formly-form\"\n></formly-form>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: CommonsModule }, { kind: "ngmodule", type: FormlyModule }, { kind: "component", type: i2.FormlyForm, selector: "formly-form", inputs: ["form", "model", "fields", "options"], outputs: ["modelChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: FormlyMatTextAreaModule }, { kind: "ngmodule", type: FormlyMatInputModule }, { kind: "ngmodule", type: FormlyMatCheckboxModule }, { kind: "ngmodule", type: FormlyMatRadioModule }] }); }
144
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MnlFormLibComponent, deps: [{ token: i1.TranslateService }, { token: i2.ScoringService }], target: i0.ɵɵFactoryTarget.Component }); }
145
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: MnlFormLibComponent, isStandalone: true, selector: "mnl-form", inputs: { readonly: "readonly", form: "form", fields: "fields", model: "model", options: "options", userRoles: "userRoles", userCountries: "userCountries", oldValues: "oldValues", showOldValues: "showOldValues" }, outputs: { noOfTabs: "noOfTabs", scoreChange: "scoreChange" }, ngImport: i0, template: "@if(formPrepared) {\n<formly-form\n [form]=\"form\"\n [fields]=\"fields\"\n [model]=\"model\"\n [options]=\"options\"\n (modelChange)=\"onModelChange($event)\"\n class=\"mnl-formly-form\"\n></formly-form>\n}\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: CommonsModule }, { kind: "ngmodule", type: FormlyModule }, { kind: "component", type: i3.FormlyForm, selector: "formly-form", inputs: ["form", "model", "fields", "options"], outputs: ["modelChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: FormlyMatTextAreaModule }, { kind: "ngmodule", type: FormlyMatInputModule }, { kind: "ngmodule", type: FormlyMatCheckboxModule }, { kind: "ngmodule", type: FormlyMatRadioModule }] }); }
139
146
  }
140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MnlFormLibComponent, decorators: [{
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MnlFormLibComponent, decorators: [{
141
148
  type: Component,
142
149
  args: [{ selector: 'mnl-form', standalone: true, imports: [
143
150
  CommonModule,
@@ -150,8 +157,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
150
157
  FormlyMatInputModule,
151
158
  FormlyMatCheckboxModule,
152
159
  FormlyMatRadioModule,
153
- ], template: "@if(formPrepared) {\n<formly-form\n [form]=\"form\"\n [fields]=\"fields\"\n [model]=\"model\"\n [options]=\"options\"\n class=\"mnl-formly-form\"\n></formly-form>\n}\n" }]
154
- }], ctorParameters: () => [{ type: i1.TranslateService }], propDecorators: { readonly: [{
160
+ ], template: "@if(formPrepared) {\n<formly-form\n [form]=\"form\"\n [fields]=\"fields\"\n [model]=\"model\"\n [options]=\"options\"\n (modelChange)=\"onModelChange($event)\"\n class=\"mnl-formly-form\"\n></formly-form>\n}\n" }]
161
+ }], ctorParameters: () => [{ type: i1.TranslateService }, { type: i2.ScoringService }], propDecorators: { readonly: [{
155
162
  type: Input
156
163
  }], form: [{
157
164
  type: Input
@@ -171,5 +178,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
171
178
  type: Input
172
179
  }], showOldValues: [{
173
180
  type: Input
181
+ }], scoreChange: [{
182
+ type: Output
174
183
  }] } });
175
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWxpYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLWxpYi9zcmMvbGliL2Zvcm1seS1saWIvZm9ybWx5LWxpYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLWxpYi9zcmMvbGliL2Zvcm1seS1saWIvZm9ybWx5LWxpYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQWEsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFFTCxZQUFZLEdBQ2IsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFvQixNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7QUFvQmxFLE1BQU0sT0FBTyxtQkFBbUI7SUFpQzlCLFlBQ1UsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFoQzVDLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFxQmpCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBUTlCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFJWixJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN4QyxJQUFJLENBQUMsb0NBQW9DLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZELElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUN6QixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxvQ0FBb0MsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdkQsSUFBSSxDQUFDLE9BQU8sR0FBRztnQkFDYixTQUFTLEVBQUU7b0JBQ1QsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVM7b0JBQ3pCLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtvQkFDakMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO2lCQUMxQjthQUNGLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVELG9DQUFvQyxDQUFDLE1BQVc7UUFDOUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQzVCLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyx3QkFBd0IsRUFBRSxDQUFDO2dCQUM1QyxLQUFLLENBQUMsS0FBSyxHQUFHO29CQUNaLE1BQU0sRUFBRSxDQUFDLEtBQVUsRUFBRSxFQUFFO3dCQUNyQixNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO3dCQUN0QyxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUM7d0JBRTNDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDOzRCQUMzQixJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQzt3QkFDdkQsQ0FBQzs2QkFBTSxDQUFDOzRCQUNOLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQVksRUFBRSxFQUFFO2dDQUM3QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQzs0QkFDdkQsQ0FBQyxDQUFDLENBQUM7d0JBQ0wsQ0FBQztvQkFDSCxDQUFDO2lCQUNGLENBQUM7WUFDSixDQUFDO1lBQ0QsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxvQ0FBb0MsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDOUQsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGtCQUFrQixDQUFDLFdBQWdCLEVBQUUsS0FBVSxFQUFFLE9BQVk7UUFDM0QsSUFBSSxXQUFXLElBQUksS0FBSyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3RELElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDekIsV0FBVyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekMsQ0FBQztZQUVELEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDLGNBQXFCLEVBQUUsRUFBRTtnQkFDN0QsSUFBSSxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxXQUFXLEVBQUUsQ0FBQztvQkFDL0MsV0FBVyxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2hELENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBQ0QscUJBQXFCLENBQUMsTUFBVztRQUMvQixNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDNUIsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxVQUFVLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQztnQkFDL0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3JDLENBQUM7WUFDRCxJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUMvQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQscUJBQXFCLENBQ25CLE1BQWlDO1FBRWpDLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzFCLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQy9DLENBQUM7aUJBQU0sQ0FBQztnQkFDTixLQUFLLENBQUMsS0FBSyxHQUFHO29CQUNaLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztvQkFDdEIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO2lCQUN4QixDQUFDO1lBQ0osQ0FBQztZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsb0NBQW9DLENBQUMsTUFBaUM7UUFDcEUsT0FBTyxNQUFNO2FBQ1YsR0FBRyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDbEIsSUFBSSxLQUFLLENBQUMsVUFBVSxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUM7Z0JBQ2pELEtBQUssQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLG9DQUFvQyxDQUMxRCxLQUFLLENBQUMsVUFBVSxDQUNqQixDQUFDO1lBQ0osQ0FBQztZQUNELDJDQUEyQztZQUMzQyw4RUFBOEU7WUFDOUUsWUFBWTtZQUNaLGtEQUFrRDtZQUNsRCw0RkFBNEY7WUFDNUYsWUFBWTtZQUVaLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN6QixJQUFJLFVBQVUsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ25DLEtBQUssQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLG9DQUFvQyxDQUMxRCxLQUFLLENBQUMsVUFBVSxDQUNqQixDQUFDO1lBQ0osQ0FBQztZQUNELElBQUksVUFBVSxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsa0NBQWtDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakQsQ0FBQztZQUNELElBQUksQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FBQztnQkFDekMsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQy9CLENBQUM7WUFDRCxPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDLENBQUM7YUFDRCxNQUFNLENBQUMsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsa0NBQWtDLENBQUMsTUFBVztRQUM1QyxNQUFNLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQ3pDLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsa0NBQWtDLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDakQsQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQWxLVSxtQkFBbUI7bUdBQW5CLG1CQUFtQiw2VENsQ2hDLDhLQVNBLHlERFdJLFlBQVksOEJBQ1osYUFBYSw4QkFDYixZQUFZLDZLQUNaLG1CQUFtQiw4QkFDbkIsV0FBVyw4QkFDWCxlQUFlLDhCQUNmLHVCQUF1Qiw4QkFDdkIsb0JBQW9CLDhCQUNwQix1QkFBdUIsOEJBQ3ZCLG9CQUFvQjs7NEZBS1gsbUJBQW1CO2tCQWxCL0IsU0FBUzsrQkFDRSxVQUFVLGNBQ1IsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxlQUFlO3dCQUNmLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQix1QkFBdUI7d0JBQ3ZCLG9CQUFvQjtxQkFDckI7cUZBTUQsUUFBUTtzQkFEUCxLQUFLO2dCQUlOLElBQUk7c0JBREgsS0FBSztnQkFJTixNQUFNO3NCQURMLEtBQUs7Z0JBSU4sS0FBSztzQkFESixLQUFLO2dCQUlOLE9BQU87c0JBRE4sS0FBSztnQkFJTixTQUFTO3NCQURSLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLO2dCQUlOLFFBQVE7c0JBRFAsTUFBTTtnQkFJUCxTQUFTO3NCQURSLEtBQUs7Z0JBSU4sYUFBYTtzQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21tb25zTW9kdWxlIH0gZnJvbSAnQG11cmFhaS9tbmwtY29tbW9ucyc7XG5pbXBvcnQge1xuICBGb3JtbHlGb3JtT3B0aW9ucyxcbiAgRm9ybWx5TW9kdWxlLFxufSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IEZvcm1seU1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQG5neC1mb3JtbHkvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgRm9ybWx5TWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAbmd4LWZvcm1seS9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBGb3JtbHlNYXRUZXh0QXJlYU1vZHVsZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L21hdGVyaWFsL3RleHRhcmVhJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEN1c3RvbUZvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2N1c3RvbS1mb3JtLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IEZvcm1seU1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQG5neC1mb3JtbHkvbWF0ZXJpYWwvcmFkaW8nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtbmwtZm9ybScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ29tbW9uc01vZHVsZSxcbiAgICBGb3JtbHlNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgRm9ybWx5TWF0VGV4dEFyZWFNb2R1bGUsXG4gICAgRm9ybWx5TWF0SW5wdXRNb2R1bGUsXG4gICAgRm9ybWx5TWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgRm9ybWx5TWF0UmFkaW9Nb2R1bGUsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtbHktbGliLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2Zvcm1seS1saWIuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBNbmxGb3JtTGliQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgcmVhZG9ubHkgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBmb3JtITogRm9ybUdyb3VwO1xuXG4gIEBJbnB1dCgpXG4gIGZpZWxkcyE6IEN1c3RvbUZvcm1seUZpZWxkQ29uZmlnW107XG5cbiAgQElucHV0KClcbiAgbW9kZWw6IGFueTtcblxuICBASW5wdXQoKVxuICBvcHRpb25zITogRm9ybWx5Rm9ybU9wdGlvbnM7XG5cbiAgQElucHV0KClcbiAgdXNlclJvbGVzITogc3RyaW5nW107XG5cbiAgQElucHV0KClcbiAgdXNlckNvdW50cmllcyE6IHN0cmluZ1tdO1xuXG4gIEBPdXRwdXQoKVxuICBub09mVGFicyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBASW5wdXQoKVxuICBvbGRWYWx1ZXM6IGFueTtcblxuICBASW5wdXQoKVxuICBzaG93T2xkVmFsdWVzITogYm9vbGVhbjtcblxuICBmb3JtUHJlcGFyZWQgPSBmYWxzZTtcbiAgdG90YWxUYWJzID0gMDtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc2V0RGVmYXVsdExhbmcoJ2VuJyk7XG4gIH1cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmllbGRzKSB7XG4gICAgICB0aGlzLmFwcGx5UmVhZG9ubHlUb0ZpZWxkcyh0aGlzLmZpZWxkcyk7XG4gICAgICB0aGlzLmZpbHRlckZpZWxkR3JvdXBzQnlSb2xlc0FuZENvdW50cmllcyh0aGlzLmZpZWxkcyk7XG4gICAgICB0aGlzLmZvcm0udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgdGhpcy5mb3JtUHJlcGFyZWQgPSB0cnVlO1xuICAgICAgdGhpcy5nZXROdW1iZXJPZkFjdGl2ZVRhYnModGhpcy5maWVsZHMpO1xuICAgICAgdGhpcy5zZXRBdXRvY29tcGxldGVTaW5nbGVPcHRpb25CeURlZmF1bHQodGhpcy5maWVsZHMpO1xuICAgICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgICBmb3JtU3RhdGU6IHtcbiAgICAgICAgICAuLi50aGlzLm9wdGlvbnMuZm9ybVN0YXRlLFxuICAgICAgICAgIHNob3dPbGRWYWx1ZXM6IHRoaXMuc2hvd09sZFZhbHVlcyxcbiAgICAgICAgICBvbGRWYWx1ZXM6IHRoaXMub2xkVmFsdWVzLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICBzZXRBdXRvY29tcGxldGVTaW5nbGVPcHRpb25CeURlZmF1bHQoZmllbGRzOiBhbnkpIHtcbiAgICBmaWVsZHMuZm9yRWFjaCgoZmllbGQ6IGFueSkgPT4ge1xuICAgICAgaWYgKGZpZWxkLnR5cGUgPT09ICdtdS1zZWxlY3QtYXV0b2NvbXBsZXRlJykge1xuICAgICAgICBmaWVsZC5ob29rcyA9IHtcbiAgICAgICAgICBvbkluaXQ6IChmaWVsZDogYW55KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmb3JtQ29udHJvbCA9IGZpZWxkLmZvcm1Db250cm9sO1xuICAgICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IGZpZWxkLnByb3BzPy5vcHRpb25zIHx8IFtdO1xuXG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShvcHRpb25zKSkge1xuICAgICAgICAgICAgICB0aGlzLnNldE9wdGlvbkJ5RGVmYXVsdChmb3JtQ29udHJvbCwgZmllbGQsIG9wdGlvbnMpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgKG9wdGlvbnMgfHwgb2YoW10pKS5zdWJzY3JpYmUoKG9wdGlvbnM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0T3B0aW9uQnlEZWZhdWx0KGZvcm1Db250cm9sLCBmaWVsZCwgb3B0aW9ucyk7XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBpZiAoZmllbGQuZmllbGRHcm91cCkge1xuICAgICAgICB0aGlzLnNldEF1dG9jb21wbGV0ZVNpbmdsZU9wdGlvbkJ5RGVmYXVsdChmaWVsZC5maWVsZEdyb3VwKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHNldE9wdGlvbkJ5RGVmYXVsdChmb3JtQ29udHJvbDogYW55LCBmaWVsZDogYW55LCBvcHRpb25zOiBhbnkpIHtcbiAgICBpZiAoZm9ybUNvbnRyb2wgJiYgZmllbGQucHJvcHMgJiYgZmllbGQucHJvcHMub3B0aW9ucykge1xuICAgICAgaWYgKG9wdGlvbnMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIGZvcm1Db250cm9sLnNldFZhbHVlKG9wdGlvbnNbMF0udmFsdWUpO1xuICAgICAgfVxuXG4gICAgICBmaWVsZC5wcm9wcy5vcHRpb25zQ2hhbmdlPy5zdWJzY3JpYmUoKHVwZGF0ZWRPcHRpb25zOiBhbnlbXSkgPT4ge1xuICAgICAgICBpZiAodXBkYXRlZE9wdGlvbnMubGVuZ3RoID09PSAxICYmIGZvcm1Db250cm9sKSB7XG4gICAgICAgICAgZm9ybUNvbnRyb2wuc2V0VmFsdWUodXBkYXRlZE9wdGlvbnNbMF0udmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgZ2V0TnVtYmVyT2ZBY3RpdmVUYWJzKGZpZWxkczogYW55KSB7XG4gICAgZmllbGRzLmZvckVhY2goKGZpZWxkOiBhbnkpID0+IHtcbiAgICAgIGlmIChmaWVsZC50eXBlID09PSAnbXUtdGFicycpIHtcbiAgICAgICAgdGhpcy50b3RhbFRhYnMgPSBmaWVsZC5maWVsZEdyb3VwPy5sZW5ndGggfHwgMDtcbiAgICAgICAgdGhpcy5ub09mVGFicy5lbWl0KHRoaXMudG90YWxUYWJzKTtcbiAgICAgIH1cbiAgICAgIGlmIChmaWVsZC5maWVsZEdyb3VwKSB7XG4gICAgICAgIHRoaXMuZ2V0TnVtYmVyT2ZBY3RpdmVUYWJzKGZpZWxkLmZpZWxkR3JvdXApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgYXBwbHlSZWFkb25seVRvRmllbGRzKFxuICAgIGZpZWxkczogQ3VzdG9tRm9ybWx5RmllbGRDb25maWdbXVxuICApOiBDdXN0b21Gb3JtbHlGaWVsZENvbmZpZ1tdIHtcbiAgICByZXR1cm4gZmllbGRzLm1hcCgoZmllbGQpID0+IHtcbiAgICAgIGlmIChmaWVsZC5maWVsZEdyb3VwKSB7XG4gICAgICAgIHRoaXMuYXBwbHlSZWFkb25seVRvRmllbGRzKGZpZWxkLmZpZWxkR3JvdXApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZmllbGQucHJvcHMgPSB7XG4gICAgICAgICAgLi4uKGZpZWxkLnByb3BzIHx8IHt9KSxcbiAgICAgICAgICByZWFkb25seTogdGhpcy5yZWFkb25seSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmaWVsZDtcbiAgICB9KTtcbiAgfVxuXG4gIGZpbHRlckZpZWxkR3JvdXBzQnlSb2xlc0FuZENvdW50cmllcyhmaWVsZHM6IEN1c3RvbUZvcm1seUZpZWxkQ29uZmlnW10pIHtcbiAgICByZXR1cm4gZmllbGRzXG4gICAgICAubWFwKChmaWVsZDogYW55KSA9PiB7XG4gICAgICAgIGlmIChmaWVsZC5maWVsZEdyb3VwICYmICFmaWVsZC52aXNzaWJsZUNvdW50cmllcykge1xuICAgICAgICAgIGZpZWxkLmZpZWxkR3JvdXAgPSB0aGlzLmZpbHRlckZpZWxkR3JvdXBzQnlSb2xlc0FuZENvdW50cmllcyhcbiAgICAgICAgICAgIGZpZWxkLmZpZWxkR3JvdXBcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIC8vIGNvbnN0IGhhc1ZhbGlkUm9sZSA9IGZpZWxkLnZpc3NpYmxlUm9sZXNcbiAgICAgICAgLy8gICA/IGZpZWxkLnZpc3NpYmxlUm9sZXMuc29tZSgocm9sZTogYW55KSA9PiB0aGlzLnVzZXJSb2xlcz8uaW5jbHVkZXMocm9sZSkpXG4gICAgICAgIC8vICAgOiB0cnVlO1xuICAgICAgICAvLyBjb25zdCBoYXNWYWxpZENvdW50cnkgPSBmaWVsZC52aXNzaWJsZUNvdW50cmllc1xuICAgICAgICAvLyAgID8gZmllbGQudmlzc2libGVDb3VudHJpZXMuc29tZSgoY291bnRyeTogYW55KSA9PiB0aGlzLnVzZXJDb3VudHJpZXM/LmluY2x1ZGVzKGNvdW50cnkpKVxuICAgICAgICAvLyAgIDogdHJ1ZTtcblxuICAgICAgICBjb25zdCB2YWxpZEdyb3VwID0gZmllbGQ7XG4gICAgICAgIGlmICh2YWxpZEdyb3VwICYmIGZpZWxkLmZpZWxkR3JvdXApIHtcbiAgICAgICAgICBmaWVsZC5maWVsZEdyb3VwID0gdGhpcy5maWx0ZXJGaWVsZEdyb3Vwc0J5Um9sZXNBbmRDb3VudHJpZXMoXG4gICAgICAgICAgICBmaWVsZC5maWVsZEdyb3VwXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsaWRHcm91cCA9PSBudWxsKSB7XG4gICAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGF0aW9uc0ZvckZpbHRlcmVkRmllbGRzKGZpZWxkKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXZhbGlkR3JvdXAgJiYgZmllbGQucHJvcHM/LnJlcXVpcmVkKSB7XG4gICAgICAgICAgZmllbGQucHJvcHMucmVxdWlyZWQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsaWRHcm91cDtcbiAgICAgIH0pXG4gICAgICAuZmlsdGVyKChmaWVsZDogYW55KSA9PiBmaWVsZCAhPT0gbnVsbCk7XG4gIH1cblxuICByZW1vdmVWYWxpZGF0aW9uc0ZvckZpbHRlcmVkRmllbGRzKGZpZWxkczogYW55KSB7XG4gICAgZmllbGRzPy5maWVsZEdyb3VwPy5mb3JFYWNoKChmaWVsZDogYW55KSA9PiB7XG4gICAgICBpZiAoZmllbGQuZmllbGRHcm91cCkge1xuICAgICAgICB0aGlzLnJlbW92ZVZhbGlkYXRpb25zRm9yRmlsdGVyZWRGaWVsZHMoZmllbGQpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuZm9ybS5nZXQoZmllbGQua2V5KSkge1xuICAgICAgICB0aGlzLmZvcm0ucmVtb3ZlQ29udHJvbChmaWVsZC5rZXkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iLCJAaWYoZm9ybVByZXBhcmVkKSB7XG48Zm9ybWx5LWZvcm1cbiAgW2Zvcm1dPVwiZm9ybVwiXG4gIFtmaWVsZHNdPVwiZmllbGRzXCJcbiAgW21vZGVsXT1cIm1vZGVsXCJcbiAgW29wdGlvbnNdPVwib3B0aW9uc1wiXG4gIGNsYXNzPVwibW5sLWZvcm1seS1mb3JtXCJcbj48L2Zvcm1seS1mb3JtPlxufVxuIl19
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LWxpYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLWxpYi9zcmMvbGliL2Zvcm1seS1saWIvZm9ybWx5LWxpYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9mb3JtLWxpYi9zcmMvbGliL2Zvcm1seS1saWIvZm9ybWx5LWxpYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQWEsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFFTCxZQUFZLEdBQ2IsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFvQixNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7O0FBcUJsRSxNQUFNLE9BQU8sbUJBQW1CO0lBb0M5QixZQUNVLGdCQUFrQyxFQUNsQyxPQUF1QjtRQUR2QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FB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QUFhO3NCQURaLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxNQUFNO2dCQUlQLFNBQVM7c0JBRFIsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sV0FBVztzQkFEVixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21tb25zTW9kdWxlIH0gZnJvbSAnQG11cmFhaS9tbmwtY29tbW9ucyc7XG5pbXBvcnQge1xuICBGb3JtbHlGb3JtT3B0aW9ucyxcbiAgRm9ybWx5TW9kdWxlLFxufSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IEZvcm1seU1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQG5neC1mb3JtbHkvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgRm9ybWx5TWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAbmd4LWZvcm1seS9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBGb3JtbHlNYXRUZXh0QXJlYU1vZHVsZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L21hdGVyaWFsL3RleHRhcmVhJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEN1c3RvbUZvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vbW9kZWxzL2N1c3RvbS1mb3JtLWZpZWxkLm1vZGVsJztcbmltcG9ydCB7IEZvcm1seU1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQG5neC1mb3JtbHkvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHsgU2NvcmluZ1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zY29yaW5nLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtbmwtZm9ybScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ29tbW9uc01vZHVsZSxcbiAgICBGb3JtbHlNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgRm9ybWx5TWF0VGV4dEFyZWFNb2R1bGUsXG4gICAgRm9ybWx5TWF0SW5wdXRNb2R1bGUsXG4gICAgRm9ybWx5TWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgRm9ybWx5TWF0UmFkaW9Nb2R1bGUsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtbHktbGliLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2Zvcm1seS1saWIuY29tcG9uZW50LnNjc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBNbmxGb3JtTGliQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgcmVhZG9ubHkgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBmb3JtITogRm9ybUdyb3VwO1xuXG4gIEBJbnB1dCgpXG4gIGZpZWxkcyE6IEN1c3RvbUZvcm1seUZpZWxkQ29uZmlnW107XG5cbiAgQElucHV0KClcbiAgbW9kZWw6IGFueTtcblxuICBASW5wdXQoKVxuICBvcHRpb25zITogRm9ybWx5Rm9ybU9wdGlvbnM7XG5cbiAgQElucHV0KClcbiAgdXNlclJvbGVzITogc3RyaW5nW107XG5cbiAgQElucHV0KClcbiAgdXNlckNvdW50cmllcyE6IHN0cmluZ1tdO1xuXG4gIEBPdXRwdXQoKVxuICBub09mVGFicyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBASW5wdXQoKVxuICBvbGRWYWx1ZXM6IGFueTtcblxuICBASW5wdXQoKVxuICBzaG93T2xkVmFsdWVzITogYm9vbGVhbjtcblxuICBAT3V0cHV0KCkgXG4gIHNjb3JlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgZm9ybVByZXBhcmVkID0gZmFsc2U7XG4gIHRvdGFsVGFicyA9IDA7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHNjb3Jpbmc6IFNjb3JpbmdTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zZXREZWZhdWx0TGFuZygnZW4nKTtcbiAgfVxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5maWVsZHMpIHtcbiAgICAgIHRoaXMuYXBwbHlSZWFkb25seVRvRmllbGRzKHRoaXMuZmllbGRzKTtcbiAgICAgIHRoaXMuZmlsdGVyRmllbGRHcm91cHNCeVJvbGVzQW5kQ291bnRyaWVzKHRoaXMuZmllbGRzKTtcbiAgICAgIHRoaXMuZm9ybS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XG4gICAgICB0aGlzLmZvcm1QcmVwYXJlZCA9IHRydWU7XG4gICAgICB0aGlzLmdldE51bWJlck9mQWN0aXZlVGFicyh0aGlzLmZpZWxkcyk7XG4gICAgICB0aGlzLnNldEF1dG9jb21wbGV0ZVNpbmdsZU9wdGlvbkJ5RGVmYXVsdCh0aGlzLmZpZWxkcyk7XG4gICAgICB0aGlzLm9wdGlvbnMgPSB7XG4gICAgICAgIGZvcm1TdGF0ZToge1xuICAgICAgICAgIC4uLnRoaXMub3B0aW9ucy5mb3JtU3RhdGUsXG4gICAgICAgICAgc2hvd09sZFZhbHVlczogdGhpcy5zaG93T2xkVmFsdWVzLFxuICAgICAgICAgIG9sZFZhbHVlczogdGhpcy5vbGRWYWx1ZXMsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIG9uTW9kZWxDaGFuZ2UobW9kZWw6IGFueSkge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuc2NvcmluZy51cGRhdGVTY29yZShtb2RlbCwgdGhpcy5maWVsZHMpO1xuICAgIHRoaXMuc2NvcmVDaGFuZ2UuZW1pdChyZXN1bHQpO1xuICB9XG5cbiAgc2V0QXV0b2NvbXBsZXRlU2luZ2xlT3B0aW9uQnlEZWZhdWx0KGZpZWxkczogYW55KSB7XG4gICAgZmllbGRzLmZvckVhY2goKGZpZWxkOiBhbnkpID0+IHtcbiAgICAgIGlmIChmaWVsZC50eXBlID09PSAnbXUtc2VsZWN0LWF1dG9jb21wbGV0ZScpIHtcbiAgICAgICAgZmllbGQuaG9va3MgPSB7XG4gICAgICAgICAgb25Jbml0OiAoZmllbGQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZm9ybUNvbnRyb2wgPSBmaWVsZC5mb3JtQ29udHJvbDtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSBmaWVsZC5wcm9wcz8ub3B0aW9ucyB8fCBbXTtcblxuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkob3B0aW9ucykpIHtcbiAgICAgICAgICAgICAgdGhpcy5zZXRPcHRpb25CeURlZmF1bHQoZm9ybUNvbnRyb2wsIGZpZWxkLCBvcHRpb25zKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIChvcHRpb25zIHx8IG9mKFtdKSkuc3Vic2NyaWJlKChvcHRpb25zOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldE9wdGlvbkJ5RGVmYXVsdChmb3JtQ29udHJvbCwgZmllbGQsIG9wdGlvbnMpO1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgaWYgKGZpZWxkLmZpZWxkR3JvdXApIHtcbiAgICAgICAgdGhpcy5zZXRBdXRvY29tcGxldGVTaW5nbGVPcHRpb25CeURlZmF1bHQoZmllbGQuZmllbGRHcm91cCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBzZXRPcHRpb25CeURlZmF1bHQoZm9ybUNvbnRyb2w6IGFueSwgZmllbGQ6IGFueSwgb3B0aW9uczogYW55KSB7XG4gICAgaWYgKGZvcm1Db250cm9sICYmIGZpZWxkLnByb3BzICYmIGZpZWxkLnByb3BzLm9wdGlvbnMpIHtcbiAgICAgIGlmIChvcHRpb25zLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICBmb3JtQ29udHJvbC5zZXRWYWx1ZShvcHRpb25zWzBdLnZhbHVlKTtcbiAgICAgIH1cblxuICAgICAgZmllbGQucHJvcHMub3B0aW9uc0NoYW5nZT8uc3Vic2NyaWJlKCh1cGRhdGVkT3B0aW9uczogYW55W10pID0+IHtcbiAgICAgICAgaWYgKHVwZGF0ZWRPcHRpb25zLmxlbmd0aCA9PT0gMSAmJiBmb3JtQ29udHJvbCkge1xuICAgICAgICAgIGZvcm1Db250cm9sLnNldFZhbHVlKHVwZGF0ZWRPcHRpb25zWzBdLnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIGdldE51bWJlck9mQWN0aXZlVGFicyhmaWVsZHM6IGFueSkge1xuICAgIGZpZWxkcy5mb3JFYWNoKChmaWVsZDogYW55KSA9PiB7XG4gICAgICBpZiAoZmllbGQudHlwZSA9PT0gJ211LXRhYnMnKSB7XG4gICAgICAgIHRoaXMudG90YWxUYWJzID0gZmllbGQuZmllbGRHcm91cD8ubGVuZ3RoIHx8IDA7XG4gICAgICAgIHRoaXMubm9PZlRhYnMuZW1pdCh0aGlzLnRvdGFsVGFicyk7XG4gICAgICB9XG4gICAgICBpZiAoZmllbGQuZmllbGRHcm91cCkge1xuICAgICAgICB0aGlzLmdldE51bWJlck9mQWN0aXZlVGFicyhmaWVsZC5maWVsZEdyb3VwKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGFwcGx5UmVhZG9ubHlUb0ZpZWxkcyhcbiAgICBmaWVsZHM6IEN1c3RvbUZvcm1seUZpZWxkQ29uZmlnW11cbiAgKTogQ3VzdG9tRm9ybWx5RmllbGRDb25maWdbXSB7XG4gICAgcmV0dXJuIGZpZWxkcy5tYXAoKGZpZWxkKSA9PiB7XG4gICAgICBpZiAoZmllbGQuZmllbGRHcm91cCkge1xuICAgICAgICB0aGlzLmFwcGx5UmVhZG9ubHlUb0ZpZWxkcyhmaWVsZC5maWVsZEdyb3VwKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZpZWxkLnByb3BzID0ge1xuICAgICAgICAgIC4uLihmaWVsZC5wcm9wcyB8fCB7fSksXG4gICAgICAgICAgcmVhZG9ubHk6IHRoaXMucmVhZG9ubHksXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICByZXR1cm4gZmllbGQ7XG4gICAgfSk7XG4gIH1cblxuICBmaWx0ZXJGaWVsZEdyb3Vwc0J5Um9sZXNBbmRDb3VudHJpZXMoZmllbGRzOiBDdXN0b21Gb3JtbHlGaWVsZENvbmZpZ1tdKSB7XG4gICAgcmV0dXJuIGZpZWxkc1xuICAgICAgLm1hcCgoZmllbGQ6IGFueSkgPT4ge1xuICAgICAgICBpZiAoZmllbGQuZmllbGRHcm91cCAmJiAhZmllbGQudmlzc2libGVDb3VudHJpZXMpIHtcbiAgICAgICAgICBmaWVsZC5maWVsZEdyb3VwID0gdGhpcy5maWx0ZXJGaWVsZEdyb3Vwc0J5Um9sZXNBbmRDb3VudHJpZXMoXG4gICAgICAgICAgICBmaWVsZC5maWVsZEdyb3VwXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBjb25zdCBoYXNWYWxpZFJvbGUgPSBmaWVsZC52aXNzaWJsZVJvbGVzXG4gICAgICAgIC8vICAgPyBmaWVsZC52aXNzaWJsZVJvbGVzLnNvbWUoKHJvbGU6IGFueSkgPT4gdGhpcy51c2VyUm9sZXM/LmluY2x1ZGVzKHJvbGUpKVxuICAgICAgICAvLyAgIDogdHJ1ZTtcbiAgICAgICAgLy8gY29uc3QgaGFzVmFsaWRDb3VudHJ5ID0gZmllbGQudmlzc2libGVDb3VudHJpZXNcbiAgICAgICAgLy8gICA/IGZpZWxkLnZpc3NpYmxlQ291bnRyaWVzLnNvbWUoKGNvdW50cnk6IGFueSkgPT4gdGhpcy51c2VyQ291bnRyaWVzPy5pbmNsdWRlcyhjb3VudHJ5KSlcbiAgICAgICAgLy8gICA6IHRydWU7XG5cbiAgICAgICAgY29uc3QgdmFsaWRHcm91cCA9IGZpZWxkO1xuICAgICAgICBpZiAodmFsaWRHcm91cCAmJiBmaWVsZC5maWVsZEdyb3VwKSB7XG4gICAgICAgICAgZmllbGQuZmllbGRHcm91cCA9IHRoaXMuZmlsdGVyRmllbGRHcm91cHNCeVJvbGVzQW5kQ291bnRyaWVzKFxuICAgICAgICAgICAgZmllbGQuZmllbGRHcm91cFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbGlkR3JvdXAgPT0gbnVsbCkge1xuICAgICAgICAgIHRoaXMucmVtb3ZlVmFsaWRhdGlvbnNGb3JGaWx0ZXJlZEZpZWxkcyhmaWVsZCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF2YWxpZEdyb3VwICYmIGZpZWxkLnByb3BzPy5yZXF1aXJlZCkge1xuICAgICAgICAgIGZpZWxkLnByb3BzLnJlcXVpcmVkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbGlkR3JvdXA7XG4gICAgICB9KVxuICAgICAgLmZpbHRlcigoZmllbGQ6IGFueSkgPT4gZmllbGQgIT09IG51bGwpO1xuICB9XG5cbiAgcmVtb3ZlVmFsaWRhdGlvbnNGb3JGaWx0ZXJlZEZpZWxkcyhmaWVsZHM6IGFueSkge1xuICAgIGZpZWxkcz8uZmllbGRHcm91cD8uZm9yRWFjaCgoZmllbGQ6IGFueSkgPT4ge1xuICAgICAgaWYgKGZpZWxkLmZpZWxkR3JvdXApIHtcbiAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGF0aW9uc0ZvckZpbHRlcmVkRmllbGRzKGZpZWxkKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmZvcm0uZ2V0KGZpZWxkLmtleSkpIHtcbiAgICAgICAgdGhpcy5mb3JtLnJlbW92ZUNvbnRyb2woZmllbGQua2V5KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIiwiQGlmKGZvcm1QcmVwYXJlZCkge1xuPGZvcm1seS1mb3JtXG4gIFtmb3JtXT1cImZvcm1cIlxuICBbZmllbGRzXT1cImZpZWxkc1wiXG4gIFttb2RlbF09XCJtb2RlbFwiXG4gIFtvcHRpb25zXT1cIm9wdGlvbnNcIlxuICAobW9kZWxDaGFuZ2UpPVwib25Nb2RlbENoYW5nZSgkZXZlbnQpXCJcbiAgY2xhc3M9XCJtbmwtZm9ybWx5LWZvcm1cIlxuPjwvZm9ybWx5LWZvcm0+XG59XG4iXX0=
@@ -44,6 +44,7 @@ import { tinOrSsnValidator } from '../validators/tinSsn-validator';
44
44
  import { einValidator } from '../validators/ein-validators';
45
45
  import { FormlyDescriptionWrapperComponent } from '../wrappers/form-field-description-wrapper.component';
46
46
  import { FormlyFieldTimeComponent } from '../types/date-format.type';
47
+ import { MnlFormHelperTextInputComponent } from '../types/mu-helper-text.type';
47
48
  export const mnlFormProviders = [
48
49
  importProvidersFrom(CommonsModule.forRoot(), CommonModule, ReactiveFormsModule, FormlyModule.forRoot({
49
50
  types: [
@@ -86,6 +87,7 @@ export const mnlFormProviders = [
86
87
  { name: 'mu-upload-file', component: FormlyFileUploadComponent },
87
88
  { name: 'mu-scroll-tabs', component: FormlyFieldScrollableTabsComponent },
88
89
  { name: 'mu-custom-time', component: FormlyFieldTimeComponent },
90
+ { name: 'mu-helper-text', component: MnlFormHelperTextInputComponent },
89
91
  ],
90
92
  wrappers: [
91
93
  { name: 'mu-form-field', component: FormFieldWrapperComponent },
@@ -150,4 +152,4 @@ export const mnlFormProviders = [
150
152
  },
151
153
  provideHttpClient()
152
154
  ];
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LXN0YW5kYWxvbmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1saWIvc3JjL2xpYi9mb3JtbHktbGliL2Zvcm1seS1zdGFuZGFsb25lLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFakUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUs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QUNuQixjQUFjLEVBQ2QsbUJBQW1CLENBQ3BCO0lBQ0Q7UUFDRSxPQUFPLEVBQUUsV0FBVztRQUNwQixRQUFRLEVBQUUsVUFBVTtLQUNyQjtJQUNELGlCQUFpQixFQUFFO0NBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbXBvcnRQcm92aWRlcnNGcm9tIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtbHlNb2R1bGUgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGb3JtbHlNYXRlcmlhbE1vZHVsZSB9IGZyb20gJ0BuZ3gtZm9ybWx5L21hdGVyaWFsJztcbmltcG9ydCB7IEN1c3RvbUlucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vdHlwZXMvY3VzdG9tLWlucHV0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtRmllbGRXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vd3JhcHBlcnMvZm9ybS1maWVsZC13cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBlbWFpbFZhbGlkYXRvciB9IGZyb20gJy4uL3ZhbGlkYXRvcnMvY3VzdG9tLWVtYWlsLXZhbGlkYXRvcic7XG5pbXBvcnQgeyBGb3JtbHlGaWVsZFRhYnNDb21wb25lbnQgfSBmcm9tICcuLi90eXBlcy90YWJzLnR5cGVzJztcbmltcG9ydCB7IEZvcm1seUZpZWxkRXhwYW5zaW9uUGFuZWxDb21wb25lbnQgfSBmcm9tICcuLi90eXBlcy9leHBhbnNpb24tcGFuZWwudHlwZXMnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRHcmlkQ29tcG9uZW50IH0gZnJvbSAnLi4vdHlwZXMvZ3JpZC50eXBlJztcbmltcG9ydCB7IE11bHRpU2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vdHlwZXMvbXVsdGktc2VsZWN0LWF1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBGb3JtbHlGaWVsZFN0ZXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi90eXBlcy9zdGVwcGVyLnR5cGUnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRUYWJsZUNvbXBvbmVudCB9IGZyb20gJy4uL3R5cGVzL3RhYmxlLnR5cGVzJztcbmltcG9ydCB7IEF1dG9jb21wbGV0ZVR5cGVDb21wb25lbnQgfSBmcm9tICcuLi90eXBlcy9hdXRvY29tcGxldGUtdHlwZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybWx5QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi4vdHlwZXMvYnV0dG9uLnR5cGUnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRDb3VudHJ5Q29kZUNvbXBvbmVudCB9IGZyb20gJy4uL3R5cGVzL2NvdW50cnktY29kZS1pbnB1dC50eXBlJztcbmltcG9ydCB7IEZvcm1seVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4uL3R5cGVzL3NlbGVjdC1hdXRvY29tcGxldGUudHlwZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVMb2FkZXIsIFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uc01vZHVsZSwgaHR0cExvYWRlckZhY3RvcnksIE1OTF9UUkFOU0xBVElPTl9SRVNPVVJDRSB9IGZyb20gJ0BtdXJhYWkvbW5sLWNvbW1vbnMnO1xuaW1wb3J0IHsgcGhvbmVWYWxpZGF0aW9uIH0gZnJvbSAnLi4vdmFsaWRhdG9ycy9waG9uZS1udW1iZXItdmFsaWRhdG9yJztcbmltcG9ydCB7IFRhYnVsYXJGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vdHlwZXMvdGFidWxhci1mb3JtLnR5cGUnO1xuaW1wb3J0IHsgSHR0cEJhY2tlbmQsIHByb3ZpZGVIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRm9ybWx5TXVsdGlTZWxlY3RDaGVja2JveEF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4uL3R5cGVzL211bHRpLXNlbGVjdC1jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHtGb3JtbHlNYXREYXRlcGlja2VyTW9kdWxlfSBmcm9tICdAbmd4LWZvcm1seS9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNYXROYXRpdmVEYXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IHNlbGVjdFZhbGlkYXRvciB9IGZyb20gJy4uL3ZhbGlkYXRvcnMvc2VsZWN0LXZhbGlkYXRvcic7XG5pbXBvcnQgeyBTZWxlY3RBcGlBdXRvQ29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuLi90eXBlcy9zZWxlY3QtYXBpLWF1dG8tY29tcGxldGUuY29tcG9uZW50JztcbmltcG9ydCB7IGdzdFZhbGlkYXRvciB9IGZyb20gJy4uL3ZhbGlkYXRvcnMvZ3N0LXZhbGlkYXRvcic7XG5pbXBvcnQgeyBwYW5WYWxpZGF0b3IgfSBmcm9tICcuLi92YWxpZGF0b3JzL3Bhbi12YWxpZGF0b3InO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRQYW5lbENvbXBvbmVudCB9IGZyb20gJy4uL3R5cGVzL2Zvcm1seS1maWVsZC1wYW5lbC50eXBlJztcbmltcG9ydCB7IFNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4uL3R5cGVzL3NlbGVjdC1hdXRvY29tcGxldGUtcmVkZWZpbmVkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtbHlXcmFwcGVyQWRkb25zQ29tcG9uZW50IH0gZnJvbSAnLi4vd3JhcHBlcnMvcHJlZml4LXN1ZmZpeC13cmFwcGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBhZGRvbnNFeHRlbnNpb24gfSBmcm9tICcuLi93cmFwcGVycy9wcmVmaXgtc3VmaXgtZXh0ZW5zaW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBXaXRoT2xkVmFsdWVXcmFwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vd3JhcHBlcnMvZm9ybWx5LXdyYXBwZXItd2l0aC1vbGQtdmFsdWUuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtbHlDb21tZW50SW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi90eXBlcy9jb21tZW50cy50eXBlJztcbmltcG9ydCB7IEN1c3RvbUZvcm1seVJhZGlvQ29tcG9uZW50IH0gZnJvbSAnLi4vdHlwZXMvcmFkaW8udHlwZSc7XG5pbXBvcnQgeyBDdXN0b21Gb3JtbHlNYXRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uL3R5cGVzL2lucHV0LnR5cGUnO1xuaW1wb3J0IHsgQWN0aW9uYWJsZUZvcm1seUZpZWxkR3JpZENvbXBvbmVudCB9IGZyb20gJy4uL3R5cGVzL2dyaWQtYWN0aW9uYWJsZS50eXBlJztcbmltcG9ydCB7IEZvcm1seUZpbGVVcGxvYWRDb21wb25lbnQgfSBmcm9tICcuLi90eXBlcy91cGxvYWQtZmlsZSc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBDdXN0b21EYXRlIH0gZnJvbSAnLi4vdHlwZXMvY3VzdG9tLWRhdGUudHlwZSc7XG5pbXBvcnQgeyBub3JtYWxFbWFpbFZhbGlkYXRvciB9IGZyb20gJy4uL3ZhbGlkYXRvcnMvbm9ybWFsLWVtYWlsLXZhbGlkYXRvcic7XG5pbXBvcnQgeyBGb3JtbHlGaWVsZFNjcm9sbGFibGVUYWJzQ29tcG9uZW50IH0gZnJvbSAnLi4vdHlwZXMvc2Nyb2xsYWJsZS10YWJzLnR5cGVzJztcbmltcG9ydCB7IG5waVZhbGlkYXRvciB9IGZyb20gJy4uL3ZhbGlkYXRvcnMvbnBpLXZhbGlkYXRvcic7XG5pbXBvcnQgeyB0aW5PclNzblZhbGlkYXRvciB9IGZyb20gJy4uL3ZhbGlkYXRvcnMvdGluU3NuLXZhbGlkYXRvcic7XG5pbXBvcnQgeyBlaW5WYWxpZGF0b3IgfSBmcm9tICcuLi92YWxpZGF0b3JzL2Vpbi12YWxpZGF0b3JzJztcbmltcG9ydCB7IEZvcm1seURlc2NyaXB0aW9uV3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4uL3dyYXBwZXJzL2Zvcm0tZmllbGQtZGVzY3JpcHRpb24td3JhcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi4vdHlwZXMvZGF0ZS1mb3JtYXQudHlwZSc7XG5cbmV4cG9ydCBjb25zdCBtbmxGb3JtUHJvdmlkZXJzID0gW1xuICBpbXBvcnRQcm92aWRlcnNGcm9tKFxuICAgIENvbW1vbnNNb2R1bGUuZm9yUm9vdCgpLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIEZvcm1seU1vZHVsZS5mb3JSb290KHtcbiAgICAgICAgdHlwZXM6IFtcbiAgICAgICAgICB7IG5hbWU6ICdjdXN0b20taW5wdXQnLCBjb21wb25lbnQ6IEN1c3RvbUlucHV0Q29tcG9uZW50IH0sXG4gICAgICAgICAge25hbWU6ICdtdS1wYW5lbCcsIGNvbXBvbmVudDogRm9ybWx5RmllbGRQYW5lbENvbXBvbmVudH0sXG4gICAgICAgICAgeyBuYW1lOiAnbXUtdGFicycsIGNvbXBvbmVudDogRm9ybWx5RmllbGRUYWJzQ29tcG9uZW50IH0sXG4gICAgICAgICAgeyBuYW1lOiAnbXUtZXhwLXBhbmVsJywgY29tcG9uZW50OiBGb3JtbHlGaWVsZEV4cGFuc2lvblBhbmVsQ29tcG9uZW50IH0sXG4gICAgICAgICAgeyBuYW1lOiAnbXUtdGFibGUnLCBjb21wb25lbnQ6IEZvcm1seUZpZWxkVGFibGVDb21wb25lbnQgfSxcbiAgICAgICAgICAvLyB7IG5hbWU6ICdtdS1hdXRvY29tcGxldGUnLCBjb21wb25lbnQ6IEF1dG9jb21wbGV0ZVR5cGVDb21wb25lbnQsIHdyYXBwZXJzOiBbJ2Zvcm0tZmllbGQnXSB9LFxuICAgICAgICAgIC8vIHsgbmFtZTogJ211LW11bHRpLXNlbGVjdC1hdXRvY29tcGxldGUnLCBjb21wb25lbnQ6IE11bHRpU2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50LCB3cmFwcGVyczogWydmb3JtLWZpZWxkJ10gfSxcbiAgICAgICAgICB7IG5hbWU6ICdtdS1zdGVwcGVyJywgY29tcG9uZW50OiBGb3JtbHlGaWVsZFN0ZXBwZXJDb21wb25lbnQsIHdyYXBwZXJzOiBbXSB9LFxuICAgICAgICAgIHsgbmFtZTogJ211LWdyaWQnLCBjb21wb25lbnQ6IEZvcm1seUZpZWxkR3JpZENvbXBvbmVudCxcbiAgICAgICAgICAgIGRlZmF1bHRPcHRpb25zOiB7XG4gICAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7IG5hbWU6ICdtdS1idXR0b24nLCBjb21wb25lbnQ6IEZvcm1seUJ1dHRvbkNvbXBvbmVudCB9LFxuICAgICAgICAgIHsgbmFtZTogJ211LWNvdW50cnktY29kZS1waG9uZScsIGNvbXBvbmVudDogRm9ybWx5RmllbGRDb3VudHJ5Q29kZUNvbXBvbmVudCB9LFxuICAgICAgICAgIHsgbmFtZTogJ211LXNlbGVjdC1hdXRvY29tcGxldGUnLCBjb21wb25lbnQ6IEZvcm1seVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudH0sXG4gICAgICAgICAgeyBuYW1lOiAnbXUtdGFidWxhci1mb3JtJywgY29tcG9uZW50OiBUYWJ1bGFyRm9ybUNvbXBvbmVudCB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdtdS1tdWx0aS1jaGVja2JveC1hdXRvY29tcGxldGUnLFxuICAgICAgICAgICAgY29tcG9uZW50OiBGb3JtbHlNdWx0aVNlbGVjdENoZWNrYm94QXV0b2NvbXBsZXRlQ29tcG9uZW50LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgLy8geyBuYW1lOiAnbXUtc2VsZWN0LWFwaS1hdXRvY29tcGxldGUnLCBjb21wb25lbnQ6IFNlbGVjdEFwaUF1dG9Db21wbGV0ZUNvbXBvbmVudCB9LFxuICAgICAgICAgIC8vIHsgbmFtZTogJ211LXNlbGVjdC1hdXRvLWNvbXBsZXRlJywgY29tcG9uZW50OiBTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnR9LFxuICAgICAgICAgIHsgbmFtZTogJ211LWNvbW1lbnRzJywgY29tcG9uZW50OiBGb3JtbHlDb21tZW50SW5wdXRDb21wb25lbnQgfSxcbiAgICAgICAgICB7IG5hbWU6ICdtdS1yYWRpbycsIGNvbXBvbmVudDogQ3VzdG9tRm9ybWx5UmFkaW9Db21wb25lbnR9LFxuICAgICAgICAgIHsgbmFtZTogJ211LWlucHV0JywgY29tcG9uZW50OiBDdXN0b21Gb3JtbHlNYXRJbnB1dENvbXBvbmVudH0sXG4gICAgICAgICAgeyBuYW1lOiAnbXUtYWN0aW9uYWJsZS1ncmlkJywgY29tcG9uZW50OiBBY3Rpb25hYmxlRm9ybWx5RmllbGRHcmlkQ29tcG9uZW50LFxuICAgICAgICAgICAgZGVmYXVsdE9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgcHJvcHM6IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgeyBuYW1lOiAnbXUtdXBsb2FkLWZpbGUnLCBjb21wb25lbnQ6IEZvcm1seUZpbGVVcGxvYWRDb21wb25lbnQgfSxcbiAgICAgICAgICB7IG5hbWU6ICdtdS1zY3JvbGwtdGFicycsIGNvbXBvbmVudDogRm9ybWx5RmllbGRTY3JvbGxhYmxlVGFic0NvbXBvbmVudCB9LFxuICAgICAgICAgIHsgbmFtZTogJ211LWN1c3RvbS10aW1lJywgY29tcG9uZW50OiBGb3JtbHlGaWVsZFRpbWVDb21wb25lbnQgfSxcbiAgICAgICAgXSxcbiAgICAgICAgd3JhcHBlcnM6IFtcbiAgICAgICAgICB7IG5hbWU6ICdtdS1mb3JtLWZpZWxkJywgY29tcG9uZW50OiBGb3JtRmllbGRXcmFwcGVyQ29tcG9uZW50IH0sXG4gICAgICAgICAgeyBuYW1lOiAnbXUtd2l0aC1vbGQtdmFsdWUnLCBjb21wb25lbnQ6IFdpdGhPbGRWYWx1ZVdyYXBwZXJDb21wb25lbnQgfSxcbiAgICAgICAgICB7IG5hbWU6ICdhZGRvbnMnLCBjb21wb25lbnQ6IEZvcm1seVdyYXBwZXJBZGRvbnNDb21wb25lbnQgfSxcbiAgICAgICAgICB7IG5hbWU6ICdkZXNjcmlwdGlvbicsIGNvbXBvbmVudDogRm9ybWx5RGVzY3JpcHRpb25XcmFwcGVyQ29tcG9uZW50IH1cbiAgICAgICAgXSxcbiAgICAgICAgZXh0ZW5zaW9uczogW3sgbmFtZTogJ2FkZG9ucycsIGV4dGVuc2lvbjogeyBvblBvcHVsYXRlOiBhZGRvbnNFeHRlbnNpb24gfSB9XSxcbiAgICAgICAgdmFsaWRhdG9yczogW1xuICAgICAgICAgIHsgbmFtZTogJ2VtYWlsJywgdmFsaWRhdGlvbjogZW1haWxWYWxpZGF0b3IgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnbWF4bGVuZ3RoJyxcbiAgICAgICAgICAgIHZhbGlkYXRpb246IFZhbGlkYXRvcnMubWF4TGVuZ3RoKDMwKSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtuYW1lOiAnZ3N0JywgdmFsaWRhdGlvbjogZ3N0VmFsaWRhdG9yfSxcbiAgICAgICAgICB7bmFtZTogJ3BhbicsIHZhbGlkYXRpb246IHBhblZhbGlkYXRvcn0sXG4gICAgICAgICAgeyBuYW1lOiAnZHVuc051bWJlcicsIHZhbGlkYXRpb246IFZhbGlkYXRvcnMucGF0dGVybigvXlxcZHs5fSQvKSB9LFxuICAgICAgICAgIHsgbmFtZTogJ2FhZGhhck51bWJlcicsIHZhbGlkYXRpb246IFZhbGlkYXRvcnMucGF0dGVybigvXlxcZHsxMn0kLykgfSxcbiAgICAgICAgICB7IG5hbWU6ICd0ZWxleE51bScsIHZhbGlkYXRpb246IFZhbGlkYXRvcnMucGF0dGVybigvXlswLTldezEsMzB9JC8pIH0sXG4gICAgICAgICAge25hbWU6ICdhY2NvdW50TnVtJywgdmFsaWRhdGlvbjogVmFsaWRhdG9ycy5wYXR0ZXJuKC9eW2EtekEtWjAtOV17MSwxOX0kLyl9LFxuICAgICAgICAgIHtuYW1lOiAncG9zdGFsQ29kZVBhdHRlcm4nLCB2YWxpZGF0aW9uOiAgVmFsaWRhdG9ycy5wYXR0ZXJuKC9eXFxkezEsMTB9JC8pfSxcbiAgICAgICAgICB7bmFtZTogJ2ZheFBhdHRlcm4nLCB2YWxpZGF0aW9uOiAgVmFsaWRhdG9ycy5wYXR0ZXJuKC9eXFxkezEsMzB9JC8pfSxcbiAgICAgICAgICB7bmFtZTogJ2lmc2NDb2RlJywgdmFsaWRhdGlvbjogVmFsaWRhdG9ycy5wYXR0ZXJuKC9eW2EtekEtWjAtOV17MSwxMX0kLyl9LFxuICAgICAgICAgIHtuYW1lOiAncGF0dGVybicsIHZhbGlkYXRpb246IFZhbGlkYXRvcnMucGF0dGVybigvXlthLXpBLVowLTlcXHNcXC06XFwvJi4sKCldKiQvKX0sXG4gICAgICAgICAge25hbWU6ICdwaG9uZVZhbGlkYXRpb24nLCB2YWxpZGF0aW9uOiBwaG9uZVZhbGlkYXRpb24gfSxcbiAgICAgICAgICB7bmFtZTogJ3NlbGVjdE5vdEF2YWlsVGluTm9QZScsIHZhbGlkYXRpb246IHNlbGVjdFZhbGlkYXRvciB9LFxuICAgICAgICAgIHtuYW1lOiAnb25seVRlbkRpZ2l0cycsIHZhbGlkYXRpb246IFZhbGlkYXRvcnMucGF0dGVybigvXlxcZHsxMH0kLyl9LFxuICAgICAgICAgIHtuYW1lOiAndWR5YW1QYXR0ZXJuJywgdmFsaWRhdGlvbjogVmFsaWRhdG9ycy5wYXR0ZXJuKC9eVURZQU0tW0EtWl17Mn0tXFxkezJ9LVxcZHs3fSQvKX0sXG4gICAgICAgICAge25hbWU6ICd1bml0c1BhdHRlcm4nLCB2YWxpZGF0aW9uOiBWYWxpZGF0b3JzLnBhdHRlcm4oL15bQS1aYS16XFxzXXsxLDIwfSQvKX0sXG4gICAgICAgICAge25hbWU6ICdub3JtYWxFbWFpbCcsIHZhbGlkYXRpb246IG5vcm1hbEVtYWlsVmFsaWRhdG9yfSxcbiAgICAgICAgICB7bmFtZTogJ3ZhbGlkYXRlVHdvRGVjaW1hbHMnLCB2YWxpZGF0aW9uOiBWYWxpZGF0b3JzLnBhdHRlcm4oL15cXGQqKFxcLlxcZHsxLDJ9KT8kLyl9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdwZXJjZW50YWdlVmFsaWRhdGlvbicsXG4gICAgICAgICAgICB2YWxpZGF0aW9uOiBWYWxpZGF0b3JzLnBhdHRlcm4oL14oMTAwKFxcLjB7MSwyfSk/fChcXGR7MSwyfShcXC5cXGR7MSwyfSk/KSkkLyksXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAndXJsVmFsaWRpdHknLFxuICAgICAgICAgICAgdmFsaWRhdGlvbjogVmFsaWRhdG9ycy5wYXR0ZXJuKC9eKGh0dHBzPzpcXC9cXC8pPyhbYS16QS1aMC05LV0rXFwuKSsoY29tfG9yZ3xuZXR8Z292fGVkdXxpb3xjb3x1a3xpbnxhdXxkZXxmcnxjYXxqcHxjbnxydXxicnx1c3xpbmZvfGJpenxtZXx0ZWNofHh5enxvbmxpbmV8c3RvcmV8YmxvZykoOlxcZCspPyhcXC9bXlxcc10qKT8kLylcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtuYW1lOiAnbnBpJywgdmFsaWRhdGlvbjogbnBpVmFsaWRhdG9yfSxcbiAgICAgICAgICB7bmFtZTogJ3Rpbk9yU3NuJywgdmFsaWRhdGlvbjogdGluT3JTc25WYWxpZGF0b3J9LFxuICAgICAgICAgIHtuYW1lOiAnZWluJywgdmFsaWRhdGlvbjogZWluVmFsaWRhdG9yfSxcbiAgICAgICAgICB7bmFtZTogJ3NpY1ZhbGlkYXRvcicsIHZhbGlkYXRpb246IFZhbGlkYXRvcnMucGF0dGVybigvXig/ITAwMDApXFxkezR9JC8pfSxcbiAgICAgICAgICB7bmFtZTogJ3Rpbk51bWJlcicsIHZhbGlkYXRpb246IFZhbGlkYXRvcnMucGF0dGVybigvXlthLXpBLVowLTlcXHMtXXs1LDIwfSQvKX0sXG4gICAgICAgICAge25hbWU6ICdnc3RIc3ROdW1iZXInLCB2YWxpZGF0aW9uOiBWYWxpZGF0b3JzLnBhdHRlcm4oL15bYS16QS1aMC05XXsxNX0kLyl9LFxuICAgICAgICAgIHtuYW1lOiAncXN0TnVtYmVyJywgdmFsaWRhdGlvbjogVmFsaWRhdG9ycy5wYXR0ZXJuKC9eW2EtekEtWjAtOV17OX0kLyl9XG4gICAgICAgIF0sXG4gICAgICAgIHZhbGlkYXRpb25NZXNzYWdlczogW1xuICAgICAgICAgIHtuYW1lOiAncGhvbmVWYWxpZGF0aW9uJywgbWVzc2FnZTogJ0ludmFsaWQgbW9iaWxlIG51bWJlciBmb3IgdGhlIHNlbGVjdGVkIGNvdW50cnkuJyB9LFxuICAgICAgICAgIHtuYW1lOiAnc2VsZWN0Tm90QXZhaWxUaW5Ob1BlJywgbWVzc2FnZTogJ1NlbGVjdCB0aGUgZmllbGRzIG5vdCBhdmFpbGFibGUgaW4gVElOIC8gTm8gUEUgY2VydGlmaWNhdGUgaXMgcmVxdWlyZWQnIH0sXG4gICAgICAgIF1cbiAgICAgIH0pLFxuICAgIEZvcm1seU1hdGVyaWFsTW9kdWxlLFxuICAgIFRyYW5zbGF0ZU1vZHVsZS5mb3JSb290KHtcbiAgICAgICAgICBsb2FkZXI6IHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFRyYW5zbGF0ZUxvYWRlcixcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IGh0dHBMb2FkZXJGYWN0b3J5LFxuICAgICAgICAgICAgZGVwczogW0h0dHBCYWNrZW5kLCBNTkxfVFJBTlNMQVRJT05fUkVTT1VSQ0VdLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pLFxuICAgIEZvcm1seU1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgTWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXREYXRlcGlja2VyTW9kdWxlXG4gICksXG4gIHtcbiAgICBwcm92aWRlOiBEYXRlQWRhcHRlcixcbiAgICB1c2VDbGFzczogQ3VzdG9tRGF0ZSxcbiAgfSxcbiAgcHJvdmlkZUh0dHBDbGllbnQoKVxuXTsiXX0=
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LXN0YW5kYWxvbmUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1saWIvc3JjL2xpYi9mb3JtbHktbGliL2Zvcm1seS1zdGFuZGFsb25lLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUQsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFakUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUs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QVUsRUFBRSxpQkFBaUI7WUFDN0IsSUFBSSxFQUFFLENBQUMsV0FBVyxFQUFFLHdCQUF3QixDQUFDO1NBQzlDO0tBQ0YsQ0FBQyxFQUNOLHlCQUF5QixFQUN6QixtQkFBbUIsRUFDbkIsY0FBYyxFQUNkLG1CQUFtQixDQUNwQjtJQUNEO1FBQ0UsT0FBTyxFQUFFLFdBQVc7UUFDcEIsUUFBUSxFQUFFLFVBQVU7S0FDckI7SUFDRCxpQkFBaUIsRUFBRTtDQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW1wb3J0UHJvdmlkZXJzRnJvbSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybWx5TW9kdWxlIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRm9ybWx5TWF0ZXJpYWxNb2R1bGUgfSBmcm9tICdAbmd4LWZvcm1seS9tYXRlcmlhbCc7XG5pbXBvcnQgeyBDdXN0b21JbnB1dENvbXBvbmVudCB9IGZyb20gJy4uL3R5cGVzL2N1c3RvbS1pbnB1dC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUZpZWxkV3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4uL3dyYXBwZXJzL2Zvcm0tZmllbGQtd3JhcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgZW1haWxWYWxpZGF0b3IgfSBmcm9tICcuLi92YWxpZGF0b3JzL2N1c3RvbS1lbWFpbC12YWxpZGF0b3InO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRUYWJzQ29tcG9uZW50IH0gZnJvbSAnLi4vdHlwZXMvdGFicy50eXBlcyc7XG5pbXBvcnQgeyBGb3JtbHlGaWVsZEV4cGFuc2lvblBhbmVsQ29tcG9uZW50IH0gZnJvbSAnLi4vdHlwZXMvZXhwYW5zaW9uLXBhbmVsLnR5cGVzJztcbmltcG9ydCB7IEZvcm1seUZpZWxkR3JpZENvbXBvbmVudCB9IGZyb20gJy4uL3R5cGVzL2dyaWQudHlwZSc7XG5pbXBvcnQgeyBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4uL3R5cGVzL211bHRpLXNlbGVjdC1hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRTdGVwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vdHlwZXMvc3RlcHBlci50eXBlJztcbmltcG9ydCB7IEZvcm1seUZpZWxkVGFibGVDb21wb25lbnQgfSBmcm9tICcuLi90eXBlcy90YWJsZS50eXBlcyc7XG5pbXBvcnQgeyBBdXRvY29tcGxldGVUeXBlQ29tcG9uZW50IH0gZnJvbSAnLi4vdHlwZXMvYXV0b2NvbXBsZXRlLXR5cGUuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1seUJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL3R5cGVzL2J1dHRvbi50eXBlJztcbmltcG9ydCB7IEZvcm1seUZpZWxkQ291bnRyeUNvZGVDb21wb25lbnQgfSBmcm9tICcuLi90eXBlcy9jb3VudHJ5LWNvZGUtaW5wdXQudHlwZSc7XG5pbXBvcnQgeyBGb3JtbHlTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuLi90eXBlcy9zZWxlY3QtYXV0b2NvbXBsZXRlLnR5cGUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTG9hZGVyLCBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IENvbW1vbnNNb2R1bGUsIGh0dHBMb2FkZXJGYWN0b3J5LCBNTkxfVFJBTlNMQVRJT05fUkVTT1VSQ0UgfSBmcm9tICdAbXVyYWFpL21ubC1jb21tb25zJztcbmltcG9ydCB7IHBob25lVmFsaWRhdGlvbiB9IGZyb20gJy4uL3ZhbGlkYXRvcnMvcGhvbmUtbnVtYmVyLXZhbGlkYXRvcic7XG5pbXBvcnQgeyBUYWJ1bGFyRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL3R5cGVzL3RhYnVsYXItZm9ybS50eXBlJztcbmltcG9ydCB7IEh0dHBCYWNrZW5kLCBwcm92aWRlSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEZvcm1seU11bHRpU2VsZWN0Q2hlY2tib3hBdXRvY29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuLi90eXBlcy9tdWx0aS1zZWxlY3QtY2hlY2tib3guY29tcG9uZW50JztcbmltcG9ydCB7Rm9ybWx5TWF0RGF0ZXBpY2tlck1vZHVsZX0gZnJvbSAnQG5neC1mb3JtbHkvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTWF0TmF0aXZlRGF0ZU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBzZWxlY3RWYWxpZGF0b3IgfSBmcm9tICcuLi92YWxpZGF0b3JzL3NlbGVjdC12YWxpZGF0b3InO1xuaW1wb3J0IHsgU2VsZWN0QXBpQXV0b0NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vdHlwZXMvc2VsZWN0LWFwaS1hdXRvLWNvbXBsZXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBnc3RWYWxpZGF0b3IgfSBmcm9tICcuLi92YWxpZGF0b3JzL2dzdC12YWxpZGF0b3InO1xuaW1wb3J0IHsgcGFuVmFsaWRhdG9yIH0gZnJvbSAnLi4vdmFsaWRhdG9ycy9wYW4tdmFsaWRhdG9yJztcbmltcG9ydCB7IEZvcm1seUZpZWxkUGFuZWxDb21wb25lbnQgfSBmcm9tICcuLi90eXBlcy9mb3JtbHktZmllbGQtcGFuZWwudHlwZSc7XG5pbXBvcnQgeyBTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuLi90eXBlcy9zZWxlY3QtYXV0b2NvbXBsZXRlLXJlZGVmaW5lZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybWx5V3JhcHBlckFkZG9uc0NvbXBvbmVudCB9IGZyb20gJy4uL3dyYXBwZXJzL3ByZWZpeC1zdWZmaXgtd3JhcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgYWRkb25zRXh0ZW5zaW9uIH0gZnJvbSAnLi4vd3JhcHBlcnMvcHJlZml4LXN1Zml4LWV4dGVuc2lvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgV2l0aE9sZFZhbHVlV3JhcHBlckNvbXBvbmVudCB9IGZyb20gJy4uL3dyYXBwZXJzL2Zvcm1seS13cmFwcGVyLXdpdGgtb2xkLXZhbHVlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybWx5Q29tbWVudElucHV0Q29tcG9uZW50IH0gZnJvbSAnLi4vdHlwZXMvY29tbWVudHMudHlwZSc7XG5pbXBvcnQgeyBDdXN0b21Gb3JtbHlSYWRpb0NvbXBvbmVudCB9IGZyb20gJy4uL3R5cGVzL3JhZGlvLnR5cGUnO1xuaW1wb3J0IHsgQ3VzdG9tRm9ybWx5TWF0SW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi90eXBlcy9pbnB1dC50eXBlJztcbmltcG9ydCB7IEFjdGlvbmFibGVGb3JtbHlGaWVsZEdyaWRDb21wb25lbnQgfSBmcm9tICcuLi90eXBlcy9ncmlkLWFjdGlvbmFibGUudHlwZSc7XG5pbXBvcnQgeyBGb3JtbHlGaWxlVXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi4vdHlwZXMvdXBsb2FkLWZpbGUnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgQ3VzdG9tRGF0ZSB9IGZyb20gJy4uL3R5cGVzL2N1c3RvbS1kYXRlLnR5cGUnO1xuaW1wb3J0IHsgbm9ybWFsRW1haWxWYWxpZGF0b3IgfSBmcm9tICcuLi92YWxpZGF0b3JzL25vcm1hbC1lbWFpbC12YWxpZGF0b3InO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRTY3JvbGxhYmxlVGFic0NvbXBvbmVudCB9IGZyb20gJy4uL3R5cGVzL3Njcm9sbGFibGUtdGFicy50eXBlcyc7XG5pbXBvcnQgeyBucGlWYWxpZGF0b3IgfSBmcm9tICcuLi92YWxpZGF0b3JzL25waS12YWxpZGF0b3InO1xuaW1wb3J0IHsgdGluT3JTc25WYWxpZGF0b3IgfSBmcm9tICcuLi92YWxpZGF0b3JzL3RpblNzbi12YWxpZGF0b3InO1xuaW1wb3J0IHsgZWluVmFsaWRhdG9yIH0gZnJvbSAnLi4vdmFsaWRhdG9ycy9laW4tdmFsaWRhdG9ycyc7XG5pbXBvcnQgeyBGb3JtbHlEZXNjcmlwdGlvbldyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuLi93cmFwcGVycy9mb3JtLWZpZWxkLWRlc2NyaXB0aW9uLXdyYXBwZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1seUZpZWxkVGltZUNvbXBvbmVudCB9IGZyb20gJy4uL3R5cGVzL2RhdGUtZm9ybWF0LnR5cGUnO1xuaW1wb3J0IHsgTW5sRm9ybUhlbHBlclRleHRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4uL3R5cGVzL211LWhlbHBlci10ZXh0LnR5cGUnO1xuXG5leHBvcnQgY29uc3QgbW5sRm9ybVByb3ZpZGVycyA9IFtcbiAgaW1wb3J0UHJvdmlkZXJzRnJvbShcbiAgICBDb21tb25zTW9kdWxlLmZvclJvb3QoKSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBGb3JtbHlNb2R1bGUuZm9yUm9vdCh7XG4gICAgICAgIHR5cGVzOiBbXG4gICAgICAgICAgeyBuYW1lOiAnY3VzdG9tLWlucHV0JywgY29tcG9uZW50OiBDdXN0b21JbnB1dENvbXBvbmVudCB9LFxuICAgICAgICAgIHtuYW1lOiAnbXUtcGFuZWwnLCBjb21wb25lbnQ6IEZvcm1seUZpZWxkUGFuZWxDb21wb25lbnR9LFxuICAgICAgICAgIHsgbmFtZTogJ211LXRhYnMnLCBjb21wb25lbnQ6IEZvcm1seUZpZWxkVGFic0NvbXBvbmVudCB9LFxuICAgICAgICAgIHsgbmFtZTogJ211LWV4cC1wYW5lbCcsIGNvbXBvbmVudDogRm9ybWx5RmllbGRFeHBhbnNpb25QYW5lbENvbXBvbmVudCB9LFxuICAgICAgICAgIHsgbmFtZTogJ211LXRhYmxlJywgY29tcG9uZW50OiBGb3JtbHlGaWVsZFRhYmxlQ29tcG9uZW50IH0sXG4gICAgICAgICAgLy8geyBuYW1lOiAnbXUtYXV0b2NvbXBsZXRlJywgY29tcG9uZW50OiBBdXRvY29tcGxldGVUeXBlQ29tcG9uZW50LCB3cmFwcGVyczogWydmb3JtLWZpZWxkJ10gfSxcbiAgICAgICAgICAvLyB7IG5hbWU6ICdtdS1tdWx0aS1zZWxlY3QtYXV0b2NvbXBsZXRlJywgY29tcG9uZW50OiBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudCwgd3JhcHBlcnM6IFsnZm9ybS1maWVsZCddIH0sXG4gICAgICAgICAgeyBuYW1lOiAnbXUtc3RlcHBlcicsIGNvbXBvbmVudDogRm9ybWx5RmllbGRTdGVwcGVyQ29tcG9uZW50LCB3cmFwcGVyczogW10gfSxcbiAgICAgICAgICB7IG5hbWU6ICdtdS1ncmlkJywgY29tcG9uZW50OiBGb3JtbHlGaWVsZEdyaWRDb21wb25lbnQsXG4gICAgICAgICAgICBkZWZhdWx0T3B0aW9uczoge1xuICAgICAgICAgICAgICBwcm9wczoge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAgeyBuYW1lOiAnbXUtYnV0dG9uJywgY29tcG9uZW50OiBGb3JtbHlCdXR0b25Db21wb25lbnQgfSxcbiAgICAgICAgICB7IG5hbWU6ICdtdS1jb3VudHJ5LWNvZGUtcGhvbmUnLCBjb21wb25lbnQ6IEZvcm1seUZpZWxkQ291bnRyeUNvZGVDb21wb25lbnQgfSxcbiAgICAgICAgICB7IG5hbWU6ICdtdS1zZWxlY3QtYXV0b2NvbXBsZXRlJywgY29tcG9uZW50OiBGb3JtbHlTZWxlY3RBdXRvY29tcGxldGVDb21wb25lbnR9LFxuICAgICAgICAgIHsgbmFtZTogJ211LXRhYnVsYXItZm9ybScsIGNvbXBvbmVudDogVGFidWxhckZvcm1Db21wb25lbnQgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnbXUtbXVsdGktY2hlY2tib3gtYXV0b2NvbXBsZXRlJyxcbiAgICAgICAgICAgIGNvbXBvbmVudDogRm9ybWx5TXVsdGlTZWxlY3RDaGVja2JveEF1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgICAgICAgICB9LFxuICAgICAgICAgIC8vIHsgbmFtZTogJ211LXNlbGVjdC1hcGktYXV0b2NvbXBsZXRlJywgY29tcG9uZW50OiBTZWxlY3RBcGlBdXRvQ29tcGxldGVDb21wb25lbnQgfSxcbiAgICAgICAgICAvLyB7IG5hbWU6ICdtdS1zZWxlY3QtYXV0by1jb21wbGV0ZScsIGNvbXBvbmVudDogU2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50fSxcbiAgICAgICAgICB7IG5hbWU6ICdtdS1jb21tZW50cycsIGNvbXBvbmVudDogRm9ybWx5Q29tbWVudElucHV0Q29tcG9uZW50IH0sXG4gICAgICAgICAgeyBuYW1lOiAnbXUtcmFkaW8nLCBjb21wb25lbnQ6IEN1c3RvbUZvcm1seVJhZGlvQ29tcG9uZW50fSxcbiAgICAgICAgICB7IG5hbWU6ICdtdS1pbnB1dCcsIGNvbXBvbmVudDogQ3VzdG9tRm9ybWx5TWF0SW5wdXRDb21wb25lbnR9LFxuICAgICAgICAgIHsgbmFtZTogJ211LWFjdGlvbmFibGUtZ3JpZCcsIGNvbXBvbmVudDogQWN0aW9uYWJsZUZvcm1seUZpZWxkR3JpZENvbXBvbmVudCxcbiAgICAgICAgICAgIGRlZmF1bHRPcHRpb25zOiB7XG4gICAgICAgICAgICAgIHByb3BzOiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJ1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHsgbmFtZTogJ211LXVwbG9hZC1maWxlJywgY29tcG9uZW50OiBGb3JtbHlGaWxlVXBsb2FkQ29tcG9uZW50IH0sXG4gICAgICAgICAgeyBuYW1lOiAnbXUtc2Nyb2xsLXRhYnMnLCBjb21wb25lbnQ6IEZvcm1seUZpZWxkU2Nyb2xsYWJsZVRhYnNDb21wb25lbnQgfSxcbiAgICAgICAgICB7IG5hbWU6ICdtdS1jdXN0b20tdGltZScsIGNvbXBvbmVudDogRm9ybWx5RmllbGRUaW1lQ29tcG9uZW50IH0sXG4gICAgICAgICAgeyBuYW1lOiAnbXUtaGVscGVyLXRleHQnLCBjb21wb25lbnQ6IE1ubEZvcm1IZWxwZXJUZXh0SW5wdXRDb21wb25lbnQgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHdyYXBwZXJzOiBbXG4gICAgICAgICAgeyBuYW1lOiAnbXUtZm9ybS1maWVsZCcsIGNvbXBvbmVudDogRm9ybUZpZWxkV3JhcHBlckNvbXBvbmVudCB9LFxuICAgICAgICAgIHsgbmFtZTogJ211LXdpdGgtb2xkLXZhbHVlJywgY29tcG9uZW50OiBXaXRoT2xkVmFsdWVXcmFwcGVyQ29tcG9uZW50IH0sXG4gICAgICAgICAgeyBuYW1lOiAnYWRkb25zJywgY29tcG9uZW50OiBGb3JtbHlXcmFwcGVyQWRkb25zQ29tcG9uZW50IH0sXG4gICAgICAgICAgeyBuYW1lOiAnZGVzY3JpcHRpb24nLCBjb21wb25lbnQ6IEZvcm1seURlc2NyaXB0aW9uV3JhcHBlckNvbXBvbmVudCB9XG4gICAgICAgIF0sXG4gICAgICAgIGV4dGVuc2lvbnM6IFt7IG5hbWU6ICdhZGRvbnMnLCBleHRlbnNpb246IHsgb25Qb3B1bGF0ZTogYWRkb25zRXh0ZW5zaW9uIH0gfV0sXG4gICAgICAgIHZhbGlkYXRvcnM6IFtcbiAgICAgICAgICB7IG5hbWU6ICdlbWFpbCcsIHZhbGlkYXRpb246IGVtYWlsVmFsaWRhdG9yIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ21heGxlbmd0aCcsXG4gICAgICAgICAgICB2YWxpZGF0aW9uOiBWYWxpZGF0b3JzLm1heExlbmd0aCgzMCksXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7bmFtZTogJ2dzdCcsIHZhbGlkYXRpb246IGdzdFZhbGlkYXRvcn0sXG4gICAgICAgICAge25hbWU6ICdwYW4nLCB2YWxpZGF0aW9uOiBwYW5WYWxpZGF0b3J9LFxuICAgICAgICAgIHsgbmFtZTogJ2R1bnNOdW1iZXInLCB2YWxpZGF0aW9uOiBWYWxpZGF0b3JzLnBhdHRlcm4oL15cXGR7OX0kLykgfSxcbiAgICAgICAgICB7IG5hbWU6ICdhYWRoYXJOdW1iZXInLCB2YWxpZGF0aW9uOiBWYWxpZGF0b3JzLnBhdHRlcm4oL15cXGR7MTJ9JC8pIH0sXG4gICAgICAgICAgeyBuYW1lOiAndGVsZXhOdW0nLCB2YWxpZGF0aW9uOiBWYWxpZGF0b3JzLnBhdHRlcm4oL15bMC05XXsxLDMwfSQvKSB9LFxuICAgICAgICAgIHtuYW1lOiAnYWNjb3VudE51bScsIHZhbGlkYXRpb246IFZhbGlkYXRvcnMucGF0dGVybigvXlthLXpBLVowLTldezEsMTl9JC8pfSxcbiAgICAgICAgICB7bmFtZTogJ3Bvc3RhbENvZGVQYXR0ZXJuJywgdmFsaWRhdGlvbjogIFZhbGlkYXRvcnMucGF0dGVybigvXlxcZHsxLDEwfSQvKX0sXG4gICAgICAgICAge25hbWU6ICdmYXhQYXR0ZXJuJywgdmFsaWRhdGlvbjogIFZhbGlkYXRvcnMucGF0dGVybigvXlxcZHsxLDMwfSQvKX0sXG4gICAgICAgICAge25hbWU6ICdpZnNjQ29kZScsIHZhbGlkYXRpb246IFZhbGlkYXRvcnMucGF0dGVybigvXlthLXpBLVowLTldezEsMTF9JC8pfSxcbiAgICAgICAgICB7bmFtZTogJ3BhdHRlcm4nLCB2YWxpZGF0aW9uOiBWYWxpZGF0b3JzLnBhdHRlcm4oL15bYS16QS1aMC05XFxzXFwtOlxcLyYuLCgpXSokLyl9LFxuICAgICAgICAgIHtuYW1lOiAncGhvbmVWYWxpZGF0aW9uJywgdmFsaWRhdGlvbjogcGhvbmVWYWxpZGF0aW9uIH0sXG4gICAgICAgICAge25hbWU6ICdzZWxlY3ROb3RBdmFpbFRpbk5vUGUnLCB2YWxpZGF0aW9uOiBzZWxlY3RWYWxpZGF0b3IgfSxcbiAgICAgICAgICB7bmFtZTogJ29ubHlUZW5EaWdpdHMnLCB2YWxpZGF0aW9uOiBWYWxpZGF0b3JzLnBhdHRlcm4oL15cXGR7MTB9JC8pfSxcbiAgICAgICAgICB7bmFtZTogJ3VkeWFtUGF0dGVybicsIHZhbGlkYXRpb246IFZhbGlkYXRvcnMucGF0dGVybigvXlVEWUFNLVtBLVpdezJ9LVxcZHsyfS1cXGR7N30kLyl9LFxuICAgICAgICAgIHtuYW1lOiAndW5pdHNQYXR0ZXJuJywgdmFsaWRhdGlvbjogVmFsaWRhdG9ycy5wYXR0ZXJuKC9eW0EtWmEtelxcc117MSwyMH0kLyl9LFxuICAgICAgICAgIHtuYW1lOiAnbm9ybWFsRW1haWwnLCB2YWxpZGF0aW9uOiBub3JtYWxFbWFpbFZhbGlkYXRvcn0sXG4gICAgICAgICAge25hbWU6ICd2YWxpZGF0ZVR3b0RlY2ltYWxzJywgdmFsaWRhdGlvbjogVmFsaWRhdG9ycy5wYXR0ZXJuKC9eXFxkKihcXC5cXGR7MSwyfSk/JC8pfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAncGVyY2VudGFnZVZhbGlkYXRpb24nLFxuICAgICAgICAgICAgdmFsaWRhdGlvbjogVmFsaWRhdG9ycy5wYXR0ZXJuKC9eKDEwMChcXC4wezEsMn0pP3woXFxkezEsMn0oXFwuXFxkezEsMn0pPykpJC8pLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ3VybFZhbGlkaXR5JyxcbiAgICAgICAgICAgIHZhbGlkYXRpb246IFZhbGlkYXRvcnMucGF0dGVybigvXihodHRwcz86XFwvXFwvKT8oW2EtekEtWjAtOS1dK1xcLikrKGNvbXxvcmd8bmV0fGdvdnxlZHV8aW98Y298dWt8aW58YXV8ZGV8ZnJ8Y2F8anB8Y258cnV8YnJ8dXN8aW5mb3xiaXp8bWV8dGVjaHx4eXp8b25saW5lfHN0b3JlfGJsb2cpKDpcXGQrKT8oXFwvW15cXHNdKik/JC8pXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7bmFtZTogJ25waScsIHZhbGlkYXRpb246IG5waVZhbGlkYXRvcn0sXG4gICAgICAgICAge25hbWU6ICd0aW5PclNzbicsIHZhbGlkYXRpb246IHRpbk9yU3NuVmFsaWRhdG9yfSxcbiAgICAgICAgICB7bmFtZTogJ2VpbicsIHZhbGlkYXRpb246IGVpblZhbGlkYXRvcn0sXG4gICAgICAgICAge25hbWU6ICdzaWNWYWxpZGF0b3InLCB2YWxpZGF0aW9uOiBWYWxpZGF0b3JzLnBhdHRlcm4oL14oPyEwMDAwKVxcZHs0fSQvKX0sXG4gICAgICAgICAge25hbWU6ICd0aW5OdW1iZXInLCB2YWxpZGF0aW9uOiBWYWxpZGF0b3JzLnBhdHRlcm4oL15bYS16QS1aMC05XFxzLV17NSwyMH0kLyl9LFxuICAgICAgICAgIHtuYW1lOiAnZ3N0SHN0TnVtYmVyJywgdmFsaWRhdGlvbjogVmFsaWRhdG9ycy5wYXR0ZXJuKC9eW2EtekEtWjAtOV17MTV9JC8pfSxcbiAgICAgICAgICB7bmFtZTogJ3FzdE51bWJlcicsIHZhbGlkYXRpb246IFZhbGlkYXRvcnMucGF0dGVybigvXlthLXpBLVowLTldezl9JC8pfVxuICAgICAgICBdLFxuICAgICAgICB2YWxpZGF0aW9uTWVzc2FnZXM6IFtcbiAgICAgICAgICB7bmFtZTogJ3Bob25lVmFsaWRhdGlvbicsIG1lc3NhZ2U6ICdJbnZhbGlkIG1vYmlsZSBudW1iZXIgZm9yIHRoZSBzZWxlY3RlZCBjb3VudHJ5LicgfSxcbiAgICAgICAgICB7bmFtZTogJ3NlbGVjdE5vdEF2YWlsVGluTm9QZScsIG1lc3NhZ2U6ICdTZWxlY3QgdGhlIGZpZWxkcyBub3QgYXZhaWxhYmxlIGluIFRJTiAvIE5vIFBFIGNlcnRpZmljYXRlIGlzIHJlcXVpcmVkJyB9LFxuICAgICAgICBdXG4gICAgICB9KSxcbiAgICBGb3JtbHlNYXRlcmlhbE1vZHVsZSxcbiAgICBUcmFuc2xhdGVNb2R1bGUuZm9yUm9vdCh7XG4gICAgICAgICAgbG9hZGVyOiB7XG4gICAgICAgICAgICBwcm92aWRlOiBUcmFuc2xhdGVMb2FkZXIsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiBodHRwTG9hZGVyRmFjdG9yeSxcbiAgICAgICAgICAgIGRlcHM6IFtIdHRwQmFja2VuZCwgTU5MX1RSQU5TTEFUSU9OX1JFU09VUkNFXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KSxcbiAgICBGb3JtbHlNYXREYXRlcGlja2VyTW9kdWxlLFxuICAgIE1hdE5hdGl2ZURhdGVNb2R1bGUsXG4gICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgTWF0RGF0ZXBpY2tlck1vZHVsZVxuICApLFxuICB7XG4gICAgcHJvdmlkZTogRGF0ZUFkYXB0ZXIsXG4gICAgdXNlQ2xhc3M6IEN1c3RvbURhdGUsXG4gIH0sXG4gIHByb3ZpZGVIdHRwQ2xpZW50KClcbl07Il19
@@ -18,10 +18,10 @@ export class GraphQLService {
18
18
  fetchPolicy: 'network-only'
19
19
  }).valueChanges;
20
20
  }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraphQLService, deps: [{ token: i1.Apollo }, { token: i2.AppConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
22
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraphQLService, providedIn: 'root' }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GraphQLService, deps: [{ token: i1.Apollo }, { token: i2.AppConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
22
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GraphQLService, providedIn: 'root' }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GraphQLService, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GraphQLService, decorators: [{
25
25
  type: Injectable,
26
26
  args: [{
27
27
  providedIn: 'root'
@@ -0,0 +1,75 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ScoringService {
4
+ updateScore(model, fields) {
5
+ const result = this.calculateScore(model, fields);
6
+ return result;
7
+ }
8
+ calculateScore(model, fields) {
9
+ let totalScore = 0;
10
+ let categoryResults = {};
11
+ for (const category of fields) {
12
+ const categoryLabel = category.props?.label || 'Unnamed Category';
13
+ const categoryWeight = category.props?.weight || 0;
14
+ const questions = category.fieldGroup || [];
15
+ const perQuestionWeight = categoryWeight / (questions.length || 1);
16
+ let categoryScore = 0;
17
+ for (const q of questions) {
18
+ const parentKey = category.key;
19
+ const nestedPath = Array.isArray(parentKey)
20
+ ? [...parentKey, q.key]
21
+ : [parentKey, q.key];
22
+ const answer = this.getNestedValue(model, nestedPath);
23
+ const scoring = q.props?.scoring;
24
+ if (!scoring)
25
+ continue;
26
+ let correct = false;
27
+ switch (scoring.criteria) {
28
+ case 'attempted':
29
+ correct =
30
+ answer !== null &&
31
+ answer !== undefined &&
32
+ (typeof answer === 'string' ? answer.trim() !== '' : true);
33
+ break;
34
+ case 'exactMatch':
35
+ if (Array.isArray(scoring.answer)) {
36
+ correct = scoring.answer.includes(answer);
37
+ }
38
+ break;
39
+ case 'range':
40
+ const num = typeof answer === 'number' ? answer : Number(answer);
41
+ correct =
42
+ Number.isFinite(num) &&
43
+ num >= scoring.answer.min &&
44
+ num <= scoring.answer.max;
45
+ break;
46
+ }
47
+ if (correct) {
48
+ categoryScore += perQuestionWeight;
49
+ }
50
+ }
51
+ totalScore += categoryScore;
52
+ categoryResults[categoryLabel] = {
53
+ score: categoryScore,
54
+ weight: categoryWeight,
55
+ };
56
+ }
57
+ return {
58
+ totalScore,
59
+ categoryResults,
60
+ };
61
+ }
62
+ getNestedValue(obj, key) {
63
+ if (Array.isArray(key)) {
64
+ return key.reduce((current, k) => current?.[k], obj);
65
+ }
66
+ return obj?.[key];
67
+ }
68
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScoringService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
69
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScoringService, providedIn: 'root' }); }
70
+ }
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ScoringService, decorators: [{
72
+ type: Injectable,
73
+ args: [{ providedIn: 'root' }]
74
+ }] });
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NvcmluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZm9ybS1saWIvc3JjL2xpYi9zZXJ2aWNlcy9zY29yaW5nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0MsTUFBTSxPQUFPLGNBQWM7SUFFekIsV0FBVyxDQUFDLEtBQVUsRUFBRSxNQUEyQjtRQUNqRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNsRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRU8sY0FBYyxDQUFDLEtBQVUsRUFBRSxNQUF1RDtRQUN4RixJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxlQUFlLEdBQXNELEVBQUUsQ0FBQztRQUU1RSxLQUFLLE1BQU0sUUFBUSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQzlCLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxJQUFJLGtCQUFrQixDQUFDO1lBQ2xFLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQztZQUNuRCxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQztZQUM1QyxNQUFNLGlCQUFpQixHQUFHLGNBQWMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLENBQUM7WUFFbkUsSUFBSSxhQUFhLEdBQUcsQ0FBQyxDQUFDO1lBRXRCLEtBQUssTUFBTSxDQUFDLElBQUksU0FBUyxFQUFFLENBQUM7Z0JBQzFCLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFVLENBQUM7Z0JBQ3RDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO29CQUN6QyxDQUFDLENBQUMsQ0FBQyxHQUFJLFNBQW1CLEVBQUUsQ0FBQyxDQUFDLEdBQVUsQ0FBQztvQkFDekMsQ0FBQyxDQUFDLENBQUMsU0FBZ0IsRUFBRSxDQUFDLENBQUMsR0FBVSxDQUFDLENBQUM7Z0JBQ3JDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLFVBQWlCLENBQUMsQ0FBQztnQkFFN0QsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxPQUFPO29CQUFFLFNBQVM7Z0JBRXZCLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFFcEIsUUFBUSxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ3pCLEtBQUssV0FBVzt3QkFDZCxPQUFPOzRCQUNMLE1BQU0sS0FBSyxJQUFJO2dDQUNmLE1BQU0sS0FBSyxTQUFTO2dDQUNwQixDQUFDLE9BQU8sTUFBTSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQzdELE1BQU07b0JBRVIsS0FBSyxZQUFZO3dCQUNmLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQzs0QkFDbEMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUM1QyxDQUFDO3dCQUNELE1BQU07b0JBRVIsS0FBSyxPQUFPO3dCQUNWLE1BQU0sR0FBRyxHQUFHLE9BQU8sTUFBTSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQ2pFLE9BQU87NEJBQ0wsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7Z0NBQ3BCLEdBQUcsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUc7Z0NBQ3pCLEdBQUcsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQzt3QkFDNUIsTUFBTTtnQkFDVixDQUFDO2dCQUVELElBQUksT0FBTyxFQUFFLENBQUM7b0JBQ1osYUFBYSxJQUFJLGlCQUFpQixDQUFDO2dCQUNyQyxDQUFDO1lBQ0gsQ0FBQztZQUVELFVBQVUsSUFBSSxhQUFhLENBQUM7WUFDNUIsZUFBZSxDQUFDLGFBQWEsQ0FBQyxHQUFHO2dCQUMvQixLQUFLLEVBQUUsYUFBYTtnQkFDcEIsTUFBTSxFQUFFLGNBQWM7YUFDdkIsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPO1lBQ0wsVUFBVTtZQUNWLGVBQWU7U0FDaEIsQ0FBQztJQUNKLENBQUM7SUFFTyxjQUFjLENBQUMsR0FBUSxFQUFFLEdBQTBDO1FBQ3pFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFDRCxPQUFPLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7K0dBN0VVLGNBQWM7bUhBQWQsY0FBYyxjQURELE1BQU07OzRGQUNuQixjQUFjO2tCQUQxQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IEN1c3RvbUZvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vcHVibGljLWFwaSc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgU2NvcmluZ1NlcnZpY2Uge1xuXG4gIHVwZGF0ZVNjb3JlKG1vZGVsOiBhbnksIGZpZWxkczogRm9ybWx5RmllbGRDb25maWdbXSkge1xuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuY2FsY3VsYXRlU2NvcmUobW9kZWwsIGZpZWxkcyk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlU2NvcmUobW9kZWw6IGFueSwgZmllbGRzOiBGb3JtbHlGaWVsZENvbmZpZ1tdIHwgQ3VzdG9tRm9ybWx5RmllbGRDb25maWdbXSkge1xuICAgIGxldCB0b3RhbFNjb3JlID0gMDtcbiAgICBsZXQgY2F0ZWdvcnlSZXN1bHRzOiBSZWNvcmQ8c3RyaW5nLCB7IHNjb3JlOiBudW1iZXI7IHdlaWdodDogbnVtYmVyIH0+ID0ge307XG5cbiAgICBmb3IgKGNvbnN0IGNhdGVnb3J5IG9mIGZpZWxkcykge1xuICAgICAgY29uc3QgY2F0ZWdvcnlMYWJlbCA9IGNhdGVnb3J5LnByb3BzPy5sYWJlbCB8fCAnVW5uYW1lZCBDYXRlZ29yeSc7XG4gICAgICBjb25zdCBjYXRlZ29yeVdlaWdodCA9IGNhdGVnb3J5LnByb3BzPy53ZWlnaHQgfHwgMDtcbiAgICAgIGNvbnN0IHF1ZXN0aW9ucyA9IGNhdGVnb3J5LmZpZWxkR3JvdXAgfHwgW107XG4gICAgICBjb25zdCBwZXJRdWVzdGlvbldlaWdodCA9IGNhdGVnb3J5V2VpZ2h0IC8gKHF1ZXN0aW9ucy5sZW5ndGggfHwgMSk7XG5cbiAgICAgIGxldCBjYXRlZ29yeVNjb3JlID0gMDtcblxuICAgICAgZm9yIChjb25zdCBxIG9mIHF1ZXN0aW9ucykge1xuICAgICAgICBjb25zdCBwYXJlbnRLZXkgPSBjYXRlZ29yeS5rZXkgYXMgYW55O1xuICAgICAgICBjb25zdCBuZXN0ZWRQYXRoID0gQXJyYXkuaXNBcnJheShwYXJlbnRLZXkpXG4gICAgICAgICAgPyBbLi4uKHBhcmVudEtleSBhcyBhbnlbXSksIHEua2V5IGFzIGFueV1cbiAgICAgICAgICA6IFtwYXJlbnRLZXkgYXMgYW55LCBxLmtleSBhcyBhbnldO1xuICAgICAgICBjb25zdCBhbnN3ZXIgPSB0aGlzLmdldE5lc3RlZFZhbHVlKG1vZGVsLCBuZXN0ZWRQYXRoIGFzIGFueSk7XG5cbiAgICAgICAgY29uc3Qgc2NvcmluZyA9IHEucHJvcHM/LnNjb3Jpbmc7XG4gICAgICAgIGlmICghc2NvcmluZykgY29udGludWU7XG5cbiAgICAgICAgbGV0IGNvcnJlY3QgPSBmYWxzZTtcblxuICAgICAgICBzd2l0Y2ggKHNjb3JpbmcuY3JpdGVyaWEpIHtcbiAgICAgICAgICBjYXNlICdhdHRlbXB0ZWQnOlxuICAgICAgICAgICAgY29ycmVjdCA9XG4gICAgICAgICAgICAgIGFuc3dlciAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICBhbnN3ZXIgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgICAodHlwZW9mIGFuc3dlciA9PT0gJ3N0cmluZycgPyBhbnN3ZXIudHJpbSgpICE9PSAnJyA6IHRydWUpO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlICdleGFjdE1hdGNoJzpcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHNjb3JpbmcuYW5zd2VyKSkge1xuICAgICAgICAgICAgICBjb3JyZWN0ID0gc2NvcmluZy5hbnN3ZXIuaW5jbHVkZXMoYW5zd2VyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgY2FzZSAncmFuZ2UnOlxuICAgICAgICAgICAgY29uc3QgbnVtID0gdHlwZW9mIGFuc3dlciA9PT0gJ251bWJlcicgPyBhbnN3ZXIgOiBOdW1iZXIoYW5zd2VyKTtcbiAgICAgICAgICAgIGNvcnJlY3QgPVxuICAgICAgICAgICAgICBOdW1iZXIuaXNGaW5pdGUobnVtKSAmJlxuICAgICAgICAgICAgICBudW0gPj0gc2NvcmluZy5hbnN3ZXIubWluICYmXG4gICAgICAgICAgICAgIG51bSA8PSBzY29yaW5nLmFuc3dlci5tYXg7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjb3JyZWN0KSB7XG4gICAgICAgICAgY2F0ZWdvcnlTY29yZSArPSBwZXJRdWVzdGlvbldlaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0b3RhbFNjb3JlICs9IGNhdGVnb3J5U2NvcmU7XG4gICAgICBjYXRlZ29yeVJlc3VsdHNbY2F0ZWdvcnlMYWJlbF0gPSB7XG4gICAgICAgIHNjb3JlOiBjYXRlZ29yeVNjb3JlLFxuICAgICAgICB3ZWlnaHQ6IGNhdGVnb3J5V2VpZ2h0LFxuICAgICAgfTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgdG90YWxTY29yZSxcbiAgICAgIGNhdGVnb3J5UmVzdWx0cyxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROZXN0ZWRWYWx1ZShvYmo6IGFueSwga2V5OiBzdHJpbmcgfCBudW1iZXIgfCAoc3RyaW5nIHwgbnVtYmVyKVtdKTogYW55IHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShrZXkpKSB7XG4gICAgICByZXR1cm4ga2V5LnJlZHVjZSgoY3VycmVudCwgaykgPT4gY3VycmVudD8uW2tdLCBvYmopO1xuICAgIH1cbiAgICByZXR1cm4gb2JqPy5ba2V5XTtcbiAgfVxufSJdfQ==
@@ -23,8 +23,8 @@ export class ActionButtonRendererComponent {
23
23
  console.error('Delete function not found or incorrect params:', this.params);
24
24
  }
25
25
  }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionButtonRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ActionButtonRendererComponent, isStandalone: true, selector: "mu-delete-button-renderer", ngImport: i0, template: `
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActionButtonRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
27
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ActionButtonRendererComponent, isStandalone: true, selector: "mu-delete-button-renderer", ngImport: i0, template: `
28
28
  <button
29
29
  type="button"
30
30
  mat-icon-button
@@ -36,7 +36,7 @@ export class ActionButtonRendererComponent {
36
36
  </button>
37
37
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i1.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: TranslateModule }] }); }
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ActionButtonRendererComponent, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActionButtonRendererComponent, decorators: [{
40
40
  type: Component,
41
41
  args: [{
42
42
  selector: 'mu-delete-button-renderer',
@@ -17,8 +17,8 @@ export class AutocompleteTypeComponent extends FieldType {
17
17
  ngOnInit() {
18
18
  this.filter = this.formControl.valueChanges.pipe(startWith(""), switchMap((term) => this.props?.["filter"](term)));
19
19
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AutocompleteTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
21
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AutocompleteTypeComponent, isStandalone: true, selector: "mu-formly-autocomplete-type", usesInheritance: true, ngImport: i0, template: `
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AutocompleteTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
21
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: AutocompleteTypeComponent, isStandalone: true, selector: "mu-formly-autocomplete-type", usesInheritance: true, ngImport: i0, template: `
22
22
  <input
23
23
  matInput
24
24
  [matAutocomplete]="auto"
@@ -34,7 +34,7 @@ export class AutocompleteTypeComponent extends FieldType {
34
34
  </mat-autocomplete>
35
35
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i4.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i3.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i5.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }] }); }
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AutocompleteTypeComponent, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AutocompleteTypeComponent, decorators: [{
38
38
  type: Component,
39
39
  args: [{
40
40
  selector: "mu-formly-autocomplete-type",
@@ -16,8 +16,8 @@ export class FormlyButtonComponent extends FieldType {
16
16
  this.to['onClick']();
17
17
  }
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormlyButtonComponent, isStandalone: true, selector: "mu-formly-field-button", usesInheritance: true, ngImport: i0, template: `
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FormlyButtonComponent, isStandalone: true, selector: "mu-formly-field-button", usesInheritance: true, ngImport: i0, template: `
21
21
  <button mat-flat-button
22
22
  type="button"
23
23
  [disabled]="to.disabled"
@@ -42,7 +42,7 @@ export class FormlyButtonComponent extends FieldType {
42
42
  </div>
43
43
  `, isInline: true, styles: [".required-btn{background-color:red!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
44
44
  }
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyButtonComponent, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyButtonComponent, decorators: [{
46
46
  type: Component,
47
47
  args: [{ selector: 'mu-formly-field-button', standalone: true, imports: [CommonModule, FormsModule, MatButtonModule, MatIconModule, MatTooltipModule], template: `
48
48
  <button mat-flat-button
@@ -44,8 +44,8 @@ export class FormlyCommentInputComponent extends FieldType {
44
44
  }
45
45
  }
46
46
  }
47
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyCommentInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
48
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormlyCommentInputComponent, isStandalone: true, selector: "mu-comment-input", usesInheritance: true, ngImport: i0, template: `
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyCommentInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
48
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FormlyCommentInputComponent, isStandalone: true, selector: "mu-comment-input", usesInheritance: true, ngImport: i0, template: `
49
49
  <div *ngIf="isInputRequired">
50
50
  <mat-form-field class="w-[80%]" appearance="outline">
51
51
  <mat-label>{{ to.label }}</mat-label>
@@ -71,7 +71,7 @@ export class FormlyCommentInputComponent extends FieldType {
71
71
  </div>
72
72
  `, isInline: true, styles: [".comment{border-top:1px solid #ddd;padding-top:8px;font-family:Poppins,Helvetica Neue,sans-serif;font-size:14px}.commentsDate{color:gray}.commentedUser{color:#000}.commentsHeader{border-radius:7px;padding-left:10px}.comment-text{white-space:normal;word-wrap:break-word;overflow-wrap:anywhere;margin:0}.sendButton{padding:0;height:30px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: FormlyModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { 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: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
73
73
  }
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyCommentInputComponent, decorators: [{
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyCommentInputComponent, decorators: [{
75
75
  type: Component,
76
76
  args: [{ selector: 'mu-comment-input', standalone: true, imports: [CommonModule, TranslateModule, FormlyModule, ReactiveFormsModule, MatInputModule, MatButtonModule, FormsModule, MatIconModule], template: `
77
77
  <div *ngIf="isInputRequired">
@@ -69,8 +69,8 @@ export class FormlyFieldCountryCodeComponent extends FieldType {
69
69
  }
70
70
  });
71
71
  }
72
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyFieldCountryCodeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
73
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormlyFieldCountryCodeComponent, isStandalone: true, selector: "mu-country-code-phone", host: { classAttribute: "w-full grid" }, usesInheritance: true, ngImport: i0, template: `
72
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyFieldCountryCodeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
73
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FormlyFieldCountryCodeComponent, isStandalone: true, selector: "mu-country-code-phone", host: { classAttribute: "w-full grid" }, usesInheritance: true, ngImport: i0, template: `
74
74
  <div class="flex flex-nowrap items-center gap-3 w-full">
75
75
  <mat-form-field appearance="outline" [ngStyle]="{'width': to['codeWidth'] || '20%'}">
76
76
  <mat-label matTooltip="Country Code">Code</mat-label>
@@ -117,7 +117,7 @@ export class FormlyFieldCountryCodeComponent extends FieldType {
117
117
  </mat-error>
118
118
  `, isInline: true, styles: [".vertical-line{display:inline-block;width:1px;height:18px;background-color:#000;margin-top:3px;margin-right:8px;vertical-align:middle}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "directive", type: i5.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: FormlyMaterialModule }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i8.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }] }); }
119
119
  }
120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyFieldCountryCodeComponent, decorators: [{
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyFieldCountryCodeComponent, decorators: [{
121
121
  type: Component,
122
122
  args: [{ selector: 'mu-country-code-phone', standalone: true, imports: [
123
123
  FormsModule,
@@ -13,8 +13,8 @@ export class CustomInputComponent extends FieldType {
13
13
  get control() {
14
14
  return this.formControl;
15
15
  }
16
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
17
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CustomInputComponent, isStandalone: true, selector: "mu-formly-field-custom-input", usesInheritance: true, ngImport: i0, template: `
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CustomInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CustomInputComponent, isStandalone: true, selector: "mu-formly-field-custom-input", usesInheritance: true, ngImport: i0, template: `
18
18
  <input
19
19
  matInput
20
20
  *ngIf="to.type !== 'textarea'; else textarea"
@@ -33,7 +33,7 @@ export class CustomInputComponent extends FieldType {
33
33
  </ng-template>
34
34
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormsModule }, { 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: "ngmodule", type: FormlyModule }, { kind: "directive", type: i4.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyMaterialModule }] }); }
35
35
  }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CustomInputComponent, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CustomInputComponent, decorators: [{
37
37
  type: Component,
38
38
  args: [{
39
39
  selector: 'mu-formly-field-custom-input',
@@ -66,8 +66,8 @@ export class FormlyFieldTimeComponent extends FieldType {
66
66
  const filterValue = (value || '').toLowerCase();
67
67
  return options.filter((option) => option.toLowerCase().includes(filterValue));
68
68
  }
69
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyFieldTimeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
70
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormlyFieldTimeComponent, isStandalone: true, selector: "mu-formly-field-time", usesInheritance: true, ngImport: i0, template: `
69
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyFieldTimeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
70
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FormlyFieldTimeComponent, isStandalone: true, selector: "mu-formly-field-time", usesInheritance: true, ngImport: i0, template: `
71
71
  <div class="flex flex-col gap-2">
72
72
  <div class="flex gap-4">
73
73
  <mat-form-field appearance="outline" class="w-25">
@@ -123,7 +123,7 @@ export class FormlyFieldTimeComponent extends FieldType {
123
123
  </div>
124
124
  `, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i5.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }] }); }
125
125
  }
126
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormlyFieldTimeComponent, decorators: [{
126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FormlyFieldTimeComponent, decorators: [{
127
127
  type: Component,
128
128
  args: [{
129
129
  selector: 'mu-formly-field-time',