@hmcts/ccd-case-ui-toolkit 6.14.2-clear-validation-errors → 6.14.2-go-to-page-2

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.
Files changed (29) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +178 -157
  2. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
  3. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
  4. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
  5. package/esm2015/lib/shared/commons/case-edit-data/case-edit-data.service.js +5 -8
  6. package/esm2015/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.js +19 -4
  7. package/esm2015/lib/shared/components/pagination/pagination.component.js +88 -57
  8. package/esm2015/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.js +26 -2
  9. package/esm2015/lib/shared/components/palette/linked-cases/domain/linked-cases-state.model.js +1 -1
  10. package/esm2015/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.js +36 -86
  11. package/esm2015/lib/shared/components/palette/palette.module.js +2 -2
  12. package/esm2015/lib/shared/services/fields/fields.utils.js +8 -1
  13. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +176 -152
  14. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  15. package/lib/shared/commons/case-edit-data/case-edit-data.service.d.ts +3 -5
  16. package/lib/shared/commons/case-edit-data/case-edit-data.service.d.ts.map +1 -1
  17. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts +2 -0
  18. package/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.d.ts.map +1 -1
  19. package/lib/shared/components/pagination/pagination.component.d.ts +1 -0
  20. package/lib/shared/components/pagination/pagination.component.d.ts.map +1 -1
  21. package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.d.ts +2 -0
  22. package/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.d.ts.map +1 -1
  23. package/lib/shared/components/palette/linked-cases/domain/linked-cases-state.model.d.ts +0 -4
  24. package/lib/shared/components/palette/linked-cases/domain/linked-cases-state.model.d.ts.map +1 -1
  25. package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts +0 -4
  26. package/lib/shared/components/palette/linked-cases/write-linked-cases-field.component.d.ts.map +1 -1
  27. package/lib/shared/services/fields/fields.utils.d.ts +2 -0
  28. package/lib/shared/services/fields/fields.utils.d.ts.map +1 -1
  29. package/package.json +1 -1
@@ -3,40 +3,40 @@ import * as i0 from "@angular/core";
3
3
  import * as i1 from "ngx-pagination";
4
4
  import * as i2 from "@angular/common";
5
5
  function PaginationComponent_ul_3_li_1_a_1_Template(rf, ctx) { if (rf & 1) {
6
- const _r8 = i0.ɵɵgetCurrentView();
7
- i0.ɵɵelementStart(0, "a", 12);
8
- i0.ɵɵlistener("keyup.enter", function PaginationComponent_ul_3_li_1_a_1_Template_a_keyup_enter_0_listener() { i0.ɵɵrestoreView(_r8); i0.ɵɵnextContext(3); const _r0 = i0.ɵɵreference(1); return _r0.previous(); })("click", function PaginationComponent_ul_3_li_1_a_1_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r8); i0.ɵɵnextContext(3); const _r0 = i0.ɵɵreference(1); return _r0.previous(); });
6
+ const _r9 = i0.ɵɵgetCurrentView();
7
+ i0.ɵɵelementStart(0, "a", 13);
8
+ i0.ɵɵlistener("keyup.enter", function PaginationComponent_ul_3_li_1_a_1_Template_a_keyup_enter_0_listener() { i0.ɵɵrestoreView(_r9); i0.ɵɵnextContext(3); const _r0 = i0.ɵɵreference(1); return _r0.previous(); })("click", function PaginationComponent_ul_3_li_1_a_1_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r9); i0.ɵɵnextContext(3); const _r0 = i0.ɵɵreference(1); return _r0.previous(); });
9
9
  i0.ɵɵtext(1);
10
- i0.ɵɵelementStart(2, "span", 13);
10
+ i0.ɵɵelementStart(2, "span", 14);
11
11
  i0.ɵɵtext(3);
12
12
  i0.ɵɵelementEnd();
13
13
  i0.ɵɵelementEnd();
14
14
  } if (rf & 2) {
15
- const ctx_r5 = i0.ɵɵnextContext(3);
16
- i0.ɵɵattribute("aria-label", ctx_r5.previousLabel + " " + ctx_r5.screenReaderPageLabel);
15
+ const ctx_r6 = i0.ɵɵnextContext(3);
16
+ i0.ɵɵattribute("aria-label", ctx_r6.previousLabel + " " + ctx_r6.screenReaderPageLabel);
17
17
  i0.ɵɵadvance(1);
18
- i0.ɵɵtextInterpolate1(" ", ctx_r5.previousLabel, " ");
18
+ i0.ɵɵtextInterpolate1(" ", ctx_r6.previousLabel, " ");
19
19
  i0.ɵɵadvance(2);
20
- i0.ɵɵtextInterpolate(ctx_r5.screenReaderPageLabel);
20
+ i0.ɵɵtextInterpolate(ctx_r6.screenReaderPageLabel);
21
21
  } }
22
22
  function PaginationComponent_ul_3_li_1_span_2_Template(rf, ctx) { if (rf & 1) {
23
23
  i0.ɵɵelementStart(0, "span");
24
24
  i0.ɵɵtext(1);
25
- i0.ɵɵelementStart(2, "span", 13);
25
+ i0.ɵɵelementStart(2, "span", 14);
26
26
  i0.ɵɵtext(3);
27
27
  i0.ɵɵelementEnd();
28
28
  i0.ɵɵelementEnd();
29
29
  } if (rf & 2) {
30
- const ctx_r6 = i0.ɵɵnextContext(3);
30
+ const ctx_r7 = i0.ɵɵnextContext(3);
31
31
  i0.ɵɵadvance(1);
32
- i0.ɵɵtextInterpolate1(" ", ctx_r6.previousLabel, " ");
32
+ i0.ɵɵtextInterpolate1(" ", ctx_r7.previousLabel, " ");
33
33
  i0.ɵɵadvance(2);
34
- i0.ɵɵtextInterpolate(ctx_r6.screenReaderPageLabel);
34
+ i0.ɵɵtextInterpolate(ctx_r7.screenReaderPageLabel);
35
35
  } }
36
36
  function PaginationComponent_ul_3_li_1_Template(rf, ctx) { if (rf & 1) {
37
- i0.ɵɵelementStart(0, "li", 9);
38
- i0.ɵɵtemplate(1, PaginationComponent_ul_3_li_1_a_1_Template, 4, 3, "a", 10);
39
- i0.ɵɵtemplate(2, PaginationComponent_ul_3_li_1_span_2_Template, 4, 2, "span", 11);
37
+ i0.ɵɵelementStart(0, "li", 10);
38
+ i0.ɵɵtemplate(1, PaginationComponent_ul_3_li_1_a_1_Template, 4, 3, "a", 11);
39
+ i0.ɵɵtemplate(2, PaginationComponent_ul_3_li_1_span_2_Template, 4, 2, "span", 12);
40
40
  i0.ɵɵelementEnd();
41
41
  } if (rf & 2) {
42
42
  i0.ɵɵnextContext(2);
@@ -48,10 +48,10 @@ function PaginationComponent_ul_3_li_1_Template(rf, ctx) { if (rf & 1) {
48
48
  i0.ɵɵproperty("ngIf", _r0.isFirstPage());
49
49
  } }
50
50
  function PaginationComponent_ul_3_li_4_a_1_Template(rf, ctx) { if (rf & 1) {
51
- const _r15 = i0.ɵɵgetCurrentView();
52
- i0.ɵɵelementStart(0, "a", 12);
53
- i0.ɵɵlistener("keyup.enter", function PaginationComponent_ul_3_li_4_a_1_Template_a_keyup_enter_0_listener() { i0.ɵɵrestoreView(_r15); const page_r10 = i0.ɵɵnextContext().$implicit; i0.ɵɵnextContext(2); const _r0 = i0.ɵɵreference(1); return _r0.setCurrent(page_r10.value); })("click", function PaginationComponent_ul_3_li_4_a_1_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r15); const page_r10 = i0.ɵɵnextContext().$implicit; i0.ɵɵnextContext(2); const _r0 = i0.ɵɵreference(1); return _r0.setCurrent(page_r10.value); });
54
- i0.ɵɵelementStart(1, "span", 13);
51
+ const _r16 = i0.ɵɵgetCurrentView();
52
+ i0.ɵɵelementStart(0, "a", 13);
53
+ i0.ɵɵlistener("keyup.enter", function PaginationComponent_ul_3_li_4_a_1_Template_a_keyup_enter_0_listener() { i0.ɵɵrestoreView(_r16); const page_r11 = i0.ɵɵnextContext().$implicit; i0.ɵɵnextContext(2); const _r0 = i0.ɵɵreference(1); return _r0.setCurrent(page_r11.value); })("click", function PaginationComponent_ul_3_li_4_a_1_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r16); const page_r11 = i0.ɵɵnextContext().$implicit; i0.ɵɵnextContext(2); const _r0 = i0.ɵɵreference(1); return _r0.setCurrent(page_r11.value); });
54
+ i0.ɵɵelementStart(1, "span", 14);
55
55
  i0.ɵɵtext(2);
56
56
  i0.ɵɵelementEnd();
57
57
  i0.ɵɵelementStart(3, "span");
@@ -60,16 +60,16 @@ function PaginationComponent_ul_3_li_4_a_1_Template(rf, ctx) { if (rf & 1) {
60
60
  i0.ɵɵelementEnd();
61
61
  i0.ɵɵelementEnd();
62
62
  } if (rf & 2) {
63
- const page_r10 = i0.ɵɵnextContext().$implicit;
64
- const ctx_r11 = i0.ɵɵnextContext(2);
63
+ const page_r11 = i0.ɵɵnextContext().$implicit;
64
+ const ctx_r12 = i0.ɵɵnextContext(2);
65
65
  i0.ɵɵadvance(2);
66
- i0.ɵɵtextInterpolate1("", ctx_r11.screenReaderPageLabel, " ");
66
+ i0.ɵɵtextInterpolate1("", ctx_r12.screenReaderPageLabel, " ");
67
67
  i0.ɵɵadvance(2);
68
- i0.ɵɵtextInterpolate(page_r10.label === "..." ? page_r10.label : i0.ɵɵpipeBind2(5, 2, page_r10.label, ""));
68
+ i0.ɵɵtextInterpolate(page_r11.label === "..." ? page_r11.label : i0.ɵɵpipeBind2(5, 2, page_r11.label, ""));
69
69
  } }
70
70
  function PaginationComponent_ul_3_li_4_ng_container_2_Template(rf, ctx) { if (rf & 1) {
71
71
  i0.ɵɵelementContainerStart(0);
72
- i0.ɵɵelementStart(1, "span", 13);
72
+ i0.ɵɵelementStart(1, "span", 14);
73
73
  i0.ɵɵtext(2);
74
74
  i0.ɵɵelementEnd();
75
75
  i0.ɵɵelementStart(3, "span");
@@ -78,63 +78,63 @@ function PaginationComponent_ul_3_li_4_ng_container_2_Template(rf, ctx) { if (rf
78
78
  i0.ɵɵelementEnd();
79
79
  i0.ɵɵelementContainerEnd();
80
80
  } if (rf & 2) {
81
- const page_r10 = i0.ɵɵnextContext().$implicit;
82
- const ctx_r12 = i0.ɵɵnextContext(2);
81
+ const page_r11 = i0.ɵɵnextContext().$implicit;
82
+ const ctx_r13 = i0.ɵɵnextContext(2);
83
83
  i0.ɵɵadvance(2);
84
- i0.ɵɵtextInterpolate1("", ctx_r12.screenReaderCurrentLabel, " ");
84
+ i0.ɵɵtextInterpolate1("", ctx_r13.screenReaderCurrentLabel, " ");
85
85
  i0.ɵɵadvance(2);
86
- i0.ɵɵtextInterpolate(page_r10.label === "..." ? page_r10.label : i0.ɵɵpipeBind2(5, 2, page_r10.label, ""));
86
+ i0.ɵɵtextInterpolate(page_r11.label === "..." ? page_r11.label : i0.ɵɵpipeBind2(5, 2, page_r11.label, ""));
87
87
  } }
88
88
  function PaginationComponent_ul_3_li_4_Template(rf, ctx) { if (rf & 1) {
89
89
  i0.ɵɵelementStart(0, "li");
90
- i0.ɵɵtemplate(1, PaginationComponent_ul_3_li_4_a_1_Template, 6, 5, "a", 10);
91
- i0.ɵɵtemplate(2, PaginationComponent_ul_3_li_4_ng_container_2_Template, 6, 5, "ng-container", 11);
90
+ i0.ɵɵtemplate(1, PaginationComponent_ul_3_li_4_a_1_Template, 6, 5, "a", 11);
91
+ i0.ɵɵtemplate(2, PaginationComponent_ul_3_li_4_ng_container_2_Template, 6, 5, "ng-container", 12);
92
92
  i0.ɵɵelementEnd();
93
93
  } if (rf & 2) {
94
- const page_r10 = ctx.$implicit;
94
+ const page_r11 = ctx.$implicit;
95
95
  i0.ɵɵnextContext(2);
96
96
  const _r0 = i0.ɵɵreference(1);
97
- i0.ɵɵclassProp("current", _r0.getCurrent() === page_r10.value)("ellipsis", page_r10.label === "...");
97
+ i0.ɵɵclassProp("current", _r0.getCurrent() === page_r11.value)("ellipsis", page_r11.label === "...");
98
98
  i0.ɵɵadvance(1);
99
- i0.ɵɵproperty("ngIf", _r0.getCurrent() !== page_r10.value);
99
+ i0.ɵɵproperty("ngIf", _r0.getCurrent() !== page_r11.value);
100
100
  i0.ɵɵadvance(1);
101
- i0.ɵɵproperty("ngIf", _r0.getCurrent() === page_r10.value);
101
+ i0.ɵɵproperty("ngIf", _r0.getCurrent() === page_r11.value);
102
102
  } }
103
103
  function PaginationComponent_ul_3_li_5_a_1_Template(rf, ctx) { if (rf & 1) {
104
- const _r23 = i0.ɵɵgetCurrentView();
105
- i0.ɵɵelementStart(0, "a", 12);
106
- i0.ɵɵlistener("keyup.enter", function PaginationComponent_ul_3_li_5_a_1_Template_a_keyup_enter_0_listener() { i0.ɵɵrestoreView(_r23); i0.ɵɵnextContext(3); const _r0 = i0.ɵɵreference(1); return _r0.next(); })("click", function PaginationComponent_ul_3_li_5_a_1_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r23); i0.ɵɵnextContext(3); const _r0 = i0.ɵɵreference(1); return _r0.next(); });
104
+ const _r24 = i0.ɵɵgetCurrentView();
105
+ i0.ɵɵelementStart(0, "a", 13);
106
+ i0.ɵɵlistener("keyup.enter", function PaginationComponent_ul_3_li_5_a_1_Template_a_keyup_enter_0_listener() { i0.ɵɵrestoreView(_r24); i0.ɵɵnextContext(3); const _r0 = i0.ɵɵreference(1); return _r0.next(); })("click", function PaginationComponent_ul_3_li_5_a_1_Template_a_click_0_listener() { i0.ɵɵrestoreView(_r24); i0.ɵɵnextContext(3); const _r0 = i0.ɵɵreference(1); return _r0.next(); });
107
107
  i0.ɵɵtext(1);
108
- i0.ɵɵelementStart(2, "span", 13);
108
+ i0.ɵɵelementStart(2, "span", 14);
109
109
  i0.ɵɵtext(3);
110
110
  i0.ɵɵelementEnd();
111
111
  i0.ɵɵelementEnd();
112
112
  } if (rf & 2) {
113
- const ctx_r20 = i0.ɵɵnextContext(3);
114
- i0.ɵɵattribute("aria-label", ctx_r20.nextLabel + " " + ctx_r20.screenReaderPageLabel);
113
+ const ctx_r21 = i0.ɵɵnextContext(3);
114
+ i0.ɵɵattribute("aria-label", ctx_r21.nextLabel + " " + ctx_r21.screenReaderPageLabel);
115
115
  i0.ɵɵadvance(1);
116
- i0.ɵɵtextInterpolate1(" ", ctx_r20.nextLabel, " ");
116
+ i0.ɵɵtextInterpolate1(" ", ctx_r21.nextLabel, " ");
117
117
  i0.ɵɵadvance(2);
118
- i0.ɵɵtextInterpolate(ctx_r20.screenReaderPageLabel);
118
+ i0.ɵɵtextInterpolate(ctx_r21.screenReaderPageLabel);
119
119
  } }
120
120
  function PaginationComponent_ul_3_li_5_span_2_Template(rf, ctx) { if (rf & 1) {
121
121
  i0.ɵɵelementStart(0, "span");
122
122
  i0.ɵɵtext(1);
123
- i0.ɵɵelementStart(2, "span", 13);
123
+ i0.ɵɵelementStart(2, "span", 14);
124
124
  i0.ɵɵtext(3);
125
125
  i0.ɵɵelementEnd();
126
126
  i0.ɵɵelementEnd();
127
127
  } if (rf & 2) {
128
- const ctx_r21 = i0.ɵɵnextContext(3);
128
+ const ctx_r22 = i0.ɵɵnextContext(3);
129
129
  i0.ɵɵadvance(1);
130
- i0.ɵɵtextInterpolate1(" ", ctx_r21.nextLabel, " ");
130
+ i0.ɵɵtextInterpolate1(" ", ctx_r22.nextLabel, " ");
131
131
  i0.ɵɵadvance(2);
132
- i0.ɵɵtextInterpolate(ctx_r21.screenReaderPageLabel);
132
+ i0.ɵɵtextInterpolate(ctx_r22.screenReaderPageLabel);
133
133
  } }
134
134
  function PaginationComponent_ul_3_li_5_Template(rf, ctx) { if (rf & 1) {
135
- i0.ɵɵelementStart(0, "li", 14);
136
- i0.ɵɵtemplate(1, PaginationComponent_ul_3_li_5_a_1_Template, 4, 3, "a", 10);
137
- i0.ɵɵtemplate(2, PaginationComponent_ul_3_li_5_span_2_Template, 4, 2, "span", 11);
135
+ i0.ɵɵelementStart(0, "li", 15);
136
+ i0.ɵɵtemplate(1, PaginationComponent_ul_3_li_5_a_1_Template, 4, 3, "a", 11);
137
+ i0.ɵɵtemplate(2, PaginationComponent_ul_3_li_5_span_2_Template, 4, 2, "span", 12);
138
138
  i0.ɵɵelementEnd();
139
139
  } if (rf & 2) {
140
140
  i0.ɵɵnextContext(2);
@@ -146,13 +146,13 @@ function PaginationComponent_ul_3_li_5_Template(rf, ctx) { if (rf & 1) {
146
146
  i0.ɵɵproperty("ngIf", _r0.isLastPage());
147
147
  } }
148
148
  function PaginationComponent_ul_3_Template(rf, ctx) { if (rf & 1) {
149
- i0.ɵɵelementStart(0, "ul", 4);
150
- i0.ɵɵtemplate(1, PaginationComponent_ul_3_li_1_Template, 3, 4, "li", 5);
151
- i0.ɵɵelementStart(2, "li", 6);
149
+ i0.ɵɵelementStart(0, "ul", 5);
150
+ i0.ɵɵtemplate(1, PaginationComponent_ul_3_li_1_Template, 3, 4, "li", 6);
151
+ i0.ɵɵelementStart(2, "li", 7);
152
152
  i0.ɵɵtext(3);
153
153
  i0.ɵɵelementEnd();
154
- i0.ɵɵtemplate(4, PaginationComponent_ul_3_li_4_Template, 3, 6, "li", 7);
155
- i0.ɵɵtemplate(5, PaginationComponent_ul_3_li_5_Template, 3, 4, "li", 8);
154
+ i0.ɵɵtemplate(4, PaginationComponent_ul_3_li_4_Template, 3, 6, "li", 8);
155
+ i0.ɵɵtemplate(5, PaginationComponent_ul_3_li_5_Template, 3, 4, "li", 9);
156
156
  i0.ɵɵelementEnd();
157
157
  } if (rf & 2) {
158
158
  const ctx_r1 = i0.ɵɵnextContext();
@@ -168,6 +168,17 @@ function PaginationComponent_ul_3_Template(rf, ctx) { if (rf & 1) {
168
168
  i0.ɵɵadvance(1);
169
169
  i0.ɵɵproperty("ngIf", ctx_r1.directionLinks);
170
170
  } }
171
+ function PaginationComponent_div_4_Template(rf, ctx) { if (rf & 1) {
172
+ const _r28 = i0.ɵɵgetCurrentView();
173
+ i0.ɵɵelementStart(0, "div", 16);
174
+ i0.ɵɵelementStart(1, "span");
175
+ i0.ɵɵtext(2, "Go to page");
176
+ i0.ɵɵelementEnd();
177
+ i0.ɵɵelementStart(3, "input", 17, 18);
178
+ i0.ɵɵlistener("keyup.enter", function PaginationComponent_div_4_Template_input_keyup_enter_3_listener($event) { i0.ɵɵrestoreView(_r28); const ctx_r27 = i0.ɵɵnextContext(); const _r0 = i0.ɵɵreference(1); ctx_r27.goToPage($event, _r0); return $event.target.blur(); })("blur", function PaginationComponent_div_4_Template_input_blur_3_listener($event) { i0.ɵɵrestoreView(_r28); const ctx_r29 = i0.ɵɵnextContext(); const _r0 = i0.ɵɵreference(1); return ctx_r29.goToPage($event, _r0); })("focus", function PaginationComponent_div_4_Template_input_focus_3_listener() { i0.ɵɵrestoreView(_r28); const _r26 = i0.ɵɵreference(4); return _r26.select(); });
179
+ i0.ɵɵelementEnd();
180
+ i0.ɵɵelementEnd();
181
+ } }
171
182
  function coerceToBoolean(input) {
172
183
  return !!input && input !== 'false';
173
184
  }
@@ -203,21 +214,41 @@ export class PaginationComponent {
203
214
  set responsive(value) {
204
215
  this.pResponsive = coerceToBoolean(value);
205
216
  }
217
+ goToPage($event, p) {
218
+ const pageNumber = Number($event.target.value);
219
+ if ($event.target.value !== '' && pageNumber !== p.getCurrent()) {
220
+ if (pageNumber > 0) {
221
+ p.setCurrent(pageNumber);
222
+ }
223
+ else if (pageNumber < 0) {
224
+ $event.target.value = (Math.abs(pageNumber)).toString();
225
+ if (Math.abs(pageNumber) !== p.getCurrent()) {
226
+ p.setCurrent(Math.abs(pageNumber));
227
+ }
228
+ }
229
+ else {
230
+ $event.target.value = '';
231
+ }
232
+ }
233
+ }
206
234
  }
207
235
  PaginationComponent.ɵfac = function PaginationComponent_Factory(t) { return new (t || PaginationComponent)(); };
208
- PaginationComponent.ɵcmp = i0.ɵɵdefineComponent({ type: PaginationComponent, selectors: [["ccd-pagination"]], inputs: { visibilityLabel: "visibilityLabel", id: "id", maxSize: "maxSize", previousLabel: "previousLabel", nextLabel: "nextLabel", screenReaderPaginationLabel: "screenReaderPaginationLabel", screenReaderPageLabel: "screenReaderPageLabel", screenReaderCurrentLabel: "screenReaderCurrentLabel", directionLinks: "directionLinks", autoHide: "autoHide", responsive: "responsive" }, outputs: { pageChange: "pageChange", pageBoundsCorrection: "pageBoundsCorrection" }, decls: 4, vars: 3, consts: [[3, "id", "maxSize", "pageChange", "pageBoundsCorrection"], ["p", "paginationApi"], ["role", "navigation", "aria-label", "Pagination"], ["class", "ngx-pagination", "role", "navigation", 3, "responsive", 4, "ngIf"], ["role", "navigation", 1, "ngx-pagination"], ["class", "pagination-previous", 3, "disabled", 4, "ngIf"], [1, "small-screen"], [3, "current", "ellipsis", 4, "ngFor", "ngForOf"], ["class", "pagination-next", 3, "disabled", 4, "ngIf"], [1, "pagination-previous"], ["tabindex", "0", 3, "keyup.enter", "click", 4, "ngIf"], [4, "ngIf"], ["tabindex", "0", 3, "keyup.enter", "click"], [1, "show-for-sr"], [1, "pagination-next"]], template: function PaginationComponent_Template(rf, ctx) { if (rf & 1) {
236
+ PaginationComponent.ɵcmp = i0.ɵɵdefineComponent({ type: PaginationComponent, selectors: [["ccd-pagination"]], inputs: { visibilityLabel: "visibilityLabel", id: "id", maxSize: "maxSize", previousLabel: "previousLabel", nextLabel: "nextLabel", screenReaderPaginationLabel: "screenReaderPaginationLabel", screenReaderPageLabel: "screenReaderPageLabel", screenReaderCurrentLabel: "screenReaderCurrentLabel", directionLinks: "directionLinks", autoHide: "autoHide", responsive: "responsive" }, outputs: { pageChange: "pageChange", pageBoundsCorrection: "pageBoundsCorrection" }, decls: 5, vars: 4, consts: [[3, "id", "maxSize", "pageChange", "pageBoundsCorrection"], ["p", "paginationApi"], ["role", "navigation", "aria-label", "Pagination", 1, "ngx-pagination-wrapper"], ["class", "ngx-pagination", "role", "navigation", 3, "responsive", 4, "ngIf"], ["class", "ngx-go-to-page", 4, "ngIf"], ["role", "navigation", 1, "ngx-pagination"], ["class", "pagination-previous", 3, "disabled", 4, "ngIf"], [1, "small-screen"], [3, "current", "ellipsis", 4, "ngFor", "ngForOf"], ["class", "pagination-next", 3, "disabled", 4, "ngIf"], [1, "pagination-previous"], ["tabindex", "0", 3, "keyup.enter", "click", 4, "ngIf"], [4, "ngIf"], ["tabindex", "0", 3, "keyup.enter", "click"], [1, "show-for-sr"], [1, "pagination-next"], [1, "ngx-go-to-page"], ["type", "number", "maxlength", "5", "min", "1", 1, "govuk-input", 3, "keyup.enter", "blur", "focus"], ["goToPageInput", ""]], template: function PaginationComponent_Template(rf, ctx) { if (rf & 1) {
209
237
  i0.ɵɵelementStart(0, "pagination-template", 0, 1);
210
238
  i0.ɵɵlistener("pageChange", function PaginationComponent_Template_pagination_template_pageChange_0_listener($event) { return ctx.pageChange.emit($event); })("pageBoundsCorrection", function PaginationComponent_Template_pagination_template_pageBoundsCorrection_0_listener($event) { return ctx.pageBoundsCorrection.emit($event); });
211
239
  i0.ɵɵelementStart(2, "nav", 2);
212
240
  i0.ɵɵtemplate(3, PaginationComponent_ul_3_Template, 6, 8, "ul", 3);
213
241
  i0.ɵɵelementEnd();
242
+ i0.ɵɵtemplate(4, PaginationComponent_div_4_Template, 5, 0, "div", 4);
214
243
  i0.ɵɵelementEnd();
215
244
  } if (rf & 2) {
216
245
  const _r0 = i0.ɵɵreference(1);
217
246
  i0.ɵɵproperty("id", ctx.id)("maxSize", ctx.maxSize);
218
247
  i0.ɵɵadvance(3);
219
248
  i0.ɵɵproperty("ngIf", !(ctx.autoHide && _r0.pages.length <= 1));
220
- } }, directives: [i1.PaginationControlsDirective, i2.NgIf, i2.NgForOf], pipes: [i2.DecimalPipe], styles: [".ngx-pagination[_ngcontent-%COMP%]{margin-left:0;margin-bottom:1rem;padding-top:25px;text-decoration:none;text-align:left;font-size:16px}.ngx-pagination[_ngcontent-%COMP%]:after, .ngx-pagination[_ngcontent-%COMP%]:before{content:\" \";display:table}.ngx-pagination[_ngcontent-%COMP%]:after{clear:both}.ngx-pagination[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;margin-right:.0625rem;border-radius:0;display:inline-block}.ngx-pagination[_ngcontent-%COMP%] a[_ngcontent-%COMP%], .ngx-pagination[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{display:block;padding:.1875rem .625rem;border-radius:0;color:#005da6}.ngx-pagination[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover, .ngx-pagination[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{background:#e6e6e6}.ngx-pagination[_ngcontent-%COMP%] .current[_ngcontent-%COMP%]{padding:.1875rem .625rem;background:#fff;color:#4c2c92;cursor:default;font-weight:900}.ngx-pagination[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%]{display:none}.ngx-pagination[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%]:hover{background:transparent}.ngx-pagination[_ngcontent-%COMP%] a[_ngcontent-%COMP%], .ngx-pagination[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{cursor:pointer}.ngx-pagination[_ngcontent-%COMP%] .pagination-previous.disabled[_ngcontent-%COMP%]:before, .ngx-pagination[_ngcontent-%COMP%] .pagination-previous[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:before{margin-right:.5rem;border-width:3px 0 0 3px}.ngx-pagination[_ngcontent-%COMP%] .pagination-next.disabled[_ngcontent-%COMP%]:after, .ngx-pagination[_ngcontent-%COMP%] .pagination-next[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:after, .ngx-pagination[_ngcontent-%COMP%] .pagination-previous.disabled[_ngcontent-%COMP%]:before, .ngx-pagination[_ngcontent-%COMP%] .pagination-previous[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:before{display:inline-block;height:10px;width:10px;border-style:solid;color:#0a0a0a;background:transparent;transform:rotate(-45deg);content:\"\"}.ngx-pagination[_ngcontent-%COMP%] .pagination-next.disabled[_ngcontent-%COMP%]:after, .ngx-pagination[_ngcontent-%COMP%] .pagination-next[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:after{margin-left:.5rem;border-width:0 3px 3px 0}.ngx-pagination[_ngcontent-%COMP%] .show-for-sr[_ngcontent-%COMP%]{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.ngx-pagination[_ngcontent-%COMP%] .small-screen[_ngcontent-%COMP%]{display:none}@media screen and (max-width:601px){.ngx-pagination.responsive[_ngcontent-%COMP%] .small-screen[_ngcontent-%COMP%]{display:inline-block}.ngx-pagination.responsive[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:not(.small-screen):not(.pagination-previous):not(.pagination-next){display:none}}"] });
249
+ i0.ɵɵadvance(1);
250
+ i0.ɵɵproperty("ngIf", !(ctx.autoHide && _r0.pages.length <= 1));
251
+ } }, directives: [i1.PaginationControlsDirective, i2.NgIf, i2.NgForOf], pipes: [i2.DecimalPipe], styles: [".ngx-go-to-page[_ngcontent-%COMP%], .ngx-pagination-wrapper[_ngcontent-%COMP%]{display:inline-block}.ngx-go-to-page[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{margin:0 10px 0 50px}.ngx-go-to-page[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{width:50px}.ngx-pagination[_ngcontent-%COMP%]{margin-left:0;margin-bottom:1rem;padding-top:25px;text-decoration:none;text-align:left;font-size:16px}.ngx-pagination[_ngcontent-%COMP%]:after, .ngx-pagination[_ngcontent-%COMP%]:before{content:\" \";display:table}.ngx-pagination[_ngcontent-%COMP%]:after{clear:both}.ngx-pagination[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;margin-right:.0625rem;border-radius:0;display:inline-block}.ngx-pagination[_ngcontent-%COMP%] a[_ngcontent-%COMP%], .ngx-pagination[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{display:block;padding:.1875rem .625rem;border-radius:0;color:#005da6}.ngx-pagination[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover, .ngx-pagination[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{background:#e6e6e6}.ngx-pagination[_ngcontent-%COMP%] .current[_ngcontent-%COMP%]{padding:.1875rem .625rem;background:#fff;color:#4c2c92;cursor:default;font-weight:900}.ngx-pagination[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%]{display:none}.ngx-pagination[_ngcontent-%COMP%] .disabled[_ngcontent-%COMP%]:hover{background:transparent}.ngx-pagination[_ngcontent-%COMP%] a[_ngcontent-%COMP%], .ngx-pagination[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{cursor:pointer}.ngx-pagination[_ngcontent-%COMP%] .pagination-previous.disabled[_ngcontent-%COMP%]:before, .ngx-pagination[_ngcontent-%COMP%] .pagination-previous[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:before{margin-right:.5rem;border-width:3px 0 0 3px}.ngx-pagination[_ngcontent-%COMP%] .pagination-next.disabled[_ngcontent-%COMP%]:after, .ngx-pagination[_ngcontent-%COMP%] .pagination-next[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:after, .ngx-pagination[_ngcontent-%COMP%] .pagination-previous.disabled[_ngcontent-%COMP%]:before, .ngx-pagination[_ngcontent-%COMP%] .pagination-previous[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:before{display:inline-block;height:10px;width:10px;border-style:solid;color:#0a0a0a;background:transparent;transform:rotate(-45deg);content:\"\"}.ngx-pagination[_ngcontent-%COMP%] .pagination-next.disabled[_ngcontent-%COMP%]:after, .ngx-pagination[_ngcontent-%COMP%] .pagination-next[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:after{margin-left:.5rem;border-width:0 3px 3px 0}.ngx-pagination[_ngcontent-%COMP%] .show-for-sr[_ngcontent-%COMP%]{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.ngx-pagination[_ngcontent-%COMP%] .small-screen[_ngcontent-%COMP%]{display:none}@media screen and (max-width:601px){.ngx-pagination.responsive[_ngcontent-%COMP%] .small-screen[_ngcontent-%COMP%]{display:inline-block}.ngx-pagination.responsive[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:not(.small-screen):not(.pagination-previous):not(.pagination-next){display:none}}"] });
221
252
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PaginationComponent, [{
222
253
  type: Component,
223
254
  args: [{
@@ -252,4 +283,4 @@ PaginationComponent.ɵcmp = i0.ɵɵdefineComponent({ type: PaginationComponent,
252
283
  }], responsive: [{
253
284
  type: Input
254
285
  }] }); })();
255
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0lDTS9ELDZCQUNrRTtJQUR2QixnTUFBZSxjQUFZLElBQUMsdUtBQVUsY0FBWSxJQUF0QjtJQUVyRSxZQUFvQjtJQUFBLGdDQUEwQjtJQUFBLFlBQTJCO0lBQUEsaUJBQU87SUFDbEYsaUJBQUk7OztJQUZGLHVGQUErRDtJQUMvRCxlQUFvQjtJQUFwQixxREFBb0I7SUFBMEIsZUFBMkI7SUFBM0Isa0RBQTJCOzs7SUFFM0UsNEJBQThCO0lBQzVCLFlBQW9CO0lBQUEsZ0NBQTBCO0lBQUEsWUFBMkI7SUFBQSxpQkFBTztJQUNsRixpQkFBTzs7O0lBREwsZUFBb0I7SUFBcEIscURBQW9CO0lBQTBCLGVBQTJCO0lBQTNCLGtEQUEyQjs7O0lBTjdFLDZCQUEwRjtJQUN4RiwyRUFHSTtJQUNKLGlGQUVPO0lBQ1QsaUJBQUs7Ozs7SUFSMkIsNkNBQWtDO0lBQy9DLGVBQXdCO0lBQXhCLDJDQUF3QjtJQUlsQyxlQUFxQjtJQUFyQix3Q0FBcUI7Ozs7SUFTNUIsNkJBQ3dDO0lBRHhCLGdQQUFlLDhCQUF3QixJQUFDLHVOQUFVLDhCQUF3QixJQUFsQztJQUV0RCxnQ0FBMEI7SUFBQSxZQUE0QjtJQUFB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QUM7SUFFRCxJQUFXLFVBQVUsQ0FBQyxLQUFjO1FBQ2xDLElBQUksQ0FBQyxXQUFXLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVDLENBQUM7O3NGQTFDVSxtQkFBbUI7d0RBQW5CLG1CQUFtQjtRQ1hoQyxpREFDNkQ7UUFEUyw2SEFBYywyQkFBdUIsSUFBQyxvSUFDbEYscUNBQWlDLElBRGlEO1FBRTFHLDhCQUErQztRQUM3QyxrRUFtQ0s7UUFDUCxpQkFBTTtRQUNSLGlCQUFzQjs7O1FBeENrQiwyQkFBUyx3QkFBQTtRQUlWLGVBQXdDO1FBQXhDLCtEQUF3Qzs7dUZET2xFLG1CQUFtQjtjQUwvQixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsV0FBVyxFQUFFLDZCQUE2QjtnQkFDMUMsU0FBUyxFQUFFLENBQUMsNkJBQTZCLENBQUM7YUFDM0M7Z0JBR1EsZUFBZTtrQkFEckIsS0FBSztZQUVVLEVBQUU7a0JBQWpCLEtBQUs7WUFDVSxPQUFPO2tCQUF0QixLQUFLO1lBQ1UsYUFBYTtrQkFBNUIsS0FBSztZQUNVLFNBQVM7a0JBQXhCLEtBQUs7WUFDVSwyQkFBMkI7a0JBQTFDLEtBQUs7WUFDVSxxQkFBcUI7a0JBQXBDLEtBQUs7WUFDVSx3QkFBd0I7a0JBQXZDLEtBQUs7WUFDVyxVQUFVO2tCQUExQixNQUFNO1lBQ1Usb0JBQW9CO2tCQUFwQyxNQUFNO1lBT0ksY0FBYztrQkFEeEIsS0FBSztZQVVLLFFBQVE7a0JBRGxCLEtBQUs7WUFVSyxVQUFVO2tCQURwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZnVuY3Rpb24gY29lcmNlVG9Cb29sZWFuKGlucHV0OiBzdHJpbmcgfCBib29sZWFuKTogYm9vbGVhbiB7XG4gIHJldHVybiAhIWlucHV0ICYmIGlucHV0ICE9PSAnZmFsc2UnO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtcGFnaW5hdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25Db21wb25lbnQge1xuICBASW5wdXQoKVxuICBwdWJsaWMgdmlzaWJpbGl0eUxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpZDogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgbWF4U2l6ZSA9IDc7XG4gIEBJbnB1dCgpIHB1YmxpYyBwcmV2aW91c0xhYmVsID0gJ1ByZXZpb3VzJztcbiAgQElucHV0KCkgcHVibGljIG5leHRMYWJlbCA9ICdOZXh0JztcbiAgQElucHV0KCkgcHVibGljIHNjcmVlblJlYWRlclBhZ2luYXRpb25MYWJlbCA9ICdQYWdpbmF0aW9uJztcbiAgQElucHV0KCkgcHVibGljIHNjcmVlblJlYWRlclBhZ2VMYWJlbCA9ICdwYWdlJztcbiAgQElucHV0KCkgcHVibGljIHNjcmVlblJlYWRlckN1cnJlbnRMYWJlbCA9IGBZb3UncmUgb24gcGFnZWA7XG4gIEBPdXRwdXQoKSBwdWJsaWMgcGFnZUNoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBwYWdlQm91bmRzQ29ycmVjdGlvbjogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBwcml2YXRlIHBEaXJlY3Rpb25MaW5rcyA9IHRydWU7XG4gIHByaXZhdGUgcEF1dG9IaWRlID0gZmFsc2U7XG4gIHByaXZhdGUgcFJlc3BvbnNpdmUgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGRpcmVjdGlvbkxpbmtzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBEaXJlY3Rpb25MaW5rcztcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZGlyZWN0aW9uTGlua3ModmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnBEaXJlY3Rpb25MaW5rcyA9IGNvZXJjZVRvQm9vbGVhbih2YWx1ZSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGF1dG9IaWRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBBdXRvSGlkZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgYXV0b0hpZGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnBBdXRvSGlkZSA9IGNvZXJjZVRvQm9vbGVhbih2YWx1ZSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IHJlc3BvbnNpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucFJlc3BvbnNpdmU7XG4gIH1cblxuICBwdWJsaWMgc2V0IHJlc3BvbnNpdmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnBSZXNwb25zaXZlID0gY29lcmNlVG9Cb29sZWFuKHZhbHVlKTtcbiAgfVxufVxuIiwiPHBhZ2luYXRpb24tdGVtcGxhdGUgI3A9XCJwYWdpbmF0aW9uQXBpXCIgW2lkXT1cImlkXCIgW21heFNpemVdPVwibWF4U2l6ZVwiIChwYWdlQ2hhbmdlKT1cInBhZ2VDaGFuZ2UuZW1pdCgkZXZlbnQpXCJcbiAgKHBhZ2VCb3VuZHNDb3JyZWN0aW9uKT1cInBhZ2VCb3VuZHNDb3JyZWN0aW9uLmVtaXQoJGV2ZW50KVwiPlxuICA8bmF2IHJvbGU9XCJuYXZpZ2F0aW9uXCIgYXJpYS1sYWJlbD1cIlBhZ2luYXRpb25cIj5cbiAgICA8dWwgY2xhc3M9XCJuZ3gtcGFnaW5hdGlvblwiIHJvbGU9XCJuYXZpZ2F0aW9uXCIgW2F0dHIuYXJpYS1sYWJlbF09XCJzY3JlZW5SZWFkZXJQYWdpbmF0aW9uTGFiZWxcIlxuICAgICAgW2NsYXNzLnJlc3BvbnNpdmVdPVwicmVzcG9uc2l2ZVwiICpuZ0lmPVwiIShhdXRvSGlkZSAmJiBwLnBhZ2VzLmxlbmd0aCA8PSAxKVwiPlxuICAgICAgPGxpIGNsYXNzPVwicGFnaW5hdGlvbi1wcmV2aW91c1wiIFtjbGFzcy5kaXNhYmxlZF09XCJwLmlzRmlyc3RQYWdlKClcIiAqbmdJZj1cImRpcmVjdGlvbkxpbmtzXCI+XG4gICAgICAgIDxhIHRhYmluZGV4PVwiMFwiICpuZ0lmPVwiMSA8IHAuZ2V0Q3VycmVudCgpXCIgKGtleXVwLmVudGVyKT1cInAucHJldmlvdXMoKVwiIChjbGljayk9XCJwLnByZXZpb3VzKClcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicHJldmlvdXNMYWJlbCArICcgJyArIHNjcmVlblJlYWRlclBhZ2VMYWJlbFwiPlxuICAgICAgICAgIHt7IHByZXZpb3VzTGFiZWwgfX0gPHNwYW4gY2xhc3M9XCJzaG93LWZvci1zclwiPnt7IHNjcmVlblJlYWRlclBhZ2VMYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgICAgICA8c3BhbiAqbmdJZj1cInAuaXNGaXJzdFBhZ2UoKVwiPlxuICAgICAgICAgIHt7IHByZXZpb3VzTGFiZWwgfX0gPHNwYW4gY2xhc3M9XCJzaG93LWZvci1zclwiPnt7IHNjcmVlblJlYWRlclBhZ2VMYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9saT5cbiAgICAgIDxsaSBjbGFzcz1cInNtYWxsLXNjcmVlblwiPlxuICAgICAgICB7eyBwLmdldEN1cnJlbnQoKSB9fSAvIHt7IHAuZ2V0TGFzdFBhZ2UoKSB9fVxuICAgICAgPC9saT5cbiAgICAgIDxsaSBbY2xhc3MuY3VycmVudF09XCJwLmdldEN1cnJlbnQoKSA9PT0gcGFnZS52YWx1ZVwiIFtjbGFzcy5lbGxpcHNpc109XCJwYWdlLmxhYmVsID09PSAnLi4uJ1wiXG4gICAgICAgICpuZ0Zvcj1cImxldCBwYWdlIG9mIHAucGFnZXNcIj5cbiAgICAgICAgPGEgdGFiaW5kZXg9XCIwXCIgKGtleXVwLmVudGVyKT1cInAuc2V0Q3VycmVudChwYWdlLnZhbHVlKVwiIChjbGljayk9XCJwLnNldEN1cnJlbnQocGFnZS52YWx1ZSlcIlxuICAgICAgICAgICpuZ0lmPVwicC5nZXRDdXJyZW50KCkgIT09IHBhZ2UudmFsdWVcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNob3ctZm9yLXNyXCI+e3sgc2NyZWVuUmVhZGVyUGFnZUxhYmVsIH19IDwvc3Bhbj5cbiAgICAgICAgICA8c3Bhbj57eyAocGFnZS5sYWJlbCA9PT0gJy4uLicpID8gcGFnZS5sYWJlbCA6IChwYWdlLmxhYmVsIHwgbnVtYmVyOicnKSB9fTwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicC5nZXRDdXJyZW50KCkgPT09IHBhZ2UudmFsdWVcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNob3ctZm9yLXNyXCI+e3sgc2NyZWVuUmVhZGVyQ3VycmVudExhYmVsIH19IDwvc3Bhbj5cbiAgICAgICAgICA8c3Bhbj57eyAocGFnZS5sYWJlbCA9PT0gJy4uLicpID8gcGFnZS5sYWJlbCA6IChwYWdlLmxhYmVsIHwgbnVtYmVyOicnKSB9fTwvc3Bhbj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8L2xpPlxuICAgICAgPGxpIGNsYXNzPVwicGFnaW5hdGlvbi1uZXh0XCIgW2NsYXNzLmRpc2FibGVkXT1cInAuaXNMYXN0UGFnZSgpXCIgKm5nSWY9XCJkaXJlY3Rpb25MaW5rc1wiPlxuICAgICAgICA8YSB0YWJpbmRleD1cIjBcIiAqbmdJZj1cIiFwLmlzTGFzdFBhZ2UoKVwiIChrZXl1cC5lbnRlcik9XCJwLm5leHQoKVwiIChjbGljayk9XCJwLm5leHQoKVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJuZXh0TGFiZWwgKyAnICcgKyBzY3JlZW5SZWFkZXJQYWdlTGFiZWxcIj5cbiAgICAgICAgICB7eyBuZXh0TGFiZWwgfX0gPHNwYW4gY2xhc3M9XCJzaG93LWZvci1zclwiPnt7IHNjcmVlblJlYWRlclBhZ2VMYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgPC9hPlxuICAgICAgICA8c3BhbiAqbmdJZj1cInAuaXNMYXN0UGFnZSgpXCI+XG4gICAgICAgICAge3sgbmV4dExhYmVsIH19IDxzcGFuIGNsYXNzPVwic2hvdy1mb3Itc3JcIj57eyBzY3JlZW5SZWFkZXJQYWdlTGFiZWwgfX08L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbGk+XG4gICAgPC91bD5cbiAgPC9uYXY+XG48L3BhZ2luYXRpb24tdGVtcGxhdGU+XG4iXX0=
286
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0lDTS9ELDZCQUNrRTtJQUR2QixnTUFBZSxjQUFZLElBQUMsdUtBQVUsY0FBWSxJQUF0QjtJQUVyRSxZQUFvQjtJQUFBLGdDQUEwQjtJQUFBLFlBQTJCO0lBQUEsaUJBQU87SUFDbEYsaUJBQUk7OztJQUZGLHVGQUErRDtJQUMvRCxlQUFvQjtJQUFwQixxREFBb0I7SUFBMEIsZUFBMkI7SUFBM0Isa0RBQTJCOzs7SUFFM0UsNEJBQThCO0lBQzVCLFlBQW9CO0lBQUEsZ0NBQTBCO0lBQUEsWUFBMkI7SUFBQSxpQkFBTztJQUNsRixpQkFBTzs7O0lBREwsZUFBb0I7SUFBcEIscURBQW9CO0lBQTBCLGVBQTJCO0lBQTNCLGtEQUEyQjs7O0lBTjdFLDhCQUEwRjtJQUN4RiwyRUFHSTtJQUNKLGlGQUVPO0lBQ1QsaUJBQUs7Ozs7SUFSMkIsNkNBQWtDO0lBQy9DLGVBQXdCO0lBQXhCLDJDQUF3QjtJQUlsQyxlQUFxQjtJQUFyQix3Q0FBcUI7Ozs7SUFTNUIsNkJBQ3dDO0lBRHhCLGdQQUFlLDhCQUF3QixJQUFDLHVOQUFVLDhCQUF3QixJQUFsQztJQUV0RCxnQ0FBMEI7SUFBQSxZQUE0QjtJQUFB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SUFBQyxvSUFDbEYscUNBQWlDLElBRGlEO1FBRTFHLDhCQUE4RTtRQUM1RSxrRUFtQ0s7UUFDUCxpQkFBTTtRQUNOLG9FQUdNO1FBQ1IsaUJBQXNCOzs7UUE1Q2tCLDJCQUFTLHdCQUFBO1FBSVYsZUFBd0M7UUFBeEMsK0RBQXdDO1FBb0NoRCxlQUF3QztRQUF4QywrREFBd0M7O3VGRDdCMUQsbUJBQW1CO2NBTC9CLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQixXQUFXLEVBQUUsNkJBQTZCO2dCQUMxQyxTQUFTLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQzthQUMzQztnQkFFaUIsZUFBZTtrQkFBOUIsS0FBSztZQUNVLEVBQUU7a0JBQWpCLEtBQUs7WUFDVSxPQUFPO2tCQUF0QixLQUFLO1lBQ1UsYUFBYTtrQkFBNUIsS0FBSztZQUNVLFNBQVM7a0JBQXhCLEtBQUs7WUFDVSwyQkFBMkI7a0JBQTFDLEtBQUs7WUFDVSxxQkFBcUI7a0JBQXBDLEtBQUs7WUFDVSx3QkFBd0I7a0JBQXZDLEtBQUs7WUFDVyxVQUFVO2tCQUExQixNQUFNO1lBQ1Usb0JBQW9CO2tCQUFwQyxNQUFNO1lBT0ksY0FBYztrQkFEeEIsS0FBSztZQVVLLFFBQVE7a0JBRGxCLEtBQUs7WUFVSyxVQUFVO2tCQURwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZnVuY3Rpb24gY29lcmNlVG9Cb29sZWFuKGlucHV0OiBzdHJpbmcgfCBib29sZWFuKTogYm9vbGVhbiB7XG4gIHJldHVybiAhIWlucHV0ICYmIGlucHV0ICE9PSAnZmFsc2UnO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtcGFnaW5hdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25Db21wb25lbnQge1xuICBASW5wdXQoKSBwdWJsaWMgdmlzaWJpbGl0eUxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpZDogc3RyaW5nO1xuICBASW5wdXQoKSBwdWJsaWMgbWF4U2l6ZSA9IDc7XG4gIEBJbnB1dCgpIHB1YmxpYyBwcmV2aW91c0xhYmVsID0gJ1ByZXZpb3VzJztcbiAgQElucHV0KCkgcHVibGljIG5leHRMYWJlbCA9ICdOZXh0JztcbiAgQElucHV0KCkgcHVibGljIHNjcmVlblJlYWRlclBhZ2luYXRpb25MYWJlbCA9ICdQYWdpbmF0aW9uJztcbiAgQElucHV0KCkgcHVibGljIHNjcmVlblJlYWRlclBhZ2VMYWJlbCA9ICdwYWdlJztcbiAgQElucHV0KCkgcHVibGljIHNjcmVlblJlYWRlckN1cnJlbnRMYWJlbCA9IGBZb3UncmUgb24gcGFnZWA7XG4gIEBPdXRwdXQoKSBwdWJsaWMgcGFnZUNoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgQE91dHB1dCgpIHB1YmxpYyBwYWdlQm91bmRzQ29ycmVjdGlvbjogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBwcml2YXRlIHBEaXJlY3Rpb25MaW5rcyA9IHRydWU7XG4gIHByaXZhdGUgcEF1dG9IaWRlID0gZmFsc2U7XG4gIHByaXZhdGUgcFJlc3BvbnNpdmUgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGRpcmVjdGlvbkxpbmtzKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBEaXJlY3Rpb25MaW5rcztcbiAgfVxuXG4gIHB1YmxpYyBzZXQgZGlyZWN0aW9uTGlua3ModmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnBEaXJlY3Rpb25MaW5rcyA9IGNvZXJjZVRvQm9vbGVhbih2YWx1ZSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGF1dG9IaWRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnBBdXRvSGlkZTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgYXV0b0hpZGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnBBdXRvSGlkZSA9IGNvZXJjZVRvQm9vbGVhbih2YWx1ZSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IHJlc3BvbnNpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucFJlc3BvbnNpdmU7XG4gIH1cblxuICBwdWJsaWMgc2V0IHJlc3BvbnNpdmUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLnBSZXNwb25zaXZlID0gY29lcmNlVG9Cb29sZWFuKHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBnb1RvUGFnZSgkZXZlbnQsIHApIHtcbiAgICBjb25zdCBwYWdlTnVtYmVyOiBudW1iZXIgPSBOdW1iZXIoJGV2ZW50LnRhcmdldC52YWx1ZSk7XG5cbiAgICBpZiAoJGV2ZW50LnRhcmdldC52YWx1ZSAhPT0gJycgJiYgcGFnZU51bWJlciAhPT0gcC5nZXRDdXJyZW50KCkpIHtcbiAgICAgIGlmIChwYWdlTnVtYmVyID4gMCkge1xuICAgICAgICBwLnNldEN1cnJlbnQocGFnZU51bWJlcik7XG4gICAgICB9IGVsc2UgaWYgKHBhZ2VOdW1iZXIgPCAwKSB7XG4gICAgICAgICRldmVudC50YXJnZXQudmFsdWUgPSAoTWF0aC5hYnMocGFnZU51bWJlcikpLnRvU3RyaW5nKCk7XG5cbiAgICAgICAgaWYgKE1hdGguYWJzKHBhZ2VOdW1iZXIpICE9PSBwLmdldEN1cnJlbnQoKSkge1xuICAgICAgICAgIHAuc2V0Q3VycmVudChNYXRoLmFicyhwYWdlTnVtYmVyKSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgICRldmVudC50YXJnZXQudmFsdWUgPSAnJztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIjxwYWdpbmF0aW9uLXRlbXBsYXRlICNwPVwicGFnaW5hdGlvbkFwaVwiIFtpZF09XCJpZFwiIFttYXhTaXplXT1cIm1heFNpemVcIiAocGFnZUNoYW5nZSk9XCJwYWdlQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXG4gIChwYWdlQm91bmRzQ29ycmVjdGlvbik9XCJwYWdlQm91bmRzQ29ycmVjdGlvbi5lbWl0KCRldmVudClcIj5cbiAgPG5hdiBjbGFzcz1cIm5neC1wYWdpbmF0aW9uLXdyYXBwZXJcIiByb2xlPVwibmF2aWdhdGlvblwiIGFyaWEtbGFiZWw9XCJQYWdpbmF0aW9uXCI+XG4gICAgPHVsIGNsYXNzPVwibmd4LXBhZ2luYXRpb25cIiByb2xlPVwibmF2aWdhdGlvblwiIFthdHRyLmFyaWEtbGFiZWxdPVwic2NyZWVuUmVhZGVyUGFnaW5hdGlvbkxhYmVsXCJcbiAgICAgIFtjbGFzcy5yZXNwb25zaXZlXT1cInJlc3BvbnNpdmVcIiAqbmdJZj1cIiEoYXV0b0hpZGUgJiYgcC5wYWdlcy5sZW5ndGggPD0gMSlcIj5cbiAgICAgIDxsaSBjbGFzcz1cInBhZ2luYXRpb24tcHJldmlvdXNcIiBbY2xhc3MuZGlzYWJsZWRdPVwicC5pc0ZpcnN0UGFnZSgpXCIgKm5nSWY9XCJkaXJlY3Rpb25MaW5rc1wiPlxuICAgICAgICA8YSB0YWJpbmRleD1cIjBcIiAqbmdJZj1cIjEgPCBwLmdldEN1cnJlbnQoKVwiIChrZXl1cC5lbnRlcik9XCJwLnByZXZpb3VzKClcIiAoY2xpY2spPVwicC5wcmV2aW91cygpXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cInByZXZpb3VzTGFiZWwgKyAnICcgKyBzY3JlZW5SZWFkZXJQYWdlTGFiZWxcIj5cbiAgICAgICAgICB7eyBwcmV2aW91c0xhYmVsIH19IDxzcGFuIGNsYXNzPVwic2hvdy1mb3Itc3JcIj57eyBzY3JlZW5SZWFkZXJQYWdlTGFiZWwgfX08L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJwLmlzRmlyc3RQYWdlKClcIj5cbiAgICAgICAgICB7eyBwcmV2aW91c0xhYmVsIH19IDxzcGFuIGNsYXNzPVwic2hvdy1mb3Itc3JcIj57eyBzY3JlZW5SZWFkZXJQYWdlTGFiZWwgfX08L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbGk+XG4gICAgICA8bGkgY2xhc3M9XCJzbWFsbC1zY3JlZW5cIj5cbiAgICAgICAge3sgcC5nZXRDdXJyZW50KCkgfX0gLyB7eyBwLmdldExhc3RQYWdlKCkgfX1cbiAgICAgIDwvbGk+XG4gICAgICA8bGkgW2NsYXNzLmN1cnJlbnRdPVwicC5nZXRDdXJyZW50KCkgPT09IHBhZ2UudmFsdWVcIiBbY2xhc3MuZWxsaXBzaXNdPVwicGFnZS5sYWJlbCA9PT0gJy4uLidcIlxuICAgICAgICAqbmdGb3I9XCJsZXQgcGFnZSBvZiBwLnBhZ2VzXCI+XG4gICAgICAgIDxhIHRhYmluZGV4PVwiMFwiIChrZXl1cC5lbnRlcik9XCJwLnNldEN1cnJlbnQocGFnZS52YWx1ZSlcIiAoY2xpY2spPVwicC5zZXRDdXJyZW50KHBhZ2UudmFsdWUpXCJcbiAgICAgICAgICAqbmdJZj1cInAuZ2V0Q3VycmVudCgpICE9PSBwYWdlLnZhbHVlXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaG93LWZvci1zclwiPnt7IHNjcmVlblJlYWRlclBhZ2VMYWJlbCB9fSA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4+e3sgKHBhZ2UubGFiZWwgPT09ICcuLi4nKSA/IHBhZ2UubGFiZWwgOiAocGFnZS5sYWJlbCB8IG51bWJlcjonJykgfX08L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInAuZ2V0Q3VycmVudCgpID09PSBwYWdlLnZhbHVlXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJzaG93LWZvci1zclwiPnt7IHNjcmVlblJlYWRlckN1cnJlbnRMYWJlbCB9fSA8L3NwYW4+XG4gICAgICAgICAgPHNwYW4+e3sgKHBhZ2UubGFiZWwgPT09ICcuLi4nKSA/IHBhZ2UubGFiZWwgOiAocGFnZS5sYWJlbCB8IG51bWJlcjonJykgfX08L3NwYW4+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9saT5cbiAgICAgIDxsaSBjbGFzcz1cInBhZ2luYXRpb24tbmV4dFwiIFtjbGFzcy5kaXNhYmxlZF09XCJwLmlzTGFzdFBhZ2UoKVwiICpuZ0lmPVwiZGlyZWN0aW9uTGlua3NcIj5cbiAgICAgICAgPGEgdGFiaW5kZXg9XCIwXCIgKm5nSWY9XCIhcC5pc0xhc3RQYWdlKClcIiAoa2V5dXAuZW50ZXIpPVwicC5uZXh0KClcIiAoY2xpY2spPVwicC5uZXh0KClcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibmV4dExhYmVsICsgJyAnICsgc2NyZWVuUmVhZGVyUGFnZUxhYmVsXCI+XG4gICAgICAgICAge3sgbmV4dExhYmVsIH19IDxzcGFuIGNsYXNzPVwic2hvdy1mb3Itc3JcIj57eyBzY3JlZW5SZWFkZXJQYWdlTGFiZWwgfX08L3NwYW4+XG4gICAgICAgIDwvYT5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJwLmlzTGFzdFBhZ2UoKVwiPlxuICAgICAgICAgIHt7IG5leHRMYWJlbCB9fSA8c3BhbiBjbGFzcz1cInNob3ctZm9yLXNyXCI+e3sgc2NyZWVuUmVhZGVyUGFnZUxhYmVsIH19PC9zcGFuPlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2xpPlxuICAgIDwvdWw+XG4gIDwvbmF2PlxuICA8ZGl2IGNsYXNzPVwibmd4LWdvLXRvLXBhZ2VcIiAqbmdJZj1cIiEoYXV0b0hpZGUgJiYgcC5wYWdlcy5sZW5ndGggPD0gMSlcIj5cbiAgICA8c3Bhbj5HbyB0byBwYWdlPC9zcGFuPlxuICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgKGtleXVwLmVudGVyKT1cImdvVG9QYWdlKCRldmVudCwgcCk7JGV2ZW50LnRhcmdldC5ibHVyKCk7XCIgKGJsdXIpPVwiZ29Ub1BhZ2UoJGV2ZW50LCBwKVwiIChmb2N1cyk9XCJnb1RvUGFnZUlucHV0LnNlbGVjdCgpXCIgY2xhc3M9XCJnb3Z1ay1pbnB1dFwiIG1heGxlbmd0aD1cIjVcIiBtaW49XCIxXCIgI2dvVG9QYWdlSW5wdXQgLz5cbiAgPC9kaXY+XG48L3BhZ2luYXRpb24tdGVtcGxhdGU+XG4iXX0=
@@ -206,10 +206,11 @@ export class LinkedCasesToTableComponent {
206
206
  });
207
207
  if (searchCasesResponse.length) {
208
208
  this.searchCasesByCaseIds(searchCasesResponse).subscribe((searchCases) => {
209
- const casesResponse = [];
209
+ let casesResponse = [];
210
210
  searchCases.forEach(response => {
211
211
  casesResponse.push(this.mapResponse(response));
212
212
  });
213
+ casesResponse = this.sortReasonCodes(casesResponse);
213
214
  this.linkedCasesFromResponse = this.sortLinkedCasesByReasonCode(casesResponse);
214
215
  this.isLoaded = true;
215
216
  const caseLinks = this.linkedCasesFromResponse.map(item => {
@@ -235,6 +236,29 @@ export class LinkedCasesToTableComponent {
235
236
  });
236
237
  }
237
238
  }
239
+ sortReasonCodes(searchCasesResponse) {
240
+ searchCasesResponse.forEach((item) => {
241
+ var _a;
242
+ if ((_a = item === null || item === void 0 ? void 0 : item.reasons) === null || _a === void 0 ? void 0 : _a.length) {
243
+ item.reasons.forEach((reason) => {
244
+ reason.sortOrder = this.getReasonSortOrder(reason.value.Reason);
245
+ });
246
+ item.reasons = item.reasons.sort((a, b) => a.sortOrder - b.sortOrder);
247
+ item.sortOrder = item.reasons[0].sortOrder;
248
+ }
249
+ });
250
+ searchCasesResponse = searchCasesResponse === null || searchCasesResponse === void 0 ? void 0 : searchCasesResponse.sort((a, b) => a.sortOrder - b.sortOrder);
251
+ return searchCasesResponse;
252
+ }
253
+ getReasonSortOrder(reasonCode) {
254
+ if (reasonCode === LinkedCasesToTableComponent.CASE_PROGRESS_REASON_CODE) {
255
+ return 1;
256
+ }
257
+ else if (reasonCode === LinkedCasesToTableComponent.CASE_CONSOLIDATED_REASON_CODE) {
258
+ return 2;
259
+ }
260
+ return 3;
261
+ }
238
262
  searchCasesByCaseIds(searchCasesResponse) {
239
263
  return forkJoin(searchCasesResponse);
240
264
  }
@@ -282,4 +306,4 @@ LinkedCasesToTableComponent.ɵcmp = i0.ɵɵdefineComponent({ type: LinkedCasesTo
282
306
  }], notifyAPIFailure: [{
283
307
  type: Output
284
308
  }] }); })();
285
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWNhc2VzLXRvLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2xpbmtlZC1jYXNlcy9jb21wb25lbnRzL2xpbmtlZC1jYXNlcy10YWJsZS9saW5rZWQtY2FzZXMtdG8tdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL2NvbXBvbmVudHMvbGlua2VkLWNhc2VzLXRhYmxlL2xpbmtlZC1jYXNlcy10by10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUU1QyxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLGtDQUFrQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUU5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0lDa0JVLDZCQUVXO0lBQUEsWUFBMkM7SUFBQSxpQkFBSTs7OztJQUR0RyxxR0FBa0Q7SUFDSyxlQUEyQztJQUEzQyx1RUFBMkM7OztJQUN0RyxxQkFBc0I7OztJQUp4Qiw0QkFBNEU7SUFDMUUsWUFBMEM7O0lBQUEsNEJBQU07SUFBQSxvR0FFMEQ7SUFBQSxpQkFBTztJ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SUFBSSxFQUFFO1lBQy9ELE9BQU8sUUFBRSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsS0FBSywwQ0FBRSxhQUFhO1NBQ2pCLENBQUM7SUFDM0IsQ0FBQzs7QUFwSXVCLHlEQUE2QixHQUFHLFNBQVMsQ0FBQztBQUMxQyxxREFBeUIsR0FBRyxTQUFTLENBQUM7c0dBSG5ELDJCQUEyQjtnRUFBM0IsMkJBQTJCO1FDekJ4Qyw4QkFBb0Q7UUFDbEQsOEJBQW9DO1FBQ2xDLGlGQW9DUTtRQUNWLGlCQUFNO1FBQ1IsaUJBQU07O1FBdENNLGVBQTZCO1FBQTdCLGtEQUE2Qjs7dUZEdUI1QiwyQkFBMkI7Y0FMdkMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLFdBQVcsRUFBRSx3Q0FBd0M7Z0JBQ3JELFNBQVMsRUFBRSxDQUFDLHdDQUF3QyxDQUFDO2FBQ3REOzZIQU9RLFNBQVM7a0JBRGYsS0FBSztZQUlDLGdCQUFnQjtrQkFEdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDYXNlVmlldyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlRmllbGQsIEp1cmlzZGljdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uJztcbmltcG9ydCB7IENhc2VzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2Nhc2UtZWRpdG9yL3NlcnZpY2VzL2Nhc2VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FzZUxpbmssIExpbmtSZWFzb24gfSBmcm9tICcuLi8uLi9kb21haW4vbGlua2VkLWNhc2VzLm1vZGVsJztcbmltcG9ydCB7IExpbmtlZENhc2VzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcblxuaW50ZXJmYWNlIExpbmtlZENhc2VzUmVzcG9uc2Uge1xuICBjYXNlUmVmZXJlbmNlOiBzdHJpbmc7XG4gIGNhc2VOYW1lOiBzdHJpbmc7XG4gIGNhc2VUeXBlOiBzdHJpbmc7XG4gIGNhc2VUeXBlRGVzY3JpcHRpb246IHN0cmluZztcbiAgc2VydmljZTogc3RyaW5nO1xuICBzdGF0ZTogc3RyaW5nO1xuICBzdGF0ZURlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHJlYXNvbnM6IHN0cmluZ1tdO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtbGlua2VkLWNhc2VzLXRvLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpbmtlZC1jYXNlcy10by10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpbmtlZC1jYXNlcy10by10YWJsZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIExpbmtlZENhc2VzVG9UYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgQ0FTRV9DT05TT0xJREFURURfUkVBU09OX0NPREUgPSAnQ0xSQzAxNSc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IENBU0VfUFJPR1JFU1NfUkVBU09OX0NPREUgPSAnQ0xSQzAxNic7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VGaWVsZDogQ2FzZUZpZWxkO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgbm90aWZ5QVBJRmFpbHVyZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcihmYWxzZSk7XG4gIHB1YmxpYyBjYXNlRGV0YWlsczogQ2FzZVZpZXc7XG4gIHB1YmxpYyBpc0xvYWRlZDogYm9vbGVhbjtcbiAgcHVibGljIGxpbmtlZENhc2VzRnJvbVJlc3BvbnNlOiBMaW5rZWRDYXNlc1Jlc3BvbnNlW10gPSBbXTtcbiAgcHVibGljIGNhc2VJZDogc3RyaW5nO1xuICBwdWJsaWMgaXNTZXJ2ZXJFcnJvciA9IGZhbHNlO1xuICBwdWJsaWMgaXNTZXJ2ZXJSZWFzb25Db2RlRXJyb3IgPSBmYWxzZTtcbiAgcHVibGljIGp1cmlzZGljdGlvbnNSZXNwb25zZTogSnVyaXNkaWN0aW9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpbmtlZENhc2VzU2VydmljZTogTGlua2VkQ2FzZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZXNTZXJ2aWNlOiBDYXNlc1NlcnZpY2UpIHsgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgbGV0IGxhYmVsRmllbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdnb3Z1ay1oZWFkaW5nLWwnKTtcbiAgICBpZiAobGFiZWxGaWVsZCAmJiBsYWJlbEZpZWxkLmxlbmd0aCkge1xuICAgICAgbGFiZWxGaWVsZFswXS5yZXBsYWNlV2l0aCgnJyk7XG4gICAgfVxuICAgIGxhYmVsRmllbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdoZWFkaW5nLWgyJyk7XG4gICAgaWYgKGxhYmVsRmllbGQgJiYgbGFiZWxGaWVsZC5sZW5ndGgpIHtcbiAgICAgIGxhYmVsRmllbGRbMF0ucmVwbGFjZVdpdGgoJycpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhc2VJZCA9IHRoaXMucm91dGUuc25hcHNob3QgJiYgdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhICYmIHRoaXMucm91dGUuc25hcHNob3QuZGF0YS5jYXNlLmNhc2VfaWQ7XG4gICAgdGhpcy5nZXRBbGxMaW5rZWRDYXNlSW5mb3JtYXRpb24oKTtcbiAgICBpZiAodGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmNhc2UpIHtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VEZXRhaWxzID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmNhc2U7XG4gICAgfVxuICAgIHRoaXMuaXNTZXJ2ZXJSZWFzb25Db2RlRXJyb3IgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pc1NlcnZlclJlYXNvbkNvZGVFcnJvcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXNlUmVmZXJlbmVMaW5rKGNhc2VSZWY6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNhc2VSZWYuc2xpY2UodGhpcy5jYXNlSWQubGVuZ3RoIC0gNCk7XG4gIH1cblxuICBwdWJsaWMgc29ydExpbmtlZENhc2VzQnlSZWFzb25Db2RlKHNlYXJjaENhc2VzUmVzcG9uc2UpOiBMaW5rZWRDYXNlc1Jlc3BvbnNlW10ge1xuICAgIGNvbnN0IHRvcExldmVscmVzdWx0QXJyYXkgPSBbXTtcbiAgICBsZXQgc2Vjb25kTGV2ZWxyZXN1bHRBcnJheSA9IFtdO1xuICAgIHNlYXJjaENhc2VzUmVzcG9uc2UuZm9yRWFjaCgoaXRlbTogYW55KSA9PiB7XG4gICAgICBjb25zdCByZWFzb25zID0gaXRlbSAmJiBpdGVtLnJlYXNvbnMgfHwgW107XG4gICAgICBjb25zdCBjb25zb2xpZGF0ZWRTdGF0ZVJlYXNvbiA9IHJlYXNvbnMubWFwKHggPT4geCkuZmluZChcbiAgICAgICAgcmVhc29uID0+IHJlYXNvbiA9PT0gTGlua2VkQ2FzZXNUb1RhYmxlQ29tcG9uZW50LkNBU0VfQ09OU09MSURBVEVEX1JFQVNPTl9DT0RFXG4gICAgICApO1xuICAgICAgY29uc3QgcHJvZ3Jlc3NlZFN0YXRlUmVhc29uID0gcmVhc29ucy5tYXAoeCA9PiB4KS5maW5kKFxuICAgICAgICByZWFzb24gPT4gcmVhc29uID09PSBMaW5rZWRDYXNlc1RvVGFibGVDb21wb25lbnQuQ0FTRV9QUk9HUkVTU19SRUFTT05fQ09ERVxuICAgICAgKTtcbiAgICAgIGNvbnN0IGFycmF5SXRlbSA9IHsgLi4uaXRlbSB9O1xuICAgICAgaWYgKHByb2dyZXNzZWRTdGF0ZVJlYXNvbikge1xuICAgICAgICB0b3BMZXZlbHJlc3VsdEFycmF5LnB1c2goYXJyYXlJdGVtKTtcbiAgICAgIH0gZWxzZSBpZiAoY29uc29saWRhdGVkU3RhdGVSZWFzb24pIHtcbiAgICAgICAgc2Vjb25kTGV2ZWxyZXN1bHRBcnJheSA9IFt7IC4uLml0ZW0gfSwgLi4uc2Vjb25kTGV2ZWxyZXN1bHRBcnJheV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZWNvbmRMZXZlbHJlc3VsdEFycmF5LnB1c2goeyAuLi5pdGVtIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB0b3BMZXZlbHJlc3VsdEFycmF5LmNvbmNhdChzZWNvbmRMZXZlbHJlc3VsdEFycmF5KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBbGxMaW5rZWRDYXNlSW5mb3JtYXRpb24oKTogdm9pZCB7XG4gICAgY29uc3Qgc2VhcmNoQ2FzZXNSZXNwb25zZSA9IFtdO1xuICAgIGNvbnN0IGNhc2VGaWVsZFZhbHVlID0gdGhpcy5jYXNlRmllbGQgJiYgdGhpcy5jYXNlRmllbGQuaWQgPT09ICdjYXNlTGlua3MnID8gdGhpcy5jYXNlRmllbGQudmFsdWUgOiBbXTtcbiAgICAvLyBHZW5lcmF0ZSB0aGUgbGlzdCBvZiBvYnNlcnZhYmxlc1xuICAgIGNhc2VGaWVsZFZhbHVlLmZvckVhY2goZmllbGRWYWx1ZSA9PiB7XG4gICAgICBpZiAoZmllbGRWYWx1ZSAmJiBmaWVsZFZhbHVlLmlkKSB7XG4gICAgICAgIHNlYXJjaENhc2VzUmVzcG9uc2UucHVzaCh0aGlzLmNhc2VzU2VydmljZS5nZXRDYXNlVmlld1YyKGZpZWxkVmFsdWUuaWQpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAoc2VhcmNoQ2FzZXNSZXNwb25zZS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2VhcmNoQ2FzZXNCeUNhc2VJZHMoc2VhcmNoQ2FzZXNSZXNwb25zZSkuc3Vic2NyaWJlKChzZWFyY2hDYXNlczogYW55KSA9PiB7XG4gICAgICAgIGNvbnN0IGNhc2VzUmVzcG9uc2UgPSBbXTtcbiAgICAgICAgc2VhcmNoQ2FzZXMuZm9yRWFjaChyZXNwb25zZSA9PiB7XG4gICAgICAgICAgY2FzZXNSZXNwb25zZS5wdXNoKHRoaXMubWFwUmVzcG9uc2UocmVzcG9uc2UpKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubGlua2VkQ2FzZXNGcm9tUmVzcG9uc2UgPSB0aGlzLnNvcnRMaW5rZWRDYXNlc0J5UmVhc29uQ29kZShjYXNlc1Jlc3BvbnNlKTtcbiAgICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XG4gICAgICAgIGNvbnN0IGNhc2VMaW5rcyA9IHRoaXMubGlua2VkQ2FzZXNGcm9tUmVzcG9uc2UubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjYXNlUmVmZXJlbmNlOiBpdGVtLmNhc2VSZWZlcmVuY2UsXG4gICAgICAgICAgICBjYXNlTmFtZTogaXRlbS5jYXNlTmFtZSxcbiAgICAgICAgICAgIGNhc2VTZXJ2aWNlOiBpdGVtLnNlcnZpY2UsXG4gICAgICAgICAgICBjYXNlVHlwZTogaXRlbS5jYXNlVHlwZSxcbiAgICAgICAgICAgIHVubGluazogZmFsc2UsXG4gICAgICAgICAgICByZWFzb25zOiBpdGVtLnJlYXNvbnMgJiYgaXRlbS5yZWFzb25zLm1hcChyZWFzb24gPT4ge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIFJlYXNvbjogcmVhc29uXG4gICAgICAgICAgICAgIH0gYXMgTGlua1JlYXNvbjtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0gYXMgQ2FzZUxpbms7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pbml0aWFsQ2FzZUxpbmtzID0gY2FzZUxpbmtzO1xuICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcyA9IGNhc2VMaW5rcztcbiAgICAgICAgdGhpcy5pc1NlcnZlckVycm9yID0gZmFsc2U7XG4gICAgICB9LFxuICAgICAgZXJyID0+IHtcbiAgICAgICAgICB0aGlzLmlzU2VydmVyRXJyb3IgPSB0cnVlO1xuICAgICAgICAgIHRoaXMubm90aWZ5QVBJRmFpbHVyZS5lbWl0KHRydWUpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZWFyY2hDYXNlc0J5Q2FzZUlkcyhzZWFyY2hDYXNlc1Jlc3BvbnNlOiBhbnlbXSk6IE9ic2VydmFibGU8dW5rbm93bltdPiB7XG4gICAgcmV0dXJuIGZvcmtKb2luKHNlYXJjaENhc2VzUmVzcG9uc2UpO1xuICB9XG5cbiAgcHVibGljIGhhc0xlYWRDYXNlT3JDb25zb2xpZGF0ZWQocmVhc29uQ29kZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHJlYXNvbkNvZGUgPT09IExpbmtlZENhc2VzVG9UYWJsZUNvbXBvbmVudC5DQVNFX1BST0dSRVNTX1JFQVNPTl9DT0RFIHx8XG4gICAgICByZWFzb25Db2RlID09PSBMaW5rZWRDYXNlc1RvVGFibGVDb21wb25lbnQuQ0FTRV9DT05TT0xJREFURURfUkVBU09OX0NPREU7XG4gIH1cblxuICBwdWJsaWMgbWFwUmVzcG9uc2UoZXNTZWFyY2hDYXNlc1Jlc3BvbnNlKTogTGlua2VkQ2FzZXNSZXNwb25zZSB7XG4gICAgY29uc3QgY2FzZUluZm8gPSB0aGlzLmNhc2VGaWVsZC52YWx1ZS5maW5kKGl0ZW0gPT4gaXRlbS52YWx1ZSAmJiBpdGVtLnZhbHVlLkNhc2VSZWZlcmVuY2UgPT09IGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5jYXNlX2lkKTtcbiAgICByZXR1cm4gY2FzZUluZm8gJiYge1xuICAgICAgY2FzZVJlZmVyZW5jZTogZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfaWQsXG4gICAgICBjYXNlTmFtZTogdGhpcy5saW5rZWRDYXNlc1NlcnZpY2UuZ2V0Q2FzZU5hbWUoZXNTZWFyY2hDYXNlc1Jlc3BvbnNlKSxcbiAgICAgIGNhc2VUeXBlOiBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV90eXBlLm5hbWUgfHwgJycsXG4gICAgICBjYXNlVHlwZURlc2NyaXB0aW9uOiBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV90eXBlLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgc2VydmljZTogZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfdHlwZSAmJiBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV90eXBlLmp1cmlzZGljdGlvbi5kZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIHN0YXRlOiBlc1NlYXJjaENhc2VzUmVzcG9uc2Uuc3RhdGUubmFtZSB8fCAnJyxcbiAgICAgIHN0YXRlRGVzY3JpcHRpb246IGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5zdGF0ZS5kZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIHJlYXNvbnM6IGNhc2VJbmZvPy52YWx1ZT8uUmVhc29uRm9yTGlua1xuICAgIH0gYXMgTGlua2VkQ2FzZXNSZXNwb25zZTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtcm93IGdvdnVrLSEtbWFyZ2luLWJvdHRvbS0yXCI+XG4gIDxkaXYgY2xhc3M9XCJnb3Z1ay1ncmlkLWNvbHVtbi1mdWxsXCI+XG4gICAgPHRhYmxlICpuZ0lmPVwibGlua2VkQ2FzZXNGcm9tUmVzcG9uc2VcIiBhcmlhLWRlc2NyaWJlZGJ5PVwidGFibGUgdG8gZGlzcGxheSBjYXNlcyBsaW5rZWQgVE9cIj5cbiAgICAgIDx0aGVhZD5cbiAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjYXNlLXRhYmxlLWNvbHVtblwiIHdpZHRoPVwiMjAlXCI+Q2FzZSBuYW1lIGFuZCBudW1iZXI8L3RoPlxuICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjYXNlLXRhYmxlLWNvbHVtblwiIHdpZHRoPVwiMjAlXCI+Q2FzZSB0eXBlIDwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNhc2UtdGFibGUtY29sdW1uXCIgd2lkdGg9XCIyMCVcIj5TZXJ2aWNlPC90aD5cbiAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY2FzZS10YWJsZS1jb2x1bW5cIiB3aWR0aD1cIjIwJVwiPlN0YXRlPC90aD5cbiAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY2FzZS10YWJsZS1jb2x1bW5cIiB3aWR0aD1cIjIwJVwiPlJlYXNvbnMgZm9yIGNhc2UgbGluazwvdGg+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L3RoZWFkPlxuICAgICAgPHRib2R5IGNsYXNzPVwiZ292dWstdGFibGVfX2JvZHlcIj5cbiAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiICpuZ0Zvcj1cImxldCBjYXNlIG9mIGxpbmtlZENhc2VzRnJvbVJlc3BvbnNlXCI+XG4gICAgICAgICAgPHRkPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJnb3Z1ay1ib2R5XCI+PGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImNhc2VzL2Nhc2UtZGV0YWlscy97e2Nhc2UuY2FzZVJlZmVyZW5jZX19XCJcbiAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lclwiPjxzcGFuIGNsYXNzPVwiZ292dWstbGlua1wiPnt7Y2FzZS5jYXNlTmFtZX19IDxicj5cbiAgICAgICAgICAgICAgICAgIHt7Y2FzZS5jYXNlUmVmZXJlbmNlIHwgY2NkQ2FzZVJlZmVyZW5jZX19PC9zcGFuPjwvYT48L3A+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQ+PHNwYW4gW3RpdGxlXT1cImNhc2UuY2FzZVR5cGVEZXNjcmlwdGlvblwiPnt7Y2FzZS5jYXNlVHlwZX19PC9zcGFuPjwvdGQ+XG4gICAgICAgICAgPHRkPjxzcGFuPnt7Y2FzZS5zZXJ2aWNlfX08L3NwYW4+PC90ZD5cbiAgICAgICAgICA8dGQ+PHNwYW4gW3RpdGxlXT1cImNhc2Uuc3RhdGVEZXNjcmlwdGlvblwiPnt7Y2FzZS5zdGF0ZX19PC9zcGFuPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgPHRkICpuZ0lmPVwiY2FzZSAmJiBjYXNlLnJlYXNvbnNcIj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0Zvcj1cImxldCByZWFzb24gb2YgY2FzZS5yZWFzb25zOyBsZXQgaSA9IGluZGV4OyBsZXQgaXNMYXN0ID0gbGFzdFwiPlxuICAgICAgICAgICAgICB7e3JlYXNvbi52YWx1ZSB8IGNjZExpbmtDYXNlc1JlYXNvblZhbHVlfX08c3Bhbj48YSBjbGFzcz1cImdvdnVrLSEtcGFkZGluZy1sZWZ0LTFcIlxuICAgICAgICAgICAgICAgICAgaHJlZj1cImNhc2VzL2Nhc2UtZGV0YWlscy97eyBjYXNlLmNhc2VSZWZlcmVuY2UgfX1cIlxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJoYXNMZWFkQ2FzZU9yQ29uc29saWRhdGVkKHJlYXNvbi52YWx1ZS5SZWFzb24pXCI+e3tnZXRDYXNlUmVmZXJlbmVMaW5rKGNhc2UuY2FzZVJlZmVyZW5jZSl9fTwvYT48L3NwYW4+XG4gICAgICAgICAgICAgIDxiciAqbmdJZj1cIiFpc0xhc3RcIiAvPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdJZj1cImxpbmtlZENhc2VzRnJvbVJlc3BvbnNlLmxlbmd0aCA9PT0gMCAmJiAoIWlzU2VydmVyRXJyb3IgJiYgIWlzU2VydmVyUmVhc29uQ29kZUVycm9yKVwiPlxuICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCIgY29sc3Bhbj1cIjVcIj5cbiAgICAgICAgICAgIE5vbmVcbiAgICAgICAgICA8L3RkPlxuICAgICAgICA8L3RyPlxuICAgICAgPC90Ym9keT5cbiAgICA8L3RhYmxlPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
309
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWNhc2VzLXRvLXRhYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2xpbmtlZC1jYXNlcy9jb21wb25lbnRzL2xpbmtlZC1jYXNlcy10YWJsZS9saW5rZWQtY2FzZXMtdG8tdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL2NvbXBvbmVudHMvbGlua2VkLWNhc2VzLXRhYmxlL2xpbmtlZC1jYXNlcy10by10YWJsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUU1QyxPQUFPLEVBQUUsU0FBUyxFQUFnQixNQUFNLGtDQUFrQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUU5RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0lDa0JVLDZCQUVXO0lBQUEsWUFBMkM7SUFBQSxpQkFBSTs7OztJQUR0RyxxR0FBa0Q7SUFDSyxlQUEyQztJQUEzQyx1RUFBMkM7OztJQUN0RyxxQkFBc0I7OztJQUp4Qiw0QkFBNEU7SUFDMUUsWUFBMEM7O0lBQUEsNEJBQU07SUFBQSxvR0FFMEQ7SUFBQSxpQkFBTztJ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SSxJQUFJLEVBQUU7WUFDN0MsZ0JBQWdCLEVBQUUscUJBQXFCLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxFQUFFO1lBQy9ELE9BQU8sUUFBRSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsS0FBSywwQ0FBRSxhQUFhO1NBQ2pCLENBQUM7SUFDM0IsQ0FBQzs7QUE1SnVCLHlEQUE2QixHQUFHLFNBQVMsQ0FBQztBQUMxQyxxREFBeUIsR0FBRyxTQUFTLENBQUM7c0dBSG5ELDJCQUEyQjtnRUFBM0IsMkJBQTJCO1FDekJ4Qyw4QkFBb0Q7UUFDbEQsOEJBQW9DO1FBQ2xDLGlGQW9DUTtRQUNWLGlCQUFNO1FBQ1IsaUJBQU07O1FBdENNLGVBQTZCO1FBQTdCLGtEQUE2Qjs7dUZEdUI1QiwyQkFBMkI7Y0FMdkMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLFdBQVcsRUFBRSx3Q0FBd0M7Z0JBQ3JELFNBQVMsRUFBRSxDQUFDLHdDQUF3QyxDQUFDO2FBQ3REOzZIQU9RLFNBQVM7a0JBRGYsS0FBSztZQUlDLGdCQUFnQjtrQkFEdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDYXNlVmlldyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlRmllbGQsIEp1cmlzZGljdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uJztcbmltcG9ydCB7IENhc2VzU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL2Nhc2UtZWRpdG9yL3NlcnZpY2VzL2Nhc2VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ2FzZUxpbmssIExpbmtSZWFzb24gfSBmcm9tICcuLi8uLi9kb21haW4vbGlua2VkLWNhc2VzLm1vZGVsJztcbmltcG9ydCB7IExpbmtlZENhc2VzU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcblxuaW50ZXJmYWNlIExpbmtlZENhc2VzUmVzcG9uc2Uge1xuICBjYXNlUmVmZXJlbmNlOiBzdHJpbmc7XG4gIGNhc2VOYW1lOiBzdHJpbmc7XG4gIGNhc2VUeXBlOiBzdHJpbmc7XG4gIGNhc2VUeXBlRGVzY3JpcHRpb246IHN0cmluZztcbiAgc2VydmljZTogc3RyaW5nO1xuICBzdGF0ZTogc3RyaW5nO1xuICBzdGF0ZURlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIHJlYXNvbnM6IHN0cmluZ1tdO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtbGlua2VkLWNhc2VzLXRvLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpbmtlZC1jYXNlcy10by10YWJsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpbmtlZC1jYXNlcy10by10YWJsZS5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIExpbmtlZENhc2VzVG9UYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgQ0FTRV9DT05TT0xJREFURURfUkVBU09OX0NPREUgPSAnQ0xSQzAxNSc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IENBU0VfUFJPR1JFU1NfUkVBU09OX0NPREUgPSAnQ0xSQzAxNic7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VGaWVsZDogQ2FzZUZpZWxkO1xuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgbm90aWZ5QVBJRmFpbHVyZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcihmYWxzZSk7XG4gIHB1YmxpYyBjYXNlRGV0YWlsczogQ2FzZVZpZXc7XG4gIHB1YmxpYyBpc0xvYWRlZDogYm9vbGVhbjtcbiAgcHVibGljIGxpbmtlZENhc2VzRnJvbVJlc3BvbnNlOiBMaW5rZWRDYXNlc1Jlc3BvbnNlW10gPSBbXTtcbiAgcHVibGljIGNhc2VJZDogc3RyaW5nO1xuICBwdWJsaWMgaXNTZXJ2ZXJFcnJvciA9IGZhbHNlO1xuICBwdWJsaWMgaXNTZXJ2ZXJSZWFzb25Db2RlRXJyb3IgPSBmYWxzZTtcbiAgcHVibGljIGp1cmlzZGljdGlvbnNSZXNwb25zZTogSnVyaXNkaWN0aW9uW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxpbmtlZENhc2VzU2VydmljZTogTGlua2VkQ2FzZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FzZXNTZXJ2aWNlOiBDYXNlc1NlcnZpY2UpIHsgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgbGV0IGxhYmVsRmllbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdnb3Z1ay1oZWFkaW5nLWwnKTtcbiAgICBpZiAobGFiZWxGaWVsZCAmJiBsYWJlbEZpZWxkLmxlbmd0aCkge1xuICAgICAgbGFiZWxGaWVsZFswXS5yZXBsYWNlV2l0aCgnJyk7XG4gICAgfVxuICAgIGxhYmVsRmllbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdoZWFkaW5nLWgyJyk7XG4gICAgaWYgKGxhYmVsRmllbGQgJiYgbGFiZWxGaWVsZC5sZW5ndGgpIHtcbiAgICAgIGxhYmVsRmllbGRbMF0ucmVwbGFjZVdpdGgoJycpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhc2VJZCA9IHRoaXMucm91dGUuc25hcHNob3QgJiYgdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhICYmIHRoaXMucm91dGUuc25hcHNob3QuZGF0YS5jYXNlLmNhc2VfaWQ7XG4gICAgdGhpcy5nZXRBbGxMaW5rZWRDYXNlSW5mb3JtYXRpb24oKTtcbiAgICBpZiAodGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmNhc2UpIHtcbiAgICAgIHRoaXMubGlua2VkQ2FzZXNTZXJ2aWNlLmNhc2VEZXRhaWxzID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLmNhc2U7XG4gICAgfVxuICAgIHRoaXMuaXNTZXJ2ZXJSZWFzb25Db2RlRXJyb3IgPSB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pc1NlcnZlclJlYXNvbkNvZGVFcnJvcjtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDYXNlUmVmZXJlbmVMaW5rKGNhc2VSZWY6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGNhc2VSZWYuc2xpY2UodGhpcy5jYXNlSWQubGVuZ3RoIC0gNCk7XG4gIH1cblxuICBwdWJsaWMgc29ydExpbmtlZENhc2VzQnlSZWFzb25Db2RlKHNlYXJjaENhc2VzUmVzcG9uc2UpOiBMaW5rZWRDYXNlc1Jlc3BvbnNlW10ge1xuICAgIGNvbnN0IHRvcExldmVscmVzdWx0QXJyYXkgPSBbXTtcbiAgICBsZXQgc2Vjb25kTGV2ZWxyZXN1bHRBcnJheSA9IFtdO1xuICAgIHNlYXJjaENhc2VzUmVzcG9uc2UuZm9yRWFjaCgoaXRlbTogYW55KSA9PiB7XG4gICAgICBjb25zdCByZWFzb25zID0gaXRlbSAmJiBpdGVtLnJlYXNvbnMgfHwgW107XG4gICAgICBjb25zdCBjb25zb2xpZGF0ZWRTdGF0ZVJlYXNvbiA9IHJlYXNvbnMubWFwKHggPT4geCkuZmluZChcbiAgICAgICAgcmVhc29uID0+IHJlYXNvbiA9PT0gTGlua2VkQ2FzZXNUb1RhYmxlQ29tcG9uZW50LkNBU0VfQ09OU09MSURBVEVEX1JFQVNPTl9DT0RFXG4gICAgICApO1xuICAgICAgY29uc3QgcHJvZ3Jlc3NlZFN0YXRlUmVhc29uID0gcmVhc29ucy5tYXAoeCA9PiB4KS5maW5kKFxuICAgICAgICByZWFzb24gPT4gcmVhc29uID09PSBMaW5rZWRDYXNlc1RvVGFibGVDb21wb25lbnQuQ0FTRV9QUk9HUkVTU19SRUFTT05fQ09ERVxuICAgICAgKTtcbiAgICAgIGNvbnN0IGFycmF5SXRlbSA9IHsgLi4uaXRlbSB9O1xuICAgICAgaWYgKHByb2dyZXNzZWRTdGF0ZVJlYXNvbikge1xuICAgICAgICB0b3BMZXZlbHJlc3VsdEFycmF5LnB1c2goYXJyYXlJdGVtKTtcbiAgICAgIH0gZWxzZSBpZiAoY29uc29saWRhdGVkU3RhdGVSZWFzb24pIHtcbiAgICAgICAgc2Vjb25kTGV2ZWxyZXN1bHRBcnJheSA9IFt7IC4uLml0ZW0gfSwgLi4uc2Vjb25kTGV2ZWxyZXN1bHRBcnJheV07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzZWNvbmRMZXZlbHJlc3VsdEFycmF5LnB1c2goeyAuLi5pdGVtIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiB0b3BMZXZlbHJlc3VsdEFycmF5LmNvbmNhdChzZWNvbmRMZXZlbHJlc3VsdEFycmF5KTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRBbGxMaW5rZWRDYXNlSW5mb3JtYXRpb24oKTogdm9pZCB7XG4gICAgY29uc3Qgc2VhcmNoQ2FzZXNSZXNwb25zZSA9IFtdO1xuICAgIGNvbnN0IGNhc2VGaWVsZFZhbHVlID0gdGhpcy5jYXNlRmllbGQgJiYgdGhpcy5jYXNlRmllbGQuaWQgPT09ICdjYXNlTGlua3MnID8gdGhpcy5jYXNlRmllbGQudmFsdWUgOiBbXTtcbiAgICAvLyBHZW5lcmF0ZSB0aGUgbGlzdCBvZiBvYnNlcnZhYmxlc1xuICAgIGNhc2VGaWVsZFZhbHVlLmZvckVhY2goZmllbGRWYWx1ZSA9PiB7XG4gICAgICBpZiAoZmllbGRWYWx1ZSAmJiBmaWVsZFZhbHVlLmlkKSB7XG4gICAgICAgIHNlYXJjaENhc2VzUmVzcG9uc2UucHVzaCh0aGlzLmNhc2VzU2VydmljZS5nZXRDYXNlVmlld1YyKGZpZWxkVmFsdWUuaWQpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBpZiAoc2VhcmNoQ2FzZXNSZXNwb25zZS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2VhcmNoQ2FzZXNCeUNhc2VJZHMoc2VhcmNoQ2FzZXNSZXNwb25zZSkuc3Vic2NyaWJlKChzZWFyY2hDYXNlczogYW55KSA9PiB7XG4gICAgICAgIGxldCBjYXNlc1Jlc3BvbnNlID0gW107XG4gICAgICAgIHNlYXJjaENhc2VzLmZvckVhY2gocmVzcG9uc2UgPT4ge1xuICAgICAgICAgIGNhc2VzUmVzcG9uc2UucHVzaCh0aGlzLm1hcFJlc3BvbnNlKHJlc3BvbnNlKSk7XG4gICAgICAgIH0pO1xuICAgICAgICBjYXNlc1Jlc3BvbnNlID0gdGhpcy5zb3J0UmVhc29uQ29kZXMoY2FzZXNSZXNwb25zZSk7XG4gICAgICAgIHRoaXMubGlua2VkQ2FzZXNGcm9tUmVzcG9uc2UgPSB0aGlzLnNvcnRMaW5rZWRDYXNlc0J5UmVhc29uQ29kZShjYXNlc1Jlc3BvbnNlKTtcbiAgICAgICAgdGhpcy5pc0xvYWRlZCA9IHRydWU7XG4gICAgICAgIGNvbnN0IGNhc2VMaW5rcyA9IHRoaXMubGlua2VkQ2FzZXNGcm9tUmVzcG9uc2UubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjYXNlUmVmZXJlbmNlOiBpdGVtLmNhc2VSZWZlcmVuY2UsXG4gICAgICAgICAgICBjYXNlTmFtZTogaXRlbS5jYXNlTmFtZSxcbiAgICAgICAgICAgIGNhc2VTZXJ2aWNlOiBpdGVtLnNlcnZpY2UsXG4gICAgICAgICAgICBjYXNlVHlwZTogaXRlbS5jYXNlVHlwZSxcbiAgICAgICAgICAgIHVubGluazogZmFsc2UsXG4gICAgICAgICAgICByZWFzb25zOiBpdGVtLnJlYXNvbnMgJiYgaXRlbS5yZWFzb25zLm1hcChyZWFzb24gPT4ge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIFJlYXNvbjogcmVhc29uXG4gICAgICAgICAgICAgIH0gYXMgTGlua1JlYXNvbjtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIH0gYXMgQ2FzZUxpbms7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5pbml0aWFsQ2FzZUxpbmtzID0gY2FzZUxpbmtzO1xuICAgICAgICB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5saW5rZWRDYXNlcyA9IGNhc2VMaW5rcztcbiAgICAgICAgdGhpcy5pc1NlcnZlckVycm9yID0gZmFsc2U7XG4gICAgICB9LFxuICAgICAgZXJyID0+IHtcbiAgICAgICAgICB0aGlzLmlzU2VydmVyRXJyb3IgPSB0cnVlO1xuICAgICAgICAgIHRoaXMubm90aWZ5QVBJRmFpbHVyZS5lbWl0KHRydWUpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzb3J0UmVhc29uQ29kZXMoc2VhcmNoQ2FzZXNSZXNwb25zZSk6IExpbmtlZENhc2VzUmVzcG9uc2VbXSB7XG4gICAgc2VhcmNoQ2FzZXNSZXNwb25zZS5mb3JFYWNoKChpdGVtOiBhbnkpID0+IHtcbiAgICAgIGlmIChpdGVtPy5yZWFzb25zPy5sZW5ndGgpIHtcbiAgICAgICAgaXRlbS5yZWFzb25zLmZvckVhY2goKHJlYXNvbikgPT4ge1xuICAgICAgICAgIHJlYXNvbi5zb3J0T3JkZXIgPSB0aGlzLmdldFJlYXNvblNvcnRPcmRlcihyZWFzb24udmFsdWUuUmVhc29uKVxuICAgICAgICB9KTtcbiAgICAgICAgaXRlbS5yZWFzb25zID0gaXRlbS5yZWFzb25zLnNvcnQoKGEsIGIpID0+IGEuc29ydE9yZGVyIC0gYi5zb3J0T3JkZXIpO1xuICAgICAgICBpdGVtLnNvcnRPcmRlciA9IGl0ZW0ucmVhc29uc1swXS5zb3J0T3JkZXI7XG4gICAgICB9XG4gICAgfSk7XG4gICAgc2VhcmNoQ2FzZXNSZXNwb25zZSA9IHNlYXJjaENhc2VzUmVzcG9uc2U/LnNvcnQoKGEsIGIpID0+IGEuc29ydE9yZGVyIC0gYi5zb3J0T3JkZXIpXG4gICAgcmV0dXJuIHNlYXJjaENhc2VzUmVzcG9uc2U7XG4gIH1cblxuICBwdWJsaWMgZ2V0UmVhc29uU29ydE9yZGVyKHJlYXNvbkNvZGU6IHN0cmluZyk6IG51bWJlciB7XG4gICAgaWYgKHJlYXNvbkNvZGUgPT09IExpbmtlZENhc2VzVG9UYWJsZUNvbXBvbmVudC5DQVNFX1BST0dSRVNTX1JFQVNPTl9DT0RFKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9IGVsc2UgaWYgKHJlYXNvbkNvZGUgPT09IExpbmtlZENhc2VzVG9UYWJsZUNvbXBvbmVudC5DQVNFX0NPTlNPTElEQVRFRF9SRUFTT05fQ09ERSkge1xuICAgICAgcmV0dXJuIDI7XG4gICAgfVxuICAgIHJldHVybiAzO1xuICB9XG5cbiAgcHVibGljIHNlYXJjaENhc2VzQnlDYXNlSWRzKHNlYXJjaENhc2VzUmVzcG9uc2U6IGFueVtdKTogT2JzZXJ2YWJsZTx1bmtub3duW10+IHtcbiAgICByZXR1cm4gZm9ya0pvaW4oc2VhcmNoQ2FzZXNSZXNwb25zZSk7XG4gIH1cblxuICBwdWJsaWMgaGFzTGVhZENhc2VPckNvbnNvbGlkYXRlZChyZWFzb25Db2RlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gcmVhc29uQ29kZSA9PT0gTGlua2VkQ2FzZXNUb1RhYmxlQ29tcG9uZW50LkNBU0VfUFJPR1JFU1NfUkVBU09OX0NPREUgfHxcbiAgICAgIHJlYXNvbkNvZGUgPT09IExpbmtlZENhc2VzVG9UYWJsZUNvbXBvbmVudC5DQVNFX0NPTlNPTElEQVRFRF9SRUFTT05fQ09ERTtcbiAgfVxuXG4gIHB1YmxpYyBtYXBSZXNwb25zZShlc1NlYXJjaENhc2VzUmVzcG9uc2UpOiBMaW5rZWRDYXNlc1Jlc3BvbnNlIHtcbiAgICBjb25zdCBjYXNlSW5mbyA9IHRoaXMuY2FzZUZpZWxkLnZhbHVlLmZpbmQoaXRlbSA9PiBpdGVtLnZhbHVlICYmIGl0ZW0udmFsdWUuQ2FzZVJlZmVyZW5jZSA9PT0gZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLmNhc2VfaWQpO1xuICAgIHJldHVybiBjYXNlSW5mbyAmJiB7XG4gICAgICBjYXNlUmVmZXJlbmNlOiBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV9pZCxcbiAgICAgIGNhc2VOYW1lOiB0aGlzLmxpbmtlZENhc2VzU2VydmljZS5nZXRDYXNlTmFtZShlc1NlYXJjaENhc2VzUmVzcG9uc2UpLFxuICAgICAgY2FzZVR5cGU6IGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5jYXNlX3R5cGUubmFtZSB8fCAnJyxcbiAgICAgIGNhc2VUeXBlRGVzY3JpcHRpb246IGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5jYXNlX3R5cGUuZGVzY3JpcHRpb24gfHwgJycsXG4gICAgICBzZXJ2aWNlOiBlc1NlYXJjaENhc2VzUmVzcG9uc2UuY2FzZV90eXBlICYmIGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5jYXNlX3R5cGUuanVyaXNkaWN0aW9uLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgc3RhdGU6IGVzU2VhcmNoQ2FzZXNSZXNwb25zZS5zdGF0ZS5uYW1lIHx8ICcnLFxuICAgICAgc3RhdGVEZXNjcmlwdGlvbjogZXNTZWFyY2hDYXNlc1Jlc3BvbnNlLnN0YXRlLmRlc2NyaXB0aW9uIHx8ICcnLFxuICAgICAgcmVhc29uczogY2FzZUluZm8/LnZhbHVlPy5SZWFzb25Gb3JMaW5rXG4gICAgfSBhcyBMaW5rZWRDYXNlc1Jlc3BvbnNlO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ292dWstZ3JpZC1yb3cgZ292dWstIS1tYXJnaW4tYm90dG9tLTJcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWdyaWQtY29sdW1uLWZ1bGxcIj5cbiAgICA8dGFibGUgKm5nSWY9XCJsaW5rZWRDYXNlc0Zyb21SZXNwb25zZVwiIGFyaWEtZGVzY3JpYmVkYnk9XCJ0YWJsZSB0byBkaXNwbGF5IGNhc2VzIGxpbmtlZCBUT1wiPlxuICAgICAgPHRoZWFkPlxuICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNhc2UtdGFibGUtY29sdW1uXCIgd2lkdGg9XCIyMCVcIj5DYXNlIG5hbWUgYW5kIG51bWJlcjwvdGg+XG4gICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyIGNhc2UtdGFibGUtY29sdW1uXCIgd2lkdGg9XCIyMCVcIj5DYXNlIHR5cGUgPC90aD5cbiAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXIgY2FzZS10YWJsZS1jb2x1bW5cIiB3aWR0aD1cIjIwJVwiPlNlcnZpY2U8L3RoPlxuICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjYXNlLXRhYmxlLWNvbHVtblwiIHdpZHRoPVwiMjAlXCI+U3RhdGU8L3RoPlxuICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlciBjYXNlLXRhYmxlLWNvbHVtblwiIHdpZHRoPVwiMjAlXCI+UmVhc29ucyBmb3IgY2FzZSBsaW5rPC90aD5cbiAgICAgICAgPC90cj5cbiAgICAgIDwvdGhlYWQ+XG4gICAgICA8dGJvZHkgY2xhc3M9XCJnb3Z1ay10YWJsZV9fYm9keVwiPlxuICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCIgKm5nRm9yPVwibGV0IGNhc2Ugb2YgbGlua2VkQ2FzZXNGcm9tUmVzcG9uc2VcIj5cbiAgICAgICAgICA8dGQ+XG4gICAgICAgICAgICA8cCBjbGFzcz1cImdvdnVrLWJvZHlcIj48YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiY2FzZXMvY2FzZS1kZXRhaWxzL3t7Y2FzZS5jYXNlUmVmZXJlbmNlfX1cIlxuICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyXCI+PHNwYW4gY2xhc3M9XCJnb3Z1ay1saW5rXCI+e3tjYXNlLmNhc2VOYW1lfX0gPGJyPlxuICAgICAgICAgICAgICAgICAge3tjYXNlLmNhc2VSZWZlcmVuY2UgfCBjY2RDYXNlUmVmZXJlbmNlfX08L3NwYW4+PC9hPjwvcD5cbiAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDx0ZD48c3BhbiBbdGl0bGVdPVwiY2FzZS5jYXNlVHlwZURlc2NyaXB0aW9uXCI+e3tjYXNlLmNhc2VUeXBlfX08L3NwYW4+PC90ZD5cbiAgICAgICAgICA8dGQ+PHNwYW4+e3tjYXNlLnNlcnZpY2V9fTwvc3Bhbj48L3RkPlxuICAgICAgICAgIDx0ZD48c3BhbiBbdGl0bGVdPVwiY2FzZS5zdGF0ZURlc2NyaXB0aW9uXCI+e3tjYXNlLnN0YXRlfX08L3NwYW4+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8dGQgKm5nSWY9XCJjYXNlICYmIGNhc2UucmVhc29uc1wiPlxuICAgICAgICAgICAgPHNwYW4gKm5nRm9yPVwibGV0IHJlYXNvbiBvZiBjYXNlLnJlYXNvbnM7IGxldCBpID0gaW5kZXg7IGxldCBpc0xhc3QgPSBsYXN0XCI+XG4gICAgICAgICAgICAgIHt7cmVhc29uLnZhbHVlIHwgY2NkTGlua0Nhc2VzUmVhc29uVmFsdWV9fTxzcGFuPjxhIGNsYXNzPVwiZ292dWstIS1wYWRkaW5nLWxlZnQtMVwiXG4gICAgICAgICAgICAgICAgICBocmVmPVwiY2FzZXMvY2FzZS1kZXRhaWxzL3t7IGNhc2UuY2FzZVJlZmVyZW5jZSB9fVwiXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cImhhc0xlYWRDYXNlT3JDb25zb2xpZGF0ZWQocmVhc29uLnZhbHVlLlJlYXNvbilcIj57e2dldENhc2VSZWZlcmVuZUxpbmsoY2FzZS5jYXNlUmVmZXJlbmNlKX19PC9hPjwvc3Bhbj5cbiAgICAgICAgICAgICAgPGJyICpuZ0lmPVwiIWlzTGFzdFwiIC8+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC90cj5cbiAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiICpuZ0lmPVwibGlua2VkQ2FzZXNGcm9tUmVzcG9uc2UubGVuZ3RoID09PSAwICYmICghaXNTZXJ2ZXJFcnJvciAmJiAhaXNTZXJ2ZXJSZWFzb25Db2RlRXJyb3IpXCI+XG4gICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIiBjb2xzcGFuPVwiNVwiPlxuICAgICAgICAgICAgTm9uZVxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvdHI+XG4gICAgICA8L3Rib2R5PlxuICAgIDwvdGFibGU+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWNhc2VzLXN0YXRlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL2RvbWFpbi9saW5rZWQtY2FzZXMtc3RhdGUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlua2VkQ2FzZXNTdGF0ZSB7XG4gIGN1cnJlbnRMaW5rZWRDYXNlc1BhZ2U6IG51bWJlcjtcbiAgZXJyb3JNZXNzYWdlcz86IEVycm9yTWVzc2FnZVtdO1xuICBuYXZpZ2F0ZVRvTmV4dFBhZ2U6IGJvb2xlYW47XG4gIG5hdmlnYXRlVG9QcmV2aW91c1BhZ2U/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpbmtlZENhc2VzRXJyb3Ige1xuICBjb21wb25lbnRJZDogc3RyaW5nO1xuICBlcnJvck1lc3NhZ2U6IHN0cmluZztcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLWNhc2VzLXN0YXRlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbGlua2VkLWNhc2VzL2RvbWFpbi9saW5rZWQtY2FzZXMtc3RhdGUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlua2VkQ2FzZXNTdGF0ZSB7XG4gIGN1cnJlbnRMaW5rZWRDYXNlc1BhZ2U6IG51bWJlcjtcbiAgZXJyb3JNZXNzYWdlcz86IEVycm9yTWVzc2FnZVtdO1xuICBuYXZpZ2F0ZVRvTmV4dFBhZ2U6IGJvb2xlYW47XG4gIG5hdmlnYXRlVG9QcmV2aW91c1BhZ2U/OiBib29sZWFuO1xufVxuIl19