@uiapplib/ngx-ui-web-lib 0.0.8 → 0.0.10
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/add-employer/add-employer.component.mjs +5 -2
- package/esm2022/lib/components/history-page/history-page.component.mjs +7 -1
- package/esm2022/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.mjs +72 -49
- package/esm2022/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.mjs +62 -38
- package/esm2022/lib/pipes/format-worksearch/format-worksearch.pipe.mjs +8 -3
- package/esm2022/lib/services/chatbot/chatbot.service.mjs +3 -2
- package/fesm2022/uiapplib-ngx-ui-web-lib.mjs +151 -89
- package/fesm2022/uiapplib-ngx-ui-web-lib.mjs.map +1 -1
- package/lib/components/add-employer/add-employer.component.d.ts.map +1 -1
- package/lib/components/history-page/history-page.component.d.ts.map +1 -1
- package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts +1 -1
- package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts.map +1 -1
- package/lib/services/chatbot/chatbot.service.d.ts.map +1 -1
- package/package.json +1 -1
package/esm2022/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.mjs
CHANGED
|
@@ -104,47 +104,71 @@ function WorkSearchQuestionComponentV2_div_4_section_3_section_3_Template(rf, ct
|
|
|
104
104
|
i0.ɵɵadvance(1);
|
|
105
105
|
i0.ɵɵproperty("value", i0.ɵɵpureFunction1(2, _c6, i0.ɵɵpureFunction0(1, _c5)));
|
|
106
106
|
} }
|
|
107
|
+
function WorkSearchQuestionComponentV2_div_4_section_3_ng_template_5_ng_container_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
108
|
+
i0.ɵɵelementContainerStart(0);
|
|
109
|
+
i0.ɵɵtext(1);
|
|
110
|
+
i0.ɵɵpipe(2, "date");
|
|
111
|
+
i0.ɵɵelementContainerEnd();
|
|
112
|
+
} if (rf & 2) {
|
|
113
|
+
const record_r18 = i0.ɵɵnextContext(2).$implicit;
|
|
114
|
+
i0.ɵɵadvance(1);
|
|
115
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, record_r18.unionContactDate, "M/d/yyyy"), " ");
|
|
116
|
+
} }
|
|
117
|
+
function WorkSearchQuestionComponentV2_div_4_section_3_ng_template_5_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
118
|
+
i0.ɵɵelementContainerStart(0);
|
|
119
|
+
i0.ɵɵtemplate(1, WorkSearchQuestionComponentV2_div_4_section_3_ng_template_5_ng_container_2_ng_container_1_Template, 3, 4, "ng-container", 3);
|
|
120
|
+
i0.ɵɵelementContainerEnd();
|
|
121
|
+
} if (rf & 2) {
|
|
122
|
+
const record_r18 = i0.ɵɵnextContext().$implicit;
|
|
123
|
+
i0.ɵɵadvance(1);
|
|
124
|
+
i0.ɵɵproperty("ngIf", record_r18.isInContactWithUnion === "Y");
|
|
125
|
+
} }
|
|
126
|
+
function WorkSearchQuestionComponentV2_div_4_section_3_ng_template_5_ng_template_3_Template(rf, ctx) { if (rf & 1) {
|
|
127
|
+
i0.ɵɵtext(0);
|
|
128
|
+
i0.ɵɵpipe(1, "date");
|
|
129
|
+
} if (rf & 2) {
|
|
130
|
+
const record_r18 = i0.ɵɵnextContext().$implicit;
|
|
131
|
+
const ctx_r20 = i0.ɵɵnextContext(3);
|
|
132
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(1, 1, record_r18.workSearchDate || ctx_r20.currentDate, "M/d/yyyy"), " ");
|
|
133
|
+
} }
|
|
107
134
|
const _c7 = () => ["fal", "edit"];
|
|
108
135
|
const _c8 = () => ["fal", "trash-alt"];
|
|
109
136
|
function WorkSearchQuestionComponentV2_div_4_section_3_ng_template_5_td_7_Template(rf, ctx) { if (rf & 1) {
|
|
110
|
-
const
|
|
111
|
-
i0.ɵɵelementStart(0, "td")(1, "ion-button",
|
|
112
|
-
i0.ɵɵlistener("click", function WorkSearchQuestionComponentV2_div_4_section_3_ng_template_5_td_7_Template_ion_button_click_1_listener() { i0.ɵɵrestoreView(
|
|
137
|
+
const _r29 = i0.ɵɵgetCurrentView();
|
|
138
|
+
i0.ɵɵelementStart(0, "td")(1, "ion-button", 36);
|
|
139
|
+
i0.ɵɵlistener("click", function WorkSearchQuestionComponentV2_div_4_section_3_ng_template_5_td_7_Template_ion_button_click_1_listener() { i0.ɵɵrestoreView(_r29); const record_r18 = i0.ɵɵnextContext().$implicit; const ctx_r27 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r27.edit(record_r18)); });
|
|
113
140
|
i0.ɵɵelement(2, "fa-icon", 28);
|
|
114
141
|
i0.ɵɵelementEnd();
|
|
115
|
-
i0.ɵɵelementStart(3, "ion-button",
|
|
116
|
-
i0.ɵɵlistener("click", function WorkSearchQuestionComponentV2_div_4_section_3_ng_template_5_td_7_Template_ion_button_click_3_listener() { i0.ɵɵrestoreView(
|
|
142
|
+
i0.ɵɵelementStart(3, "ion-button", 36);
|
|
143
|
+
i0.ɵɵlistener("click", function WorkSearchQuestionComponentV2_div_4_section_3_ng_template_5_td_7_Template_ion_button_click_3_listener() { i0.ɵɵrestoreView(_r29); const record_r18 = i0.ɵɵnextContext().$implicit; const ctx_r30 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r30.delete(record_r18)); });
|
|
117
144
|
i0.ɵɵelement(4, "fa-icon", 28);
|
|
118
145
|
i0.ɵɵelementEnd()();
|
|
119
146
|
} if (rf & 2) {
|
|
120
|
-
const
|
|
147
|
+
const ctx_r22 = i0.ɵɵnextContext(4);
|
|
121
148
|
i0.ɵɵadvance(1);
|
|
122
|
-
i0.ɵɵproperty("disabled",
|
|
149
|
+
i0.ɵɵproperty("disabled", ctx_r22.disabled);
|
|
123
150
|
i0.ɵɵadvance(1);
|
|
124
151
|
i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(4, _c7));
|
|
125
152
|
i0.ɵɵadvance(1);
|
|
126
|
-
i0.ɵɵproperty("disabled",
|
|
153
|
+
i0.ɵɵproperty("disabled", ctx_r22.disabled);
|
|
127
154
|
i0.ɵɵadvance(1);
|
|
128
155
|
i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(5, _c8));
|
|
129
156
|
} }
|
|
130
157
|
function WorkSearchQuestionComponentV2_div_4_section_3_ng_template_5_Template(rf, ctx) { if (rf & 1) {
|
|
131
158
|
i0.ɵɵelementStart(0, "tr", 32)(1, "td");
|
|
132
|
-
i0.ɵɵ
|
|
133
|
-
i0.ɵɵpipe(3, "date");
|
|
159
|
+
i0.ɵɵtemplate(2, WorkSearchQuestionComponentV2_div_4_section_3_ng_template_5_ng_container_2_Template, 2, 1, "ng-container", 33)(3, WorkSearchQuestionComponentV2_div_4_section_3_ng_template_5_ng_template_3_Template, 2, 4, "ng-template", null, 34, i0.ɵɵtemplateRefExtractor);
|
|
134
160
|
i0.ɵɵelementEnd();
|
|
135
|
-
i0.ɵɵ
|
|
136
|
-
i0.ɵɵtext(5);
|
|
161
|
+
i0.ɵɵelement(5, "td", 35);
|
|
137
162
|
i0.ɵɵpipe(6, "formatWorksearchRecord");
|
|
138
|
-
i0.ɵɵelementEnd();
|
|
139
163
|
i0.ɵɵtemplate(7, WorkSearchQuestionComponentV2_div_4_section_3_ng_template_5_td_7_Template, 5, 6, "td", 3);
|
|
140
164
|
i0.ɵɵelementEnd();
|
|
141
165
|
} if (rf & 2) {
|
|
142
166
|
const record_r18 = ctx.$implicit;
|
|
143
|
-
const
|
|
167
|
+
const _r21 = i0.ɵɵreference(4);
|
|
144
168
|
i0.ɵɵadvance(2);
|
|
145
|
-
i0.ɵɵ
|
|
169
|
+
i0.ɵɵproperty("ngIf", record_r18.activityType === "UNON")("ngIfElse", _r21);
|
|
146
170
|
i0.ɵɵadvance(3);
|
|
147
|
-
i0.ɵɵ
|
|
171
|
+
i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind1(6, 4, record_r18), i0.ɵɵsanitizeHtml);
|
|
148
172
|
i0.ɵɵadvance(2);
|
|
149
173
|
i0.ɵɵproperty("ngIf", record_r18.activityType != "MDES");
|
|
150
174
|
} }
|
|
@@ -154,7 +178,7 @@ function WorkSearchQuestionComponentV2_div_4_section_3_Template(rf, ctx) { if (r
|
|
|
154
178
|
i0.ɵɵelement(2, "div", 20);
|
|
155
179
|
i0.ɵɵtemplate(3, WorkSearchQuestionComponentV2_div_4_section_3_section_3_Template, 3, 4, "section", 3);
|
|
156
180
|
i0.ɵɵelementStart(4, "p-table", 21);
|
|
157
|
-
i0.ɵɵtemplate(5, WorkSearchQuestionComponentV2_div_4_section_3_ng_template_5_Template, 8,
|
|
181
|
+
i0.ɵɵtemplate(5, WorkSearchQuestionComponentV2_div_4_section_3_ng_template_5_Template, 8, 6, "ng-template", 22);
|
|
158
182
|
i0.ɵɵelementEnd()();
|
|
159
183
|
} if (rf & 2) {
|
|
160
184
|
const ctx_r10 = i0.ɵɵnextContext(2);
|
|
@@ -166,7 +190,7 @@ function WorkSearchQuestionComponentV2_div_4_section_3_Template(rf, ctx) { if (r
|
|
|
166
190
|
i0.ɵɵproperty("value", ctx_r10.wcService.getWorkSearchRecords());
|
|
167
191
|
} }
|
|
168
192
|
function WorkSearchQuestionComponentV2_div_4_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
169
|
-
i0.ɵɵelementStart(0, "div",
|
|
193
|
+
i0.ɵɵelementStart(0, "div", 37)(1, "mat-error")(2, "small");
|
|
170
194
|
i0.ɵɵtext(3);
|
|
171
195
|
i0.ɵɵpipe(4, "translate");
|
|
172
196
|
i0.ɵɵelementEnd()()();
|
|
@@ -190,16 +214,16 @@ function WorkSearchQuestionComponentV2_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
|
190
214
|
i0.ɵɵproperty("ngIf", ctx_r3.msg !== null && ctx_r3.isMS());
|
|
191
215
|
} }
|
|
192
216
|
function WorkSearchQuestionComponentV2_div_5_ion_row_2_Template(rf, ctx) { if (rf & 1) {
|
|
193
|
-
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col",
|
|
217
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 39)(2, "span");
|
|
194
218
|
i0.ɵɵtext(3);
|
|
195
219
|
i0.ɵɵelementEnd()()();
|
|
196
220
|
} if (rf & 2) {
|
|
197
|
-
const
|
|
221
|
+
const ctx_r32 = i0.ɵɵnextContext(2);
|
|
198
222
|
i0.ɵɵadvance(3);
|
|
199
|
-
i0.ɵɵtextInterpolate(
|
|
223
|
+
i0.ɵɵtextInterpolate(ctx_r32.wcService.weeklyCertServerData.waiverReason);
|
|
200
224
|
} }
|
|
201
225
|
function WorkSearchQuestionComponentV2_div_5_ion_row_3_Template(rf, ctx) { if (rf & 1) {
|
|
202
|
-
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col",
|
|
226
|
+
i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 39)(2, "span");
|
|
203
227
|
i0.ɵɵtext(3);
|
|
204
228
|
i0.ɵɵpipe(4, "translate");
|
|
205
229
|
i0.ɵɵelementEnd()()();
|
|
@@ -208,7 +232,7 @@ function WorkSearchQuestionComponentV2_div_5_ion_row_3_Template(rf, ctx) { if (r
|
|
|
208
232
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 1, "no.work.search.required"));
|
|
209
233
|
} }
|
|
210
234
|
function WorkSearchQuestionComponentV2_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
211
|
-
i0.ɵɵelementStart(0, "div")(1, "ion-grid",
|
|
235
|
+
i0.ɵɵelementStart(0, "div")(1, "ion-grid", 38);
|
|
212
236
|
i0.ɵɵtemplate(2, WorkSearchQuestionComponentV2_div_5_ion_row_2_Template, 4, 1, "ion-row", 3)(3, WorkSearchQuestionComponentV2_div_5_ion_row_3_Template, 5, 3, "ion-row", 3);
|
|
213
237
|
i0.ɵɵelementEnd()();
|
|
214
238
|
} if (rf & 2) {
|
|
@@ -219,34 +243,34 @@ function WorkSearchQuestionComponentV2_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
|
219
243
|
i0.ɵɵproperty("ngIf", !ctx_r4.wcService.getWaitingWeekServed());
|
|
220
244
|
} }
|
|
221
245
|
function WorkSearchQuestionComponentV2_ng_template_11_Template(rf, ctx) { if (rf & 1) {
|
|
222
|
-
const
|
|
223
|
-
i0.ɵɵelementStart(0, "ion-button",
|
|
224
|
-
i0.ɵɵlistener("click", function WorkSearchQuestionComponentV2_ng_template_11_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(
|
|
246
|
+
const _r35 = i0.ɵɵgetCurrentView();
|
|
247
|
+
i0.ɵɵelementStart(0, "ion-button", 40);
|
|
248
|
+
i0.ɵɵlistener("click", function WorkSearchQuestionComponentV2_ng_template_11_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r35); const ctx_r34 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r34.closeReemDialog()); });
|
|
225
249
|
i0.ɵɵtext(1, " Ok ");
|
|
226
250
|
i0.ɵɵelementEnd();
|
|
227
251
|
} }
|
|
228
252
|
function WorkSearchQuestionComponentV2_app_work_search_employer_ct_12_Template(rf, ctx) { if (rf & 1) {
|
|
229
|
-
const
|
|
230
|
-
i0.ɵɵelementStart(0, "app-work-search-employer-ct",
|
|
231
|
-
i0.ɵɵlistener("success", function WorkSearchQuestionComponentV2_app_work_search_employer_ct_12_Template_app_work_search_employer_ct_success_0_listener($event) { i0.ɵɵrestoreView(
|
|
253
|
+
const _r37 = i0.ɵɵgetCurrentView();
|
|
254
|
+
i0.ɵɵelementStart(0, "app-work-search-employer-ct", 41);
|
|
255
|
+
i0.ɵɵlistener("success", function WorkSearchQuestionComponentV2_app_work_search_employer_ct_12_Template_app_work_search_employer_ct_success_0_listener($event) { i0.ɵɵrestoreView(_r37); const ctx_r36 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r36.addWsRecord($event)); })("onClose", function WorkSearchQuestionComponentV2_app_work_search_employer_ct_12_Template_app_work_search_employer_ct_onClose_0_listener() { i0.ɵɵrestoreView(_r37); const ctx_r38 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r38.closeWsRecord()); });
|
|
232
256
|
i0.ɵɵelementEnd();
|
|
233
257
|
} if (rf & 2) {
|
|
234
258
|
const ctx_r6 = i0.ɵɵnextContext();
|
|
235
259
|
i0.ɵɵproperty("recordIndexToEdit", ctx_r6.indexToEdit);
|
|
236
260
|
} }
|
|
237
261
|
function WorkSearchQuestionComponentV2_app_work_search_employer_me_13_Template(rf, ctx) { if (rf & 1) {
|
|
238
|
-
const
|
|
239
|
-
i0.ɵɵelementStart(0, "app-work-search-employer-me",
|
|
240
|
-
i0.ɵɵlistener("success", function WorkSearchQuestionComponentV2_app_work_search_employer_me_13_Template_app_work_search_employer_me_success_0_listener($event) { i0.ɵɵrestoreView(
|
|
262
|
+
const _r40 = i0.ɵɵgetCurrentView();
|
|
263
|
+
i0.ɵɵelementStart(0, "app-work-search-employer-me", 42);
|
|
264
|
+
i0.ɵɵlistener("success", function WorkSearchQuestionComponentV2_app_work_search_employer_me_13_Template_app_work_search_employer_me_success_0_listener($event) { i0.ɵɵrestoreView(_r40); const ctx_r39 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r39.addWsRecord($event)); })("onClose", function WorkSearchQuestionComponentV2_app_work_search_employer_me_13_Template_app_work_search_employer_me_onClose_0_listener() { i0.ɵɵrestoreView(_r40); const ctx_r41 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r41.closeWsRecord()); });
|
|
241
265
|
i0.ɵɵelementEnd();
|
|
242
266
|
} if (rf & 2) {
|
|
243
267
|
const ctx_r7 = i0.ɵɵnextContext();
|
|
244
268
|
i0.ɵɵproperty("recordIndexToEdit", ctx_r7.indexToEdit)("existingRecords", ctx_r7.wcService.getWorkSearchRecords());
|
|
245
269
|
} }
|
|
246
270
|
function WorkSearchQuestionComponentV2_app_work_search_employer_ms_14_Template(rf, ctx) { if (rf & 1) {
|
|
247
|
-
const
|
|
248
|
-
i0.ɵɵelementStart(0, "app-work-search-employer-ms",
|
|
249
|
-
i0.ɵɵlistener("success", function WorkSearchQuestionComponentV2_app_work_search_employer_ms_14_Template_app_work_search_employer_ms_success_0_listener($event) { i0.ɵɵrestoreView(
|
|
271
|
+
const _r43 = i0.ɵɵgetCurrentView();
|
|
272
|
+
i0.ɵɵelementStart(0, "app-work-search-employer-ms", 41);
|
|
273
|
+
i0.ɵɵlistener("success", function WorkSearchQuestionComponentV2_app_work_search_employer_ms_14_Template_app_work_search_employer_ms_success_0_listener($event) { i0.ɵɵrestoreView(_r43); const ctx_r42 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r42.addWsRecord($event)); })("onClose", function WorkSearchQuestionComponentV2_app_work_search_employer_ms_14_Template_app_work_search_employer_ms_onClose_0_listener() { i0.ɵɵrestoreView(_r43); const ctx_r44 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r44.closeWsRecord()); });
|
|
250
274
|
i0.ɵɵelementEnd();
|
|
251
275
|
} if (rf & 2) {
|
|
252
276
|
const ctx_r8 = i0.ɵɵnextContext();
|
|
@@ -577,7 +601,7 @@ export class WorkSearchQuestionComponentV2 extends BasePage {
|
|
|
577
601
|
let _t;
|
|
578
602
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.wsFormId = _t.first);
|
|
579
603
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.wsFormDirective = _t.first);
|
|
580
|
-
} }, inputs: { disabled: "disabled", readOnly: "readOnly", showCounter: "showCounter" }, outputs: { success: "success", error: "error", hasHiredStatus: "hasHiredStatus", hasWorkedFullTimeOrStartedWorkingStatus: "hasWorkedFullTimeOrStartedWorkingStatus" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 15, vars: 18, consts: [[3, "formGroup", "ngSubmit"], ["wsFormDirective", "ngForm", "wsFormId", ""], ["class", "ion-text-left", 4, "ngIf"], [4, "ngIf"], ["appendTo", "body", "position", "center", "closeOnEscape", "false", 3, "visible", "modal", "breakpoints", "baseZIndex", "draggable", "resizable"], [1, "heading"], [2, "display", "block", "white-space", "pre-line"], ["pTemplate", "footer"], [3, "recordIndexToEdit", "success", "onClose", 4, "ngIf"], [3, "recordIndexToEdit", "existingRecords", "success", "onClose", 4, "ngIf"], [1, "ion-text-left"], [1, "app-heading"], [1, "ion-padding-start", "ion-padding-end", 2, "min-height", "500px"], ["class", "row-expansion", 4, "ngIf"], ["size", "7"], ["size", "5", 2, "display", "flex", "justify-content", "flex-end"], [2, "margin-top", "10px"], ["optionLabel", "label", "optionValue", "value", 3, "options", "formControl", "disabled"], [1, "weeklies-overlay", 2, "padding-left", "8px", "padding-right", "6px", "padding-top", "2px", "flex-grow", "1", 3, "overlayText"], [3, "field", "form", "errDef"], [2, "margin-bottom", "10px"], ["styleClass", "p-datatable-striped app-datatable", 3, "value"], ["pTemplate", "body"], ["size", "7", 1, "ion-text-left"], [3, "count", "hiredRecordCount", "msg"], ["size", "4", 1, "activity-text", 3, "ngStyle"], ["size", "1", 1, "activity-button", 3, "ngStyle"], ["fill", "outline", "size", "small", "aria-label", "add work search activity", 1, "action-button", 2, "padding", "0px 5px", "height", "34px", "width", "44px", 3, "disabled", "click"], [1, "action-icon", 3, "icon"], ["pTemplate", "header"], [1, "row-border"], [2, "height", "75px"], [1, "ion-text-justify;", "row-border"], [2, "white-space", "pre", "word-wrap", "break-word"], ["fill", "outline", "size", "small", 1, "action-button", 3, "disabled", "click"], [1, "row-expansion"], [1, "ion-padding-top"], [2, "padding", "0px"], ["shape", "round", "size", "small", "type", "button", "fill", "outline", 3, "click"], [3, "recordIndexToEdit", "success", "onClose"], [3, "recordIndexToEdit", "existingRecords", "success", "onClose"]], template: function WorkSearchQuestionComponentV2_Template(rf, ctx) { if (rf & 1) {
|
|
604
|
+
} }, inputs: { disabled: "disabled", readOnly: "readOnly", showCounter: "showCounter" }, outputs: { success: "success", error: "error", hasHiredStatus: "hasHiredStatus", hasWorkedFullTimeOrStartedWorkingStatus: "hasWorkedFullTimeOrStartedWorkingStatus" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 15, vars: 18, consts: [[3, "formGroup", "ngSubmit"], ["wsFormDirective", "ngForm", "wsFormId", ""], ["class", "ion-text-left", 4, "ngIf"], [4, "ngIf"], ["appendTo", "body", "position", "center", "closeOnEscape", "false", 3, "visible", "modal", "breakpoints", "baseZIndex", "draggable", "resizable"], [1, "heading"], [2, "display", "block", "white-space", "pre-line"], ["pTemplate", "footer"], [3, "recordIndexToEdit", "success", "onClose", 4, "ngIf"], [3, "recordIndexToEdit", "existingRecords", "success", "onClose", 4, "ngIf"], [1, "ion-text-left"], [1, "app-heading"], [1, "ion-padding-start", "ion-padding-end", 2, "min-height", "500px"], ["class", "row-expansion", 4, "ngIf"], ["size", "7"], ["size", "5", 2, "display", "flex", "justify-content", "flex-end"], [2, "margin-top", "10px"], ["optionLabel", "label", "optionValue", "value", 3, "options", "formControl", "disabled"], [1, "weeklies-overlay", 2, "padding-left", "8px", "padding-right", "6px", "padding-top", "2px", "flex-grow", "1", 3, "overlayText"], [3, "field", "form", "errDef"], [2, "margin-bottom", "10px"], ["styleClass", "p-datatable-striped app-datatable", 3, "value"], ["pTemplate", "body"], ["size", "7", 1, "ion-text-left"], [3, "count", "hiredRecordCount", "msg"], ["size", "4", 1, "activity-text", 3, "ngStyle"], ["size", "1", 1, "activity-button", 3, "ngStyle"], ["fill", "outline", "size", "small", "aria-label", "add work search activity", 1, "action-button", 2, "padding", "0px 5px", "height", "34px", "width", "44px", 3, "disabled", "click"], [1, "action-icon", 3, "icon"], ["pTemplate", "header"], [1, "row-border"], [2, "height", "75px"], [1, "ion-text-justify;", "row-border"], [4, "ngIf", "ngIfElse"], ["nonUNON", ""], [2, "white-space", "pre", "word-wrap", "break-word", 3, "innerHTML"], ["fill", "outline", "size", "small", 1, "action-button", 3, "disabled", "click"], [1, "row-expansion"], [1, "ion-padding-top"], [2, "padding", "0px"], ["shape", "round", "size", "small", "type", "button", "fill", "outline", 3, "click"], [3, "recordIndexToEdit", "success", "onClose"], [3, "recordIndexToEdit", "existingRecords", "success", "onClose"]], template: function WorkSearchQuestionComponentV2_Template(rf, ctx) { if (rf & 1) {
|
|
581
605
|
i0.ɵɵelementStart(0, "form", 0, 1);
|
|
582
606
|
i0.ɵɵlistener("ngSubmit", function WorkSearchQuestionComponentV2_Template_form_ngSubmit_0_listener() { return ctx.openNextPage(); });
|
|
583
607
|
i0.ɵɵtemplate(3, WorkSearchQuestionComponentV2_div_3_Template, 4, 4, "div", 2)(4, WorkSearchQuestionComponentV2_div_4_Template, 5, 3, "div", 3)(5, WorkSearchQuestionComponentV2_div_5_Template, 4, 2, "div", 3);
|
|
@@ -614,7 +638,7 @@ export class WorkSearchQuestionComponentV2 extends BasePage {
|
|
|
614
638
|
}
|
|
615
639
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkSearchQuestionComponentV2, [{
|
|
616
640
|
type: Component,
|
|
617
|
-
args: [{ selector: 'app-work-search-question-v2', animations: [rowExpansionTrigger], template: "<form [formGroup]=\"wsForm\" #wsFormDirective=\"ngForm\" #wsFormId (ngSubmit)=\"openNextPage()\">\r\n <div class=\"ion-text-left\" *ngIf=\"!isMS()\">\r\n <h1 class=\"app-heading\">{{'weeklies.v2.worksearch.heading' | translate:param }}</h1>\r\n </div>\r\n <div *ngIf=\"wcService.getDisplayWorkSearchScreen()\">\r\n <ion-grid class=\"ion-padding-start ion-padding-end\" style=\"min-height: 500px;\">\r\n <section *ngIf=\"isMS() && showWsQuestion\">\r\n <ion-row>\r\n <ion-col size=\"7\">\r\n <h5>{{'weeklies.worksearch.q1' | translate}}</h5>\r\n </ion-col>\r\n <ion-col size=\"5\" style=\"display: flex; justify-content: flex-end;\">\r\n <ion-row style=\"margin-top:10px;\">\r\n <p-selectButton [options]=\"yesNoOptions\" optionLabel=\"label\" optionValue=\"value\"\r\n [formControl]=\"wsQuestion1\" [disabled]='disabled'>\r\n </p-selectButton>\r\n <app-overlay-info class=\"weeklies-overlay\"\r\n [overlayText]=\"'work.search.journal.activity.ip2095' | translate | trustHtml\"\r\n style=\"padding-left: 8px; padding-right: 6px; padding-top: 2px; flex-grow: 1;\"></app-overlay-info>\r\n <app-error [field]='wsQuestion1' [form]=\"wsFormDirective\"\r\n [errDef]=\"{required: 'This question is required.'}\"></app-error>\r\n </ion-row>\r\n </ion-col>\r\n </ion-row>\r\n </section>\r\n\r\n <section *ngIf=\"isMS() ? wsQuestion1.value == 1 : true\">\r\n <ion-row *ngIf=\"showCounter\">\r\n <ion-col class=\"ion-text-left\" size=\"7\">\r\n <app-work-search-counter [count]=\"getCountForCounter()\" [hiredRecordCount]=\"getHiredCountForCounter()\"\r\n [msg]=\"getWorkSearchMessage()\">\r\n </app-work-search-counter>\r\n </ion-col>\r\n <ion-col class=\"activity-text\"\r\n [ngStyle]=\"{ 'padding-top' : (hiredRecordCount<1 && joapActivitiesCount<1) ? '65px' : '40px'}\" size=\"4\">\r\n <b>+Add</b> activity\r\n </ion-col>\r\n <ion-col class=\"activity-button\"\r\n [ngStyle]=\"{ 'padding-top' : (hiredRecordCount<1 && joapActivitiesCount<1) ? '55px' : '27px'}\" size=\"1\">\r\n <ion-button style=\"padding: 0px 5px; height: 34px; width: 44px;\" fill=\"outline\" size=\"small\" (click)=\"add()\"\r\n [disabled]='disabled' class=\"action-button\" aria-label=\"add work search activity\">\r\n <fa-icon [icon]=\"['fal', 'plus']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n </ion-col>\r\n </ion-row>\r\n <div style=\"margin-bottom: 10px;\"></div>\r\n <section *ngIf=\"this.wcService.getWorkSearchRecords().length < 1\">\r\n <p-table [value]=\"[{}]\" styleClass=\"p-datatable-striped app-datatable\">\r\n <ng-template pTemplate=\"header\">\r\n <tr class=\"row-border\">\r\n <th style=\"height: 75px;\"></th>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </section>\r\n <p-table [value]=\"this.wcService.getWorkSearchRecords()\" styleClass=\"p-datatable-striped app-datatable\">\r\n <ng-template pTemplate=\"body\" let-record>\r\n <tr class=\"ion-text-justify; row-border\">\r\n <td
|
|
641
|
+
args: [{ selector: 'app-work-search-question-v2', animations: [rowExpansionTrigger], template: "<form [formGroup]=\"wsForm\" #wsFormDirective=\"ngForm\" #wsFormId (ngSubmit)=\"openNextPage()\">\r\n <div class=\"ion-text-left\" *ngIf=\"!isMS()\">\r\n <h1 class=\"app-heading\">{{'weeklies.v2.worksearch.heading' | translate:param }}</h1>\r\n </div>\r\n <div *ngIf=\"wcService.getDisplayWorkSearchScreen()\">\r\n <ion-grid class=\"ion-padding-start ion-padding-end\" style=\"min-height: 500px;\">\r\n <section *ngIf=\"isMS() && showWsQuestion\">\r\n <ion-row>\r\n <ion-col size=\"7\">\r\n <h5>{{'weeklies.worksearch.q1' | translate}}</h5>\r\n </ion-col>\r\n <ion-col size=\"5\" style=\"display: flex; justify-content: flex-end;\">\r\n <ion-row style=\"margin-top:10px;\">\r\n <p-selectButton [options]=\"yesNoOptions\" optionLabel=\"label\" optionValue=\"value\"\r\n [formControl]=\"wsQuestion1\" [disabled]='disabled'>\r\n </p-selectButton>\r\n <app-overlay-info class=\"weeklies-overlay\"\r\n [overlayText]=\"'work.search.journal.activity.ip2095' | translate | trustHtml\"\r\n style=\"padding-left: 8px; padding-right: 6px; padding-top: 2px; flex-grow: 1;\"></app-overlay-info>\r\n <app-error [field]='wsQuestion1' [form]=\"wsFormDirective\"\r\n [errDef]=\"{required: 'This question is required.'}\"></app-error>\r\n </ion-row>\r\n </ion-col>\r\n </ion-row>\r\n </section>\r\n\r\n <section *ngIf=\"isMS() ? wsQuestion1.value == 1 : true\">\r\n <ion-row *ngIf=\"showCounter\">\r\n <ion-col class=\"ion-text-left\" size=\"7\">\r\n <app-work-search-counter [count]=\"getCountForCounter()\" [hiredRecordCount]=\"getHiredCountForCounter()\"\r\n [msg]=\"getWorkSearchMessage()\">\r\n </app-work-search-counter>\r\n </ion-col>\r\n <ion-col class=\"activity-text\"\r\n [ngStyle]=\"{ 'padding-top' : (hiredRecordCount<1 && joapActivitiesCount<1) ? '65px' : '40px'}\" size=\"4\">\r\n <b>+Add</b> activity\r\n </ion-col>\r\n <ion-col class=\"activity-button\"\r\n [ngStyle]=\"{ 'padding-top' : (hiredRecordCount<1 && joapActivitiesCount<1) ? '55px' : '27px'}\" size=\"1\">\r\n <ion-button style=\"padding: 0px 5px; height: 34px; width: 44px;\" fill=\"outline\" size=\"small\" (click)=\"add()\"\r\n [disabled]='disabled' class=\"action-button\" aria-label=\"add work search activity\">\r\n <fa-icon [icon]=\"['fal', 'plus']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n </ion-col>\r\n </ion-row>\r\n <div style=\"margin-bottom: 10px;\"></div>\r\n <section *ngIf=\"this.wcService.getWorkSearchRecords().length < 1\">\r\n <p-table [value]=\"[{}]\" styleClass=\"p-datatable-striped app-datatable\">\r\n <ng-template pTemplate=\"header\">\r\n <tr class=\"row-border\">\r\n <th style=\"height: 75px;\"></th>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </section>\r\n <p-table [value]=\"this.wcService.getWorkSearchRecords()\" styleClass=\"p-datatable-striped app-datatable\">\r\n <ng-template pTemplate=\"body\" let-record>\r\n <tr class=\"ion-text-justify; row-border\">\r\n <td>\r\n <ng-container *ngIf=\"record.activityType === 'UNON'; else nonUNON\">\r\n <ng-container *ngIf=\"record.isInContactWithUnion === 'Y'\">\r\n {{(record.unionContactDate)| date:'M/d/yyyy'}}\r\n </ng-container>\r\n </ng-container>\r\n <ng-template #nonUNON>\r\n {{(record.workSearchDate || currentDate)| date:'M/d/yyyy'}}\r\n </ng-template>\r\n </td>\r\n <td style=\"white-space: pre; word-wrap: break-word;\" [innerHTML]=\"record | formatWorksearchRecord\"></td>\r\n <td *ngIf=\"record.activityType != 'MDES'\">\r\n <ion-button fill=\"outline\" size=\"small\" (click)=\"edit(record)\" [disabled]='disabled'\r\n class=\"action-button\">\r\n <fa-icon [icon]=\"['fal', 'edit']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n <ion-button fill=\"outline\" size=\"small\" (click)=\"delete(record)\" [disabled]='disabled'\r\n class=\"action-button\">\r\n <fa-icon [icon]=\"['fal', 'trash-alt']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </section>\r\n <div *ngIf=\"msg!==null && isMS()\" [@rowExpansionTrigger]=\"'active'\" class=\"row-expansion\">\r\n <mat-error><small>{{msg | translate}}</small></mat-error>\r\n </div>\r\n </ion-grid>\r\n </div>\r\n\r\n <div *ngIf=\"!wcService.getDisplayWorkSearchScreen()\">\r\n <ion-grid class=\"ion-padding-top\">\r\n <ion-row *ngIf=\"this.wcService.weeklyCertServerData.waiverReason\">\r\n <ion-col style=\"padding: 0px;\">\r\n <span>{{ this.wcService.weeklyCertServerData.waiverReason}}</span>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"!this.wcService.getWaitingWeekServed()\">\r\n <ion-col style=\"padding: 0px;\">\r\n <span>{{ 'no.work.search.required' | translate}}</span>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </div>\r\n\r\n</form>\r\n<p-dialog [visible]=\"showReemDialog\" [modal]=\"true\" appendTo=\"body\" position=\"center\" [breakpoints]=\"{\r\n '1200px': '660px',\r\n '992px': '660px',\r\n '768px': '660px',\r\n '576px': '100vw'\r\n }\" [style]=\"{ width: '45vw' }\" [baseZIndex]=\"5000\" [draggable]=\"false\" [resizable]=\"false\" closeOnEscape=\"false\">\r\n <h4 class=\"heading\">CareerCenter activity advisory</h4>\r\n <ion-label style=\"display: block; white-space: pre-line;\">\r\n {{ reemAdvisoryText }}\r\n </ion-label>\r\n <ng-template pTemplate=\"footer\">\r\n <ion-button shape=\"round\" size=\"small\" type=\"button\" fill=\"outline\" (click)=\"closeReemDialog()\">\r\n Ok\r\n </ion-button>\r\n </ng-template>\r\n</p-dialog>\r\n<!-- <app-work-search-employer-v2 *ngIf=\"showAddWsRecors && isCT()\" (success)=\"addWsRecord($event)\"\r\n (onClose)=\"closeWsRecord()\" [recordIndexToEdit]=\"indexToEdit\"></app-work-search-employer-v2> -->\r\n<app-work-search-employer-ct *ngIf=\"showAddWsRecors && isCT()\" (success)=\"addWsRecord($event)\"\r\n (onClose)=\"closeWsRecord()\" [recordIndexToEdit]=\"indexToEdit\"></app-work-search-employer-ct>\r\n\r\n<app-work-search-employer-me *ngIf=\"showAddWsRecors && isME()\" (success)=\"addWsRecord($event)\"\r\n (onClose)=\"closeWsRecord()\" [recordIndexToEdit]=\"indexToEdit\"\r\n [existingRecords]=\"wcService.getWorkSearchRecords()\"></app-work-search-employer-me>\r\n\r\n<app-work-search-employer-ms *ngIf=\"showAddWsRecors && isMS()\" (success)=\"addWsRecord($event)\"\r\n (onClose)=\"closeWsRecord()\" [recordIndexToEdit]=\"indexToEdit\"></app-work-search-employer-ms>", styles: [".icon{font-size:26px;color:var(--ion-color-green);font-weight:700}.app-heading{font-family:var(--app-font-light);font-size:24px;margin-top:10px;color:var(--ion-color-medium-gray)}ion-col{padding:0;margin-bottom:6px;margin-top:3px}ol,ul{list-style:none}ul{list-style-type:square}li{color:var(--ion-color-grey)}.row-border{background:#fff 0% 0% no-repeat padding-box;border:.5px solid #707070;border-bottom:.5px solid #707070;opacity:1}.activity-text{text-align:right}.activity-button{text-align:right;margin-left:0}@media (min-width: 321px) and (max-width: 344px){.weeklies-overlay{position:relative;padding-left:100px!important;top:-75px;left:30px}}@media (min-width: 345px) and (max-width: 391px){.weeklies-overlay{position:relative;padding-left:100px!important;top:-75px;left:30px}}@media (min-width: 391px) and (max-width: 420px){.activity-button{margin-left:0}.weeklies-overlay{position:relative;padding-left:100px!important;top:-75px;left:30px}}@media (min-width: 420px) and (max-width: 500px){.activity-text{text-align:right;padding-top:60px!important}.activity-button{padding-top:40px!important;margin-left:0}.weeklies-overlay{position:relative;padding-left:100px!important;top:-75px;left:30px}}@media (min-width: 501px) and (max-width: 1450px){.activity-text{text-align:right}.activity-button{margin-left:0}}@media (min-width: 378px) and (max-width: 500px){.weeklies-overlay{position:relative;padding-left:95px!important;top:-55px;left:45px}}\n"] }]
|
|
618
642
|
}], () => [{ type: i1.WorkSearchService }, { type: i2.WeeklyCertServiceV2 }, { type: i3.UntypedFormBuilder }, { type: i4.UtilService }, { type: i5.AlertController }], { disabled: [{
|
|
619
643
|
type: Input
|
|
620
644
|
}], readOnly: [{
|
|
@@ -637,4 +661,4 @@ export class WorkSearchQuestionComponentV2 extends BasePage {
|
|
|
637
661
|
args: ['wsFormDirective', { static: false }]
|
|
638
662
|
}] }); })();
|
|
639
663
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WorkSearchQuestionComponentV2, { className: "WorkSearchQuestionComponentV2", filePath: "lib\\components\\weekly-work-search-question-v2\\work-search-question.component-v2.ts", lineNumber: 18 }); })();
|
|
640
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yay1zZWFyY2gtcXVlc3Rpb24uY29tcG9uZW50LXYyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3dlZWtseS13b3JrLXNlYXJjaC1xdWVzdGlvbi12Mi93b3JrLXNlYXJjaC1xdWVzdGlvbi5jb21wb25lbnQtdjIudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvd2Vla2x5LXdvcmstc2VhcmNoLXF1ZXN0aW9uLXYyL3dvcmstc2VhcmNoLXF1ZXN0aW9uLmNvbXBvbmVudC12Mi5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBZ0QsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHMUYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUloRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ1JyRSwrQkFBMkMsYUFBQTtJQUNqQixZQUF1RDs7SUFBQSxpQkFBSyxFQUFBOzs7SUFBNUQsZUFBdUQ7SUFBdkQsMEZBQXVEOzs7O0lBSTdFLCtCQUEwQyxjQUFBLGtCQUFBLFNBQUE7SUFHaEMsWUFBd0M7O0lBQUEsaUJBQUssRUFBQTtJQUVuRCxtQ0FBb0Usa0JBQUE7SUFFaEUscUNBRWlCLDJCQUFBOzs7SUFJakIsaUNBQ2tFO0lBQ3BFLGlCQUFVLEVBQUEsRUFBQSxFQUFBOzs7O0lBWk4sZUFBd0M7SUFBeEMsb0VBQXdD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QUFNO1lBSVAsY0FBYztrQkFEYixNQUFNO1lBSVAsdUNBQXVDO2tCQUR0QyxNQUFNO1lBSUEsUUFBUTtrQkFEZCxTQUFTO21CQUFDLFVBQVU7WUFJZCxlQUFlO2tCQURyQixTQUFTO21CQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs7a0ZBMUJwQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIEV2ZW50RW1pdHRlciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBOZ0Zvcm0sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEFsZXJ0Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XHJcbmltcG9ydCB7IEJhc2VQYWdlIH0gZnJvbSAnLi4vLi4vcGFnZXMvQmFzZVBhZ2UnO1xyXG5pbXBvcnQgeyBXb3JrU2VhcmNoTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvd2Vla2x5LWNlcnQvd29yay1zZWFyY2gtdjItbW9kZWwnO1xyXG5pbXBvcnQgeyBXb3JrU2VhcmNoUmVjb3JkTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvd2Vla2x5LWNlcnQvd29yay1zZWFyY2gtcmVjb3JkLXYyLW1vZGVsJztcclxuaW1wb3J0IHsgV2Vla2x5Q2VydFNlcnZpY2VWMiB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3dlZWtseS1jZXJ0L3dlZWtseS1jZXJ0LXYyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBXb3JrU2VhcmNoU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3dlZWtseS1jZXJ0L3dvcmstc2VhcmNoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyByb3dFeHBhbnNpb25UcmlnZ2VyIH0gZnJvbSAnLi4vLi4vYW5uaW1hdGlvbnMvYXBwLWFuaW1hdGlvbnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtd29yay1zZWFyY2gtcXVlc3Rpb24tdjInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi93b3JrLXNlYXJjaC1xdWVzdGlvbi5jb21wb25lbnQtdjIuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vd29yay1zZWFyY2gtcXVlc3Rpb24uY29tcG9uZW50LXYyLnNjc3MnXSxcclxuICBhbmltYXRpb25zOiBbcm93RXhwYW5zaW9uVHJpZ2dlcl1cclxufSlcclxuZXhwb3J0IGNsYXNzIFdvcmtTZWFyY2hRdWVzdGlvbkNvbXBvbmVudFYyIGV4dGVuZHMgQmFzZVBhZ2UgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByZWFkT25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93Q291bnRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBzdWNjZXNzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgZXJyb3I6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBoYXNIaXJlZFN0YXR1czogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBoYXNXb3JrZWRGdWxsVGltZU9yU3RhcnRlZFdvcmtpbmdTdGF0dXM6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnd3NGb3JtSWQnKVxyXG4gIHB1YmxpYyB3c0Zvcm1JZDtcclxuXHJcbiAgQFZpZXdDaGlsZCgnd3NGb3JtRGlyZWN0aXZlJywgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgcHVibGljIHdzRm9ybURpcmVjdGl2ZTogTmdGb3JtO1xyXG4gIHB1YmxpYyBzaG93QWRkV3NSZWNvcnMgPSBmYWxzZTtcclxuICBwdWJsaWMgd29ya1NlYXJjaERhdGE6IFdvcmtTZWFyY2hNb2RlbDtcclxuICBwdWJsaWMgd3NGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG4gIHB1YmxpYyB5ZXNOb09wdGlvbnMgPSBbeyBsYWJlbDogJ1llcycsIHZhbHVlOiAnMScgfSwgeyBsYWJlbDogJ05vJywgdmFsdWU6ICcwJyB9XTtcclxuICBwdWJsaWMgaW5kZXhUb0VkaXQ7XHJcbiAgcHVibGljIHBhcmFtO1xyXG4gIHB1YmxpYyBzaG93V3NRdWVzdGlvbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBqb3VybmFsOiBXb3JrU2VhcmNoUmVjb3JkTW9kZWw7XHJcbiAgcHVibGljIGpvdXJuYWxJZDogYW55O1xyXG4gIGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcclxuXHJcbiAgaGlyZWRSZWNvcmRDb3VudDogYW55O1xyXG4gIGpvYXBBY3Rpdml0aWVzQ291bnQ6IGFueTtcclxuICBjb3VudGVyID0gMDtcclxuXHJcbiAgY29tcFN0YXRlOiBzdHJpbmc7XHJcbiAgbXNnOiBzdHJpbmc7XHJcblxyXG4gIHNob3dSZWVtRGlhbG9nID0gZmFsc2U7XHJcbiAgc2hvd1JlZW1BZHZpc29yeSA9IGZhbHNlO1xyXG5yZWFkb25seSByZWVtQWR2aXNvcnlUZXh0ID1cclxuICAnWW91IHNlbGVjdGVkIHRoYXQgeW91IGhhdmUgd29ya2VkIHdpdGggdGhlIENhcmVlckNlbnRlciBmb3IgbXVsdGlwbGUgd2Vla3MuIFdlIGVuY291cmFnZSB5b3UgdG8gY29udGludWUgdXNpbmcgdGhlIENhcmVlckNlbnRlciwgYnV0IHdlIGFsc28gZW5jb3VyYWdlIHlvdSB0byBleHBhbmQgeW91ciB3b3JrIHNlYXJjaCB0byBvdGhlciBhY3Rpdml0aWVzIHN1Y2ggYXMgYXBwbHlpbmcgZm9yIHdvcmsgdXNpbmcgdGhlIE1haW5lIEpvYkxpbmsuIENvbnRpbnVpbmcgdG8gdXNlIG9ubHkgQ2FyZWVyQ2VudGVyIHNlcnZpY2VzIG1heSByZXN1bHQgaW4gYW4gaW4tZGVwdGggcmV2aWV3IG9mIHlvdXIgd29yayBzZWFyY2ggYWN0aXZpdGllcyB0byBmdXJ0aGVyIGFzc2lzdCB5b3UuJztcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHdzczogV29ya1NlYXJjaFNlcnZpY2UsIHB1YmxpYyB3Y1NlcnZpY2U6IFdlZWtseUNlcnRTZXJ2aWNlVjIsIHB1YmxpYyBmYjogVW50eXBlZEZvcm1CdWlsZGVyLCBwcml2YXRlIHV0aWw6IFV0aWxTZXJ2aWNlLCBwdWJsaWMgYWM6IEFsZXJ0Q29udHJvbGxlcikge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5pbml0aWxpemVXU1F1ZXN0aW9ubmFpcmVGb3JtKCk7XHJcbiAgICB0aGlzLnBhcmFtID0ge1xyXG4gICAgICBzdW5kYXlfZGF0ZTogdGhpcy53Y1NlcnZpY2UuZ2V0U3VuZGF5RGF0ZUFzU3RyaW5nKCksXHJcbiAgICAgIHNhdHVyZGF5X2RhdGU6IHRoaXMud2NTZXJ2aWNlLmdldFNhdHVyZGF5RGF0ZUFzU3RyaW5nKClcclxuICAgIH07XHJcbiAgICB0aGlzLmNvbXBTdGF0ZSA9IHRoaXMudXRpbC5nZXRTdGF0ZUxvd2VyY2FzZSgpO1xyXG4gIH1cclxuXHJcbiAgaW5pdGlsaXplV1NRdWVzdGlvbm5haXJlRm9ybSgpIHtcclxuICAgIGlmICh0aGlzLndjU2VydmljZS5nZXRXb3JrU2VhcmNoRGF0YSgpICE9IG51bGwpIHtcclxuICAgICAgdGhpcy53b3JrU2VhcmNoRGF0YSA9IHRoaXMud2NTZXJ2aWNlLmdldFdvcmtTZWFyY2hEYXRhKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLndvcmtTZWFyY2hEYXRhID0gbmV3IFdvcmtTZWFyY2hNb2RlbCgpO1xyXG4gICAgICB0aGlzLndjU2VydmljZS5zZXRXb3JrU2VhcmNoRGF0YSh0aGlzLndvcmtTZWFyY2hEYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLndzRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICAnd3NRdWVzdGlvbjEnOiBbdGhpcy53b3JrU2VhcmNoRGF0YS5pc1dvcmtTZWFyY2hQZXJmb3JtZWRGbGFnID8gdGhpcy53b3JrU2VhcmNoRGF0YS5pc1dvcmtTZWFyY2hQZXJmb3JtZWRGbGFnIDogbnVsbCwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAodGhpcy53Y1NlcnZpY2UuZ2V0V29ya1NlYXJjaFJlY29yZHMoKS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuc2hvd1dzUXVlc3Rpb24gPSBmYWxzZTtcclxuICAgICAgdGhpcy53c1F1ZXN0aW9uMS5zZXRWYWx1ZSgnMScpO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd1dzUXVlc3Rpb24gPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IHdzUXVlc3Rpb24xKCkge1xyXG4gICAgcmV0dXJuIHRoaXMud3NGb3JtLmNvbnRyb2xzWyd3c1F1ZXN0aW9uMSddO1xyXG4gIH1cclxuXHJcbiAgbnVsbENoZWNrZm9yQWN0aXZpdHlUeXBlKCkge1xyXG4gICAgcmV0dXJuICh0aGlzLndjU2VydmljZS5nZXRXb3JrU2VhcmNoUmVjb3JkcygpKS5tYXAoKHJlY29yZCwgaW5kZXgpID0+XHJcbiAgICAgIChyZWNvcmQuYWN0aXZpdHlUeXBlID09PSBudWxsID8gaW5kZXggKyAxIDogLTEpKS5maWx0ZXIoaW5kZXggPT4gaW5kZXggIT09IC0xKTtcclxuICB9XHJcblxyXG4gIG9wZW5OZXh0UGFnZSgpIHtcclxuICAgIGlmICh0aGlzLmlzTVMoKSkge1xyXG4gICAgICBjb25zdCBwb3NpdGlvbnMgPSB0aGlzLm51bGxDaGVja2ZvckFjdGl2aXR5VHlwZSgpLmpvaW4oXCIsIFwiKTtcclxuICAgICAgaWYgKHRoaXMud3NGb3JtLnZhbGlkKSB7XHJcbiAgICAgICAgdGhpcy53b3JrU2VhcmNoRGF0YS5pc1dvcmtTZWFyY2hQZXJmb3JtZWRGbGFnID0gdGhpcy53c1F1ZXN0aW9uMS52YWx1ZTtcclxuICAgICAgICB0aGlzLndjU2VydmljZS5zZXRXb3JrU2VhcmNoRGF0YSh0aGlzLndvcmtTZWFyY2hEYXRhKTtcclxuICAgICAgICBpZiAodGhpcy53c1F1ZXN0aW9uMS52YWx1ZSA9PSAxICYmIHRoaXMud2NTZXJ2aWNlLmdldFdvcmtTZWFyY2hSZWNvcmRzKCkubGVuZ3RoIDwgMSkge1xyXG4gICAgICAgICAgdGhpcy5zdWNjZXNzLmVtaXQoKTtcclxuICAgICAgICB9IGVsc2UgaWYgKHBvc2l0aW9ucy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLm1zZyA9IGBQbGVhc2Ugc2VsZWN0IGFjdGl2aXR5IHR5cGUgZm9yIGVtcGxveWVyIHJlY29yZChzKTogJHtwb3NpdGlvbnN9YDtcclxuICAgICAgICAgIHRoaXMuZXJyb3IuZW1pdCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc3VjY2Vzcy5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZXJyb3IuZW1pdCgpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMud3NRdWVzdGlvbjEpO1xyXG4gICAgICB0aGlzLndzUXVlc3Rpb24xLnNldFZhbHVlKG51bGwpO1xyXG4gICAgICBpZiAodGhpcy53c0Zvcm0udmFsaWQpIHtcclxuICAgICAgICB0aGlzLndjU2VydmljZS5zZXRXb3JrU2VhcmNoRGF0YSh0aGlzLndzRm9ybS52YWx1ZSk7XHJcbiAgICAgICAgdGhpcy5zdWNjZXNzLmVtaXQoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3VibWl0Rm9ybSgpIHtcclxuICAgIHRoaXMud3NGb3JtRGlyZWN0aXZlLm9uU3VibWl0KHVuZGVmaW5lZCk7XHJcbiAgfVxyXG5cclxuICBhZGQoKSB7XHJcbiAgICB0aGlzLnNob3dBZGRXc1JlY29ycyA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBlZGl0KHdzUmVjb3JkOiBXb3JrU2VhcmNoUmVjb3JkTW9kZWwpIHtcclxuICAgIHRoaXMuam91cm5hbCA9IHdzUmVjb3JkO1xyXG4gICAgdGhpcy5zaG93QWRkV3NSZWNvcnMgPSB0cnVlO1xyXG4gICAgdGhpcy5pbmRleFRvRWRpdCA9IHRoaXMud2NTZXJ2aWNlLmdldFdvcmtTZWFyY2hSZWNvcmRzKCkuaW5kZXhPZih3c1JlY29yZCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBkZWxldGUod3NSZWNvcmQ6IFdvcmtTZWFyY2hSZWNvcmRNb2RlbCkge1xyXG4gICAgdGhpcy5qb3VybmFsSWQgPSB3c1JlY29yZC5jbGFpbWFudFdvcmtTZWFyY2hKb3VybmFsSWQgPz8gbnVsbDtcclxuXHJcbiAgICBjb25zdCBhbGVydCA9IGF3YWl0IHRoaXMuYWMuY3JlYXRlKHtcclxuICAgICAgaGVhZGVyOiAnQ29uZmlybSEnLFxyXG4gICAgICBtZXNzYWdlOiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGVudHJ5PycsXHJcbiAgICAgIGJ1dHRvbnM6IFtcclxuICAgICAgICB7IHRleHQ6ICdDYW5jZWwnLCByb2xlOiAnY2FuY2VsJywgY3NzQ2xhc3M6ICdwcmltYXJ5JywgaGFuZGxlcjogKCkgPT4geyB9IH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdGV4dDogJ09rYXknLFxyXG4gICAgICAgICAgaGFuZGxlcjogKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBpZCA9IHdzUmVjb3JkLmNsYWltYW50V29ya1NlYXJjaEpvdXJuYWxJZCA/PyB0aGlzLmpvdXJuYWxJZDtcclxuXHJcbiAgICAgICAgICAgIGlmIChpZCA9PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLndjU2VydmljZS5nZXRXb3JrU2VhcmNoUmVjb3JkcygpLmluZGV4T2Yod3NSZWNvcmQpO1xyXG4gICAgICAgICAgICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLndjU2VydmljZS5nZXRXb3JrU2VhcmNoUmVjb3JkcygpLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgICAgICAgICAgICBpZiAoKCh3c1JlY29yZC53b3JrT3JQZXJmb3JtU2VydmljZVR5cGUgJiYgd3NSZWNvcmQud29ya09yUGVyZm9ybVNlcnZpY2VUeXBlID09PSAnRlVMTCcpIHx8XHJcbiAgICAgICAgICAgICAgICAgICh3c1JlY29yZC5zZWFyY2hSZXN1bHQgJiYgd3NSZWNvcmQuc2VhcmNoUmVzdWx0ID09PSAnU1RXSycpKSAmJiB0aGlzLmlzTUUoKSkge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmVtaXRXb3JrZWRGdWxsVGltZU9yU3RhcnRlZFdvcmtpbmdTdGF0dXMoZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGhpcy5lbWl0SGlyZWRTdGF0dXMoKTtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLndjU2VydmljZS5nZXRXb3JrU2VhcmNoUmVjb3Jkc0NvdW50KCkgPT09IDApIHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5zaG93V3NRdWVzdGlvbiA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHRoaXMuam91cm5hbElkID0gbnVsbDtcclxuICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMud3NzLmRlbGV0ZVdvcmtTZWFyY2hKb3VybmFsKGlkKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgICAgIG5leHQ6ICgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMudXRpbC5zdWNjZXNzKCdSZWNvcmQgZGVsZXRlZCBzdWNjZXNzZnVsbHkuJyk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMud2NTZXJ2aWNlLmdldFdvcmtTZWFyY2hSZWNvcmRzKCkuaW5kZXhPZih3c1JlY29yZCk7XHJcbiAgICAgICAgICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLndjU2VydmljZS5nZXRXb3JrU2VhcmNoUmVjb3JkcygpLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuZW1pdEhpcmVkU3RhdHVzKCk7XHJcbiAgICAgICAgICAgICAgICAgIGlmICh0aGlzLndjU2VydmljZS5nZXRXb3JrU2VhcmNoUmVjb3Jkc0NvdW50KCkgPT09IDApIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dXc1F1ZXN0aW9uID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuam91cm5hbElkID09PSBpZCkge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmpvdXJuYWxJZCA9IG51bGw7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoKCh3c1JlY29yZC53b3JrT3JQZXJmb3JtU2VydmljZVR5cGUgJiYgd3NSZWNvcmQud29ya09yUGVyZm9ybVNlcnZpY2VUeXBlID09PSAnRlVMTCcpIHx8XHJcbiAgICAgICAgICAgICAgICAgICh3c1JlY29yZC5zZWFyY2hSZXN1bHQgJiYgd3NSZWNvcmQuc2VhcmNoUmVzdWx0ID09PSAnU1RXSycpKSAmJiB0aGlzLmlzTUUoKSkge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmVtaXRXb3JrZWRGdWxsVGltZU9yU3RhcnRlZFdvcmtpbmdTdGF0dXMoZmFsc2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgZXJyb3I6IGVyciA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmpvdXJuYWxJZCA9IG51bGw7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIF1cclxuICAgIH0pO1xyXG5cclxuICAgIGF3YWl0IGFsZXJ0LnByZXNlbnQoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVjb21wdXRlUmVlbUFkdmlzb3J5KCk6IHZvaWQge1xyXG4gIGlmICh0aGlzLnV0aWwuZ2V0U3RhdGVMb3dlcmNhc2UoKSAhPT0gJ21lJykge1xyXG4gICAgdGhpcy5zaG93UmVlbUFkdmlzb3J5ID0gZmFsc2U7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG4gIGNvbnN0IGxpc3QgPSB0aGlzLndjU2VydmljZS5nZXRXb3JrU2VhcmNoUmVjb3JkcygpID8/IFtdO1xyXG4gIGNvbnN0IGxvY2FsUmVlbSA9IGxpc3QuZmlsdGVyKHIgPT4gciAmJiAoci5hY3Rpdml0eVR5cGUgPT09ICdKQkZSJyB8fCByLmFjdGl2aXR5VHlwZSA9PT0gJ0NTVlcnKSkubGVuZ3RoO1xyXG4gIGNvbnN0IHNlcnZlclJlZW0gPSBOdW1iZXIodGhpcy53Y1NlcnZpY2Uud2Vla2x5Q2VydFNlcnZlckRhdGE/LmhpZFJlZW1Xb3JrU2VhcmNoUmVjb3JkQ291bnQgPz8gMCk7XHJcbiAgdGhpcy5zaG93UmVlbUFkdmlzb3J5ID0gKGxvY2FsUmVlbSArIHNlcnZlclJlZW0pID4gMjtcclxufVxyXG5cclxuY2xvc2VSZWVtRGlhbG9nKCkge1xyXG4gIHRoaXMuc2hvd1JlZW1EaWFsb2cgPSBmYWxzZTtcclxufVxyXG5cclxuICBhZGRXc1JlY29yZChldmVudDogV29ya1NlYXJjaFJlY29yZE1vZGVsKSB7XHJcbiAgLy8gcmVhZCBVSS1vbmx5IGZsYWcgZnJvbSBjaGlsZCAobm8gY29tcGlsZSBlcnJvciBldmVuIGlmIG5vdCBvbiB0aGUgbW9kZWwpXHJcbiAgY29uc3QgcmVlbUZsYWcgPSAhIShldmVudCBhcyBhbnkpPy5yZWVtRXhjZWVkZWRGbGFnO1xyXG5cclxuICAgIGlmICh0aGlzLmluZGV4VG9FZGl0IHx8IHRoaXMuaW5kZXhUb0VkaXQgPT09IDApIHtcclxuICAgICAgdGhpcy53Y1NlcnZpY2UuZ2V0V29ya1NlYXJjaFJlY29yZHMoKVt0aGlzLmluZGV4VG9FZGl0XSA9IGV2ZW50O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy53Y1NlcnZpY2UuZ2V0V29ya1NlYXJjaFJlY29yZHMoKS5wdXNoKGV2ZW50KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLndzcy5zYXZlV29ya1NlYXJjaEpvdXJuYWwoZXZlbnQpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIHRoaXMuc2hvd0FkZFdzUmVjb3JzID0gZmFsc2U7XHJcbiAgICAgICAgaWYgKGV2ZW50LmNsYWltYW50V29ya1NlYXJjaEpvdXJuYWxJZCkge1xyXG4gICAgICAgICAgdGhpcy51dGlsLnN1Y2Nlc3MoJ0FjdGl2aXR5IHVwZGF0ZWQgc3VjY2Vzc2Z1bGx5LicpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnV0aWwuc3VjY2VzcygnQWN0aXZpdHkgc2F2ZWQgc3VjY2Vzc2Z1bGx5LicpO1xyXG4gICAgICAgICAgZXZlbnQuY2xhaW1hbnRXb3JrU2VhcmNoSm91cm5hbElkID0gcmVzO1xyXG4gICAgICAgICAgdGhpcy5qb3VybmFsSWQgPSByZXM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaW5kZXhUb0VkaXQgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuZW1pdEhpcmVkU3RhdHVzKCk7XHJcbiAgICAgICAgaWYgKCgoZXZlbnQud29ya09yUGVyZm9ybVNlcnZpY2VUeXBlICYmIGV2ZW50LndvcmtPclBlcmZvcm1TZXJ2aWNlVHlwZSA9PT0gJ0ZVTEwnKSB8fFxyXG4gICAgICAgICAgKGV2ZW50LnNlYXJjaFJlc3VsdCAmJiBldmVudC5zZWFyY2hSZXN1bHQgPT09ICdTVFdLJykpICYmIHRoaXMuaXNNRSgpKSB7XHJcbiAgICAgICAgICB0aGlzLmVtaXRXb3JrZWRGdWxsVGltZU9yU3RhcnRlZFdvcmtpbmdTdGF0dXModHJ1ZSk7XHJcbiAgICAgICAgfSBlbHNlIGlmKCgoZXZlbnQud29ya09yUGVyZm9ybVNlcnZpY2VUeXBlICYmIGV2ZW50LndvcmtPclBlcmZvcm1TZXJ2aWNlVHlwZSA9PT0gJ1BBUlQnKSB8fFxyXG4gICAgICAgICAgKGV2ZW50LnNlYXJjaFJlc3VsdCAmJiBldmVudC5zZWFyY2hSZXN1bHQgIT0gJ1NUV0snKSkgJiYgdGhpcy5pc01FKCkpe1xyXG4gICAgICAgICAgICB0aGlzLmVtaXRXb3JrZWRGdWxsVGltZU9yU3RhcnRlZFdvcmtpbmdTdGF0dXMoZmFsc2UpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAvLyBrZWVwIGJhbm5lciBpbiBzeW5jIGFmdGVyIHNlcnZlciBzYXZlXHJcbiAgICAgIHRoaXMucmVjb21wdXRlUmVlbUFkdmlzb3J5KCk7XHJcblxyXG4gICAgICBpZiAodGhpcy5pc01FKCkgJiYgcmVlbUZsYWcpIHtcclxuICAgICAgICB0aGlzLnNob3dSZWVtRGlhbG9nID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogZXJyID0+IHtcclxuICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XHJcbiAgICAgICAgdGhpcy5zaG93QWRkV3NSZWNvcnMgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBlbWl0SGlyZWRTdGF0dXMoKSB7XHJcbiAgICB0aGlzLmhhc0hpcmVkU3RhdHVzLmVtaXQodGhpcy53Y1NlcnZpY2UuZ2V0V29ya1NlYXJjaFJlY29yZHNDb3VudFdpdGhIaXJlZFN0YXR1cygpID4gMClcclxuICB9XHJcblxyXG4gIGVtaXRXb3JrZWRGdWxsVGltZU9yU3RhcnRlZFdvcmtpbmdTdGF0dXMoc3RhdHVzOiBib29sZWFuKXtcclxuICAgIHRoaXMuaGFzV29ya2VkRnVsbFRpbWVPclN0YXJ0ZWRXb3JraW5nU3RhdHVzLmVtaXQoc3RhdHVzKTtcclxuICB9XHJcblxyXG4gIGNsb3NlV3NSZWNvcmQoKSB7XHJcbiAgICB0aGlzLnNob3dBZGRXc1JlY29ycyA9IGZhbHNlO1xyXG4gICAgdGhpcy5pbmRleFRvRWRpdCA9IG51bGw7XHJcbiAgfVxyXG5cclxuICByZXRyaWV2ZUpvYXBDb3VudCgpOiBudW1iZXIge1xyXG4gICAgbGV0IGpvdXJuYWxzID0gdGhpcy53Y1NlcnZpY2UuZ2V0V29ya1NlYXJjaFJlY29yZHMoKTtcclxuICAgIGxldCBqb2FwQ291bnQgPSAwO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBqb3VybmFscy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAoam91cm5hbHNbaV0uYWN0aXZpdHlUeXBlID09PSBcIkpPQVBcIikge1xyXG4gICAgICAgIGpvYXBDb3VudCsrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gam9hcENvdW50O1xyXG4gIH1cclxuXHJcbiAgLy8gLS0tLS0tLS0tLSBGSUxURVJFRCBDT1VOVEVSIEhFTFBFUlMgLS0tLS0tLS0tLVxyXG4gIC8qKlxyXG4gICogRXhjbHVkZSAoTUUgb25seSk6XHJcbiAgKiAgLSBVTk9OIHdoZW4gaGFzQ29udGFjdGVkVW5pb24gPT09ICdOJ1xyXG4gICogIC0gV1JLUCB3aGVuIGVtcGxveW1lbnRUeXBlID09PSAnUEFSVCdcclxuICAqL1xyXG4gIHByaXZhdGUgc2hvdWxkQ291bnQocmVjOiBXb3JrU2VhcmNoUmVjb3JkTW9kZWwpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLmNvbXBTdGF0ZSAhPT0gJ21lJykgcmV0dXJuIHRydWU7IC8vIGtlZXAgb3RoZXIgc3RhdGVzIHVuY2hhbmdlZFxyXG4gICAgaWYgKHJlYy5hY3Rpdml0eVR5cGUgPT09ICdVTk9OJyAmJiByZWMuaXNJbkNvbnRhY3RXaXRoVW5pb24gPT09ICdOJykgcmV0dXJuIGZhbHNlO1xyXG4gICAgaWYgKHJlYy5hY3Rpdml0eVR5cGUgPT09ICdXUktQJyAmJiByZWMud29ya09yUGVyZm9ybVNlcnZpY2VUeXBlID09PSAnUEFSVCcpIHJldHVybiBmYWxzZTtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRSZWNvcmRzRm9yQ291bnRlcigpOiBXb3JrU2VhcmNoUmVjb3JkTW9kZWxbXSB7XHJcbiAgICByZXR1cm4gdGhpcy53Y1NlcnZpY2UuZ2V0V29ya1NlYXJjaFJlY29yZHMoKS5maWx0ZXIociA9PiB0aGlzLnNob3VsZENvdW50KHIpKTtcclxuICB9XHJcblxyXG4gIGdldENvdW50Rm9yQ291bnRlcigpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0UmVjb3Jkc0ZvckNvdW50ZXIoKS5sZW5ndGg7XHJcbiAgfVxyXG5cclxuICBnZXRIaXJlZENvdW50Rm9yQ291bnRlcigpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0UmVjb3Jkc0ZvckNvdW50ZXIoKVxyXG4gICAgICAuZmlsdGVyKHIgPT4gci5zZWFyY2hSZXN1bHQgPT09ICdIRFJXJyB8fCByLnNlYXJjaFJlc3VsdCA9PT0gJ0hOU0QnKS5sZW5ndGg7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJldHJpZXZlSm9hcENvdW50RmlsdGVyZWQoKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLmdldFJlY29yZHNGb3JDb3VudGVyKCkuZmlsdGVyKHIgPT4gci5hY3Rpdml0eVR5cGUgPT09ICdKT0FQJykubGVuZ3RoO1xyXG4gIH1cclxuICAvLyAtLS0tLS0tLS0tIC9GSUxURVJFRCBDT1VOVEVSIEhFTFBFUlMgLS0tLS0tLS0tLVxyXG5cclxuICBnZXRXb3JrU2VhcmNoTWVzc2FnZSgpIHtcclxuICAgIGNvbnN0IGNvdW50ID0gdGhpcy5nZXRDb3VudEZvckNvdW50ZXIoKTtcclxuICAgIHRoaXMuaGlyZWRSZWNvcmRDb3VudCA9IHRoaXMuZ2V0SGlyZWRDb3VudEZvckNvdW50ZXIoKTtcclxuICAgIHRoaXMuam9hcEFjdGl2aXRpZXNDb3VudCA9IHRoaXMucmV0cmlldmVKb2FwQ291bnRGaWx0ZXJlZCgpO1xyXG5cclxuICAgIGlmICh0aGlzLnV0aWwuZ2V0U3RhdGVMb3dlcmNhc2UoKSA9PSAnY3QnKSB7XHJcbiAgICAgIGlmIChjb3VudCA8IDEpIHtcclxuICAgICAgICByZXR1cm4gJ01pbmltdW0gb2YgdGhyZWUgYWN0aXZpdGllcyByZXF1aXJlZCxhdCBsZWFzdCBvbmUgbXVzdCBiZSBhbiBlbXBsb3llciBjb250YWN0JztcclxuICAgICAgfSBlbHNlIGlmIChjb3VudCA8IDIgJiYgdGhpcy5oaXJlZFJlY29yZENvdW50IDwgMSAmJiB0aGlzLmpvYXBBY3Rpdml0aWVzQ291bnQgPCAxKSB7XHJcbiAgICAgICAgcmV0dXJuICdUd28gbW9yZSBhY3Rpdml0aWVzIHJlcXVpcmVkLCBhdCBsZWFzdCBvbmUgbXVzdCBiZSBhbiBlbXBsb3llciBjb250YWN0JztcclxuICAgICAgfSBlbHNlIGlmIChjb3VudCA8IDIgJiYgdGhpcy5oaXJlZFJlY29yZENvdW50IDwgMSAmJiB0aGlzLmpvYXBBY3Rpdml0aWVzQ291bnQgPj0gMSkge1xyXG4gICAgICAgIHJldHVybiAnVHdvIG1vcmUgYWN0aXZpdGllcyByZXF1aXJlZCc7XHJcbiAgICAgIH0gZWxzZSBpZiAoY291bnQgPCAzICYmIHRoaXMuaGlyZWRSZWNvcmRDb3VudCA8IDEgJiYgdGhpcy5qb2FwQWN0aXZpdGllc0NvdW50IDwgMSkge1xyXG4gICAgICAgIHJldHVybiAnT25lIG1vcmUgYWN0aXZpdHkgcmVxdWlyZWQsIG11c3QgYmUgYW4gZW1wbG95ZXIgY29udGFjdCc7XHJcbiAgICAgIH0gZWxzZSBpZiAoY291bnQgPCAzICYmIHRoaXMuaGlyZWRSZWNvcmRDb3VudCA8IDEgJiYgdGhpcy5qb2FwQWN0aXZpdGllc0NvdW50ID49IDEpIHtcclxuICAgICAgICByZXR1cm4gJ09uZSBtb3JlIGFjdGl2aXR5IHJlcXVpcmVkJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gJ01pbmltdW0gcmVxdWlyZW1lbnRzIG1ldCc7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodGhpcy51dGlsLmdldFN0YXRlTG93ZXJjYXNlKCkgPT0gJ21lJykge1xyXG4gICAgICBpZiAoY291bnQgPCAxKSB7XHJcbiAgICAgICAgcmV0dXJuICdBdCBsZWFzdCBvbmUgYWN0aXZpdHkgcmVxdWlyZWQnO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiAnTWluaW11bSByZXF1aXJlbWVudHMgbWV0JztcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKGNvdW50IDwgMSkge1xyXG4gICAgICAgIHJldHVybiAnWW91IG5lZWQgdG8gYWRkIGF0IGxlYXN0IDMgYWN0aXZpdGllcyBmb3IgdGhlIHdlZWsuIDxiPk9uZSBtdXN0IGJlIEFwcGxpZWQgZm9yIHdvcmsuPC9iPic7XHJcbiAgICAgIH0gZWxzZSBpZiAoY291bnQgPCAyICYmIHRoaXMuaGlyZWRSZWNvcmRDb3VudCA8IDEgJiYgdGhpcy5qb2FwQWN0aXZpdGllc0NvdW50IDwgMSkge1xyXG4gICAgICAgIHJldHVybiAnWW91IG5lZWQgMiBtb3JlIGFjdGl2aXRpZXMgZm9yIHRoZSB3ZWVrLCBhdCBsZWFzdCBvbmUgd2l0aCBhIGZpbGVkIGFwcGxpY2F0aW9uIG9yIHJlc3VtZSc7XHJcbiAgICAgIH0gZWxzZSBpZiAoY291bnQgPCAyICYmIHRoaXMuaGlyZWRSZWNvcmRDb3VudCA8IDEgJiYgdGhpcy5qb2FwQWN0aXZpdGllc0NvdW50ID49IDEpIHtcclxuICAgICAgICByZXR1cm4gJ1lvdSBuZWVkIDIgbW9yZSBhY3Rpdml0aWVzIGZvciB0aGUgd2Vlayc7XHJcbiAgICAgIH0gZWxzZSBpZiAoY291bnQgPCAzICYmIHRoaXMuaGlyZWRSZWNvcmRDb3VudCA8IDEgJiYgdGhpcy5qb2FwQWN0aXZpdGllc0NvdW50IDwgMSkge1xyXG4gICAgICAgIHJldHVybiAnWW91IG5lZWQgMSBtb3JlIGFjdGl2aXR5IGZvciB0aGUgd2VlaywgYXQgbGVhc3Qgb25lIHdpdGggYSBmaWxlZCBhcHBsaWNhdGlvbiBvciByZXN1bWUnO1xyXG4gICAgICB9IGVsc2UgaWYgKGNvdW50IDwgMyAmJiB0aGlzLmhpcmVkUmVjb3JkQ291bnQgPCAxICYmIHRoaXMuam9hcEFjdGl2aXRpZXNDb3VudCA+PSAxKSB7XHJcbiAgICAgICAgcmV0dXJuICdZb3UgbmVlZCAxIG1vcmUgYWN0aXZpdHkgZm9yIHRoZSB3ZWVrJztcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmhpcmVkUmVjb3JkQ291bnQgPCAxICYmIHRoaXMuam9hcEFjdGl2aXRpZXNDb3VudCA8IDEpIHtcclxuICAgICAgICByZXR1cm4gJ1lvdSBuZWVkIGF0IGxlYXN0IG9uZSBhY3Rpdml0eSB3aXRoIGEgZmlsZWQgYXBwbGljYXRpb24gb3IgcmVzdW1lJztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gJ01pbmltdW0gcmVxdWlyZW1lbnRzIG1ldCc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJ3c0Zvcm1cIiAjd3NGb3JtRGlyZWN0aXZlPVwibmdGb3JtXCIgI3dzRm9ybUlkIChuZ1N1Ym1pdCk9XCJvcGVuTmV4dFBhZ2UoKVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJpb24tdGV4dC1sZWZ0XCIgKm5nSWY9XCIhaXNNUygpXCI+XHJcbiAgICA8aDEgY2xhc3M9XCJhcHAtaGVhZGluZ1wiPnt7J3dlZWtsaWVzLnYyLndvcmtzZWFyY2guaGVhZGluZycgfCB0cmFuc2xhdGU6cGFyYW0gfX08L2gxPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgKm5nSWY9XCJ3Y1NlcnZpY2UuZ2V0RGlzcGxheVdvcmtTZWFyY2hTY3JlZW4oKVwiPlxyXG4gICAgPGlvbi1ncmlkIGNsYXNzPVwiaW9uLXBhZGRpbmctc3RhcnQgaW9uLXBhZGRpbmctZW5kXCIgc3R5bGU9XCJtaW4taGVpZ2h0OiA1MDBweDtcIj5cclxuICAgICAgPHNlY3Rpb24gKm5nSWY9XCJpc01TKCkgJiYgc2hvd1dzUXVlc3Rpb25cIj5cclxuICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgIDxpb24tY29sIHNpemU9XCI3XCI+XHJcbiAgICAgICAgICAgIDxoNT57eyd3ZWVrbGllcy53b3Jrc2VhcmNoLnExJyB8IHRyYW5zbGF0ZX19PC9oNT5cclxuICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDxpb24tY29sIHNpemU9XCI1XCIgc3R5bGU9XCJkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1wiPlxyXG4gICAgICAgICAgICA8aW9uLXJvdyBzdHlsZT1cIm1hcmdpbi10b3A6MTBweDtcIj5cclxuICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gW29wdGlvbnNdPVwieWVzTm9PcHRpb25zXCIgb3B0aW9uTGFiZWw9XCJsYWJlbFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cIndzUXVlc3Rpb24xXCIgW2Rpc2FibGVkXT0nZGlzYWJsZWQnPlxyXG4gICAgICAgICAgICAgIDwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgPGFwcC1vdmVybGF5LWluZm8gY2xhc3M9XCJ3ZWVrbGllcy1vdmVybGF5XCJcclxuICAgICAgICAgICAgICAgIFtvdmVybGF5VGV4dF09XCInd29yay5zZWFyY2guam91cm5hbC5hY3Rpdml0eS5pcDIwOTUnIHwgdHJhbnNsYXRlIHwgdHJ1c3RIdG1sXCJcclxuICAgICAgICAgICAgICAgIHN0eWxlPVwicGFkZGluZy1sZWZ0OiA4cHg7IHBhZGRpbmctcmlnaHQ6IDZweDsgcGFkZGluZy10b3A6IDJweDsgZmxleC1ncm93OiAxO1wiPjwvYXBwLW92ZXJsYXktaW5mbz5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtmaWVsZF09J3dzUXVlc3Rpb24xJyBbZm9ybV09XCJ3c0Zvcm1EaXJlY3RpdmVcIlxyXG4gICAgICAgICAgICAgICAgW2VyckRlZl09XCJ7cmVxdWlyZWQ6ICdUaGlzIHF1ZXN0aW9uIGlzIHJlcXVpcmVkLid9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgIDwvc2VjdGlvbj5cclxuXHJcbiAgICAgIDxzZWN0aW9uICpuZ0lmPVwiaXNNUygpID8gd3NRdWVzdGlvbjEudmFsdWUgPT0gMSA6IHRydWVcIj5cclxuICAgICAgICA8aW9uLXJvdyAqbmdJZj1cInNob3dDb3VudGVyXCI+XHJcbiAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWxlZnRcIiBzaXplPVwiN1wiPlxyXG4gICAgICAgICAgICA8YXBwLXdvcmstc2VhcmNoLWNvdW50ZXIgW2NvdW50XT1cImdldENvdW50Rm9yQ291bnRlcigpXCIgW2hpcmVkUmVjb3JkQ291bnRdPVwiZ2V0SGlyZWRDb3VudEZvckNvdW50ZXIoKVwiXHJcbiAgICAgICAgICAgICAgW21zZ109XCJnZXRXb3JrU2VhcmNoTWVzc2FnZSgpXCI+XHJcbiAgICAgICAgICAgIDwvYXBwLXdvcmstc2VhcmNoLWNvdW50ZXI+XHJcbiAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImFjdGl2aXR5LXRleHRcIlxyXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ7ICdwYWRkaW5nLXRvcCcgOiAoaGlyZWRSZWNvcmRDb3VudDwxICYmIGpvYXBBY3Rpdml0aWVzQ291bnQ8MSkgPyAnNjVweCcgOiAnNDBweCd9XCIgc2l6ZT1cIjRcIj5cclxuICAgICAgICAgICAgPGI+K0FkZDwvYj4gYWN0aXZpdHlcclxuICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiYWN0aXZpdHktYnV0dG9uXCJcclxuICAgICAgICAgICAgW25nU3R5bGVdPVwieyAncGFkZGluZy10b3AnIDogKGhpcmVkUmVjb3JkQ291bnQ8MSAmJiBqb2FwQWN0aXZpdGllc0NvdW50PDEpID8gJzU1cHgnIDogJzI3cHgnfVwiIHNpemU9XCIxXCI+XHJcbiAgICAgICAgICAgIDxpb24tYnV0dG9uIHN0eWxlPVwicGFkZGluZzogMHB4IDVweDsgaGVpZ2h0OiAzNHB4OyB3aWR0aDogNDRweDtcIiBmaWxsPVwib3V0bGluZVwiIHNpemU9XCJzbWFsbFwiIChjbGljayk9XCJhZGQoKVwiXHJcbiAgICAgICAgICAgICAgW2Rpc2FibGVkXT0nZGlzYWJsZWQnIGNsYXNzPVwiYWN0aW9uLWJ1dHRvblwiIGFyaWEtbGFiZWw9XCJhZGQgd29yayBzZWFyY2ggYWN0aXZpdHlcIj5cclxuICAgICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhbCcsICdwbHVzJ11cIiBjbGFzcz1cImFjdGlvbi1pY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tYm90dG9tOiAxMHB4O1wiPjwvZGl2PlxyXG4gICAgICAgIDxzZWN0aW9uICpuZ0lmPVwidGhpcy53Y1NlcnZpY2UuZ2V0V29ya1NlYXJjaFJlY29yZHMoKS5sZW5ndGggPCAxXCI+XHJcbiAgICAgICAgICA8cC10YWJsZSBbdmFsdWVdPVwiW3t9XVwiIHN0eWxlQ2xhc3M9XCJwLWRhdGF0YWJsZS1zdHJpcGVkIGFwcC1kYXRhdGFibGVcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxyXG4gICAgICAgICAgICAgIDx0ciBjbGFzcz1cInJvdy1ib3JkZXJcIj5cclxuICAgICAgICAgICAgICAgIDx0aCBzdHlsZT1cImhlaWdodDogNzVweDtcIj48L3RoPlxyXG4gICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8L3AtdGFibGU+XHJcbiAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgIDxwLXRhYmxlIFt2YWx1ZV09XCJ0aGlzLndjU2VydmljZS5nZXRXb3JrU2VhcmNoUmVjb3JkcygpXCIgc3R5bGVDbGFzcz1cInAtZGF0YXRhYmxlLXN0cmlwZWQgYXBwLWRhdGF0YWJsZVwiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImJvZHlcIiBsZXQtcmVjb3JkPlxyXG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJpb24tdGV4dC1qdXN0aWZ5OyByb3ctYm9yZGVyXCI+XHJcbiAgICAgICAgICAgICAgPHRkPnt7KHJlY29yZC53b3JrU2VhcmNoRGF0ZSB8fCBjdXJyZW50RGF0ZSl8IGRhdGU6J00vZC95eXl5J319PC90ZD5cclxuICAgICAgICAgICAgICA8dGQgc3R5bGU9XCJ3aGl0ZS1zcGFjZTogcHJlOyB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XCI+e3tyZWNvcmQgfCBmb3JtYXRXb3Jrc2VhcmNoUmVjb3JkfX08L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZCAqbmdJZj1cInJlY29yZC5hY3Rpdml0eVR5cGUgIT0gJ01ERVMnXCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwib3V0bGluZVwiIHNpemU9XCJzbWFsbFwiIChjbGljayk9XCJlZGl0KHJlY29yZClcIiBbZGlzYWJsZWRdPSdkaXNhYmxlZCdcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhY3Rpb24tYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFsJywgJ2VkaXQnXVwiIGNsYXNzPVwiYWN0aW9uLWljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwib3V0bGluZVwiIHNpemU9XCJzbWFsbFwiIChjbGljayk9XCJkZWxldGUocmVjb3JkKVwiIFtkaXNhYmxlZF09J2Rpc2FibGVkJ1xyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImFjdGlvbi1idXR0b25cIj5cclxuICAgICAgICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiWydmYWwnLCAndHJhc2gtYWx0J11cIiBjbGFzcz1cImFjdGlvbi1pY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvcC10YWJsZT5cclxuICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwibXNnIT09bnVsbCAmJiBpc01TKClcIiBbQHJvd0V4cGFuc2lvblRyaWdnZXJdPVwiJ2FjdGl2ZSdcIiBjbGFzcz1cInJvdy1leHBhbnNpb25cIj5cclxuICAgICAgICA8bWF0LWVycm9yPjxzbWFsbD57e21zZyB8IHRyYW5zbGF0ZX19PC9zbWFsbD48L21hdC1lcnJvcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2lvbi1ncmlkPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2ICpuZ0lmPVwiIXdjU2VydmljZS5nZXREaXNwbGF5V29ya1NlYXJjaFNjcmVlbigpXCI+XHJcbiAgICA8aW9uLWdyaWQgY2xhc3M9XCJpb24tcGFkZGluZy10b3BcIj5cclxuICAgICAgPGlvbi1yb3cgKm5nSWY9XCJ0aGlzLndjU2VydmljZS53ZWVrbHlDZXJ0U2VydmVyRGF0YS53YWl2ZXJSZWFzb25cIj5cclxuICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgIDxzcGFuPnt7IHRoaXMud2NTZXJ2aWNlLndlZWtseUNlcnRTZXJ2ZXJEYXRhLndhaXZlclJlYXNvbn19PC9zcGFuPlxyXG4gICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgPC9pb24tcm93PlxyXG4gICAgICA8aW9uLXJvdyAqbmdJZj1cIiF0aGlzLndjU2VydmljZS5nZXRXYWl0aW5nV2Vla1NlcnZlZCgpXCI+XHJcbiAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICA8c3Bhbj57eyAnbm8ud29yay5zZWFyY2gucmVxdWlyZWQnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICA8L2lvbi1yb3c+XHJcbiAgICA8L2lvbi1ncmlkPlxyXG4gIDwvZGl2PlxyXG5cclxuPC9mb3JtPlxyXG48cC1kaWFsb2cgW3Zpc2libGVdPVwic2hvd1JlZW1EaWFsb2dcIiBbbW9kYWxdPVwidHJ1ZVwiIGFwcGVuZFRvPVwiYm9keVwiIHBvc2l0aW9uPVwiY2VudGVyXCIgW2JyZWFrcG9pbnRzXT1cIntcclxuICAgICcxMjAwcHgnOiAnNjYwcHgnLFxyXG4gICAgJzk5MnB4JzogICc2NjBweCcsXHJcbiAgICAnNzY4cHgnOiAgJzY2MHB4JyxcclxuICAgICc1NzZweCc6ICAnMTAwdncnXHJcbiAgfVwiIFtzdHlsZV09XCJ7IHdpZHRoOiAnNDV2dycgfVwiIFtiYXNlWkluZGV4XT1cIjUwMDBcIiBbZHJhZ2dhYmxlXT1cImZhbHNlXCIgW3Jlc2l6YWJsZV09XCJmYWxzZVwiIGNsb3NlT25Fc2NhcGU9XCJmYWxzZVwiPlxyXG4gIDxoNCBjbGFzcz1cImhlYWRpbmdcIj5DYXJlZXJDZW50ZXIgYWN0aXZpdHkgYWR2aXNvcnk8L2g0PlxyXG4gIDxpb24tbGFiZWwgc3R5bGU9XCJkaXNwbGF5OiBibG9jazsgd2hpdGUtc3BhY2U6IHByZS1saW5lO1wiPlxyXG4gICAge3sgcmVlbUFkdmlzb3J5VGV4dCB9fVxyXG4gIDwvaW9uLWxhYmVsPlxyXG4gIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJmb290ZXJcIj5cclxuICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiBzaXplPVwic21hbGxcIiB0eXBlPVwiYnV0dG9uXCIgZmlsbD1cIm91dGxpbmVcIiAoY2xpY2spPVwiY2xvc2VSZWVtRGlhbG9nKClcIj5cclxuICAgICAgT2tcclxuICAgIDwvaW9uLWJ1dHRvbj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L3AtZGlhbG9nPlxyXG48IS0tIDxhcHAtd29yay1zZWFyY2gtZW1wbG95ZXItdjIgKm5nSWY9XCJzaG93QWRkV3NSZWNvcnMgJiYgaXNDVCgpXCIgKHN1Y2Nlc3MpPVwiYWRkV3NSZWNvcmQoJGV2ZW50KVwiXHJcbiAgKG9uQ2xvc2UpPVwiY2xvc2VXc1JlY29yZCgpXCIgW3JlY29yZEluZGV4VG9FZGl0XT1cImluZGV4VG9FZGl0XCI+PC9hcHAtd29yay1zZWFyY2gtZW1wbG95ZXItdjI+IC0tPlxyXG48YXBwLXdvcmstc2VhcmNoLWVtcGxveWVyLWN0ICpuZ0lmPVwic2hvd0FkZFdzUmVjb3JzICYmIGlzQ1QoKVwiIChzdWNjZXNzKT1cImFkZFdzUmVjb3JkKCRldmVudClcIlxyXG4gIChvbkNsb3NlKT1cImNsb3NlV3NSZWNvcmQoKVwiIFtyZWNvcmRJbmRleFRvRWRpdF09XCJpbmRleFRvRWRpdFwiPjwvYXBwLXdvcmstc2VhcmNoLWVtcGxveWVyLWN0PlxyXG5cclxuPGFwcC13b3JrLXNlYXJjaC1lbXBsb3llci1tZSAqbmdJZj1cInNob3dBZGRXc1JlY29ycyAmJiBpc01FKClcIiAoc3VjY2Vzcyk9XCJhZGRXc1JlY29yZCgkZXZlbnQpXCJcclxuICAob25DbG9zZSk9XCJjbG9zZVdzUmVjb3JkKClcIiBbcmVjb3JkSW5kZXhUb0VkaXRdPVwiaW5kZXhUb0VkaXRcIlxyXG4gIFtleGlzdGluZ1JlY29yZHNdPVwid2NTZXJ2aWNlLmdldFdvcmtTZWFyY2hSZWNvcmRzKClcIj48L2FwcC13b3JrLXNlYXJjaC1lbXBsb3llci1tZT5cclxuXHJcbjxhcHAtd29yay1zZWFyY2gtZW1wbG95ZXItbXMgKm5nSWY9XCJzaG93QWRkV3NSZWNvcnMgJiYgaXNNUygpXCIgKHN1Y2Nlc3MpPVwiYWRkV3NSZWNvcmQoJGV2ZW50KVwiXHJcbiAgKG9uQ2xvc2UpPVwiY2xvc2VXc1JlY29yZCgpXCIgW3JlY29yZEluZGV4VG9FZGl0XT1cImluZGV4VG9FZGl0XCI+PC9hcHAtd29yay1zZWFyY2gtZW1wbG95ZXItbXM+Il19
|
|
664
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yay1zZWFyY2gtcXVlc3Rpb24uY29tcG9uZW50LXYyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3dlZWtseS13b3JrLXNlYXJjaC1xdWVzdGlvbi12Mi93b3JrLXNlYXJjaC1xdWVzdGlvbi5jb21wb25lbnQtdjIudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvd2Vla2x5LXdvcmstc2VhcmNoLXF1ZXN0aW9uLXYyL3dvcmstc2VhcmNoLXF1ZXN0aW9uLmNvbXBvbmVudC12Mi5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBZ0QsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHMUYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUloRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ1JyRSwrQkFBMkMsYUFBQTtJQUNqQixZQUF1RDs7SUFBQSxpQkFBSyxFQUFBOzs7SUFBNUQsZUFBdUQ7SUFBdkQsMEZBQXVEOzs7O0lBSTdFLCtCQUEwQyxjQUFBLGtCQUFBLFNBQUE7SUFHaEMsWUFBd0M7O0lBQUEsaUJBQUssRUFBQTtJQUVuRCxtQ0FBb0Usa0JBQUE7SUFFaEUscUNBRWlCLDJCQUFBOzs7SUFJakIsaUNBQ2tFO0lBQ3BFLGlCQUFVLEVBQUEsRUFBQSxFQUFBOzs7O0lBWk4sZUFBd0M7SUFBeEMsb0VBQXdD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QVM7MkJBQ0UsNkJBQTZCLGNBRzNCLENBQUMsbUJBQW1CLENBQUM7NktBSzFCLFFBQVE7a0JBRGQsS0FBSztZQUlDLFFBQVE7a0JBRGQsS0FBSztZQUlDLFdBQVc7a0JBRGpCLEtBQUs7WUFJTixPQUFPO2tCQUROLE1BQU07WUFJUCxLQUFLO2tCQURKLE1BQU07WUFJUCxjQUFjO2tCQURiLE1BQU07WUFJUCx1Q0FBdUM7a0JBRHRDLE1BQU07WUFJQSxRQUFRO2tCQURkLFNBQVM7bUJBQUMsVUFBVTtZQUlkLGVBQWU7a0JBRHJCLFNBQVM7bUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOztrRkExQnBDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCwgRXZlbnRFbWl0dGVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAsIE5nRm9ybSwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQWxlcnRDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xyXG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWwvdXRpbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQmFzZVBhZ2UgfSBmcm9tICcuLi8uLi9wYWdlcy9CYXNlUGFnZSc7XHJcbmltcG9ydCB7IFdvcmtTZWFyY2hNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy93ZWVrbHktY2VydC93b3JrLXNlYXJjaC12Mi1tb2RlbCc7XHJcbmltcG9ydCB7IFdvcmtTZWFyY2hSZWNvcmRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy93ZWVrbHktY2VydC93b3JrLXNlYXJjaC1yZWNvcmQtdjItbW9kZWwnO1xyXG5pbXBvcnQgeyBXZWVrbHlDZXJ0U2VydmljZVYyIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvd2Vla2x5LWNlcnQvd2Vla2x5LWNlcnQtdjIuc2VydmljZSc7XHJcbmltcG9ydCB7IFdvcmtTZWFyY2hTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvd2Vla2x5LWNlcnQvd29yay1zZWFyY2guc2VydmljZSc7XHJcbmltcG9ydCB7IHJvd0V4cGFuc2lvblRyaWdnZXIgfSBmcm9tICcuLi8uLi9hbm5pbWF0aW9ucy9hcHAtYW5pbWF0aW9ucyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC13b3JrLXNlYXJjaC1xdWVzdGlvbi12MicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3dvcmstc2VhcmNoLXF1ZXN0aW9uLmNvbXBvbmVudC12Mi5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi93b3JrLXNlYXJjaC1xdWVzdGlvbi5jb21wb25lbnQtdjIuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtyb3dFeHBhbnNpb25UcmlnZ2VyXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgV29ya1NlYXJjaFF1ZXN0aW9uQ29tcG9uZW50VjIgZXh0ZW5kcyBCYXNlUGFnZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHJlYWRPbmx5OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dDb3VudGVyOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHN1Y2Nlc3M6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBlcnJvcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIGhhc0hpcmVkU3RhdHVzOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIGhhc1dvcmtlZEZ1bGxUaW1lT3JTdGFydGVkV29ya2luZ1N0YXR1czogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAVmlld0NoaWxkKCd3c0Zvcm1JZCcpXHJcbiAgcHVibGljIHdzRm9ybUlkO1xyXG5cclxuICBAVmlld0NoaWxkKCd3c0Zvcm1EaXJlY3RpdmUnLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICBwdWJsaWMgd3NGb3JtRGlyZWN0aXZlOiBOZ0Zvcm07XHJcbiAgcHVibGljIHNob3dBZGRXc1JlY29ycyA9IGZhbHNlO1xyXG4gIHB1YmxpYyB3b3JrU2VhcmNoRGF0YTogV29ya1NlYXJjaE1vZGVsO1xyXG4gIHB1YmxpYyB3c0Zvcm06IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgcHVibGljIHllc05vT3B0aW9ucyA9IFt7IGxhYmVsOiAnWWVzJywgdmFsdWU6ICcxJyB9LCB7IGxhYmVsOiAnTm8nLCB2YWx1ZTogJzAnIH1dO1xyXG4gIHB1YmxpYyBpbmRleFRvRWRpdDtcclxuICBwdWJsaWMgcGFyYW07XHJcbiAgcHVibGljIHNob3dXc1F1ZXN0aW9uID0gZmFsc2U7XHJcbiAgcHVibGljIGpvdXJuYWw6IFdvcmtTZWFyY2hSZWNvcmRNb2RlbDtcclxuICBwdWJsaWMgam91cm5hbElkOiBhbnk7XHJcbiAgY3VycmVudERhdGUgPSBuZXcgRGF0ZSgpO1xyXG5cclxuICBoaXJlZFJlY29yZENvdW50OiBhbnk7XHJcbiAgam9hcEFjdGl2aXRpZXNDb3VudDogYW55O1xyXG4gIGNvdW50ZXIgPSAwO1xyXG5cclxuICBjb21wU3RhdGU6IHN0cmluZztcclxuICBtc2c6IHN0cmluZztcclxuXHJcbiAgc2hvd1JlZW1EaWFsb2cgPSBmYWxzZTtcclxuICBzaG93UmVlbUFkdmlzb3J5ID0gZmFsc2U7XHJcbnJlYWRvbmx5IHJlZW1BZHZpc29yeVRleHQgPVxyXG4gICdZb3Ugc2VsZWN0ZWQgdGhhdCB5b3UgaGF2ZSB3b3JrZWQgd2l0aCB0aGUgQ2FyZWVyQ2VudGVyIGZvciBtdWx0aXBsZSB3ZWVrcy4gV2UgZW5jb3VyYWdlIHlvdSB0byBjb250aW51ZSB1c2luZyB0aGUgQ2FyZWVyQ2VudGVyLCBidXQgd2UgYWxzbyBlbmNvdXJhZ2UgeW91IHRvIGV4cGFuZCB5b3VyIHdvcmsgc2VhcmNoIHRvIG90aGVyIGFjdGl2aXRpZXMgc3VjaCBhcyBhcHBseWluZyBmb3Igd29yayB1c2luZyB0aGUgTWFpbmUgSm9iTGluay4gQ29udGludWluZyB0byB1c2Ugb25seSBDYXJlZXJDZW50ZXIgc2VydmljZXMgbWF5IHJlc3VsdCBpbiBhbiBpbi1kZXB0aCByZXZpZXcgb2YgeW91ciB3b3JrIHNlYXJjaCBhY3Rpdml0aWVzIHRvIGZ1cnRoZXIgYXNzaXN0IHlvdS4nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgd3NzOiBXb3JrU2VhcmNoU2VydmljZSwgcHVibGljIHdjU2VydmljZTogV2Vla2x5Q2VydFNlcnZpY2VWMiwgcHVibGljIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsIHByaXZhdGUgdXRpbDogVXRpbFNlcnZpY2UsIHB1YmxpYyBhYzogQWxlcnRDb250cm9sbGVyKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmluaXRpbGl6ZVdTUXVlc3Rpb25uYWlyZUZvcm0oKTtcclxuICAgIHRoaXMucGFyYW0gPSB7XHJcbiAgICAgIHN1bmRheV9kYXRlOiB0aGlzLndjU2VydmljZS5nZXRTdW5kYXlEYXRlQXNTdHJpbmcoKSxcclxuICAgICAgc2F0dXJkYXlfZGF0ZTogdGhpcy53Y1NlcnZpY2UuZ2V0U2F0dXJkYXlEYXRlQXNTdHJpbmcoKVxyXG4gICAgfTtcclxuICAgIHRoaXMuY29tcFN0YXRlID0gdGhpcy51dGlsLmdldFN0YXRlTG93ZXJjYXNlKCk7XHJcbiAgfVxyXG5cclxuICBpbml0aWxpemVXU1F1ZXN0aW9ubmFpcmVGb3JtKCkge1xyXG4gICAgaWYgKHRoaXMud2NTZXJ2aWNlLmdldFdvcmtTZWFyY2hEYXRhKCkgIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLndvcmtTZWFyY2hEYXRhID0gdGhpcy53Y1NlcnZpY2UuZ2V0V29ya1NlYXJjaERhdGEoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMud29ya1NlYXJjaERhdGEgPSBuZXcgV29ya1NlYXJjaE1vZGVsKCk7XHJcbiAgICAgIHRoaXMud2NTZXJ2aWNlLnNldFdvcmtTZWFyY2hEYXRhKHRoaXMud29ya1NlYXJjaERhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMud3NGb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgICd3c1F1ZXN0aW9uMSc6IFt0aGlzLndvcmtTZWFyY2hEYXRhLmlzV29ya1NlYXJjaFBlcmZvcm1lZEZsYWcgPyB0aGlzLndvcmtTZWFyY2hEYXRhLmlzV29ya1NlYXJjaFBlcmZvcm1lZEZsYWcgOiBudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgIH0pO1xyXG5cclxuICAgIGlmICh0aGlzLndjU2VydmljZS5nZXRXb3JrU2VhcmNoUmVjb3JkcygpLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5zaG93V3NRdWVzdGlvbiA9IGZhbHNlO1xyXG4gICAgICB0aGlzLndzUXVlc3Rpb24xLnNldFZhbHVlKCcxJyk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5zaG93V3NRdWVzdGlvbiA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgd3NRdWVzdGlvbjEoKSB7XHJcbiAgICByZXR1cm4gdGhpcy53c0Zvcm0uY29udHJvbHNbJ3dzUXVlc3Rpb24xJ107XHJcbiAgfVxyXG5cclxuICBudWxsQ2hlY2tmb3JBY3Rpdml0eVR5cGUoKSB7XHJcbiAgICByZXR1cm4gKHRoaXMud2NTZXJ2aWNlLmdldFdvcmtTZWFyY2hSZWNvcmRzKCkpLm1hcCgocmVjb3JkLCBpbmRleCkgPT5cclxuICAgICAgKHJlY29yZC5hY3Rpdml0eVR5cGUgPT09IG51bGwgPyBpbmRleCArIDEgOiAtMSkpLmZpbHRlcihpbmRleCA9PiBpbmRleCAhPT0gLTEpO1xyXG4gIH1cclxuXHJcbiAgb3Blbk5leHRQYWdlKCkge1xyXG4gICAgaWYgKHRoaXMuaXNNUygpKSB7XHJcbiAgICAgIGNvbnN0IHBvc2l0aW9ucyA9IHRoaXMubnVsbENoZWNrZm9yQWN0aXZpdHlUeXBlKCkuam9pbihcIiwgXCIpO1xyXG4gICAgICBpZiAodGhpcy53c0Zvcm0udmFsaWQpIHtcclxuICAgICAgICB0aGlzLndvcmtTZWFyY2hEYXRhLmlzV29ya1NlYXJjaFBlcmZvcm1lZEZsYWcgPSB0aGlzLndzUXVlc3Rpb24xLnZhbHVlO1xyXG4gICAgICAgIHRoaXMud2NTZXJ2aWNlLnNldFdvcmtTZWFyY2hEYXRhKHRoaXMud29ya1NlYXJjaERhdGEpO1xyXG4gICAgICAgIGlmICh0aGlzLndzUXVlc3Rpb24xLnZhbHVlID09IDEgJiYgdGhpcy53Y1NlcnZpY2UuZ2V0V29ya1NlYXJjaFJlY29yZHMoKS5sZW5ndGggPCAxKSB7XHJcbiAgICAgICAgICB0aGlzLnN1Y2Nlc3MuZW1pdCgpO1xyXG4gICAgICAgIH0gZWxzZSBpZiAocG9zaXRpb25zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIHRoaXMubXNnID0gYFBsZWFzZSBzZWxlY3QgYWN0aXZpdHkgdHlwZSBmb3IgZW1wbG95ZXIgcmVjb3JkKHMpOiAke3Bvc2l0aW9uc31gO1xyXG4gICAgICAgICAgdGhpcy5lcnJvci5lbWl0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5zdWNjZXNzLmVtaXQoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5lcnJvci5lbWl0KCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy53c1F1ZXN0aW9uMSk7XHJcbiAgICAgIHRoaXMud3NRdWVzdGlvbjEuc2V0VmFsdWUobnVsbCk7XHJcbiAgICAgIGlmICh0aGlzLndzRm9ybS52YWxpZCkge1xyXG4gICAgICAgIHRoaXMud2NTZXJ2aWNlLnNldFdvcmtTZWFyY2hEYXRhKHRoaXMud3NGb3JtLnZhbHVlKTtcclxuICAgICAgICB0aGlzLnN1Y2Nlc3MuZW1pdCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdWJtaXRGb3JtKCkge1xyXG4gICAgdGhpcy53c0Zvcm1EaXJlY3RpdmUub25TdWJtaXQodW5kZWZpbmVkKTtcclxuICB9XHJcblxyXG4gIGFkZCgpIHtcclxuICAgIHRoaXMuc2hvd0FkZFdzUmVjb3JzID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGVkaXQod3NSZWNvcmQ6IFdvcmtTZWFyY2hSZWNvcmRNb2RlbCkge1xyXG4gICAgdGhpcy5qb3VybmFsID0gd3NSZWNvcmQ7XHJcbiAgICB0aGlzLnNob3dBZGRXc1JlY29ycyA9IHRydWU7XHJcbiAgICB0aGlzLmluZGV4VG9FZGl0ID0gdGhpcy53Y1NlcnZpY2UuZ2V0V29ya1NlYXJjaFJlY29yZHMoKS5pbmRleE9mKHdzUmVjb3JkKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGRlbGV0ZSh3c1JlY29yZDogV29ya1NlYXJjaFJlY29yZE1vZGVsKSB7XHJcbiAgICB0aGlzLmpvdXJuYWxJZCA9IHdzUmVjb3JkLmNsYWltYW50V29ya1NlYXJjaEpvdXJuYWxJZCA/PyBudWxsO1xyXG5cclxuICAgIGNvbnN0IGFsZXJ0ID0gYXdhaXQgdGhpcy5hYy5jcmVhdGUoe1xyXG4gICAgICBoZWFkZXI6ICdDb25maXJtIScsXHJcbiAgICAgIG1lc3NhZ2U6ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgZW50cnk/JyxcclxuICAgICAgYnV0dG9uczogW1xyXG4gICAgICAgIHsgdGV4dDogJ0NhbmNlbCcsIHJvbGU6ICdjYW5jZWwnLCBjc3NDbGFzczogJ3ByaW1hcnknLCBoYW5kbGVyOiAoKSA9PiB7IH0gfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICB0ZXh0OiAnT2theScsXHJcbiAgICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGlkID0gd3NSZWNvcmQuY2xhaW1hbnRXb3JrU2VhcmNoSm91cm5hbElkID8/IHRoaXMuam91cm5hbElkO1xyXG5cclxuICAgICAgICAgICAgaWYgKGlkID09IG51bGwpIHtcclxuICAgICAgICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMud2NTZXJ2aWNlLmdldFdvcmtTZWFyY2hSZWNvcmRzKCkuaW5kZXhPZih3c1JlY29yZCk7XHJcbiAgICAgICAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMud2NTZXJ2aWNlLmdldFdvcmtTZWFyY2hSZWNvcmRzKCkuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICAgICAgICAgIGlmICgoKHdzUmVjb3JkLndvcmtPclBlcmZvcm1TZXJ2aWNlVHlwZSAmJiB3c1JlY29yZC53b3JrT3JQZXJmb3JtU2VydmljZVR5cGUgPT09ICdGVUxMJykgfHxcclxuICAgICAgICAgICAgICAgICAgKHdzUmVjb3JkLnNlYXJjaFJlc3VsdCAmJiB3c1JlY29yZC5zZWFyY2hSZXN1bHQgPT09ICdTVFdLJykpICYmIHRoaXMuaXNNRSgpKSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuZW1pdFdvcmtlZEZ1bGxUaW1lT3JTdGFydGVkV29ya2luZ1N0YXR1cyhmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLmVtaXRIaXJlZFN0YXR1cygpO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMud2NTZXJ2aWNlLmdldFdvcmtTZWFyY2hSZWNvcmRzQ291bnQoKSA9PT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnNob3dXc1F1ZXN0aW9uID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgdGhpcy5qb3VybmFsSWQgPSBudWxsO1xyXG4gICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy53c3MuZGVsZXRlV29ya1NlYXJjaEpvdXJuYWwoaWQpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICAgICAgbmV4dDogKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy51dGlsLnN1Y2Nlc3MoJ1JlY29yZCBkZWxldGVkIHN1Y2Nlc3NmdWxseS4nKTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy53Y1NlcnZpY2UuZ2V0V29ya1NlYXJjaFJlY29yZHMoKS5pbmRleE9mKHdzUmVjb3JkKTtcclxuICAgICAgICAgICAgICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMud2NTZXJ2aWNlLmdldFdvcmtTZWFyY2hSZWNvcmRzKCkuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5lbWl0SGlyZWRTdGF0dXMoKTtcclxuICAgICAgICAgICAgICAgICAgaWYgKHRoaXMud2NTZXJ2aWNlLmdldFdvcmtTZWFyY2hSZWNvcmRzQ291bnQoKSA9PT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd1dzUXVlc3Rpb24gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5qb3VybmFsSWQgPT09IGlkKSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuam91cm5hbElkID0gbnVsbDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICgoKHdzUmVjb3JkLndvcmtPclBlcmZvcm1TZXJ2aWNlVHlwZSAmJiB3c1JlY29yZC53b3JrT3JQZXJmb3JtU2VydmljZVR5cGUgPT09ICdGVUxMJykgfHxcclxuICAgICAgICAgICAgICAgICAgKHdzUmVjb3JkLnNlYXJjaFJlc3VsdCAmJiB3c1JlY29yZC5zZWFyY2hSZXN1bHQgPT09ICdTVFdLJykpICYmIHRoaXMuaXNNRSgpKSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuZW1pdFdvcmtlZEZ1bGxUaW1lT3JTdGFydGVkV29ya2luZ1N0YXR1cyhmYWxzZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICBlcnJvcjogZXJyID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuam91cm5hbElkID0gbnVsbDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgXVxyXG4gICAgfSk7XHJcblxyXG4gICAgYXdhaXQgYWxlcnQucHJlc2VudCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWNvbXB1dGVSZWVtQWR2aXNvcnkoKTogdm9pZCB7XHJcbiAgaWYgKHRoaXMudXRpbC5nZXRTdGF0ZUxvd2VyY2FzZSgpICE9PSAnbWUnKSB7XHJcbiAgICB0aGlzLnNob3dSZWVtQWR2aXNvcnkgPSBmYWxzZTtcclxuICAgIHJldHVybjtcclxuICB9XHJcbiAgY29uc3QgbGlzdCA9IHRoaXMud2NTZXJ2aWNlLmdldFdvcmtTZWFyY2hSZWNvcmRzKCkgPz8gW107XHJcbiAgY29uc3QgbG9jYWxSZWVtID0gbGlzdC5maWx0ZXIociA9PiByICYmIChyLmFjdGl2aXR5VHlwZSA9PT0gJ0pCRlInIHx8IHIuYWN0aXZpdHlUeXBlID09PSAnQ1NWVycpKS5sZW5ndGg7XHJcbiAgY29uc3Qgc2VydmVyUmVlbSA9IE51bWJlcih0aGlzLndjU2VydmljZS53ZWVrbHlDZXJ0U2VydmVyRGF0YT8uaGlkUmVlbVdvcmtTZWFyY2hSZWNvcmRDb3VudCA/PyAwKTtcclxuICB0aGlzLnNob3dSZWVtQWR2aXNvcnkgPSAobG9jYWxSZWVtICsgc2VydmVyUmVlbSkgPiAyO1xyXG59XHJcblxyXG5jbG9zZVJlZW1EaWFsb2coKSB7XHJcbiAgdGhpcy5zaG93UmVlbURpYWxvZyA9IGZhbHNlO1xyXG59XHJcblxyXG4gIGFkZFdzUmVjb3JkKGV2ZW50OiBXb3JrU2VhcmNoUmVjb3JkTW9kZWwpIHtcclxuICAvLyByZWFkIFVJLW9ubHkgZmxhZyBmcm9tIGNoaWxkIChubyBjb21waWxlIGVycm9yIGV2ZW4gaWYgbm90IG9uIHRoZSBtb2RlbClcclxuICBjb25zdCByZWVtRmxhZyA9ICEhKGV2ZW50IGFzIGFueSk/LnJlZW1FeGNlZWRlZEZsYWc7XHJcblxyXG4gICAgaWYgKHRoaXMuaW5kZXhUb0VkaXQgfHwgdGhpcy5pbmRleFRvRWRpdCA9PT0gMCkge1xyXG4gICAgICB0aGlzLndjU2VydmljZS5nZXRXb3JrU2VhcmNoUmVjb3JkcygpW3RoaXMuaW5kZXhUb0VkaXRdID0gZXZlbnQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLndjU2VydmljZS5nZXRXb3JrU2VhcmNoUmVjb3JkcygpLnB1c2goZXZlbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMud3NzLnNhdmVXb3JrU2VhcmNoSm91cm5hbChldmVudCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zaG93QWRkV3NSZWNvcnMgPSBmYWxzZTtcclxuICAgICAgICBpZiAoZXZlbnQuY2xhaW1hbnRXb3JrU2VhcmNoSm91cm5hbElkKSB7XHJcbiAgICAgICAgICB0aGlzLnV0aWwuc3VjY2VzcygnQWN0aXZpdHkgdXBkYXRlZCBzdWNjZXNzZnVsbHkuJyk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMudXRpbC5zdWNjZXNzKCdBY3Rpdml0eSBzYXZlZCBzdWNjZXNzZnVsbHkuJyk7XHJcbiAgICAgICAgICBldmVudC5jbGFpbWFudFdvcmtTZWFyY2hKb3VybmFsSWQgPSByZXM7XHJcbiAgICAgICAgICB0aGlzLmpvdXJuYWxJZCA9IHJlcztcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5pbmRleFRvRWRpdCA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5lbWl0SGlyZWRTdGF0dXMoKTtcclxuICAgICAgICBpZiAoKChldmVudC53b3JrT3JQZXJmb3JtU2VydmljZVR5cGUgJiYgZXZlbnQud29ya09yUGVyZm9ybVNlcnZpY2VUeXBlID09PSAnRlVMTCcpIHx8XHJcbiAgICAgICAgICAoZXZlbnQuc2VhcmNoUmVzdWx0ICYmIGV2ZW50LnNlYXJjaFJlc3VsdCA9PT0gJ1NUV0snKSkgJiYgdGhpcy5pc01FKCkpIHtcclxuICAgICAgICAgIHRoaXMuZW1pdFdvcmtlZEZ1bGxUaW1lT3JTdGFydGVkV29ya2luZ1N0YXR1cyh0cnVlKTtcclxuICAgICAgICB9IGVsc2UgaWYoKChldmVudC53b3JrT3JQZXJmb3JtU2VydmljZVR5cGUgJiYgZXZlbnQud29ya09yUGVyZm9ybVNlcnZpY2VUeXBlID09PSAnUEFSVCcpIHx8XHJcbiAgICAgICAgICAoZXZlbnQuc2VhcmNoUmVzdWx0ICYmIGV2ZW50LnNlYXJjaFJlc3VsdCAhPSAnU1RXSycpKSAmJiB0aGlzLmlzTUUoKSl7XHJcbiAgICAgICAgICAgIHRoaXMuZW1pdFdvcmtlZEZ1bGxUaW1lT3JTdGFydGVkV29ya2luZ1N0YXR1cyhmYWxzZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgIC8vIGtlZXAgYmFubmVyIGluIHN5bmMgYWZ0ZXIgc2VydmVyIHNhdmVcclxuICAgICAgdGhpcy5yZWNvbXB1dGVSZWVtQWR2aXNvcnkoKTtcclxuXHJcbiAgICAgIGlmICh0aGlzLmlzTUUoKSAmJiByZWVtRmxhZykge1xyXG4gICAgICAgIHRoaXMuc2hvd1JlZW1EaWFsb2cgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiBlcnIgPT4ge1xyXG4gICAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcclxuICAgICAgICB0aGlzLnNob3dBZGRXc1JlY29ycyA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGVtaXRIaXJlZFN0YXR1cygpIHtcclxuICAgIHRoaXMuaGFzSGlyZWRTdGF0dXMuZW1pdCh0aGlzLndjU2VydmljZS5nZXRXb3JrU2VhcmNoUmVjb3Jkc0NvdW50V2l0aEhpcmVkU3RhdHVzKCkgPiAwKVxyXG4gIH1cclxuXHJcbiAgZW1pdFdvcmtlZEZ1bGxUaW1lT3JTdGFydGVkV29ya2luZ1N0YXR1cyhzdGF0dXM6IGJvb2xlYW4pe1xyXG4gICAgdGhpcy5oYXNXb3JrZWRGdWxsVGltZU9yU3RhcnRlZFdvcmtpbmdTdGF0dXMuZW1pdChzdGF0dXMpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VXc1JlY29yZCgpIHtcclxuICAgIHRoaXMuc2hvd0FkZFdzUmVjb3JzID0gZmFsc2U7XHJcbiAgICB0aGlzLmluZGV4VG9FZGl0ID0gbnVsbDtcclxuICB9XHJcblxyXG4gIHJldHJpZXZlSm9hcENvdW50KCk6IG51bWJlciB7XHJcbiAgICBsZXQgam91cm5hbHMgPSB0aGlzLndjU2VydmljZS5nZXRXb3JrU2VhcmNoUmVjb3JkcygpO1xyXG4gICAgbGV0IGpvYXBDb3VudCA9IDA7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGpvdXJuYWxzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGlmIChqb3VybmFsc1tpXS5hY3Rpdml0eVR5cGUgPT09IFwiSk9BUFwiKSB7XHJcbiAgICAgICAgam9hcENvdW50Kys7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBqb2FwQ291bnQ7XHJcbiAgfVxyXG5cclxuICAvLyAtLS0tLS0tLS0tIEZJTFRFUkVEIENPVU5URVIgSEVMUEVSUyAtLS0tLS0tLS0tXHJcbiAgLyoqXHJcbiAgKiBFeGNsdWRlIChNRSBvbmx5KTpcclxuICAqICAtIFVOT04gd2hlbiBoYXNDb250YWN0ZWRVbmlvbiA9PT0gJ04nXHJcbiAgKiAgLSBXUktQIHdoZW4gZW1wbG95bWVudFR5cGUgPT09ICdQQVJUJ1xyXG4gICovXHJcbiAgcHJpdmF0ZSBzaG91bGRDb3VudChyZWM6IFdvcmtTZWFyY2hSZWNvcmRNb2RlbCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMuY29tcFN0YXRlICE9PSAnbWUnKSByZXR1cm4gdHJ1ZTsgLy8ga2VlcCBvdGhlciBzdGF0ZXMgdW5jaGFuZ2VkXHJcbiAgICBpZiAocmVjLmFjdGl2aXR5VHlwZSA9PT0gJ1VOT04nICYmIHJlYy5pc0luQ29udGFjdFdpdGhVbmlvbiA9PT0gJ04nKSByZXR1cm4gZmFsc2U7XHJcbiAgICBpZiAocmVjLmFjdGl2aXR5VHlwZSA9PT0gJ1dSS1AnICYmIHJlYy53b3JrT3JQZXJmb3JtU2VydmljZVR5cGUgPT09ICdQQVJUJykgcmV0dXJuIGZhbHNlO1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFJlY29yZHNGb3JDb3VudGVyKCk6IFdvcmtTZWFyY2hSZWNvcmRNb2RlbFtdIHtcclxuICAgIHJldHVybiB0aGlzLndjU2VydmljZS5nZXRXb3JrU2VhcmNoUmVjb3JkcygpLmZpbHRlcihyID0+IHRoaXMuc2hvdWxkQ291bnQocikpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q291bnRGb3JDb3VudGVyKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRSZWNvcmRzRm9yQ291bnRlcigpLmxlbmd0aDtcclxuICB9XHJcblxyXG4gIGdldEhpcmVkQ291bnRGb3JDb3VudGVyKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRSZWNvcmRzRm9yQ291bnRlcigpXHJcbiAgICAgIC5maWx0ZXIociA9PiByLnNlYXJjaFJlc3VsdCA9PT0gJ0hEUlcnIHx8IHIuc2VhcmNoUmVzdWx0ID09PSAnSE5TRCcpLmxlbmd0aDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmV0cmlldmVKb2FwQ291bnRGaWx0ZXJlZCgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0UmVjb3Jkc0ZvckNvdW50ZXIoKS5maWx0ZXIociA9PiByLmFjdGl2aXR5VHlwZSA9PT0gJ0pPQVAnKS5sZW5ndGg7XHJcbiAgfVxyXG4gIC8vIC0tLS0tLS0tLS0gL0ZJTFRFUkVEIENPVU5URVIgSEVMUEVSUyAtLS0tLS0tLS0tXHJcblxyXG4gIGdldFdvcmtTZWFyY2hNZXNzYWdlKCkge1xyXG4gICAgY29uc3QgY291bnQgPSB0aGlzLmdldENvdW50Rm9yQ291bnRlcigpO1xyXG4gICAgdGhpcy5oaXJlZFJlY29yZENvdW50ID0gdGhpcy5nZXRIaXJlZENvdW50Rm9yQ291bnRlcigpO1xyXG4gICAgdGhpcy5qb2FwQWN0aXZpdGllc0NvdW50ID0gdGhpcy5yZXRyaWV2ZUpvYXBDb3VudEZpbHRlcmVkKCk7XHJcblxyXG4gICAgaWYgKHRoaXMudXRpbC5nZXRTdGF0ZUxvd2VyY2FzZSgpID09ICdjdCcpIHtcclxuICAgICAgaWYgKGNvdW50IDwgMSkge1xyXG4gICAgICAgIHJldHVybiAnTWluaW11bSBvZiB0aHJlZSBhY3Rpdml0aWVzIHJlcXVpcmVkLGF0IGxlYXN0IG9uZSBtdXN0IGJlIGFuIGVtcGxveWVyIGNvbnRhY3QnO1xyXG4gICAgICB9IGVsc2UgaWYgKGNvdW50IDwgMiAmJiB0aGlzLmhpcmVkUmVjb3JkQ291bnQgPCAxICYmIHRoaXMuam9hcEFjdGl2aXRpZXNDb3VudCA8IDEpIHtcclxuICAgICAgICByZXR1cm4gJ1R3byBtb3JlIGFjdGl2aXRpZXMgcmVxdWlyZWQsIGF0IGxlYXN0IG9uZSBtdXN0IGJlIGFuIGVtcGxveWVyIGNvbnRhY3QnO1xyXG4gICAgICB9IGVsc2UgaWYgKGNvdW50IDwgMiAmJiB0aGlzLmhpcmVkUmVjb3JkQ291bnQgPCAxICYmIHRoaXMuam9hcEFjdGl2aXRpZXNDb3VudCA+PSAxKSB7XHJcbiAgICAgICAgcmV0dXJuICdUd28gbW9yZSBhY3Rpdml0aWVzIHJlcXVpcmVkJztcclxuICAgICAgfSBlbHNlIGlmIChjb3VudCA8IDMgJiYgdGhpcy5oaXJlZFJlY29yZENvdW50IDwgMSAmJiB0aGlzLmpvYXBBY3Rpdml0aWVzQ291bnQgPCAxKSB7XHJcbiAgICAgICAgcmV0dXJuICdPbmUgbW9yZSBhY3Rpdml0eSByZXF1aXJlZCwgbXVzdCBiZSBhbiBlbXBsb3llciBjb250YWN0JztcclxuICAgICAgfSBlbHNlIGlmIChjb3VudCA8IDMgJiYgdGhpcy5oaXJlZFJlY29yZENvdW50IDwgMSAmJiB0aGlzLmpvYXBBY3Rpdml0aWVzQ291bnQgPj0gMSkge1xyXG4gICAgICAgIHJldHVybiAnT25lIG1vcmUgYWN0aXZpdHkgcmVxdWlyZWQnO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiAnTWluaW11bSByZXF1aXJlbWVudHMgbWV0JztcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmICh0aGlzLnV0aWwuZ2V0U3RhdGVMb3dlcmNhc2UoKSA9PSAnbWUnKSB7XHJcbiAgICAgIGlmIChjb3VudCA8IDEpIHtcclxuICAgICAgICByZXR1cm4gJ0F0IGxlYXN0IG9uZSBhY3Rpdml0eSByZXF1aXJlZCc7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuICdNaW5pbXVtIHJlcXVpcmVtZW50cyBtZXQnO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoY291bnQgPCAxKSB7XHJcbiAgICAgICAgcmV0dXJuICdZb3UgbmVlZCB0byBhZGQgYXQgbGVhc3QgMyBhY3Rpdml0aWVzIGZvciB0aGUgd2Vlay4gPGI+T25lIG11c3QgYmUgQXBwbGllZCBmb3Igd29yay48L2I+JztcclxuICAgICAgfSBlbHNlIGlmIChjb3VudCA8IDIgJiYgdGhpcy5oaXJlZFJlY29yZENvdW50IDwgMSAmJiB0aGlzLmpvYXBBY3Rpdml0aWVzQ291bnQgPCAxKSB7XHJcbiAgICAgICAgcmV0dXJuICdZb3UgbmVlZCAyIG1vcmUgYWN0aXZpdGllcyBmb3IgdGhlIHdlZWssIGF0IGxlYXN0IG9uZSB3aXRoIGEgZmlsZWQgYXBwbGljYXRpb24gb3IgcmVzdW1lJztcclxuICAgICAgfSBlbHNlIGlmIChjb3VudCA8IDIgJiYgdGhpcy5oaXJlZFJlY29yZENvdW50IDwgMSAmJiB0aGlzLmpvYXBBY3Rpdml0aWVzQ291bnQgPj0gMSkge1xyXG4gICAgICAgIHJldHVybiAnWW91IG5lZWQgMiBtb3JlIGFjdGl2aXRpZXMgZm9yIHRoZSB3ZWVrJztcclxuICAgICAgfSBlbHNlIGlmIChjb3VudCA8IDMgJiYgdGhpcy5oaXJlZFJlY29yZENvdW50IDwgMSAmJiB0aGlzLmpvYXBBY3Rpdml0aWVzQ291bnQgPCAxKSB7XHJcbiAgICAgICAgcmV0dXJuICdZb3UgbmVlZCAxIG1vcmUgYWN0aXZpdHkgZm9yIHRoZSB3ZWVrLCBhdCBsZWFzdCBvbmUgd2l0aCBhIGZpbGVkIGFwcGxpY2F0aW9uIG9yIHJlc3VtZSc7XHJcbiAgICAgIH0gZWxzZSBpZiAoY291bnQgPCAzICYmIHRoaXMuaGlyZWRSZWNvcmRDb3VudCA8IDEgJiYgdGhpcy5qb2FwQWN0aXZpdGllc0NvdW50ID49IDEpIHtcclxuICAgICAgICByZXR1cm4gJ1lvdSBuZWVkIDEgbW9yZSBhY3Rpdml0eSBmb3IgdGhlIHdlZWsnO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaGlyZWRSZWNvcmRDb3VudCA8IDEgJiYgdGhpcy5qb2FwQWN0aXZpdGllc0NvdW50IDwgMSkge1xyXG4gICAgICAgIHJldHVybiAnWW91IG5lZWQgYXQgbGVhc3Qgb25lIGFjdGl2aXR5IHdpdGggYSBmaWxlZCBhcHBsaWNhdGlvbiBvciByZXN1bWUnO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiAnTWluaW11bSByZXF1aXJlbWVudHMgbWV0JztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cIndzRm9ybVwiICN3c0Zvcm1EaXJlY3RpdmU9XCJuZ0Zvcm1cIiAjd3NGb3JtSWQgKG5nU3VibWl0KT1cIm9wZW5OZXh0UGFnZSgpXCI+XHJcbiAgPGRpdiBjbGFzcz1cImlvbi10ZXh0LWxlZnRcIiAqbmdJZj1cIiFpc01TKClcIj5cclxuICAgIDxoMSBjbGFzcz1cImFwcC1oZWFkaW5nXCI+e3snd2Vla2xpZXMudjIud29ya3NlYXJjaC5oZWFkaW5nJyB8IHRyYW5zbGF0ZTpwYXJhbSB9fTwvaDE+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cIndjU2VydmljZS5nZXREaXNwbGF5V29ya1NlYXJjaFNjcmVlbigpXCI+XHJcbiAgICA8aW9uLWdyaWQgY2xhc3M9XCJpb24tcGFkZGluZy1zdGFydCBpb24tcGFkZGluZy1lbmRcIiBzdHlsZT1cIm1pbi1oZWlnaHQ6IDUwMHB4O1wiPlxyXG4gICAgICA8c2VjdGlvbiAqbmdJZj1cImlzTVMoKSAmJiBzaG93V3NRdWVzdGlvblwiPlxyXG4gICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjdcIj5cclxuICAgICAgICAgICAgPGg1Pnt7J3dlZWtsaWVzLndvcmtzZWFyY2gucTEnIHwgdHJhbnNsYXRlfX08L2g1PlxyXG4gICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjVcIiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XCI+XHJcbiAgICAgICAgICAgIDxpb24tcm93IHN0eWxlPVwibWFyZ2luLXRvcDoxMHB4O1wiPlxyXG4gICAgICAgICAgICAgIDxwLXNlbGVjdEJ1dHRvbiBbb3B0aW9uc109XCJ5ZXNOb09wdGlvbnNcIiBvcHRpb25MYWJlbD1cImxhYmVsXCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwid3NRdWVzdGlvbjFcIiBbZGlzYWJsZWRdPSdkaXNhYmxlZCc+XHJcbiAgICAgICAgICAgICAgPC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBjbGFzcz1cIndlZWtsaWVzLW92ZXJsYXlcIlxyXG4gICAgICAgICAgICAgICAgW292ZXJsYXlUZXh0XT1cIid3b3JrLnNlYXJjaC5qb3VybmFsLmFjdGl2aXR5LmlwMjA5NScgfCB0cmFuc2xhdGUgfCB0cnVzdEh0bWxcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDhweDsgcGFkZGluZy1yaWdodDogNnB4OyBwYWRkaW5nLXRvcDogMnB4OyBmbGV4LWdyb3c6IDE7XCI+PC9hcHAtb3ZlcmxheS1pbmZvPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2ZpZWxkXT0nd3NRdWVzdGlvbjEnIFtmb3JtXT1cIndzRm9ybURpcmVjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICBbZXJyRGVmXT1cIntyZXF1aXJlZDogJ1RoaXMgcXVlc3Rpb24gaXMgcmVxdWlyZWQuJ31cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgPC9zZWN0aW9uPlxyXG5cclxuICAgICAgPHNlY3Rpb24gKm5nSWY9XCJpc01TKCkgPyB3c1F1ZXN0aW9uMS52YWx1ZSA9PSAxIDogdHJ1ZVwiPlxyXG4gICAgICAgIDxpb24tcm93ICpuZ0lmPVwic2hvd0NvdW50ZXJcIj5cclxuICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXRleHQtbGVmdFwiIHNpemU9XCI3XCI+XHJcbiAgICAgICAgICAgIDxhcHAtd29yay1zZWFyY2gtY291bnRlciBbY291bnRdPVwiZ2V0Q291bnRGb3JDb3VudGVyKClcIiBbaGlyZWRSZWNvcmRDb3VudF09XCJnZXRIaXJlZENvdW50Rm9yQ291bnRlcigpXCJcclxuICAgICAgICAgICAgICBbbXNnXT1cImdldFdvcmtTZWFyY2hNZXNzYWdlKClcIj5cclxuICAgICAgICAgICAgPC9hcHAtd29yay1zZWFyY2gtY291bnRlcj5cclxuICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiYWN0aXZpdHktdGV4dFwiXHJcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgJ3BhZGRpbmctdG9wJyA6IChoaXJlZFJlY29yZENvdW50PDEgJiYgam9hcEFjdGl2aXRpZXNDb3VudDwxKSA/ICc2NXB4JyA6ICc0MHB4J31cIiBzaXplPVwiNFwiPlxyXG4gICAgICAgICAgICA8Yj4rQWRkPC9iPiBhY3Rpdml0eVxyXG4gICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJhY3Rpdml0eS1idXR0b25cIlxyXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ7ICdwYWRkaW5nLXRvcCcgOiAoaGlyZWRSZWNvcmRDb3VudDwxICYmIGpvYXBBY3Rpdml0aWVzQ291bnQ8MSkgPyAnNTVweCcgOiAnMjdweCd9XCIgc2l6ZT1cIjFcIj5cclxuICAgICAgICAgICAgPGlvbi1idXR0b24gc3R5bGU9XCJwYWRkaW5nOiAwcHggNXB4OyBoZWlnaHQ6IDM0cHg7IHdpZHRoOiA0NHB4O1wiIGZpbGw9XCJvdXRsaW5lXCIgc2l6ZT1cInNtYWxsXCIgKGNsaWNrKT1cImFkZCgpXCJcclxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPSdkaXNhYmxlZCcgY2xhc3M9XCJhY3Rpb24tYnV0dG9uXCIgYXJpYS1sYWJlbD1cImFkZCB3b3JrIHNlYXJjaCBhY3Rpdml0eVwiPlxyXG4gICAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFsJywgJ3BsdXMnXVwiIGNsYXNzPVwiYWN0aW9uLWljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICA8L2lvbi1yb3c+XHJcbiAgICAgICAgPGRpdiBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDEwcHg7XCI+PC9kaXY+XHJcbiAgICAgICAgPHNlY3Rpb24gKm5nSWY9XCJ0aGlzLndjU2VydmljZS5nZXRXb3JrU2VhcmNoUmVjb3JkcygpLmxlbmd0aCA8IDFcIj5cclxuICAgICAgICAgIDxwLXRhYmxlIFt2YWx1ZV09XCJbe31dXCIgc3R5bGVDbGFzcz1cInAtZGF0YXRhYmxlLXN0cmlwZWQgYXBwLWRhdGF0YWJsZVwiPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgPHRyIGNsYXNzPVwicm93LWJvcmRlclwiPlxyXG4gICAgICAgICAgICAgICAgPHRoIHN0eWxlPVwiaGVpZ2h0OiA3NXB4O1wiPjwvdGg+XHJcbiAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDwvcC10YWJsZT5cclxuICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgPHAtdGFibGUgW3ZhbHVlXT1cInRoaXMud2NTZXJ2aWNlLmdldFdvcmtTZWFyY2hSZWNvcmRzKClcIiBzdHlsZUNsYXNzPVwicC1kYXRhdGFibGUtc3RyaXBlZCBhcHAtZGF0YXRhYmxlXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1yZWNvcmQ+XHJcbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImlvbi10ZXh0LWp1c3RpZnk7IHJvdy1ib3JkZXJcIj5cclxuICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicmVjb3JkLmFjdGl2aXR5VHlwZSA9PT0gJ1VOT04nOyBlbHNlIG5vblVOT05cIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicmVjb3JkLmlzSW5Db250YWN0V2l0aFVuaW9uID09PSAnWSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7KHJlY29yZC51bmlvbkNvbnRhY3REYXRlKXwgZGF0ZTonTS9kL3l5eXknfX1cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNub25VTk9OPlxyXG4gICAgICAgICAgICAgICAgICB7eyhyZWNvcmQud29ya1NlYXJjaERhdGUgfHwgY3VycmVudERhdGUpfCBkYXRlOidNL2QveXl5eSd9fVxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZCBzdHlsZT1cIndoaXRlLXNwYWNlOiBwcmU7IHdvcmQtd3JhcDogYnJlYWstd29yZDtcIiBbaW5uZXJIVE1MXT1cInJlY29yZCB8IGZvcm1hdFdvcmtzZWFyY2hSZWNvcmRcIj48L3RkPlxyXG4gICAgICAgICAgICAgIDx0ZCAqbmdJZj1cInJlY29yZC5hY3Rpdml0eVR5cGUgIT0gJ01ERVMnXCI+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwib3V0bGluZVwiIHNpemU9XCJzbWFsbFwiIChjbGljayk9XCJlZGl0KHJlY29yZClcIiBbZGlzYWJsZWRdPSdkaXNhYmxlZCdcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhY3Rpb24tYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFsJywgJ2VkaXQnXVwiIGNsYXNzPVwiYWN0aW9uLWljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBmaWxsPVwib3V0bGluZVwiIHNpemU9XCJzbWFsbFwiIChjbGljayk9XCJkZWxldGUocmVjb3JkKVwiIFtkaXNhYmxlZF09J2Rpc2FibGVkJ1xyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImFjdGlvbi1idXR0b25cIj5cclxuICAgICAgICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiWydmYWwnLCAndHJhc2gtYWx0J11cIiBjbGFzcz1cImFjdGlvbi1pY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvcC10YWJsZT5cclxuICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwibXNnIT09bnVsbCAmJiBpc01TKClcIiBbQHJvd0V4cGFuc2lvblRyaWdnZXJdPVwiJ2FjdGl2ZSdcIiBjbGFzcz1cInJvdy1leHBhbnNpb25cIj5cclxuICAgICAgICA8bWF0LWVycm9yPjxzbWFsbD57e21zZyB8IHRyYW5zbGF0ZX19PC9zbWFsbD48L21hdC1lcnJvcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2lvbi1ncmlkPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2ICpuZ0lmPVwiIXdjU2VydmljZS5nZXREaXNwbGF5V29ya1NlYXJjaFNjcmVlbigpXCI+XHJcbiAgICA8aW9uLWdyaWQgY2xhc3M9XCJpb24tcGFkZGluZy10b3BcIj5cclxuICAgICAgPGlvbi1yb3cgKm5nSWY9XCJ0aGlzLndjU2VydmljZS53ZWVrbHlDZXJ0U2VydmVyRGF0YS53YWl2ZXJSZWFzb25cIj5cclxuICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgIDxzcGFuPnt7IHRoaXMud2NTZXJ2aWNlLndlZWtseUNlcnRTZXJ2ZXJEYXRhLndhaXZlclJlYXNvbn19PC9zcGFuPlxyXG4gICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgPC9pb24tcm93PlxyXG4gICAgICA8aW9uLXJvdyAqbmdJZj1cIiF0aGlzLndjU2VydmljZS5nZXRXYWl0aW5nV2Vla1NlcnZlZCgpXCI+XHJcbiAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICA8c3Bhbj57eyAnbm8ud29yay5zZWFyY2gucmVxdWlyZWQnIHwgdHJhbnNsYXRlfX08L3NwYW4+XHJcbiAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICA8L2lvbi1yb3c+XHJcbiAgICA8L2lvbi1ncmlkPlxyXG4gIDwvZGl2PlxyXG5cclxuPC9mb3JtPlxyXG48cC1kaWFsb2cgW3Zpc2libGVdPVwic2hvd1JlZW1EaWFsb2dcIiBbbW9kYWxdPVwidHJ1ZVwiIGFwcGVuZFRvPVwiYm9keVwiIHBvc2l0aW9uPVwiY2VudGVyXCIgW2JyZWFrcG9pbnRzXT1cIntcclxuICAgICcxMjAwcHgnOiAnNjYwcHgnLFxyXG4gICAgJzk5MnB4JzogICc2NjBweCcsXHJcbiAgICAnNzY4cHgnOiAgJzY2MHB4JyxcclxuICAgICc1NzZweCc6ICAnMTAwdncnXHJcbiAgfVwiIFtzdHlsZV09XCJ7IHdpZHRoOiAnNDV2dycgfVwiIFtiYXNlWkluZGV4XT1cIjUwMDBcIiBbZHJhZ2dhYmxlXT1cImZhbHNlXCIgW3Jlc2l6YWJsZV09XCJmYWxzZVwiIGNsb3NlT25Fc2NhcGU9XCJmYWxzZVwiPlxyXG4gIDxoNCBjbGFzcz1cImhlYWRpbmdcIj5DYXJlZXJDZW50ZXIgYWN0aXZpdHkgYWR2aXNvcnk8L2g0PlxyXG4gIDxpb24tbGFiZWwgc3R5bGU9XCJkaXNwbGF5OiBibG9jazsgd2hpdGUtc3BhY2U6IHByZS1saW5lO1wiPlxyXG4gICAge3sgcmVlbUFkdmlzb3J5VGV4dCB9fVxyXG4gIDwvaW9uLWxhYmVsPlxyXG4gIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJmb290ZXJcIj5cclxuICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiBzaXplPVwic21hbGxcIiB0eXBlPVwiYnV0dG9uXCIgZmlsbD1cIm91dGxpbmVcIiAoY2xpY2spPVwiY2xvc2VSZWVtRGlhbG9nKClcIj5cclxuICAgICAgT2tcclxuICAgIDwvaW9uLWJ1dHRvbj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L3AtZGlhbG9nPlxyXG48IS0tIDxhcHAtd29yay1zZWFyY2gtZW1wbG95ZXItdjIgKm5nSWY9XCJzaG93QWRkV3NSZWNvcnMgJiYgaXNDVCgpXCIgKHN1Y2Nlc3MpPVwiYWRkV3NSZWNvcmQoJGV2ZW50KVwiXHJcbiAgKG9uQ2xvc2UpPVwiY2xvc2VXc1JlY29yZCgpXCIgW3JlY29yZEluZGV4VG9FZGl0XT1cImluZGV4VG9FZGl0XCI+PC9hcHAtd29yay1zZWFyY2gtZW1wbG95ZXItdjI+IC0tPlxyXG48YXBwLXdvcmstc2VhcmNoLWVtcGxveWVyLWN0ICpuZ0lmPVwic2hvd0FkZFdzUmVjb3JzICYmIGlzQ1QoKVwiIChzdWNjZXNzKT1cImFkZFdzUmVjb3JkKCRldmVudClcIlxyXG4gIChvbkNsb3NlKT1cImNsb3NlV3NSZWNvcmQoKVwiIFtyZWNvcmRJbmRleFRvRWRpdF09XCJpbmRleFRvRWRpdFwiPjwvYXBwLXdvcmstc2VhcmNoLWVtcGxveWVyLWN0PlxyXG5cclxuPGFwcC13b3JrLXNlYXJjaC1lbXBsb3llci1tZSAqbmdJZj1cInNob3dBZGRXc1JlY29ycyAmJiBpc01FKClcIiAoc3VjY2Vzcyk9XCJhZGRXc1JlY29yZCgkZXZlbnQpXCJcclxuICAob25DbG9zZSk9XCJjbG9zZVdzUmVjb3JkKClcIiBbcmVjb3JkSW5kZXhUb0VkaXRdPVwiaW5kZXhUb0VkaXRcIlxyXG4gIFtleGlzdGluZ1JlY29yZHNdPVwid2NTZXJ2aWNlLmdldFdvcmtTZWFyY2hSZWNvcmRzKClcIj48L2FwcC13b3JrLXNlYXJjaC1lbXBsb3llci1tZT5cclxuXHJcbjxhcHAtd29yay1zZWFyY2gtZW1wbG95ZXItbXMgKm5nSWY9XCJzaG93QWRkV3NSZWNvcnMgJiYgaXNNUygpXCIgKHN1Y2Nlc3MpPVwiYWRkV3NSZWNvcmQoJGV2ZW50KVwiXHJcbiAgKG9uQ2xvc2UpPVwiY2xvc2VXc1JlY29yZCgpXCIgW3JlY29yZEluZGV4VG9FZGl0XT1cImluZGV4VG9FZGl0XCI+PC9hcHAtd29yay1zZWFyY2gtZW1wbG95ZXItbXM+Il19
|
|
@@ -38,7 +38,12 @@ export class FormatWorksearchPipe {
|
|
|
38
38
|
break;
|
|
39
39
|
}
|
|
40
40
|
case "UNON": {
|
|
41
|
-
positionOrActivityType = "Member of Union - " + this.properCase.capitolizeFirstLetter(this.getUnionDesc(record.isInContactWithUnion)) + " the union
|
|
41
|
+
positionOrActivityType = "Member of Union - " + this.properCase.capitolizeFirstLetter(this.getUnionDesc(record.isInContactWithUnion)) + " the union</br>for the week being filed";
|
|
42
|
+
if (record.isInContactWithUnion !== 'Y') {
|
|
43
|
+
record.unionName = null;
|
|
44
|
+
record.unionContactPersonName = null;
|
|
45
|
+
record.unionContactDate = null;
|
|
46
|
+
}
|
|
42
47
|
resultOrLocation = '';
|
|
43
48
|
break;
|
|
44
49
|
}
|
|
@@ -78,7 +83,7 @@ export class FormatWorksearchPipe {
|
|
|
78
83
|
return 'contacted';
|
|
79
84
|
}
|
|
80
85
|
else {
|
|
81
|
-
return 'not contacted';
|
|
86
|
+
return 'did not contacted';
|
|
82
87
|
}
|
|
83
88
|
}
|
|
84
89
|
return null;
|
|
@@ -98,4 +103,4 @@ export class FormatWorksearchPipe {
|
|
|
98
103
|
name: 'formatWorksearchRecord'
|
|
99
104
|
}]
|
|
100
105
|
}], null, null); })();
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LXdvcmtzZWFyY2gucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvcGlwZXMvZm9ybWF0LXdvcmtzZWFyY2gvZm9ybWF0LXdvcmtzZWFyY2gucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQU12RCxNQUFNLE9BQU8sb0JBQW9CO0lBSGpDO1FBSVUsZUFBVSxHQUFvQixJQUFJLGNBQWMsRUFBRSxDQUFDO0tBK0Y1RDtJQTdGQyxTQUFTLENBQUMsTUFBNkI7UUFDckMsSUFBSSxzQkFBK0IsQ0FBQztRQUNwQyxJQUFJLGdCQUF5QixDQUFDO1FBRTlCLElBQUcsTUFBTSxDQUFDLFlBQVksRUFBQztZQUNyQixRQUFRLE1BQU0sQ0FBQyxZQUFZLEVBQUM7Z0JBQzFCLEtBQUssTUFBTyxDQUFDLENBQUM7b0JBQ1osc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO29CQUMxRyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDO29CQUMxQyxNQUFNO2lCQUNQO2dCQUNELEtBQUssTUFBTyxDQUFDLENBQUM7b0JBQ1osc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO29CQUMxRyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO29CQUN2QyxNQUFNO2lCQUNQ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QUFDLElBQUksSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDM0U7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYTtRQUN4QixJQUFHLEtBQUssRUFBQztZQUNQLElBQUcsS0FBSyxJQUFJLEdBQUcsRUFBQztnQkFDZCxPQUFPLFdBQVcsQ0FBQzthQUNwQjtpQkFBSztnQkFDSixPQUFPLGVBQWUsQ0FBQzthQUN4QjtTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsd0JBQXdCLENBQUMsS0FBYTtRQUNwQyxJQUFHLEtBQUssRUFBQztZQUNQLE9BQU8sV0FBVyxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1NBQ2xGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO3FGQTlGVSxvQkFBb0I7Z0dBQXBCLG9CQUFvQjs7aUZBQXBCLG9CQUFvQjtjQUhoQyxJQUFJO2VBQUM7Z0JBQ0osSUFBSSxFQUFFLHdCQUF3QjthQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUHJvcGVyQ2FzZVBpcGUgfSBmcm9tICcuLi9wcm9wZXItY2FzZS9wcm9wZXItY2FzZS5waXBlJztcclxuaW1wb3J0IHsgQ29tYm9PcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvY29tYm8tbW9kZWwnO1xyXG5pbXBvcnQgeyBXb3JrU2VhcmNoUmVjb3JkTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvd2Vla2x5LWNlcnQvd29yay1zZWFyY2gtcmVjb3JkLXYyLW1vZGVsJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnZm9ybWF0V29ya3NlYXJjaFJlY29yZCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1hdFdvcmtzZWFyY2hQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgcHJpdmF0ZSBwcm9wZXJDYXNlIDogUHJvcGVyQ2FzZVBpcGUgPSBuZXcgUHJvcGVyQ2FzZVBpcGUoKTtcclxuICBcclxuICB0cmFuc2Zvcm0ocmVjb3JkOiBXb3JrU2VhcmNoUmVjb3JkTW9kZWwpOiBzdHJpbmcge1xyXG4gICAgbGV0IHBvc2l0aW9uT3JBY3Rpdml0eVR5cGUgOiBzdHJpbmc7XHJcbiAgICBsZXQgcmVzdWx0T3JMb2NhdGlvbiA6IHN0cmluZztcclxuXHJcbiAgICBpZihyZWNvcmQuYWN0aXZpdHlUeXBlKXtcclxuICAgICAgc3dpdGNoIChyZWNvcmQuYWN0aXZpdHlUeXBlKXtcclxuICAgICAgICBjYXNlIFwiSkJGUlwiIDoge1xyXG4gICAgICAgICAgcG9zaXRpb25PckFjdGl2aXR5VHlwZSA9IHRoaXMucHJvcGVyQ2FzZS5jYXBpdG9saXplRmlyc3RMZXR0ZXIodGhpcy5nZXRBY3Rpdml0eURlc2MocmVjb3JkLmFjdGl2aXR5VHlwZSkpO1xyXG4gICAgICAgICAgcmVzdWx0T3JMb2NhdGlvbiA9IHJlY29yZC5qb2JGYWlyTG9jYXRpb247XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgICAgY2FzZSBcIkNTVldcIiA6IHtcclxuICAgICAgICAgIHBvc2l0aW9uT3JBY3Rpdml0eVR5cGUgPSB0aGlzLnByb3BlckNhc2UuY2FwaXRvbGl6ZUZpcnN0TGV0dGVyKHRoaXMuZ2V0QWN0aXZpdHlEZXNjKHJlY29yZC5hY3Rpdml0eVR5cGUpKTtcclxuICAgICAgICAgIHJlc3VsdE9yTG9jYXRpb24gPSByZWNvcmQud29ya1Nob3BOYW1lO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gIFxyXG4gICAgICAgIGNhc2UgXCJSRVNSXCIgOiB7XHJcbiAgICAgICAgICBwb3NpdGlvbk9yQWN0aXZpdHlUeXBlID0gdGhpcy5wcm9wZXJDYXNlLmNhcGl0b2xpemVGaXJzdExldHRlcih0aGlzLmdldEFjdGl2aXR5RGVzYyhyZWNvcmQuYWN0aXZpdHlUeXBlKSk7XHJcbiAgICAgICAgICByZXN1bHRPckxvY2F0aW9uID0gcmVjb3JkLndvcmtTaG9wTmFtZTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY2FzZSBcIk1ERVNcIiA6IHtcclxuICAgICAgICAgIHBvc2l0aW9uT3JBY3Rpdml0eVR5cGUgPSBcIkpvYiBzZWFyY2ggLSBNREVTIGpvYiByZWZlcnJhbFwiO1xyXG4gICAgICAgICAgcmVzdWx0T3JMb2NhdGlvbiA9IHJlY29yZC5lbXBsb3llck5hbWU7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNhc2UgXCJKT1NFXCIgOiB7XHJcbiAgICAgICAgICBwb3NpdGlvbk9yQWN0aXZpdHlUeXBlID0gXCJDb250YWN0ZWQgZW1wbG95ZXIgLSBcIiArIHRoaXMucHJvcGVyQ2FzZS5jYXBpdG9saXplRmlyc3RMZXR0ZXIodGhpcy5nZXREZXNjKHJlY29yZC5zZWFyY2hSZXN1bHQpKTs7XHJcbiAgICAgICAgICByZXN1bHRPckxvY2F0aW9uID0gcmVjb3JkLmVtcGxveWVyTmFtZTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY2FzZSBcIlVOT05cIiA6IHtcclxuICAgICAgICAgIHBvc2l0aW9uT3JBY3Rpdml0eVR5cGUgPSBcIk1lbWJlciBvZiBVbmlvbiAtIFwiICsgdGhpcy5wcm9wZXJDYXNlLmNhcGl0b2xpemVGaXJzdExldHRlcih0aGlzLmdldFVuaW9uRGVzYyhyZWNvcmQuaXNJbkNvbnRhY3RXaXRoVW5pb24pKSArIFwiIHRoZSB1bmlvbiBmb3IgdGhlIHdlZWsgYmVpbmcgY2VydGlmaWVkXCI7XHJcbiAgICAgICAgICByZXN1bHRPckxvY2F0aW9uID0gJyc7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNhc2UgXCJXUktQXCIgOiB7XHJcbiAgICAgICAgICBwb3NpdGlvbk9yQWN0aXZpdHlUeXBlID0gXCJQZXJmb3JtZWQgc2VydmljZXMgZm9yIGFuIGVtcGxveWVyIC0gXCIgKyB0aGlzLnByb3BlckNhc2UuY2FwaXRvbGl6ZUZpcnN0TGV0dGVyKHRoaXMuZ2V0RW1wbG95bWVudFNlcnZpY2VEZXNjKHJlY29yZC53b3JrT3JQZXJmb3JtU2VydmljZVR5cGUpKTtcclxuICAgICAgICAgIHJlc3VsdE9yTG9jYXRpb24gPSAnJztcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICBcclxuICAgICAgIGRlZmF1bHQgOiB7XHJcbiAgICAgICAgcG9zaXRpb25PckFjdGl2aXR5VHlwZSA9IFwiQXBwbGllZCBmb3IgXCIrIHRoaXMucHJvcGVyQ2FzZS5jYXBpdG9saXplRmlyc3RMZXR0ZXIocmVjb3JkLnBvc2l0aW9uQXBwbGllZEZvcikgKyBcIiBwb3NpdGlvbiAtIFwiKyB0aGlzLnByb3BlckNhc2UuY2FwaXRvbGl6ZUZpcnN0TGV0dGVyKHRoaXMuZ2V0RGVzYyhyZWNvcmQuc2VhcmNoUmVzdWx0KSk7XHJcbiAgICAgICAgcmVzdWx0T3JMb2NhdGlvbiA9IHJlY29yZC5lbXBsb3llck5hbWU7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1lbHNle1xyXG4gICAgICBwb3NpdGlvbk9yQWN0aXZpdHlUeXBlID0gXCJBcHBsaWVkIGZvciBcIisgdGhpcy5wcm9wZXJDYXNlLmNhcGl0b2xpemVGaXJzdExldHRlcihyZWNvcmQucG9zaXRpb25BcHBsaWVkRm9yKSArIFwiIHBvc2l0aW9uIC0gXCIrIHRoaXMucHJvcGVyQ2FzZS5jYXBpdG9saXplRmlyc3RMZXR0ZXIodGhpcy5nZXREZXNjKHJlY29yZC5zZWFyY2hSZXN1bHQpKTtcclxuICAgICAgcmVzdWx0T3JMb2NhdGlvbiA9IHJlY29yZC5lbXBsb3llck5hbWU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHBvc2l0aW9uT3JBY3Rpdml0eVR5cGUuY29uY2F0KCdcXG4nLCB0aGlzLnByb3BlckNhc2UuY2FwaXRvbGl6ZUZpcnN0TGV0dGVyKHJlc3VsdE9yTG9jYXRpb24pKTtcclxuICB9XHJcblxyXG4gIGdldERlc2ModmFsdWUgOiBzdHJpbmcpe1xyXG4gICAgaWYodmFsdWUpe1xyXG4gICAgICByZXR1cm4gQ29tYm9PcHRpb24uV29ya1NlYXJjaFJlc3VsdENvbWJvQWxsLmZpbHRlcih2ID0+IHYuTkFNRSA9PSB2YWx1ZSlbMF0uREVTQztcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWN0aXZpdHlEZXNjKHZhbHVlIDogc3RyaW5nKXtcclxuICAgIGlmKHZhbHVlKXtcclxuICAgICAgcmV0dXJuIENvbWJvT3B0aW9uLkFjdGl2aXR5VHlwZUNvbWJvLmZpbHRlcih2ID0+IHYuTkFNRSA9PSB2YWx1ZSlbMF0uREVTQztcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgZ2V0VW5pb25EZXNjKHZhbHVlOiBzdHJpbmcpe1xyXG4gICAgaWYodmFsdWUpe1xyXG4gICAgICBpZih2YWx1ZSA9PSAnWScpe1xyXG4gICAgICAgIHJldHVybiAnY29udGFjdGVkJztcclxuICAgICAgfSBlbHNle1xyXG4gICAgICAgIHJldHVybiAnbm90IGNvbnRhY3RlZCc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgZ2V0RW1wbG95bWVudFNlcnZpY2VEZXNjKHZhbHVlOiBzdHJpbmcpe1xyXG4gICAgaWYodmFsdWUpe1xyXG4gICAgICByZXR1cm4gQ29tYm9PcHRpb24uV29ya1NlYXJjaEVtcGxveW1lbnRUeXBlLmZpbHRlcih2ID0+IHYuTkFNRSA9PSB2YWx1ZSlbMF0uREVTQztcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LXdvcmtzZWFyY2gucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvcGlwZXMvZm9ybWF0LXdvcmtzZWFyY2gvZm9ybWF0LXdvcmtzZWFyY2gucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQU12RCxNQUFNLE9BQU8sb0JBQW9CO0lBSGpDO1FBSVUsZUFBVSxHQUFvQixJQUFJLGNBQWMsRUFBRSxDQUFDO0tBb0c1RDtJQWxHQyxTQUFTLENBQUMsTUFBNkI7UUFDckMsSUFBSSxzQkFBK0IsQ0FBQztRQUNwQyxJQUFJLGdCQUF5QixDQUFDO1FBRTlCLElBQUcsTUFBTSxDQUFDLFlBQVksRUFBQztZQUNyQixRQUFRLE1BQU0sQ0FBQyxZQUFZLEVBQUM7Z0JBQzFCLEtBQUssTUFBTyxDQUFDLENBQUM7b0JBQ1osc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO29CQUMxRyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDO29CQUMxQyxNQUFNO2lCQUNQO2dCQUNELEtBQUssTUFBTyxDQUFDLENBQUM7b0JBQ1osc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO29CQUMxRyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO29CQUN2QyxNQUFNO2lCQUNQ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Q0FBQyxDQUFDLElBQUksQ0FBQztTQUNsRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFjO1FBQzVCLElBQUcsS0FBSyxFQUFDO1lBQ1AsT0FBTyxXQUFXLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDM0U7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYTtRQUN4QixJQUFHLEtBQUssRUFBQztZQUNQLElBQUcsS0FBSyxJQUFJLEdBQUcsRUFBQztnQkFDZCxPQUFPLFdBQVcsQ0FBQzthQUNwQjtpQkFBSztnQkFDSixPQUFPLG1CQUFtQixDQUFDO2FBQzVCO1NBQ0Y7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxLQUFhO1FBQ3BDLElBQUcsS0FBSyxFQUFDO1lBQ1AsT0FBTyxXQUFXLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7U0FDbEY7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7cUZBbkdVLG9CQUFvQjtnR0FBcEIsb0JBQW9COztpRkFBcEIsb0JBQW9CO2NBSGhDLElBQUk7ZUFBQztnQkFDSixJQUFJLEVBQUUsd0JBQXdCO2FBQy9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQcm9wZXJDYXNlUGlwZSB9IGZyb20gJy4uL3Byb3Blci1jYXNlL3Byb3Blci1jYXNlLnBpcGUnO1xyXG5pbXBvcnQgeyBDb21ib09wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9jb21iby1tb2RlbCc7XHJcbmltcG9ydCB7IFdvcmtTZWFyY2hSZWNvcmRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy93ZWVrbHktY2VydC93b3JrLXNlYXJjaC1yZWNvcmQtdjItbW9kZWwnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdmb3JtYXRXb3Jrc2VhcmNoUmVjb3JkJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybWF0V29ya3NlYXJjaFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICBwcml2YXRlIHByb3BlckNhc2UgOiBQcm9wZXJDYXNlUGlwZSA9IG5ldyBQcm9wZXJDYXNlUGlwZSgpO1xyXG4gIFxyXG4gIHRyYW5zZm9ybShyZWNvcmQ6IFdvcmtTZWFyY2hSZWNvcmRNb2RlbCk6IHN0cmluZyB7XHJcbiAgICBsZXQgcG9zaXRpb25PckFjdGl2aXR5VHlwZSA6IHN0cmluZztcclxuICAgIGxldCByZXN1bHRPckxvY2F0aW9uIDogc3RyaW5nO1xyXG5cclxuICAgIGlmKHJlY29yZC5hY3Rpdml0eVR5cGUpe1xyXG4gICAgICBzd2l0Y2ggKHJlY29yZC5hY3Rpdml0eVR5cGUpe1xyXG4gICAgICAgIGNhc2UgXCJKQkZSXCIgOiB7XHJcbiAgICAgICAgICBwb3NpdGlvbk9yQWN0aXZpdHlUeXBlID0gdGhpcy5wcm9wZXJDYXNlLmNhcGl0b2xpemVGaXJzdExldHRlcih0aGlzLmdldEFjdGl2aXR5RGVzYyhyZWNvcmQuYWN0aXZpdHlUeXBlKSk7XHJcbiAgICAgICAgICByZXN1bHRPckxvY2F0aW9uID0gcmVjb3JkLmpvYkZhaXJMb2NhdGlvbjtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjYXNlIFwiQ1NWV1wiIDoge1xyXG4gICAgICAgICAgcG9zaXRpb25PckFjdGl2aXR5VHlwZSA9IHRoaXMucHJvcGVyQ2FzZS5jYXBpdG9saXplRmlyc3RMZXR0ZXIodGhpcy5nZXRBY3Rpdml0eURlc2MocmVjb3JkLmFjdGl2aXR5VHlwZSkpO1xyXG4gICAgICAgICAgcmVzdWx0T3JMb2NhdGlvbiA9IHJlY29yZC53b3JrU2hvcE5hbWU7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgXHJcbiAgICAgICAgY2FzZSBcIlJFU1JcIiA6IHtcclxuICAgICAgICAgIHBvc2l0aW9uT3JBY3Rpdml0eVR5cGUgPSB0aGlzLnByb3BlckNhc2UuY2FwaXRvbGl6ZUZpcnN0TGV0dGVyKHRoaXMuZ2V0QWN0aXZpdHlEZXNjKHJlY29yZC5hY3Rpdml0eVR5cGUpKTtcclxuICAgICAgICAgIHJlc3VsdE9yTG9jYXRpb24gPSByZWNvcmQud29ya1Nob3BOYW1lO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjYXNlIFwiTURFU1wiIDoge1xyXG4gICAgICAgICAgcG9zaXRpb25PckFjdGl2aXR5VHlwZSA9IFwiSm9iIHNlYXJjaCAtIE1ERVMgam9iIHJlZmVycmFsXCI7XHJcbiAgICAgICAgICByZXN1bHRPckxvY2F0aW9uID0gcmVjb3JkLmVtcGxveWVyTmFtZTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY2FzZSBcIkpPU0VcIiA6IHtcclxuICAgICAgICAgIHBvc2l0aW9uT3JBY3Rpdml0eVR5cGUgPSBcIkNvbnRhY3RlZCBlbXBsb3llciAtIFwiICsgdGhpcy5wcm9wZXJDYXNlLmNhcGl0b2xpemVGaXJzdExldHRlcih0aGlzLmdldERlc2MocmVjb3JkLnNlYXJjaFJlc3VsdCkpOztcclxuICAgICAgICAgIHJlc3VsdE9yTG9jYXRpb24gPSByZWNvcmQuZW1wbG95ZXJOYW1lO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjYXNlIFwiVU5PTlwiIDoge1xyXG4gICAgICAgICAgcG9zaXRpb25PckFjdGl2aXR5VHlwZSA9IFwiTWVtYmVyIG9mIFVuaW9uIC0gXCIgKyB0aGlzLnByb3BlckNhc2UuY2FwaXRvbGl6ZUZpcnN0TGV0dGVyKHRoaXMuZ2V0VW5pb25EZXNjKHJlY29yZC5pc0luQ29udGFjdFdpdGhVbmlvbikpICsgXCIgdGhlIHVuaW9uPC9icj5mb3IgdGhlIHdlZWsgYmVpbmcgZmlsZWRcIjtcclxuICAgICAgICAgIGlmKHJlY29yZC5pc0luQ29udGFjdFdpdGhVbmlvbiAhPT0gJ1knKSB7XHJcbiAgICAgICAgICAgICAgcmVjb3JkLnVuaW9uTmFtZSA9IG51bGw7XHJcbiAgICAgICAgICAgICAgcmVjb3JkLnVuaW9uQ29udGFjdFBlcnNvbk5hbWUgPSBudWxsO1xyXG4gICAgICAgICAgICAgIHJlY29yZC51bmlvbkNvbnRhY3REYXRlID0gbnVsbDtcclxuICAgICAgICAgIH1cclxuXHRcdCAgXHRcdCAgICAgICAgcmVzdWx0T3JMb2NhdGlvbiA9ICcnO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjYXNlIFwiV1JLUFwiIDoge1xyXG4gICAgICAgICAgcG9zaXRpb25PckFjdGl2aXR5VHlwZSA9IFwiUGVyZm9ybWVkIHNlcnZpY2VzIGZvciBhbiBlbXBsb3llciAtIFwiICsgdGhpcy5wcm9wZXJDYXNlLmNhcGl0b2xpemVGaXJzdExldHRlcih0aGlzLmdldEVtcGxveW1lbnRTZXJ2aWNlRGVzYyhyZWNvcmQud29ya09yUGVyZm9ybVNlcnZpY2VUeXBlKSk7XHJcbiAgICAgICAgICByZXN1bHRPckxvY2F0aW9uID0gJyc7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICB9XHJcbiAgXHJcbiAgICAgICBkZWZhdWx0IDoge1xyXG4gICAgICAgIHBvc2l0aW9uT3JBY3Rpdml0eVR5cGUgPSBcIkFwcGxpZWQgZm9yIFwiKyB0aGlzLnByb3BlckNhc2UuY2FwaXRvbGl6ZUZpcnN0TGV0dGVyKHJlY29yZC5wb3NpdGlvbkFwcGxpZWRGb3IpICsgXCIgcG9zaXRpb24gLSBcIisgdGhpcy5wcm9wZXJDYXNlLmNhcGl0b2xpemVGaXJzdExldHRlcih0aGlzLmdldERlc2MocmVjb3JkLnNlYXJjaFJlc3VsdCkpO1xyXG4gICAgICAgIHJlc3VsdE9yTG9jYXRpb24gPSByZWNvcmQuZW1wbG95ZXJOYW1lO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9ZWxzZXtcclxuICAgICAgcG9zaXRpb25PckFjdGl2aXR5VHlwZSA9IFwiQXBwbGllZCBmb3IgXCIrIHRoaXMucHJvcGVyQ2FzZS5jYXBpdG9saXplRmlyc3RMZXR0ZXIocmVjb3JkLnBvc2l0aW9uQXBwbGllZEZvcikgKyBcIiBwb3NpdGlvbiAtIFwiKyB0aGlzLnByb3BlckNhc2UuY2FwaXRvbGl6ZUZpcnN0TGV0dGVyKHRoaXMuZ2V0RGVzYyhyZWNvcmQuc2VhcmNoUmVzdWx0KSk7XHJcbiAgICAgIHJlc3VsdE9yTG9jYXRpb24gPSByZWNvcmQuZW1wbG95ZXJOYW1lO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBwb3NpdGlvbk9yQWN0aXZpdHlUeXBlLmNvbmNhdCgnXFxuJywgdGhpcy5wcm9wZXJDYXNlLmNhcGl0b2xpemVGaXJzdExldHRlcihyZXN1bHRPckxvY2F0aW9uKSk7XHJcbiAgfVxyXG5cclxuICBnZXREZXNjKHZhbHVlIDogc3RyaW5nKXtcclxuICAgIGlmKHZhbHVlKXtcclxuICAgICAgcmV0dXJuIENvbWJvT3B0aW9uLldvcmtTZWFyY2hSZXN1bHRDb21ib0FsbC5maWx0ZXIodiA9PiB2Lk5BTUUgPT0gdmFsdWUpWzBdLkRFU0M7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGdldEFjdGl2aXR5RGVzYyh2YWx1ZSA6IHN0cmluZyl7XHJcbiAgICBpZih2YWx1ZSl7XHJcbiAgICAgIHJldHVybiBDb21ib09wdGlvbi5BY3Rpdml0eVR5cGVDb21iby5maWx0ZXIodiA9PiB2Lk5BTUUgPT0gdmFsdWUpWzBdLkRFU0M7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIGdldFVuaW9uRGVzYyh2YWx1ZTogc3RyaW5nKXtcclxuICAgIGlmKHZhbHVlKXtcclxuICAgICAgaWYodmFsdWUgPT0gJ1knKXtcclxuICAgICAgICByZXR1cm4gJ2NvbnRhY3RlZCc7XHJcbiAgICAgIH0gZWxzZXtcclxuICAgICAgICByZXR1cm4gJ2RpZCBub3QgY29udGFjdGVkJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxuICBnZXRFbXBsb3ltZW50U2VydmljZURlc2ModmFsdWU6IHN0cmluZyl7XHJcbiAgICBpZih2YWx1ZSl7XHJcbiAgICAgIHJldHVybiBDb21ib09wdGlvbi5Xb3JrU2VhcmNoRW1wbG95bWVudFR5cGUuZmlsdGVyKHYgPT4gdi5OQU1FID09IHZhbHVlKVswXS5ERVNDO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
|