@reusa/ngx-reusa-app-lib 0.0.1307 → 0.0.1308
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/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +12 -1
- package/esm2022/lib/components/proof-of-document-upload/proof-of-document-upload.component.mjs +152 -102
- package/esm2022/lib/models/dashboard-model.mjs +1 -1
- package/fesm2022/reusa-ngx-reusa-app-lib.mjs +162 -101
- package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -1
- package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -1
- package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts.map +1 -1
- package/lib/models/dashboard-model.d.ts +6 -0
- package/lib/models/dashboard-model.d.ts.map +1 -1
- package/package.json +1 -1
package/esm2022/lib/components/proof-of-document-upload/proof-of-document-upload.component.mjs
CHANGED
|
@@ -13,132 +13,177 @@ import * as i9 from "primeng/dropdown";
|
|
|
13
13
|
import * as i10 from "../overlay-info/overlay-info.component";
|
|
14
14
|
const _c0 = ["uploadFileFormDirective"];
|
|
15
15
|
const _c1 = ["fileInput"];
|
|
16
|
-
function
|
|
17
|
-
i0.ɵɵ
|
|
18
|
-
|
|
16
|
+
function ProofOfDocumentUploadComponent_form_0_section_2_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
17
|
+
i0.ɵɵelement(0, "div");
|
|
18
|
+
} }
|
|
19
|
+
function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_3_ng_template_0_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
20
|
+
i0.ɵɵelementStart(0, "div", 14);
|
|
21
|
+
i0.ɵɵelement(1, "app-overlay-info", 15);
|
|
19
22
|
i0.ɵɵelementEnd();
|
|
20
23
|
} if (rf & 2) {
|
|
21
|
-
const
|
|
24
|
+
const ctx_r12 = i0.ɵɵnextContext(5);
|
|
22
25
|
i0.ɵɵadvance(1);
|
|
23
|
-
i0.ɵɵproperty("overlayText",
|
|
26
|
+
i0.ɵɵproperty("overlayText", ctx_r12.iconInfo);
|
|
24
27
|
} }
|
|
25
|
-
function
|
|
28
|
+
function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_3_ng_template_0_Template(rf, ctx) { if (rf & 1) {
|
|
26
29
|
i0.ɵɵelementStart(0, "tr")(1, "th");
|
|
27
30
|
i0.ɵɵtext(2, "Document Name");
|
|
28
31
|
i0.ɵɵelementEnd();
|
|
29
|
-
i0.ɵɵelementStart(3, "th",
|
|
32
|
+
i0.ɵɵelementStart(3, "th", 12);
|
|
30
33
|
i0.ɵɵtext(4, " Document Type ");
|
|
31
|
-
i0.ɵɵtemplate(5,
|
|
34
|
+
i0.ɵɵtemplate(5, ProofOfDocumentUploadComponent_form_0_section_2_ng_template_3_ng_template_0_div_5_Template, 2, 1, "div", 13);
|
|
32
35
|
i0.ɵɵelementEnd();
|
|
33
36
|
i0.ɵɵelement(6, "th");
|
|
34
37
|
i0.ɵɵelementEnd();
|
|
35
38
|
} if (rf & 2) {
|
|
36
|
-
const
|
|
39
|
+
const ctx_r11 = i0.ɵɵnextContext(4);
|
|
37
40
|
i0.ɵɵadvance(5);
|
|
38
|
-
i0.ɵɵproperty("ngIf",
|
|
41
|
+
i0.ɵɵproperty("ngIf", ctx_r11.proofOfAnything);
|
|
42
|
+
} }
|
|
43
|
+
function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
44
|
+
i0.ɵɵtemplate(0, ProofOfDocumentUploadComponent_form_0_section_2_ng_template_3_ng_template_0_Template, 7, 1, "ng-template", 11);
|
|
45
|
+
} }
|
|
46
|
+
function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_5_ng_template_0_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
47
|
+
i0.ɵɵelementStart(0, "div", 14);
|
|
48
|
+
i0.ɵɵelement(1, "app-overlay-info", 16);
|
|
49
|
+
i0.ɵɵelementEnd();
|
|
50
|
+
} if (rf & 2) {
|
|
51
|
+
const ctx_r14 = i0.ɵɵnextContext(5);
|
|
52
|
+
i0.ɵɵadvance(1);
|
|
53
|
+
i0.ɵɵproperty("overlayText", ctx_r14.iconInfo);
|
|
54
|
+
} }
|
|
55
|
+
function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_5_ng_template_0_Template(rf, ctx) { if (rf & 1) {
|
|
56
|
+
i0.ɵɵelementStart(0, "tr")(1, "th", 12);
|
|
57
|
+
i0.ɵɵtext(2, " Document Name ");
|
|
58
|
+
i0.ɵɵtemplate(3, ProofOfDocumentUploadComponent_form_0_section_2_ng_template_5_ng_template_0_div_3_Template, 2, 1, "div", 13);
|
|
59
|
+
i0.ɵɵelementEnd();
|
|
60
|
+
i0.ɵɵelement(4, "th")(5, "th");
|
|
61
|
+
i0.ɵɵelementEnd();
|
|
62
|
+
} if (rf & 2) {
|
|
63
|
+
const ctx_r13 = i0.ɵɵnextContext(4);
|
|
64
|
+
i0.ɵɵadvance(3);
|
|
65
|
+
i0.ɵɵproperty("ngIf", ctx_r13.proofOfAnything);
|
|
66
|
+
} }
|
|
67
|
+
function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_5_Template(rf, ctx) { if (rf & 1) {
|
|
68
|
+
i0.ɵɵtemplate(0, ProofOfDocumentUploadComponent_form_0_section_2_ng_template_5_ng_template_0_Template, 6, 1, "ng-template", 11);
|
|
39
69
|
} }
|
|
40
70
|
const _c2 = () => ({ "width": "90%" });
|
|
41
71
|
const _c3 = a0 => ({ "ng-invalid": a0 });
|
|
42
|
-
function
|
|
43
|
-
const
|
|
44
|
-
i0.ɵɵ
|
|
45
|
-
i0.ɵɵ
|
|
72
|
+
function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_7_td_4_Template(rf, ctx) { if (rf & 1) {
|
|
73
|
+
const _r20 = i0.ɵɵgetCurrentView();
|
|
74
|
+
i0.ɵɵelementStart(0, "td")(1, "p-dropdown", 22);
|
|
75
|
+
i0.ɵɵlistener("ngModelChange", function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_7_td_4_Template_p_dropdown_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r20); const fileObjectQueue_r15 = i0.ɵɵnextContext().$implicit; return i0.ɵɵresetView(fileObjectQueue_r15.selectedDocumentType = $event); })("onChange", function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_7_td_4_Template_p_dropdown_onChange_1_listener($event) { i0.ɵɵrestoreView(_r20); const fileObjectQueue_r15 = i0.ɵɵnextContext().$implicit; const ctx_r21 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r21.changeDocType(fileObjectQueue_r15, $event)); })("onClear", function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_7_td_4_Template_p_dropdown_onClear_1_listener() { i0.ɵɵrestoreView(_r20); const fileObjectQueue_r15 = i0.ɵɵnextContext().$implicit; const ctx_r23 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r23.clearDocType(fileObjectQueue_r15)); });
|
|
76
|
+
i0.ɵɵelementEnd()();
|
|
77
|
+
} if (rf & 2) {
|
|
78
|
+
const ctx_r25 = i0.ɵɵnextContext();
|
|
79
|
+
const fileObjectQueue_r15 = ctx_r25.$implicit;
|
|
80
|
+
const rowIndex_r16 = ctx_r25.rowIndex;
|
|
81
|
+
const ctx_r17 = i0.ɵɵnextContext(3);
|
|
82
|
+
let tmp_4_0;
|
|
83
|
+
i0.ɵɵadvance(1);
|
|
84
|
+
i0.ɵɵstyleMap(i0.ɵɵpureFunction0(6, _c2));
|
|
85
|
+
i0.ɵɵproperty("options", ctx_r17.docTypeDropdown)("ngModel", fileObjectQueue_r15.selectedDocumentType)("showClear", true)("ngClass", i0.ɵɵpureFunction1(7, _c3, (tmp_4_0 = ctx_r17.tableRows.controls[rowIndex_r16].get("docType")) == null ? null : tmp_4_0.invalid));
|
|
86
|
+
} }
|
|
87
|
+
function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_7_Template(rf, ctx) { if (rf & 1) {
|
|
88
|
+
const _r27 = i0.ɵɵgetCurrentView();
|
|
89
|
+
i0.ɵɵelementContainerStart(0, 17);
|
|
90
|
+
i0.ɵɵelementStart(1, "tr", 18)(2, "td");
|
|
46
91
|
i0.ɵɵtext(3);
|
|
47
92
|
i0.ɵɵelementEnd();
|
|
48
|
-
i0.ɵɵ
|
|
49
|
-
i0.ɵɵ
|
|
50
|
-
i0.ɵɵ
|
|
51
|
-
i0.ɵɵ
|
|
52
|
-
i0.ɵɵlistener("click", function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_3_Template_ion_button_click_7_listener() { const restoredCtx = i0.ɵɵrestoreView(_r11); const fileObjectQueue_r8 = restoredCtx.$implicit; const ctx_r14 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r14.removeFromQueue(fileObjectQueue_r8)); });
|
|
53
|
-
i0.ɵɵelement(8, "ion-icon", 18);
|
|
93
|
+
i0.ɵɵtemplate(4, ProofOfDocumentUploadComponent_form_0_section_2_ng_template_7_td_4_Template, 2, 9, "td", 4);
|
|
94
|
+
i0.ɵɵelementStart(5, "td", 19)(6, "ion-button", 20);
|
|
95
|
+
i0.ɵɵlistener("click", function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_7_Template_ion_button_click_6_listener() { const restoredCtx = i0.ɵɵrestoreView(_r27); const fileObjectQueue_r15 = restoredCtx.$implicit; const ctx_r26 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r26.removeFromQueue(fileObjectQueue_r15)); });
|
|
96
|
+
i0.ɵɵelement(7, "ion-icon", 21);
|
|
54
97
|
i0.ɵɵelementEnd()()();
|
|
55
98
|
i0.ɵɵelementContainerEnd();
|
|
56
99
|
} if (rf & 2) {
|
|
57
|
-
const
|
|
58
|
-
const
|
|
59
|
-
const
|
|
60
|
-
let tmp_6_0;
|
|
100
|
+
const fileObjectQueue_r15 = ctx.$implicit;
|
|
101
|
+
const rowIndex_r16 = ctx.rowIndex;
|
|
102
|
+
const ctx_r9 = i0.ɵɵnextContext(3);
|
|
61
103
|
i0.ɵɵadvance(1);
|
|
62
|
-
i0.ɵɵproperty("formGroupName",
|
|
104
|
+
i0.ɵɵproperty("formGroupName", rowIndex_r16);
|
|
63
105
|
i0.ɵɵadvance(2);
|
|
64
|
-
i0.ɵɵtextInterpolate(
|
|
65
|
-
i0.ɵɵadvance(
|
|
66
|
-
i0.ɵɵ
|
|
67
|
-
i0.ɵɵproperty("options", ctx_r5.docTypeDropdown)("ngModel", fileObjectQueue_r8.selectedDocumentType)("showClear", true)("ngClass", i0.ɵɵpureFunction1(9, _c3, (tmp_6_0 = ctx_r5.tableRows.controls[rowIndex_r9].get("docType")) == null ? null : tmp_6_0.invalid));
|
|
106
|
+
i0.ɵɵtextInterpolate(fileObjectQueue_r15 == null ? null : fileObjectQueue_r15.fileName);
|
|
107
|
+
i0.ɵɵadvance(1);
|
|
108
|
+
i0.ɵɵproperty("ngIf", ctx_r9.docType.length > 0);
|
|
68
109
|
} }
|
|
69
110
|
const _c4 = () => ["fal", "plus"];
|
|
70
|
-
function
|
|
71
|
-
const
|
|
72
|
-
i0.ɵɵelementStart(0, "td",
|
|
111
|
+
function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_8_tr_0_td_1_Template(rf, ctx) { if (rf & 1) {
|
|
112
|
+
const _r33 = i0.ɵɵgetCurrentView();
|
|
113
|
+
i0.ɵɵelementStart(0, "td", 24)(1, "div", 25)(2, "b");
|
|
73
114
|
i0.ɵɵtext(3, "+ Add");
|
|
74
115
|
i0.ɵɵelementEnd();
|
|
75
116
|
i0.ɵɵtext(4, " document");
|
|
76
117
|
i0.ɵɵelementEnd();
|
|
77
|
-
i0.ɵɵelementStart(5, "input",
|
|
78
|
-
i0.ɵɵlistener("change", function
|
|
118
|
+
i0.ɵɵelementStart(5, "input", 26, 27);
|
|
119
|
+
i0.ɵɵlistener("change", function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_8_tr_0_td_1_Template_input_change_5_listener($event) { i0.ɵɵrestoreView(_r33); const ctx_r32 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r32.addToQueue($event)); });
|
|
79
120
|
i0.ɵɵelementEnd();
|
|
80
|
-
i0.ɵɵelementStart(7, "ion-button",
|
|
81
|
-
i0.ɵɵlistener("click", function
|
|
82
|
-
i0.ɵɵelement(8, "fa-icon",
|
|
121
|
+
i0.ɵɵelementStart(7, "ion-button", 28);
|
|
122
|
+
i0.ɵɵlistener("click", function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_8_tr_0_td_1_Template_ion_button_click_7_listener() { i0.ɵɵrestoreView(_r33); const _r31 = i0.ɵɵreference(6); return i0.ɵɵresetView(_r31.click()); });
|
|
123
|
+
i0.ɵɵelement(8, "fa-icon", 29);
|
|
83
124
|
i0.ɵɵelementEnd()();
|
|
84
125
|
} if (rf & 2) {
|
|
85
|
-
const
|
|
126
|
+
const ctx_r29 = i0.ɵɵnextContext(5);
|
|
86
127
|
i0.ɵɵadvance(5);
|
|
87
|
-
i0.ɵɵproperty("accept",
|
|
128
|
+
i0.ɵɵproperty("accept", ctx_r29.allowedFileType);
|
|
88
129
|
i0.ɵɵadvance(3);
|
|
89
130
|
i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(2, _c4));
|
|
90
131
|
} }
|
|
91
|
-
function
|
|
92
|
-
const
|
|
93
|
-
i0.ɵɵelementStart(0, "td",
|
|
132
|
+
function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_8_tr_0_td_2_Template(rf, ctx) { if (rf & 1) {
|
|
133
|
+
const _r37 = i0.ɵɵgetCurrentView();
|
|
134
|
+
i0.ɵɵelementStart(0, "td", 24)(1, "div", 25)(2, "b");
|
|
94
135
|
i0.ɵɵtext(3, "+ Add");
|
|
95
136
|
i0.ɵɵelementEnd();
|
|
96
137
|
i0.ɵɵtext(4, " any other document");
|
|
97
138
|
i0.ɵɵelementEnd();
|
|
98
|
-
i0.ɵɵelementStart(5, "input",
|
|
99
|
-
i0.ɵɵlistener("change", function
|
|
139
|
+
i0.ɵɵelementStart(5, "input", 26, 27);
|
|
140
|
+
i0.ɵɵlistener("change", function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_8_tr_0_td_2_Template_input_change_5_listener($event) { i0.ɵɵrestoreView(_r37); const ctx_r36 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r36.addToQueue($event)); });
|
|
100
141
|
i0.ɵɵelementEnd();
|
|
101
|
-
i0.ɵɵelementStart(7, "ion-button",
|
|
102
|
-
i0.ɵɵlistener("click", function
|
|
103
|
-
i0.ɵɵelement(8, "fa-icon",
|
|
142
|
+
i0.ɵɵelementStart(7, "ion-button", 28);
|
|
143
|
+
i0.ɵɵlistener("click", function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_8_tr_0_td_2_Template_ion_button_click_7_listener() { i0.ɵɵrestoreView(_r37); const _r35 = i0.ɵɵreference(6); return i0.ɵɵresetView(_r35.click()); });
|
|
144
|
+
i0.ɵɵelement(8, "fa-icon", 29);
|
|
104
145
|
i0.ɵɵelementEnd()();
|
|
105
146
|
} if (rf & 2) {
|
|
106
|
-
const
|
|
147
|
+
const ctx_r30 = i0.ɵɵnextContext(5);
|
|
107
148
|
i0.ɵɵadvance(5);
|
|
108
|
-
i0.ɵɵproperty("accept",
|
|
149
|
+
i0.ɵɵproperty("accept", ctx_r30.allowedFileType);
|
|
109
150
|
i0.ɵɵadvance(3);
|
|
110
151
|
i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(2, _c4));
|
|
111
152
|
} }
|
|
112
|
-
function
|
|
153
|
+
function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_8_tr_0_Template(rf, ctx) { if (rf & 1) {
|
|
113
154
|
i0.ɵɵelementStart(0, "tr");
|
|
114
|
-
i0.ɵɵtemplate(1,
|
|
155
|
+
i0.ɵɵtemplate(1, ProofOfDocumentUploadComponent_form_0_section_2_ng_template_8_tr_0_td_1_Template, 9, 3, "td", 23)(2, ProofOfDocumentUploadComponent_form_0_section_2_ng_template_8_tr_0_td_2_Template, 9, 3, "td", 23);
|
|
115
156
|
i0.ɵɵelement(3, "td")(4, "td");
|
|
116
157
|
i0.ɵɵelementEnd();
|
|
117
158
|
} if (rf & 2) {
|
|
118
|
-
const
|
|
159
|
+
const ctx_r28 = i0.ɵɵnextContext(4);
|
|
119
160
|
i0.ɵɵadvance(1);
|
|
120
|
-
i0.ɵɵproperty("ngIf",
|
|
161
|
+
i0.ɵɵproperty("ngIf", ctx_r28.fileObjectQueue.length == 0);
|
|
121
162
|
i0.ɵɵadvance(1);
|
|
122
|
-
i0.ɵɵproperty("ngIf",
|
|
163
|
+
i0.ɵɵproperty("ngIf", ctx_r28.fileObjectQueue.length > 0);
|
|
123
164
|
} }
|
|
124
|
-
function
|
|
125
|
-
i0.ɵɵtemplate(0,
|
|
165
|
+
function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_8_Template(rf, ctx) { if (rf & 1) {
|
|
166
|
+
i0.ɵɵtemplate(0, ProofOfDocumentUploadComponent_form_0_section_2_ng_template_8_tr_0_Template, 5, 2, "tr", 4);
|
|
126
167
|
} if (rf & 2) {
|
|
127
|
-
const
|
|
128
|
-
i0.ɵɵproperty("ngIf",
|
|
168
|
+
const ctx_r10 = i0.ɵɵnextContext(3);
|
|
169
|
+
i0.ɵɵproperty("ngIf", ctx_r10.proofOfAnything);
|
|
129
170
|
} }
|
|
130
171
|
function ProofOfDocumentUploadComponent_form_0_section_2_Template(rf, ctx) { if (rf & 1) {
|
|
131
172
|
i0.ɵɵelementStart(0, "section")(1, "p-table", 5);
|
|
132
|
-
i0.ɵɵtemplate(2,
|
|
173
|
+
i0.ɵɵtemplate(2, ProofOfDocumentUploadComponent_form_0_section_2_div_2_Template, 1, 0, "div", 6)(3, ProofOfDocumentUploadComponent_form_0_section_2_ng_template_3_Template, 1, 0, "ng-template", null, 7, i0.ɵɵtemplateRefExtractor)(5, ProofOfDocumentUploadComponent_form_0_section_2_ng_template_5_Template, 1, 0, "ng-template", null, 8, i0.ɵɵtemplateRefExtractor)(7, ProofOfDocumentUploadComponent_form_0_section_2_ng_template_7_Template, 8, 3, "ng-template", 9)(8, ProofOfDocumentUploadComponent_form_0_section_2_ng_template_8_Template, 1, 1, "ng-template", 10);
|
|
133
174
|
i0.ɵɵelementEnd()();
|
|
134
175
|
} if (rf & 2) {
|
|
176
|
+
const _r6 = i0.ɵɵreference(4);
|
|
177
|
+
const _r8 = i0.ɵɵreference(6);
|
|
135
178
|
const ctx_r3 = i0.ɵɵnextContext(2);
|
|
136
179
|
i0.ɵɵadvance(1);
|
|
137
180
|
i0.ɵɵproperty("value", ctx_r3.fileObjectQueue)("loading", ctx_r3.showProgress);
|
|
181
|
+
i0.ɵɵadvance(1);
|
|
182
|
+
i0.ɵɵproperty("ngIf", ctx_r3.docType.length > 0)("ngIfThen", _r6)("ngIfElse", _r8);
|
|
138
183
|
} }
|
|
139
184
|
function ProofOfDocumentUploadComponent_form_0_Template(rf, ctx) { if (rf & 1) {
|
|
140
185
|
i0.ɵɵelementStart(0, "form", 2, 3);
|
|
141
|
-
i0.ɵɵtemplate(2, ProofOfDocumentUploadComponent_form_0_section_2_Template,
|
|
186
|
+
i0.ɵɵtemplate(2, ProofOfDocumentUploadComponent_form_0_section_2_Template, 9, 5, "section", 4);
|
|
142
187
|
i0.ɵɵelementEnd();
|
|
143
188
|
} if (rf & 2) {
|
|
144
189
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -147,65 +192,65 @@ function ProofOfDocumentUploadComponent_form_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
147
192
|
i0.ɵɵproperty("ngIf", ctx_r0.context != "signature" && ctx_r0.context != "uploadZipCodes");
|
|
148
193
|
} }
|
|
149
194
|
function ProofOfDocumentUploadComponent_ul_1_li_1_ng_template_2_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
150
|
-
const
|
|
151
|
-
i0.ɵɵelementStart(0, "div",
|
|
152
|
-
i0.ɵɵelement(1, "i",
|
|
153
|
-
i0.ɵɵelementStart(2, "input",
|
|
154
|
-
i0.ɵɵlistener("change", function ProofOfDocumentUploadComponent_ul_1_li_1_ng_template_2_div_6_Template_input_change_2_listener($event) { i0.ɵɵrestoreView(
|
|
195
|
+
const _r53 = i0.ɵɵgetCurrentView();
|
|
196
|
+
i0.ɵɵelementStart(0, "div", 39);
|
|
197
|
+
i0.ɵɵelement(1, "i", 40);
|
|
198
|
+
i0.ɵɵelementStart(2, "input", 41, 27);
|
|
199
|
+
i0.ɵɵlistener("change", function ProofOfDocumentUploadComponent_ul_1_li_1_ng_template_2_div_6_Template_input_change_2_listener($event) { i0.ɵɵrestoreView(_r53); const employer_r40 = i0.ɵɵnextContext(2).$implicit; const ctx_r51 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r51.addFileToEmployerData($event, employer_r40)); });
|
|
155
200
|
i0.ɵɵelementEnd();
|
|
156
|
-
i0.ɵɵelementStart(4, "ion-button",
|
|
157
|
-
i0.ɵɵlistener("click", function ProofOfDocumentUploadComponent_ul_1_li_1_ng_template_2_div_6_Template_ion_button_click_4_listener() { i0.ɵɵrestoreView(
|
|
201
|
+
i0.ɵɵelementStart(4, "ion-button", 42);
|
|
202
|
+
i0.ɵɵlistener("click", function ProofOfDocumentUploadComponent_ul_1_li_1_ng_template_2_div_6_Template_ion_button_click_4_listener() { i0.ɵɵrestoreView(_r53); const _r50 = i0.ɵɵreference(3); return i0.ɵɵresetView(_r50.click()); });
|
|
158
203
|
i0.ɵɵtext(5, " Upload ");
|
|
159
204
|
i0.ɵɵelementEnd()();
|
|
160
205
|
} if (rf & 2) {
|
|
161
|
-
const
|
|
206
|
+
const ctx_r48 = i0.ɵɵnextContext(4);
|
|
162
207
|
i0.ɵɵadvance(2);
|
|
163
|
-
i0.ɵɵproperty("accept",
|
|
208
|
+
i0.ɵɵproperty("accept", ctx_r48.allowedFileType);
|
|
164
209
|
} }
|
|
165
210
|
function ProofOfDocumentUploadComponent_ul_1_li_1_ng_template_2_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
166
|
-
const
|
|
167
|
-
i0.ɵɵelementStart(0, "div")(1, "div",
|
|
168
|
-
i0.ɵɵelement(4, "i",
|
|
211
|
+
const _r57 = i0.ɵɵgetCurrentView();
|
|
212
|
+
i0.ɵɵelementStart(0, "div")(1, "div", 43)(2, "div", 44)(3, "span");
|
|
213
|
+
i0.ɵɵelement(4, "i", 45);
|
|
169
214
|
i0.ɵɵtext(5);
|
|
170
215
|
i0.ɵɵelementEnd();
|
|
171
|
-
i0.ɵɵelementStart(6, "ion-button",
|
|
172
|
-
i0.ɵɵlistener("click", function ProofOfDocumentUploadComponent_ul_1_li_1_ng_template_2_div_7_Template_ion_button_click_6_listener() { i0.ɵɵrestoreView(
|
|
173
|
-
i0.ɵɵelement(7, "ion-icon",
|
|
216
|
+
i0.ɵɵelementStart(6, "ion-button", 46);
|
|
217
|
+
i0.ɵɵlistener("click", function ProofOfDocumentUploadComponent_ul_1_li_1_ng_template_2_div_7_Template_ion_button_click_6_listener() { i0.ɵɵrestoreView(_r57); const employer_r40 = i0.ɵɵnextContext(2).$implicit; const ctx_r55 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r55.removeFileFromEmployerData(employer_r40)); });
|
|
218
|
+
i0.ɵɵelement(7, "ion-icon", 21);
|
|
174
219
|
i0.ɵɵelementEnd()()()();
|
|
175
220
|
} if (rf & 2) {
|
|
176
|
-
const
|
|
221
|
+
const employer_r40 = i0.ɵɵnextContext(2).$implicit;
|
|
177
222
|
i0.ɵɵadvance(5);
|
|
178
|
-
i0.ɵɵtextInterpolate1("",
|
|
223
|
+
i0.ɵɵtextInterpolate1("", employer_r40.file.fileName, " ");
|
|
179
224
|
} }
|
|
180
225
|
function ProofOfDocumentUploadComponent_ul_1_li_1_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
181
|
-
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col",
|
|
226
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 35)(2, "h4", 36);
|
|
182
227
|
i0.ɵɵtext(3);
|
|
183
228
|
i0.ɵɵelementEnd();
|
|
184
|
-
i0.ɵɵelement(4, "app-overlay-info",
|
|
229
|
+
i0.ɵɵelement(4, "app-overlay-info", 15);
|
|
185
230
|
i0.ɵɵelementEnd()();
|
|
186
|
-
i0.ɵɵelementStart(5, "div",
|
|
187
|
-
i0.ɵɵtemplate(6, ProofOfDocumentUploadComponent_ul_1_li_1_ng_template_2_div_6_Template, 6, 1, "div",
|
|
231
|
+
i0.ɵɵelementStart(5, "div", 37);
|
|
232
|
+
i0.ɵɵtemplate(6, ProofOfDocumentUploadComponent_ul_1_li_1_ng_template_2_div_6_Template, 6, 1, "div", 38)(7, ProofOfDocumentUploadComponent_ul_1_li_1_ng_template_2_div_7_Template, 8, 1, "div", 4);
|
|
188
233
|
i0.ɵɵelementEnd();
|
|
189
234
|
} if (rf & 2) {
|
|
190
|
-
const
|
|
191
|
-
const
|
|
235
|
+
const employer_r40 = i0.ɵɵnextContext().$implicit;
|
|
236
|
+
const ctx_r42 = i0.ɵɵnextContext(2);
|
|
192
237
|
i0.ɵɵadvance(3);
|
|
193
|
-
i0.ɵɵtextInterpolate(
|
|
238
|
+
i0.ɵɵtextInterpolate(employer_r40.employerName);
|
|
194
239
|
i0.ɵɵadvance(1);
|
|
195
|
-
i0.ɵɵproperty("overlayText",
|
|
240
|
+
i0.ɵɵproperty("overlayText", ctx_r42.iconInfo);
|
|
196
241
|
i0.ɵɵadvance(2);
|
|
197
|
-
i0.ɵɵproperty("ngIf", !
|
|
242
|
+
i0.ɵɵproperty("ngIf", !employer_r40.file);
|
|
198
243
|
i0.ɵɵadvance(1);
|
|
199
|
-
i0.ɵɵproperty("ngIf",
|
|
244
|
+
i0.ɵɵproperty("ngIf", employer_r40.file);
|
|
200
245
|
} }
|
|
201
246
|
function ProofOfDocumentUploadComponent_ul_1_li_1_Template(rf, ctx) { if (rf & 1) {
|
|
202
|
-
i0.ɵɵelementStart(0, "li",
|
|
203
|
-
i0.ɵɵtemplate(2, ProofOfDocumentUploadComponent_ul_1_li_1_ng_template_2_Template, 8, 4, "ng-template",
|
|
247
|
+
i0.ɵɵelementStart(0, "li", 32)(1, "p-card", 33);
|
|
248
|
+
i0.ɵɵtemplate(2, ProofOfDocumentUploadComponent_ul_1_li_1_ng_template_2_Template, 8, 4, "ng-template", 34);
|
|
204
249
|
i0.ɵɵelementEnd()();
|
|
205
250
|
} }
|
|
206
251
|
function ProofOfDocumentUploadComponent_ul_1_Template(rf, ctx) { if (rf & 1) {
|
|
207
|
-
i0.ɵɵelementStart(0, "ul",
|
|
208
|
-
i0.ɵɵtemplate(1, ProofOfDocumentUploadComponent_ul_1_li_1_Template, 3, 0, "li",
|
|
252
|
+
i0.ɵɵelementStart(0, "ul", 30);
|
|
253
|
+
i0.ɵɵtemplate(1, ProofOfDocumentUploadComponent_ul_1_li_1_Template, 3, 0, "li", 31);
|
|
209
254
|
i0.ɵɵelementEnd();
|
|
210
255
|
} if (rf & 2) {
|
|
211
256
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -241,11 +286,13 @@ export class ProofOfDocumentUploadComponent {
|
|
|
241
286
|
tableRowArray: this.formBuilder.array([])
|
|
242
287
|
});
|
|
243
288
|
this.docForm.emit(this.formArray);
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
289
|
+
if (this.docType.length > 0) {
|
|
290
|
+
this.docTypeDropdown = this.docType.map((i) => ({
|
|
291
|
+
label: i.docDescription,
|
|
292
|
+
value: i,
|
|
293
|
+
disabled: false
|
|
294
|
+
}));
|
|
295
|
+
}
|
|
249
296
|
this.fileTypes = this.allowedFileType.split(',');
|
|
250
297
|
}
|
|
251
298
|
writeValue() {
|
|
@@ -302,9 +349,12 @@ export class ProofOfDocumentUploadComponent {
|
|
|
302
349
|
encoded = await toBase64(file);
|
|
303
350
|
}
|
|
304
351
|
const fileObject = new FileObject(this.selectedDocumentType?.docType, this.selectedDocumentType?.docDescription, file.name, file.type, encoded);
|
|
305
|
-
var uploadFileForm = this.formBuilder.group({
|
|
306
|
-
|
|
307
|
-
|
|
352
|
+
var uploadFileForm = this.formBuilder.group({});
|
|
353
|
+
if (this.docType.length > 0) {
|
|
354
|
+
uploadFileForm = this.formBuilder.group({
|
|
355
|
+
'docType': [null, Validators.required]
|
|
356
|
+
});
|
|
357
|
+
}
|
|
308
358
|
this.tableRows.push(uploadFileForm);
|
|
309
359
|
this.fileObjectQueue.push(fileObject);
|
|
310
360
|
this.upload.emit(this.fileObjectQueue);
|
|
@@ -439,7 +489,7 @@ export class ProofOfDocumentUploadComponent {
|
|
|
439
489
|
provide: NG_VALUE_ACCESSOR,
|
|
440
490
|
useExisting: ProofOfDocumentUploadComponent,
|
|
441
491
|
multi: true
|
|
442
|
-
}]), i0.ɵɵNgOnChangesFeature], decls: 2, vars: 2, consts: [[3, "formGroup", 4, "ngIf"], ["class", "no-bullets gap-3", 4, "ngIf"], [3, "formGroup"], ["uploadFileFormDirective", "ngForm"], [4, "ngIf"], ["dataKey", "fileName", "responsiveLayout", "scroll", 3, "value", "loading"], ["
|
|
492
|
+
}]), i0.ɵɵNgOnChangesFeature], decls: 2, vars: 2, consts: [[3, "formGroup", 4, "ngIf"], ["class", "no-bullets gap-3", 4, "ngIf"], [3, "formGroup"], ["uploadFileFormDirective", "ngForm"], [4, "ngIf"], ["dataKey", "fileName", "responsiveLayout", "scroll", 3, "value", "loading"], [4, "ngIf", "ngIfThen", "ngIfElse"], ["showDocTypeHeading", ""], ["removeDocTypeHeading", ""], ["pTemplate", "body"], ["pTemplate", "footer"], ["pTemplate", "header"], [1, "flex", "flex-row", "align-items-center"], ["class", "pl-1", 4, "ngIf"], [1, "pl-1"], [2, "margin-top", "2px", "margin-left", "6px", 3, "overlayText"], [3, "overlayText"], ["formArrayName", "tableRowArray"], [3, "formGroupName"], [1, "ion-text-right", 2, "padding-right", "unset"], ["shape", "round", "fill", "outline", "size", "small", "pTooltip", "Remove", "tooltipPosition", "bottom", 1, "ion-padding-left", 3, "click"], ["name", "trash-outline"], ["formControlName", "docType", "optionLabel", "label", "optionValue", "value", "placeholder", "Select a Document Type", "appendTo", "body", 1, "ng-invalid", "ng-dirty", 3, "options", "ngModel", "showClear", "ngClass", "ngModelChange", "onChange", "onClear"], ["class", "file-input-container flex flex-row align-items-center", 4, "ngIf"], [1, "file-input-container", "flex", "flex-row", "align-items-center"], [1, "pr-1"], ["type", "file", 3, "accept", "change"], ["fileInput", ""], ["aria-label", "Add Files", "fill", "outline", "size", "small", 1, "action-button", 3, "click"], [1, "action-icon", 3, "icon"], [1, "no-bullets", "gap-3"], ["class", "pb-3", 4, "ngFor", "ngForOf"], [1, "pb-3"], [1, "pb-2", "gap-3"], ["class", "p-3", "pTemplate", "content"], [1, "flex", "flex-row", "align-items-center", "gap-1"], ["stlye", "margin: 0", 1, "m-0"], [1, "flex", "align-items-center", "justify-content-center", "flex-column", "border-2", "border-dashed", "border-400", "rounded-sm", "p-2"], ["class", "flex align-items-center justify-content-center flex-column", 4, "ngIf"], [1, "flex", "align-items-center", "justify-content-center", "flex-column"], [1, "pi", "pi-upload", "border-2", "border-circle", "p-2", "m-2", "text-xl", "text-400"], ["id", "employerWorkSearchFileInput", "type", "file", 2, "display", "none", 3, "accept", "change"], ["aria-label", "Add Files", "fill", "outline", "size", "small", 1, "action-button", 2, "float", "inline-end", 3, "click"], [1, "flex", "align-items-center", "justify-content-center", "flex-column", "p-0", "sm:p-2", "gap-5"], [1, "card", "m-0", "px-6", "flex", "align-items-center", "justify-content-center", "flex-column", "gap-2"], [1, "pi", "pi-file", 2, "color", "#4478AA"], ["aria-label", "Remove Files", "fill", "outline", "size", "small", "pTooltip", "Remove", "tooltipPosition", "bottom", 1, "ion-padding-left", 2, "float", "inline-end", 3, "click"]], template: function ProofOfDocumentUploadComponent_Template(rf, ctx) { if (rf & 1) {
|
|
443
493
|
i0.ɵɵtemplate(0, ProofOfDocumentUploadComponent_form_0_Template, 3, 2, "form", 0)(1, ProofOfDocumentUploadComponent_ul_1_Template, 2, 1, "ul", 1);
|
|
444
494
|
} if (rf & 2) {
|
|
445
495
|
i0.ɵɵproperty("ngIf", !ctx.employerDataModel);
|
|
@@ -453,7 +503,7 @@ export class ProofOfDocumentUploadComponent {
|
|
|
453
503
|
provide: NG_VALUE_ACCESSOR,
|
|
454
504
|
useExisting: ProofOfDocumentUploadComponent,
|
|
455
505
|
multi: true
|
|
456
|
-
}], template: "<form [formGroup]=\"formArray\" #uploadFileFormDirective=\"ngForm\" *ngIf=\"!employerDataModel\">\r\n <section *ngIf=\"this.context != 'signature' && this.context !='uploadZipCodes'\">\r\n <p-table dataKey=\"fileName\" [value]=\"fileObjectQueue\" responsiveLayout=\"scroll\" [loading]=\"showProgress\">\r\n <ng-template pTemplate=\"header\">\r\n
|
|
506
|
+
}], template: "<form [formGroup]=\"formArray\" #uploadFileFormDirective=\"ngForm\" *ngIf=\"!employerDataModel\">\r\n <section *ngIf=\"this.context != 'signature' && this.context !='uploadZipCodes'\">\r\n <p-table dataKey=\"fileName\" [value]=\"fileObjectQueue\" responsiveLayout=\"scroll\" [loading]=\"showProgress\">\r\n <div *ngIf = \"docType.length > 0; then showDocTypeHeading; else removeDocTypeHeading\" ></div>\r\n <ng-template #showDocTypeHeading>\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n <th>Document Name</th>\r\n <th class=\"flex flex-row align-items-center\">\r\n Document Type\r\n <div *ngIf=\"proofOfAnything\" class=\"pl-1\">\r\n <app-overlay-info [overlayText]=\"iconInfo\" style=\"margin-top: 2px; margin-left: 6px; \"></app-overlay-info>\r\n </div>\r\n </th>\r\n <th></th>\r\n </tr>\r\n </ng-template>\r\n </ng-template>\r\n <ng-template #removeDocTypeHeading>\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n <th class=\"flex flex-row align-items-center\">\r\n Document Name\r\n <div *ngIf=\"proofOfAnything\" class=\"pl-1\">\r\n <app-overlay-info [overlayText]=\"iconInfo\"></app-overlay-info>\r\n </div>\r\n </th>\r\n <th></th>\r\n <th></th>\r\n </tr>\r\n </ng-template>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-fileObjectQueue let-rowIndex=\"rowIndex\">\r\n <ng-container formArrayName=\"tableRowArray\">\r\n <tr [formGroupName]=\"rowIndex\">\r\n <td>{{ fileObjectQueue?.fileName }}</td>\r\n <td *ngIf=\"docType.length > 0\">\r\n <p-dropdown [options]=\"docTypeDropdown\" formControlName=\"docType\" [(ngModel)]=\"fileObjectQueue.selectedDocumentType\" \r\n (onChange)=\"changeDocType(fileObjectQueue,$event)\" \r\n optionLabel=\"label\" optionValue=\"value\" placeholder=\"Select a Document Type\" appendTo=body\r\n [style]=\"{'width':'90%'}\"\r\n class=\"ng-invalid ng-dirty\"\r\n [showClear]=\"true\"\r\n (onClear)=\"clearDocType(fileObjectQueue)\"\r\n [ngClass]=\"{'ng-invalid':tableRows.controls[rowIndex].get('docType')?.invalid}\"/>\r\n </td>\r\n <td class=\"ion-text-right\" style=\"padding-right: unset\">\r\n <ion-button shape=\"round\" fill=\"outline\" size=\"small\" pTooltip=\"Remove\" (click)=\"removeFromQueue(fileObjectQueue)\"\r\n tooltipPosition=\"bottom\" class=\"ion-padding-left\">\r\n <ion-icon name=\"trash-outline\"></ion-icon>\r\n </ion-button>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n \r\n </ng-template>\r\n <ng-template pTemplate=\"footer\"> \r\n <tr *ngIf=\"proofOfAnything\">\r\n <td *ngIf=\"fileObjectQueue.length == 0\" class=\"file-input-container flex flex-row align-items-center\">\r\n <div class=\"pr-1\"><b>+ Add</b> document</div >\r\n <input type=\"file\" #fileInput [accept]=\"allowedFileType\"\r\n (change)=\"addToQueue($event)\" />\r\n <ion-button aria-label=\"Add Files\" (click)=\"fileInput.click()\" fill=\"outline\" size=\"small\" class=\"action-button\">\r\n <fa-icon [icon]=\"['fal', 'plus']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n </td>\r\n <td *ngIf=\"fileObjectQueue.length > 0\" class=\"file-input-container flex flex-row align-items-center\">\r\n <div class=\"pr-1\"><b>+ Add</b> any other document</div >\r\n <input type=\"file\" #fileInput [accept]=\"allowedFileType\"\r\n (change)=\"addToQueue($event)\" />\r\n <ion-button aria-label=\"Add Files\" (click)=\"fileInput.click()\" fill=\"outline\" size=\"small\" class=\"action-button\">\r\n <fa-icon [icon]=\"['fal', 'plus']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n </td>\r\n <td></td>\r\n <td >\r\n \r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </section>\r\n </form>\r\n <ul *ngIf=\"employerDataModel\" class=\"no-bullets gap-3\">\r\n <li class=\"pb-3\" *ngFor=\"let employer of employerDataModel; let i = index\">\r\n <p-card class=\"pb-2 gap-3\">\r\n <ng-template class=\"p-3\" pTemplate=\"content\" let-files let-uploadedFiles=\"uploadedFiles\" let-removeFileCallback=\"removeFileCallback\" let-removeUploadedFileCallback=\"removeUploadedFileCallback\" let-chooseCallback=\"chooseCallback\">\r\n \r\n <ion-row>\r\n <ion-col class=\"flex flex-row align-items-center gap-1\">\r\n <h4 class=\"m-0\" stlye=\"margin: 0\">{{employer.employerName}}</h4>\r\n <app-overlay-info [overlayText]=\"iconInfo\"\r\n style=\"margin-top: 2px; margin-left: 6px;\"></app-overlay-info>\r\n </ion-col>\r\n </ion-row>\r\n <div class=\"flex align-items-center justify-content-center flex-column border-2 border-dashed border-400 rounded-sm p-2\">\r\n <div *ngIf=\"!employer.file\" class=\"flex align-items-center justify-content-center flex-column\">\r\n <i class=\"pi pi-upload border-2 border-circle p-2 m-2 text-xl text-400\"></i>\r\n <input id=\"employerWorkSearchFileInput\" type=\"file\" #fileInput [accept]=\"allowedFileType\"\r\n (change)=\"addFileToEmployerData($event,employer)\" style=\"display: none\" />\r\n <ion-button aria-label=\"Add Files\" (click)=\"fileInput.click()\" fill=\"outline\" size=\"small\" class=\"action-button\" style=\"float:inline-end\">\r\n Upload\r\n </ion-button>\r\n </div>\r\n <div *ngIf=\"employer.file\">\r\n\r\n <div class=\"flex align-items-center justify-content-center flex-column p-0 sm:p-2 gap-5\">\r\n <div\r\n class=\"card m-0 px-6 flex align-items-center justify-content-center flex-column gap-2\"\r\n > \r\n <span>\r\n <i class=\"pi pi-file\" style=\"color: #4478AA\"></i>{{ employer.file.fileName }}\r\n </span>\r\n <ion-button aria-label=\"Remove Files\" fill=\"outline\" size=\"small\" pTooltip=\"Remove\" (click)=\"removeFileFromEmployerData(employer)\"\r\n tooltipPosition=\"bottom\" class=\"ion-padding-left\" style=\"float: inline-end\">\r\n <ion-icon name=\"trash-outline\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n\r\n \r\n </ng-template>\r\n </p-card>\r\n </li>\r\n </ul>", styles: [".file-input-container{text-align:right}.file-input-container input[type=file]{display:none}.file-input-container label{border:1px solid #ccc;padding:6px 12px;cursor:pointer}.upload-input-container input[type=file]{display:none}.upload-input-container label{border:1px solid #ccc;cursor:pointer}:host ::ng-deep .p-datatable .p-datatable-thead>tr>th{background:#fff!important;background-color:#fff!important}ol,ul{list-style:none}ul{list-style-type:square}li{color:var(--ion-color-grey)}.ng-invalid{border-color:#f44336}.seperate-row td:not(:first-child):not(:last-child){border-left:none;border-right:none}.seperate-row td:first-child{border-right:none}.seperate-row td:last-child{border-left:none;padding:1rem .55rem;padding-right:20px}.seperate-row td{border:1px solid #e4e4e4;font-family:\"Open Sans, Light\";font-size:26px;padding:1rem .55rem}.no-bullets{list-style-type:none;padding-left:0}:host ::ng-deep .remove-header .p-fileupload-buttonbar{display:none}:host ::ng-deep .remove-header .p-fileupload-content{border-top-right-radius:4px;border-top-left-radius:4px;padding:1rem}:host ::ng-deep .p-card .p-card-body .p-card-content{padding:1rem!important}.border-400{border-color:#4478aa!important;border-radius:6px}\n"] }]
|
|
457
507
|
}], () => [{ type: i1.UntypedFormBuilder }, { type: i2.ToastController }], { uploadFileFormDirective: [{
|
|
458
508
|
type: ViewChild,
|
|
459
509
|
args: ['uploadFileFormDirective', { static: false }]
|
|
@@ -507,4 +557,4 @@ export class FileObject {
|
|
|
507
557
|
this.employerName = employerName;
|
|
508
558
|
}
|
|
509
559
|
}
|
|
510
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvb2Ytb2YtZG9jdW1lbnQtdXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9wcm9vZi1vZi1kb2N1bWVudC11cGxvYWQvcHJvb2Ytb2YtZG9jdW1lbnQtdXBsb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9wcm9vZi1vZi1kb2N1bWVudC11cGxvYWQvcHJvb2Ytb2YtZG9jdW1lbnQtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUE0QixTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDL0ksT0FBTyxFQUFpRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0lDT2xILCtCQUEwQztJQUN4Qyx1Q0FDNkQ7SUFDL0QsaUJBQU07OztJQUZjLGVBQXdCO0lBQXhCLDZDQUF3Qjs7O0lBTGhELDBCQUFJLFNBQUE7SUFDRSw2QkFBYTtJQUFBLGlCQUFLO0lBQ3RCLDZCQUE2QztJQUMzQywrQkFDQTtJQUFBLCtHQUdNO0lBQ1IsaUJBQUs7SUFDTCxxQkFBUztJQUNYLGlCQUFLOzs7SUFOSyxlQUFxQjtJQUFyQiw2Q0FBcUI7Ozs7OztJQVMvQixpQ0FBNEM7SUFDMUMsOEJBQStCLFNBQUE7SUFDekIsWUFBK0I7SUFBQSxpQkFBSztJQUN4QywwQkFBSSxxQkFBQTtJQUNnRSxrUUFBYSxnRUFDekYsSUFEOEgsZ1JBQ3hHLGVBQUEsaURBQXFDLENBQUEsSUFEbUUsd1FBTXpHLGVBQUEsd0NBQTZCLENBQUEsSUFONEU7SUFBcEgs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TUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtJQUN2RCxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO0lBQ2hDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO0FBQzFCLENBQUMsQ0FBQyxDQUFBO0FBRUYsTUFBTSxPQUFPLFVBQVU7SUFVckIsWUFBWSxPQUFlLEVBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUUsV0FBbUIsRUFBRSxhQUFxQixFQUFFLFFBQWdCLEVBQUUsWUFBb0I7UUFDNUksSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDbkMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGRyZW4sIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiAgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLFVudHlwZWRGb3JtQXJyYXksIE5nRm9ybSwgTkdfVkFMVUVfQUNDRVNTT1IsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbC91dGlsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDYXB0Y2hhU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NhcHRjaGEvY2FwdGNoYS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2xhaW1hbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2xhaW1hbnQtc2VydmljZS9jbGFpbWFudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVG9hc3RDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xyXG5pbXBvcnQgeyBEb2NUeXBlVXBsb2FkLCBEb2NVcGxvYWRNb2RlbCwgRG9jVHlwZURyb3Bkb3duT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpbGV1cGxvYWQvRG9jVXBsb2FkTW9kZWwnO1xyXG5pbXBvcnQgeyBFbXBsb3llckRhdGFNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9maWxldXBsb2FkL0VtcGxveWVyRGF0YU1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXByb29mLW9mLWRvY3VtZW50LXVwbG9hZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb29mLW9mLWRvY3VtZW50LXVwbG9hZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3Byb29mLW9mLWRvY3VtZW50LXVwbG9hZC5jb21wb25lbnQuc2NzcycsXHJcbiAgcHJvdmlkZXJzOiBbe1xyXG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICB1c2VFeGlzdGluZzogUHJvb2ZPZkRvY3VtZW50VXBsb2FkQ29tcG9uZW50LFxyXG4gICAgbXVsdGk6IHRydWVcclxuICB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvb2ZPZkRvY3VtZW50VXBsb2FkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xyXG5cclxuICBwdWJsaWMgc2hvd1Byb2dyZXNzID0gZmFsc2U7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3VwbG9hZEZpbGVGb3JtRGlyZWN0aXZlJywgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgcHVibGljIHVwbG9hZEZpbGVGb3JtRGlyZWN0aXZlOiBOZ0Zvcm07XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHVwbG9hZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIGZpbGVzOiBFdmVudEVtaXR0ZXI8TWFwPEZpbGUsIHN0cmluZz4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICB1cGxvYWRFbXBsb3llckZpbGU6IEV2ZW50RW1pdHRlcjxFbXBsb3llckRhdGFNb2RlbFtdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpIFxyXG4gIGRvY0Zvcm06IEV2ZW50RW1pdHRlcjxVbnR5cGVkRm9ybUdyb3VwPiA9IG5ldyBFdmVudEVtaXR0ZXI8VW50eXBlZEZvcm1Hcm91cD4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZHJlbignZmlsZUlucHV0JykgZmlsZUlucHV0O1xyXG4gIFxyXG4gIHF1ZXVlOiBGaWxlW10gPSBbXTtcclxuXHJcbiAgZmlsZU9iamVjdFF1ZXVlOiBGaWxlT2JqZWN0W10gPSBbXTtcclxuXHJcbiAgbWFwT2ZGaWxlczogTWFwPEZpbGUsIHN0cmluZz4gPSBuZXcgTWFwKCk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYWxsb3dlZEZpbGVUeXBlOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwcm9vZk9mQW55dGhpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBjb250ZXh0OiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd1NlcGFyYXRlQXR0YWNoQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZG9jVXBsb2FkTW9kZWw6IERvY1VwbG9hZE1vZGVsID0gbnVsbDtcclxuXHJcbiAgQElucHV0KClcclxuICBzZWxlY3RlZERvY3VtZW50VHlwZTogRG9jVHlwZVVwbG9hZCA9IG51bGw7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZG9jVHlwZTpEb2NUeXBlVXBsb2FkW10gfCB1bmRlZmluZWQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaWNvbkluZm86c3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSBlbXBsb3llckRhdGFNb2RlbCA6IEVtcGxveWVyRGF0YU1vZGVsW107XHJcbiAgZG9jVHlwZURyb3Bkb3duOiBEb2NUeXBlRHJvcGRvd25PcHRpb25bXSB8IHVuZGVmaW5lZDtcclxuXHJcbiAgcHVibGljIHVwbG9hZEZpbGVGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG4gIGZvcm1BcnJheTogVW50eXBlZEZvcm1Hcm91cDtcclxuICBpbWFnZUh0bWw6IHN0cmluZztcclxuICBkb2N1bWVudFR5cGVzOiBEb2NUeXBlVXBsb2FkW10gfCB1bmRlZmluZWQ7XHJcbiAgZmlsZVR5cGVzOiBzdHJpbmdbXTtcclxuICBleHBhbmRlZFJvd3M6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID0ge307XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLCBcclxuICAgIHB1YmxpYyB0b2FzdENvbnRyb2xsZXI6IFRvYXN0Q29udHJvbGxlcikge1xyXG4gICAgIFxyXG4gIH1cclxuXHJcbiAgZ2V0IHVwbG9hZEZpbGVDdHJsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudXBsb2FkRmlsZUZvcm0uY29udHJvbHNbJ3VwbG9hZEZpbGVDdHJsJ107XHJcbiAgfVxyXG5cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmZvcm1BcnJheSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgICB0YWJsZVJvd0FycmF5OiB0aGlzLmZvcm1CdWlsZGVyLmFycmF5KFtcclxuICAgICAgXSlcclxuICAgIH0pXHJcbiAgICB0aGlzLmRvY0Zvcm0uZW1pdCh0aGlzLmZvcm1BcnJheSk7XHJcbiAgICB0aGlzLmRvY1R5cGVEcm9wZG93biA9IHRoaXMuZG9jVHlwZS5tYXAoKGkpPT4oe1xyXG4gICAgICBsYWJlbDogaS5kb2NEZXNjcmlwdGlvbixcclxuICAgICAgdmFsdWU6IGksXHJcbiAgICAgIGRpc2FibGVkOiBmYWxzZVxyXG4gICAgfSkpO1xyXG5cclxuICAgIHRoaXMuZmlsZVR5cGVzID0gdGhpcy5hbGxvd2VkRmlsZVR5cGUuc3BsaXQoJywnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25DaGFuZ2U6IEZ1bmN0aW9uID0gKCkgPT4ge1xyXG5cclxuICB9O1xyXG4gIHdyaXRlVmFsdWUoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKCk6IHZvaWQge1xyXG4gIH1cclxuXHJcblxyXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xyXG5cclxuICB9XHJcblxyXG4gIGdldCB0YWJsZVJvd3MoKTogVW50eXBlZEZvcm1BcnJheSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtQXJyYXkuZ2V0KCd0YWJsZVJvd0FycmF5JykgYXMgVW50eXBlZEZvcm1BcnJheTtcclxuICB9XHJcblxyXG4gIGNoZWNrRmlsZVR5cGUoZmlsZTpGaWxlLCBhcHByb3ZlZEZpbGVUeXBlOnN0cmluZ1tdKTpib29sZWFue1xyXG4gICAgZm9yKGxldCB0eXBlIG9mIGFwcHJvdmVkRmlsZVR5cGUpe1xyXG4gICAgICBpZihmaWxlLnR5cGU9PT10eXBlKXtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuICBcclxuICBhc3luYyBhZGRUb1F1ZXVlKGV2ZW50KSB7XHJcbiAgICBsZXQgY3VyVXBsZEZpbGVMZW46IG51bWJlciA9IGV2ZW50LnRhcmdldC5maWxlcy5sZW5ndGg7XHJcbiAgICBsZXQgcHJlVXBsZEZpbGVMZW46IG51bWJlciA9IHRoaXMuZmlsZU9iamVjdFF1ZXVlLmxlbmd0aDtcclxuICAgIGNvbnNvbGUubG9nKCdjdXJVcGxkRmlsZUxlbiA9ICcsIGN1clVwbGRGaWxlTGVuKTtcclxuICAgIGNvbnNvbGUubG9nKCdwcmVVcGxkRmlsZUxlbiA9ICcsIHByZVVwbGRGaWxlTGVuKTtcclxuICAgIGNvbnNvbGUubG9nKCd0aGlzLmRvY1VwbG9hZE1vZGVsLnRvdGFsRG9jcyA9PSAnLCB0aGlzLmRvY1VwbG9hZE1vZGVsLnRvdGFsRG9jcyk7XHJcbiAgICBpZiAodGhpcy5kb2NVcGxvYWRNb2RlbC50b3RhbERvY3MhPT1udWxsICYmKGN1clVwbGRGaWxlTGVuICsgcHJlVXBsZEZpbGVMZW4pID4gdGhpcy5kb2NVcGxvYWRNb2RlbC50b3RhbERvY3MpIHtcclxuICAgICAgdGhpcy5lcnJvcihcIllvdSBjYW4gbm90IHVwbG9hZCBtb3JlIHRoYW4gXCIgKyB0aGlzLmRvY1VwbG9hZE1vZGVsLnRvdGFsRG9jcyArIFwiIGZpbGUocykuXCIpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSB0cnVlO1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBldmVudC50YXJnZXQuZmlsZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgY29uc3QgZmlsZTogRmlsZSA9IGV2ZW50LnRhcmdldC5maWxlc1tpXTtcclxuICAgICAgbGV0IGVuY29kZWQ7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdzaXplID0gJywgdGhpcy5nZXRTaXplSW5NQihmaWxlPy5zaXplKSlcclxuICAgICAgaWYodGhpcy5maWxlT2JqZWN0UXVldWUuc29tZShlPT5lLmZpbGVOYW1lPT09IGZpbGUubmFtZSkpe1xyXG4gICAgICAgIHRoaXMuZXJyb3IoJ0RvY3VtZW50IHdpdGggdGhlIHNhbWUgZmlsZSBuYW1lIGFscmVhZHkgZXhpc3RzLicpO1xyXG4gICAgICAgIHRoaXMuc2hvd1Byb2dyZXNzID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmRvY1VwbG9hZE1vZGVsLnNpemUhPT1udWxsICYmIHRoaXMuZ2V0U2l6ZUluTUIoZmlsZT8uc2l6ZSkgPiB0aGlzLmRvY1VwbG9hZE1vZGVsLnNpemUpIHtcclxuICAgICAgICB0aGlzLmVycm9yKCdGaWxlIHNpemUgY2FuIG5vdCBiZSBtb3JlIHRoYW4gJyArIHRoaXMuZG9jVXBsb2FkTW9kZWwuc2l6ZSArICcgTUIuJyk7XHJcbiAgICAgICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYoIXRoaXMuY2hlY2tGaWxlVHlwZShmaWxlLHRoaXMuZmlsZVR5cGVzKSl7XHJcbiAgICAgICAgdGhpcy5lcnJvcignRmlsZSB0eXBlIG5vdCBhbGxvd2VkJyk7XHJcbiAgICAgICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGZpbGUpIHtcclxuICAgICAgICBlbmNvZGVkID0gYXdhaXQgdG9CYXNlNjQoZmlsZSk7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgZmlsZU9iamVjdCA9IG5ldyBGaWxlT2JqZWN0KHRoaXMuc2VsZWN0ZWREb2N1bWVudFR5cGU/LmRvY1R5cGUsdGhpcy5zZWxlY3RlZERvY3VtZW50VHlwZT8uZG9jRGVzY3JpcHRpb24sIGZpbGUubmFtZSwgZmlsZS50eXBlLCBlbmNvZGVkKTtcclxuICAgICAgdmFyIHVwbG9hZEZpbGVGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgICAgJ2RvY1R5cGUnOltudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXVxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy50YWJsZVJvd3MucHVzaCh1cGxvYWRGaWxlRm9ybSlcclxuICAgICAgdGhpcy5maWxlT2JqZWN0UXVldWUucHVzaChmaWxlT2JqZWN0KTtcclxuICAgICBcclxuICAgICAgdGhpcy51cGxvYWQuZW1pdCh0aGlzLmZpbGVPYmplY3RRdWV1ZSk7XHJcbiAgICB9XHJcbiAgICBldmVudC50YXJnZXQudmFsdWUgPSAnJztcclxuICAgIHRoaXMuc2hvd1Byb2dyZXNzID0gZmFsc2U7XHJcblxyXG4gIH1cclxuXHJcbiAgYXN5bmMgYWRkRmlsZVRvRW1wbG95ZXJEYXRhKGV2ZW50LGVtcGxveWVyKXtcclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZXZlbnQudGFyZ2V0LmZpbGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGZpbGU6IEZpbGUgPSBldmVudC50YXJnZXQuZmlsZXNbaV07XHJcbiAgICAgIGxldCBlbmNvZGVkO1xyXG4gICAgICBpZiAodGhpcy5kb2NVcGxvYWRNb2RlbC5zaXplIT09bnVsbCAmJiB0aGlzLmdldFNpemVJbk1CKGZpbGU/LnNpemUpID4gdGhpcy5kb2NVcGxvYWRNb2RlbC5zaXplKSB7XHJcbiAgICAgICAgdGhpcy5lcnJvcignRmlsZSBzaXplIGNhbiBub3QgYmUgbW9yZSB0aGFuICcgKyB0aGlzLmRvY1VwbG9hZE1vZGVsLnNpemUgKyAnIE1CLicpO1xyXG4gICAgICAgIHRoaXMuc2hvd1Byb2dyZXNzID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGlmKCF0aGlzLmNoZWNrRmlsZVR5cGUoZmlsZSx0aGlzLmZpbGVUeXBlcykpe1xyXG4gICAgICAgIHRoaXMuZXJyb3IoJ0ZpbGUgdHlwZSBub3QgYWxsb3dlZCcpO1xyXG4gICAgICAgIHRoaXMuc2hvd1Byb2dyZXNzID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChmaWxlKSB7XHJcbiAgICAgICAgZW5jb2RlZCA9IGF3YWl0IHRvQmFzZTY0KGZpbGUpO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGZpbGVPYmplY3QgPSBuZXcgRmlsZU9iamVjdCh0aGlzLnNlbGVjdGVkRG9jdW1lbnRUeXBlPy5kb2NUeXBlLHRoaXMuc2VsZWN0ZWREb2N1bWVudFR5cGU/LmRvY0Rlc2NyaXB0aW9uLCBmaWxlLm5hbWUsIGZpbGUudHlwZSwgZW5jb2RlZCxlbXBsb3llci5yZWNvcmRJZCwgZW1wbG95ZXIuZW1wbG95ZXJOYW1lKTsgICAgICBcclxuICAgICAgZW1wbG95ZXIuZmlsZSA9IGZpbGVPYmplY3RcclxuICAgICAgdGhpcy51cGxvYWRFbXBsb3llckZpbGUuZW1pdCh0aGlzLmVtcGxveWVyRGF0YU1vZGVsKTtcclxuICAgIH1cclxuICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9ICcnO1xyXG4gICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSBmYWxzZTtcclxuICB9XHJcbiAgXHJcbiAgcmVtb3ZlRmlsZUZyb21FbXBsb3llckRhdGEoZW1wbG95ZXIpe1xyXG4gICAgZW1wbG95ZXIuZmlsZSA9IG51bGxcclxuICAgIHRoaXMudXBsb2FkRW1wbG95ZXJGaWxlLmVtaXQodGhpcy5lbXBsb3llckRhdGFNb2RlbCk7XHJcbiAgfVxyXG5cclxuICByZW1vdmVGcm9tUXVldWUoZmlsZVRvUmVtb3ZlKSB7XHJcbiAgICBsZXQgaW5kZXg7XHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuZmlsZU9iamVjdFF1ZXVlLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGlmICh0aGlzLmZpbGVPYmplY3RRdWV1ZVtpXS5maWxlTmFtZSA9PT0gZmlsZVRvUmVtb3ZlLmZpbGVOYW1lKSB7XHJcbiAgICAgICAgaW5kZXggPSBpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGZvcih2YXIgaSA9IDA7IGkgPCB0aGlzLmRvY1R5cGVEcm9wZG93bi5sZW5ndGg7IGkrKyl7XHJcbiAgICAgIGlmKHRoaXMuZG9jVHlwZURyb3Bkb3duW2ldLnZhbHVlLmRvY1R5cGU9PT1maWxlVG9SZW1vdmUuZG9jVHlwZSl7XHJcbiAgICAgICAgIHRoaXMuZG9jVHlwZURyb3Bkb3duW2ldLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICB9XHJcbiAgICAgfVxyXG4gICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSB0cnVlO1xyXG4gICAgdGhpcy5maWxlT2JqZWN0UXVldWUuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIHRoaXMudGFibGVSb3dzLnJlbW92ZUF0KGluZGV4KTtcclxuICAgIHRoaXMubWFwT2ZGaWxlcy5kZWxldGUoZmlsZVRvUmVtb3ZlKTtcclxuICAgIHRoaXMuc2hvd1Byb2dyZXNzID0gZmFsc2U7XHJcbiAgICB0aGlzLnVwbG9hZC5lbWl0KEFycmF5LmZyb20odGhpcy5tYXBPZkZpbGVzLnZhbHVlcygpKSk7XHJcbiAgICB0aGlzLmZpbGVzLmVtaXQodGhpcy5tYXBPZkZpbGVzKTtcclxuXHJcbiAgfVxyXG5cclxuICBjaGFuZ2VEb2NUeXBlKGZpbGUsZXZlbnQpe1xyXG5cdFx0ICBjb25zb2xlLmxvZyhcIjE2NiBjaGFuZ2VEb2NUeXBlXCIpO1xyXG4gICAgaWYoZXZlbnQudmFsdWUgPT09IG51bGwpe1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgaW5kZXg7XHJcbiAgICBsZXQgcHJldlNlbGVjdGVkRG9jIDogc3RyaW5nO1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmZpbGVPYmplY3RRdWV1ZS5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAodGhpcy5maWxlT2JqZWN0UXVldWVbaV0uZmlsZU5hbWUgPT09IGZpbGUuZmlsZU5hbWUpIHtcclxuICAgICAgICBpbmRleCA9IGk7XHJcbiAgICAgICAgcHJldlNlbGVjdGVkRG9jID0gdGhpcy5maWxlT2JqZWN0UXVldWVbaW5kZXhdLmRvY1R5cGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuZmlsZU9iamVjdFF1ZXVlW2luZGV4XS5kb2NUeXBlID0gZXZlbnQudmFsdWUuZG9jVHlwZTtcclxuICAgIHRoaXMuZmlsZU9iamVjdFF1ZXVlW2luZGV4XS5uYW1lID0gZXZlbnQudmFsdWUuZG9jRGVzY3JpcHRpb247XHJcblxyXG4gICAgZm9yKHZhciBpID0gMDsgaSA8IHRoaXMuZG9jVHlwZURyb3Bkb3duLmxlbmd0aDsgaSsrKXtcclxuICAgICAgaWYoZXZlbnQudmFsdWUuZG9jVHlwZT09PXRoaXMuZG9jVHlwZURyb3Bkb3duW2ldLnZhbHVlLmRvY1R5cGUpe1xyXG4gICAgICAgIHRoaXMuZG9jVHlwZURyb3Bkb3duW2ldLmRpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgfWVsc2UgaWYodGhpcy5kb2NUeXBlRHJvcGRvd25baV0udmFsdWUuZG9jVHlwZT09PXByZXZTZWxlY3RlZERvYyl7XHJcbiAgICAgICAgdGhpcy5kb2NUeXBlRHJvcGRvd25baV0uZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgfVxyXG4gIGNsZWFyRG9jVHlwZShmaWxlKXtcclxuICAgIGxldCBpbmRleDtcclxuICAgIGxldCBwcmV2U2VsZWN0ZWREb2MgOiBzdHJpbmc7XHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuZmlsZU9iamVjdFF1ZXVlLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGlmICh0aGlzLmZpbGVPYmplY3RRdWV1ZVtpXS5maWxlTmFtZSA9PT0gZmlsZS5maWxlTmFtZSkge1xyXG4gICAgICAgIGluZGV4ID0gaTtcclxuICAgICAgICBwcmV2U2VsZWN0ZWREb2MgPSB0aGlzLmZpbGVPYmplY3RRdWV1ZVtpbmRleF0uZG9jVHlwZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5maWxlT2JqZWN0UXVldWVbaW5kZXhdLmRvY1R5cGUgPW51bGw7XHJcbiAgICB0aGlzLmZpbGVPYmplY3RRdWV1ZVtpbmRleF0ubmFtZSA9IG51bGw7XHJcbiAgICBmb3IodmFyIGkgPSAwOyBpIDwgdGhpcy5kb2NUeXBlRHJvcGRvd24ubGVuZ3RoOyBpKyspe1xyXG4gICAgIGlmKHRoaXMuZG9jVHlwZURyb3Bkb3duW2ldLnZhbHVlLmRvY1R5cGU9PT1wcmV2U2VsZWN0ZWREb2Mpe1xyXG4gICAgICAgIHRoaXMuZG9jVHlwZURyb3Bkb3duW2ldLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgdXBkYXRlUXVldWVXaXRoVHlwZShmaWxlT2JqZWN0KSB7XHJcbiAgICBjb25zb2xlLmxvZyhcIjE2NiB1cGRhdGVRdWV1ZVdpdGhUeXBlXCIpO1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmZpbGVPYmplY3RRdWV1ZS5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAodGhpcy5maWxlT2JqZWN0UXVldWVbaV0uZmlsZU5hbWUgPT09IGZpbGVPYmplY3QuZmlsZU5hbWUpIHtcclxuICAgICAgICB0aGlzLmZpbGVPYmplY3RRdWV1ZVtpXS5kb2NUeXBlID0gdGhpcy5zZWxlY3RlZERvY3VtZW50VHlwZS5kb2NUeXBlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICB9XHJcblxyXG4gIGFzeW5jIHByZXNlbnRUb2FzdChtc2csIGNvbG9yKSB7XHJcbiAgICBjb25zdCB0b2FzdCA9IGF3YWl0IHRoaXMudG9hc3RDb250cm9sbGVyLmNyZWF0ZSh7XHJcbiAgICAgIG1lc3NhZ2U6IG1zZyxcclxuICAgICAgZHVyYXRpb246IDUwMDAsXHJcbiAgICAgIGNvbG9yOiBjb2xvcixcclxuICAgICAgcG9zaXRpb246ICdib3R0b20nXHJcbiAgICB9KTtcclxuICAgIHRvYXN0LnByZXNlbnQoKTtcclxuICB9XHJcblxyXG4gIHN1Y2Nlc3MobXNnKSB7XHJcbiAgICB0aGlzLnByZXNlbnRUb2FzdChtc2csICdwcmltYXJ5Jyk7XHJcbiAgfVxyXG5cclxuICBlcnJvcihtc2cpIHtcclxuICAgIHRoaXMucHJlc2VudFRvYXN0KG1zZywgJ2RhbmdlcicpO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2l6ZUluTUIobnVtOiBudW1iZXIpIHtcclxuICAgIHJldHVybiBudW0gLyAxMDI0IC8gMTAyNFxyXG4gIH1cclxuICBcclxufVxyXG5cclxuY29uc3QgdG9CYXNlNjQgPSBmaWxlID0+IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xyXG4gIHJlYWRlci5vbmxvYWQgPSAoKSA9PiByZXNvbHZlKHJlYWRlci5yZXN1bHQpO1xyXG4gIHJlYWRlci5vbmVycm9yID0gcmVqZWN0O1xyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIEZpbGVPYmplY3Qge1xyXG4gIGZpbGU6IEZpbGU7XHJcbiAgZG9jVHlwZTogc3RyaW5nO1xyXG4gIGZpbGVOYW1lOiBzdHJpbmc7XHJcbiAgY29udGVudFR5cGU6IHN0cmluZztcclxuICBmaWxlSW5CYXNlZDY0OiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG5cdHJlY29yZElkPzogc3RyaW5nO1xyXG4gIGVtcGxveWVyTmFtZT86IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoZG9jVHlwZTogc3RyaW5nLG5hbWU6IHN0cmluZywgZmlsZU5hbWU6IHN0cmluZywgY29udGVudFR5cGU6IHN0cmluZywgZmlsZUluQmFzZWQ2NDogc3RyaW5nLCByZWNvcmRJZD86c3RyaW5nLCBlbXBsb3llck5hbWU/OnN0cmluZykge1xyXG4gICAgdGhpcy5kb2NUeXBlID0gZG9jVHlwZTtcclxuICAgIHRoaXMubmFtZSA9IG5hbWU7XHJcbiAgICB0aGlzLmZpbGVOYW1lID0gZmlsZU5hbWU7XHJcbiAgICB0aGlzLmNvbnRlbnRUeXBlID0gY29udGVudFR5cGU7XHJcbiAgICB0aGlzLmZpbGVJbkJhc2VkNjQgPSBmaWxlSW5CYXNlZDY0O1xyXG4gICAgdGhpcy5yZWNvcmRJZCA9IHJlY29yZElkO1xyXG4gICAgdGhpcy5lbXBsb3llck5hbWUgPSBlbXBsb3llck5hbWU7IFxyXG4gIH1cclxufSIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybUFycmF5XCIgI3VwbG9hZEZpbGVGb3JtRGlyZWN0aXZlPVwibmdGb3JtXCIgKm5nSWY9XCIhZW1wbG95ZXJEYXRhTW9kZWxcIj5cclxuICAgIDxzZWN0aW9uICpuZ0lmPVwidGhpcy5jb250ZXh0ICE9ICdzaWduYXR1cmUnICYmIHRoaXMuY29udGV4dCAhPSd1cGxvYWRaaXBDb2RlcydcIj5cclxuICAgIDxwLXRhYmxlIGRhdGFLZXk9XCJmaWxlTmFtZVwiIFt2YWx1ZV09XCJmaWxlT2JqZWN0UXVldWVcIiByZXNwb25zaXZlTGF5b3V0PVwic2Nyb2xsXCIgW2xvYWRpbmddPVwic2hvd1Byb2dyZXNzXCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cclxuICAgICAgICA8dHI+XHJcbiAgICAgICAgICA8dGg+RG9jdW1lbnQgTmFtZTwvdGg+XHJcbiAgICAgICAgICA8dGggY2xhc3M9XCJmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICBEb2N1bWVudCBUeXBlXHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwcm9vZk9mQW55dGhpbmdcIiBjbGFzcz1cInBsLTFcIj5cclxuICAgICAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBbb3ZlcmxheVRleHRdPVwiaWNvbkluZm9cIlxyXG4gICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi10b3A6IDJweDsgbWFyZ2luLWxlZnQ6IDZweDsgXCI+PC9hcHAtb3ZlcmxheS1pbmZvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICA8dGg+PC90aD5cclxuICAgICAgICA8L3RyPlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1maWxlT2JqZWN0UXVldWUgbGV0LXJvd0luZGV4PVwicm93SW5kZXhcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyIGZvcm1BcnJheU5hbWU9XCJ0YWJsZVJvd0FycmF5XCI+XHJcbiAgICAgICAgICA8dHIgW2Zvcm1Hcm91cE5hbWVdPVwicm93SW5kZXhcIj5cclxuICAgICAgICAgICAgPHRkPnt7IGZpbGVPYmplY3RRdWV1ZT8uZmlsZU5hbWUgfX08L3RkPlxyXG4gICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgPHAtZHJvcGRvd24gW29wdGlvbnNdPVwiZG9jVHlwZURyb3Bkb3duXCIgZm9ybUNvbnRyb2xOYW1lPVwiZG9jVHlwZVwiIFsobmdNb2RlbCldPVwiZmlsZU9iamVjdFF1ZXVlLnNlbGVjdGVkRG9jdW1lbnRUeXBlXCIgXHJcbiAgICAgICAgICAgICAgKG9uQ2hhbmdlKT1cImNoYW5nZURvY1R5cGUoZmlsZU9iamVjdFF1ZXVlLCRldmVudClcIiBcclxuICAgICAgICAgICAgICBvcHRpb25MYWJlbD1cImxhYmVsXCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiIHBsYWNlaG9sZGVyPVwiU2VsZWN0IGEgRG9jdW1lbnQgVHlwZVwiIGFwcGVuZFRvPWJvZHlcclxuICAgICAgICAgICAgICBbc3R5bGVdPVwieyd3aWR0aCc6JzkwJSd9XCJcclxuICAgICAgICAgICAgICBjbGFzcz1cIm5nLWludmFsaWQgbmctZGlydHlcIlxyXG4gICAgICAgICAgICAgIFtzaG93Q2xlYXJdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgKG9uQ2xlYXIpPVwiY2xlYXJEb2NUeXBlKGZpbGVPYmplY3RRdWV1ZSlcIlxyXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnbmctaW52YWxpZCc6dGFibGVSb3dzLmNvbnRyb2xzW3Jvd0luZGV4XS5nZXQoJ2RvY1R5cGUnKT8uaW52YWxpZH1cIi8+XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0XCIgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OiB1bnNldFwiPlxyXG4gICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiBmaWxsPVwib3V0bGluZVwiIHNpemU9XCJzbWFsbFwiIHBUb29sdGlwPVwiUmVtb3ZlXCIgKGNsaWNrKT1cInJlbW92ZUZyb21RdWV1ZShmaWxlT2JqZWN0UXVldWUpXCJcclxuICAgICAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIGNsYXNzPVwiaW9uLXBhZGRpbmctbGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJ0cmFzaC1vdXRsaW5lXCI+PC9pb24taWNvbj5cclxuICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICA8L3RyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIFxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZm9vdGVyXCI+IFxyXG4gICAgICAgIDx0ciAqbmdJZj1cInByb29mT2ZBbnl0aGluZ1wiPlxyXG4gICAgICAgICAgPHRkICpuZ0lmPVwiZmlsZU9iamVjdFF1ZXVlLmxlbmd0aCA9PSAwXCIgY2xhc3M9XCJmaWxlLWlucHV0LWNvbnRhaW5lciBmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHItMVwiPjxiPisgQWRkPC9iPiBkb2N1bWVudDwvZGl2ID5cclxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJmaWxlXCIgI2ZpbGVJbnB1dCBbYWNjZXB0XT1cImFsbG93ZWRGaWxlVHlwZVwiXHJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cImFkZFRvUXVldWUoJGV2ZW50KVwiIC8+XHJcbiAgICAgICAgICAgICAgPGlvbi1idXR0b24gYXJpYS1sYWJlbD1cIkFkZCBGaWxlc1wiIChjbGljayk9XCJmaWxlSW5wdXQuY2xpY2soKVwiIGZpbGw9XCJvdXRsaW5lXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3M9XCJhY3Rpb24tYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhbCcsICdwbHVzJ11cIiBjbGFzcz1cImFjdGlvbi1pY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICA8dGQgKm5nSWY9XCJmaWxlT2JqZWN0UXVldWUubGVuZ3RoID4gMFwiIGNsYXNzPVwiZmlsZS1pbnB1dC1jb250YWluZXIgZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByLTFcIj48Yj4rIEFkZDwvYj4gYW55IG90aGVyIGRvY3VtZW50PC9kaXYgPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiAjZmlsZUlucHV0IFthY2NlcHRdPVwiYWxsb3dlZEZpbGVUeXBlXCJcclxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiYWRkVG9RdWV1ZSgkZXZlbnQpXCIgLz5cclxuICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBhcmlhLWxhYmVsPVwiQWRkIEZpbGVzXCIgKGNsaWNrKT1cImZpbGVJbnB1dC5jbGljaygpXCIgZmlsbD1cIm91dGxpbmVcIiBzaXplPVwic21hbGxcIiBjbGFzcz1cImFjdGlvbi1idXR0b25cIj5cclxuICAgICAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFsJywgJ3BsdXMnXVwiIGNsYXNzPVwiYWN0aW9uLWljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgPC90ZD5cclxuICAgICAgICAgIDx0ZD48L3RkPlxyXG4gICAgICAgICAgPHRkID5cclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPC90cj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvcC10YWJsZT5cclxuICA8L3NlY3Rpb24+XHJcbiAgPC9mb3JtPlxyXG4gIDx1bCAqbmdJZj1cImVtcGxveWVyRGF0YU1vZGVsXCIgY2xhc3M9XCJuby1idWxsZXRzIGdhcC0zXCI+XHJcbiAgICA8bGkgY2xhc3M9XCJwYi0zXCIgKm5nRm9yPVwibGV0IGVtcGxveWVyIG9mIGVtcGxveWVyRGF0YU1vZGVsOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgIDxwLWNhcmQgY2xhc3M9XCJwYi0yIGdhcC0zXCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBjbGFzcz1cInAtM1wiIHBUZW1wbGF0ZT1cImNvbnRlbnRcIiBsZXQtZmlsZXMgbGV0LXVwbG9hZGVkRmlsZXM9XCJ1cGxvYWRlZEZpbGVzXCIgbGV0LXJlbW92ZUZpbGVDYWxsYmFjaz1cInJlbW92ZUZpbGVDYWxsYmFja1wiIGxldC1yZW1vdmVVcGxvYWRlZEZpbGVDYWxsYmFjaz1cInJlbW92ZVVwbG9hZGVkRmlsZUNhbGxiYWNrXCIgbGV0LWNob29zZUNhbGxiYWNrPVwiY2hvb3NlQ2FsbGJhY2tcIj5cclxuICAgICAgICBcclxuICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImZsZXggZmxleC1yb3cgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0xXCI+XHJcbiAgICAgICAgICAgICAgPGg0IGNsYXNzPVwibS0wXCIgc3RseWU9XCJtYXJnaW46IDBcIj57e2VtcGxveWVyLmVtcGxveWVyTmFtZX19PC9oND5cclxuICAgICAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBbb3ZlcmxheVRleHRdPVwiaWNvbkluZm9cIlxyXG4gICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLXRvcDogMnB4OyBtYXJnaW4tbGVmdDogNnB4O1wiPjwvYXBwLW92ZXJsYXktaW5mbz5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgZmxleC1jb2x1bW4gYm9yZGVyLTIgYm9yZGVyLWRhc2hlZCBib3JkZXItNDAwIHJvdW5kZWQtc20gcC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhZW1wbG95ZXIuZmlsZVwiIGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLXVwbG9hZCBib3JkZXItMiBib3JkZXItY2lyY2xlIHAtMiBtLTIgdGV4dC14bCB0ZXh0LTQwMFwiPjwvaT5cclxuICAgICAgICAgICAgPGlucHV0IGlkPVwiZW1wbG95ZXJXb3JrU2VhcmNoRmlsZUlucHV0XCIgdHlwZT1cImZpbGVcIiAjZmlsZUlucHV0IFthY2NlcHRdPVwiYWxsb3dlZEZpbGVUeXBlXCJcclxuICAgICAgICAgICAgKGNoYW5nZSk9XCJhZGRGaWxlVG9FbXBsb3llckRhdGEoJGV2ZW50LGVtcGxveWVyKVwiIHN0eWxlPVwiZGlzcGxheTogbm9uZVwiIC8+XHJcbiAgICAgICAgICAgIDxpb24tYnV0dG9uIGFyaWEtbGFiZWw9XCJBZGQgRmlsZXNcIiAoY2xpY2spPVwiZmlsZUlucHV0LmNsaWNrKClcIiBmaWxsPVwib3V0bGluZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzPVwiYWN0aW9uLWJ1dHRvblwiIHN0eWxlPVwiZmxvYXQ6aW5saW5lLWVuZFwiPlxyXG4gICAgICAgICAgICAgIFVwbG9hZFxyXG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJlbXBsb3llci5maWxlXCI+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LWNvbHVtbiBwLTAgc206cC0yIGdhcC01XCI+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJkIG0tMCBweC02IGZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgZmxleC1jb2x1bW4gZ2FwLTJcIlxyXG4gICAgICAgICAgICAgID4gXHJcbiAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1maWxlXCIgc3R5bGU9XCJjb2xvcjogIzQ0NzhBQVwiPjwvaT57eyBlbXBsb3llci5maWxlLmZpbGVOYW1lIH19XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBhcmlhLWxhYmVsPVwiUmVtb3ZlIEZpbGVzXCIgZmlsbD1cIm91dGxpbmVcIiBzaXplPVwic21hbGxcIiBwVG9vbHRpcD1cIlJlbW92ZVwiIChjbGljayk9XCJyZW1vdmVGaWxlRnJvbUVtcGxveWVyRGF0YShlbXBsb3llcilcIlxyXG4gICAgICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgY2xhc3M9XCJpb24tcGFkZGluZy1sZWZ0XCIgc3R5bGU9XCJmbG9hdDogaW5saW5lLWVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cInRyYXNoLW91dGxpbmVcIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG5cclxuICAgICAgXHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvcC1jYXJkPlxyXG4gICAgPC9saT5cclxuICA8L3VsPiJdfQ==
|
|
560
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvb2Ytb2YtZG9jdW1lbnQtdXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9wcm9vZi1vZi1kb2N1bWVudC11cGxvYWQvcHJvb2Ytb2YtZG9jdW1lbnQtdXBsb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9wcm9vZi1vZi1kb2N1bWVudC11cGxvYWQvcHJvb2Ytb2YtZG9jdW1lbnQtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUE0QixTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDL0ksT0FBTyxFQUFpRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0lDRXhILHNCQUE2Rjs7O0lBT3JGLCtCQUEwQztJQUN4Qyx1Q0FBMEc7SUFDNUcsaUJBQU07OztJQURjLGVBQXdCO0lBQXhCLDhDQUF3Qjs7O0lBTGhELDBCQUFJLFNBQUE7SUFDRSw2QkFBYTtJQUFBLGlCQUFLO0lBQ3RCLDhCQUE2QztJQUMzQywrQkFDQTtJQUFBLDZIQUVNO0lBQ1IsaUJBQUs7SUFDTCxxQkFBUztJQUNYLGlCQUFLOzs7SUFMSyxlQUFxQjtJQUFyQiw4Q0FBcUI7OztJQUxqQywrSEFXYzs7O0lBT1IsK0JBQTBDO0lBQ3hDLHVDQUE4RDtJQUNoRSxpQkFBTTs7O0lBRGMsZUFBd0I7SUFBeEIsOENBQXdCOzs7SUFKaEQsMEJBQUksYUFBQTtJQUVBLCtCQUNBO0lBQUEsNkhBRU07SUFDUixpQkFBSztJQUNMLHFCQUFTLFNBQUE7SUFFWCxp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QUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO0lBQ25DLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkcmVuLCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYgIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCxVbnR5cGVkRm9ybUFycmF5LCBOZ0Zvcm0sIE5HX1ZBTFVFX0FDQ0VTU09SLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWwvdXRpbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2FwdGNoYVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jYXB0Y2hhL2NhcHRjaGEuc2VydmljZSc7XHJcbmltcG9ydCB7IENsYWltYW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NsYWltYW50LXNlcnZpY2UvY2xhaW1hbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IFRvYXN0Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuaW1wb3J0IHsgRG9jVHlwZVVwbG9hZCwgRG9jVXBsb2FkTW9kZWwsIERvY1R5cGVEcm9wZG93bk9wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9maWxldXBsb2FkL0RvY1VwbG9hZE1vZGVsJztcclxuaW1wb3J0IHsgRW1wbG95ZXJEYXRhTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmlsZXVwbG9hZC9FbXBsb3llckRhdGFNb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1wcm9vZi1vZi1kb2N1bWVudC11cGxvYWQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9vZi1vZi1kb2N1bWVudC11cGxvYWQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9wcm9vZi1vZi1kb2N1bWVudC11cGxvYWQuY29tcG9uZW50LnNjc3MnLFxyXG4gIHByb3ZpZGVyczogW3tcclxuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgdXNlRXhpc3Rpbmc6IFByb29mT2ZEb2N1bWVudFVwbG9hZENvbXBvbmVudCxcclxuICAgIG11bHRpOiB0cnVlXHJcbiAgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFByb29mT2ZEb2N1bWVudFVwbG9hZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdHtcclxuXHJcbiAgcHVibGljIHNob3dQcm9ncmVzcyA9IGZhbHNlO1xyXG5cclxuICBAVmlld0NoaWxkKCd1cGxvYWRGaWxlRm9ybURpcmVjdGl2ZScsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIHB1YmxpYyB1cGxvYWRGaWxlRm9ybURpcmVjdGl2ZTogTmdGb3JtO1xyXG5cclxuICBAT3V0cHV0KClcclxuICB1cGxvYWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBmaWxlczogRXZlbnRFbWl0dGVyPE1hcDxGaWxlLCBzdHJpbmc+PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgdXBsb2FkRW1wbG95ZXJGaWxlOiBFdmVudEVtaXR0ZXI8RW1wbG95ZXJEYXRhTW9kZWxbXT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKSBcclxuICBkb2NGb3JtOiBFdmVudEVtaXR0ZXI8VW50eXBlZEZvcm1Hcm91cD4gPSBuZXcgRXZlbnRFbWl0dGVyPFVudHlwZWRGb3JtR3JvdXA+KCk7XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oJ2ZpbGVJbnB1dCcpIGZpbGVJbnB1dDtcclxuICBcclxuICBxdWV1ZTogRmlsZVtdID0gW107XHJcblxyXG4gIGZpbGVPYmplY3RRdWV1ZTogRmlsZU9iamVjdFtdID0gW107XHJcblxyXG4gIG1hcE9mRmlsZXM6IE1hcDxGaWxlLCBzdHJpbmc+ID0gbmV3IE1hcCgpO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGFsbG93ZWRGaWxlVHlwZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIG11bHRpcGxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHJvb2ZPZkFueXRoaW5nOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgY29udGV4dDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHNob3dTZXBhcmF0ZUF0dGFjaEJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRvY1VwbG9hZE1vZGVsOiBEb2NVcGxvYWRNb2RlbCA9IG51bGw7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2VsZWN0ZWREb2N1bWVudFR5cGU6IERvY1R5cGVVcGxvYWQgPSBudWxsO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGRvY1R5cGU6RG9jVHlwZVVwbG9hZFtdIHwgdW5kZWZpbmVkO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGljb25JbmZvOnN0cmluZztcclxuXHJcbiAgQElucHV0KCkgZW1wbG95ZXJEYXRhTW9kZWwgOiBFbXBsb3llckRhdGFNb2RlbFtdO1xyXG4gIGRvY1R5cGVEcm9wZG93bjogRG9jVHlwZURyb3Bkb3duT3B0aW9uW10gfCB1bmRlZmluZWQ7XHJcblxyXG4gIHB1YmxpYyB1cGxvYWRGaWxlRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcclxuICBmb3JtQXJyYXk6IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgaW1hZ2VIdG1sOiBzdHJpbmc7XHJcbiAgZG9jdW1lbnRUeXBlczogRG9jVHlwZVVwbG9hZFtdIHwgdW5kZWZpbmVkO1xyXG4gIGZpbGVUeXBlczogc3RyaW5nW107XHJcbiAgZXhwYW5kZWRSb3dzOiB7IFtrZXk6IHN0cmluZ106IGJvb2xlYW4gfSA9IHt9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlciwgXHJcbiAgICBwdWJsaWMgdG9hc3RDb250cm9sbGVyOiBUb2FzdENvbnRyb2xsZXIpIHtcclxuICAgICBcclxuICB9XHJcblxyXG4gIGdldCB1cGxvYWRGaWxlQ3RybCgpIHtcclxuICAgIHJldHVybiB0aGlzLnVwbG9hZEZpbGVGb3JtLmNvbnRyb2xzWyd1cGxvYWRGaWxlQ3RybCddO1xyXG4gIH1cclxuXHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5mb3JtQXJyYXkgPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgdGFibGVSb3dBcnJheTogdGhpcy5mb3JtQnVpbGRlci5hcnJheShbXHJcbiAgICAgIF0pXHJcbiAgICB9KVxyXG4gICAgdGhpcy5kb2NGb3JtLmVtaXQodGhpcy5mb3JtQXJyYXkpO1xyXG4gICAgaWYgKHRoaXMuZG9jVHlwZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuZG9jVHlwZURyb3Bkb3duID0gdGhpcy5kb2NUeXBlLm1hcCgoaSkgPT4gKHtcclxuICAgICAgICBsYWJlbDogaS5kb2NEZXNjcmlwdGlvbixcclxuICAgICAgICB2YWx1ZTogaSxcclxuICAgICAgICBkaXNhYmxlZDogZmFsc2VcclxuICAgICAgfSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZmlsZVR5cGVzID0gdGhpcy5hbGxvd2VkRmlsZVR5cGUuc3BsaXQoJywnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25DaGFuZ2U6IEZ1bmN0aW9uID0gKCkgPT4ge1xyXG5cclxuICB9O1xyXG4gIHdyaXRlVmFsdWUoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKCk6IHZvaWQge1xyXG4gIH1cclxuXHJcblxyXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xyXG5cclxuICB9XHJcblxyXG4gIGdldCB0YWJsZVJvd3MoKTogVW50eXBlZEZvcm1BcnJheSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtQXJyYXkuZ2V0KCd0YWJsZVJvd0FycmF5JykgYXMgVW50eXBlZEZvcm1BcnJheTtcclxuICB9XHJcblxyXG4gIGNoZWNrRmlsZVR5cGUoZmlsZTpGaWxlLCBhcHByb3ZlZEZpbGVUeXBlOnN0cmluZ1tdKTpib29sZWFue1xyXG4gICAgZm9yKGxldCB0eXBlIG9mIGFwcHJvdmVkRmlsZVR5cGUpe1xyXG4gICAgICBpZihmaWxlLnR5cGU9PT10eXBlKXtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuICBcclxuICBhc3luYyBhZGRUb1F1ZXVlKGV2ZW50KSB7XHJcbiAgICBsZXQgY3VyVXBsZEZpbGVMZW46IG51bWJlciA9IGV2ZW50LnRhcmdldC5maWxlcy5sZW5ndGg7XHJcbiAgICBsZXQgcHJlVXBsZEZpbGVMZW46IG51bWJlciA9IHRoaXMuZmlsZU9iamVjdFF1ZXVlLmxlbmd0aDtcclxuICAgIGNvbnNvbGUubG9nKCdjdXJVcGxkRmlsZUxlbiA9ICcsIGN1clVwbGRGaWxlTGVuKTtcclxuICAgIGNvbnNvbGUubG9nKCdwcmVVcGxkRmlsZUxlbiA9ICcsIHByZVVwbGRGaWxlTGVuKTtcclxuICAgIGNvbnNvbGUubG9nKCd0aGlzLmRvY1VwbG9hZE1vZGVsLnRvdGFsRG9jcyA9PSAnLCB0aGlzLmRvY1VwbG9hZE1vZGVsLnRvdGFsRG9jcyk7XHJcbiAgICBpZiAodGhpcy5kb2NVcGxvYWRNb2RlbC50b3RhbERvY3MhPT1udWxsICYmKGN1clVwbGRGaWxlTGVuICsgcHJlVXBsZEZpbGVMZW4pID4gdGhpcy5kb2NVcGxvYWRNb2RlbC50b3RhbERvY3MpIHtcclxuICAgICAgdGhpcy5lcnJvcihcIllvdSBjYW4gbm90IHVwbG9hZCBtb3JlIHRoYW4gXCIgKyB0aGlzLmRvY1VwbG9hZE1vZGVsLnRvdGFsRG9jcyArIFwiIGZpbGUocykuXCIpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSB0cnVlO1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBldmVudC50YXJnZXQuZmlsZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgY29uc3QgZmlsZTogRmlsZSA9IGV2ZW50LnRhcmdldC5maWxlc1tpXTtcclxuICAgICAgbGV0IGVuY29kZWQ7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdzaXplID0gJywgdGhpcy5nZXRTaXplSW5NQihmaWxlPy5zaXplKSlcclxuICAgICAgaWYodGhpcy5maWxlT2JqZWN0UXVldWUuc29tZShlPT5lLmZpbGVOYW1lPT09IGZpbGUubmFtZSkpe1xyXG4gICAgICAgIHRoaXMuZXJyb3IoJ0RvY3VtZW50IHdpdGggdGhlIHNhbWUgZmlsZSBuYW1lIGFscmVhZHkgZXhpc3RzLicpO1xyXG4gICAgICAgIHRoaXMuc2hvd1Byb2dyZXNzID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmRvY1VwbG9hZE1vZGVsLnNpemUhPT1udWxsICYmIHRoaXMuZ2V0U2l6ZUluTUIoZmlsZT8uc2l6ZSkgPiB0aGlzLmRvY1VwbG9hZE1vZGVsLnNpemUpIHtcclxuICAgICAgICB0aGlzLmVycm9yKCdGaWxlIHNpemUgY2FuIG5vdCBiZSBtb3JlIHRoYW4gJyArIHRoaXMuZG9jVXBsb2FkTW9kZWwuc2l6ZSArICcgTUIuJyk7XHJcbiAgICAgICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYoIXRoaXMuY2hlY2tGaWxlVHlwZShmaWxlLHRoaXMuZmlsZVR5cGVzKSl7XHJcbiAgICAgICAgdGhpcy5lcnJvcignRmlsZSB0eXBlIG5vdCBhbGxvd2VkJyk7XHJcbiAgICAgICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGZpbGUpIHtcclxuICAgICAgICBlbmNvZGVkID0gYXdhaXQgdG9CYXNlNjQoZmlsZSk7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgZmlsZU9iamVjdCA9IG5ldyBGaWxlT2JqZWN0KHRoaXMuc2VsZWN0ZWREb2N1bWVudFR5cGU/LmRvY1R5cGUsdGhpcy5zZWxlY3RlZERvY3VtZW50VHlwZT8uZG9jRGVzY3JpcHRpb24sIGZpbGUubmFtZSwgZmlsZS50eXBlLCBlbmNvZGVkKTtcclxuICAgICAgdmFyIHVwbG9hZEZpbGVGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7fSk7XHJcbiAgICAgIGlmICh0aGlzLmRvY1R5cGUubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHVwbG9hZEZpbGVGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgICAgICAnZG9jVHlwZSc6IFtudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9ICAgXHJcbiAgICAgIHRoaXMudGFibGVSb3dzLnB1c2godXBsb2FkRmlsZUZvcm0pXHJcbiAgICAgIHRoaXMuZmlsZU9iamVjdFF1ZXVlLnB1c2goZmlsZU9iamVjdCk7XHJcbiAgICAgXHJcbiAgICAgIHRoaXMudXBsb2FkLmVtaXQodGhpcy5maWxlT2JqZWN0UXVldWUpO1xyXG4gICAgfVxyXG4gICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gJyc7XHJcbiAgICB0aGlzLnNob3dQcm9ncmVzcyA9IGZhbHNlO1xyXG5cclxuICB9XHJcblxyXG4gIGFzeW5jIGFkZEZpbGVUb0VtcGxveWVyRGF0YShldmVudCxlbXBsb3llcil7XHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGV2ZW50LnRhcmdldC5maWxlcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBjb25zdCBmaWxlOiBGaWxlID0gZXZlbnQudGFyZ2V0LmZpbGVzW2ldO1xyXG4gICAgICBsZXQgZW5jb2RlZDtcclxuICAgICAgaWYgKHRoaXMuZG9jVXBsb2FkTW9kZWwuc2l6ZSE9PW51bGwgJiYgdGhpcy5nZXRTaXplSW5NQihmaWxlPy5zaXplKSA+IHRoaXMuZG9jVXBsb2FkTW9kZWwuc2l6ZSkge1xyXG4gICAgICAgIHRoaXMuZXJyb3IoJ0ZpbGUgc2l6ZSBjYW4gbm90IGJlIG1vcmUgdGhhbiAnICsgdGhpcy5kb2NVcGxvYWRNb2RlbC5zaXplICsgJyBNQi4nKTtcclxuICAgICAgICB0aGlzLnNob3dQcm9ncmVzcyA9IGZhbHNlO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBpZighdGhpcy5jaGVja0ZpbGVUeXBlKGZpbGUsdGhpcy5maWxlVHlwZXMpKXtcclxuICAgICAgICB0aGlzLmVycm9yKCdGaWxlIHR5cGUgbm90IGFsbG93ZWQnKTtcclxuICAgICAgICB0aGlzLnNob3dQcm9ncmVzcyA9IGZhbHNlO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBpZiAoZmlsZSkge1xyXG4gICAgICAgIGVuY29kZWQgPSBhd2FpdCB0b0Jhc2U2NChmaWxlKTtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBmaWxlT2JqZWN0ID0gbmV3IEZpbGVPYmplY3QodGhpcy5zZWxlY3RlZERvY3VtZW50VHlwZT8uZG9jVHlwZSx0aGlzLnNlbGVjdGVkRG9jdW1lbnRUeXBlPy5kb2NEZXNjcmlwdGlvbiwgZmlsZS5uYW1lLCBmaWxlLnR5cGUsIGVuY29kZWQsZW1wbG95ZXIucmVjb3JkSWQsIGVtcGxveWVyLmVtcGxveWVyTmFtZSk7ICAgICAgXHJcbiAgICAgIGVtcGxveWVyLmZpbGUgPSBmaWxlT2JqZWN0XHJcbiAgICAgIHRoaXMudXBsb2FkRW1wbG95ZXJGaWxlLmVtaXQodGhpcy5lbXBsb3llckRhdGFNb2RlbCk7XHJcbiAgICB9XHJcbiAgICBldmVudC50YXJnZXQudmFsdWUgPSAnJztcclxuICAgIHRoaXMuc2hvd1Byb2dyZXNzID0gZmFsc2U7XHJcbiAgfVxyXG4gIFxyXG4gIHJlbW92ZUZpbGVGcm9tRW1wbG95ZXJEYXRhKGVtcGxveWVyKXtcclxuICAgIGVtcGxveWVyLmZpbGUgPSBudWxsXHJcbiAgICB0aGlzLnVwbG9hZEVtcGxveWVyRmlsZS5lbWl0KHRoaXMuZW1wbG95ZXJEYXRhTW9kZWwpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlRnJvbVF1ZXVlKGZpbGVUb1JlbW92ZSkge1xyXG4gICAgbGV0IGluZGV4O1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmZpbGVPYmplY3RRdWV1ZS5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAodGhpcy5maWxlT2JqZWN0UXVldWVbaV0uZmlsZU5hbWUgPT09IGZpbGVUb1JlbW92ZS5maWxlTmFtZSkge1xyXG4gICAgICAgIGluZGV4ID0gaTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBmb3IodmFyIGkgPSAwOyBpIDwgdGhpcy5kb2NUeXBlRHJvcGRvd24ubGVuZ3RoOyBpKyspe1xyXG4gICAgICBpZih0aGlzLmRvY1R5cGVEcm9wZG93bltpXS52YWx1ZS5kb2NUeXBlPT09ZmlsZVRvUmVtb3ZlLmRvY1R5cGUpe1xyXG4gICAgICAgICB0aGlzLmRvY1R5cGVEcm9wZG93bltpXS5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgfVxyXG4gICAgIH1cclxuICAgIHRoaXMuc2hvd1Byb2dyZXNzID0gdHJ1ZTtcclxuICAgIHRoaXMuZmlsZU9iamVjdFF1ZXVlLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICB0aGlzLnRhYmxlUm93cy5yZW1vdmVBdChpbmRleCk7XHJcbiAgICB0aGlzLm1hcE9mRmlsZXMuZGVsZXRlKGZpbGVUb1JlbW92ZSk7XHJcbiAgICB0aGlzLnNob3dQcm9ncmVzcyA9IGZhbHNlO1xyXG4gICAgdGhpcy51cGxvYWQuZW1pdChBcnJheS5mcm9tKHRoaXMubWFwT2ZGaWxlcy52YWx1ZXMoKSkpO1xyXG4gICAgdGhpcy5maWxlcy5lbWl0KHRoaXMubWFwT2ZGaWxlcyk7XHJcblxyXG4gIH1cclxuXHJcbiAgY2hhbmdlRG9jVHlwZShmaWxlLGV2ZW50KXtcclxuXHRcdCAgY29uc29sZS5sb2coXCIxNjYgY2hhbmdlRG9jVHlwZVwiKTtcclxuICAgIGlmKGV2ZW50LnZhbHVlID09PSBudWxsKXtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbGV0IGluZGV4O1xyXG4gICAgbGV0IHByZXZTZWxlY3RlZERvYyA6IHN0cmluZztcclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5maWxlT2JqZWN0UXVldWUubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKHRoaXMuZmlsZU9iamVjdFF1ZXVlW2ldLmZpbGVOYW1lID09PSBmaWxlLmZpbGVOYW1lKSB7XHJcbiAgICAgICAgaW5kZXggPSBpO1xyXG4gICAgICAgIHByZXZTZWxlY3RlZERvYyA9IHRoaXMuZmlsZU9iamVjdFF1ZXVlW2luZGV4XS5kb2NUeXBlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmZpbGVPYmplY3RRdWV1ZVtpbmRleF0uZG9jVHlwZSA9IGV2ZW50LnZhbHVlLmRvY1R5cGU7XHJcbiAgICB0aGlzLmZpbGVPYmplY3RRdWV1ZVtpbmRleF0ubmFtZSA9IGV2ZW50LnZhbHVlLmRvY0Rlc2NyaXB0aW9uO1xyXG5cclxuICAgIGZvcih2YXIgaSA9IDA7IGkgPCB0aGlzLmRvY1R5cGVEcm9wZG93bi5sZW5ndGg7IGkrKyl7XHJcbiAgICAgIGlmKGV2ZW50LnZhbHVlLmRvY1R5cGU9PT10aGlzLmRvY1R5cGVEcm9wZG93bltpXS52YWx1ZS5kb2NUeXBlKXtcclxuICAgICAgICB0aGlzLmRvY1R5cGVEcm9wZG93bltpXS5kaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgIH1lbHNlIGlmKHRoaXMuZG9jVHlwZURyb3Bkb3duW2ldLnZhbHVlLmRvY1R5cGU9PT1wcmV2U2VsZWN0ZWREb2Mpe1xyXG4gICAgICAgIHRoaXMuZG9jVHlwZURyb3Bkb3duW2ldLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gIH1cclxuICBjbGVhckRvY1R5cGUoZmlsZSl7XHJcbiAgICBsZXQgaW5kZXg7XHJcbiAgICBsZXQgcHJldlNlbGVjdGVkRG9jIDogc3RyaW5nO1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmZpbGVPYmplY3RRdWV1ZS5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAodGhpcy5maWxlT2JqZWN0UXVldWVbaV0uZmlsZU5hbWUgPT09IGZpbGUuZmlsZU5hbWUpIHtcclxuICAgICAgICBpbmRleCA9IGk7XHJcbiAgICAgICAgcHJldlNlbGVjdGVkRG9jID0gdGhpcy5maWxlT2JqZWN0UXVldWVbaW5kZXhdLmRvY1R5cGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuZmlsZU9iamVjdFF1ZXVlW2luZGV4XS5kb2NUeXBlID1udWxsO1xyXG4gICAgdGhpcy5maWxlT2JqZWN0UXVldWVbaW5kZXhdLm5hbWUgPSBudWxsO1xyXG4gICAgZm9yKHZhciBpID0gMDsgaSA8IHRoaXMuZG9jVHlwZURyb3Bkb3duLmxlbmd0aDsgaSsrKXtcclxuICAgICBpZih0aGlzLmRvY1R5cGVEcm9wZG93bltpXS52YWx1ZS5kb2NUeXBlPT09cHJldlNlbGVjdGVkRG9jKXtcclxuICAgICAgICB0aGlzLmRvY1R5cGVEcm9wZG93bltpXS5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIHVwZGF0ZVF1ZXVlV2l0aFR5cGUoZmlsZU9iamVjdCkge1xyXG4gICAgY29uc29sZS5sb2coXCIxNjYgdXBkYXRlUXVldWVXaXRoVHlwZVwiKTtcclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5maWxlT2JqZWN0UXVldWUubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKHRoaXMuZmlsZU9iamVjdFF1ZXVlW2ldLmZpbGVOYW1lID09PSBmaWxlT2JqZWN0LmZpbGVOYW1lKSB7XHJcbiAgICAgICAgdGhpcy5maWxlT2JqZWN0UXVldWVbaV0uZG9jVHlwZSA9IHRoaXMuc2VsZWN0ZWREb2N1bWVudFR5cGUuZG9jVHlwZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgfVxyXG5cclxuICBhc3luYyBwcmVzZW50VG9hc3QobXNnLCBjb2xvcikge1xyXG4gICAgY29uc3QgdG9hc3QgPSBhd2FpdCB0aGlzLnRvYXN0Q29udHJvbGxlci5jcmVhdGUoe1xyXG4gICAgICBtZXNzYWdlOiBtc2csXHJcbiAgICAgIGR1cmF0aW9uOiA1MDAwLFxyXG4gICAgICBjb2xvcjogY29sb3IsXHJcbiAgICAgIHBvc2l0aW9uOiAnYm90dG9tJ1xyXG4gICAgfSk7XHJcbiAgICB0b2FzdC5wcmVzZW50KCk7XHJcbiAgfVxyXG5cclxuICBzdWNjZXNzKG1zZykge1xyXG4gICAgdGhpcy5wcmVzZW50VG9hc3QobXNnLCAncHJpbWFyeScpO1xyXG4gIH1cclxuXHJcbiAgZXJyb3IobXNnKSB7XHJcbiAgICB0aGlzLnByZXNlbnRUb2FzdChtc2csICdkYW5nZXInKTtcclxuICB9XHJcblxyXG4gIGdldFNpemVJbk1CKG51bTogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gbnVtIC8gMTAyNCAvIDEwMjRcclxuICB9XHJcbiAgXHJcbn1cclxuXHJcbmNvbnN0IHRvQmFzZTY0ID0gZmlsZSA9PiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcclxuICByZWFkZXIub25sb2FkID0gKCkgPT4gcmVzb2x2ZShyZWFkZXIucmVzdWx0KTtcclxuICByZWFkZXIub25lcnJvciA9IHJlamVjdDtcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBGaWxlT2JqZWN0IHtcclxuICBmaWxlOiBGaWxlO1xyXG4gIGRvY1R5cGU6IHN0cmluZztcclxuICBmaWxlTmFtZTogc3RyaW5nO1xyXG4gIGNvbnRlbnRUeXBlOiBzdHJpbmc7XHJcbiAgZmlsZUluQmFzZWQ2NDogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuXHRyZWNvcmRJZD86IHN0cmluZztcclxuICBlbXBsb3llck5hbWU/OiBzdHJpbmc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGRvY1R5cGU6IHN0cmluZyxuYW1lOiBzdHJpbmcsIGZpbGVOYW1lOiBzdHJpbmcsIGNvbnRlbnRUeXBlOiBzdHJpbmcsIGZpbGVJbkJhc2VkNjQ6IHN0cmluZywgcmVjb3JkSWQ/OnN0cmluZywgZW1wbG95ZXJOYW1lPzpzdHJpbmcpIHtcclxuICAgIHRoaXMuZG9jVHlwZSA9IGRvY1R5cGU7XHJcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xyXG4gICAgdGhpcy5maWxlTmFtZSA9IGZpbGVOYW1lO1xyXG4gICAgdGhpcy5jb250ZW50VHlwZSA9IGNvbnRlbnRUeXBlO1xyXG4gICAgdGhpcy5maWxlSW5CYXNlZDY0ID0gZmlsZUluQmFzZWQ2NDtcclxuICAgIHRoaXMucmVjb3JkSWQgPSByZWNvcmRJZDtcclxuICAgIHRoaXMuZW1wbG95ZXJOYW1lID0gZW1wbG95ZXJOYW1lOyBcclxuICB9XHJcbn1cclxuXHJcbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybUFycmF5XCIgI3VwbG9hZEZpbGVGb3JtRGlyZWN0aXZlPVwibmdGb3JtXCIgKm5nSWY9XCIhZW1wbG95ZXJEYXRhTW9kZWxcIj5cclxuICAgIDxzZWN0aW9uICpuZ0lmPVwidGhpcy5jb250ZXh0ICE9ICdzaWduYXR1cmUnICYmIHRoaXMuY29udGV4dCAhPSd1cGxvYWRaaXBDb2RlcydcIj5cclxuICAgIDxwLXRhYmxlIGRhdGFLZXk9XCJmaWxlTmFtZVwiIFt2YWx1ZV09XCJmaWxlT2JqZWN0UXVldWVcIiByZXNwb25zaXZlTGF5b3V0PVwic2Nyb2xsXCIgW2xvYWRpbmddPVwic2hvd1Byb2dyZXNzXCI+XHJcbiAgICAgIDxkaXYgKm5nSWYgPSBcImRvY1R5cGUubGVuZ3RoID4gMDsgdGhlbiBzaG93RG9jVHlwZUhlYWRpbmc7IGVsc2UgcmVtb3ZlRG9jVHlwZUhlYWRpbmdcIiA+PC9kaXY+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjc2hvd0RvY1R5cGVIZWFkaW5nPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cclxuICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgPHRoPkRvY3VtZW50IE5hbWU8L3RoPlxyXG4gICAgICAgICAgICA8dGggY2xhc3M9XCJmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgIERvY3VtZW50IFR5cGVcclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwicHJvb2ZPZkFueXRoaW5nXCIgY2xhc3M9XCJwbC0xXCI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBbb3ZlcmxheVRleHRdPVwiaWNvbkluZm9cIiBzdHlsZT1cIm1hcmdpbi10b3A6IDJweDsgbWFyZ2luLWxlZnQ6IDZweDsgXCI+PC9hcHAtb3ZlcmxheS1pbmZvPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICA8dGg+PC90aD5cclxuICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPG5nLXRlbXBsYXRlICNyZW1vdmVEb2NUeXBlSGVhZGluZz5cclxuICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XHJcbiAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgIDx0aCBjbGFzcz1cImZsZXggZmxleC1yb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgRG9jdW1lbnQgTmFtZVxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwcm9vZk9mQW55dGhpbmdcIiBjbGFzcz1cInBsLTFcIj5cclxuICAgICAgICAgICAgICAgIDxhcHAtb3ZlcmxheS1pbmZvIFtvdmVybGF5VGV4dF09XCJpY29uSW5mb1wiPjwvYXBwLW92ZXJsYXktaW5mbz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgPHRoPjwvdGg+XHJcbiAgICAgICAgICAgIDx0aD48L3RoPlxyXG4gICAgICAgICAgPC90cj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1maWxlT2JqZWN0UXVldWUgbGV0LXJvd0luZGV4PVwicm93SW5kZXhcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyIGZvcm1BcnJheU5hbWU9XCJ0YWJsZVJvd0FycmF5XCI+XHJcbiAgICAgICAgICA8dHIgW2Zvcm1Hcm91cE5hbWVdPVwicm93SW5kZXhcIj5cclxuICAgICAgICAgICAgPHRkPnt7IGZpbGVPYmplY3RRdWV1ZT8uZmlsZU5hbWUgfX08L3RkPlxyXG4gICAgICAgICAgICA8dGQgKm5nSWY9XCJkb2NUeXBlLmxlbmd0aCA+IDBcIj5cclxuICAgICAgICAgICAgICA8cC1kcm9wZG93biBbb3B0aW9uc109XCJkb2NUeXBlRHJvcGRvd25cIiBmb3JtQ29udHJvbE5hbWU9XCJkb2NUeXBlXCIgWyhuZ01vZGVsKV09XCJmaWxlT2JqZWN0UXVldWUuc2VsZWN0ZWREb2N1bWVudFR5cGVcIiBcclxuICAgICAgICAgICAgICAob25DaGFuZ2UpPVwiY2hhbmdlRG9jVHlwZShmaWxlT2JqZWN0UXVldWUsJGV2ZW50KVwiIFxyXG4gICAgICAgICAgICAgIG9wdGlvbkxhYmVsPVwibGFiZWxcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCIgcGxhY2Vob2xkZXI9XCJTZWxlY3QgYSBEb2N1bWVudCBUeXBlXCIgYXBwZW5kVG89Ym9keVxyXG4gICAgICAgICAgICAgIFtzdHlsZV09XCJ7J3dpZHRoJzonOTAlJ31cIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwibmctaW52YWxpZCBuZy1kaXJ0eVwiXHJcbiAgICAgICAgICAgICAgW3Nob3dDbGVhcl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAob25DbGVhcik9XCJjbGVhckRvY1R5cGUoZmlsZU9iamVjdFF1ZXVlKVwiXHJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyduZy1pbnZhbGlkJzp0YWJsZVJvd3MuY29udHJvbHNbcm93SW5kZXhdLmdldCgnZG9jVHlwZScpPy5pbnZhbGlkfVwiLz5cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgPHRkIGNsYXNzPVwiaW9uLXRleHQtcmlnaHRcIiBzdHlsZT1cInBhZGRpbmctcmlnaHQ6IHVuc2V0XCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIGZpbGw9XCJvdXRsaW5lXCIgc2l6ZT1cInNtYWxsXCIgcFRvb2x0aXA9XCJSZW1vdmVcIiAoY2xpY2spPVwicmVtb3ZlRnJvbVF1ZXVlKGZpbGVPYmplY3RRdWV1ZSlcIlxyXG4gICAgICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgY2xhc3M9XCJpb24tcGFkZGluZy1sZWZ0XCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cInRyYXNoLW91dGxpbmVcIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgXHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJmb290ZXJcIj4gXHJcbiAgICAgICAgPHRyICpuZ0lmPVwicHJvb2ZPZkFueXRoaW5nXCI+XHJcbiAgICAgICAgICA8dGQgKm5nSWY9XCJmaWxlT2JqZWN0UXVldWUubGVuZ3RoID09IDBcIiBjbGFzcz1cImZpbGUtaW5wdXQtY29udGFpbmVyIGZsZXggZmxleC1yb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwci0xXCI+PGI+KyBBZGQ8L2I+IGRvY3VtZW50PC9kaXYgPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiAjZmlsZUlucHV0IFthY2NlcHRdPVwiYWxsb3dlZEZpbGVUeXBlXCJcclxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiYWRkVG9RdWV1ZSgkZXZlbnQpXCIgLz5cclxuICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBhcmlhLWxhYmVsPVwiQWRkIEZpbGVzXCIgKGNsaWNrKT1cImZpbGVJbnB1dC5jbGljaygpXCIgZmlsbD1cIm91dGxpbmVcIiBzaXplPVwic21hbGxcIiBjbGFzcz1cImFjdGlvbi1idXR0b25cIj5cclxuICAgICAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFsJywgJ3BsdXMnXVwiIGNsYXNzPVwiYWN0aW9uLWljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgPC90ZD5cclxuICAgICAgICAgIDx0ZCAqbmdJZj1cImZpbGVPYmplY3RRdWV1ZS5sZW5ndGggPiAwXCIgY2xhc3M9XCJmaWxlLWlucHV0LWNvbnRhaW5lciBmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHItMVwiPjxiPisgQWRkPC9iPiBhbnkgb3RoZXIgZG9jdW1lbnQ8L2RpdiA+XHJcbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiZmlsZVwiICNmaWxlSW5wdXQgW2FjY2VwdF09XCJhbGxvd2VkRmlsZVR5cGVcIlxyXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJhZGRUb1F1ZXVlKCRldmVudClcIiAvPlxyXG4gICAgICAgICAgICAgIDxpb24tYnV0dG9uIGFyaWEtbGFiZWw9XCJBZGQgRmlsZXNcIiAoY2xpY2spPVwiZmlsZUlucHV0LmNsaWNrKClcIiBmaWxsPVwib3V0bGluZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzPVwiYWN0aW9uLWJ1dHRvblwiPlxyXG4gICAgICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiWydmYWwnLCAncGx1cyddXCIgY2xhc3M9XCJhY3Rpb24taWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgPHRkPjwvdGQ+XHJcbiAgICAgICAgICA8dGQgPlxyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgPC90ZD5cclxuICAgICAgICA8L3RyPlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9wLXRhYmxlPlxyXG4gIDwvc2VjdGlvbj5cclxuICA8L2Zvcm0+XHJcbiAgPHVsICpuZ0lmPVwiZW1wbG95ZXJEYXRhTW9kZWxcIiBjbGFzcz1cIm5vLWJ1bGxldHMgZ2FwLTNcIj5cclxuICAgIDxsaSBjbGFzcz1cInBiLTNcIiAqbmdGb3I9XCJsZXQgZW1wbG95ZXIgb2YgZW1wbG95ZXJEYXRhTW9kZWw7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgPHAtY2FyZCBjbGFzcz1cInBiLTIgZ2FwLTNcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlIGNsYXNzPVwicC0zXCIgcFRlbXBsYXRlPVwiY29udGVudFwiIGxldC1maWxlcyBsZXQtdXBsb2FkZWRGaWxlcz1cInVwbG9hZGVkRmlsZXNcIiBsZXQtcmVtb3ZlRmlsZUNhbGxiYWNrPVwicmVtb3ZlRmlsZUNhbGxiYWNrXCIgbGV0LXJlbW92ZVVwbG9hZGVkRmlsZUNhbGxiYWNrPVwicmVtb3ZlVXBsb2FkZWRGaWxlQ2FsbGJhY2tcIiBsZXQtY2hvb3NlQ2FsbGJhY2s9XCJjaG9vc2VDYWxsYmFja1wiPlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTFcIj5cclxuICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJtLTBcIiBzdGx5ZT1cIm1hcmdpbjogMFwiPnt7ZW1wbG95ZXIuZW1wbG95ZXJOYW1lfX08L2g0PlxyXG4gICAgICAgICAgICAgIDxhcHAtb3ZlcmxheS1pbmZvIFtvdmVybGF5VGV4dF09XCJpY29uSW5mb1wiXHJcbiAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tdG9wOiAycHg7IG1hcmdpbi1sZWZ0OiA2cHg7XCI+PC9hcHAtb3ZlcmxheS1pbmZvPlxyXG4gICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LWNvbHVtbiBib3JkZXItMiBib3JkZXItZGFzaGVkIGJvcmRlci00MDAgcm91bmRlZC1zbSBwLTJcIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFlbXBsb3llci5maWxlXCIgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktdXBsb2FkIGJvcmRlci0yIGJvcmRlci1jaXJjbGUgcC0yIG0tMiB0ZXh0LXhsIHRleHQtNDAwXCI+PC9pPlxyXG4gICAgICAgICAgICA8aW5wdXQgaWQ9XCJlbXBsb3llcldvcmtTZWFyY2hGaWxlSW5wdXRcIiB0eXBlPVwiZmlsZVwiICNmaWxlSW5wdXQgW2FjY2VwdF09XCJhbGxvd2VkRmlsZVR5cGVcIlxyXG4gICAgICAgICAgICAoY2hhbmdlKT1cImFkZEZpbGVUb0VtcGxveWVyRGF0YSgkZXZlbnQsZW1wbG95ZXIpXCIgc3R5bGU9XCJkaXNwbGF5OiBub25lXCIgLz5cclxuICAgICAgICAgICAgPGlvbi1idXR0b24gYXJpYS1sYWJlbD1cIkFkZCBGaWxlc1wiIChjbGljayk9XCJmaWxlSW5wdXQuY2xpY2soKVwiIGZpbGw9XCJvdXRsaW5lXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3M9XCJhY3Rpb24tYnV0dG9uXCIgc3R5bGU9XCJmbG9hdDppbmxpbmUtZW5kXCI+XHJcbiAgICAgICAgICAgICAgVXBsb2FkXHJcbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cImVtcGxveWVyLmZpbGVcIj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGZsZXgtY29sdW1uIHAtMCBzbTpwLTIgZ2FwLTVcIj5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNhcmQgbS0wIHB4LTYgZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LWNvbHVtbiBnYXAtMlwiXHJcbiAgICAgICAgICAgICAgPiBcclxuICAgICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLWZpbGVcIiBzdHlsZT1cImNvbG9yOiAjNDQ3OEFBXCI+PC9pPnt7IGVtcGxveWVyLmZpbGUuZmlsZU5hbWUgfX1cclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIGFyaWEtbGFiZWw9XCJSZW1vdmUgRmlsZXNcIiBmaWxsPVwib3V0bGluZVwiIHNpemU9XCJzbWFsbFwiIHBUb29sdGlwPVwiUmVtb3ZlXCIgKGNsaWNrKT1cInJlbW92ZUZpbGVGcm9tRW1wbG95ZXJEYXRhKGVtcGxveWVyKVwiXHJcbiAgICAgICAgICAgICAgICB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBjbGFzcz1cImlvbi1wYWRkaW5nLWxlZnRcIiBzdHlsZT1cImZsb2F0OiBpbmxpbmUtZW5kXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwidHJhc2gtb3V0bGluZVwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcblxyXG4gICAgICBcclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9wLWNhcmQ+XHJcbiAgICA8L2xpPlxyXG4gIDwvdWw+Il19
|