ngx-formly-zorro-antd 18.3.0 → 18.3.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 (203) hide show
  1. package/README.md +1 -1
  2. package/cascader/cascader.type.d.ts +6 -5
  3. package/esm2022/autocomplete/autocomplete.props.mjs +1 -1
  4. package/esm2022/autocomplete/public_api.mjs +1 -1
  5. package/esm2022/button/button.module.mjs +1 -1
  6. package/esm2022/button/button.type.mjs +121 -120
  7. package/esm2022/button/public_api.mjs +1 -1
  8. package/esm2022/button-group/button-group.module.mjs +1 -1
  9. package/esm2022/button-group/button-group.type.mjs +83 -82
  10. package/esm2022/button-group/public_api.mjs +1 -1
  11. package/esm2022/card/card.module.mjs +1 -1
  12. package/esm2022/card/card.type.mjs +51 -50
  13. package/esm2022/card/public_api.mjs +1 -1
  14. package/esm2022/card-wrapper/card-wrapper.module.mjs +1 -1
  15. package/esm2022/card-wrapper/card-wrapper.props.mjs +1 -1
  16. package/esm2022/card-wrapper/card.wrapper.mjs +41 -40
  17. package/esm2022/card-wrapper/public_api.mjs +1 -1
  18. package/esm2022/cascader/cascader.module.mjs +1 -1
  19. package/esm2022/cascader/cascader.type.mjs +71 -72
  20. package/esm2022/cascader/public_api.mjs +1 -1
  21. package/esm2022/checkbox/checkbox.module.mjs +1 -1
  22. package/esm2022/checkbox/checkbox.type.mjs +47 -46
  23. package/esm2022/checkbox/public_api.mjs +1 -1
  24. package/esm2022/common/common.module.mjs +1 -1
  25. package/esm2022/common/formly-box-templates.directive.mjs +1 -1
  26. package/esm2022/common/formly-utils.mjs +1 -1
  27. package/esm2022/common/interface.mjs +1 -1
  28. package/esm2022/common/public_api.mjs +1 -1
  29. package/esm2022/datepicker/datepicker.module.mjs +1 -1
  30. package/esm2022/datepicker/datepicker.props.mjs +1 -1
  31. package/esm2022/datepicker/datepicker.type.mjs +145 -144
  32. package/esm2022/datepicker/public_api.mjs +1 -1
  33. package/esm2022/extension/public_api.mjs +1 -1
  34. package/esm2022/extension/value-changes-extension.mjs +1 -1
  35. package/esm2022/flex/flex.module.mjs +1 -1
  36. package/esm2022/flex/flex.type.mjs +37 -36
  37. package/esm2022/flex/public_api.mjs +1 -1
  38. package/esm2022/form-field/form-field.module.mjs +1 -1
  39. package/esm2022/form-field/form-field.props.mjs +1 -1
  40. package/esm2022/form-field/form-field.wrapper.mjs +140 -140
  41. package/esm2022/form-field/public_api.mjs +1 -1
  42. package/esm2022/grid/grid.module.mjs +1 -1
  43. package/esm2022/grid/grid.props.mjs +1 -1
  44. package/esm2022/grid/grid.type.mjs +61 -60
  45. package/esm2022/grid/public_api.mjs +1 -1
  46. package/esm2022/helpers/common.mjs +1 -1
  47. package/esm2022/helpers/formly.mjs +1 -1
  48. package/esm2022/helpers/public_api.mjs +1 -1
  49. package/esm2022/index.mjs +1 -1
  50. package/esm2022/input/input.config.mjs +1 -1
  51. package/esm2022/input/input.module.mjs +1 -1
  52. package/esm2022/input/input.props.mjs +1 -1
  53. package/esm2022/input/input.type.mjs +285 -284
  54. package/esm2022/input/public_api.mjs +1 -1
  55. package/esm2022/input-group/input-group.module.mjs +1 -1
  56. package/esm2022/input-group/input-group.props.mjs +1 -1
  57. package/esm2022/input-group/input-group.type.mjs +45 -44
  58. package/esm2022/input-group/public_api.mjs +1 -1
  59. package/esm2022/input-number/input-number.module.mjs +1 -1
  60. package/esm2022/input-number/input-number.props.mjs +1 -1
  61. package/esm2022/input-number/input-number.type.mjs +91 -90
  62. package/esm2022/input-number/public_api.mjs +1 -1
  63. package/esm2022/lib/ui-ng-zorro-antd.mjs +1 -1
  64. package/esm2022/lib/ui-ng-zorro-antd.module.mjs +1 -1
  65. package/esm2022/radio/public_api.mjs +1 -1
  66. package/esm2022/radio/radio.module.mjs +1 -1
  67. package/esm2022/radio/radio.type.mjs +47 -46
  68. package/esm2022/rate/public_api.mjs +1 -1
  69. package/esm2022/rate/rate.module.mjs +1 -1
  70. package/esm2022/rate/rate.type.mjs +33 -32
  71. package/esm2022/ref-template/public_api.mjs +1 -1
  72. package/esm2022/ref-template/ref-template.module.mjs +1 -1
  73. package/esm2022/ref-template/ref-template.type.mjs +11 -10
  74. package/esm2022/select/public_api.mjs +1 -1
  75. package/esm2022/select/select.module.mjs +1 -1
  76. package/esm2022/select/select.props.mjs +1 -1
  77. package/esm2022/select/select.type.mjs +105 -104
  78. package/esm2022/slider/public_api.mjs +1 -1
  79. package/esm2022/slider/slider.module.mjs +1 -1
  80. package/esm2022/slider/slider.type.mjs +33 -32
  81. package/esm2022/space/public_api.mjs +1 -1
  82. package/esm2022/space/space.module.mjs +1 -1
  83. package/esm2022/space/space.type.mjs +27 -26
  84. package/esm2022/switch/public_api.mjs +1 -1
  85. package/esm2022/switch/switch.module.mjs +1 -1
  86. package/esm2022/switch/switch.type.mjs +25 -24
  87. package/esm2022/tabs/public_api.mjs +1 -1
  88. package/esm2022/tabs/tabs.module.mjs +1 -1
  89. package/esm2022/tabs/tabs.props.mjs +1 -1
  90. package/esm2022/tabs/tabs.wrapper.mjs +75 -74
  91. package/esm2022/text-value/public_api.mjs +1 -1
  92. package/esm2022/text-value/text-value.module.mjs +1 -1
  93. package/esm2022/text-value/text-value.type.mjs +10 -10
  94. package/esm2022/textarea/public_api.mjs +1 -1
  95. package/esm2022/textarea/textarea.module.mjs +1 -1
  96. package/esm2022/textarea/textarea.type.mjs +109 -108
  97. package/esm2022/timepicker/public_api.mjs +1 -1
  98. package/esm2022/timepicker/timepicker.module.mjs +1 -1
  99. package/esm2022/timepicker/timepicker.type.mjs +61 -62
  100. package/esm2022/transfer/public_api.mjs +1 -1
  101. package/esm2022/transfer/transfer.component.mjs +50 -49
  102. package/esm2022/transfer/transfer.module.mjs +1 -1
  103. package/esm2022/transfer/transfer.type.mjs +47 -46
  104. package/esm2022/tree-select/public_api.mjs +1 -1
  105. package/esm2022/tree-select/tree-select.module.mjs +1 -1
  106. package/esm2022/tree-select/tree-select.type.mjs +73 -72
  107. package/esm2022/types/public_api.mjs +1 -1
  108. package/esm2022/upload/public_api.mjs +1 -1
  109. package/esm2022/upload/upload.component.mjs +144 -143
  110. package/esm2022/upload/upload.module.mjs +1 -1
  111. package/esm2022/upload/upload.props.mjs +1 -1
  112. package/esm2022/upload/upload.type.mjs +85 -84
  113. package/fesm2022/ngx-formly-zorro-antd-button-group.mjs +82 -81
  114. package/fesm2022/ngx-formly-zorro-antd-button-group.mjs.map +1 -1
  115. package/fesm2022/ngx-formly-zorro-antd-button.mjs +120 -119
  116. package/fesm2022/ngx-formly-zorro-antd-button.mjs.map +1 -1
  117. package/fesm2022/ngx-formly-zorro-antd-card-wrapper.mjs +40 -39
  118. package/fesm2022/ngx-formly-zorro-antd-card-wrapper.mjs.map +1 -1
  119. package/fesm2022/ngx-formly-zorro-antd-card.mjs +50 -49
  120. package/fesm2022/ngx-formly-zorro-antd-card.mjs.map +1 -1
  121. package/fesm2022/ngx-formly-zorro-antd-cascader.mjs +70 -71
  122. package/fesm2022/ngx-formly-zorro-antd-cascader.mjs.map +1 -1
  123. package/fesm2022/ngx-formly-zorro-antd-checkbox.mjs +46 -45
  124. package/fesm2022/ngx-formly-zorro-antd-checkbox.mjs.map +1 -1
  125. package/fesm2022/ngx-formly-zorro-antd-common.mjs.map +1 -1
  126. package/fesm2022/ngx-formly-zorro-antd-datepicker.mjs +144 -143
  127. package/fesm2022/ngx-formly-zorro-antd-datepicker.mjs.map +1 -1
  128. package/fesm2022/ngx-formly-zorro-antd-extension.mjs.map +1 -1
  129. package/fesm2022/ngx-formly-zorro-antd-flex.mjs +36 -35
  130. package/fesm2022/ngx-formly-zorro-antd-flex.mjs.map +1 -1
  131. package/fesm2022/ngx-formly-zorro-antd-form-field.mjs +139 -139
  132. package/fesm2022/ngx-formly-zorro-antd-form-field.mjs.map +1 -1
  133. package/fesm2022/ngx-formly-zorro-antd-grid.mjs +60 -59
  134. package/fesm2022/ngx-formly-zorro-antd-grid.mjs.map +1 -1
  135. package/fesm2022/ngx-formly-zorro-antd-helpers.mjs.map +1 -1
  136. package/fesm2022/ngx-formly-zorro-antd-input-group.mjs +44 -43
  137. package/fesm2022/ngx-formly-zorro-antd-input-group.mjs.map +1 -1
  138. package/fesm2022/ngx-formly-zorro-antd-input-number.mjs +90 -89
  139. package/fesm2022/ngx-formly-zorro-antd-input-number.mjs.map +1 -1
  140. package/fesm2022/ngx-formly-zorro-antd-input.mjs +284 -283
  141. package/fesm2022/ngx-formly-zorro-antd-input.mjs.map +1 -1
  142. package/fesm2022/ngx-formly-zorro-antd-radio.mjs +46 -45
  143. package/fesm2022/ngx-formly-zorro-antd-radio.mjs.map +1 -1
  144. package/fesm2022/ngx-formly-zorro-antd-rate.mjs +32 -31
  145. package/fesm2022/ngx-formly-zorro-antd-rate.mjs.map +1 -1
  146. package/fesm2022/ngx-formly-zorro-antd-ref-template.mjs +10 -9
  147. package/fesm2022/ngx-formly-zorro-antd-ref-template.mjs.map +1 -1
  148. package/fesm2022/ngx-formly-zorro-antd-select.mjs +104 -103
  149. package/fesm2022/ngx-formly-zorro-antd-select.mjs.map +1 -1
  150. package/fesm2022/ngx-formly-zorro-antd-slider.mjs +32 -31
  151. package/fesm2022/ngx-formly-zorro-antd-slider.mjs.map +1 -1
  152. package/fesm2022/ngx-formly-zorro-antd-space.mjs +26 -25
  153. package/fesm2022/ngx-formly-zorro-antd-space.mjs.map +1 -1
  154. package/fesm2022/ngx-formly-zorro-antd-switch.mjs +24 -23
  155. package/fesm2022/ngx-formly-zorro-antd-switch.mjs.map +1 -1
  156. package/fesm2022/ngx-formly-zorro-antd-tabs.mjs +74 -73
  157. package/fesm2022/ngx-formly-zorro-antd-tabs.mjs.map +1 -1
  158. package/fesm2022/ngx-formly-zorro-antd-text-value.mjs +9 -9
  159. package/fesm2022/ngx-formly-zorro-antd-text-value.mjs.map +1 -1
  160. package/fesm2022/ngx-formly-zorro-antd-textarea.mjs +108 -107
  161. package/fesm2022/ngx-formly-zorro-antd-textarea.mjs.map +1 -1
  162. package/fesm2022/ngx-formly-zorro-antd-timepicker.mjs +60 -61
  163. package/fesm2022/ngx-formly-zorro-antd-timepicker.mjs.map +1 -1
  164. package/fesm2022/ngx-formly-zorro-antd-transfer.mjs +95 -93
  165. package/fesm2022/ngx-formly-zorro-antd-transfer.mjs.map +1 -1
  166. package/fesm2022/ngx-formly-zorro-antd-tree-select.mjs +72 -71
  167. package/fesm2022/ngx-formly-zorro-antd-tree-select.mjs.map +1 -1
  168. package/fesm2022/ngx-formly-zorro-antd-upload.mjs +227 -225
  169. package/fesm2022/ngx-formly-zorro-antd-upload.mjs.map +1 -1
  170. package/fesm2022/ngx-formly-zorro-antd.mjs.map +1 -1
  171. package/package.json +7 -7
  172. package/autocomplete/package.json +0 -3
  173. package/button/package.json +0 -3
  174. package/button-group/package.json +0 -3
  175. package/card/package.json +0 -3
  176. package/card-wrapper/package.json +0 -3
  177. package/cascader/package.json +0 -3
  178. package/checkbox/package.json +0 -3
  179. package/common/package.json +0 -3
  180. package/datepicker/package.json +0 -3
  181. package/extension/package.json +0 -3
  182. package/flex/package.json +0 -3
  183. package/form-field/package.json +0 -3
  184. package/grid/package.json +0 -3
  185. package/helpers/package.json +0 -3
  186. package/input/package.json +0 -3
  187. package/input-group/package.json +0 -3
  188. package/input-number/package.json +0 -3
  189. package/radio/package.json +0 -3
  190. package/rate/package.json +0 -3
  191. package/ref-template/package.json +0 -3
  192. package/select/package.json +0 -3
  193. package/slider/package.json +0 -3
  194. package/space/package.json +0 -3
  195. package/switch/package.json +0 -3
  196. package/tabs/package.json +0 -3
  197. package/text-value/package.json +0 -3
  198. package/textarea/package.json +0 -3
  199. package/timepicker/package.json +0 -3
  200. package/transfer/package.json +0 -3
  201. package/tree-select/package.json +0 -3
  202. package/types/package.json +0 -3
  203. package/upload/package.json +0 -3
@@ -37,298 +37,299 @@ export class FormlyFieldInput extends FieldType {
37
37
  return resolveTplName(this.props, this.fieldTemplates, 'addOnAfter');
38
38
  }
39
39
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormlyFieldInput, deps: [{ token: i1.FormlyBoxTemplates, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
40
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: FormlyFieldInput, selector: "formly-field-input", usesInheritance: true, ngImport: i0, template: `
41
- @switch (props.type) {
42
- @case ('password') {
43
- <nz-input-group
44
- [nzPrefixIcon]="props['prefixIcon']"
45
- [nzSuffixIcon]="props['suffixIcon']"
46
- [nzAddOnAfterIcon]="props['addOnAfterIcon']"
47
- [nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
48
- [nzAddOnBefore]="addOnBefore"
49
- [nzAddOnAfter]="addOnAfter"
50
- [class]="props['className']"
51
- [style]="props['style']"
52
- [nzPrefix]="props['prefix']"
53
- [nzCompact]="!!props['compact']"
54
- [nzSearch]="!!props['search']"
55
- [nzSize]="props['size']!"
56
- [nzStatus]="props['status']!"
57
- [nzSuffix]="passwordEyeTpl"
58
- >
59
- <input
60
- [type]="passVisible ? 'text' : 'password'"
61
- nz-input
62
- [formControl]="formControl"
63
- [formlyAttributes]="field"
64
- [nzBorderless]="!!props['borderless']"
65
- (ngModelChange)="props['modelChange']?.(field, $event)"
66
- />
67
- </nz-input-group>
68
- }
69
- @case ('autoComplete') {
70
- <nz-input-group
71
- [nzSize]="props['size']"
72
- [nzPrefixIcon]="props['prefixIcon']"
73
- [nzSuffixIcon]="props['suffixIcon']"
74
- [nzAddOnAfterIcon]="props['addOnAfterIcon']"
75
- [nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
76
- [nzAddOnBefore]="addOnBefore"
77
- [nzAddOnAfter]="addOnAfter"
78
- [class]="props['className']"
79
- [style]="props['style']"
80
- [nzPrefix]="props['prefix']"
81
- [nzSuffix]="props['allowClear'] ? inputClearTpl : props['suffix']"
82
- >
83
- <input
84
- nz-input
85
- [nzBorderless]="!!props['borderless']"
86
- [nzAutocomplete]="auto"
87
- [formControl]="formControl"
88
- [formlyAttributes]="field"
89
- />
90
- <nz-autocomplete
91
- [nzBackfill]="props['autocompleteOptions']?.backfill"
92
- [nzDefaultActiveFirstOption]="props['autocompleteOptions']?.defaultActiveFirstOption"
93
- [nzWidth]="props['autocompleteOptions']?.width"
94
- [nzOverlayClassName]="props['autocompleteOptions']?.overlayClassName"
95
- [nzOverlayStyle]="props['autocompleteOptions']?.overlayStyle"
96
- [compareWith]="props['autocompleteOptions']?.compareWith"
97
- #auto
98
- >
99
- @for (option of props['autocompleteOptions'].dataSource; track option) {
100
- <nz-auto-option [nzLabel]="option.label" [nzValue]="option.value" [attr.title]="option.label">
101
- {{ option.label }}
102
- </nz-auto-option>
103
- }
104
- </nz-autocomplete>
105
- </nz-input-group>
106
- }
107
- @case ('group') {
108
- <nz-input-group
109
- [nzPrefixIcon]="props['prefixIcon']"
110
- [nzSuffixIcon]="props['suffixIcon']"
111
- [nzAddOnAfterIcon]="props['addOnAfterIcon']"
112
- [nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
113
- [nzAddOnBefore]="addOnBefore"
114
- [nzAddOnAfter]="addOnAfter"
115
- [class]="props['className']"
116
- [style]="props['style']"
117
- [nzPrefix]="props['prefix']"
118
- [nzSuffix]="props['allowClear'] ? inputClearTpl : props['suffix']"
119
- [nzCompact]="!!props['compact']"
120
- [nzSearch]="!!props['search']"
121
- [nzSize]="props['size']!"
122
- [nzStatus]="props['status']!"
123
- >
124
- <input
125
- nz-input
126
- type="text"
127
- [formControl]="formControl"
128
- [formlyAttributes]="field"
129
- [nzBorderless]="!!props['borderless']"
130
- (ngModelChange)="props['modelChange']?.(field, $event)"
131
- />
132
- </nz-input-group>
133
- }
134
- @default {
135
- <input
136
- nz-input
137
- type="text"
138
- [class]="props['className']"
139
- [style]="props['style']"
140
- [formControl]="formControl"
141
- [formlyAttributes]="field"
142
- [nzSize]="props['size']"
143
- [nzStatus]="props['status']"
144
- [nzBorderless]="!!props['borderless']"
145
- (ngModelChange)="props['modelChange']?.(field, $event)"
146
- />
147
- }
148
- }
149
-
150
- <!-- 查看密码 -->
151
- <ng-template #passwordEyeTpl>
152
- <span
153
- nz-icon
154
- class="cursor-pointer"
155
- [nzType]="passVisible ? 'eye-invisible' : 'eye'"
156
- (click)="passVisible = !passVisible"
157
- ></span>
158
-
159
- @if (formControl.value && props['allowClear']!!) {
160
- <span
161
- nz-icon
162
- class="ant-input-clear-icon"
163
- nzTheme="fill"
164
- nzType="close-circle"
165
- (click)="formControl.reset()"
166
- ></span>
167
- }
168
- </ng-template>
169
- <!-- 清除数据 -->
170
- <ng-template #inputClearTpl>
171
- @if (formControl.value && !props['disabled'] && !props['readonly']) {
172
- <span
173
- nz-icon
174
- class="ant-input-clear-icon"
175
- nzTheme="fill"
176
- nzType="close-circle"
177
- (click)="formControl.reset()"
178
- ></span>
179
- }
180
- </ng-template>
40
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.12", type: FormlyFieldInput, selector: "formly-field-input", usesInheritance: true, ngImport: i0, template: `
41
+ @switch (props.type) {
42
+ @case ('password') {
43
+ <nz-input-group
44
+ [nzPrefixIcon]="props['prefixIcon']"
45
+ [nzSuffixIcon]="props['suffixIcon']"
46
+ [nzAddOnAfterIcon]="props['addOnAfterIcon']"
47
+ [nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
48
+ [nzAddOnBefore]="addOnBefore"
49
+ [nzAddOnAfter]="addOnAfter"
50
+ [class]="props['className']"
51
+ [style]="props['style']"
52
+ [nzPrefix]="props['prefix']"
53
+ [nzCompact]="!!props['compact']"
54
+ [nzSearch]="!!props['search']"
55
+ [nzSize]="props['size']!"
56
+ [nzStatus]="props['status']!"
57
+ [nzSuffix]="passwordEyeTpl"
58
+ >
59
+ <input
60
+ [type]="passVisible ? 'text' : 'password'"
61
+ nz-input
62
+ [formControl]="formControl"
63
+ [formlyAttributes]="field"
64
+ [nzBorderless]="!!props['borderless']"
65
+ (ngModelChange)="props['modelChange']?.(field, $event)"
66
+ />
67
+ </nz-input-group>
68
+ }
69
+ @case ('autoComplete') {
70
+ <nz-input-group
71
+ [nzSize]="props['size']"
72
+ [nzPrefixIcon]="props['prefixIcon']"
73
+ [nzSuffixIcon]="props['suffixIcon']"
74
+ [nzAddOnAfterIcon]="props['addOnAfterIcon']"
75
+ [nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
76
+ [nzAddOnBefore]="addOnBefore"
77
+ [nzAddOnAfter]="addOnAfter"
78
+ [class]="props['className']"
79
+ [style]="props['style']"
80
+ [nzPrefix]="props['prefix']"
81
+ [nzSuffix]="props['allowClear'] ? inputClearTpl : props['suffix']"
82
+ >
83
+ <input
84
+ nz-input
85
+ [nzBorderless]="!!props['borderless']"
86
+ [nzAutocomplete]="auto"
87
+ [formControl]="formControl"
88
+ [formlyAttributes]="field"
89
+ />
90
+ <nz-autocomplete
91
+ [nzBackfill]="props['autocompleteOptions']?.backfill"
92
+ [nzDefaultActiveFirstOption]="props['autocompleteOptions']?.defaultActiveFirstOption"
93
+ [nzWidth]="props['autocompleteOptions']?.width"
94
+ [nzOverlayClassName]="props['autocompleteOptions']?.overlayClassName"
95
+ [nzOverlayStyle]="props['autocompleteOptions']?.overlayStyle"
96
+ [compareWith]="props['autocompleteOptions']?.compareWith"
97
+ #auto
98
+ >
99
+ @for (option of props['autocompleteOptions'].dataSource; track option) {
100
+ <nz-auto-option [nzLabel]="option.label" [nzValue]="option.value" [attr.title]="option.label">
101
+ {{ option.label }}
102
+ </nz-auto-option>
103
+ }
104
+ </nz-autocomplete>
105
+ </nz-input-group>
106
+ }
107
+ @case ('group') {
108
+ <nz-input-group
109
+ [nzPrefixIcon]="props['prefixIcon']"
110
+ [nzSuffixIcon]="props['suffixIcon']"
111
+ [nzAddOnAfterIcon]="props['addOnAfterIcon']"
112
+ [nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
113
+ [nzAddOnBefore]="addOnBefore"
114
+ [nzAddOnAfter]="addOnAfter"
115
+ [class]="props['className']"
116
+ [style]="props['style']"
117
+ [nzPrefix]="props['prefix']"
118
+ [nzSuffix]="props['allowClear'] ? inputClearTpl : props['suffix']"
119
+ [nzCompact]="!!props['compact']"
120
+ [nzSearch]="!!props['search']"
121
+ [nzSize]="props['size']!"
122
+ [nzStatus]="props['status']!"
123
+ >
124
+ <input
125
+ nz-input
126
+ type="text"
127
+ [formControl]="formControl"
128
+ [formlyAttributes]="field"
129
+ [nzBorderless]="!!props['borderless']"
130
+ (ngModelChange)="props['modelChange']?.(field, $event)"
131
+ />
132
+ </nz-input-group>
133
+ }
134
+ @default {
135
+ <input
136
+ nz-input
137
+ type="text"
138
+ [class]="props['className']"
139
+ [style]="props['style']"
140
+ [formControl]="formControl"
141
+ [formlyAttributes]="field"
142
+ [nzSize]="props['size']"
143
+ [nzStatus]="props['status']"
144
+ [nzBorderless]="!!props['borderless']"
145
+ (ngModelChange)="props['modelChange']?.(field, $event)"
146
+ />
147
+ }
148
+ }
149
+
150
+ <!-- 查看密码 -->
151
+ <ng-template #passwordEyeTpl>
152
+ <span
153
+ nz-icon
154
+ class="cursor-pointer"
155
+ [nzType]="passVisible ? 'eye-invisible' : 'eye'"
156
+ (click)="passVisible = !passVisible"
157
+ ></span>
158
+
159
+ @if (formControl.value && props['allowClear']!!) {
160
+ <span
161
+ nz-icon
162
+ class="ant-input-clear-icon"
163
+ nzTheme="fill"
164
+ nzType="close-circle"
165
+ (click)="formControl.setValue(undefined)"
166
+ ></span>
167
+ }
168
+ </ng-template>
169
+ <!-- 清除数据 -->
170
+ <ng-template #inputClearTpl>
171
+ @if (formControl.value && !props['disabled'] && !props['readonly']) {
172
+ <span
173
+ nz-icon
174
+ class="ant-input-clear-icon"
175
+ nzTheme="fill"
176
+ nzType="close-circle"
177
+ (click)="formControl.setValue(undefined)"
178
+ ></span>
179
+ }
180
+ </ng-template>
181
181
  `, isInline: true, dependencies: [{ kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.NzInputDirective, selector: "input[nz-input],textarea[nz-input]", inputs: ["nzBorderless", "nzSize", "nzStepperless", "nzStatus", "disabled"], exportAs: ["nzInput"] }, { kind: "component", type: i3.NzInputGroupComponent, selector: "nz-input-group", inputs: ["nzAddOnBeforeIcon", "nzAddOnAfterIcon", "nzPrefixIcon", "nzSuffixIcon", "nzAddOnBefore", "nzAddOnAfter", "nzPrefix", "nzStatus", "nzSuffix", "nzSize", "nzSearch", "nzCompact"], exportAs: ["nzInputGroup"] }, { kind: "directive", type: i3.NzInputGroupWhitSuffixOrPrefixDirective, selector: "nz-input-group[nzSuffix], nz-input-group[nzPrefix]" }, { kind: "component", type: i4.NzAutocompleteComponent, selector: "nz-autocomplete", inputs: ["nzWidth", "nzOverlayClassName", "nzOverlayStyle", "nzDefaultActiveFirstOption", "nzBackfill", "compareWith", "nzDataSource"], outputs: ["selectionChange"], exportAs: ["nzAutocomplete"] }, { kind: "component", type: i4.NzAutocompleteOptionComponent, selector: "nz-auto-option", inputs: ["nzValue", "nzLabel", "nzDisabled"], outputs: ["selectionChange", "mouseEntered"], exportAs: ["nzAutoOption"] }, { kind: "directive", type: i4.NzAutocompleteTriggerDirective, selector: "input[nzAutocomplete], textarea[nzAutocomplete]", inputs: ["nzAutocomplete"], exportAs: ["nzAutocompleteTrigger"] }, { kind: "directive", type: i5.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: i6.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
182
182
  }
183
183
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FormlyFieldInput, decorators: [{
184
184
  type: Component,
185
185
  args: [{
186
186
  selector: 'formly-field-input',
187
- template: `
188
- @switch (props.type) {
189
- @case ('password') {
190
- <nz-input-group
191
- [nzPrefixIcon]="props['prefixIcon']"
192
- [nzSuffixIcon]="props['suffixIcon']"
193
- [nzAddOnAfterIcon]="props['addOnAfterIcon']"
194
- [nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
195
- [nzAddOnBefore]="addOnBefore"
196
- [nzAddOnAfter]="addOnAfter"
197
- [class]="props['className']"
198
- [style]="props['style']"
199
- [nzPrefix]="props['prefix']"
200
- [nzCompact]="!!props['compact']"
201
- [nzSearch]="!!props['search']"
202
- [nzSize]="props['size']!"
203
- [nzStatus]="props['status']!"
204
- [nzSuffix]="passwordEyeTpl"
205
- >
206
- <input
207
- [type]="passVisible ? 'text' : 'password'"
208
- nz-input
209
- [formControl]="formControl"
210
- [formlyAttributes]="field"
211
- [nzBorderless]="!!props['borderless']"
212
- (ngModelChange)="props['modelChange']?.(field, $event)"
213
- />
214
- </nz-input-group>
215
- }
216
- @case ('autoComplete') {
217
- <nz-input-group
218
- [nzSize]="props['size']"
219
- [nzPrefixIcon]="props['prefixIcon']"
220
- [nzSuffixIcon]="props['suffixIcon']"
221
- [nzAddOnAfterIcon]="props['addOnAfterIcon']"
222
- [nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
223
- [nzAddOnBefore]="addOnBefore"
224
- [nzAddOnAfter]="addOnAfter"
225
- [class]="props['className']"
226
- [style]="props['style']"
227
- [nzPrefix]="props['prefix']"
228
- [nzSuffix]="props['allowClear'] ? inputClearTpl : props['suffix']"
229
- >
230
- <input
231
- nz-input
232
- [nzBorderless]="!!props['borderless']"
233
- [nzAutocomplete]="auto"
234
- [formControl]="formControl"
235
- [formlyAttributes]="field"
236
- />
237
- <nz-autocomplete
238
- [nzBackfill]="props['autocompleteOptions']?.backfill"
239
- [nzDefaultActiveFirstOption]="props['autocompleteOptions']?.defaultActiveFirstOption"
240
- [nzWidth]="props['autocompleteOptions']?.width"
241
- [nzOverlayClassName]="props['autocompleteOptions']?.overlayClassName"
242
- [nzOverlayStyle]="props['autocompleteOptions']?.overlayStyle"
243
- [compareWith]="props['autocompleteOptions']?.compareWith"
244
- #auto
245
- >
246
- @for (option of props['autocompleteOptions'].dataSource; track option) {
247
- <nz-auto-option [nzLabel]="option.label" [nzValue]="option.value" [attr.title]="option.label">
248
- {{ option.label }}
249
- </nz-auto-option>
250
- }
251
- </nz-autocomplete>
252
- </nz-input-group>
253
- }
254
- @case ('group') {
255
- <nz-input-group
256
- [nzPrefixIcon]="props['prefixIcon']"
257
- [nzSuffixIcon]="props['suffixIcon']"
258
- [nzAddOnAfterIcon]="props['addOnAfterIcon']"
259
- [nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
260
- [nzAddOnBefore]="addOnBefore"
261
- [nzAddOnAfter]="addOnAfter"
262
- [class]="props['className']"
263
- [style]="props['style']"
264
- [nzPrefix]="props['prefix']"
265
- [nzSuffix]="props['allowClear'] ? inputClearTpl : props['suffix']"
266
- [nzCompact]="!!props['compact']"
267
- [nzSearch]="!!props['search']"
268
- [nzSize]="props['size']!"
269
- [nzStatus]="props['status']!"
270
- >
271
- <input
272
- nz-input
273
- type="text"
274
- [formControl]="formControl"
275
- [formlyAttributes]="field"
276
- [nzBorderless]="!!props['borderless']"
277
- (ngModelChange)="props['modelChange']?.(field, $event)"
278
- />
279
- </nz-input-group>
280
- }
281
- @default {
282
- <input
283
- nz-input
284
- type="text"
285
- [class]="props['className']"
286
- [style]="props['style']"
287
- [formControl]="formControl"
288
- [formlyAttributes]="field"
289
- [nzSize]="props['size']"
290
- [nzStatus]="props['status']"
291
- [nzBorderless]="!!props['borderless']"
292
- (ngModelChange)="props['modelChange']?.(field, $event)"
293
- />
294
- }
295
- }
296
-
297
- <!-- 查看密码 -->
298
- <ng-template #passwordEyeTpl>
299
- <span
300
- nz-icon
301
- class="cursor-pointer"
302
- [nzType]="passVisible ? 'eye-invisible' : 'eye'"
303
- (click)="passVisible = !passVisible"
304
- ></span>
305
-
306
- @if (formControl.value && props['allowClear']!!) {
307
- <span
308
- nz-icon
309
- class="ant-input-clear-icon"
310
- nzTheme="fill"
311
- nzType="close-circle"
312
- (click)="formControl.reset()"
313
- ></span>
314
- }
315
- </ng-template>
316
- <!-- 清除数据 -->
317
- <ng-template #inputClearTpl>
318
- @if (formControl.value && !props['disabled'] && !props['readonly']) {
319
- <span
320
- nz-icon
321
- class="ant-input-clear-icon"
322
- nzTheme="fill"
323
- nzType="close-circle"
324
- (click)="formControl.reset()"
325
- ></span>
326
- }
327
- </ng-template>
187
+ template: `
188
+ @switch (props.type) {
189
+ @case ('password') {
190
+ <nz-input-group
191
+ [nzPrefixIcon]="props['prefixIcon']"
192
+ [nzSuffixIcon]="props['suffixIcon']"
193
+ [nzAddOnAfterIcon]="props['addOnAfterIcon']"
194
+ [nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
195
+ [nzAddOnBefore]="addOnBefore"
196
+ [nzAddOnAfter]="addOnAfter"
197
+ [class]="props['className']"
198
+ [style]="props['style']"
199
+ [nzPrefix]="props['prefix']"
200
+ [nzCompact]="!!props['compact']"
201
+ [nzSearch]="!!props['search']"
202
+ [nzSize]="props['size']!"
203
+ [nzStatus]="props['status']!"
204
+ [nzSuffix]="passwordEyeTpl"
205
+ >
206
+ <input
207
+ [type]="passVisible ? 'text' : 'password'"
208
+ nz-input
209
+ [formControl]="formControl"
210
+ [formlyAttributes]="field"
211
+ [nzBorderless]="!!props['borderless']"
212
+ (ngModelChange)="props['modelChange']?.(field, $event)"
213
+ />
214
+ </nz-input-group>
215
+ }
216
+ @case ('autoComplete') {
217
+ <nz-input-group
218
+ [nzSize]="props['size']"
219
+ [nzPrefixIcon]="props['prefixIcon']"
220
+ [nzSuffixIcon]="props['suffixIcon']"
221
+ [nzAddOnAfterIcon]="props['addOnAfterIcon']"
222
+ [nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
223
+ [nzAddOnBefore]="addOnBefore"
224
+ [nzAddOnAfter]="addOnAfter"
225
+ [class]="props['className']"
226
+ [style]="props['style']"
227
+ [nzPrefix]="props['prefix']"
228
+ [nzSuffix]="props['allowClear'] ? inputClearTpl : props['suffix']"
229
+ >
230
+ <input
231
+ nz-input
232
+ [nzBorderless]="!!props['borderless']"
233
+ [nzAutocomplete]="auto"
234
+ [formControl]="formControl"
235
+ [formlyAttributes]="field"
236
+ />
237
+ <nz-autocomplete
238
+ [nzBackfill]="props['autocompleteOptions']?.backfill"
239
+ [nzDefaultActiveFirstOption]="props['autocompleteOptions']?.defaultActiveFirstOption"
240
+ [nzWidth]="props['autocompleteOptions']?.width"
241
+ [nzOverlayClassName]="props['autocompleteOptions']?.overlayClassName"
242
+ [nzOverlayStyle]="props['autocompleteOptions']?.overlayStyle"
243
+ [compareWith]="props['autocompleteOptions']?.compareWith"
244
+ #auto
245
+ >
246
+ @for (option of props['autocompleteOptions'].dataSource; track option) {
247
+ <nz-auto-option [nzLabel]="option.label" [nzValue]="option.value" [attr.title]="option.label">
248
+ {{ option.label }}
249
+ </nz-auto-option>
250
+ }
251
+ </nz-autocomplete>
252
+ </nz-input-group>
253
+ }
254
+ @case ('group') {
255
+ <nz-input-group
256
+ [nzPrefixIcon]="props['prefixIcon']"
257
+ [nzSuffixIcon]="props['suffixIcon']"
258
+ [nzAddOnAfterIcon]="props['addOnAfterIcon']"
259
+ [nzAddOnBeforeIcon]="props['addOnBeforeIcon']"
260
+ [nzAddOnBefore]="addOnBefore"
261
+ [nzAddOnAfter]="addOnAfter"
262
+ [class]="props['className']"
263
+ [style]="props['style']"
264
+ [nzPrefix]="props['prefix']"
265
+ [nzSuffix]="props['allowClear'] ? inputClearTpl : props['suffix']"
266
+ [nzCompact]="!!props['compact']"
267
+ [nzSearch]="!!props['search']"
268
+ [nzSize]="props['size']!"
269
+ [nzStatus]="props['status']!"
270
+ >
271
+ <input
272
+ nz-input
273
+ type="text"
274
+ [formControl]="formControl"
275
+ [formlyAttributes]="field"
276
+ [nzBorderless]="!!props['borderless']"
277
+ (ngModelChange)="props['modelChange']?.(field, $event)"
278
+ />
279
+ </nz-input-group>
280
+ }
281
+ @default {
282
+ <input
283
+ nz-input
284
+ type="text"
285
+ [class]="props['className']"
286
+ [style]="props['style']"
287
+ [formControl]="formControl"
288
+ [formlyAttributes]="field"
289
+ [nzSize]="props['size']"
290
+ [nzStatus]="props['status']"
291
+ [nzBorderless]="!!props['borderless']"
292
+ (ngModelChange)="props['modelChange']?.(field, $event)"
293
+ />
294
+ }
295
+ }
296
+
297
+ <!-- 查看密码 -->
298
+ <ng-template #passwordEyeTpl>
299
+ <span
300
+ nz-icon
301
+ class="cursor-pointer"
302
+ [nzType]="passVisible ? 'eye-invisible' : 'eye'"
303
+ (click)="passVisible = !passVisible"
304
+ ></span>
305
+
306
+ @if (formControl.value && props['allowClear']!!) {
307
+ <span
308
+ nz-icon
309
+ class="ant-input-clear-icon"
310
+ nzTheme="fill"
311
+ nzType="close-circle"
312
+ (click)="formControl.setValue(undefined)"
313
+ ></span>
314
+ }
315
+ </ng-template>
316
+ <!-- 清除数据 -->
317
+ <ng-template #inputClearTpl>
318
+ @if (formControl.value && !props['disabled'] && !props['readonly']) {
319
+ <span
320
+ nz-icon
321
+ class="ant-input-clear-icon"
322
+ nzTheme="fill"
323
+ nzType="close-circle"
324
+ (click)="formControl.setValue(undefined)"
325
+ ></span>
326
+ }
327
+ </ng-template>
328
328
  `,
329
- changeDetection: ChangeDetectionStrategy.OnPush
329
+ changeDetection: ChangeDetectionStrategy.OnPush,
330
+ standalone: false
330
331
  }]
331
332
  }], ctorParameters: () => [{ type: i1.FormlyBoxTemplates, decorators: [{
332
333
  type: Optional
333
334
  }] }] });
334
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Zvcm1seWFudGQvaW5wdXQvc3JjL2lucHV0LnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQVUsdUJBQXVCLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUFFLFNBQVMsRUFBbUIsTUFBTSxrQkFBa0IsQ0FBQztBQUc5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7O0FBT2xGOztHQUVHO0FBbUpILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxTQUEwQjtJQWdCOUQsWUFBK0IsY0FBa0M7UUFDL0QsS0FBSyxFQUFFLENBQUM7UUFEcUIsbUJBQWMsR0FBZCxjQUFjLENBQW9CO1FBZnhELG1CQUFjLEdBQUc7WUFDeEIsS0FBSyxFQUFFO2dCQUNMLFVBQVUsRUFBRSxLQUFLO2dCQUNqQixPQUFPLEVBQUUsS0FBSztnQkFDZCxNQUFNLEVBQUUsS0FBSztnQkFDYixVQUFVLEVBQUUsS0FBSztnQkFDakIsbUJBQW1CLEVBQUU7b0JBQ25CLFFBQVEsRUFBRSxLQUFLO29CQUNmLHdCQUF3QixFQUFFLElBQUk7b0JBQzlCLFdBQVcsRUFBRSxDQUFDLEVBQWEsRUFBRSxFQUFhLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO2lCQUN6RDthQUNGO1NBQ0YsQ0FBQztRQUNGLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0lBSXBCLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN2RSxDQUFDOytHQTFCVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQixpRkFoSmpCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2SVQ7OzRGQUdVLGdCQUFnQjtrQkFsSjVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2SVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzswQkFpQmMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT3B0aW9uYWwsIHNpZ25hbCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpZWxkVHlwZSwgRmllbGRUeXBlQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgdHlwZSB7IE56Rm9ybWx5RmllbGRDb25maWcgfSBmcm9tICduZ3gtZm9ybWx5LXpvcnJvLWFudGQvY29tbW9uJztcbmltcG9ydCB0eXBlIHsgTnpTYWZlQW55IH0gZnJvbSAnbmctem9ycm8tYW50ZC9jb3JlL3R5cGVzJztcbmltcG9ydCB7IEZvcm1seUJveFRlbXBsYXRlcywgcmVzb2x2ZVRwbE5hbWUgfSBmcm9tICduZ3gtZm9ybWx5LXpvcnJvLWFudGQvY29tbW9uJztcblxuaW1wb3J0IHR5cGUgeyBJbnB1dFByb3BzIH0gZnJvbSAnLi9pbnB1dC5wcm9wcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybWx5SW5wdXRGaWVsZENvbmZpZyBleHRlbmRzIE56Rm9ybWx5RmllbGRDb25maWc8SW5wdXRQcm9wcz4ge1xuICB0eXBlOiAnaW5wdXQnIHwgJ3N0cmluZycgfCAncGFzc3dvcmQnIHwgVHlwZTxGb3JtbHlGaWVsZElucHV0Pjtcbn1cbi8qKlxuICogQHByaXZhdGVcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZm9ybWx5LWZpZWxkLWlucHV0JyxcbiAgdGVtcGxhdGU6IGBcbiAgICBAc3dpdGNoIChwcm9wcy50eXBlKSB7XG4gICAgICBAY2FzZSAoJ3Bhc3N3b3JkJykge1xuICAgICAgICA8bnotaW5wdXQtZ3JvdXBcbiAgICAgICAgICBbbnpQcmVmaXhJY29uXT1cInByb3BzWydwcmVmaXhJY29uJ11cIlxuICAgICAgICAgIFtuelN1ZmZpeEljb25dPVwicHJvcHNbJ3N1ZmZpeEljb24nXVwiXG4gICAgICAgICAgW256QWRkT25BZnRlckljb25dPVwicHJvcHNbJ2FkZE9uQWZ0ZXJJY29uJ11cIlxuICAgICAgICAgIFtuekFkZE9uQmVmb3JlSWNvbl09XCJwcm9wc1snYWRkT25CZWZvcmVJY29uJ11cIlxuICAgICAgICAgIFtuekFkZE9uQmVmb3JlXT1cImFkZE9uQmVmb3JlXCJcbiAgICAgICAgICBbbnpBZGRPbkFmdGVyXT1cImFkZE9uQWZ0ZXJcIlxuICAgICAgICAgIFtjbGFzc109XCJwcm9wc1snY2xhc3NOYW1lJ11cIlxuICAgICAgICAgIFtzdHlsZV09XCJwcm9wc1snc3R5bGUnXVwiXG4gICAgICAgICAgW256UHJlZml4XT1cInByb3BzWydwcmVmaXgnXVwiXG4gICAgICAgICAgW256Q29tcGFjdF09XCIhIXByb3BzWydjb21wYWN0J11cIlxuICAgICAgICAgIFtuelNlYXJjaF09XCIhIXByb3BzWydzZWFyY2gnXVwiXG4gICAgICAgICAgW256U2l6ZV09XCJwcm9wc1snc2l6ZSddIVwiXG4gICAgICAgICAgW256U3RhdHVzXT1cInByb3BzWydzdGF0dXMnXSFcIlxuICAgICAgICAgIFtuelN1ZmZpeF09XCJwYXNzd29yZEV5ZVRwbFwiXG4gICAgICAgID5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIFt0eXBlXT1cInBhc3NWaXNpYmxlID8gJ3RleHQnIDogJ3Bhc3N3b3JkJ1wiXG4gICAgICAgICAgICBuei1pbnB1dFxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcbiAgICAgICAgICAgIFtmb3JtbHlBdHRyaWJ1dGVzXT1cImZpZWxkXCJcbiAgICAgICAgICAgIFtuekJvcmRlcmxlc3NdPVwiISFwcm9wc1snYm9yZGVybGVzcyddXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInByb3BzWydtb2RlbENoYW5nZSddPy4oZmllbGQsICRldmVudClcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvbnotaW5wdXQtZ3JvdXA+XG4gICAgICB9XG4gICAgICBAY2FzZSAoJ2F1dG9Db21wbGV0ZScpIHtcbiAgICAgICAgPG56LWlucHV0LWdyb3VwXG4gICAgICAgICAgW256U2l6ZV09XCJwcm9wc1snc2l6ZSddXCJcbiAgICAgICAgICBbbnpQcmVmaXhJY29uXT1cInByb3BzWydwcmVmaXhJY29uJ11cIlxuICAgICAgICAgIFtuelN1ZmZpeEljb25dPVwicHJvcHNbJ3N1ZmZpeEljb24nXVwiXG4gICAgICAgICAgW256QWRkT25BZnRlckljb25dPVwicHJvcHNbJ2FkZE9uQWZ0ZXJJY29uJ11cIlxuICAgICAgICAgIFtuekFkZE9uQmVmb3JlSWNvbl09XCJwcm9wc1snYWRkT25CZWZvcmVJY29uJ11cIlxuICAgICAgICAgIFtuekFkZE9uQmVmb3JlXT1cImFkZE9uQmVmb3JlXCJcbiAgICAgICAgICBbbnpBZGRPbkFmdGVyXT1cImFkZE9uQWZ0ZXJcIlxuICAgICAgICAgIFtjbGFzc109XCJwcm9wc1snY2xhc3NOYW1lJ11cIlxuICAgICAgICAgIFtzdHlsZV09XCJwcm9wc1snc3R5bGUnXVwiXG4gICAgICAgICAgW256UHJlZml4XT1cInByb3BzWydwcmVmaXgnXVwiXG4gICAgICAgICAgW256U3VmZml4XT1cInByb3BzWydhbGxvd0NsZWFyJ10gPyBpbnB1dENsZWFyVHBsIDogcHJvcHNbJ3N1ZmZpeCddXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgbnotaW5wdXRcbiAgICAgICAgICAgIFtuekJvcmRlcmxlc3NdPVwiISFwcm9wc1snYm9yZGVybGVzcyddXCJcbiAgICAgICAgICAgIFtuekF1dG9jb21wbGV0ZV09XCJhdXRvXCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJmb3JtQ29udHJvbFwiXG4gICAgICAgICAgICBbZm9ybWx5QXR0cmlidXRlc109XCJmaWVsZFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8bnotYXV0b2NvbXBsZXRlXG4gICAgICAgICAgICBbbnpCYWNrZmlsbF09XCJwcm9wc1snYXV0b2NvbXBsZXRlT3B0aW9ucyddPy5iYWNrZmlsbFwiXG4gICAgICAgICAgICBbbnpEZWZhdWx0QWN0aXZlRmlyc3RPcHRpb25dPVwicHJvcHNbJ2F1dG9jb21wbGV0ZU9wdGlvbnMnXT8uZGVmYXVsdEFjdGl2ZUZpcnN0T3B0aW9uXCJcbiAgICAgICAgICAgIFtueldpZHRoXT1cInByb3BzWydhdXRvY29tcGxldGVPcHRpb25zJ10/LndpZHRoXCJcbiAgICAgICAgICAgIFtuek92ZXJsYXlDbGFzc05hbWVdPVwicHJvcHNbJ2F1dG9jb21wbGV0ZU9wdGlvbnMnXT8ub3ZlcmxheUNsYXNzTmFtZVwiXG4gICAgICAgICAgICBbbnpPdmVybGF5U3R5bGVdPVwicHJvcHNbJ2F1dG9jb21wbGV0ZU9wdGlvbnMnXT8ub3ZlcmxheVN0eWxlXCJcbiAgICAgICAgICAgIFtjb21wYXJlV2l0aF09XCJwcm9wc1snYXV0b2NvbXBsZXRlT3B0aW9ucyddPy5jb21wYXJlV2l0aFwiXG4gICAgICAgICAgICAjYXV0b1xuICAgICAgICAgID5cbiAgICAgICAgICAgIEBmb3IgKG9wdGlvbiBvZiBwcm9wc1snYXV0b2NvbXBsZXRlT3B0aW9ucyddLmRhdGFTb3VyY2U7IHRyYWNrIG9wdGlvbikge1xuICAgICAgICAgICAgICA8bnotYXV0by1vcHRpb24gW256TGFiZWxdPVwib3B0aW9uLmxhYmVsXCIgW256VmFsdWVdPVwib3B0aW9uLnZhbHVlXCIgW2F0dHIudGl0bGVdPVwib3B0aW9uLmxhYmVsXCI+XG4gICAgICAgICAgICAgICAge3sgb3B0aW9uLmxhYmVsIH19XG4gICAgICAgICAgICAgIDwvbnotYXV0by1vcHRpb24+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9uei1hdXRvY29tcGxldGU+XG4gICAgICAgIDwvbnotaW5wdXQtZ3JvdXA+XG4gICAgICB9XG4gICAgICBAY2FzZSAoJ2dyb3VwJykge1xuICAgICAgICA8bnotaW5wdXQtZ3JvdXBcbiAgICAgICAgICBbbnpQcmVmaXhJY29uXT1cInByb3BzWydwcmVmaXhJY29uJ11cIlxuICAgICAgICAgIFtuelN1ZmZpeEljb25dPVwicHJvcHNbJ3N1ZmZpeEljb24nXVwiXG4gICAgICAgICAgW256QWRkT25BZnRlckljb25dPVwicHJvcHNbJ2FkZE9uQWZ0ZXJJY29uJ11cIlxuICAgICAgICAgIFtuekFkZE9uQmVmb3JlSWNvbl09XCJwcm9wc1snYWRkT25CZWZvcmVJY29uJ11cIlxuICAgICAgICAgIFtuekFkZE9uQmVmb3JlXT1cImFkZE9uQmVmb3JlXCJcbiAgICAgICAgICBbbnpBZGRPbkFmdGVyXT1cImFkZE9uQWZ0ZXJcIlxuICAgICAgICAgIFtjbGFzc109XCJwcm9wc1snY2xhc3NOYW1lJ11cIlxuICAgICAgICAgIFtzdHlsZV09XCJwcm9wc1snc3R5bGUnXVwiXG4gICAgICAgICAgW256UHJlZml4XT1cInByb3BzWydwcmVmaXgnXVwiXG4gICAgICAgICAgW256U3VmZml4XT1cInByb3BzWydhbGxvd0NsZWFyJ10gPyBpbnB1dENsZWFyVHBsIDogcHJvcHNbJ3N1ZmZpeCddXCJcbiAgICAgICAgICBbbnpDb21wYWN0XT1cIiEhcHJvcHNbJ2NvbXBhY3QnXVwiXG4gICAgICAgICAgW256U2VhcmNoXT1cIiEhcHJvcHNbJ3NlYXJjaCddXCJcbiAgICAgICAgICBbbnpTaXplXT1cInByb3BzWydzaXplJ10hXCJcbiAgICAgICAgICBbbnpTdGF0dXNdPVwicHJvcHNbJ3N0YXR1cyddIVwiXG4gICAgICAgID5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIG56LWlucHV0XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgW2Zvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIlxuICAgICAgICAgICAgW256Qm9yZGVybGVzc109XCIhIXByb3BzWydib3JkZXJsZXNzJ11cIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicHJvcHNbJ21vZGVsQ2hhbmdlJ10/LihmaWVsZCwgJGV2ZW50KVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9uei1pbnB1dC1ncm91cD5cbiAgICAgIH1cbiAgICAgIEBkZWZhdWx0IHtcbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgbnotaW5wdXRcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgW2NsYXNzXT1cInByb3BzWydjbGFzc05hbWUnXVwiXG4gICAgICAgICAgW3N0eWxlXT1cInByb3BzWydzdHlsZSddXCJcbiAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxuICAgICAgICAgIFtmb3JtbHlBdHRyaWJ1dGVzXT1cImZpZWxkXCJcbiAgICAgICAgICBbbnpTaXplXT1cInByb3BzWydzaXplJ11cIlxuICAgICAgICAgIFtuelN0YXR1c109XCJwcm9wc1snc3RhdHVzJ11cIlxuICAgICAgICAgIFtuekJvcmRlcmxlc3NdPVwiISFwcm9wc1snYm9yZGVybGVzcyddXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJwcm9wc1snbW9kZWxDaGFuZ2UnXT8uKGZpZWxkLCAkZXZlbnQpXCJcbiAgICAgICAgLz5cbiAgICAgIH1cbiAgICB9XG5cbiAgICA8IS0tIOafpeeci+WvhueggSAtLT5cbiAgICA8bmctdGVtcGxhdGUgI3Bhc3N3b3JkRXllVHBsPlxuICAgICAgPHNwYW5cbiAgICAgICAgbnotaWNvblxuICAgICAgICBjbGFzcz1cImN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgW256VHlwZV09XCJwYXNzVmlzaWJsZSA/ICdleWUtaW52aXNpYmxlJyA6ICdleWUnXCJcbiAgICAgICAgKGNsaWNrKT1cInBhc3NWaXNpYmxlID0gIXBhc3NWaXNpYmxlXCJcbiAgICAgID48L3NwYW4+XG5cbiAgICAgIEBpZiAoZm9ybUNvbnRyb2wudmFsdWUgJiYgcHJvcHNbJ2FsbG93Q2xlYXInXSEhKSB7XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgbnotaWNvblxuICAgICAgICAgIGNsYXNzPVwiYW50LWlucHV0LWNsZWFyLWljb25cIlxuICAgICAgICAgIG56VGhlbWU9XCJmaWxsXCJcbiAgICAgICAgICBuelR5cGU9XCJjbG9zZS1jaXJjbGVcIlxuICAgICAgICAgIChjbGljayk9XCJmb3JtQ29udHJvbC5yZXNldCgpXCJcbiAgICAgICAgPjwvc3Bhbj5cbiAgICAgIH1cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwhLS0g5riF6Zmk5pWw5o2uIC0tPlxuICAgIDxuZy10ZW1wbGF0ZSAjaW5wdXRDbGVhclRwbD5cbiAgICAgIEBpZiAoZm9ybUNvbnRyb2wudmFsdWUgJiYgIXByb3BzWydkaXNhYmxlZCddICYmICFwcm9wc1sncmVhZG9ubHknXSkge1xuICAgICAgICA8c3BhblxuICAgICAgICAgIG56LWljb25cbiAgICAgICAgICBjbGFzcz1cImFudC1pbnB1dC1jbGVhci1pY29uXCJcbiAgICAgICAgICBuelRoZW1lPVwiZmlsbFwiXG4gICAgICAgICAgbnpUeXBlPVwiY2xvc2UtY2lyY2xlXCJcbiAgICAgICAgICAoY2xpY2spPVwiZm9ybUNvbnRyb2wucmVzZXQoKVwiXG4gICAgICAgID48L3NwYW4+XG4gICAgICB9XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgYCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRm9ybWx5RmllbGRJbnB1dCBleHRlbmRzIEZpZWxkVHlwZTxGaWVsZFR5cGVDb25maWc+IHtcbiAgb3ZlcnJpZGUgZGVmYXVsdE9wdGlvbnMgPSB7XG4gICAgcHJvcHM6IHtcbiAgICAgIGJvcmRlcmxlc3M6IGZhbHNlLFxuICAgICAgY29tcGFjdDogZmFsc2UsXG4gICAgICBzZWFyY2g6IGZhbHNlLFxuICAgICAgYWxsb3dDbGVhcjogZmFsc2UsXG4gICAgICBhdXRvY29tcGxldGVPcHRpb25zOiB7XG4gICAgICAgIGJhY2tmaWxsOiBmYWxzZSxcbiAgICAgICAgZGVmYXVsdEFjdGl2ZUZpcnN0T3B0aW9uOiB0cnVlLFxuICAgICAgICBjb21wYXJlV2l0aDogKG8xOiBOelNhZmVBbnksIG8yOiBOelNhZmVBbnkpID0+IG8xID09PSBvMlxuICAgICAgfVxuICAgIH1cbiAgfTtcbiAgcGFzc1Zpc2libGUgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwdWJsaWMgZmllbGRUZW1wbGF0ZXM6IEZvcm1seUJveFRlbXBsYXRlcykge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBnZXQgYWRkT25CZWZvcmUoKSB7XG4gICAgcmV0dXJuIHJlc29sdmVUcGxOYW1lKHRoaXMucHJvcHMsIHRoaXMuZmllbGRUZW1wbGF0ZXMsICdhZGRPbkJlZm9yZScpO1xuICB9XG5cbiAgZ2V0IGFkZE9uQWZ0ZXIoKSB7XG4gICAgcmV0dXJuIHJlc29sdmVUcGxOYW1lKHRoaXMucHJvcHMsIHRoaXMuZmllbGRUZW1wbGF0ZXMsICdhZGRPbkFmdGVyJyk7XG4gIH1cbn1cbiJdfQ==
335
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2Zvcm1seWFudGQvaW5wdXQvc3JjL2lucHV0LnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsdUJBQXVCLEVBQVEsTUFBTSxlQUFlLENBQUM7QUFDbkYsT0FBTyxFQUFFLFNBQVMsRUFBbUIsTUFBTSxrQkFBa0IsQ0FBQztBQUc5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7O0FBT2xGOztHQUVHO0FBb0pILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxTQUEwQjtJQWdCOUQsWUFBK0IsY0FBa0M7UUFDL0QsS0FBSyxFQUFFLENBQUM7UUFEcUIsbUJBQWMsR0FBZCxjQUFjLENBQW9CO1FBZnhELG1CQUFjLEdBQUc7WUFDeEIsS0FBSyxFQUFFO2dCQUNMLFVBQVUsRUFBRSxLQUFLO2dCQUNqQixPQUFPLEVBQUUsS0FBSztnQkFDZCxNQUFNLEVBQUUsS0FBSztnQkFDYixVQUFVLEVBQUUsS0FBSztnQkFDakIsbUJBQW1CLEVBQUU7b0JBQ25CLFFBQVEsRUFBRSxLQUFLO29CQUNmLHdCQUF3QixFQUFFLElBQUk7b0JBQzlCLFdBQVcsRUFBRSxDQUFDLEVBQWEsRUFBRSxFQUFhLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO2lCQUN6RDthQUNGO1NBQ0YsQ0FBQztRQUNGLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0lBSXBCLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUN2RSxDQUFDOytHQTFCVSxnQkFBZ0I7bUdBQWhCLGdCQUFnQixpRkFqSmpCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2SVQ7OzRGQUlVLGdCQUFnQjtrQkFuSjVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9CQUFvQjtvQkFDOUIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2SVQ7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLFVBQVUsRUFBRSxLQUFLO2lCQUNsQjs7MEJBaUJjLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9wdGlvbmFsLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGaWVsZFR5cGUsIEZpZWxkVHlwZUNvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xyXG5pbXBvcnQgdHlwZSB7IE56Rm9ybWx5RmllbGRDb25maWcgfSBmcm9tICduZ3gtZm9ybWx5LXpvcnJvLWFudGQvY29tbW9uJztcclxuaW1wb3J0IHR5cGUgeyBOelNhZmVBbnkgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdHlwZXMnO1xyXG5pbXBvcnQgeyBGb3JtbHlCb3hUZW1wbGF0ZXMsIHJlc29sdmVUcGxOYW1lIH0gZnJvbSAnbmd4LWZvcm1seS16b3Jyby1hbnRkL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgdHlwZSB7IElucHV0UHJvcHMgfSBmcm9tICcuL2lucHV0LnByb3BzJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRm9ybWx5SW5wdXRGaWVsZENvbmZpZyBleHRlbmRzIE56Rm9ybWx5RmllbGRDb25maWc8SW5wdXRQcm9wcz4ge1xyXG4gIHR5cGU6ICdpbnB1dCcgfCAnc3RyaW5nJyB8ICdwYXNzd29yZCcgfCBUeXBlPEZvcm1seUZpZWxkSW5wdXQ+O1xyXG59XHJcbi8qKlxyXG4gKiBAcHJpdmF0ZVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdmb3JtbHktZmllbGQtaW5wdXQnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICBAc3dpdGNoIChwcm9wcy50eXBlKSB7XHJcbiAgICAgIEBjYXNlICgncGFzc3dvcmQnKSB7XHJcbiAgICAgICAgPG56LWlucHV0LWdyb3VwXHJcbiAgICAgICAgICBbbnpQcmVmaXhJY29uXT1cInByb3BzWydwcmVmaXhJY29uJ11cIlxyXG4gICAgICAgICAgW256U3VmZml4SWNvbl09XCJwcm9wc1snc3VmZml4SWNvbiddXCJcclxuICAgICAgICAgIFtuekFkZE9uQWZ0ZXJJY29uXT1cInByb3BzWydhZGRPbkFmdGVySWNvbiddXCJcclxuICAgICAgICAgIFtuekFkZE9uQmVmb3JlSWNvbl09XCJwcm9wc1snYWRkT25CZWZvcmVJY29uJ11cIlxyXG4gICAgICAgICAgW256QWRkT25CZWZvcmVdPVwiYWRkT25CZWZvcmVcIlxyXG4gICAgICAgICAgW256QWRkT25BZnRlcl09XCJhZGRPbkFmdGVyXCJcclxuICAgICAgICAgIFtjbGFzc109XCJwcm9wc1snY2xhc3NOYW1lJ11cIlxyXG4gICAgICAgICAgW3N0eWxlXT1cInByb3BzWydzdHlsZSddXCJcclxuICAgICAgICAgIFtuelByZWZpeF09XCJwcm9wc1sncHJlZml4J11cIlxyXG4gICAgICAgICAgW256Q29tcGFjdF09XCIhIXByb3BzWydjb21wYWN0J11cIlxyXG4gICAgICAgICAgW256U2VhcmNoXT1cIiEhcHJvcHNbJ3NlYXJjaCddXCJcclxuICAgICAgICAgIFtuelNpemVdPVwicHJvcHNbJ3NpemUnXSFcIlxyXG4gICAgICAgICAgW256U3RhdHVzXT1cInByb3BzWydzdGF0dXMnXSFcIlxyXG4gICAgICAgICAgW256U3VmZml4XT1cInBhc3N3b3JkRXllVHBsXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgW3R5cGVdPVwicGFzc1Zpc2libGUgPyAndGV4dCcgOiAncGFzc3dvcmQnXCJcclxuICAgICAgICAgICAgbnotaW5wdXRcclxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcclxuICAgICAgICAgICAgW2Zvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIlxyXG4gICAgICAgICAgICBbbnpCb3JkZXJsZXNzXT1cIiEhcHJvcHNbJ2JvcmRlcmxlc3MnXVwiXHJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInByb3BzWydtb2RlbENoYW5nZSddPy4oZmllbGQsICRldmVudClcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L256LWlucHV0LWdyb3VwPlxyXG4gICAgICB9XHJcbiAgICAgIEBjYXNlICgnYXV0b0NvbXBsZXRlJykge1xyXG4gICAgICAgIDxuei1pbnB1dC1ncm91cFxyXG4gICAgICAgICAgW256U2l6ZV09XCJwcm9wc1snc2l6ZSddXCJcclxuICAgICAgICAgIFtuelByZWZpeEljb25dPVwicHJvcHNbJ3ByZWZpeEljb24nXVwiXHJcbiAgICAgICAgICBbbnpTdWZmaXhJY29uXT1cInByb3BzWydzdWZmaXhJY29uJ11cIlxyXG4gICAgICAgICAgW256QWRkT25BZnRlckljb25dPVwicHJvcHNbJ2FkZE9uQWZ0ZXJJY29uJ11cIlxyXG4gICAgICAgICAgW256QWRkT25CZWZvcmVJY29uXT1cInByb3BzWydhZGRPbkJlZm9yZUljb24nXVwiXHJcbiAgICAgICAgICBbbnpBZGRPbkJlZm9yZV09XCJhZGRPbkJlZm9yZVwiXHJcbiAgICAgICAgICBbbnpBZGRPbkFmdGVyXT1cImFkZE9uQWZ0ZXJcIlxyXG4gICAgICAgICAgW2NsYXNzXT1cInByb3BzWydjbGFzc05hbWUnXVwiXHJcbiAgICAgICAgICBbc3R5bGVdPVwicHJvcHNbJ3N0eWxlJ11cIlxyXG4gICAgICAgICAgW256UHJlZml4XT1cInByb3BzWydwcmVmaXgnXVwiXHJcbiAgICAgICAgICBbbnpTdWZmaXhdPVwicHJvcHNbJ2FsbG93Q2xlYXInXSA/IGlucHV0Q2xlYXJUcGwgOiBwcm9wc1snc3VmZml4J11cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICBuei1pbnB1dFxyXG4gICAgICAgICAgICBbbnpCb3JkZXJsZXNzXT1cIiEhcHJvcHNbJ2JvcmRlcmxlc3MnXVwiXHJcbiAgICAgICAgICAgIFtuekF1dG9jb21wbGV0ZV09XCJhdXRvXCJcclxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcclxuICAgICAgICAgICAgW2Zvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICAgIDxuei1hdXRvY29tcGxldGVcclxuICAgICAgICAgICAgW256QmFja2ZpbGxdPVwicHJvcHNbJ2F1dG9jb21wbGV0ZU9wdGlvbnMnXT8uYmFja2ZpbGxcIlxyXG4gICAgICAgICAgICBbbnpEZWZhdWx0QWN0aXZlRmlyc3RPcHRpb25dPVwicHJvcHNbJ2F1dG9jb21wbGV0ZU9wdGlvbnMnXT8uZGVmYXVsdEFjdGl2ZUZpcnN0T3B0aW9uXCJcclxuICAgICAgICAgICAgW256V2lkdGhdPVwicHJvcHNbJ2F1dG9jb21wbGV0ZU9wdGlvbnMnXT8ud2lkdGhcIlxyXG4gICAgICAgICAgICBbbnpPdmVybGF5Q2xhc3NOYW1lXT1cInByb3BzWydhdXRvY29tcGxldGVPcHRpb25zJ10/Lm92ZXJsYXlDbGFzc05hbWVcIlxyXG4gICAgICAgICAgICBbbnpPdmVybGF5U3R5bGVdPVwicHJvcHNbJ2F1dG9jb21wbGV0ZU9wdGlvbnMnXT8ub3ZlcmxheVN0eWxlXCJcclxuICAgICAgICAgICAgW2NvbXBhcmVXaXRoXT1cInByb3BzWydhdXRvY29tcGxldGVPcHRpb25zJ10/LmNvbXBhcmVXaXRoXCJcclxuICAgICAgICAgICAgI2F1dG9cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgQGZvciAob3B0aW9uIG9mIHByb3BzWydhdXRvY29tcGxldGVPcHRpb25zJ10uZGF0YVNvdXJjZTsgdHJhY2sgb3B0aW9uKSB7XHJcbiAgICAgICAgICAgICAgPG56LWF1dG8tb3B0aW9uIFtuekxhYmVsXT1cIm9wdGlvbi5sYWJlbFwiIFtuelZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiIFthdHRyLnRpdGxlXT1cIm9wdGlvbi5sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAge3sgb3B0aW9uLmxhYmVsIH19XHJcbiAgICAgICAgICAgICAgPC9uei1hdXRvLW9wdGlvbj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgPC9uei1hdXRvY29tcGxldGU+XHJcbiAgICAgICAgPC9uei1pbnB1dC1ncm91cD5cclxuICAgICAgfVxyXG4gICAgICBAY2FzZSAoJ2dyb3VwJykge1xyXG4gICAgICAgIDxuei1pbnB1dC1ncm91cFxyXG4gICAgICAgICAgW256UHJlZml4SWNvbl09XCJwcm9wc1sncHJlZml4SWNvbiddXCJcclxuICAgICAgICAgIFtuelN1ZmZpeEljb25dPVwicHJvcHNbJ3N1ZmZpeEljb24nXVwiXHJcbiAgICAgICAgICBbbnpBZGRPbkFmdGVySWNvbl09XCJwcm9wc1snYWRkT25BZnRlckljb24nXVwiXHJcbiAgICAgICAgICBbbnpBZGRPbkJlZm9yZUljb25dPVwicHJvcHNbJ2FkZE9uQmVmb3JlSWNvbiddXCJcclxuICAgICAgICAgIFtuekFkZE9uQmVmb3JlXT1cImFkZE9uQmVmb3JlXCJcclxuICAgICAgICAgIFtuekFkZE9uQWZ0ZXJdPVwiYWRkT25BZnRlclwiXHJcbiAgICAgICAgICBbY2xhc3NdPVwicHJvcHNbJ2NsYXNzTmFtZSddXCJcclxuICAgICAgICAgIFtzdHlsZV09XCJwcm9wc1snc3R5bGUnXVwiXHJcbiAgICAgICAgICBbbnpQcmVmaXhdPVwicHJvcHNbJ3ByZWZpeCddXCJcclxuICAgICAgICAgIFtuelN1ZmZpeF09XCJwcm9wc1snYWxsb3dDbGVhciddID8gaW5wdXRDbGVhclRwbCA6IHByb3BzWydzdWZmaXgnXVwiXHJcbiAgICAgICAgICBbbnpDb21wYWN0XT1cIiEhcHJvcHNbJ2NvbXBhY3QnXVwiXHJcbiAgICAgICAgICBbbnpTZWFyY2hdPVwiISFwcm9wc1snc2VhcmNoJ11cIlxyXG4gICAgICAgICAgW256U2l6ZV09XCJwcm9wc1snc2l6ZSddIVwiXHJcbiAgICAgICAgICBbbnpTdGF0dXNdPVwicHJvcHNbJ3N0YXR1cyddIVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIG56LWlucHV0XHJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm1Db250cm9sXCJcclxuICAgICAgICAgICAgW2Zvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIlxyXG4gICAgICAgICAgICBbbnpCb3JkZXJsZXNzXT1cIiEhcHJvcHNbJ2JvcmRlcmxlc3MnXVwiXHJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInByb3BzWydtb2RlbENoYW5nZSddPy4oZmllbGQsICRldmVudClcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L256LWlucHV0LWdyb3VwPlxyXG4gICAgICB9XHJcbiAgICAgIEBkZWZhdWx0IHtcclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIG56LWlucHV0XHJcbiAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICBbY2xhc3NdPVwicHJvcHNbJ2NsYXNzTmFtZSddXCJcclxuICAgICAgICAgIFtzdHlsZV09XCJwcm9wc1snc3R5bGUnXVwiXHJcbiAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybUNvbnRyb2xcIlxyXG4gICAgICAgICAgW2Zvcm1seUF0dHJpYnV0ZXNdPVwiZmllbGRcIlxyXG4gICAgICAgICAgW256U2l6ZV09XCJwcm9wc1snc2l6ZSddXCJcclxuICAgICAgICAgIFtuelN0YXR1c109XCJwcm9wc1snc3RhdHVzJ11cIlxyXG4gICAgICAgICAgW256Qm9yZGVybGVzc109XCIhIXByb3BzWydib3JkZXJsZXNzJ11cIlxyXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwicHJvcHNbJ21vZGVsQ2hhbmdlJ10/LihmaWVsZCwgJGV2ZW50KVwiXHJcbiAgICAgICAgLz5cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIDwhLS0g5p+l55yL5a+G56CBIC0tPlxyXG4gICAgPG5nLXRlbXBsYXRlICNwYXNzd29yZEV5ZVRwbD5cclxuICAgICAgPHNwYW5cclxuICAgICAgICBuei1pY29uXHJcbiAgICAgICAgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiXHJcbiAgICAgICAgW256VHlwZV09XCJwYXNzVmlzaWJsZSA/ICdleWUtaW52aXNpYmxlJyA6ICdleWUnXCJcclxuICAgICAgICAoY2xpY2spPVwicGFzc1Zpc2libGUgPSAhcGFzc1Zpc2libGVcIlxyXG4gICAgICA+PC9zcGFuPlxyXG5cclxuICAgICAgQGlmIChmb3JtQ29udHJvbC52YWx1ZSAmJiBwcm9wc1snYWxsb3dDbGVhciddISEpIHtcclxuICAgICAgICA8c3BhblxyXG4gICAgICAgICAgbnotaWNvblxyXG4gICAgICAgICAgY2xhc3M9XCJhbnQtaW5wdXQtY2xlYXItaWNvblwiXHJcbiAgICAgICAgICBuelRoZW1lPVwiZmlsbFwiXHJcbiAgICAgICAgICBuelR5cGU9XCJjbG9zZS1jaXJjbGVcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cImZvcm1Db250cm9sLnNldFZhbHVlKHVuZGVmaW5lZClcIlxyXG4gICAgICAgID48L3NwYW4+XHJcbiAgICAgIH1cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8IS0tIOa4hemZpOaVsOaNriAtLT5cclxuICAgIDxuZy10ZW1wbGF0ZSAjaW5wdXRDbGVhclRwbD5cclxuICAgICAgQGlmIChmb3JtQ29udHJvbC52YWx1ZSAmJiAhcHJvcHNbJ2Rpc2FibGVkJ10gJiYgIXByb3BzWydyZWFkb25seSddKSB7XHJcbiAgICAgICAgPHNwYW5cclxuICAgICAgICAgIG56LWljb25cclxuICAgICAgICAgIGNsYXNzPVwiYW50LWlucHV0LWNsZWFyLWljb25cIlxyXG4gICAgICAgICAgbnpUaGVtZT1cImZpbGxcIlxyXG4gICAgICAgICAgbnpUeXBlPVwiY2xvc2UtY2lyY2xlXCJcclxuICAgICAgICAgIChjbGljayk9XCJmb3JtQ29udHJvbC5zZXRWYWx1ZSh1bmRlZmluZWQpXCJcclxuICAgICAgICA+PC9zcGFuPlxyXG4gICAgICB9XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIGAsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgc3RhbmRhbG9uZTogZmFsc2VcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1seUZpZWxkSW5wdXQgZXh0ZW5kcyBGaWVsZFR5cGU8RmllbGRUeXBlQ29uZmlnPiB7XHJcbiAgb3ZlcnJpZGUgZGVmYXVsdE9wdGlvbnMgPSB7XHJcbiAgICBwcm9wczoge1xyXG4gICAgICBib3JkZXJsZXNzOiBmYWxzZSxcclxuICAgICAgY29tcGFjdDogZmFsc2UsXHJcbiAgICAgIHNlYXJjaDogZmFsc2UsXHJcbiAgICAgIGFsbG93Q2xlYXI6IGZhbHNlLFxyXG4gICAgICBhdXRvY29tcGxldGVPcHRpb25zOiB7XHJcbiAgICAgICAgYmFja2ZpbGw6IGZhbHNlLFxyXG4gICAgICAgIGRlZmF1bHRBY3RpdmVGaXJzdE9wdGlvbjogdHJ1ZSxcclxuICAgICAgICBjb21wYXJlV2l0aDogKG8xOiBOelNhZmVBbnksIG8yOiBOelNhZmVBbnkpID0+IG8xID09PSBvMlxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfTtcclxuICBwYXNzVmlzaWJsZSA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBwdWJsaWMgZmllbGRUZW1wbGF0ZXM6IEZvcm1seUJveFRlbXBsYXRlcykge1xyXG4gICAgc3VwZXIoKTtcclxuICB9XHJcblxyXG4gIGdldCBhZGRPbkJlZm9yZSgpIHtcclxuICAgIHJldHVybiByZXNvbHZlVHBsTmFtZSh0aGlzLnByb3BzLCB0aGlzLmZpZWxkVGVtcGxhdGVzLCAnYWRkT25CZWZvcmUnKTtcclxuICB9XHJcblxyXG4gIGdldCBhZGRPbkFmdGVyKCkge1xyXG4gICAgcmV0dXJuIHJlc29sdmVUcGxOYW1lKHRoaXMucHJvcHMsIHRoaXMuZmllbGRUZW1wbGF0ZXMsICdhZGRPbkFmdGVyJyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==