@hmcts/ccd-case-ui-toolkit 5.0.44-angular11-welsh-release-part1-2 → 5.0.44-angular11-welsh-release-part1-4
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/bundles/hmcts-ccd-case-ui-toolkit.umd.js +50 -32
- package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
- package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
- package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
- package/esm2015/lib/shared/components/workbasket-filters/workbasket-filters.component.js +51 -33
- package/fesm2015/hmcts-ccd-case-ui-toolkit.js +50 -32
- package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
- package/package.json +1 -1
|
@@ -17,27 +17,34 @@ import * as i5 from "../../services/alert/alert.service";
|
|
|
17
17
|
import * as i6 from "../../services/window/window.service";
|
|
18
18
|
function WorkbasketFiltersComponent_option_9_Template(rf, ctx) { if (rf & 1) {
|
|
19
19
|
i0.ɵɵelementStart(0, "option", 11);
|
|
20
|
-
i0.ɵɵtext(1
|
|
20
|
+
i0.ɵɵtext(1);
|
|
21
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
21
22
|
i0.ɵɵelementEnd();
|
|
22
23
|
} if (rf & 2) {
|
|
23
24
|
i0.ɵɵproperty("ngValue", null);
|
|
25
|
+
i0.ɵɵadvance(1);
|
|
26
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, "Select a value"));
|
|
24
27
|
} }
|
|
25
28
|
function WorkbasketFiltersComponent_option_10_Template(rf, ctx) { if (rf & 1) {
|
|
26
29
|
i0.ɵɵelementStart(0, "option", 11);
|
|
27
30
|
i0.ɵɵtext(1);
|
|
31
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
28
32
|
i0.ɵɵelementEnd();
|
|
29
33
|
} if (rf & 2) {
|
|
30
34
|
const j_r6 = ctx.$implicit;
|
|
31
35
|
i0.ɵɵproperty("ngValue", j_r6);
|
|
32
36
|
i0.ɵɵadvance(1);
|
|
33
|
-
i0.ɵɵtextInterpolate(j_r6.name);
|
|
37
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, j_r6.name));
|
|
34
38
|
} }
|
|
35
39
|
function WorkbasketFiltersComponent_option_16_Template(rf, ctx) { if (rf & 1) {
|
|
36
40
|
i0.ɵɵelementStart(0, "option", 11);
|
|
37
|
-
i0.ɵɵtext(1
|
|
41
|
+
i0.ɵɵtext(1);
|
|
42
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
38
43
|
i0.ɵɵelementEnd();
|
|
39
44
|
} if (rf & 2) {
|
|
40
45
|
i0.ɵɵproperty("ngValue", null);
|
|
46
|
+
i0.ɵɵadvance(1);
|
|
47
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, "Select a value"));
|
|
41
48
|
} }
|
|
42
49
|
function WorkbasketFiltersComponent_option_17_Template(rf, ctx) { if (rf & 1) {
|
|
43
50
|
i0.ɵɵelementStart(0, "option", 11);
|
|
@@ -50,7 +57,7 @@ function WorkbasketFiltersComponent_option_17_Template(rf, ctx) { if (rf & 1) {
|
|
|
50
57
|
i0.ɵɵadvance(1);
|
|
51
58
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, ct_r7.name));
|
|
52
59
|
} }
|
|
53
|
-
function
|
|
60
|
+
function WorkbasketFiltersComponent_option_26_Template(rf, ctx) { if (rf & 1) {
|
|
54
61
|
i0.ɵɵelementStart(0, "option", 11);
|
|
55
62
|
i0.ɵɵtext(1);
|
|
56
63
|
i0.ɵɵpipe(2, "rpxTranslate");
|
|
@@ -61,11 +68,11 @@ function WorkbasketFiltersComponent_option_25_Template(rf, ctx) { if (rf & 1) {
|
|
|
61
68
|
i0.ɵɵadvance(1);
|
|
62
69
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, cs_r8.name));
|
|
63
70
|
} }
|
|
64
|
-
function
|
|
71
|
+
function WorkbasketFiltersComponent_ng_container_27_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
65
72
|
const _r12 = i0.ɵɵgetCurrentView();
|
|
66
73
|
i0.ɵɵelementStart(0, "div", 2);
|
|
67
74
|
i0.ɵɵelementStart(1, "ccd-field-write", 18);
|
|
68
|
-
i0.ɵɵlistener("keyup.enter", function
|
|
75
|
+
i0.ɵɵlistener("keyup.enter", function WorkbasketFiltersComponent_ng_container_27_div_2_Template_ccd_field_write_keyup_enter_1_listener() { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(2); return ctx_r11.apply(null); });
|
|
69
76
|
i0.ɵɵelementEnd();
|
|
70
77
|
i0.ɵɵelementEnd();
|
|
71
78
|
} if (rf & 2) {
|
|
@@ -74,10 +81,10 @@ function WorkbasketFiltersComponent_ng_container_26_div_2_Template(rf, ctx) { if
|
|
|
74
81
|
i0.ɵɵadvance(1);
|
|
75
82
|
i0.ɵɵproperty("caseField", workbasketInput_r10.field)("formGroup", ctx_r9.formGroup)("isExpanded", true)("isInSearchBlock", true);
|
|
76
83
|
} }
|
|
77
|
-
function
|
|
84
|
+
function WorkbasketFiltersComponent_ng_container_27_Template(rf, ctx) { if (rf & 1) {
|
|
78
85
|
i0.ɵɵelementContainerStart(0, 15);
|
|
79
86
|
i0.ɵɵelementStart(1, "div", 16);
|
|
80
|
-
i0.ɵɵtemplate(2,
|
|
87
|
+
i0.ɵɵtemplate(2, WorkbasketFiltersComponent_ng_container_27_div_2_Template, 2, 4, "div", 17);
|
|
81
88
|
i0.ɵɵelementEnd();
|
|
82
89
|
i0.ɵɵelementContainerEnd();
|
|
83
90
|
} if (rf & 2) {
|
|
@@ -355,7 +362,7 @@ WorkbasketFiltersComponent.PARAM_JURISDICTION = 'jurisdiction';
|
|
|
355
362
|
WorkbasketFiltersComponent.PARAM_CASE_TYPE = 'case-type';
|
|
356
363
|
WorkbasketFiltersComponent.PARAM_CASE_STATE = 'case-state';
|
|
357
364
|
WorkbasketFiltersComponent.ɵfac = function WorkbasketFiltersComponent_Factory(t) { return new (t || WorkbasketFiltersComponent)(i0.ɵɵdirectiveInject(i1.ActivatedRoute), i0.ɵɵdirectiveInject(i2.WorkbasketInputFilterService), i0.ɵɵdirectiveInject(i3.OrderService), i0.ɵɵdirectiveInject(i4.JurisdictionService), i0.ɵɵdirectiveInject(i5.AlertService), i0.ɵɵdirectiveInject(i6.WindowService)); };
|
|
358
|
-
WorkbasketFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WorkbasketFiltersComponent, selectors: [["ccd-workbasket-filters"]], inputs: { jurisdictions: "jurisdictions", defaults: "defaults" }, outputs: { onApply: "onApply", onReset: "onReset" }, decls:
|
|
365
|
+
WorkbasketFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WorkbasketFiltersComponent, selectors: [["ccd-workbasket-filters"]], inputs: { jurisdictions: "jurisdictions", defaults: "defaults" }, outputs: { onApply: "onApply", onReset: "onReset" }, decls: 39, vars: 46, consts: [["aria-label", "Filters", 1, "heading-h2"], [1, "global-display"], [1, "form-group"], ["for", "wb-jurisdiction", 1, "form-label"], ["id", "wb-jurisdiction", "name", "jurisdiction", "aria-controls", "search-result", 1, "form-control", "form-control-3-4", "ccd-dropdown", 3, "ngModel", "ngModelChange", "change"], [3, "ngValue", 4, "ngIf"], [3, "ngValue", 4, "ngFor", "ngForOf"], ["for", "wb-case-type", 1, "form-label"], ["id", "wb-case-type", "name", "case-type", "aria-controls", "search-result", 1, "form-control", "form-control-3-4", "ccd-dropdown", 3, "ngModel", "disabled", "ngModelChange", "change"], ["for", "wb-case-state", 1, "form-label"], ["id", "wb-case-state", "name", "state", "aria-controls", "search-result", 1, "form-control", "form-control-3-4", "ccd-dropdown", 3, "ngModel", "disabled", "ngModelChange"], [3, "ngValue"], ["ccdConditionalShowForm", "", 3, "formGroup", "contextFields", 4, "ngIf"], ["type", "button", 1, "button", "workbasket-filters-apply", 3, "disabled", "title", "click"], ["type", "button", 1, "button", "button-secondary", 3, "title", "click"], ["ccdConditionalShowForm", "", 3, "formGroup", "contextFields"], ["id", "dynamicFilters"], ["class", "form-group", 4, "ngFor", "ngForOf"], [3, "caseField", "formGroup", "isExpanded", "isInSearchBlock", "keyup.enter"]], template: function WorkbasketFiltersComponent_Template(rf, ctx) { if (rf & 1) {
|
|
359
366
|
i0.ɵɵelementStart(0, "h2", 0);
|
|
360
367
|
i0.ɵɵtext(1);
|
|
361
368
|
i0.ɵɵpipe(2, "rpxTranslate");
|
|
@@ -368,8 +375,8 @@ WorkbasketFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WorkbasketFilt
|
|
|
368
375
|
i0.ɵɵelementEnd();
|
|
369
376
|
i0.ɵɵelementStart(8, "select", 4);
|
|
370
377
|
i0.ɵɵlistener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_8_listener($event) { return ctx.selected.jurisdiction = $event; })("change", function WorkbasketFiltersComponent_Template_select_change_8_listener() { return ctx.onJurisdictionIdChange(); });
|
|
371
|
-
i0.ɵɵtemplate(9, WorkbasketFiltersComponent_option_9_Template,
|
|
372
|
-
i0.ɵɵtemplate(10, WorkbasketFiltersComponent_option_10_Template,
|
|
378
|
+
i0.ɵɵtemplate(9, WorkbasketFiltersComponent_option_9_Template, 3, 4, "option", 5);
|
|
379
|
+
i0.ɵɵtemplate(10, WorkbasketFiltersComponent_option_10_Template, 3, 4, "option", 6);
|
|
373
380
|
i0.ɵɵelementEnd();
|
|
374
381
|
i0.ɵɵelementEnd();
|
|
375
382
|
i0.ɵɵelementStart(11, "div", 2);
|
|
@@ -379,7 +386,7 @@ WorkbasketFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WorkbasketFilt
|
|
|
379
386
|
i0.ɵɵelementEnd();
|
|
380
387
|
i0.ɵɵelementStart(15, "select", 8);
|
|
381
388
|
i0.ɵɵlistener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_15_listener($event) { return ctx.selected.caseType = $event; })("change", function WorkbasketFiltersComponent_Template_select_change_15_listener() { return ctx.onCaseTypeIdChange(); });
|
|
382
|
-
i0.ɵɵtemplate(16, WorkbasketFiltersComponent_option_16_Template,
|
|
389
|
+
i0.ɵɵtemplate(16, WorkbasketFiltersComponent_option_16_Template, 3, 4, "option", 5);
|
|
383
390
|
i0.ɵɵtemplate(17, WorkbasketFiltersComponent_option_17_Template, 3, 4, "option", 6);
|
|
384
391
|
i0.ɵɵelementEnd();
|
|
385
392
|
i0.ɵɵelementEnd();
|
|
@@ -391,29 +398,34 @@ WorkbasketFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WorkbasketFilt
|
|
|
391
398
|
i0.ɵɵelementStart(22, "select", 10);
|
|
392
399
|
i0.ɵɵlistener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_22_listener($event) { return ctx.selected.caseState = $event; });
|
|
393
400
|
i0.ɵɵelementStart(23, "option", 11);
|
|
394
|
-
i0.ɵɵtext(24
|
|
401
|
+
i0.ɵɵtext(24);
|
|
402
|
+
i0.ɵɵpipe(25, "rpxTranslate");
|
|
395
403
|
i0.ɵɵelementEnd();
|
|
396
|
-
i0.ɵɵtemplate(
|
|
404
|
+
i0.ɵɵtemplate(26, WorkbasketFiltersComponent_option_26_Template, 3, 4, "option", 6);
|
|
397
405
|
i0.ɵɵelementEnd();
|
|
398
406
|
i0.ɵɵelementEnd();
|
|
399
|
-
i0.ɵɵtemplate(
|
|
400
|
-
i0.ɵɵelementStart(
|
|
401
|
-
i0.ɵɵlistener("click", function
|
|
402
|
-
i0.ɵɵtext(28);
|
|
407
|
+
i0.ɵɵtemplate(27, WorkbasketFiltersComponent_ng_container_27_Template, 3, 3, "ng-container", 12);
|
|
408
|
+
i0.ɵɵelementStart(28, "button", 13);
|
|
409
|
+
i0.ɵɵlistener("click", function WorkbasketFiltersComponent_Template_button_click_28_listener() { return ctx.apply(true); });
|
|
403
410
|
i0.ɵɵpipe(29, "rpxTranslate");
|
|
411
|
+
i0.ɵɵpipe(30, "rpxTranslate");
|
|
412
|
+
i0.ɵɵtext(31);
|
|
413
|
+
i0.ɵɵpipe(32, "rpxTranslate");
|
|
404
414
|
i0.ɵɵelementEnd();
|
|
405
|
-
i0.ɵɵtext(
|
|
406
|
-
i0.ɵɵelementStart(
|
|
407
|
-
i0.ɵɵlistener("click", function
|
|
408
|
-
i0.ɵɵ
|
|
409
|
-
i0.ɵɵpipe(
|
|
415
|
+
i0.ɵɵtext(33, " \u00A0\u00A0\u00A0 ");
|
|
416
|
+
i0.ɵɵelementStart(34, "button", 14);
|
|
417
|
+
i0.ɵɵlistener("click", function WorkbasketFiltersComponent_Template_button_click_34_listener() { return ctx.reset(); });
|
|
418
|
+
i0.ɵɵpipe(35, "rpxTranslate");
|
|
419
|
+
i0.ɵɵpipe(36, "rpxTranslate");
|
|
420
|
+
i0.ɵɵtext(37);
|
|
421
|
+
i0.ɵɵpipe(38, "rpxTranslate");
|
|
410
422
|
i0.ɵɵelementEnd();
|
|
411
423
|
i0.ɵɵelementEnd();
|
|
412
424
|
} if (rf & 2) {
|
|
413
425
|
i0.ɵɵadvance(1);
|
|
414
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2,
|
|
426
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 24, "Filters"));
|
|
415
427
|
i0.ɵɵadvance(5);
|
|
416
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(7,
|
|
428
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(7, 26, "Jurisdiction"));
|
|
417
429
|
i0.ɵɵadvance(2);
|
|
418
430
|
i0.ɵɵproperty("ngModel", ctx.selected.jurisdiction);
|
|
419
431
|
i0.ɵɵadvance(1);
|
|
@@ -421,7 +433,7 @@ WorkbasketFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WorkbasketFilt
|
|
|
421
433
|
i0.ɵɵadvance(1);
|
|
422
434
|
i0.ɵɵproperty("ngForOf", ctx.jurisdictions);
|
|
423
435
|
i0.ɵɵadvance(3);
|
|
424
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(14,
|
|
436
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(14, 28, "Case type"));
|
|
425
437
|
i0.ɵɵadvance(2);
|
|
426
438
|
i0.ɵɵproperty("ngModel", ctx.selected.caseType)("disabled", ctx.isCaseTypesDropdownDisabled());
|
|
427
439
|
i0.ɵɵadvance(1);
|
|
@@ -429,21 +441,27 @@ WorkbasketFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WorkbasketFilt
|
|
|
429
441
|
i0.ɵɵadvance(1);
|
|
430
442
|
i0.ɵɵproperty("ngForOf", ctx.selectedJurisdictionCaseTypes);
|
|
431
443
|
i0.ɵɵadvance(3);
|
|
432
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(21,
|
|
444
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(21, 30, "State"));
|
|
433
445
|
i0.ɵɵadvance(2);
|
|
434
446
|
i0.ɵɵproperty("ngModel", ctx.selected.caseState)("disabled", ctx.isCaseStatesDropdownDisabled());
|
|
435
447
|
i0.ɵɵadvance(1);
|
|
436
448
|
i0.ɵɵproperty("ngValue", null);
|
|
449
|
+
i0.ɵɵadvance(1);
|
|
450
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(25, 32, "Any"));
|
|
437
451
|
i0.ɵɵadvance(2);
|
|
438
452
|
i0.ɵɵproperty("ngForOf", ctx.selectedCaseTypeStates);
|
|
439
453
|
i0.ɵɵadvance(1);
|
|
440
454
|
i0.ɵɵproperty("ngIf", ctx.isSearchableAndWorkbasketInputsReady());
|
|
441
455
|
i0.ɵɵadvance(1);
|
|
442
|
-
i0.ɵɵproperty("disabled", ctx.isApplyButtonDisabled());
|
|
443
|
-
i0.ɵɵ
|
|
444
|
-
i0.ɵɵ
|
|
445
|
-
i0.ɵɵ
|
|
446
|
-
i0.ɵɵ
|
|
456
|
+
i0.ɵɵproperty("disabled", ctx.isApplyButtonDisabled())("title", i0.ɵɵpipeBind1(29, 34, "Apply filter"));
|
|
457
|
+
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(30, 36, "Apply filter"));
|
|
458
|
+
i0.ɵɵadvance(3);
|
|
459
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(32, 38, "Apply"), " ");
|
|
460
|
+
i0.ɵɵadvance(3);
|
|
461
|
+
i0.ɵɵproperty("title", i0.ɵɵpipeBind1(35, 40, "Reset filter"));
|
|
462
|
+
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(36, 42, "Reset filter"));
|
|
463
|
+
i0.ɵɵadvance(3);
|
|
464
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(38, 44, "Reset"), " ");
|
|
447
465
|
} }, styles: ["div[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{font-family:nta,Arial,sans-serif;font-weight:400;text-transform:none;font-size:11pt;line-height:1.2727272727}@media (min-width:641px){div[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{font-size:12pt;line-height:1.3333333333}}.form-group[_ngcontent-%COMP%]{margin-bottom:7px}.ccd-dropdown[_ngcontent-%COMP%]{width:100%}span.heading-medium[_ngcontent-%COMP%]{margin-top:0}"] });
|
|
448
466
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkbasketFiltersComponent, [{
|
|
449
467
|
type: Component,
|
|
@@ -461,4 +479,4 @@ WorkbasketFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WorkbasketFilt
|
|
|
461
479
|
}], onReset: [{
|
|
462
480
|
type: Output
|
|
463
481
|
}] }); })();
|
|
464
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Jhc2tldC1maWx0ZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy93b3JrYmFza2V0LWZpbHRlcnMvd29ya2Jhc2tldC1maWx0ZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy93b3JrYmFza2V0LWZpbHRlcnMvd29ya2Jhc2tldC1maWx0ZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQTBCLE1BQU0saUJBQWlCLENBQUM7QUFDekUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTXRDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQzs7Ozs7Ozs7O0lDTm5HLGtDQUFxRDtJQUFBLDhCQUFjO0lBQUEsaUJBQVM7O0lBQXhDLDhCQUFnQjs7O0lBQ3BELGtDQUFzRDtJ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bkMsbURBQW1DO1FBRXBELGVBQXlCO1FBQXpCLDhDQUF5QjtRQUNaLGVBQWdCO1FBQWhCLDJDQUFnQjtRQUtLLGVBQThCO1FBQTlCLHlEQUE4QjtRQUVsRCxlQUErQjtRQUEvQiwrQ0FBK0IsK0NBQUE7UUFFN0MsZUFBeUI7UUFBekIsOENBQXlCO1FBQ1gsZUFBZ0M7UUFBaEMsMkRBQWdDO1FBS1gsZUFBMEI7UUFBMUIscURBQTBCO1FBRW5ELGVBQWdDO1FBQWhDLGdEQUFnQyxnREFBQTtRQUUzQyxlQUFnQjtRQUFoQiw4QkFBZ0I7UUFDRCxlQUF5QjtRQUF6QixvREFBeUI7UUFJZCxlQUE0QztRQUE1QyxpRUFBNEM7UUFRRSxlQUFvQztRQUFwQyxzREFBb0M7UUFBZ0QsZUFBMEI7UUFBMUIscURBQTBCO1FBQzNFLGVBQTBCO1FBQTFCLHFEQUEwQjs7dUZEakJ0SSwwQkFBMEI7Y0FMdEMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLFdBQVcsRUFBRSxxQ0FBcUM7Z0JBQ2xELFNBQVMsRUFBRSxDQUFDLHFDQUFxQyxDQUFDO2FBQ25EO2dPQVNRLGFBQWE7a0JBRG5CLEtBQUs7WUFJQyxRQUFRO2tCQURkLEtBQUs7WUFJQyxPQUFPO2tCQURiLE1BQU07WUFJQSxPQUFPO2tCQURiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ2FzZUZpZWxkIH0gZnJvbSAnLi4vLi4vZG9tYWluL2RlZmluaXRpb24vY2FzZS1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBDYXNlU3RhdGUgfSBmcm9tICcuLi8uLi9kb21haW4vZGVmaW5pdGlvbi9jYXNlLXN0YXRlLm1vZGVsJztcbmltcG9ydCB7IENhc2VUeXBlTGl0ZSB9IGZyb20gJy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2Nhc2UtdHlwZS1saXRlLm1vZGVsJztcbmltcG9ydCB7IEp1cmlzZGljdGlvbiB9IGZyb20gJy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2p1cmlzZGljdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBXb3JrYmFza2V0SW5wdXRNb2RlbCB9IGZyb20gJy4uLy4uL2RvbWFpbi93b3JrYmFza2V0L3dvcmtiYXNrZXQtaW5wdXQubW9kZWwnO1xuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYWxlcnQvYWxlcnQuc2VydmljZSc7XG5pbXBvcnQgeyBGaWVsZHNVdGlscyB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ZpZWxkcy9maWVsZHMudXRpbHMnO1xuaW1wb3J0IHsgSnVyaXNkaWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2p1cmlzZGljdGlvbi9qdXJpc2RpY3Rpb24uc2VydmljZSc7XG5pbXBvcnQgeyBPcmRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9vcmRlci9vcmRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFdpbmRvd1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93aW5kb3cvd2luZG93LnNlcnZpY2UnO1xuaW1wb3J0IHsgV29ya2Jhc2tldElucHV0RmlsdGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3dvcmtiYXNrZXQvd29ya2Jhc2tldC1pbnB1dC1maWx0ZXIuc2VydmljZSc7XG5cbmNvbnN0IEZPUk1fR1JPVVBfVkFMX0xPQ19TVE9SQUdFID0gJ3dvcmtiYXNrZXQtZmlsdGVyLWZvcm0tZ3JvdXAtdmFsdWUnO1xuY29uc3QgU0FWRURfUVVFUllfUEFSQU1fTE9DX1NUT1JBR0UgPSAnc2F2ZWRRdWVyeVBhcmFtcyc7XG5jb25zdCBSRUdJT05fTElTVF9BTkRfRlJDX0ZJTFRFUiA9ICdyZWdpb25MaXN0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXdvcmtiYXNrZXQtZmlsdGVycycsXG4gIHRlbXBsYXRlVXJsOiAnLi93b3JrYmFza2V0LWZpbHRlcnMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi93b3JrYmFza2V0LWZpbHRlcnMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBXb3JrYmFza2V0RmlsdGVyc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQQVJBTV9KVVJJU0RJQ1RJT04gPSAnanVyaXNkaWN0aW9uJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQQVJBTV9DQVNFX1RZUEUgPSAnY2FzZS10eXBlJztcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQQVJBTV9DQVNFX1NUQVRFID0gJ2Nhc2Utc3RhdGUnO1xuICBwdWJsaWMgY2FzZUZpZWxkczogQ2FzZUZpZWxkW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIGp1cmlzZGljdGlvbnM6IEp1cmlzZGljdGlvbltdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkZWZhdWx0cztcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9uQXBwbHk6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgb25SZXNldDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIHdvcmtiYXNrZXRJbnB1dHM6IFdvcmtiYXNrZXRJbnB1dE1vZGVsW107XG4gIHB1YmxpYyB3b3JrYmFza2V0SW5wdXRzUmVhZHk6IGJvb2xlYW47XG5cbiAgcHVibGljIHdvcmtiYXNrZXREZWZhdWx0czogYm9vbGVhbjtcblxuICBwdWJsaWMgc2VsZWN0ZWQ6IHtcbiAgICBpbml0PzogYm9vbGVhbixcbiAgICBqdXJpc2RpY3Rpb24/OiBKdXJpc2RpY3Rpb24sXG4gICAgY2FzZVR5cGU/OiBDYXNlVHlwZUxpdGUsXG4gICAgY2FzZVN0YXRlPzogQ2FzZVN0YXRlLFxuICAgIGZvcm1Hcm91cD86IEZvcm1Hcm91cCxcbiAgICBwYWdlPzogbnVtYmVyLFxuICAgIG1ldGFkYXRhRmllbGRzPzogc3RyaW5nW11cbiAgfTtcblxuICBwdWJsaWMgZm9ybUdyb3VwOiBGb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcblxuICBwdWJsaWMgc2VsZWN0ZWRKdXJpc2RpY3Rpb25DYXNlVHlwZXM/OiBDYXNlVHlwZUxpdGVbXTtcbiAgcHVibGljIHNlbGVjdGVkQ2FzZVR5cGVTdGF0ZXM/OiBDYXNlU3RhdGVbXTtcblxuICBwdWJsaWMgaW5pdGlhbGlzZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdvcmtiYXNrZXRJbnB1dEZpbHRlclNlcnZpY2U6IFdvcmtiYXNrZXRJbnB1dEZpbHRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcmRlclNlcnZpY2U6IE9yZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGp1cmlzZGljdGlvblNlcnZpY2U6IEp1cmlzZGljdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpbmRvd1NlcnZpY2U6IFdpbmRvd1NlcnZpY2UpIHtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkID0ge307XG4gICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcbiAgICAgIGlmICghdGhpcy5pbml0aWFsaXNlZCB8fCAhcGFyYW1zIHx8ICFPYmplY3Qua2V5cyhwYXJhbXMpLmxlbmd0aCkge1xuICAgICAgICB0aGlzLmluaXRGaWx0ZXJzKGZhbHNlKTtcbiAgICAgICAgdGhpcy5pbml0aWFsaXNlZCA9IHRydWU7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYXBwbHkoaW5pdCk6IHZvaWQge1xuICAgIC8vIFNhdmUgZmlsdGVycyBhcyBxdWVyeSBwYXJhbWV0ZXJzIGZvciBjdXJyZW50IHJvdXRlXG4gICAgY29uc3QgcXVlcnlQYXJhbXMgPSB7fTtcbiAgICBpZiAodGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24pIHtcbiAgICAgIHF1ZXJ5UGFyYW1zW1dvcmtiYXNrZXRGaWx0ZXJzQ29tcG9uZW50LlBBUkFNX0pVUklTRElDVElPTl0gPSB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbi5pZDtcbiAgICB9XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUpIHtcbiAgICAgIHF1ZXJ5UGFyYW1zW1dvcmtiYXNrZXRGaWx0ZXJzQ29tcG9uZW50LlBBUkFNX0NBU0VfVFlQRV0gPSB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlLmlkO1xuICAgIH1cbiAgICBpZiAodGhpcy5zZWxlY3RlZC5jYXNlU3RhdGUpIHtcbiAgICAgIHF1ZXJ5UGFyYW1zW1dvcmtiYXNrZXRGaWx0ZXJzQ29tcG9uZW50LlBBUkFNX0NBU0VfU1RBVEVdID0gdGhpcy5zZWxlY3RlZC5jYXNlU3RhdGUuaWQ7XG4gICAgfVxuICAgIC8vIHdpdGhvdXQgZXhwbGljaXRseSBwcmVzZXJ2aW5nIGFsZXJ0cyBhbnkgbWVzc2FnZSBvbiB0aGUgcGFnZVxuICAgIC8vIHdvdWxkIGJlIGNsZWFyZWQgb3V0IGJlY2F1c2Ugb2YgdGhpcyBpbml0aWFsIG5hdmlnYXRpb24uXG4gICAgLy8gVGhlIGFib3ZlIGlzIG9ubHkgdHJ1ZSBpZiBubyBhbGVydHMgd2VyZSBzZXQgcHJpb3IgdG8gbG9hZGluZyBjYXNlIGxpc3QgcGFnZS5cbiAgICBpZiAoIXRoaXMuYWxlcnRTZXJ2aWNlLmlzUHJlc2VydmVBbGVydHMoKSkge1xuICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2V0UHJlc2VydmVBbGVydHMoIXRoaXMuaW5pdGlhbGlzZWQpO1xuICAgIH1cbiAgICBpZiAoT2JqZWN0LmtleXModGhpcy5mb3JtR3JvdXAuY29udHJvbHMpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5zZWxlY3RlZC5mb3JtR3JvdXAgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKEZPUk1fR1JPVVBfVkFMX0xPQ19TVE9SQUdFKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFVwZGF0ZSBmb3JtIGdyb3VwIGZpbHRlcnNcbiAgICAgIHRoaXMudXBkYXRlRm9ybUdyb3VwRmlsdGVycygpO1xuXG4gICAgICB0aGlzLnNlbGVjdGVkLmZvcm1Hcm91cCA9IHRoaXMuZm9ybUdyb3VwO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkLmluaXQgPSBpbml0O1xuICAgIHRoaXMuc2VsZWN0ZWQucGFnZSA9IDE7XG4gICAgdGhpcy5zZWxlY3RlZC5tZXRhZGF0YUZpZWxkcyA9IHRoaXMuZ2V0TWV0YWRhdGFGaWVsZHMoKTtcbiAgICBpZiAoaW5pdCkge1xuICAgICAgdGhpcy53aW5kb3dTZXJ2aWNlLnNldExvY2FsU3RvcmFnZShTQVZFRF9RVUVSWV9QQVJBTV9MT0NfU1RPUkFHRSwgSlNPTi5zdHJpbmdpZnkocXVlcnlQYXJhbXMpKTtcbiAgICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLmZvcm1Hcm91cC5jb250cm9scykubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLndpbmRvd1NlcnZpY2Uuc2V0TG9jYWxTdG9yYWdlKEZPUk1fR1JPVVBfVkFMX0xPQ19TVE9SQUdFLCBKU09OLnN0cmluZ2lmeSh0aGlzLmZvcm1Hcm91cC52YWx1ZSkpO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBBcHBseSBmaWx0ZXJzXG4gICAgdGhpcy5vbkFwcGx5LmVtaXQoe3NlbGVjdGVkOiB0aGlzLnNlbGVjdGVkLCBxdWVyeVBhcmFtc30pO1xuICAgIHRoaXMuc2V0Rm9jdXNUb1RvcCgpO1xuICB9XG5cbiAgcHVibGljIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMud2luZG93U2VydmljZS5yZW1vdmVMb2NhbFN0b3JhZ2UoRk9STV9HUk9VUF9WQUxfTE9DX1NUT1JBR0UpO1xuICAgIHRoaXMud2luZG93U2VydmljZS5yZW1vdmVMb2NhbFN0b3JhZ2UoU0FWRURfUVVFUllfUEFSQU1fTE9DX1NUT1JBR0UpO1xuICAgIHNldFRpbWVvdXQgKCgpID0+IHtcbiAgICAgIHRoaXMucmVzZXRGaWVsZHNXaGVuTm9EZWZhdWx0cygpO1xuICAgICAgdGhpcy5vblJlc2V0LmVtaXQodHJ1ZSk7XG4gICAgfSwgNTAwKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRNZXRhZGF0YUZpZWxkcygpOiBzdHJpbmdbXSB7XG4gICAgaWYgKHRoaXMud29ya2Jhc2tldElucHV0cykge1xuICAgICAgcmV0dXJuIHRoaXMud29ya2Jhc2tldElucHV0c1xuICAgICAgICAuZmlsdGVyKHdvcmtiYXNrZXRJbnB1dCA9PiB3b3JrYmFza2V0SW5wdXQuZmllbGQubWV0YWRhdGEgPT09IHRydWUpXG4gICAgICAgIC5tYXAod29ya2Jhc2tldElucHV0ID0+IHdvcmtiYXNrZXRJbnB1dC5maWVsZC5pZCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uSnVyaXNkaWN0aW9uSWRDaGFuZ2UoKSB7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uKSB7XG4gICAgICB0aGlzLmp1cmlzZGljdGlvblNlcnZpY2UuYW5ub3VuY2VTZWxlY3RlZEp1cmlzZGljdGlvbih0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbik7XG4gICAgICB0aGlzLnNlbGVjdGVkSnVyaXNkaWN0aW9uQ2FzZVR5cGVzID0gdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24uY2FzZVR5cGVzLmxlbmd0aCA+IDAgPyB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbi5jYXNlVHlwZXMgOiBudWxsO1xuICAgICAgLy8gTGluZSB3YXMgdG9vIGxvbmcgZm9yIGxpbnRpbmcgc28gcmVmYWN0b3JlZCBpdC5cbiAgICAgIGlmICh0aGlzLndvcmtiYXNrZXREZWZhdWx0cyAmJiB0aGlzLnNlbGVjdGVkSnVyaXNkaWN0aW9uQ2FzZVR5cGVzKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgPSB0aGlzLnNlbGVjdGVkSnVyaXNkaWN0aW9uQ2FzZVR5cGVzWzBdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZC5jYXNlVHlwZSA9IG51bGw7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVN0YXRlID0gbnVsbDtcbiAgICAgIHRoaXMuY2xlYXJXb3JrYmFza2V0SW5wdXRzKCk7XG5cbiAgICAgIGlmICghdGhpcy5pc0FwcGx5QnV0dG9uRGlzYWJsZWQoKSkge1xuICAgICAgICB0aGlzLm9uQ2FzZVR5cGVJZENoYW5nZSgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlc2V0Q2FzZVR5cGUoKTtcbiAgICAgIHRoaXMucmVzZXRDYXNlU3RhdGUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25DYXNlVHlwZUlkQ2hhbmdlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkLmNhc2VUeXBlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkQ2FzZVR5cGVTdGF0ZXMgPSB0aGlzLnNvcnRTdGF0ZXModGhpcy5zZWxlY3RlZC5jYXNlVHlwZS5zdGF0ZXMpO1xuICAgICAgdGhpcy5zZWxlY3RlZC5jYXNlU3RhdGUgPSBudWxsO1xuICAgICAgdGhpcy5mb3JtR3JvdXAgPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgICAgIHRoaXMuY2xlYXJXb3JrYmFza2V0SW5wdXRzKCk7XG4gICAgICBpZiAoIXRoaXMuaXNBcHBseUJ1dHRvbkRpc2FibGVkKCkpIHtcbiAgICAgICAgdGhpcy53b3JrYmFza2V0SW5wdXRGaWx0ZXJTZXJ2aWNlLmdldFdvcmtiYXNrZXRJbnB1dHModGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24uaWQsIHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUuaWQpLnBpcGUoXG4gICAgICAgICAgdGFrZSgxKVxuICAgICAgICApLnN1YnNjcmliZSh3b3JrYmFza2V0SW5wdXRzID0+IHtcbiAgICAgICAgICAgIHRoaXMud29ya2Jhc2tldElucHV0c1JlYWR5ID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMud29ya2Jhc2tldElucHV0cyA9IHdvcmtiYXNrZXRJbnB1dHNcbiAgICAgICAgICAgICAgLnNvcnQodGhpcy5vcmRlclNlcnZpY2Uuc29ydEFzYyk7XG4gICAgICAgICAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLndpbmRvd1NlcnZpY2UuZ2V0TG9jYWxTdG9yYWdlKEZPUk1fR1JPVVBfVkFMX0xPQ19TVE9SQUdFKTtcblxuICAgICAgICAgICAgd29ya2Jhc2tldElucHV0cy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgICBpZiAoaXRlbS5maWVsZC5lbGVtZW50UGF0aCkge1xuICAgICAgICAgICAgICAgIGl0ZW0uZmllbGQuaWQgPSBpdGVtLmZpZWxkLmlkICsgJy4nICsgaXRlbS5maWVsZC5lbGVtZW50UGF0aDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpdGVtLmZpZWxkLmxhYmVsID0gaXRlbS5sYWJlbDtcbiAgICAgICAgICAgICAgaWYgKGZvcm1WYWx1ZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNlYXJjaEZvcm1WYWx1ZU9iamVjdCA9IEpTT04ucGFyc2UoZm9ybVZhbHVlKTtcbiAgICAgICAgICAgICAgICBpdGVtLmZpZWxkLnZhbHVlID0gc2VhcmNoRm9ybVZhbHVlT2JqZWN0W2l0ZW0uZmllbGQuaWRdO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuZ2V0Q2FzZUZpZWxkcygpO1xuICAgICAgICAgIH0sIGVycm9yID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdXb3JrYmFza2V0IGlucHV0IGZpZWxkcyByZXF1ZXN0IHdpbGwgYmUgZGlzY2FyZGVkIHJlYXNvbjogJywgZXJyb3IubWVzc2FnZSk7XG4gICAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVzZXRDYXNlU3RhdGUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgaXNDYXNlVHlwZXNEcm9wZG93bkRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5zZWxlY3RlZEp1cmlzZGljdGlvbkNhc2VUeXBlcztcbiAgfVxuXG4gIHB1YmxpYyBpc0Nhc2VTdGF0ZXNEcm9wZG93bkRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5zZWxlY3RlZC5jYXNlVHlwZSB8fCAhKHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUuc3RhdGVzICYmIHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUuc3RhdGVzLmxlbmd0aCA+IDApO1xuICB9XG5cbiAgcHVibGljIGlzQXBwbHlCdXR0b25EaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISh0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiAmJiB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1NlYXJjaGFibGVBbmRXb3JrYmFza2V0SW5wdXRzUmVhZHkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uICYmIHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgJiYgdGhpcy53b3JrYmFza2V0SW5wdXRzUmVhZHk7XG4gIH1cblxuICAvKipcbiAgICogVGhpcyBtZXRob2QgaXMgdXNlZCB0byBjbGVhciB0aGUgcHJldmlvdXNseSB1c2VkXG4gICAqIGZvcm0gZ3JvdXAgY29udHJvbCBmaWx0ZXIgdmFsdWVzIHRvIG1ha2Ugc3VyZSBvbmx5IHRoZVxuICAgKiBjdXJyZW50bHkgc2VsZWN0ZWQgZm9ybSBncm91cCBjb250cm9sIGZpbHRlciB2YWx1ZXMgYXJlIHByZXNlbnQuXG4gICAqXG4gICAqIEhhcyBiZWVuIGltcGxlbWVudGVkIGZvciAnUmVnaW9uIGFuZCBGUkMgZmlsdGVycycgYW5kIGNhbiBiZSBleHRlbmRlZFxuICAgKiBpbiBmdXR1cmUgdG8gaW5jb3Jwb3JhdGUgb3RoZXIgZHluYW1pYyBmaWx0ZXJzLlxuICAgKi9cbiAgIHB1YmxpYyB1cGRhdGVGb3JtR3JvdXBGaWx0ZXJzKCk6IHZvaWQge1xuICAgIC8vIFJlYWQgdGhlIGZvcm0gZ3JvdXAgbG9jYWwgc3RvcmFnZVxuICAgIGNvbnN0IGZvcm1Hcm91cExTID0gSlNPTi5wYXJzZSh0aGlzLndpbmRvd1NlcnZpY2UuZ2V0TG9jYWxTdG9yYWdlKEZPUk1fR1JPVVBfVkFMX0xPQ19TVE9SQUdFKSk7XG5cbiAgICAvLyBGb3JtIGdyb3VwIGxvY2FsIHN0b3JhZ2UgaXMgYXZhaWxhYmxlIGFuZCBjb250YWlucyByZWdpb25MaXN0IHByb3BlcnR5XG4gICAgaWYgKCEhZm9ybUdyb3VwTFMgJiYgZm9ybUdyb3VwTFMuaGFzT3duUHJvcGVydHkoUkVHSU9OX0xJU1RfQU5EX0ZSQ19GSUxURVIpKSB7XG4gICAgICBpZiAodGhpcy5mb3JtR3JvdXAuZ2V0KFJFR0lPTl9MSVNUX0FORF9GUkNfRklMVEVSKSkge1xuICAgICAgICAvLyBJZiByZWdpb25MaXN0IHZhbHVlIGRvZXMgbm90IG1hdGNoIGJldHdlZW4gbG9jYWwgc3RvcmFnZSBhbmQgZm9ybSBncm91cFxuICAgICAgICAvLyB0aGVuIHRoZSBmaWx0ZXIgdmFsdWUgaGFzIGJlZW4gY2hhbmdlZCBhbmQgd2UgbmVlZCB0byBjbGVhciB0aGUgb2xkIGZpbHRlciB2YWx1ZXNcbiAgICAgICAgaWYgKGZvcm1Hcm91cExTW1JFR0lPTl9MSVNUX0FORF9GUkNfRklMVEVSXSAhPT0gdGhpcy5mb3JtR3JvdXAuZ2V0KFJFR0lPTl9MSVNUX0FORF9GUkNfRklMVEVSKS52YWx1ZSkge1xuICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIGZvcm1Hcm91cExTKSB7XG4gICAgICAgICAgICBpZiAoZm9ybUdyb3VwTFMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGZvcm1Hcm91cExTW2tleV07XG4gICAgICAgICAgICAgIC8vIENsZWFyIHRoZSBmaWx0ZXIgZm9ybSBncm91cCBjb250cm9sIHZhbHVlcyBpZiBpdCBoYXMgYSB2YWx1ZSBpbiBsb2NhbCBzdG9yYWdlXG4gICAgICAgICAgICAgIC8vIFRoZSByZWdpb25MaXN0IGZvcm0gZ3JvdXAgY29udHJvbCB2YWx1ZSBzaG91bGQgYmUgaWdub3JlZCBhcyBpdCBhbHdheXMgY29udGFpbiB0aGUgbGF0ZXN0IHZhbHVlXG4gICAgICAgICAgICAgIGlmIChrZXkgIT09IFJFR0lPTl9MSVNUX0FORF9GUkNfRklMVEVSICYmIHZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQoa2V5KS5zZXRWYWx1ZShudWxsKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc29ydFN0YXRlcyhzdGF0ZXM6IENhc2VTdGF0ZVtdKSB7XG4gICAgcmV0dXJuIHN0YXRlcy5zb3J0KHRoaXMub3JkZXJTZXJ2aWNlLnNvcnRBc2MpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyeSB0byBpbml0aWFsaXNlIGZpbHRlcnMgYmFzZWQgb24gcXVlcnkgcGFyYW1ldGVycyBvciB3b3JrYmFza2V0IGRlZmF1bHRzLlxuICAgKiBRdWVyeSBwYXJhbWV0ZXJzLCB3aGVuIGF2YWlsYWJsZSwgdGFrZSBwcmVjZWRlbmNlIG92ZXIgd29ya2Jhc2tldCBkZWZhdWx0cy5cbiAgICovXG4gIHByaXZhdGUgaW5pdEZpbHRlcnMoaW5pdDogYm9vbGVhbikge1xuICAgIGNvbnN0IHNhdmVkUXVlcnlQYXJhbXMgPSB0aGlzLndpbmRvd1NlcnZpY2UuZ2V0TG9jYWxTdG9yYWdlKFNBVkVEX1FVRVJZX1BBUkFNX0xPQ19TVE9SQUdFKTtcbiAgICBjb25zdCByb3V0ZVNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90ID0gdGhpcy5yb3V0ZS5zbmFwc2hvdDtcbiAgICBpZiAoc2F2ZWRRdWVyeVBhcmFtcykge1xuICAgICAgcm91dGVTbmFwc2hvdC5xdWVyeVBhcmFtcyA9IEpTT04ucGFyc2Uoc2F2ZWRRdWVyeVBhcmFtcyk7XG4gICAgfVxuICAgIGNvbnN0IHNlbGVjdGVkSnVyaXNkaWN0aW9uSWQgPSByb3V0ZVNuYXBzaG90LnF1ZXJ5UGFyYW1zW1dvcmtiYXNrZXRGaWx0ZXJzQ29tcG9uZW50LlBBUkFNX0pVUklTRElDVElPTl0gfHxcbiAgICAgICh0aGlzLmRlZmF1bHRzICYmIHRoaXMuZGVmYXVsdHMuanVyaXNkaWN0aW9uX2lkKTtcbiAgICBpZiAoc2VsZWN0ZWRKdXJpc2RpY3Rpb25JZCkge1xuICAgICAgdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24gPSB0aGlzLmp1cmlzZGljdGlvbnMuZmluZChqID0+IHNlbGVjdGVkSnVyaXNkaWN0aW9uSWQgPT09IGouaWQpO1xuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uICYmIHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uLmNhc2VUeXBlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRKdXJpc2RpY3Rpb25DYXNlVHlwZXMgPSB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbi5jYXNlVHlwZXM7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgPSB0aGlzLnNlbGVjdENhc2VUeXBlKHRoaXMuc2VsZWN0ZWQsIHRoaXMuc2VsZWN0ZWRKdXJpc2RpY3Rpb25DYXNlVHlwZXMsIHJvdXRlU25hcHNob3QpO1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZC5jYXNlVHlwZSkge1xuICAgICAgICAgIHRoaXMub25DYXNlVHlwZUlkQ2hhbmdlKCk7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZC5jYXNlU3RhdGUgPSB0aGlzLnNlbGVjdENhc2VTdGF0ZSh0aGlzLnNlbGVjdGVkLmNhc2VUeXBlLCByb3V0ZVNuYXBzaG90KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLndvcmtiYXNrZXREZWZhdWx0cyA9IHRydWU7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uID0gbnVsbDtcbiAgICB9XG4gICAgdGhpcy5hcHBseShpbml0KTtcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0Q2FzZVN0YXRlKGNhc2VUeXBlOiBDYXNlVHlwZUxpdGUsIHJvdXRlU25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBDYXNlU3RhdGUge1xuICAgIGxldCBjYXNlU3RhdGU7XG4gICAgaWYgKGNhc2VUeXBlKSB7XG4gICAgICBjb25zdCBzZWxlY3RlZENhc2VTdGF0ZUlkID0gdGhpcy5zZWxlY3RDYXNlU3RhdGVJZEZyb21RdWVyeU9yRGVmYXVsdHMocm91dGVTbmFwc2hvdCwgKHRoaXMuZGVmYXVsdHMgJiYgdGhpcy5kZWZhdWx0cy5zdGF0ZV9pZCkpO1xuICAgICAgY2FzZVN0YXRlID0gY2FzZVR5cGUuc3RhdGVzLmZpbmQoY3QgPT4gc2VsZWN0ZWRDYXNlU3RhdGVJZCA9PT0gY3QuaWQpO1xuICAgIH1cbiAgICByZXR1cm4gY2FzZVN0YXRlID8gY2FzZVN0YXRlIDogbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0Q2FzZVN0YXRlSWRGcm9tUXVlcnlPckRlZmF1bHRzKHJvdXRlU25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGRlZmF1bHRDYXNlU3RhdGVJZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcm91dGVTbmFwc2hvdC5xdWVyeVBhcmFtc1tXb3JrYmFza2V0RmlsdGVyc0NvbXBvbmVudC5QQVJBTV9DQVNFX1NUQVRFXSB8fCBkZWZhdWx0Q2FzZVN0YXRlSWQ7XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdENhc2VUeXBlKHNlbGVjdGVkOiBhbnksIGNhc2VUeXBlczogQ2FzZVR5cGVMaXRlW10sIHJvdXRlU25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QpOiBDYXNlVHlwZUxpdGUge1xuICAgIGxldCBjYXNlVHlwZTtcbiAgICBpZiAoc2VsZWN0ZWQuanVyaXNkaWN0aW9uKSB7XG4gICAgICBjb25zdCBzZWxlY3RlZENhc2VUeXBlSWQgPSB0aGlzLnNlbGVjdENhc2VUeXBlSWRGcm9tUXVlcnlPckRlZmF1bHRzKHJvdXRlU25hcHNob3QsICh0aGlzLmRlZmF1bHRzICYmIHRoaXMuZGVmYXVsdHMuY2FzZV90eXBlX2lkKSk7XG4gICAgICBjYXNlVHlwZSA9IGNhc2VUeXBlcy5maW5kKGN0ID0+IHNlbGVjdGVkQ2FzZVR5cGVJZCA9PT0gY3QuaWQpO1xuICAgIH1cbiAgICByZXR1cm4gY2FzZVR5cGUgPyBjYXNlVHlwZSA6IGNhc2VUeXBlc1swXTtcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0Q2FzZVR5cGVJZEZyb21RdWVyeU9yRGVmYXVsdHMocm91dGVTbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgZGVmYXVsdENhc2VUeXBlSWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHJvdXRlU25hcHNob3QucXVlcnlQYXJhbXNbV29ya2Jhc2tldEZpbHRlcnNDb21wb25lbnQuUEFSQU1fQ0FTRV9UWVBFXSB8fCBkZWZhdWx0Q2FzZVR5cGVJZDtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRGaWVsZHNXaGVuTm9EZWZhdWx0cygpIHtcbiAgICB0aGlzLnJlc2V0Q2FzZVN0YXRlKCk7XG4gICAgdGhpcy5yZXNldENhc2VUeXBlKCk7XG4gICAgdGhpcy5jbGVhcldvcmtiYXNrZXRJbnB1dHMoKTtcbiAgICB0aGlzLndvcmtiYXNrZXREZWZhdWx0cyA9IGZhbHNlO1xuICAgIHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uID0gbnVsbDtcbiAgICB0aGlzLmluaXRpYWxpc2VkID0gZmFsc2U7XG4gICAgdGhpcy5pbml0RmlsdGVycyh0cnVlKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xlYXJXb3JrYmFza2V0SW5wdXRzKCkge1xuICAgIHRoaXMud29ya2Jhc2tldElucHV0c1JlYWR5ID0gZmFsc2U7XG4gICAgdGhpcy53b3JrYmFza2V0SW5wdXRzID0gW107XG4gIH1cblxuICBwcml2YXRlIHJlc2V0Q2FzZVN0YXRlKCkge1xuICAgIHRoaXMuZGVmYXVsdHMuc3RhdGVfaWQgPSBudWxsO1xuICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVN0YXRlID0gbnVsbDtcbiAgICB0aGlzLnNlbGVjdGVkQ2FzZVR5cGVTdGF0ZXMgPSBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldENhc2VUeXBlKCkge1xuICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgPSB1bmRlZmluZWQ7IC8vIG9wdGlvbiBzaG91bGQgYmUgYmxhbmsgcmF0aGVyIHRoYW4gXCJTZWxlY3QgYSB2YWx1ZVwiIGluIGNhc2Ugb2YgcmVzZXQuXG4gICAgdGhpcy5zZWxlY3RlZEp1cmlzZGljdGlvbkNhc2VUeXBlcyA9IG51bGw7XG4gIH1cblxuICBwcml2YXRlIHNldEZvY3VzVG9Ub3AoKSB7XG4gICAgd2luZG93LnNjcm9sbFRvKDAsIDApO1xuXG4gICAgY29uc3QgdG9wQ29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3NlYXJjaC1yZXN1bHQtaGVhZGluZ19fdGV4dCcpO1xuICAgIGlmICh0b3BDb250YWluZXIpIHtcbiAgICAgIHRvcENvbnRhaW5lci5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2FzZUZpZWxkcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy53b3JrYmFza2V0SW5wdXRzKSB7XG4gICAgICB0aGlzLmNhc2VGaWVsZHMgPSB0aGlzLndvcmtiYXNrZXRJbnB1dHMubWFwKGl0ZW0gPT4gRmllbGRzVXRpbHMuY29udmVydFRvQ2FzZUZpZWxkKGl0ZW0uZmllbGQpKTtcbiAgICB9XG4gIH1cbn1cbiIsIlxuPGgyIGNsYXNzPVwiaGVhZGluZy1oMlwiIGFyaWEtbGFiZWw9XCJGaWx0ZXJzXCI+e3snRmlsdGVycycgfCBycHhUcmFuc2xhdGUgfX08L2gyPlxuPGZvcm0gY2xhc3M9XCJnbG9iYWwtZGlzcGxheVwiPlxuICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJ3Yi1qdXJpc2RpY3Rpb25cIj57eydKdXJpc2RpY3Rpb24nIHwgcnB4VHJhbnNsYXRlfX08L2xhYmVsPlxuICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLTMtNCBjY2QtZHJvcGRvd25cIiBpZD1cIndiLWp1cmlzZGljdGlvblwiXG4gICAgICAgICAgICBuYW1lPVwianVyaXNkaWN0aW9uXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZC5qdXJpc2RpY3Rpb25cIiBhcmlhLWNvbnRyb2xzPVwic2VhcmNoLXJlc3VsdFwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cIm9uSnVyaXNkaWN0aW9uSWRDaGFuZ2UoKVwiPlxuICAgICAgPG9wdGlvbiAqbmdJZj1cIiF3b3JrYmFza2V0RGVmYXVsdHNcIiBbbmdWYWx1ZV09XCJudWxsXCI+U2VsZWN0IGEgdmFsdWU8L29wdGlvbj5cbiAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGogb2YganVyaXNkaWN0aW9uc1wiIFtuZ1ZhbHVlXT1cImpcIj57e2oubmFtZX19PC9vcHRpb24+XG4gICAgPC9zZWxlY3Q+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIGZvcj1cIndiLWNhc2UtdHlwZVwiPnt7J0Nhc2UgdHlwZScgfCBycHhUcmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgPHNlbGVjdCBjbGFzcz1cImZvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtMy00IGNjZC1kcm9wZG93blwiIGlkPVwid2ItY2FzZS10eXBlXCJcbiAgICAgICAgICAgIG5hbWU9XCJjYXNlLXR5cGVcIiBbKG5nTW9kZWwpXT1cInNlbGVjdGVkLmNhc2VUeXBlXCIgW2Rpc2FibGVkXT1cImlzQ2FzZVR5cGVzRHJvcGRvd25EaXNhYmxlZCgpXCJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwib25DYXNlVHlwZUlkQ2hhbmdlKClcIiBhcmlhLWNvbnRyb2xzPVwic2VhcmNoLXJlc3VsdFwiPlxuICAgICAgPG9wdGlvbiAqbmdJZj1cIiF3b3JrYmFza2V0RGVmYXVsdHNcIiBbbmdWYWx1ZV09XCJudWxsXCI+U2VsZWN0IGEgdmFsdWU8L29wdGlvbj5cbiAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGN0IG9mIHNlbGVjdGVkSnVyaXNkaWN0aW9uQ2FzZVR5cGVzXCIgW25nVmFsdWVdPVwiY3RcIj57e2N0Lm5hbWUgfCBycHhUcmFuc2xhdGV9fTwvb3B0aW9uPlxuICAgIDwvc2VsZWN0PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJ3Yi1jYXNlLXN0YXRlXCI+e3snU3RhdGUnIHwgcnB4VHJhbnNsYXRlfX08L2xhYmVsPlxuICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLTMtNCBjY2QtZHJvcGRvd25cIiBpZD1cIndiLWNhc2Utc3RhdGVcIlxuICAgICAgICAgICAgbmFtZT1cInN0YXRlXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZC5jYXNlU3RhdGVcIiBbZGlzYWJsZWRdPVwiaXNDYXNlU3RhdGVzRHJvcGRvd25EaXNhYmxlZCgpXCJcbiAgICAgICAgICAgIGFyaWEtY29udHJvbHM9XCJzZWFyY2gtcmVzdWx0XCI+XG4gICAgICA8b3B0aW9uIFtuZ1ZhbHVlXT1cIm51bGxcIj5Bbnk8L29wdGlvbj5cbiAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IGNzIG9mIHNlbGVjdGVkQ2FzZVR5cGVTdGF0ZXNcIiBbbmdWYWx1ZV09XCJjc1wiPnt7Y3MubmFtZSB8IHJweFRyYW5zbGF0ZX19PC9vcHRpb24+XG4gICAgPC9zZWxlY3Q+XG4gIDwvZGl2PlxuXG4gIDxuZy1jb250YWluZXIgY2NkQ29uZGl0aW9uYWxTaG93Rm9ybSAqbmdJZj1cImlzU2VhcmNoYWJsZUFuZFdvcmtiYXNrZXRJbnB1dHNSZWFkeSgpXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIiBbY29udGV4dEZpZWxkc109XCJjYXNlRmllbGRzXCI+XG4gICAgPGRpdiBpZD1cImR5bmFtaWNGaWx0ZXJzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiICpuZ0Zvcj1cImxldCB3b3JrYmFza2V0SW5wdXQgb2Ygd29ya2Jhc2tldElucHV0c1wiPlxuICAgICAgICA8Y2NkLWZpZWxkLXdyaXRlIFtjYXNlRmllbGRdPVwid29ya2Jhc2tldElucHV0LmZpZWxkXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIiBbaXNFeHBhbmRlZF09XCJ0cnVlXCIgW2lzSW5TZWFyY2hCbG9ja109XCJ0cnVlXCIgKGtleXVwLmVudGVyKT1cImFwcGx5KG51bGwpXCI+PC9jY2QtZmllbGQtd3JpdGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidXR0b24gd29ya2Jhc2tldC1maWx0ZXJzLWFwcGx5XCIgKGNsaWNrKT1cImFwcGx5KHRydWUpXCIgW2Rpc2FibGVkXT1cImlzQXBwbHlCdXR0b25EaXNhYmxlZCgpXCIgdGl0bGU9XCJBcHBseSBmaWx0ZXJcIiBhcmlhLWxhYmVsPVwiQXBwbHkgZmlsdGVyXCI+e3snQXBwbHknIHwgcnB4VHJhbnNsYXRlfX08L2J1dHRvbj4gJm5ic3A7Jm5ic3A7Jm5ic3A7XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJyZXNldCgpXCIgY2xhc3M9XCJidXR0b24gYnV0dG9uLXNlY29uZGFyeVwiIHRpdGxlPVwiUmVzZXQgZmlsdGVyXCIgYXJpYS1sYWJlbD1cIlJlc2V0IGZpbHRlclwiPnt7J1Jlc2V0JyB8IHJweFRyYW5zbGF0ZX19PC9idXR0b24+XG48L2Zvcm0+XG4iXX0=
|
|
482
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Jhc2tldC1maWx0ZXJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy93b3JrYmFza2V0LWZpbHRlcnMvd29ya2Jhc2tldC1maWx0ZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy93b3JrYmFza2V0LWZpbHRlcnMvd29ya2Jhc2tldC1maWx0ZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQTBCLE1BQU0saUJBQWlCLENBQUM7QUFDekUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTXRDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDakUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdkYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQzs7Ozs7Ozs7O0lDTm5HLGtDQUFxRDtJQUFBLFlBQW1DOztJQUFBLGlCQUFTOztJQUE3RCw4QkFBZ0I7SUFBQyxlQUFtQztJQUFu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QTZCO1FBQTdCLHNEQUE2QjtRQUlyQixlQUFpQztRQUFqQywyREFBaUM7UUFFckQsZUFBbUM7UUFBbkMsbURBQW1DO1FBRXBELGVBQXlCO1FBQXpCLDhDQUF5QjtRQUNaLGVBQWdCO1FBQWhCLDJDQUFnQjtRQUtLLGVBQThCO1FBQTlCLHlEQUE4QjtRQUVsRCxlQUErQjtRQUEvQiwrQ0FBK0IsK0NBQUE7UUFFN0MsZUFBeUI7UUFBekIsOENBQXlCO1FBQ1gsZUFBZ0M7UUFBaEMsMkRBQWdDO1FBS1gsZUFBMEI7UUFBMUIscURBQTBCO1FBRW5ELGVBQWdDO1FBQWhDLGdEQUFnQyxnREFBQTtRQUUzQyxlQUFnQjtRQUFoQiw4QkFBZ0I7UUFBQyxlQUF3QjtRQUF4QixtREFBd0I7UUFDMUIsZUFBeUI7UUFBekIsb0RBQXlCO1FBSWQsZUFBNEM7UUFBNUMsaUVBQTRDO1FBU0UsZUFBb0M7UUFBcEMsc0RBQW9DLGlEQUFBO1FBQ3hFLG9FQUFpRDtRQUMvRixlQUNGO1FBREUsZ0VBQ0Y7UUFFUSxlQUF1QztRQUF2Qyw4REFBdUM7UUFBQyxvRUFBaUQ7UUFDL0YsZUFDRjtRQURFLGdFQUNGOzt1RkR4QlcsMEJBQTBCO2NBTHRDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxXQUFXLEVBQUUscUNBQXFDO2dCQUNsRCxTQUFTLEVBQUUsQ0FBQyxxQ0FBcUMsQ0FBQzthQUNuRDtnT0FTUSxhQUFhO2tCQURuQixLQUFLO1lBSUMsUUFBUTtrQkFEZCxLQUFLO1lBSUMsT0FBTztrQkFEYixNQUFNO1lBSUEsT0FBTztrQkFEYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIEFjdGl2YXRlZFJvdXRlU25hcHNob3QgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENhc2VGaWVsZCB9IGZyb20gJy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2Nhc2UtZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgQ2FzZVN0YXRlIH0gZnJvbSAnLi4vLi4vZG9tYWluL2RlZmluaXRpb24vY2FzZS1zdGF0ZS5tb2RlbCc7XG5pbXBvcnQgeyBDYXNlVHlwZUxpdGUgfSBmcm9tICcuLi8uLi9kb21haW4vZGVmaW5pdGlvbi9jYXNlLXR5cGUtbGl0ZS5tb2RlbCc7XG5pbXBvcnQgeyBKdXJpc2RpY3Rpb24gfSBmcm9tICcuLi8uLi9kb21haW4vZGVmaW5pdGlvbi9qdXJpc2RpY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgV29ya2Jhc2tldElucHV0TW9kZWwgfSBmcm9tICcuLi8uLi9kb21haW4vd29ya2Jhc2tldC93b3JrYmFza2V0LWlucHV0Lm1vZGVsJztcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FsZXJ0L2FsZXJ0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRmllbGRzVXRpbHMgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9maWVsZHMvZmllbGRzLnV0aWxzJztcbmltcG9ydCB7IEp1cmlzZGljdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9qdXJpc2RpY3Rpb24vanVyaXNkaWN0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgT3JkZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb3JkZXIvb3JkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBXaW5kb3dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvd2luZG93L3dpbmRvdy5zZXJ2aWNlJztcbmltcG9ydCB7IFdvcmtiYXNrZXRJbnB1dEZpbHRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy93b3JrYmFza2V0L3dvcmtiYXNrZXQtaW5wdXQtZmlsdGVyLnNlcnZpY2UnO1xuXG5jb25zdCBGT1JNX0dST1VQX1ZBTF9MT0NfU1RPUkFHRSA9ICd3b3JrYmFza2V0LWZpbHRlci1mb3JtLWdyb3VwLXZhbHVlJztcbmNvbnN0IFNBVkVEX1FVRVJZX1BBUkFNX0xPQ19TVE9SQUdFID0gJ3NhdmVkUXVlcnlQYXJhbXMnO1xuY29uc3QgUkVHSU9OX0xJU1RfQU5EX0ZSQ19GSUxURVIgPSAncmVnaW9uTGlzdCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC13b3JrYmFza2V0LWZpbHRlcnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vd29ya2Jhc2tldC1maWx0ZXJzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vd29ya2Jhc2tldC1maWx0ZXJzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgV29ya2Jhc2tldEZpbHRlcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fSlVSSVNESUNUSU9OID0gJ2p1cmlzZGljdGlvbic7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fQ0FTRV9UWVBFID0gJ2Nhc2UtdHlwZSc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fQ0FTRV9TVEFURSA9ICdjYXNlLXN0YXRlJztcbiAgcHVibGljIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBqdXJpc2RpY3Rpb25zOiBKdXJpc2RpY3Rpb25bXTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZGVmYXVsdHM7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBvbkFwcGx5OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIG9uUmVzZXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyB3b3JrYmFza2V0SW5wdXRzOiBXb3JrYmFza2V0SW5wdXRNb2RlbFtdO1xuICBwdWJsaWMgd29ya2Jhc2tldElucHV0c1JlYWR5OiBib29sZWFuO1xuXG4gIHB1YmxpYyB3b3JrYmFza2V0RGVmYXVsdHM6IGJvb2xlYW47XG5cbiAgcHVibGljIHNlbGVjdGVkOiB7XG4gICAgaW5pdD86IGJvb2xlYW4sXG4gICAganVyaXNkaWN0aW9uPzogSnVyaXNkaWN0aW9uLFxuICAgIGNhc2VUeXBlPzogQ2FzZVR5cGVMaXRlLFxuICAgIGNhc2VTdGF0ZT86IENhc2VTdGF0ZSxcbiAgICBmb3JtR3JvdXA/OiBGb3JtR3JvdXAsXG4gICAgcGFnZT86IG51bWJlcixcbiAgICBtZXRhZGF0YUZpZWxkcz86IHN0cmluZ1tdXG4gIH07XG5cbiAgcHVibGljIGZvcm1Hcm91cDogRm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XG5cbiAgcHVibGljIHNlbGVjdGVkSnVyaXNkaWN0aW9uQ2FzZVR5cGVzPzogQ2FzZVR5cGVMaXRlW107XG4gIHB1YmxpYyBzZWxlY3RlZENhc2VUeXBlU3RhdGVzPzogQ2FzZVN0YXRlW107XG5cbiAgcHVibGljIGluaXRpYWxpc2VkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSB3b3JrYmFza2V0SW5wdXRGaWx0ZXJTZXJ2aWNlOiBXb3JrYmFza2V0SW5wdXRGaWx0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3JkZXJTZXJ2aWNlOiBPcmRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBqdXJpc2RpY3Rpb25TZXJ2aWNlOiBKdXJpc2RpY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnRTZXJ2aWNlOiBBbGVydFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSB3aW5kb3dTZXJ2aWNlOiBXaW5kb3dTZXJ2aWNlKSB7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IHt9O1xuICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XG4gICAgICBpZiAoIXRoaXMuaW5pdGlhbGlzZWQgfHwgIXBhcmFtcyB8fCAhT2JqZWN0LmtleXMocGFyYW1zKS5sZW5ndGgpIHtcbiAgICAgICAgdGhpcy5pbml0RmlsdGVycyhmYWxzZSk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGlzZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFwcGx5KGluaXQpOiB2b2lkIHtcbiAgICAvLyBTYXZlIGZpbHRlcnMgYXMgcXVlcnkgcGFyYW1ldGVycyBmb3IgY3VycmVudCByb3V0ZVxuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0ge307XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uKSB7XG4gICAgICBxdWVyeVBhcmFtc1tXb3JrYmFza2V0RmlsdGVyc0NvbXBvbmVudC5QQVJBTV9KVVJJU0RJQ1RJT05dID0gdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24uaWQ7XG4gICAgfVxuICAgIGlmICh0aGlzLnNlbGVjdGVkLmNhc2VUeXBlKSB7XG4gICAgICBxdWVyeVBhcmFtc1tXb3JrYmFza2V0RmlsdGVyc0NvbXBvbmVudC5QQVJBTV9DQVNFX1RZUEVdID0gdGhpcy5zZWxlY3RlZC5jYXNlVHlwZS5pZDtcbiAgICB9XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQuY2FzZVN0YXRlKSB7XG4gICAgICBxdWVyeVBhcmFtc1tXb3JrYmFza2V0RmlsdGVyc0NvbXBvbmVudC5QQVJBTV9DQVNFX1NUQVRFXSA9IHRoaXMuc2VsZWN0ZWQuY2FzZVN0YXRlLmlkO1xuICAgIH1cbiAgICAvLyB3aXRob3V0IGV4cGxpY2l0bHkgcHJlc2VydmluZyBhbGVydHMgYW55IG1lc3NhZ2Ugb24gdGhlIHBhZ2VcbiAgICAvLyB3b3VsZCBiZSBjbGVhcmVkIG91dCBiZWNhdXNlIG9mIHRoaXMgaW5pdGlhbCBuYXZpZ2F0aW9uLlxuICAgIC8vIFRoZSBhYm92ZSBpcyBvbmx5IHRydWUgaWYgbm8gYWxlcnRzIHdlcmUgc2V0IHByaW9yIHRvIGxvYWRpbmcgY2FzZSBsaXN0IHBhZ2UuXG4gICAgaWYgKCF0aGlzLmFsZXJ0U2VydmljZS5pc1ByZXNlcnZlQWxlcnRzKCkpIHtcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNldFByZXNlcnZlQWxlcnRzKCF0aGlzLmluaXRpYWxpc2VkKTtcbiAgICB9XG4gICAgaWYgKE9iamVjdC5rZXlzKHRoaXMuZm9ybUdyb3VwLmNvbnRyb2xzKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQuZm9ybUdyb3VwID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShGT1JNX0dST1VQX1ZBTF9MT0NfU1RPUkFHRSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBVcGRhdGUgZm9ybSBncm91cCBmaWx0ZXJzXG4gICAgICB0aGlzLnVwZGF0ZUZvcm1Hcm91cEZpbHRlcnMoKTtcblxuICAgICAgdGhpcy5zZWxlY3RlZC5mb3JtR3JvdXAgPSB0aGlzLmZvcm1Hcm91cDtcbiAgICB9XG4gICAgdGhpcy5zZWxlY3RlZC5pbml0ID0gaW5pdDtcbiAgICB0aGlzLnNlbGVjdGVkLnBhZ2UgPSAxO1xuICAgIHRoaXMuc2VsZWN0ZWQubWV0YWRhdGFGaWVsZHMgPSB0aGlzLmdldE1ldGFkYXRhRmllbGRzKCk7XG4gICAgaWYgKGluaXQpIHtcbiAgICAgIHRoaXMud2luZG93U2VydmljZS5zZXRMb2NhbFN0b3JhZ2UoU0FWRURfUVVFUllfUEFSQU1fTE9DX1NUT1JBR0UsIEpTT04uc3RyaW5naWZ5KHF1ZXJ5UGFyYW1zKSk7XG4gICAgICBpZiAoT2JqZWN0LmtleXModGhpcy5mb3JtR3JvdXAuY29udHJvbHMpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy53aW5kb3dTZXJ2aWNlLnNldExvY2FsU3RvcmFnZShGT1JNX0dST1VQX1ZBTF9MT0NfU1RPUkFHRSwgSlNPTi5zdHJpbmdpZnkodGhpcy5mb3JtR3JvdXAudmFsdWUpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gQXBwbHkgZmlsdGVyc1xuICAgIHRoaXMub25BcHBseS5lbWl0KHtzZWxlY3RlZDogdGhpcy5zZWxlY3RlZCwgcXVlcnlQYXJhbXN9KTtcbiAgICB0aGlzLnNldEZvY3VzVG9Ub3AoKTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLndpbmRvd1NlcnZpY2UucmVtb3ZlTG9jYWxTdG9yYWdlKEZPUk1fR1JPVVBfVkFMX0xPQ19TVE9SQUdFKTtcbiAgICB0aGlzLndpbmRvd1NlcnZpY2UucmVtb3ZlTG9jYWxTdG9yYWdlKFNBVkVEX1FVRVJZX1BBUkFNX0xPQ19TVE9SQUdFKTtcbiAgICBzZXRUaW1lb3V0ICgoKSA9PiB7XG4gICAgICB0aGlzLnJlc2V0RmllbGRzV2hlbk5vRGVmYXVsdHMoKTtcbiAgICAgIHRoaXMub25SZXNldC5lbWl0KHRydWUpO1xuICAgIH0sIDUwMCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TWV0YWRhdGFGaWVsZHMoKTogc3RyaW5nW10ge1xuICAgIGlmICh0aGlzLndvcmtiYXNrZXRJbnB1dHMpIHtcbiAgICAgIHJldHVybiB0aGlzLndvcmtiYXNrZXRJbnB1dHNcbiAgICAgICAgLmZpbHRlcih3b3JrYmFza2V0SW5wdXQgPT4gd29ya2Jhc2tldElucHV0LmZpZWxkLm1ldGFkYXRhID09PSB0cnVlKVxuICAgICAgICAubWFwKHdvcmtiYXNrZXRJbnB1dCA9PiB3b3JrYmFza2V0SW5wdXQuZmllbGQuaWQpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkp1cmlzZGljdGlvbklkQ2hhbmdlKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbikge1xuICAgICAgdGhpcy5qdXJpc2RpY3Rpb25TZXJ2aWNlLmFubm91bmNlU2VsZWN0ZWRKdXJpc2RpY3Rpb24odGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24pO1xuICAgICAgdGhpcy5zZWxlY3RlZEp1cmlzZGljdGlvbkNhc2VUeXBlcyA9IHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uLmNhc2VUeXBlcy5sZW5ndGggPiAwID8gdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24uY2FzZVR5cGVzIDogbnVsbDtcbiAgICAgIC8vIExpbmUgd2FzIHRvbyBsb25nIGZvciBsaW50aW5nIHNvIHJlZmFjdG9yZWQgaXQuXG4gICAgICBpZiAodGhpcy53b3JrYmFza2V0RGVmYXVsdHMgJiYgdGhpcy5zZWxlY3RlZEp1cmlzZGljdGlvbkNhc2VUeXBlcykge1xuICAgICAgICB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlID0gdGhpcy5zZWxlY3RlZEp1cmlzZGljdGlvbkNhc2VUeXBlc1swXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgPSBudWxsO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNlbGVjdGVkLmNhc2VTdGF0ZSA9IG51bGw7XG4gICAgICB0aGlzLmNsZWFyV29ya2Jhc2tldElucHV0cygpO1xuXG4gICAgICBpZiAoIXRoaXMuaXNBcHBseUJ1dHRvbkRpc2FibGVkKCkpIHtcbiAgICAgICAgdGhpcy5vbkNhc2VUeXBlSWRDaGFuZ2UoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5yZXNldENhc2VUeXBlKCk7XG4gICAgICB0aGlzLnJlc2V0Q2FzZVN0YXRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uQ2FzZVR5cGVJZENoYW5nZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZC5jYXNlVHlwZSkge1xuICAgICAgdGhpcy5zZWxlY3RlZENhc2VUeXBlU3RhdGVzID0gdGhpcy5zb3J0U3RhdGVzKHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUuc3RhdGVzKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVN0YXRlID0gbnVsbDtcbiAgICAgIHRoaXMuZm9ybUdyb3VwID0gbmV3IEZvcm1Hcm91cCh7fSk7XG4gICAgICB0aGlzLmNsZWFyV29ya2Jhc2tldElucHV0cygpO1xuICAgICAgaWYgKCF0aGlzLmlzQXBwbHlCdXR0b25EaXNhYmxlZCgpKSB7XG4gICAgICAgIHRoaXMud29ya2Jhc2tldElucHV0RmlsdGVyU2VydmljZS5nZXRXb3JrYmFza2V0SW5wdXRzKHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uLmlkLCB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlLmlkKS5waXBlKFxuICAgICAgICAgIHRha2UoMSlcbiAgICAgICAgKS5zdWJzY3JpYmUod29ya2Jhc2tldElucHV0cyA9PiB7XG4gICAgICAgICAgICB0aGlzLndvcmtiYXNrZXRJbnB1dHNSZWFkeSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLndvcmtiYXNrZXRJbnB1dHMgPSB3b3JrYmFza2V0SW5wdXRzXG4gICAgICAgICAgICAgIC5zb3J0KHRoaXMub3JkZXJTZXJ2aWNlLnNvcnRBc2MpO1xuICAgICAgICAgICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy53aW5kb3dTZXJ2aWNlLmdldExvY2FsU3RvcmFnZShGT1JNX0dST1VQX1ZBTF9MT0NfU1RPUkFHRSk7XG5cbiAgICAgICAgICAgIHdvcmtiYXNrZXRJbnB1dHMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgICAgICAgaWYgKGl0ZW0uZmllbGQuZWxlbWVudFBhdGgpIHtcbiAgICAgICAgICAgICAgICBpdGVtLmZpZWxkLmlkID0gaXRlbS5maWVsZC5pZCArICcuJyArIGl0ZW0uZmllbGQuZWxlbWVudFBhdGg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaXRlbS5maWVsZC5sYWJlbCA9IGl0ZW0ubGFiZWw7XG4gICAgICAgICAgICAgIGlmIChmb3JtVmFsdWUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWFyY2hGb3JtVmFsdWVPYmplY3QgPSBKU09OLnBhcnNlKGZvcm1WYWx1ZSk7XG4gICAgICAgICAgICAgICAgaXRlbS5maWVsZC52YWx1ZSA9IHNlYXJjaEZvcm1WYWx1ZU9iamVjdFtpdGVtLmZpZWxkLmlkXTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmdldENhc2VGaWVsZHMoKTtcbiAgICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygnV29ya2Jhc2tldCBpbnB1dCBmaWVsZHMgcmVxdWVzdCB3aWxsIGJlIGRpc2NhcmRlZCByZWFzb246ICcsIGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnJlc2V0Q2FzZVN0YXRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGlzQ2FzZVR5cGVzRHJvcGRvd25EaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuc2VsZWN0ZWRKdXJpc2RpY3Rpb25DYXNlVHlwZXM7XG4gIH1cblxuICBwdWJsaWMgaXNDYXNlU3RhdGVzRHJvcGRvd25EaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgfHwgISh0aGlzLnNlbGVjdGVkLmNhc2VUeXBlLnN0YXRlcyAmJiB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlLnN0YXRlcy5sZW5ndGggPiAwKTtcbiAgfVxuXG4gIHB1YmxpYyBpc0FwcGx5QnV0dG9uRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEodGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24gJiYgdGhpcy5zZWxlY3RlZC5jYXNlVHlwZSk7XG4gIH1cblxuICBwdWJsaWMgaXNTZWFyY2hhYmxlQW5kV29ya2Jhc2tldElucHV0c1JlYWR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiAmJiB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlICYmIHRoaXMud29ya2Jhc2tldElucHV0c1JlYWR5O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIGlzIHVzZWQgdG8gY2xlYXIgdGhlIHByZXZpb3VzbHkgdXNlZFxuICAgKiBmb3JtIGdyb3VwIGNvbnRyb2wgZmlsdGVyIHZhbHVlcyB0byBtYWtlIHN1cmUgb25seSB0aGVcbiAgICogY3VycmVudGx5IHNlbGVjdGVkIGZvcm0gZ3JvdXAgY29udHJvbCBmaWx0ZXIgdmFsdWVzIGFyZSBwcmVzZW50LlxuICAgKlxuICAgKiBIYXMgYmVlbiBpbXBsZW1lbnRlZCBmb3IgJ1JlZ2lvbiBhbmQgRlJDIGZpbHRlcnMnIGFuZCBjYW4gYmUgZXh0ZW5kZWRcbiAgICogaW4gZnV0dXJlIHRvIGluY29ycG9yYXRlIG90aGVyIGR5bmFtaWMgZmlsdGVycy5cbiAgICovXG4gICBwdWJsaWMgdXBkYXRlRm9ybUdyb3VwRmlsdGVycygpOiB2b2lkIHtcbiAgICAvLyBSZWFkIHRoZSBmb3JtIGdyb3VwIGxvY2FsIHN0b3JhZ2VcbiAgICBjb25zdCBmb3JtR3JvdXBMUyA9IEpTT04ucGFyc2UodGhpcy53aW5kb3dTZXJ2aWNlLmdldExvY2FsU3RvcmFnZShGT1JNX0dST1VQX1ZBTF9MT0NfU1RPUkFHRSkpO1xuXG4gICAgLy8gRm9ybSBncm91cCBsb2NhbCBzdG9yYWdlIGlzIGF2YWlsYWJsZSBhbmQgY29udGFpbnMgcmVnaW9uTGlzdCBwcm9wZXJ0eVxuICAgIGlmICghIWZvcm1Hcm91cExTICYmIGZvcm1Hcm91cExTLmhhc093blByb3BlcnR5KFJFR0lPTl9MSVNUX0FORF9GUkNfRklMVEVSKSkge1xuICAgICAgaWYgKHRoaXMuZm9ybUdyb3VwLmdldChSRUdJT05fTElTVF9BTkRfRlJDX0ZJTFRFUikpIHtcbiAgICAgICAgLy8gSWYgcmVnaW9uTGlzdCB2YWx1ZSBkb2VzIG5vdCBtYXRjaCBiZXR3ZWVuIGxvY2FsIHN0b3JhZ2UgYW5kIGZvcm0gZ3JvdXBcbiAgICAgICAgLy8gdGhlbiB0aGUgZmlsdGVyIHZhbHVlIGhhcyBiZWVuIGNoYW5nZWQgYW5kIHdlIG5lZWQgdG8gY2xlYXIgdGhlIG9sZCBmaWx0ZXIgdmFsdWVzXG4gICAgICAgIGlmIChmb3JtR3JvdXBMU1tSRUdJT05fTElTVF9BTkRfRlJDX0ZJTFRFUl0gIT09IHRoaXMuZm9ybUdyb3VwLmdldChSRUdJT05fTElTVF9BTkRfRlJDX0ZJTFRFUikudmFsdWUpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBmb3JtR3JvdXBMUykge1xuICAgICAgICAgICAgaWYgKGZvcm1Hcm91cExTLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBmb3JtR3JvdXBMU1trZXldO1xuICAgICAgICAgICAgICAvLyBDbGVhciB0aGUgZmlsdGVyIGZvcm0gZ3JvdXAgY29udHJvbCB2YWx1ZXMgaWYgaXQgaGFzIGEgdmFsdWUgaW4gbG9jYWwgc3RvcmFnZVxuICAgICAgICAgICAgICAvLyBUaGUgcmVnaW9uTGlzdCBmb3JtIGdyb3VwIGNvbnRyb2wgdmFsdWUgc2hvdWxkIGJlIGlnbm9yZWQgYXMgaXQgYWx3YXlzIGNvbnRhaW4gdGhlIGxhdGVzdCB2YWx1ZVxuICAgICAgICAgICAgICBpZiAoa2V5ICE9PSBSRUdJT05fTElTVF9BTkRfRlJDX0ZJTFRFUiAmJiB2YWx1ZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5mb3JtR3JvdXAuZ2V0KGtleSkuc2V0VmFsdWUobnVsbCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNvcnRTdGF0ZXMoc3RhdGVzOiBDYXNlU3RhdGVbXSkge1xuICAgIHJldHVybiBzdGF0ZXMuc29ydCh0aGlzLm9yZGVyU2VydmljZS5zb3J0QXNjKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcnkgdG8gaW5pdGlhbGlzZSBmaWx0ZXJzIGJhc2VkIG9uIHF1ZXJ5IHBhcmFtZXRlcnMgb3Igd29ya2Jhc2tldCBkZWZhdWx0cy5cbiAgICogUXVlcnkgcGFyYW1ldGVycywgd2hlbiBhdmFpbGFibGUsIHRha2UgcHJlY2VkZW5jZSBvdmVyIHdvcmtiYXNrZXQgZGVmYXVsdHMuXG4gICAqL1xuICBwcml2YXRlIGluaXRGaWx0ZXJzKGluaXQ6IGJvb2xlYW4pIHtcbiAgICBjb25zdCBzYXZlZFF1ZXJ5UGFyYW1zID0gdGhpcy53aW5kb3dTZXJ2aWNlLmdldExvY2FsU3RvcmFnZShTQVZFRF9RVUVSWV9QQVJBTV9MT0NfU1RPUkFHRSk7XG4gICAgY29uc3Qgcm91dGVTbmFwc2hvdDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCA9IHRoaXMucm91dGUuc25hcHNob3Q7XG4gICAgaWYgKHNhdmVkUXVlcnlQYXJhbXMpIHtcbiAgICAgIHJvdXRlU25hcHNob3QucXVlcnlQYXJhbXMgPSBKU09OLnBhcnNlKHNhdmVkUXVlcnlQYXJhbXMpO1xuICAgIH1cbiAgICBjb25zdCBzZWxlY3RlZEp1cmlzZGljdGlvbklkID0gcm91dGVTbmFwc2hvdC5xdWVyeVBhcmFtc1tXb3JrYmFza2V0RmlsdGVyc0NvbXBvbmVudC5QQVJBTV9KVVJJU0RJQ1RJT05dIHx8XG4gICAgICAodGhpcy5kZWZhdWx0cyAmJiB0aGlzLmRlZmF1bHRzLmp1cmlzZGljdGlvbl9pZCk7XG4gICAgaWYgKHNlbGVjdGVkSnVyaXNkaWN0aW9uSWQpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQuanVyaXNkaWN0aW9uID0gdGhpcy5qdXJpc2RpY3Rpb25zLmZpbmQoaiA9PiBzZWxlY3RlZEp1cmlzZGljdGlvbklkID09PSBqLmlkKTtcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiAmJiB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbi5jYXNlVHlwZXMubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSnVyaXNkaWN0aW9uQ2FzZVR5cGVzID0gdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24uY2FzZVR5cGVzO1xuICAgICAgICB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlID0gdGhpcy5zZWxlY3RDYXNlVHlwZSh0aGlzLnNlbGVjdGVkLCB0aGlzLnNlbGVjdGVkSnVyaXNkaWN0aW9uQ2FzZVR5cGVzLCByb3V0ZVNuYXBzaG90KTtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUpIHtcbiAgICAgICAgICB0aGlzLm9uQ2FzZVR5cGVJZENoYW5nZSgpO1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVN0YXRlID0gdGhpcy5zZWxlY3RDYXNlU3RhdGUodGhpcy5zZWxlY3RlZC5jYXNlVHlwZSwgcm91dGVTbmFwc2hvdCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy53b3JrYmFza2V0RGVmYXVsdHMgPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiA9IG51bGw7XG4gICAgfVxuICAgIHRoaXMuYXBwbHkoaW5pdCk7XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdENhc2VTdGF0ZShjYXNlVHlwZTogQ2FzZVR5cGVMaXRlLCByb3V0ZVNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogQ2FzZVN0YXRlIHtcbiAgICBsZXQgY2FzZVN0YXRlO1xuICAgIGlmIChjYXNlVHlwZSkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRDYXNlU3RhdGVJZCA9IHRoaXMuc2VsZWN0Q2FzZVN0YXRlSWRGcm9tUXVlcnlPckRlZmF1bHRzKHJvdXRlU25hcHNob3QsICh0aGlzLmRlZmF1bHRzICYmIHRoaXMuZGVmYXVsdHMuc3RhdGVfaWQpKTtcbiAgICAgIGNhc2VTdGF0ZSA9IGNhc2VUeXBlLnN0YXRlcy5maW5kKGN0ID0+IHNlbGVjdGVkQ2FzZVN0YXRlSWQgPT09IGN0LmlkKTtcbiAgICB9XG4gICAgcmV0dXJuIGNhc2VTdGF0ZSA/IGNhc2VTdGF0ZSA6IG51bGw7XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdENhc2VTdGF0ZUlkRnJvbVF1ZXJ5T3JEZWZhdWx0cyhyb3V0ZVNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBkZWZhdWx0Q2FzZVN0YXRlSWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHJvdXRlU25hcHNob3QucXVlcnlQYXJhbXNbV29ya2Jhc2tldEZpbHRlcnNDb21wb25lbnQuUEFSQU1fQ0FTRV9TVEFURV0gfHwgZGVmYXVsdENhc2VTdGF0ZUlkO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RDYXNlVHlwZShzZWxlY3RlZDogYW55LCBjYXNlVHlwZXM6IENhc2VUeXBlTGl0ZVtdLCByb3V0ZVNuYXBzaG90OiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90KTogQ2FzZVR5cGVMaXRlIHtcbiAgICBsZXQgY2FzZVR5cGU7XG4gICAgaWYgKHNlbGVjdGVkLmp1cmlzZGljdGlvbikge1xuICAgICAgY29uc3Qgc2VsZWN0ZWRDYXNlVHlwZUlkID0gdGhpcy5zZWxlY3RDYXNlVHlwZUlkRnJvbVF1ZXJ5T3JEZWZhdWx0cyhyb3V0ZVNuYXBzaG90LCAodGhpcy5kZWZhdWx0cyAmJiB0aGlzLmRlZmF1bHRzLmNhc2VfdHlwZV9pZCkpO1xuICAgICAgY2FzZVR5cGUgPSBjYXNlVHlwZXMuZmluZChjdCA9PiBzZWxlY3RlZENhc2VUeXBlSWQgPT09IGN0LmlkKTtcbiAgICB9XG4gICAgcmV0dXJuIGNhc2VUeXBlID8gY2FzZVR5cGUgOiBjYXNlVHlwZXNbMF07XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdENhc2VUeXBlSWRGcm9tUXVlcnlPckRlZmF1bHRzKHJvdXRlU25hcHNob3Q6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIGRlZmF1bHRDYXNlVHlwZUlkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiByb3V0ZVNuYXBzaG90LnF1ZXJ5UGFyYW1zW1dvcmtiYXNrZXRGaWx0ZXJzQ29tcG9uZW50LlBBUkFNX0NBU0VfVFlQRV0gfHwgZGVmYXVsdENhc2VUeXBlSWQ7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0RmllbGRzV2hlbk5vRGVmYXVsdHMoKSB7XG4gICAgdGhpcy5yZXNldENhc2VTdGF0ZSgpO1xuICAgIHRoaXMucmVzZXRDYXNlVHlwZSgpO1xuICAgIHRoaXMuY2xlYXJXb3JrYmFza2V0SW5wdXRzKCk7XG4gICAgdGhpcy53b3JrYmFza2V0RGVmYXVsdHMgPSBmYWxzZTtcbiAgICB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiA9IG51bGw7XG4gICAgdGhpcy5pbml0aWFsaXNlZCA9IGZhbHNlO1xuICAgIHRoaXMuaW5pdEZpbHRlcnModHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIGNsZWFyV29ya2Jhc2tldElucHV0cygpIHtcbiAgICB0aGlzLndvcmtiYXNrZXRJbnB1dHNSZWFkeSA9IGZhbHNlO1xuICAgIHRoaXMud29ya2Jhc2tldElucHV0cyA9IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldENhc2VTdGF0ZSgpIHtcbiAgICB0aGlzLmRlZmF1bHRzLnN0YXRlX2lkID0gbnVsbDtcbiAgICB0aGlzLnNlbGVjdGVkLmNhc2VTdGF0ZSA9IG51bGw7XG4gICAgdGhpcy5zZWxlY3RlZENhc2VUeXBlU3RhdGVzID0gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXRDYXNlVHlwZSgpIHtcbiAgICB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlID0gdW5kZWZpbmVkOyAvLyBvcHRpb24gc2hvdWxkIGJlIGJsYW5rIHJhdGhlciB0aGFuIFwiU2VsZWN0IGEgdmFsdWVcIiBpbiBjYXNlIG9mIHJlc2V0LlxuICAgIHRoaXMuc2VsZWN0ZWRKdXJpc2RpY3Rpb25DYXNlVHlwZXMgPSBudWxsO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRGb2N1c1RvVG9wKCkge1xuICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcblxuICAgIGNvbnN0IHRvcENvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzZWFyY2gtcmVzdWx0LWhlYWRpbmdfX3RleHQnKTtcbiAgICBpZiAodG9wQ29udGFpbmVyKSB7XG4gICAgICB0b3BDb250YWluZXIuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldENhc2VGaWVsZHMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMud29ya2Jhc2tldElucHV0cykge1xuICAgICAgdGhpcy5jYXNlRmllbGRzID0gdGhpcy53b3JrYmFza2V0SW5wdXRzLm1hcChpdGVtID0+IEZpZWxkc1V0aWxzLmNvbnZlcnRUb0Nhc2VGaWVsZChpdGVtLmZpZWxkKSk7XG4gICAgfVxuICB9XG59XG4iLCI8aDIgY2xhc3M9XCJoZWFkaW5nLWgyXCIgYXJpYS1sYWJlbD1cIkZpbHRlcnNcIj57eydGaWx0ZXJzJyB8IHJweFRyYW5zbGF0ZSB9fTwvaDI+XG5cbjxmb3JtIGNsYXNzPVwiZ2xvYmFsLWRpc3BsYXlcIj5cbiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwid2ItanVyaXNkaWN0aW9uXCI+e3snSnVyaXNkaWN0aW9uJyB8IHJweFRyYW5zbGF0ZX19PC9sYWJlbD5cbiAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC0zLTQgY2NkLWRyb3Bkb3duXCIgaWQ9XCJ3Yi1qdXJpc2RpY3Rpb25cIlxuICAgICAgICAgICAgbmFtZT1cImp1cmlzZGljdGlvblwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWQuanVyaXNkaWN0aW9uXCIgYXJpYS1jb250cm9scz1cInNlYXJjaC1yZXN1bHRcIlxuICAgICAgICAgICAgKGNoYW5nZSk9XCJvbkp1cmlzZGljdGlvbklkQ2hhbmdlKClcIj5cbiAgICAgIDxvcHRpb24gKm5nSWY9XCIhd29ya2Jhc2tldERlZmF1bHRzXCIgW25nVmFsdWVdPVwibnVsbFwiPnt7J1NlbGVjdCBhIHZhbHVlJyB8IHJweFRyYW5zbGF0ZX19PC9vcHRpb24+XG4gICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBqIG9mIGp1cmlzZGljdGlvbnNcIiBbbmdWYWx1ZV09XCJqXCI+e3tqLm5hbWUgfCBycHhUcmFuc2xhdGV9fTwvb3B0aW9uPlxuICAgIDwvc2VsZWN0PlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJ3Yi1jYXNlLXR5cGVcIj57eydDYXNlIHR5cGUnIHwgcnB4VHJhbnNsYXRlfX08L2xhYmVsPlxuICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLTMtNCBjY2QtZHJvcGRvd25cIiBpZD1cIndiLWNhc2UtdHlwZVwiXG4gICAgICAgICAgICBuYW1lPVwiY2FzZS10eXBlXCIgWyhuZ01vZGVsKV09XCJzZWxlY3RlZC5jYXNlVHlwZVwiIFtkaXNhYmxlZF09XCJpc0Nhc2VUeXBlc0Ryb3Bkb3duRGlzYWJsZWQoKVwiXG4gICAgICAgICAgICAoY2hhbmdlKT1cIm9uQ2FzZVR5cGVJZENoYW5nZSgpXCIgYXJpYS1jb250cm9scz1cInNlYXJjaC1yZXN1bHRcIj5cbiAgICAgIDxvcHRpb24gKm5nSWY9XCIhd29ya2Jhc2tldERlZmF1bHRzXCIgW25nVmFsdWVdPVwibnVsbFwiPnt7J1NlbGVjdCBhIHZhbHVlJyB8IHJweFRyYW5zbGF0ZX19PC9vcHRpb24+XG4gICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBjdCBvZiBzZWxlY3RlZEp1cmlzZGljdGlvbkNhc2VUeXBlc1wiIFtuZ1ZhbHVlXT1cImN0XCI+e3tjdC5uYW1lIHwgcnB4VHJhbnNsYXRlfX08L29wdGlvbj5cbiAgICA8L3NlbGVjdD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgZm9yPVwid2ItY2FzZS1zdGF0ZVwiPnt7J1N0YXRlJyB8IHJweFRyYW5zbGF0ZX19PC9sYWJlbD5cbiAgICA8c2VsZWN0IGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC0zLTQgY2NkLWRyb3Bkb3duXCIgaWQ9XCJ3Yi1jYXNlLXN0YXRlXCJcbiAgICAgICAgICAgIG5hbWU9XCJzdGF0ZVwiIFsobmdNb2RlbCldPVwic2VsZWN0ZWQuY2FzZVN0YXRlXCIgW2Rpc2FibGVkXT1cImlzQ2FzZVN0YXRlc0Ryb3Bkb3duRGlzYWJsZWQoKVwiXG4gICAgICAgICAgICBhcmlhLWNvbnRyb2xzPVwic2VhcmNoLXJlc3VsdFwiPlxuICAgICAgPG9wdGlvbiBbbmdWYWx1ZV09XCJudWxsXCI+e3snQW55JyB8IHJweFRyYW5zbGF0ZX19PC9vcHRpb24+XG4gICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBjcyBvZiBzZWxlY3RlZENhc2VUeXBlU3RhdGVzXCIgW25nVmFsdWVdPVwiY3NcIj57e2NzLm5hbWUgfCBycHhUcmFuc2xhdGV9fTwvb3B0aW9uPlxuICAgIDwvc2VsZWN0PlxuICA8L2Rpdj5cblxuICA8bmctY29udGFpbmVyIGNjZENvbmRpdGlvbmFsU2hvd0Zvcm0gKm5nSWY9XCJpc1NlYXJjaGFibGVBbmRXb3JrYmFza2V0SW5wdXRzUmVhZHkoKVwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCIgW2NvbnRleHRGaWVsZHNdPVwiY2FzZUZpZWxkc1wiPlxuICAgIDxkaXYgaWQ9XCJkeW5hbWljRmlsdGVyc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIiAqbmdGb3I9XCJsZXQgd29ya2Jhc2tldElucHV0IG9mIHdvcmtiYXNrZXRJbnB1dHNcIj5cbiAgICAgICAgPGNjZC1maWVsZC13cml0ZSBbY2FzZUZpZWxkXT1cIndvcmtiYXNrZXRJbnB1dC5maWVsZFwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCIgW2lzRXhwYW5kZWRdPVwidHJ1ZVwiIFtpc0luU2VhcmNoQmxvY2tdPVwidHJ1ZVwiIChrZXl1cC5lbnRlcik9XCJhcHBseShudWxsKVwiPlxuICAgICAgICA8L2NjZC1maWVsZC13cml0ZT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ1dHRvbiB3b3JrYmFza2V0LWZpbHRlcnMtYXBwbHlcIiAoY2xpY2spPVwiYXBwbHkodHJ1ZSlcIiBbZGlzYWJsZWRdPVwiaXNBcHBseUJ1dHRvbkRpc2FibGVkKClcIlxuICAgICAgICAgIFt0aXRsZV09XCInQXBwbHkgZmlsdGVyJyB8IHJweFRyYW5zbGF0ZVwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0FwcGx5IGZpbHRlcicgfCBycHhUcmFuc2xhdGVcIj5cbiAgICB7eydBcHBseScgfCBycHhUcmFuc2xhdGV9fVxuICA8L2J1dHRvbj4gJm5ic3A7Jm5ic3A7Jm5ic3A7XG4gIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJyZXNldCgpXCIgY2xhc3M9XCJidXR0b24gYnV0dG9uLXNlY29uZGFyeVwiXG4gICAgICAgICAgW3RpdGxlXT1cIidSZXNldCBmaWx0ZXInIHwgcnB4VHJhbnNsYXRlXCIgW2F0dHIuYXJpYS1sYWJlbF09XCInUmVzZXQgZmlsdGVyJyB8IHJweFRyYW5zbGF0ZVwiPlxuICAgIHt7J1Jlc2V0JyB8IHJweFRyYW5zbGF0ZX19XG4gIDwvYnV0dG9uPlxuPC9mb3JtPlxuIl19
|
|
@@ -24865,27 +24865,34 @@ CaseListModule.ɵinj = i0.ɵɵdefineInjector({ providers: [
|
|
|
24865
24865
|
|
|
24866
24866
|
function WorkbasketFiltersComponent_option_9_Template(rf, ctx) { if (rf & 1) {
|
|
24867
24867
|
i0.ɵɵelementStart(0, "option", 11);
|
|
24868
|
-
i0.ɵɵtext(1
|
|
24868
|
+
i0.ɵɵtext(1);
|
|
24869
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
24869
24870
|
i0.ɵɵelementEnd();
|
|
24870
24871
|
} if (rf & 2) {
|
|
24871
24872
|
i0.ɵɵproperty("ngValue", null);
|
|
24873
|
+
i0.ɵɵadvance(1);
|
|
24874
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, "Select a value"));
|
|
24872
24875
|
} }
|
|
24873
24876
|
function WorkbasketFiltersComponent_option_10_Template(rf, ctx) { if (rf & 1) {
|
|
24874
24877
|
i0.ɵɵelementStart(0, "option", 11);
|
|
24875
24878
|
i0.ɵɵtext(1);
|
|
24879
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
24876
24880
|
i0.ɵɵelementEnd();
|
|
24877
24881
|
} if (rf & 2) {
|
|
24878
24882
|
const j_r6 = ctx.$implicit;
|
|
24879
24883
|
i0.ɵɵproperty("ngValue", j_r6);
|
|
24880
24884
|
i0.ɵɵadvance(1);
|
|
24881
|
-
i0.ɵɵtextInterpolate(j_r6.name);
|
|
24885
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, j_r6.name));
|
|
24882
24886
|
} }
|
|
24883
24887
|
function WorkbasketFiltersComponent_option_16_Template(rf, ctx) { if (rf & 1) {
|
|
24884
24888
|
i0.ɵɵelementStart(0, "option", 11);
|
|
24885
|
-
i0.ɵɵtext(1
|
|
24889
|
+
i0.ɵɵtext(1);
|
|
24890
|
+
i0.ɵɵpipe(2, "rpxTranslate");
|
|
24886
24891
|
i0.ɵɵelementEnd();
|
|
24887
24892
|
} if (rf & 2) {
|
|
24888
24893
|
i0.ɵɵproperty("ngValue", null);
|
|
24894
|
+
i0.ɵɵadvance(1);
|
|
24895
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, "Select a value"));
|
|
24889
24896
|
} }
|
|
24890
24897
|
function WorkbasketFiltersComponent_option_17_Template(rf, ctx) { if (rf & 1) {
|
|
24891
24898
|
i0.ɵɵelementStart(0, "option", 11);
|
|
@@ -24898,7 +24905,7 @@ function WorkbasketFiltersComponent_option_17_Template(rf, ctx) { if (rf & 1) {
|
|
|
24898
24905
|
i0.ɵɵadvance(1);
|
|
24899
24906
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, ct_r7.name));
|
|
24900
24907
|
} }
|
|
24901
|
-
function
|
|
24908
|
+
function WorkbasketFiltersComponent_option_26_Template(rf, ctx) { if (rf & 1) {
|
|
24902
24909
|
i0.ɵɵelementStart(0, "option", 11);
|
|
24903
24910
|
i0.ɵɵtext(1);
|
|
24904
24911
|
i0.ɵɵpipe(2, "rpxTranslate");
|
|
@@ -24909,11 +24916,11 @@ function WorkbasketFiltersComponent_option_25_Template(rf, ctx) { if (rf & 1) {
|
|
|
24909
24916
|
i0.ɵɵadvance(1);
|
|
24910
24917
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, cs_r8.name));
|
|
24911
24918
|
} }
|
|
24912
|
-
function
|
|
24919
|
+
function WorkbasketFiltersComponent_ng_container_27_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
24913
24920
|
const _r12 = i0.ɵɵgetCurrentView();
|
|
24914
24921
|
i0.ɵɵelementStart(0, "div", 2);
|
|
24915
24922
|
i0.ɵɵelementStart(1, "ccd-field-write", 18);
|
|
24916
|
-
i0.ɵɵlistener("keyup.enter", function
|
|
24923
|
+
i0.ɵɵlistener("keyup.enter", function WorkbasketFiltersComponent_ng_container_27_div_2_Template_ccd_field_write_keyup_enter_1_listener() { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(2); return ctx_r11.apply(null); });
|
|
24917
24924
|
i0.ɵɵelementEnd();
|
|
24918
24925
|
i0.ɵɵelementEnd();
|
|
24919
24926
|
} if (rf & 2) {
|
|
@@ -24922,10 +24929,10 @@ function WorkbasketFiltersComponent_ng_container_26_div_2_Template(rf, ctx) { if
|
|
|
24922
24929
|
i0.ɵɵadvance(1);
|
|
24923
24930
|
i0.ɵɵproperty("caseField", workbasketInput_r10.field)("formGroup", ctx_r9.formGroup)("isExpanded", true)("isInSearchBlock", true);
|
|
24924
24931
|
} }
|
|
24925
|
-
function
|
|
24932
|
+
function WorkbasketFiltersComponent_ng_container_27_Template(rf, ctx) { if (rf & 1) {
|
|
24926
24933
|
i0.ɵɵelementContainerStart(0, 15);
|
|
24927
24934
|
i0.ɵɵelementStart(1, "div", 16);
|
|
24928
|
-
i0.ɵɵtemplate(2,
|
|
24935
|
+
i0.ɵɵtemplate(2, WorkbasketFiltersComponent_ng_container_27_div_2_Template, 2, 4, "div", 17);
|
|
24929
24936
|
i0.ɵɵelementEnd();
|
|
24930
24937
|
i0.ɵɵelementContainerEnd();
|
|
24931
24938
|
} if (rf & 2) {
|
|
@@ -25203,7 +25210,7 @@ WorkbasketFiltersComponent.PARAM_JURISDICTION = 'jurisdiction';
|
|
|
25203
25210
|
WorkbasketFiltersComponent.PARAM_CASE_TYPE = 'case-type';
|
|
25204
25211
|
WorkbasketFiltersComponent.PARAM_CASE_STATE = 'case-state';
|
|
25205
25212
|
WorkbasketFiltersComponent.ɵfac = function WorkbasketFiltersComponent_Factory(t) { return new (t || WorkbasketFiltersComponent)(i0.ɵɵdirectiveInject(i1$1.ActivatedRoute), i0.ɵɵdirectiveInject(WorkbasketInputFilterService), i0.ɵɵdirectiveInject(OrderService), i0.ɵɵdirectiveInject(JurisdictionService), i0.ɵɵdirectiveInject(AlertService), i0.ɵɵdirectiveInject(WindowService)); };
|
|
25206
|
-
WorkbasketFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WorkbasketFiltersComponent, selectors: [["ccd-workbasket-filters"]], inputs: { jurisdictions: "jurisdictions", defaults: "defaults" }, outputs: { onApply: "onApply", onReset: "onReset" }, decls:
|
|
25213
|
+
WorkbasketFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WorkbasketFiltersComponent, selectors: [["ccd-workbasket-filters"]], inputs: { jurisdictions: "jurisdictions", defaults: "defaults" }, outputs: { onApply: "onApply", onReset: "onReset" }, decls: 39, vars: 46, consts: [["aria-label", "Filters", 1, "heading-h2"], [1, "global-display"], [1, "form-group"], ["for", "wb-jurisdiction", 1, "form-label"], ["id", "wb-jurisdiction", "name", "jurisdiction", "aria-controls", "search-result", 1, "form-control", "form-control-3-4", "ccd-dropdown", 3, "ngModel", "ngModelChange", "change"], [3, "ngValue", 4, "ngIf"], [3, "ngValue", 4, "ngFor", "ngForOf"], ["for", "wb-case-type", 1, "form-label"], ["id", "wb-case-type", "name", "case-type", "aria-controls", "search-result", 1, "form-control", "form-control-3-4", "ccd-dropdown", 3, "ngModel", "disabled", "ngModelChange", "change"], ["for", "wb-case-state", 1, "form-label"], ["id", "wb-case-state", "name", "state", "aria-controls", "search-result", 1, "form-control", "form-control-3-4", "ccd-dropdown", 3, "ngModel", "disabled", "ngModelChange"], [3, "ngValue"], ["ccdConditionalShowForm", "", 3, "formGroup", "contextFields", 4, "ngIf"], ["type", "button", 1, "button", "workbasket-filters-apply", 3, "disabled", "title", "click"], ["type", "button", 1, "button", "button-secondary", 3, "title", "click"], ["ccdConditionalShowForm", "", 3, "formGroup", "contextFields"], ["id", "dynamicFilters"], ["class", "form-group", 4, "ngFor", "ngForOf"], [3, "caseField", "formGroup", "isExpanded", "isInSearchBlock", "keyup.enter"]], template: function WorkbasketFiltersComponent_Template(rf, ctx) { if (rf & 1) {
|
|
25207
25214
|
i0.ɵɵelementStart(0, "h2", 0);
|
|
25208
25215
|
i0.ɵɵtext(1);
|
|
25209
25216
|
i0.ɵɵpipe(2, "rpxTranslate");
|
|
@@ -25216,8 +25223,8 @@ WorkbasketFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WorkbasketFilt
|
|
|
25216
25223
|
i0.ɵɵelementEnd();
|
|
25217
25224
|
i0.ɵɵelementStart(8, "select", 4);
|
|
25218
25225
|
i0.ɵɵlistener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_8_listener($event) { return ctx.selected.jurisdiction = $event; })("change", function WorkbasketFiltersComponent_Template_select_change_8_listener() { return ctx.onJurisdictionIdChange(); });
|
|
25219
|
-
i0.ɵɵtemplate(9, WorkbasketFiltersComponent_option_9_Template,
|
|
25220
|
-
i0.ɵɵtemplate(10, WorkbasketFiltersComponent_option_10_Template,
|
|
25226
|
+
i0.ɵɵtemplate(9, WorkbasketFiltersComponent_option_9_Template, 3, 4, "option", 5);
|
|
25227
|
+
i0.ɵɵtemplate(10, WorkbasketFiltersComponent_option_10_Template, 3, 4, "option", 6);
|
|
25221
25228
|
i0.ɵɵelementEnd();
|
|
25222
25229
|
i0.ɵɵelementEnd();
|
|
25223
25230
|
i0.ɵɵelementStart(11, "div", 2);
|
|
@@ -25227,7 +25234,7 @@ WorkbasketFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WorkbasketFilt
|
|
|
25227
25234
|
i0.ɵɵelementEnd();
|
|
25228
25235
|
i0.ɵɵelementStart(15, "select", 8);
|
|
25229
25236
|
i0.ɵɵlistener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_15_listener($event) { return ctx.selected.caseType = $event; })("change", function WorkbasketFiltersComponent_Template_select_change_15_listener() { return ctx.onCaseTypeIdChange(); });
|
|
25230
|
-
i0.ɵɵtemplate(16, WorkbasketFiltersComponent_option_16_Template,
|
|
25237
|
+
i0.ɵɵtemplate(16, WorkbasketFiltersComponent_option_16_Template, 3, 4, "option", 5);
|
|
25231
25238
|
i0.ɵɵtemplate(17, WorkbasketFiltersComponent_option_17_Template, 3, 4, "option", 6);
|
|
25232
25239
|
i0.ɵɵelementEnd();
|
|
25233
25240
|
i0.ɵɵelementEnd();
|
|
@@ -25239,29 +25246,34 @@ WorkbasketFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WorkbasketFilt
|
|
|
25239
25246
|
i0.ɵɵelementStart(22, "select", 10);
|
|
25240
25247
|
i0.ɵɵlistener("ngModelChange", function WorkbasketFiltersComponent_Template_select_ngModelChange_22_listener($event) { return ctx.selected.caseState = $event; });
|
|
25241
25248
|
i0.ɵɵelementStart(23, "option", 11);
|
|
25242
|
-
i0.ɵɵtext(24
|
|
25249
|
+
i0.ɵɵtext(24);
|
|
25250
|
+
i0.ɵɵpipe(25, "rpxTranslate");
|
|
25243
25251
|
i0.ɵɵelementEnd();
|
|
25244
|
-
i0.ɵɵtemplate(
|
|
25252
|
+
i0.ɵɵtemplate(26, WorkbasketFiltersComponent_option_26_Template, 3, 4, "option", 6);
|
|
25245
25253
|
i0.ɵɵelementEnd();
|
|
25246
25254
|
i0.ɵɵelementEnd();
|
|
25247
|
-
i0.ɵɵtemplate(
|
|
25248
|
-
i0.ɵɵelementStart(
|
|
25249
|
-
i0.ɵɵlistener("click", function
|
|
25250
|
-
i0.ɵɵtext(28);
|
|
25255
|
+
i0.ɵɵtemplate(27, WorkbasketFiltersComponent_ng_container_27_Template, 3, 3, "ng-container", 12);
|
|
25256
|
+
i0.ɵɵelementStart(28, "button", 13);
|
|
25257
|
+
i0.ɵɵlistener("click", function WorkbasketFiltersComponent_Template_button_click_28_listener() { return ctx.apply(true); });
|
|
25251
25258
|
i0.ɵɵpipe(29, "rpxTranslate");
|
|
25259
|
+
i0.ɵɵpipe(30, "rpxTranslate");
|
|
25260
|
+
i0.ɵɵtext(31);
|
|
25261
|
+
i0.ɵɵpipe(32, "rpxTranslate");
|
|
25252
25262
|
i0.ɵɵelementEnd();
|
|
25253
|
-
i0.ɵɵtext(
|
|
25254
|
-
i0.ɵɵelementStart(
|
|
25255
|
-
i0.ɵɵlistener("click", function
|
|
25256
|
-
i0.ɵɵ
|
|
25257
|
-
i0.ɵɵpipe(
|
|
25263
|
+
i0.ɵɵtext(33, " \u00A0\u00A0\u00A0 ");
|
|
25264
|
+
i0.ɵɵelementStart(34, "button", 14);
|
|
25265
|
+
i0.ɵɵlistener("click", function WorkbasketFiltersComponent_Template_button_click_34_listener() { return ctx.reset(); });
|
|
25266
|
+
i0.ɵɵpipe(35, "rpxTranslate");
|
|
25267
|
+
i0.ɵɵpipe(36, "rpxTranslate");
|
|
25268
|
+
i0.ɵɵtext(37);
|
|
25269
|
+
i0.ɵɵpipe(38, "rpxTranslate");
|
|
25258
25270
|
i0.ɵɵelementEnd();
|
|
25259
25271
|
i0.ɵɵelementEnd();
|
|
25260
25272
|
} if (rf & 2) {
|
|
25261
25273
|
i0.ɵɵadvance(1);
|
|
25262
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2,
|
|
25274
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 24, "Filters"));
|
|
25263
25275
|
i0.ɵɵadvance(5);
|
|
25264
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(7,
|
|
25276
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(7, 26, "Jurisdiction"));
|
|
25265
25277
|
i0.ɵɵadvance(2);
|
|
25266
25278
|
i0.ɵɵproperty("ngModel", ctx.selected.jurisdiction);
|
|
25267
25279
|
i0.ɵɵadvance(1);
|
|
@@ -25269,7 +25281,7 @@ WorkbasketFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WorkbasketFilt
|
|
|
25269
25281
|
i0.ɵɵadvance(1);
|
|
25270
25282
|
i0.ɵɵproperty("ngForOf", ctx.jurisdictions);
|
|
25271
25283
|
i0.ɵɵadvance(3);
|
|
25272
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(14,
|
|
25284
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(14, 28, "Case type"));
|
|
25273
25285
|
i0.ɵɵadvance(2);
|
|
25274
25286
|
i0.ɵɵproperty("ngModel", ctx.selected.caseType)("disabled", ctx.isCaseTypesDropdownDisabled());
|
|
25275
25287
|
i0.ɵɵadvance(1);
|
|
@@ -25277,21 +25289,27 @@ WorkbasketFiltersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: WorkbasketFilt
|
|
|
25277
25289
|
i0.ɵɵadvance(1);
|
|
25278
25290
|
i0.ɵɵproperty("ngForOf", ctx.selectedJurisdictionCaseTypes);
|
|
25279
25291
|
i0.ɵɵadvance(3);
|
|
25280
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(21,
|
|
25292
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(21, 30, "State"));
|
|
25281
25293
|
i0.ɵɵadvance(2);
|
|
25282
25294
|
i0.ɵɵproperty("ngModel", ctx.selected.caseState)("disabled", ctx.isCaseStatesDropdownDisabled());
|
|
25283
25295
|
i0.ɵɵadvance(1);
|
|
25284
25296
|
i0.ɵɵproperty("ngValue", null);
|
|
25297
|
+
i0.ɵɵadvance(1);
|
|
25298
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(25, 32, "Any"));
|
|
25285
25299
|
i0.ɵɵadvance(2);
|
|
25286
25300
|
i0.ɵɵproperty("ngForOf", ctx.selectedCaseTypeStates);
|
|
25287
25301
|
i0.ɵɵadvance(1);
|
|
25288
25302
|
i0.ɵɵproperty("ngIf", ctx.isSearchableAndWorkbasketInputsReady());
|
|
25289
25303
|
i0.ɵɵadvance(1);
|
|
25290
|
-
i0.ɵɵproperty("disabled", ctx.isApplyButtonDisabled());
|
|
25291
|
-
i0.ɵɵ
|
|
25292
|
-
i0.ɵɵ
|
|
25293
|
-
i0.ɵɵ
|
|
25294
|
-
i0.ɵɵ
|
|
25304
|
+
i0.ɵɵproperty("disabled", ctx.isApplyButtonDisabled())("title", i0.ɵɵpipeBind1(29, 34, "Apply filter"));
|
|
25305
|
+
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(30, 36, "Apply filter"));
|
|
25306
|
+
i0.ɵɵadvance(3);
|
|
25307
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(32, 38, "Apply"), " ");
|
|
25308
|
+
i0.ɵɵadvance(3);
|
|
25309
|
+
i0.ɵɵproperty("title", i0.ɵɵpipeBind1(35, 40, "Reset filter"));
|
|
25310
|
+
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(36, 42, "Reset filter"));
|
|
25311
|
+
i0.ɵɵadvance(3);
|
|
25312
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(38, 44, "Reset"), " ");
|
|
25295
25313
|
} }, styles: ["div[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{font-family:nta,Arial,sans-serif;font-weight:400;text-transform:none;font-size:11pt;line-height:1.2727272727}@media (min-width:641px){div[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{font-size:12pt;line-height:1.3333333333}}.form-group[_ngcontent-%COMP%]{margin-bottom:7px}.ccd-dropdown[_ngcontent-%COMP%]{width:100%}span.heading-medium[_ngcontent-%COMP%]{margin-top:0}"] });
|
|
25296
25314
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkbasketFiltersComponent, [{
|
|
25297
25315
|
type: Component,
|