ngx-vest-forms 1.0.2 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -584,3 +584,8 @@ export class AddressComponent {
584
584
  ```
585
585
 
586
586
  You can check the examples in the github repo [here](https://github.com/simplifiedcourses/ngx-vest-forms/blob/master/projects/examples).
587
+
588
+ ## Want to learn more?
589
+ [![course.jpeg](course.jpeg)](https://www.simplified.courses/complex-angular-template-driven-forms)
590
+
591
+ [This course](https://www.simplified.courses/complex-angular-template-driven-forms) teaches you to become a form expert in no time.
@@ -1,21 +1,17 @@
1
- import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, DestroyRef, HostBinding, inject } from '@angular/core';
1
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, HostBinding, inject, } from '@angular/core';
2
2
  import { NgModel, NgModelGroup } from '@angular/forms';
3
- import { mergeWith, of, switchMap } from 'rxjs';
4
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
3
+ import { mergeWith, of, Subject, switchMap, takeUntil } from 'rxjs';
5
4
  import { FormDirective } from '../../directives/form.directive';
6
5
  import * as i0 from "@angular/core";
7
6
  export class ControlWrapperComponent {
8
7
  constructor() {
9
- this.cdRef = inject(ChangeDetectorRef);
10
- this.formDirective = inject(FormDirective);
11
- this.destroyRef = inject(DestroyRef);
12
8
  this.ngModelGroup = inject(NgModelGroup, {
13
9
  optional: true,
14
10
  self: true,
15
11
  });
16
- }
17
- get control() {
18
- return this.ngModelGroup ? this.ngModelGroup.control : this.ngModel?.control;
12
+ this.destroy$$ = new Subject();
13
+ this.cdRef = inject(ChangeDetectorRef);
14
+ this.formDirective = inject(FormDirective);
19
15
  }
20
16
  get invalid() {
21
17
  return this.control?.touched && this.errors;
@@ -29,13 +25,21 @@ export class ControlWrapperComponent {
29
25
  }
30
26
  return this.control?.errors?.['errors'];
31
27
  }
28
+ get control() {
29
+ return this.ngModelGroup
30
+ ? this.ngModelGroup.control
31
+ : this.ngModel?.control;
32
+ }
33
+ ngOnDestroy() {
34
+ this.destroy$$.next();
35
+ }
32
36
  ngAfterViewInit() {
33
37
  // Wait until the form is idle
34
38
  // Then, listen to all events of the ngModelGroup or ngModel
35
39
  // and mark the component and its ancestors as dirty
36
40
  // This allows us to use the OnPush ChangeDetection Strategy
37
41
  this.formDirective.idle$
38
- .pipe(switchMap(() => this.ngModelGroup?.control?.events || of(null)), mergeWith(this.control?.events || of(null)), takeUntilDestroyed(this.destroyRef))
42
+ .pipe(switchMap(() => this.ngModelGroup?.control?.events || of(null)), mergeWith(this.control?.events || of(null)), takeUntil(this.destroy$$))
39
43
  .subscribe(() => {
40
44
  this.cdRef.markForCheck();
41
45
  });
@@ -53,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
53
57
  type: HostBinding,
54
58
  args: ['class.sc-control-wrapper--invalid']
55
59
  }] } });
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZXN0LWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy9jb250cm9sLXdyYXBwZXIvY29udHJvbC13cmFwcGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZXN0LWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy9jb250cm9sLXdyYXBwZXIvY29udHJvbC13cmFwcGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFdBQVcsRUFDWCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFtQixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFTaEUsTUFBTSxPQUFPLHVCQUF1QjtJQVBwQztRQVFxQixVQUFLLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbEMsa0JBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDdEMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUdqQyxpQkFBWSxHQUF3QixNQUFNLENBQUMsWUFBWSxFQUFFO1lBQ3JFLFFBQVEsRUFBRSxJQUFJO1lBQ2QsSUFBSSxFQUFFLElBQUk7U0FDYixDQUFDLENBQUM7S0F1Q047SUFqQ0csSUFBWSxPQUFPO1FBQ2YsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUM7SUFDakYsQ0FBQztJQUVELElBQ1csT0FBTztRQUNkLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2IsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3hCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUM5QixDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxRCxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxlQUFlO1FBQ2xCLDhCQUE4QjtRQUM5Qiw0REFBNEQ7UUFDNUQsb0RBQW9EO1FBQ3BELDREQUE0RDtRQUM1RCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUs7YUFDbkIsSUFBSSxDQUNELFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxNQUFNLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQy9ELFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDM0Msa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUN0QzthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs4R0EvQ1EsdUJBQXVCO2tHQUF2Qix1QkFBdUIsb01BS2xCLE9BQU8sZ0RDNUJ6Qiw2VEFZQTs7MkZEV2EsdUJBQXVCO2tCQVBuQyxTQUFTOytCQUNJLHNCQUFzQixjQUNwQixJQUFJLG1CQUdDLHVCQUF1QixDQUFDLE1BQU07OEJBT2pCLE9BQU87c0JBQXBDLFlBQVk7dUJBQUMsT0FBTztnQkFlVixPQUFPO3NCQURqQixXQUFXO3VCQUFDLG1DQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIERlc3Ryb3lSZWYsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgaW5qZWN0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIE5nTW9kZWwsIE5nTW9kZWxHcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IG1lcmdlV2l0aCwgb2YsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRm9ybURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvZm9ybS5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ1tzYy1jb250cm9sLXdyYXBwZXJdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9jb250cm9sLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2NvbnRyb2wtd3JhcHBlci5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIENvbnRyb2xXcmFwcGVyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjZFJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtRGlyZWN0aXZlID0gaW5qZWN0KEZvcm1EaXJlY3RpdmUpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICAgIEBDb250ZW50Q2hpbGQoTmdNb2RlbCkgcHVibGljIG5nTW9kZWw/OiBOZ01vZGVsOyAvLyBPcHRpb25hbCBuZ01vZGVsXG4gICAgcHVibGljIHJlYWRvbmx5IG5nTW9kZWxHcm91cDogTmdNb2RlbEdyb3VwIHwgbnVsbCA9IGluamVjdChOZ01vZGVsR3JvdXAsIHtcbiAgICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgICAgIHNlbGY6IHRydWUsXG4gICAgfSk7XG5cblxuICAgIC8vIENhY2hlIHRoZSBwcmV2aW91cyBlcnJvciB0byBhdm9pZCAnZmxpY2tlcmluZydcbiAgICBwcml2YXRlIHByZXZpb3VzRXJyb3I/OiBzdHJpbmdbXTtcblxuICAgIHByaXZhdGUgZ2V0IGNvbnRyb2woKTogQWJzdHJhY3RDb250cm9sIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmdNb2RlbEdyb3VwID8gdGhpcy5uZ01vZGVsR3JvdXAuY29udHJvbCA6IHRoaXMubmdNb2RlbD8uY29udHJvbDtcbiAgICB9XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNjLWNvbnRyb2wtd3JhcHBlci0taW52YWxpZCcpXG4gICAgcHVibGljIGdldCBpbnZhbGlkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sPy50b3VjaGVkICYmIHRoaXMuZXJyb3JzO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgZXJyb3JzKCk6IHN0cmluZ1tdIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKHRoaXMuY29udHJvbD8ucGVuZGluZykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJldmlvdXNFcnJvcjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucHJldmlvdXNFcnJvciA9IHRoaXMuY29udHJvbD8uZXJyb3JzPy5bJ2Vycm9ycyddO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2w/LmVycm9ycz8uWydlcnJvcnMnXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICAvLyBXYWl0IHVudGlsIHRoZSBmb3JtIGlzIGlkbGVcbiAgICAgICAgLy8gVGhlbiwgbGlzdGVuIHRvIGFsbCBldmVudHMgb2YgdGhlIG5nTW9kZWxHcm91cCBvciBuZ01vZGVsXG4gICAgICAgIC8vIGFuZCBtYXJrIHRoZSBjb21wb25lbnQgYW5kIGl0cyBhbmNlc3RvcnMgYXMgZGlydHlcbiAgICAgICAgLy8gVGhpcyBhbGxvd3MgdXMgdG8gdXNlIHRoZSBPblB1c2ggQ2hhbmdlRGV0ZWN0aW9uIFN0cmF0ZWd5XG4gICAgICAgIHRoaXMuZm9ybURpcmVjdGl2ZS5pZGxlJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMubmdNb2RlbEdyb3VwPy5jb250cm9sPy5ldmVudHMgfHwgb2YobnVsbCkpLFxuICAgICAgICAgICAgICAgIG1lcmdlV2l0aCh0aGlzLmNvbnRyb2w/LmV2ZW50cyB8fCBvZihudWxsKSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZilcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2MtY29udHJvbC13cmFwcGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJzYy1jb250cm9sLXdyYXBwZXJfX2NvbnRlbnRcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic2MtY29udHJvbC13cmFwcGVyX19lcnJvcnNcIj5cbiAgICA8dWwgW2hpZGRlbl09XCIhaW52YWxpZFwiPlxuICAgICAgQGZvciAoZXJyb3Igb2YgZXJyb3JzOyB0cmFjayBlcnJvcikge1xuICAgICAgICA8bGk+e3sgZXJyb3IgfX08L2xpPlxuICAgICAgfVxuICAgIDwvdWw+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZXN0LWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy9jb250cm9sLXdyYXBwZXIvY29udHJvbC13cmFwcGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZXN0LWZvcm1zL3NyYy9saWIvY29tcG9uZW50cy9jb250cm9sLXdyYXBwZXIvY29udHJvbC13cmFwcGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQW1CLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBU2hFLE1BQU0sT0FBTyx1QkFBdUI7SUFQcEM7UUFTa0IsaUJBQVksR0FBd0IsTUFBTSxDQUFDLFlBQVksRUFBRTtZQUN2RSxRQUFRLEVBQUUsSUFBSTtZQUNkLElBQUksRUFBRSxJQUFJO1NBQ1gsQ0FBQyxDQUFDO1FBQ2MsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDaEMsVUFBSyxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2xDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0tBMkN4RDtJQXZDQyxJQUNXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDMUIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQzVCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQVksT0FBTztRQUNqQixPQUFPLElBQUksQ0FBQyxZQUFZO1lBQ3RCLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU87WUFDM0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDO0lBQzVCLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVNLGVBQWU7UUFDcEIsOEJBQThCO1FBQzlCLDREQUE0RDtRQUM1RCxvREFBb0Q7UUFDcEQsNERBQTREO1FBQzVELElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSzthQUNyQixJQUFJLENBQ0gsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLE1BQU0sSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDL0QsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUMzQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0FsRFUsdUJBQXVCO2tHQUF2Qix1QkFBdUIsb01BQ3BCLE9BQU8sZ0RDdkJ2Qiw2VEFZQTs7MkZEVWEsdUJBQXVCO2tCQVBuQyxTQUFTOytCQUNFLHNCQUFzQixjQUNwQixJQUFJLG1CQUdDLHVCQUF1QixDQUFDLE1BQU07OEJBR2pCLE9BQU87c0JBQXBDLFlBQVk7dUJBQUMsT0FBTztnQkFZVixPQUFPO3NCQURqQixXQUFXO3VCQUFDLG1DQUFtQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGQsXG4gIEhvc3RCaW5kaW5nLFxuICBpbmplY3QsXG4gIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgTmdNb2RlbCwgTmdNb2RlbEdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgbWVyZ2VXaXRoLCBvZiwgU3ViamVjdCwgc3dpdGNoTWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZvcm1EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2Zvcm0uZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnW3NjLWNvbnRyb2wtd3JhcHBlcl0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogJy4vY29udHJvbC13cmFwcGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29udHJvbC13cmFwcGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBDb250cm9sV3JhcHBlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gIEBDb250ZW50Q2hpbGQoTmdNb2RlbCkgcHVibGljIG5nTW9kZWw/OiBOZ01vZGVsOyAvLyBPcHRpb25hbCBuZ01vZGVsXG4gIHB1YmxpYyByZWFkb25seSBuZ01vZGVsR3JvdXA6IE5nTW9kZWxHcm91cCB8IG51bGwgPSBpbmplY3QoTmdNb2RlbEdyb3VwLCB7XG4gICAgb3B0aW9uYWw6IHRydWUsXG4gICAgc2VsZjogdHJ1ZSxcbiAgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjZFJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgZm9ybURpcmVjdGl2ZSA9IGluamVjdChGb3JtRGlyZWN0aXZlKTtcbiAgLy8gQ2FjaGUgdGhlIHByZXZpb3VzIGVycm9yIHRvIGF2b2lkICdmbGlja2VyaW5nJ1xuICBwcml2YXRlIHByZXZpb3VzRXJyb3I/OiBzdHJpbmdbXTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNjLWNvbnRyb2wtd3JhcHBlci0taW52YWxpZCcpXG4gIHB1YmxpYyBnZXQgaW52YWxpZCgpIHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sPy50b3VjaGVkICYmIHRoaXMuZXJyb3JzO1xuICB9XG5cbiAgcHVibGljIGdldCBlcnJvcnMoKTogc3RyaW5nW10gfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLmNvbnRyb2w/LnBlbmRpbmcpIHtcbiAgICAgIHJldHVybiB0aGlzLnByZXZpb3VzRXJyb3I7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucHJldmlvdXNFcnJvciA9IHRoaXMuY29udHJvbD8uZXJyb3JzPy5bJ2Vycm9ycyddO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jb250cm9sPy5lcnJvcnM/LlsnZXJyb3JzJ107XG4gIH1cblxuICBwcml2YXRlIGdldCBjb250cm9sKCk6IEFic3RyYWN0Q29udHJvbCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMubmdNb2RlbEdyb3VwXG4gICAgICA/IHRoaXMubmdNb2RlbEdyb3VwLmNvbnRyb2xcbiAgICAgIDogdGhpcy5uZ01vZGVsPy5jb250cm9sO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSQkLm5leHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgLy8gV2FpdCB1bnRpbCB0aGUgZm9ybSBpcyBpZGxlXG4gICAgLy8gVGhlbiwgbGlzdGVuIHRvIGFsbCBldmVudHMgb2YgdGhlIG5nTW9kZWxHcm91cCBvciBuZ01vZGVsXG4gICAgLy8gYW5kIG1hcmsgdGhlIGNvbXBvbmVudCBhbmQgaXRzIGFuY2VzdG9ycyBhcyBkaXJ0eVxuICAgIC8vIFRoaXMgYWxsb3dzIHVzIHRvIHVzZSB0aGUgT25QdXNoIENoYW5nZURldGVjdGlvbiBTdHJhdGVneVxuICAgIHRoaXMuZm9ybURpcmVjdGl2ZS5pZGxlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLm5nTW9kZWxHcm91cD8uY29udHJvbD8uZXZlbnRzIHx8IG9mKG51bGwpKSxcbiAgICAgICAgbWVyZ2VXaXRoKHRoaXMuY29udHJvbD8uZXZlbnRzIHx8IG9mKG51bGwpKSxcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2RSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNjLWNvbnRyb2wtd3JhcHBlclwiPlxuICA8ZGl2IGNsYXNzPVwic2MtY29udHJvbC13cmFwcGVyX19jb250ZW50XCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInNjLWNvbnRyb2wtd3JhcHBlcl9fZXJyb3JzXCI+XG4gICAgPHVsIFtoaWRkZW5dPVwiIWludmFsaWRcIj5cbiAgICAgIEBmb3IgKGVycm9yIG9mIGVycm9yczsgdHJhY2sgZXJyb3IpIHtcbiAgICAgICAgPGxpPnt7IGVycm9yIH19PC9saT5cbiAgICAgIH1cbiAgICA8L3VsPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,2 +1,2 @@
1
1
  export const ROOT_FORM = 'rootForm';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlc3QtZm9ybXMvc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBST09UX0ZPUk0gPSAncm9vdEZvcm0nOyJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlc3QtZm9ybXMvc3JjL2xpYi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBST09UX0ZPUk0gPSAncm9vdEZvcm0nO1xuIl19
@@ -1,5 +1,5 @@
1
1
  import { Directive, inject } from '@angular/core';
2
- import { NG_ASYNC_VALIDATORS } from '@angular/forms';
2
+ import { NG_ASYNC_VALIDATORS, } from '@angular/forms';
3
3
  import { FormDirective } from './form.directive';
4
4
  import { getFormGroupField } from '../utils/form-utils';
5
5
  import * as i0 from "@angular/core";
@@ -18,7 +18,11 @@ export class FormModelGroupDirective {
18
18
  }
19
19
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: FormModelGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
20
20
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: FormModelGroupDirective, isStandalone: true, selector: "[ngModelGroup]", providers: [
21
- { provide: NG_ASYNC_VALIDATORS, useExisting: FormModelGroupDirective, multi: true },
21
+ {
22
+ provide: NG_ASYNC_VALIDATORS,
23
+ useExisting: FormModelGroupDirective,
24
+ multi: true,
25
+ },
22
26
  ], ngImport: i0 }); }
23
27
  }
24
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: FormModelGroupDirective, decorators: [{
@@ -27,8 +31,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
27
31
  selector: '[ngModelGroup]',
28
32
  standalone: true,
29
33
  providers: [
30
- { provide: NG_ASYNC_VALIDATORS, useExisting: FormModelGroupDirective, multi: true },
34
+ {
35
+ provide: NG_ASYNC_VALIDATORS,
36
+ useExisting: FormModelGroupDirective,
37
+ multi: true,
38
+ },
31
39
  ],
32
40
  }]
33
41
  }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tb2RlbC1ncm91cC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVzdC1mb3Jtcy9zcmMvbGliL2RpcmVjdGl2ZXMvZm9ybS1tb2RlbC1ncm91cC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFtQyxtQkFBbUIsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBRXhEOzs7R0FHRztBQVFILE1BQU0sT0FBTyx1QkFBdUI7SUFQcEM7UUFRbUIsa0JBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7S0FPeEQ7SUFMUSxRQUFRLENBQUMsT0FBd0I7UUFDdEMsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdEMsTUFBTSxLQUFLLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN6RCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBd0MsQ0FBQTtJQUM3RyxDQUFDOzhHQVBVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLDZEQUp2QjtZQUNULEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSx1QkFBdUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO1NBQ3BGOzsyRkFFVSx1QkFBdUI7a0JBUG5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRTt3QkFDVCxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLHlCQUF5QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7cUJBQ3BGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQXN5bmNWYWxpZGF0b3IsIE5HX0FTWU5DX1ZBTElEQVRPUlMsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGb3JtRGlyZWN0aXZlIH0gZnJvbSAnLi9mb3JtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBnZXRGb3JtR3JvdXBGaWVsZCB9IGZyb20gJy4uL3V0aWxzL2Zvcm0tdXRpbHMnO1xuXG4vKipcbiAqIEhvb2tzIGludG8gdGhlIG5nTW9kZWxHcm91cCBzZWxlY3RvciBhbmQgdHJpZ2dlcnMgYW4gYXN5bmNocm9ub3VzIHZhbGlkYXRpb24gZm9yIGEgZm9ybSBncm91cFxuICogSXQgd2lsbCB1c2UgYSB2ZXN0IHN1aXRlIGJlaGluZCB0aGUgc2NlbmVzXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tuZ01vZGVsR3JvdXBdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBOR19BU1lOQ19WQUxJREFUT1JTLCB1c2VFeGlzdGluZzogRm9ybU1vZGVsR3JvdXBEaXJlY3RpdmUsIG11bHRpOiB0cnVlIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1Nb2RlbEdyb3VwRGlyZWN0aXZlIGltcGxlbWVudHMgQXN5bmNWYWxpZGF0b3Ige1xuICBwcml2YXRlIHJlYWRvbmx5IGZvcm1EaXJlY3RpdmUgPSBpbmplY3QoRm9ybURpcmVjdGl2ZSk7XG5cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IE9ic2VydmFibGU8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+IHtcbiAgICBjb25zdCB7IG5nRm9ybSB9ID0gdGhpcy5mb3JtRGlyZWN0aXZlO1xuICAgIGNvbnN0IGZpZWxkID0gZ2V0Rm9ybUdyb3VwRmllbGQobmdGb3JtLmNvbnRyb2wsIGNvbnRyb2wpO1xuICAgIHJldHVybiB0aGlzLmZvcm1EaXJlY3RpdmUuY3JlYXRlQXN5bmNWYWxpZGF0b3IoZmllbGQpKGNvbnRyb2wudmFsdWUpIGFzIE9ic2VydmFibGU8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+XG4gIH1cbn1cbiJdfQ==
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tb2RlbC1ncm91cC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVzdC1mb3Jtcy9zcmMvbGliL2RpcmVjdGl2ZXMvZm9ybS1tb2RlbC1ncm91cC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUdMLG1CQUFtQixHQUVwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFFeEQ7OztHQUdHO0FBWUgsTUFBTSxPQUFPLHVCQUF1QjtJQVhwQztRQVltQixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztLQVd4RDtJQVRRLFFBQVEsQ0FDYixPQUF3QjtRQUV4QixNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN0QyxNQUFNLEtBQUssR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3pELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FDbkQsT0FBTyxDQUFDLEtBQUssQ0FDeUIsQ0FBQztJQUMzQyxDQUFDOzhHQVhVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLDZEQVJ2QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxtQkFBbUI7Z0JBQzVCLFdBQVcsRUFBRSx1QkFBdUI7Z0JBQ3BDLEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRjs7MkZBRVUsdUJBQXVCO2tCQVhuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLG1CQUFtQjs0QkFDNUIsV0FBVyx5QkFBeUI7NEJBQ3BDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgQXN5bmNWYWxpZGF0b3IsXG4gIE5HX0FTWU5DX1ZBTElEQVRPUlMsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZvcm1EaXJlY3RpdmUgfSBmcm9tICcuL2Zvcm0uZGlyZWN0aXZlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGdldEZvcm1Hcm91cEZpZWxkIH0gZnJvbSAnLi4vdXRpbHMvZm9ybS11dGlscyc7XG5cbi8qKlxuICogSG9va3MgaW50byB0aGUgbmdNb2RlbEdyb3VwIHNlbGVjdG9yIGFuZCB0cmlnZ2VycyBhbiBhc3luY2hyb25vdXMgdmFsaWRhdGlvbiBmb3IgYSBmb3JtIGdyb3VwXG4gKiBJdCB3aWxsIHVzZSBhIHZlc3Qgc3VpdGUgYmVoaW5kIHRoZSBzY2VuZXNcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW25nTW9kZWxHcm91cF0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19BU1lOQ19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IEZvcm1Nb2RlbEdyb3VwRGlyZWN0aXZlLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRm9ybU1vZGVsR3JvdXBEaXJlY3RpdmUgaW1wbGVtZW50cyBBc3luY1ZhbGlkYXRvciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZm9ybURpcmVjdGl2ZSA9IGluamVjdChGb3JtRGlyZWN0aXZlKTtcblxuICBwdWJsaWMgdmFsaWRhdGUoXG4gICAgY29udHJvbDogQWJzdHJhY3RDb250cm9sXG4gICk6IE9ic2VydmFibGU8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+IHtcbiAgICBjb25zdCB7IG5nRm9ybSB9ID0gdGhpcy5mb3JtRGlyZWN0aXZlO1xuICAgIGNvbnN0IGZpZWxkID0gZ2V0Rm9ybUdyb3VwRmllbGQobmdGb3JtLmNvbnRyb2wsIGNvbnRyb2wpO1xuICAgIHJldHVybiB0aGlzLmZvcm1EaXJlY3RpdmUuY3JlYXRlQXN5bmNWYWxpZGF0b3IoZmllbGQpKFxuICAgICAgY29udHJvbC52YWx1ZVxuICAgICkgYXMgT2JzZXJ2YWJsZTxWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbD47XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { Directive, inject } from '@angular/core';
2
- import { NG_ASYNC_VALIDATORS } from '@angular/forms';
2
+ import { NG_ASYNC_VALIDATORS, } from '@angular/forms';
3
3
  import { FormDirective } from './form.directive';
4
4
  import { getFormControlField } from '../utils/form-utils';
5
5
  import * as i0 from "@angular/core";
@@ -18,7 +18,11 @@ export class FormModelDirective {
18
18
  }
19
19
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: FormModelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
20
20
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.1", type: FormModelDirective, isStandalone: true, selector: "[ngModel]", providers: [
21
- { provide: NG_ASYNC_VALIDATORS, useExisting: FormModelDirective, multi: true },
21
+ {
22
+ provide: NG_ASYNC_VALIDATORS,
23
+ useExisting: FormModelDirective,
24
+ multi: true,
25
+ },
22
26
  ], ngImport: i0 }); }
23
27
  }
24
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: FormModelDirective, decorators: [{
@@ -27,8 +31,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
27
31
  selector: '[ngModel]',
28
32
  standalone: true,
29
33
  providers: [
30
- { provide: NG_ASYNC_VALIDATORS, useExisting: FormModelDirective, multi: true },
34
+ {
35
+ provide: NG_ASYNC_VALIDATORS,
36
+ useExisting: FormModelDirective,
37
+ multi: true,
38
+ },
31
39
  ],
32
40
  }]
33
41
  }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tb2RlbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVzdC1mb3Jtcy9zcmMvbGliL2RpcmVjdGl2ZXMvZm9ybS1tb2RlbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFtQyxtQkFBbUIsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFakQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBRTFEOzs7R0FHRztBQVFILE1BQU0sT0FBTyxrQkFBa0I7SUFQL0I7UUFRbUIsa0JBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7S0FNeEQ7SUFMUSxRQUFRLENBQUMsT0FBd0I7UUFDdEMsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN4RCxNQUFNLEtBQUssR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzNELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQXdDLENBQUE7SUFDckgsQ0FBQzs4R0FOVSxrQkFBa0I7a0dBQWxCLGtCQUFrQix3REFKbEI7WUFDVCxFQUFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtTQUMvRTs7MkZBRVUsa0JBQWtCO2tCQVA5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFO3dCQUNULEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFdBQVcsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtxQkFDL0U7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBBc3luY1ZhbGlkYXRvciwgTkdfQVNZTkNfVkFMSURBVE9SUywgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZvcm1EaXJlY3RpdmUgfSBmcm9tICcuL2Zvcm0uZGlyZWN0aXZlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGdldEZvcm1Db250cm9sRmllbGQgfSBmcm9tICcuLi91dGlscy9mb3JtLXV0aWxzJztcblxuLyoqXG4gKiBIb29rcyBpbnRvIHRoZSBuZ01vZGVsIHNlbGVjdG9yIGFuZCB0cmlnZ2VycyBhbiBhc3luY2hyb25vdXMgdmFsaWRhdGlvbiBmb3IgYSBmb3JtIG1vZGVsXG4gKiBJdCB3aWxsIHVzZSBhIHZlc3Qgc3VpdGUgYmVoaW5kIHRoZSBzY2VuZXNcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW25nTW9kZWxdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBOR19BU1lOQ19WQUxJREFUT1JTLCB1c2VFeGlzdGluZzogRm9ybU1vZGVsRGlyZWN0aXZlLCBtdWx0aTogdHJ1ZSB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtTW9kZWxEaXJlY3RpdmUgaW1wbGVtZW50cyBBc3luY1ZhbGlkYXRvciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZm9ybURpcmVjdGl2ZSA9IGluamVjdChGb3JtRGlyZWN0aXZlKTtcbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IE9ic2VydmFibGU8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+IHtcbiAgICBjb25zdCB7IG5nRm9ybSwgc3VpdGUsIGZvcm1WYWx1ZSB9ID0gdGhpcy5mb3JtRGlyZWN0aXZlO1xuICAgIGNvbnN0IGZpZWxkID0gZ2V0Rm9ybUNvbnRyb2xGaWVsZChuZ0Zvcm0uY29udHJvbCwgY29udHJvbCk7XG4gICAgcmV0dXJuIHRoaXMuZm9ybURpcmVjdGl2ZS5jcmVhdGVBc3luY1ZhbGlkYXRvcihmaWVsZCkoY29udHJvbC5nZXRSYXdWYWx1ZSgpKSBhcyBPYnNlcnZhYmxlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPlxuICB9XG59XG4iXX0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1tb2RlbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVzdC1mb3Jtcy9zcmMvbGliL2RpcmVjdGl2ZXMvZm9ybS1tb2RlbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUdMLG1CQUFtQixHQUVwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFFMUQ7OztHQUdHO0FBWUgsTUFBTSxPQUFPLGtCQUFrQjtJQVgvQjtRQVltQixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztLQVV4RDtJQVRRLFFBQVEsQ0FDYixPQUF3QjtRQUV4QixNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3hELE1BQU0sS0FBSyxHQUFHLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDM0QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUNuRCxPQUFPLENBQUMsV0FBVyxFQUFFLENBQ2lCLENBQUM7SUFDM0MsQ0FBQzs4R0FWVSxrQkFBa0I7a0dBQWxCLGtCQUFrQix3REFSbEI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsbUJBQW1CO2dCQUM1QixXQUFXLEVBQUUsa0JBQWtCO2dCQUMvQixLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Y7OzJGQUVVLGtCQUFrQjtrQkFYOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsV0FBVztvQkFDckIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsbUJBQW1COzRCQUM1QixXQUFXLG9CQUFvQjs0QkFDL0IsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBBc3luY1ZhbGlkYXRvcixcbiAgTkdfQVNZTkNfVkFMSURBVE9SUyxcbiAgVmFsaWRhdGlvbkVycm9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRm9ybURpcmVjdGl2ZSB9IGZyb20gJy4vZm9ybS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZ2V0Rm9ybUNvbnRyb2xGaWVsZCB9IGZyb20gJy4uL3V0aWxzL2Zvcm0tdXRpbHMnO1xuXG4vKipcbiAqIEhvb2tzIGludG8gdGhlIG5nTW9kZWwgc2VsZWN0b3IgYW5kIHRyaWdnZXJzIGFuIGFzeW5jaHJvbm91cyB2YWxpZGF0aW9uIGZvciBhIGZvcm0gbW9kZWxcbiAqIEl0IHdpbGwgdXNlIGEgdmVzdCBzdWl0ZSBiZWhpbmQgdGhlIHNjZW5lc1xuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbmdNb2RlbF0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19BU1lOQ19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IEZvcm1Nb2RlbERpcmVjdGl2ZSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1Nb2RlbERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFzeW5jVmFsaWRhdG9yIHtcbiAgcHJpdmF0ZSByZWFkb25seSBmb3JtRGlyZWN0aXZlID0gaW5qZWN0KEZvcm1EaXJlY3RpdmUpO1xuICBwdWJsaWMgdmFsaWRhdGUoXG4gICAgY29udHJvbDogQWJzdHJhY3RDb250cm9sXG4gICk6IE9ic2VydmFibGU8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+IHtcbiAgICBjb25zdCB7IG5nRm9ybSwgc3VpdGUsIGZvcm1WYWx1ZSB9ID0gdGhpcy5mb3JtRGlyZWN0aXZlO1xuICAgIGNvbnN0IGZpZWxkID0gZ2V0Rm9ybUNvbnRyb2xGaWVsZChuZ0Zvcm0uY29udHJvbCwgY29udHJvbCk7XG4gICAgcmV0dXJuIHRoaXMuZm9ybURpcmVjdGl2ZS5jcmVhdGVBc3luY1ZhbGlkYXRvcihmaWVsZCkoXG4gICAgICBjb250cm9sLmdldFJhd1ZhbHVlKClcbiAgICApIGFzIE9ic2VydmFibGU8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+O1xuICB9XG59XG4iXX0=
@@ -1,8 +1,8 @@
1
- import { DestroyRef, Directive, inject, input, Output } from '@angular/core';
2
- import { NgForm, PristineChangeEvent, StatusChangeEvent, ValueChangeEvent } from '@angular/forms';
3
- import { debounceTime, distinctUntilChanged, filter, map, Observable, of, ReplaySubject, shareReplay, switchMap, take, tap, zip } from 'rxjs';
4
- import { takeUntilDestroyed, toObservable } from '@angular/core/rxjs-interop';
5
- import { cloneDeep, getAllFormErrors, mergeValuesAndRawValues, set } from '../utils/form-utils';
1
+ import { Directive, inject, input, Output } from '@angular/core';
2
+ import { NgForm, PristineChangeEvent, StatusChangeEvent, ValueChangeEvent, } from '@angular/forms';
3
+ import { debounceTime, distinctUntilChanged, filter, map, Observable, of, ReplaySubject, startWith, Subject, switchMap, take, takeUntil, tap, zip, } from 'rxjs';
4
+ import { toObservable } from '@angular/core/rxjs-interop';
5
+ import { cloneDeep, getAllFormErrors, mergeValuesAndRawValues, set, } from '../utils/form-utils';
6
6
  import { validateShape } from '../utils/shape-validation';
7
7
  import * as i0 from "@angular/core";
8
8
  export class FormDirective {
@@ -37,33 +37,37 @@ export class FormDirective {
37
37
  * @param v
38
38
  */
39
39
  this.validationConfig = input(null);
40
- this.destroyRef = inject(DestroyRef);
41
- this.statusChanges$ = this.ngForm.form.events.pipe(filter(v => v instanceof StatusChangeEvent), map(v => v.status), distinctUntilChanged());
40
+ this.pending$ = this.ngForm.form.events.pipe(filter((v) => v instanceof StatusChangeEvent), map((v) => v.status), filter((v) => v === 'PENDING'), distinctUntilChanged());
42
41
  /**
43
- * Fired when the form is idle. This fixes the PENDING state issues
44
- * that are introduced due to the nature of asynchronous validations
42
+ * Emits every time the form status changes in a state
43
+ * that is not PENDING
44
+ * We need this to assure that the form is in 'idle' state
45
45
  */
46
- this.idle$ = this.statusChanges$.pipe(filter(v => v !== 'PENDING'), distinctUntilChanged(), shareReplay(1));
47
- this.valueChanges$ = this.ngForm.form.events.pipe(filter(v => v instanceof ValueChangeEvent), map(v => v.value), map(() => mergeValuesAndRawValues(this.ngForm.form)));
46
+ this.idle$ = this.ngForm.form.events.pipe(filter((v) => v instanceof StatusChangeEvent), map((v) => v.status), filter((v) => v !== 'PENDING'), distinctUntilChanged());
48
47
  /**
49
48
  * Triggered as soon as the form value changes
49
+ * Also every time Angular creates a new control or group
50
+ * It also contains the disabled values (raw values)
50
51
  */
51
- this.formValueChange = this.valueChanges$.pipe(debounceTime(0) // wait until all form elements are rendered
52
- );
53
- this.dirtyChanges$ = this.ngForm.form.events.pipe(filter(v => v instanceof PristineChangeEvent), map(v => !v.pristine), distinctUntilChanged());
52
+ this.formValueChange = this.ngForm.form.events.pipe(filter((v) => v instanceof ValueChangeEvent), map((v) => v.value), map(() => mergeValuesAndRawValues(this.ngForm.form)));
53
+ /**
54
+ * Emits an object with all the errors of the form
55
+ * every time a form control or form groups changes its status to valid or invalid
56
+ */
57
+ this.errorsChange = this.ngForm.form.events.pipe(filter((v) => v instanceof StatusChangeEvent), map((v) => v.status), filter((v) => v !== 'PENDING'), map(() => getAllFormErrors(this.ngForm.form)));
54
58
  /**
55
59
  * Triggered as soon as the form becomes dirty
56
60
  */
57
- this.dirtyChange = this.dirtyChanges$;
58
- this.validChanges$ = this.statusChanges$.pipe(filter(e => e === 'VALID' || e === 'INVALID'), map(v => v === 'VALID'), switchMap((v) => this.idle$), map(() => this.ngForm?.form.valid), distinctUntilChanged());
61
+ this.dirtyChange = this.ngForm.form.events.pipe(filter((v) => v instanceof PristineChangeEvent), map((v) => !v.pristine), startWith(this.ngForm.form.dirty), distinctUntilChanged());
62
+ this.destroy$$ = new Subject();
59
63
  /**
60
- * Triggered When the form becomes valid but waits until the form is idle
64
+ * Fired when the status of the root form changes.
61
65
  */
62
- this.validChange = this.validChanges$;
66
+ this.statusChanges$ = this.ngForm.form.statusChanges.pipe(startWith(this.ngForm.form.status), distinctUntilChanged());
63
67
  /**
64
- * Emits an object with all the errors of the form
68
+ * Triggered When the form becomes valid but waits until the form is idle
65
69
  */
66
- this.errorsChange = this.valueChanges$.pipe(switchMap(() => this.idle$), map(() => getAllFormErrors(this.ngForm.form)));
70
+ this.validChange = this.statusChanges$.pipe(filter((e) => e === 'VALID' || e === 'INVALID'), map((v) => v === 'VALID'), distinctUntilChanged());
67
71
  /**
68
72
  * Used to debounce formValues to make sure vest isn't triggered all the time
69
73
  */
@@ -78,12 +82,14 @@ export class FormDirective {
78
82
  }
79
83
  const streams = Object.keys(conf).map((key) => {
80
84
  return this.ngForm?.form.get(key)?.valueChanges.pipe(
81
- // wait until the form is idle
82
- switchMap(() => this.idle$), map(() => this.ngForm?.form.get(key)?.value), takeUntilDestroyed(this.destroyRef), tap((v) => {
85
+ // Wait until something is pending
86
+ switchMap(() => this.pending$),
87
+ // Wait until the form is not pending anymore
88
+ switchMap(() => this.idle$), map(() => this.ngForm?.form.get(key)?.value), takeUntil(this.destroy$$), tap((v) => {
83
89
  conf[key]?.forEach((path) => {
84
90
  this.ngForm?.form.get(path)?.updateValueAndValidity({
85
91
  onlySelf: true,
86
- emitEvent: true
92
+ emitEvent: true,
87
93
  });
88
94
  });
89
95
  }));
@@ -95,7 +101,7 @@ export class FormDirective {
95
101
  * Trigger shape validations if the form gets updated
96
102
  * This is how we can throw run-time errors
97
103
  */
98
- this.valueChanges$.pipe(switchMap((v) => this.idle$.pipe(map(() => v))), takeUntilDestroyed(this.destroyRef)).subscribe(v => {
104
+ this.formValueChange.pipe(takeUntil(this.destroy$$)).subscribe((v) => {
99
105
  if (this.formShape()) {
100
106
  validateShape(v, this.formShape());
101
107
  }
@@ -139,15 +145,18 @@ export class FormDirective {
139
145
  return new Observable((observer) => {
140
146
  this.suite()(mod, field).done((result) => {
141
147
  const errors = result.getErrors()[field];
142
- observer.next((errors ? { error: errors[0], errors } : null));
148
+ observer.next(errors ? { error: errors[0], errors } : null);
143
149
  observer.complete();
144
150
  });
145
151
  });
146
- }), takeUntilDestroyed(this.destroyRef));
152
+ }), takeUntil(this.destroy$$));
147
153
  };
148
154
  }
155
+ ngOnDestroy() {
156
+ this.destroy$$.next();
157
+ }
149
158
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: FormDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
150
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.1", type: FormDirective, isStandalone: true, selector: "form[scVestForm]", inputs: { formValue: { classPropertyName: "formValue", publicName: "formValue", isSignal: true, isRequired: false, transformFunction: null }, suite: { classPropertyName: "suite", publicName: "suite", isSignal: true, isRequired: false, transformFunction: null }, formShape: { classPropertyName: "formShape", publicName: "formShape", isSignal: true, isRequired: false, transformFunction: null }, validationConfig: { classPropertyName: "validationConfig", publicName: "validationConfig", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { formValueChange: "formValueChange", dirtyChange: "dirtyChange", validChange: "validChange", errorsChange: "errorsChange" }, ngImport: i0 }); }
159
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.1", type: FormDirective, isStandalone: true, selector: "form[scVestForm]", inputs: { formValue: { classPropertyName: "formValue", publicName: "formValue", isSignal: true, isRequired: false, transformFunction: null }, suite: { classPropertyName: "suite", publicName: "suite", isSignal: true, isRequired: false, transformFunction: null }, formShape: { classPropertyName: "formShape", publicName: "formShape", isSignal: true, isRequired: false, transformFunction: null }, validationConfig: { classPropertyName: "validationConfig", publicName: "validationConfig", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { formValueChange: "formValueChange", errorsChange: "errorsChange", dirtyChange: "dirtyChange", validChange: "validChange" }, ngImport: i0 }); }
151
160
  }
152
161
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: FormDirective, decorators: [{
153
162
  type: Directive,
@@ -157,11 +166,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImpor
157
166
  }]
158
167
  }], ctorParameters: () => [], propDecorators: { formValueChange: [{
159
168
  type: Output
169
+ }], errorsChange: [{
170
+ type: Output
160
171
  }], dirtyChange: [{
161
172
  type: Output
162
173
  }], validChange: [{
163
174
  type: Output
164
- }], errorsChange: [{
165
- type: Output
166
175
  }] } });
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVzdC1mb3Jtcy9zcmMvbGliL2RpcmVjdGl2ZXMvZm9ybS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUVILE1BQU0sRUFDTixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBRWpCLGdCQUFnQixFQUNuQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFDTCxZQUFZLEVBQ1osb0JBQW9CLEVBQ3BCLE1BQU0sRUFDTixHQUFHLEVBQ0gsVUFBVSxFQUNWLEVBQUUsRUFDRixhQUFhLEVBQUUsV0FBVyxFQUMxQixTQUFTLEVBQ1QsSUFBSSxFQUNKLEdBQUcsRUFDSCxHQUFHLEVBQ0osTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFOUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxHQUFHLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBTTFELE1BQU0sT0FBTyxhQUFhO0lBeUd0QjtRQXhHZ0IsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBRXpFOztXQUVHO1FBQ2EsY0FBUyxHQUFHLEtBQUssQ0FBVyxJQUFJLENBQUMsQ0FBQztRQUVsRDs7V0FFRztRQUNhLFVBQUssR0FBRyxLQUFLLENBQXdFLElBQUksQ0FBQyxDQUFDO1FBRTNHOzs7OztXQUtHO1FBQ2EsY0FBUyxHQUFHLEtBQUssQ0FBeUIsSUFBSSxDQUFDLENBQUM7UUFFaEU7Ozs7Ozs7Ozs7OztXQVlHO1FBQ2EscUJBQWdCLEdBQUcsS0FBSyxDQUFxQyxJQUFJLENBQUMsQ0FBQztRQUNsRSxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLG1CQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDMUQsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLGlCQUFpQixDQUFDLEVBQzNDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFFLENBQXVCLENBQUMsTUFBTSxDQUFDLEVBQ3pDLG9CQUFvQixFQUFFLENBQ3pCLENBQUM7UUFFRjs7O1dBR0c7UUFDYSxVQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQzVDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsRUFDNUIsb0JBQW9CLEVBQUUsRUFDdEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNqQixDQUFDO1FBRWUsa0JBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUN6RCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksZ0JBQWdCLENBQUMsRUFDMUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUUsQ0FBMkIsQ0FBQyxLQUFLLENBQUMsRUFDNUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FDMUQsQ0FBQztRQUVGOztXQUVHO1FBQ3VCLG9CQUFlLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ2pFLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQSw0Q0FBNEM7U0FDNUQsQ0FBQztRQUNlLGtCQUFhLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDekQsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLG1CQUFtQixDQUFDLEVBQzdDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUUsQ0FBeUIsQ0FBQyxRQUFRLENBQUMsRUFDOUMsb0JBQW9CLEVBQUUsQ0FDekIsQ0FBQztRQUVGOztXQUVHO1FBQ3VCLGdCQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUMxQyxrQkFBYSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUNyRCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssT0FBTyxJQUFJLENBQUMsS0FBSyxTQUFTLENBQUMsRUFDN0MsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLE9BQU8sQ0FBQyxFQUN2QixTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFDNUIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUNsQyxvQkFBb0IsRUFBRSxDQUN6QixDQUFDO1FBRUY7O1dBRUc7UUFDdUIsZ0JBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBRTNEOztXQUVHO1FBQ3VCLGlCQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQzVELFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQzNCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ2hELENBQUM7UUFFRjs7V0FFRztRQUNjLG1CQUFjLEdBSzNCLEVBQUUsQ0FBQztRQUdILHFDQUFxQztRQUNyQywwRkFBMEY7UUFDMUYsK0VBQStFO1FBQy9FLFlBQVksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7YUFDOUIsSUFBSSxDQUNELE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUN4QixTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNmLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDUixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwQixDQUFDO1lBQ0QsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDMUMsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsWUFBWSxDQUFDLElBQUk7Z0JBQ2hELDhCQUE4QjtnQkFDOUIsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFDM0IsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsRUFDNUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUNuQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDTixJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBWSxFQUFFLEVBQUU7d0JBQ2hDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxzQkFBc0IsQ0FBQzs0QkFDaEQsUUFBUSxFQUFFLElBQUk7NEJBQ2QsU0FBUyxFQUFFLElBQUk7eUJBQ2xCLENBQUMsQ0FBQztvQkFDUCxDQUFDLENBQUMsQ0FBQztnQkFDUCxDQUFDLENBQUMsQ0FDTCxDQUFDO1lBQ04sQ0FBQyxDQUFDLENBQUM7WUFDSCxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QixDQUFDLENBQUMsQ0FDTDthQUNBLFNBQVMsRUFBRSxDQUFDO1FBRWpCOzs7V0FHRztRQUNILElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUNuQixTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQy9DLGtCQUFrQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FDdEMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDWixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO2dCQUNuQixhQUFhLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQXFCLENBQUMsQ0FBQztZQUMxRCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSDs7V0FFRztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFHRDs7Ozs7OztPQU9HO0lBQ0ksb0JBQW9CLENBQ3ZCLEtBQWE7UUFFYixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDaEIsT0FBTyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUIsQ0FBQztRQUNELE9BQU8sQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7Z0JBQ3BCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BCLENBQUM7WUFDRCxNQUFNLEdBQUcsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBTyxDQUFDLENBQUM7WUFDN0MsR0FBRyxDQUFDLEdBQWEsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxnQ0FBZ0M7WUFDbEUsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsR0FBRztvQkFDekIsS0FBSyxFQUFFLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLCtCQUErQjtpQkFDL0QsQ0FBQztnQkFDRixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbkcsQ0FBQztZQUNELHlEQUF5RDtZQUN6RCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFNUMsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVUsQ0FBQyxJQUFJO1lBQzdDLHFGQUFxRjtZQUNyRixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQ1AsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDWCxPQUFPLElBQUksVUFBVSxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7b0JBQy9CLElBQUksQ0FBQyxLQUFLLEVBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7d0JBQ3RDLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDekMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO3dCQUM5RCxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ3hCLENBQUMsQ0FBQyxDQUFDO2dCQUNQLENBQUMsQ0FBd0MsQ0FBQztZQUM5QyxDQUFDLENBQUMsRUFDRixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQ3RDLENBQUM7UUFDTixDQUFDLENBQUM7SUFDTixDQUFDOzhHQTNNUSxhQUFhO2tHQUFiLGFBQWE7OzJGQUFiLGFBQWE7a0JBSnpCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsVUFBVSxFQUFFLElBQUk7aUJBQ25CO3dEQThENkIsZUFBZTtzQkFBeEMsTUFBTTtnQkFZbUIsV0FBVztzQkFBcEMsTUFBTTtnQkFZbUIsV0FBVztzQkFBcEMsTUFBTTtnQkFLbUIsWUFBWTtzQkFBckMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc3Ryb3lSZWYsIERpcmVjdGl2ZSwgaW5qZWN0LCBpbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEFzeW5jVmFsaWRhdG9yRm4sXG4gICAgTmdGb3JtLFxuICAgIFByaXN0aW5lQ2hhbmdlRXZlbnQsXG4gICAgU3RhdHVzQ2hhbmdlRXZlbnQsXG4gICAgVmFsaWRhdGlvbkVycm9ycyxcbiAgICBWYWx1ZUNoYW5nZUV2ZW50XG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gIGRlYm91bmNlVGltZSxcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gIGZpbHRlcixcbiAgbWFwLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgUmVwbGF5U3ViamVjdCwgc2hhcmVSZXBsYXksXG4gIHN3aXRjaE1hcCxcbiAgdGFrZSxcbiAgdGFwLFxuICB6aXBcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdGF0aWNTdWl0ZSB9IGZyb20gJ3Zlc3QnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkLCB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBEZWVwUmVxdWlyZWQgfSBmcm9tICcuLi91dGlscy9kZWVwLXJlcXVpcmVkJztcbmltcG9ydCB7IGNsb25lRGVlcCwgZ2V0QWxsRm9ybUVycm9ycywgbWVyZ2VWYWx1ZXNBbmRSYXdWYWx1ZXMsIHNldCB9IGZyb20gJy4uL3V0aWxzL2Zvcm0tdXRpbHMnO1xuaW1wb3J0IHsgdmFsaWRhdGVTaGFwZSB9IGZyb20gJy4uL3V0aWxzL3NoYXBlLXZhbGlkYXRpb24nO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ2Zvcm1bc2NWZXN0Rm9ybV0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEZvcm1EaXJlY3RpdmU8VCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgbmdGb3JtID0gaW5qZWN0KE5nRm9ybSwgeyBzZWxmOiB0cnVlLCBvcHRpb25hbDogZmFsc2UgfSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdmFsdWUgb2YgdGhlIGZvcm0sIHRoaXMgaXMgbmVlZGVkIGZvciB0aGUgdmFsaWRhdGlvbiBwYXJ0XG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGZvcm1WYWx1ZSA9IGlucHV0PFQgfCBudWxsPihudWxsKTtcblxuICAgIC8qKlxuICAgICAqIFN0YXRpYyB2ZXN0IHN1aXRlIHRoYXQgd2lsbCBiZSB1c2VkIHRvIGZlZWQgb3VyIGFuZ3VsYXIgdmFsaWRhdG9yc1xuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBzdWl0ZSA9IGlucHV0PFN0YXRpY1N1aXRlPHN0cmluZywgc3RyaW5nLCAobW9kZWw6IFQsIGZpZWxkOiBzdHJpbmcpID0+IHZvaWQ+IHwgbnVsbD4obnVsbCk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgc2hhcGUgb2Ygb3VyIGZvcm0gbW9kZWwuIFRoaXMgaXMgYSBkZWVwIHJlcXVpcmVkIHZlcnNpb24gb2YgdGhlIGZvcm0gbW9kZWxcbiAgICAgKiBUaGUgZ29hbCBpcyB0byBhZGQgZGVmYXVsdCB2YWx1ZXMgdG8gdGhlIHNoYXBlIHNvIHdoZW4gdGhlIHRlbXBsYXRlLWRyaXZlbiBmb3JtXG4gICAgICogY29udGFpbnMgdmFsdWVzIHRoYXQgc2hvdWxkbid0IGJlIHRoZXJlICh0eXBvJ3MpIHRoYXQgdGhlIGRldmVsb3BlciBnZXRzIHJ1bi10aW1lXG4gICAgICogZXJyb3JzIGluIGRldiBtb2RlXG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IGZvcm1TaGFwZSA9IGlucHV0PERlZXBSZXF1aXJlZDxUPiB8IG51bGw+KG51bGwpO1xuXG4gICAgLyoqXG4gICAgICogVXBkYXRlcyB0aGUgdmFsaWRhdGlvbiBjb25maWcgd2hpY2ggaXMgYSBkeW5hbWljIG9iamVjdCB0aGF0IHdpbGwgYmUgdXNlZCB0b1xuICAgICAqIHRyaWdnZXIgdmFsaWRhdGlvbnMgb24gdGhlIGRlcGVuZGFudCBmaWVsZHNcbiAgICAgKiBFZzogYGBgdHlwZXNjcmlwdFxuICAgICAqIHZhbGlkYXRpb25Db25maWcgPSB7XG4gICAgICogICAgICdwYXNzd29yZHMucGFzc3dvcmQnOiBbJ3Bhc3N3b3Jkcy5jb25maXJtUGFzc3dvcmQnXVxuICAgICAqIH1cbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIFRoaXMgd2lsbCB0cmlnZ2VyIHRoZSB1cGRhdGVWYWx1ZUFuZFZhbGlkaXR5IG9uIHBhc3N3b3Jkcy5jb25maXJtUGFzc3dvcmQgZXZlcnkgdGltZSB0aGUgcGFzc3dvcmRzLnBhc3N3b3JkIGdldHMgYSBuZXcgdmFsdWVcbiAgICAgKlxuICAgICAqIEBwYXJhbSB2XG4gICAgICovXG4gICAgcHVibGljIHJlYWRvbmx5IHZhbGlkYXRpb25Db25maWcgPSBpbnB1dDx7IFtrZXk6IHN0cmluZ106IHN0cmluZ1tdIH0gfCBudWxsPihudWxsKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzdGF0dXNDaGFuZ2VzJCA9IHRoaXMubmdGb3JtLmZvcm0uZXZlbnRzLnBpcGUoXG4gICAgICAgIGZpbHRlcih2ID0+IHYgaW5zdGFuY2VvZiBTdGF0dXNDaGFuZ2VFdmVudCksXG4gICAgICAgIG1hcCh2ID0+ICh2IGFzIFN0YXR1c0NoYW5nZUV2ZW50KS5zdGF0dXMpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgKTtcblxuICAgIC8qKlxuICAgICAqIEZpcmVkIHdoZW4gdGhlIGZvcm0gaXMgaWRsZS4gVGhpcyBmaXhlcyB0aGUgUEVORElORyBzdGF0ZSBpc3N1ZXNcbiAgICAgKiB0aGF0IGFyZSBpbnRyb2R1Y2VkIGR1ZSB0byB0aGUgbmF0dXJlIG9mIGFzeW5jaHJvbm91cyB2YWxpZGF0aW9uc1xuICAgICAqL1xuICAgIHB1YmxpYyByZWFkb25seSBpZGxlJCA9IHRoaXMuc3RhdHVzQ2hhbmdlcyQucGlwZShcbiAgICAgICAgZmlsdGVyKHYgPT4gdiAhPT0gJ1BFTkRJTkcnKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSB2YWx1ZUNoYW5nZXMkID0gdGhpcy5uZ0Zvcm0uZm9ybS5ldmVudHMucGlwZShcbiAgICAgICAgZmlsdGVyKHYgPT4gdiBpbnN0YW5jZW9mIFZhbHVlQ2hhbmdlRXZlbnQpLFxuICAgICAgICBtYXAodiA9PiAodiBhcyBWYWx1ZUNoYW5nZUV2ZW50PGFueT4pLnZhbHVlKSxcbiAgICAgICAgbWFwKCgpID0+IG1lcmdlVmFsdWVzQW5kUmF3VmFsdWVzPFQ+KHRoaXMubmdGb3JtLmZvcm0pKVxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiBUcmlnZ2VyZWQgYXMgc29vbiBhcyB0aGUgZm9ybSB2YWx1ZSBjaGFuZ2VzXG4gICAgICovXG4gICAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBmb3JtVmFsdWVDaGFuZ2UgPSB0aGlzLnZhbHVlQ2hhbmdlcyQucGlwZShcbiAgICAgIGRlYm91bmNlVGltZSgwKS8vIHdhaXQgdW50aWwgYWxsIGZvcm0gZWxlbWVudHMgYXJlIHJlbmRlcmVkXG4gICAgKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpcnR5Q2hhbmdlcyQgPSB0aGlzLm5nRm9ybS5mb3JtLmV2ZW50cy5waXBlKFxuICAgICAgICBmaWx0ZXIodiA9PiB2IGluc3RhbmNlb2YgUHJpc3RpbmVDaGFuZ2VFdmVudCksXG4gICAgICAgIG1hcCh2ID0+ICEodiBhcyBQcmlzdGluZUNoYW5nZUV2ZW50KS5wcmlzdGluZSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICogVHJpZ2dlcmVkIGFzIHNvb24gYXMgdGhlIGZvcm0gYmVjb21lcyBkaXJ0eVxuICAgICAqL1xuICAgIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgZGlydHlDaGFuZ2UgPSB0aGlzLmRpcnR5Q2hhbmdlcyQ7XG4gICAgcHJpdmF0ZSByZWFkb25seSB2YWxpZENoYW5nZXMkID0gdGhpcy5zdGF0dXNDaGFuZ2VzJC5waXBlKFxuICAgICAgICBmaWx0ZXIoZSA9PiBlID09PSAnVkFMSUQnIHx8IGUgPT09ICdJTlZBTElEJyksXG4gICAgICAgIG1hcCh2ID0+IHYgPT09ICdWQUxJRCcpLFxuICAgICAgICBzd2l0Y2hNYXAoKHYpID0+IHRoaXMuaWRsZSQpLFxuICAgICAgICBtYXAoKCkgPT4gdGhpcy5uZ0Zvcm0/LmZvcm0udmFsaWQpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICk7XG5cbiAgICAvKipcbiAgICAgKiBUcmlnZ2VyZWQgV2hlbiB0aGUgZm9ybSBiZWNvbWVzIHZhbGlkIGJ1dCB3YWl0cyB1bnRpbCB0aGUgZm9ybSBpcyBpZGxlXG4gICAgICovXG4gICAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSB2YWxpZENoYW5nZSA9IHRoaXMudmFsaWRDaGFuZ2VzJDtcblxuICAgIC8qKlxuICAgICAqIEVtaXRzIGFuIG9iamVjdCB3aXRoIGFsbCB0aGUgZXJyb3JzIG9mIHRoZSBmb3JtXG4gICAgICovXG4gICAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBlcnJvcnNDaGFuZ2UgPSB0aGlzLnZhbHVlQ2hhbmdlcyQucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuaWRsZSQpLFxuICAgICAgICBtYXAoKCkgPT4gZ2V0QWxsRm9ybUVycm9ycyh0aGlzLm5nRm9ybS5mb3JtKSlcbiAgICApO1xuXG4gICAgLyoqXG4gICAgICogVXNlZCB0byBkZWJvdW5jZSBmb3JtVmFsdWVzIHRvIG1ha2Ugc3VyZSB2ZXN0IGlzbid0IHRyaWdnZXJlZCBhbGwgdGhlIHRpbWVcbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1WYWx1ZUNhY2hlOiB7XG4gICAgICAgIFtmaWVsZDogc3RyaW5nXTogUGFydGlhbDx7XG4gICAgICAgICAgICBzdWIkJDogUmVwbGF5U3ViamVjdDx1bmtub3duPjtcbiAgICAgICAgICAgIGRlYm91bmNlZDogT2JzZXJ2YWJsZTxhbnk+O1xuICAgICAgICB9PjtcbiAgICB9ID0ge307XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIC8vIFdoZW4gdGhlIHZhbGlkYXRpb24gY29uZmlnIGNoYW5nZXNcbiAgICAgICAgLy8gTGlzdGVuIHRvIGNoYW5nZXMgb2YgdGhlIGxlZnQtc2lkZSBvZiB0aGUgY29uZmlnIGFuZCB0cmlnZ2VyIHRoZSB1cGRhdGVWYWx1ZUFuZFZhbGlkaXR5XG4gICAgICAgIC8vIGZ1bmN0aW9uIG9uIHRoZSBkZXBlbmRhbnQgY29udHJvbHMgb3IgZ3JvdXBzIGF0IHRoZSByaWdodC1zaWRlIG9mIHRoZSBjb25maWdcbiAgICAgICAgdG9PYnNlcnZhYmxlKHRoaXMudmFsaWRhdGlvbkNvbmZpZylcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIGZpbHRlcigoY29uZikgPT4gISFjb25mKSxcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKGNvbmYpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFjb25mKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RyZWFtcyA9IE9iamVjdC5rZXlzKGNvbmYpLm1hcCgoa2V5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5uZ0Zvcm0/LmZvcm0uZ2V0KGtleSk/LnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdhaXQgdW50aWwgdGhlIGZvcm0gaXMgaWRsZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmlkbGUkKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5uZ0Zvcm0/LmZvcm0uZ2V0KGtleSk/LnZhbHVlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXAoKHYpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZltrZXldPy5mb3JFYWNoKChwYXRoOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmdGb3JtPy5mb3JtLmdldChwYXRoKT8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25seVNlbGY6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW1pdEV2ZW50OiB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHppcChzdHJlYW1zKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKTtcblxuICAgICAgICAvKipcbiAgICAgICAgICogVHJpZ2dlciBzaGFwZSB2YWxpZGF0aW9ucyBpZiB0aGUgZm9ybSBnZXRzIHVwZGF0ZWRcbiAgICAgICAgICogVGhpcyBpcyBob3cgd2UgY2FuIHRocm93IHJ1bi10aW1lIGVycm9yc1xuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZXMkLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHYpID0+IHRoaXMuaWRsZSQucGlwZShtYXAoKCkgPT4gdikpKSxcbiAgICAgICAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgICAgICkuc3Vic2NyaWJlKHYgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuZm9ybVNoYXBlKCkpIHtcbiAgICAgICAgICAgICAgICB2YWxpZGF0ZVNoYXBlKHYsIHRoaXMuZm9ybVNoYXBlKCkgYXMgRGVlcFJlcXVpcmVkPFQ+KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIE1hcmsgYWxsIHRoZSBmaWVsZHMgYXMgdG91Y2hlZCB3aGVuIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZFxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5uZ0Zvcm0ubmdTdWJtaXQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubmdGb3JtLmZvcm0ubWFya0FsbEFzVG91Y2hlZCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cblxuICAgIC8qKlxuICAgICAqIFRoaXMgd2lsbCBmZWVkIHRoZSBmb3JtVmFsdWVDYWNoZSwgZGVib3VuY2UgaXQgdGlsbCB0aGUgbmV4dCB0aWNrXG4gICAgICogYW5kIGNyZWF0ZSBhbiBhc3luY2hyb25vdXMgdmFsaWRhdG9yIHRoYXQgcnVucyBhIHZlc3Qgc3VpdGVcbiAgICAgKiBAcGFyYW0gZmllbGRcbiAgICAgKiBAcGFyYW0gbW9kZWxcbiAgICAgKiBAcGFyYW0gc3VpdGVcbiAgICAgKiBAcmV0dXJucyBhbiBhc3luY2hyb25vdXMgdmFsaWRhdG9yIGZ1bmN0aW9uXG4gICAgICovXG4gICAgcHVibGljIGNyZWF0ZUFzeW5jVmFsaWRhdG9yKFxuICAgICAgICBmaWVsZDogc3RyaW5nXG4gICAgKTogQXN5bmNWYWxpZGF0b3JGbiB7XG4gICAgICAgIGlmICghdGhpcy5zdWl0ZSgpKSB7XG4gICAgICAgICAgICByZXR1cm4gKCkgPT4gb2YobnVsbCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZm9ybVZhbHVlKCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBtb2QgPSBjbG9uZURlZXAodGhpcy5mb3JtVmFsdWUoKSBhcyBUKTtcbiAgICAgICAgICAgIHNldChtb2QgYXMgb2JqZWN0LCBmaWVsZCwgdmFsdWUpOyAvLyBVcGRhdGUgdGhlIHByb3BlcnR5IHdpdGggcGF0aFxuICAgICAgICAgICAgaWYgKCF0aGlzLmZvcm1WYWx1ZUNhY2hlW2ZpZWxkXSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybVZhbHVlQ2FjaGVbZmllbGRdID0ge1xuICAgICAgICAgICAgICAgICAgICBzdWIkJDogbmV3IFJlcGxheVN1YmplY3QoMSksIC8vIEtlZXAgdHJhY2sgb2YgdGhlIGxhc3QgbW9kZWxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybVZhbHVlQ2FjaGVbZmllbGRdLmRlYm91bmNlZCA9IHRoaXMuZm9ybVZhbHVlQ2FjaGVbZmllbGRdLnN1YiQkIS5waXBlKGRlYm91bmNlVGltZSgwKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBOZXh0IHRoZSBsYXRlc3QgbW9kZWwgaW4gdGhlIGNhY2hlIGZvciBhIGNlcnRhaW4gZmllbGRcbiAgICAgICAgICAgIHRoaXMuZm9ybVZhbHVlQ2FjaGVbZmllbGRdLnN1YiQkIS5uZXh0KG1vZCk7XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1WYWx1ZUNhY2hlW2ZpZWxkXS5kZWJvdW5jZWQhLnBpcGUoXG4gICAgICAgICAgICAgICAgLy8gV2hlbiBkZWJvdW5jZWQsIHRha2UgdGhlIGxhdGVzdCB2YWx1ZSBhbmQgcGVyZm9ybSB0aGUgYXN5bmNocm9ub3VzIHZlc3QgdmFsaWRhdGlvblxuICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWl0ZSgpIShtb2QsIGZpZWxkKS5kb25lKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvcnMgPSByZXN1bHQuZ2V0RXJyb3JzKClbZmllbGRdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoKGVycm9ycyA/IHsgZXJyb3I6IGVycm9yc1swXSwgZXJyb3JzIH0gOiBudWxsKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KSBhcyBPYnNlcnZhYmxlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPjtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVzdC1mb3Jtcy9zcmMvbGliL2RpcmVjdGl2ZXMvZm9ybS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RSxPQUFPLEVBRUwsTUFBTSxFQUNOLG1CQUFtQixFQUNuQixpQkFBaUIsRUFFakIsZ0JBQWdCLEdBQ2pCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUNMLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsTUFBTSxFQUNOLEdBQUcsRUFDSCxVQUFVLEVBQ1YsRUFBRSxFQUNGLGFBQWEsRUFDYixTQUFTLEVBQ1QsT0FBTyxFQUNQLFNBQVMsRUFDVCxJQUFJLEVBQ0osU0FBUyxFQUNULEdBQUcsRUFDSCxHQUFHLEdBQ0osTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFMUQsT0FBTyxFQUNMLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLEdBQUcsR0FDSixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFNMUQsTUFBTSxPQUFPLGFBQWE7SUF5SHhCO1FBeEhnQixXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFFekU7O1dBRUc7UUFDYSxjQUFTLEdBQUcsS0FBSyxDQUFXLElBQUksQ0FBQyxDQUFDO1FBRWxEOztXQUVHO1FBQ2EsVUFBSyxHQUFHLEtBQUssQ0FJbkIsSUFBSSxDQUFDLENBQUM7UUFFaEI7Ozs7O1dBS0c7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QUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO3dCQUN4QyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ3pDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUM1RCxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ3RCLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBd0MsQ0FBQztZQUM1QyxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQixDQUFDO1FBQ0osQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDOzhHQTdOVSxhQUFhO2tHQUFiLGFBQWE7OzJGQUFiLGFBQWE7a0JBSnpCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO3dEQW1FMkIsZUFBZTtzQkFBeEMsTUFBTTtnQkFVbUIsWUFBWTtzQkFBckMsTUFBTTtnQkFVbUIsV0FBVztzQkFBcEMsTUFBTTtnQkFtQm1CLFdBQVc7c0JBQXBDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCwgaW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBc3luY1ZhbGlkYXRvckZuLFxuICBOZ0Zvcm0sXG4gIFByaXN0aW5lQ2hhbmdlRXZlbnQsXG4gIFN0YXR1c0NoYW5nZUV2ZW50LFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWx1ZUNoYW5nZUV2ZW50LFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBkZWJvdW5jZVRpbWUsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBmaWx0ZXIsXG4gIG1hcCxcbiAgT2JzZXJ2YWJsZSxcbiAgb2YsXG4gIFJlcGxheVN1YmplY3QsXG4gIHN0YXJ0V2l0aCxcbiAgU3ViamVjdCxcbiAgc3dpdGNoTWFwLFxuICB0YWtlLFxuICB0YWtlVW50aWwsXG4gIHRhcCxcbiAgemlwLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFN0YXRpY1N1aXRlIH0gZnJvbSAndmVzdCc7XG5pbXBvcnQgeyB0b09ic2VydmFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBEZWVwUmVxdWlyZWQgfSBmcm9tICcuLi91dGlscy9kZWVwLXJlcXVpcmVkJztcbmltcG9ydCB7XG4gIGNsb25lRGVlcCxcbiAgZ2V0QWxsRm9ybUVycm9ycyxcbiAgbWVyZ2VWYWx1ZXNBbmRSYXdWYWx1ZXMsXG4gIHNldCxcbn0gZnJvbSAnLi4vdXRpbHMvZm9ybS11dGlscyc7XG5pbXBvcnQgeyB2YWxpZGF0ZVNoYXBlIH0gZnJvbSAnLi4vdXRpbHMvc2hhcGUtdmFsaWRhdGlvbic7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2Zvcm1bc2NWZXN0Rm9ybV0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtRGlyZWN0aXZlPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBhbnk+PiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHB1YmxpYyByZWFkb25seSBuZ0Zvcm0gPSBpbmplY3QoTmdGb3JtLCB7IHNlbGY6IHRydWUsIG9wdGlvbmFsOiBmYWxzZSB9KTtcblxuICAvKipcbiAgICogVGhlIHZhbHVlIG9mIHRoZSBmb3JtLCB0aGlzIGlzIG5lZWRlZCBmb3IgdGhlIHZhbGlkYXRpb24gcGFydFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGZvcm1WYWx1ZSA9IGlucHV0PFQgfCBudWxsPihudWxsKTtcblxuICAvKipcbiAgICogU3RhdGljIHZlc3Qgc3VpdGUgdGhhdCB3aWxsIGJlIHVzZWQgdG8gZmVlZCBvdXIgYW5ndWxhciB2YWxpZGF0b3JzXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc3VpdGUgPSBpbnB1dDxTdGF0aWNTdWl0ZTxcbiAgICBzdHJpbmcsXG4gICAgc3RyaW5nLFxuICAgIChtb2RlbDogVCwgZmllbGQ6IHN0cmluZykgPT4gdm9pZFxuICA+IHwgbnVsbD4obnVsbCk7XG5cbiAgLyoqXG4gICAqIFRoZSBzaGFwZSBvZiBvdXIgZm9ybSBtb2RlbC4gVGhpcyBpcyBhIGRlZXAgcmVxdWlyZWQgdmVyc2lvbiBvZiB0aGUgZm9ybSBtb2RlbFxuICAgKiBUaGUgZ29hbCBpcyB0byBhZGQgZGVmYXVsdCB2YWx1ZXMgdG8gdGhlIHNoYXBlIHNvIHdoZW4gdGhlIHRlbXBsYXRlLWRyaXZlbiBmb3JtXG4gICAqIGNvbnRhaW5zIHZhbHVlcyB0aGF0IHNob3VsZG4ndCBiZSB0aGVyZSAodHlwbydzKSB0aGF0IHRoZSBkZXZlbG9wZXIgZ2V0cyBydW4tdGltZVxuICAgKiBlcnJvcnMgaW4gZGV2IG1vZGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBmb3JtU2hhcGUgPSBpbnB1dDxEZWVwUmVxdWlyZWQ8VD4gfCBudWxsPihudWxsKTtcblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgdmFsaWRhdGlvbiBjb25maWcgd2hpY2ggaXMgYSBkeW5hbWljIG9iamVjdCB0aGF0IHdpbGwgYmUgdXNlZCB0b1xuICAgKiB0cmlnZ2VyIHZhbGlkYXRpb25zIG9uIHRoZSBkZXBlbmRhbnQgZmllbGRzXG4gICAqIEVnOiBgYGB0eXBlc2NyaXB0XG4gICAqIHZhbGlkYXRpb25Db25maWcgPSB7XG4gICAqICAgICAncGFzc3dvcmRzLnBhc3N3b3JkJzogWydwYXNzd29yZHMuY29uZmlybVBhc3N3b3JkJ11cbiAgICogfVxuICAgKiBgYGBcbiAgICpcbiAgICogVGhpcyB3aWxsIHRyaWdnZXIgdGhlIHVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkgb24gcGFzc3dvcmRzLmNvbmZpcm1QYXNzd29yZCBldmVyeSB0aW1lIHRoZSBwYXNzd29yZHMucGFzc3dvcmQgZ2V0cyBhIG5ldyB2YWx1ZVxuICAgKlxuICAgKiBAcGFyYW0gdlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHZhbGlkYXRpb25Db25maWcgPSBpbnB1dDx7IFtrZXk6IHN0cmluZ106IHN0cmluZ1tdIH0gfCBudWxsPihcbiAgICBudWxsXG4gICk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBwZW5kaW5nJCA9IHRoaXMubmdGb3JtLmZvcm0uZXZlbnRzLnBpcGUoXG4gICAgZmlsdGVyKCh2KSA9PiB2IGluc3RhbmNlb2YgU3RhdHVzQ2hhbmdlRXZlbnQpLFxuICAgIG1hcCgodikgPT4gKHYgYXMgU3RhdHVzQ2hhbmdlRXZlbnQpLnN0YXR1cyksXG4gICAgZmlsdGVyKCh2KSA9PiB2ID09PSAnUEVORElORycpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgKTtcblxuICAvKipcbiAgICogRW1pdHMgZXZlcnkgdGltZSB0aGUgZm9ybSBzdGF0dXMgY2hhbmdlcyBpbiBhIHN0YXRlXG4gICAqIHRoYXQgaXMgbm90IFBFTkRJTkdcbiAgICogV2UgbmVlZCB0aGlzIHRvIGFzc3VyZSB0aGF0IHRoZSBmb3JtIGlzIGluICdpZGxlJyBzdGF0ZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGlkbGUkID0gdGhpcy5uZ0Zvcm0uZm9ybS5ldmVudHMucGlwZShcbiAgICBmaWx0ZXIoKHYpID0+IHYgaW5zdGFuY2VvZiBTdGF0dXNDaGFuZ2VFdmVudCksXG4gICAgbWFwKCh2KSA9PiAodiBhcyBTdGF0dXNDaGFuZ2VFdmVudCkuc3RhdHVzKSxcbiAgICBmaWx0ZXIoKHYpID0+IHYgIT09ICdQRU5ESU5HJyksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICApO1xuXG4gIC8qKlxuICAgKiBUcmlnZ2VyZWQgYXMgc29vbiBhcyB0aGUgZm9ybSB2YWx1ZSBjaGFuZ2VzXG4gICAqIEFsc28gZXZlcnkgdGltZSBBbmd1bGFyIGNyZWF0ZXMgYSBuZXcgY29udHJvbCBvciBncm91cFxuICAgKiBJdCBhbHNvIGNvbnRhaW5zIHRoZSBkaXNhYmxlZCB2YWx1ZXMgKHJhdyB2YWx1ZXMpXG4gICAqL1xuICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IGZvcm1WYWx1ZUNoYW5nZSA9IHRoaXMubmdGb3JtLmZvcm0uZXZlbnRzLnBpcGUoXG4gICAgZmlsdGVyKCh2KSA9PiB2IGluc3RhbmNlb2YgVmFsdWVDaGFuZ2VFdmVudCksXG4gICAgbWFwKCh2KSA9PiAodiBhcyBWYWx1ZUNoYW5nZUV2ZW50PGFueT4pLnZhbHVlKSxcbiAgICBtYXAoKCkgPT4gbWVyZ2VWYWx1ZXNBbmRSYXdWYWx1ZXM8VD4odGhpcy5uZ0Zvcm0uZm9ybSkpXG4gICk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIGFuIG9iamVjdCB3aXRoIGFsbCB0aGUgZXJyb3JzIG9mIHRoZSBmb3JtXG4gICAqIGV2ZXJ5IHRpbWUgYSBmb3JtIGNvbnRyb2wgb3IgZm9ybSBncm91cHMgY2hhbmdlcyBpdHMgc3RhdHVzIHRvIHZhbGlkIG9yIGludmFsaWRcbiAgICovXG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgZXJyb3JzQ2hhbmdlID0gdGhpcy5uZ0Zvcm0uZm9ybS5ldmVudHMucGlwZShcbiAgICBmaWx0ZXIoKHYpID0+IHYgaW5zdGFuY2VvZiBTdGF0dXNDaGFuZ2VFdmVudCksXG4gICAgbWFwKCh2KSA9PiAodiBhcyBTdGF0dXNDaGFuZ2VFdmVudCkuc3RhdHVzKSxcbiAgICBmaWx0ZXIoKHYpID0+IHYgIT09ICdQRU5ESU5HJyksXG4gICAgbWFwKCgpID0+IGdldEFsbEZvcm1FcnJvcnModGhpcy5uZ0Zvcm0uZm9ybSkpXG4gICk7XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJlZCBhcyBzb29uIGFzIHRoZSBmb3JtIGJlY29tZXMgZGlydHlcbiAgICovXG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgZGlydHlDaGFuZ2UgPSB0aGlzLm5nRm9ybS5mb3JtLmV2ZW50cy5waXBlKFxuICAgIGZpbHRlcigodikgPT4gdiBpbnN0YW5jZW9mIFByaXN0aW5lQ2hhbmdlRXZlbnQpLFxuICAgIG1hcCgodikgPT4gISh2IGFzIFByaXN0aW5lQ2hhbmdlRXZlbnQpLnByaXN0aW5lKSxcbiAgICBzdGFydFdpdGgodGhpcy5uZ0Zvcm0uZm9ybS5kaXJ0eSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICApO1xuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIEZpcmVkIHdoZW4gdGhlIHN0YXR1cyBvZiB0aGUgcm9vdCBmb3JtIGNoYW5nZXMuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHN0YXR1c0NoYW5nZXMkID0gdGhpcy5uZ0Zvcm0uZm9ybS5zdGF0dXNDaGFuZ2VzLnBpcGUoXG4gICAgc3RhcnRXaXRoKHRoaXMubmdGb3JtLmZvcm0uc3RhdHVzKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICk7XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJlZCBXaGVuIHRoZSBmb3JtIGJlY29tZXMgdmFsaWQgYnV0IHdhaXRzIHVudGlsIHRoZSBmb3JtIGlzIGlkbGVcbiAgICovXG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgdmFsaWRDaGFuZ2UgPSB0aGlzLnN0YXR1c0NoYW5nZXMkLnBpcGUoXG4gICAgZmlsdGVyKChlKSA9PiBlID09PSAnVkFMSUQnIHx8IGUgPT09ICdJTlZBTElEJyksXG4gICAgbWFwKCh2KSA9PiB2ID09PSAnVkFMSUQnKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICk7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gZGVib3VuY2UgZm9ybVZhbHVlcyB0byBtYWtlIHN1cmUgdmVzdCBpc24ndCB0cmlnZ2VyZWQgYWxsIHRoZSB0aW1lXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGZvcm1WYWx1ZUNhY2hlOiB7XG4gICAgW2ZpZWxkOiBzdHJpbmddOiBQYXJ0aWFsPHtcbiAgICAgIHN1YiQkOiBSZXBsYXlTdWJqZWN0PHVua25vd24+O1xuICAgICAgZGVib3VuY2VkOiBPYnNlcnZhYmxlPGFueT47XG4gICAgfT47XG4gIH0gPSB7fTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gV2hlbiB0aGUgdmFsaWRhdGlvbiBjb25maWcgY2hhbmdlc1xuICAgIC8vIExpc3RlbiB0byBjaGFuZ2VzIG9mIHRoZSBsZWZ0LXNpZGUgb2YgdGhlIGNvbmZpZyBhbmQgdHJpZ2dlciB0aGUgdXBkYXRlVmFsdWVBbmRWYWxpZGl0eVxuICAgIC8vIGZ1bmN0aW9uIG9uIHRoZSBkZXBlbmRhbnQgY29udHJvbHMgb3IgZ3JvdXBzIGF0IHRoZSByaWdodC1zaWRlIG9mIHRoZSBjb25maWdcbiAgICB0b09ic2VydmFibGUodGhpcy52YWxpZGF0aW9uQ29uZmlnKVxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoY29uZikgPT4gISFjb25mKSxcbiAgICAgICAgc3dpdGNoTWFwKChjb25mKSA9PiB7XG4gICAgICAgICAgaWYgKCFjb25mKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IHN0cmVhbXMgPSBPYmplY3Qua2V5cyhjb25mKS5tYXAoKGtleSkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMubmdGb3JtPy5mb3JtLmdldChrZXkpPy52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgICAgICAgLy8gV2FpdCB1bnRpbCBzb21ldGhpbmcgaXMgcGVuZGluZ1xuICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5wZW5kaW5nJCksXG4gICAgICAgICAgICAgIC8vIFdhaXQgdW50aWwgdGhlIGZvcm0gaXMgbm90IHBlbmRpbmcgYW55bW9yZVxuICAgICAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5pZGxlJCksXG4gICAgICAgICAgICAgIG1hcCgoKSA9PiB0aGlzLm5nRm9ybT8uZm9ybS5nZXQoa2V5KT8udmFsdWUpLFxuICAgICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpLFxuICAgICAgICAgICAgICB0YXAoKHYpID0+IHtcbiAgICAgICAgICAgICAgICBjb25mW2tleV0/LmZvckVhY2goKHBhdGg6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgICAgdGhpcy5uZ0Zvcm0/LmZvcm0uZ2V0KHBhdGgpPy51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KHtcbiAgICAgICAgICAgICAgICAgICAgb25seVNlbGY6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIGVtaXRFdmVudDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gemlwKHN0cmVhbXMpO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgLyoqXG4gICAgICogVHJpZ2dlciBzaGFwZSB2YWxpZGF0aW9ucyBpZiB0aGUgZm9ybSBnZXRzIHVwZGF0ZWRcbiAgICAgKiBUaGlzIGlzIGhvdyB3ZSBjYW4gdGhyb3cgcnVuLXRpbWUgZXJyb3JzXG4gICAgICovXG4gICAgdGhpcy5mb3JtVmFsdWVDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpKS5zdWJzY3JpYmUoKHYpID0+IHtcbiAgICAgIGlmICh0aGlzLmZvcm1TaGFwZSgpKSB7XG4gICAgICAgIHZhbGlkYXRlU2hhcGUodiwgdGhpcy5mb3JtU2hhcGUoKSBhcyBEZWVwUmVxdWlyZWQ8VD4pO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLyoqXG4gICAgICogTWFyayBhbGwgdGhlIGZpZWxkcyBhcyB0b3VjaGVkIHdoZW4gdGhlIGZvcm0gaXMgc3VibWl0dGVkXG4gICAgICovXG4gICAgdGhpcy5uZ0Zvcm0ubmdTdWJtaXQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMubmdGb3JtLmZvcm0ubWFya0FsbEFzVG91Y2hlZCgpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgd2lsbCBmZWVkIHRoZSBmb3JtVmFsdWVDYWNoZSwgZGVib3VuY2UgaXQgdGlsbCB0aGUgbmV4dCB0aWNrXG4gICAqIGFuZCBjcmVhdGUgYW4gYXN5bmNocm9ub3VzIHZhbGlkYXRvciB0aGF0IHJ1bnMgYSB2ZXN0IHN1aXRlXG4gICAqIEBwYXJhbSBmaWVsZFxuICAgKiBAcGFyYW0gbW9kZWxcbiAgICogQHBhcmFtIHN1aXRlXG4gICAqIEByZXR1cm5zIGFuIGFzeW5jaHJvbm91cyB2YWxpZGF0b3IgZnVuY3Rpb25cbiAgICovXG4gIHB1YmxpYyBjcmVhdGVBc3luY1ZhbGlkYXRvcihmaWVsZDogc3RyaW5nKTogQXN5bmNWYWxpZGF0b3JGbiB7XG4gICAgaWYgKCF0aGlzLnN1aXRlKCkpIHtcbiAgICAgIHJldHVybiAoKSA9PiBvZihudWxsKTtcbiAgICB9XG4gICAgcmV0dXJuICh2YWx1ZTogYW55KSA9PiB7XG4gICAgICBpZiAoIXRoaXMuZm9ybVZhbHVlKCkpIHtcbiAgICAgICAgcmV0dXJuIG9mKG51bGwpO1xuICAgICAgfVxuICAgICAgY29uc3QgbW9kID0gY2xvbmVEZWVwKHRoaXMuZm9ybVZhbHVlKCkgYXMgVCk7XG4gICAgICBzZXQobW9kIGFzIG9iamVjdCwgZmllbGQsIHZhbHVlKTsgLy8gVXBkYXRlIHRoZSBwcm9wZXJ0eSB3aXRoIHBhdGhcbiAgICAgIGlmICghdGhpcy5mb3JtVmFsdWVDYWNoZVtmaWVsZF0pIHtcbiAgICAgICAgdGhpcy5mb3JtVmFsdWVDYWNoZVtmaWVsZF0gPSB7XG4gICAgICAgICAgc3ViJCQ6IG5ldyBSZXBsYXlTdWJqZWN0KDEpLCAvLyBLZWVwIHRyYWNrIG9mIHRoZSBsYXN0IG1vZGVsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuZm9ybVZhbHVlQ2FjaGVbZmllbGRdLmRlYm91bmNlZCA9IHRoaXMuZm9ybVZhbHVlQ2FjaGVbXG4gICAgICAgICAgZmllbGRcbiAgICAgICAgXS5zdWIkJCEucGlwZShkZWJvdW5jZVRpbWUoMCkpO1xuICAgICAgfVxuICAgICAgLy8gTmV4dCB0aGUgbGF0ZXN0IG1vZGVsIGluIHRoZSBjYWNoZSBmb3IgYSBjZXJ0YWluIGZpZWxkXG4gICAgICB0aGlzLmZvcm1WYWx1ZUNhY2hlW2ZpZWxkXS5zdWIkJCEubmV4dChtb2QpO1xuXG4gICAgICByZXR1cm4gdGhpcy5mb3JtVmFsdWVDYWNoZVtmaWVsZF0uZGVib3VuY2VkIS5waXBlKFxuICAgICAgICAvLyBXaGVuIGRlYm91bmNlZCwgdGFrZSB0aGUgbGF0ZXN0IHZhbHVlIGFuZCBwZXJmb3JtIHRoZSBhc3luY2hyb25vdXMgdmVzdCB2YWxpZGF0aW9uXG4gICAgICAgIHRha2UoMSksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdWl0ZSgpIShtb2QsIGZpZWxkKS5kb25lKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgZXJyb3JzID0gcmVzdWx0LmdldEVycm9ycygpW2ZpZWxkXTtcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChlcnJvcnMgPyB7IGVycm9yOiBlcnJvcnNbMF0sIGVycm9ycyB9IDogbnVsbCk7XG4gICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KSBhcyBPYnNlcnZhYmxlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPjtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJClcbiAgICAgICk7XG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkJC5uZXh0KCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,14 +1,13 @@
1
- import { DestroyRef, Directive, inject, input } from '@angular/core';
2
- import { NG_ASYNC_VALIDATORS } from '@angular/forms';
3
- import { debounceTime, Observable, of, ReplaySubject, switchMap, take } from 'rxjs';
4
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
1
+ import { Directive, input } from '@angular/core';
2
+ import { NG_ASYNC_VALIDATORS, } from '@angular/forms';
3
+ import { debounceTime, Observable, of, ReplaySubject, Subject, switchMap, take, takeUntil, } from 'rxjs';
5
4
  import { cloneDeep, set } from '../utils/form-utils';
6
5
  import * as i0 from "@angular/core";
7
6
  export class ValidateRootFormDirective {
8
7
  constructor() {
8
+ this.destroy$$ = new Subject();
9
9
  this.formValue = input(null);
10
10
  this.suite = input(null);
11
- this.destroyRef = inject(DestroyRef);
12
11
  /**
13
12
  * Whether the root form should be validated or not
14
13
  * This will use the field rootForm
@@ -49,22 +48,37 @@ export class ValidateRootFormDirective {
49
48
  return new Observable((observer) => {
50
49
  this.suite()(mod, field).done((result) => {
51
50
  const errors = result.getErrors()[field];
52
- observer.next((errors ? { error: errors[0], errors } : null));
51
+ observer.next(errors ? { error: errors[0], errors } : null);
53
52
  observer.complete();
54
53
  });
55
54
  });
56
- }), takeUntilDestroyed(this.destroyRef));
55
+ }), takeUntil(this.destroy$$));
57
56
  };
58
57
  }
58
+ ngOnDestroy() {
59
+ this.destroy$$.next();
60
+ }
59
61
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ValidateRootFormDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
60
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.1", type: ValidateRootFormDirective, isStandalone: true, selector: "form[validateRootForm][formValue][suite]", inputs: { formValue: { classPropertyName: "formValue", publicName: "formValue", isSignal: true, isRequired: false, transformFunction: null }, suite: { classPropertyName: "suite", publicName: "suite", isSignal: true, isRequired: false, transformFunction: null }, validateRootForm: { classPropertyName: "validateRootForm", publicName: "validateRootForm", isSignal: true, isRequired: false, transformFunction: null } }, providers: [{ provide: NG_ASYNC_VALIDATORS, useExisting: ValidateRootFormDirective, multi: true }], ngImport: i0 }); }
62
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.0.1", type: ValidateRootFormDirective, isStandalone: true, selector: "form[validateRootForm][formValue][suite]", inputs: { formValue: { classPropertyName: "formValue", publicName: "formValue", isSignal: true, isRequired: false, transformFunction: null }, suite: { classPropertyName: "suite", publicName: "suite", isSignal: true, isRequired: false, transformFunction: null }, validateRootForm: { classPropertyName: "validateRootForm", publicName: "validateRootForm", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
63
+ {
64
+ provide: NG_ASYNC_VALIDATORS,
65
+ useExisting: ValidateRootFormDirective,
66
+ multi: true,
67
+ },
68
+ ], ngImport: i0 }); }
61
69
  }
62
70
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ValidateRootFormDirective, decorators: [{
63
71
  type: Directive,
64
72
  args: [{
65
73
  selector: 'form[validateRootForm][formValue][suite]',
66
74
  standalone: true,
67
- providers: [{ provide: NG_ASYNC_VALIDATORS, useExisting: ValidateRootFormDirective, multi: true }]
75
+ providers: [
76
+ {
77
+ provide: NG_ASYNC_VALIDATORS,
78
+ useExisting: ValidateRootFormDirective,
79
+ multi: true,
80
+ },
81
+ ],
68
82
  }]
69
83
  }] });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtcm9vdC1mb3JtLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZXN0LWZvcm1zL3NyYy9saWIvZGlyZWN0aXZlcy92YWxpZGF0ZS1yb290LWZvcm0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUlILG1CQUFtQixFQUV0QixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVwRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQU9yRCxNQUFNLE9BQU8seUJBQXlCO0lBTHRDO1FBTW9CLGNBQVMsR0FBRyxLQUFLLENBQVcsSUFBSSxDQUFDLENBQUM7UUFDbEMsVUFBSyxHQUFHLEtBQUssQ0FBd0UsSUFBSSxDQUFDLENBQUM7UUFDMUYsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUdqRDs7O1dBR0c7UUFDYSxxQkFBZ0IsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFaEQ7O1dBRUc7UUFDYyxtQkFBYyxHQUszQixFQUFFLENBQUM7S0E4Q1Y7SUE1Q1UsUUFBUSxDQUFDLE9BQWtDO1FBQzlDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUNyQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixDQUFD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ZWYsIERpcmVjdGl2ZSwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBBYnN0cmFjdENvbnRyb2wsXG4gICAgQXN5bmNWYWxpZGF0b3IsXG4gICAgQXN5bmNWYWxpZGF0b3JGbixcbiAgICBOR19BU1lOQ19WQUxJREFUT1JTLFxuICAgIFZhbGlkYXRpb25FcnJvcnNcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBPYnNlcnZhYmxlLCBvZiwgUmVwbGF5U3ViamVjdCwgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdGF0aWNTdWl0ZSB9IGZyb20gJ3Zlc3QnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgY2xvbmVEZWVwLCBzZXQgfSBmcm9tICcuLi91dGlscy9mb3JtLXV0aWxzJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdmb3JtW3ZhbGlkYXRlUm9vdEZvcm1dW2Zvcm1WYWx1ZV1bc3VpdGVdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTkdfQVNZTkNfVkFMSURBVE9SUywgdXNlRXhpc3Rpbmc6IFZhbGlkYXRlUm9vdEZvcm1EaXJlY3RpdmUsIG11bHRpOiB0cnVlIH1dXG59KVxuZXhwb3J0IGNsYXNzIFZhbGlkYXRlUm9vdEZvcm1EaXJlY3RpdmU8VD4gaW1wbGVtZW50cyBBc3luY1ZhbGlkYXRvciB7XG4gICAgcHVibGljIHJlYWRvbmx5IGZvcm1WYWx1ZSA9IGlucHV0PFQgfCBudWxsPihudWxsKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgc3VpdGUgPSBpbnB1dDxTdGF0aWNTdWl0ZTxzdHJpbmcsIHN0cmluZywgKG1vZGVsOiBULCBmaWVsZDogc3RyaW5nKSA9PiB2b2lkPiB8IG51bGw+KG51bGwpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGUgcm9vdCBmb3JtIHNob3VsZCBiZSB2YWxpZGF0ZWQgb3Igbm90XG4gICAgICogVGhpcyB3aWxsIHVzZSB0aGUgZmllbGQgcm9vdEZvcm1cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVhZG9ubHkgdmFsaWRhdGVSb290Rm9ybSA9IGlucHV0KGZhbHNlKTtcblxuICAgIC8qKlxuICAgICAqIFVzZWQgdG8gZGVib3VuY2UgZm9ybVZhbHVlcyB0byBtYWtlIHN1cmUgdmVzdCBpc24ndCB0cmlnZ2VyZWQgYWxsIHRoZSB0aW1lXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtVmFsdWVDYWNoZToge1xuICAgICAgICBbZmllbGQ6IHN0cmluZ106IFBhcnRpYWw8e1xuICAgICAgICAgICAgc3ViJCQ6IFJlcGxheVN1YmplY3Q8dW5rbm93bj47XG4gICAgICAgICAgICBkZWJvdW5jZWQ6IE9ic2VydmFibGU8YW55PjtcbiAgICAgICAgfT47XG4gICAgfSA9IHt9O1xuXG4gICAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDxhbnksIGFueT4pOiBPYnNlcnZhYmxlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiB7XG4gICAgICAgIGlmICghdGhpcy5zdWl0ZSgpIHx8ICF0aGlzLmZvcm1WYWx1ZSgpKSB7XG4gICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlQXN5bmNWYWxpZGF0b3IoJ3Jvb3RGb3JtJykoY29udHJvbC5nZXRSYXdWYWx1ZSgpKSBhcyBPYnNlcnZhYmxlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPjtcbiAgICB9XG5cbiAgICBwdWJsaWMgY3JlYXRlQXN5bmNWYWxpZGF0b3IoXG4gICAgICAgIGZpZWxkOiBzdHJpbmdcbiAgICApOiBBc3luY1ZhbGlkYXRvckZuIHtcbiAgICAgICAgaWYgKCF0aGlzLnN1aXRlKCkpIHtcbiAgICAgICAgICAgIHJldHVybiAoKSA9PiBvZihudWxsKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy5mb3JtVmFsdWUoKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IG1vZCA9IGNsb25lRGVlcCh2YWx1ZSBhcyBUKTtcbiAgICAgICAgICAgIHNldChtb2QgYXMgb2JqZWN0LCBmaWVsZCwgdmFsdWUpOyAvLyBVcGRhdGUgdGhlIHByb3BlcnR5IHdpdGggcGF0aFxuICAgICAgICAgICAgaWYgKCF0aGlzLmZvcm1WYWx1ZUNhY2hlW2ZpZWxkXSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybVZhbHVlQ2FjaGVbZmllbGRdID0ge1xuICAgICAgICAgICAgICAgICAgICBzdWIkJDogbmV3IFJlcGxheVN1YmplY3QoMSksIC8vIEtlZXAgdHJhY2sgb2YgdGhlIGxhc3QgbW9kZWxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHRoaXMuZm9ybVZhbHVlQ2FjaGVbZmllbGRdLmRlYm91bmNlZCA9IHRoaXMuZm9ybVZhbHVlQ2FjaGVbZmllbGRdLnN1YiQkIS5waXBlKGRlYm91bmNlVGltZSgwKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBOZXh0IHRoZSBsYXRlc3QgbW9kZWwgaW4gdGhlIGNhY2hlIGZvciBhIGNlcnRhaW4gZmllbGRcbiAgICAgICAgICAgIHRoaXMuZm9ybVZhbHVlQ2FjaGVbZmllbGRdLnN1YiQkIS5uZXh0KG1vZCk7XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1WYWx1ZUNhY2hlW2ZpZWxkXS5kZWJvdW5jZWQhLnBpcGUoXG4gICAgICAgICAgICAgICAgLy8gV2hlbiBkZWJvdW5jZWQsIHRha2UgdGhlIGxhdGVzdCB2YWx1ZSBhbmQgcGVyZm9ybSB0aGUgYXN5bmNocm9ub3VzIHZlc3QgdmFsaWRhdGlvblxuICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWl0ZSgpIShtb2QsIGZpZWxkKS5kb25lKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvcnMgPSByZXN1bHQuZ2V0RXJyb3JzKClbZmllbGRdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoKGVycm9ycyA/IHsgZXJyb3I6IGVycm9yc1swXSwgZXJyb3JzIH0gOiBudWxsKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KSBhcyBPYnNlcnZhYmxlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPjtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH07XG4gICAgfVxufVxuIl19
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtcm9vdC1mb3JtLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZXN0LWZvcm1zL3NyYy9saWIvZGlyZWN0aXZlcy92YWxpZGF0ZS1yb290LWZvcm0uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQzVELE9BQU8sRUFJTCxtQkFBbUIsR0FFcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQ0wsWUFBWSxFQUNaLFVBQVUsRUFDVixFQUFFLEVBQ0YsYUFBYSxFQUNiLE9BQU8sRUFDUCxTQUFTLEVBQ1QsSUFBSSxFQUNKLFNBQVMsR0FDVixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBYXJELE1BQU0sT0FBTyx5QkFBeUI7SUFYdEM7UUFZbUIsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFakMsY0FBUyxHQUFHLEtBQUssQ0FBVyxJQUFJLENBQUMsQ0FBQztRQUNsQyxVQUFLLEdBQUcsS0FBSyxDQUluQixJQUFJLENBQUMsQ0FBQztRQUVoQjs7O1dBR0c7UUFDYSxxQkFBZ0IsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFaEQ7O1dBRUc7UUFDYyxtQkFBYyxHQUszQixFQUFFLENBQUM7S0FzRFI7SUFwRFEsUUFBUSxDQUNiLE9BQWtDO1FBRWxDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUN2QyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLENBQzFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FDaUIsQ0FBQztJQUMzQyxDQUFDO0lBRU0sb0JBQW9CLENBQUMsS0FBYTtRQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDbEIsT0FBTyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEIsQ0FBQztRQUNELE9BQU8sQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7Z0JBQ3RCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xCLENBQUM7WUFDRCxNQUFNLEdBQUcsR0FBRyxTQUFTLENBQUMsS0FBVSxDQUFDLENBQUM7WUFDbEMsR0FBRyxDQUFDLEdBQWEsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxnQ0FBZ0M7WUFDbEUsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsR0FBRztvQkFDM0IsS0FBSyxFQUFFLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLCtCQUErQjtpQkFDN0QsQ0FBQztnQkFDRixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUN4RCxLQUFLLENBQ04sQ0FBQyxLQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLENBQUM7WUFDRCx5REFBeUQ7WUFDekQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRTVDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFVLENBQUMsSUFBSTtZQUMvQyxxRkFBcUY7WUFDckYsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUNQLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2IsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO29CQUNqQyxJQUFJLENBQUMsS0FBSyxFQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO3dCQUN4QyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7d0JBQ3pDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUM1RCxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ3RCLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBd0MsQ0FBQztZQUM1QyxDQUFDLENBQUMsRUFDRixTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQixDQUFDO1FBQ0osQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDOzhHQTdFVSx5QkFBeUI7a0dBQXpCLHlCQUF5Qix3ZkFSekI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsbUJBQW1CO2dCQUM1QixXQUFXLEVBQUUseUJBQXlCO2dCQUN0QyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0Y7OzJGQUVVLHlCQUF5QjtrQkFYckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMENBQTBDO29CQUNwRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxtQkFBbUI7NEJBQzVCLFdBQVcsMkJBQTJCOzRCQUN0QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgaW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBBc3luY1ZhbGlkYXRvcixcbiAgQXN5bmNWYWxpZGF0b3JGbixcbiAgTkdfQVNZTkNfVkFMSURBVE9SUyxcbiAgVmFsaWRhdGlvbkVycm9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgZGVib3VuY2VUaW1lLFxuICBPYnNlcnZhYmxlLFxuICBvZixcbiAgUmVwbGF5U3ViamVjdCxcbiAgU3ViamVjdCxcbiAgc3dpdGNoTWFwLFxuICB0YWtlLFxuICB0YWtlVW50aWwsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3RhdGljU3VpdGUgfSBmcm9tICd2ZXN0JztcbmltcG9ydCB7IGNsb25lRGVlcCwgc2V0IH0gZnJvbSAnLi4vdXRpbHMvZm9ybS11dGlscyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2Zvcm1bdmFsaWRhdGVSb290Rm9ybV1bZm9ybVZhbHVlXVtzdWl0ZV0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19BU1lOQ19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IFZhbGlkYXRlUm9vdEZvcm1EaXJlY3RpdmUsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBWYWxpZGF0ZVJvb3RGb3JtRGlyZWN0aXZlPFQ+IGltcGxlbWVudHMgQXN5bmNWYWxpZGF0b3IsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgcmVhZG9ubHkgZm9ybVZhbHVlID0gaW5wdXQ8VCB8IG51bGw+KG51bGwpO1xuICBwdWJsaWMgcmVhZG9ubHkgc3VpdGUgPSBpbnB1dDxTdGF0aWNTdWl0ZTxcbiAgICBzdHJpbmcsXG4gICAgc3RyaW5nLFxuICAgIChtb2RlbDogVCwgZmllbGQ6IHN0cmluZykgPT4gdm9pZFxuICA+IHwgbnVsbD4obnVsbCk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIHJvb3QgZm9ybSBzaG91bGQgYmUgdmFsaWRhdGVkIG9yIG5vdFxuICAgKiBUaGlzIHdpbGwgdXNlIHRoZSBmaWVsZCByb290Rm9ybVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHZhbGlkYXRlUm9vdEZvcm0gPSBpbnB1dChmYWxzZSk7XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gZGVib3VuY2UgZm9ybVZhbHVlcyB0byBtYWtlIHN1cmUgdmVzdCBpc24ndCB0cmlnZ2VyZWQgYWxsIHRoZSB0aW1lXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGZvcm1WYWx1ZUNhY2hlOiB7XG4gICAgW2ZpZWxkOiBzdHJpbmddOiBQYXJ0aWFsPHtcbiAgICAgIHN1YiQkOiBSZXBsYXlTdWJqZWN0PHVua25vd24+O1xuICAgICAgZGVib3VuY2VkOiBPYnNlcnZhYmxlPGFueT47XG4gICAgfT47XG4gIH0gPSB7fTtcblxuICBwdWJsaWMgdmFsaWRhdGUoXG4gICAgY29udHJvbDogQWJzdHJhY3RDb250cm9sPGFueSwgYW55PlxuICApOiBPYnNlcnZhYmxlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPiB7XG4gICAgaWYgKCF0aGlzLnN1aXRlKCkgfHwgIXRoaXMuZm9ybVZhbHVlKCkpIHtcbiAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlQXN5bmNWYWxpZGF0b3IoJ3Jvb3RGb3JtJykoXG4gICAgICBjb250cm9sLmdldFJhd1ZhbHVlKClcbiAgICApIGFzIE9ic2VydmFibGU8VmFsaWRhdGlvbkVycm9ycyB8IG51bGw+O1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZUFzeW5jVmFsaWRhdG9yKGZpZWxkOiBzdHJpbmcpOiBBc3luY1ZhbGlkYXRvckZuIHtcbiAgICBpZiAoIXRoaXMuc3VpdGUoKSkge1xuICAgICAgcmV0dXJuICgpID0+IG9mKG51bGwpO1xuICAgIH1cbiAgICByZXR1cm4gKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgIGlmICghdGhpcy5mb3JtVmFsdWUoKSkge1xuICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICB9XG4gICAgICBjb25zdCBtb2QgPSBjbG9uZURlZXAodmFsdWUgYXMgVCk7XG4gICAgICBzZXQobW9kIGFzIG9iamVjdCwgZmllbGQsIHZhbHVlKTsgLy8gVXBkYXRlIHRoZSBwcm9wZXJ0eSB3aXRoIHBhdGhcbiAgICAgIGlmICghdGhpcy5mb3JtVmFsdWVDYWNoZVtmaWVsZF0pIHtcbiAgICAgICAgdGhpcy5mb3JtVmFsdWVDYWNoZVtmaWVsZF0gPSB7XG4gICAgICAgICAgc3ViJCQ6IG5ldyBSZXBsYXlTdWJqZWN0KDEpLCAvLyBLZWVwIHRyYWNrIG9mIHRoZSBsYXN0IG1vZGVsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuZm9ybVZhbHVlQ2FjaGVbZmllbGRdLmRlYm91bmNlZCA9IHRoaXMuZm9ybVZhbHVlQ2FjaGVbXG4gICAgICAgICAgZmllbGRcbiAgICAgICAgXS5zdWIkJCEucGlwZShkZWJvdW5jZVRpbWUoMCkpO1xuICAgICAgfVxuICAgICAgLy8gTmV4dCB0aGUgbGF0ZXN0IG1vZGVsIGluIHRoZSBjYWNoZSBmb3IgYSBjZXJ0YWluIGZpZWxkXG4gICAgICB0aGlzLmZvcm1WYWx1ZUNhY2hlW2ZpZWxkXS5zdWIkJCEubmV4dChtb2QpO1xuXG4gICAgICByZXR1cm4gdGhpcy5mb3JtVmFsdWVDYWNoZVtmaWVsZF0uZGVib3VuY2VkIS5waXBlKFxuICAgICAgICAvLyBXaGVuIGRlYm91bmNlZCwgdGFrZSB0aGUgbGF0ZXN0IHZhbHVlIGFuZCBwZXJmb3JtIHRoZSBhc3luY2hyb25vdXMgdmVzdCB2YWxpZGF0aW9uXG4gICAgICAgIHRha2UoMSksXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcikgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdWl0ZSgpIShtb2QsIGZpZWxkKS5kb25lKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgZXJyb3JzID0gcmVzdWx0LmdldEVycm9ycygpW2ZpZWxkXTtcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChlcnJvcnMgPyB7IGVycm9yOiBlcnJvcnNbMF0sIGVycm9ycyB9IDogbnVsbCk7XG4gICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KSBhcyBPYnNlcnZhYmxlPFZhbGlkYXRpb25FcnJvcnMgfCBudWxsPjtcbiAgICAgICAgfSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJClcbiAgICAgICk7XG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkJC5uZXh0KCk7XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import { Optional } from '@angular/core';
2
- import { ControlContainer, FormsModule, NgForm, NgModelGroup } from '@angular/forms';
2
+ import { ControlContainer, FormsModule, NgForm, NgModelGroup, } from '@angular/forms';
3
3
  import { ValidateRootFormDirective } from './directives/validate-root-form.directive';
4
4
  import { ControlWrapperComponent } from './components/control-wrapper/control-wrapper.component';
5
5
  import { FormDirective } from './directives/form.directive';
@@ -43,8 +43,8 @@ const formViewProvider = {
43
43
  useFactory: _formViewProviderFactory,
44
44
  deps: [
45
45
  [new Optional(), NgForm],
46
- [new Optional(), NgModelGroup]
47
- ]
46
+ [new Optional(), NgModelGroup],
47
+ ],
48
48
  };
49
49
  function _formViewProviderFactory(ngForm, ngModelGroup) {
50
50
  return ngModelGroup || ngForm || null;
@@ -54,10 +54,17 @@ function _formViewProviderFactory(ngForm, ngModelGroup) {
54
54
  */
55
55
  export const vestFormsViewProviders = [
56
56
  { provide: ControlContainer, useExisting: NgForm },
57
- formViewProvider // very important if we want nested components with ngModelGroup
57
+ formViewProvider, // very important if we want nested components with ngModelGroup
58
58
  ];
59
59
  /**
60
60
  * Exports all the stuff we need to use the template driven forms
61
61
  */
62
- export const vestForms = [ValidateRootFormDirective, ControlWrapperComponent, FormDirective, FormsModule, FormModelDirective, FormModelGroupDirective];
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZXN0LWZvcm1zL3NyYy9saWIvZXhwb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUVsRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQ0c7QUFDSCxNQUFNLGdCQUFnQixHQUFhO0lBQ2pDLE9BQU8sRUFBRSxnQkFBZ0I7SUFDekIsVUFBVSxFQUFFLHdCQUF3QjtJQUNwQyxJQUFJLEVBQUU7UUFDSixDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsTUFBTSxDQUFDO1FBQ3hCLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxZQUFZLENBQUM7S0FDL0I7Q0FDRixDQUFDO0FBRUYsU0FBUyx3QkFBd0IsQ0FDL0IsTUFBYyxFQUFFLFlBQTBCO0lBRTFDLE9BQU8sWUFBWSxJQUFJLE1BQU0sSUFBSSxJQUFJLENBQUM7QUFDeEMsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUc7SUFDcEMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRTtJQUNsRCxnQkFBZ0IsQ0FBQyxnRUFBZ0U7Q0FDbEYsQ0FBQTtBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMseUJBQXlCLEVBQUUsdUJBQXVCLEVBQUUsYUFBYSxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSx1QkFBdUIsQ0FBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3B0aW9uYWwsIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sQ29udGFpbmVyLCBGb3Jtc01vZHVsZSwgTmdGb3JtLCBOZ01vZGVsR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBWYWxpZGF0ZVJvb3RGb3JtRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRlLXJvb3QtZm9ybS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ29udHJvbFdyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29udHJvbC13cmFwcGVyL2NvbnRyb2wtd3JhcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9mb3JtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGb3JtTW9kZWxEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZm9ybS1tb2RlbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRm9ybU1vZGVsR3JvdXBEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZm9ybS1tb2RlbC1ncm91cC5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIFRoaXMgaXMgYm9ycm93ZWQgZnJvbSAgW2h0dHBzOi8vZ2l0aHViLmNvbS93YXJkYmVsbC9uZ2MtdmFsaWRhdGUvYmxvYi9tYWluL3NyYy9hcHAvY29yZS9mb3JtLWNvbnRhaW5lci12aWV3LXByb3ZpZGVyLnRzXShodHRwczovL2dpdGh1Yi5jb20vd2FyZGJlbGwvbmdjLXZhbGlkYXRlL2Jsb2IvbWFpbi9zcmMvYXBwL2NvcmUvZm9ybS1jb250YWluZXItdmlldy1wcm92aWRlci50cylcbiAqIFRoYW5rIHlvdSBzbyBtdWNoIFdhcmQgQmVsbCBmb3IgeW91ciBlZmZvcnQhOlxuICpcbiAqIFByb3ZpZGUgYSBDb250cm9sQ29udGFpbmVyIHRvIGEgZm9ybSBjb21wb25lbnQgZnJvbSB0aGVcbiAqIG5lYXJlc3QgcGFyZW50IE5nTW9kZWxHcm91cCAocHJlZmVycmVkKSBvciBOZ0Zvcm0uXG4gKlxuICogUmVxdWlyZWQgZm9yIFJlYWN0aXZlIEZvcm1zIGFzIHdlbGwgKHVubGVzcyB5b3Ugd3JpdGUgQ1ZBKVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBcbiAqICAgQENvbXBvbmVudCh7XG4gKiAgICAgLi4uXG4gKiAgICB2aWV3UHJvdmlkZXJzWyBmb3JtVmlld1Byb3ZpZGVyIF1cbiAqICAgfSlcbiAqIGBgYFxuICogQHNlZSBLYXJhJ3MgQW5ndWxhckNvbm5lY3QgMjAxNyB0YWxrOiBodHRwczovL3lvdXR1LmJlL0NEX3QzbTJXTU04P3Q9MTgyNlxuICpcbiAqIFdpdGhvdXQgdGhpcyBwcm92aWRlclxuICogLSBDb250cm9scyBhcmUgbm90IHJlZ2lzdGVyZWQgd2l0aCBwYXJlbnQgTmdGb3JtIG9yIE5nTW9kZWxHcm91cFxuICogLSBGb3JtLWxldmVsIGZsYWdzIHNheSBcInVudG91Y2hlZFwiIGFuZCBcInZhbGlkXCJcbiAqIC0gTm8gZm9ybS1sZXZlbCB2YWxpZGF0aW9uIHJvbGwtdXBcbiAqIC0gQ29udHJvbHMgc3RpbGwgdmFsaWRhdGUsIHVwZGF0ZSBtb2RlbCwgYW5kIHVwZGF0ZSB0aGVpciBzdGF0dXNlc1xuICogLSBJZiB3aXRoaW4gTmdGb3JtLCBubyBjb21waWxlciBlcnJvciBiZWNhdXNlIENvbnRyb2xDb250YWluZXIgaXMgb3B0aW9uYWwgZm9yIG5nTW9kZWxcbiAqXG4gKiBOb3RlOiBpZiB0aGUgU3ViRm9ybSBDb21wb25lbnQgdGhhdCB1c2VzIHRoaXMgUHJvdmlkZXJcbiAqIGlzIG5vdCB3aXRoaW4gYSBGb3JtIG9yIE5nTW9kZWxHcm91cCwgdGhlIHByb3ZpZGVyIHJldHVybnMgYG51bGxgXG4gKiByZXN1bHRpbmcgaW4gYW4gZXJyb3IsIHNvbWV0aGluZyBsaWtlXG4gKiBgYGBcbiAqIHByZXZpZXctZmVmMzYwNDA4Mzk1MGM3MDljNTJiLmpzOjEgRVJST1IgRXJyb3I6XG4gKiAgbmdNb2RlbEdyb3VwIGNhbm5vdCBiZSB1c2VkIHdpdGggYSBwYXJlbnQgZm9ybUdyb3VwIGRpcmVjdGl2ZS5cbiAqYGBgXG4gKi9cbmNvbnN0IGZvcm1WaWV3UHJvdmlkZXI6IFByb3ZpZGVyID0ge1xuICBwcm92aWRlOiBDb250cm9sQ29udGFpbmVyLFxuICB1c2VGYWN0b3J5OiBfZm9ybVZpZXdQcm92aWRlckZhY3RvcnksXG4gIGRlcHM6IFtcbiAgICBbbmV3IE9wdGlvbmFsKCksIE5nRm9ybV0sXG4gICAgW25ldyBPcHRpb25hbCgpLCBOZ01vZGVsR3JvdXBdXG4gIF1cbn07XG5cbmZ1bmN0aW9uIF9mb3JtVmlld1Byb3ZpZGVyRmFjdG9yeShcbiAgbmdGb3JtOiBOZ0Zvcm0sIG5nTW9kZWxHcm91cDogTmdNb2RlbEdyb3VwXG4pIHtcbiAgcmV0dXJuIG5nTW9kZWxHcm91cCB8fCBuZ0Zvcm0gfHwgbnVsbDtcbn1cblxuLyoqXG4gKiBUaGUgcHJvdmlkZXJzIHdlIG5lZWQgaW4gZXZlcnkgY2hpbGQgY29tcG9uZW50IHRoYXQgaG9sZHMgYW4gbmdNb2RlbEdyb3VwXG4gKi9cbmV4cG9ydCBjb25zdCB2ZXN0Rm9ybXNWaWV3UHJvdmlkZXJzID0gW1xuICB7IHByb3ZpZGU6IENvbnRyb2xDb250YWluZXIsIHVzZUV4aXN0aW5nOiBOZ0Zvcm0gfSxcbiAgZm9ybVZpZXdQcm92aWRlciAvLyB2ZXJ5IGltcG9ydGFudCBpZiB3ZSB3YW50IG5lc3RlZCBjb21wb25lbnRzIHdpdGggbmdNb2RlbEdyb3VwXG5dXG5cbi8qKlxuICogRXhwb3J0cyBhbGwgdGhlIHN0dWZmIHdlIG5lZWQgdG8gdXNlIHRoZSB0ZW1wbGF0ZSBkcml2ZW4gZm9ybXNcbiAqL1xuZXhwb3J0IGNvbnN0IHZlc3RGb3JtcyA9IFtWYWxpZGF0ZVJvb3RGb3JtRGlyZWN0aXZlLCBDb250cm9sV3JhcHBlckNvbXBvbmVudCwgRm9ybURpcmVjdGl2ZSwgRm9ybXNNb2R1bGUsIEZvcm1Nb2RlbERpcmVjdGl2ZSwgRm9ybU1vZGVsR3JvdXBEaXJlY3RpdmVdIGFzIGNvbnN0O1xuIl19
62
+ export const vestForms = [
63
+ ValidateRootFormDirective,
64
+ ControlWrapperComponent,
65
+ FormDirective,
66
+ FormsModule,
67
+ FormModelDirective,
68
+ FormModelGroupDirective,
69
+ ];
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwb3J0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZXN0LWZvcm1zL3NyYy9saWIvZXhwb3J0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsV0FBVyxFQUNYLE1BQU0sRUFDTixZQUFZLEdBQ2IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFFbEY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0NHO0FBQ0gsTUFBTSxnQkFBZ0IsR0FBYTtJQUNqQyxPQUFPLEVBQUUsZ0JBQWdCO0lBQ3pCLFVBQVUsRUFBRSx3QkFBd0I7SUFDcEMsSUFBSSxFQUFFO1FBQ0osQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLE1BQU0sQ0FBQztRQUN4QixDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsWUFBWSxDQUFDO0tBQy9CO0NBQ0YsQ0FBQztBQUVGLFNBQVMsd0JBQXdCLENBQUMsTUFBYyxFQUFFLFlBQTBCO0lBQzFFLE9BQU8sWUFBWSxJQUFJLE1BQU0sSUFBSSxJQUFJLENBQUM7QUFDeEMsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUc7SUFDcEMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRTtJQUNsRCxnQkFBZ0IsRUFBRSxnRUFBZ0U7Q0FDbkYsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHO0lBQ3ZCLHlCQUF5QjtJQUN6Qix1QkFBdUI7SUFDdkIsYUFBYTtJQUNiLFdBQVc7SUFDWCxrQkFBa0I7SUFDbEIsdUJBQXVCO0NBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9wdGlvbmFsLCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29udHJvbENvbnRhaW5lcixcbiAgRm9ybXNNb2R1bGUsXG4gIE5nRm9ybSxcbiAgTmdNb2RlbEdyb3VwLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBWYWxpZGF0ZVJvb3RGb3JtRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3ZhbGlkYXRlLXJvb3QtZm9ybS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ29udHJvbFdyYXBwZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29udHJvbC13cmFwcGVyL2NvbnRyb2wtd3JhcHBlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9mb3JtLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBGb3JtTW9kZWxEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZm9ybS1tb2RlbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRm9ybU1vZGVsR3JvdXBEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZm9ybS1tb2RlbC1ncm91cC5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIFRoaXMgaXMgYm9ycm93ZWQgZnJvbSAgW2h0dHBzOi8vZ2l0aHViLmNvbS93YXJkYmVsbC9uZ2MtdmFsaWRhdGUvYmxvYi9tYWluL3NyYy9hcHAvY29yZS9mb3JtLWNvbnRhaW5lci12aWV3LXByb3ZpZGVyLnRzXShodHRwczovL2dpdGh1Yi5jb20vd2FyZGJlbGwvbmdjLXZhbGlkYXRlL2Jsb2IvbWFpbi9zcmMvYXBwL2NvcmUvZm9ybS1jb250YWluZXItdmlldy1wcm92aWRlci50cylcbiAqIFRoYW5rIHlvdSBzbyBtdWNoIFdhcmQgQmVsbCBmb3IgeW91ciBlZmZvcnQhOlxuICpcbiAqIFByb3ZpZGUgYSBDb250cm9sQ29udGFpbmVyIHRvIGEgZm9ybSBjb21wb25lbnQgZnJvbSB0aGVcbiAqIG5lYXJlc3QgcGFyZW50IE5nTW9kZWxHcm91cCAocHJlZmVycmVkKSBvciBOZ0Zvcm0uXG4gKlxuICogUmVxdWlyZWQgZm9yIFJlYWN0aXZlIEZvcm1zIGFzIHdlbGwgKHVubGVzcyB5b3Ugd3JpdGUgQ1ZBKVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBcbiAqICAgQENvbXBvbmVudCh7XG4gKiAgICAgLi4uXG4gKiAgICB2aWV3UHJvdmlkZXJzWyBmb3JtVmlld1Byb3ZpZGVyIF1cbiAqICAgfSlcbiAqIGBgYFxuICogQHNlZSBLYXJhJ3MgQW5ndWxhckNvbm5lY3QgMjAxNyB0YWxrOiBodHRwczovL3lvdXR1LmJlL0NEX3QzbTJXTU04P3Q9MTgyNlxuICpcbiAqIFdpdGhvdXQgdGhpcyBwcm92aWRlclxuICogLSBDb250cm9scyBhcmUgbm90IHJlZ2lzdGVyZWQgd2l0aCBwYXJlbnQgTmdGb3JtIG9yIE5nTW9kZWxHcm91cFxuICogLSBGb3JtLWxldmVsIGZsYWdzIHNheSBcInVudG91Y2hlZFwiIGFuZCBcInZhbGlkXCJcbiAqIC0gTm8gZm9ybS1sZXZlbCB2YWxpZGF0aW9uIHJvbGwtdXBcbiAqIC0gQ29udHJvbHMgc3RpbGwgdmFsaWRhdGUsIHVwZGF0ZSBtb2RlbCwgYW5kIHVwZGF0ZSB0aGVpciBzdGF0dXNlc1xuICogLSBJZiB3aXRoaW4gTmdGb3JtLCBubyBjb21waWxlciBlcnJvciBiZWNhdXNlIENvbnRyb2xDb250YWluZXIgaXMgb3B0aW9uYWwgZm9yIG5nTW9kZWxcbiAqXG4gKiBOb3RlOiBpZiB0aGUgU3ViRm9ybSBDb21wb25lbnQgdGhhdCB1c2VzIHRoaXMgUHJvdmlkZXJcbiAqIGlzIG5vdCB3aXRoaW4gYSBGb3JtIG9yIE5nTW9kZWxHcm91cCwgdGhlIHByb3ZpZGVyIHJldHVybnMgYG51bGxgXG4gKiByZXN1bHRpbmcgaW4gYW4gZXJyb3IsIHNvbWV0aGluZyBsaWtlXG4gKiBgYGBcbiAqIHByZXZpZXctZmVmMzYwNDA4Mzk1MGM3MDljNTJiLmpzOjEgRVJST1IgRXJyb3I6XG4gKiAgbmdNb2RlbEdyb3VwIGNhbm5vdCBiZSB1c2VkIHdpdGggYSBwYXJlbnQgZm9ybUdyb3VwIGRpcmVjdGl2ZS5cbiAqYGBgXG4gKi9cbmNvbnN0IGZvcm1WaWV3UHJvdmlkZXI6IFByb3ZpZGVyID0ge1xuICBwcm92aWRlOiBDb250cm9sQ29udGFpbmVyLFxuICB1c2VGYWN0b3J5OiBfZm9ybVZpZXdQcm92aWRlckZhY3RvcnksXG4gIGRlcHM6IFtcbiAgICBbbmV3IE9wdGlvbmFsKCksIE5nRm9ybV0sXG4gICAgW25ldyBPcHRpb25hbCgpLCBOZ01vZGVsR3JvdXBdLFxuICBdLFxufTtcblxuZnVuY3Rpb24gX2Zvcm1WaWV3UHJvdmlkZXJGYWN0b3J5KG5nRm9ybTogTmdGb3JtLCBuZ01vZGVsR3JvdXA6IE5nTW9kZWxHcm91cCkge1xuICByZXR1cm4gbmdNb2RlbEdyb3VwIHx8IG5nRm9ybSB8fCBudWxsO1xufVxuXG4vKipcbiAqIFRoZSBwcm92aWRlcnMgd2UgbmVlZCBpbiBldmVyeSBjaGlsZCBjb21wb25lbnQgdGhhdCBob2xkcyBhbiBuZ01vZGVsR3JvdXBcbiAqL1xuZXhwb3J0IGNvbnN0IHZlc3RGb3Jtc1ZpZXdQcm92aWRlcnMgPSBbXG4gIHsgcHJvdmlkZTogQ29udHJvbENvbnRhaW5lciwgdXNlRXhpc3Rpbmc6IE5nRm9ybSB9LFxuICBmb3JtVmlld1Byb3ZpZGVyLCAvLyB2ZXJ5IGltcG9ydGFudCBpZiB3ZSB3YW50IG5lc3RlZCBjb21wb25lbnRzIHdpdGggbmdNb2RlbEdyb3VwXG5dO1xuXG4vKipcbiAqIEV4cG9ydHMgYWxsIHRoZSBzdHVmZiB3ZSBuZWVkIHRvIHVzZSB0aGUgdGVtcGxhdGUgZHJpdmVuIGZvcm1zXG4gKi9cbmV4cG9ydCBjb25zdCB2ZXN0Rm9ybXMgPSBbXG4gIFZhbGlkYXRlUm9vdEZvcm1EaXJlY3RpdmUsXG4gIENvbnRyb2xXcmFwcGVyQ29tcG9uZW50LFxuICBGb3JtRGlyZWN0aXZlLFxuICBGb3Jtc01vZHVsZSxcbiAgRm9ybU1vZGVsRGlyZWN0aXZlLFxuICBGb3JtTW9kZWxHcm91cERpcmVjdGl2ZSxcbl0gYXMgY29uc3Q7XG4iXX0=
@@ -1,4 +1,4 @@
1
1
  export function arrayToObject(arr) {
2
2
  return arr.reduce((acc, value, index) => ({ ...acc, [index]: value }), {});
3
3
  }
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktdG8tb2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlc3QtZm9ybXMvc3JjL2xpYi91dGlscy9hcnJheS10by1vYmplY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLGFBQWEsQ0FBSSxHQUFRO0lBQ3ZDLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0FBQzVFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gYXJyYXlUb09iamVjdDxUPihhcnI6IFRbXSk6IHsgW2tleTogbnVtYmVyXTogVCB9IHtcbiAgcmV0dXJuIGFyci5yZWR1Y2UoKGFjYywgdmFsdWUsIGluZGV4KSA9PiAoeyAuLi5hY2MsIFtpbmRleF06IHZhbHVlIH0pLCB7fSlcbn1cbiJdfQ==
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXktdG8tb2JqZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlc3QtZm9ybXMvc3JjL2xpYi91dGlscy9hcnJheS10by1vYmplY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLGFBQWEsQ0FBSSxHQUFRO0lBQ3ZDLE9BQU8sR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQzdFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gYXJyYXlUb09iamVjdDxUPihhcnI6IFRbXSk6IHsgW2tleTogbnVtYmVyXTogVCB9IHtcbiAgcmV0dXJuIGFyci5yZWR1Y2UoKGFjYywgdmFsdWUsIGluZGV4KSA9PiAoeyAuLi5hY2MsIFtpbmRleF06IHZhbHVlIH0pLCB7fSk7XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcC1wYXJ0aWFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlc3QtZm9ybXMvc3JjL2xpYi91dGlscy9kZWVwLXBhcnRpYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU2ltcGxlIHR5cGUgdGhhdCBtYWtlcyBldmVyeSBwcm9wZXJ0eSBhbmQgY2hpbGQgcHJvcGVydHlcbiAqIHBhcnRpYWwsIHJlY3Vyc2l2ZWx5LiBXaHk/IEJlY2F1c2UgdGVtcGxhdGUtZHJpdmVuIGZvcm1zIGFyZVxuICogZGVlcCBwYXJ0aWFsLCBzaW5jZSB0aGV5IGdldCBjcmVhdGVkIGJ5IHRoZSBET01cbiAqL1xuZXhwb3J0IHR5cGUgRGVlcFBhcnRpYWw8VD4gPSB7XG4gICAgW1AgaW4ga2V5b2YgVF0/OiBUW1BdIGV4dGVuZHMgQXJyYXk8aW5mZXIgVT5cbiAgICAgICAgPyBBcnJheTxEZWVwUGFydGlhbDxVPj5cbiAgICAgICAgOiBUW1BdIGV4dGVuZHMgUmVhZG9ubHlBcnJheTxpbmZlciBVPlxuICAgICAgICAgICAgPyBSZWFkb25seUFycmF5PERlZXBQYXJ0aWFsPFU+PlxuICAgICAgICAgICAgOiBUW1BdIGV4dGVuZHMgb2JqZWN0XG4gICAgICAgICAgICAgICAgPyBEZWVwUGFydGlhbDxUW1BdPlxuICAgICAgICAgICAgICAgIDogVFtQXTtcbn07Il19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcC1wYXJ0aWFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlc3QtZm9ybXMvc3JjL2xpYi91dGlscy9kZWVwLXBhcnRpYWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU2ltcGxlIHR5cGUgdGhhdCBtYWtlcyBldmVyeSBwcm9wZXJ0eSBhbmQgY2hpbGQgcHJvcGVydHlcbiAqIHBhcnRpYWwsIHJlY3Vyc2l2ZWx5LiBXaHk/IEJlY2F1c2UgdGVtcGxhdGUtZHJpdmVuIGZvcm1zIGFyZVxuICogZGVlcCBwYXJ0aWFsLCBzaW5jZSB0aGV5IGdldCBjcmVhdGVkIGJ5IHRoZSBET01cbiAqL1xuZXhwb3J0IHR5cGUgRGVlcFBhcnRpYWw8VD4gPSB7XG4gIFtQIGluIGtleW9mIFRdPzogVFtQXSBleHRlbmRzIEFycmF5PGluZmVyIFU+XG4gICAgPyBBcnJheTxEZWVwUGFydGlhbDxVPj5cbiAgICA6IFRbUF0gZXh0ZW5kcyBSZWFkb25seUFycmF5PGluZmVyIFU+XG4gICAgICA/IFJlYWRvbmx5QXJyYXk8RGVlcFBhcnRpYWw8VT4+XG4gICAgICA6IFRbUF0gZXh0ZW5kcyBvYmplY3RcbiAgICAgICAgPyBEZWVwUGFydGlhbDxUW1BdPlxuICAgICAgICA6IFRbUF07XG59O1xuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcC1yZXF1aXJlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZXN0LWZvcm1zL3NyYy9saWIvdXRpbHMvZGVlcC1yZXF1aXJlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTb21ldGltZXMgd2Ugd2FudCB0byBtYWtlIGV2ZXJ5IHByb3BlcnR5IG9mIGEgdHlwZVxuICogcmVxdWlyZWQsIGJ1dCBhbHNvIGNoaWxkIHByb3BlcnRpZXMgcmVjdXJzaXZlbHlcbiAqL1xuZXhwb3J0IHR5cGUgRGVlcFJlcXVpcmVkPFQ+ID0ge1xuICBbSyBpbiBrZXlvZiBUXS0/OiBUW0tdIGV4dGVuZHMgb2JqZWN0ID8gRGVlcFJlcXVpcmVkPFRbS10+IDogVFtLXTtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcC1yZXF1aXJlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZXN0LWZvcm1zL3NyYy9saWIvdXRpbHMvZGVlcC1yZXF1aXJlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTb21ldGltZXMgd2Ugd2FudCB0byBtYWtlIGV2ZXJ5IHByb3BlcnR5IG9mIGEgdHlwZVxuICogcmVxdWlyZWQsIGJ1dCBhbHNvIGNoaWxkIHByb3BlcnRpZXMgcmVjdXJzaXZlbHlcbiAqL1xuZXhwb3J0IHR5cGUgRGVlcFJlcXVpcmVkPFQ+ID0ge1xuICBbSyBpbiBrZXlvZiBUXS0/OiBUW0tdIGV4dGVuZHMgb2JqZWN0ID8gRGVlcFJlcXVpcmVkPFRbS10+IDogVFtLXTtcbn07XG4iXX0=