@hmcts/ccd-case-ui-toolkit 5.0.33-angular11-upgrade → 5.0.33-angular11-updgrade-welsh-release-v3
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 +3399 -2364
- 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/components/banners/alert/alert.component.js +7 -5
- package/esm2015/lib/components/banners/alert/alert.module.js +12 -4
- package/esm2015/lib/components/footer/footer.component.js +55 -30
- package/esm2015/lib/components/footer/footers.module.js +12 -4
- package/esm2015/lib/components/form/date-input/date-input.component.js +56 -37
- package/esm2015/lib/components/form/form.module.js +8 -4
- package/esm2015/lib/components/header/header-bar/header-bar.component.js +32 -19
- package/esm2015/lib/components/header/headers.module.js +6 -4
- package/esm2015/lib/components/header/navigation/navigation-item.component.js +9 -7
- package/esm2015/lib/components/header/phase/phase.component.js +20 -9
- package/esm2015/lib/components/tabs/tabs.component.js +7 -5
- package/esm2015/lib/components/tabs/tabs.module.js +6 -2
- package/esm2015/lib/shared/components/activity/activity-banner/activity-banner.component.js +12 -9
- package/esm2015/lib/shared/components/activity/activity-icon/activity-icon.component.js +11 -8
- package/esm2015/lib/shared/components/activity/activity.component.js +15 -10
- package/esm2015/lib/shared/components/activity/activity.module.js +6 -2
- package/esm2015/lib/shared/components/case-editor/case-edit-confirm/case-edit-confirm.component.js +29 -25
- package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +76 -48
- package/esm2015/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.js +179 -131
- package/esm2015/lib/shared/components/case-editor/case-editor.module.js +30 -26
- package/esm2015/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.js +51 -26
- package/esm2015/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.js +51 -28
- package/esm2015/lib/shared/components/case-history/case-history.component.js +89 -63
- package/esm2015/lib/shared/components/case-history/case-history.module.js +18 -14
- package/esm2015/lib/shared/components/case-list/case-list.component.js +56 -49
- package/esm2015/lib/shared/components/case-list/case-list.module.js +8 -4
- package/esm2015/lib/shared/components/case-list-filters/case-list-filters.module.js +11 -7
- package/esm2015/lib/shared/components/case-timeline/case-timeline.component.js +8 -5
- package/esm2015/lib/shared/components/case-timeline/case-timeline.module.js +12 -8
- package/esm2015/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.js +106 -61
- package/esm2015/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.js +89 -69
- package/esm2015/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.js +45 -23
- package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +86 -58
- package/esm2015/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.js +32 -20
- package/esm2015/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.js +107 -79
- package/esm2015/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.js +79 -49
- package/esm2015/lib/shared/components/case-viewer/case-view/case-view.component.js +1 -1
- package/esm2015/lib/shared/components/case-viewer/case-viewer.module.js +37 -27
- package/esm2015/lib/shared/components/case-viewer/printer/case-printer.component.js +36 -22
- package/esm2015/lib/shared/components/create-case-filters/create-case-filters.component.js +63 -40
- package/esm2015/lib/shared/components/create-case-filters/create-case-filters.module.js +6 -2
- package/esm2015/lib/shared/components/dialogs/delete-or-cancel-dialog/delete-or-cancel-dialog.component.js +28 -14
- package/esm2015/lib/shared/components/dialogs/dialogs.module.js +6 -2
- package/esm2015/lib/shared/components/dialogs/document-dialog/document-dialog.component.js +28 -14
- package/esm2015/lib/shared/components/dialogs/remove-dialog/remove-dialog.component.js +28 -14
- package/esm2015/lib/shared/components/dialogs/save-or-discard-dialog/save-or-discard-dialog.component.js +28 -14
- package/esm2015/lib/shared/components/error/callback-errors.component.js +34 -23
- package/esm2015/lib/shared/components/error/errors.module.js +6 -2
- package/esm2015/lib/shared/components/error-message/error-message.component.js +14 -11
- package/esm2015/lib/shared/components/error-message/error-message.module.js +8 -4
- package/esm2015/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.js +39 -20
- package/esm2015/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.js +34 -18
- package/esm2015/lib/shared/components/event-start/components/task-assigned/task-assigned.component.js +34 -19
- package/esm2015/lib/shared/components/event-start/components/task-cancelled/task-cancelled.component.js +50 -25
- package/esm2015/lib/shared/components/event-start/components/task-conflict/task-conflict.component.js +39 -20
- package/esm2015/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.js +34 -18
- package/esm2015/lib/shared/components/event-start/event-start.module.js +8 -4
- package/esm2015/lib/shared/components/event-trigger/event-trigger.component.js +27 -17
- package/esm2015/lib/shared/components/event-trigger/event-trigger.module.js +6 -2
- package/esm2015/lib/shared/components/loading-spinner/loading-spinner.component.js +7 -5
- package/esm2015/lib/shared/components/loading-spinner/loading-spinner.module.js +6 -2
- package/esm2015/lib/shared/components/pagination/pagination.component.js +84 -67
- package/esm2015/lib/shared/components/pagination/pagination.module.js +8 -4
- package/esm2015/lib/shared/components/palette/address/write-address-field.component.js +50 -31
- package/esm2015/lib/shared/components/palette/base-field/field-read-label.component.js +10 -8
- package/esm2015/lib/shared/components/palette/case-link/write-case-link-field.component.js +8 -6
- package/esm2015/lib/shared/components/palette/collection/write-collection-field.component.js +45 -32
- package/esm2015/lib/shared/components/palette/complex/read-complex-field-collection-table.component.js +50 -46
- package/esm2015/lib/shared/components/palette/complex/read-complex-field-raw.component.js +7 -6
- package/esm2015/lib/shared/components/palette/complex/read-complex-field-table.component.js +22 -20
- package/esm2015/lib/shared/components/palette/complex/write-complex-field.component.js +5 -4
- package/esm2015/lib/shared/components/palette/date/write-date-field.component.js +16 -12
- package/esm2015/lib/shared/components/palette/datetime-picker/datetime-picker.component.js +29 -17
- package/esm2015/lib/shared/components/palette/document/write-document-field.component.js +31 -25
- package/esm2015/lib/shared/components/palette/dynamic-list/write-dynamic-list-field.component.js +22 -14
- package/esm2015/lib/shared/components/palette/dynamic-radio-list/write-dynamic-radio-list-field.component.js +26 -17
- package/esm2015/lib/shared/components/palette/email/write-email-field.component.js +16 -12
- package/esm2015/lib/shared/components/palette/fixed-list/write-fixed-list-field.component.js +16 -12
- package/esm2015/lib/shared/components/palette/fixed-radio-list/write-fixed-radio-list-field.component.js +20 -15
- package/esm2015/lib/shared/components/palette/history/event-log/event-log-details.component.js +87 -65
- package/esm2015/lib/shared/components/palette/history/event-log/event-log-table.component.js +60 -46
- package/esm2015/lib/shared/components/palette/money-gbp/write-money-gbp-field.component.js +16 -12
- package/esm2015/lib/shared/components/palette/multi-select-list/read-multi-select-list-field.component.js +15 -11
- package/esm2015/lib/shared/components/palette/multi-select-list/write-multi-select-list-field.component.js +19 -14
- package/esm2015/lib/shared/components/palette/number/write-number-field.component.js +16 -12
- package/esm2015/lib/shared/components/palette/order-summary/read-order-summary-field.component.js +43 -25
- package/esm2015/lib/shared/components/palette/order-summary/read-order-summary-row.component.js +7 -6
- package/esm2015/lib/shared/components/palette/organisation/read-organisation-field-raw.component.js +41 -29
- package/esm2015/lib/shared/components/palette/organisation/read-organisation-field-table.component.js +48 -35
- package/esm2015/lib/shared/components/palette/organisation/write-organisation-field.component.js +88 -50
- package/esm2015/lib/shared/components/palette/palette.module.js +52 -48
- package/esm2015/lib/shared/components/palette/phone-uk/write-phone-uk-field.component.js +16 -12
- package/esm2015/lib/shared/components/palette/text/write-text-field.component.js +16 -12
- package/esm2015/lib/shared/components/palette/text-area/write-text-area-field.component.js +16 -12
- package/esm2015/lib/shared/components/palette/yes-no/write-yes-no-field.component.js +20 -15
- package/esm2015/lib/shared/components/search-filters/search-filters.component.js +60 -35
- package/esm2015/lib/shared/components/search-filters/search-filters.module.js +14 -10
- package/esm2015/lib/shared/components/search-result/search-result.component.js +120 -89
- package/esm2015/lib/shared/components/search-result/search-result.module.js +16 -13
- package/esm2015/lib/shared/components/workbasket-filters/workbasket-filters.component.js +64 -46
- package/esm2015/lib/shared/components/workbasket-filters/workbasket-filters.module.js +13 -9
- package/fesm2015/hmcts-ccd-case-ui-toolkit.js +3099 -2089
- package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
- package/lib/components/banners/alert/alert.module.d.ts +2 -1
- package/lib/components/banners/alert/alert.module.d.ts.map +1 -1
- package/lib/components/footer/footers.module.d.ts +2 -1
- package/lib/components/footer/footers.module.d.ts.map +1 -1
- package/lib/components/form/form.module.d.ts +2 -1
- package/lib/components/form/form.module.d.ts.map +1 -1
- package/lib/components/header/headers.module.d.ts +2 -1
- package/lib/components/header/headers.module.d.ts.map +1 -1
- package/lib/components/tabs/tabs.module.d.ts +2 -1
- package/lib/components/tabs/tabs.module.d.ts.map +1 -1
- package/lib/shared/components/activity/activity.module.d.ts +2 -1
- package/lib/shared/components/activity/activity.module.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-editor.module.d.ts +3 -2
- package/lib/shared/components/case-editor/case-editor.module.d.ts.map +1 -1
- package/lib/shared/components/case-history/case-history.module.d.ts +2 -1
- package/lib/shared/components/case-history/case-history.module.d.ts.map +1 -1
- package/lib/shared/components/case-list/case-list.module.d.ts +2 -1
- package/lib/shared/components/case-list/case-list.module.d.ts.map +1 -1
- package/lib/shared/components/case-list-filters/case-list-filters.module.d.ts +2 -1
- package/lib/shared/components/case-list-filters/case-list-filters.module.d.ts.map +1 -1
- package/lib/shared/components/case-timeline/case-timeline.module.d.ts +2 -1
- package/lib/shared/components/case-timeline/case-timeline.module.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-viewer.module.d.ts +6 -4
- package/lib/shared/components/case-viewer/case-viewer.module.d.ts.map +1 -1
- package/lib/shared/components/create-case-filters/create-case-filters.module.d.ts +2 -1
- package/lib/shared/components/create-case-filters/create-case-filters.module.d.ts.map +1 -1
- package/lib/shared/components/dialogs/dialogs.module.d.ts +2 -1
- package/lib/shared/components/dialogs/dialogs.module.d.ts.map +1 -1
- package/lib/shared/components/error/errors.module.d.ts +2 -1
- package/lib/shared/components/error/errors.module.d.ts.map +1 -1
- package/lib/shared/components/error-message/error-message.module.d.ts +2 -1
- package/lib/shared/components/error-message/error-message.module.d.ts.map +1 -1
- package/lib/shared/components/event-start/event-start.module.d.ts +2 -1
- package/lib/shared/components/event-start/event-start.module.d.ts.map +1 -1
- package/lib/shared/components/event-trigger/event-trigger.module.d.ts +2 -1
- package/lib/shared/components/event-trigger/event-trigger.module.d.ts.map +1 -1
- package/lib/shared/components/loading-spinner/loading-spinner.module.d.ts +2 -1
- package/lib/shared/components/loading-spinner/loading-spinner.module.d.ts.map +1 -1
- package/lib/shared/components/pagination/pagination.module.d.ts +2 -1
- package/lib/shared/components/pagination/pagination.module.d.ts.map +1 -1
- package/lib/shared/components/palette/palette.module.d.ts +2 -1
- package/lib/shared/components/palette/palette.module.d.ts.map +1 -1
- package/lib/shared/components/search-filters/search-filters.module.d.ts +2 -1
- package/lib/shared/components/search-filters/search-filters.module.d.ts.map +1 -1
- package/lib/shared/components/search-result/search-result.module.d.ts +3 -2
- package/lib/shared/components/search-result/search-result.module.d.ts.map +1 -1
- package/lib/shared/components/workbasket-filters/workbasket-filters.module.d.ts +2 -1
- package/lib/shared/components/workbasket-filters/workbasket-filters.module.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -10,69 +10,93 @@ import * as i1 from "../../services";
|
|
|
10
10
|
import * as i2 from "../../../app.config";
|
|
11
11
|
import * as i3 from "../../pipes";
|
|
12
12
|
import * as i4 from "../../directives";
|
|
13
|
-
function
|
|
13
|
+
function SearchResultComponent_table_0_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
14
14
|
i0.ɵɵelementStart(0, "div", 11);
|
|
15
15
|
i0.ɵɵelementStart(1, "span", 12);
|
|
16
16
|
i0.ɵɵtext(2, "!");
|
|
17
17
|
i0.ɵɵelementEnd();
|
|
18
18
|
i0.ɵɵelementStart(3, "strong", 13);
|
|
19
19
|
i0.ɵɵelementStart(4, "span", 14);
|
|
20
|
-
i0.ɵɵtext(5
|
|
20
|
+
i0.ɵɵtext(5);
|
|
21
|
+
i0.ɵɵpipe(6, "rpxTranslate");
|
|
21
22
|
i0.ɵɵelementEnd();
|
|
22
|
-
i0.ɵɵtext(
|
|
23
|
-
i0.ɵɵpipe(
|
|
23
|
+
i0.ɵɵtext(7);
|
|
24
|
+
i0.ɵɵpipe(8, "rpxTranslate");
|
|
25
|
+
i0.ɵɵpipe(9, "number");
|
|
26
|
+
i0.ɵɵpipe(10, "rpxTranslate");
|
|
24
27
|
i0.ɵɵelementEnd();
|
|
25
28
|
i0.ɵɵelementEnd();
|
|
26
29
|
} if (rf & 2) {
|
|
27
30
|
const ctx_r3 = i0.ɵɵnextContext(2);
|
|
28
|
-
i0.ɵɵadvance(
|
|
29
|
-
i0.ɵɵ
|
|
31
|
+
i0.ɵɵadvance(5);
|
|
32
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 4, "Warning"));
|
|
33
|
+
i0.ɵɵadvance(2);
|
|
34
|
+
i0.ɵɵtextInterpolate3(" ", i0.ɵɵpipeBind1(8, 6, "The total size of the result set is"), " ", i0.ɵɵpipeBind1(9, 8, ctx_r3.paginationMetadata.total_results_count), ". ", i0.ɵɵpipeBind1(10, 10, "Only the first 10,000 records are available for display."), " ");
|
|
30
35
|
} }
|
|
31
|
-
function
|
|
36
|
+
function SearchResultComponent_table_0_div_6_Template(rf, ctx) { if (rf & 1) {
|
|
32
37
|
i0.ɵɵelementStart(0, "div", 15);
|
|
33
|
-
i0.ɵɵ
|
|
34
|
-
i0.ɵɵ
|
|
35
|
-
i0.ɵɵ
|
|
36
|
-
i0.ɵɵ
|
|
38
|
+
i0.ɵɵpipe(1, "rpxTranslate");
|
|
39
|
+
i0.ɵɵelementStart(2, "span", 16);
|
|
40
|
+
i0.ɵɵtext(3);
|
|
41
|
+
i0.ɵɵpipe(4, "rpxTranslate");
|
|
42
|
+
i0.ɵɵelementStart(5, "span", 17);
|
|
43
|
+
i0.ɵɵtext(6);
|
|
37
44
|
i0.ɵɵelementEnd();
|
|
38
|
-
i0.ɵɵtext(5, " to ");
|
|
39
|
-
i0.ɵɵelementStart(6, "span", 17);
|
|
40
45
|
i0.ɵɵtext(7);
|
|
41
|
-
i0.ɵɵ
|
|
42
|
-
i0.ɵɵtext(8, " of ");
|
|
46
|
+
i0.ɵɵpipe(8, "rpxTranslate");
|
|
43
47
|
i0.ɵɵelementStart(9, "span", 17);
|
|
44
48
|
i0.ɵɵtext(10);
|
|
45
49
|
i0.ɵɵelementEnd();
|
|
46
|
-
i0.ɵɵtext(11
|
|
50
|
+
i0.ɵɵtext(11);
|
|
51
|
+
i0.ɵɵpipe(12, "rpxTranslate");
|
|
52
|
+
i0.ɵɵelementStart(13, "span", 17);
|
|
53
|
+
i0.ɵɵtext(14);
|
|
54
|
+
i0.ɵɵelementEnd();
|
|
55
|
+
i0.ɵɵtext(15);
|
|
56
|
+
i0.ɵɵpipe(16, "rpxTranslate");
|
|
47
57
|
i0.ɵɵelementEnd();
|
|
48
58
|
i0.ɵɵelementEnd();
|
|
49
59
|
} if (rf & 2) {
|
|
50
60
|
const ctx_r4 = i0.ɵɵnextContext(2);
|
|
51
|
-
i0.ɵɵ
|
|
52
|
-
i0.ɵɵadvance(
|
|
61
|
+
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(1, 8, ctx_r4.getTotalResults() + " results have been found"));
|
|
62
|
+
i0.ɵɵadvance(3);
|
|
63
|
+
i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(4, 10, "Showing"), " ");
|
|
64
|
+
i0.ɵɵadvance(3);
|
|
53
65
|
i0.ɵɵtextInterpolate(ctx_r4.getFirstResult());
|
|
66
|
+
i0.ɵɵadvance(1);
|
|
67
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(8, 12, "to"), " ");
|
|
54
68
|
i0.ɵɵadvance(3);
|
|
55
69
|
i0.ɵɵtextInterpolate(ctx_r4.getLastResult());
|
|
70
|
+
i0.ɵɵadvance(1);
|
|
71
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(12, 14, "of"), " ");
|
|
56
72
|
i0.ɵɵadvance(3);
|
|
57
73
|
i0.ɵɵtextInterpolate(ctx_r4.getTotalResults());
|
|
74
|
+
i0.ɵɵadvance(1);
|
|
75
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(16, 16, "results"), "");
|
|
58
76
|
} }
|
|
59
|
-
function
|
|
77
|
+
function SearchResultComponent_table_0_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
60
78
|
const _r12 = i0.ɵɵgetCurrentView();
|
|
61
79
|
i0.ɵɵelementStart(0, "div", 18);
|
|
62
|
-
i0.ɵɵ
|
|
63
|
-
i0.ɵɵelementStart(2, "
|
|
64
|
-
i0.ɵɵ
|
|
65
|
-
i0.ɵɵ
|
|
80
|
+
i0.ɵɵpipe(1, "rpxTranslate");
|
|
81
|
+
i0.ɵɵelementStart(2, "span");
|
|
82
|
+
i0.ɵɵelementStart(3, "a", 19);
|
|
83
|
+
i0.ɵɵlistener("click", function SearchResultComponent_table_0_div_7_Template_a_click_3_listener() { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(2); return ctx_r11.clearSelection(); });
|
|
84
|
+
i0.ɵɵtext(4);
|
|
85
|
+
i0.ɵɵpipe(5, "rpxTranslate");
|
|
66
86
|
i0.ɵɵelementEnd();
|
|
67
87
|
i0.ɵɵelementEnd();
|
|
68
88
|
i0.ɵɵelementEnd();
|
|
89
|
+
} if (rf & 2) {
|
|
90
|
+
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(1, 2, "Reset selection"));
|
|
91
|
+
i0.ɵɵadvance(4);
|
|
92
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 4, "Reset case selection"));
|
|
69
93
|
} }
|
|
70
|
-
function
|
|
94
|
+
function SearchResultComponent_table_0_th_10_Template(rf, ctx) { if (rf & 1) {
|
|
71
95
|
const _r14 = i0.ɵɵgetCurrentView();
|
|
72
96
|
i0.ɵɵelementStart(0, "th", 20);
|
|
73
97
|
i0.ɵɵelementStart(1, "div", 21);
|
|
74
98
|
i0.ɵɵelementStart(2, "input", 22);
|
|
75
|
-
i0.ɵɵlistener("change", function
|
|
99
|
+
i0.ɵɵlistener("change", function SearchResultComponent_table_0_th_10_Template_input_change_2_listener() { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(2); return ctx_r13.selectAll(); });
|
|
76
100
|
i0.ɵɵelementEnd();
|
|
77
101
|
i0.ɵɵelement(3, "label", 23);
|
|
78
102
|
i0.ɵɵelementEnd();
|
|
@@ -82,11 +106,11 @@ function SearchResultComponent_table_0_th_9_Template(rf, ctx) { if (rf & 1) {
|
|
|
82
106
|
i0.ɵɵadvance(2);
|
|
83
107
|
i0.ɵɵproperty("checked", ctx_r6.allOnPageSelected())("disabled", !ctx_r6.canAnyBeShared());
|
|
84
108
|
} }
|
|
85
|
-
function
|
|
109
|
+
function SearchResultComponent_table_0_th_11_div_3_Template(rf, ctx) { if (rf & 1) {
|
|
86
110
|
const _r19 = i0.ɵɵgetCurrentView();
|
|
87
111
|
i0.ɵɵelementStart(0, "div", 27);
|
|
88
112
|
i0.ɵɵelementStart(1, "a", 28);
|
|
89
|
-
i0.ɵɵlistener("click", function
|
|
113
|
+
i0.ɵɵlistener("click", function SearchResultComponent_table_0_th_11_div_3_Template_a_click_1_listener() { i0.ɵɵrestoreView(_r19); const col_r15 = i0.ɵɵnextContext().$implicit; const ctx_r17 = i0.ɵɵnextContext(2); return ctx_r17.sort(col_r15); });
|
|
90
114
|
i0.ɵɵelementEnd();
|
|
91
115
|
i0.ɵɵelementEnd();
|
|
92
116
|
} if (rf & 2) {
|
|
@@ -95,14 +119,14 @@ function SearchResultComponent_table_0_th_10_div_3_Template(rf, ctx) { if (rf &
|
|
|
95
119
|
i0.ɵɵadvance(1);
|
|
96
120
|
i0.ɵɵproperty("innerHTML", ctx_r16.sortWidget(col_r15), i0.ɵɵsanitizeHtml);
|
|
97
121
|
} }
|
|
98
|
-
function
|
|
122
|
+
function SearchResultComponent_table_0_th_11_Template(rf, ctx) { if (rf & 1) {
|
|
99
123
|
const _r22 = i0.ɵɵgetCurrentView();
|
|
100
124
|
i0.ɵɵelementStart(0, "th", 24);
|
|
101
125
|
i0.ɵɵelementStart(1, "div", 25);
|
|
102
|
-
i0.ɵɵlistener("click", function
|
|
126
|
+
i0.ɵɵlistener("click", function SearchResultComponent_table_0_th_11_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r22); const col_r15 = ctx.$implicit; const ctx_r21 = i0.ɵɵnextContext(2); return ctx_r21.sort(col_r15); });
|
|
103
127
|
i0.ɵɵtext(2);
|
|
104
128
|
i0.ɵɵelementEnd();
|
|
105
|
-
i0.ɵɵtemplate(3,
|
|
129
|
+
i0.ɵɵtemplate(3, SearchResultComponent_table_0_th_11_div_3_Template, 2, 1, "div", 26);
|
|
106
130
|
i0.ɵɵelementEnd();
|
|
107
131
|
} if (rf & 2) {
|
|
108
132
|
const col_r15 = ctx.$implicit;
|
|
@@ -113,15 +137,15 @@ function SearchResultComponent_table_0_th_10_Template(rf, ctx) { if (rf & 1) {
|
|
|
113
137
|
i0.ɵɵadvance(1);
|
|
114
138
|
i0.ɵɵproperty("ngIf", ctx_r7.comparator(col_r15));
|
|
115
139
|
} }
|
|
116
|
-
function
|
|
140
|
+
function SearchResultComponent_table_0_th_12_Template(rf, ctx) { if (rf & 1) {
|
|
117
141
|
i0.ɵɵelement(0, "th", 29);
|
|
118
142
|
} }
|
|
119
|
-
function
|
|
143
|
+
function SearchResultComponent_table_0_ng_container_14_tr_1_td_1_Template(rf, ctx) { if (rf & 1) {
|
|
120
144
|
const _r30 = i0.ɵɵgetCurrentView();
|
|
121
145
|
i0.ɵɵelementStart(0, "td", 20);
|
|
122
146
|
i0.ɵɵelementStart(1, "div", 21);
|
|
123
147
|
i0.ɵɵelementStart(2, "input", 32);
|
|
124
|
-
i0.ɵɵlistener("change", function
|
|
148
|
+
i0.ɵɵlistener("change", function SearchResultComponent_table_0_ng_container_14_tr_1_td_1_Template_input_change_2_listener() { i0.ɵɵrestoreView(_r30); const result_r24 = i0.ɵɵnextContext().$implicit; const ctx_r28 = i0.ɵɵnextContext(3); return ctx_r28.changeSelection(result_r24); });
|
|
125
149
|
i0.ɵɵelementEnd();
|
|
126
150
|
i0.ɵɵelement(3, "label", 33);
|
|
127
151
|
i0.ɵɵelementEnd();
|
|
@@ -137,7 +161,7 @@ function SearchResultComponent_table_0_ng_container_13_tr_1_td_1_Template(rf, ct
|
|
|
137
161
|
i0.ɵɵpropertyInterpolate1("for", "select-", result_r24.case_id, "");
|
|
138
162
|
} }
|
|
139
163
|
const _c0 = function () { return ["value"]; };
|
|
140
|
-
function
|
|
164
|
+
function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_ng_container_2_ccd_field_read_1_Template(rf, ctx) { if (rf & 1) {
|
|
141
165
|
i0.ɵɵelement(0, "ccd-field-read", 42);
|
|
142
166
|
} if (rf & 2) {
|
|
143
167
|
const col_r32 = i0.ɵɵnextContext(3).$implicit;
|
|
@@ -145,17 +169,17 @@ function SearchResultComponent_table_0_ng_container_13_tr_1_td_2_a_1_ng_containe
|
|
|
145
169
|
const ctx_r37 = i0.ɵɵnextContext(3);
|
|
146
170
|
i0.ɵɵproperty("caseField", ctx_r37.getColumnsWithPrefix(result_r24.columns[col_r32.case_field_id], result_r24))("contextFields", result_r24.hydrated_case_fields)("elementsToSubstitute", i0.ɵɵpureFunction0(3, _c0));
|
|
147
171
|
} }
|
|
148
|
-
function
|
|
172
|
+
function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_ng_container_2_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
149
173
|
i0.ɵɵtext(0);
|
|
150
174
|
i0.ɵɵpipe(1, "ccdCaseReference");
|
|
151
175
|
} if (rf & 2) {
|
|
152
176
|
const result_r24 = i0.ɵɵnextContext(4).$implicit;
|
|
153
177
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(1, 1, result_r24.case_id));
|
|
154
178
|
} }
|
|
155
|
-
function
|
|
179
|
+
function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
156
180
|
i0.ɵɵelementContainerStart(0, 39);
|
|
157
|
-
i0.ɵɵtemplate(1,
|
|
158
|
-
i0.ɵɵtemplate(2,
|
|
181
|
+
i0.ɵɵtemplate(1, SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_ng_container_2_ccd_field_read_1_Template, 1, 4, "ccd-field-read", 40);
|
|
182
|
+
i0.ɵɵtemplate(2, SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_ng_container_2_ng_template_2_Template, 2, 3, "ng-template", null, 41, i0.ɵɵtemplateRefExtractor);
|
|
159
183
|
i0.ɵɵelementContainerEnd();
|
|
160
184
|
} if (rf & 2) {
|
|
161
185
|
const _r38 = i0.ɵɵreference(3);
|
|
@@ -165,10 +189,10 @@ function SearchResultComponent_table_0_ng_container_13_tr_1_td_2_a_1_ng_containe
|
|
|
165
189
|
i0.ɵɵadvance(1);
|
|
166
190
|
i0.ɵɵproperty("ngIf", ctx_r36.draftPrefixOrGet(col_r32, result_r24))("ngIfElse", _r38);
|
|
167
191
|
} }
|
|
168
|
-
function
|
|
192
|
+
function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_Template(rf, ctx) { if (rf & 1) {
|
|
169
193
|
i0.ɵɵelementStart(0, "a", 37);
|
|
170
194
|
i0.ɵɵpipe(1, "ccdCaseReference");
|
|
171
|
-
i0.ɵɵtemplate(2,
|
|
195
|
+
i0.ɵɵtemplate(2, SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_ng_container_2_Template, 4, 2, "ng-container", 38);
|
|
172
196
|
i0.ɵɵelementEnd();
|
|
173
197
|
} if (rf & 2) {
|
|
174
198
|
const result_r24 = i0.ɵɵnextContext(2).$implicit;
|
|
@@ -178,7 +202,7 @@ function SearchResultComponent_table_0_ng_container_13_tr_1_td_2_a_1_Template(rf
|
|
|
178
202
|
i0.ɵɵadvance(2);
|
|
179
203
|
i0.ɵɵproperty("ngIf", !ctx_r34.hideRows);
|
|
180
204
|
} }
|
|
181
|
-
function
|
|
205
|
+
function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
182
206
|
i0.ɵɵelementStart(0, "div", 39);
|
|
183
207
|
i0.ɵɵelement(1, "ccd-field-read", 42);
|
|
184
208
|
i0.ɵɵelementEnd();
|
|
@@ -190,10 +214,10 @@ function SearchResultComponent_table_0_ng_container_13_tr_1_td_2_div_2_Template(
|
|
|
190
214
|
i0.ɵɵadvance(1);
|
|
191
215
|
i0.ɵɵproperty("caseField", result_r24.columns[col_r32.case_field_id])("contextFields", result_r24.hydrated_case_fields)("elementsToSubstitute", i0.ɵɵpureFunction0(5, _c0));
|
|
192
216
|
} }
|
|
193
|
-
function
|
|
217
|
+
function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_Template(rf, ctx) { if (rf & 1) {
|
|
194
218
|
i0.ɵɵelementStart(0, "td", 34);
|
|
195
|
-
i0.ɵɵtemplate(1,
|
|
196
|
-
i0.ɵɵtemplate(2,
|
|
219
|
+
i0.ɵɵtemplate(1, SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_Template, 3, 5, "a", 35);
|
|
220
|
+
i0.ɵɵtemplate(2, SearchResultComponent_table_0_ng_container_14_tr_1_td_2_div_2_Template, 2, 6, "div", 36);
|
|
197
221
|
i0.ɵɵelementEnd();
|
|
198
222
|
} if (rf & 2) {
|
|
199
223
|
const colIndex_r33 = ctx.index;
|
|
@@ -202,7 +226,7 @@ function SearchResultComponent_table_0_ng_container_13_tr_1_td_2_Template(rf, ct
|
|
|
202
226
|
i0.ɵɵadvance(1);
|
|
203
227
|
i0.ɵɵproperty("ngIf", colIndex_r33 != 0);
|
|
204
228
|
} }
|
|
205
|
-
function
|
|
229
|
+
function SearchResultComponent_table_0_ng_container_14_tr_1_td_3_Template(rf, ctx) { if (rf & 1) {
|
|
206
230
|
i0.ɵɵelementStart(0, "td");
|
|
207
231
|
i0.ɵɵelementStart(1, "div");
|
|
208
232
|
i0.ɵɵelement(2, "ccd-activity", 43);
|
|
@@ -216,11 +240,11 @@ function SearchResultComponent_table_0_ng_container_13_tr_1_td_3_Template(rf, ct
|
|
|
216
240
|
i0.ɵɵadvance(1);
|
|
217
241
|
i0.ɵɵproperty("caseId", result_r24.case_id)("displayMode", ctx_r27.ICON);
|
|
218
242
|
} }
|
|
219
|
-
function
|
|
243
|
+
function SearchResultComponent_table_0_ng_container_14_tr_1_Template(rf, ctx) { if (rf & 1) {
|
|
220
244
|
i0.ɵɵelementStart(0, "tr");
|
|
221
|
-
i0.ɵɵtemplate(1,
|
|
222
|
-
i0.ɵɵtemplate(2,
|
|
223
|
-
i0.ɵɵtemplate(3,
|
|
245
|
+
i0.ɵɵtemplate(1, SearchResultComponent_table_0_ng_container_14_tr_1_td_1_Template, 4, 5, "td", 8);
|
|
246
|
+
i0.ɵɵtemplate(2, SearchResultComponent_table_0_ng_container_14_tr_1_td_2_Template, 3, 2, "td", 31);
|
|
247
|
+
i0.ɵɵtemplate(3, SearchResultComponent_table_0_ng_container_14_tr_1_td_3_Template, 3, 4, "td", 0);
|
|
224
248
|
i0.ɵɵelementEnd();
|
|
225
249
|
} if (rf & 2) {
|
|
226
250
|
const ctx_r23 = i0.ɵɵnextContext(3);
|
|
@@ -232,9 +256,9 @@ function SearchResultComponent_table_0_ng_container_13_tr_1_Template(rf, ctx) {
|
|
|
232
256
|
i0.ɵɵproperty("ngIf", ctx_r23.activityEnabled());
|
|
233
257
|
} }
|
|
234
258
|
const _c1 = function (a0, a1, a2) { return { itemsPerPage: a0, currentPage: a1, totalItems: a2 }; };
|
|
235
|
-
function
|
|
259
|
+
function SearchResultComponent_table_0_ng_container_14_Template(rf, ctx) { if (rf & 1) {
|
|
236
260
|
i0.ɵɵelementContainerStart(0);
|
|
237
|
-
i0.ɵɵtemplate(1,
|
|
261
|
+
i0.ɵɵtemplate(1, SearchResultComponent_table_0_ng_container_14_tr_1_Template, 4, 3, "tr", 30);
|
|
238
262
|
i0.ɵɵpipe(2, "paginate");
|
|
239
263
|
i0.ɵɵelementContainerEnd();
|
|
240
264
|
} if (rf & 2) {
|
|
@@ -242,12 +266,12 @@ function SearchResultComponent_table_0_ng_container_13_Template(rf, ctx) { if (r
|
|
|
242
266
|
i0.ɵɵadvance(1);
|
|
243
267
|
i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(2, 1, ctx_r9.resultView.results, i0.ɵɵpureFunction3(4, _c1, ctx_r9.paginationPageSize, ctx_r9.selected.page, ctx_r9.resultTotal)));
|
|
244
268
|
} }
|
|
245
|
-
function
|
|
269
|
+
function SearchResultComponent_table_0_ng_container_15_tr_1_td_1_Template(rf, ctx) { if (rf & 1) {
|
|
246
270
|
const _r56 = i0.ɵɵgetCurrentView();
|
|
247
271
|
i0.ɵɵelementStart(0, "td", 20);
|
|
248
272
|
i0.ɵɵelementStart(1, "div", 21);
|
|
249
273
|
i0.ɵɵelementStart(2, "input", 44);
|
|
250
|
-
i0.ɵɵlistener("change", function
|
|
274
|
+
i0.ɵɵlistener("change", function SearchResultComponent_table_0_ng_container_15_tr_1_td_1_Template_input_change_2_listener() { i0.ɵɵrestoreView(_r56); const result_r50 = i0.ɵɵnextContext().$implicit; const ctx_r54 = i0.ɵɵnextContext(3); return ctx_r54.changeSelection(result_r50); })("keyup", function SearchResultComponent_table_0_ng_container_15_tr_1_td_1_Template_input_keyup_2_listener($event) { i0.ɵɵrestoreView(_r56); const result_r50 = i0.ɵɵnextContext().$implicit; const ctx_r57 = i0.ɵɵnextContext(3); return ctx_r57.onKeyUp($event, result_r50); });
|
|
251
275
|
i0.ɵɵelementEnd();
|
|
252
276
|
i0.ɵɵelement(3, "label", 33);
|
|
253
277
|
i0.ɵɵelementEnd();
|
|
@@ -262,7 +286,7 @@ function SearchResultComponent_table_0_ng_container_14_tr_1_td_1_Template(rf, ct
|
|
|
262
286
|
i0.ɵɵadvance(1);
|
|
263
287
|
i0.ɵɵpropertyInterpolate1("for", "select-", result_r50.case_id, "");
|
|
264
288
|
} }
|
|
265
|
-
function
|
|
289
|
+
function SearchResultComponent_table_0_ng_container_15_tr_1_td_2_a_1_ng_container_2_ccd_field_read_1_Template(rf, ctx) { if (rf & 1) {
|
|
266
290
|
i0.ɵɵelement(0, "ccd-field-read", 42);
|
|
267
291
|
} if (rf & 2) {
|
|
268
292
|
const col_r60 = i0.ɵɵnextContext(3).$implicit;
|
|
@@ -270,17 +294,17 @@ function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_ng_containe
|
|
|
270
294
|
const ctx_r65 = i0.ɵɵnextContext(3);
|
|
271
295
|
i0.ɵɵproperty("caseField", ctx_r65.getColumnsWithPrefix(result_r50.columns[col_r60.case_field_id], result_r50))("contextFields", result_r50.hydrated_case_fields)("elementsToSubstitute", i0.ɵɵpureFunction0(3, _c0));
|
|
272
296
|
} }
|
|
273
|
-
function
|
|
297
|
+
function SearchResultComponent_table_0_ng_container_15_tr_1_td_2_a_1_ng_container_2_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
274
298
|
i0.ɵɵtext(0);
|
|
275
299
|
i0.ɵɵpipe(1, "ccdCaseReference");
|
|
276
300
|
} if (rf & 2) {
|
|
277
301
|
const result_r50 = i0.ɵɵnextContext(4).$implicit;
|
|
278
302
|
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(1, 1, result_r50.case_id));
|
|
279
303
|
} }
|
|
280
|
-
function
|
|
304
|
+
function SearchResultComponent_table_0_ng_container_15_tr_1_td_2_a_1_ng_container_2_Template(rf, ctx) { if (rf & 1) {
|
|
281
305
|
i0.ɵɵelementContainerStart(0, 39);
|
|
282
|
-
i0.ɵɵtemplate(1,
|
|
283
|
-
i0.ɵɵtemplate(2,
|
|
306
|
+
i0.ɵɵtemplate(1, SearchResultComponent_table_0_ng_container_15_tr_1_td_2_a_1_ng_container_2_ccd_field_read_1_Template, 1, 4, "ccd-field-read", 40);
|
|
307
|
+
i0.ɵɵtemplate(2, SearchResultComponent_table_0_ng_container_15_tr_1_td_2_a_1_ng_container_2_ng_template_2_Template, 2, 3, "ng-template", null, 41, i0.ɵɵtemplateRefExtractor);
|
|
284
308
|
i0.ɵɵelementContainerEnd();
|
|
285
309
|
} if (rf & 2) {
|
|
286
310
|
const _r66 = i0.ɵɵreference(3);
|
|
@@ -290,10 +314,10 @@ function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_ng_containe
|
|
|
290
314
|
i0.ɵɵadvance(1);
|
|
291
315
|
i0.ɵɵproperty("ngIf", ctx_r64.draftPrefixOrGet(col_r60, result_r50))("ngIfElse", _r66);
|
|
292
316
|
} }
|
|
293
|
-
function
|
|
317
|
+
function SearchResultComponent_table_0_ng_container_15_tr_1_td_2_a_1_Template(rf, ctx) { if (rf & 1) {
|
|
294
318
|
i0.ɵɵelementStart(0, "a", 37);
|
|
295
319
|
i0.ɵɵpipe(1, "ccdCaseReference");
|
|
296
|
-
i0.ɵɵtemplate(2,
|
|
320
|
+
i0.ɵɵtemplate(2, SearchResultComponent_table_0_ng_container_15_tr_1_td_2_a_1_ng_container_2_Template, 4, 2, "ng-container", 38);
|
|
297
321
|
i0.ɵɵelementEnd();
|
|
298
322
|
} if (rf & 2) {
|
|
299
323
|
const result_r50 = i0.ɵɵnextContext(2).$implicit;
|
|
@@ -303,7 +327,7 @@ function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_a_1_Template(rf
|
|
|
303
327
|
i0.ɵɵadvance(2);
|
|
304
328
|
i0.ɵɵproperty("ngIf", !ctx_r62.hideRows);
|
|
305
329
|
} }
|
|
306
|
-
function
|
|
330
|
+
function SearchResultComponent_table_0_ng_container_15_tr_1_td_2_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
307
331
|
i0.ɵɵelementStart(0, "div", 39);
|
|
308
332
|
i0.ɵɵelement(1, "ccd-field-read", 42);
|
|
309
333
|
i0.ɵɵelementEnd();
|
|
@@ -315,10 +339,10 @@ function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_div_2_Template(
|
|
|
315
339
|
i0.ɵɵadvance(1);
|
|
316
340
|
i0.ɵɵproperty("caseField", result_r50.columns[col_r60.case_field_id])("contextFields", result_r50.hydrated_case_fields)("elementsToSubstitute", i0.ɵɵpureFunction0(5, _c0));
|
|
317
341
|
} }
|
|
318
|
-
function
|
|
342
|
+
function SearchResultComponent_table_0_ng_container_15_tr_1_td_2_Template(rf, ctx) { if (rf & 1) {
|
|
319
343
|
i0.ɵɵelementStart(0, "td", 34);
|
|
320
|
-
i0.ɵɵtemplate(1,
|
|
321
|
-
i0.ɵɵtemplate(2,
|
|
344
|
+
i0.ɵɵtemplate(1, SearchResultComponent_table_0_ng_container_15_tr_1_td_2_a_1_Template, 3, 5, "a", 35);
|
|
345
|
+
i0.ɵɵtemplate(2, SearchResultComponent_table_0_ng_container_15_tr_1_td_2_div_2_Template, 2, 6, "div", 36);
|
|
322
346
|
i0.ɵɵelementEnd();
|
|
323
347
|
} if (rf & 2) {
|
|
324
348
|
const colIndex_r61 = ctx.index;
|
|
@@ -327,7 +351,7 @@ function SearchResultComponent_table_0_ng_container_14_tr_1_td_2_Template(rf, ct
|
|
|
327
351
|
i0.ɵɵadvance(1);
|
|
328
352
|
i0.ɵɵproperty("ngIf", colIndex_r61 != 0);
|
|
329
353
|
} }
|
|
330
|
-
function
|
|
354
|
+
function SearchResultComponent_table_0_ng_container_15_tr_1_td_3_Template(rf, ctx) { if (rf & 1) {
|
|
331
355
|
i0.ɵɵelementStart(0, "td");
|
|
332
356
|
i0.ɵɵelementStart(1, "div");
|
|
333
357
|
i0.ɵɵelement(2, "ccd-activity", 43);
|
|
@@ -341,11 +365,11 @@ function SearchResultComponent_table_0_ng_container_14_tr_1_td_3_Template(rf, ct
|
|
|
341
365
|
i0.ɵɵadvance(1);
|
|
342
366
|
i0.ɵɵproperty("caseId", result_r50.case_id)("displayMode", ctx_r53.ICON);
|
|
343
367
|
} }
|
|
344
|
-
function
|
|
368
|
+
function SearchResultComponent_table_0_ng_container_15_tr_1_Template(rf, ctx) { if (rf & 1) {
|
|
345
369
|
i0.ɵɵelementStart(0, "tr");
|
|
346
|
-
i0.ɵɵtemplate(1,
|
|
347
|
-
i0.ɵɵtemplate(2,
|
|
348
|
-
i0.ɵɵtemplate(3,
|
|
370
|
+
i0.ɵɵtemplate(1, SearchResultComponent_table_0_ng_container_15_tr_1_td_1_Template, 4, 5, "td", 8);
|
|
371
|
+
i0.ɵɵtemplate(2, SearchResultComponent_table_0_ng_container_15_tr_1_td_2_Template, 3, 2, "td", 31);
|
|
372
|
+
i0.ɵɵtemplate(3, SearchResultComponent_table_0_ng_container_15_tr_1_td_3_Template, 3, 4, "td", 0);
|
|
349
373
|
i0.ɵɵelementEnd();
|
|
350
374
|
} if (rf & 2) {
|
|
351
375
|
const ctx_r49 = i0.ɵɵnextContext(3);
|
|
@@ -356,9 +380,9 @@ function SearchResultComponent_table_0_ng_container_14_tr_1_Template(rf, ctx) {
|
|
|
356
380
|
i0.ɵɵadvance(1);
|
|
357
381
|
i0.ɵɵproperty("ngIf", ctx_r49.activityEnabled());
|
|
358
382
|
} }
|
|
359
|
-
function
|
|
383
|
+
function SearchResultComponent_table_0_ng_container_15_Template(rf, ctx) { if (rf & 1) {
|
|
360
384
|
i0.ɵɵelementContainerStart(0);
|
|
361
|
-
i0.ɵɵtemplate(1,
|
|
385
|
+
i0.ɵɵtemplate(1, SearchResultComponent_table_0_ng_container_15_tr_1_Template, 4, 3, "tr", 30);
|
|
362
386
|
i0.ɵɵpipe(2, "paginate");
|
|
363
387
|
i0.ɵɵpipe(3, "ccdSortSearchResult");
|
|
364
388
|
i0.ɵɵelementContainerEnd();
|
|
@@ -372,28 +396,29 @@ function SearchResultComponent_table_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
372
396
|
i0.ɵɵelementStart(1, "caption");
|
|
373
397
|
i0.ɵɵelementStart(2, "h2", 3);
|
|
374
398
|
i0.ɵɵtext(3);
|
|
399
|
+
i0.ɵɵpipe(4, "rpxTranslate");
|
|
375
400
|
i0.ɵɵelementEnd();
|
|
376
|
-
i0.ɵɵtemplate(
|
|
377
|
-
i0.ɵɵtemplate(
|
|
378
|
-
i0.ɵɵtemplate(
|
|
401
|
+
i0.ɵɵtemplate(5, SearchResultComponent_table_0_div_5_Template, 11, 12, "div", 4);
|
|
402
|
+
i0.ɵɵtemplate(6, SearchResultComponent_table_0_div_6_Template, 17, 18, "div", 5);
|
|
403
|
+
i0.ɵɵtemplate(7, SearchResultComponent_table_0_div_7_Template, 6, 6, "div", 6);
|
|
379
404
|
i0.ɵɵelementEnd();
|
|
380
|
-
i0.ɵɵelementStart(
|
|
381
|
-
i0.ɵɵelementStart(
|
|
382
|
-
i0.ɵɵtemplate(
|
|
383
|
-
i0.ɵɵtemplate(
|
|
384
|
-
i0.ɵɵtemplate(
|
|
405
|
+
i0.ɵɵelementStart(8, "thead");
|
|
406
|
+
i0.ɵɵelementStart(9, "tr", 7);
|
|
407
|
+
i0.ɵɵtemplate(10, SearchResultComponent_table_0_th_10_Template, 4, 2, "th", 8);
|
|
408
|
+
i0.ɵɵtemplate(11, SearchResultComponent_table_0_th_11_Template, 4, 4, "th", 9);
|
|
409
|
+
i0.ɵɵtemplate(12, SearchResultComponent_table_0_th_12_Template, 1, 0, "th", 10);
|
|
385
410
|
i0.ɵɵelementEnd();
|
|
386
411
|
i0.ɵɵelementEnd();
|
|
387
|
-
i0.ɵɵelementStart(
|
|
388
|
-
i0.ɵɵtemplate(
|
|
389
|
-
i0.ɵɵtemplate(
|
|
412
|
+
i0.ɵɵelementStart(13, "tbody");
|
|
413
|
+
i0.ɵɵtemplate(14, SearchResultComponent_table_0_ng_container_14_Template, 3, 8, "ng-container", 0);
|
|
414
|
+
i0.ɵɵtemplate(15, SearchResultComponent_table_0_ng_container_15_Template, 4, 11, "ng-container", 0);
|
|
390
415
|
i0.ɵɵelementEnd();
|
|
391
416
|
i0.ɵɵelementEnd();
|
|
392
417
|
} if (rf & 2) {
|
|
393
418
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
394
419
|
i0.ɵɵadvance(3);
|
|
395
|
-
i0.ɵɵtextInterpolate(ctx_r0.caseState ? "Your cases" : "Search result");
|
|
396
|
-
i0.ɵɵadvance(
|
|
420
|
+
i0.ɵɵtextInterpolate(ctx_r0.caseState ? "Your cases" : i0.ɵɵpipeBind1(4, 9, "Search result"));
|
|
421
|
+
i0.ɵɵadvance(2);
|
|
397
422
|
i0.ɵɵproperty("ngIf", ctx_r0.paginationLimitEnforced);
|
|
398
423
|
i0.ɵɵadvance(1);
|
|
399
424
|
i0.ɵɵproperty("ngIf", ctx_r0.hasResults() || ctx_r0.hasDrafts());
|
|
@@ -421,8 +446,14 @@ function SearchResultComponent_ccd_pagination_1_Template(rf, ctx) { if (rf & 1)
|
|
|
421
446
|
} }
|
|
422
447
|
function SearchResultComponent_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
423
448
|
i0.ɵɵelementStart(0, "div", 46);
|
|
424
|
-
i0.ɵɵ
|
|
449
|
+
i0.ɵɵpipe(1, "rpxTranslate");
|
|
450
|
+
i0.ɵɵtext(2);
|
|
451
|
+
i0.ɵɵpipe(3, "rpxTranslate");
|
|
425
452
|
i0.ɵɵelementEnd();
|
|
453
|
+
} if (rf & 2) {
|
|
454
|
+
i0.ɵɵattribute("aria-describedby", i0.ɵɵpipeBind1(1, 2, "No cases found. Try using different filters."));
|
|
455
|
+
i0.ɵɵadvance(2);
|
|
456
|
+
i0.ɵɵtextInterpolate1("\n", i0.ɵɵpipeBind1(3, 4, "No cases found. Try using different filters."), "\n");
|
|
426
457
|
} }
|
|
427
458
|
export class SearchResultComponent {
|
|
428
459
|
constructor(searchResultViewItemComparatorFactory, appConfig, activityService, caseReferencePipe, placeholderService, browserService, sessionStorageService) {
|
|
@@ -758,10 +789,10 @@ SearchResultComponent.PARAM_JURISDICTION = 'jurisdiction';
|
|
|
758
789
|
SearchResultComponent.PARAM_CASE_TYPE = 'case-type';
|
|
759
790
|
SearchResultComponent.PARAM_CASE_STATE = 'case-state';
|
|
760
791
|
SearchResultComponent.ɵfac = function SearchResultComponent_Factory(t) { return new (t || SearchResultComponent)(i0.ɵɵdirectiveInject(i1.SearchResultViewItemComparatorFactory), i0.ɵɵdirectiveInject(i2.AbstractAppConfig), i0.ɵɵdirectiveInject(i1.ActivityService), i0.ɵɵdirectiveInject(i3.CaseReferencePipe), i0.ɵɵdirectiveInject(i4.PlaceholderService), i0.ɵɵdirectiveInject(i1.BrowserService), i0.ɵɵdirectiveInject(i1.SessionStorageService)); };
|
|
761
|
-
SearchResultComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SearchResultComponent, selectors: [["ccd-search-result"]], inputs: { caseLinkUrlTemplate: "caseLinkUrlTemplate", jurisdiction: "jurisdiction", caseType: "caseType", caseState: "caseState", caseFilterFG: "caseFilterFG", resultView: "resultView", page: "page", paginationMetadata: "paginationMetadata", metadataFields: "metadataFields", selectionEnabled: "selectionEnabled", showOnlySelected: "showOnlySelected", preSelectedCases: "preSelectedCases", consumerSortingEnabled: "consumerSortingEnabled" }, outputs: { selection: "selection", changePage: "changePage", clickCase: "clickCase", sortHandler: "sortHandler" }, features: [i0.ɵɵNgOnChangesFeature], decls: 3, vars: 3, consts: [[4, "ngIf"], [3, "visibilityLabel", "autoHide", "maxSize", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel", "pageChange", 4, "ngIf"], ["class", "notification",
|
|
762
|
-
i0.ɵɵtemplate(0, SearchResultComponent_table_0_Template,
|
|
792
|
+
SearchResultComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SearchResultComponent, selectors: [["ccd-search-result"]], inputs: { caseLinkUrlTemplate: "caseLinkUrlTemplate", jurisdiction: "jurisdiction", caseType: "caseType", caseState: "caseState", caseFilterFG: "caseFilterFG", resultView: "resultView", page: "page", paginationMetadata: "paginationMetadata", metadataFields: "metadataFields", selectionEnabled: "selectionEnabled", showOnlySelected: "showOnlySelected", preSelectedCases: "preSelectedCases", consumerSortingEnabled: "consumerSortingEnabled" }, outputs: { selection: "selection", changePage: "changePage", clickCase: "clickCase", sortHandler: "sortHandler" }, features: [i0.ɵɵNgOnChangesFeature], decls: 3, vars: 3, consts: [[4, "ngIf"], [3, "visibilityLabel", "autoHide", "maxSize", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel", "pageChange", 4, "ngIf"], ["class", "notification", 4, "ngIf"], ["id", "search-result-heading__text", "tabindex", "-1", 1, "heading-h2"], ["class", "govuk-warning-text pagination-limit-warning", 4, "ngIf"], ["class", "pagination-top", "role", "status", 4, "ngIf"], ["class", "reset-selection", 4, "ngIf"], ["scope", "row"], ["class", "govuk-table__checkbox", "scope", "col", 4, "ngIf"], ["class", "search-result-column-header", 4, "ngFor", "ngForOf"], ["style", "width: 110px;", 4, "ngIf"], [1, "govuk-warning-text", "pagination-limit-warning"], ["aria-hidden", "true", 1, "govuk-warning-text__icon"], [1, "govuk-warning-text__text"], [1, "govuk-warning-text__assistive"], ["role", "status", 1, "pagination-top"], ["id", "search-result-summary__text", 1, "text-16"], [1, "govuk-!-font-weight-bold"], [1, "reset-selection"], ["href", "javascript:void(0)", 1, "search-result-reset-link", 3, "click"], ["scope", "col", 1, "govuk-table__checkbox"], [1, "govuk-checkboxes__item"], ["id", "select-all", "name", "select-all", "type", "checkbox", 1, "govuk-checkboxes__input", 3, "checked", "disabled", "change"], ["for", "select-all", 1, "govuk-label", "govuk-checkboxes__label"], [1, "search-result-column-header"], [1, "search-result-column-label", 3, "click"], ["class", "search-result-column-sort", 4, "ngIf"], [1, "search-result-column-sort"], ["href", "javascript:void(0)", 1, "sort-widget", 3, "innerHTML", "click"], [2, "width", "110px"], [4, "ngFor", "ngForOf"], ["class", "search-result-column-cell", "scope", "row", 4, "ngFor", "ngForOf"], ["type", "checkbox", 1, "govuk-checkboxes__input", 3, "id", "name", "checked", "disabled", "change"], [1, "govuk-label", "govuk-checkboxes__label", 3, "for"], ["scope", "row", 1, "search-result-column-cell"], ["class", "govuk-link", 3, "routerLink", 4, "ngIf"], ["class", "text-16", 3, "visibility", 4, "ngIf"], [1, "govuk-link", 3, "routerLink"], ["class", "text-16", 4, "ngIf"], [1, "text-16"], ["ccdLabelSubstitutor", "", 3, "caseField", "contextFields", "elementsToSubstitute", 4, "ngIf", "ngIfElse"], ["case_reference", ""], ["ccdLabelSubstitutor", "", 3, "caseField", "contextFields", "elementsToSubstitute"], [3, "caseId", "displayMode"], ["type", "checkbox", 1, "govuk-checkboxes__input", 3, "id", "name", "checked", "disabled", "change", "keyup"], [3, "visibilityLabel", "autoHide", "maxSize", "screenReaderPaginationLabel", "screenReaderPageLabel", "screenReaderCurrentLabel", "pageChange"], [1, "notification"]], template: function SearchResultComponent_Template(rf, ctx) { if (rf & 1) {
|
|
793
|
+
i0.ɵɵtemplate(0, SearchResultComponent_table_0_Template, 16, 11, "table", 0);
|
|
763
794
|
i0.ɵɵtemplate(1, SearchResultComponent_ccd_pagination_1_Template, 1, 6, "ccd-pagination", 1);
|
|
764
|
-
i0.ɵɵtemplate(2, SearchResultComponent_div_2_Template,
|
|
795
|
+
i0.ɵɵtemplate(2, SearchResultComponent_div_2_Template, 4, 6, "div", 2);
|
|
765
796
|
} if (rf & 2) {
|
|
766
797
|
i0.ɵɵproperty("ngIf", ctx.hasResults() || ctx.hasDrafts());
|
|
767
798
|
i0.ɵɵadvance(1);
|
|
@@ -811,4 +842,4 @@ SearchResultComponent.ɵcmp = i0.ɵɵdefineComponent({ type: SearchResultCompone
|
|
|
811
842
|
}], sortHandler: [{
|
|
812
843
|
type: Output
|
|
813
844
|
}] }); })();
|
|
814
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvc2VhcmNoLXJlc3VsdC9zZWFyY2gtcmVzdWx0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9zZWFyY2gtcmVzdWx0L3NlYXJjaC1yZXN1bHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUNsRCxZQUFZLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUNWLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLHFDQUFxQyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7SUNKM0gsK0JBQXlGO0lBQ3ZGLGdDQUEwRDtJQUFBLGlCQUFDO0lBQUEsaUJBQU87SUFDbEUsa0NBQXlDO0lBQ3ZDLGdDQUE0QztJQUFBLHVCQUFPO0lBQUEsaUJBQU87SUFDMUQsWUFDRjs7SUFBQSxpQkFBUztJQUNYLGlCQUFNOzs7SUFGRixlQUNGO0lBREUsa01BQ0Y7OztJQUdGLCtCQUNrRjtJQUNoRixnQ0FBdUQ7SUFBQSx3QkFDckQ7SUFBQSxnQ0FBdUM7SUFBQSxZQUFzQjtJQUFBLGlCQUFPO0lBQ3BFLG9CQUNBO0lBQUEsZ0NBQXVDO0lBQUEsWUFBcUI7SUFBQSxpQkFBTztJQUNuRSxvQkFDQTtJQUFBLGdDQUF1QztJQUFBLGFBQXVCO0lBQUEsaUJBQU87SUFBQyx5QkFBTztJQUFBLGlCQUFPO0lBQ3hGLGlCQUFNOzs7SUFQSixrR0FBaUU7SUFFeEIsZUFBc0I7SUFBdEIsNkNBQXNCO0lBRXRCLGVBQXFCO0lBQXJCLDRDQUFxQjtJQUVyQixlQUF1QjtJQUF2Qiw4Q0FBdUI7Ozs7SUFFbEUsK0JBQ29DO0lBQ2xDLDRCQUFNO0lBQUEsNkJBQXlGO0lBQTNCLG9NQUEwQjtJQUFDLG9DQUFvQjtJQUFBLGlCQUFJO0lBQUEsaUJBQU87SUFDaEksaUJBQU07Ozs7SUFJSiw4QkFBdUU7SUFDckUsK0JBQW9DO0lBQ2xDLGlDQUFpTDtJQUF4RixvTUFBc0I7SUFBL0csaUJBQWlMO0lBQ2pMLDRCQUNRO0lBQ1YsaUJBQU07SUFDUixpQkFBSzs7O0lBSitHLGVBQStCO0lBQS9CLG9EQUErQixzQ0FBQTs7OztJQU83SSwrQkFBK0Q7SUFDN0QsNkJBQW1HO0lBQWhHLHFQQUFtQjtJQUE2RSxpQkFBSTtJQUN6RyxpQkFBTTs7OztJQUR1QyxlQUE2QjtJQUE3QiwwRUFBNkI7Ozs7SUFIaEYsOEJBQStLO0lBQ3pLLCtCQUE0RDtJQUFwQixrT0FBbUI7SUFBQyxZQUFhO0lBQUEsaUJBQU07SUFDL0UscUZBRU07SUFDWixpQkFBSzs7OztJQUwyRSwwSUFBOEY7SUFDNUcsZUFBYTtJQUFiLG1DQUFhO0lBQ25FLGVBQXFCO0lBQXJCLGlEQUFxQjs7O0lBSWpDLHlCQUF5RDs7OztJQVF2RCw4QkFBdUU7SUFDckUsK0JBQW9DO0lBQ2xDLGlDQUN3SDtJQUF0RywwUkFBa0M7SUFEcEQsaUJBQ3dIO0lBQ3hILDRCQUNRO0lBQ1YsaUJBQU07SUFDUixpQkFBSzs7OztJQUxzQyxlQUFnQztJQUFoQyxrRUFBZ0M7SUFBQyxvRUFBa0M7SUFDckQsd0RBQThCLDhDQUFBO0lBQ2hDLGVBQWlDO0lBQWpDLG1FQUFpQzs7OztJQVFsRixxQ0FHb0U7Ozs7O0lBRmhDLCtHQUE2RSxrREFBQSxvREFBQTs7O0lBR3BGLFlBQXFDOzs7O0lBQXJDLDhEQUFxQzs7O0lBTHBFLGlDQUFnRDtJQUM5QyxrSkFHb0U7SUFDcEUsNktBQWdGO0lBQ2xGLDBCQUFlOzs7Ozs7SUFMSSxlQUFxQztJQUFyQyxvRUFBcUMsa0JBQUE7OztJQUgxRCw2QkFDOEc7O0lBQzVHLCtIQU1lO0lBQ2pCLGlCQUFJOzs7O0lBUkYseUhBQXdGO0lBRGpFLDJFQUFpRDtJQUV6QyxlQUFlO0lBQWYsd0NBQWU7OztJQVFoRCwrQkFBZ0c7SUFDOUYscUNBR29FO0lBQ3RFLGlCQUFNOzs7OztJQUxxQyxxRUFBb0Q7SUFFN0UsZUFBK0M7SUFBL0MscUVBQStDLGtEQUFBLG9EQUFBOzs7SUFibkUsOEJBQStHO0lBQzdHLHFHQVNJO0lBQ0oseUdBS007SUFDUixpQkFBSzs7O0lBaEJDLGVBQW1CO0lBQW5CLHdDQUFtQjtJQVVqQixlQUFtQjtJQUFuQix3Q0FBbUI7OztJQU8zQiwwQkFBOEI7SUFDNUIsMkJBQTBEO0lBQ3hELG1DQUE0RTtJQUM5RSxpQkFBTTtJQUNSLGlCQUFLOzs7O0lBSEUsZUFBb0Q7SUFBcEQscUVBQW9EO0lBQ3pDLGVBQXlCO0lBQXpCLDJDQUF5Qiw2QkFBQTs7O0lBN0I3QywwQkFBb0o7SUFDbEosaUdBT0s7SUFDTCxrR0FpQks7SUFDTCxpR0FJSztJQUNQLGlCQUFLOzs7SUEvQkUsZUFBc0I7SUFBdEIsK0NBQXNCO0lBUTJCLGVBQXVCO0lBQXZCLG9EQUF1QjtJQWtCeEUsZUFBdUI7SUFBdkIsZ0RBQXVCOzs7O0lBNUJoQyw2QkFBNkM7SUFDM0MsNkZBZ0NLOztJQUNQLDBCQUFlOzs7SUFqQ1UsZUFBMkg7SUFBM0gsMEtBQTJIOzs7O0lBcUNoSiw4QkFBdUU7SUFDckUsK0JBQW9DO0lBQ2xDLGlDQUMwSjtJQUF4SSwwUkFBa0MsaVJBQUE7SUFEcEQsaUJBQzBKO0lBQzFKLDRCQUNRO0lBQ1YsaUJBQU07SUFDUixpQkFBSzs7OztJQUxzQyxlQUFnQztJQUFoQyxrRUFBZ0M7SUFBQyxvRUFBa0M7SUFDckQsd0RBQThCLDhDQUFBO0lBQ2hDLGVBQWlDO0lBQWpDLG1FQUFpQzs7O0lBU2xGLHFDQUdvRTs7Ozs7SUFGaEMsK0dBQTZFLGtEQUFBLG9EQUFBOzs7SUFHcEYsWUFBcUM7Ozs7SUFBckMsOERBQXFDOzs7SUFMcEUsaUNBQWdEO0lBQzlDLGtKQUdvRTtJQUNwRSw2S0FBZ0Y7SUFDbEYsMEJBQWU7Ozs7OztJQUxJLGVBQXFDO0lBQXJDLG9FQUFxQyxrQkFBQTs7O0lBSDFELDZCQUM4Rzs7SUFDNUcsK0hBTWU7SUFDakIsaUJBQUk7Ozs7SUFSRix5SEFBd0Y7SUFEakUsMkVBQWlEO0lBRXpDLGVBQWU7SUFBZix3Q0FBZTs7O0lBUWhELCtCQUFnRztJQUM5RixxQ0FHb0U7SUFDdEUsaUJBQU07Ozs7O0lBTHFDLHFFQUFvRDtJQUU3RSxlQUErQztJQUEvQyxxRUFBK0Msa0RBQUEsb0RBQUE7OztJQWRuRSw4QkFBK0c7SUFFN0cscUdBU0k7SUFDSix5R0FLTTtJQUNSLGlCQUFLOzs7SUFoQkMsZUFBbUI7SUFBbkIsd0NBQW1CO0lBVWpCLGVBQW1CO0lBQW5CLHdDQUFtQjs7O0lBTzNCLDBCQUE4QjtJQUM1QiwyQkFBMEQ7SUFDeEQsbUNBQTRFO0lBQzlFLGlCQUFNO0lBQ1IsaUJBQUs7Ozs7SUFIRSxlQUFvRDtJQUFwRCxxRUFBb0Q7SUFDekMsZUFBeUI7SUFBekIsMkNBQXlCLDZCQUFBOzs7SUE5QjdDLDBCQUEyTDtJQUN6TCxpR0FPSztJQUNMLGtHQWtCSztJQUNMLGlHQUlLO0lBQ1AsaUJBQUs7OztJQWhDRSxlQUFzQjtJQUF0QiwrQ0FBc0I7SUFRMkIsZUFBdUI7SUFBdkIsb0RBQXVCO0lBbUJ4RSxlQUF1QjtJQUF2QixnREFBdUI7OztJQTdCaEMsNkJBQThDO0lBQzVDLDZGQWlDSzs7O0lBQ1AsMEJBQWU7OztJQWxDVSxlQUFrSztJQUFsSyw0TkFBa0s7OztJQXBGL0wsNkJBQTJDO0lBQ3pDLCtCQUFTO0lBQ1AsNkJBQXNFO0lBQUEsWUFBZ0Q7SUFBQSxpQkFBSztJQUUzSCw4RUFNTTtJQUVOLCtFQVFNO0lBQ04sOEVBR007SUFDUixpQkFBVTtJQUNWLDZCQUFPO0lBQ0wsNkJBQWdCO0lBQ2QsNEVBTUs7SUFDTCw4RUFLSztJQUNMLCtFQUF5RDtJQUMzRCxpQkFBSztJQUNQLGlCQUFRO0lBQ1IsOEJBQU87SUFHTCxrR0FrQ2U7SUFFZixtR0FtQ2U7SUFFakIsaUJBQVE7SUFDVixpQkFBUTs7O0lBdkhrRSxlQUFnRDtJQUFoRCx1RUFBZ0Q7SUFFNUQsZUFBNkI7SUFBN0IscURBQTZCO0lBUWpGLGVBQW1DO0lBQW5DLGdFQUFtQztJQVNuQyxlQUF1RDtJQUF2RCw2RkFBdUQ7SUFPdEQsZUFBc0I7SUFBdEIsOENBQXNCO0lBT1AsZUFBcUI7SUFBckIsbURBQXFCO0lBTXBDLGVBQXVCO0lBQXZCLCtDQUF1QjtJQU1mLGVBQTRCO0lBQTVCLG9EQUE0QjtJQW9DNUIsZUFBNkI7SUFBN0IscURBQTZCOzs7O0lBd0NoRCwwQ0FRaUQ7SUFOL0MsbU9BQStCO0lBTWdCLGlCQUFpQjs7O0lBTGhFLHdFQUFtRCxrQkFBQSxjQUFBLDZDQUFBLHNDQUFBLDhDQUFBOzs7SUFPckQsK0JBQzREO0lBQzFELCtEQUNGO0lBQUEsaUJBQU07O0FEekhOLE1BQU0sT0FBTyxxQkFBcUI7SUFxRmhDLFlBQ0UscUNBQTRFLEVBQzVFLFNBQTRCLEVBQ1gsZUFBZ0MsRUFDaEMsaUJBQW9DLEVBQ3BDLGtCQUFzQyxFQUN0QyxjQUE4QixFQUM5QixxQkFBNEM7UUFKNUMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUF1QjtRQXRGOUMsK0JBQTBCLEdBQUcsS0FBSyxDQUFDO1FBRTdDLFNBQUksR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBOEJ4QixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFHekIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBR3pCLHFCQUFnQixHQUEyQixFQUFFLENBQUM7UUFHOUMsMkJBQXNCLEdBQUcsS0FBSyxDQUFDO1FBRy9CLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBMEIsQ0FBQztRQUd2RCxlQUFVLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFHbkQsY0FBUyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBR2xELGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFcEQsNEJBQXVCLEdBQUcsS0FBSyxDQUFDO1FBTWhDLGFBQVEsR0FRWCxFQUFFLENBQUM7UUFNQSwyQkFBc0IsR0FBdUQsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1FBRXZILGtCQUFhLEdBQTJCLEVBQUUsQ0FBQztRQVdoRCxJQUFJLENBQUMscUNBQXFDLEdBQUcscUNBQXFDLENBQUM7UUFDbkYsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzVELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDekIsS0FBSyxNQUFNLGVBQWUsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQ25ELElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sS0FBSyxlQUFlLENBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ3RHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO2lCQUMxQzthQUNGO1NBQ0Y7UUFDRCxJQUFJLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sV0FBVyxDQUFDLE9BQXNCO1FBRXZDLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBRXRCLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDO1lBQ2hDLDhEQUE4RDtZQUM5RCxJQUFJLENBQUMsVUFBVSxHQUFHO2dCQUNoQixPQUFPLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDekMsT0FBTyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQ3pDLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVM7YUFDckMsQ0FBQztZQUVGLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQXlCLEVBQUUsQ0FBeUIsRUFBRSxFQUFFO2dCQUM5RyxPQUFPLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ2hGO1FBQ0QsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUM7U0FDckQ7SUFDSCxDQUFDO0lBRUQsSUFBVyxXQUFXO1FBQ3BCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQztRQUMxRCxNQUFNLG9CQUFvQixHQUFHLEtBQUssSUFBSSxJQUFJLENBQUMsMEJBQTBCLENBQUM7UUFDdEUsSUFBSSxDQUFDLHVCQUF1QixHQUFHLG9CQUFvQixDQUFDO1FBRXBELE9BQU8sb0JBQW9CLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3hFLENBQUM7SUFFTSxjQUFjO1FBQ25CLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sV0FBVyxDQUFDLFFBQThCO1FBQy9DLE9BQU8sUUFBUSxDQUFDLGtCQUFrQixJQUFJLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQUMsQ0FBQztJQUMxRyxDQUFDO0lBRU0sY0FBYztRQUNuQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDOUQsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2hELE9BQU8sSUFBSSxDQUFDO2FBQ2I7U0FDRjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLFNBQVM7UUFDZCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFO1lBQzVCLDJEQUEyRDtZQUMzRCxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2xDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUNsQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEtBQUssQ0FBQyxDQUFDLE9BQU8sRUFBRTt3QkFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO3FCQUNqQztnQkFDSCxDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDOUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQzVCO1lBQ0gsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sZUFBZSxDQUFDLENBQXVCO1FBQzVDLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUU7b0JBQzNCLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztpQkFDakM7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzVCO1NBQ0Y7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVNLFVBQVUsQ0FBQyxDQUF1QjtRQUN2QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN6RCxJQUFJLENBQUMsQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUU7Z0JBQy9DLE9BQU8sSUFBSSxDQUFDO2FBQ2I7U0FDRjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixJQUFJLGdCQUFnQixHQUFHLENBQUMsQ0FBQztRQUN6QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDOUQsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckMsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUN2QixnQkFBZ0IsRUFBRyxDQUFDO2FBQ3JCO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDOUMsT0FBTyxLQUFLLENBQUM7YUFDZDtTQUNGO1FBQ0QsSUFBSSxnQkFBZ0IsS0FBSyxDQUFDLEVBQUU7WUFDMUIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOztPQUVHO0lBQ0gseUVBQXlFO0lBQ2xFLGlCQUFpQjtRQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdkMsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO1lBRXRCLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFFaEQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFFMUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksU0FBUyxFQUFFLEVBQUU7b0JBQzdDLEVBQUUsRUFBRSxPQUFPO29CQUNYLEtBQUssRUFBRSxJQUFJO29CQUNYLFVBQVUsRUFBRSxFQUFFO29CQUNkLEtBQUssRUFBRSxLQUFLO29CQUNaLGVBQWUsRUFBRSxJQUFJO2lCQUN0QixDQUFDLENBQUMsQ0FBQztZQUNOLENBQUMsQ0FBQyxDQUFDO1lBRUgsTUFBTSxDQUFDLG9CQUFvQixHQUFHLFVBQVUsQ0FBQztZQUN6QyxNQUFNLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUVwQixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ3BDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZFLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFTCxDQUFDO0lBRU0sUUFBUSxDQUFDLElBQUk7UUFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDL0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDNUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUNuRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDMUIsZ0JBQWdCO1FBQ2hCLE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN2QixXQUFXLENBQUMscUJBQXFCLENBQUMsa0JBQWtCLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDMUgsV0FBVyxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUMvRyxXQUFXLENBQUMscUJBQXFCLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDbEgsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDbkIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLFdBQVc7U0FDWixDQUFDLENBQUM7UUFFSCxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELElBQUksWUFBWSxFQUFFO1lBQ2hCLElBQUksUUFBUSxDQUFDLGFBQWEsWUFBWSxXQUFXLEVBQUU7Z0JBQ2pELFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDL0I7WUFDRCxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDdEI7SUFDSCxDQUFDO0lBRU0sY0FBYyxDQUFDLEdBQTJCLEVBQUUsTUFBNEI7UUFDN0UsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksU0FBUyxFQUFFLEVBQUU7WUFDcEMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxhQUFhO1lBQ3JCLEtBQUssRUFBRSxHQUFHLENBQUMsS0FBSztZQUNoQixVQUFVLEVBQUUsR0FBRyxDQUFDLGVBQWU7WUFDL0IsS0FBSyxFQUFFLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQztZQUM1Qyx5QkFBeUIsRUFBRSxHQUFHLENBQUMseUJBQXlCO1lBQ3hELGVBQWUsRUFBRSxHQUFHLENBQUMsZUFBZTtTQUNyQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sb0JBQW9CLENBQUMsR0FBYyxFQUFFLE1BQTRCO1FBQ3RFLEdBQUcsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMvQyxHQUFHLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2RixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDO0lBQ3JGLENBQUM7SUFFTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFTSxVQUFVLENBQUMsTUFBOEI7UUFDOUMsT0FBTyxJQUFJLENBQUMscUNBQXFDLENBQUMsb0NBQW9DLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakcsQ0FBQztJQUVNLElBQUksQ0FBQyxNQUE4QjtRQUN4QyxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUMvQixJQUFJLE1BQU0sQ0FBQyxhQUFhLEtBQUssSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sRUFBRTtnQkFDL0QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDO2FBQzFEO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7b0JBQzVELFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFDckIsU0FBUyxDQUFDLFVBQVUsQ0FBQzthQUMxRDtZQUNELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQztZQUMxRCxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO1lBQy9ELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1NBQ3BEO2FBQU07WUFDTCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssU0FBUyxFQUFFO2dCQUN6QyxPQUFPO2FBQ1I7aUJBQU0sSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUN2QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3hGO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDekY7U0FDRjtJQUNILENBQUM7SUFFTSxVQUFVLENBQUMsTUFBOEI7UUFDOUMsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQy9CLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxhQUFhLEtBQUssSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQztZQUM3RSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxTQUFTLENBQUM7WUFDOUUsU0FBUyxHQUFHLENBQUMsUUFBUSxJQUFJLENBQUMsUUFBUSxJQUFJLFdBQVcsQ0FBQyxDQUFDO1NBQ3BEO2FBQU07WUFDTCxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMxQztRQUVELE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUMzQyxDQUFDO0lBRU0sZUFBZTtRQUNwQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDO0lBQ3hDLENBQUM7SUFFTSw2QkFBNkIsQ0FBQyxHQUFHLEVBQUUsTUFBTTtRQUM5QyxJQUFJLEdBQUcsQ0FBQyxhQUFhLEtBQUssa0JBQWtCLEVBQUU7WUFDNUMsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7U0FDaEY7YUFBTTtZQUNMLElBQUksR0FBRyxDQUFDLEVBQUUsRUFBRTtnQkFDVixJQUFJLEdBQUcsQ0FBQyxFQUFFLEtBQUssa0JBQWtCLEVBQUU7b0JBQ2pDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUNyRTtxQkFBTTtvQkFDTCxPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUNuQzthQUNGO2lCQUFNO2dCQUNMLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDOUM7U0FDRjtJQUNILENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsTUFBTTtRQUNqQyxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbEgsQ0FBQztJQUVNLGVBQWUsQ0FBQyxNQUE4QjtRQUNuRCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV2RCxPQUFPLGdCQUFnQixLQUFLLFNBQVMsQ0FBQyxRQUFRLElBQUksZ0JBQWdCLEtBQUssU0FBUyxDQUFDLFVBQVUsQ0FBQztJQUM5RixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsTUFBOEI7UUFFckQsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQztRQUV4QixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssU0FBUyxFQUFFO1lBQ3pDLE9BQU8sU0FBUyxDQUFDLFFBQVEsQ0FBQztTQUMzQjtRQUNELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzNELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9HLFlBQVksR0FBRyxZQUFZLElBQUksVUFBVSxJQUFJLENBQUMsQ0FBQztZQUMvQyxXQUFXLEdBQUcsV0FBVyxJQUFJLFVBQVUsSUFBSSxDQUFDLENBQUM7WUFDN0MsSUFBSSxDQUFDLFdBQVcsSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDakMsTUFBTTthQUNQO1NBQ0Y7UUFDRCxPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDO0lBQ3RHLENBQUM7SUFFTSxjQUFjO1FBQ25CLE1BQU0sV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsRSxPQUFPLENBQUMsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMxRyxDQUFDO0lBRU0sYUFBYTtRQUNsQixNQUFNLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEUsT0FBTyxDQUFDLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsMEJBQTBCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdkksQ0FBQztJQUVNLGVBQWU7UUFDcEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFFN0UsT0FBTyxLQUFLLElBQUksSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUM1RixDQUFDO0lBRU0sa0JBQWtCLENBQUMsTUFBYztRQUN0QyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDbkMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMzRCxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNuRCxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFckMsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRU8sMEJBQTBCLENBQUMsV0FBVztRQUM1QyxPQUFPLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRU8sY0FBYztRQUNwQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3hGLENBQUM7SUFFTSxRQUFRLENBQUMsTUFBYztRQUM1QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQztZQUNsQixNQUFNO1NBQ1AsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLE9BQU8sQ0FBQyxNQUFxQixFQUFFLENBQXVCO1FBQzNELElBQUksTUFBTSxDQUFDLEdBQUcsS0FBSyxPQUFPLEVBQUU7WUFDMUIsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRTtnQkFDbkcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUN6QjtTQUNGO0lBQ0gsQ0FBQzs7QUF2YnNCLHdDQUFrQixHQUFHLGNBQWMsQ0FBQztBQUNwQyxxQ0FBZSxHQUFHLFdBQVcsQ0FBQztBQUM5QixzQ0FBZ0IsR0FBRyxZQUFZLENBQUM7MEZBSjVDLHFCQUFxQjswREFBckIscUJBQXFCO1FDZmxDLDJFQXlIUTtRQUVSLDRGQVFrRTtRQUVsRSxzRUFHTTs7UUF4SUUsMERBQWlDO1FBNEh0QyxlQUFrQjtRQUFsQix1Q0FBa0I7UUFTZixlQUFvQztRQUFwQyw2REFBb0M7O3VGRHRIN0IscUJBQXFCO2NBTGpDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QixXQUFXLEVBQUUsZ0NBQWdDO2dCQUM3QyxTQUFTLEVBQUUsQ0FBQyxnQ0FBZ0MsQ0FBQzthQUM5Qzt3UkFZUSxtQkFBbUI7a0JBRHpCLEtBQUs7WUFJQyxZQUFZO2tCQURsQixLQUFLO1lBSUMsUUFBUTtrQkFEZCxLQUFLO1lBSUMsU0FBUztrQkFEZixLQUFLO1lBSUMsWUFBWTtrQkFEbEIsS0FBSztZQUlDLFVBQVU7a0JBRGhCLEtBQUs7WUFJQyxJQUFJO2tCQURWLEtBQUs7WUFJQyxrQkFBa0I7a0JBRHhCLEtBQUs7WUFJQyxjQUFjO2tCQURwQixLQUFLO1lBSUMsZ0JBQWdCO2tCQUR0QixLQUFLO1lBSUMsZ0JBQWdCO2tCQUR0QixLQUFLO1lBSUMsZ0JBQWdCO2tCQUR0QixLQUFLO1lBSUMsc0JBQXNCO2tCQUQ1QixLQUFLO1lBSUMsU0FBUztrQkFEZixNQUFNO1lBSUEsVUFBVTtrQkFEaEIsTUFBTTtZQUlBLFNBQVM7a0JBRGYsTUFBTTtZQUlBLFdBQVc7a0JBRGpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFic3RyYWN0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vYXBwLmNvbmZpZyc7XG5pbXBvcnQgeyBQbGFjZWhvbGRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IENhc2VGaWVsZCwgQ2FzZVN0YXRlLCBDYXNlVHlwZSwgRGlzcGxheU1vZGUsXG4gIERSQUZUX1BSRUZJWCwgSnVyaXNkaWN0aW9uLCBQYWdpbmF0aW9uTWV0YWRhdGEsIFNlYXJjaFJlc3VsdFZpZXcsIFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4sXG4gIFNlYXJjaFJlc3VsdFZpZXdJdGVtLCBTZWFyY2hSZXN1bHRWaWV3SXRlbUNvbXBhcmF0b3IsIFNvcnRPcmRlciwgU29ydFBhcmFtZXRlcnMgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZVJlZmVyZW5jZVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcyc7XG5pbXBvcnQgeyBBY3Rpdml0eVNlcnZpY2UsIEJyb3dzZXJTZXJ2aWNlLCBTZWFyY2hSZXN1bHRWaWV3SXRlbUNvbXBhcmF0b3JGYWN0b3J5LCBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1zZWFyY2gtcmVzdWx0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1yZXN1bHQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtcmVzdWx0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoUmVzdWx0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQge1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fSlVSSVNESUNUSU9OID0gJ2p1cmlzZGljdGlvbic7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fQ0FTRV9UWVBFID0gJ2Nhc2UtdHlwZSc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fQ0FTRV9TVEFURSA9ICdjYXNlLXN0YXRlJztcblxuICBwcml2YXRlIHJlYWRvbmx5IFBBR0lOQVRJT05fTUFYX0lURU1fUkVTVUxUID0gMTAwMDA7XG5cbiAgcHVibGljIElDT04gPSBEaXNwbGF5TW9kZS5JQ09OO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlTGlua1VybFRlbXBsYXRlOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGp1cmlzZGljdGlvbjogSnVyaXNkaWN0aW9uO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlVHlwZTogQ2FzZVR5cGU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VTdGF0ZTogQ2FzZVN0YXRlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlRmlsdGVyRkc6IEZvcm1Hcm91cDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVzdWx0VmlldzogU2VhcmNoUmVzdWx0VmlldztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZTogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdpbmF0aW9uTWV0YWRhdGE6IFBhZ2luYXRpb25NZXRhZGF0YTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbWV0YWRhdGFGaWVsZHM6IHN0cmluZ1tdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZWxlY3Rpb25FbmFibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNob3dPbmx5U2VsZWN0ZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcHJlU2VsZWN0ZWRDYXNlczogU2VhcmNoUmVzdWx0Vmlld0l0ZW1bXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb25zdW1lclNvcnRpbmdFbmFibGVkID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWxlY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPFNlYXJjaFJlc3VsdFZpZXdJdGVtW10+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjaGFuZ2VQYWdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNsaWNrQ2FzZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzb3J0SGFuZGxlcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIHBhZ2luYXRpb25MaW1pdEVuZm9yY2VkID0gZmFsc2U7XG5cbiAgcHVibGljIHBhZ2luYXRpb25QYWdlU2l6ZTogbnVtYmVyO1xuXG4gIHB1YmxpYyBoaWRlUm93czogYm9vbGVhbjtcblxuICBwdWJsaWMgc2VsZWN0ZWQ6IHtcbiAgICBpbml0PzogYm9vbGVhbixcbiAgICBqdXJpc2RpY3Rpb24/OiBKdXJpc2RpY3Rpb24sXG4gICAgY2FzZVR5cGU/OiBDYXNlVHlwZSxcbiAgICBjYXNlU3RhdGU/OiBDYXNlU3RhdGUsXG4gICAgZm9ybUdyb3VwPzogRm9ybUdyb3VwLFxuICAgIG1ldGFkYXRhRmllbGRzPzogc3RyaW5nW10sXG4gICAgcGFnZT86IG51bWJlclxuICB9ID0ge307XG5cbiAgcHVibGljIHNvcnRQYXJhbWV0ZXJzOiBTb3J0UGFyYW1ldGVycztcbiAgcHVibGljIHNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvckZhY3Rvcnk6IFNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvckZhY3Rvcnk7XG4gIHB1YmxpYyBkcmFmdHNDb3VudDogbnVtYmVyO1xuXG4gIHB1YmxpYyBjb25zdW1lclNvcnRQYXJhbWV0ZXJzOiB7IGNvbHVtbjogc3RyaW5nLCBvcmRlcjogU29ydE9yZGVyLCB0eXBlOiBzdHJpbmcgfSA9IHsgY29sdW1uOiBudWxsLCBvcmRlcjogbnVsbCwgdHlwZTogbnVsbCB9O1xuXG4gIHB1YmxpYyBzZWxlY3RlZENhc2VzOiBTZWFyY2hSZXN1bHRWaWV3SXRlbVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yRmFjdG9yeTogU2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yRmFjdG9yeSxcbiAgICBhcHBDb25maWc6IEFic3RyYWN0QXBwQ29uZmlnLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZpdHlTZXJ2aWNlOiBBY3Rpdml0eVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlUmVmZXJlbmNlUGlwZTogQ2FzZVJlZmVyZW5jZVBpcGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwbGFjZWhvbGRlclNlcnZpY2U6IFBsYWNlaG9sZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJyb3dzZXJTZXJ2aWNlOiBCcm93c2VyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yRmFjdG9yeSA9IHNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvckZhY3Rvcnk7XG4gICAgdGhpcy5wYWdpbmF0aW9uUGFnZVNpemUgPSBhcHBDb25maWcuZ2V0UGFnaW5hdGlvblBhZ2VTaXplKCk7XG4gICAgdGhpcy5oaWRlUm93cyA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByZVNlbGVjdGVkQ2FzZXMpIHtcbiAgICAgIGZvciAoY29uc3QgcHJlU2VsZWN0ZWRDYXNlIG9mIHRoaXMucHJlU2VsZWN0ZWRDYXNlcykge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZENhc2VzICYmICF0aGlzLnNlbGVjdGVkQ2FzZXMuc29tZShhQ2FzZSA9PiBhQ2FzZS5jYXNlX2lkID09PSBwcmVTZWxlY3RlZENhc2UuY2FzZV9pZCkpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMucHVzaChwcmVTZWxlY3RlZENhc2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0oJ2V2ZW50VXJsJyk7XG4gICAgdGhpcy5zZWxlY3Rpb24uZW1pdCh0aGlzLnNlbGVjdGVkQ2FzZXMpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcblxuICAgIGlmIChjaGFuZ2VzWydyZXN1bHRWaWV3J10pIHtcbiAgICAgIHRoaXMuaGlkZVJvd3MgPSBmYWxzZTtcblxuICAgICAgdGhpcy5zb3J0UGFyYW1ldGVycyA9IHVuZGVmaW5lZDtcbiAgICAgIC8vIENsb25lIGByZXN1bHRWaWV3YCB0byBwcmV2ZW50IHNvcnRpbmcgdGhlIGV4dGVybmFsIHZhcmlhYmxlXG4gICAgICB0aGlzLnJlc3VsdFZpZXcgPSB7XG4gICAgICAgIGNvbHVtbnM6IHRoaXMucmVzdWx0Vmlldy5jb2x1bW5zLnNsaWNlKDApLFxuICAgICAgICByZXN1bHRzOiB0aGlzLnJlc3VsdFZpZXcucmVzdWx0cy5zbGljZSgwKSxcbiAgICAgICAgaGFzRHJhZnRzOiB0aGlzLnJlc3VsdFZpZXcuaGFzRHJhZnRzXG4gICAgICB9O1xuXG4gICAgICB0aGlzLnJlc3VsdFZpZXcuY29sdW1ucyA9IHRoaXMucmVzdWx0Vmlldy5jb2x1bW5zLnNvcnQoKGE6IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4sIGI6IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4pID0+IHtcbiAgICAgICAgcmV0dXJuIGEub3JkZXIgLSBiLm9yZGVyO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuaHlkcmF0ZVJlc3VsdFZpZXcoKTtcbiAgICAgIHRoaXMuZHJhZnRzQ291bnQgPSB0aGlzLmRyYWZ0c0NvdW50ID8gdGhpcy5kcmFmdHNDb3VudCA6IHRoaXMubnVtYmVyT2ZEcmFmdHMoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ3BhZ2UnXSkge1xuICAgICAgdGhpcy5zZWxlY3RlZC5wYWdlID0gKGNoYW5nZXNbJ3BhZ2UnXSkuY3VycmVudFZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVzdWx0VG90YWwoKTogbnVtYmVyIHtcbiAgICBjb25zdCB0b3RhbCA9IHRoaXMucGFnaW5hdGlvbk1ldGFkYXRhLnRvdGFsX3Jlc3VsdHNfY291bnQ7XG4gICAgY29uc3QgbWF4aW11bVJlc3VsdFJlYWNoZWQgPSB0b3RhbCA+PSB0aGlzLlBBR0lOQVRJT05fTUFYX0lURU1fUkVTVUxUO1xuICAgIHRoaXMucGFnaW5hdGlvbkxpbWl0RW5mb3JjZWQgPSBtYXhpbXVtUmVzdWx0UmVhY2hlZDtcblxuICAgIHJldHVybiBtYXhpbXVtUmVzdWx0UmVhY2hlZCA/IHRoaXMuUEFHSU5BVElPTl9NQVhfSVRFTV9SRVNVTFQgOiB0b3RhbDtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhclNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkQ2FzZXMgPSBbXTtcbiAgICB0aGlzLnNlbGVjdGlvbi5lbWl0KHRoaXMuc2VsZWN0ZWRDYXNlcyk7XG4gIH1cblxuICBwdWJsaWMgY2FuQmVTaGFyZWQoY2FzZVZpZXc6IFNlYXJjaFJlc3VsdFZpZXdJdGVtKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGNhc2VWaWV3LnN1cHBsZW1lbnRhcnlfZGF0YSAmJiBjYXNlVmlldy5zdXBwbGVtZW50YXJ5X2RhdGEuaGFzT3duUHJvcGVydHkoJ29yZ3NfYXNzaWduZWRfdXNlcnMnKTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5BbnlCZVNoYXJlZCgpOiBib29sZWFuIHtcbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgaWYgKHRoaXMuY2FuQmVTaGFyZWQodGhpcy5yZXN1bHRWaWV3LnJlc3VsdHNbaV0pKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0QWxsKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFsbE9uUGFnZVNlbGVjdGVkKCkpIHtcbiAgICAgIC8vIGFsbCBjYXNlcyBhbHJlYWR5IHNlbGVjdGVkLCBzbyB1bnNlbGVjdCBhbGwgb24gdGhpcyBwYWdlXG4gICAgICB0aGlzLnJlc3VsdFZpZXcucmVzdWx0cy5mb3JFYWNoKGMgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMuZm9yRWFjaCgocywgaSkgPT4ge1xuICAgICAgICAgIGlmIChjLmNhc2VfaWQgPT09IHMuY2FzZV9pZCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENhc2VzLnNwbGljZShpLCAxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLmZvckVhY2goYyA9PiB7XG4gICAgICAgIGlmICghdGhpcy5pc1NlbGVjdGVkKGMpICYmIHRoaXMuY2FuQmVTaGFyZWQoYykpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMucHVzaChjKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0aW9uLmVtaXQodGhpcy5zZWxlY3RlZENhc2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VTZWxlY3Rpb24oYzogU2VhcmNoUmVzdWx0Vmlld0l0ZW0pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc1NlbGVjdGVkKGMpKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMuZm9yRWFjaCgocywgaSkgPT4ge1xuICAgICAgICBpZiAoYy5jYXNlX2lkID09PSBzLmNhc2VfaWQpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMuc3BsaWNlKGksIDEpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuY2FuQmVTaGFyZWQoYykpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENhc2VzLnB1c2goYyk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0aW9uLmVtaXQodGhpcy5zZWxlY3RlZENhc2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1NlbGVjdGVkKGM6IFNlYXJjaFJlc3VsdFZpZXdJdGVtKTogYm9vbGVhbiB7XG4gICAgZm9yIChsZXQgaSA9IDAsIGwgPSB0aGlzLnNlbGVjdGVkQ2FzZXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBpZiAoYy5jYXNlX2lkID09PSB0aGlzLnNlbGVjdGVkQ2FzZXNbaV0uY2FzZV9pZCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGFsbE9uUGFnZVNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIGxldCBjYW5CZVNoYXJlZENvdW50ID0gMDtcbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgY29uc3QgciA9IHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzW2ldO1xuICAgICAgaWYgKHRoaXMuY2FuQmVTaGFyZWQocikpIHtcbiAgICAgICAgY2FuQmVTaGFyZWRDb3VudCArKztcbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy5pc1NlbGVjdGVkKHIpICYmIHRoaXMuY2FuQmVTaGFyZWQocikpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2FuQmVTaGFyZWRDb3VudCA9PT0gMCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIeWRyYXRlcyByZXN1bHQgdmlldyB3aXRoIGNhc2UgZmllbGQgZGVmaW5pdGlvbnMuXG4gICAqL1xuICAvLyBBIGxvbmdlciB0ZXJtIHJlc29sdXRpb24gaXMgdG8gbW92ZSB0aGlzIHBpZWNlIG9mIGxvZ2ljIHRvIHRoZSBiYWNrZW5kXG4gIHB1YmxpYyBoeWRyYXRlUmVzdWx0VmlldygpOiB2b2lkIHtcbiAgICB0aGlzLnJlc3VsdFZpZXcucmVzdWx0cy5mb3JFYWNoKHJlc3VsdCA9PiB7XG4gICAgICBjb25zdCBjYXNlRmllbGRzID0gW107XG5cbiAgICAgIE9iamVjdC5rZXlzKHJlc3VsdC5jYXNlX2ZpZWxkcykuZm9yRWFjaChmaWVsZElkID0+IHtcblxuICAgICAgICBjb25zdCBmaWVsZCA9IHJlc3VsdC5jYXNlX2ZpZWxkc1tmaWVsZElkXTtcblxuICAgICAgICBjYXNlRmllbGRzLnB1c2goT2JqZWN0LmFzc2lnbihuZXcgQ2FzZUZpZWxkKCksIHtcbiAgICAgICAgICBpZDogZmllbGRJZCxcbiAgICAgICAgICBsYWJlbDogbnVsbCxcbiAgICAgICAgICBmaWVsZF90eXBlOiB7fSxcbiAgICAgICAgICB2YWx1ZTogZmllbGQsXG4gICAgICAgICAgZGlzcGxheV9jb250ZXh0OiBudWxsLFxuICAgICAgICB9KSk7XG4gICAgICB9KTtcblxuICAgICAgcmVzdWx0Lmh5ZHJhdGVkX2Nhc2VfZmllbGRzID0gY2FzZUZpZWxkcztcbiAgICAgIHJlc3VsdC5jb2x1bW5zID0ge307XG5cbiAgICAgIHRoaXMucmVzdWx0Vmlldy5jb2x1bW5zLmZvckVhY2goY29sID0+IHtcbiAgICAgICAgcmVzdWx0LmNvbHVtbnNbY29sLmNhc2VfZmllbGRfaWRdID0gdGhpcy5idWlsZENhc2VGaWVsZChjb2wsIHJlc3VsdCk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICB9XG5cbiAgcHVibGljIGdvVG9QYWdlKHBhZ2UpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGVSb3dzID0gdHJ1ZTtcbiAgICB0aGlzLnNlbGVjdGVkLmluaXQgPSBmYWxzZTtcbiAgICB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiA9IHRoaXMuanVyaXNkaWN0aW9uO1xuICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgPSB0aGlzLmNhc2VUeXBlO1xuICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVN0YXRlID0gdGhpcy5jYXNlU3RhdGU7XG4gICAgdGhpcy5zZWxlY3RlZC5mb3JtR3JvdXAgPSB0aGlzLmNhc2VGaWx0ZXJGRztcbiAgICB0aGlzLnNlbGVjdGVkLm1ldGFkYXRhRmllbGRzID0gdGhpcy5tZXRhZGF0YUZpZWxkcztcbiAgICB0aGlzLnNlbGVjdGVkLnBhZ2UgPSBwYWdlO1xuICAgIC8vIEFwcGx5IGZpbHRlcnNcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHt9O1xuICAgIHF1ZXJ5UGFyYW1zW1NlYXJjaFJlc3VsdENvbXBvbmVudC5QQVJBTV9KVVJJU0RJQ1RJT05dID0gdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24gPyB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbi5pZCA6IG51bGw7XG4gICAgcXVlcnlQYXJhbXNbU2VhcmNoUmVzdWx0Q29tcG9uZW50LlBBUkFNX0NBU0VfVFlQRV0gPSB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlID8gdGhpcy5zZWxlY3RlZC5jYXNlVHlwZS5pZCA6IG51bGw7XG4gICAgcXVlcnlQYXJhbXNbU2VhcmNoUmVzdWx0Q29tcG9uZW50LlBBUkFNX0NBU0VfU1RBVEVdID0gdGhpcy5zZWxlY3RlZC5jYXNlU3RhdGUgPyB0aGlzLnNlbGVjdGVkLmNhc2VTdGF0ZS5pZCA6IG51bGw7XG4gICAgdGhpcy5jaGFuZ2VQYWdlLmVtaXQoe1xuICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQsXG4gICAgICBxdWVyeVBhcmFtc1xuICAgIH0pO1xuXG4gICAgY29uc3QgdG9wQ29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcCcpO1xuICAgIGlmICh0b3BDb250YWluZXIpIHtcbiAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5ibHVyKCk7XG4gICAgICB9XG4gICAgICB0b3BDb250YWluZXIuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYnVpbGRDYXNlRmllbGQoY29sOiBTZWFyY2hSZXN1bHRWaWV3Q29sdW1uLCByZXN1bHQ6IFNlYXJjaFJlc3VsdFZpZXdJdGVtKTogQ2FzZUZpZWxkIHtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihuZXcgQ2FzZUZpZWxkKCksIHtcbiAgICAgIGlkOiBjb2wuY2FzZV9maWVsZF9pZCxcbiAgICAgIGxhYmVsOiBjb2wubGFiZWwsXG4gICAgICBmaWVsZF90eXBlOiBjb2wuY2FzZV9maWVsZF90eXBlLFxuICAgICAgdmFsdWU6IHJlc3VsdC5jYXNlX2ZpZWxkc1tjb2wuY2FzZV9maWVsZF9pZF0sXG4gICAgICBkaXNwbGF5X2NvbnRleHRfcGFyYW1ldGVyOiBjb2wuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlcixcbiAgICAgIGRpc3BsYXlfY29udGV4dDogY29sLmRpc3BsYXlfY29udGV4dCxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb2x1bW5zV2l0aFByZWZpeChjb2w6IENhc2VGaWVsZCwgcmVzdWx0OiBTZWFyY2hSZXN1bHRWaWV3SXRlbSk6IENhc2VGaWVsZCB7XG4gICAgY29sLnZhbHVlID0gdGhpcy5kcmFmdFByZWZpeE9yR2V0KGNvbCwgcmVzdWx0KTtcbiAgICBjb2wudmFsdWUgPSB0aGlzLnBsYWNlaG9sZGVyU2VydmljZS5yZXNvbHZlUGxhY2Vob2xkZXJzKHJlc3VsdC5jYXNlX2ZpZWxkcywgY29sLnZhbHVlKTtcbiAgICByZXR1cm4gY29sO1xuICB9XG5cbiAgcHVibGljIGhhc1Jlc3VsdHMoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5yZXN1bHRWaWV3LnJlc3VsdHMubGVuZ3RoICYmIHRoaXMucGFnaW5hdGlvbk1ldGFkYXRhLnRvdGFsX3BhZ2VzX2NvdW50O1xuICB9XG5cbiAgcHVibGljIGhhc0RyYWZ0cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yZXN1bHRWaWV3Lmhhc0RyYWZ0cygpO1xuICB9XG5cbiAgcHVibGljIGNvbXBhcmF0b3IoY29sdW1uOiBTZWFyY2hSZXN1bHRWaWV3Q29sdW1uKTogU2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yIHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hSZXN1bHRWaWV3SXRlbUNvbXBhcmF0b3JGYWN0b3J5LmNyZWF0ZVNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvcihjb2x1bW4pO1xuICB9XG5cbiAgcHVibGljIHNvcnQoY29sdW1uOiBTZWFyY2hSZXN1bHRWaWV3Q29sdW1uKSB7XG4gICAgaWYgKHRoaXMuY29uc3VtZXJTb3J0aW5nRW5hYmxlZCkge1xuICAgICAgaWYgKGNvbHVtbi5jYXNlX2ZpZWxkX2lkICE9PSB0aGlzLmNvbnN1bWVyU29ydFBhcmFtZXRlcnMuY29sdW1uKSB7XG4gICAgICAgIHRoaXMuY29uc3VtZXJTb3J0UGFyYW1ldGVycy5vcmRlciA9IFNvcnRPcmRlci5ERVNDRU5ESU5HO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzLm9yZGVyID0gdGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzLm9yZGVyID09PSBTb3J0T3JkZXIuREVTQ0VORElORyA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvcnRPcmRlci5BU0NFTkRJTkcgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb3J0T3JkZXIuREVTQ0VORElORztcbiAgICAgIH1cbiAgICAgIHRoaXMuY29uc3VtZXJTb3J0UGFyYW1ldGVycy5jb2x1bW4gPSBjb2x1bW4uY2FzZV9maWVsZF9pZDtcbiAgICAgIHRoaXMuY29uc3VtZXJTb3J0UGFyYW1ldGVycy50eXBlID0gY29sdW1uLmNhc2VfZmllbGRfdHlwZS50eXBlO1xuICAgICAgdGhpcy5zb3J0SGFuZGxlci5lbWl0KHRoaXMuY29uc3VtZXJTb3J0UGFyYW1ldGVycyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmNvbXBhcmF0b3IoY29sdW1uKSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1NvcnRBc2NlbmRpbmcoY29sdW1uKSkge1xuICAgICAgICB0aGlzLnNvcnRQYXJhbWV0ZXJzID0gbmV3IFNvcnRQYXJhbWV0ZXJzKHRoaXMuY29tcGFyYXRvcihjb2x1bW4pLCBTb3J0T3JkZXIuQVNDRU5ESU5HKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc29ydFBhcmFtZXRlcnMgPSBuZXcgU29ydFBhcmFtZXRlcnModGhpcy5jb21wYXJhdG9yKGNvbHVtbiksIFNvcnRPcmRlci5ERVNDRU5ESU5HKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc29ydFdpZGdldChjb2x1bW46IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4pIHtcbiAgICBsZXQgY29uZGl0aW9uID0gZmFsc2U7XG4gICAgaWYgKHRoaXMuY29uc3VtZXJTb3J0aW5nRW5hYmxlZCkge1xuICAgICAgY29uc3QgaXNDb2x1bW4gPSBjb2x1bW4uY2FzZV9maWVsZF9pZCA9PT0gdGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzLmNvbHVtbjtcbiAgICAgIGNvbnN0IGlzQXNjZW5kaW5nID0gdGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzLm9yZGVyID09PSBTb3J0T3JkZXIuQVNDRU5ESU5HO1xuICAgICAgY29uZGl0aW9uID0gIWlzQ29sdW1uIHx8IChpc0NvbHVtbiAmJiBpc0FzY2VuZGluZyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbmRpdGlvbiA9IHRoaXMuaXNTb3J0QXNjZW5kaW5nKGNvbHVtbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbmRpdGlvbiA/ICcmIzk2NjA7JyA6ICcmIzk2NTA7JztcbiAgfVxuXG4gIHB1YmxpYyBhY3Rpdml0eUVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZpdHlTZXJ2aWNlLmlzRW5hYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBoeXBoZW5hdGVJZkNhc2VSZWZlcmVuY2VPckdldChjb2wsIHJlc3VsdCk6IGFueSB7XG4gICAgaWYgKGNvbC5jYXNlX2ZpZWxkX2lkID09PSAnW0NBU0VfUkVGRVJFTkNFXScpIHtcbiAgICAgIHJldHVybiB0aGlzLmNhc2VSZWZlcmVuY2VQaXBlLnRyYW5zZm9ybShyZXN1bHQuY2FzZV9maWVsZHNbY29sLmNhc2VfZmllbGRfaWRdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGNvbC5pZCkge1xuICAgICAgICBpZiAoY29sLmlkID09PSAnW0NBU0VfUkVGRVJFTkNFXScpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jYXNlUmVmZXJlbmNlUGlwZS50cmFuc2Zvcm0ocmVzdWx0LmNhc2VfZmllbGRzW2NvbC5pZF0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiByZXN1bHQuY2FzZV9maWVsZHNbY29sLmlkXTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5jYXNlX2ZpZWxkc1tjb2wuY2FzZV9maWVsZF9pZF07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRyYWZ0UHJlZml4T3JHZXQoY29sLCByZXN1bHQpOiBhbnkge1xuICAgIHJldHVybiByZXN1bHQuY2FzZV9pZC5zdGFydHNXaXRoKERSQUZUX1BSRUZJWCkgPyBEUkFGVF9QUkVGSVggOiB0aGlzLmh5cGhlbmF0ZUlmQ2FzZVJlZmVyZW5jZU9yR2V0KGNvbCwgcmVzdWx0KTtcbiAgfVxuXG4gIHB1YmxpYyBpc1NvcnRBc2NlbmRpbmcoY29sdW1uOiBTZWFyY2hSZXN1bHRWaWV3Q29sdW1uKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY3VycmVudFNvcnRPcmRlciA9IHRoaXMuY3VycmVudFNvcnRPcmRlcihjb2x1bW4pO1xuXG4gICAgcmV0dXJuIGN1cnJlbnRTb3J0T3JkZXIgPT09IFNvcnRPcmRlci5VTlNPUlRFRCB8fCBjdXJyZW50U29ydE9yZGVyID09PSBTb3J0T3JkZXIuREVTQ0VORElORztcbiAgfVxuXG4gIHByaXZhdGUgY3VycmVudFNvcnRPcmRlcihjb2x1bW46IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4pOiBTb3J0T3JkZXIge1xuXG4gICAgbGV0IGlzQXNjZW5kaW5nID0gdHJ1ZTtcbiAgICBsZXQgaXNEZXNjZW5kaW5nID0gdHJ1ZTtcblxuICAgIGlmICh0aGlzLmNvbXBhcmF0b3IoY29sdW1uKSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gU29ydE9yZGVyLlVOU09SVEVEO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgY29uc3QgY29tcGFyaXNvbiA9IHRoaXMuY29tcGFyYXRvcihjb2x1bW4pLmNvbXBhcmUodGhpcy5yZXN1bHRWaWV3LnJlc3VsdHNbaV0sIHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzW2kgKyAxXSk7XG4gICAgICBpc0Rlc2NlbmRpbmcgPSBpc0Rlc2NlbmRpbmcgJiYgY29tcGFyaXNvbiA8PSAwO1xuICAgICAgaXNBc2NlbmRpbmcgPSBpc0FzY2VuZGluZyAmJiBjb21wYXJpc29uID49IDA7XG4gICAgICBpZiAoIWlzQXNjZW5kaW5nICYmICFpc0Rlc2NlbmRpbmcpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBpc0FzY2VuZGluZyA/IFNvcnRPcmRlci5BU0NFTkRJTkcgOiBpc0Rlc2NlbmRpbmcgPyBTb3J0T3JkZXIuREVTQ0VORElORyA6IFNvcnRPcmRlci5VTlNPUlRFRDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGaXJzdFJlc3VsdCgpOiBudW1iZXIge1xuICAgIGNvbnN0IGN1cnJlbnRQYWdlID0gKHRoaXMuc2VsZWN0ZWQucGFnZSA/IHRoaXMuc2VsZWN0ZWQucGFnZSA6IDEpO1xuICAgIHJldHVybiAoKGN1cnJlbnRQYWdlIC0gMSkgKiB0aGlzLnBhZ2luYXRpb25QYWdlU2l6ZSkgKyAxICsgdGhpcy5nZXREcmFmdHNDb3VudElmTm90UGFnZU9uZShjdXJyZW50UGFnZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGFzdFJlc3VsdCgpOiBudW1iZXIge1xuICAgIGNvbnN0IGN1cnJlbnRQYWdlID0gKHRoaXMuc2VsZWN0ZWQucGFnZSA/IHRoaXMuc2VsZWN0ZWQucGFnZSA6IDEpO1xuICAgIHJldHVybiAoKGN1cnJlbnRQYWdlIC0gMSkgKiB0aGlzLnBhZ2luYXRpb25QYWdlU2l6ZSkgKyB0aGlzLnJlc3VsdFZpZXcucmVzdWx0cy5sZW5ndGggKyB0aGlzLmdldERyYWZ0c0NvdW50SWZOb3RQYWdlT25lKGN1cnJlbnRQYWdlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUb3RhbFJlc3VsdHMoKTogbnVtYmVyIHtcbiAgICBjb25zdCB0b3RhbCA9IHRoaXMucGFnaW5hdGlvbk1ldGFkYXRhLnRvdGFsX3Jlc3VsdHNfY291bnQgKyB0aGlzLmRyYWZ0c0NvdW50O1xuXG4gICAgcmV0dXJuIHRvdGFsID49IHRoaXMuUEFHSU5BVElPTl9NQVhfSVRFTV9SRVNVTFQgPyB0aGlzLlBBR0lOQVRJT05fTUFYX0lURU1fUkVTVUxUIDogdG90YWw7XG4gIH1cblxuICBwdWJsaWMgcHJlcGFyZUNhc2VMaW5rVXJsKGNhc2VJZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBsZXQgdXJsID0gdGhpcy5jYXNlTGlua1VybFRlbXBsYXRlO1xuICAgIHVybCA9IHVybC5yZXBsYWNlKCdqdXJpc2RpY3Rpb25faWQnLCB0aGlzLmp1cmlzZGljdGlvbi5pZCk7XG4gICAgdXJsID0gdXJsLnJlcGxhY2UoJ2Nhc2VUeXBlX2lkJywgdGhpcy5jYXNlVHlwZS5pZCk7XG4gICAgdXJsID0gdXJsLnJlcGxhY2UoJ2Nhc2VfaWQnLCBjYXNlSWQpO1xuXG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RHJhZnRzQ291bnRJZk5vdFBhZ2VPbmUoY3VycmVudFBhZ2UpOiBudW1iZXIge1xuICAgIHJldHVybiBjdXJyZW50UGFnZSA+IDEgPyB0aGlzLmRyYWZ0c0NvdW50IDogMDtcbiAgfVxuXG4gIHByaXZhdGUgbnVtYmVyT2ZEcmFmdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5yZXN1bHRWaWV3LnJlc3VsdHMuZmlsdGVyKF8gPT4gXy5jYXNlX2lkLnN0YXJ0c1dpdGgoRFJBRlRfUFJFRklYKSkubGVuZ3RoO1xuICB9XG5cbiAgcHVibGljIGdvVG9DYXNlKGNhc2VJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5jbGlja0Nhc2UuZW1pdCh7XG4gICAgICBjYXNlSWRcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvbktleVVwKCRldmVudDogS2V5Ym9hcmRFdmVudCwgYzogU2VhcmNoUmVzdWx0Vmlld0l0ZW0pOiB2b2lkIHtcbiAgICBpZiAoJGV2ZW50LmtleSA9PT0gJ1NwYWNlJykge1xuICAgICAgaWYgKHRoaXMuYnJvd3NlclNlcnZpY2UuaXNGaXJlZm94IHx8IHRoaXMuYnJvd3NlclNlcnZpY2UuaXNTYWZhcmkgfHwgdGhpcy5icm93c2VyU2VydmljZS5pc0lFT3JFZGdlKSB7XG4gICAgICAgIHRoaXMuY2hhbmdlU2VsZWN0aW9uKGMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPHRhYmxlICpuZ0lmPVwiaGFzUmVzdWx0cygpIHx8IGhhc0RyYWZ0cygpXCI+XG4gIDxjYXB0aW9uPlxuICAgIDxoMiBjbGFzcz1cImhlYWRpbmctaDJcIiBpZD1cInNlYXJjaC1yZXN1bHQtaGVhZGluZ19fdGV4dFwiIHRhYmluZGV4PVwiLTFcIj57eyBjYXNlU3RhdGUgPyAnWW91ciBjYXNlcycgOiAnU2VhcmNoIHJlc3VsdCcgfX08L2gyPlxuXG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLXdhcm5pbmctdGV4dCBwYWdpbmF0aW9uLWxpbWl0LXdhcm5pbmdcIiAqbmdJZj1cInBhZ2luYXRpb25MaW1pdEVuZm9yY2VkXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLXdhcm5pbmctdGV4dF9faWNvblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiE8L3NwYW4+XG4gICAgICA8c3Ryb25nIGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0X190ZXh0XCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0X19hc3Npc3RpdmVcIj5XYXJuaW5nPC9zcGFuPlxuICAgICAgICBUaGUgdG90YWwgc2l6ZSBvZiB0aGUgcmVzdWx0IHNldCBpcyB7e3BhZ2luYXRpb25NZXRhZGF0YS50b3RhbF9yZXN1bHRzX2NvdW50IHwgbnVtYmVyfX0uIE9ubHkgdGhlIGZpcnN0IDEwLDAwMCByZWNvcmRzIGFyZSBhdmFpbGFibGUgZm9yIGRpc3BsYXkuXG4gICAgICA8L3N0cm9uZz5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgKm5nSWY9XCIoaGFzUmVzdWx0cygpIHx8IGhhc0RyYWZ0cygpKVwiIGNsYXNzPVwicGFnaW5hdGlvbi10b3BcIlxuICAgICAgYXR0ci5hcmlhLWxhYmVsPVwie3sgZ2V0VG90YWxSZXN1bHRzKCkgfX0gcmVzdWx0cyBoYXZlIGJlZW4gZm91bmRcIiByb2xlPVwic3RhdHVzXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInRleHQtMTZcIiBpZD1cInNlYXJjaC1yZXN1bHQtc3VtbWFyeV9fdGV4dFwiPlNob3dpbmcgXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstIS1mb250LXdlaWdodC1ib2xkXCI+e3sgZ2V0Rmlyc3RSZXN1bHQoKSB9fTwvc3Bhbj5cbiAgICAgICAgdG9cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay0hLWZvbnQtd2VpZ2h0LWJvbGRcIj57eyBnZXRMYXN0UmVzdWx0KCkgfX08L3NwYW4+XG4gICAgICAgIG9mXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstIS1mb250LXdlaWdodC1ib2xkXCI+e3sgZ2V0VG90YWxSZXN1bHRzKCkgfX08L3NwYW4+IHJlc3VsdHM8L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cIihoYXNSZXN1bHRzKCkgfHwgaGFzRHJhZnRzKCkpICYmIHNlbGVjdGlvbkVuYWJsZWRcIiBjbGFzcz1cInJlc2V0LXNlbGVjdGlvblwiXG4gICAgICBhdHRyLmFyaWEtbGFiZWw9XCJSZXNldCBzZWxlY3Rpb25cIj5cbiAgICAgIDxzcGFuPjxhIGNsYXNzPVwic2VhcmNoLXJlc3VsdC1yZXNldC1saW5rXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJjbGVhclNlbGVjdGlvbigpXCI+UmVzZXQgY2FzZSBzZWxlY3Rpb248L2E+PC9zcGFuPlxuICAgIDwvZGl2PlxuICA8L2NhcHRpb24+XG4gIDx0aGVhZD5cbiAgICA8dHIgc2NvcGU9XCJyb3dcIj5cbiAgICAgIDx0aCAqbmdJZj1cInNlbGVjdGlvbkVuYWJsZWRcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19jaGVja2JveFwiIHNjb3BlPVwiY29sXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pdGVtXCI+XG4gICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc19faW5wdXRcIiBpZD1cInNlbGVjdC1hbGxcIiBuYW1lPVwic2VsZWN0LWFsbFwiIHR5cGU9XCJjaGVja2JveFwiIChjaGFuZ2UpPVwic2VsZWN0QWxsKClcIiBbY2hlY2tlZF09XCJhbGxPblBhZ2VTZWxlY3RlZCgpXCIgW2Rpc2FibGVkXT1cIiFjYW5BbnlCZVNoYXJlZCgpXCIgLz5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1jaGVja2JveGVzX19sYWJlbFwiIGZvcj1cInNlbGVjdC1hbGxcIj5cbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdGg+XG4gICAgICA8dGggKm5nRm9yPVwibGV0IGNvbCBvZiByZXN1bHRWaWV3LmNvbHVtbnNcIiBjbGFzcz1cInNlYXJjaC1yZXN1bHQtY29sdW1uLWhlYWRlclwiICBhdHRyLmFyaWEtbGFiZWw9XCJTb3J0IGJ5IHt7Y29sLmxhYmVsfX0ge3sgaXNTb3J0QXNjZW5kaW5nKGNvbCk/ICdhc2NlbmRpbmcnIDogJ2Rlc2NlbmRpbmcnIH19XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLXJlc3VsdC1jb2x1bW4tbGFiZWxcIiAoY2xpY2spPVwic29ydChjb2wpXCI+e3tjb2wubGFiZWx9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImNvbXBhcmF0b3IoY29sKVwiIGNsYXNzPVwic2VhcmNoLXJlc3VsdC1jb2x1bW4tc29ydFwiPlxuICAgICAgICAgICAgICA8YSAoY2xpY2spPVwic29ydChjb2wpXCIgY2xhc3M9XCJzb3J0LXdpZGdldFwiIFtpbm5lckhUTUxdPVwic29ydFdpZGdldChjb2wpXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiPjwvYT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgPC90aD5cbiAgICAgIDx0aCAqbmdJZj1cImFjdGl2aXR5RW5hYmxlZCgpXCIgc3R5bGU9XCJ3aWR0aDogMTEwcHg7XCI+PC90aD5cbiAgICA8L3RyPlxuICA8L3RoZWFkPlxuICA8dGJvZHk+XG5cbiAgICA8IS0tIHNvcnRlZCBieSBjb25zdW1lciAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY29uc3VtZXJTb3J0aW5nRW5hYmxlZFwiPlxuICAgICAgPHRyICpuZ0Zvcj1cImxldCByZXN1bHQgb2YgcmVzdWx0Vmlldy5yZXN1bHRzIHwgcGFnaW5hdGU6IHsgaXRlbXNQZXJQYWdlOiBwYWdpbmF0aW9uUGFnZVNpemUsIGN1cnJlbnRQYWdlOiBzZWxlY3RlZC5wYWdlLCB0b3RhbEl0ZW1zOiByZXN1bHRUb3RhbCB9XCI+XG4gICAgICAgIDx0ZCAqbmdJZj1cInNlbGVjdGlvbkVuYWJsZWRcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19jaGVja2JveFwiIHNjb3BlPVwiY29sXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2l0ZW1cIj5cbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2lucHV0XCIgaWQ9XCJzZWxlY3Qte3sgcmVzdWx0LmNhc2VfaWQgfX1cIiBuYW1lPVwic2VsZWN0LXt7IHJlc3VsdC5jYXNlX2lkIH19XCJcbiAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCIgKGNoYW5nZSk9XCJjaGFuZ2VTZWxlY3Rpb24ocmVzdWx0KVwiIFtjaGVja2VkXT1cImlzU2VsZWN0ZWQocmVzdWx0KVwiIFtkaXNhYmxlZF09XCIhY2FuQmVTaGFyZWQocmVzdWx0KVwiIC8+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1jaGVja2JveGVzX19sYWJlbFwiIGZvcj1cInNlbGVjdC17eyByZXN1bHQuY2FzZV9pZCB9fVwiPlxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkIGNsYXNzPVwic2VhcmNoLXJlc3VsdC1jb2x1bW4tY2VsbFwiICpuZ0Zvcj1cImxldCBjb2wgb2YgcmVzdWx0Vmlldy5jb2x1bW5zOyBsZXQgY29sSW5kZXggPSBpbmRleFwiIHNjb3BlPVwicm93XCI+XG4gICAgICAgICAgPGEgKm5nSWY9XCJjb2xJbmRleCA9PSAwXCIgW3JvdXRlckxpbmtdPVwicHJlcGFyZUNhc2VMaW5rVXJsKHJlc3VsdC5jYXNlX2lkKVwiXG4gICAgICAgICAgICBhdHRyLmFyaWEtbGFiZWw9XCJnbyB0byBjYXNlIHdpdGggQ2FzZSByZWZlcmVuY2U6e3sgcmVzdWx0LmNhc2VfaWQgfCBjY2RDYXNlUmVmZXJlbmNlIH19XCIgY2xhc3M9XCJnb3Z1ay1saW5rXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIGNsYXNzPVwidGV4dC0xNlwiICpuZ0lmPVwiIWhpZGVSb3dzXCI+XG4gICAgICAgICAgICAgIDxjY2QtZmllbGQtcmVhZCAqbmdJZj1cImRyYWZ0UHJlZml4T3JHZXQoY29sLCByZXN1bHQpOyBlbHNlIGNhc2VfcmVmZXJlbmNlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNjZExhYmVsU3Vic3RpdHV0b3IgW2Nhc2VGaWVsZF09XCJnZXRDb2x1bW5zV2l0aFByZWZpeChyZXN1bHQuY29sdW1uc1tjb2wuY2FzZV9maWVsZF9pZF0sIHJlc3VsdClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRleHRGaWVsZHNdPVwicmVzdWx0Lmh5ZHJhdGVkX2Nhc2VfZmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbGVtZW50c1RvU3Vic3RpdHV0ZV09XCJbJ3ZhbHVlJ11cIj48L2NjZC1maWVsZC1yZWFkPlxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI2Nhc2VfcmVmZXJlbmNlPnt7cmVzdWx0LmNhc2VfaWQgfCBjY2RDYXNlUmVmZXJlbmNlfX08L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9hPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb2xJbmRleCAhPSAwXCIgY2xhc3M9XCJ0ZXh0LTE2XCIgW3N0eWxlLnZpc2liaWxpdHldPVwiaGlkZVJvd3MgPyAnaGlkZGVuJyA6ICd2aXNpYmxlJ1wiPlxuICAgICAgICAgICAgPGNjZC1maWVsZC1yZWFkIGNjZExhYmVsU3Vic3RpdHV0b3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2FzZUZpZWxkXT1cInJlc3VsdC5jb2x1bW5zW2NvbC5jYXNlX2ZpZWxkX2lkXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbnRleHRGaWVsZHNdPVwicmVzdWx0Lmh5ZHJhdGVkX2Nhc2VfZmllbGRzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZWxlbWVudHNUb1N1YnN0aXR1dGVdPVwiWyd2YWx1ZSddXCI+PC9jY2QtZmllbGQtcmVhZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkICpuZ0lmPVwiYWN0aXZpdHlFbmFibGVkKClcIj5cbiAgICAgICAgICA8ZGl2IFtzdHlsZS52aXNpYmlsaXR5XT1cImhpZGVSb3dzID8gJ2hpZGRlbicgOiAndmlzaWJsZSdcIj5cbiAgICAgICAgICAgIDxjY2QtYWN0aXZpdHkgW2Nhc2VJZF09XCJyZXN1bHQuY2FzZV9pZFwiIFtkaXNwbGF5TW9kZV09XCJJQ09OXCI+PC9jY2QtYWN0aXZpdHk+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L3RyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwhLS0gc29ydGVkIGJ5IHRvb2xraXQgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb25zdW1lclNvcnRpbmdFbmFibGVkXCI+XG4gICAgICA8dHIgKm5nRm9yPVwibGV0IHJlc3VsdCBvZiByZXN1bHRWaWV3LnJlc3VsdHMgfCBjY2RTb3J0U2VhcmNoUmVzdWx0IDogc29ydFBhcmFtZXRlcnMgfCBwYWdpbmF0ZTogeyBpdGVtc1BlclBhZ2U6IHBhZ2luYXRpb25QYWdlU2l6ZSwgY3VycmVudFBhZ2U6IHNlbGVjdGVkLnBhZ2UsIHRvdGFsSXRlbXM6IHJlc3VsdFRvdGFsIH1cIj5cbiAgICAgICAgPHRkICpuZ0lmPVwic2VsZWN0aW9uRW5hYmxlZFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2NoZWNrYm94XCIgc2NvcGU9XCJjb2xcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc19faXRlbVwiPlxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc19faW5wdXRcIiBpZD1cInNlbGVjdC17eyByZXN1bHQuY2FzZV9pZCB9fVwiIG5hbWU9XCJzZWxlY3Qte3sgcmVzdWx0LmNhc2VfaWQgfX1cIlxuICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIiAoY2hhbmdlKT1cImNoYW5nZVNlbGVjdGlvbihyZXN1bHQpXCIgW2NoZWNrZWRdPVwiaXNTZWxlY3RlZChyZXN1bHQpXCIgW2Rpc2FibGVkXT1cIiFjYW5CZVNoYXJlZChyZXN1bHQpXCIgKGtleXVwKT1cIm9uS2V5VXAoJGV2ZW50LCByZXN1bHQpXCIgLz5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsXCIgZm9yPVwic2VsZWN0LXt7IHJlc3VsdC5jYXNlX2lkIH19XCI+XG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgY2xhc3M9XCJzZWFyY2gtcmVzdWx0LWNvbHVtbi1jZWxsXCIgKm5nRm9yPVwibGV0IGNvbCBvZiByZXN1bHRWaWV3LmNvbHVtbnM7IGxldCBjb2xJbmRleCA9IGluZGV4XCIgc2NvcGU9XCJyb3dcIj5cblxuICAgICAgICAgIDxhICpuZ0lmPVwiY29sSW5kZXggPT0gMFwiIFtyb3V0ZXJMaW5rXT1cInByZXBhcmVDYXNlTGlua1VybChyZXN1bHQuY2FzZV9pZClcIlxuICAgICAgICAgICAgYXR0ci5hcmlhLWxhYmVsPVwiZ28gdG8gY2FzZSB3aXRoIENhc2UgcmVmZXJlbmNlOnt7IHJlc3VsdC5jYXNlX2lkIHwgY2NkQ2FzZVJlZmVyZW5jZSB9fVwiIGNsYXNzPVwiZ292dWstbGlua1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBjbGFzcz1cInRleHQtMTZcIiAqbmdJZj1cIiFoaWRlUm93c1wiPlxuICAgICAgICAgICAgICA8Y2NkLWZpZWxkLXJlYWQgKm5nSWY9XCJkcmFmdFByZWZpeE9yR2V0KGNvbCwgcmVzdWx0KTsgZWxzZSBjYXNlX3JlZmVyZW5jZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjY2RMYWJlbFN1YnN0aXR1dG9yIFtjYXNlRmllbGRdPVwiZ2V0Q29sdW1uc1dpdGhQcmVmaXgocmVzdWx0LmNvbHVtbnNbY29sLmNhc2VfZmllbGRfaWRdLCByZXN1bHQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb250ZXh0RmllbGRzXT1cInJlc3VsdC5oeWRyYXRlZF9jYXNlX2ZpZWxkc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZWxlbWVudHNUb1N1YnN0aXR1dGVdPVwiWyd2YWx1ZSddXCI+PC9jY2QtZmllbGQtcmVhZD5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjYXNlX3JlZmVyZW5jZT57e3Jlc3VsdC5jYXNlX2lkIHwgY2NkQ2FzZVJlZmVyZW5jZX19PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29sSW5kZXggIT0gMFwiIGNsYXNzPVwidGV4dC0xNlwiIFtzdHlsZS52aXNpYmlsaXR5XT1cImhpZGVSb3dzID8gJ2hpZGRlbicgOiAndmlzaWJsZSdcIj5cbiAgICAgICAgICAgIDxjY2QtZmllbGQtcmVhZCBjY2RMYWJlbFN1YnN0aXR1dG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Nhc2VGaWVsZF09XCJyZXN1bHQuY29sdW1uc1tjb2wuY2FzZV9maWVsZF9pZF1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb250ZXh0RmllbGRzXT1cInJlc3VsdC5oeWRyYXRlZF9jYXNlX2ZpZWxkc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VsZW1lbnRzVG9TdWJzdGl0dXRlXT1cIlsndmFsdWUnXVwiPjwvY2NkLWZpZWxkLXJlYWQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZCAqbmdJZj1cImFjdGl2aXR5RW5hYmxlZCgpXCI+XG4gICAgICAgICAgPGRpdiBbc3R5bGUudmlzaWJpbGl0eV09XCJoaWRlUm93cyA/ICdoaWRkZW4nIDogJ3Zpc2libGUnXCI+XG4gICAgICAgICAgICA8Y2NkLWFjdGl2aXR5IFtjYXNlSWRdPVwicmVzdWx0LmNhc2VfaWRcIiBbZGlzcGxheU1vZGVdPVwiSUNPTlwiPjwvY2NkLWFjdGl2aXR5PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RkPlxuICAgICAgPC90cj5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICA8L3Rib2R5PlxuPC90YWJsZT5cblxuPGNjZC1wYWdpbmF0aW9uXG4gICpuZ0lmPVwiaGFzUmVzdWx0cygpXCJcbiAgKHBhZ2VDaGFuZ2UpPVwiZ29Ub1BhZ2UoJGV2ZW50KVwiXG4gIFt2aXNpYmlsaXR5TGFiZWxdPVwiaGlkZVJvd3MgPyAnaGlkZGVuJyA6ICd2aXNpYmxlJ1wiXG4gIFthdXRvSGlkZV09XCJ0cnVlXCJcbiAgW21heFNpemVdPVwiOFwiXG4gIFtzY3JlZW5SZWFkZXJQYWdpbmF0aW9uTGFiZWxdPVwiJ1BhZ2luYXRpb24nXCJcbiAgW3NjcmVlblJlYWRlclBhZ2VMYWJlbF09XCJwYWdlXCJcbiAgW3NjcmVlblJlYWRlckN1cnJlbnRMYWJlbF09XCInWW91XFwncmUgb24gcGFnZSdcIj48L2NjZC1wYWdpbmF0aW9uPlxuXG48ZGl2ICpuZ0lmPVwiIShoYXNSZXN1bHRzKCkgfHwgaGFzRHJhZnRzKCkpXCIgY2xhc3M9XCJub3RpZmljYXRpb25cIlxuICBhcmlhLWxhYmVsPVwiTm8gY2FzZXMgZm91bmQuIFRyeSB1c2luZyBkaWZmZXJlbnQgZmlsdGVycy5cIj5cbiAgTm8gY2FzZXMgZm91bmQuIFRyeSB1c2luZyBkaWZmZXJlbnQgZmlsdGVycy5cbjwvZGl2PlxuIl19
|
|
845
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvc2VhcmNoLXJlc3VsdC9zZWFyY2gtcmVzdWx0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9zZWFyY2gtcmVzdWx0L3NlYXJjaC1yZXN1bHQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3pHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUNsRCxZQUFZLEVBQUUsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUNWLFNBQVMsRUFBRSxjQUFjLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLHFDQUFxQyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7SUNKM0gsK0JBQXlGO0lBQ3ZGLGdDQUEwRDtJQUFBLGlCQUFDO0lBQUEsaUJBQU87SUFDbEUsa0NBQXlDO0lBQ3ZDLGdDQUE0QztJQUFBLFlBQTRCOztJQUFBLGlC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QUFZO2tCQURsQixLQUFLO1lBSUMsUUFBUTtrQkFEZCxLQUFLO1lBSUMsU0FBUztrQkFEZixLQUFLO1lBSUMsWUFBWTtrQkFEbEIsS0FBSztZQUlDLFVBQVU7a0JBRGhCLEtBQUs7WUFJQyxJQUFJO2tCQURWLEtBQUs7WUFJQyxrQkFBa0I7a0JBRHhCLEtBQUs7WUFJQyxjQUFjO2tCQURwQixLQUFLO1lBSUMsZ0JBQWdCO2tCQUR0QixLQUFLO1lBSUMsZ0JBQWdCO2tCQUR0QixLQUFLO1lBSUMsZ0JBQWdCO2tCQUR0QixLQUFLO1lBSUMsc0JBQXNCO2tCQUQ1QixLQUFLO1lBSUMsU0FBUztrQkFEZixNQUFNO1lBSUEsVUFBVTtrQkFEaEIsTUFBTTtZQUlBLFNBQVM7a0JBRGYsTUFBTTtZQUlBLFdBQVc7a0JBRGpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFic3RyYWN0QXBwQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vYXBwLmNvbmZpZyc7XG5pbXBvcnQgeyBQbGFjZWhvbGRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzJztcbmltcG9ydCB7IENhc2VGaWVsZCwgQ2FzZVN0YXRlLCBDYXNlVHlwZSwgRGlzcGxheU1vZGUsXG4gIERSQUZUX1BSRUZJWCwgSnVyaXNkaWN0aW9uLCBQYWdpbmF0aW9uTWV0YWRhdGEsIFNlYXJjaFJlc3VsdFZpZXcsIFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4sXG4gIFNlYXJjaFJlc3VsdFZpZXdJdGVtLCBTZWFyY2hSZXN1bHRWaWV3SXRlbUNvbXBhcmF0b3IsIFNvcnRPcmRlciwgU29ydFBhcmFtZXRlcnMgfSBmcm9tICcuLi8uLi9kb21haW4nO1xuaW1wb3J0IHsgQ2FzZVJlZmVyZW5jZVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcyc7XG5pbXBvcnQgeyBBY3Rpdml0eVNlcnZpY2UsIEJyb3dzZXJTZXJ2aWNlLCBTZWFyY2hSZXN1bHRWaWV3SXRlbUNvbXBhcmF0b3JGYWN0b3J5LCBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1zZWFyY2gtcmVzdWx0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NlYXJjaC1yZXN1bHQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtcmVzdWx0LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU2VhcmNoUmVzdWx0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQge1xuXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fSlVSSVNESUNUSU9OID0gJ2p1cmlzZGljdGlvbic7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fQ0FTRV9UWVBFID0gJ2Nhc2UtdHlwZSc7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUEFSQU1fQ0FTRV9TVEFURSA9ICdjYXNlLXN0YXRlJztcblxuICBwcml2YXRlIHJlYWRvbmx5IFBBR0lOQVRJT05fTUFYX0lURU1fUkVTVUxUID0gMTAwMDA7XG5cbiAgcHVibGljIElDT04gPSBEaXNwbGF5TW9kZS5JQ09OO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlTGlua1VybFRlbXBsYXRlOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGp1cmlzZGljdGlvbjogSnVyaXNkaWN0aW9uO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlVHlwZTogQ2FzZVR5cGU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VTdGF0ZTogQ2FzZVN0YXRlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYXNlRmlsdGVyRkc6IEZvcm1Hcm91cDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcmVzdWx0VmlldzogU2VhcmNoUmVzdWx0VmlldztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcGFnZTogbnVtYmVyO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwYWdpbmF0aW9uTWV0YWRhdGE6IFBhZ2luYXRpb25NZXRhZGF0YTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgbWV0YWRhdGFGaWVsZHM6IHN0cmluZ1tdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZWxlY3Rpb25FbmFibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNob3dPbmx5U2VsZWN0ZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgcHJlU2VsZWN0ZWRDYXNlczogU2VhcmNoUmVzdWx0Vmlld0l0ZW1bXSA9IFtdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjb25zdW1lclNvcnRpbmdFbmFibGVkID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWxlY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPFNlYXJjaFJlc3VsdFZpZXdJdGVtW10+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBjaGFuZ2VQYWdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGNsaWNrQ2FzZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzb3J0SGFuZGxlcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIHBhZ2luYXRpb25MaW1pdEVuZm9yY2VkID0gZmFsc2U7XG5cbiAgcHVibGljIHBhZ2luYXRpb25QYWdlU2l6ZTogbnVtYmVyO1xuXG4gIHB1YmxpYyBoaWRlUm93czogYm9vbGVhbjtcblxuICBwdWJsaWMgc2VsZWN0ZWQ6IHtcbiAgICBpbml0PzogYm9vbGVhbixcbiAgICBqdXJpc2RpY3Rpb24/OiBKdXJpc2RpY3Rpb24sXG4gICAgY2FzZVR5cGU/OiBDYXNlVHlwZSxcbiAgICBjYXNlU3RhdGU/OiBDYXNlU3RhdGUsXG4gICAgZm9ybUdyb3VwPzogRm9ybUdyb3VwLFxuICAgIG1ldGFkYXRhRmllbGRzPzogc3RyaW5nW10sXG4gICAgcGFnZT86IG51bWJlclxuICB9ID0ge307XG5cbiAgcHVibGljIHNvcnRQYXJhbWV0ZXJzOiBTb3J0UGFyYW1ldGVycztcbiAgcHVibGljIHNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvckZhY3Rvcnk6IFNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvckZhY3Rvcnk7XG4gIHB1YmxpYyBkcmFmdHNDb3VudDogbnVtYmVyO1xuXG4gIHB1YmxpYyBjb25zdW1lclNvcnRQYXJhbWV0ZXJzOiB7IGNvbHVtbjogc3RyaW5nLCBvcmRlcjogU29ydE9yZGVyLCB0eXBlOiBzdHJpbmcgfSA9IHsgY29sdW1uOiBudWxsLCBvcmRlcjogbnVsbCwgdHlwZTogbnVsbCB9O1xuXG4gIHB1YmxpYyBzZWxlY3RlZENhc2VzOiBTZWFyY2hSZXN1bHRWaWV3SXRlbVtdID0gW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yRmFjdG9yeTogU2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yRmFjdG9yeSxcbiAgICBhcHBDb25maWc6IEFic3RyYWN0QXBwQ29uZmlnLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWN0aXZpdHlTZXJ2aWNlOiBBY3Rpdml0eVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlUmVmZXJlbmNlUGlwZTogQ2FzZVJlZmVyZW5jZVBpcGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBwbGFjZWhvbGRlclNlcnZpY2U6IFBsYWNlaG9sZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGJyb3dzZXJTZXJ2aWNlOiBCcm93c2VyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yRmFjdG9yeSA9IHNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvckZhY3Rvcnk7XG4gICAgdGhpcy5wYWdpbmF0aW9uUGFnZVNpemUgPSBhcHBDb25maWcuZ2V0UGFnaW5hdGlvblBhZ2VTaXplKCk7XG4gICAgdGhpcy5oaWRlUm93cyA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnByZVNlbGVjdGVkQ2FzZXMpIHtcbiAgICAgIGZvciAoY29uc3QgcHJlU2VsZWN0ZWRDYXNlIG9mIHRoaXMucHJlU2VsZWN0ZWRDYXNlcykge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZENhc2VzICYmICF0aGlzLnNlbGVjdGVkQ2FzZXMuc29tZShhQ2FzZSA9PiBhQ2FzZS5jYXNlX2lkID09PSBwcmVTZWxlY3RlZENhc2UuY2FzZV9pZCkpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMucHVzaChwcmVTZWxlY3RlZENhc2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLnJlbW92ZUl0ZW0oJ2V2ZW50VXJsJyk7XG4gICAgdGhpcy5zZWxlY3Rpb24uZW1pdCh0aGlzLnNlbGVjdGVkQ2FzZXMpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcblxuICAgIGlmIChjaGFuZ2VzWydyZXN1bHRWaWV3J10pIHtcbiAgICAgIHRoaXMuaGlkZVJvd3MgPSBmYWxzZTtcblxuICAgICAgdGhpcy5zb3J0UGFyYW1ldGVycyA9IHVuZGVmaW5lZDtcbiAgICAgIC8vIENsb25lIGByZXN1bHRWaWV3YCB0byBwcmV2ZW50IHNvcnRpbmcgdGhlIGV4dGVybmFsIHZhcmlhYmxlXG4gICAgICB0aGlzLnJlc3VsdFZpZXcgPSB7XG4gICAgICAgIGNvbHVtbnM6IHRoaXMucmVzdWx0Vmlldy5jb2x1bW5zLnNsaWNlKDApLFxuICAgICAgICByZXN1bHRzOiB0aGlzLnJlc3VsdFZpZXcucmVzdWx0cy5zbGljZSgwKSxcbiAgICAgICAgaGFzRHJhZnRzOiB0aGlzLnJlc3VsdFZpZXcuaGFzRHJhZnRzXG4gICAgICB9O1xuXG4gICAgICB0aGlzLnJlc3VsdFZpZXcuY29sdW1ucyA9IHRoaXMucmVzdWx0Vmlldy5jb2x1bW5zLnNvcnQoKGE6IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4sIGI6IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4pID0+IHtcbiAgICAgICAgcmV0dXJuIGEub3JkZXIgLSBiLm9yZGVyO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuaHlkcmF0ZVJlc3VsdFZpZXcoKTtcbiAgICAgIHRoaXMuZHJhZnRzQ291bnQgPSB0aGlzLmRyYWZ0c0NvdW50ID8gdGhpcy5kcmFmdHNDb3VudCA6IHRoaXMubnVtYmVyT2ZEcmFmdHMoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ3BhZ2UnXSkge1xuICAgICAgdGhpcy5zZWxlY3RlZC5wYWdlID0gKGNoYW5nZXNbJ3BhZ2UnXSkuY3VycmVudFZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgcmVzdWx0VG90YWwoKTogbnVtYmVyIHtcbiAgICBjb25zdCB0b3RhbCA9IHRoaXMucGFnaW5hdGlvbk1ldGFkYXRhLnRvdGFsX3Jlc3VsdHNfY291bnQ7XG4gICAgY29uc3QgbWF4aW11bVJlc3VsdFJlYWNoZWQgPSB0b3RhbCA+PSB0aGlzLlBBR0lOQVRJT05fTUFYX0lURU1fUkVTVUxUO1xuICAgIHRoaXMucGFnaW5hdGlvbkxpbWl0RW5mb3JjZWQgPSBtYXhpbXVtUmVzdWx0UmVhY2hlZDtcblxuICAgIHJldHVybiBtYXhpbXVtUmVzdWx0UmVhY2hlZCA/IHRoaXMuUEFHSU5BVElPTl9NQVhfSVRFTV9SRVNVTFQgOiB0b3RhbDtcbiAgfVxuXG4gIHB1YmxpYyBjbGVhclNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkQ2FzZXMgPSBbXTtcbiAgICB0aGlzLnNlbGVjdGlvbi5lbWl0KHRoaXMuc2VsZWN0ZWRDYXNlcyk7XG4gIH1cblxuICBwdWJsaWMgY2FuQmVTaGFyZWQoY2FzZVZpZXc6IFNlYXJjaFJlc3VsdFZpZXdJdGVtKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGNhc2VWaWV3LnN1cHBsZW1lbnRhcnlfZGF0YSAmJiBjYXNlVmlldy5zdXBwbGVtZW50YXJ5X2RhdGEuaGFzT3duUHJvcGVydHkoJ29yZ3NfYXNzaWduZWRfdXNlcnMnKTtcbiAgfVxuXG4gIHB1YmxpYyBjYW5BbnlCZVNoYXJlZCgpOiBib29sZWFuIHtcbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgaWYgKHRoaXMuY2FuQmVTaGFyZWQodGhpcy5yZXN1bHRWaWV3LnJlc3VsdHNbaV0pKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0QWxsKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFsbE9uUGFnZVNlbGVjdGVkKCkpIHtcbiAgICAgIC8vIGFsbCBjYXNlcyBhbHJlYWR5IHNlbGVjdGVkLCBzbyB1bnNlbGVjdCBhbGwgb24gdGhpcyBwYWdlXG4gICAgICB0aGlzLnJlc3VsdFZpZXcucmVzdWx0cy5mb3JFYWNoKGMgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMuZm9yRWFjaCgocywgaSkgPT4ge1xuICAgICAgICAgIGlmIChjLmNhc2VfaWQgPT09IHMuY2FzZV9pZCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENhc2VzLnNwbGljZShpLCAxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLmZvckVhY2goYyA9PiB7XG4gICAgICAgIGlmICghdGhpcy5pc1NlbGVjdGVkKGMpICYmIHRoaXMuY2FuQmVTaGFyZWQoYykpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMucHVzaChjKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0aW9uLmVtaXQodGhpcy5zZWxlY3RlZENhc2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBjaGFuZ2VTZWxlY3Rpb24oYzogU2VhcmNoUmVzdWx0Vmlld0l0ZW0pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc1NlbGVjdGVkKGMpKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMuZm9yRWFjaCgocywgaSkgPT4ge1xuICAgICAgICBpZiAoYy5jYXNlX2lkID09PSBzLmNhc2VfaWQpIHtcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2FzZXMuc3BsaWNlKGksIDEpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuY2FuQmVTaGFyZWQoYykpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENhc2VzLnB1c2goYyk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0aW9uLmVtaXQodGhpcy5zZWxlY3RlZENhc2VzKTtcbiAgfVxuXG4gIHB1YmxpYyBpc1NlbGVjdGVkKGM6IFNlYXJjaFJlc3VsdFZpZXdJdGVtKTogYm9vbGVhbiB7XG4gICAgZm9yIChsZXQgaSA9IDAsIGwgPSB0aGlzLnNlbGVjdGVkQ2FzZXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICBpZiAoYy5jYXNlX2lkID09PSB0aGlzLnNlbGVjdGVkQ2FzZXNbaV0uY2FzZV9pZCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHVibGljIGFsbE9uUGFnZVNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIGxldCBjYW5CZVNoYXJlZENvdW50ID0gMDtcbiAgICBmb3IgKGxldCBpID0gMCwgbCA9IHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgY29uc3QgciA9IHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzW2ldO1xuICAgICAgaWYgKHRoaXMuY2FuQmVTaGFyZWQocikpIHtcbiAgICAgICAgY2FuQmVTaGFyZWRDb3VudCArKztcbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy5pc1NlbGVjdGVkKHIpICYmIHRoaXMuY2FuQmVTaGFyZWQocikpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2FuQmVTaGFyZWRDb3VudCA9PT0gMCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIeWRyYXRlcyByZXN1bHQgdmlldyB3aXRoIGNhc2UgZmllbGQgZGVmaW5pdGlvbnMuXG4gICAqL1xuICAvLyBBIGxvbmdlciB0ZXJtIHJlc29sdXRpb24gaXMgdG8gbW92ZSB0aGlzIHBpZWNlIG9mIGxvZ2ljIHRvIHRoZSBiYWNrZW5kXG4gIHB1YmxpYyBoeWRyYXRlUmVzdWx0VmlldygpOiB2b2lkIHtcbiAgICB0aGlzLnJlc3VsdFZpZXcucmVzdWx0cy5mb3JFYWNoKHJlc3VsdCA9PiB7XG4gICAgICBjb25zdCBjYXNlRmllbGRzID0gW107XG5cbiAgICAgIE9iamVjdC5rZXlzKHJlc3VsdC5jYXNlX2ZpZWxkcykuZm9yRWFjaChmaWVsZElkID0+IHtcblxuICAgICAgICBjb25zdCBmaWVsZCA9IHJlc3VsdC5jYXNlX2ZpZWxkc1tmaWVsZElkXTtcblxuICAgICAgICBjYXNlRmllbGRzLnB1c2goT2JqZWN0LmFzc2lnbihuZXcgQ2FzZUZpZWxkKCksIHtcbiAgICAgICAgICBpZDogZmllbGRJZCxcbiAgICAgICAgICBsYWJlbDogbnVsbCxcbiAgICAgICAgICBmaWVsZF90eXBlOiB7fSxcbiAgICAgICAgICB2YWx1ZTogZmllbGQsXG4gICAgICAgICAgZGlzcGxheV9jb250ZXh0OiBudWxsLFxuICAgICAgICB9KSk7XG4gICAgICB9KTtcblxuICAgICAgcmVzdWx0Lmh5ZHJhdGVkX2Nhc2VfZmllbGRzID0gY2FzZUZpZWxkcztcbiAgICAgIHJlc3VsdC5jb2x1bW5zID0ge307XG5cbiAgICAgIHRoaXMucmVzdWx0Vmlldy5jb2x1bW5zLmZvckVhY2goY29sID0+IHtcbiAgICAgICAgcmVzdWx0LmNvbHVtbnNbY29sLmNhc2VfZmllbGRfaWRdID0gdGhpcy5idWlsZENhc2VGaWVsZChjb2wsIHJlc3VsdCk7XG4gICAgICB9KTtcbiAgICB9KTtcblxuICB9XG5cbiAgcHVibGljIGdvVG9QYWdlKHBhZ2UpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGVSb3dzID0gdHJ1ZTtcbiAgICB0aGlzLnNlbGVjdGVkLmluaXQgPSBmYWxzZTtcbiAgICB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbiA9IHRoaXMuanVyaXNkaWN0aW9uO1xuICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVR5cGUgPSB0aGlzLmNhc2VUeXBlO1xuICAgIHRoaXMuc2VsZWN0ZWQuY2FzZVN0YXRlID0gdGhpcy5jYXNlU3RhdGU7XG4gICAgdGhpcy5zZWxlY3RlZC5mb3JtR3JvdXAgPSB0aGlzLmNhc2VGaWx0ZXJGRztcbiAgICB0aGlzLnNlbGVjdGVkLm1ldGFkYXRhRmllbGRzID0gdGhpcy5tZXRhZGF0YUZpZWxkcztcbiAgICB0aGlzLnNlbGVjdGVkLnBhZ2UgPSBwYWdlO1xuICAgIC8vIEFwcGx5IGZpbHRlcnNcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHt9O1xuICAgIHF1ZXJ5UGFyYW1zW1NlYXJjaFJlc3VsdENvbXBvbmVudC5QQVJBTV9KVVJJU0RJQ1RJT05dID0gdGhpcy5zZWxlY3RlZC5qdXJpc2RpY3Rpb24gPyB0aGlzLnNlbGVjdGVkLmp1cmlzZGljdGlvbi5pZCA6IG51bGw7XG4gICAgcXVlcnlQYXJhbXNbU2VhcmNoUmVzdWx0Q29tcG9uZW50LlBBUkFNX0NBU0VfVFlQRV0gPSB0aGlzLnNlbGVjdGVkLmNhc2VUeXBlID8gdGhpcy5zZWxlY3RlZC5jYXNlVHlwZS5pZCA6IG51bGw7XG4gICAgcXVlcnlQYXJhbXNbU2VhcmNoUmVzdWx0Q29tcG9uZW50LlBBUkFNX0NBU0VfU1RBVEVdID0gdGhpcy5zZWxlY3RlZC5jYXNlU3RhdGUgPyB0aGlzLnNlbGVjdGVkLmNhc2VTdGF0ZS5pZCA6IG51bGw7XG4gICAgdGhpcy5jaGFuZ2VQYWdlLmVtaXQoe1xuICAgICAgc2VsZWN0ZWQ6IHRoaXMuc2VsZWN0ZWQsXG4gICAgICBxdWVyeVBhcmFtc1xuICAgIH0pO1xuXG4gICAgY29uc3QgdG9wQ29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RvcCcpO1xuICAgIGlmICh0b3BDb250YWluZXIpIHtcbiAgICAgIGlmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5ibHVyKCk7XG4gICAgICB9XG4gICAgICB0b3BDb250YWluZXIuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYnVpbGRDYXNlRmllbGQoY29sOiBTZWFyY2hSZXN1bHRWaWV3Q29sdW1uLCByZXN1bHQ6IFNlYXJjaFJlc3VsdFZpZXdJdGVtKTogQ2FzZUZpZWxkIHtcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihuZXcgQ2FzZUZpZWxkKCksIHtcbiAgICAgIGlkOiBjb2wuY2FzZV9maWVsZF9pZCxcbiAgICAgIGxhYmVsOiBjb2wubGFiZWwsXG4gICAgICBmaWVsZF90eXBlOiBjb2wuY2FzZV9maWVsZF90eXBlLFxuICAgICAgdmFsdWU6IHJlc3VsdC5jYXNlX2ZpZWxkc1tjb2wuY2FzZV9maWVsZF9pZF0sXG4gICAgICBkaXNwbGF5X2NvbnRleHRfcGFyYW1ldGVyOiBjb2wuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlcixcbiAgICAgIGRpc3BsYXlfY29udGV4dDogY29sLmRpc3BsYXlfY29udGV4dCxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDb2x1bW5zV2l0aFByZWZpeChjb2w6IENhc2VGaWVsZCwgcmVzdWx0OiBTZWFyY2hSZXN1bHRWaWV3SXRlbSk6IENhc2VGaWVsZCB7XG4gICAgY29sLnZhbHVlID0gdGhpcy5kcmFmdFByZWZpeE9yR2V0KGNvbCwgcmVzdWx0KTtcbiAgICBjb2wudmFsdWUgPSB0aGlzLnBsYWNlaG9sZGVyU2VydmljZS5yZXNvbHZlUGxhY2Vob2xkZXJzKHJlc3VsdC5jYXNlX2ZpZWxkcywgY29sLnZhbHVlKTtcbiAgICByZXR1cm4gY29sO1xuICB9XG5cbiAgcHVibGljIGhhc1Jlc3VsdHMoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5yZXN1bHRWaWV3LnJlc3VsdHMubGVuZ3RoICYmIHRoaXMucGFnaW5hdGlvbk1ldGFkYXRhLnRvdGFsX3BhZ2VzX2NvdW50O1xuICB9XG5cbiAgcHVibGljIGhhc0RyYWZ0cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5yZXN1bHRWaWV3Lmhhc0RyYWZ0cygpO1xuICB9XG5cbiAgcHVibGljIGNvbXBhcmF0b3IoY29sdW1uOiBTZWFyY2hSZXN1bHRWaWV3Q29sdW1uKTogU2VhcmNoUmVzdWx0Vmlld0l0ZW1Db21wYXJhdG9yIHtcbiAgICByZXR1cm4gdGhpcy5zZWFyY2hSZXN1bHRWaWV3SXRlbUNvbXBhcmF0b3JGYWN0b3J5LmNyZWF0ZVNlYXJjaFJlc3VsdFZpZXdJdGVtQ29tcGFyYXRvcihjb2x1bW4pO1xuICB9XG5cbiAgcHVibGljIHNvcnQoY29sdW1uOiBTZWFyY2hSZXN1bHRWaWV3Q29sdW1uKSB7XG4gICAgaWYgKHRoaXMuY29uc3VtZXJTb3J0aW5nRW5hYmxlZCkge1xuICAgICAgaWYgKGNvbHVtbi5jYXNlX2ZpZWxkX2lkICE9PSB0aGlzLmNvbnN1bWVyU29ydFBhcmFtZXRlcnMuY29sdW1uKSB7XG4gICAgICAgIHRoaXMuY29uc3VtZXJTb3J0UGFyYW1ldGVycy5vcmRlciA9IFNvcnRPcmRlci5ERVNDRU5ESU5HO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzLm9yZGVyID0gdGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzLm9yZGVyID09PSBTb3J0T3JkZXIuREVTQ0VORElORyA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNvcnRPcmRlci5BU0NFTkRJTkcgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTb3J0T3JkZXIuREVTQ0VORElORztcbiAgICAgIH1cbiAgICAgIHRoaXMuY29uc3VtZXJTb3J0UGFyYW1ldGVycy5jb2x1bW4gPSBjb2x1bW4uY2FzZV9maWVsZF9pZDtcbiAgICAgIHRoaXMuY29uc3VtZXJTb3J0UGFyYW1ldGVycy50eXBlID0gY29sdW1uLmNhc2VfZmllbGRfdHlwZS50eXBlO1xuICAgICAgdGhpcy5zb3J0SGFuZGxlci5lbWl0KHRoaXMuY29uc3VtZXJTb3J0UGFyYW1ldGVycyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmNvbXBhcmF0b3IoY29sdW1uKSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1NvcnRBc2NlbmRpbmcoY29sdW1uKSkge1xuICAgICAgICB0aGlzLnNvcnRQYXJhbWV0ZXJzID0gbmV3IFNvcnRQYXJhbWV0ZXJzKHRoaXMuY29tcGFyYXRvcihjb2x1bW4pLCBTb3J0T3JkZXIuQVNDRU5ESU5HKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc29ydFBhcmFtZXRlcnMgPSBuZXcgU29ydFBhcmFtZXRlcnModGhpcy5jb21wYXJhdG9yKGNvbHVtbiksIFNvcnRPcmRlci5ERVNDRU5ESU5HKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc29ydFdpZGdldChjb2x1bW46IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4pIHtcbiAgICBsZXQgY29uZGl0aW9uID0gZmFsc2U7XG4gICAgaWYgKHRoaXMuY29uc3VtZXJTb3J0aW5nRW5hYmxlZCkge1xuICAgICAgY29uc3QgaXNDb2x1bW4gPSBjb2x1bW4uY2FzZV9maWVsZF9pZCA9PT0gdGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzLmNvbHVtbjtcbiAgICAgIGNvbnN0IGlzQXNjZW5kaW5nID0gdGhpcy5jb25zdW1lclNvcnRQYXJhbWV0ZXJzLm9yZGVyID09PSBTb3J0T3JkZXIuQVNDRU5ESU5HO1xuICAgICAgY29uZGl0aW9uID0gIWlzQ29sdW1uIHx8IChpc0NvbHVtbiAmJiBpc0FzY2VuZGluZyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbmRpdGlvbiA9IHRoaXMuaXNTb3J0QXNjZW5kaW5nKGNvbHVtbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbmRpdGlvbiA/ICcmIzk2NjA7JyA6ICcmIzk2NTA7JztcbiAgfVxuXG4gIHB1YmxpYyBhY3Rpdml0eUVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYWN0aXZpdHlTZXJ2aWNlLmlzRW5hYmxlZDtcbiAgfVxuXG4gIHB1YmxpYyBoeXBoZW5hdGVJZkNhc2VSZWZlcmVuY2VPckdldChjb2wsIHJlc3VsdCk6IGFueSB7XG4gICAgaWYgKGNvbC5jYXNlX2ZpZWxkX2lkID09PSAnW0NBU0VfUkVGRVJFTkNFXScpIHtcbiAgICAgIHJldHVybiB0aGlzLmNhc2VSZWZlcmVuY2VQaXBlLnRyYW5zZm9ybShyZXN1bHQuY2FzZV9maWVsZHNbY29sLmNhc2VfZmllbGRfaWRdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKGNvbC5pZCkge1xuICAgICAgICBpZiAoY29sLmlkID09PSAnW0NBU0VfUkVGRVJFTkNFXScpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5jYXNlUmVmZXJlbmNlUGlwZS50cmFuc2Zvcm0ocmVzdWx0LmNhc2VfZmllbGRzW2NvbC5pZF0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiByZXN1bHQuY2FzZV9maWVsZHNbY29sLmlkXTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdC5jYXNlX2ZpZWxkc1tjb2wuY2FzZV9maWVsZF9pZF07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRyYWZ0UHJlZml4T3JHZXQoY29sLCByZXN1bHQpOiBhbnkge1xuICAgIHJldHVybiByZXN1bHQuY2FzZV9pZC5zdGFydHNXaXRoKERSQUZUX1BSRUZJWCkgPyBEUkFGVF9QUkVGSVggOiB0aGlzLmh5cGhlbmF0ZUlmQ2FzZVJlZmVyZW5jZU9yR2V0KGNvbCwgcmVzdWx0KTtcbiAgfVxuXG4gIHB1YmxpYyBpc1NvcnRBc2NlbmRpbmcoY29sdW1uOiBTZWFyY2hSZXN1bHRWaWV3Q29sdW1uKTogYm9vbGVhbiB7XG4gICAgY29uc3QgY3VycmVudFNvcnRPcmRlciA9IHRoaXMuY3VycmVudFNvcnRPcmRlcihjb2x1bW4pO1xuXG4gICAgcmV0dXJuIGN1cnJlbnRTb3J0T3JkZXIgPT09IFNvcnRPcmRlci5VTlNPUlRFRCB8fCBjdXJyZW50U29ydE9yZGVyID09PSBTb3J0T3JkZXIuREVTQ0VORElORztcbiAgfVxuXG4gIHByaXZhdGUgY3VycmVudFNvcnRPcmRlcihjb2x1bW46IFNlYXJjaFJlc3VsdFZpZXdDb2x1bW4pOiBTb3J0T3JkZXIge1xuXG4gICAgbGV0IGlzQXNjZW5kaW5nID0gdHJ1ZTtcbiAgICBsZXQgaXNEZXNjZW5kaW5nID0gdHJ1ZTtcblxuICAgIGlmICh0aGlzLmNvbXBhcmF0b3IoY29sdW1uKSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gU29ydE9yZGVyLlVOU09SVEVEO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzLmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgY29uc3QgY29tcGFyaXNvbiA9IHRoaXMuY29tcGFyYXRvcihjb2x1bW4pLmNvbXBhcmUodGhpcy5yZXN1bHRWaWV3LnJlc3VsdHNbaV0sIHRoaXMucmVzdWx0Vmlldy5yZXN1bHRzW2kgKyAxXSk7XG4gICAgICBpc0Rlc2NlbmRpbmcgPSBpc0Rlc2NlbmRpbmcgJiYgY29tcGFyaXNvbiA8PSAwO1xuICAgICAgaXNBc2NlbmRpbmcgPSBpc0FzY2VuZGluZyAmJiBjb21wYXJpc29uID49IDA7XG4gICAgICBpZiAoIWlzQXNjZW5kaW5nICYmICFpc0Rlc2NlbmRpbmcpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBpc0FzY2VuZGluZyA/IFNvcnRPcmRlci5BU0NFTkRJTkcgOiBpc0Rlc2NlbmRpbmcgPyBTb3J0T3JkZXIuREVTQ0VORElORyA6IFNvcnRPcmRlci5VTlNPUlRFRDtcbiAgfVxuXG4gIHB1YmxpYyBnZXRGaXJzdFJlc3VsdCgpOiBudW1iZXIge1xuICAgIGNvbnN0IGN1cnJlbnRQYWdlID0gKHRoaXMuc2VsZWN0ZWQucGFnZSA/IHRoaXMuc2VsZWN0ZWQucGFnZSA6IDEpO1xuICAgIHJldHVybiAoKGN1cnJlbnRQYWdlIC0gMSkgKiB0aGlzLnBhZ2luYXRpb25QYWdlU2l6ZSkgKyAxICsgdGhpcy5nZXREcmFmdHNDb3VudElmTm90UGFnZU9uZShjdXJyZW50UGFnZSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGFzdFJlc3VsdCgpOiBudW1iZXIge1xuICAgIGNvbnN0IGN1cnJlbnRQYWdlID0gKHRoaXMuc2VsZWN0ZWQucGFnZSA/IHRoaXMuc2VsZWN0ZWQucGFnZSA6IDEpO1xuICAgIHJldHVybiAoKGN1cnJlbnRQYWdlIC0gMSkgKiB0aGlzLnBhZ2luYXRpb25QYWdlU2l6ZSkgKyB0aGlzLnJlc3VsdFZpZXcucmVzdWx0cy5sZW5ndGggKyB0aGlzLmdldERyYWZ0c0NvdW50SWZOb3RQYWdlT25lKGN1cnJlbnRQYWdlKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRUb3RhbFJlc3VsdHMoKTogbnVtYmVyIHtcbiAgICBjb25zdCB0b3RhbCA9IHRoaXMucGFnaW5hdGlvbk1ldGFkYXRhLnRvdGFsX3Jlc3VsdHNfY291bnQgKyB0aGlzLmRyYWZ0c0NvdW50O1xuXG4gICAgcmV0dXJuIHRvdGFsID49IHRoaXMuUEFHSU5BVElPTl9NQVhfSVRFTV9SRVNVTFQgPyB0aGlzLlBBR0lOQVRJT05fTUFYX0lURU1fUkVTVUxUIDogdG90YWw7XG4gIH1cblxuICBwdWJsaWMgcHJlcGFyZUNhc2VMaW5rVXJsKGNhc2VJZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBsZXQgdXJsID0gdGhpcy5jYXNlTGlua1VybFRlbXBsYXRlO1xuICAgIHVybCA9IHVybC5yZXBsYWNlKCdqdXJpc2RpY3Rpb25faWQnLCB0aGlzLmp1cmlzZGljdGlvbi5pZCk7XG4gICAgdXJsID0gdXJsLnJlcGxhY2UoJ2Nhc2VUeXBlX2lkJywgdGhpcy5jYXNlVHlwZS5pZCk7XG4gICAgdXJsID0gdXJsLnJlcGxhY2UoJ2Nhc2VfaWQnLCBjYXNlSWQpO1xuXG4gICAgcmV0dXJuIHVybDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0RHJhZnRzQ291bnRJZk5vdFBhZ2VPbmUoY3VycmVudFBhZ2UpOiBudW1iZXIge1xuICAgIHJldHVybiBjdXJyZW50UGFnZSA+IDEgPyB0aGlzLmRyYWZ0c0NvdW50IDogMDtcbiAgfVxuXG4gIHByaXZhdGUgbnVtYmVyT2ZEcmFmdHMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5yZXN1bHRWaWV3LnJlc3VsdHMuZmlsdGVyKF8gPT4gXy5jYXNlX2lkLnN0YXJ0c1dpdGgoRFJBRlRfUFJFRklYKSkubGVuZ3RoO1xuICB9XG5cbiAgcHVibGljIGdvVG9DYXNlKGNhc2VJZDogc3RyaW5nKSB7XG4gICAgdGhpcy5jbGlja0Nhc2UuZW1pdCh7XG4gICAgICBjYXNlSWRcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvbktleVVwKCRldmVudDogS2V5Ym9hcmRFdmVudCwgYzogU2VhcmNoUmVzdWx0Vmlld0l0ZW0pOiB2b2lkIHtcbiAgICBpZiAoJGV2ZW50LmtleSA9PT0gJ1NwYWNlJykge1xuICAgICAgaWYgKHRoaXMuYnJvd3NlclNlcnZpY2UuaXNGaXJlZm94IHx8IHRoaXMuYnJvd3NlclNlcnZpY2UuaXNTYWZhcmkgfHwgdGhpcy5icm93c2VyU2VydmljZS5pc0lFT3JFZGdlKSB7XG4gICAgICAgIHRoaXMuY2hhbmdlU2VsZWN0aW9uKGMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiPHRhYmxlICpuZ0lmPVwiaGFzUmVzdWx0cygpIHx8IGhhc0RyYWZ0cygpXCI+XG4gIDxjYXB0aW9uPlxuICAgIDxoMiBjbGFzcz1cImhlYWRpbmctaDJcIiBpZD1cInNlYXJjaC1yZXN1bHQtaGVhZGluZ19fdGV4dFwiIHRhYmluZGV4PVwiLTFcIj57eyBjYXNlU3RhdGUgPyAnWW91ciBjYXNlcycgOiAnU2VhcmNoIHJlc3VsdCcgfCBycHhUcmFuc2xhdGV9fTwvaDI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0IHBhZ2luYXRpb24tbGltaXQtd2FybmluZ1wiICpuZ0lmPVwicGFnaW5hdGlvbkxpbWl0RW5mb3JjZWRcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstd2FybmluZy10ZXh0X19pY29uXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+ITwvc3Bhbj5cbiAgICAgIDxzdHJvbmcgY2xhc3M9XCJnb3Z1ay13YXJuaW5nLXRleHRfX3RleHRcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay13YXJuaW5nLXRleHRfX2Fzc2lzdGl2ZVwiPnt7J1dhcm5pbmcnIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgIHt7J1RoZSB0b3RhbCBzaXplIG9mIHRoZSByZXN1bHQgc2V0IGlzJyB8IHJweFRyYW5zbGF0ZX19IHt7cGFnaW5hdGlvbk1ldGFkYXRhLnRvdGFsX3Jlc3VsdHNfY291bnQgfCBudW1iZXJ9fS4ge3snT25seSB0aGUgZmlyc3QgMTAsMDAwIHJlY29yZHMgYXJlIGF2YWlsYWJsZSBmb3IgZGlzcGxheS4nIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvc3Ryb25nPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cIihoYXNSZXN1bHRzKCkgfHwgaGFzRHJhZnRzKCkpXCIgY2xhc3M9XCJwYWdpbmF0aW9uLXRvcFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImdldFRvdGFsUmVzdWx0cygpICsgJyByZXN1bHRzIGhhdmUgYmVlbiBmb3VuZCcgfCBycHhUcmFuc2xhdGVcIiByb2xlPVwic3RhdHVzXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cInRleHQtMTZcIiBpZD1cInNlYXJjaC1yZXN1bHQtc3VtbWFyeV9fdGV4dFwiPnt7J1Nob3dpbmcnIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay0hLWZvbnQtd2VpZ2h0LWJvbGRcIj57eyBnZXRGaXJzdFJlc3VsdCgpIH19PC9zcGFuPlxuICAgICAgICB7eyd0bycgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICA8c3BhbiBjbGFzcz1cImdvdnVrLSEtZm9udC13ZWlnaHQtYm9sZFwiPnt7IGdldExhc3RSZXN1bHQoKSB9fTwvc3Bhbj5cbiAgICAgICAge3snb2YnIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay0hLWZvbnQtd2VpZ2h0LWJvbGRcIj57eyBnZXRUb3RhbFJlc3VsdHMoKSB9fTwvc3Bhbj4ge3sncmVzdWx0cycgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwiKGhhc1Jlc3VsdHMoKSB8fCBoYXNEcmFmdHMoKSkgJiYgc2VsZWN0aW9uRW5hYmxlZFwiIGNsYXNzPVwicmVzZXQtc2VsZWN0aW9uXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidSZXNldCBzZWxlY3Rpb24nIHwgcnB4VHJhbnNsYXRlXCI+XG4gICAgICA8c3Bhbj48YSBjbGFzcz1cInNlYXJjaC1yZXN1bHQtcmVzZXQtbGlua1wiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiAoY2xpY2spPVwiY2xlYXJTZWxlY3Rpb24oKVwiPnt7J1Jlc2V0IGNhc2Ugc2VsZWN0aW9uJyB8IHJweFRyYW5zbGF0ZX19PC9hPjwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9jYXB0aW9uPlxuICA8dGhlYWQ+XG4gICAgPHRyIHNjb3BlPVwicm93XCI+XG4gICAgICA8dGggKm5nSWY9XCJzZWxlY3Rpb25FbmFibGVkXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2hlY2tib3hcIiBzY29wZT1cImNvbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZ292dWstY2hlY2tib3hlc19faXRlbVwiPlxuICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2lucHV0XCIgaWQ9XCJzZWxlY3QtYWxsXCIgbmFtZT1cInNlbGVjdC1hbGxcIiB0eXBlPVwiY2hlY2tib3hcIiAoY2hhbmdlKT1cInNlbGVjdEFsbCgpXCIgW2NoZWNrZWRdPVwiYWxsT25QYWdlU2VsZWN0ZWQoKVwiIFtkaXNhYmxlZF09XCIhY2FuQW55QmVTaGFyZWQoKVwiIC8+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstY2hlY2tib3hlc19fbGFiZWxcIiBmb3I9XCJzZWxlY3QtYWxsXCI+XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L3RoPlxuICAgICAgPHRoICpuZ0Zvcj1cImxldCBjb2wgb2YgcmVzdWx0Vmlldy5jb2x1bW5zXCIgY2xhc3M9XCJzZWFyY2gtcmVzdWx0LWNvbHVtbi1oZWFkZXJcIiAgYXR0ci5hcmlhLWxhYmVsPVwiU29ydCBieSB7e2NvbC5sYWJlbH19IHt7IGlzU29ydEFzY2VuZGluZyhjb2wpPyAnYXNjZW5kaW5nJyA6ICdkZXNjZW5kaW5nJyB9fVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlYXJjaC1yZXN1bHQtY29sdW1uLWxhYmVsXCIgKGNsaWNrKT1cInNvcnQoY29sKVwiPnt7Y29sLmxhYmVsfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjb21wYXJhdG9yKGNvbClcIiBjbGFzcz1cInNlYXJjaC1yZXN1bHQtY29sdW1uLXNvcnRcIj5cbiAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cInNvcnQoY29sKVwiIGNsYXNzPVwic29ydC13aWRnZXRcIiBbaW5uZXJIVE1MXT1cInNvcnRXaWRnZXQoY29sKVwiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIj48L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgIDwvdGg+XG4gICAgICA8dGggKm5nSWY9XCJhY3Rpdml0eUVuYWJsZWQoKVwiIHN0eWxlPVwid2lkdGg6IDExMHB4O1wiPjwvdGg+XG4gICAgPC90cj5cbiAgPC90aGVhZD5cbiAgPHRib2R5PlxuXG4gICAgPCEtLSBzb3J0ZWQgYnkgY29uc3VtZXIgLS0+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbnN1bWVyU29ydGluZ0VuYWJsZWRcIj5cbiAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcmVzdWx0IG9mIHJlc3VsdFZpZXcucmVzdWx0cyB8IHBhZ2luYXRlOiB7IGl0ZW1zUGVyUGFnZTogcGFnaW5hdGlvblBhZ2VTaXplLCBjdXJyZW50UGFnZTogc2VsZWN0ZWQucGFnZSwgdG90YWxJdGVtczogcmVzdWx0VG90YWwgfVwiPlxuICAgICAgICA8dGQgKm5nSWY9XCJzZWxlY3Rpb25FbmFibGVkXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2hlY2tib3hcIiBzY29wZT1cImNvbFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pdGVtXCI+XG4gICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1jaGVja2JveGVzX19pbnB1dFwiIGlkPVwic2VsZWN0LXt7IHJlc3VsdC5jYXNlX2lkIH19XCIgbmFtZT1cInNlbGVjdC17eyByZXN1bHQuY2FzZV9pZCB9fVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJjaGVja2JveFwiIChjaGFuZ2UpPVwiY2hhbmdlU2VsZWN0aW9uKHJlc3VsdClcIiBbY2hlY2tlZF09XCJpc1NlbGVjdGVkKHJlc3VsdClcIiBbZGlzYWJsZWRdPVwiIWNhbkJlU2hhcmVkKHJlc3VsdClcIiAvPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstY2hlY2tib3hlc19fbGFiZWxcIiBmb3I9XCJzZWxlY3Qte3sgcmVzdWx0LmNhc2VfaWQgfX1cIj5cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZCBjbGFzcz1cInNlYXJjaC1yZXN1bHQtY29sdW1uLWNlbGxcIiAqbmdGb3I9XCJsZXQgY29sIG9mIHJlc3VsdFZpZXcuY29sdW1uczsgbGV0IGNvbEluZGV4ID0gaW5kZXhcIiBzY29wZT1cInJvd1wiPlxuICAgICAgICAgIDxhICpuZ0lmPVwiY29sSW5kZXggPT0gMFwiIFtyb3V0ZXJMaW5rXT1cInByZXBhcmVDYXNlTGlua1VybChyZXN1bHQuY2FzZV9pZClcIlxuICAgICAgICAgICAgYXR0ci5hcmlhLWxhYmVsPVwiZ28gdG8gY2FzZSB3aXRoIENhc2UgcmVmZXJlbmNlOnt7IHJlc3VsdC5jYXNlX2lkIHwgY2NkQ2FzZVJlZmVyZW5jZSB9fVwiIGNsYXNzPVwiZ292dWstbGlua1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBjbGFzcz1cInRleHQtMTZcIiAqbmdJZj1cIiFoaWRlUm93c1wiPlxuICAgICAgICAgICAgICA8Y2NkLWZpZWxkLXJlYWQgKm5nSWY9XCJkcmFmdFByZWZpeE9yR2V0KGNvbCwgcmVzdWx0KTsgZWxzZSBjYXNlX3JlZmVyZW5jZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjY2RMYWJlbFN1YnN0aXR1dG9yIFtjYXNlRmllbGRdPVwiZ2V0Q29sdW1uc1dpdGhQcmVmaXgocmVzdWx0LmNvbHVtbnNbY29sLmNhc2VfZmllbGRfaWRdLCByZXN1bHQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb250ZXh0RmllbGRzXT1cInJlc3VsdC5oeWRyYXRlZF9jYXNlX2ZpZWxkc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZWxlbWVudHNUb1N1YnN0aXR1dGVdPVwiWyd2YWx1ZSddXCI+PC9jY2QtZmllbGQtcmVhZD5cbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNjYXNlX3JlZmVyZW5jZT57e3Jlc3VsdC5jYXNlX2lkIHwgY2NkQ2FzZVJlZmVyZW5jZX19PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvYT5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY29sSW5kZXggIT0gMFwiIGNsYXNzPVwidGV4dC0xNlwiIFtzdHlsZS52aXNpYmlsaXR5XT1cImhpZGVSb3dzID8gJ2hpZGRlbicgOiAndmlzaWJsZSdcIj5cbiAgICAgICAgICAgIDxjY2QtZmllbGQtcmVhZCBjY2RMYWJlbFN1YnN0aXR1dG9yXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Nhc2VGaWVsZF09XCJyZXN1bHQuY29sdW1uc1tjb2wuY2FzZV9maWVsZF9pZF1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb250ZXh0RmllbGRzXT1cInJlc3VsdC5oeWRyYXRlZF9jYXNlX2ZpZWxkc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VsZW1lbnRzVG9TdWJzdGl0dXRlXT1cIlsndmFsdWUnXVwiPjwvY2NkLWZpZWxkLXJlYWQ+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZCAqbmdJZj1cImFjdGl2aXR5RW5hYmxlZCgpXCI+XG4gICAgICAgICAgPGRpdiBbc3R5bGUudmlzaWJpbGl0eV09XCJoaWRlUm93cyA/ICdoaWRkZW4nIDogJ3Zpc2libGUnXCI+XG4gICAgICAgICAgICA8Y2NkLWFjdGl2aXR5IFtjYXNlSWRdPVwicmVzdWx0LmNhc2VfaWRcIiBbZGlzcGxheU1vZGVdPVwiSUNPTlwiPjwvY2NkLWFjdGl2aXR5PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RkPlxuICAgICAgPC90cj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8IS0tIHNvcnRlZCBieSB0b29sa2l0IC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY29uc3VtZXJTb3J0aW5nRW5hYmxlZFwiPlxuICAgICAgPHRyICpuZ0Zvcj1cImxldCByZXN1bHQgb2YgcmVzdWx0Vmlldy5yZXN1bHRzIHwgY2NkU29ydFNlYXJjaFJlc3VsdCA6IHNvcnRQYXJhbWV0ZXJzIHwgcGFnaW5hdGU6IHsgaXRlbXNQZXJQYWdlOiBwYWdpbmF0aW9uUGFnZVNpemUsIGN1cnJlbnRQYWdlOiBzZWxlY3RlZC5wYWdlLCB0b3RhbEl0ZW1zOiByZXN1bHRUb3RhbCB9XCI+XG4gICAgICAgIDx0ZCAqbmdJZj1cInNlbGVjdGlvbkVuYWJsZWRcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19jaGVja2JveFwiIHNjb3BlPVwiY29sXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2l0ZW1cIj5cbiAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImdvdnVrLWNoZWNrYm94ZXNfX2lucHV0XCIgaWQ9XCJzZWxlY3Qte3sgcmVzdWx0LmNhc2VfaWQgfX1cIiBuYW1lPVwic2VsZWN0LXt7IHJlc3VsdC5jYXNlX2lkIH19XCJcbiAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCIgKGNoYW5nZSk9XCJjaGFuZ2VTZWxlY3Rpb24ocmVzdWx0KVwiIFtjaGVja2VkXT1cImlzU2VsZWN0ZWQocmVzdWx0KVwiIFtkaXNhYmxlZF09XCIhY2FuQmVTaGFyZWQocmVzdWx0KVwiIChrZXl1cCk9XCJvbktleVVwKCRldmVudCwgcmVzdWx0KVwiIC8+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbCBnb3Z1ay1jaGVja2JveGVzX19sYWJlbFwiIGZvcj1cInNlbGVjdC17eyByZXN1bHQuY2FzZV9pZCB9fVwiPlxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90ZD5cbiAgICAgICAgPHRkIGNsYXNzPVwic2VhcmNoLXJlc3VsdC1jb2x1bW4tY2VsbFwiICpuZ0Zvcj1cImxldCBjb2wgb2YgcmVzdWx0Vmlldy5jb2x1bW5zOyBsZXQgY29sSW5kZXggPSBpbmRleFwiIHNjb3BlPVwicm93XCI+XG5cbiAgICAgICAgICA8YSAqbmdJZj1cImNvbEluZGV4ID09IDBcIiBbcm91dGVyTGlua109XCJwcmVwYXJlQ2FzZUxpbmtVcmwocmVzdWx0LmNhc2VfaWQpXCJcbiAgICAgICAgICAgIGF0dHIuYXJpYS1sYWJlbD1cImdvIHRvIGNhc2Ugd2l0aCBDYXNlIHJlZmVyZW5jZTp7eyByZXN1bHQuY2FzZV9pZCB8IGNjZENhc2VSZWZlcmVuY2UgfX1cIiBjbGFzcz1cImdvdnVrLWxpbmtcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgY2xhc3M9XCJ0ZXh0LTE2XCIgKm5nSWY9XCIhaGlkZVJvd3NcIj5cbiAgICAgICAgICAgICAgPGNjZC1maWVsZC1yZWFkICpuZ0lmPVwiZHJhZnRQcmVmaXhPckdldChjb2wsIHJlc3VsdCk7IGVsc2UgY2FzZV9yZWZlcmVuY2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2NkTGFiZWxTdWJzdGl0dXRvciBbY2FzZUZpZWxkXT1cImdldENvbHVtbnNXaXRoUHJlZml4KHJlc3VsdC5jb2x1bW5zW2NvbC5jYXNlX2ZpZWxkX2lkXSwgcmVzdWx0KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29udGV4dEZpZWxkc109XCJyZXN1bHQuaHlkcmF0ZWRfY2FzZV9maWVsZHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VsZW1lbnRzVG9TdWJzdGl0dXRlXT1cIlsndmFsdWUnXVwiPjwvY2NkLWZpZWxkLXJlYWQ+XG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY2FzZV9yZWZlcmVuY2U+e3tyZXN1bHQuY2FzZV9pZCB8IGNjZENhc2VSZWZlcmVuY2V9fTwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2E+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImNvbEluZGV4ICE9IDBcIiBjbGFzcz1cInRleHQtMTZcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJoaWRlUm93cyA/ICdoaWRkZW4nIDogJ3Zpc2libGUnXCI+XG4gICAgICAgICAgICA8Y2NkLWZpZWxkLXJlYWQgY2NkTGFiZWxTdWJzdGl0dXRvclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYXNlRmllbGRdPVwicmVzdWx0LmNvbHVtbnNbY29sLmNhc2VfZmllbGRfaWRdXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29udGV4dEZpZWxkc109XCJyZXN1bHQuaHlkcmF0ZWRfY2FzZV9maWVsZHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbGVtZW50c1RvU3Vic3RpdHV0ZV09XCJbJ3ZhbHVlJ11cIj48L2NjZC1maWVsZC1yZWFkPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQgKm5nSWY9XCJhY3Rpdml0eUVuYWJsZWQoKVwiPlxuICAgICAgICAgIDxkaXYgW3N0eWxlLnZpc2liaWxpdHldPVwiaGlkZVJvd3MgPyAnaGlkZGVuJyA6ICd2aXNpYmxlJ1wiPlxuICAgICAgICAgICAgPGNjZC1hY3Rpdml0eSBbY2FzZUlkXT1cInJlc3VsdC5jYXNlX2lkXCIgW2Rpc3BsYXlNb2RlXT1cIklDT05cIj48L2NjZC1hY3Rpdml0eT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgPC90Ym9keT5cbjwvdGFibGU+XG5cbjxjY2QtcGFnaW5hdGlvblxuICAqbmdJZj1cImhhc1Jlc3VsdHMoKVwiXG4gIChwYWdlQ2hhbmdlKT1cImdvVG9QYWdlKCRldmVudClcIlxuICBbdmlzaWJpbGl0eUxhYmVsXT1cImhpZGVSb3dzID8gJ2hpZGRlbicgOiAndmlzaWJsZSdcIlxuICBbYXV0b0hpZGVdPVwidHJ1ZVwiXG4gIFttYXhTaXplXT1cIjhcIlxuICBbc2NyZWVuUmVhZGVyUGFnaW5hdGlvbkxhYmVsXT1cIidQYWdpbmF0aW9uJ1wiXG4gIFtzY3JlZW5SZWFkZXJQYWdlTGFiZWxdPVwicGFnZVwiXG4gIFtzY3JlZW5SZWFkZXJDdXJyZW50TGFiZWxdPVwiJ1lvdVxcJ3JlIG9uIHBhZ2UnXCI+PC9jY2QtcGFnaW5hdGlvbj5cblxuPGRpdiAqbmdJZj1cIiEoaGFzUmVzdWx0cygpIHx8IGhhc0RyYWZ0cygpKVwiIGNsYXNzPVwibm90aWZpY2F0aW9uXCJcblthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ05vIGNhc2VzIGZvdW5kLiBUcnkgdXNpbmcgZGlmZmVyZW50IGZpbHRlcnMuJyB8IHJweFRyYW5zbGF0ZVwiPlxue3snTm8gY2FzZXMgZm91bmQuIFRyeSB1c2luZyBkaWZmZXJlbnQgZmlsdGVycy4nIHwgcnB4VHJhbnNsYXRlfX1cbjwvZGl2PlxuIl19
|