info-library 2.14.20 → 2.14.21

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.
@@ -30,9 +30,9 @@ function InfoInputComponent_mat_form_field_0_mat_icon_4_Template(rf, ctx) { if (
30
30
  i0.ɵɵtextInterpolate(ctx_r5.iconSuffix);
31
31
  } }
32
32
  function InfoInputComponent_mat_form_field_0_mat_icon_5_Template(rf, ctx) { if (rf & 1) {
33
- const _r8 = i0.ɵɵgetCurrentView();
33
+ const _r9 = i0.ɵɵgetCurrentView();
34
34
  i0.ɵɵelementStart(0, "mat-icon", 8);
35
- i0.ɵɵlistener("click", function InfoInputComponent_mat_form_field_0_mat_icon_5_Template_mat_icon_click_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r7.type = ctx_r7.type == "password" ? "text" : "password"); });
35
+ i0.ɵɵlistener("click", function InfoInputComponent_mat_form_field_0_mat_icon_5_Template_mat_icon_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r8.type = ctx_r8.type == "password" ? "text" : "password"); });
36
36
  i0.ɵɵtext(1);
37
37
  i0.ɵɵelementEnd();
38
38
  } if (rf & 2) {
@@ -40,19 +40,28 @@ function InfoInputComponent_mat_form_field_0_mat_icon_5_Template(rf, ctx) { if (
40
40
  i0.ɵɵadvance(1);
41
41
  i0.ɵɵtextInterpolate1("visibility", ctx_r6.type == "password" ? "" : "_off", "");
42
42
  } }
43
+ function InfoInputComponent_mat_form_field_0_mat_error_6_Template(rf, ctx) { if (rf & 1) {
44
+ i0.ɵɵelementStart(0, "mat-error");
45
+ i0.ɵɵtext(1);
46
+ i0.ɵɵpipe(2, "translate");
47
+ i0.ɵɵelementEnd();
48
+ } if (rf & 2) {
49
+ const ctx_r7 = i0.ɵɵnextContext(2);
50
+ i0.ɵɵadvance(1);
51
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r7.errorMessage));
52
+ } }
43
53
  function InfoInputComponent_mat_form_field_0_Template(rf, ctx) { if (rf & 1) {
44
- const _r10 = i0.ɵɵgetCurrentView();
54
+ const _r11 = i0.ɵɵgetCurrentView();
45
55
  i0.ɵɵelementStart(0, "mat-form-field");
46
56
  i0.ɵɵtemplate(1, InfoInputComponent_mat_form_field_0_mat_icon_1_Template, 2, 1, "mat-icon", 2);
47
57
  i0.ɵɵelementStart(2, "input", 3);
48
- i0.ɵɵlistener("ngModelChange", function InfoInputComponent_mat_form_field_0_Template_input_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r9 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r9.value = $event); })("input", function InfoInputComponent_mat_form_field_0_Template_input_input_2_listener() { i0.ɵɵrestoreView(_r10); const ctx_r11 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r11.onChangeValue()); })("blur", function InfoInputComponent_mat_form_field_0_Template_input_blur_2_listener() { i0.ɵɵrestoreView(_r10); const ctx_r12 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r12.onBlur()); });
58
+ i0.ɵɵlistener("ngModelChange", function InfoInputComponent_mat_form_field_0_Template_input_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.value = $event); })("input", function InfoInputComponent_mat_form_field_0_Template_input_input_2_listener() { i0.ɵɵrestoreView(_r11); const ctx_r12 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r12.onChangeValue()); })("blur", function InfoInputComponent_mat_form_field_0_Template_input_blur_2_listener() { i0.ɵɵrestoreView(_r11); const ctx_r13 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r13.onBlur()); });
49
59
  i0.ɵɵpipe(3, "translate");
50
60
  i0.ɵɵelementEnd();
51
61
  i0.ɵɵtemplate(4, InfoInputComponent_mat_form_field_0_mat_icon_4_Template, 2, 1, "mat-icon", 4);
52
62
  i0.ɵɵtemplate(5, InfoInputComponent_mat_form_field_0_mat_icon_5_Template, 2, 1, "mat-icon", 5);
53
- i0.ɵɵelementStart(6, "mat-error");
54
- i0.ɵɵtext(7);
55
- i0.ɵɵelementEnd()();
63
+ i0.ɵɵtemplate(6, InfoInputComponent_mat_form_field_0_mat_error_6_Template, 3, 3, "mat-error", 0);
64
+ i0.ɵɵelementEnd();
56
65
  } if (rf & 2) {
57
66
  const ctx_r0 = i0.ɵɵnextContext();
58
67
  i0.ɵɵadvance(1);
@@ -63,46 +72,56 @@ function InfoInputComponent_mat_form_field_0_Template(rf, ctx) { if (rf & 1) {
63
72
  i0.ɵɵproperty("ngIf", ctx_r0.iconSuffix);
64
73
  i0.ɵɵadvance(1);
65
74
  i0.ɵɵproperty("ngIf", ctx_r0.passwordMode);
66
- i0.ɵɵadvance(2);
67
- i0.ɵɵtextInterpolate(ctx_r0.errorMessage);
75
+ i0.ɵɵadvance(1);
76
+ i0.ɵɵproperty("ngIf", ctx_r0.errorMessage);
68
77
  } }
69
78
  function InfoInputComponent_mat_form_field_1_mat_icon_1_Template(rf, ctx) { if (rf & 1) {
70
79
  i0.ɵɵelementStart(0, "mat-icon", 6);
71
80
  i0.ɵɵtext(1);
72
81
  i0.ɵɵelementEnd();
73
82
  } if (rf & 2) {
74
- const ctx_r13 = i0.ɵɵnextContext(2);
83
+ const ctx_r14 = i0.ɵɵnextContext(2);
75
84
  i0.ɵɵadvance(1);
76
- i0.ɵɵtextInterpolate(ctx_r13.iconPrefix);
85
+ i0.ɵɵtextInterpolate(ctx_r14.iconPrefix);
77
86
  } }
78
87
  function InfoInputComponent_mat_form_field_1_input_2_Template(rf, ctx) { if (rf & 1) {
79
- const _r18 = i0.ɵɵgetCurrentView();
88
+ const _r20 = i0.ɵɵgetCurrentView();
80
89
  i0.ɵɵelementStart(0, "input", 11);
81
- i0.ɵɵlistener("ngModelChange", function InfoInputComponent_mat_form_field_1_input_2_Template_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r18); const ctx_r17 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r17.value = $event); })("ngModelChange", function InfoInputComponent_mat_form_field_1_input_2_Template_input_ngModelChange_0_listener() { i0.ɵɵrestoreView(_r18); const ctx_r19 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r19.onChangeValue()); })("blur", function InfoInputComponent_mat_form_field_1_input_2_Template_input_blur_0_listener() { i0.ɵɵrestoreView(_r18); const ctx_r20 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r20.onBlur()); });
90
+ i0.ɵɵlistener("ngModelChange", function InfoInputComponent_mat_form_field_1_input_2_Template_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r20); const ctx_r19 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r19.value = $event); })("ngModelChange", function InfoInputComponent_mat_form_field_1_input_2_Template_input_ngModelChange_0_listener() { i0.ɵɵrestoreView(_r20); const ctx_r21 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r21.onChangeValue()); })("blur", function InfoInputComponent_mat_form_field_1_input_2_Template_input_blur_0_listener() { i0.ɵɵrestoreView(_r20); const ctx_r22 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r22.onBlur()); });
82
91
  i0.ɵɵpipe(1, "translate");
83
92
  i0.ɵɵelementEnd();
84
93
  } if (rf & 2) {
85
- const ctx_r14 = i0.ɵɵnextContext(2);
86
- i0.ɵɵproperty("tabindex", ctx_r14.tabindex)("placeholder", i0.ɵɵpipeBind1(1, 7, ctx_r14.placeholder))("ngModel", ctx_r14.value)("readonly", ctx_r14.readonly)("disabled", ctx_r14.disabled)("required", ctx_r14.required)("options", ctx_r14.maskOptions);
94
+ const ctx_r15 = i0.ɵɵnextContext(2);
95
+ i0.ɵɵproperty("tabindex", ctx_r15.tabindex)("placeholder", i0.ɵɵpipeBind1(1, 7, ctx_r15.placeholder))("ngModel", ctx_r15.value)("readonly", ctx_r15.readonly)("disabled", ctx_r15.disabled)("required", ctx_r15.required)("options", ctx_r15.maskOptions);
87
96
  } }
88
97
  function InfoInputComponent_mat_form_field_1_input_3_Template(rf, ctx) { if (rf & 1) {
89
- const _r22 = i0.ɵɵgetCurrentView();
98
+ const _r24 = i0.ɵɵgetCurrentView();
90
99
  i0.ɵɵelementStart(0, "input", 12);
91
- i0.ɵɵlistener("ngModelChange", function InfoInputComponent_mat_form_field_1_input_3_Template_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r22); const ctx_r21 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r21.value = $event); })("ngModelChange", function InfoInputComponent_mat_form_field_1_input_3_Template_input_ngModelChange_0_listener() { i0.ɵɵrestoreView(_r22); const ctx_r23 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r23.onChangeValue()); })("blur", function InfoInputComponent_mat_form_field_1_input_3_Template_input_blur_0_listener() { i0.ɵɵrestoreView(_r22); const ctx_r24 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r24.onBlur()); });
100
+ i0.ɵɵlistener("ngModelChange", function InfoInputComponent_mat_form_field_1_input_3_Template_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r23 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r23.value = $event); })("ngModelChange", function InfoInputComponent_mat_form_field_1_input_3_Template_input_ngModelChange_0_listener() { i0.ɵɵrestoreView(_r24); const ctx_r25 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r25.onChangeValue()); })("blur", function InfoInputComponent_mat_form_field_1_input_3_Template_input_blur_0_listener() { i0.ɵɵrestoreView(_r24); const ctx_r26 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r26.onBlur()); });
92
101
  i0.ɵɵpipe(1, "translate");
93
102
  i0.ɵɵelementEnd();
94
103
  } if (rf & 2) {
95
- const ctx_r15 = i0.ɵɵnextContext(2);
96
- i0.ɵɵproperty("formControl", ctx_r15.formControl)("tabindex", ctx_r15.tabindex)("placeholder", i0.ɵɵpipeBind1(1, 9, ctx_r15.placeholder))("ngModel", ctx_r15.value)("readonly", ctx_r15.readonly)("disabled", ctx_r15.disabled)("required", ctx_r15.required)("setmask", ctx_r15.customMask)("unmask", ctx_r15.customMask);
104
+ const ctx_r16 = i0.ɵɵnextContext(2);
105
+ i0.ɵɵproperty("formControl", ctx_r16.formControl)("tabindex", ctx_r16.tabindex)("placeholder", i0.ɵɵpipeBind1(1, 9, ctx_r16.placeholder))("ngModel", ctx_r16.value)("readonly", ctx_r16.readonly)("disabled", ctx_r16.disabled)("required", ctx_r16.required)("setmask", ctx_r16.customMask)("unmask", ctx_r16.customMask);
97
106
  } }
98
107
  function InfoInputComponent_mat_form_field_1_mat_icon_4_Template(rf, ctx) { if (rf & 1) {
99
108
  i0.ɵɵelementStart(0, "mat-icon", 7);
100
109
  i0.ɵɵtext(1);
101
110
  i0.ɵɵelementEnd();
102
111
  } if (rf & 2) {
103
- const ctx_r16 = i0.ɵɵnextContext(2);
112
+ const ctx_r17 = i0.ɵɵnextContext(2);
104
113
  i0.ɵɵadvance(1);
105
- i0.ɵɵtextInterpolate(ctx_r16.iconSuffix);
114
+ i0.ɵɵtextInterpolate(ctx_r17.iconSuffix);
115
+ } }
116
+ function InfoInputComponent_mat_form_field_1_mat_error_5_Template(rf, ctx) { if (rf & 1) {
117
+ i0.ɵɵelementStart(0, "mat-error");
118
+ i0.ɵɵtext(1);
119
+ i0.ɵɵpipe(2, "translate");
120
+ i0.ɵɵelementEnd();
121
+ } if (rf & 2) {
122
+ const ctx_r18 = i0.ɵɵnextContext(2);
123
+ i0.ɵɵadvance(1);
124
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r18.errorMessage));
106
125
  } }
107
126
  function InfoInputComponent_mat_form_field_1_Template(rf, ctx) { if (rf & 1) {
108
127
  i0.ɵɵelementStart(0, "mat-form-field");
@@ -110,9 +129,8 @@ function InfoInputComponent_mat_form_field_1_Template(rf, ctx) { if (rf & 1) {
110
129
  i0.ɵɵtemplate(2, InfoInputComponent_mat_form_field_1_input_2_Template, 2, 9, "input", 9);
111
130
  i0.ɵɵtemplate(3, InfoInputComponent_mat_form_field_1_input_3_Template, 2, 11, "input", 10);
112
131
  i0.ɵɵtemplate(4, InfoInputComponent_mat_form_field_1_mat_icon_4_Template, 2, 1, "mat-icon", 4);
113
- i0.ɵɵelementStart(5, "mat-error");
114
- i0.ɵɵtext(6);
115
- i0.ɵɵelementEnd()();
132
+ i0.ɵɵtemplate(5, InfoInputComponent_mat_form_field_1_mat_error_5_Template, 3, 3, "mat-error", 0);
133
+ i0.ɵɵelementEnd();
116
134
  } if (rf & 2) {
117
135
  const ctx_r1 = i0.ɵɵnextContext();
118
136
  i0.ɵɵadvance(1);
@@ -123,52 +141,66 @@ function InfoInputComponent_mat_form_field_1_Template(rf, ctx) { if (rf & 1) {
123
141
  i0.ɵɵproperty("ngIf", ctx_r1.customMask != null);
124
142
  i0.ɵɵadvance(1);
125
143
  i0.ɵɵproperty("ngIf", ctx_r1.iconSuffix);
126
- i0.ɵɵadvance(2);
127
- i0.ɵɵtextInterpolate(ctx_r1.errorMessage);
144
+ i0.ɵɵadvance(1);
145
+ i0.ɵɵproperty("ngIf", ctx_r1.errorMessage);
128
146
  } }
129
147
  function InfoInputComponent_mat_form_field_2_mat_icon_1_Template(rf, ctx) { if (rf & 1) {
130
148
  i0.ɵɵelementStart(0, "mat-icon", 6);
131
149
  i0.ɵɵtext(1);
132
150
  i0.ɵɵelementEnd();
133
151
  } if (rf & 2) {
134
- const ctx_r25 = i0.ɵɵnextContext(2);
152
+ const ctx_r27 = i0.ɵɵnextContext(2);
153
+ i0.ɵɵadvance(1);
154
+ i0.ɵɵtextInterpolate(ctx_r27.iconPrefix);
155
+ } }
156
+ function InfoInputComponent_mat_form_field_2_mat_error_4_Template(rf, ctx) { if (rf & 1) {
157
+ i0.ɵɵelementStart(0, "mat-error");
158
+ i0.ɵɵtext(1);
159
+ i0.ɵɵpipe(2, "translate");
160
+ i0.ɵɵelementEnd();
161
+ } if (rf & 2) {
162
+ const ctx_r28 = i0.ɵɵnextContext(2);
135
163
  i0.ɵɵadvance(1);
136
- i0.ɵɵtextInterpolate(ctx_r25.iconPrefix);
164
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, ctx_r28.errorMessage));
137
165
  } }
138
166
  function InfoInputComponent_mat_form_field_2_Template(rf, ctx) { if (rf & 1) {
139
- const _r27 = i0.ɵɵgetCurrentView();
167
+ const _r30 = i0.ɵɵgetCurrentView();
140
168
  i0.ɵɵelementStart(0, "mat-form-field");
141
169
  i0.ɵɵtemplate(1, InfoInputComponent_mat_form_field_2_mat_icon_1_Template, 2, 1, "mat-icon", 2);
142
170
  i0.ɵɵelementStart(2, "textarea", 13);
143
- i0.ɵɵlistener("ngModelChange", function InfoInputComponent_mat_form_field_2_Template_textarea_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r27); const ctx_r26 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r26.value = $event); })("input", function InfoInputComponent_mat_form_field_2_Template_textarea_input_2_listener() { i0.ɵɵrestoreView(_r27); const ctx_r28 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r28.onChangeValue()); })("blur", function InfoInputComponent_mat_form_field_2_Template_textarea_blur_2_listener() { i0.ɵɵrestoreView(_r27); const ctx_r29 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r29.onBlur()); });
171
+ i0.ɵɵlistener("ngModelChange", function InfoInputComponent_mat_form_field_2_Template_textarea_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r30); const ctx_r29 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r29.value = $event); })("input", function InfoInputComponent_mat_form_field_2_Template_textarea_input_2_listener() { i0.ɵɵrestoreView(_r30); const ctx_r31 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r31.onChangeValue()); })("blur", function InfoInputComponent_mat_form_field_2_Template_textarea_blur_2_listener() { i0.ɵɵrestoreView(_r30); const ctx_r32 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r32.onBlur()); });
144
172
  i0.ɵɵpipe(3, "translate");
145
- i0.ɵɵelementEnd()();
173
+ i0.ɵɵelementEnd();
174
+ i0.ɵɵtemplate(4, InfoInputComponent_mat_form_field_2_mat_error_4_Template, 3, 3, "mat-error", 0);
175
+ i0.ɵɵelementEnd();
146
176
  } if (rf & 2) {
147
177
  const ctx_r2 = i0.ɵɵnextContext();
148
178
  i0.ɵɵadvance(1);
149
179
  i0.ɵɵproperty("ngIf", ctx_r2.iconPrefix);
150
180
  i0.ɵɵadvance(1);
151
- i0.ɵɵproperty("tabindex", ctx_r2.tabindex)("placeholder", i0.ɵɵpipeBind1(3, 9, ctx_r2.placeholder))("ngModel", ctx_r2.value)("rows", ctx_r2.rows)("maxlength", ctx_r2.maxlength)("readonly", ctx_r2.readonly)("disabled", ctx_r2.disabled)("required", ctx_r2.required);
181
+ i0.ɵɵproperty("tabindex", ctx_r2.tabindex)("placeholder", i0.ɵɵpipeBind1(3, 10, ctx_r2.placeholder))("ngModel", ctx_r2.value)("rows", ctx_r2.rows)("maxlength", ctx_r2.maxlength)("readonly", ctx_r2.readonly)("disabled", ctx_r2.disabled)("required", ctx_r2.required);
182
+ i0.ɵɵadvance(2);
183
+ i0.ɵɵproperty("ngIf", ctx_r2.errorMessage);
152
184
  } }
153
185
  function InfoInputComponent_mat_form_field_3_mat_icon_7_Template(rf, ctx) { if (rf & 1) {
154
186
  i0.ɵɵelementStart(0, "mat-icon", 7);
155
187
  i0.ɵɵtext(1);
156
188
  i0.ɵɵelementEnd();
157
189
  } if (rf & 2) {
158
- const ctx_r31 = i0.ɵɵnextContext(2);
190
+ const ctx_r34 = i0.ɵɵnextContext(2);
159
191
  i0.ɵɵadvance(1);
160
- i0.ɵɵtextInterpolate(ctx_r31.iconSuffix);
192
+ i0.ɵɵtextInterpolate(ctx_r34.iconSuffix);
161
193
  } }
162
194
  function InfoInputComponent_mat_form_field_3_Template(rf, ctx) { if (rf & 1) {
163
- const _r33 = i0.ɵɵgetCurrentView();
195
+ const _r36 = i0.ɵɵgetCurrentView();
164
196
  i0.ɵɵelementStart(0, "mat-form-field", 14)(1, "div", 15)(2, "input", 16, 17);
165
- i0.ɵɵlistener("ngModelChange", function InfoInputComponent_mat_form_field_3_Template_input_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r33); const ctx_r32 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r32.value = $event); })("change", function InfoInputComponent_mat_form_field_3_Template_input_change_2_listener() { i0.ɵɵrestoreView(_r33); const ctx_r34 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r34.writeValue(ctx_r34.value)); });
197
+ i0.ɵɵlistener("ngModelChange", function InfoInputComponent_mat_form_field_3_Template_input_ngModelChange_2_listener($event) { i0.ɵɵrestoreView(_r36); const ctx_r35 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r35.value = $event); })("change", function InfoInputComponent_mat_form_field_3_Template_input_change_2_listener() { i0.ɵɵrestoreView(_r36); const ctx_r37 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r37.writeValue(ctx_r37.value)); });
166
198
  i0.ɵɵelementEnd();
167
199
  i0.ɵɵelementStart(4, "div", 18);
168
- i0.ɵɵlistener("click", function InfoInputComponent_mat_form_field_3_Template_div_click_4_listener() { i0.ɵɵrestoreView(_r33); const _r30 = i0.ɵɵreference(3); return i0.ɵɵresetView(_r30.click()); });
200
+ i0.ɵɵlistener("click", function InfoInputComponent_mat_form_field_3_Template_div_click_4_listener() { i0.ɵɵrestoreView(_r36); const _r33 = i0.ɵɵreference(3); return i0.ɵɵresetView(_r33.click()); });
169
201
  i0.ɵɵelementEnd();
170
202
  i0.ɵɵelementStart(5, "input", 19);
171
- i0.ɵɵlistener("ngModelChange", function InfoInputComponent_mat_form_field_3_Template_input_ngModelChange_5_listener($event) { i0.ɵɵrestoreView(_r33); const ctx_r36 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r36.value = $event); })("input", function InfoInputComponent_mat_form_field_3_Template_input_input_5_listener() { i0.ɵɵrestoreView(_r33); const ctx_r37 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r37.onChangeValue()); })("blur", function InfoInputComponent_mat_form_field_3_Template_input_blur_5_listener() { i0.ɵɵrestoreView(_r33); const ctx_r38 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r38.onBlur()); });
203
+ i0.ɵɵlistener("ngModelChange", function InfoInputComponent_mat_form_field_3_Template_input_ngModelChange_5_listener($event) { i0.ɵɵrestoreView(_r36); const ctx_r39 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r39.value = $event); })("input", function InfoInputComponent_mat_form_field_3_Template_input_input_5_listener() { i0.ɵɵrestoreView(_r36); const ctx_r40 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r40.onChangeValue()); })("blur", function InfoInputComponent_mat_form_field_3_Template_input_blur_5_listener() { i0.ɵɵrestoreView(_r36); const ctx_r41 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r41.onBlur()); });
172
204
  i0.ɵɵpipe(6, "translate");
173
205
  i0.ɵɵelementEnd();
174
206
  i0.ɵɵtemplate(7, InfoInputComponent_mat_form_field_3_mat_icon_7_Template, 2, 1, "mat-icon", 4);
@@ -289,9 +321,9 @@ export class InfoInputComponent {
289
321
  multi: true
290
322
  },
291
323
  ])], decls: 4, vars: 4, consts: [[4, "ngIf"], ["class", "input-color", 4, "ngIf"], ["matPrefix", "", "style", "color: #aaa", 4, "ngIf"], ["matInput", "", 3, "type", "step", "min", "max", "tabindex", "placeholder", "ngModel", "maxlength", "readonly", "disabled", "required", "ngModelChange", "input", "blur"], ["matSuffix", "", "style", "color: #aaa", 4, "ngIf"], ["class", "show-password", "matSuffix", "", 3, "click", 4, "ngIf"], ["matPrefix", "", 2, "color", "#aaa"], ["matSuffix", "", 2, "color", "#aaa"], ["matSuffix", "", 1, "show-password", 3, "click"], ["matInput", "", "currencyMask", "", 3, "tabindex", "placeholder", "ngModel", "readonly", "disabled", "required", "options", "ngModelChange", "blur", 4, "ngIf"], ["matInput", "", 3, "formControl", "tabindex", "placeholder", "ngModel", "readonly", "disabled", "required", "setmask", "unmask", "ngModelChange", "blur", 4, "ngIf"], ["matInput", "", "currencyMask", "", 3, "tabindex", "placeholder", "ngModel", "readonly", "disabled", "required", "options", "ngModelChange", "blur"], ["matInput", "", 3, "formControl", "tabindex", "placeholder", "ngModel", "readonly", "disabled", "required", "setmask", "unmask", "ngModelChange", "blur"], ["matInput", "", 3, "tabindex", "placeholder", "ngModel", "rows", "maxlength", "readonly", "disabled", "required", "ngModelChange", "input", "blur"], [1, "input-color"], [1, "input-color-container"], ["type", "color", 2, "width", "0px", "visibility", "hidden", 3, "ngModel", "readonly", "disabled", "ngModelChange", "change"], ["colorInput", ""], [1, "color-picker", 3, "click"], ["matInput", "", "type", "text", 3, "tabindex", "placeholder", "ngModel", "maxlength", "readonly", "disabled", "required", "ngModelChange", "input", "blur"]], template: function InfoInputComponent_Template(rf, ctx) { if (rf & 1) {
292
- i0.ɵɵtemplate(0, InfoInputComponent_mat_form_field_0_Template, 8, 17, "mat-form-field", 0);
293
- i0.ɵɵtemplate(1, InfoInputComponent_mat_form_field_1_Template, 7, 5, "mat-form-field", 0);
294
- i0.ɵɵtemplate(2, InfoInputComponent_mat_form_field_2_Template, 4, 11, "mat-form-field", 0);
324
+ i0.ɵɵtemplate(0, InfoInputComponent_mat_form_field_0_Template, 7, 17, "mat-form-field", 0);
325
+ i0.ɵɵtemplate(1, InfoInputComponent_mat_form_field_1_Template, 6, 5, "mat-form-field", 0);
326
+ i0.ɵɵtemplate(2, InfoInputComponent_mat_form_field_2_Template, 5, 12, "mat-form-field", 0);
295
327
  i0.ɵɵtemplate(3, InfoInputComponent_mat_form_field_3_Template, 8, 15, "mat-form-field", 1);
296
328
  } if (rf & 2) {
297
329
  i0.ɵɵproperty("ngIf", ctx.type != "color" && ctx.type != "textarea" && ctx.ismask == null);
@@ -310,7 +342,7 @@ export class InfoInputComponent {
310
342
  useExisting: forwardRef((() => InfoInputComponent)),
311
343
  multi: true
312
344
  },
313
- ], template: "<mat-form-field *ngIf=\"type != 'color' && type != 'textarea' && ismask == null\" >\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n \r\n <input matInput [type]=\"type\" [step]=\"step\" [min]=\"min\" [max]=\"max\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\">\r\n\r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n <mat-icon class=\"show-password\" *ngIf=\"passwordMode\" (click)=\"type = (type == 'password') ? 'text' : 'password'\" matSuffix >visibility{{ type == 'password' ? '' : '_off' }}</mat-icon>\r\n <mat-error>{{errorMessage}}</mat-error>\r\n</mat-form-field>\r\n\r\n<mat-form-field *ngIf=\"type != 'color' && type != 'textarea' && ismask != null\">\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n\r\n <input matInput [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (ngModelChange)=\"onChangeValue()\" (blur)=\"onBlur()\" *ngIf=\"customMask == null\"\r\n [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\" [options]=\"maskOptions\" currencyMask>\r\n\r\n <input matInput [formControl]=\"formControl\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (ngModelChange)=\"onChangeValue()\" (blur)=\"onBlur()\" *ngIf=\"customMask != null\"\r\n [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\" [setmask]=\"customMask\" [unmask]=\"customMask\">\r\n\r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n <mat-error>{{errorMessage}}</mat-error>\r\n</mat-form-field>\r\n\r\n<mat-form-field *ngIf=\"type == 'textarea'\">\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n \r\n <textarea matInput [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\" [rows]=\"rows\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\"></textarea>\r\n</mat-form-field>\r\n\r\n<mat-form-field class=\"input-color\" *ngIf=\"type == 'color'\">\r\n \r\n <div class=\"input-color-container\">\r\n <input #colorInput style=\"width: 0px;visibility: hidden;\" type=\"color\" [(ngModel)]=\"value\" (change)=\"writeValue(value)\" [readonly]=\"readonly\" [disabled]=\"disabled\">\r\n <div class=\"color-picker\" [style.background-color]=\"value\" (click)=\"colorInput.click()\"></div>\r\n \r\n <input matInput type=\"text\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\">\r\n \r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n </div>\r\n</mat-form-field>", styles: [":host .input-color ::ng-deep .mat-form-field-label{transition:transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1),margin .4s cubic-bezier(.25,.8,.25,1)}:host .input-color:not(.mat-form-field-should-float) ::ng-deep .mat-form-field-label{margin-left:40px}:host .input-color.mat-form-field-should-float ::ng-deep .mat-form-field-label{margin-left:0}:host .input-color .input-color-container{display:flex}:host .input-color .input-color-container input[type=color]{width:0px;height:0px;visibility:hidden}:host .input-color .input-color-container .color-picker{width:30px;border:solid 1px black;border-radius:5px;margin-right:5px}\n"] }]
345
+ ], template: "<mat-form-field *ngIf=\"type != 'color' && type != 'textarea' && ismask == null\" >\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n \r\n <input matInput [type]=\"type\" [step]=\"step\" [min]=\"min\" [max]=\"max\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\">\r\n\r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n <mat-icon class=\"show-password\" *ngIf=\"passwordMode\" (click)=\"type = (type == 'password') ? 'text' : 'password'\" matSuffix >visibility{{ type == 'password' ? '' : '_off' }}</mat-icon>\r\n <mat-error *ngIf=\"errorMessage\">{{errorMessage | translate}}</mat-error>\r\n</mat-form-field>\r\n\r\n<mat-form-field *ngIf=\"type != 'color' && type != 'textarea' && ismask != null\">\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n\r\n <input matInput [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (ngModelChange)=\"onChangeValue()\" (blur)=\"onBlur()\" *ngIf=\"customMask == null\"\r\n [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\" [options]=\"maskOptions\" currencyMask>\r\n\r\n <input matInput [formControl]=\"formControl\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (ngModelChange)=\"onChangeValue()\" (blur)=\"onBlur()\" *ngIf=\"customMask != null\"\r\n [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\" [setmask]=\"customMask\" [unmask]=\"customMask\">\r\n\r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n <mat-error *ngIf=\"errorMessage\">{{errorMessage | translate}}</mat-error>\r\n</mat-form-field>\r\n\r\n<mat-form-field *ngIf=\"type == 'textarea'\">\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n \r\n <textarea matInput [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\" [rows]=\"rows\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\"></textarea>\r\n\r\n <mat-error *ngIf=\"errorMessage\">{{errorMessage | translate}}</mat-error>\r\n</mat-form-field>\r\n\r\n<mat-form-field class=\"input-color\" *ngIf=\"type == 'color'\">\r\n \r\n <div class=\"input-color-container\">\r\n <input #colorInput style=\"width: 0px;visibility: hidden;\" type=\"color\" [(ngModel)]=\"value\" (change)=\"writeValue(value)\" [readonly]=\"readonly\" [disabled]=\"disabled\">\r\n <div class=\"color-picker\" [style.background-color]=\"value\" (click)=\"colorInput.click()\"></div>\r\n \r\n <input matInput type=\"text\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\">\r\n \r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n </div>\r\n</mat-form-field>", styles: [":host .input-color ::ng-deep .mat-form-field-label{transition:transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1),margin .4s cubic-bezier(.25,.8,.25,1)}:host .input-color:not(.mat-form-field-should-float) ::ng-deep .mat-form-field-label{margin-left:40px}:host .input-color.mat-form-field-should-float ::ng-deep .mat-form-field-label{margin-left:0}:host .input-color .input-color-container{display:flex}:host .input-color .input-color-container input[type=color]{width:0px;height:0px;visibility:hidden}:host .input-color .input-color-container .color-picker{width:30px;border:solid 1px black;border-radius:5px;margin-right:5px}\n"] }]
314
346
  }], function () { return [{ type: i0.Injector }]; }, { placeholder: [{
315
347
  type: Input
316
348
  }], disabled: [{
@@ -344,4 +376,4 @@ export class InfoInputComponent {
344
376
  }], ismask: [{
345
377
  type: Input
346
378
  }] }); })();
347
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5mby1saWJyYXJ5L3NyYy9jb250cm9scy9pbnB1dC9pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmZvLWxpYnJhcnkvc3JjL2NvbnRyb2xzL2lucHV0L2lucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFrQixRQUFRLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQzNJLE9BQU8sRUFBRSxpQkFBaUIsRUFBd0IsU0FBUyxFQUFpQixXQUFXLEVBQXlFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkwsT0FBTyxFQUFFLFdBQVcsRUFBYSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7Ozs7SUNEM0QsbUNBQTJEO0lBQUEsWUFBYztJQUFBLGlCQUFXOzs7SUFBekIsZUFBYztJQUFkLHVDQUFjOzs7SUFLekUsbUNBQTJEO0lBQUEsWUFBYztJQUFBLGlCQUFXOzs7SUFBekIsZUFBYztJQUFkLHVDQUFjOzs7O0lBQ3pFLG1DQUE0SDtJQUF2RSxvT0FBeUIsVUFBVSxHQUFJLE1BQU0sR0FBRyxVQUFVLEtBQUM7SUFBWSxZQUFnRDtJQUFBLGlCQUFXOzs7SUFBM0QsZUFBZ0Q7SUFBaEQsZ0ZBQWdEOzs7O0lBUGhMLHNDQUFpRjtJQUM3RSw4RkFBb0Y7SUFFcEYsZ0NBQzhGO0lBRG9DLHlPQUFtQiw4SkFBVSxlQUFBLHVCQUFlLENBQUEsSUFBekIsNEpBQW1DLGVBQUEsZ0JBQVEsQ0FBQSxJQUEzQzs7SUFBckosaUJBQzhGO0lBRTlGLDhGQUFvRjtJQUNwRiw4RkFBdUw7SUFDdkwsaUNBQVc7SUFBQSxZQUFnQjtJQUFBLGlCQUFZLEVBQUE7OztJQVA1QixlQUFnQjtJQUFoQix3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SztZQUNHLElBQUk7a0JBQVosS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxVQUFVO2tCQUFsQixLQUFLO1lBQ0csVUFBVTtrQkFBbEIsS0FBSztZQUNHLEdBQUc7a0JBQVgsS0FBSztZQUNHLEdBQUc7a0JBQVgsS0FBSztZQUNHLElBQUk7a0JBQVosS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFFSSxNQUFNO2tCQUFmLE1BQU07WUFtQ0gsTUFBTTtrQkFEVCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT3B0aW9uYWwsIFNlbGYsIEluamVjdG9yLCBEaXJlY3RpdmUsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sLCBOR19WQUxJREFUT1JTLCBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycywgVmFsaWRhdG9yRm4sIEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IFN0YXRpY1V0aWxzLCBVdGlsaXRpZXMgfSBmcm9tIFwiLi4vLi4vdXRpbHMvdXRpbGl0aWVzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnaW5mby1pbnB1dCcsXHJcbiAgICBzdHlsZVVybHM6IFsgJ2lucHV0LmNvbXBvbmVudC5zY3NzJyBdLFxyXG4gICAgdGVtcGxhdGVVcmw6ICdpbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBwcm92aWRlcnM6W1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEluZm9JbnB1dENvbXBvbmVudCksXHJcbiAgICAgICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICAgICAgfSxcclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEluZm9JbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuICAgIHByaXZhdGUgY29udHJvbDogTmdDb250cm9sXHJcblxyXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSByZWFkb25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIG1heGxlbmd0aDogYW55O1xyXG4gICAgQElucHV0KCkgdHlwZTogc3RyaW5nID0gJ3RleHQnO1xyXG4gICAgQElucHV0KCkgcm93czogbnVtYmVyID0gMTtcclxuICAgIEBJbnB1dCgpIHRhYmluZGV4OiBudW1iZXIgPSAwO1xyXG4gICAgQElucHV0KCkgaWNvblByZWZpeDogc3RyaW5nID0gJyc7XHJcbiAgICBASW5wdXQoKSBpY29uU3VmZml4OiBzdHJpbmcgPSAnJztcclxuICAgIEBJbnB1dCgpIG1pbjogbnVtYmVyID0gLTk5OTk5OTk5OTk5OTk5Ljk5OTk5OTk5OTtcclxuICAgIEBJbnB1dCgpIG1heDogbnVtYmVyID0gOTk5OTk5OTk5OTk5OTkuOTk5OTk5OTk5O1xyXG4gICAgQElucHV0KCkgc3RlcDogbnVtYmVyID0gbnVsbDtcclxuICAgIEBJbnB1dCgpIHZhbGlkYXRlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQE91dHB1dCgpIG9uYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIFxyXG4gICAgbWFza09wdGlvbnM6IGFueSA9IHtcclxuICAgICAgICBhbGlnbjogJ3JpZ2h0JyxcclxuICAgICAgICBhbGxvd05lZ2F0aXZlOiB0cnVlLFxyXG4gICAgICAgIGRlY2ltYWw6ICcsJyxcclxuICAgICAgICBwcmVjaXNpb246IDIsXHJcbiAgICAgICAgcHJlZml4OiAnJyxcclxuICAgICAgICBzdWZmaXg6ICcnLFxyXG4gICAgICAgIHRob3VzYW5kczogJy4nXHJcbiAgICB9O1xyXG4gICAgXHJcbiAgICB2YWx1ZTogc3RyaW5nID0gJyc7XHJcbiAgICBjdXN0b21NYXNrOiBzdHJpbmcgPSBudWxsO1xyXG4gICAgb25DaGFuZ2U6IGFueTtcclxuICAgIG9uVG91Y2hlZDogYW55O1xyXG4gICAgcGFzc3dvcmRNb2RlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBlcnJvck1lc3NhZ2U6IHN0cmluZyA9IG51bGw7XHJcbiAgICBmb3JtQ29udHJvbDogQWJzdHJhY3RDb250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XHJcblxyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7IH1cclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgICAgdGhpcy5jb250cm9sID0gdGhpcy5pbmplY3Rvci5nZXQoTmdDb250cm9sLCBudWxsKTtcclxuICAgICAgICBpZiAodGhpcy5jb250cm9sKVxyXG4gICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sID0gdGhpcy5jb250cm9sLmNvbnRyb2w7IFxyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkgeyBcclxuICAgICAgICB0aGlzLnBhc3N3b3JkTW9kZSA9IHRoaXMudHlwZS50b0xvY2FsZUxvd2VyQ2FzZSgpID09ICdwYXNzd29yZCc7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBtZXRob2RJc21hc2s6IHN0cmluZyA9IG51bGw7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGlzbWFzaygpe1xyXG4gICAgICAgIHJldHVybiB0aGlzLm1ldGhvZElzbWFzaztcclxuICAgIH1cclxuXHJcbiAgICBzZXQgaXNtYXNrKHZhbHVlKXtcclxuICAgICAgICB0aGlzLm1ldGhvZElzbWFzayA9IHZhbHVlO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5tZXRob2RJc21hc2sgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICB0aGlzLm1ldGhvZElzbWFzayA9IHRoaXMubWV0aG9kSXNtYXNrLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBpZiAodGhpcy5tZXRob2RJc21hc2sgPT0gJ2ludCcpXHJcbiAgICAgICAgICAgICAgICB0aGlzLm1hc2tPcHRpb25zLnByZWNpc2lvbiA9IDA7XHJcblxyXG4gICAgICAgICAgICBlbHNlIGlmICh0aGlzLm1ldGhvZElzbWFza1swXSA9PSAnbicgJiYgKHRoaXMubWV0aG9kSXNtYXNrLmxlbmd0aCA9PSAyIHx8IHRoaXMubWV0aG9kSXNtYXNrLmxlbmd0aCA9PSAzKSlcclxuICAgICAgICAgICAgICAgIHRoaXMubWFza09wdGlvbnMucHJlY2lzaW9uID0gcGFyc2VJbnQodGhpcy5tZXRob2RJc21hc2sucmVwbGFjZSgnbicsICcnKSk7XHJcblxyXG4gICAgICAgICAgICBlbHNlIHRoaXMuY3VzdG9tTWFzayA9IHRoaXMubWV0aG9kSXNtYXNrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB2YWxpZGFyQ2FtcG8oKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnZhbGlkYXRlKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gbnVsbDtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMudmFsdWUgJiYgdGhpcy5jdXN0b21NYXNrID09ICdjbnBqJyAmJiAhU3RhdGljVXRpbHMudmFsaWRhckNucGoodGhpcy52YWx1ZSkpXHJcbiAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ0NOUEpJbnZhbGlkbyc7XHJcbiAgICAgICAgZWxzZSBpZiAodGhpcy52YWx1ZSAmJiB0aGlzLmN1c3RvbU1hc2sgPT0gJ2NwZicgJiYgIVN0YXRpY1V0aWxzLnZhbGlkYXJDcGYodGhpcy52YWx1ZSkpXHJcbiAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ0NQRkludmFsaWRvJztcclxuXHJcbiAgICAgICAgaWYgKCEhdGhpcy5lcnJvck1lc3NhZ2UgJiYgdGhpcy5mb3JtQ29udHJvbCkge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1Db250cm9sLnNldEVycm9ycyh7aW52YWxpZDogdHJ1ZX0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvbkJsdXIoKSB7XHJcbiAgICAgICAgdGhpcy52YWxpZGFyQ2FtcG8oKTtcclxuICAgICAgICBpZiAodGhpcy50eXBlID09ICdudW1iZXInIHx8ICh0aGlzLmlzbWFzayAhPSBudWxsICYmIHRoaXMuaXNtYXNrLnN0YXJ0c1dpdGgoXCJuXCIpKSkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5taW4gIT0gbnVsbClcclxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm1pbiA+IE51bWJlcih0aGlzLnZhbHVlKSA/IG51bGwgOiB0aGlzLnZhbHVlO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMubWF4ICE9IG51bGwpXHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5tYXggPCBOdW1iZXIodGhpcy52YWx1ZSkgPyBudWxsIDogdGhpcy52YWx1ZTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2VWYWx1ZSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMub25ibHVyICE9IG51bGwpXHJcbiAgICAgICAgICAgIHRoaXMub25ibHVyLmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25DaGFuZ2VWYWx1ZSgpe1xyXG4gICAgICAgIGlmICh0aGlzLm9uQ2hhbmdlICE9IG51bGwpXHJcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy52YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVWYWx1ZShtb2RlbFZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnZhbHVlID0gbW9kZWxWYWx1ZTtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlVmFsdWUoKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICAgIH1cclxuICAgIFxyXG4gICAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gICAgfVxyXG59IiwiPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwidHlwZSAhPSAnY29sb3InICYmIHR5cGUgIT0gJ3RleHRhcmVhJyAmJiBpc21hc2sgPT0gbnVsbFwiID5cclxuICAgIDxtYXQtaWNvbiAqbmdJZj1cImljb25QcmVmaXhcIiBtYXRQcmVmaXggc3R5bGU9XCJjb2xvcjogI2FhYVwiPnt7aWNvblByZWZpeH19PC9tYXQtaWNvbj5cclxuICAgIFxyXG4gICAgPGlucHV0IG1hdElucHV0IFt0eXBlXT1cInR5cGVcIiBbc3RlcF09XCJzdGVwXCIgW21pbl09XCJtaW5cIiBbbWF4XT1cIm1heFwiIFt0YWJpbmRleF09XCJ0YWJpbmRleFwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciB8IHRyYW5zbGF0ZVwiIFsobmdNb2RlbCldPVwidmFsdWVcIiAoaW5wdXQpPVwib25DaGFuZ2VWYWx1ZSgpXCIgKGJsdXIpPVwib25CbHVyKClcIlxyXG4gICAgICAgIFttYXhsZW5ndGhdPVwibWF4bGVuZ3RoXCIgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCI+XHJcblxyXG4gICAgPG1hdC1pY29uICpuZ0lmPVwiaWNvblN1ZmZpeFwiIG1hdFN1ZmZpeCBzdHlsZT1cImNvbG9yOiAjYWFhXCI+e3tpY29uU3VmZml4fX08L21hdC1pY29uPlxyXG4gICAgPG1hdC1pY29uIGNsYXNzPVwic2hvdy1wYXNzd29yZFwiICpuZ0lmPVwicGFzc3dvcmRNb2RlXCIgKGNsaWNrKT1cInR5cGUgPSAodHlwZSA9PSAncGFzc3dvcmQnKSA/ICd0ZXh0JyA6ICdwYXNzd29yZCdcIiBtYXRTdWZmaXggPnZpc2liaWxpdHl7eyB0eXBlID09ICdwYXNzd29yZCcgPyAnJyA6ICdfb2ZmJyB9fTwvbWF0LWljb24+XHJcbiAgICA8bWF0LWVycm9yPnt7ZXJyb3JNZXNzYWdlfX08L21hdC1lcnJvcj5cclxuPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbjxtYXQtZm9ybS1maWVsZCAqbmdJZj1cInR5cGUgIT0gJ2NvbG9yJyAmJiB0eXBlICE9ICd0ZXh0YXJlYScgJiYgaXNtYXNrICE9IG51bGxcIj5cclxuICAgIDxtYXQtaWNvbiAqbmdJZj1cImljb25QcmVmaXhcIiBtYXRQcmVmaXggc3R5bGU9XCJjb2xvcjogI2FhYVwiPnt7aWNvblByZWZpeH19PC9tYXQtaWNvbj5cclxuXHJcbiAgICA8aW5wdXQgbWF0SW5wdXQgW3RhYmluZGV4XT1cInRhYmluZGV4XCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ2hhbmdlVmFsdWUoKVwiIChibHVyKT1cIm9uQmx1cigpXCIgKm5nSWY9XCJjdXN0b21NYXNrID09IG51bGxcIlxyXG4gICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiIFtvcHRpb25zXT1cIm1hc2tPcHRpb25zXCIgY3VycmVuY3lNYXNrPlxyXG5cclxuICAgIDxpbnB1dCBtYXRJbnB1dCBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIiBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgfCB0cmFuc2xhdGVcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25DaGFuZ2VWYWx1ZSgpXCIgKGJsdXIpPVwib25CbHVyKClcIiAqbmdJZj1cImN1c3RvbU1hc2sgIT0gbnVsbFwiXHJcbiAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCIgW3NldG1hc2tdPVwiY3VzdG9tTWFza1wiIFt1bm1hc2tdPVwiY3VzdG9tTWFza1wiPlxyXG5cclxuICAgIDxtYXQtaWNvbiAqbmdJZj1cImljb25TdWZmaXhcIiBtYXRTdWZmaXggc3R5bGU9XCJjb2xvcjogI2FhYVwiPnt7aWNvblN1ZmZpeH19PC9tYXQtaWNvbj5cclxuICAgIDxtYXQtZXJyb3I+e3tlcnJvck1lc3NhZ2V9fTwvbWF0LWVycm9yPlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwidHlwZSA9PSAndGV4dGFyZWEnXCI+XHJcbiAgICA8bWF0LWljb24gKm5nSWY9XCJpY29uUHJlZml4XCIgbWF0UHJlZml4IHN0eWxlPVwiY29sb3I6ICNhYWFcIj57e2ljb25QcmVmaXh9fTwvbWF0LWljb24+XHJcbiAgICBcclxuICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgfCB0cmFuc2xhdGVcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgKGlucHV0KT1cIm9uQ2hhbmdlVmFsdWUoKVwiIChibHVyKT1cIm9uQmx1cigpXCIgW3Jvd3NdPVwicm93c1wiXHJcbiAgICAgICAgW21heGxlbmd0aF09XCJtYXhsZW5ndGhcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIj48L3RleHRhcmVhPlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiaW5wdXQtY29sb3JcIiAqbmdJZj1cInR5cGUgPT0gJ2NvbG9yJ1wiPlxyXG4gICAgXHJcbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtY29sb3ItY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGlucHV0ICNjb2xvcklucHV0IHN0eWxlPVwid2lkdGg6IDBweDt2aXNpYmlsaXR5OiBoaWRkZW47XCIgdHlwZT1cImNvbG9yXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIChjaGFuZ2UpPVwid3JpdGVWYWx1ZSh2YWx1ZSlcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sb3ItcGlja2VyXCIgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwidmFsdWVcIiAoY2xpY2spPVwiY29sb3JJbnB1dC5jbGljaygpXCI+PC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgW3RhYmluZGV4XT1cInRhYmluZGV4XCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIChpbnB1dCk9XCJvbkNoYW5nZVZhbHVlKClcIiAoYmx1cik9XCJvbkJsdXIoKVwiXHJcbiAgICAgICAgW21heGxlbmd0aF09XCJtYXhsZW5ndGhcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIj5cclxuICAgICAgICBcclxuICAgICAgICA8bWF0LWljb24gKm5nSWY9XCJpY29uU3VmZml4XCIgbWF0U3VmZml4IHN0eWxlPVwiY29sb3I6ICNhYWFcIj57e2ljb25TdWZmaXh9fTwvbWF0LWljb24+XHJcbiAgICA8L2Rpdj5cclxuPC9tYXQtZm9ybS1maWVsZD4iXX0=
379
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5mby1saWJyYXJ5L3NyYy9jb250cm9scy9pbnB1dC9pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmZvLWxpYnJhcnkvc3JjL2NvbnRyb2xzL2lucHV0L2lucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsWUFBWSxFQUFrQixRQUFRLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQzNJLE9BQU8sRUFBRSxpQkFBaUIsRUFBd0IsU0FBUyxFQUFpQixXQUFXLEVBQXlFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkwsT0FBTyxFQUFFLFdBQVcsRUFBYSxNQUFNLHVCQUF1QixDQUFDOzs7Ozs7Ozs7Ozs7SUNEM0QsbUNBQTJEO0lBQUEsWUFBYztJQUFBLGlCQUFXOzs7SUFBekIsZUFBYztJQUFkLHVDQUFjOzs7SUFLekUsbUNBQTJEO0lBQUEsWUFBYztJQUFBLGlCQUFXOzs7SUFBekIsZUFBYztJQUFkLHVDQUFjOzs7O0lBQ3pFLG1DQUE0SDtJQUF2RSxvT0FBeUIsVUFBVSxHQUFJLE1BQU0sR0FBRyxVQUFVLEtBQUM7SUFBWSxZQUFnRDtJQUFBLGlCQUFXOzs7SUFBM0QsZUFBZ0Q7SUFBaEQsZ0ZBQWdEOzs7SUFDNUssaUNBQWdDO0lBQUEsWUFBNEI7O0lBQUEsaUJBQVk7OztJQUF4QyxlQUE0QjtJQUE1QiwrREFBNEI7Ozs7SUFSaEUsc0NBQWlGO0lBQzdFLDhGQUFvRjtJQUVwRixnQ0FDOEY7SUFEb0MsMk9BQW1CLDhKQUFVLGVBQUEsdUJBQWUsQ0FBQSxJQUF6Qiw0SkFBbUMsZUFBQSxnQkFBUSxDQUFBLElBQTNDOztJQUFySixpQkFDOEY7SUFFOUYsOEZBQW9GO0lBQ3BGLDhG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QkFDMUIsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsbUJBQW1CLEVBQUM7d0JBQ2pELEtBQUssRUFBRSxJQUFJO3FCQUNkO2lCQUNKOzJEQU1RLFdBQVc7a0JBQW5CLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxTQUFTO2tCQUFqQixLQUFLO1lBQ0csSUFBSTtrQkFBWixLQUFLO1lBQ0csSUFBSTtrQkFBWixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLFVBQVU7a0JBQWxCLEtBQUs7WUFDRyxVQUFVO2tCQUFsQixLQUFLO1lBQ0csR0FBRztrQkFBWCxLQUFLO1lBQ0csR0FBRztrQkFBWCxLQUFLO1lBQ0csSUFBSTtrQkFBWixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUVJLE1BQU07a0JBQWYsTUFBTTtZQW1DSCxNQUFNO2tCQURULEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPcHRpb25hbCwgU2VsZiwgSW5qZWN0b3IsIERpcmVjdGl2ZSwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIEZvcm1Db250cm9sLCBWYWxpZGF0b3JzLCBWYWxpZGF0b3JGbiwgQWJzdHJhY3RDb250cm9sLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgU3RhdGljVXRpbHMsIFV0aWxpdGllcyB9IGZyb20gXCIuLi8uLi91dGlscy91dGlsaXRpZXNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdpbmZvLWlucHV0JyxcclxuICAgIHN0eWxlVXJsczogWyAnaW5wdXQuY29tcG9uZW50LnNjc3MnIF0sXHJcbiAgICB0ZW1wbGF0ZVVybDogJ2lucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHByb3ZpZGVyczpbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gSW5mb0lucHV0Q29tcG9uZW50KSxcclxuICAgICAgICAgICAgbXVsdGk6IHRydWVcclxuICAgICAgICB9LFxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5mb0lucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gICAgcHJpdmF0ZSBjb250cm9sOiBOZ0NvbnRyb2xcclxuXHJcbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSByZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgbWF4bGVuZ3RoOiBhbnk7XHJcbiAgICBASW5wdXQoKSB0eXBlOiBzdHJpbmcgPSAndGV4dCc7XHJcbiAgICBASW5wdXQoKSByb3dzOiBudW1iZXIgPSAxO1xyXG4gICAgQElucHV0KCkgdGFiaW5kZXg6IG51bWJlciA9IDA7XHJcbiAgICBASW5wdXQoKSBpY29uUHJlZml4OiBzdHJpbmcgPSAnJztcclxuICAgIEBJbnB1dCgpIGljb25TdWZmaXg6IHN0cmluZyA9ICcnO1xyXG4gICAgQElucHV0KCkgbWluOiBudW1iZXIgPSAtOTk5OTk5OTk5OTk5OTkuOTk5OTk5OTk5O1xyXG4gICAgQElucHV0KCkgbWF4OiBudW1iZXIgPSA5OTk5OTk5OTk5OTk5OS45OTk5OTk5OTk7XHJcbiAgICBASW5wdXQoKSBzdGVwOiBudW1iZXIgPSBudWxsO1xyXG4gICAgQElucHV0KCkgdmFsaWRhdGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBAT3V0cHV0KCkgb25ibHVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gICAgXHJcbiAgICBtYXNrT3B0aW9uczogYW55ID0ge1xyXG4gICAgICAgIGFsaWduOiAncmlnaHQnLFxyXG4gICAgICAgIGFsbG93TmVnYXRpdmU6IHRydWUsXHJcbiAgICAgICAgZGVjaW1hbDogJywnLFxyXG4gICAgICAgIHByZWNpc2lvbjogMixcclxuICAgICAgICBwcmVmaXg6ICcnLFxyXG4gICAgICAgIHN1ZmZpeDogJycsXHJcbiAgICAgICAgdGhvdXNhbmRzOiAnLidcclxuICAgIH07XHJcbiAgICBcclxuICAgIHZhbHVlOiBzdHJpbmcgPSAnJztcclxuICAgIGN1c3RvbU1hc2s6IHN0cmluZyA9IG51bGw7XHJcbiAgICBvbkNoYW5nZTogYW55O1xyXG4gICAgb25Ub3VjaGVkOiBhbnk7XHJcbiAgICBwYXNzd29yZE1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIGVycm9yTWVzc2FnZTogc3RyaW5nID0gbnVsbDtcclxuICAgIGZvcm1Db250cm9sOiBBYnN0cmFjdENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcclxuXHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHsgfVxyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2wgPSB0aGlzLmluamVjdG9yLmdldChOZ0NvbnRyb2wsIG51bGwpO1xyXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wpXHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wgPSB0aGlzLmNvbnRyb2wuY29udHJvbDsgXHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7IFxyXG4gICAgICAgIHRoaXMucGFzc3dvcmRNb2RlID0gdGhpcy50eXBlLnRvTG9jYWxlTG93ZXJDYXNlKCkgPT0gJ3Bhc3N3b3JkJztcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIG1ldGhvZElzbWFzazogc3RyaW5nID0gbnVsbDtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgaXNtYXNrKCl7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubWV0aG9kSXNtYXNrO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBpc21hc2sodmFsdWUpe1xyXG4gICAgICAgIHRoaXMubWV0aG9kSXNtYXNrID0gdmFsdWU7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLm1ldGhvZElzbWFzayAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMubWV0aG9kSXNtYXNrID0gdGhpcy5tZXRob2RJc21hc2sudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1ldGhvZElzbWFzayA9PSAnaW50JylcclxuICAgICAgICAgICAgICAgIHRoaXMubWFza09wdGlvbnMucHJlY2lzaW9uID0gMDtcclxuXHJcbiAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMubWV0aG9kSXNtYXNrWzBdID09ICduJyAmJiAodGhpcy5tZXRob2RJc21hc2subGVuZ3RoID09IDIgfHwgdGhpcy5tZXRob2RJc21hc2subGVuZ3RoID09IDMpKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5tYXNrT3B0aW9ucy5wcmVjaXNpb24gPSBwYXJzZUludCh0aGlzLm1ldGhvZElzbWFzay5yZXBsYWNlKCduJywgJycpKTtcclxuXHJcbiAgICAgICAgICAgIGVsc2UgdGhpcy5jdXN0b21NYXNrID0gdGhpcy5tZXRob2RJc21hc2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHZhbGlkYXJDYW1wbygpIHtcclxuICAgICAgICBpZiAoIXRoaXMudmFsaWRhdGUpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSBudWxsO1xyXG5cclxuICAgICAgICBpZiAodGhpcy52YWx1ZSAmJiB0aGlzLmN1c3RvbU1hc2sgPT0gJ2NucGonICYmICFTdGF0aWNVdGlscy52YWxpZGFyQ25waih0aGlzLnZhbHVlKSlcclxuICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnQ05QSkludmFsaWRvJztcclxuICAgICAgICBlbHNlIGlmICh0aGlzLnZhbHVlICYmIHRoaXMuY3VzdG9tTWFzayA9PSAnY3BmJyAmJiAhU3RhdGljVXRpbHMudmFsaWRhckNwZih0aGlzLnZhbHVlKSlcclxuICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnQ1BGSW52YWxpZG8nO1xyXG5cclxuICAgICAgICBpZiAoISF0aGlzLmVycm9yTWVzc2FnZSAmJiB0aGlzLmZvcm1Db250cm9sKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbnRyb2wuc2V0RXJyb3JzKHtpbnZhbGlkOiB0cnVlfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uQmx1cigpIHtcclxuICAgICAgICB0aGlzLnZhbGlkYXJDYW1wbygpO1xyXG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT0gJ251bWJlcicgfHwgKHRoaXMuaXNtYXNrICE9IG51bGwgJiYgdGhpcy5pc21hc2suc3RhcnRzV2l0aChcIm5cIikpKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1pbiAhPSBudWxsKVxyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMubWluID4gTnVtYmVyKHRoaXMudmFsdWUpID8gbnVsbCA6IHRoaXMudmFsdWU7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5tYXggIT0gbnVsbClcclxuICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm1heCA8IE51bWJlcih0aGlzLnZhbHVlKSA/IG51bGwgOiB0aGlzLnZhbHVlO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZVZhbHVlKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5vbmJsdXIgIT0gbnVsbClcclxuICAgICAgICAgICAgdGhpcy5vbmJsdXIuZW1pdCh0aGlzLnZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkNoYW5nZVZhbHVlKCl7XHJcbiAgICAgICAgaWYgKHRoaXMub25DaGFuZ2UgIT0gbnVsbClcclxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICB3cml0ZVZhbHVlKG1vZGVsVmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSBtb2RlbFZhbHVlO1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2VWYWx1ZSgpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgICB9XHJcbn0iLCI8bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJ0eXBlICE9ICdjb2xvcicgJiYgdHlwZSAhPSAndGV4dGFyZWEnICYmIGlzbWFzayA9PSBudWxsXCIgPlxyXG4gICAgPG1hdC1pY29uICpuZ0lmPVwiaWNvblByZWZpeFwiIG1hdFByZWZpeCBzdHlsZT1cImNvbG9yOiAjYWFhXCI+e3tpY29uUHJlZml4fX08L21hdC1pY29uPlxyXG4gICAgXHJcbiAgICA8aW5wdXQgbWF0SW5wdXQgW3R5cGVdPVwidHlwZVwiIFtzdGVwXT1cInN0ZXBcIiBbbWluXT1cIm1pblwiIFttYXhdPVwibWF4XCIgW3RhYmluZGV4XT1cInRhYmluZGV4XCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIChpbnB1dCk9XCJvbkNoYW5nZVZhbHVlKClcIiAoYmx1cik9XCJvbkJsdXIoKVwiXHJcbiAgICAgICAgW21heGxlbmd0aF09XCJtYXhsZW5ndGhcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIj5cclxuXHJcbiAgICA8bWF0LWljb24gKm5nSWY9XCJpY29uU3VmZml4XCIgbWF0U3VmZml4IHN0eWxlPVwiY29sb3I6ICNhYWFcIj57e2ljb25TdWZmaXh9fTwvbWF0LWljb24+XHJcbiAgICA8bWF0LWljb24gY2xhc3M9XCJzaG93LXBhc3N3b3JkXCIgKm5nSWY9XCJwYXNzd29yZE1vZGVcIiAoY2xpY2spPVwidHlwZSA9ICh0eXBlID09ICdwYXNzd29yZCcpID8gJ3RleHQnIDogJ3Bhc3N3b3JkJ1wiIG1hdFN1ZmZpeCA+dmlzaWJpbGl0eXt7IHR5cGUgPT0gJ3Bhc3N3b3JkJyA/ICcnIDogJ19vZmYnIH19PC9tYXQtaWNvbj5cclxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJlcnJvck1lc3NhZ2VcIj57e2Vycm9yTWVzc2FnZSB8IHRyYW5zbGF0ZX19PC9tYXQtZXJyb3I+XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG48bWF0LWZvcm0tZmllbGQgKm5nSWY9XCJ0eXBlICE9ICdjb2xvcicgJiYgdHlwZSAhPSAndGV4dGFyZWEnICYmIGlzbWFzayAhPSBudWxsXCI+XHJcbiAgICA8bWF0LWljb24gKm5nSWY9XCJpY29uUHJlZml4XCIgbWF0UHJlZml4IHN0eWxlPVwiY29sb3I6ICNhYWFcIj57e2ljb25QcmVmaXh9fTwvbWF0LWljb24+XHJcblxyXG4gICAgPGlucHV0IG1hdElucHV0IFt0YWJpbmRleF09XCJ0YWJpbmRleFwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciB8IHRyYW5zbGF0ZVwiIFsobmdNb2RlbCldPVwidmFsdWVcIiAobmdNb2RlbENoYW5nZSk9XCJvbkNoYW5nZVZhbHVlKClcIiAoYmx1cik9XCJvbkJsdXIoKVwiICpuZ0lmPVwiY3VzdG9tTWFzayA9PSBudWxsXCJcclxuICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBbb3B0aW9uc109XCJtYXNrT3B0aW9uc1wiIGN1cnJlbmN5TWFzaz5cclxuXHJcbiAgICA8aW5wdXQgbWF0SW5wdXQgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCIgW3RhYmluZGV4XT1cInRhYmluZGV4XCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ2hhbmdlVmFsdWUoKVwiIChibHVyKT1cIm9uQmx1cigpXCIgKm5nSWY9XCJjdXN0b21NYXNrICE9IG51bGxcIlxyXG4gICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiIFtzZXRtYXNrXT1cImN1c3RvbU1hc2tcIiBbdW5tYXNrXT1cImN1c3RvbU1hc2tcIj5cclxuXHJcbiAgICA8bWF0LWljb24gKm5nSWY9XCJpY29uU3VmZml4XCIgbWF0U3VmZml4IHN0eWxlPVwiY29sb3I6ICNhYWFcIj57e2ljb25TdWZmaXh9fTwvbWF0LWljb24+XHJcbiAgICA8bWF0LWVycm9yICpuZ0lmPVwiZXJyb3JNZXNzYWdlXCI+e3tlcnJvck1lc3NhZ2UgfCB0cmFuc2xhdGV9fTwvbWF0LWVycm9yPlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG5cclxuPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwidHlwZSA9PSAndGV4dGFyZWEnXCI+XHJcbiAgICA8bWF0LWljb24gKm5nSWY9XCJpY29uUHJlZml4XCIgbWF0UHJlZml4IHN0eWxlPVwiY29sb3I6ICNhYWFcIj57e2ljb25QcmVmaXh9fTwvbWF0LWljb24+XHJcbiAgICBcclxuICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgfCB0cmFuc2xhdGVcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgKGlucHV0KT1cIm9uQ2hhbmdlVmFsdWUoKVwiIChibHVyKT1cIm9uQmx1cigpXCIgW3Jvd3NdPVwicm93c1wiXHJcbiAgICAgICAgW21heGxlbmd0aF09XCJtYXhsZW5ndGhcIiBbcmVhZG9ubHldPVwicmVhZG9ubHlcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIj48L3RleHRhcmVhPlxyXG5cclxuICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJlcnJvck1lc3NhZ2VcIj57e2Vycm9yTWVzc2FnZSB8IHRyYW5zbGF0ZX19PC9tYXQtZXJyb3I+XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG48bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJpbnB1dC1jb2xvclwiICpuZ0lmPVwidHlwZSA9PSAnY29sb3InXCI+XHJcbiAgICBcclxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1jb2xvci1jb250YWluZXJcIj5cclxuICAgICAgICA8aW5wdXQgI2NvbG9ySW5wdXQgc3R5bGU9XCJ3aWR0aDogMHB4O3Zpc2liaWxpdHk6IGhpZGRlbjtcIiB0eXBlPVwiY29sb3JcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgKGNoYW5nZSk9XCJ3cml0ZVZhbHVlKHZhbHVlKVwiIFtyZWFkb25seV09XCJyZWFkb25seVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2xvci1waWNrZXJcIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJ2YWx1ZVwiIChjbGljayk9XCJjb2xvcklucHV0LmNsaWNrKClcIj48L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInRleHRcIiBbdGFiaW5kZXhdPVwidGFiaW5kZXhcIiBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgfCB0cmFuc2xhdGVcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgKGlucHV0KT1cIm9uQ2hhbmdlVmFsdWUoKVwiIChibHVyKT1cIm9uQmx1cigpXCJcclxuICAgICAgICBbbWF4bGVuZ3RoXT1cIm1heGxlbmd0aFwiIFtyZWFkb25seV09XCJyZWFkb25seVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiPlxyXG4gICAgICAgIFxyXG4gICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImljb25TdWZmaXhcIiBtYXRTdWZmaXggc3R5bGU9XCJjb2xvcjogI2FhYVwiPnt7aWNvblN1ZmZpeH19PC9tYXQtaWNvbj5cclxuICAgIDwvZGl2PlxyXG48L21hdC1mb3JtLWZpZWxkPiJdfQ==