iptdevs-design-system 3.1.4395 → 3.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/cod/cod-form/cod-form.component.mjs +34 -21
- package/esm2020/lib/cod/logic/calculate-quotes.service.mjs +73 -53
- package/esm2020/lib/cod/modal-referred/modal-referred.component.mjs +2 -2
- package/esm2020/lib/cod/steps/cod-form-step-five/cod-form-step-five.component.mjs +18 -24
- package/esm2020/lib/cod/steps/cod-form-step-four/cod-form-step-four.component.mjs +85 -76
- package/esm2020/lib/cod/steps/cod-form-step-one/cod-form-step-one.component.mjs +225 -92
- package/esm2020/lib/cod/steps/cod-form-step-three/cod-form-step-three.component.mjs +14 -18
- package/esm2020/lib/cod/steps/cod-form-step-two/cod-form-step-two.component.mjs +95 -70
- package/esm2020/lib/cod-self-managed/cod-form-self-managed/cod-self-managed.component.mjs +190 -22
- package/esm2020/lib/cod-self-managed/cod-self-managed.module.mjs +28 -4
- package/esm2020/lib/cod-self-managed/logic/calculate-quotes.service.mjs +99 -0
- package/esm2020/lib/cod-self-managed/logic/cod-self-managed-controls.mjs +16 -44
- package/esm2020/lib/cod-self-managed/logic/cod-self-managed-steps.mjs +1 -1
- package/esm2020/lib/cod-self-managed/steps/cod-form-step-four/cod-self-form-step-four.component.mjs +244 -7
- package/esm2020/lib/cod-self-managed/steps/cod-form-step-one/cod-self-form-step-one.component.mjs +102 -18
- package/esm2020/lib/cod-self-managed/steps/cod-form-step-three/cod-self-form-step-three.component.mjs +255 -7
- package/esm2020/lib/cod-self-managed/steps/cod-form-step-two/cod-self-form-step-two.component.mjs +144 -32
- package/esm2020/lib/components/atoms/button/button.component.mjs +2 -2
- package/esm2020/lib/components/atoms/datalist/datalist.component.mjs +26 -17
- package/esm2020/lib/components/atoms/input/input.component.mjs +2 -2
- package/esm2020/lib/components/atoms/level-button/level-button.component.mjs +2 -2
- package/esm2020/lib/components/atoms/loader/loader.component.mjs +2 -2
- package/esm2020/lib/components/atoms/select/select.component.mjs +10 -8
- package/esm2020/lib/components/components.module.mjs +54 -8
- package/esm2020/lib/components/forms/create-user-form/create-user-form.component.mjs +3 -3
- package/esm2020/lib/components/forms/update-user-form/update-user-form.component.mjs +843 -0
- package/esm2020/lib/components/molecules/card-course/card-course.component.mjs +95 -0
- package/esm2020/lib/components/molecules/card-select-course/card-select-course.component.mjs +52 -0
- package/esm2020/lib/components/molecules/sidenav/sidenav.component.mjs +5 -5
- package/esm2020/lib/core/core.module.mjs +9 -3
- package/esm2020/lib/core/models/academic/academic.component.mjs +1 -1
- package/esm2020/lib/core/models/announcement/announcement-user-rq.model.mjs +2 -0
- package/esm2020/lib/core/models/announcement/announcement-user-rs.model.mjs +3 -0
- package/esm2020/lib/core/models/attendance/attendance.interface.mjs +1 -1
- package/esm2020/lib/core/models/budget/budget.model.mjs +1 -1
- package/esm2020/lib/core/models/cod/cod-rq.model.mjs +1 -1
- package/esm2020/lib/core/models/commercial/commercial.model.mjs +1 -1
- package/esm2020/lib/core/models/course/course-rq.model.mjs +1 -1
- package/esm2020/lib/core/models/course/courses.model.mjs +1 -1
- package/esm2020/lib/core/models/epayco/epayco.interfaces.mjs +2 -0
- package/esm2020/lib/core/models/notes/INotesTemplate.mjs +1 -1
- package/esm2020/lib/core/models/notes/notes.interface.mjs +1 -1
- package/esm2020/lib/core/models/parameters/parameters-rs.model.mjs +1 -1
- package/esm2020/lib/core/models/payment/payment-rq.model.mjs +1 -1
- package/esm2020/lib/core/models/student/student.interface.mjs +1 -1
- package/esm2020/lib/core/models/terms/terms-rs.model.mjs +2 -0
- package/esm2020/lib/core/models/transfer/transfer.model.mjs +2 -0
- package/esm2020/lib/core/models/user/user-rq.model.mjs +1 -1
- package/esm2020/lib/core/models/user/user-rs.model.mjs +3 -1
- package/esm2020/lib/core/pipes/course-pipes/schedule-form.pipe.mjs +47 -0
- package/esm2020/lib/core/pipes/course-pipes/time-form.pipe.mjs +34 -0
- package/esm2020/lib/core/pipes/course-pipes/type-level.pipe.mjs +57 -0
- package/esm2020/lib/core/pipes/parameter-pipes/gender-display.pipe.mjs +22 -0
- package/esm2020/lib/core/pipes/pipe.module.mjs +37 -0
- package/esm2020/lib/core/services/academic-service/academic.service.mjs +64 -1
- package/esm2020/lib/core/services/announcement/announcement.service.mjs +57 -0
- package/esm2020/lib/core/services/attendance-service/attendance.service.mjs +31 -1
- package/esm2020/lib/core/services/budget-service/budget-service.mjs +297 -1
- package/esm2020/lib/core/services/certificate-service/certificate.service.mjs +21 -1
- package/esm2020/lib/core/services/commercial-service/comercial.service.mjs +95 -1
- package/esm2020/lib/core/services/course-service/course-service.model.mjs +96 -1
- package/esm2020/lib/core/services/ePayco/epayco.service.mjs +37 -0
- package/esm2020/lib/core/services/notes-service/notes.service.mjs +6 -1
- package/esm2020/lib/core/services/parameters-service/parameters.service.mjs +13 -1
- package/esm2020/lib/core/services/user-service/user-service.mjs +55 -1
- package/esm2020/public-api.mjs +13 -1
- package/fesm2015/iptdevs-design-system.mjs +4357 -1296
- package/fesm2015/iptdevs-design-system.mjs.map +1 -1
- package/fesm2020/iptdevs-design-system.mjs +7080 -4043
- package/fesm2020/iptdevs-design-system.mjs.map +1 -1
- package/lib/cod/cod-form/cod-form.component.d.ts +7 -2
- package/lib/cod/logic/calculate-quotes.service.d.ts +3 -0
- package/lib/cod/steps/cod-form-step-five/cod-form-step-five.component.d.ts +4 -4
- package/lib/cod/steps/cod-form-step-four/cod-form-step-four.component.d.ts +6 -9
- package/lib/cod/steps/cod-form-step-one/cod-form-step-one.component.d.ts +9 -7
- package/lib/cod/steps/cod-form-step-three/cod-form-step-three.component.d.ts +4 -4
- package/lib/cod/steps/cod-form-step-two/cod-form-step-two.component.d.ts +8 -5
- package/lib/cod-self-managed/cod-form-self-managed/cod-self-managed.component.d.ts +31 -7
- package/lib/cod-self-managed/cod-self-managed.module.d.ts +7 -1
- package/lib/cod-self-managed/logic/calculate-quotes.service.d.ts +16 -0
- package/lib/cod-self-managed/steps/cod-form-step-four/cod-self-form-step-four.component.d.ts +46 -2
- package/lib/cod-self-managed/steps/cod-form-step-one/cod-self-form-step-one.component.d.ts +17 -5
- package/lib/cod-self-managed/steps/cod-form-step-three/cod-self-form-step-three.component.d.ts +48 -3
- package/lib/cod-self-managed/steps/cod-form-step-two/cod-self-form-step-two.component.d.ts +43 -9
- package/lib/components/atoms/datalist/datalist.component.d.ts +7 -3
- package/lib/components/atoms/select/select.component.d.ts +2 -1
- package/lib/components/components.module.d.ts +14 -5
- package/lib/components/forms/update-user-form/update-user-form.component.d.ts +87 -0
- package/lib/components/molecules/card-course/card-course.component.d.ts +21 -0
- package/lib/components/molecules/card-select-course/card-select-course.component.d.ts +13 -0
- package/lib/core/models/academic/academic.component.d.ts +143 -1
- package/lib/core/models/announcement/announcement-user-rq.model.d.ts +12 -0
- package/lib/core/models/announcement/announcement-user-rs.model.d.ts +7 -0
- package/lib/core/models/attendance/attendance.interface.d.ts +146 -0
- package/lib/core/models/budget/budget.model.d.ts +554 -0
- package/lib/core/models/cod/cod-rq.model.d.ts +193 -0
- package/lib/core/models/commercial/commercial.model.d.ts +91 -0
- package/lib/core/models/course/course-rq.model.d.ts +296 -22
- package/lib/core/models/course/courses.model.d.ts +51 -0
- package/lib/core/models/epayco/epayco.interfaces.d.ts +6 -0
- package/lib/core/models/notes/INotesTemplate.d.ts +57 -0
- package/lib/core/models/notes/notes.interface.d.ts +13 -0
- package/lib/core/models/parameters/parameters-rs.model.d.ts +78 -1
- package/lib/core/models/payment/payment-rq.model.d.ts +168 -0
- package/lib/core/models/student/student.interface.d.ts +18 -0
- package/lib/core/models/terms/terms-rs.model.d.ts +435 -0
- package/lib/core/models/transfer/transfer.model.d.ts +89 -0
- package/lib/core/models/user/user-rq.model.d.ts +78 -0
- package/lib/core/models/user/user-rs.model.d.ts +11 -0
- package/lib/core/pipes/course-pipes/schedule-form.pipe.d.ts +7 -0
- package/lib/core/pipes/course-pipes/time-form.pipe.d.ts +9 -0
- package/lib/core/pipes/course-pipes/type-level.pipe.d.ts +7 -0
- package/lib/core/pipes/parameter-pipes/gender-display.pipe.d.ts +7 -0
- package/lib/core/pipes/pipe.module.d.ts +11 -0
- package/lib/core/services/academic-service/academic.service.d.ts +18 -3
- package/lib/core/services/announcement/announcement.service.d.ts +18 -0
- package/lib/core/services/attendance-service/attendance.service.d.ts +7 -1
- package/lib/core/services/budget-service/budget-service.d.ts +57 -3
- package/lib/core/services/certificate-service/certificate.service.d.ts +5 -0
- package/lib/core/services/commercial-service/comercial.service.d.ts +23 -2
- package/lib/core/services/course-service/course-service.model.d.ts +22 -1
- package/lib/core/services/ePayco/epayco.service.d.ts +17 -0
- package/lib/core/services/notes-service/notes.service.d.ts +2 -1
- package/lib/core/services/parameters-service/parameters.service.d.ts +3 -0
- package/lib/core/services/user-service/user-service.d.ts +12 -1
- package/package.json +1 -1
- package/public-api.d.ts +11 -0
|
@@ -18,59 +18,31 @@ export class CodSelfManagedControls {
|
|
|
18
18
|
{ name: 'student_email', required: true, description: 'Correo del estudiante' },
|
|
19
19
|
{ name: 'student_phone_indicative', required: true, description: 'Indicativo del estudiante' },
|
|
20
20
|
{ name: 'student_phone_number', required: true, description: 'Teléfono del estudiante' },
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
// { name: 'student_occupation', required: true, description: 'Ocupación del estudiante' },
|
|
24
|
-
// { name: 'stratum', required: true, description: 'Estrato del estudiante' },
|
|
25
|
-
// { name: 'grade', required: true, description: 'Grado del estudiante' },
|
|
26
|
-
// { name: 'civil_status', required: true, description: 'Estado civil del estudiante' },
|
|
27
|
-
// { name: 'password', required: true, description: 'Contraseña del estudiante' },
|
|
28
|
-
// { name: 're_password', required: true, description: 'Confirmación de contraseña' },
|
|
21
|
+
{ name: 'grade', required: true, description: 'Grado del estudiante' },
|
|
22
|
+
{ name: 'agreement_by_category', required: true, description: 'Convenio' },
|
|
29
23
|
],
|
|
30
24
|
[
|
|
31
|
-
{ name: '
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
// { name: 'availible_courses', required: false, description: 'Cursos disponibles' },
|
|
37
|
-
// { name: 'course_modality', required: false, description: 'Modalidad del curso' },
|
|
25
|
+
{ name: 'academic_plan', required: true, description: 'Plan académico' },
|
|
26
|
+
{ name: 'course_type', required: true, description: 'Tipo de curso' },
|
|
27
|
+
{ name: 'english_level', required: true, description: 'Nivel de inglés' },
|
|
28
|
+
{ name: 'availible_courses', required: false, description: 'Cursos disponibles' },
|
|
29
|
+
{ name: 'course_modality', required: false, description: 'Modalidad del curso' },
|
|
38
30
|
],
|
|
39
|
-
// [
|
|
40
|
-
// { name: 'parent_id_card_type', required: true, description: 'Tipo de documento del acudiente' },
|
|
41
|
-
// { name: 'parent_id_card', required: true, description: 'Documento del acudiente' },
|
|
42
|
-
// { name: 'parent_last_name', required: true, description: 'Apellidos del acudiente' },
|
|
43
|
-
// { name: 'parent_name', required: true, description: 'Nombres del acudiente' },
|
|
44
|
-
// { name: 'needAtendant', required: true, description: '¿Requiere acudiente?' },
|
|
45
|
-
// { name: 'parent_phone_indicative', required: true, description: 'Indicativo del acudiente' },
|
|
46
|
-
// { name: 'parent_occupation', required: true, description: 'Ocupación del acudiente' },
|
|
47
|
-
// { name: 'parent_address', required: true, description: 'Dirección del acudiente' },
|
|
48
|
-
// { name: 'parent_phone_number', required: true, description: 'Teléfono del acudiente' }
|
|
49
|
-
// ],
|
|
50
31
|
[
|
|
51
|
-
{ name: 'payment_date', required: true, description: 'Fecha de pago' },
|
|
52
32
|
{ name: 'program_price', required: true, description: 'Valor total del programa' },
|
|
33
|
+
{ name: 'payment_date', required: true, description: 'Fecha de pago' },
|
|
53
34
|
{ name: 'payment_method', required: true, description: 'Método de pago' },
|
|
54
35
|
{ name: 'quota_times', required: true, description: 'Cantidad de cuotas' },
|
|
55
36
|
{ name: 'total_price', required: true, description: 'Precio total de la matricula' },
|
|
56
37
|
{ name: 'paid_level', required: true, description: 'Niveles pagos' },
|
|
57
38
|
],
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
// { name: 'multiculturalism_2', required: false, description: 'Multiculturalismo' },
|
|
66
|
-
// { name: 'multiculturalism_3', required: false, description: 'Multiculturalismo' },
|
|
67
|
-
// { name: 'multiculturalism_4', required: false, description: 'Multiculturalismo' },
|
|
68
|
-
// { name: 'multiculturalism_5', required: false, description: 'Multiculturalismo' },
|
|
69
|
-
// { name: 'multiculturalism_6', required: false, description: 'Multiculturalismo' },
|
|
70
|
-
// { name: 'health_regimen', required: true, description: 'Régimen de salud' },
|
|
71
|
-
// { name: 'code_refers', required: true, description: 'Refiere' },
|
|
72
|
-
// { name: 'code_cod', required: false, description: 'Codigo Cod' }
|
|
73
|
-
// ],
|
|
39
|
+
[
|
|
40
|
+
{ name: 'optionsPayments', required: true, description: 'Tipo de pago' },
|
|
41
|
+
{ name: 'invoicing_name', required: true, description: 'Nombre de facturacion' },
|
|
42
|
+
{ name: 'invoicing_Apellido', required: true, description: 'Apellido de facturacion' },
|
|
43
|
+
{ name: 'invoicing_idType', required: true, description: 'Tipo de documento de facturacion' },
|
|
44
|
+
{ name: 'invoicing_document', required: true, description: 'documento de facturacion' },
|
|
45
|
+
],
|
|
74
46
|
];
|
|
75
47
|
this.$controls = new BehaviorSubject([]);
|
|
76
48
|
this.$controls.next(this.controls);
|
|
@@ -94,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImpor
|
|
|
94
66
|
providedIn: 'root'
|
|
95
67
|
}]
|
|
96
68
|
}], ctorParameters: function () { return []; } });
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLXNlbGYtbWFuYWdlZC1jb250cm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb2Qtc2VsZi1tYW5hZ2VkL2xvZ2ljL2NvZC1zZWxmLW1hbmFnZWQtY29udHJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDOztBQVVuRCxNQUFNLE9BQU8sc0JBQXNCO0lBMEVqQztRQXhFTyxhQUFRLEdBQTBCO1lBQ3ZDO2dCQUNFLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRTtnQkFDL0UsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsMEJBQTBCLEVBQUU7Z0JBQ3RGLEVBQUUsSUFBSSxFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLGtDQUFrQyxFQUFFO2dCQUNqRyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSwwQkFBMEIsRUFBRTtnQkFDcEYsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRTtnQkFDekQsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLG9DQUFvQyxFQUFFO2dCQUN4RixFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFO2dCQUNwRCxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksRUFB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LFFBQVEsQ0FBQyxJQUFJLEdBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsQ0FBQztRQUMvRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUUvQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQTtJQUMvQixDQUFDOzttSEF6RlUsc0JBQXNCO3VIQUF0QixzQkFBc0IsY0FGckIsTUFBTTsyRkFFUCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRyb2xTdGVwcyB7XG4gIG5hbWU6IHN0cmluZztcbiAgcmVxdWlyZWQ6IGJvb2xlYW47XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG59XG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDb2RTZWxmTWFuYWdlZENvbnRyb2xzIHtcblxuICBwdWJsaWMgY29udHJvbHM6IEFycmF5PENvbnRyb2xTdGVwc1tdPiA9IFtcbiAgICBbXG4gICAgICB7IG5hbWU6ICdzdHVkZW50X25hbWUnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdOb21icmVzIGRlbCBlc3R1ZGlhbnRlJyB9LFxuICAgICAgeyBuYW1lOiAnc3R1ZGVudF9sYXN0X25hbWUnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdBcGVsbGlkb3MgZGVsIGVzdHVkaWFudGUnIH0sXG4gICAgICB7IG5hbWU6ICdzdHVkZW50X2lkX2NhcmRfdHlwZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ1RpcG8gZGUgZG9jdW1lbnRvIGRlbCBlc3R1ZGlhbnRlJyB9LFxuICAgICAgeyBuYW1lOiAnc3R1ZGVudF9pZF9jYXJkJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRG9jdW1lbnRvIGRlbCBlc3R1ZGlhbnRlJyB9LFxuICAgICAgeyBuYW1lOiAnZ2VuZGVyJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnR8OpbmVybycgfSxcbiAgICAgIHsgbmFtZTogJ2JpcnRoZGF0ZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0ZlY2hhIGRlIG5hY2ltaWVudG8gZGVsIGVzdHVkaWFudGUnIH0sXG4gICAgICB7IG5hbWU6ICdhZ2UnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdFZGFkJyB9LFxuICAgICAgeyBuYW1lOiAnY291bnRyeScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ1Bhw61zJyB9LFxuICAgICAgeyBuYW1lOiAnc3RhdGUnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdEZXBhcnRhbWVudG8gbyBlc3RhZG8nIH0sXG4gICAgICB7IG5hbWU6ICdjaXR5JywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnQ2l1ZGFkIGRlIHJlc2lkZW5jaWEnIH0sXG4gICAgICB7IG5hbWU6ICdzdHVkZW50X2VtYWlsJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnQ29ycmVvIGRlbCBlc3R1ZGlhbnRlJyB9LFxuICAgICAgeyBuYW1lOiAnc3R1ZGVudF9waG9uZV9pbmRpY2F0aXZlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnSW5kaWNhdGl2byBkZWwgZXN0dWRpYW50ZScgfSxcbiAgICAgIHsgbmFtZTogJ3N0dWRlbnRfcGhvbmVfbnVtYmVyJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnVGVsw6lmb25vIGRlbCBlc3R1ZGlhbnRlJyB9LFxuICAgICAgLy8geyBuYW1lOiAnc3R1ZGVudF9hZGRyZXNzJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRGlyZWNjacOzbiBkZWwgZXN0dWRpYW50ZScgfSxcbiAgICAgIC8vIHsgbmFtZTogJ25pY2tuYW1lJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnQWxpYXMgbyBuaWNrbmFtZScgfSxcbiAgICAgIC8vIHsgbmFtZTogJ3N0dWRlbnRfb2NjdXBhdGlvbicsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ09jdXBhY2nDs24gZGVsIGVzdHVkaWFudGUnIH0sXG4gICAgICAvLyB7IG5hbWU6ICdzdHJhdHVtJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRXN0cmF0byBkZWwgZXN0dWRpYW50ZScgfSxcbiAgICAgIC8vIHsgbmFtZTogJ2dyYWRlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnR3JhZG8gZGVsIGVzdHVkaWFudGUnIH0sXG4gICAgICAvLyB7IG5hbWU6ICdjaXZpbF9zdGF0dXMnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdFc3RhZG8gY2l2aWwgZGVsIGVzdHVkaWFudGUnIH0sXG4gICAgICAvLyB7IG5hbWU6ICdwYXNzd29yZCcsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0NvbnRyYXNlw7FhIGRlbCBlc3R1ZGlhbnRlJyB9LFxuICAgICAgLy8geyBuYW1lOiAncmVfcGFzc3dvcmQnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdDb25maXJtYWNpw7NuIGRlIGNvbnRyYXNlw7FhJyB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgeyBuYW1lOiAnc2NoZWR1bGUnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdob3JhcmlvIHJlcXVlcmlkbycgfSxcbiAgICAgIC8vIHsgbmFtZTogJ2FjYWRlbWljX3BsYW4nLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdQbGFuIGFjYWTDqW1pY28nIH0sXG4gICAgICAvLyB7IG5hbWU6ICdjb3Vyc2VfdHlwZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ1RpcG8gZGUgY3Vyc28nIH0sXG4gICAgICAvLyB7IG5hbWU6ICdhZ3JlZW1lbnRfYnlfY2F0ZWdvcnknLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdDb252ZW5pbycgfSxcbiAgICAgIC8vIHsgbmFtZTogJ2VuZ2xpc2hfbGV2ZWwnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdOaXZlbCBkZSBpbmdsw6lzJyB9LFxuICAgICAgLy8geyBuYW1lOiAnYXZhaWxpYmxlX2NvdXJzZXMnLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnQ3Vyc29zIGRpc3BvbmlibGVzJyB9LFxuICAgICAgLy8geyBuYW1lOiAnY291cnNlX21vZGFsaXR5JywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogJ01vZGFsaWRhZCBkZWwgY3Vyc28nIH0sXG4gICAgXSxcbiAgICAvLyBbXG4gICAgLy8gICB7IG5hbWU6ICdwYXJlbnRfaWRfY2FyZF90eXBlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnVGlwbyBkZSBkb2N1bWVudG8gZGVsIGFjdWRpZW50ZScgfSxcbiAgICAvLyAgIHsgbmFtZTogJ3BhcmVudF9pZF9jYXJkJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRG9jdW1lbnRvIGRlbCBhY3VkaWVudGUnIH0sXG4gICAgLy8gICB7IG5hbWU6ICdwYXJlbnRfbGFzdF9uYW1lJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnQXBlbGxpZG9zIGRlbCBhY3VkaWVudGUnIH0sXG4gICAgLy8gICB7IG5hbWU6ICdwYXJlbnRfbmFtZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ05vbWJyZXMgZGVsIGFjdWRpZW50ZScgfSxcbiAgICAvLyAgIHsgbmFtZTogJ25lZWRBdGVuZGFudCcsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ8K/UmVxdWllcmUgYWN1ZGllbnRlPycgfSxcbiAgICAvLyAgIHsgbmFtZTogJ3BhcmVudF9waG9uZV9pbmRpY2F0aXZlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnSW5kaWNhdGl2byBkZWwgYWN1ZGllbnRlJyB9LFxuICAgIC8vICAgeyBuYW1lOiAncGFyZW50X29jY3VwYXRpb24nLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdPY3VwYWNpw7NuIGRlbCBhY3VkaWVudGUnIH0sXG4gICAgLy8gICB7IG5hbWU6ICdwYXJlbnRfYWRkcmVzcycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0RpcmVjY2nDs24gZGVsIGFjdWRpZW50ZScgfSxcbiAgICAvLyAgIHsgbmFtZTogJ3BhcmVudF9waG9uZV9udW1iZXInLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdUZWzDqWZvbm8gZGVsIGFjdWRpZW50ZScgfVxuICAgIC8vIF0sXG4gICAgW1xuICAgICAgeyBuYW1lOiAncGF5bWVudF9kYXRlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRmVjaGEgZGUgcGFnbycgfSxcbiAgICAgIHsgbmFtZTogJ3Byb2dyYW1fcHJpY2UnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdWYWxvciB0b3RhbCBkZWwgcHJvZ3JhbWEnIH0sXG4gICAgICB7IG5hbWU6ICdwYXltZW50X21ldGhvZCcsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ03DqXRvZG8gZGUgcGFnbycgfSxcbiAgICAgIHsgbmFtZTogJ3F1b3RhX3RpbWVzJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnQ2FudGlkYWQgZGUgY3VvdGFzJyB9LFxuICAgICAgeyBuYW1lOiAndG90YWxfcHJpY2UnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdQcmVjaW8gdG90YWwgZGUgbGEgbWF0cmljdWxhJyB9LFxuICAgICAgeyBuYW1lOiAncGFpZF9sZXZlbCcsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ05pdmVsZXMgcGFnb3MnIH0sXG4gICAgXSxcbiAgICAvLyBbXG4gICAgLy8gICB7IG5hbWU6ICdtYXJrZXRpbmdfcmVhc29ucycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ8K/Q8OzbW8gc2UgZW50ZXLDsyBkZWwgcHJvZ3JhbWE/JyB9LFxuICAgIC8vICAgeyBuYW1lOiAnb2JzZXJ2YXRpb24nLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnT2JzZXJ2YWNpw7NuJyB9LFxuICAgIC8vICAgeyBuYW1lOiAnc3R1ZHlfcmVhc29ucycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ01vdGl2bycgfSxcbiAgICAvLyAgIHsgbmFtZTogJ3Rlcm1zJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnVMOpcm1pbm9zIHkgY29uZGljaW9uZXMnIH0sXG4gICAgLy8gICB7IG5hbWU6ICdkaXNhYmlsaXR5JywgcmVxdWlyZWQ6IGZhbHNlLCBkZXNjcmlwdGlvbjogJ0Rpc2NhcGFjaWRhZCcgfSxcbiAgICAvLyAgIHsgbmFtZTogJ211bHRpY3VsdHVyYWxpc21fMScsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdNdWx0aWN1bHR1cmFsaXNtbycgfSxcbiAgICAvLyAgIHsgbmFtZTogJ211bHRpY3VsdHVyYWxpc21fMicsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdNdWx0aWN1bHR1cmFsaXNtbycgfSxcbiAgICAvLyAgIHsgbmFtZTogJ211bHRpY3VsdHVyYWxpc21fMycsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdNdWx0aWN1bHR1cmFsaXNtbycgfSxcbiAgICAvLyAgIHsgbmFtZTogJ211bHRpY3VsdHVyYWxpc21fNCcsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdNdWx0aWN1bHR1cmFsaXNtbycgfSxcbiAgICAvLyAgIHsgbmFtZTogJ211bHRpY3VsdHVyYWxpc21fNScsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdNdWx0aWN1bHR1cmFsaXNtbycgfSxcbiAgICAvLyAgIHsgbmFtZTogJ211bHRpY3VsdHVyYWxpc21fNicsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdNdWx0aWN1bHR1cmFsaXNtbycgfSxcbiAgICAvLyAgIHsgbmFtZTogJ2hlYWx0aF9yZWdpbWVuJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnUsOpZ2ltZW4gZGUgc2FsdWQnIH0sXG4gICAgLy8gICB7IG5hbWU6ICdjb2RlX3JlZmVycycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ1JlZmllcmUnIH0sXG4gICAgLy8gICB7IG5hbWU6ICdjb2RlX2NvZCcsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdDb2RpZ28gQ29kJyB9XG4gICAgLy8gXSxcbiAgXTtcblxuICBwcml2YXRlICRjb250cm9scyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXJyYXk8Q29udHJvbFN0ZXBzW10+PihbXSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy4kY29udHJvbHMubmV4dCh0aGlzLmNvbnRyb2xzKTtcbiAgfVxuXG4gIGdldENvbnRyb2xWYWx1ZXMoKTogT2JzZXJ2YWJsZTxBcnJheTxDb250cm9sU3RlcHNbXT4+IHtcbiAgICByZXR1cm4gdGhpcy4kY29udHJvbHMuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvLyBDYW1iaWFyIGxvcyB2YWxvcmVzIGRlIGxvcyBjb250cm9scywgZWplbXBsbzogdHJ1ZSB5IGZhbHNlIGRlbCBjaGVja2JveFxuICBjaGFuZ2VWYWx1ZShzdGVwOiBudW1iZXIsIGNvbnRyb2xOYW1lOiBzdHJpbmcsIG5ld1ZhbHVlOiBhbnkpIHtcbiAgICBjb25zdCBjb250cm9sczogQXJyYXk8Q29udHJvbFN0ZXBzW10+ID0geyAuLi50aGlzLmNvbnRyb2xzIH07XG4gICAgbGV0IGNvbnRyb2wgPSBjb250cm9sc1tzdGVwLTFdLmZpbHRlcihlbGVtZW50ID0+IGVsZW1lbnQubmFtZSA9PT0gY29udHJvbE5hbWUpO1xuICAgIGNvbnRyb2xbMF0ucmVxdWlyZWQgPSBuZXdWYWx1ZTtcblxuICAgIHRoaXMuJGNvbnRyb2xzLm5leHQoY29udHJvbHMpXG4gIH1cbn1cbiJdfQ==
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLXNlbGYtbWFuYWdlZC1jb250cm9scy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb2Qtc2VsZi1tYW5hZ2VkL2xvZ2ljL2NvZC1zZWxmLW1hbmFnZWQtY29udHJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDOztBQVVuRCxNQUFNLE9BQU8sc0JBQXNCO0lBOENqQztRQTVDTyxhQUFRLEdBQTBCO1lBQ3ZDO2dCQUNFLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSx3QkFBd0IsRUFBRTtnQkFDL0UsRUFBRSxJQUFJLEVBQUUsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsMEJBQTBCLEVBQUU7Z0JBQ3RGLEVBQUUsSUFBSSxFQUFFLHNCQUFzQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLGtDQUFrQyxFQUFFO2dCQUNqRyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSwwQkFBMEIsRUFBRTtnQkFDcEYsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRTtnQkFDekQsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLG9DQUFvQyxFQUFFO2dCQUN4RixFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFO2dCQUNwRCxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksRUFB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SSxlQUFlLENBQXdCLEVBQUUsQ0FBQyxDQUFDO1FBR2pFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCwwRUFBMEU7SUFDMUUsV0FBVyxDQUFDLElBQVksRUFBRSxXQUFtQixFQUFFLFFBQWE7UUFDMUQsTUFBTSxRQUFRLEdBQTBCLEVBQUUsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDN0QsSUFBSSxPQUFPLEdBQUcsUUFBUSxDQUFDLElBQUksR0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxDQUFDO1FBQy9FLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBRS9CLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQy9CLENBQUM7O21IQTdEVSxzQkFBc0I7dUhBQXRCLHNCQUFzQixjQUZyQixNQUFNOzJGQUVQLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udHJvbFN0ZXBzIHtcbiAgbmFtZTogc3RyaW5nO1xuICByZXF1aXJlZDogYm9vbGVhbjtcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbn1cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENvZFNlbGZNYW5hZ2VkQ29udHJvbHMge1xuXG4gIHB1YmxpYyBjb250cm9sczogQXJyYXk8Q29udHJvbFN0ZXBzW10+ID0gW1xuICAgIFtcbiAgICAgIHsgbmFtZTogJ3N0dWRlbnRfbmFtZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ05vbWJyZXMgZGVsIGVzdHVkaWFudGUnIH0sXG4gICAgICB7IG5hbWU6ICdzdHVkZW50X2xhc3RfbmFtZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0FwZWxsaWRvcyBkZWwgZXN0dWRpYW50ZScgfSxcbiAgICAgIHsgbmFtZTogJ3N0dWRlbnRfaWRfY2FyZF90eXBlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnVGlwbyBkZSBkb2N1bWVudG8gZGVsIGVzdHVkaWFudGUnIH0sXG4gICAgICB7IG5hbWU6ICdzdHVkZW50X2lkX2NhcmQnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdEb2N1bWVudG8gZGVsIGVzdHVkaWFudGUnIH0sXG4gICAgICB7IG5hbWU6ICdnZW5kZXInLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdHw6luZXJvJyB9LFxuICAgICAgeyBuYW1lOiAnYmlydGhkYXRlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnRmVjaGEgZGUgbmFjaW1pZW50byBkZWwgZXN0dWRpYW50ZScgfSxcbiAgICAgIHsgbmFtZTogJ2FnZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0VkYWQnIH0sXG4gICAgICB7IG5hbWU6ICdjb3VudHJ5JywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnUGHDrXMnIH0sXG4gICAgICB7IG5hbWU6ICdzdGF0ZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0RlcGFydGFtZW50byBvIGVzdGFkbycgfSxcbiAgICAgIHsgbmFtZTogJ2NpdHknLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdDaXVkYWQgZGUgcmVzaWRlbmNpYScgfSxcbiAgICAgIHsgbmFtZTogJ3N0dWRlbnRfZW1haWwnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdDb3JyZW8gZGVsIGVzdHVkaWFudGUnIH0sXG4gICAgICB7IG5hbWU6ICdzdHVkZW50X3Bob25lX2luZGljYXRpdmUnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdJbmRpY2F0aXZvIGRlbCBlc3R1ZGlhbnRlJyB9LFxuICAgICAgeyBuYW1lOiAnc3R1ZGVudF9waG9uZV9udW1iZXInLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdUZWzDqWZvbm8gZGVsIGVzdHVkaWFudGUnIH0sXG4gICAgICB7IG5hbWU6ICdncmFkZScsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0dyYWRvIGRlbCBlc3R1ZGlhbnRlJyB9LFxuICAgICAgeyBuYW1lOiAnYWdyZWVtZW50X2J5X2NhdGVnb3J5JywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnQ29udmVuaW8nIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICB7IG5hbWU6ICdhY2FkZW1pY19wbGFuJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnUGxhbiBhY2Fkw6ltaWNvJyB9LFxuICAgICAgeyBuYW1lOiAnY291cnNlX3R5cGUnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdUaXBvIGRlIGN1cnNvJyB9LFxuICAgICAgeyBuYW1lOiAnZW5nbGlzaF9sZXZlbCcsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ05pdmVsIGRlIGluZ2zDqXMnIH0sXG4gICAgICB7IG5hbWU6ICdhdmFpbGlibGVfY291cnNlcycsIHJlcXVpcmVkOiBmYWxzZSwgZGVzY3JpcHRpb246ICdDdXJzb3MgZGlzcG9uaWJsZXMnIH0sXG4gICAgICB7IG5hbWU6ICdjb3Vyc2VfbW9kYWxpdHknLCByZXF1aXJlZDogZmFsc2UsIGRlc2NyaXB0aW9uOiAnTW9kYWxpZGFkIGRlbCBjdXJzbycgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIHsgbmFtZTogJ3Byb2dyYW1fcHJpY2UnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdWYWxvciB0b3RhbCBkZWwgcHJvZ3JhbWEnIH0sXG4gICAgICB7IG5hbWU6ICdwYXltZW50X2RhdGUnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdGZWNoYSBkZSBwYWdvJyB9LFxuICAgICAgeyBuYW1lOiAncGF5bWVudF9tZXRob2QnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdNw6l0b2RvIGRlIHBhZ28nIH0sXG4gICAgICB7IG5hbWU6ICdxdW90YV90aW1lcycsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ0NhbnRpZGFkIGRlIGN1b3RhcycgfSxcbiAgICAgIHsgbmFtZTogJ3RvdGFsX3ByaWNlJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnUHJlY2lvIHRvdGFsIGRlIGxhIG1hdHJpY3VsYScgfSxcbiAgICAgIHsgbmFtZTogJ3BhaWRfbGV2ZWwnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdOaXZlbGVzIHBhZ29zJyB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgeyBuYW1lOiAnb3B0aW9uc1BheW1lbnRzJywgcmVxdWlyZWQ6IHRydWUsIGRlc2NyaXB0aW9uOiAnVGlwbyBkZSBwYWdvJyB9LFxuICAgICAgeyBuYW1lOiAnaW52b2ljaW5nX25hbWUnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdOb21icmUgZGUgZmFjdHVyYWNpb24nIH0sXG4gICAgICB7IG5hbWU6ICdpbnZvaWNpbmdfQXBlbGxpZG8nLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdBcGVsbGlkbyBkZSBmYWN0dXJhY2lvbicgfSxcbiAgICAgIHsgbmFtZTogJ2ludm9pY2luZ19pZFR5cGUnLCByZXF1aXJlZDogdHJ1ZSwgZGVzY3JpcHRpb246ICdUaXBvIGRlIGRvY3VtZW50byBkZSBmYWN0dXJhY2lvbicgfSxcbiAgICAgIHsgbmFtZTogJ2ludm9pY2luZ19kb2N1bWVudCcsIHJlcXVpcmVkOiB0cnVlLCBkZXNjcmlwdGlvbjogJ2RvY3VtZW50byBkZSBmYWN0dXJhY2lvbicgfSxcbiAgICBdLFxuICBdO1xuXG4gIHByaXZhdGUgJGNvbnRyb2xzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBcnJheTxDb250cm9sU3RlcHNbXT4+KFtdKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLiRjb250cm9scy5uZXh0KHRoaXMuY29udHJvbHMpO1xuICB9XG5cbiAgZ2V0Q29udHJvbFZhbHVlcygpOiBPYnNlcnZhYmxlPEFycmF5PENvbnRyb2xTdGVwc1tdPj4ge1xuICAgIHJldHVybiB0aGlzLiRjb250cm9scy5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIC8vIENhbWJpYXIgbG9zIHZhbG9yZXMgZGUgbG9zIGNvbnRyb2xzLCBlamVtcGxvOiB0cnVlIHkgZmFsc2UgZGVsIGNoZWNrYm94XG4gIGNoYW5nZVZhbHVlKHN0ZXA6IG51bWJlciwgY29udHJvbE5hbWU6IHN0cmluZywgbmV3VmFsdWU6IGFueSkge1xuICAgIGNvbnN0IGNvbnRyb2xzOiBBcnJheTxDb250cm9sU3RlcHNbXT4gPSB7IC4uLnRoaXMuY29udHJvbHMgfTtcbiAgICBsZXQgY29udHJvbCA9IGNvbnRyb2xzW3N0ZXAtMV0uZmlsdGVyKGVsZW1lbnQgPT4gZWxlbWVudC5uYW1lID09PSBjb250cm9sTmFtZSk7XG4gICAgY29udHJvbFswXS5yZXF1aXJlZCA9IG5ld1ZhbHVlO1xuXG4gICAgdGhpcy4kY29udHJvbHMubmV4dChjb250cm9scylcbiAgfVxufVxuIl19
|
|
@@ -26,4 +26,4 @@ export class CodSelfManagedSteps {
|
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLXNlbGYtbWFuYWdlZC1zdGVwcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb2Qtc2VsZi1tYW5hZ2VkL2xvZ2ljL2NvZC1zZWxmLW1hbmFnZWQtc3RlcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFPaEYsTUFBTSxPQUFnQixtQkFBbUI7SUFJdkM7UUFGTyxvQkFBZSxHQUFHLElBQUksaUNBQWlDLEVBQUUsQ0FBQztJQUVsRCxDQUFDO0lBRWhCLGNBQWMsQ0FBQyxJQUFZLEVBQUUsT0FBZTtRQUMxQyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsRUFBRTtZQUN0RCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQztTQUMzQjthQUFNO1lBQ0wsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUE7U0FDOUI7SUFDSCxDQUFDO0lBRUQscUJBQXFCLENBQUMsSUFBWSxFQUFFLE9BQWUsRUFBRSxLQUFVO1FBQzdELElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELGlCQUFpQixDQUFDLElBQVksRUFBRSxPQUFlLEVBQUUsR0FBb0I7UUFDbkUsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNwQixJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxRQUF3QjtRQUN4QyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3pCLFlBQVksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBDb250cm9sU3RlcHMgfSBmcm9tIFwiLi9jb2Qtc2VsZi1tYW5hZ2VkLWNvbnRyb2xzXCI7XG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VDb2RTZWxmTWFnYW5lZFNlcnZpY2UgfSBmcm9tIFwiLi9sb2NhbC1zdG9yYWdlLWNvZC5zZXJ2aWNlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgbG9jYWxTdG9yYWdlVmFsdWVzVHdvIHtcbiAgY29udHJvbDogc3RyaW5nLFxuICB2YWx1ZTogYW55XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDb2RTZWxmTWFuYWdlZFN0ZXBzIHtcblxuICBwdWJsaWMgbG9jYWxTdG9yYWdlQ09EID0gbmV3IExvY2FsU3RvcmFnZUNvZFNlbGZNYWdhbmVkU2VydmljZSgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICByZWFkQW5kV3JpdGVMUyhzdGVwOiBudW1iZXIsIGNvbnRyb2w6IHN0cmluZyk6IGxvY2FsU3RvcmFnZVZhbHVlc1R3byB7XG4gICAgaWYgKHRoaXMubG9jYWxTdG9yYWdlQ09ELmdldENvZEZvcm1EYXRhKHN0ZXAsIGNvbnRyb2wpKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMubG9jYWxTdG9yYWdlQ09ELmdldENvZEZvcm1EYXRhKHN0ZXAsIGNvbnRyb2wpO1xuICAgICAgcmV0dXJuIHsgY29udHJvbCwgdmFsdWUgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHsgY29udHJvbCwgdmFsdWU6ICcnIH1cbiAgICB9XG4gIH1cblxuICBzZXREYXRhSW5Mb2NhbFN0b3JhZ2Uoc3RlcDogbnVtYmVyLCBjb250cm9sOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLmxvY2FsU3RvcmFnZUNPRC5zZXRDb2RGb3JtRGF0YShzdGVwLCBjb250cm9sLCB2YWx1ZSk7XG4gIH1cblxuICBsaXN0ZW5Gb3JtQ2hhbmdlcyhzdGVwOiBudW1iZXIsIGNvbnRyb2w6IHN0cmluZywgb2JzOiBPYnNlcnZhYmxlPGFueT4pIHtcbiAgICBvYnMuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgIHRoaXMuc2V0RGF0YUluTG9jYWxTdG9yYWdlKHN0ZXAsIGNvbnRyb2wsIHZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlc2V0TG9jYWxTdG9yYWdlKGNvbnRyb2xzOiBDb250cm9sU3RlcHNbXSkge1xuICAgIGNvbnRyb2xzLmZvckVhY2goY29udHJvbCA9PiB7XG4gICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShjb250cm9sLm5hbWUpO1xuICAgIH0pO1xuICB9XG5cbn1cbiJdfQ==
|
package/esm2020/lib/cod-self-managed/steps/cod-form-step-four/cod-self-form-step-four.component.mjs
CHANGED
|
@@ -1,11 +1,248 @@
|
|
|
1
|
-
import { Component } from '@angular/core';
|
|
1
|
+
import { Component, Output, EventEmitter, Input } from '@angular/core';
|
|
2
|
+
import { Validators, FormControl } from '@angular/forms';
|
|
3
|
+
import { CodSelfManagedSteps } from '../../logic/cod-self-managed-steps';
|
|
4
|
+
import { CodSelfManagedControls } from '../../logic/cod-self-managed-controls';
|
|
2
5
|
import * as i0 from "@angular/core";
|
|
3
|
-
|
|
6
|
+
import * as i1 from "@angular/forms";
|
|
7
|
+
import * as i2 from "primeng/api";
|
|
8
|
+
import * as i3 from "../../logic/cod-self-managed-controls";
|
|
9
|
+
import * as i4 from "@angular/common";
|
|
10
|
+
import * as i5 from "../../../components/atoms/button/button.component";
|
|
11
|
+
import * as i6 from "../../../components/atoms/input/input.component";
|
|
12
|
+
import * as i7 from "../../../components/atoms/select/select.component";
|
|
13
|
+
import * as i8 from "primeng/tooltip";
|
|
14
|
+
import * as i9 from "primeng/button";
|
|
15
|
+
import * as i10 from "primeng/toast";
|
|
16
|
+
import * as i11 from "primeng/radiobutton";
|
|
17
|
+
export class CodSelfFormStepFourComponent extends CodSelfManagedSteps {
|
|
18
|
+
constructor(fb, messageService, codFormControls) {
|
|
19
|
+
super();
|
|
20
|
+
this.fb = fb;
|
|
21
|
+
this.messageService = messageService;
|
|
22
|
+
this.codFormControls = codFormControls;
|
|
23
|
+
this.completed = new EventEmitter();
|
|
24
|
+
this.action = new EventEmitter();
|
|
25
|
+
this.controls = new CodSelfManagedControls().controls[3];
|
|
26
|
+
this.messageInfo = "Datos de facturacion de acuerdo a tu eleccion";
|
|
27
|
+
this.visible = false;
|
|
28
|
+
this.messageAlertPlacementTest = false;
|
|
29
|
+
this.disableweekdays = [];
|
|
30
|
+
this.isSelectionOptionPayments = true;
|
|
31
|
+
this.isEditBillingData = true;
|
|
32
|
+
this.OptionPayments = [
|
|
33
|
+
{ code: 1, key: 'in', name: 'Instalaciones' },
|
|
34
|
+
// { code: 2, key: 'tr', name: 'Transferencia' },
|
|
35
|
+
{ code: 3, key: 'ps', name: 'Pasarela pagos' },
|
|
36
|
+
];
|
|
37
|
+
this.studentIdCardType = new FormControl();
|
|
38
|
+
this.initForm();
|
|
39
|
+
}
|
|
40
|
+
ngOnInit() {
|
|
41
|
+
this.startLocalStorageWork();
|
|
42
|
+
this.subscribeToStudentIdCardTypeChanges();
|
|
43
|
+
this.getDataUser();
|
|
44
|
+
}
|
|
45
|
+
initForm() {
|
|
46
|
+
this.codSelfFormStepFour = this.fb.group({
|
|
47
|
+
optionsPayments: ['', [Validators.required]],
|
|
48
|
+
invoicing_name: ['', [Validators.required]],
|
|
49
|
+
invoicing_Apellido: ['', [Validators.required]],
|
|
50
|
+
invoicing_idType: ['', [Validators.required]],
|
|
51
|
+
invoicing_document: ['', [Validators.required, Validators.minLength(5), Validators.maxLength(20), Validators.pattern(/^[0-9]*$/)]],
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
subscribeToStudentIdCardTypeChanges() {
|
|
55
|
+
this.studentIdCardType.valueChanges.subscribe(value => {
|
|
56
|
+
this.updateBillingDataFields(value);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
getDataUser() {
|
|
60
|
+
const typeIdCard = this.localStorageCOD.getCodFormData(1, 'student_id_card_type');
|
|
61
|
+
this.studentIdCardType.setValue(typeIdCard);
|
|
62
|
+
}
|
|
63
|
+
updateBillingDataFields(typeIdCard) {
|
|
64
|
+
if (typeIdCard != null && typeIdCard != "2") {
|
|
65
|
+
const nameStudent = this.localStorageCOD.getCodFormData(1, 'student_name');
|
|
66
|
+
const lastNameStudent = this.localStorageCOD.getCodFormData(1, 'student_last_name');
|
|
67
|
+
const typeIdCardStudent = this.localStorageCOD.getCodFormData(1, 'student_id_card_type');
|
|
68
|
+
const idCardStudent = this.localStorageCOD.getCodFormData(1, 'student_id_card');
|
|
69
|
+
this.codSelfFormStepFour.controls['invoicing_name'].setValue(nameStudent);
|
|
70
|
+
this.codSelfFormStepFour.controls['invoicing_Apellido'].setValue(lastNameStudent);
|
|
71
|
+
this.codSelfFormStepFour.controls['invoicing_idType'].setValue(typeIdCardStudent);
|
|
72
|
+
this.codSelfFormStepFour.controls['invoicing_document'].setValue(idCardStudent);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
// Limpia los campos si el tipo de documento es "2"
|
|
76
|
+
this.codSelfFormStepFour.controls['invoicing_name'].setValue('');
|
|
77
|
+
this.codSelfFormStepFour.controls['invoicing_Apellido'].setValue('');
|
|
78
|
+
this.codSelfFormStepFour.controls['invoicing_idType'].setValue('');
|
|
79
|
+
this.codSelfFormStepFour.controls['invoicing_document'].setValue('');
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
back() {
|
|
83
|
+
if (!this.isSelectionOptionPayments && !this.isEditBillingData) {
|
|
84
|
+
this.isEditBillingData = true;
|
|
85
|
+
}
|
|
86
|
+
else if (!this.isSelectionOptionPayments && this.isEditBillingData) {
|
|
87
|
+
this.isSelectionOptionPayments = true;
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
this.completed.emit(2);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
next() {
|
|
94
|
+
if (this.isSelectionOptionPayments) {
|
|
95
|
+
this.isSelectionOptionPayments = false;
|
|
96
|
+
}
|
|
97
|
+
else if (!this.isEditBillingData) {
|
|
98
|
+
this.isEditBillingData = true;
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
this.sendForm();
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
startLocalStorageWork() {
|
|
105
|
+
this.controls.forEach(control => {
|
|
106
|
+
let localStorageValue = this.readAndWriteLS(4, control.name);
|
|
107
|
+
this.codSelfFormStepFour.controls[control.name].setValue(localStorageValue.value);
|
|
108
|
+
this.listenFormChanges(4, control.name, this.codSelfFormStepFour.controls[control.name].valueChanges);
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
editBillingData() {
|
|
112
|
+
this.isEditBillingData = false;
|
|
113
|
+
}
|
|
114
|
+
updateDatosBillingData() {
|
|
115
|
+
this.isEditBillingData = true;
|
|
116
|
+
}
|
|
117
|
+
sendForm() {
|
|
118
|
+
this.codSelfFormStepFour.markAllAsTouched();
|
|
119
|
+
this.action.emit('create');
|
|
120
|
+
}
|
|
121
|
+
onReject() {
|
|
122
|
+
this.messageService.clear('confirm');
|
|
123
|
+
this.visible = false;
|
|
124
|
+
}
|
|
125
|
+
showConfirm() {
|
|
126
|
+
if (!this.visible) {
|
|
127
|
+
this.messageService.add({ key: 'confirm', sticky: true, severity: 'success', summary: 'Can you send me the report?', life: 5000 });
|
|
128
|
+
this.visible = true;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
selectOpcionsPayments(eve) {
|
|
132
|
+
this.selectedOptionPayments = eve;
|
|
133
|
+
this.isSelectionOptionPayments = false;
|
|
134
|
+
if (this.selectedOptionPayments !== null) {
|
|
135
|
+
this.codSelfFormStepFour.controls['optionsPayments'].setValue(this.selectedOptionPayments.code);
|
|
136
|
+
if (this.selectedOptionPayments.code === 1) { // Instalaciones
|
|
137
|
+
this.addValidators();
|
|
138
|
+
}
|
|
139
|
+
else if (this.selectedOptionPayments.code === 3) { // Pasarela Pago
|
|
140
|
+
this.removeValidators();
|
|
141
|
+
}
|
|
142
|
+
// Aplicar el validador personalizado basado en la opción seleccionada
|
|
143
|
+
this.codSelfFormStepFour.setValidators(paymentOptionValidator(this.selectedOptionPayments));
|
|
144
|
+
this.codSelfFormStepFour.updateValueAndValidity();
|
|
145
|
+
this.updateGlobalControls(this.selectedOptionPayments.code);
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
this.codSelfFormStepFour.controls['optionsPayments'].setValue(null);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
addValidators() {
|
|
152
|
+
this.codSelfFormStepFour.controls['invoicing_name'].setValidators([Validators.required]);
|
|
153
|
+
this.codSelfFormStepFour.controls['invoicing_Apellido'].setValidators([Validators.required]);
|
|
154
|
+
this.codSelfFormStepFour.controls['invoicing_idType'].setValidators([Validators.required]);
|
|
155
|
+
this.codSelfFormStepFour.controls['invoicing_document'].setValidators([Validators.required, Validators.minLength(5), Validators.maxLength(20), Validators.pattern(/^[0-9]*$/)]);
|
|
156
|
+
this.codSelfFormStepFour.controls['invoicing_name'].updateValueAndValidity();
|
|
157
|
+
this.codSelfFormStepFour.controls['invoicing_Apellido'].updateValueAndValidity();
|
|
158
|
+
this.codSelfFormStepFour.controls['invoicing_idType'].updateValueAndValidity();
|
|
159
|
+
this.codSelfFormStepFour.controls['invoicing_document'].updateValueAndValidity();
|
|
160
|
+
}
|
|
161
|
+
removeValidators() {
|
|
162
|
+
this.codSelfFormStepFour.controls['invoicing_name'].clearValidators();
|
|
163
|
+
this.codSelfFormStepFour.controls['invoicing_Apellido'].clearValidators();
|
|
164
|
+
this.codSelfFormStepFour.controls['invoicing_idType'].clearValidators();
|
|
165
|
+
this.codSelfFormStepFour.controls['invoicing_document'].clearValidators();
|
|
166
|
+
this.codSelfFormStepFour.controls['invoicing_name'].updateValueAndValidity();
|
|
167
|
+
this.codSelfFormStepFour.controls['invoicing_Apellido'].updateValueAndValidity();
|
|
168
|
+
this.codSelfFormStepFour.controls['invoicing_idType'].updateValueAndValidity();
|
|
169
|
+
this.codSelfFormStepFour.controls['invoicing_document'].updateValueAndValidity();
|
|
170
|
+
}
|
|
171
|
+
selectIdType(idType) {
|
|
172
|
+
if (idType !== 'Tipo de documento') {
|
|
173
|
+
this.codSelfFormStepFour.controls['invoicing_idType'].setValue(idType);
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
this.codSelfFormStepFour.controls['invoicing_idType'].setValue(null);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
getViewBasedOnPaymentOption() {
|
|
180
|
+
if (this.selectedOptionPayments?.code === 1) {
|
|
181
|
+
return 'in';
|
|
182
|
+
}
|
|
183
|
+
else if (this.selectedOptionPayments?.code === 3) {
|
|
184
|
+
return 'ps';
|
|
185
|
+
}
|
|
186
|
+
return 'default';
|
|
187
|
+
}
|
|
188
|
+
getIdTypeDescription(idType) {
|
|
189
|
+
switch (idType) {
|
|
190
|
+
case '0':
|
|
191
|
+
return 'N/A';
|
|
192
|
+
case '1':
|
|
193
|
+
return 'C.C';
|
|
194
|
+
case '2':
|
|
195
|
+
return 'T.I';
|
|
196
|
+
case '3':
|
|
197
|
+
return 'C.E';
|
|
198
|
+
case '4':
|
|
199
|
+
return 'P.E.P';
|
|
200
|
+
case '5':
|
|
201
|
+
return 'R.U.M';
|
|
202
|
+
case '6':
|
|
203
|
+
return 'P.P.T';
|
|
204
|
+
case '7':
|
|
205
|
+
return 'P.A';
|
|
206
|
+
case '8':
|
|
207
|
+
return 'R.C';
|
|
208
|
+
case '9':
|
|
209
|
+
return 'C.D';
|
|
210
|
+
default:
|
|
211
|
+
return '';
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
updateGlobalControls(change) {
|
|
215
|
+
let controls = this.controls.filter(control => control.name !== 'optionsPayments');
|
|
216
|
+
controls.forEach(control => {
|
|
217
|
+
if (change === 1)
|
|
218
|
+
this.codFormControls.changeValue(4, control.name, true);
|
|
219
|
+
if (change === 3)
|
|
220
|
+
this.codFormControls.changeValue(4, control.name, false);
|
|
221
|
+
});
|
|
222
|
+
}
|
|
4
223
|
}
|
|
5
|
-
CodSelfFormStepFourComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepFourComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6
|
-
CodSelfFormStepFourComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodSelfFormStepFourComponent, selector: "app-cod-self-form-step-four", ngImport: i0, template: "<span>
|
|
224
|
+
CodSelfFormStepFourComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepFourComponent, deps: [{ token: i1.FormBuilder }, { token: i2.MessageService }, { token: i3.CodSelfManagedControls }], target: i0.ɵɵFactoryTarget.Component });
|
|
225
|
+
CodSelfFormStepFourComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.7", type: CodSelfFormStepFourComponent, selector: "app-cod-self-form-step-four", inputs: { idTypes: "idTypes" }, outputs: { completed: "completed", action: "action" }, usesInheritance: true, ngImport: i0, template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <div class=\"title_step\">\n <h2>Datos de Facturaci\u00F3n</h2>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\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 <img src=\"./assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n </div>\n\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto \" (click)=\"showConfirm()\" pTooltip=\"M\u00E1s info.\" tooltipPosition=\"bottom\"></i>\n <div class=\"animate__animated animate__slideInRight ng-star-inserted\">\n <form autocomplete=\"off\" [formGroup]=\"codSelfFormStepFour\" class=\"grid mt-2 flex flex-column align-items-center\">\n <div class=\"container__body__select flex justify-content-center flex-wrap\">\n <div class=\"container__type__payments\" *ngIf=\"isSelectionOptionPayments\">\n <div class=\"flex flex-column gap-3\">\n <h3>\u00BFC\u00F3mo quieres pagar?</h3>\n <div *ngFor=\"let category of OptionPayments; index as ind\" class=\"field-checkbox\">\n <p-radioButton\n [inputId]=\"category.key\"\n name=\"category\"\n [value]=\"category\"\n [(ngModel)]=\"selectedOptionPayments\"\n [disabled]=\"disableweekdays[ind]\"\n [ngModelOptions]=\"{ standalone: true }\"\n (ngModelChange)=\"selectOpcionsPayments($event)\"\n ></p-radioButton>\n <label [for]=\"category.key\" class=\"ml-2\">\n {{ category.name }}\n </label>\n </div>\n </div>\n </div>\n\n <div class=\"container__option__instalations\" *ngIf=\"!isSelectionOptionPayments\">\n <!-- Vista para la opci\u00F3n de pago \"Instalaciones\" -->\n <div *ngIf=\"getViewBasedOnPaymentOption() === 'in'\">\n <div class=\"container__info flex flex-column align-items-center justify-content-center mt-1 mb-4\" *ngIf=\"isEditBillingData\">\n <img src=\"./assets/logos/lobo-web.png\" alt=\"Receipt Icon\" shape=\"circle\" class=\"circular-image\" />\n <strong>{{ codSelfFormStepFour.get('invoicing_name')?.value }} {{ codSelfFormStepFour.get('invoicing_Apellido')?.value }}</strong>\n <span>{{ getIdTypeDescription(codSelfFormStepFour.get('invoicing_idType')?.value) }} {{ codSelfFormStepFour.get('invoicing_document')?.value }}</span>\n <div class=\"container-button\">\n <ipt-button [label]=\"'Modificar Datos'\" (onClick)=\"editBillingData()\" [primary]=\"false\"></ipt-button>\n </div>\n </div>\n <div class=\"m-2\" *ngIf=\"!isEditBillingData\">\n <h3>Completa los nuevos datos para la emisi\u00F3n de tu factura</h3>\n <div class=\"flex gap-1 md:gap-4 xl:gap-8 m-1 p-2 border-round bg-blue-500 text-white\">\n <div class=\"container_icon flex mr-4 justify-content-center align-items-start mt-1\">\n <i class=\"pi pi-info-circle cursor-pointer w-auto mb-4\" pTooltip=\"M\u00E1s info.\" tooltipPosition=\"bottom\"></i>\n </div>\n <div class=\"flex flex-column container_info_span flex align-items-center justify-content-center\">\n <span>Si proporcionas datos de un tercero, confirmas que los datos son correctos y que tienes su consentimiento para el uso de la informaci\u00F3n. Estos datos se tratar\u00E1n de acuerdo a nuestra <a href=\"\">Declaraci\u00F3n de Privacidad</a></span>\n </div>\n </div>\n <div>\n <ipt-input [inputType]=\"'text'\" [placeHolder]=\"'Nombres'\" [control]=\"codSelfFormStepFour.controls['invoicing_name']\"></ipt-input>\n <ipt-input [inputType]=\"'text'\" [placeHolder]=\"'Apellidos'\" [control]=\"codSelfFormStepFour.controls['invoicing_Apellido']\"></ipt-input>\n <ipt-select\n [initialValue]=\"codSelfFormStepFour.controls['invoicing_idType'].value\"\n [control]=\"codSelfFormStepFour.controls['invoicing_idType']\"\n [selectCode]=\"codSelfFormStepFour.controls['invoicing_idType'].value === null ? 'Tipo de documento' : codSelfFormStepFour.controls['invoicing_idType'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <ipt-input [inputType]=\"'number'\" [placeHolder]=\"'N\u00FAmero de documento'\" [control]=\"codSelfFormStepFour.controls['invoicing_document']\"></ipt-input>\n </div>\n <div class=\"flex justify-content-end mt-3 align-items-center gap-3\">\n <button pButton [disabled]=\"!codSelfFormStepFour.valid\" label=\"Continuar\" type=\"button\" (click)=\"updateDatosBillingData()\"></button>\n </div>\n </div>\n </div>\n\n <!-- Vista para la opci\u00F3n de pago \"Pasarela pagos\" -->\n <div *ngIf=\"getViewBasedOnPaymentOption() === 'ps'\">\n <!-- TODO:<h3>Completa los datos para Pasarela pagos</h3> -->\n <!-- Aqu\u00ED puedes agregar el formulario espec\u00EDfico para Pasarela pagos -->\n </div>\n </div>\n </div>\n </form>\n\n <div class=\"flex justify-content-between mt-3 align-items-center gap-3\">\n <button pButton icon=\"pi pi-arrow-left\" type=\"button\" (click)=\"back()\"></button>\n <button *ngIf=\"!isSelectionOptionPayments && isEditBillingData && codSelfFormStepFour.valid\" pButton label=\"\u00A1Matricularme!\" type=\"button\" (click)=\"sendForm()\"></button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".container-form{margin:5px;border-radius:3px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:.5rem}.error-message{font-size:x-small;color:red}:host ::ng-deep .p-toast{width:20rem!important}.circular-image{width:50px;height:50px;border-radius:50%;object-fit:cover;border:none}.container-button{width:10rem;margin-top:3%}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.ButtonComponent, selector: "ipt-button", inputs: ["primary", "size", "label", "buttonType", "isEnabled"], outputs: ["onClick"] }, { kind: "component", type: i6.InputComponent, selector: "ipt-input", inputs: ["inputType", "placeHolder", "validateText", "withPipe", "list", "iconUrl", "control", "prefix", "thousands", "decimal", "disabledSel"], outputs: ["dateSelected"] }, { kind: "component", type: i7.SelectComponent, selector: "ipt-select", inputs: ["isRequired", "data", "defaultText", "selectCode", "disabledSel", "initialValue", "label", "control"], outputs: ["eventSelect"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { 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: i8.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i9.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading"] }, { kind: "component", type: i10.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i11.RadioButton, selector: "p-radioButton", inputs: ["value", "formControlName", "name", "disabled", "label", "tabindex", "inputId", "ariaLabelledBy", "ariaLabel", "style", "styleClass", "labelStyleClass"], outputs: ["onClick", "onFocus", "onBlur"] }] });
|
|
7
226
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.7", ngImport: i0, type: CodSelfFormStepFourComponent, decorators: [{
|
|
8
227
|
type: Component,
|
|
9
|
-
args: [{ selector: 'app-cod-self-form-step-four', template: "<span>
|
|
10
|
-
}] }
|
|
11
|
-
|
|
228
|
+
args: [{ selector: 'app-cod-self-form-step-four', template: "<div class=\"container-main\">\n <div class=\"container-form\">\n <div class=\"title_step\">\n <h2>Datos de Facturaci\u00F3n</h2>\n <p-toast position=\"top-center\" key=\"confirm\" (onClose)=\"onReject()\" [baseZIndex]=\"10\">\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 <img src=\"./assets/logos/reading.png\" style=\"width: 65px;\" shape=\"circle\" />\n <span class=\"font-bold text-900\">Jacob</span>\n </div>\n <div class=\"font-medium text-lg my-3 text-900\">{{ messageInfo }}</div>\n </div>\n </ng-template>\n </p-toast>\n </div>\n\n <i class=\"pi pi-exclamation-circle cursor-pointer w-auto \" (click)=\"showConfirm()\" pTooltip=\"M\u00E1s info.\" tooltipPosition=\"bottom\"></i>\n <div class=\"animate__animated animate__slideInRight ng-star-inserted\">\n <form autocomplete=\"off\" [formGroup]=\"codSelfFormStepFour\" class=\"grid mt-2 flex flex-column align-items-center\">\n <div class=\"container__body__select flex justify-content-center flex-wrap\">\n <div class=\"container__type__payments\" *ngIf=\"isSelectionOptionPayments\">\n <div class=\"flex flex-column gap-3\">\n <h3>\u00BFC\u00F3mo quieres pagar?</h3>\n <div *ngFor=\"let category of OptionPayments; index as ind\" class=\"field-checkbox\">\n <p-radioButton\n [inputId]=\"category.key\"\n name=\"category\"\n [value]=\"category\"\n [(ngModel)]=\"selectedOptionPayments\"\n [disabled]=\"disableweekdays[ind]\"\n [ngModelOptions]=\"{ standalone: true }\"\n (ngModelChange)=\"selectOpcionsPayments($event)\"\n ></p-radioButton>\n <label [for]=\"category.key\" class=\"ml-2\">\n {{ category.name }}\n </label>\n </div>\n </div>\n </div>\n\n <div class=\"container__option__instalations\" *ngIf=\"!isSelectionOptionPayments\">\n <!-- Vista para la opci\u00F3n de pago \"Instalaciones\" -->\n <div *ngIf=\"getViewBasedOnPaymentOption() === 'in'\">\n <div class=\"container__info flex flex-column align-items-center justify-content-center mt-1 mb-4\" *ngIf=\"isEditBillingData\">\n <img src=\"./assets/logos/lobo-web.png\" alt=\"Receipt Icon\" shape=\"circle\" class=\"circular-image\" />\n <strong>{{ codSelfFormStepFour.get('invoicing_name')?.value }} {{ codSelfFormStepFour.get('invoicing_Apellido')?.value }}</strong>\n <span>{{ getIdTypeDescription(codSelfFormStepFour.get('invoicing_idType')?.value) }} {{ codSelfFormStepFour.get('invoicing_document')?.value }}</span>\n <div class=\"container-button\">\n <ipt-button [label]=\"'Modificar Datos'\" (onClick)=\"editBillingData()\" [primary]=\"false\"></ipt-button>\n </div>\n </div>\n <div class=\"m-2\" *ngIf=\"!isEditBillingData\">\n <h3>Completa los nuevos datos para la emisi\u00F3n de tu factura</h3>\n <div class=\"flex gap-1 md:gap-4 xl:gap-8 m-1 p-2 border-round bg-blue-500 text-white\">\n <div class=\"container_icon flex mr-4 justify-content-center align-items-start mt-1\">\n <i class=\"pi pi-info-circle cursor-pointer w-auto mb-4\" pTooltip=\"M\u00E1s info.\" tooltipPosition=\"bottom\"></i>\n </div>\n <div class=\"flex flex-column container_info_span flex align-items-center justify-content-center\">\n <span>Si proporcionas datos de un tercero, confirmas que los datos son correctos y que tienes su consentimiento para el uso de la informaci\u00F3n. Estos datos se tratar\u00E1n de acuerdo a nuestra <a href=\"\">Declaraci\u00F3n de Privacidad</a></span>\n </div>\n </div>\n <div>\n <ipt-input [inputType]=\"'text'\" [placeHolder]=\"'Nombres'\" [control]=\"codSelfFormStepFour.controls['invoicing_name']\"></ipt-input>\n <ipt-input [inputType]=\"'text'\" [placeHolder]=\"'Apellidos'\" [control]=\"codSelfFormStepFour.controls['invoicing_Apellido']\"></ipt-input>\n <ipt-select\n [initialValue]=\"codSelfFormStepFour.controls['invoicing_idType'].value\"\n [control]=\"codSelfFormStepFour.controls['invoicing_idType']\"\n [selectCode]=\"codSelfFormStepFour.controls['invoicing_idType'].value === null ? 'Tipo de documento' : codSelfFormStepFour.controls['invoicing_idType'].value\"\n [isRequired]=\"true\"\n [data]=\"idTypes\"\n (eventSelect)=\"selectIdType($event)\"\n [defaultText]=\"'Tipo de documento'\"\n ></ipt-select>\n <ipt-input [inputType]=\"'number'\" [placeHolder]=\"'N\u00FAmero de documento'\" [control]=\"codSelfFormStepFour.controls['invoicing_document']\"></ipt-input>\n </div>\n <div class=\"flex justify-content-end mt-3 align-items-center gap-3\">\n <button pButton [disabled]=\"!codSelfFormStepFour.valid\" label=\"Continuar\" type=\"button\" (click)=\"updateDatosBillingData()\"></button>\n </div>\n </div>\n </div>\n\n <!-- Vista para la opci\u00F3n de pago \"Pasarela pagos\" -->\n <div *ngIf=\"getViewBasedOnPaymentOption() === 'ps'\">\n <!-- TODO:<h3>Completa los datos para Pasarela pagos</h3> -->\n <!-- Aqu\u00ED puedes agregar el formulario espec\u00EDfico para Pasarela pagos -->\n </div>\n </div>\n </div>\n </form>\n\n <div class=\"flex justify-content-between mt-3 align-items-center gap-3\">\n <button pButton icon=\"pi pi-arrow-left\" type=\"button\" (click)=\"back()\"></button>\n <button *ngIf=\"!isSelectionOptionPayments && isEditBillingData && codSelfFormStepFour.valid\" pButton label=\"\u00A1Matricularme!\" type=\"button\" (click)=\"sendForm()\"></button>\n </div>\n </div>\n </div>\n</div>\n", styles: [".container-form{margin:5px;border-radius:3px;border:1px solid #2563eb;box-shadow:#3c40434d 0 1px 2px,#3c404326 0 2px 6px 2px;padding:.5rem}.error-message{font-size:x-small;color:red}:host ::ng-deep .p-toast{width:20rem!important}.circular-image{width:50px;height:50px;border-radius:50%;object-fit:cover;border:none}.container-button{width:10rem;margin-top:3%}\n"] }]
|
|
229
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.MessageService }, { type: i3.CodSelfManagedControls }]; }, propDecorators: { idTypes: [{
|
|
230
|
+
type: Input
|
|
231
|
+
}], completed: [{
|
|
232
|
+
type: Output
|
|
233
|
+
}], action: [{
|
|
234
|
+
type: Output
|
|
235
|
+
}] } });
|
|
236
|
+
// Definición de la función de validador personalizada
|
|
237
|
+
function paymentOptionValidator(selectedOptionPayments) {
|
|
238
|
+
return (control) => {
|
|
239
|
+
if (selectedOptionPayments?.code === 1) { // Instalaciones
|
|
240
|
+
if (!control.get('invoicing_name')?.value || !control.get('invoicing_Apellido')?.value ||
|
|
241
|
+
!control.get('invoicing_idType')?.value || !control.get('invoicing_document')?.value) {
|
|
242
|
+
return { 'requiredFieldsMissing': true };
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
return null;
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kLXNlbGYtZm9ybS1zdGVwLWZvdXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vZGVzaWduLXN5c3RlbS9zcmMvbGliL2NvZC1zZWxmLW1hbmFnZWQvc3RlcHMvY29kLWZvcm0tc3RlcC1mb3VyL2NvZC1zZWxmLWZvcm0tc3RlcC1mb3VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2Rlc2lnbi1zeXN0ZW0vc3JjL2xpYi9jb2Qtc2VsZi1tYW5hZ2VkL3N0ZXBzL2NvZC1mb3JtLXN0ZXAtZm91ci9jb2Qtc2VsZi1mb3JtLXN0ZXAtZm91ci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBMEIsVUFBVSxFQUFFLFdBQVcsRUFBZ0MsTUFBTSxnQkFBZ0IsQ0FBQztBQUcvRyxPQUFPLEVBQUUsbUJBQW1CLEVBQXlCLE1BQU0sb0NBQW9DLENBQUM7QUFDaEcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFPL0UsTUFBTSxPQUFPLDRCQUE2QixTQUFRLG1CQUFtQjtJQXVCbkUsWUFDVSxFQUFlLEVBQ2YsY0FBOEIsRUFDOUIsZUFBdUM7UUFFL0MsS0FBSyxFQUFFLENBQUM7UUFKQSxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQ2YsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLG9CQUFlLEdBQWYsZUFBZSxDQUF3QjtRQXZCdkMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDdkMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFFOUMsYUFBUSxHQUFHLElBQUksc0JBQXNCLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7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QyxXQUFXLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUE7WUFDekUsSUFBSSxNQUFNLEtBQUssQ0FBQztnQkFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUM1RSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O3lIQWxPVSw0QkFBNEI7NkdBQTVCLDRCQUE0QixpTENaekMsaXpNQWtHQTsyRkR0RmEsNEJBQTRCO2tCQUx4QyxTQUFTOytCQUNFLDZCQUE2QjtvS0FNOUIsT0FBTztzQkFBZixLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNOztBQWtPVCxzREFBc0Q7QUFDdEQsU0FBUyxzQkFBc0IsQ0FBQyxzQkFBbUM7SUFDakUsT0FBTyxDQUFDLE9BQXdCLEVBQWlDLEVBQUU7UUFDakUsSUFBSSxzQkFBc0IsRUFBRSxJQUFJLEtBQUssQ0FBQyxFQUFFLEVBQUUsZ0JBQWdCO1lBQ3hELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLEtBQUs7Z0JBQ2xGLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsRUFBRSxLQUFLLEVBQUU7Z0JBQ3hGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUMxQztTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycywgRm9ybUNvbnRyb2wsIEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IEl3ZWVrRGF5c1JxIH0gZnJvbSAnLi8uLi8uLi8uLi9jb3JlL21vZGVscy9hY2FkZW1pYy9hY2FkZW1pYy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQ29kU2VsZk1hbmFnZWRTdGVwcywgbG9jYWxTdG9yYWdlVmFsdWVzVHdvIH0gZnJvbSAnLi4vLi4vbG9naWMvY29kLXNlbGYtbWFuYWdlZC1zdGVwcyc7XG5pbXBvcnQgeyBDb2RTZWxmTWFuYWdlZENvbnRyb2xzIH0gZnJvbSAnLi4vLi4vbG9naWMvY29kLXNlbGYtbWFuYWdlZC1jb250cm9scyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jb2Qtc2VsZi1mb3JtLXN0ZXAtZm91cicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2Qtc2VsZi1mb3JtLXN0ZXAtZm91ci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvZC1zZWxmLWZvcm0tc3RlcC1mb3VyLmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29kU2VsZkZvcm1TdGVwRm91ckNvbXBvbmVudCBleHRlbmRzIENvZFNlbGZNYW5hZ2VkU3RlcHMgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIGlkVHlwZXM6IGFueTtcbiAgQE91dHB1dCgpIGNvbXBsZXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICBAT3V0cHV0KCkgYWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgY29udHJvbHMgPSBuZXcgQ29kU2VsZk1hbmFnZWRDb250cm9scygpLmNvbnRyb2xzWzNdO1xuICBtZXNzYWdlSW5mbzogc3RyaW5nID0gXCJEYXRvcyBkZSBmYWN0dXJhY2lvbiBkZSBhY3VlcmRvIGEgdHUgZWxlY2Npb25cIjtcbiAgdmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBjb2RTZWxmRm9ybVN0ZXBGb3VyITogRm9ybUdyb3VwO1xuICBzZWxlY3RlZE9wdGlvblBheW1lbnRzPzogSXdlZWtEYXlzUnE7XG4gIG1lc3NhZ2VBbGVydFBsYWNlbWVudFRlc3QgPSBmYWxzZTtcbiAgZGlzYWJsZXdlZWtkYXlzOiBib29sZWFuW10gPSBbXTtcbiAgaXNTZWxlY3Rpb25PcHRpb25QYXltZW50cyA9IHRydWU7XG4gIGlzRWRpdEJpbGxpbmdEYXRhID0gdHJ1ZTtcbiAgT3B0aW9uUGF5bWVudHM6IGFueVtdID0gW1xuICAgIHsgY29kZTogMSwga2V5OiAnaW4nLCBuYW1lOiAnSW5zdGFsYWNpb25lcycgfSxcbiAgICAvLyB7IGNvZGU6IDIsIGtleTogJ3RyJywgbmFtZTogJ1RyYW5zZmVyZW5jaWEnIH0sXG4gICAgeyBjb2RlOiAzLCBrZXk6ICdwcycsIG5hbWU6ICdQYXNhcmVsYSBwYWdvcycgfSxcbiAgXTtcblxuICBzdHVkZW50SWRDYXJkVHlwZSA9IG5ldyBGb3JtQ29udHJvbCgpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyLFxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29kRm9ybUNvbnRyb2xzOiBDb2RTZWxmTWFuYWdlZENvbnRyb2xzLFxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuaW5pdEZvcm0oKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3RhcnRMb2NhbFN0b3JhZ2VXb3JrKCk7XG4gICAgdGhpcy5zdWJzY3JpYmVUb1N0dWRlbnRJZENhcmRUeXBlQ2hhbmdlcygpO1xuICAgIHRoaXMuZ2V0RGF0YVVzZXIoKTtcbiAgfVxuXG4gIGluaXRGb3JtKCkge1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwRm91ciA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgb3B0aW9uc1BheW1lbnRzOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBpbnZvaWNpbmdfbmFtZTogWycnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dLFxuICAgICAgaW52b2ljaW5nX0FwZWxsaWRvOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBpbnZvaWNpbmdfaWRUeXBlOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV0sXG4gICAgICBpbnZvaWNpbmdfZG9jdW1lbnQ6IFsnJywgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDUpLCBWYWxpZGF0b3JzLm1heExlbmd0aCgyMCksIFZhbGlkYXRvcnMucGF0dGVybigvXlswLTldKiQvKV1dLFxuICAgIH0pO1xuICB9XG5cbiAgc3Vic2NyaWJlVG9TdHVkZW50SWRDYXJkVHlwZUNoYW5nZXMoKSB7XG4gICAgdGhpcy5zdHVkZW50SWRDYXJkVHlwZS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgIHRoaXMudXBkYXRlQmlsbGluZ0RhdGFGaWVsZHModmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0RGF0YVVzZXIoKSB7XG4gICAgY29uc3QgdHlwZUlkQ2FyZCA9IHRoaXMubG9jYWxTdG9yYWdlQ09ELmdldENvZEZvcm1EYXRhKDEsICdzdHVkZW50X2lkX2NhcmRfdHlwZScpO1xuICAgIHRoaXMuc3R1ZGVudElkQ2FyZFR5cGUuc2V0VmFsdWUodHlwZUlkQ2FyZCk7XG4gIH1cblxuICB1cGRhdGVCaWxsaW5nRGF0YUZpZWxkcyh0eXBlSWRDYXJkOiBzdHJpbmcgfCBudWxsKSB7XG4gICAgaWYgKHR5cGVJZENhcmQgIT0gbnVsbCAmJiB0eXBlSWRDYXJkICE9IFwiMlwiKSB7XG4gICAgICBjb25zdCBuYW1lU3R1ZGVudCA9IHRoaXMubG9jYWxTdG9yYWdlQ09ELmdldENvZEZvcm1EYXRhKDEsICdzdHVkZW50X25hbWUnKTtcbiAgICAgIGNvbnN0IGxhc3ROYW1lU3R1ZGVudCA9IHRoaXMubG9jYWxTdG9yYWdlQ09ELmdldENvZEZvcm1EYXRhKDEsICdzdHVkZW50X2xhc3RfbmFtZScpO1xuICAgICAgY29uc3QgdHlwZUlkQ2FyZFN0dWRlbnQgPSB0aGlzLmxvY2FsU3RvcmFnZUNPRC5nZXRDb2RGb3JtRGF0YSgxLCAnc3R1ZGVudF9pZF9jYXJkX3R5cGUnKTtcbiAgICAgIGNvbnN0IGlkQ2FyZFN0dWRlbnQgPSB0aGlzLmxvY2FsU3RvcmFnZUNPRC5nZXRDb2RGb3JtRGF0YSgxLCAnc3R1ZGVudF9pZF9jYXJkJyk7XG5cblxuICAgICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydpbnZvaWNpbmdfbmFtZSddLnNldFZhbHVlKG5hbWVTdHVkZW50KTtcbiAgICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1snaW52b2ljaW5nX0FwZWxsaWRvJ10uc2V0VmFsdWUobGFzdE5hbWVTdHVkZW50KTtcbiAgICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1snaW52b2ljaW5nX2lkVHlwZSddLnNldFZhbHVlKHR5cGVJZENhcmRTdHVkZW50KTtcbiAgICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1snaW52b2ljaW5nX2RvY3VtZW50J10uc2V0VmFsdWUoaWRDYXJkU3R1ZGVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIExpbXBpYSBsb3MgY2FtcG9zIHNpIGVsIHRpcG8gZGUgZG9jdW1lbnRvIGVzIFwiMlwiXG4gICAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcEZvdXIuY29udHJvbHNbJ2ludm9pY2luZ19uYW1lJ10uc2V0VmFsdWUoJycpO1xuICAgICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydpbnZvaWNpbmdfQXBlbGxpZG8nXS5zZXRWYWx1ZSgnJyk7XG4gICAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcEZvdXIuY29udHJvbHNbJ2ludm9pY2luZ19pZFR5cGUnXS5zZXRWYWx1ZSgnJyk7XG4gICAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcEZvdXIuY29udHJvbHNbJ2ludm9pY2luZ19kb2N1bWVudCddLnNldFZhbHVlKCcnKTtcbiAgICB9XG4gIH1cblxuICBiYWNrKCkge1xuICAgIGlmICghdGhpcy5pc1NlbGVjdGlvbk9wdGlvblBheW1lbnRzICYmICF0aGlzLmlzRWRpdEJpbGxpbmdEYXRhKSB7XG4gICAgICB0aGlzLmlzRWRpdEJpbGxpbmdEYXRhID0gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmlzU2VsZWN0aW9uT3B0aW9uUGF5bWVudHMgJiYgdGhpcy5pc0VkaXRCaWxsaW5nRGF0YSkge1xuICAgICAgdGhpcy5pc1NlbGVjdGlvbk9wdGlvblBheW1lbnRzID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb21wbGV0ZWQuZW1pdCgyKTtcbiAgICB9XG4gIH1cblxuICBuZXh0KCkge1xuICAgIGlmICh0aGlzLmlzU2VsZWN0aW9uT3B0aW9uUGF5bWVudHMpIHtcbiAgICAgIHRoaXMuaXNTZWxlY3Rpb25PcHRpb25QYXltZW50cyA9IGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoIXRoaXMuaXNFZGl0QmlsbGluZ0RhdGEpIHtcbiAgICAgIHRoaXMuaXNFZGl0QmlsbGluZ0RhdGEgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbmRGb3JtKCk7XG4gICAgfVxuICB9XG5cbiAgc3RhcnRMb2NhbFN0b3JhZ2VXb3JrKCkge1xuICAgIHRoaXMuY29udHJvbHMuZm9yRWFjaChjb250cm9sID0+IHtcbiAgICAgIGxldCBsb2NhbFN0b3JhZ2VWYWx1ZTogbG9jYWxTdG9yYWdlVmFsdWVzVHdvID0gdGhpcy5yZWFkQW5kV3JpdGVMUyg0LCBjb250cm9sLm5hbWUpO1xuICAgICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBGb3VyLmNvbnRyb2xzW2NvbnRyb2wubmFtZV0uc2V0VmFsdWUobG9jYWxTdG9yYWdlVmFsdWUudmFsdWUpO1xuICAgICAgdGhpcy5saXN0ZW5Gb3JtQ2hhbmdlcyg0LCBjb250cm9sLm5hbWUsIHRoaXMuY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1tjb250cm9sLm5hbWVdLnZhbHVlQ2hhbmdlcyk7XG4gICAgfSk7XG4gIH1cblxuICBlZGl0QmlsbGluZ0RhdGEoKSB7XG4gICAgdGhpcy5pc0VkaXRCaWxsaW5nRGF0YSA9IGZhbHNlO1xuICB9XG5cbiAgdXBkYXRlRGF0b3NCaWxsaW5nRGF0YSgpIHtcbiAgICB0aGlzLmlzRWRpdEJpbGxpbmdEYXRhID0gdHJ1ZTtcbiAgfVxuXG4gIHNlbmRGb3JtKCkge1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwRm91ci5tYXJrQWxsQXNUb3VjaGVkKCk7XG4gICAgdGhpcy5hY3Rpb24uZW1pdCgnY3JlYXRlJyk7XG4gIH1cblxuICBvblJlamVjdCgpIHtcbiAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmNsZWFyKCdjb25maXJtJyk7XG4gICAgdGhpcy52aXNpYmxlID0gZmFsc2U7XG4gIH1cblxuICBzaG93Q29uZmlybSgpIHtcbiAgICBpZiAoIXRoaXMudmlzaWJsZSkge1xuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoeyBrZXk6ICdjb25maXJtJywgc3RpY2t5OiB0cnVlLCBzZXZlcml0eTogJ3N1Y2Nlc3MnLCBzdW1tYXJ5OiAnQ2FuIHlvdSBzZW5kIG1lIHRoZSByZXBvcnQ/JywgbGlmZTogNTAwMCB9KTtcbiAgICAgIHRoaXMudmlzaWJsZSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgc2VsZWN0T3BjaW9uc1BheW1lbnRzKGV2ZTogSXdlZWtEYXlzUnEpIHtcbiAgICB0aGlzLnNlbGVjdGVkT3B0aW9uUGF5bWVudHMgPSBldmU7XG4gICAgdGhpcy5pc1NlbGVjdGlvbk9wdGlvblBheW1lbnRzID0gZmFsc2U7XG5cbiAgICBpZiAodGhpcy5zZWxlY3RlZE9wdGlvblBheW1lbnRzICE9PSBudWxsKSB7XG4gICAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcEZvdXIuY29udHJvbHNbJ29wdGlvbnNQYXltZW50cyddLnNldFZhbHVlKHRoaXMuc2VsZWN0ZWRPcHRpb25QYXltZW50cy5jb2RlKTtcblxuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRPcHRpb25QYXltZW50cy5jb2RlID09PSAxKSB7IC8vIEluc3RhbGFjaW9uZXNcbiAgICAgICAgdGhpcy5hZGRWYWxpZGF0b3JzKCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuc2VsZWN0ZWRPcHRpb25QYXltZW50cy5jb2RlID09PSAzKSB7IC8vIFBhc2FyZWxhIFBhZ29cbiAgICAgICAgdGhpcy5yZW1vdmVWYWxpZGF0b3JzKCk7XG4gICAgICB9XG5cbiAgICAgIC8vIEFwbGljYXIgZWwgdmFsaWRhZG9yIHBlcnNvbmFsaXphZG8gYmFzYWRvIGVuIGxhIG9wY2nDs24gc2VsZWNjaW9uYWRhXG4gICAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcEZvdXIuc2V0VmFsaWRhdG9ycyhwYXltZW50T3B0aW9uVmFsaWRhdG9yKHRoaXMuc2VsZWN0ZWRPcHRpb25QYXltZW50cykpO1xuICAgICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBGb3VyLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgIHRoaXMudXBkYXRlR2xvYmFsQ29udHJvbHModGhpcy5zZWxlY3RlZE9wdGlvblBheW1lbnRzLmNvZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcEZvdXIuY29udHJvbHNbJ29wdGlvbnNQYXltZW50cyddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIGFkZFZhbGlkYXRvcnMoKSB7XG4gICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydpbnZvaWNpbmdfbmFtZSddLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcbiAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcEZvdXIuY29udHJvbHNbJ2ludm9pY2luZ19BcGVsbGlkbyddLnNldFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKTtcbiAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcEZvdXIuY29udHJvbHNbJ2ludm9pY2luZ19pZFR5cGUnXS5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSk7XG4gICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydpbnZvaWNpbmdfZG9jdW1lbnQnXS5zZXRWYWxpZGF0b3JzKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCg1KSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjApLCBWYWxpZGF0b3JzLnBhdHRlcm4oL15bMC05XSokLyldKTtcbiAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcEZvdXIuY29udHJvbHNbJ2ludm9pY2luZ19uYW1lJ10udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1snaW52b2ljaW5nX0FwZWxsaWRvJ10udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1snaW52b2ljaW5nX2lkVHlwZSddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcEZvdXIuY29udHJvbHNbJ2ludm9pY2luZ19kb2N1bWVudCddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIHJlbW92ZVZhbGlkYXRvcnMoKSB7XG4gICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydpbnZvaWNpbmdfbmFtZSddLmNsZWFyVmFsaWRhdG9ycygpO1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1snaW52b2ljaW5nX0FwZWxsaWRvJ10uY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydpbnZvaWNpbmdfaWRUeXBlJ10uY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgdGhpcy5jb2RTZWxmRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydpbnZvaWNpbmdfZG9jdW1lbnQnXS5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcEZvdXIuY29udHJvbHNbJ2ludm9pY2luZ19uYW1lJ10udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1snaW52b2ljaW5nX0FwZWxsaWRvJ10udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1snaW52b2ljaW5nX2lkVHlwZSddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICB0aGlzLmNvZFNlbGZGb3JtU3RlcEZvdXIuY29udHJvbHNbJ2ludm9pY2luZ19kb2N1bWVudCddLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgfVxuXG4gIHNlbGVjdElkVHlwZShpZFR5cGU6IGFueSkge1xuICAgIGlmIChpZFR5cGUgIT09ICdUaXBvIGRlIGRvY3VtZW50bycpIHtcbiAgICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1snaW52b2ljaW5nX2lkVHlwZSddLnNldFZhbHVlKGlkVHlwZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1snaW52b2ljaW5nX2lkVHlwZSddLnNldFZhbHVlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIGdldFZpZXdCYXNlZE9uUGF5bWVudE9wdGlvbigpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkT3B0aW9uUGF5bWVudHM/LmNvZGUgPT09IDEpIHtcbiAgICAgIHJldHVybiAnaW4nO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zZWxlY3RlZE9wdGlvblBheW1lbnRzPy5jb2RlID09PSAzKSB7XG4gICAgICByZXR1cm4gJ3BzJztcbiAgICB9XG4gICAgcmV0dXJuICdkZWZhdWx0JztcbiAgfVxuXG4gIGdldElkVHlwZURlc2NyaXB0aW9uKGlkVHlwZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKGlkVHlwZSkge1xuICAgICAgY2FzZSAnMCc6XG4gICAgICAgIHJldHVybiAnTi9BJztcbiAgICAgIGNhc2UgJzEnOlxuICAgICAgICByZXR1cm4gJ0MuQyc7XG4gICAgICBjYXNlICcyJzpcbiAgICAgICAgcmV0dXJuICdULkknO1xuICAgICAgY2FzZSAnMyc6XG4gICAgICAgIHJldHVybiAnQy5FJztcbiAgICAgIGNhc2UgJzQnOlxuICAgICAgICByZXR1cm4gJ1AuRS5QJztcbiAgICAgIGNhc2UgJzUnOlxuICAgICAgICByZXR1cm4gJ1IuVS5NJztcbiAgICAgIGNhc2UgJzYnOlxuICAgICAgICByZXR1cm4gJ1AuUC5UJztcbiAgICAgIGNhc2UgJzcnOlxuICAgICAgICByZXR1cm4gJ1AuQSc7XG4gICAgICBjYXNlICc4JzpcbiAgICAgICAgcmV0dXJuICdSLkMnO1xuICAgICAgY2FzZSAnOSc6XG4gICAgICAgIHJldHVybiAnQy5EJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cbiAgdXBkYXRlR2xvYmFsQ29udHJvbHMoY2hhbmdlOiBudW1iZXIpIHtcbiAgICBsZXQgY29udHJvbHMgPSB0aGlzLmNvbnRyb2xzLmZpbHRlcihjb250cm9sID0+IGNvbnRyb2wubmFtZSAhPT0gJ29wdGlvbnNQYXltZW50cycpO1xuICAgIGNvbnRyb2xzLmZvckVhY2goY29udHJvbCA9PiB7XG4gICAgICBpZiAoY2hhbmdlID09PSAxKSB0aGlzLmNvZEZvcm1Db250cm9scy5jaGFuZ2VWYWx1ZSg0LCBjb250cm9sLm5hbWUsIHRydWUpXG4gICAgICBpZiAoY2hhbmdlID09PSAzKSB0aGlzLmNvZEZvcm1Db250cm9scy5jaGFuZ2VWYWx1ZSg0LCBjb250cm9sLm5hbWUsIGZhbHNlKVxuICAgIH0pO1xuICB9XG59XG5cblxuLy8gRGVmaW5pY2nDs24gZGUgbGEgZnVuY2nDs24gZGUgdmFsaWRhZG9yIHBlcnNvbmFsaXphZGFcbmZ1bmN0aW9uIHBheW1lbnRPcHRpb25WYWxpZGF0b3Ioc2VsZWN0ZWRPcHRpb25QYXltZW50czogSXdlZWtEYXlzUnEpOiBWYWxpZGF0b3JGbiB7XG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB8IG51bGwgPT4ge1xuICAgIGlmIChzZWxlY3RlZE9wdGlvblBheW1lbnRzPy5jb2RlID09PSAxKSB7IC8vIEluc3RhbGFjaW9uZXNcbiAgICAgIGlmICghY29udHJvbC5nZXQoJ2ludm9pY2luZ19uYW1lJyk/LnZhbHVlIHx8ICFjb250cm9sLmdldCgnaW52b2ljaW5nX0FwZWxsaWRvJyk/LnZhbHVlIHx8XG4gICAgICAgICAgIWNvbnRyb2wuZ2V0KCdpbnZvaWNpbmdfaWRUeXBlJyk/LnZhbHVlIHx8ICFjb250cm9sLmdldCgnaW52b2ljaW5nX2RvY3VtZW50Jyk/LnZhbHVlKSB7XG4gICAgICAgIHJldHVybiB7ICdyZXF1aXJlZEZpZWxkc01pc3NpbmcnOiB0cnVlIH07XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9O1xufVxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lci1tYWluXCI+XG4gIDxkaXYgY2xhc3M9XCJjb250YWluZXItZm9ybVwiPlxuICAgIDxkaXYgY2xhc3M9XCJ0aXRsZV9zdGVwXCI+XG4gICAgICA8aDI+RGF0b3MgZGUgRmFjdHVyYWNpw7NuPC9oMj5cbiAgICAgIDxwLXRvYXN0IHBvc2l0aW9uPVwidG9wLWNlbnRlclwiIGtleT1cImNvbmZpcm1cIiAob25DbG9zZSk9XCJvblJlamVjdCgpXCIgW2Jhc2VaSW5kZXhdPVwiMTBcIj5cbiAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1tZXNzYWdlIHBUZW1wbGF0ZT1cIm1lc3NhZ2VcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1zdGFydFwiIHN0eWxlPVwiZmxleDogMVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgICAgIDxpbWcgc3JjPVwiLi9hc3NldHMvbG9nb3MvcmVhZGluZy5wbmdcIiBzdHlsZT1cIndpZHRoOiA2NXB4O1wiIHNoYXBlPVwiY2lyY2xlXCIgLz5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb250LWJvbGQgdGV4dC05MDBcIj5KYWNvYjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvbnQtbWVkaXVtIHRleHQtbGcgbXktMyB0ZXh0LTkwMFwiPnt7IG1lc3NhZ2VJbmZvIH19PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L3AtdG9hc3Q+XG4gICAgPC9kaXY+XG5cbiAgICA8aSBjbGFzcz1cInBpIHBpLWV4Y2xhbWF0aW9uLWNpcmNsZSBjdXJzb3ItcG9pbnRlciB3LWF1dG8gXCIgKGNsaWNrKT1cInNob3dDb25maXJtKClcIiBwVG9vbHRpcD1cIk3DoXMgaW5mby5cIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIj48L2k+XG4gICAgPGRpdiBjbGFzcz1cImFuaW1hdGVfX2FuaW1hdGVkIGFuaW1hdGVfX3NsaWRlSW5SaWdodCBuZy1zdGFyLWluc2VydGVkXCI+XG4gICAgICA8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBbZm9ybUdyb3VwXT1cImNvZFNlbGZGb3JtU3RlcEZvdXJcIiBjbGFzcz1cImdyaWQgbXQtMiBmbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyX19ib2R5X19zZWxlY3QgZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGZsZXgtd3JhcFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJfX3R5cGVfX3BheW1lbnRzXCIgKm5nSWY9XCJpc1NlbGVjdGlvbk9wdGlvblBheW1lbnRzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBnYXAtM1wiPlxuICAgICAgICAgICAgICA8aDM+wr9Dw7NtbyBxdWllcmVzIHBhZ2FyPzwvaDM+XG4gICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGNhdGVnb3J5IG9mIE9wdGlvblBheW1lbnRzOyBpbmRleCBhcyBpbmRcIiBjbGFzcz1cImZpZWxkLWNoZWNrYm94XCI+XG4gICAgICAgICAgICAgICAgPHAtcmFkaW9CdXR0b25cbiAgICAgICAgICAgICAgICAgIFtpbnB1dElkXT1cImNhdGVnb3J5LmtleVwiXG4gICAgICAgICAgICAgICAgICBuYW1lPVwiY2F0ZWdvcnlcIlxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImNhdGVnb3J5XCJcbiAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRPcHRpb25QYXltZW50c1wiXG4gICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZXdlZWtkYXlzW2luZF1cIlxuICAgICAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcbiAgICAgICAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInNlbGVjdE9wY2lvbnNQYXltZW50cygkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICA+PC9wLXJhZGlvQnV0dG9uPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBbZm9yXT1cImNhdGVnb3J5LmtleVwiIGNsYXNzPVwibWwtMlwiPlxuICAgICAgICAgICAgICAgICAge3sgY2F0ZWdvcnkubmFtZSB9fVxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyX19vcHRpb25fX2luc3RhbGF0aW9uc1wiICpuZ0lmPVwiIWlzU2VsZWN0aW9uT3B0aW9uUGF5bWVudHNcIj5cbiAgICAgICAgICAgIDwhLS0gVmlzdGEgcGFyYSBsYSBvcGNpw7NuIGRlIHBhZ28gXCJJbnN0YWxhY2lvbmVzXCIgLS0+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZ2V0Vmlld0Jhc2VkT25QYXltZW50T3B0aW9uKCkgPT09ICdpbidcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lcl9faW5mbyBmbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIG10LTEgbWItNFwiICpuZ0lmPVwiaXNFZGl0QmlsbGluZ0RhdGFcIj5cbiAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIi4vYXNzZXRzL2xvZ29zL2xvYm8td2ViLnBuZ1wiIGFsdD1cIlJlY2VpcHQgSWNvblwiIHNoYXBlPVwiY2lyY2xlXCIgY2xhc3M9XCJjaXJjdWxhci1pbWFnZVwiIC8+XG4gICAgICAgICAgICAgICAgPHN0cm9uZz57eyBjb2RTZWxmRm9ybVN0ZXBGb3VyLmdldCgnaW52b2ljaW5nX25hbWUnKT8udmFsdWUgfX0ge3sgY29kU2VsZkZvcm1TdGVwRm91ci5nZXQoJ2ludm9pY2luZ19BcGVsbGlkbycpPy52YWx1ZSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgICAgIDxzcGFuPnt7IGdldElkVHlwZURlc2NyaXB0aW9uKGNvZFNlbGZGb3JtU3RlcEZvdXIuZ2V0KCdpbnZvaWNpbmdfaWRUeXBlJyk/LnZhbHVlKSB9fSB7eyBjb2RTZWxmRm9ybVN0ZXBGb3VyLmdldCgnaW52b2ljaW5nX2RvY3VtZW50Jyk/LnZhbHVlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAgICA8aXB0LWJ1dHRvbiBbbGFiZWxdPVwiJ01vZGlmaWNhciBEYXRvcydcIiAob25DbGljayk9XCJlZGl0QmlsbGluZ0RhdGEoKVwiIFtwcmltYXJ5XT1cImZhbHNlXCI+PC9pcHQtYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm0tMlwiICpuZ0lmPVwiIWlzRWRpdEJpbGxpbmdEYXRhXCI+XG4gICAgICAgICAgICAgICAgPGgzPkNvbXBsZXRhIGxvcyBudWV2b3MgZGF0b3MgcGFyYSBsYSBlbWlzacOzbiBkZSB0dSBmYWN0dXJhPC9oMz5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBnYXAtMSBtZDpnYXAtNCB4bDpnYXAtOCBtLTEgcC0yIGJvcmRlci1yb3VuZCBiZy1ibHVlLTUwMCB0ZXh0LXdoaXRlXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyX2ljb24gZmxleCBtci00IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtc3RhcnQgbXQtMVwiPlxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWluZm8tY2lyY2xlIGN1cnNvci1wb2ludGVyIHctYXV0byBtYi00XCIgcFRvb2x0aXA9XCJNw6FzIGluZm8uXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbHVtbiBjb250YWluZXJfaW5mb19zcGFuIGZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+U2kgcHJvcG9yY2lvbmFzIGRhdG9zIGRlIHVuIHRlcmNlcm8sIGNvbmZpcm1hcyBxdWUgbG9zIGRhdG9zIHNvbiBjb3JyZWN0b3MgeSBxdWUgdGllbmVzIHN1IGNvbnNlbnRpbWllbnRvIHBhcmEgZWwgdXNvIGRlIGxhIGluZm9ybWFjacOzbi4gRXN0b3MgZGF0b3Mgc2UgdHJhdGFyw6FuIGRlIGFjdWVyZG8gYSBudWVzdHJhIDxhIGhyZWY9XCJcIj5EZWNsYXJhY2nDs24gZGUgUHJpdmFjaWRhZDwvYT48L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgPGlwdC1pbnB1dCBbaW5wdXRUeXBlXT1cIid0ZXh0J1wiIFtwbGFjZUhvbGRlcl09XCInTm9tYnJlcydcIiBbY29udHJvbF09XCJjb2RTZWxmRm9ybVN0ZXBGb3VyLmNvbnRyb2xzWydpbnZvaWNpbmdfbmFtZSddXCI+PC9pcHQtaW5wdXQ+XG4gICAgICAgICAgICAgICAgICA8aXB0LWlucHV0IFtpbnB1dFR5cGVdPVwiJ3RleHQnXCIgW3BsYWNlSG9sZGVyXT1cIidBcGVsbGlkb3MnXCIgW2NvbnRyb2xdPVwiY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1snaW52b2ljaW5nX0FwZWxsaWRvJ11cIj48L2lwdC1pbnB1dD5cbiAgICAgICAgICAgICAgICAgIDxpcHQtc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgIFtpbml0aWFsVmFsdWVdPVwiY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1snaW52b2ljaW5nX2lkVHlwZSddLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgW2NvbnRyb2xdPVwiY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1snaW52b2ljaW5nX2lkVHlwZSddXCJcbiAgICAgICAgICAgICAgICAgICAgW3NlbGVjdENvZGVdPVwiY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1snaW52b2ljaW5nX2lkVHlwZSddLnZhbHVlID09PSBudWxsID8gJ1RpcG8gZGUgZG9jdW1lbnRvJyA6IGNvZFNlbGZGb3JtU3RlcEZvdXIuY29udHJvbHNbJ2ludm9pY2luZ19pZFR5cGUnXS52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFtpc1JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICBbZGF0YV09XCJpZFR5cGVzXCJcbiAgICAgICAgICAgICAgICAgICAgKGV2ZW50U2VsZWN0KT1cInNlbGVjdElkVHlwZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgW2RlZmF1bHRUZXh0XT1cIidUaXBvIGRlIGRvY3VtZW50bydcIlxuICAgICAgICAgICAgICAgICAgPjwvaXB0LXNlbGVjdD5cbiAgICAgICAgICAgICAgICAgIDxpcHQtaW5wdXQgW2lucHV0VHlwZV09XCInbnVtYmVyJ1wiIFtwbGFjZUhvbGRlcl09XCInTsO6bWVybyBkZSBkb2N1bWVudG8nXCIgW2NvbnRyb2xdPVwiY29kU2VsZkZvcm1TdGVwRm91ci5jb250cm9sc1snaW52b2ljaW5nX2RvY3VtZW50J11cIj48L2lwdC1pbnB1dD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIG10LTMgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgICAgICAgICAgICAgICA8YnV0dG9uIHBCdXR0b24gW2Rpc2FibGVkXT1cIiFjb2RTZWxmRm9ybVN0ZXBGb3VyLnZhbGlkXCIgbGFiZWw9XCJDb250aW51YXJcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInVwZGF0ZURhdG9zQmlsbGluZ0RhdGEoKVwiPjwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICA8IS0tIFZpc3RhIHBhcmEgbGEgb3BjacOzbiBkZSBwYWdvIFwiUGFzYXJlbGEgcGFnb3NcIiAtLT5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJnZXRWaWV3QmFzZWRPblBheW1lbnRPcHRpb24oKSA9PT0gJ3BzJ1wiPlxuICAgICAgICAgICAgICA8IS0tIFRPRE86PGgzPkNvbXBsZXRhIGxvcyBkYXRvcyBwYXJhIFBhc2FyZWxhIHBhZ29zPC9oMz4gLS0+XG4gICAgICAgICAgICAgIDwhLS0gQXF1w60gcHVlZGVzIGFncmVnYXIgZWwgZm9ybXVsYXJpbyBlc3BlY8OtZmljbyBwYXJhIFBhc2FyZWxhIHBhZ29zIC0tPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9mb3JtPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtdC0zIGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICAgICAgICA8YnV0dG9uIHBCdXR0b24gaWNvbj1cInBpIHBpLWFycm93LWxlZnRcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImJhY2soKVwiPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uICpuZ0lmPVwiIWlzU2VsZWN0aW9uT3B0aW9uUGF5bWVudHMgJiYgaXNFZGl0QmlsbGluZ0RhdGEgJiYgY29kU2VsZkZvcm1TdGVwRm91ci52YWxpZFwiIHBCdXR0b24gbGFiZWw9XCLCoU1hdHJpY3VsYXJtZSFcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInNlbmRGb3JtKClcIj48L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|