iptdevs-design-system 3.1.425 → 3.1.426

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.
@@ -9,6 +9,7 @@ import { CodSelfFormStepTwoComponent } from './steps/cod-form-step-two/cod-self-
9
9
  import { CodSelfFormStepThreeComponent } from './steps/cod-form-step-three/cod-self-form-step-three.component';
10
10
  import { CodSelfFormStepFourComponent } from './steps/cod-form-step-four/cod-self-form-step-four.component';
11
11
  import { ButtonModule } from 'primeng/button';
12
+ import { ToastModule } from 'primeng/toast';
12
13
  import * as i0 from "@angular/core";
13
14
  export class codSelfManagedModule {
14
15
  }
@@ -22,7 +23,8 @@ codSelfManagedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", ve
22
23
  ReactiveFormsModule,
23
24
  StepsModule,
24
25
  FormsModule,
25
- ButtonModule], exports: [CodSelfManagedComponent,
26
+ ButtonModule,
27
+ ToastModule], exports: [CodSelfManagedComponent,
26
28
  CodSelfFormStepOneComponent,
27
29
  CodSelfFormStepTwoComponent,
28
30
  CodSelfFormStepThreeComponent,
@@ -32,7 +34,8 @@ codSelfManagedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ve
32
34
  ReactiveFormsModule,
33
35
  StepsModule,
34
36
  FormsModule,
35
- ButtonModule] });
37
+ ButtonModule,
38
+ ToastModule] });
36
39
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: codSelfManagedModule, decorators: [{
37
40
  type: NgModule,
38
41
  args: [{
@@ -42,7 +45,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
42
45
  ReactiveFormsModule,
43
46
  StepsModule,
44
47
  FormsModule,
45
- ButtonModule
48
+ ButtonModule,
49
+ ToastModule
46
50
  ],
47
51
  declarations: [
48
52
  CodSelfManagedComponent,
@@ -60,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
60
64
  ],
61
65
  }]
62
66
  }] });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLXNlbGYtbWFuYWdlZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kLXNlbGYtbWFuYWdlZC9jb2Qtc2VsZi1tYW5hZ2VkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUM3RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDekcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUMvRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUM1RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBMEI5QyxNQUFNLE9BQU8sb0JBQW9COztpSEFBcEIsb0JBQW9CO2tIQUFwQixvQkFBb0IsaUJBZDdCLHVCQUF1QjtRQUN2QiwyQkFBMkI7UUFDM0IsMkJBQTJCO1FBQzNCLDZCQUE2QjtRQUM3Qiw0QkFBNEIsYUFaNUIsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixtQkFBbUI7UUFDbkIsV0FBVztRQUNYLFdBQVc7UUFDWCxZQUFZLGFBVVosdUJBQXVCO1FBQ3ZCLDJCQUEyQjtRQUMzQiwyQkFBMkI7UUFDM0IsNkJBQTZCO1FBQzdCLDRCQUE0QjtrSEFHbkIsb0JBQW9CLFlBdEI3QixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLG1CQUFtQjtRQUNuQixXQUFXO1FBQ1gsV0FBVztRQUNYLFlBQVk7MkZBaUJILG9CQUFvQjtrQkF4QmhDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFDO3dCQUNOLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQixtQkFBbUI7d0JBQ25CLFdBQVc7d0JBQ1gsV0FBVzt3QkFDWCxZQUFZO3FCQUNiO29CQUNELFlBQVksRUFBQzt3QkFDWCx1QkFBdUI7d0JBQ3ZCLDJCQUEyQjt3QkFDM0IsMkJBQTJCO3dCQUMzQiw2QkFBNkI7d0JBQzdCLDRCQUE0QjtxQkFDN0I7b0JBQ0QsT0FBTyxFQUFDO3dCQUNOLHVCQUF1Qjt3QkFDdkIsMkJBQTJCO3dCQUMzQiwyQkFBMkI7d0JBQzNCLDZCQUE2Qjt3QkFDN0IsNEJBQTRCO3FCQUM3QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29kU2VsZk1hbmFnZWRDb21wb25lbnQgfSBmcm9tICcuL2NvZC1mb3JtLXNlbGYtbWFuYWdlZC9jb2Qtc2VsZi1tYW5hZ2VkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21wb25lbnRzTW9kdWxlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb21wb25lbnRzLm1vZHVsZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvZFNlbGZGb3JtU3RlcE9uZUNvbXBvbmVudCB9IGZyb20gJy4vc3RlcHMvY29kLWZvcm0tc3RlcC1vbmUvY29kLXNlbGYtZm9ybS1zdGVwLW9uZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3RlcHNNb2R1bGUgfSBmcm9tICdwcmltZW5nL3N0ZXBzJztcbmltcG9ydCB7IENvZFNlbGZGb3JtU3RlcFR3b0NvbXBvbmVudCB9IGZyb20gJy4vc3RlcHMvY29kLWZvcm0tc3RlcC10d28vY29kLXNlbGYtZm9ybS1zdGVwLXR3by5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29kU2VsZkZvcm1TdGVwVGhyZWVDb21wb25lbnQgfSBmcm9tICcuL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtdGhyZWUvY29kLXNlbGYtZm9ybS1zdGVwLXRocmVlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb2RTZWxmRm9ybVN0ZXBGb3VyQ29tcG9uZW50IH0gZnJvbSAnLi9zdGVwcy9jb2QtZm9ybS1zdGVwLWZvdXIvY29kLXNlbGYtZm9ybS1zdGVwLWZvdXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czpbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIENvbXBvbmVudHNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBTdGVwc01vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBCdXR0b25Nb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOltcbiAgICBDb2RTZWxmTWFuYWdlZENvbXBvbmVudCxcbiAgICBDb2RTZWxmRm9ybVN0ZXBPbmVDb21wb25lbnQsXG4gICAgQ29kU2VsZkZvcm1TdGVwVHdvQ29tcG9uZW50LFxuICAgIENvZFNlbGZGb3JtU3RlcFRocmVlQ29tcG9uZW50LFxuICAgIENvZFNlbGZGb3JtU3RlcEZvdXJDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6W1xuICAgIENvZFNlbGZNYW5hZ2VkQ29tcG9uZW50LFxuICAgIENvZFNlbGZGb3JtU3RlcE9uZUNvbXBvbmVudCxcbiAgICBDb2RTZWxmRm9ybVN0ZXBUd29Db21wb25lbnQsXG4gICAgQ29kU2VsZkZvcm1TdGVwVGhyZWVDb21wb25lbnQsXG4gICAgQ29kU2VsZkZvcm1TdGVwRm91ckNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgY29kU2VsZk1hbmFnZWRNb2R1bGUgeyB9XG4iXX0=
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLXNlbGYtbWFuYWdlZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kLXNlbGYtbWFuYWdlZC9jb2Qtc2VsZi1tYW5hZ2VkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUM3RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNERBQTRELENBQUM7QUFDekcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw0REFBNEQsQ0FBQztBQUN6RyxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUMvRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUM1RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUEyQjVDLE1BQU0sT0FBTyxvQkFBb0I7O2lIQUFwQixvQkFBb0I7a0hBQXBCLG9CQUFvQixpQkFkN0IsdUJBQXVCO1FBQ3ZCLDJCQUEyQjtRQUMzQiwyQkFBMkI7UUFDM0IsNkJBQTZCO1FBQzdCLDRCQUE0QixhQWI1QixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLG1CQUFtQjtRQUNuQixXQUFXO1FBQ1gsV0FBVztRQUNYLFlBQVk7UUFDWixXQUFXLGFBVVgsdUJBQXVCO1FBQ3ZCLDJCQUEyQjtRQUMzQiwyQkFBMkI7UUFDM0IsNkJBQTZCO1FBQzdCLDRCQUE0QjtrSEFHbkIsb0JBQW9CLFlBdkI3QixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLG1CQUFtQjtRQUNuQixXQUFXO1FBQ1gsV0FBVztRQUNYLFlBQVk7UUFDWixXQUFXOzJGQWlCRixvQkFBb0I7a0JBekJoQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBQzt3QkFDTixZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsbUJBQW1CO3dCQUNuQixXQUFXO3dCQUNYLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixXQUFXO3FCQUNaO29CQUNELFlBQVksRUFBQzt3QkFDWCx1QkFBdUI7d0JBQ3ZCLDJCQUEyQjt3QkFDM0IsMkJBQTJCO3dCQUMzQiw2QkFBNkI7d0JBQzdCLDRCQUE0QjtxQkFDN0I7b0JBQ0QsT0FBTyxFQUFDO3dCQUNOLHVCQUF1Qjt3QkFDdkIsMkJBQTJCO3dCQUMzQiwyQkFBMkI7d0JBQzNCLDZCQUE2Qjt3QkFDN0IsNEJBQTRCO3FCQUM3QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29kU2VsZk1hbmFnZWRDb21wb25lbnQgfSBmcm9tICcuL2NvZC1mb3JtLXNlbGYtbWFuYWdlZC9jb2Qtc2VsZi1tYW5hZ2VkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb21wb25lbnRzTW9kdWxlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb21wb25lbnRzLm1vZHVsZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENvZFNlbGZGb3JtU3RlcE9uZUNvbXBvbmVudCB9IGZyb20gJy4vc3RlcHMvY29kLWZvcm0tc3RlcC1vbmUvY29kLXNlbGYtZm9ybS1zdGVwLW9uZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3RlcHNNb2R1bGUgfSBmcm9tICdwcmltZW5nL3N0ZXBzJztcbmltcG9ydCB7IENvZFNlbGZGb3JtU3RlcFR3b0NvbXBvbmVudCB9IGZyb20gJy4vc3RlcHMvY29kLWZvcm0tc3RlcC10d28vY29kLXNlbGYtZm9ybS1zdGVwLXR3by5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29kU2VsZkZvcm1TdGVwVGhyZWVDb21wb25lbnQgfSBmcm9tICcuL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtdGhyZWUvY29kLXNlbGYtZm9ybS1zdGVwLXRocmVlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb2RTZWxmRm9ybVN0ZXBGb3VyQ29tcG9uZW50IH0gZnJvbSAnLi9zdGVwcy9jb2QtZm9ybS1zdGVwLWZvdXIvY29kLXNlbGYtZm9ybS1zdGVwLWZvdXIuY29tcG9uZW50JztcbmltcG9ydCB7IEJ1dHRvbk1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYnV0dG9uJztcbmltcG9ydCB7IFRvYXN0TW9kdWxlIH0gZnJvbSAncHJpbWVuZy90b2FzdCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6W1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBDb21wb25lbnRzTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgU3RlcHNNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgQnV0dG9uTW9kdWxlLFxuICAgIFRvYXN0TW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczpbXG4gICAgQ29kU2VsZk1hbmFnZWRDb21wb25lbnQsXG4gICAgQ29kU2VsZkZvcm1TdGVwT25lQ29tcG9uZW50LFxuICAgIENvZFNlbGZGb3JtU3RlcFR3b0NvbXBvbmVudCxcbiAgICBDb2RTZWxmRm9ybVN0ZXBUaHJlZUNvbXBvbmVudCxcbiAgICBDb2RTZWxmRm9ybVN0ZXBGb3VyQ29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOltcbiAgICBDb2RTZWxmTWFuYWdlZENvbXBvbmVudCxcbiAgICBDb2RTZWxmRm9ybVN0ZXBPbmVDb21wb25lbnQsXG4gICAgQ29kU2VsZkZvcm1TdGVwVHdvQ29tcG9uZW50LFxuICAgIENvZFNlbGZGb3JtU3RlcFRocmVlQ29tcG9uZW50LFxuICAgIENvZFNlbGZGb3JtU3RlcEZvdXJDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIGNvZFNlbGZNYW5hZ2VkTW9kdWxlIHsgfVxuIl19
@@ -14,16 +14,16 @@ export class CodSelfManagedControls {
14
14
  { name: 'student_last_name', required: true, description: 'Apellidos del estudiante' },
15
15
  { name: 'student_name', required: true, description: 'Nombres del estudiante' },
16
16
  { name: 'gender', required: true, description: 'Género' },
17
+ { name: 'student_email', required: true, description: 'Correo del estudiante' },
18
+ { name: 'student_phone_indicative', required: true, description: 'Indicativo del estudiante' },
19
+ { name: 'student_phone_number', required: true, description: 'Teléfono del estudiante' },
17
20
  // { name: 'student_address', required: true, description: 'Dirección del estudiante' },
18
- // { name: 'student_email', required: true, description: 'Correo del estudiante' },
19
21
  // { name: 'nickname', required: true, description: 'Alias o nickname' },
20
22
  // { name: 'age', required: true, description: 'Edad' },
21
23
  // { name: 'student_occupation', required: true, description: 'Ocupación del estudiante' },
22
24
  // { name: 'stratum', required: true, description: 'Estrato del estudiante' },
23
25
  // { name: 'grade', required: true, description: 'Grado del estudiante' },
24
26
  // { name: 'civil_status', required: true, description: 'Estado civil del estudiante' },
25
- // { name: 'student_phone_indicative', required: true, description: 'Indicativo del estudiante' },
26
- // { name: 'student_phone_number', required: true, description: 'Teléfono del estudiante' },
27
27
  // { name: 'password', required: true, description: 'Contraseña del estudiante' },
28
28
  // { name: 're_password', required: true, description: 'Confirmación de contraseña' },
29
29
  ],
@@ -93,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
93
93
  providedIn: 'root'
94
94
  }]
95
95
  }], ctorParameters: function () { return []; } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLXNlbGYtbWFuYWdlZC1jb250cm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb2Qtc2VsZi1tYW5hZ2VkL2xvZ2ljL2NvZC1zZWxmLW1hbmFnZWQtY29udHJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDOztBQVVuRCxNQUFNLE9BQU8sc0JBQXNCO0lBeUVqQztRQXZFTyxhQUFRLEdBQTBCO1lBQ3ZDO2dCQUNFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxvQ0FBb0MsRUFBRTtnQkFDeEYsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRTtnQkFDeEQsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFO2dCQUN2RSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsc0JBQXNCLEVBQUU7Z0JBQ3JFLEVBQUUsSUFBSSxFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLGtDQUFrQyxFQUFFO2dCQUNqRyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSwwQkFBMEIsRUFBRTtnQkFDcEYsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsMEJBQTBCLEVBQUU7Z0JBQ3RGLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsSUFBSSxF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LElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM3RCxJQUFJLE9BQU8sR0FBRyxRQUFRLENBQUMsSUFBSSxHQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssV0FBVyxDQUFDLENBQUM7UUFDL0UsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFFL0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7SUFDL0IsQ0FBQzs7bUhBeEZVLHNCQUFzQjt1SEFBdEIsc0JBQXNCLGNBRnJCLE1BQU07MkZBRVAsc0JBQXNCO2tCQUhsQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDb250cm9sU3RlcHMge1xuICBuYW1lOiBzdHJpbmc7XG4gIHJlcXVpcmVkOiBib29sZWFuO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xufVxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ29kU2VsZk1hbmFnZWRDb250cm9scyB7XG5cbiAgcHVibGljIGNvbnRyb2xzOiBBcnJheTxDb250cm9sU3RlcHNbXT4gPSBbXG4gICAgW1xuICAgICAgeyBuYW1lOiAnYmlydGhkYXRlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRmVjaGEgZGUgbmFjaW1pZW50byBkZWwgZXN0dWRpYW50ZScgfSxcbiAgICAgIHsgbmFtZTogJ2NvdW50cnknLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdQYcOtcycgfSxcbiAgICAgIHsgbmFtZTogJ3N0YXRlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRGVwYXJ0YW1lbnRvIG8gZXN0YWRvJyB9LFxuICAgICAgeyBuYW1lOiAnY2l0eScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0NpdWRhZCBkZSByZXNpZGVuY2lhJyB9LFxuICAgICAgeyBuYW1lOiAnc3R1ZGVudF9pZF9jYXJkX3R5cGUnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdUaXBvIGRlIGRvY3VtZW50byBkZWwgZXN0dWRpYW50ZScgfSxcbiAgICAgIHsgbmFtZTogJ3N0dWRlbnRfaWRfY2FyZCcsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0RvY3VtZW50byBkZWwgZXN0dWRpYW50ZScgfSxcbiAgICAgIHsgbmFtZTogJ3N0dWRlbnRfbGFzdF9uYW1lJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnQXBlbGxpZG9zIGRlbCBlc3R1ZGlhbnRlJyB9LFxuICAgICAgeyBuYW1lOiAnc3R1ZGVudF9uYW1lJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnTm9tYnJlcyBkZWwgZXN0dWRpYW50ZScgfSxcbiAgICAgIHsgbmFtZTogJ2dlbmRlcicsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0fDqW5lcm8nIH0sXG4gICAgICAvLyB7IG5hbWU6ICdzdHVkZW50X2FkZHJlc3MnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdEaXJlY2Npw7NuIGRlbCBlc3R1ZGlhbnRlJyB9LFxuICAgICAgLy8geyBuYW1lOiAnc3R1ZGVudF9lbWFpbCcsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0NvcnJlbyBkZWwgZXN0dWRpYW50ZScgfSxcbiAgICAgIC8vIHsgbmFtZTogJ25pY2tuYW1lJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnQWxpYXMgbyBuaWNrbmFtZScgfSxcbiAgICAgIC8vIHsgbmFtZTogJ2FnZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0VkYWQnIH0sXG4gICAgICAvLyB7IG5hbWU6ICdzdHVkZW50X29jY3VwYXRpb24nLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdPY3VwYWNpw7NuIGRlbCBlc3R1ZGlhbnRlJyB9LFxuICAgICAgLy8geyBuYW1lOiAnc3RyYXR1bScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0VzdHJhdG8gZGVsIGVzdHVkaWFudGUnIH0sXG4gICAgICAvLyB7IG5hbWU6ICdncmFkZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0dyYWRvIGRlbCBlc3R1ZGlhbnRlJyB9LFxuICAgICAgLy8geyBuYW1lOiAnY2l2aWxfc3RhdHVzJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRXN0YWRvIGNpdmlsIGRlbCBlc3R1ZGlhbnRlJyB9LFxuICAgICAgLy8geyBuYW1lOiAnc3R1ZGVudF9waG9uZV9pbmRpY2F0aXZlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnSW5kaWNhdGl2byBkZWwgZXN0dWRpYW50ZScgfSxcbiAgICAgIC8vIHsgbmFtZTogJ3N0dWRlbnRfcGhvbmVfbnVtYmVyJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnVGVsw6lmb25vIGRlbCBlc3R1ZGlhbnRlJyB9LFxuICAgICAgLy8geyBuYW1lOiAncGFzc3dvcmQnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdDb250cmFzZcOxYSBkZWwgZXN0dWRpYW50ZScgfSxcbiAgICAgIC8vIHsgbmFtZTogJ3JlX3Bhc3N3b3JkJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnQ29uZmlybWFjacOzbiBkZSBjb250cmFzZcOxYScgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIHsgbmFtZTogJ2FjYWRlbWljX3BsYW4nLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdQbGFuIGFjYWTDqW1pY28nIH0sXG4gICAgICB7IG5hbWU6ICdjb3Vyc2VfdHlwZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ1RpcG8gZGUgY3Vyc28nIH0sXG4gICAgICB7IG5hbWU6ICdhZ3JlZW1lbnRfYnlfY2F0ZWdvcnknLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdDb252ZW5pbycgfSxcbiAgICAgIHsgbmFtZTogJ2VuZ2xpc2hfbGV2ZWwnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdOaXZlbCBkZSBpbmdsw6lzJyB9LFxuICAgICAgeyBuYW1lOiAnYXZhaWxpYmxlX2NvdXJzZXMnLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnQ3Vyc29zIGRpc3BvbmlibGVzJyB9LFxuICAgICAgeyBuYW1lOiAnY291cnNlX21vZGFsaXR5JywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogJ01vZGFsaWRhZCBkZWwgY3Vyc28nIH0sXG4gICAgXSxcbiAgICAvLyBbXG4gICAgLy8gICB7IG5hbWU6ICdwYXJlbnRfaWRfY2FyZF90eXBlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnVGlwbyBkZSBkb2N1bWVudG8gZGVsIGFjdWRpZW50ZScgfSxcbiAgICAvLyAgIHsgbmFtZTogJ3BhcmVudF9pZF9jYXJkJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRG9jdW1lbnRvIGRlbCBhY3VkaWVudGUnIH0sXG4gICAgLy8gICB7IG5hbWU6ICdwYXJlbnRfbGFzdF9uYW1lJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnQXBlbGxpZG9zIGRlbCBhY3VkaWVudGUnIH0sXG4gICAgLy8gICB7IG5hbWU6ICdwYXJlbnRfbmFtZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ05vbWJyZXMgZGVsIGFjdWRpZW50ZScgfSxcbiAgICAvLyAgIHsgbmFtZTogJ25lZWRBdGVuZGFudCcsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ8K/UmVxdWllcmUgYWN1ZGllbnRlPycgfSxcbiAgICAvLyAgIHsgbmFtZTogJ3BhcmVudF9waG9uZV9pbmRpY2F0aXZlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnSW5kaWNhdGl2byBkZWwgYWN1ZGllbnRlJyB9LFxuICAgIC8vICAgeyBuYW1lOiAncGFyZW50X29jY3VwYXRpb24nLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdPY3VwYWNpw7NuIGRlbCBhY3VkaWVudGUnIH0sXG4gICAgLy8gICB7IG5hbWU6ICdwYXJlbnRfYWRkcmVzcycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0RpcmVjY2nDs24gZGVsIGFjdWRpZW50ZScgfSxcbiAgICAvLyAgIHsgbmFtZTogJ3BhcmVudF9waG9uZV9udW1iZXInLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdUZWzDqWZvbm8gZGVsIGFjdWRpZW50ZScgfVxuICAgIC8vIF0sXG4gICAgW1xuICAgICAgeyBuYW1lOiAncGF5bWVudF9kYXRlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRmVjaGEgZGUgcGFnbycgfSxcbiAgICAgIHsgbmFtZTogJ3Byb2dyYW1fcHJpY2UnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdWYWxvciB0b3RhbCBkZWwgcHJvZ3JhbWEnIH0sXG4gICAgICB7IG5hbWU6ICdwYXltZW50X21ldGhvZCcsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ03DqXRvZG8gZGUgcGFnbycgfSxcbiAgICAgIHsgbmFtZTogJ3F1b3RhX3RpbWVzJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnQ2FudGlkYWQgZGUgY3VvdGFzJyB9LFxuICAgICAgeyBuYW1lOiAndG90YWxfcHJpY2UnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdQcmVjaW8gdG90YWwgZGUgbGEgbWF0cmljdWxhJyB9LFxuICAgICAgeyBuYW1lOiAncGFpZF9sZXZlbCcsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ05pdmVsZXMgcGFnb3MnIH0sXG4gICAgXSxcbiAgICAvLyBbXG4gICAgLy8gICB7IG5hbWU6ICdtYXJrZXRpbmdfcmVhc29ucycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ8K/Q8OzbW8gc2UgZW50ZXLDsyBkZWwgcHJvZ3JhbWE/JyB9LFxuICAgIC8vICAgeyBuYW1lOiAnb2JzZXJ2YXRpb24nLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnT2JzZXJ2YWNpw7NuJyB9LFxuICAgIC8vICAgeyBuYW1lOiAnc3R1ZHlfcmVhc29ucycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ01vdGl2bycgfSxcbiAgICAvLyAgIHsgbmFtZTogJ3Rlcm1zJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnVMOpcm1pbm9zIHkgY29uZGljaW9uZXMnIH0sXG4gICAgLy8gICB7IG5hbWU6ICdkaXNhYmlsaXR5JywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogJ0Rpc2NhcGFjaWRhZCcgfSxcbiAgICAvLyAgIHsgbmFtZTogJ211bHRpY3VsdHVyYWxpc21fMScsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdNdWx0aWN1bHR1cmFsaXNtbycgfSxcbiAgICAvLyAgIHsgbmFtZTogJ211bHRpY3VsdHVyYWxpc21fMicsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdNdWx0aWN1bHR1cmFsaXNtbycgfSxcbiAgICAvLyAgIHsgbmFtZTogJ211bHRpY3VsdHVyYWxpc21fMycsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdNdWx0aWN1bHR1cmFsaXNtbycgfSxcbiAgICAvLyAgIHsgbmFtZTogJ211bHRpY3VsdHVyYWxpc21fNCcsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdNdWx0aWN1bHR1cmFsaXNtbycgfSxcbiAgICAvLyAgIHsgbmFtZTogJ211bHRpY3VsdHVyYWxpc21fNScsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdNdWx0aWN1bHR1cmFsaXNtbycgfSxcbiAgICAvLyAgIHsgbmFtZTogJ211bHRpY3VsdHVyYWxpc21fNicsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdNdWx0aWN1bHR1cmFsaXNtbycgfSxcbiAgICAvLyAgIHsgbmFtZTogJ2hlYWx0aF9yZWdpbWVuJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnUsOpZ2ltZW4gZGUgc2FsdWQnIH0sXG4gICAgLy8gICB7IG5hbWU6ICdjb2RlX3JlZmVycycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ1JlZmllcmUnIH0sXG4gICAgLy8gICB7IG5hbWU6ICdjb2RlX2NvZCcsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdDb2RpZ28gQ29kJyB9XG4gICAgLy8gXSxcbiAgXTtcblxuICBwcml2YXRlICRjb250cm9scyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXJyYXk8Q29udHJvbFN0ZXBzW10+PihbXSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy4kY29udHJvbHMubmV4dCh0aGlzLmNvbnRyb2xzKTtcbiAgfVxuXG4gIGdldENvbnRyb2xWYWx1ZXMoKTogT2JzZXJ2YWJsZTxBcnJheTxDb250cm9sU3RlcHNbXT4+IHtcbiAgICByZXR1cm4gdGhpcy4kY29udHJvbHMuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvLyBDYW1iaWFyIGxvcyB2YWxvcmVzIGRlIGxvcyBjb250cm9scywgZWplbXBsbzogdHJ1ZSB5IGZhbHNlIGRlbCBjaGVja2JveFxuICBjaGFuZ2VWYWx1ZShzdGVwOiBudW1iZXIsIGNvbnRyb2xOYW1lOiBzdHJpbmcsIG5ld1ZhbHVlOiBhbnkpIHtcbiAgICBjb25zdCBjb250cm9sczogQXJyYXk8Q29udHJvbFN0ZXBzW10+ID0geyAuLi50aGlzLmNvbnRyb2xzIH07XG4gICAgbGV0IGNvbnRyb2wgPSBjb250cm9sc1tzdGVwLTFdLmZpbHRlcihlbGVtZW50ID0+IGVsZW1lbnQubmFtZSA9PT0gY29udHJvbE5hbWUpO1xuICAgIGNvbnRyb2xbMF0ucmVxdWlyZWQgPSBuZXdWYWx1ZTtcblxuICAgIHRoaXMuJGNvbnRyb2xzLm5leHQoY29udHJvbHMpXG4gIH1cbn1cbiJdfQ==
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLXNlbGYtbWFuYWdlZC1jb250cm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb2Qtc2VsZi1tYW5hZ2VkL2xvZ2ljL2NvZC1zZWxmLW1hbmFnZWQtY29udHJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDOztBQVVuRCxNQUFNLE9BQU8sc0JBQXNCO0lBeUVqQztRQXZFTyxhQUFRLEdBQTBCO1lBQ3ZDO2dCQUNFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxvQ0FBb0MsRUFBRTtnQkFDeEYsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRTtnQkFDeEQsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLHVCQUF1QixFQUFFO2dCQUN2RSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsc0JBQXNCLEVBQUU7Z0JBQ3JFLEVBQUUsSUFBSSxFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLGtDQUFrQyxFQUFFO2dCQUNqRyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSwwQkFBMEIsRUFBRTtnQkFDcEYsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsMEJBQTBCLEVBQUU7Z0JBQ3RGLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsSUFBSSxF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Q0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCwwRUFBMEU7SUFDMUUsV0FBVyxDQUFDLElBQVksRUFBRSxXQUFtQixFQUFFLFFBQWE7UUFDMUQsTUFBTSxRQUFRLEdBQTBCLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDN0QsSUFBSSxPQUFPLEdBQUcsUUFBUSxDQUFDLElBQUksR0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxDQUFDO1FBQy9FLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBRS9CLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQy9CLENBQUM7O21IQXhGVSxzQkFBc0I7dUhBQXRCLHNCQUFzQixjQUZyQixNQUFNOzJGQUVQLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udHJvbFN0ZXBzIHtcbiAgbmFtZTogc3RyaW5nO1xuICByZXF1aXJlZDogYm9vbGVhbjtcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbn1cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENvZFNlbGZNYW5hZ2VkQ29udHJvbHMge1xuXG4gIHB1YmxpYyBjb250cm9sczogQXJyYXk8Q29udHJvbFN0ZXBzW10+ID0gW1xuICAgIFtcbiAgICAgIHsgbmFtZTogJ2JpcnRoZGF0ZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0ZlY2hhIGRlIG5hY2ltaWVudG8gZGVsIGVzdHVkaWFudGUnIH0sXG4gICAgICB7IG5hbWU6ICdjb3VudHJ5JywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnUGHDrXMnIH0sXG4gICAgICB7IG5hbWU6ICdzdGF0ZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0RlcGFydGFtZW50byBvIGVzdGFkbycgfSxcbiAgICAgIHsgbmFtZTogJ2NpdHknLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdDaXVkYWQgZGUgcmVzaWRlbmNpYScgfSxcbiAgICAgIHsgbmFtZTogJ3N0dWRlbnRfaWRfY2FyZF90eXBlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnVGlwbyBkZSBkb2N1bWVudG8gZGVsIGVzdHVkaWFudGUnIH0sXG4gICAgICB7IG5hbWU6ICdzdHVkZW50X2lkX2NhcmQnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdEb2N1bWVudG8gZGVsIGVzdHVkaWFudGUnIH0sXG4gICAgICB7IG5hbWU6ICdzdHVkZW50X2xhc3RfbmFtZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0FwZWxsaWRvcyBkZWwgZXN0dWRpYW50ZScgfSxcbiAgICAgIHsgbmFtZTogJ3N0dWRlbnRfbmFtZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ05vbWJyZXMgZGVsIGVzdHVkaWFudGUnIH0sXG4gICAgICB7IG5hbWU6ICdnZW5kZXInLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdHw6luZXJvJyB9LFxuICAgICAgeyBuYW1lOiAnc3R1ZGVudF9lbWFpbCcsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0NvcnJlbyBkZWwgZXN0dWRpYW50ZScgfSxcbiAgICAgIHsgbmFtZTogJ3N0dWRlbnRfcGhvbmVfaW5kaWNhdGl2ZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0luZGljYXRpdm8gZGVsIGVzdHVkaWFudGUnIH0sXG4gICAgICB7IG5hbWU6ICdzdHVkZW50X3Bob25lX251bWJlcicsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ1RlbMOpZm9ubyBkZWwgZXN0dWRpYW50ZScgfSxcbiAgICAgIC8vIHsgbmFtZTogJ3N0dWRlbnRfYWRkcmVzcycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0RpcmVjY2nDs24gZGVsIGVzdHVkaWFudGUnIH0sXG4gICAgICAvLyB7IG5hbWU6ICduaWNrbmFtZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0FsaWFzIG8gbmlja25hbWUnIH0sXG4gICAgICAvLyB7IG5hbWU6ICdhZ2UnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdFZGFkJyB9LFxuICAgICAgLy8geyBuYW1lOiAnc3R1ZGVudF9vY2N1cGF0aW9uJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnT2N1cGFjacOzbiBkZWwgZXN0dWRpYW50ZScgfSxcbiAgICAgIC8vIHsgbmFtZTogJ3N0cmF0dW0nLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdFc3RyYXRvIGRlbCBlc3R1ZGlhbnRlJyB9LFxuICAgICAgLy8geyBuYW1lOiAnZ3JhZGUnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdHcmFkbyBkZWwgZXN0dWRpYW50ZScgfSxcbiAgICAgIC8vIHsgbmFtZTogJ2NpdmlsX3N0YXR1cycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0VzdGFkbyBjaXZpbCBkZWwgZXN0dWRpYW50ZScgfSxcbiAgICAgIC8vIHsgbmFtZTogJ3Bhc3N3b3JkJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnQ29udHJhc2XDsWEgZGVsIGVzdHVkaWFudGUnIH0sXG4gICAgICAvLyB7IG5hbWU6ICdyZV9wYXNzd29yZCcsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0NvbmZpcm1hY2nDs24gZGUgY29udHJhc2XDsWEnIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICB7IG5hbWU6ICdhY2FkZW1pY19wbGFuJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnUGxhbiBhY2Fkw6ltaWNvJyB9LFxuICAgICAgeyBuYW1lOiAnY291cnNlX3R5cGUnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdUaXBvIGRlIGN1cnNvJyB9LFxuICAgICAgeyBuYW1lOiAnYWdyZWVtZW50X2J5X2NhdGVnb3J5JywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnQ29udmVuaW8nIH0sXG4gICAgICB7IG5hbWU6ICdlbmdsaXNoX2xldmVsJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnTml2ZWwgZGUgaW5nbMOpcycgfSxcbiAgICAgIHsgbmFtZTogJ2F2YWlsaWJsZV9jb3Vyc2VzJywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogJ0N1cnNvcyBkaXNwb25pYmxlcycgfSxcbiAgICAgIHsgbmFtZTogJ2NvdXJzZV9tb2RhbGl0eScsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdNb2RhbGlkYWQgZGVsIGN1cnNvJyB9LFxuICAgIF0sXG4gICAgLy8gW1xuICAgIC8vICAgeyBuYW1lOiAncGFyZW50X2lkX2NhcmRfdHlwZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ1RpcG8gZGUgZG9jdW1lbnRvIGRlbCBhY3VkaWVudGUnIH0sXG4gICAgLy8gICB7IG5hbWU6ICdwYXJlbnRfaWRfY2FyZCcsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0RvY3VtZW50byBkZWwgYWN1ZGllbnRlJyB9LFxuICAgIC8vICAgeyBuYW1lOiAncGFyZW50X2xhc3RfbmFtZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0FwZWxsaWRvcyBkZWwgYWN1ZGllbnRlJyB9LFxuICAgIC8vICAgeyBuYW1lOiAncGFyZW50X25hbWUnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdOb21icmVzIGRlbCBhY3VkaWVudGUnIH0sXG4gICAgLy8gICB7IG5hbWU6ICduZWVkQXRlbmRhbnQnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICfCv1JlcXVpZXJlIGFjdWRpZW50ZT8nIH0sXG4gICAgLy8gICB7IG5hbWU6ICdwYXJlbnRfcGhvbmVfaW5kaWNhdGl2ZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0luZGljYXRpdm8gZGVsIGFjdWRpZW50ZScgfSxcbiAgICAvLyAgIHsgbmFtZTogJ3BhcmVudF9vY2N1cGF0aW9uJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnT2N1cGFjacOzbiBkZWwgYWN1ZGllbnRlJyB9LFxuICAgIC8vICAgeyBuYW1lOiAncGFyZW50X2FkZHJlc3MnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdEaXJlY2Npw7NuIGRlbCBhY3VkaWVudGUnIH0sXG4gICAgLy8gICB7IG5hbWU6ICdwYXJlbnRfcGhvbmVfbnVtYmVyJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnVGVsw6lmb25vIGRlbCBhY3VkaWVudGUnIH1cbiAgICAvLyBdLFxuICAgIFtcbiAgICAgIHsgbmFtZTogJ3BheW1lbnRfZGF0ZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0ZlY2hhIGRlIHBhZ28nIH0sXG4gICAgICB7IG5hbWU6ICdwcm9ncmFtX3ByaWNlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnVmFsb3IgdG90YWwgZGVsIHByb2dyYW1hJyB9LFxuICAgICAgeyBuYW1lOiAncGF5bWVudF9tZXRob2QnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdNw6l0b2RvIGRlIHBhZ28nIH0sXG4gICAgICB7IG5hbWU6ICdxdW90YV90aW1lcycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0NhbnRpZGFkIGRlIGN1b3RhcycgfSxcbiAgICAgIHsgbmFtZTogJ3RvdGFsX3ByaWNlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnUHJlY2lvIHRvdGFsIGRlIGxhIG1hdHJpY3VsYScgfSxcbiAgICAgIHsgbmFtZTogJ3BhaWRfbGV2ZWwnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdOaXZlbGVzIHBhZ29zJyB9LFxuICAgIF0sXG4gICAgLy8gW1xuICAgIC8vICAgeyBuYW1lOiAnbWFya2V0aW5nX3JlYXNvbnMnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICfCv0PDs21vIHNlIGVudGVyw7MgZGVsIHByb2dyYW1hPycgfSxcbiAgICAvLyAgIHsgbmFtZTogJ29ic2VydmF0aW9uJywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogJ09ic2VydmFjacOzbicgfSxcbiAgICAvLyAgIHsgbmFtZTogJ3N0dWR5X3JlYXNvbnMnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdNb3Rpdm8nIH0sXG4gICAgLy8gICB7IG5hbWU6ICd0ZXJtcycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ1TDqXJtaW5vcyB5IGNvbmRpY2lvbmVzJyB9LFxuICAgIC8vICAgeyBuYW1lOiAnZGlzYWJpbGl0eScsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdEaXNjYXBhY2lkYWQnIH0sXG4gICAgLy8gICB7IG5hbWU6ICdtdWx0aWN1bHR1cmFsaXNtXzEnLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnTXVsdGljdWx0dXJhbGlzbW8nIH0sXG4gICAgLy8gICB7IG5hbWU6ICdtdWx0aWN1bHR1cmFsaXNtXzInLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnTXVsdGljdWx0dXJhbGlzbW8nIH0sXG4gICAgLy8gICB7IG5hbWU6ICdtdWx0aWN1bHR1cmFsaXNtXzMnLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnTXVsdGljdWx0dXJhbGlzbW8nIH0sXG4gICAgLy8gICB7IG5hbWU6ICdtdWx0aWN1bHR1cmFsaXNtXzQnLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnTXVsdGljdWx0dXJhbGlzbW8nIH0sXG4gICAgLy8gICB7IG5hbWU6ICdtdWx0aWN1bHR1cmFsaXNtXzUnLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnTXVsdGljdWx0dXJhbGlzbW8nIH0sXG4gICAgLy8gICB7IG5hbWU6ICdtdWx0aWN1bHR1cmFsaXNtXzYnLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnTXVsdGljdWx0dXJhbGlzbW8nIH0sXG4gICAgLy8gICB7IG5hbWU6ICdoZWFsdGhfcmVnaW1lbicsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ1LDqWdpbWVuIGRlIHNhbHVkJyB9LFxuICAgIC8vICAgeyBuYW1lOiAnY29kZV9yZWZlcnMnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdSZWZpZXJlJyB9LFxuICAgIC8vICAgeyBuYW1lOiAnY29kZV9jb2QnLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnQ29kaWdvIENvZCcgfVxuICAgIC8vIF0sXG4gIF07XG5cbiAgcHJpdmF0ZSAkY29udHJvbHMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFycmF5PENvbnRyb2xTdGVwc1tdPj4oW10pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuJGNvbnRyb2xzLm5leHQodGhpcy5jb250cm9scyk7XG4gIH1cblxuICBnZXRDb250cm9sVmFsdWVzKCk6IE9ic2VydmFibGU8QXJyYXk8Q29udHJvbFN0ZXBzW10+PiB7XG4gICAgcmV0dXJuIHRoaXMuJGNvbnRyb2xzLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLy8gQ2FtYmlhciBsb3MgdmFsb3JlcyBkZSBsb3MgY29udHJvbHMsIGVqZW1wbG86IHRydWUgeSBmYWxzZSBkZWwgY2hlY2tib3hcbiAgY2hhbmdlVmFsdWUoc3RlcDogbnVtYmVyLCBjb250cm9sTmFtZTogc3RyaW5nLCBuZXdWYWx1ZTogYW55KSB7XG4gICAgY29uc3QgY29udHJvbHM6IEFycmF5PENvbnRyb2xTdGVwc1tdPiA9IHsgLi4udGhpcy5jb250cm9scyB9O1xuICAgIGxldCBjb250cm9sID0gY29udHJvbHNbc3RlcC0xXS5maWx0ZXIoZWxlbWVudCA9PiBlbGVtZW50Lm5hbWUgPT09IGNvbnRyb2xOYW1lKTtcbiAgICBjb250cm9sWzBdLnJlcXVpcmVkID0gbmV3VmFsdWU7XG5cbiAgICB0aGlzLiRjb250cm9scy5uZXh0KGNvbnRyb2xzKVxuICB9XG59XG4iXX0=
@@ -200,15 +200,21 @@ export class CodSelfFormStepOneComponent extends CodSelfManagedSteps {
200
200
  this.listenFormChanges(1, control.name, this.codSelfFormStepOne.controls[control.name].valueChanges);
201
201
  });
202
202
  }
203
+ showConfirm() {
204
+ // if (!this.visible) {
205
+ // this.messageService.add({ key: 'confirm', sticky: true, severity: 'success', summary: 'Can you send me the report?' });
206
+ // this.visible = true;
207
+ // }
208
+ }
203
209
  }
204
210
  CodSelfFormStepOneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepOneComponent, deps: [{ token: i1.FormBuilder }, { token: i2.ParameterService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
205
- CodSelfFormStepOneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodSelfFormStepOneComponent, selector: "app-cod-self-form-step-one", inputs: { user: "user" }, outputs: { completed: "completed" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <h2>Datos Personales</h2>\n <i class=\"pi pi-exclamation-circle\"></i>\n <form [formGroup]=\"codSelfFormStepOne\">\n\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codSelfFormStepOne.controls['student_name']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_name'].invalid && codSelfFormStepOne.controls['student_name'].touched\">\n <span class=\"error-message\">Por favor ingresa un nombre v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"codSelfFormStepOne.controls['student_last_name']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_last_name'].invalid && codSelfFormStepOne.controls['student_last_name'].touched\">\n <span class=\"error-message\">Por favor ingresa un apellido v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['student_id_card_type'].value\"\n [control]=\"codSelfFormStepOne.controls['student_id_card_type']\"\n [selectCode]=\"codSelfFormStepOne.controls['student_id_card_type'].value === null ? 'Tipo de documento' : codSelfFormStepOne.controls['student_id_card_type'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['student_id_card_type'].invalid && codSelfFormStepOne.controls['student_id_card_type'].touched\">\n <span class=\"error-message\">Por favor ingresa un tipo de documento v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de documento'\"\n [control]=\"codSelfFormStepOne.controls['student_id_card']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_id_card'].invalid && codSelfFormStepOne.controls['student_id_card'].touched\">\n <span class=\"error-message\">Por favor ingresa un documento v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['gender'].value\"\n [control]=\"codSelfFormStepOne.controls['gender']\"\n [data]=\"genders\"\n (eventSelect)=\"selectGender($event)\"\n [defaultText]=\"'G\u00E9nero'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['gender'].invalid && codSelfFormStepOne.controls['gender'].touched\">\n <span class=\"error-message\">Por favor ingresa un genero v\u00E1lido.</span>\n </div>\n <ipt-input\n onfocus=\"(this.type='date')\"\n [inputType]=\"'date'\"\n [control]=\"codSelfFormStepOne.controls['birthdate']\"\n [placeHolder]=\"'Fecha de nacimiento'\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['birthdate'].invalid && codSelfFormStepOne.controls['birthdate'].touched\">\n <span class=\"error-message\">Por favor ingresa una fecha mayor de 3 a\u00F1os.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['country'].value\"\n [control]=\"codSelfFormStepOne.controls['country']\"\n [selectCode]=\"codSelfFormStepOne.controls['country'].value === null ? 'Pa\u00EDs de residencia' : codSelfFormStepOne.controls['country'].value\"\n (eventSelect)=\"selectCountry($event)\"\n [data]=\"countries\"\n [defaultText]=\"'Pa\u00EDs de residencia'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['country'].invalid && codSelfFormStepOne.controls['country'].touched\">\n <span class=\"error-message\">Por favor ingresa un pais v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['state'].value\"\n [control]=\"codSelfFormStepOne.controls['state']\"\n [selectCode]=\"codSelfFormStepOne.controls['state'].value === null ? 'Departamento o estado' : codSelfFormStepOne.controls['state'].value\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Departamento o estado'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['state'].invalid && codSelfFormStepOne.controls['state'].touched\">\n <span class=\"error-message\">Por favor ingresa un departamento v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['city'].value\"\n [control]=\"codSelfFormStepOne.controls['city']\"\n [selectCode]=\"codSelfFormStepOne.controls['city'].value === null ? 'Ciudad de residencia' : codSelfFormStepOne.controls['city'].value\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad de residencia'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['city'].invalid && codSelfFormStepOne.controls['city'].touched\">\n <span class=\"error-message\">Por favor ingresa una ciudad v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'email'\"\n [placeHolder]=\"'Correo electr\u00F3nico'\"\n [control]=\"codSelfFormStepOne.controls['student_email']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_email'].invalid && codSelfFormStepOne.controls['student_email'].touched\">\n <span class=\"error-message\">Por favor ingresa un email valido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['student_phone_indicative'].value\"\n [control]=\"codSelfFormStepOne.controls['student_phone_indicative']\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicatives($event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['student_phone_indicative'].invalid && codSelfFormStepOne.controls['student_phone_indicative'].touched\">\n <span class=\"error-message\">Por favor ingresa un indicativo valido.</span>\n </div>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\n [control]=\"codSelfFormStepOne.controls['student_phone_number']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_phone_number'].invalid && codSelfFormStepOne.controls['student_phone_number'].touched\">\n <span class=\"error-message\">Por favor ingresa un numero de telefono v\u00E1lido.</span>\n </div>\n </form>\n\n <div class=\"flex mt-3 align-items-center gap-3\">\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n type=\"submit\"\n [disabled]=\"!codSelfFormStepOne.valid\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n </div>\n\n</div>\n", styles: [".container-main{margin:1%}.container-form{margin:5%;border-radius:6px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:1rem}.error-message{font-size:x-small;color:red}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "component", type: i5.SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "control"], outputs: ["eventSelect"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] });
211
+ CodSelfFormStepOneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodSelfFormStepOneComponent, selector: "app-cod-self-form-step-one", inputs: { user: "user" }, outputs: { completed: "completed" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <h2>Datos Personales</h2>\n <i class=\"pi pi-exclamation-circle\">\n <!-- <p-toast position=\"bottom-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"5000\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <p-avatar image=\"https://primefaces.org/cdn/primeng/images/avatar/amyelsner.png\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Amy Elsner</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ message.summary }}</div>\n <p-button class=\"p-button-sm\" label=\"Reply\" (click)=\"onConfirm()\"></p-button>\n </div>\n </ng-template>\n </p-toast> -->\n </i>\n\n<button type=\"button\" pButton pRipple (click)=\"showConfirm()\" label=\"Confirm\"></button>\n <form [formGroup]=\"codSelfFormStepOne\">\n\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codSelfFormStepOne.controls['student_name']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_name'].invalid && codSelfFormStepOne.controls['student_name'].touched\">\n <span class=\"error-message\">Por favor ingresa un nombre v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"codSelfFormStepOne.controls['student_last_name']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_last_name'].invalid && codSelfFormStepOne.controls['student_last_name'].touched\">\n <span class=\"error-message\">Por favor ingresa un apellido v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['student_id_card_type'].value\"\n [control]=\"codSelfFormStepOne.controls['student_id_card_type']\"\n [selectCode]=\"codSelfFormStepOne.controls['student_id_card_type'].value === null ? 'Tipo de documento' : codSelfFormStepOne.controls['student_id_card_type'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['student_id_card_type'].invalid && codSelfFormStepOne.controls['student_id_card_type'].touched\">\n <span class=\"error-message\">Por favor ingresa un tipo de documento v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de documento'\"\n [control]=\"codSelfFormStepOne.controls['student_id_card']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_id_card'].invalid && codSelfFormStepOne.controls['student_id_card'].touched\">\n <span class=\"error-message\">Por favor ingresa un documento v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['gender'].value\"\n [control]=\"codSelfFormStepOne.controls['gender']\"\n [data]=\"genders\"\n (eventSelect)=\"selectGender($event)\"\n [defaultText]=\"'G\u00E9nero'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['gender'].invalid && codSelfFormStepOne.controls['gender'].touched\">\n <span class=\"error-message\">Por favor ingresa un genero v\u00E1lido.</span>\n </div>\n <ipt-input\n onfocus=\"(this.type='date')\"\n [inputType]=\"'date'\"\n [control]=\"codSelfFormStepOne.controls['birthdate']\"\n [placeHolder]=\"'Fecha de nacimiento'\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['birthdate'].invalid && codSelfFormStepOne.controls['birthdate'].touched\">\n <span class=\"error-message\">Por favor ingresa una fecha mayor de 3 a\u00F1os.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['country'].value\"\n [control]=\"codSelfFormStepOne.controls['country']\"\n [selectCode]=\"codSelfFormStepOne.controls['country'].value === null ? 'Pa\u00EDs de residencia' : codSelfFormStepOne.controls['country'].value\"\n (eventSelect)=\"selectCountry($event)\"\n [data]=\"countries\"\n [defaultText]=\"'Pa\u00EDs de residencia'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['country'].invalid && codSelfFormStepOne.controls['country'].touched\">\n <span class=\"error-message\">Por favor ingresa un pais v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['state'].value\"\n [control]=\"codSelfFormStepOne.controls['state']\"\n [selectCode]=\"codSelfFormStepOne.controls['state'].value === null ? 'Departamento o estado' : codSelfFormStepOne.controls['state'].value\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Departamento o estado'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['state'].invalid && codSelfFormStepOne.controls['state'].touched\">\n <span class=\"error-message\">Por favor ingresa un departamento v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['city'].value\"\n [control]=\"codSelfFormStepOne.controls['city']\"\n [selectCode]=\"codSelfFormStepOne.controls['city'].value === null ? 'Ciudad de residencia' : codSelfFormStepOne.controls['city'].value\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad de residencia'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['city'].invalid && codSelfFormStepOne.controls['city'].touched\">\n <span class=\"error-message\">Por favor ingresa una ciudad v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'email'\"\n [placeHolder]=\"'Correo electr\u00F3nico'\"\n [control]=\"codSelfFormStepOne.controls['student_email']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_email'].invalid && codSelfFormStepOne.controls['student_email'].touched\">\n <span class=\"error-message\">Por favor ingresa un email valido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['student_phone_indicative'].value\"\n [control]=\"codSelfFormStepOne.controls['student_phone_indicative']\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicatives($event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['student_phone_indicative'].invalid && codSelfFormStepOne.controls['student_phone_indicative'].touched\">\n <span class=\"error-message\">Por favor ingresa un indicativo valido.</span>\n </div>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\n [control]=\"codSelfFormStepOne.controls['student_phone_number']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_phone_number'].invalid && codSelfFormStepOne.controls['student_phone_number'].touched\">\n <span class=\"error-message\">Por favor ingresa un numero de telefono v\u00E1lido.</span>\n </div>\n </form>\n\n <div class=\"flex mt-3 align-items-center gap-3\">\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n type=\"submit\"\n [disabled]=\"!codSelfFormStepOne.valid\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n </div>\n\n</div>\n", styles: [".container-main{margin:1%}.container-form{margin:5%;border-radius:6px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:1rem}.error-message{font-size:x-small;color:red}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "component", type: i5.SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "control"], outputs: ["eventSelect"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i6.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }] });
206
212
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepOneComponent, decorators: [{
207
213
  type: Component,
208
- args: [{ selector: 'app-cod-self-form-step-one', template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <h2>Datos Personales</h2>\n <i class=\"pi pi-exclamation-circle\"></i>\n <form [formGroup]=\"codSelfFormStepOne\">\n\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codSelfFormStepOne.controls['student_name']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_name'].invalid && codSelfFormStepOne.controls['student_name'].touched\">\n <span class=\"error-message\">Por favor ingresa un nombre v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"codSelfFormStepOne.controls['student_last_name']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_last_name'].invalid && codSelfFormStepOne.controls['student_last_name'].touched\">\n <span class=\"error-message\">Por favor ingresa un apellido v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['student_id_card_type'].value\"\n [control]=\"codSelfFormStepOne.controls['student_id_card_type']\"\n [selectCode]=\"codSelfFormStepOne.controls['student_id_card_type'].value === null ? 'Tipo de documento' : codSelfFormStepOne.controls['student_id_card_type'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['student_id_card_type'].invalid && codSelfFormStepOne.controls['student_id_card_type'].touched\">\n <span class=\"error-message\">Por favor ingresa un tipo de documento v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de documento'\"\n [control]=\"codSelfFormStepOne.controls['student_id_card']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_id_card'].invalid && codSelfFormStepOne.controls['student_id_card'].touched\">\n <span class=\"error-message\">Por favor ingresa un documento v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['gender'].value\"\n [control]=\"codSelfFormStepOne.controls['gender']\"\n [data]=\"genders\"\n (eventSelect)=\"selectGender($event)\"\n [defaultText]=\"'G\u00E9nero'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['gender'].invalid && codSelfFormStepOne.controls['gender'].touched\">\n <span class=\"error-message\">Por favor ingresa un genero v\u00E1lido.</span>\n </div>\n <ipt-input\n onfocus=\"(this.type='date')\"\n [inputType]=\"'date'\"\n [control]=\"codSelfFormStepOne.controls['birthdate']\"\n [placeHolder]=\"'Fecha de nacimiento'\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['birthdate'].invalid && codSelfFormStepOne.controls['birthdate'].touched\">\n <span class=\"error-message\">Por favor ingresa una fecha mayor de 3 a\u00F1os.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['country'].value\"\n [control]=\"codSelfFormStepOne.controls['country']\"\n [selectCode]=\"codSelfFormStepOne.controls['country'].value === null ? 'Pa\u00EDs de residencia' : codSelfFormStepOne.controls['country'].value\"\n (eventSelect)=\"selectCountry($event)\"\n [data]=\"countries\"\n [defaultText]=\"'Pa\u00EDs de residencia'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['country'].invalid && codSelfFormStepOne.controls['country'].touched\">\n <span class=\"error-message\">Por favor ingresa un pais v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['state'].value\"\n [control]=\"codSelfFormStepOne.controls['state']\"\n [selectCode]=\"codSelfFormStepOne.controls['state'].value === null ? 'Departamento o estado' : codSelfFormStepOne.controls['state'].value\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Departamento o estado'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['state'].invalid && codSelfFormStepOne.controls['state'].touched\">\n <span class=\"error-message\">Por favor ingresa un departamento v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['city'].value\"\n [control]=\"codSelfFormStepOne.controls['city']\"\n [selectCode]=\"codSelfFormStepOne.controls['city'].value === null ? 'Ciudad de residencia' : codSelfFormStepOne.controls['city'].value\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad de residencia'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['city'].invalid && codSelfFormStepOne.controls['city'].touched\">\n <span class=\"error-message\">Por favor ingresa una ciudad v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'email'\"\n [placeHolder]=\"'Correo electr\u00F3nico'\"\n [control]=\"codSelfFormStepOne.controls['student_email']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_email'].invalid && codSelfFormStepOne.controls['student_email'].touched\">\n <span class=\"error-message\">Por favor ingresa un email valido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['student_phone_indicative'].value\"\n [control]=\"codSelfFormStepOne.controls['student_phone_indicative']\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicatives($event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['student_phone_indicative'].invalid && codSelfFormStepOne.controls['student_phone_indicative'].touched\">\n <span class=\"error-message\">Por favor ingresa un indicativo valido.</span>\n </div>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\n [control]=\"codSelfFormStepOne.controls['student_phone_number']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_phone_number'].invalid && codSelfFormStepOne.controls['student_phone_number'].touched\">\n <span class=\"error-message\">Por favor ingresa un numero de telefono v\u00E1lido.</span>\n </div>\n </form>\n\n <div class=\"flex mt-3 align-items-center gap-3\">\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n type=\"submit\"\n [disabled]=\"!codSelfFormStepOne.valid\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n </div>\n\n</div>\n", styles: [".container-main{margin:1%}.container-form{margin:5%;border-radius:6px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:1rem}.error-message{font-size:x-small;color:red}\n"] }]
214
+ args: [{ selector: 'app-cod-self-form-step-one', template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <h2>Datos Personales</h2>\n <i class=\"pi pi-exclamation-circle\">\n <!-- <p-toast position=\"bottom-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"5000\">\n <ng-template let-message pTemplate=\"message\">\n <div class=\"flex flex-column align-items-start\" style=\"flex: 1\">\n <div class=\"flex align-items-center gap-2\">\n <p-avatar image=\"https://primefaces.org/cdn/primeng/images/avatar/amyelsner.png\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Amy Elsner</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ message.summary }}</div>\n <p-button class=\"p-button-sm\" label=\"Reply\" (click)=\"onConfirm()\"></p-button>\n </div>\n </ng-template>\n </p-toast> -->\n </i>\n\n<button type=\"button\" pButton pRipple (click)=\"showConfirm()\" label=\"Confirm\"></button>\n <form [formGroup]=\"codSelfFormStepOne\">\n\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Nombres'\"\n [control]=\"codSelfFormStepOne.controls['student_name']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_name'].invalid && codSelfFormStepOne.controls['student_name'].touched\">\n <span class=\"error-message\">Por favor ingresa un nombre v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'text'\"\n [placeHolder]=\"'Apellidos'\"\n [control]=\"codSelfFormStepOne.controls['student_last_name']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_last_name'].invalid && codSelfFormStepOne.controls['student_last_name'].touched\">\n <span class=\"error-message\">Por favor ingresa un apellido v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['student_id_card_type'].value\"\n [control]=\"codSelfFormStepOne.controls['student_id_card_type']\"\n [selectCode]=\"codSelfFormStepOne.controls['student_id_card_type'].value === null ? 'Tipo de documento' : codSelfFormStepOne.controls['student_id_card_type'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['student_id_card_type'].invalid && codSelfFormStepOne.controls['student_id_card_type'].touched\">\n <span class=\"error-message\">Por favor ingresa un tipo de documento v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de documento'\"\n [control]=\"codSelfFormStepOne.controls['student_id_card']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_id_card'].invalid && codSelfFormStepOne.controls['student_id_card'].touched\">\n <span class=\"error-message\">Por favor ingresa un documento v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['gender'].value\"\n [control]=\"codSelfFormStepOne.controls['gender']\"\n [data]=\"genders\"\n (eventSelect)=\"selectGender($event)\"\n [defaultText]=\"'G\u00E9nero'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['gender'].invalid && codSelfFormStepOne.controls['gender'].touched\">\n <span class=\"error-message\">Por favor ingresa un genero v\u00E1lido.</span>\n </div>\n <ipt-input\n onfocus=\"(this.type='date')\"\n [inputType]=\"'date'\"\n [control]=\"codSelfFormStepOne.controls['birthdate']\"\n [placeHolder]=\"'Fecha de nacimiento'\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['birthdate'].invalid && codSelfFormStepOne.controls['birthdate'].touched\">\n <span class=\"error-message\">Por favor ingresa una fecha mayor de 3 a\u00F1os.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['country'].value\"\n [control]=\"codSelfFormStepOne.controls['country']\"\n [selectCode]=\"codSelfFormStepOne.controls['country'].value === null ? 'Pa\u00EDs de residencia' : codSelfFormStepOne.controls['country'].value\"\n (eventSelect)=\"selectCountry($event)\"\n [data]=\"countries\"\n [defaultText]=\"'Pa\u00EDs de residencia'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['country'].invalid && codSelfFormStepOne.controls['country'].touched\">\n <span class=\"error-message\">Por favor ingresa un pais v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['state'].value\"\n [control]=\"codSelfFormStepOne.controls['state']\"\n [selectCode]=\"codSelfFormStepOne.controls['state'].value === null ? 'Departamento o estado' : codSelfFormStepOne.controls['state'].value\"\n [isRequired]=\"true\"\n (eventSelect)=\"selectState($event)\"\n [data]=\"states\"\n [defaultText]=\"'Departamento o estado'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['state'].invalid && codSelfFormStepOne.controls['state'].touched\">\n <span class=\"error-message\">Por favor ingresa un departamento v\u00E1lido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['city'].value\"\n [control]=\"codSelfFormStepOne.controls['city']\"\n [selectCode]=\"codSelfFormStepOne.controls['city'].value === null ? 'Ciudad de residencia' : codSelfFormStepOne.controls['city'].value\"\n (eventSelect)=\"selectCity($event)\"\n [data]=\"cities\"\n [defaultText]=\"'Ciudad de residencia'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['city'].invalid && codSelfFormStepOne.controls['city'].touched\">\n <span class=\"error-message\">Por favor ingresa una ciudad v\u00E1lido.</span>\n </div>\n <ipt-input\n [inputType]=\"'email'\"\n [placeHolder]=\"'Correo electr\u00F3nico'\"\n [control]=\"codSelfFormStepOne.controls['student_email']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_email'].invalid && codSelfFormStepOne.controls['student_email'].touched\">\n <span class=\"error-message\">Por favor ingresa un email valido.</span>\n </div>\n <ipt-select\n [initialValue]=\"codSelfFormStepOne.controls['student_phone_indicative'].value\"\n [control]=\"codSelfFormStepOne.controls['student_phone_indicative']\"\n [data]=\"indicatives\"\n (eventSelect)=\"selectIndicatives($event)\"\n [defaultText]=\"'Indicativo'\"\n ></ipt-select>\n <div *ngIf=\"codSelfFormStepOne.controls['student_phone_indicative'].invalid && codSelfFormStepOne.controls['student_phone_indicative'].touched\">\n <span class=\"error-message\">Por favor ingresa un indicativo valido.</span>\n </div>\n <ipt-input\n [inputType]=\"'number'\"\n [placeHolder]=\"'N\u00FAmero de tel\u00E9fono'\"\n [control]=\"codSelfFormStepOne.controls['student_phone_number']\"\n ></ipt-input>\n <div *ngIf=\"codSelfFormStepOne.controls['student_phone_number'].invalid && codSelfFormStepOne.controls['student_phone_number'].touched\">\n <span class=\"error-message\">Por favor ingresa un numero de telefono v\u00E1lido.</span>\n </div>\n </form>\n\n <div class=\"flex mt-3 align-items-center gap-3\">\n <button\n pButton\n icon=\"pi pi-arrow-right\"\n type=\"submit\"\n [disabled]=\"!codSelfFormStepOne.valid\"\n (click)=\"sendForm()\"\n ></button>\n </div>\n </div>\n\n</div>\n", styles: [".container-main{margin:1%}.container-form{margin:5%;border-radius:6px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:1rem}.error-message{font-size:x-small;color:red}\n"] }]
209
215
  }], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.ParameterService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { user: [{
210
216
  type: Input
211
217
  }], completed: [{
212
218
  type: Output
213
219
  }] } });
214
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLXNlbGYtZm9ybS1zdGVwLW9uZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kLXNlbGYtbWFuYWdlZC9zdGVwcy9jb2QtZm9ybS1zdGVwLW9uZS9jb2Qtc2VsZi1mb3JtLXN0ZXAtb25lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb2Qtc2VsZi1tYW5hZ2VkL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtb25lL2NvZC1zZWxmLWZvcm0tc3RlcC1vbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFVLEtBQUssRUFBK0MsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUFlLFVBQVUsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLG1CQUFtQixFQUF5QixNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7OztBQVFoRyxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsbUJBQW1CO0lBbUJsRSxZQUNVLEVBQWUsRUFDZixnQkFBa0MsRUFDbEMsS0FBd0I7UUFFaEMsS0FBSyxFQUFFLENBQUM7UUFKQSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQWxCeEIsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFHakQsWUFBTyxHQUFVLEVBQUUsQ0FBQztRQVNwQixpQkFBWSxHQUFXLDJCQUEyQixDQUFDO1FBQ25ELGFBQVEsR0FBRyxJQUFJ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dCB7IENvbXBvbmVudCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgSW5wdXQsIFNpbXBsZUNoYW5nZXMsIE9uQ2hhbmdlcywgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9wYXJhbWV0ZXJzLXNlcnZpY2UvcGFyYW1ldGVycy5zZXJ2aWNlJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29kU2VsZk1hbmFnZWRDb250cm9scyB9IGZyb20gJy4uLy4uL2xvZ2ljL2NvZC1zZWxmLW1hbmFnZWQtY29udHJvbHMnO1xuaW1wb3J0IHsgQ29kU2VsZk1hbmFnZWRTdGVwcywgbG9jYWxTdG9yYWdlVmFsdWVzVHdvIH0gZnJvbSAnLi4vLi4vbG9naWMvY29kLXNlbGYtbWFuYWdlZC1zdGVwcyc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNvZC1zZWxmLWZvcm0tc3RlcC1vbmUnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29kLXNlbGYtZm9ybS1zdGVwLW9uZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvZC1zZWxmLWZvcm0tc3RlcC1vbmUuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDb2RTZWxmRm9ybVN0ZXBPbmVDb21wb25lbnQgZXh0ZW5kcyBDb2RTZWxmTWFuYWdlZFN0ZXBzIGltcGxlbWVudHMgT25DaGFuZ2VzICB7XG5cbiAgQElucHV0KCkgdXNlcjogYW55O1xuXG4gIEBPdXRwdXQoKSBjb21wbGV0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBjb2RTZWxmRm9ybVN0ZXBPbmUhOiBGb3JtR3JvdXBcbiAgZ2VuZGVyczogYW55W10gPSBbXTtcbiAgc3RyYXR1bXM6IGFueTtcbiAgaWRUeXBlczogYW55O1xuICBpbmRpY2F0aXZlczogYW55O1xuICBjaXZpbFN0YXR1czogYW55O1xuICBjb3VudHJ5U2VsZWN0ZWQ6IGFueTtcbiAgY291bnRyaWVzOiBhbnk7XG4gIHN0YXRlczogYW55O1xuICBjaXRpZXM6IGFueTtcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnRmFsdGFuIGNhbXBvcyBwb3IgbGxlbmFyLic7XG4gIGNvbnRyb2xzID0gbmV3IENvZFNlbGZNYW5hZ2VkQ29udHJvbHMoKS5jb250cm9sc1swXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHBhcmFtZXRlclNlcnZpY2U6IFBhcmFtZXRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuICAvLyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgLy8gICB0aGlzLnNldERhdGFVc2VycygpO1xuXG4gIC8vIH1cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgICB0aGlzLmdldFBhcmFtZXRlcnMoKTtcbiAgICB0aGlzLnN0YXJ0TG9jYWxTdG9yYWdlV29yaygpO1xuICAgIC8vIHRoaXMuc2V0RGF0YVVzZXJzKCk7XG4gICAgaWYgKGNoYW5nZXNbJ3VzZXInXSAmJiB0aGlzLnVzZXIgIT0gbnVsbCkge1xuICAgICAgdGhpcy5zZXREYXRhVXNlcnMoKTtcbiAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIGluaXRGb3JtKCkge1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwT25lID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBzdHVkZW50X25hbWU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIHN0dWRlbnRfbGFzdF9uYW1lOlsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIHN0dWRlbnRfaWRfY2FyZF90eXBlOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSwgW11dLFxuICAgICAgc3R1ZGVudF9pZF9jYXJkOiBbe3ZhbHVlOiAnJywgZGlzYWJsZWQ6IHRydWV9LCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoNSksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDIwKV1dLFxuICAgICAgZ2VuZGVyOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBiaXJ0aGRhdGU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdLCBbXV0sXG4gICAgICBjb3VudHJ5OiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSwgW11dLFxuICAgICAgc3RhdGU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdLCBbXV0sXG4gICAgICBjaXR5OiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSwgW11dLFxuICAgICAgc3R1ZGVudF9lbWFpbDogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5lbWFpbF1dLFxuICAgICAgc3R1ZGVudF9waG9uZV9pbmRpY2F0aXZlOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSwgW11dLFxuICAgICAgc3R1ZGVudF9waG9uZV9udW1iZXI6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDgpLCBWYWxpZGF0b3JzLm1heExlbmd0aCgxNSldXSxcbiAgICB9KTtcbiAgICAvLyBDYWxjdWxhciBlZGFkIHkgc2V0ZWFyIHZhbG9yXG4gICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2JpcnRoZGF0ZSddLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKGNoYW5nZSkgPT4ge1xuICAgICAgICBsZXQgdG9kYXkgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBsZXQgYmlydGhkYXkgPSBuZXcgRGF0ZShjaGFuZ2UpO1xuICAgICAgICBsZXQgYWdlID0gdG9kYXkuZ2V0RnVsbFllYXIoKSAtIGJpcnRoZGF5LmdldEZ1bGxZZWFyKCk7XG4gICAgICAgIGxldCBtb250aCA9IHRvZGF5LmdldE1vbnRoKCkgLSBiaXJ0aGRheS5nZXRNb250aCgpO1xuXG4gICAgICAgIGlmIChtb250aCA8IDAgfHwgKG1vbnRoID09PSAwICYmIHRvZGF5LmdldERhdGUoKSA8IGJpcnRoZGF5LmdldERhdGUoKSkpIHtcbiAgICAgICAgICBhZ2UtLTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChhZ2UgPCAzKSB7XG4gICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnRmVjaGEgZGUgbmFjaW1pZW50byBubyB2w6FsaWRhJ1xuICAgICAgICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydiaXJ0aGRhdGUnXS5zZXRFcnJvcnMoe1xuICAgICAgICAgICAgaW52YWxpZEFnZTogdHJ1ZVxuICAgICAgICAgIH0pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2JpcnRoZGF0ZSddLnNldEVycm9ycyhudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRoaXMuY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydhZ2UnXS5zZXRWYWx1ZShhZ2UpO1xuICAgICAgfVxuICAgIH0pXG4gIH1cbiAgZ2V0UGFyYW1ldGVycygpIHtcbiAgICB0aGlzLnBhcmFtZXRlclNlcnZpY2UuZ2V0Q2FyZFR5cGVzKCdjb2wnKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICB0aGlzLmlkVHlwZXMgPSByZXNwb25zZS5kYXRhO1xuICAgIH0pO1xuICAgIHRoaXMucGFyYW1ldGVyU2VydmljZS5nZXRJbmRpY2F0aXZlcygpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgIHRoaXMuaW5kaWNhdGl2ZXMgPSByZXNwb25zZS5kYXRhO1xuICAgIH0pO1xuICAgIHRoaXMucGFyYW1ldGVyU2VydmljZS5nZXRDb3VudHJpZXMoKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICB0aGlzLmNvdW50cmllcyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgfSk7XG4gICAgdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLmdldEFsbENpdGllcygpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgIHRoaXMuY2l0aWVzID0gcmVzcG9uc2UuZGF0YTtcbiAgICB9KTtcbiAgICB0aGlzLnBhcmFtZXRlclNlcnZpY2UuZ2V0QWxsU3RhdGVzKCkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgdGhpcy5zdGF0ZXMgPSByZXNwb25zZS5kYXRhO1xuICAgIH0pO1xuICAgIHRoaXMucGFyYW1ldGVyU2VydmljZS5nZXRHZW5kZXJzKCkucGlwZShtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlLmRhdGEpKS5zdWJzY3JpYmUoKGdlbmRlcnM6IGFueVtdKSA9PiB7XG4gICAgICBnZW5kZXJzLmZvckVhY2goZ2VuZGVyID0+IHtcbiAgICAgICAgbGV0IGdlbmRlckl0ZW0gPSB7XG4gICAgICAgICAgY29kZTogZ2VuZGVyLmNvZGUsXG4gICAgICAgICAgbmFtZTogZ2VuZGVyLm5hbWVfc3BhbmlzaFxuICAgICAgICB9XG4gICAgICAgIHRoaXMuZ2VuZGVycy5wdXNoKGdlbmRlckl0ZW0pXG4gICAgICB9KVxuICAgIH0pXG4gIH1cblxuICBzZXREYXRhVXNlcnMoKXtcbiAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snc3R1ZGVudF9uYW1lJ10uc2V0VmFsdWUodGhpcy51c2VyLm5hbWUpO1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdHVkZW50X2xhc3RfbmFtZSddLnNldFZhbHVlKHRoaXMudXNlci5sYXN0X25hbWUpO1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdHVkZW50X2lkX2NhcmRfdHlwZSddLnNldFZhbHVlKHRoaXMudXNlci5pZF9jYXJkX3R5cGUpO1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdHVkZW50X2lkX2NhcmQnXS5zZXRWYWx1ZSh0aGlzLnVzZXIuaWRfY2FyZCk7XG4gICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NvdW50cnknXS5zZXRWYWx1ZSh0aGlzLnVzZXIuY2l0eVswXT8uY291bnRyeSAhPSAoMSB8fCBudWxsKSA/IHRoaXMudXNlci5jaXR5WzBdPy5jb3VudHJ5IDogbnVsbCk7XG4gICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ3N0YXRlJ10uc2V0VmFsdWUodGhpcy51c2VyLmNpdHlbMF0/LnN0YXRlICE9ICgzMyB8fCBudWxsKSA/IHRoaXMudXNlci5jaXR5WzBdPy5zdGF0ZSA6IG51bGwpO1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydjaXR5J10uc2V0VmFsdWUodGhpcy51c2VyLmNpdHlbMF0/LmNvZGUgIT0gKDEgfHwgbnVsbCkgPyB0aGlzLnVzZXIuY2l0eVswXT8uY29kZSA6IG51bGwpO1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydnZW5kZXInXS5zZXRWYWx1ZSh0aGlzLnVzZXIuZ2VuZGVyKTtcbiAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snYmlydGhkYXRlJ10uc2V0VmFsdWUodGhpcy51c2VyLmJpcnRoZGF0ZSk7XG4gICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ3N0dWRlbnRfZW1haWwnXS5zZXRWYWx1ZSh0aGlzLnVzZXIuZW1haWwpO1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdHVkZW50X3Bob25lX2luZGljYXRpdmUnXS5zZXRWYWx1ZSh0aGlzLnVzZXIucGhvbmVfaW5kaWNhdGl2ZSk7XG4gICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ3N0dWRlbnRfcGhvbmVfbnVtYmVyJ10uc2V0VmFsdWUodGhpcy51c2VyLnBob25lX251bWJlcik7XG5cbiAgfVxuXG4gIHNlbGVjdENvdW50cnkoY291bnRyeTogYW55KSB7XG4gICAgbGV0IGlzbyA9ICcnO1xuICAgIGlmIChjb3VudHJ5ID09PSAnMicpIGlzbyA9ICdjb2wnO1xuICAgIGVsc2UgaWYgKGNvdW50cnkgPT09ICczJykgaXNvID0gJ3Zlbic7XG4gICAgZWxzZSBpZiAoY291bnRyeSA9PT0gJzQnKSBpc28gPSAndXNhJztcbiAgICBlbHNlIGlzbyA9ICcnO1xuXG4gICAgaWYgKGlzbyAhPSAnJykge1xuICAgICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NvdW50cnknXS5zZXRWYWx1ZShjb3VudHJ5KTtcblxuICAgICAgdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLmdldFN0YXRlc0J5Q291bnRyeShpc28pLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5zdGF0ZXMgPSByZXNwb25zZS5kYXRhO1xuICAgICAgICB0aGlzLnNlbGVjdFN0YXRlKHRoaXMubG9jYWxTdG9yYWdlQ09ELmdldENvZEZvcm1EYXRhKDIsICdzdGF0ZScpKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snY291bnRyeSddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgICB0aGlzLmNvdW50cnlTZWxlY3RlZCA9IGNvdW50cnk7XG4gIH1cblxuICBzZWxlY3RTdGF0ZShzdGF0ZTogYW55KSB7XG4gICAgaWYgKHN0YXRlICE9PSAnRGVwYXJ0YW1lbnRvIG8gZXN0YWRvJykge1xuICAgICAgLy8gdGhpcy5nZXRTdGF0ZShzdGF0ZSk7XG4gICAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snc3RhdGUnXS5zZXRWYWx1ZShzdGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdGF0ZSddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NpdHknXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuY2l0aWVzID0gW107XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0Q2l0eShjaXR5OiBhbnkpIHtcbiAgICBpZiAoY2l0eSAhPT0gJ0NpdWRhZCBkZSByZXNpZGVuY2lhJykge1xuICAgICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NpdHknXS5zZXRWYWx1ZShjaXR5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NpdHknXS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RJZFR5cGUoaWRUeXBlOiBhbnkpIHtcbiAgICBpZiAoaWRUeXBlICE9PSAnVGlwbyBkZSBkb2N1bWVudG8nKSB7XG4gICAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snc3R1ZGVudF9pZF9jYXJkX3R5cGUnXS5zZXRWYWx1ZShpZFR5cGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snc3R1ZGVudF9pZF9jYXJkX3R5cGUnXS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cbiAgc2VsZWN0R2VuZGVyKGdlbmRlcjogYW55KSB7XG4gICAgaWYgKGdlbmRlciAhPT0gJ0fDqW5lcm8nKSB7XG4gICAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snZ2VuZGVyJ10uc2V0VmFsdWUoZ2VuZGVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2dlbmRlciddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuICBzZWxlY3RJbmRpY2F0aXZlcyhpbmRpY2F0aXZlOiBhbnkpIHtcbiAgICBpZiAoaW5kaWNhdGl2ZSAhPT0gJ0luZGljYXRpdm8nKSB7XG4gICAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snc3R1ZGVudF9waG9uZV9pbmRpY2F0aXZlJ10uc2V0VmFsdWUoaW5kaWNhdGl2ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdHVkZW50X3Bob25lX2luZGljYXRpdmUnXS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cbiAgc2VuZEZvcm0oKSB7XG4gICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBPbmUubWFya0FsbEFzVG91Y2hlZCgpO1xuICAgIGlmICh0aGlzLmNvZFNlbGZGb3JtU3RlcE9uZS5pbnZhbGlkKSByZXR1cm47XG5cbiAgICAvLyBNb3Zlcm5vcyBhbCBwYXNvIDFcbiAgICB0aGlzLmNvbXBsZXRlZC5lbWl0KDEpO1xuICB9XG4gIGdldFN0YXRlKHN0YXRlOiBhbnkpIHtcbiAgICB0aGlzLmdldENpdHkoc3RhdGUpO1xuICB9XG4gIGdldENpdHkoc3RhdGU6IGFueSkge1xuICAgIHRoaXMucGFyYW1ldGVyU2VydmljZS5nZXRDaXRpZXNCeVN0YXRlKHN0YXRlKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICB0aGlzLnNlbGVjdENpdHkodGhpcy5sb2NhbFN0b3JhZ2VDT0QuZ2V0Q29kRm9ybURhdGEoMSwgJ2NpdHknKSk7XG4gICAgICB0aGlzLmNpdGllcyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgfSk7XG4gIH1cbiAgc3RhcnRMb2NhbFN0b3JhZ2VXb3JrKCkge1xuICAgIHRoaXMuY29udHJvbHMuZm9yRWFjaChjb250cm9sID0+IHtcbiAgICAgIGxldCBsb2NhbFN0b3JhZ2VWYWx1ZTogbG9jYWxTdG9yYWdlVmFsdWVzVHdvID0gdGhpcy5yZWFkQW5kV3JpdGVMUygxLCBjb250cm9sLm5hbWUpO1xuICAgICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbY29udHJvbC5uYW1lXS5zZXRWYWx1ZShsb2NhbFN0b3JhZ2VWYWx1ZS52YWx1ZSk7XG4gICAgICB0aGlzLmxpc3RlbkZvcm1DaGFuZ2VzKDEsIGNvbnRyb2wubmFtZSwgdGhpcy5jb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbY29udHJvbC5uYW1lXS52YWx1ZUNoYW5nZXMpO1xuICAgIH0pO1xuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXItbWFpblwiPlxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZvcm1cIj5cbiAgICA8aDI+RGF0b3MgUGVyc29uYWxlczwvaDI+XG4gICAgPGkgY2xhc3M9XCJwaSBwaS1leGNsYW1hdGlvbi1jaXJjbGVcIj48L2k+XG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJjb2RTZWxmRm9ybVN0ZXBPbmVcIj5cblxuICAgICAgPGlwdC1pbnB1dFxuICAgICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICAgIFtwbGFjZUhvbGRlcl09XCInTm9tYnJlcydcIlxuICAgICAgICBbY29udHJvbF09XCJjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ3N0dWRlbnRfbmFtZSddXCJcbiAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgIDxkaXYgKm5nSWY9XCJjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ3N0dWRlbnRfbmFtZSddLmludmFsaWQgJiYgY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdHVkZW50X25hbWUnXS50b3VjaGVkXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiPlBvciBmYXZvciBpbmdyZXNhIHVuIG5vbWJyZSB2w6FsaWRvLjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGlwdC1pbnB1dFxuICAgICAgICBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiXG4gICAgICAgIFtwbGFjZUhvbGRlcl09XCInQXBlbGxpZG9zJ1wiXG4gICAgICAgIFtjb250cm9sXT1cImNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snc3R1ZGVudF9sYXN0X25hbWUnXVwiXG4gICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICA8ZGl2ICpuZ0lmPVwiY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdHVkZW50X2xhc3RfbmFtZSddLmludmFsaWQgJiYgY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdHVkZW50X2xhc3RfbmFtZSddLnRvdWNoZWRcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+UG9yIGZhdm9yIGluZ3Jlc2EgdW4gYXBlbGxpZG8gdsOhbGlkby48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxpcHQtc2VsZWN0XG4gICAgICAgIFtpbml0aWFsVmFsdWVdPVwiY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdHVkZW50X2lkX2NhcmRfdHlwZSddLnZhbHVlXCJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdHVkZW50X2lkX2NhcmRfdHlwZSddXCJcbiAgICAgICAgW3NlbGVjdENvZGVdPVwiY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdHVkZW50X2lkX2NhcmRfdHlwZSddLnZhbHVlID09PSBudWxsID8gJ1RpcG8gZGUgZG9jdW1lbnRvJyA6IGNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snc3R1ZGVudF9pZF9jYXJkX3R5cGUnXS52YWx1ZVwiXG4gICAgICAgIFtpc1JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICBbZGF0YV09XCJpZFR5cGVzXCJcbiAgICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdElkVHlwZSgkZXZlbnQpXCJcbiAgICAgICAgW2RlZmF1bHRUZXh0XT1cIidUaXBvIGRlIGRvY3VtZW50bydcIlxuICAgICAgPjwvaXB0LXNlbGVjdD5cbiAgICAgIDxkaXYgKm5nSWY9XCJjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ3N0dWRlbnRfaWRfY2FyZF90eXBlJ10uaW52YWxpZCAmJiBjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ3N0dWRlbnRfaWRfY2FyZF90eXBlJ10udG91Y2hlZFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj5Qb3IgZmF2b3IgaW5ncmVzYSB1biB0aXBvIGRlIGRvY3VtZW50byB2w6FsaWRvLjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGlwdC1pbnB1dFxuICAgICAgICBbaW5wdXRUeXBlXT1cIidudW1iZXInXCJcbiAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidOw7ptZXJvIGRlIGRvY3VtZW50bydcIlxuICAgICAgICBbY29udHJvbF09XCJjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ3N0dWRlbnRfaWRfY2FyZCddXCJcbiAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgIDxkaXYgKm5nSWY9XCJjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ3N0dWRlbnRfaWRfY2FyZCddLmludmFsaWQgJiYgY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdHVkZW50X2lkX2NhcmQnXS50b3VjaGVkXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiPlBvciBmYXZvciBpbmdyZXNhIHVuIGRvY3VtZW50byB2w6FsaWRvLjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGlwdC1zZWxlY3RcbiAgICAgICAgW2luaXRpYWxWYWx1ZV09XCJjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2dlbmRlciddLnZhbHVlXCJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydnZW5kZXInXVwiXG4gICAgICAgIFtkYXRhXT1cImdlbmRlcnNcIlxuICAgICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0R2VuZGVyKCRldmVudClcIlxuICAgICAgICBbZGVmYXVsdFRleHRdPVwiJ0fDqW5lcm8nXCJcbiAgICAgID48L2lwdC1zZWxlY3Q+XG4gICAgICA8ZGl2ICpuZ0lmPVwiY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydnZW5kZXInXS5pbnZhbGlkICYmIGNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snZ2VuZGVyJ10udG91Y2hlZFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj5Qb3IgZmF2b3IgaW5ncmVzYSB1biBnZW5lcm8gdsOhbGlkby48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgb25mb2N1cz1cIih0aGlzLnR5cGU9J2RhdGUnKVwiXG4gICAgICAgIFtpbnB1dFR5cGVdPVwiJ2RhdGUnXCJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydiaXJ0aGRhdGUnXVwiXG4gICAgICAgIFtwbGFjZUhvbGRlcl09XCInRmVjaGEgZGUgbmFjaW1pZW50bydcIlxuICAgICAgPjwvaXB0LWlucHV0PlxuICAgICAgPGRpdiAqbmdJZj1cImNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snYmlydGhkYXRlJ10uaW52YWxpZCAmJiBjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2JpcnRoZGF0ZSddLnRvdWNoZWRcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+UG9yIGZhdm9yIGluZ3Jlc2EgdW5hIGZlY2hhIG1heW9yIGRlIDMgYcOxb3MuPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8aXB0LXNlbGVjdFxuICAgICAgICBbaW5pdGlhbFZhbHVlXT1cImNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snY291bnRyeSddLnZhbHVlXCJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydjb3VudHJ5J11cIlxuICAgICAgICBbc2VsZWN0Q29kZV09XCJjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NvdW50cnknXS52YWx1ZSA9PT0gbnVsbCA/ICdQYcOtcyBkZSByZXNpZGVuY2lhJyA6IGNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snY291bnRyeSddLnZhbHVlXCJcbiAgICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdENvdW50cnkoJGV2ZW50KVwiXG4gICAgICAgIFtkYXRhXT1cImNvdW50cmllc1wiXG4gICAgICAgIFtkZWZhdWx0VGV4dF09XCInUGHDrXMgZGUgcmVzaWRlbmNpYSdcIlxuICAgICAgPjwvaXB0LXNlbGVjdD5cbiAgICAgIDxkaXYgKm5nSWY9XCJjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NvdW50cnknXS5pbnZhbGlkICYmIGNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snY291bnRyeSddLnRvdWNoZWRcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+UG9yIGZhdm9yIGluZ3Jlc2EgdW4gcGFpcyB2w6FsaWRvLjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGlwdC1zZWxlY3RcbiAgICAgICAgW2luaXRpYWxWYWx1ZV09XCJjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ3N0YXRlJ10udmFsdWVcIlxuICAgICAgICBbY29udHJvbF09XCJjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ3N0YXRlJ11cIlxuICAgICAgICBbc2VsZWN0Q29kZV09XCJjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ3N0YXRlJ10udmFsdWUgPT09IG51bGwgPyAnRGVwYXJ0YW1lbnRvIG8gZXN0YWRvJyA6IGNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snc3RhdGUnXS52YWx1ZVwiXG4gICAgICAgIFtpc1JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0U3RhdGUoJGV2ZW50KVwiXG4gICAgICAgIFtkYXRhXT1cInN0YXRlc1wiXG4gICAgICAgIFtkZWZhdWx0VGV4dF09XCInRGVwYXJ0YW1lbnRvIG8gZXN0YWRvJ1wiXG4gICAgICA+PC9pcHQtc2VsZWN0PlxuICAgICAgPGRpdiAqbmdJZj1cImNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snc3RhdGUnXS5pbnZhbGlkICYmIGNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snc3RhdGUnXS50b3VjaGVkXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiPlBvciBmYXZvciBpbmdyZXNhIHVuIGRlcGFydGFtZW50byB2w6FsaWRvLjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGlwdC1zZWxlY3RcbiAgICAgICAgW2luaXRpYWxWYWx1ZV09XCJjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NpdHknXS52YWx1ZVwiXG4gICAgICAgIFtjb250cm9sXT1cImNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snY2l0eSddXCJcbiAgICAgICAgW3NlbGVjdENvZGVdPVwiY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydjaXR5J10udmFsdWUgPT09IG51bGwgPyAnQ2l1ZGFkIGRlIHJlc2lkZW5jaWEnIDogY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydjaXR5J10udmFsdWVcIlxuICAgICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0Q2l0eSgkZXZlbnQpXCJcbiAgICAgICAgW2RhdGFdPVwiY2l0aWVzXCJcbiAgICAgICAgW2RlZmF1bHRUZXh0XT1cIidDaXVkYWQgZGUgcmVzaWRlbmNpYSdcIlxuICAgICAgPjwvaXB0LXNlbGVjdD5cbiAgICAgIDxkaXYgKm5nSWY9XCJjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NpdHknXS5pbnZhbGlkICYmIGNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snY2l0eSddLnRvdWNoZWRcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+UG9yIGZhdm9yIGluZ3Jlc2EgdW5hIGNpdWRhZCB2w6FsaWRvLjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGlwdC1pbnB1dFxuICAgICAgICBbaW5wdXRUeXBlXT1cIidlbWFpbCdcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0NvcnJlbyBlbGVjdHLDs25pY28nXCJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdHVkZW50X2VtYWlsJ11cIlxuICAgICAgPjwvaXB0LWlucHV0PlxuICAgICAgPGRpdiAqbmdJZj1cImNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snc3R1ZGVudF9lbWFpbCddLmludmFsaWQgJiYgY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdHVkZW50X2VtYWlsJ10udG91Y2hlZFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj5Qb3IgZmF2b3IgaW5ncmVzYSB1biBlbWFpbCB2YWxpZG8uPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8aXB0LXNlbGVjdFxuICAgICAgICBbaW5pdGlhbFZhbHVlXT1cImNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snc3R1ZGVudF9waG9uZV9pbmRpY2F0aXZlJ10udmFsdWVcIlxuICAgICAgICBbY29udHJvbF09XCJjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ3N0dWRlbnRfcGhvbmVfaW5kaWNhdGl2ZSddXCJcbiAgICAgICAgW2RhdGFdPVwiaW5kaWNhdGl2ZXNcIlxuICAgICAgICAoZXZlbnRTZWxlY3QpPVwic2VsZWN0SW5kaWNhdGl2ZXMoJGV2ZW50KVwiXG4gICAgICAgIFtkZWZhdWx0VGV4dF09XCInSW5kaWNhdGl2bydcIlxuICAgICAgPjwvaXB0LXNlbGVjdD5cbiAgICAgIDxkaXYgKm5nSWY9XCJjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ3N0dWRlbnRfcGhvbmVfaW5kaWNhdGl2ZSddLmludmFsaWQgJiYgY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdHVkZW50X3Bob25lX2luZGljYXRpdmUnXS50b3VjaGVkXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiPlBvciBmYXZvciBpbmdyZXNhIHVuIGluZGljYXRpdm8gdmFsaWRvLjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGlwdC1pbnB1dFxuICAgICAgICBbaW5wdXRUeXBlXT1cIidudW1iZXInXCJcbiAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidOw7ptZXJvIGRlIHRlbMOpZm9ubydcIlxuICAgICAgICBbY29udHJvbF09XCJjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ3N0dWRlbnRfcGhvbmVfbnVtYmVyJ11cIlxuICAgICAgPjwvaXB0LWlucHV0PlxuICAgICAgPGRpdiAqbmdJZj1cImNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snc3R1ZGVudF9waG9uZV9udW1iZXInXS5pbnZhbGlkICYmIGNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snc3R1ZGVudF9waG9uZV9udW1iZXInXS50b3VjaGVkXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiPlBvciBmYXZvciBpbmdyZXNhIHVuIG51bWVybyBkZSB0ZWxlZm9ubyB2w6FsaWRvLjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZm9ybT5cblxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IG10LTMgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIHBCdXR0b25cbiAgICAgICAgaWNvbj1cInBpIHBpLWFycm93LXJpZ2h0XCJcbiAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCIhY29kU2VsZkZvcm1TdGVwT25lLnZhbGlkXCJcbiAgICAgICAgKGNsaWNrKT1cInNlbmRGb3JtKClcIlxuICAgICAgPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuPC9kaXY+XG4iXX0=
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLXNlbGYtZm9ybS1zdGVwLW9uZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9kZXNpZ24tc3lzdGVtL3NyYy9saWIvY29kLXNlbGYtbWFuYWdlZC9zdGVwcy9jb2QtZm9ybS1zdGVwLW9uZS9jb2Qtc2VsZi1mb3JtLXN0ZXAtb25lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb2Qtc2VsZi1tYW5hZ2VkL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtb25lL2NvZC1zZWxmLWZvcm0tc3RlcC1vbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFVLEtBQUssRUFBK0MsTUFBTSxlQUFlLENBQUM7QUFDNUgsT0FBTyxFQUFlLFVBQVUsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0IsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDL0UsT0FBTyxFQUFFLG1CQUFtQixFQUF5QixNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7OztBQVFoRyxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsbUJBQW1CO0lBbUJsRSxZQUNVLEVBQWUsRUFDZixnQkFBa0MsRUFDbEMsS0FBd0I7UUFFaEMsS0FBSyxFQUFFLENBQUM7UUFKQSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQWxCeEIsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFHakQsWUFBTyxHQUFVLEVBQUUsQ0FBQztRQVNwQixpQkFBWSxHQUFXLDJCQUEyQixDQUFDO1FBQ25ELGFBQVEsR0FBRyxJQUFJ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QU03QixJQUFJO3NCQUFaLEtBQUs7Z0JBRUksU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgSW5wdXQsIFNpbXBsZUNoYW5nZXMsIE9uQ2hhbmdlcywgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBQYXJhbWV0ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS9zZXJ2aWNlcy9wYXJhbWV0ZXJzLXNlcnZpY2UvcGFyYW1ldGVycy5zZXJ2aWNlJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29kU2VsZk1hbmFnZWRDb250cm9scyB9IGZyb20gJy4uLy4uL2xvZ2ljL2NvZC1zZWxmLW1hbmFnZWQtY29udHJvbHMnO1xuaW1wb3J0IHsgQ29kU2VsZk1hbmFnZWRTdGVwcywgbG9jYWxTdG9yYWdlVmFsdWVzVHdvIH0gZnJvbSAnLi4vLi4vbG9naWMvY29kLXNlbGYtbWFuYWdlZC1zdGVwcyc7XG5cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWNvZC1zZWxmLWZvcm0tc3RlcC1vbmUnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29kLXNlbGYtZm9ybS1zdGVwLW9uZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvZC1zZWxmLWZvcm0tc3RlcC1vbmUuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBDb2RTZWxmRm9ybVN0ZXBPbmVDb21wb25lbnQgZXh0ZW5kcyBDb2RTZWxmTWFuYWdlZFN0ZXBzIGltcGxlbWVudHMgT25DaGFuZ2VzICB7XG5cbiAgQElucHV0KCkgdXNlcjogYW55O1xuXG4gIEBPdXRwdXQoKSBjb21wbGV0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBjb2RTZWxmRm9ybVN0ZXBPbmUhOiBGb3JtR3JvdXBcbiAgZ2VuZGVyczogYW55W10gPSBbXTtcbiAgc3RyYXR1bXM6IGFueTtcbiAgaWRUeXBlczogYW55O1xuICBpbmRpY2F0aXZlczogYW55O1xuICBjaXZpbFN0YXR1czogYW55O1xuICBjb3VudHJ5U2VsZWN0ZWQ6IGFueTtcbiAgY291bnRyaWVzOiBhbnk7XG4gIHN0YXRlczogYW55O1xuICBjaXRpZXM6IGFueTtcbiAgZXJyb3JNZXNzYWdlOiBzdHJpbmcgPSAnRmFsdGFuIGNhbXBvcyBwb3IgbGxlbmFyLic7XG4gIGNvbnRyb2xzID0gbmV3IENvZFNlbGZNYW5hZ2VkQ29udHJvbHMoKS5jb250cm9sc1swXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHBhcmFtZXRlclNlcnZpY2U6IFBhcmFtZXRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuICAvLyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgLy8gICB0aGlzLnNldERhdGFVc2VycygpO1xuXG4gIC8vIH1cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgICB0aGlzLmdldFBhcmFtZXRlcnMoKTtcbiAgICB0aGlzLnN0YXJ0TG9jYWxTdG9yYWdlV29yaygpO1xuICAgIC8vIHRoaXMuc2V0RGF0YVVzZXJzKCk7XG4gICAgaWYgKGNoYW5nZXNbJ3VzZXInXSAmJiB0aGlzLnVzZXIgIT0gbnVsbCkge1xuICAgICAgdGhpcy5zZXREYXRhVXNlcnMoKTtcbiAgICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIGluaXRGb3JtKCkge1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwT25lID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBzdHVkZW50X25hbWU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIHN0dWRlbnRfbGFzdF9uYW1lOlsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdXSxcbiAgICAgIHN0dWRlbnRfaWRfY2FyZF90eXBlOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSwgW11dLFxuICAgICAgc3R1ZGVudF9pZF9jYXJkOiBbe3ZhbHVlOiAnJywgZGlzYWJsZWQ6IHRydWV9LCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5taW5MZW5ndGgoNSksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDIwKV1dLFxuICAgICAgZ2VuZGVyOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBiaXJ0aGRhdGU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdLCBbXV0sXG4gICAgICBjb3VudHJ5OiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSwgW11dLFxuICAgICAgc3RhdGU6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWRdLCBbXV0sXG4gICAgICBjaXR5OiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSwgW11dLFxuICAgICAgc3R1ZGVudF9lbWFpbDogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5lbWFpbF1dLFxuICAgICAgc3R1ZGVudF9waG9uZV9pbmRpY2F0aXZlOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSwgW11dLFxuICAgICAgc3R1ZGVudF9waG9uZV9udW1iZXI6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDgpLCBWYWxpZGF0b3JzLm1heExlbmd0aCgxNSldXSxcbiAgICB9KTtcbiAgICAvLyBDYWxjdWxhciBlZGFkIHkgc2V0ZWFyIHZhbG9yXG4gICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2JpcnRoZGF0ZSddLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKGNoYW5nZSkgPT4ge1xuICAgICAgICBsZXQgdG9kYXkgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBsZXQgYmlydGhkYXkgPSBuZXcgRGF0ZShjaGFuZ2UpO1xuICAgICAgICBsZXQgYWdlID0gdG9kYXkuZ2V0RnVsbFllYXIoKSAtIGJpcnRoZGF5LmdldEZ1bGxZZWFyKCk7XG4gICAgICAgIGxldCBtb250aCA9IHRvZGF5LmdldE1vbnRoKCkgLSBiaXJ0aGRheS5nZXRNb250aCgpO1xuXG4gICAgICAgIGlmIChtb250aCA8IDAgfHwgKG1vbnRoID09PSAwICYmIHRvZGF5LmdldERhdGUoKSA8IGJpcnRoZGF5LmdldERhdGUoKSkpIHtcbiAgICAgICAgICBhZ2UtLTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChhZ2UgPCAzKSB7XG4gICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnRmVjaGEgZGUgbmFjaW1pZW50byBubyB2w6FsaWRhJ1xuICAgICAgICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydiaXJ0aGRhdGUnXS5zZXRFcnJvcnMoe1xuICAgICAgICAgICAgaW52YWxpZEFnZTogdHJ1ZVxuICAgICAgICAgIH0pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2JpcnRoZGF0ZSddLnNldEVycm9ycyhudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHRoaXMuY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydhZ2UnXS5zZXRWYWx1ZShhZ2UpO1xuICAgICAgfVxuICAgIH0pXG4gIH1cbiAgZ2V0UGFyYW1ldGVycygpIHtcbiAgICB0aGlzLnBhcmFtZXRlclNlcnZpY2UuZ2V0Q2FyZFR5cGVzKCdjb2wnKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICB0aGlzLmlkVHlwZXMgPSByZXNwb25zZS5kYXRhO1xuICAgIH0pO1xuICAgIHRoaXMucGFyYW1ldGVyU2VydmljZS5nZXRJbmRpY2F0aXZlcygpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgIHRoaXMuaW5kaWNhdGl2ZXMgPSByZXNwb25zZS5kYXRhO1xuICAgIH0pO1xuICAgIHRoaXMucGFyYW1ldGVyU2VydmljZS5nZXRDb3VudHJpZXMoKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICB0aGlzLmNvdW50cmllcyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgfSk7XG4gICAgdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLmdldEFsbENpdGllcygpLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgIHRoaXMuY2l0aWVzID0gcmVzcG9uc2UuZGF0YTtcbiAgICB9KTtcbiAgICB0aGlzLnBhcmFtZXRlclNlcnZpY2UuZ2V0QWxsU3RhdGVzKCkuc3Vic2NyaWJlKChyZXNwb25zZSkgPT4ge1xuICAgICAgdGhpcy5zdGF0ZXMgPSByZXNwb25zZS5kYXRhO1xuICAgIH0pO1xuICAgIHRoaXMucGFyYW1ldGVyU2VydmljZS5nZXRHZW5kZXJzKCkucGlwZShtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlLmRhdGEpKS5zdWJzY3JpYmUoKGdlbmRlcnM6IGFueVtdKSA9PiB7XG4gICAgICBnZW5kZXJzLmZvckVhY2goZ2VuZGVyID0+IHtcbiAgICAgICAgbGV0IGdlbmRlckl0ZW0gPSB7XG4gICAgICAgICAgY29kZTogZ2VuZGVyLmNvZGUsXG4gICAgICAgICAgbmFtZTogZ2VuZGVyLm5hbWVfc3BhbmlzaFxuICAgICAgICB9XG4gICAgICAgIHRoaXMuZ2VuZGVycy5wdXNoKGdlbmRlckl0ZW0pXG4gICAgICB9KVxuICAgIH0pXG4gIH1cblxuICBzZXREYXRhVXNlcnMoKXtcbiAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snc3R1ZGVudF9uYW1lJ10uc2V0VmFsdWUodGhpcy51c2VyLm5hbWUpO1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdHVkZW50X2xhc3RfbmFtZSddLnNldFZhbHVlKHRoaXMudXNlci5sYXN0X25hbWUpO1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdHVkZW50X2lkX2NhcmRfdHlwZSddLnNldFZhbHVlKHRoaXMudXNlci5pZF9jYXJkX3R5cGUpO1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdHVkZW50X2lkX2NhcmQnXS5zZXRWYWx1ZSh0aGlzLnVzZXIuaWRfY2FyZCk7XG4gICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NvdW50cnknXS5zZXRWYWx1ZSh0aGlzLnVzZXIuY2l0eVswXT8uY291bnRyeSAhPSAoMSB8fCBudWxsKSA/IHRoaXMudXNlci5jaXR5WzBdPy5jb3VudHJ5IDogbnVsbCk7XG4gICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ3N0YXRlJ10uc2V0VmFsdWUodGhpcy51c2VyLmNpdHlbMF0/LnN0YXRlICE9ICgzMyB8fCBudWxsKSA/IHRoaXMudXNlci5jaXR5WzBdPy5zdGF0ZSA6IG51bGwpO1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydjaXR5J10uc2V0VmFsdWUodGhpcy51c2VyLmNpdHlbMF0/LmNvZGUgIT0gKDEgfHwgbnVsbCkgPyB0aGlzLnVzZXIuY2l0eVswXT8uY29kZSA6IG51bGwpO1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydnZW5kZXInXS5zZXRWYWx1ZSh0aGlzLnVzZXIuZ2VuZGVyKTtcbiAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snYmlydGhkYXRlJ10uc2V0VmFsdWUodGhpcy51c2VyLmJpcnRoZGF0ZSk7XG4gICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ3N0dWRlbnRfZW1haWwnXS5zZXRWYWx1ZSh0aGlzLnVzZXIuZW1haWwpO1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdHVkZW50X3Bob25lX2luZGljYXRpdmUnXS5zZXRWYWx1ZSh0aGlzLnVzZXIucGhvbmVfaW5kaWNhdGl2ZSk7XG4gICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ3N0dWRlbnRfcGhvbmVfbnVtYmVyJ10uc2V0VmFsdWUodGhpcy51c2VyLnBob25lX251bWJlcik7XG5cbiAgfVxuXG4gIHNlbGVjdENvdW50cnkoY291bnRyeTogYW55KSB7XG4gICAgbGV0IGlzbyA9ICcnO1xuICAgIGlmIChjb3VudHJ5ID09PSAnMicpIGlzbyA9ICdjb2wnO1xuICAgIGVsc2UgaWYgKGNvdW50cnkgPT09ICczJykgaXNvID0gJ3Zlbic7XG4gICAgZWxzZSBpZiAoY291bnRyeSA9PT0gJzQnKSBpc28gPSAndXNhJztcbiAgICBlbHNlIGlzbyA9ICcnO1xuXG4gICAgaWYgKGlzbyAhPSAnJykge1xuICAgICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NvdW50cnknXS5zZXRWYWx1ZShjb3VudHJ5KTtcblxuICAgICAgdGhpcy5wYXJhbWV0ZXJTZXJ2aWNlLmdldFN0YXRlc0J5Q291bnRyeShpc28pLnN1YnNjcmliZSgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgdGhpcy5zdGF0ZXMgPSByZXNwb25zZS5kYXRhO1xuICAgICAgICB0aGlzLnNlbGVjdFN0YXRlKHRoaXMubG9jYWxTdG9yYWdlQ09ELmdldENvZEZvcm1EYXRhKDIsICdzdGF0ZScpKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snY291bnRyeSddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgICB0aGlzLmNvdW50cnlTZWxlY3RlZCA9IGNvdW50cnk7XG4gIH1cblxuICBzZWxlY3RTdGF0ZShzdGF0ZTogYW55KSB7XG4gICAgaWYgKHN0YXRlICE9PSAnRGVwYXJ0YW1lbnRvIG8gZXN0YWRvJykge1xuICAgICAgLy8gdGhpcy5nZXRTdGF0ZShzdGF0ZSk7XG4gICAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snc3RhdGUnXS5zZXRWYWx1ZShzdGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdGF0ZSddLnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NpdHknXS5zZXRWYWx1ZShudWxsKTtcbiAgICAgIHRoaXMuY2l0aWVzID0gW107XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0Q2l0eShjaXR5OiBhbnkpIHtcbiAgICBpZiAoY2l0eSAhPT0gJ0NpdWRhZCBkZSByZXNpZGVuY2lhJykge1xuICAgICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NpdHknXS5zZXRWYWx1ZShjaXR5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NpdHknXS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cblxuICBzZWxlY3RJZFR5cGUoaWRUeXBlOiBhbnkpIHtcbiAgICBpZiAoaWRUeXBlICE9PSAnVGlwbyBkZSBkb2N1bWVudG8nKSB7XG4gICAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snc3R1ZGVudF9pZF9jYXJkX3R5cGUnXS5zZXRWYWx1ZShpZFR5cGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snc3R1ZGVudF9pZF9jYXJkX3R5cGUnXS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cbiAgc2VsZWN0R2VuZGVyKGdlbmRlcjogYW55KSB7XG4gICAgaWYgKGdlbmRlciAhPT0gJ0fDqW5lcm8nKSB7XG4gICAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snZ2VuZGVyJ10uc2V0VmFsdWUoZ2VuZGVyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2dlbmRlciddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuICBzZWxlY3RJbmRpY2F0aXZlcyhpbmRpY2F0aXZlOiBhbnkpIHtcbiAgICBpZiAoaW5kaWNhdGl2ZSAhPT0gJ0luZGljYXRpdm8nKSB7XG4gICAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snc3R1ZGVudF9waG9uZV9pbmRpY2F0aXZlJ10uc2V0VmFsdWUoaW5kaWNhdGl2ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdHVkZW50X3Bob25lX2luZGljYXRpdmUnXS5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG4gIH1cbiAgc2VuZEZvcm0oKSB7XG4gICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBPbmUubWFya0FsbEFzVG91Y2hlZCgpO1xuICAgIGlmICh0aGlzLmNvZFNlbGZGb3JtU3RlcE9uZS5pbnZhbGlkKSByZXR1cm47XG5cbiAgICAvLyBNb3Zlcm5vcyBhbCBwYXNvIDFcbiAgICB0aGlzLmNvbXBsZXRlZC5lbWl0KDEpO1xuICB9XG4gIGdldFN0YXRlKHN0YXRlOiBhbnkpIHtcbiAgICB0aGlzLmdldENpdHkoc3RhdGUpO1xuICB9XG4gIGdldENpdHkoc3RhdGU6IGFueSkge1xuICAgIHRoaXMucGFyYW1ldGVyU2VydmljZS5nZXRDaXRpZXNCeVN0YXRlKHN0YXRlKS5zdWJzY3JpYmUoKHJlc3BvbnNlKSA9PiB7XG4gICAgICB0aGlzLnNlbGVjdENpdHkodGhpcy5sb2NhbFN0b3JhZ2VDT0QuZ2V0Q29kRm9ybURhdGEoMSwgJ2NpdHknKSk7XG4gICAgICB0aGlzLmNpdGllcyA9IHJlc3BvbnNlLmRhdGE7XG4gICAgfSk7XG4gIH1cbiAgc3RhcnRMb2NhbFN0b3JhZ2VXb3JrKCkge1xuICAgIHRoaXMuY29udHJvbHMuZm9yRWFjaChjb250cm9sID0+IHtcbiAgICAgIGxldCBsb2NhbFN0b3JhZ2VWYWx1ZTogbG9jYWxTdG9yYWdlVmFsdWVzVHdvID0gdGhpcy5yZWFkQW5kV3JpdGVMUygxLCBjb250cm9sLm5hbWUpO1xuICAgICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbY29udHJvbC5uYW1lXS5zZXRWYWx1ZShsb2NhbFN0b3JhZ2VWYWx1ZS52YWx1ZSk7XG4gICAgICB0aGlzLmxpc3RlbkZvcm1DaGFuZ2VzKDEsIGNvbnRyb2wubmFtZSwgdGhpcy5jb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbY29udHJvbC5uYW1lXS52YWx1ZUNoYW5nZXMpO1xuICAgIH0pO1xuICB9XG4gIHNob3dDb25maXJtKCkge1xuICAgIC8vIGlmICghdGhpcy52aXNpYmxlKSB7XG4gICAgLy8gICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsga2V5OiAnY29uZmlybScsIHN0aWNreTogdHJ1ZSwgc2V2ZXJpdHk6ICdzdWNjZXNzJywgc3VtbWFyeTogJ0NhbiB5b3Ugc2VuZCBtZSB0aGUgcmVwb3J0PycgfSk7XG4gICAgLy8gICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gICAgLy8gfVxuICB9XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXItbWFpblwiPlxuICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWZvcm1cIj5cbiAgICA8aDI+RGF0b3MgUGVyc29uYWxlczwvaDI+XG4gICAgPGkgY2xhc3M9XCJwaSBwaS1leGNsYW1hdGlvbi1jaXJjbGVcIj5cbiAgICAgIDwhLS0gPHAtdG9hc3QgcG9zaXRpb249XCJib3R0b20tY2VudGVyXCIga2V5PVwiY29uZmlybVwiIChvbkNsb3NlKT1cIm9uUmVqZWN0KClcIiBbYmFzZVpJbmRleF09XCI1MDAwXCI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtbWVzc2FnZSBwVGVtcGxhdGU9XCJtZXNzYWdlXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1zdGFydFwiIHN0eWxlPVwiZmxleDogMVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICA8cC1hdmF0YXIgaW1hZ2U9XCJodHRwczovL3ByaW1lZmFjZXMub3JnL2Nkbi9wcmltZW5nL2ltYWdlcy9hdmF0YXIvYW15ZWxzbmVyLnBuZ1wiIHNoYXBlPVwiY2lyY2xlXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGQgdGV4dC05MDBcIj5BbXkgRWxzbmVyPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb250LW1lZGl1bSB0ZXh0LWxnIG15LTMgdGV4dC05MDBcIj57eyBtZXNzYWdlLnN1bW1hcnkgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8cC1idXR0b24gY2xhc3M9XCJwLWJ1dHRvbi1zbVwiIGxhYmVsPVwiUmVwbHlcIiAoY2xpY2spPVwib25Db25maXJtKClcIj48L3AtYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9wLXRvYXN0PiAtLT5cbiAgICA8L2k+XG5cbjxidXR0b24gdHlwZT1cImJ1dHRvblwiIHBCdXR0b24gcFJpcHBsZSAoY2xpY2spPVwic2hvd0NvbmZpcm0oKVwiIGxhYmVsPVwiQ29uZmlybVwiPjwvYnV0dG9uPlxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiY29kU2VsZkZvcm1TdGVwT25lXCI+XG5cbiAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ05vbWJyZXMnXCJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdHVkZW50X25hbWUnXVwiXG4gICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICA8ZGl2ICpuZ0lmPVwiY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdHVkZW50X25hbWUnXS5pbnZhbGlkICYmIGNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snc3R1ZGVudF9uYW1lJ10udG91Y2hlZFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj5Qb3IgZmF2b3IgaW5ncmVzYSB1biBub21icmUgdsOhbGlkby48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2lucHV0VHlwZV09XCIndGV4dCdcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0FwZWxsaWRvcydcIlxuICAgICAgICBbY29udHJvbF09XCJjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ3N0dWRlbnRfbGFzdF9uYW1lJ11cIlxuICAgICAgPjwvaXB0LWlucHV0PlxuICAgICAgPGRpdiAqbmdJZj1cImNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snc3R1ZGVudF9sYXN0X25hbWUnXS5pbnZhbGlkICYmIGNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snc3R1ZGVudF9sYXN0X25hbWUnXS50b3VjaGVkXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiPlBvciBmYXZvciBpbmdyZXNhIHVuIGFwZWxsaWRvIHbDoWxpZG8uPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8aXB0LXNlbGVjdFxuICAgICAgICBbaW5pdGlhbFZhbHVlXT1cImNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snc3R1ZGVudF9pZF9jYXJkX3R5cGUnXS52YWx1ZVwiXG4gICAgICAgIFtjb250cm9sXT1cImNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snc3R1ZGVudF9pZF9jYXJkX3R5cGUnXVwiXG4gICAgICAgIFtzZWxlY3RDb2RlXT1cImNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snc3R1ZGVudF9pZF9jYXJkX3R5cGUnXS52YWx1ZSA9PT0gbnVsbCA/ICdUaXBvIGRlIGRvY3VtZW50bycgOiBjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ3N0dWRlbnRfaWRfY2FyZF90eXBlJ10udmFsdWVcIlxuICAgICAgICBbaXNSZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgW2RhdGFdPVwiaWRUeXBlc1wiXG4gICAgICAgIChldmVudFNlbGVjdCk9XCJzZWxlY3RJZFR5cGUoJGV2ZW50KVwiXG4gICAgICAgIFtkZWZhdWx0VGV4dF09XCInVGlwbyBkZSBkb2N1bWVudG8nXCJcbiAgICAgID48L2lwdC1zZWxlY3Q+XG4gICAgICA8ZGl2ICpuZ0lmPVwiY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdHVkZW50X2lkX2NhcmRfdHlwZSddLmludmFsaWQgJiYgY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdHVkZW50X2lkX2NhcmRfdHlwZSddLnRvdWNoZWRcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+UG9yIGZhdm9yIGluZ3Jlc2EgdW4gdGlwbyBkZSBkb2N1bWVudG8gdsOhbGlkby48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2lucHV0VHlwZV09XCInbnVtYmVyJ1wiXG4gICAgICAgIFtwbGFjZUhvbGRlcl09XCInTsO6bWVybyBkZSBkb2N1bWVudG8nXCJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdHVkZW50X2lkX2NhcmQnXVwiXG4gICAgICA+PC9pcHQtaW5wdXQ+XG4gICAgICA8ZGl2ICpuZ0lmPVwiY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdHVkZW50X2lkX2NhcmQnXS5pbnZhbGlkICYmIGNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snc3R1ZGVudF9pZF9jYXJkJ10udG91Y2hlZFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj5Qb3IgZmF2b3IgaW5ncmVzYSB1biBkb2N1bWVudG8gdsOhbGlkby48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxpcHQtc2VsZWN0XG4gICAgICAgIFtpbml0aWFsVmFsdWVdPVwiY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydnZW5kZXInXS52YWx1ZVwiXG4gICAgICAgIFtjb250cm9sXT1cImNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snZ2VuZGVyJ11cIlxuICAgICAgICBbZGF0YV09XCJnZW5kZXJzXCJcbiAgICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdEdlbmRlcigkZXZlbnQpXCJcbiAgICAgICAgW2RlZmF1bHRUZXh0XT1cIidHw6luZXJvJ1wiXG4gICAgICA+PC9pcHQtc2VsZWN0PlxuICAgICAgPGRpdiAqbmdJZj1cImNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snZ2VuZGVyJ10uaW52YWxpZCAmJiBjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2dlbmRlciddLnRvdWNoZWRcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+UG9yIGZhdm9yIGluZ3Jlc2EgdW4gZ2VuZXJvIHbDoWxpZG8uPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8aXB0LWlucHV0XG4gICAgICAgIG9uZm9jdXM9XCIodGhpcy50eXBlPSdkYXRlJylcIlxuICAgICAgICBbaW5wdXRUeXBlXT1cIidkYXRlJ1wiXG4gICAgICAgIFtjb250cm9sXT1cImNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snYmlydGhkYXRlJ11cIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJ0ZlY2hhIGRlIG5hY2ltaWVudG8nXCJcbiAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgIDxkaXYgKm5nSWY9XCJjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2JpcnRoZGF0ZSddLmludmFsaWQgJiYgY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydiaXJ0aGRhdGUnXS50b3VjaGVkXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiPlBvciBmYXZvciBpbmdyZXNhIHVuYSBmZWNoYSBtYXlvciBkZSAzIGHDsW9zLjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGlwdC1zZWxlY3RcbiAgICAgICAgW2luaXRpYWxWYWx1ZV09XCJjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NvdW50cnknXS52YWx1ZVwiXG4gICAgICAgIFtjb250cm9sXT1cImNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snY291bnRyeSddXCJcbiAgICAgICAgW3NlbGVjdENvZGVdPVwiY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydjb3VudHJ5J10udmFsdWUgPT09IG51bGwgPyAnUGHDrXMgZGUgcmVzaWRlbmNpYScgOiBjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NvdW50cnknXS52YWx1ZVwiXG4gICAgICAgIChldmVudFNlbGVjdCk9XCJzZWxlY3RDb3VudHJ5KCRldmVudClcIlxuICAgICAgICBbZGF0YV09XCJjb3VudHJpZXNcIlxuICAgICAgICBbZGVmYXVsdFRleHRdPVwiJ1Bhw61zIGRlIHJlc2lkZW5jaWEnXCJcbiAgICAgID48L2lwdC1zZWxlY3Q+XG4gICAgICA8ZGl2ICpuZ0lmPVwiY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydjb3VudHJ5J10uaW52YWxpZCAmJiBjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NvdW50cnknXS50b3VjaGVkXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiPlBvciBmYXZvciBpbmdyZXNhIHVuIHBhaXMgdsOhbGlkby48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxpcHQtc2VsZWN0XG4gICAgICAgIFtpbml0aWFsVmFsdWVdPVwiY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdGF0ZSddLnZhbHVlXCJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdGF0ZSddXCJcbiAgICAgICAgW3NlbGVjdENvZGVdPVwiY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdGF0ZSddLnZhbHVlID09PSBudWxsID8gJ0RlcGFydGFtZW50byBvIGVzdGFkbycgOiBjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ3N0YXRlJ10udmFsdWVcIlxuICAgICAgICBbaXNSZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdFN0YXRlKCRldmVudClcIlxuICAgICAgICBbZGF0YV09XCJzdGF0ZXNcIlxuICAgICAgICBbZGVmYXVsdFRleHRdPVwiJ0RlcGFydGFtZW50byBvIGVzdGFkbydcIlxuICAgICAgPjwvaXB0LXNlbGVjdD5cbiAgICAgIDxkaXYgKm5nSWY9XCJjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ3N0YXRlJ10uaW52YWxpZCAmJiBjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ3N0YXRlJ10udG91Y2hlZFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj5Qb3IgZmF2b3IgaW5ncmVzYSB1biBkZXBhcnRhbWVudG8gdsOhbGlkby48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxpcHQtc2VsZWN0XG4gICAgICAgIFtpbml0aWFsVmFsdWVdPVwiY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydjaXR5J10udmFsdWVcIlxuICAgICAgICBbY29udHJvbF09XCJjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NpdHknXVwiXG4gICAgICAgIFtzZWxlY3RDb2RlXT1cImNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snY2l0eSddLnZhbHVlID09PSBudWxsID8gJ0NpdWRhZCBkZSByZXNpZGVuY2lhJyA6IGNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snY2l0eSddLnZhbHVlXCJcbiAgICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdENpdHkoJGV2ZW50KVwiXG4gICAgICAgIFtkYXRhXT1cImNpdGllc1wiXG4gICAgICAgIFtkZWZhdWx0VGV4dF09XCInQ2l1ZGFkIGRlIHJlc2lkZW5jaWEnXCJcbiAgICAgID48L2lwdC1zZWxlY3Q+XG4gICAgICA8ZGl2ICpuZ0lmPVwiY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydjaXR5J10uaW52YWxpZCAmJiBjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ2NpdHknXS50b3VjaGVkXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiPlBvciBmYXZvciBpbmdyZXNhIHVuYSBjaXVkYWQgdsOhbGlkby48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2lucHV0VHlwZV09XCInZW1haWwnXCJcbiAgICAgICAgW3BsYWNlSG9sZGVyXT1cIidDb3JyZW8gZWxlY3Ryw7NuaWNvJ1wiXG4gICAgICAgIFtjb250cm9sXT1cImNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snc3R1ZGVudF9lbWFpbCddXCJcbiAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgIDxkaXYgKm5nSWY9XCJjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ3N0dWRlbnRfZW1haWwnXS5pbnZhbGlkICYmIGNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snc3R1ZGVudF9lbWFpbCddLnRvdWNoZWRcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCI+UG9yIGZhdm9yIGluZ3Jlc2EgdW4gZW1haWwgdmFsaWRvLjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGlwdC1zZWxlY3RcbiAgICAgICAgW2luaXRpYWxWYWx1ZV09XCJjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ3N0dWRlbnRfcGhvbmVfaW5kaWNhdGl2ZSddLnZhbHVlXCJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdHVkZW50X3Bob25lX2luZGljYXRpdmUnXVwiXG4gICAgICAgIFtkYXRhXT1cImluZGljYXRpdmVzXCJcbiAgICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdEluZGljYXRpdmVzKCRldmVudClcIlxuICAgICAgICBbZGVmYXVsdFRleHRdPVwiJ0luZGljYXRpdm8nXCJcbiAgICAgID48L2lwdC1zZWxlY3Q+XG4gICAgICA8ZGl2ICpuZ0lmPVwiY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdHVkZW50X3Bob25lX2luZGljYXRpdmUnXS5pbnZhbGlkICYmIGNvZFNlbGZGb3JtU3RlcE9uZS5jb250cm9sc1snc3R1ZGVudF9waG9uZV9pbmRpY2F0aXZlJ10udG91Y2hlZFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj5Qb3IgZmF2b3IgaW5ncmVzYSB1biBpbmRpY2F0aXZvIHZhbGlkby48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxpcHQtaW5wdXRcbiAgICAgICAgW2lucHV0VHlwZV09XCInbnVtYmVyJ1wiXG4gICAgICAgIFtwbGFjZUhvbGRlcl09XCInTsO6bWVybyBkZSB0ZWzDqWZvbm8nXCJcbiAgICAgICAgW2NvbnRyb2xdPVwiY29kU2VsZkZvcm1TdGVwT25lLmNvbnRyb2xzWydzdHVkZW50X3Bob25lX251bWJlciddXCJcbiAgICAgID48L2lwdC1pbnB1dD5cbiAgICAgIDxkaXYgKm5nSWY9XCJjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ3N0dWRlbnRfcGhvbmVfbnVtYmVyJ10uaW52YWxpZCAmJiBjb2RTZWxmRm9ybVN0ZXBPbmUuY29udHJvbHNbJ3N0dWRlbnRfcGhvbmVfbnVtYmVyJ10udG91Y2hlZFwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj5Qb3IgZmF2b3IgaW5ncmVzYSB1biBudW1lcm8gZGUgdGVsZWZvbm8gdsOhbGlkby48L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Zvcm0+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleCBtdC0zIGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBwQnV0dG9uXG4gICAgICAgIGljb249XCJwaSBwaS1hcnJvdy1yaWdodFwiXG4gICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiIWNvZFNlbGZGb3JtU3RlcE9uZS52YWxpZFwiXG4gICAgICAgIChjbGljayk9XCJzZW5kRm9ybSgpXCJcbiAgICAgID48L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbjwvZGl2PlxuIl19
@@ -90,6 +90,10 @@ export class AttendanceService extends IPTGeneralService {
90
90
  this.generateRequestParams(params);
91
91
  return this.http.post(serviceUrl, this.httpOptions);
92
92
  }
93
+ exportExcelAttendance(codeStudent) {
94
+ let serviceUrl = this.SERVICE_URL + 'dowload/excel/attendances/students/by/course/' + codeStudent;
95
+ return this.http.get(serviceUrl);
96
+ }
93
97
  }
94
98
  AttendanceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: AttendanceService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
95
99
  AttendanceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: AttendanceService, providedIn: 'root' });
@@ -99,4 +103,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
99
103
  providedIn: 'root'
100
104
  }]
101
105
  }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZW5kYW5jZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvcmUvc2VydmljZXMvYXR0ZW5kYW5jZS1zZXJ2aWNlL2F0dGVuZGFuY2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFLM0QsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGlCQUFpQjtJQUd0RCxZQUFvQixJQUFnQjtRQUNsQyxLQUFLLEVBQUUsQ0FBQztRQURVLFNBQUksR0FBSixJQUFJLENBQVk7UUFGNUIsZ0JBQVcsR0FBRyxlQUFlLENBQUM7UUFJcEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUN2RCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsTUFBMEI7UUFDM0MsSUFBSSxVQUFVLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxzQkFBc0IsQ0FBQztRQUMzRCxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBVyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxNQUErQjtRQUNuRCxJQUFJLFVBQVUsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLG1DQUFtQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFXLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEUsQ0FB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QUksQ0FBQyxXQUFXLHNDQUFzQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFXLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEUsQ0FBQzs7OEdBekdVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07MkZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvcmVzcG9uc2UvcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFkZEV2ZW50QnlDb3Vyc2VScSwgQ291cnNlQXR0ZW5kYW5jZSwgR2V0RXZlbnRCeUNvZGVScSwgR2V0RXZlbnRzQnlDb3Vyc2VDb2RlUnEsIEdldE5vdEF0dGVuZGFuY2VzQnlDb2RScSwgSVJlZ2lzdGVyTmV3QXR0ZW5kYW5jZVJxLCBJU2VydmljZUFsbERhdGFBdHRlbmRhbmNlUnEsIElVcGRhdGVBdHRlbmRhY2VuQnlDb2RlUnEsIFJlZ2lzdGVyTmV3QXR0ZW5kYW5jZUJ5RXZlbnRScSB9IGZyb20gJy4uLy4uL21vZGVscy9hdHRlbmRhbmNlL2F0dGVuZGFuY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IElQVEdlbmVyYWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS1lbnZpcm9tZW50cyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEF0dGVuZGFuY2VTZXJ2aWNlIGV4dGVuZHMgSVBUR2VuZXJhbFNlcnZpY2V7XG4gIHByaXZhdGUgU0VSVklDRV9VUkwgPSAnYWNhZGVtaWMvYXBpLyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLlNFUlZJQ0VfVVJMID0gdGhpcy5iYXNlVXJsKCkgKyB0aGlzLlNFUlZJQ0VfVVJMO1xuICB9XG5cbiAgYWRkRXZlbnRCeUNvdXJzZVJxKHBhcmFtczogQWRkRXZlbnRCeUNvdXJzZVJxKTogT2JzZXJ2YWJsZTxSZXNwb25zZT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH1wb3N0L2V2ZW50L2J5L2NvdXJzZWA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UmVzcG9uc2U+KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0RXZlbnRzQnlDb3Vyc2VDb2RlKHBhcmFtczogR2V0RXZlbnRzQnlDb3Vyc2VDb2RlUnEpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfXBvc3Qvb2J0YWluL2V2ZW50cy9ieS9jb3Vyc2VfY29kZWA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UmVzcG9uc2U+KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0RXZlbnRCeUNvZGUocGFyYW1zOiBHZXRFdmVudEJ5Q29kZVJxKTogT2JzZXJ2YWJsZTxSZXNwb25zZT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH1wb3N0L29idGFpbi9ldmVudC9ieS9jb2RlYDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxSZXNwb25zZT4oc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICByZWdpc3Rlck5ld0F0dGVuZGFuY2VCeUV2ZW50KHBhcmFtczogUmVnaXN0ZXJOZXdBdHRlbmRhbmNlQnlFdmVudFJxKTogT2JzZXJ2YWJsZTxSZXNwb25zZT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH1yZWdpc3Rlci9hdHRlbmRhbmNlL2J5L2V2ZW50YDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxSZXNwb25zZT4oc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRBdHRlbmRhY2VCeUNvdXJzZShjb3Vyc2VDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPENvdXJzZUF0dGVuZGFuY2U+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IGAke3RoaXMuU0VSVklDRV9VUkx9cG9zdC9vYnRhaW4vYXR0ZW5kYW5jZXMvYnkvY291cnNlLyR7Y291cnNlQ29kZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PENvdXJzZUF0dGVuZGFuY2U+KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgZ2V0QXR0ZW5kYWNlQnlDb3Vyc2VBc3NpZ25lZChjb3Vyc2VDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPENvdXJzZUF0dGVuZGFuY2U+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IGAke3RoaXMuU0VSVklDRV9VUkx9b2J0YWluL2F0dGVuZGFuY2VzL2J5L2NvdXJzZS9hc3NpZ25lZC8ke2NvdXJzZUNvZGV9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxDb3Vyc2VBdHRlbmRhbmNlPihzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGdldENPRENvZGVCeVN0dWRlbnRDb2RlKHN0dWRlbnRDb2RlOiBudW1iZXIpIHtcbiAgICBsZXQgc2VydmljZVVybCA9IGAke3RoaXMuU0VSVklDRV9VUkx9Z2V0L2NvZF9jb2RlL2J5L3N0dWRlbnRfY29kZS8ke3N0dWRlbnRDb2RlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55PihzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGdldEF0dGVuZGFuY2VIaXN0b3J5QnlTdHVkZW50KHRva2VuOiBzdHJpbmcsIGNvZF9jb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfXBvc3Qvb2J0YWluL2F0dGVuZGFuY2UvaGlzdG9yeS9ieS9zdHVkZW50YDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyh7dG9rZW4sIGNvZF9jb2RlfSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFJlc3BvbnNlPihzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFsbE5vdEF0dGVuZGFuY2VzQnlDb2QocGFyYW1zOiBHZXROb3RBdHRlbmRhbmNlc0J5Q29kUnEpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfWdldC9hbGwvbm90L2F0dGVuZGFuY2VzL2J5L2NvZGA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UmVzcG9uc2U+KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Tm90QXR0ZW5kYW5jZXNPZkxhc3RXZWVrQnlDb2QocGFyYW1zOiBHZXROb3RBdHRlbmRhbmNlc0J5Q29kUnEpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfWdldC9hbGwvbm90L2F0dGVuZGFuY2VzL2xhc3R3ZWVrL2J5L2NvZGA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UmVzcG9uc2U+KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0QWxsQXR0ZW5kYWNlQnlDb3Vyc2UoY291cnNlQ29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxJU2VydmljZUFsbERhdGFBdHRlbmRhbmNlUnE+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IGAke3RoaXMuU0VSVklDRV9VUkx9Z2V0L2FsbC9kYXRhL2F0dGVuZGFuY2VzL2J5L2NvdXJzZS8ke2NvdXJzZUNvZGV9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJU2VydmljZUFsbERhdGFBdHRlbmRhbmNlUnE+KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgbmV3QXR0ZW5kYW5jZUJ5RXZlbnQocGFyYW1zOiBJUmVnaXN0ZXJOZXdBdHRlbmRhbmNlUnEpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfXBvc3QvcmVnaXN0ZXIvbmV3L2F0dGVuZGFuY2UvYnkvZXZlbnRgO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFJlc3BvbnNlPihzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkF0dGVuZGFuY2VzU3R1c3R1ZGVudEJ5Q291cnNlKGNvdXJzZUNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8SVNlcnZpY2VBbGxEYXRhQXR0ZW5kYW5jZVJxPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfW9idGFpbi9hdHRlbmRhbmNlcy9zdHVkZW50cy9ieS9jb3Vyc2UvJHtjb3Vyc2VDb2RlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVNlcnZpY2VBbGxEYXRhQXR0ZW5kYW5jZVJxPihzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIG9idGFpbkF0dGVuZGFuY2Vzc0J5Q291cnNlKGNvdXJzZUNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8SVNlcnZpY2VBbGxEYXRhQXR0ZW5kYW5jZVJxPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfW9idGFpbi9hdHRlbmRhbmNlcy9ieS9jb3Vyc2UvJHtjb3Vyc2VDb2RlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVNlcnZpY2VBbGxEYXRhQXR0ZW5kYW5jZVJxPihzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIG9idGFpbkF0dGVuZGFuY2Vzc0J5QXNzaWduZWQoY291cnNlQ29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxJU2VydmljZUFsbERhdGFBdHRlbmRhbmNlUnE+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IGAke3RoaXMuU0VSVklDRV9VUkx9b2J0YWluL2F0dGVuZGFuY2VzL2J5L2Fzc2lnbmVkLyR7Y291cnNlQ29kZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElTZXJ2aWNlQWxsRGF0YUF0dGVuZGFuY2VScT4oc2VydmljZVVybCk7XG4gIH1cblxuICBvYnRhaW5Db3Vyc2VFdmVudEJ5Q29kZShjb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPElTZXJ2aWNlQWxsRGF0YUF0dGVuZGFuY2VScT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH1vYnRhaW4vY291cnNlL2V2ZW50L2J5L2NvZGUvJHtjb2RlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVNlcnZpY2VBbGxEYXRhQXR0ZW5kYW5jZVJxPihzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIG9idGFpbkZ1bGxEYXRhQXR0ZW5kYW5jZUJ5Q29kZShjb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPElTZXJ2aWNlQWxsRGF0YUF0dGVuZGFuY2VScT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH1vYnRhaW4vZnVsbC9kYXRhL2F0dGVuZGFuY2UvYnkvY29kZS8ke2NvZGV9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJU2VydmljZUFsbERhdGFBdHRlbmRhbmNlUnE+KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgVXBkYXRlSW5kaXZpZHVhbEF0dGVuZGFuY2UocGFyYW1zOiBJVXBkYXRlQXR0ZW5kYWNlbkJ5Q29kZVJxKTogT2JzZXJ2YWJsZTxSZXNwb25zZT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH11cGRhdGUvaW5kaXZpZHVhbC9hdHRlbmRhbmNlL2J5L2NvZGVgO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFJlc3BvbnNlPihzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG59XG4iXX0=
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0ZW5kYW5jZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvcmUvc2VydmljZXMvYXR0ZW5kYW5jZS1zZXJ2aWNlL2F0dGVuZGFuY2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSTNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFLM0QsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGlCQUFpQjtJQUd0RCxZQUFvQixJQUFnQjtRQUNsQyxLQUFLLEVBQUUsQ0FBQztRQURVLFNBQUksR0FBSixJQUFJLENBQVk7UUFGNUIsZ0JBQVcsR0FBRyxlQUFlLENBQUM7UUFJcEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUN2RCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsTUFBMEI7UUFDM0MsSUFBSSxVQUFVLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxzQkFBc0IsQ0FBQztRQUMzRCxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBVyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxNQUErQjtRQUNuRCxJQUFJLFVBQVUsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLG1DQUFtQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFXLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEUsQ0FB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QUksQ0FBQyxXQUFXLHNDQUFzQyxDQUFDO1FBQzNFLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFXLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELHFCQUFxQixDQUFDLFdBQW1CO1FBQ3ZDLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLEdBQUcsK0NBQStDLEdBQUcsV0FBVyxDQUFDO1FBQ2xHLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDbkMsQ0FBQzs7OEdBOUdVLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmhCLE1BQU07MkZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvcmVzcG9uc2UvcmVzcG9uc2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFkZEV2ZW50QnlDb3Vyc2VScSwgQ291cnNlQXR0ZW5kYW5jZSwgR2V0RXZlbnRCeUNvZGVScSwgR2V0RXZlbnRzQnlDb3Vyc2VDb2RlUnEsIEdldE5vdEF0dGVuZGFuY2VzQnlDb2RScSwgSVJlZ2lzdGVyTmV3QXR0ZW5kYW5jZVJxLCBJU2VydmljZUFsbERhdGFBdHRlbmRhbmNlUnEsIElVcGRhdGVBdHRlbmRhY2VuQnlDb2RlUnEsIFJlZ2lzdGVyTmV3QXR0ZW5kYW5jZUJ5RXZlbnRScSB9IGZyb20gJy4uLy4uL21vZGVscy9hdHRlbmRhbmNlL2F0dGVuZGFuY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IElQVEdlbmVyYWxTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZS1lbnZpcm9tZW50cyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEF0dGVuZGFuY2VTZXJ2aWNlIGV4dGVuZHMgSVBUR2VuZXJhbFNlcnZpY2V7XG4gIHByaXZhdGUgU0VSVklDRV9VUkwgPSAnYWNhZGVtaWMvYXBpLyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLlNFUlZJQ0VfVVJMID0gdGhpcy5iYXNlVXJsKCkgKyB0aGlzLlNFUlZJQ0VfVVJMO1xuICB9XG5cbiAgYWRkRXZlbnRCeUNvdXJzZVJxKHBhcmFtczogQWRkRXZlbnRCeUNvdXJzZVJxKTogT2JzZXJ2YWJsZTxSZXNwb25zZT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH1wb3N0L2V2ZW50L2J5L2NvdXJzZWA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UmVzcG9uc2U+KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0RXZlbnRzQnlDb3Vyc2VDb2RlKHBhcmFtczogR2V0RXZlbnRzQnlDb3Vyc2VDb2RlUnEpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfXBvc3Qvb2J0YWluL2V2ZW50cy9ieS9jb3Vyc2VfY29kZWA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UmVzcG9uc2U+KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0RXZlbnRCeUNvZGUocGFyYW1zOiBHZXRFdmVudEJ5Q29kZVJxKTogT2JzZXJ2YWJsZTxSZXNwb25zZT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH1wb3N0L29idGFpbi9ldmVudC9ieS9jb2RlYDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxSZXNwb25zZT4oc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICByZWdpc3Rlck5ld0F0dGVuZGFuY2VCeUV2ZW50KHBhcmFtczogUmVnaXN0ZXJOZXdBdHRlbmRhbmNlQnlFdmVudFJxKTogT2JzZXJ2YWJsZTxSZXNwb25zZT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH1yZWdpc3Rlci9hdHRlbmRhbmNlL2J5L2V2ZW50YDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyhwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxSZXNwb25zZT4oc2VydmljZVVybCwgdGhpcy5odHRwT3B0aW9ucyk7XG4gIH1cblxuICBnZXRBdHRlbmRhY2VCeUNvdXJzZShjb3Vyc2VDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPENvdXJzZUF0dGVuZGFuY2U+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IGAke3RoaXMuU0VSVklDRV9VUkx9cG9zdC9vYnRhaW4vYXR0ZW5kYW5jZXMvYnkvY291cnNlLyR7Y291cnNlQ29kZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PENvdXJzZUF0dGVuZGFuY2U+KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgZ2V0QXR0ZW5kYWNlQnlDb3Vyc2VBc3NpZ25lZChjb3Vyc2VDb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPENvdXJzZUF0dGVuZGFuY2U+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IGAke3RoaXMuU0VSVklDRV9VUkx9b2J0YWluL2F0dGVuZGFuY2VzL2J5L2NvdXJzZS9hc3NpZ25lZC8ke2NvdXJzZUNvZGV9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxDb3Vyc2VBdHRlbmRhbmNlPihzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGdldENPRENvZGVCeVN0dWRlbnRDb2RlKHN0dWRlbnRDb2RlOiBudW1iZXIpIHtcbiAgICBsZXQgc2VydmljZVVybCA9IGAke3RoaXMuU0VSVklDRV9VUkx9Z2V0L2NvZF9jb2RlL2J5L3N0dWRlbnRfY29kZS8ke3N0dWRlbnRDb2RlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55PihzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIGdldEF0dGVuZGFuY2VIaXN0b3J5QnlTdHVkZW50KHRva2VuOiBzdHJpbmcsIGNvZF9jb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfXBvc3Qvb2J0YWluL2F0dGVuZGFuY2UvaGlzdG9yeS9ieS9zdHVkZW50YDtcbiAgICB0aGlzLmdlbmVyYXRlUmVxdWVzdFBhcmFtcyh7dG9rZW4sIGNvZF9jb2RlfSk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFJlc3BvbnNlPihzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGdldEFsbE5vdEF0dGVuZGFuY2VzQnlDb2QocGFyYW1zOiBHZXROb3RBdHRlbmRhbmNlc0J5Q29kUnEpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfWdldC9hbGwvbm90L2F0dGVuZGFuY2VzL2J5L2NvZGA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UmVzcG9uc2U+KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0Tm90QXR0ZW5kYW5jZXNPZkxhc3RXZWVrQnlDb2QocGFyYW1zOiBHZXROb3RBdHRlbmRhbmNlc0J5Q29kUnEpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfWdldC9hbGwvbm90L2F0dGVuZGFuY2VzL2xhc3R3ZWVrL2J5L2NvZGA7XG4gICAgdGhpcy5nZW5lcmF0ZVJlcXVlc3RQYXJhbXMocGFyYW1zKTtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8UmVzcG9uc2U+KHNlcnZpY2VVcmwsIHRoaXMuaHR0cE9wdGlvbnMpO1xuICB9XG5cbiAgZ2V0QWxsQXR0ZW5kYWNlQnlDb3Vyc2UoY291cnNlQ29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxJU2VydmljZUFsbERhdGFBdHRlbmRhbmNlUnE+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IGAke3RoaXMuU0VSVklDRV9VUkx9Z2V0L2FsbC9kYXRhL2F0dGVuZGFuY2VzL2J5L2NvdXJzZS8ke2NvdXJzZUNvZGV9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJU2VydmljZUFsbERhdGFBdHRlbmRhbmNlUnE+KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgbmV3QXR0ZW5kYW5jZUJ5RXZlbnQocGFyYW1zOiBJUmVnaXN0ZXJOZXdBdHRlbmRhbmNlUnEpOiBPYnNlcnZhYmxlPFJlc3BvbnNlPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfXBvc3QvcmVnaXN0ZXIvbmV3L2F0dGVuZGFuY2UvYnkvZXZlbnRgO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFJlc3BvbnNlPihzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIG9idGFpbkF0dGVuZGFuY2VzU3R1c3R1ZGVudEJ5Q291cnNlKGNvdXJzZUNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8SVNlcnZpY2VBbGxEYXRhQXR0ZW5kYW5jZVJxPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfW9idGFpbi9hdHRlbmRhbmNlcy9zdHVkZW50cy9ieS9jb3Vyc2UvJHtjb3Vyc2VDb2RlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVNlcnZpY2VBbGxEYXRhQXR0ZW5kYW5jZVJxPihzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIG9idGFpbkF0dGVuZGFuY2Vzc0J5Q291cnNlKGNvdXJzZUNvZGU6IG51bWJlcik6IE9ic2VydmFibGU8SVNlcnZpY2VBbGxEYXRhQXR0ZW5kYW5jZVJxPiB7XG4gICAgbGV0IHNlcnZpY2VVcmwgPSBgJHt0aGlzLlNFUlZJQ0VfVVJMfW9idGFpbi9hdHRlbmRhbmNlcy9ieS9jb3Vyc2UvJHtjb3Vyc2VDb2RlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVNlcnZpY2VBbGxEYXRhQXR0ZW5kYW5jZVJxPihzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIG9idGFpbkF0dGVuZGFuY2Vzc0J5QXNzaWduZWQoY291cnNlQ29kZTogbnVtYmVyKTogT2JzZXJ2YWJsZTxJU2VydmljZUFsbERhdGFBdHRlbmRhbmNlUnE+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IGAke3RoaXMuU0VSVklDRV9VUkx9b2J0YWluL2F0dGVuZGFuY2VzL2J5L2Fzc2lnbmVkLyR7Y291cnNlQ29kZX1gO1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PElTZXJ2aWNlQWxsRGF0YUF0dGVuZGFuY2VScT4oc2VydmljZVVybCk7XG4gIH1cblxuICBvYnRhaW5Db3Vyc2VFdmVudEJ5Q29kZShjb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPElTZXJ2aWNlQWxsRGF0YUF0dGVuZGFuY2VScT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH1vYnRhaW4vY291cnNlL2V2ZW50L2J5L2NvZGUvJHtjb2RlfWA7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8SVNlcnZpY2VBbGxEYXRhQXR0ZW5kYW5jZVJxPihzZXJ2aWNlVXJsKTtcbiAgfVxuXG4gIG9idGFpbkZ1bGxEYXRhQXR0ZW5kYW5jZUJ5Q29kZShjb2RlOiBudW1iZXIpOiBPYnNlcnZhYmxlPElTZXJ2aWNlQWxsRGF0YUF0dGVuZGFuY2VScT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH1vYnRhaW4vZnVsbC9kYXRhL2F0dGVuZGFuY2UvYnkvY29kZS8ke2NvZGV9YDtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDxJU2VydmljZUFsbERhdGFBdHRlbmRhbmNlUnE+KHNlcnZpY2VVcmwpO1xuICB9XG5cbiAgVXBkYXRlSW5kaXZpZHVhbEF0dGVuZGFuY2UocGFyYW1zOiBJVXBkYXRlQXR0ZW5kYWNlbkJ5Q29kZVJxKTogT2JzZXJ2YWJsZTxSZXNwb25zZT4ge1xuICAgIGxldCBzZXJ2aWNlVXJsID0gYCR7dGhpcy5TRVJWSUNFX1VSTH11cGRhdGUvaW5kaXZpZHVhbC9hdHRlbmRhbmNlL2J5L2NvZGVgO1xuICAgIHRoaXMuZ2VuZXJhdGVSZXF1ZXN0UGFyYW1zKHBhcmFtcyk7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFJlc3BvbnNlPihzZXJ2aWNlVXJsLCB0aGlzLmh0dHBPcHRpb25zKTtcbiAgfVxuXG4gIGV4cG9ydEV4Y2VsQXR0ZW5kYW5jZShjb2RlU3R1ZGVudDogbnVtYmVyKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBsZXQgc2VydmljZVVybCA9IHRoaXMuU0VSVklDRV9VUkwgKyAnZG93bG9hZC9leGNlbC9hdHRlbmRhbmNlcy9zdHVkZW50cy9ieS9jb3Vyc2UvJyArIGNvZGVTdHVkZW50O1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHNlcnZpY2VVcmwpO1xuICB9XG59XG4iXX0=