@skyux/forms 11.0.0-alpha.13 → 11.0.0-alpha.15

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 (35) hide show
  1. package/documentation.json +3340 -3251
  2. package/esm2022/index.mjs +1 -3
  3. package/esm2022/lib/modules/character-counter/character-counter-indicator.component.mjs +3 -3
  4. package/esm2022/lib/modules/checkbox/checkbox-group.component.mjs +4 -4
  5. package/esm2022/lib/modules/checkbox/checkbox-label-text-label.component.mjs +3 -4
  6. package/esm2022/lib/modules/checkbox/checkbox.component.mjs +11 -19
  7. package/esm2022/lib/modules/field-group/field-group.component.mjs +3 -4
  8. package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment-label.component.mjs +3 -4
  9. package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment.component.mjs +10 -16
  10. package/esm2022/lib/modules/file-attachment/file-drop/file-drop.component.mjs +14 -21
  11. package/esm2022/lib/modules/file-attachment/file-drop/file-item.component.mjs +5 -12
  12. package/esm2022/lib/modules/form-error/form-error.component.mjs +22 -22
  13. package/esm2022/lib/modules/form-error/form-errors.component.mjs +3 -9
  14. package/esm2022/lib/modules/input-box/input-box.component.mjs +13 -26
  15. package/esm2022/lib/modules/radio/radio-group.component.mjs +9 -16
  16. package/esm2022/lib/modules/radio/radio.component.mjs +7 -14
  17. package/esm2022/lib/modules/toggle-switch/toggle-switch.component.mjs +7 -14
  18. package/esm2022/testing/checkbox/checkbox-harness.mjs +2 -7
  19. package/fesm2022/skyux-forms-testing.mjs +1 -6
  20. package/fesm2022/skyux-forms-testing.mjs.map +1 -1
  21. package/fesm2022/skyux-forms.mjs +93 -194
  22. package/fesm2022/skyux-forms.mjs.map +1 -1
  23. package/index.d.ts +1 -2
  24. package/lib/modules/checkbox/checkbox.component.d.ts +1 -2
  25. package/lib/modules/file-attachment/file-attachment/file-attachment.component.d.ts +2 -2
  26. package/lib/modules/file-attachment/file-drop/file-drop.component.d.ts +1 -2
  27. package/lib/modules/input-box/input-box.component.d.ts +1 -6
  28. package/lib/modules/radio/radio-group.component.d.ts +1 -2
  29. package/lib/modules/radio/radio.component.d.ts +1 -2
  30. package/lib/modules/toggle-switch/toggle-switch.component.d.ts +1 -2
  31. package/package.json +9 -9
  32. package/esm2022/lib/modules/shared/form-field-label-text-required.directive.mjs +0 -37
  33. package/esm2022/lib/modules/shared/form-field-label-text-required.service.mjs +0 -21
  34. package/lib/modules/shared/form-field-label-text-required.directive.d.ts +0 -14
  35. package/lib/modules/shared/form-field-label-text-required.service.d.ts +0 -11
@@ -1,10 +1,8 @@
1
- import { CommonModule } from '@angular/common';
2
1
  import { ChangeDetectionStrategy, Component, Input, inject, } from '@angular/core';
3
2
  import { SkyStatusIndicatorModule } from '@skyux/indicators';
4
3
  import { SKY_FORM_ERRORS_ENABLED } from './form-errors-enabled-token';
5
4
  import * as i0 from "@angular/core";
6
5
  import * as i1 from "@skyux/indicators";
7
- import * as i2 from "@angular/common";
8
6
  /**
9
7
  * Displays default and custom form field error messages for form field components.
10
8
  * Set `labelText` on the form field component to automatically display required,
@@ -21,28 +19,30 @@ export class SkyFormErrorComponent {
21
19
  }
22
20
  }
23
21
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SkyFormErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.2", type: SkyFormErrorComponent, isStandalone: true, selector: "sky-form-error", inputs: { errorName: "errorName", errorText: "errorText" }, ngImport: i0, template: `
25
- <sky-status-indicator
26
- *ngIf="formErrors"
27
- class="sky-form-error"
28
- descriptionType="error"
29
- indicatorType="danger"
30
- >
31
- {{ errorText }}
32
- </sky-status-indicator>
33
- `, isInline: true, styles: [":host{display:block;margin-top:var(--sky-margin-stacked-xs)}\n"], dependencies: [{ kind: "ngmodule", type: SkyStatusIndicatorModule }, { kind: "component", type: i1.λ10, selector: "sky-status-indicator", inputs: ["indicatorType", "descriptionType", "customDescription", "helpPopoverContent", "helpPopoverTitle", "helpKey"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.2", type: SkyFormErrorComponent, isStandalone: true, selector: "sky-form-error", inputs: { errorName: "errorName", errorText: "errorText" }, ngImport: i0, template: `
23
+ @if (formErrors) {
24
+ <sky-status-indicator
25
+ class="sky-form-error"
26
+ descriptionType="error"
27
+ indicatorType="danger"
28
+ >
29
+ {{ errorText }}
30
+ </sky-status-indicator>
31
+ }
32
+ `, isInline: true, styles: [":host{display:block;margin-top:var(--sky-margin-stacked-xs)}\n"], dependencies: [{ kind: "ngmodule", type: SkyStatusIndicatorModule }, { kind: "component", type: i1.λ10, selector: "sky-status-indicator", inputs: ["indicatorType", "descriptionType", "customDescription", "helpPopoverContent", "helpPopoverTitle", "helpKey"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
34
33
  }
35
34
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SkyFormErrorComponent, decorators: [{
36
35
  type: Component,
37
- args: [{ selector: 'sky-form-error', standalone: true, imports: [SkyStatusIndicatorModule, CommonModule], template: `
38
- <sky-status-indicator
39
- *ngIf="formErrors"
40
- class="sky-form-error"
41
- descriptionType="error"
42
- indicatorType="danger"
43
- >
44
- {{ errorText }}
45
- </sky-status-indicator>
36
+ args: [{ selector: 'sky-form-error', standalone: true, imports: [SkyStatusIndicatorModule], template: `
37
+ @if (formErrors) {
38
+ <sky-status-indicator
39
+ class="sky-form-error"
40
+ descriptionType="error"
41
+ indicatorType="danger"
42
+ >
43
+ {{ errorText }}
44
+ </sky-status-indicator>
45
+ }
46
46
  `, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:block;margin-top:var(--sky-margin-stacked-xs)}\n"] }]
47
47
  }], ctorParameters: () => [], propDecorators: { errorName: [{
48
48
  type: Input,
@@ -51,4 +51,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
51
51
  type: Input,
52
52
  args: [{ required: true }]
53
53
  }] } });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7QUFFdEU7Ozs7O0dBS0c7QUF5QkgsTUFBTSxPQUFPLHFCQUFxQjtJQW1CaEM7UUFKbUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsRUFBRTtZQUM5RCxRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQztRQUdELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDckIsTUFBTSxJQUFJLEtBQUssQ0FDYiwwRUFBMEUsQ0FDM0UsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDOzhHQXpCVSxxQkFBcUI7a0dBQXJCLHFCQUFxQixzSUFwQnRCOzs7Ozs7Ozs7R0FTVCx1SUFWUyx3QkFBd0IsNk5BQUUsWUFBWTs7MkZBcUJyQyxxQkFBcUI7a0JBeEJqQyxTQUFTOytCQUNFLGdCQUFnQixjQUNkLElBQUksV0FDUCxDQUFDLHdCQUF3QixFQUFFLFlBQVksQ0FBQyxZQUN2Qzs7Ozs7Ozs7O0dBU1QsbUJBU2dCLHVCQUF1QixDQUFDLE1BQU07d0RBUXhDLFNBQVM7c0JBRGYsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBUWxCLFNBQVM7c0JBRGYsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lTdGF0dXNJbmRpY2F0b3JNb2R1bGUgfSBmcm9tICdAc2t5dXgvaW5kaWNhdG9ycyc7XG5cbmltcG9ydCB7IFNLWV9GT1JNX0VSUk9SU19FTkFCTEVEIH0gZnJvbSAnLi9mb3JtLWVycm9ycy1lbmFibGVkLXRva2VuJztcblxuLyoqXG4gKiBEaXNwbGF5cyBkZWZhdWx0IGFuZCBjdXN0b20gZm9ybSBmaWVsZCBlcnJvciBtZXNzYWdlcyBmb3IgZm9ybSBmaWVsZCBjb21wb25lbnRzLlxuICogU2V0IGBsYWJlbFRleHRgIG9uIHRoZSBmb3JtIGZpZWxkIGNvbXBvbmVudCB0byBhdXRvbWF0aWNhbGx5IGRpc3BsYXkgcmVxdWlyZWQsXG4gKiBtYXhpbXVtIGxlbmd0aCwgbWluaW11bSBsZW5ndGgsIGRhdGUsIGVtYWlsLCBwaG9uZSBudW1iZXIsIHRpbWUsIGFuZCBVUkwgZXJyb3JzLlxuICogVG8gZGlzcGxheSBjdXN0b20gZXJyb3JzLCBpbmNsdWRlIHNreS1mb3JtLWVycm9yIGVsZW1lbnRzIGluIHRoZSBmb3JtIGZpZWxkIGNvbXBvbmVudC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWZvcm0tZXJyb3InLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbU2t5U3RhdHVzSW5kaWNhdG9yTW9kdWxlLCBDb21tb25Nb2R1bGVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxza3ktc3RhdHVzLWluZGljYXRvclxuICAgICAgKm5nSWY9XCJmb3JtRXJyb3JzXCJcbiAgICAgIGNsYXNzPVwic2t5LWZvcm0tZXJyb3JcIlxuICAgICAgZGVzY3JpcHRpb25UeXBlPVwiZXJyb3JcIlxuICAgICAgaW5kaWNhdG9yVHlwZT1cImRhbmdlclwiXG4gICAgPlxuICAgICAge3sgZXJyb3JUZXh0IH19XG4gICAgPC9za3ktc3RhdHVzLWluZGljYXRvcj5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gICAgYFxuICAgICAgOmhvc3Qge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tc2t5LW1hcmdpbi1zdGFja2VkLXhzKTtcbiAgICAgIH1cbiAgICBgLFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5Rm9ybUVycm9yQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBlcnJvci5cbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICBwdWJsaWMgZXJyb3JOYW1lITogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZXJyb3IgbWVzc2FnZSB0byBkaXNwbGF5LlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gIHB1YmxpYyBlcnJvclRleHQhOiBzdHJpbmc7XG5cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGZvcm1FcnJvcnMgPSBpbmplY3QoU0tZX0ZPUk1fRVJST1JTX0VOQUJMRUQsIHtcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKCF0aGlzLmZvcm1FcnJvcnMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ1RoZSBgc2t5LWZvcm0tZXJyb3JgIGNvbXBvbmVudCBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBwcm92aWRlZCBjb250ZXh0LicsXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIl19
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBRXRFOzs7OztHQUtHO0FBMEJILE1BQU0sT0FBTyxxQkFBcUI7SUFtQmhDO1FBSm1CLGVBQVUsR0FBRyxNQUFNLENBQUMsdUJBQXVCLEVBQUU7WUFDOUQsUUFBUSxFQUFFLElBQUk7U0FDZixDQUFDLENBQUM7UUFHRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQ2IsMEVBQTBFLENBQzNFLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQzs4R0F6QlUscUJBQXFCO2tHQUFyQixxQkFBcUIsc0lBckJ0Qjs7Ozs7Ozs7OztHQVVULHVJQVhTLHdCQUF3Qjs7MkZBc0J2QixxQkFBcUI7a0JBekJqQyxTQUFTOytCQUNFLGdCQUFnQixjQUNkLElBQUksV0FDUCxDQUFDLHdCQUF3QixDQUFDLFlBQ3pCOzs7Ozs7Ozs7O0dBVVQsbUJBU2dCLHVCQUF1QixDQUFDLE1BQU07d0RBUXhDLFNBQVM7c0JBRGYsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBUWxCLFNBQVM7c0JBRGYsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreVN0YXR1c0luZGljYXRvck1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pbmRpY2F0b3JzJztcblxuaW1wb3J0IHsgU0tZX0ZPUk1fRVJST1JTX0VOQUJMRUQgfSBmcm9tICcuL2Zvcm0tZXJyb3JzLWVuYWJsZWQtdG9rZW4nO1xuXG4vKipcbiAqIERpc3BsYXlzIGRlZmF1bHQgYW5kIGN1c3RvbSBmb3JtIGZpZWxkIGVycm9yIG1lc3NhZ2VzIGZvciBmb3JtIGZpZWxkIGNvbXBvbmVudHMuXG4gKiBTZXQgYGxhYmVsVGV4dGAgb24gdGhlIGZvcm0gZmllbGQgY29tcG9uZW50IHRvIGF1dG9tYXRpY2FsbHkgZGlzcGxheSByZXF1aXJlZCxcbiAqIG1heGltdW0gbGVuZ3RoLCBtaW5pbXVtIGxlbmd0aCwgZGF0ZSwgZW1haWwsIHBob25lIG51bWJlciwgdGltZSwgYW5kIFVSTCBlcnJvcnMuXG4gKiBUbyBkaXNwbGF5IGN1c3RvbSBlcnJvcnMsIGluY2x1ZGUgc2t5LWZvcm0tZXJyb3IgZWxlbWVudHMgaW4gdGhlIGZvcm0gZmllbGQgY29tcG9uZW50LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktZm9ybS1lcnJvcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtTa3lTdGF0dXNJbmRpY2F0b3JNb2R1bGVdLFxuICB0ZW1wbGF0ZTogYFxuICAgIEBpZiAoZm9ybUVycm9ycykge1xuICAgICAgPHNreS1zdGF0dXMtaW5kaWNhdG9yXG4gICAgICAgIGNsYXNzPVwic2t5LWZvcm0tZXJyb3JcIlxuICAgICAgICBkZXNjcmlwdGlvblR5cGU9XCJlcnJvclwiXG4gICAgICAgIGluZGljYXRvclR5cGU9XCJkYW5nZXJcIlxuICAgICAgPlxuICAgICAgICB7eyBlcnJvclRleHQgfX1cbiAgICAgIDwvc2t5LXN0YXR1cy1pbmRpY2F0b3I+XG4gICAgfVxuICBgLFxuICBzdHlsZXM6IFtcbiAgICBgXG4gICAgICA6aG9zdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1za3ktbWFyZ2luLXN0YWNrZWQteHMpO1xuICAgICAgfVxuICAgIGAsXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lGb3JtRXJyb3JDb21wb25lbnQge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGVycm9yLlxuICAgKiBAcmVxdWlyZWRcbiAgICovXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXG4gIHB1YmxpYyBlcnJvck5hbWUhOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBlcnJvciBtZXNzYWdlIHRvIGRpc3BsYXkuXG4gICAqIEByZXF1aXJlZFxuICAgKi9cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcbiAgcHVibGljIGVycm9yVGV4dCE6IHN0cmluZztcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZm9ybUVycm9ycyA9IGluamVjdChTS1lfRk9STV9FUlJPUlNfRU5BQkxFRCwge1xuICAgIG9wdGlvbmFsOiB0cnVlLFxuICB9KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpZiAoIXRoaXMuZm9ybUVycm9ycykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnVGhlIGBza3ktZm9ybS1lcnJvcmAgY29tcG9uZW50IGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhlIHByb3ZpZGVkIGNvbnRleHQuJyxcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,4 +1,3 @@
1
- import { CommonModule } from '@angular/common';
2
1
  import { ChangeDetectionStrategy, Component, HostBinding, Input, booleanAttribute, } from '@angular/core';
3
2
  import { SkyIdModule } from '@skyux/core';
4
3
  import { SkyFormsResourcesModule } from '../shared/sky-forms-resources.module';
@@ -23,16 +22,11 @@ export class SkyFormErrorsComponent {
23
22
  this.ariaRelevant = 'all';
24
23
  }
25
24
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SkyFormErrorsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.2", type: SkyFormErrorsComponent, isStandalone: true, selector: "sky-form-errors", inputs: { errors: "errors", labelText: "labelText", touched: ["touched", "touched", booleanAttribute], dirty: ["dirty", "dirty", booleanAttribute] }, host: { properties: { "attr.aria-atomic": "this.ariaAtomic", "attr.aria-live": "this.ariaLive", "attr.aria-relevant": "this.ariaRelevant" } }, ngImport: i0, template: "@if (labelText) {\n @if (touched) {\n @if (errors?.['required']) {\n <sky-form-error\n errorName=\"required\"\n [errorText]=\"'skyux_form_error_required' | skyLibResources: labelText\"\n />\n }\n\n @if (errors?.['minlength']; as minLengthError) {\n <sky-form-error\n errorName=\"minlength\"\n [errorText]=\"\n 'skyux_form_error_minlength'\n | skyLibResources: labelText : minLengthError.requiredLength\n \"\n />\n }\n\n @if (errors?.['skyDate'] && errors?.['skyDate']['invalid']) {\n <sky-form-error\n errorName=\"invalidDate\"\n [errorText]=\"'skyux_form_error_date' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyDate'] && errors?.['skyDate']['minDate']) {\n <sky-form-error\n errorName=\"minDate\"\n [errorText]=\"'skyux_form_error_date_min' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyDate'] && errors?.['skyDate']['maxDate']) {\n <sky-form-error\n errorName=\"maxDate\"\n [errorText]=\"'skyux_form_error_date_max' | skyLibResources\"\n />\n }\n\n @if (\n errors?.['skyFuzzyDate'] && errors?.['skyFuzzyDate']['futureDisabled']\n ) {\n <sky-form-error\n errorName=\"fuzzyFutureDisabled\"\n [errorText]=\"\n 'skyux_form_error_fuzzy_date_future_disabled' | skyLibResources\n \"\n />\n }\n\n @if (errors?.['skyFuzzyDate'] && errors?.['skyFuzzyDate']['invalid']) {\n <sky-form-error\n errorName=\"fuzzyInvalidDate\"\n [errorText]=\"'skyux_form_error_fuzzy_date_invalid' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyFuzzyDate'] && errors?.['skyFuzzyDate']['maxDate']) {\n <sky-form-error\n errorName=\"fuzzyMaxDate\"\n [errorText]=\"'skyux_form_error_fuzzy_date_max_date' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyFuzzyDate'] && errors?.['skyFuzzyDate']['minDate']) {\n <sky-form-error\n errorName=\"fuzzyMinDate\"\n [errorText]=\"'skyux_form_error_fuzzy_date_min_date' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyFuzzyDate'] && errors?.['skyFuzzyDate']['yearRequired']) {\n <sky-form-error\n errorName=\"fuzzyYearRequired\"\n [errorText]=\"\n 'skyux_form_error_fuzzy_date_year_required' | skyLibResources\n \"\n />\n }\n\n @if (errors?.['skyEmail']) {\n <sky-form-error\n errorName=\"email\"\n [errorText]=\"'skyux_form_error_email' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyPhoneField']) {\n <sky-form-error\n errorName=\"phone\"\n [errorText]=\"'skyux_form_error_phone' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyTime']) {\n <sky-form-error\n errorName=\"time\"\n [errorText]=\"'skyux_form_error_time' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyUrl']) {\n <sky-form-error\n errorName=\"url\"\n [errorText]=\"'skyux_form_error_url' | skyLibResources\"\n />\n }\n }\n\n @if (touched || dirty) {\n @if (errors?.['maxlength']; as maxLengthError) {\n <sky-form-error\n errorName=\"maxlength\"\n [errorText]=\"\n 'skyux_form_error_maxlength'\n | skyLibResources: labelText : maxLengthError.requiredLength\n \"\n />\n }\n <ng-content />\n }\n}\n", styles: ["sky-status-indicator{display:block;line-height:normal}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: SkyIdModule }, { kind: "component", type: SkyFormErrorComponent, selector: "sky-form-error", inputs: ["errorName", "errorText"] }, { kind: "ngmodule", type: SkyFormsResourcesModule }, { kind: "pipe", type: i1.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
25
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.2", type: SkyFormErrorsComponent, isStandalone: true, selector: "sky-form-errors", inputs: { errors: "errors", labelText: "labelText", touched: ["touched", "touched", booleanAttribute], dirty: ["dirty", "dirty", booleanAttribute] }, host: { properties: { "attr.aria-atomic": "this.ariaAtomic", "attr.aria-live": "this.ariaLive", "attr.aria-relevant": "this.ariaRelevant" } }, ngImport: i0, template: "@if (labelText) {\n @if (touched) {\n @if (errors?.['required']) {\n <sky-form-error\n errorName=\"required\"\n [errorText]=\"'skyux_form_error_required' | skyLibResources: labelText\"\n />\n }\n\n @if (errors?.['minlength']; as minLengthError) {\n <sky-form-error\n errorName=\"minlength\"\n [errorText]=\"\n 'skyux_form_error_minlength'\n | skyLibResources: labelText : minLengthError.requiredLength\n \"\n />\n }\n\n @if (errors?.['skyDate'] && errors?.['skyDate']['invalid']) {\n <sky-form-error\n errorName=\"invalidDate\"\n [errorText]=\"'skyux_form_error_date' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyDate'] && errors?.['skyDate']['minDate']) {\n <sky-form-error\n errorName=\"minDate\"\n [errorText]=\"'skyux_form_error_date_min' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyDate'] && errors?.['skyDate']['maxDate']) {\n <sky-form-error\n errorName=\"maxDate\"\n [errorText]=\"'skyux_form_error_date_max' | skyLibResources\"\n />\n }\n\n @if (\n errors?.['skyFuzzyDate'] && errors?.['skyFuzzyDate']['futureDisabled']\n ) {\n <sky-form-error\n errorName=\"fuzzyFutureDisabled\"\n [errorText]=\"\n 'skyux_form_error_fuzzy_date_future_disabled' | skyLibResources\n \"\n />\n }\n\n @if (errors?.['skyFuzzyDate'] && errors?.['skyFuzzyDate']['invalid']) {\n <sky-form-error\n errorName=\"fuzzyInvalidDate\"\n [errorText]=\"'skyux_form_error_fuzzy_date_invalid' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyFuzzyDate'] && errors?.['skyFuzzyDate']['maxDate']) {\n <sky-form-error\n errorName=\"fuzzyMaxDate\"\n [errorText]=\"'skyux_form_error_fuzzy_date_max_date' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyFuzzyDate'] && errors?.['skyFuzzyDate']['minDate']) {\n <sky-form-error\n errorName=\"fuzzyMinDate\"\n [errorText]=\"'skyux_form_error_fuzzy_date_min_date' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyFuzzyDate'] && errors?.['skyFuzzyDate']['yearRequired']) {\n <sky-form-error\n errorName=\"fuzzyYearRequired\"\n [errorText]=\"\n 'skyux_form_error_fuzzy_date_year_required' | skyLibResources\n \"\n />\n }\n\n @if (errors?.['skyEmail']) {\n <sky-form-error\n errorName=\"email\"\n [errorText]=\"'skyux_form_error_email' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyPhoneField']) {\n <sky-form-error\n errorName=\"phone\"\n [errorText]=\"'skyux_form_error_phone' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyTime']) {\n <sky-form-error\n errorName=\"time\"\n [errorText]=\"'skyux_form_error_time' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyUrl']) {\n <sky-form-error\n errorName=\"url\"\n [errorText]=\"'skyux_form_error_url' | skyLibResources\"\n />\n }\n }\n\n @if (touched || dirty) {\n @if (errors?.['maxlength']; as maxLengthError) {\n <sky-form-error\n errorName=\"maxlength\"\n [errorText]=\"\n 'skyux_form_error_maxlength'\n | skyLibResources: labelText : maxLengthError.requiredLength\n \"\n />\n }\n <ng-content />\n }\n}\n", styles: ["sky-status-indicator{display:block;line-height:normal}\n"], dependencies: [{ kind: "ngmodule", type: SkyIdModule }, { kind: "component", type: SkyFormErrorComponent, selector: "sky-form-error", inputs: ["errorName", "errorText"] }, { kind: "ngmodule", type: SkyFormsResourcesModule }, { kind: "pipe", type: i1.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
27
26
  }
28
27
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SkyFormErrorsComponent, decorators: [{
29
28
  type: Component,
30
- args: [{ selector: 'sky-form-errors', standalone: true, imports: [
31
- CommonModule,
32
- SkyIdModule,
33
- SkyFormErrorComponent,
34
- SkyFormsResourcesModule,
35
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (labelText) {\n @if (touched) {\n @if (errors?.['required']) {\n <sky-form-error\n errorName=\"required\"\n [errorText]=\"'skyux_form_error_required' | skyLibResources: labelText\"\n />\n }\n\n @if (errors?.['minlength']; as minLengthError) {\n <sky-form-error\n errorName=\"minlength\"\n [errorText]=\"\n 'skyux_form_error_minlength'\n | skyLibResources: labelText : minLengthError.requiredLength\n \"\n />\n }\n\n @if (errors?.['skyDate'] && errors?.['skyDate']['invalid']) {\n <sky-form-error\n errorName=\"invalidDate\"\n [errorText]=\"'skyux_form_error_date' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyDate'] && errors?.['skyDate']['minDate']) {\n <sky-form-error\n errorName=\"minDate\"\n [errorText]=\"'skyux_form_error_date_min' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyDate'] && errors?.['skyDate']['maxDate']) {\n <sky-form-error\n errorName=\"maxDate\"\n [errorText]=\"'skyux_form_error_date_max' | skyLibResources\"\n />\n }\n\n @if (\n errors?.['skyFuzzyDate'] && errors?.['skyFuzzyDate']['futureDisabled']\n ) {\n <sky-form-error\n errorName=\"fuzzyFutureDisabled\"\n [errorText]=\"\n 'skyux_form_error_fuzzy_date_future_disabled' | skyLibResources\n \"\n />\n }\n\n @if (errors?.['skyFuzzyDate'] && errors?.['skyFuzzyDate']['invalid']) {\n <sky-form-error\n errorName=\"fuzzyInvalidDate\"\n [errorText]=\"'skyux_form_error_fuzzy_date_invalid' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyFuzzyDate'] && errors?.['skyFuzzyDate']['maxDate']) {\n <sky-form-error\n errorName=\"fuzzyMaxDate\"\n [errorText]=\"'skyux_form_error_fuzzy_date_max_date' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyFuzzyDate'] && errors?.['skyFuzzyDate']['minDate']) {\n <sky-form-error\n errorName=\"fuzzyMinDate\"\n [errorText]=\"'skyux_form_error_fuzzy_date_min_date' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyFuzzyDate'] && errors?.['skyFuzzyDate']['yearRequired']) {\n <sky-form-error\n errorName=\"fuzzyYearRequired\"\n [errorText]=\"\n 'skyux_form_error_fuzzy_date_year_required' | skyLibResources\n \"\n />\n }\n\n @if (errors?.['skyEmail']) {\n <sky-form-error\n errorName=\"email\"\n [errorText]=\"'skyux_form_error_email' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyPhoneField']) {\n <sky-form-error\n errorName=\"phone\"\n [errorText]=\"'skyux_form_error_phone' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyTime']) {\n <sky-form-error\n errorName=\"time\"\n [errorText]=\"'skyux_form_error_time' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyUrl']) {\n <sky-form-error\n errorName=\"url\"\n [errorText]=\"'skyux_form_error_url' | skyLibResources\"\n />\n }\n }\n\n @if (touched || dirty) {\n @if (errors?.['maxlength']; as maxLengthError) {\n <sky-form-error\n errorName=\"maxlength\"\n [errorText]=\"\n 'skyux_form_error_maxlength'\n | skyLibResources: labelText : maxLengthError.requiredLength\n \"\n />\n }\n <ng-content />\n }\n}\n", styles: ["sky-status-indicator{display:block;line-height:normal}\n"] }]
29
+ args: [{ selector: 'sky-form-errors', standalone: true, imports: [SkyIdModule, SkyFormErrorComponent, SkyFormsResourcesModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (labelText) {\n @if (touched) {\n @if (errors?.['required']) {\n <sky-form-error\n errorName=\"required\"\n [errorText]=\"'skyux_form_error_required' | skyLibResources: labelText\"\n />\n }\n\n @if (errors?.['minlength']; as minLengthError) {\n <sky-form-error\n errorName=\"minlength\"\n [errorText]=\"\n 'skyux_form_error_minlength'\n | skyLibResources: labelText : minLengthError.requiredLength\n \"\n />\n }\n\n @if (errors?.['skyDate'] && errors?.['skyDate']['invalid']) {\n <sky-form-error\n errorName=\"invalidDate\"\n [errorText]=\"'skyux_form_error_date' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyDate'] && errors?.['skyDate']['minDate']) {\n <sky-form-error\n errorName=\"minDate\"\n [errorText]=\"'skyux_form_error_date_min' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyDate'] && errors?.['skyDate']['maxDate']) {\n <sky-form-error\n errorName=\"maxDate\"\n [errorText]=\"'skyux_form_error_date_max' | skyLibResources\"\n />\n }\n\n @if (\n errors?.['skyFuzzyDate'] && errors?.['skyFuzzyDate']['futureDisabled']\n ) {\n <sky-form-error\n errorName=\"fuzzyFutureDisabled\"\n [errorText]=\"\n 'skyux_form_error_fuzzy_date_future_disabled' | skyLibResources\n \"\n />\n }\n\n @if (errors?.['skyFuzzyDate'] && errors?.['skyFuzzyDate']['invalid']) {\n <sky-form-error\n errorName=\"fuzzyInvalidDate\"\n [errorText]=\"'skyux_form_error_fuzzy_date_invalid' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyFuzzyDate'] && errors?.['skyFuzzyDate']['maxDate']) {\n <sky-form-error\n errorName=\"fuzzyMaxDate\"\n [errorText]=\"'skyux_form_error_fuzzy_date_max_date' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyFuzzyDate'] && errors?.['skyFuzzyDate']['minDate']) {\n <sky-form-error\n errorName=\"fuzzyMinDate\"\n [errorText]=\"'skyux_form_error_fuzzy_date_min_date' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyFuzzyDate'] && errors?.['skyFuzzyDate']['yearRequired']) {\n <sky-form-error\n errorName=\"fuzzyYearRequired\"\n [errorText]=\"\n 'skyux_form_error_fuzzy_date_year_required' | skyLibResources\n \"\n />\n }\n\n @if (errors?.['skyEmail']) {\n <sky-form-error\n errorName=\"email\"\n [errorText]=\"'skyux_form_error_email' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyPhoneField']) {\n <sky-form-error\n errorName=\"phone\"\n [errorText]=\"'skyux_form_error_phone' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyTime']) {\n <sky-form-error\n errorName=\"time\"\n [errorText]=\"'skyux_form_error_time' | skyLibResources\"\n />\n }\n\n @if (errors?.['skyUrl']) {\n <sky-form-error\n errorName=\"url\"\n [errorText]=\"'skyux_form_error_url' | skyLibResources\"\n />\n }\n }\n\n @if (touched || dirty) {\n @if (errors?.['maxlength']; as maxLengthError) {\n <sky-form-error\n errorName=\"maxlength\"\n [errorText]=\"\n 'skyux_form_error_maxlength'\n | skyLibResources: labelText : maxLengthError.requiredLength\n \"\n />\n }\n <ng-content />\n }\n}\n", styles: ["sky-status-indicator{display:block;line-height:normal}\n"] }]
36
30
  }], propDecorators: { errors: [{
37
31
  type: Input
38
32
  }], labelText: [{
@@ -53,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImpor
53
47
  type: HostBinding,
54
48
  args: ['attr.aria-relevant']
55
49
  }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9mb3JtLWVycm9yL2Zvcm0tZXJyb3JzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy9zcmMvbGliL21vZHVsZXMvZm9ybS1lcnJvci9mb3JtLWVycm9ycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFDTCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUUxQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUUvRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBRS9EOztHQUVHO0FBY0gsTUFBTSxPQUFPLHNCQUFzQjtJQWJuQztRQTBCRTs7V0FFRztRQUVJLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFdkI7O1dBRUc7UUFFSSxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBR0YsZUFBVSxHQUFHLE1BQU0sQ0FBQztRQUdwQixhQUFRLEdBQUcsV0FBVyxDQUFDO1FBR3ZCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO0tBQ3pDOzhHQWpDWSxzQkFBc0I7a0dBQXRCLHNCQUFzQix1SUFnQmIsZ0JBQWdCLDZCQU1oQixnQkFBZ0IsNEtDckR0QywwM0dBMkhBLGlIRHJHSSxZQUFZLDhCQUNaLFdBQVcsK0JBQ1gscUJBQXFCLDhGQUNyQix1QkFBdUI7OzJGQU1kLHNCQUFzQjtrQkFibEMsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLHFCQUFxQjt3QkFDckIsdUJBQXVCO3FCQUN4QixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTTs4QkFPeEMsTUFBTTtzQkFEWixLQUFLO2dCQU9DLFNBQVM7c0JBRGYsS0FBSztnQkFPQyxPQUFPO3NCQURiLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBTy9CLEtBQUs7c0JBRFgsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFJbkIsVUFBVTtzQkFENUIsV0FBVzt1QkFBQyxrQkFBa0I7Z0JBSVosUUFBUTtzQkFEMUIsV0FBVzt1QkFBQyxnQkFBZ0I7Z0JBSVYsWUFBWTtzQkFEOUIsV0FBVzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBib29sZWFuQXR0cmlidXRlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTa3lJZE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgU2t5Rm9ybXNSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LWZvcm1zLXJlc291cmNlcy5tb2R1bGUnO1xuXG5pbXBvcnQgeyBTa3lGb3JtRXJyb3JDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZXJyb3IuY29tcG9uZW50JztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWZvcm0tZXJyb3JzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTa3lJZE1vZHVsZSxcbiAgICBTa3lGb3JtRXJyb3JDb21wb25lbnQsXG4gICAgU2t5Rm9ybXNSZXNvdXJjZXNNb2R1bGUsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3JtLWVycm9ycy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tZXJyb3JzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lGb3JtRXJyb3JzQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFRoZSB2YWxpZGF0aW9uIGVycm9ycyBmcm9tIHRoZSBmb3JtIGNvbnRyb2wuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogSW5wdXQgbGFiZWwgdGV4dCB0byBkaXNwbGF5IGluIHRoZSBlcnJvciBtZXNzYWdlcy5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBsYWJlbFRleHQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHBhcmVudCBjb21wb25lbnQncyBjb250cm9sIGlzIHRvdWNoZWRcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgdG91Y2hlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgcGFyZW50IGNvbXBvbmVudCdzIGNvbnRyb2wgaXMgZGlydHlcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgZGlydHkgPSBmYWxzZTtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1hdG9taWMnKVxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXJpYUF0b21pYyA9ICd0cnVlJztcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1saXZlJylcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGFyaWFMaXZlID0gJ2Fzc2VydGl2ZSc7XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtcmVsZXZhbnQnKVxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXJpYVJlbGV2YW50ID0gJ2FsbCc7XG59XG4iLCJAaWYgKGxhYmVsVGV4dCkge1xuICBAaWYgKHRvdWNoZWQpIHtcbiAgICBAaWYgKGVycm9ycz8uWydyZXF1aXJlZCddKSB7XG4gICAgICA8c2t5LWZvcm0tZXJyb3JcbiAgICAgICAgZXJyb3JOYW1lPVwicmVxdWlyZWRcIlxuICAgICAgICBbZXJyb3JUZXh0XT1cIidza3l1eF9mb3JtX2Vycm9yX3JlcXVpcmVkJyB8IHNreUxpYlJlc291cmNlczogbGFiZWxUZXh0XCJcbiAgICAgIC8+XG4gICAgfVxuXG4gICAgQGlmIChlcnJvcnM/LlsnbWlubGVuZ3RoJ107IGFzIG1pbkxlbmd0aEVycm9yKSB7XG4gICAgICA8c2t5LWZvcm0tZXJyb3JcbiAgICAgICAgZXJyb3JOYW1lPVwibWlubGVuZ3RoXCJcbiAgICAgICAgW2Vycm9yVGV4dF09XCJcbiAgICAgICAgICAnc2t5dXhfZm9ybV9lcnJvcl9taW5sZW5ndGgnXG4gICAgICAgICAgICB8IHNreUxpYlJlc291cmNlczogbGFiZWxUZXh0IDogbWluTGVuZ3RoRXJyb3IucmVxdWlyZWRMZW5ndGhcbiAgICAgICAgXCJcbiAgICAgIC8+XG4gICAgfVxuXG4gICAgQGlmIChlcnJvcnM/Llsnc2t5RGF0ZSddICYmIGVycm9ycz8uWydza3lEYXRlJ11bJ2ludmFsaWQnXSkge1xuICAgICAgPHNreS1mb3JtLWVycm9yXG4gICAgICAgIGVycm9yTmFtZT1cImludmFsaWREYXRlXCJcbiAgICAgICAgW2Vycm9yVGV4dF09XCInc2t5dXhfZm9ybV9lcnJvcl9kYXRlJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAvPlxuICAgIH1cblxuICAgIEBpZiAoZXJyb3JzPy5bJ3NreURhdGUnXSAmJiBlcnJvcnM/Llsnc2t5RGF0ZSddWydtaW5EYXRlJ10pIHtcbiAgICAgIDxza3ktZm9ybS1lcnJvclxuICAgICAgICBlcnJvck5hbWU9XCJtaW5EYXRlXCJcbiAgICAgICAgW2Vycm9yVGV4dF09XCInc2t5dXhfZm9ybV9lcnJvcl9kYXRlX21pbicgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgLz5cbiAgICB9XG5cbiAgICBAaWYgKGVycm9ycz8uWydza3lEYXRlJ10gJiYgZXJyb3JzPy5bJ3NreURhdGUnXVsnbWF4RGF0ZSddKSB7XG4gICAgICA8c2t5LWZvcm0tZXJyb3JcbiAgICAgICAgZXJyb3JOYW1lPVwibWF4RGF0ZVwiXG4gICAgICAgIFtlcnJvclRleHRdPVwiJ3NreXV4X2Zvcm1fZXJyb3JfZGF0ZV9tYXgnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgIC8+XG4gICAgfVxuXG4gICAgQGlmIChcbiAgICAgIGVycm9ycz8uWydza3lGdXp6eURhdGUnXSAmJiBlcnJvcnM/Llsnc2t5RnV6enlEYXRlJ11bJ2Z1dHVyZURpc2FibGVkJ11cbiAgICApIHtcbiAgICAgIDxza3ktZm9ybS1lcnJvclxuICAgICAgICBlcnJvck5hbWU9XCJmdXp6eUZ1dHVyZURpc2FibGVkXCJcbiAgICAgICAgW2Vycm9yVGV4dF09XCJcbiAgICAgICAgICAnc2t5dXhfZm9ybV9lcnJvcl9mdXp6eV9kYXRlX2Z1dHVyZV9kaXNhYmxlZCcgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgXCJcbiAgICAgIC8+XG4gICAgfVxuXG4gICAgQGlmIChlcnJvcnM/Llsnc2t5RnV6enlEYXRlJ10gJiYgZXJyb3JzPy5bJ3NreUZ1enp5RGF0ZSddWydpbnZhbGlkJ10pIHtcbiAgICAgIDxza3ktZm9ybS1lcnJvclxuICAgICAgICBlcnJvck5hbWU9XCJmdXp6eUludmFsaWREYXRlXCJcbiAgICAgICAgW2Vycm9yVGV4dF09XCInc2t5dXhfZm9ybV9lcnJvcl9mdXp6eV9kYXRlX2ludmFsaWQnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgIC8+XG4gICAgfVxuXG4gICAgQGlmIChlcnJvcnM/Llsnc2t5RnV6enlEYXRlJ10gJiYgZXJyb3JzPy5bJ3NreUZ1enp5RGF0ZSddWydtYXhEYXRlJ10pIHtcbiAgICAgIDxza3ktZm9ybS1lcnJvclxuICAgICAgICBlcnJvck5hbWU9XCJmdXp6eU1heERhdGVcIlxuICAgICAgICBbZXJyb3JUZXh0XT1cIidza3l1eF9mb3JtX2Vycm9yX2Z1enp5X2RhdGVfbWF4X2RhdGUnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgIC8+XG4gICAgfVxuXG4gICAgQGlmIChlcnJvcnM/Llsnc2t5RnV6enlEYXRlJ10gJiYgZXJyb3JzPy5bJ3NreUZ1enp5RGF0ZSddWydtaW5EYXRlJ10pIHtcbiAgICAgIDxza3ktZm9ybS1lcnJvclxuICAgICAgICBlcnJvck5hbWU9XCJmdXp6eU1pbkRhdGVcIlxuICAgICAgICBbZXJyb3JUZXh0XT1cIidza3l1eF9mb3JtX2Vycm9yX2Z1enp5X2RhdGVfbWluX2RhdGUnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgIC8+XG4gICAgfVxuXG4gICAgQGlmIChlcnJvcnM/Llsnc2t5RnV6enlEYXRlJ10gJiYgZXJyb3JzPy5bJ3NreUZ1enp5RGF0ZSddWyd5ZWFyUmVxdWlyZWQnXSkge1xuICAgICAgPHNreS1mb3JtLWVycm9yXG4gICAgICAgIGVycm9yTmFtZT1cImZ1enp5WWVhclJlcXVpcmVkXCJcbiAgICAgICAgW2Vycm9yVGV4dF09XCJcbiAgICAgICAgICAnc2t5dXhfZm9ybV9lcnJvcl9mdXp6eV9kYXRlX3llYXJfcmVxdWlyZWQnIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICAgIFwiXG4gICAgICAvPlxuICAgIH1cblxuICAgIEBpZiAoZXJyb3JzPy5bJ3NreUVtYWlsJ10pIHtcbiAgICAgIDxza3ktZm9ybS1lcnJvclxuICAgICAgICBlcnJvck5hbWU9XCJlbWFpbFwiXG4gICAgICAgIFtlcnJvclRleHRdPVwiJ3NreXV4X2Zvcm1fZXJyb3JfZW1haWwnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgIC8+XG4gICAgfVxuXG4gICAgQGlmIChlcnJvcnM/Llsnc2t5UGhvbmVGaWVsZCddKSB7XG4gICAgICA8c2t5LWZvcm0tZXJyb3JcbiAgICAgICAgZXJyb3JOYW1lPVwicGhvbmVcIlxuICAgICAgICBbZXJyb3JUZXh0XT1cIidza3l1eF9mb3JtX2Vycm9yX3Bob25lJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAvPlxuICAgIH1cblxuICAgIEBpZiAoZXJyb3JzPy5bJ3NreVRpbWUnXSkge1xuICAgICAgPHNreS1mb3JtLWVycm9yXG4gICAgICAgIGVycm9yTmFtZT1cInRpbWVcIlxuICAgICAgICBbZXJyb3JUZXh0XT1cIidza3l1eF9mb3JtX2Vycm9yX3RpbWUnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgIC8+XG4gICAgfVxuXG4gICAgQGlmIChlcnJvcnM/Llsnc2t5VXJsJ10pIHtcbiAgICAgIDxza3ktZm9ybS1lcnJvclxuICAgICAgICBlcnJvck5hbWU9XCJ1cmxcIlxuICAgICAgICBbZXJyb3JUZXh0XT1cIidza3l1eF9mb3JtX2Vycm9yX3VybCcgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgLz5cbiAgICB9XG4gIH1cblxuICBAaWYgKHRvdWNoZWQgfHwgZGlydHkpIHtcbiAgICBAaWYgKGVycm9ycz8uWydtYXhsZW5ndGgnXTsgYXMgbWF4TGVuZ3RoRXJyb3IpIHtcbiAgICAgIDxza3ktZm9ybS1lcnJvclxuICAgICAgICBlcnJvck5hbWU9XCJtYXhsZW5ndGhcIlxuICAgICAgICBbZXJyb3JUZXh0XT1cIlxuICAgICAgICAgICdza3l1eF9mb3JtX2Vycm9yX21heGxlbmd0aCdcbiAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzOiBsYWJlbFRleHQgOiBtYXhMZW5ndGhFcnJvci5yZXF1aXJlZExlbmd0aFxuICAgICAgICBcIlxuICAgICAgLz5cbiAgICB9XG4gICAgPG5nLWNvbnRlbnQgLz5cbiAgfVxufVxuIl19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1lcnJvcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9mb3JtLWVycm9yL2Zvcm0tZXJyb3JzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy9zcmMvbGliL21vZHVsZXMvZm9ybS1lcnJvci9mb3JtLWVycm9ycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUNMLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRS9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFFL0Q7O0dBRUc7QUFTSCxNQUFNLE9BQU8sc0JBQXNCO0lBUm5DO1FBcUJFOztXQUVHO1FBRUksWUFBTyxHQUFHLEtBQUssQ0FBQztRQUV2Qjs7V0FFRztRQUVJLFVBQUssR0FBRyxLQUFLLENBQUM7UUFHRixlQUFVLEdBQUcsTUFBTSxDQUFDO1FBR3BCLGFBQVEsR0FBRyxXQUFXLENBQUM7UUFHdkIsaUJBQVksR0FBRyxLQUFLLENBQUM7S0FDekM7OEdBakNZLHNCQUFzQjtrR0FBdEIsc0JBQXNCLHVJQWdCYixnQkFBZ0IsNkJBTWhCLGdCQUFnQiw0S0MvQ3RDLDAzR0EySEEsaUhEdkdZLFdBQVcsK0JBQUUscUJBQXFCLDhGQUFFLHVCQUF1Qjs7MkZBSzFELHNCQUFzQjtrQkFSbEMsU0FBUzsrQkFDRSxpQkFBaUIsY0FDZixJQUFJLFdBQ1AsQ0FBQyxXQUFXLEVBQUUscUJBQXFCLEVBQUUsdUJBQXVCLENBQUMsbUJBR3JELHVCQUF1QixDQUFDLE1BQU07OEJBT3hDLE1BQU07c0JBRFosS0FBSztnQkFPQyxTQUFTO3NCQURmLEtBQUs7Z0JBT0MsT0FBTztzQkFEYixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQU8vQixLQUFLO3NCQURYLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSW5CLFVBQVU7c0JBRDVCLFdBQVc7dUJBQUMsa0JBQWtCO2dCQUlaLFFBQVE7c0JBRDFCLFdBQVc7dUJBQUMsZ0JBQWdCO2dCQUlWLFlBQVk7c0JBRDlCLFdBQVc7dUJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBib29sZWFuQXR0cmlidXRlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTa3lJZE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgU2t5Rm9ybXNSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LWZvcm1zLXJlc291cmNlcy5tb2R1bGUnO1xuXG5pbXBvcnQgeyBTa3lGb3JtRXJyb3JDb21wb25lbnQgfSBmcm9tICcuL2Zvcm0tZXJyb3IuY29tcG9uZW50JztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWZvcm0tZXJyb3JzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1NreUlkTW9kdWxlLCBTa3lGb3JtRXJyb3JDb21wb25lbnQsIFNreUZvcm1zUmVzb3VyY2VzTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tZXJyb3JzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1lcnJvcnMuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFNreUZvcm1FcnJvcnNDb21wb25lbnQge1xuICAvKipcbiAgICogVGhlIHZhbGlkYXRpb24gZXJyb3JzIGZyb20gdGhlIGZvcm0gY29udHJvbC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBlcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBJbnB1dCBsYWJlbCB0ZXh0IHRvIGRpc3BsYXkgaW4gdGhlIGVycm9yIG1lc3NhZ2VzLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGxhYmVsVGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgcGFyZW50IGNvbXBvbmVudCdzIGNvbnRyb2wgaXMgdG91Y2hlZFxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHB1YmxpYyB0b3VjaGVkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBwYXJlbnQgY29tcG9uZW50J3MgY29udHJvbCBpcyBkaXJ0eVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBkaXJ0eSA9IGZhbHNlO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWF0b21pYycpXG4gIHByb3RlY3RlZCByZWFkb25seSBhcmlhQXRvbWljID0gJ3RydWUnO1xuXG4gIEBIb3N0QmluZGluZygnYXR0ci5hcmlhLWxpdmUnKVxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXJpYUxpdmUgPSAnYXNzZXJ0aXZlJztcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1yZWxldmFudCcpXG4gIHByb3RlY3RlZCByZWFkb25seSBhcmlhUmVsZXZhbnQgPSAnYWxsJztcbn1cbiIsIkBpZiAobGFiZWxUZXh0KSB7XG4gIEBpZiAodG91Y2hlZCkge1xuICAgIEBpZiAoZXJyb3JzPy5bJ3JlcXVpcmVkJ10pIHtcbiAgICAgIDxza3ktZm9ybS1lcnJvclxuICAgICAgICBlcnJvck5hbWU9XCJyZXF1aXJlZFwiXG4gICAgICAgIFtlcnJvclRleHRdPVwiJ3NreXV4X2Zvcm1fZXJyb3JfcmVxdWlyZWQnIHwgc2t5TGliUmVzb3VyY2VzOiBsYWJlbFRleHRcIlxuICAgICAgLz5cbiAgICB9XG5cbiAgICBAaWYgKGVycm9ycz8uWydtaW5sZW5ndGgnXTsgYXMgbWluTGVuZ3RoRXJyb3IpIHtcbiAgICAgIDxza3ktZm9ybS1lcnJvclxuICAgICAgICBlcnJvck5hbWU9XCJtaW5sZW5ndGhcIlxuICAgICAgICBbZXJyb3JUZXh0XT1cIlxuICAgICAgICAgICdza3l1eF9mb3JtX2Vycm9yX21pbmxlbmd0aCdcbiAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzOiBsYWJlbFRleHQgOiBtaW5MZW5ndGhFcnJvci5yZXF1aXJlZExlbmd0aFxuICAgICAgICBcIlxuICAgICAgLz5cbiAgICB9XG5cbiAgICBAaWYgKGVycm9ycz8uWydza3lEYXRlJ10gJiYgZXJyb3JzPy5bJ3NreURhdGUnXVsnaW52YWxpZCddKSB7XG4gICAgICA8c2t5LWZvcm0tZXJyb3JcbiAgICAgICAgZXJyb3JOYW1lPVwiaW52YWxpZERhdGVcIlxuICAgICAgICBbZXJyb3JUZXh0XT1cIidza3l1eF9mb3JtX2Vycm9yX2RhdGUnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgIC8+XG4gICAgfVxuXG4gICAgQGlmIChlcnJvcnM/Llsnc2t5RGF0ZSddICYmIGVycm9ycz8uWydza3lEYXRlJ11bJ21pbkRhdGUnXSkge1xuICAgICAgPHNreS1mb3JtLWVycm9yXG4gICAgICAgIGVycm9yTmFtZT1cIm1pbkRhdGVcIlxuICAgICAgICBbZXJyb3JUZXh0XT1cIidza3l1eF9mb3JtX2Vycm9yX2RhdGVfbWluJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAvPlxuICAgIH1cblxuICAgIEBpZiAoZXJyb3JzPy5bJ3NreURhdGUnXSAmJiBlcnJvcnM/Llsnc2t5RGF0ZSddWydtYXhEYXRlJ10pIHtcbiAgICAgIDxza3ktZm9ybS1lcnJvclxuICAgICAgICBlcnJvck5hbWU9XCJtYXhEYXRlXCJcbiAgICAgICAgW2Vycm9yVGV4dF09XCInc2t5dXhfZm9ybV9lcnJvcl9kYXRlX21heCcgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgLz5cbiAgICB9XG5cbiAgICBAaWYgKFxuICAgICAgZXJyb3JzPy5bJ3NreUZ1enp5RGF0ZSddICYmIGVycm9ycz8uWydza3lGdXp6eURhdGUnXVsnZnV0dXJlRGlzYWJsZWQnXVxuICAgICkge1xuICAgICAgPHNreS1mb3JtLWVycm9yXG4gICAgICAgIGVycm9yTmFtZT1cImZ1enp5RnV0dXJlRGlzYWJsZWRcIlxuICAgICAgICBbZXJyb3JUZXh0XT1cIlxuICAgICAgICAgICdza3l1eF9mb3JtX2Vycm9yX2Z1enp5X2RhdGVfZnV0dXJlX2Rpc2FibGVkJyB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICBcIlxuICAgICAgLz5cbiAgICB9XG5cbiAgICBAaWYgKGVycm9ycz8uWydza3lGdXp6eURhdGUnXSAmJiBlcnJvcnM/Llsnc2t5RnV6enlEYXRlJ11bJ2ludmFsaWQnXSkge1xuICAgICAgPHNreS1mb3JtLWVycm9yXG4gICAgICAgIGVycm9yTmFtZT1cImZ1enp5SW52YWxpZERhdGVcIlxuICAgICAgICBbZXJyb3JUZXh0XT1cIidza3l1eF9mb3JtX2Vycm9yX2Z1enp5X2RhdGVfaW52YWxpZCcgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgLz5cbiAgICB9XG5cbiAgICBAaWYgKGVycm9ycz8uWydza3lGdXp6eURhdGUnXSAmJiBlcnJvcnM/Llsnc2t5RnV6enlEYXRlJ11bJ21heERhdGUnXSkge1xuICAgICAgPHNreS1mb3JtLWVycm9yXG4gICAgICAgIGVycm9yTmFtZT1cImZ1enp5TWF4RGF0ZVwiXG4gICAgICAgIFtlcnJvclRleHRdPVwiJ3NreXV4X2Zvcm1fZXJyb3JfZnV6enlfZGF0ZV9tYXhfZGF0ZScgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgLz5cbiAgICB9XG5cbiAgICBAaWYgKGVycm9ycz8uWydza3lGdXp6eURhdGUnXSAmJiBlcnJvcnM/Llsnc2t5RnV6enlEYXRlJ11bJ21pbkRhdGUnXSkge1xuICAgICAgPHNreS1mb3JtLWVycm9yXG4gICAgICAgIGVycm9yTmFtZT1cImZ1enp5TWluRGF0ZVwiXG4gICAgICAgIFtlcnJvclRleHRdPVwiJ3NreXV4X2Zvcm1fZXJyb3JfZnV6enlfZGF0ZV9taW5fZGF0ZScgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgLz5cbiAgICB9XG5cbiAgICBAaWYgKGVycm9ycz8uWydza3lGdXp6eURhdGUnXSAmJiBlcnJvcnM/Llsnc2t5RnV6enlEYXRlJ11bJ3llYXJSZXF1aXJlZCddKSB7XG4gICAgICA8c2t5LWZvcm0tZXJyb3JcbiAgICAgICAgZXJyb3JOYW1lPVwiZnV6enlZZWFyUmVxdWlyZWRcIlxuICAgICAgICBbZXJyb3JUZXh0XT1cIlxuICAgICAgICAgICdza3l1eF9mb3JtX2Vycm9yX2Z1enp5X2RhdGVfeWVhcl9yZXF1aXJlZCcgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgXCJcbiAgICAgIC8+XG4gICAgfVxuXG4gICAgQGlmIChlcnJvcnM/Llsnc2t5RW1haWwnXSkge1xuICAgICAgPHNreS1mb3JtLWVycm9yXG4gICAgICAgIGVycm9yTmFtZT1cImVtYWlsXCJcbiAgICAgICAgW2Vycm9yVGV4dF09XCInc2t5dXhfZm9ybV9lcnJvcl9lbWFpbCcgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgLz5cbiAgICB9XG5cbiAgICBAaWYgKGVycm9ycz8uWydza3lQaG9uZUZpZWxkJ10pIHtcbiAgICAgIDxza3ktZm9ybS1lcnJvclxuICAgICAgICBlcnJvck5hbWU9XCJwaG9uZVwiXG4gICAgICAgIFtlcnJvclRleHRdPVwiJ3NreXV4X2Zvcm1fZXJyb3JfcGhvbmUnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgIC8+XG4gICAgfVxuXG4gICAgQGlmIChlcnJvcnM/Llsnc2t5VGltZSddKSB7XG4gICAgICA8c2t5LWZvcm0tZXJyb3JcbiAgICAgICAgZXJyb3JOYW1lPVwidGltZVwiXG4gICAgICAgIFtlcnJvclRleHRdPVwiJ3NreXV4X2Zvcm1fZXJyb3JfdGltZScgfCBza3lMaWJSZXNvdXJjZXNcIlxuICAgICAgLz5cbiAgICB9XG5cbiAgICBAaWYgKGVycm9ycz8uWydza3lVcmwnXSkge1xuICAgICAgPHNreS1mb3JtLWVycm9yXG4gICAgICAgIGVycm9yTmFtZT1cInVybFwiXG4gICAgICAgIFtlcnJvclRleHRdPVwiJ3NreXV4X2Zvcm1fZXJyb3JfdXJsJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAvPlxuICAgIH1cbiAgfVxuXG4gIEBpZiAodG91Y2hlZCB8fCBkaXJ0eSkge1xuICAgIEBpZiAoZXJyb3JzPy5bJ21heGxlbmd0aCddOyBhcyBtYXhMZW5ndGhFcnJvcikge1xuICAgICAgPHNreS1mb3JtLWVycm9yXG4gICAgICAgIGVycm9yTmFtZT1cIm1heGxlbmd0aFwiXG4gICAgICAgIFtlcnJvclRleHRdPVwiXG4gICAgICAgICAgJ3NreXV4X2Zvcm1fZXJyb3JfbWF4bGVuZ3RoJ1xuICAgICAgICAgICAgfCBza3lMaWJSZXNvdXJjZXM6IGxhYmVsVGV4dCA6IG1heExlbmd0aEVycm9yLnJlcXVpcmVkTGVuZ3RoXG4gICAgICAgIFwiXG4gICAgICAvPlxuICAgIH1cbiAgICA8bmctY29udGVudCAvPlxuICB9XG59XG4iXX0=