@mediusinc/mng-commons 0.2.6 → 0.2.11

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 (259) hide show
  1. package/README.md +46 -0
  2. package/assets/i18n/en.json +202 -147
  3. package/assets/i18n/sl.json +202 -147
  4. package/esm2020/lib/api/models/builders/query-param.builder.mjs +1 -1
  5. package/esm2020/lib/api/models/filter-match-type.model.mjs +1 -1
  6. package/esm2020/lib/api/models/filter-param.model.mjs +16 -27
  7. package/esm2020/lib/api/models/mappers.mjs +7 -7
  8. package/esm2020/lib/api/models/query-mode.model.mjs +1 -1
  9. package/esm2020/lib/api/models/query-param.model.mjs +38 -37
  10. package/esm2020/lib/api/models/query-result.model.mjs +14 -13
  11. package/esm2020/lib/api/services/crud-api.abstract.service.mjs +28 -21
  12. package/esm2020/lib/api/utils/medius-rest.util.mjs +11 -7
  13. package/esm2020/lib/api/utils/object-serializer.util.mjs +34 -27
  14. package/esm2020/lib/components/action/action.component.mjs +10 -7
  15. package/esm2020/lib/components/action/dialog/action-dialog.component.mjs +17 -14
  16. package/esm2020/lib/components/action/models/action-confirmation-service.model.mjs +1 -1
  17. package/esm2020/lib/components/action/models/action-execution.model.mjs +1 -1
  18. package/esm2020/lib/components/action/route/action-route.component.mjs +8 -6
  19. package/esm2020/lib/components/form/autocomplete/autocomplete.component.mjs +16 -14
  20. package/esm2020/lib/components/form/dropdown/dropdown.component.mjs +16 -15
  21. package/esm2020/lib/components/form/editor/form-editor.component.mjs +21 -24
  22. package/esm2020/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.mjs +3 -3
  23. package/esm2020/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.mjs +3 -3
  24. package/esm2020/lib/components/form/formly/fields/formly-field-fieldset/formly-field-fieldset.component.mjs +4 -4
  25. package/esm2020/lib/components/form/formly/fields/formly-field-input/formly-field-input.component.mjs +9 -8
  26. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +13 -13
  27. package/esm2020/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +12 -11
  28. package/esm2020/lib/components/form/formly/fields/formly-field-tabs/formly-field-tabs.component.mjs +4 -4
  29. package/esm2020/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.mjs +1 -3
  30. package/esm2020/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.mjs +1 -3
  31. package/esm2020/lib/components/form/models/form-editor.event.mjs +1 -1
  32. package/esm2020/lib/components/layout/breadcrumb.component.mjs +3 -3
  33. package/esm2020/lib/components/layout/footer.component.mjs +3 -3
  34. package/esm2020/lib/components/layout/main-layout.component.mjs +4 -4
  35. package/esm2020/lib/components/layout/menu-item.component.mjs +82 -38
  36. package/esm2020/lib/components/layout/menu.component.mjs +3 -3
  37. package/esm2020/lib/components/layout/services/main-layout.component.service.mjs +4 -1
  38. package/esm2020/lib/components/layout/topbar.component.mjs +5 -4
  39. package/esm2020/lib/components/tableview/index.mjs +1 -1
  40. package/esm2020/lib/components/tableview/models/table.event.mjs +1 -1
  41. package/esm2020/lib/components/tableview/route/tableview-route.abstract.component.mjs +2 -2
  42. package/esm2020/lib/components/tableview/route/tableview-route.component.mjs +1 -1
  43. package/esm2020/lib/components/tableview/services/tableview.component.service.mjs +9 -4
  44. package/esm2020/lib/components/tableview/table/column-filter/column-filter.component.mjs +4 -3
  45. package/esm2020/lib/components/tableview/table/column-value/column-value.component.mjs +1 -1
  46. package/esm2020/lib/components/tableview/table/table.component.mjs +29 -27
  47. package/esm2020/lib/components/tableview/tableview.component.mjs +11 -3
  48. package/esm2020/lib/config/formly.config.mjs +39 -22
  49. package/esm2020/lib/config/models/mng-config.model.mjs +1 -1
  50. package/esm2020/lib/data-providers/base.data-provider.mjs +1 -8
  51. package/esm2020/lib/data-providers/editor.data-provider.mjs +2 -2
  52. package/esm2020/lib/data-providers/lookup.data-provider.mjs +1 -1
  53. package/esm2020/lib/data-providers/tableview.data-provider.mjs +2 -2
  54. package/esm2020/lib/descriptors/action.descriptor.mjs +3 -5
  55. package/esm2020/lib/descriptors/editor.descriptor.mjs +130 -72
  56. package/esm2020/lib/descriptors/field.validator.mjs +1 -1
  57. package/esm2020/lib/descriptors/lookup.descriptor.mjs +1 -1
  58. package/esm2020/lib/descriptors/model.descriptor.mjs +3 -3
  59. package/esm2020/lib/descriptors/table.descriptor.mjs +52 -43
  60. package/esm2020/lib/descriptors/tableview.descriptor.mjs +7 -7
  61. package/esm2020/lib/directives/component.directive.mjs +2 -2
  62. package/esm2020/lib/directives/template.directive.mjs +2 -3
  63. package/esm2020/lib/mng-commons.module.mjs +30 -37
  64. package/esm2020/lib/models/enum.model.mjs +2 -0
  65. package/esm2020/lib/models/index.mjs +3 -1
  66. package/esm2020/lib/models/menu.model.mjs +2 -0
  67. package/esm2020/lib/models/user.model.mjs +1 -1
  68. package/esm2020/lib/pipes/boolean.pipe.mjs +1 -1
  69. package/esm2020/lib/pipes/i18n-property.pipe.mjs +18 -0
  70. package/esm2020/lib/pipes/index.mjs +2 -1
  71. package/esm2020/lib/pipes/property-path.pipe.mjs +1 -1
  72. package/esm2020/lib/router/models/router.model.mjs +1 -1
  73. package/esm2020/lib/router/route-builder.mjs +119 -45
  74. package/esm2020/lib/services/action.service.mjs +19 -15
  75. package/esm2020/lib/services/commons.service.mjs +15 -23
  76. package/esm2020/lib/services/configuration.service.mjs +3 -4
  77. package/esm2020/lib/services/navigation.service.mjs +2 -2
  78. package/esm2020/lib/services/providers/config-service.provider.mjs +2 -2
  79. package/esm2020/lib/services/providers/formly-config.provider.mjs +1 -1
  80. package/esm2020/lib/services/tokens/browser-storage.token.mjs +1 -1
  81. package/esm2020/lib/types/type.decorator.mjs +7 -1
  82. package/esm2020/lib/types/type.model.mjs +1 -1
  83. package/esm2020/lib/utils/editor-formly.util.mjs +16 -21
  84. package/esm2020/lib/utils/enum.util.mjs +61 -0
  85. package/esm2020/lib/utils/i18n.util.mjs +39 -27
  86. package/esm2020/lib/utils/index.mjs +2 -1
  87. package/esm2020/lib/utils/model.util.mjs +1 -1
  88. package/esm2020/lib/utils/route.util.mjs +1 -1
  89. package/esm2020/lib/utils/toast.util.mjs +3 -2
  90. package/esm2020/lib/utils/type.util.mjs +40 -2
  91. package/esm2020/public-api.mjs +2 -1
  92. package/fesm2015/mediusinc-mng-commons.mjs +3547 -3198
  93. package/fesm2015/mediusinc-mng-commons.mjs.map +1 -1
  94. package/fesm2020/mediusinc-mng-commons.mjs +3182 -2832
  95. package/fesm2020/mediusinc-mng-commons.mjs.map +1 -1
  96. package/lib/api/models/filter-param.model.d.ts +1 -1
  97. package/lib/api/services/crud-api.abstract.service.d.ts +6 -6
  98. package/lib/api/utils/medius-rest.util.d.ts +1 -1
  99. package/lib/api/utils/object-serializer.util.d.ts +6 -5
  100. package/lib/components/action/action.component.d.ts +3 -3
  101. package/lib/components/action/dialog/action-dialog.component.d.ts +9 -8
  102. package/lib/components/action/models/action-execution.model.d.ts +1 -1
  103. package/lib/components/action/route/action-route.component.d.ts +2 -2
  104. package/lib/components/form/autocomplete/autocomplete.component.d.ts +4 -3
  105. package/lib/components/form/dropdown/dropdown.component.d.ts +4 -3
  106. package/lib/components/form/editor/form-editor.component.d.ts +7 -6
  107. package/lib/components/form/formly/fields/formly-field-autocomplete/formly-field-autocomplete.component.d.ts +2 -1
  108. package/lib/components/form/formly/fields/formly-field-dropdown/formly-field-dropdown.component.d.ts +2 -1
  109. package/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.d.ts +1 -1
  110. package/lib/components/form/formly/wrappers/formly-field-wrapper/formly-field-wrapper.component.d.ts +1 -3
  111. package/lib/components/form/formly/wrappers/formly-table-wrapper/formly-table-wrapper.component.d.ts +1 -3
  112. package/lib/components/layout/main-layout.component.d.ts +3 -3
  113. package/lib/components/layout/menu-item.component.d.ts +18 -10
  114. package/lib/components/layout/services/main-layout.component.service.d.ts +1 -1
  115. package/lib/components/layout/topbar.component.d.ts +4 -4
  116. package/lib/components/tableview/route/tableview-route.abstract.component.d.ts +1 -1
  117. package/lib/components/tableview/route/tableview-route.component.d.ts +1 -1
  118. package/lib/components/tableview/services/tableview.component.service.d.ts +3 -2
  119. package/lib/components/tableview/table/table.component.d.ts +21 -19
  120. package/lib/components/tableview/tableview.component.d.ts +6 -4
  121. package/lib/config/formly.config.d.ts +2 -1
  122. package/lib/data-providers/base.data-provider.d.ts +0 -3
  123. package/lib/descriptors/action.descriptor.d.ts +2 -2
  124. package/lib/descriptors/editor.descriptor.d.ts +51 -34
  125. package/lib/descriptors/lookup.descriptor.d.ts +1 -1
  126. package/lib/descriptors/table.descriptor.d.ts +19 -16
  127. package/lib/descriptors/tableview.descriptor.d.ts +9 -9
  128. package/lib/mng-commons.module.d.ts +68 -66
  129. package/lib/models/enum.model.d.ts +5 -0
  130. package/lib/models/index.d.ts +2 -0
  131. package/lib/models/menu.model.d.ts +25 -0
  132. package/lib/pipes/i18n-property.pipe.d.ts +8 -0
  133. package/lib/pipes/index.d.ts +1 -0
  134. package/lib/router/models/router.model.d.ts +1 -1
  135. package/lib/router/route-builder.d.ts +13 -9
  136. package/lib/services/action.service.d.ts +3 -3
  137. package/lib/services/commons.service.d.ts +11 -11
  138. package/lib/services/navigation.service.d.ts +1 -1
  139. package/lib/services/providers/formly-config.provider.d.ts +1 -1
  140. package/lib/types/type.decorator.d.ts +2 -0
  141. package/lib/types/type.model.d.ts +2 -2
  142. package/lib/utils/editor-formly.util.d.ts +1 -1
  143. package/lib/utils/enum.util.d.ts +39 -0
  144. package/lib/utils/i18n.util.d.ts +6 -2
  145. package/lib/utils/index.d.ts +1 -0
  146. package/lib/utils/model.util.d.ts +1 -1
  147. package/lib/utils/toast.util.d.ts +1 -1
  148. package/lib/utils/type.util.d.ts +22 -1
  149. package/package.json +2 -2
  150. package/public-api.d.ts +1 -0
  151. package/scss/common/layout/_breadcrumb.scss +6 -6
  152. package/scss/common/layout/_config.scss +7 -8
  153. package/scss/common/layout/_exception.scss +12 -11
  154. package/scss/common/layout/_footer.scss +3 -3
  155. package/scss/common/layout/_help.scss +8 -9
  156. package/scss/common/layout/_inlinemenu.scss +3 -3
  157. package/scss/common/layout/_invoice.scss +16 -16
  158. package/scss/common/layout/_landing.scss +57 -60
  159. package/scss/common/layout/_loader.scss +0 -1
  160. package/scss/common/layout/_login.scss +3 -4
  161. package/scss/common/layout/_main.scss +3 -3
  162. package/scss/common/layout/_mixins.scss +28 -20
  163. package/scss/common/layout/_rightmenu.scss +5 -5
  164. package/scss/common/layout/_topbar.scss +7 -5
  165. package/scss/common/layout/_typography.scss +11 -6
  166. package/scss/common/layout/_utils.scss +1 -1
  167. package/scss/common/layout/_widgets.scss +20 -19
  168. package/scss/common/layout/menu/_menu_common.scss +6 -6
  169. package/scss/common/layout/menu/_menu_overlay.scss +1 -1
  170. package/scss/common/layout/menu/_menu_sidebar.scss +6 -5
  171. package/scss/common/layout/menu/_menu_slim.scss +2 -3
  172. package/scss/common/layout/menu/_menu_static.scss +1 -1
  173. package/scss/common/layout/menu/_menu_theme.scss +2 -3
  174. package/scss/common/theme/designer/_colors.scss +11 -12
  175. package/scss/common/theme/designer/_common.scss +4 -3
  176. package/scss/common/theme/designer/_mixins.scss +56 -56
  177. package/scss/common/theme/designer/components/button/_button.scss +32 -20
  178. package/scss/common/theme/designer/components/button/_speeddial.scss +1 -1
  179. package/scss/common/theme/designer/components/button/_splitbutton.scss +2 -1
  180. package/scss/common/theme/designer/components/data/_carousel.scss +1 -1
  181. package/scss/common/theme/designer/components/data/_datatable.scss +5 -5
  182. package/scss/common/theme/designer/components/data/_filter.scss +2 -3
  183. package/scss/common/theme/designer/components/data/_fullcalendar.scss +10 -10
  184. package/scss/common/theme/designer/components/data/_orderlist.scss +2 -2
  185. package/scss/common/theme/designer/components/data/_paginator.scss +1 -1
  186. package/scss/common/theme/designer/components/data/_picklist.scss +1 -1
  187. package/scss/common/theme/designer/components/data/_timeline.scss +3 -6
  188. package/scss/common/theme/designer/components/data/_tree.scss +2 -2
  189. package/scss/common/theme/designer/components/data/_treetable.scss +2 -3
  190. package/scss/common/theme/designer/components/input/_autocomplete.scss +8 -8
  191. package/scss/common/theme/designer/components/input/_calendar.scss +6 -6
  192. package/scss/common/theme/designer/components/input/_cascadeselect.scss +1 -1
  193. package/scss/common/theme/designer/components/input/_checkbox.scss +4 -4
  194. package/scss/common/theme/designer/components/input/_chips.scss +4 -4
  195. package/scss/common/theme/designer/components/input/_colorpicker.scss +2 -2
  196. package/scss/common/theme/designer/components/input/_dropdown.scss +2 -2
  197. package/scss/common/theme/designer/components/input/_editor.scss +7 -7
  198. package/scss/common/theme/designer/components/input/_inputgroup.scss +1 -1
  199. package/scss/common/theme/designer/components/input/_inputmask.scss +1 -1
  200. package/scss/common/theme/designer/components/input/_inputnumber.scss +1 -1
  201. package/scss/common/theme/designer/components/input/_inputswitch.scss +2 -2
  202. package/scss/common/theme/designer/components/input/_inputtext.scss +3 -3
  203. package/scss/common/theme/designer/components/input/_listbox.scss +1 -1
  204. package/scss/common/theme/designer/components/input/_multiselect.scss +5 -6
  205. package/scss/common/theme/designer/components/input/_radiobutton.scss +2 -2
  206. package/scss/common/theme/designer/components/input/_rating.scss +1 -1
  207. package/scss/common/theme/designer/components/input/_selectbutton.scss +1 -1
  208. package/scss/common/theme/designer/components/input/_togglebutton.scss +1 -1
  209. package/scss/common/theme/designer/components/input/_treeselect.scss +2 -2
  210. package/scss/common/theme/designer/components/menu/_contextmenu.scss +3 -2
  211. package/scss/common/theme/designer/components/menu/_dock.scss +4 -4
  212. package/scss/common/theme/designer/components/menu/_megamenu.scss +10 -9
  213. package/scss/common/theme/designer/components/menu/_menu.scss +2 -2
  214. package/scss/common/theme/designer/components/menu/_menubar.scss +12 -11
  215. package/scss/common/theme/designer/components/menu/_panelmenu.scss +1 -2
  216. package/scss/common/theme/designer/components/menu/_slidemenu.scss +3 -2
  217. package/scss/common/theme/designer/components/menu/_steps.scss +1 -2
  218. package/scss/common/theme/designer/components/menu/_tieredmenu.scss +3 -2
  219. package/scss/common/theme/designer/components/messages/_message.scss +1 -1
  220. package/scss/common/theme/designer/components/messages/_toast.scss +1 -2
  221. package/scss/common/theme/designer/components/misc/_avatar.scss +1 -1
  222. package/scss/common/theme/designer/components/misc/_badge.scss +1 -1
  223. package/scss/common/theme/designer/components/misc/_blockui.scss +1 -1
  224. package/scss/common/theme/designer/components/misc/_chip.scss +2 -2
  225. package/scss/common/theme/designer/components/misc/_inplace.scss +0 -1
  226. package/scss/common/theme/designer/components/misc/_scrolltop.scss +1 -1
  227. package/scss/common/theme/designer/components/misc/_skeleton.scss +1 -1
  228. package/scss/common/theme/designer/components/misc/_tag.scss +1 -1
  229. package/scss/common/theme/designer/components/misc/_terminal.scss +8 -8
  230. package/scss/common/theme/designer/components/multimedia/_galleria.scss +1 -1
  231. package/scss/common/theme/designer/components/overlay/_confirmpopup.scss +2 -4
  232. package/scss/common/theme/designer/components/overlay/_dialog.scss +3 -3
  233. package/scss/common/theme/designer/components/overlay/_overlaypanel.scss +2 -4
  234. package/scss/common/theme/designer/components/panel/_accordion.scss +2 -2
  235. package/scss/common/theme/designer/components/panel/_divider.scss +1 -1
  236. package/scss/common/theme/designer/components/panel/_scrollpanel.scss +1 -1
  237. package/scss/common/theme/designer/components/panel/_splitter.scss +1 -1
  238. package/scss/common/theme/extensions/_button.scss +18 -6
  239. package/scss/common/theme/extensions/_orderlist.scss +0 -1
  240. package/scss/common/theme/extensions/_picklist.scss +0 -1
  241. package/scss/common/theme/extensions/_tree.scss +0 -1
  242. package/scss/common/variables/layout/_common.scss +9 -9
  243. package/scss/common/variables/layout/_layout_dark.scss +12 -12
  244. package/scss/common/variables/layout/_layout_light.scss +13 -13
  245. package/scss/common/variables/theme/_theme_dark.scss +76 -76
  246. package/scss/common/variables/theme/_theme_light.scss +80 -80
  247. package/scss/layout/default/_mng-variables-layout-dark.scss +1 -1
  248. package/scss/mng-commons-dark.scss +2 -2
  249. package/scss/mng-commons-light.scss +2 -2
  250. package/scss/mng-overrides/_layout_dialog.scss +4 -3
  251. package/scss/mng-overrides/_layout_forms.scss +6 -1
  252. package/scss/mng-overrides/_layout_radio.scss +1 -1
  253. package/scss/mng-overrides/_theme_datepicker.scss +7 -0
  254. package/scss/mng-overrides/_theme_dialog.scss +0 -1
  255. package/scss/mng-overrides/_theme_dropdown.scss +0 -1
  256. package/scss/mng-overrides/_theme_styles.scss +1 -0
  257. package/scss/mng-overrides/_theme_tableview.scss +6 -6
  258. package/scss/theme/default/_mng-variables-theme-dark.scss +2 -1
  259. package/scss/theme/default/_mng-variables-theme-light.scss +2 -1
@@ -16,9 +16,9 @@ export class MngActionRouteComponent {
16
16
  this.navigationService = navigationService;
17
17
  this.actionService = actionService;
18
18
  this.tableviewService = tableviewService;
19
+ this.cmpId = Math.random().toString(36).substring(2);
19
20
  this.actions = [];
20
21
  this.subscriptions = [];
21
- this.cmpId = Math.random().toString(36).substring(2);
22
22
  }
23
23
  ngOnInit() {
24
24
  this.actions = this.tableviewService?.actions.filter(a => a.activationTrigger === ActionActivationTriggerEnum.OnRoute) ?? [];
@@ -39,6 +39,7 @@ export class MngActionRouteComponent {
39
39
  getConfirmationService() {
40
40
  return this.confirmationService;
41
41
  }
42
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
42
43
  getConfirmationServiceInstanceKey(action) {
43
44
  return `actionRoute_${this.cmpId}`;
44
45
  }
@@ -46,16 +47,17 @@ export class MngActionRouteComponent {
46
47
  this.activeAction = action;
47
48
  const itemId = p['itemId'];
48
49
  const actionData = {};
49
- for (let key in p) {
50
+ for (const key in p) {
50
51
  if (key === 'itemId') {
51
52
  continue;
52
53
  }
53
54
  actionData[key] = p[key];
54
55
  }
55
- for (let key in qp) {
56
+ for (const key in qp) {
56
57
  actionData[key] = p[key];
57
58
  }
58
- this.actionService.activateAction(action, itemId, undefined, actionData, this.tableviewService, this)
59
+ this.actionService
60
+ .activateAction(action, itemId, undefined, actionData, this.tableviewService, this)
59
61
  .pipe(first())
60
62
  .subscribe(res => {
61
63
  if (res.dialogRef) {
@@ -63,7 +65,7 @@ export class MngActionRouteComponent {
63
65
  this.dialogCloseSubscription = this.dialogRef?.onClose.subscribe(e => {
64
66
  const actionEv = e;
65
67
  if (!actionEv?.error || !actionEv?.error?.dismissed) {
66
- this.tableviewService.reloadTable(); // reload only if no error in action and
68
+ this.tableviewService.triggerTableReload(actionEv); // reload only if no error in action and
67
69
  }
68
70
  this.deactivateAction();
69
71
  });
@@ -141,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
141
143
  type: Component,
142
144
  args: [{ selector: 'mng-action-route', changeDetection: ChangeDetectionStrategy.OnPush, providers: [MessageService, ConfirmationService], template: "<p-confirmDialog [key]=\"'actionRoute_' + cmpId\" [baseZIndex]=\"50\" appendTo=\"body\"></p-confirmDialog>\n" }]
143
145
  }], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.ConfirmationService }, { type: i3.MngNavigationService }, { type: i3.MngActionService }, { type: i4.TableviewComponentService }]; } });
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXJvdXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpb24vcm91dGUvYWN0aW9uLXJvdXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpb24vcm91dGUvYWN0aW9uLXJvdXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBR3BGLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxjQUFjLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFHaEUsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBbUIsMkJBQTJCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQVduRixNQUFNLE9BQU8sdUJBQXVCO0lBWWhDLFlBQ1ksTUFBYyxFQUNkLEtBQXFCLEVBQ3JCLG1CQUF3QyxFQUN4QyxpQkFBdUMsRUFDdkMsYUFBK0IsRUFDL0IsZ0JBQWlEO1FBTGpELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBc0I7UUFDdkMsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQy9CLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUM7UUFoQnJELFlBQU8sR0FBK0IsRUFBRSxDQUFDO1FBTXpDLGtCQUFhLEdBQXdCLEVBQUUsQ0FBQztRQUV6QyxVQUFLLEdBQVcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFTNUQsQ0FBQztJQUVHLFFB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QUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDcEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsRUFBRTt3QkFDcEIsT0FBTyxHQUFHLEtBQUssQ0FBQzt3QkFDaEIsTUFBTTtxQkFDVDtpQkFDSjtxQkFBTSxJQUFJLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUU7b0JBQ3JELE9BQU8sR0FBRyxLQUFLLENBQUM7b0JBQ2hCLE1BQU07aUJBQ1Q7YUFDSjtZQUNELElBQUksT0FBTyxFQUFFO2dCQUNULE9BQU8sTUFBTSxDQUFDO2FBQ2pCO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDOztvSEExSVEsdUJBQXVCO3dHQUF2Qix1QkFBdUIsMkNBRnJCLENBQUMsY0FBYyxFQUFFLG1CQUFtQixDQUFDLDBCQ2pCcEQsOEdBQ0E7MkZEa0JhLHVCQUF1QjtrQkFObkMsU0FBUzsrQkFDSSxrQkFBa0IsbUJBRVgsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZSwgUGFyYW1zLCBSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmltcG9ydCB7Q29uZmlybWF0aW9uU2VydmljZSwgTWVzc2FnZVNlcnZpY2V9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7RHluYW1pY0RpYWxvZ1JlZn0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7Zmlyc3R9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtBY3Rpb25EZXNjcmlwdG9yLCBBY3Rpb25BY3RpdmF0aW9uVHJpZ2dlckVudW19IGZyb20gJy4uLy4uLy4uL2Rlc2NyaXB0b3JzJztcbmltcG9ydCB7SUFjdGlvbkNvbmZpcm1hdGlvblNlcnZpY2UsIEFjdGlvbkRhdGEsIEFjdGlvblJ1blJlc3VsdH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7TW5nQWN0aW9uU2VydmljZSwgTW5nTmF2aWdhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7VGFibGV2aWV3Q29tcG9uZW50U2VydmljZX0gZnJvbSAnLi4vLi4vdGFibGV2aWV3L3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdtbmctYWN0aW9uLXJvdXRlJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLXJvdXRlLmNvbXBvbmVudC5odG1sJyxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtNZXNzYWdlU2VydmljZSwgQ29uZmlybWF0aW9uU2VydmljZV1cbn0pXG5leHBvcnQgY2xhc3MgTW5nQWN0aW9uUm91dGVDb21wb25lbnQ8VCwgUz4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgSUFjdGlvbkNvbmZpcm1hdGlvblNlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSBhY3Rpb25zOiBBcnJheTxBY3Rpb25EZXNjcmlwdG9yPFQ+PiA9IFtdO1xuICAgIHByaXZhdGUgYWN0aXZlQWN0aW9uPzogQWN0aW9uRGVzY3JpcHRvcjxUPjtcblxuICAgIHByaXZhdGUgZGlhbG9nUmVmPzogRHluYW1pY0RpYWxvZ1JlZjtcbiAgICBwcml2YXRlIGRpYWxvZ0Nsb3NlU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBBcnJheTxTdWJzY3JpcHRpb24+ID0gW107XG5cbiAgICBwdWJsaWMgY21wSWQ6IHN0cmluZyA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgICAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICAgICAgcHJpdmF0ZSBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG5hdmlnYXRpb25TZXJ2aWNlOiBNbmdOYXZpZ2F0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhY3Rpb25TZXJ2aWNlOiBNbmdBY3Rpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHRhYmxldmlld1NlcnZpY2U6IFRhYmxldmlld0NvbXBvbmVudFNlcnZpY2U8VCwgUz5cbiAgICApIHt9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG5cbiAgICAgICAgdGhpcy5hY3Rpb25zID0gdGhpcy50YWJsZXZpZXdTZXJ2aWNlPy5hY3Rpb25zLmZpbHRlcihhID0+IGEuYWN0aXZhdGlvblRyaWdnZXIgPT09IEFjdGlvbkFjdGl2YXRpb25UcmlnZ2VyRW51bS5PblJvdXRlKSA/PyBbXTtcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKHAgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWN0aW9uID0gdGhpcy5maW5kQWN0aXZlQWN0aW9uKHApO1xuICAgICAgICAgICAgaWYgKGFjdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZhdGVBY3Rpb24oYWN0aW9uLCBwLCB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHN1YnNjcmlwdGlvbik7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gICAgICAgIGlmICh0aGlzLmRpYWxvZ1JlZikge1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb25maXJtYXRpb25TZXJ2aWNlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb25maXJtYXRpb25TZXJ2aWNlSW5zdGFuY2VLZXkoYWN0aW9uOiBBY3Rpb25EZXNjcmlwdG9yPGFueT4pIHtcbiAgICAgICAgcmV0dXJuIGBhY3Rpb25Sb3V0ZV8ke3RoaXMuY21wSWR9YDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFjdGl2YXRlQWN0aW9uKGFjdGlvbjogQWN0aW9uRGVzY3JpcHRvcjxUPiwgcDogUGFyYW1zLCBxcDogUGFyYW1zKSB7XG4gICAgICAgIHRoaXMuYWN0aXZlQWN0aW9uID0gYWN0aW9uO1xuICAgICAgICBjb25zdCBpdGVtSWQgPSBwWydpdGVtSWQnXTtcbiAgICAgICAgY29uc3QgYWN0aW9uRGF0YTogQWN0aW9uRGF0YSA9IHt9O1xuICAgICAgICBmb3IgKGxldCBrZXkgaW4gcCkge1xuICAgICAgICAgICAgaWYgKGtleSA9PT0gJ2l0ZW1JZCcpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFjdGlvbkRhdGFba2V5XSA9IHBba2V5XTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGxldCBrZXkgaW4gcXApIHtcbiAgICAgICAgICAgIGFjdGlvbkRhdGFba2V5XSA9IHBba2V5XTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFjdGlvblNlcnZpY2UuYWN0aXZhdGVBY3Rpb24oYWN0aW9uLCBpdGVtSWQsIHVuZGVmaW5lZCwgYWN0aW9uRGF0YSwgdGhpcy50YWJsZXZpZXdTZXJ2aWNlLCB0aGlzKVxuICAgICAgICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVzLmRpYWxvZ1JlZikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpYWxvZ1JlZiA9IHJlcy5kaWFsb2dSZWY7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlhbG9nQ2xvc2VTdWJzY3JpcHRpb24gPSB0aGlzLmRpYWxvZ1JlZj8ub25DbG9zZS5zdWJzY3JpYmUoZSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhY3Rpb25FdiA9IGUgYXMgQWN0aW9uUnVuUmVzdWx0PFQsIFMsIGFueT47XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWFjdGlvbkV2Py5lcnJvciB8fCAhYWN0aW9uRXY/LmVycm9yPy5kaXNtaXNzZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRhYmxldmlld1NlcnZpY2UucmVsb2FkVGFibGUoKTsgLy8gcmVsb2FkIG9ubHkgaWYgbm8gZXJyb3IgaW4gYWN0aW9uIGFuZFxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWFjdGl2YXRlQWN0aW9uKCk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZGVhY3RpdmF0ZUFjdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuZGlhbG9nQ2xvc2VTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nQ2xvc2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nQ2xvc2VTdWJzY3JpcHRpb24gPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubmF2aWdhdGlvblNlcnZpY2UuZ2V0UHJldmlvdXNMb2NhdGlvbigpKSB7XG4gICAgICAgICAgICAvLyB0aGVyZSBhcmUgaW50ZXJuYWwgaGlzdG9yeSByZWNvcmRzLCBzbyBiYWNrIGNhbiBiZSBub3JtYWxseSBjYWxsZWRcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGlvblNlcnZpY2UuYmFjaygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gdGhlcmUgaXMgbm8gaW50ZXJuYWwgaGlzdG9yeSByZWNvcmRzLCBmaWd1cmUgb3V0IHRoZSBiYXNlIHVybCBieSBlbGltaW5hdGluZyBhY3Rpb24gc3BlY2lmaWMgdXJsXG4gICAgICAgICAgICBsZXQgdXJsID0gdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5nZXRDdXJyZW50TG9jYXRpb24oKTtcbiAgICAgICAgICAgIGlmICghdXJsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5uYXZpZ2F0aW9uU2VydmljZS5iYWNrKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmICh1cmwuc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICAgICAgICAgICAgICAgIHVybCA9IHVybC5zdWJzdHJpbmcoMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IHVybFBhdGhTZWdtZW50cyA9IHVybC5zcGxpdCgnPycpWzBdLnNwbGl0KCcjJylbMF0uc3BsaXQoJy8nKTtcbiAgICAgICAgICAgICAgICBsZXQgYWN0aW9uVXJsID0gdGhpcy5hY3RpdmVBY3Rpb24/LnJvdXRlVXJsID8/ICcnO1xuICAgICAgICAgICAgICAgIGlmIChhY3Rpb25Vcmwuc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICAgICAgICAgICAgICAgIGFjdGlvblVybCA9IGFjdGlvblVybC5zdWJzdHJpbmcoMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGFjdGlvblVybFNlZ21lbnRzID0gYWN0aW9uVXJsLnNwbGl0KCcvJyk7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVkaXJlY3RVcmwgPSB1cmxQYXRoU2VnbWVudHMuc2xpY2UoMCwgdXJsUGF0aFNlZ21lbnRzLmxlbmd0aCAtIGFjdGlvblVybFNlZ21lbnRzLmxlbmd0aCkuam9pbignLycpO1xuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoYC8ke3JlZGlyZWN0VXJsfWAsIHsgcmVwbGFjZVVybDogdHJ1ZSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmFjdGl2ZUFjdGlvbiA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYgPSB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaW5kQWN0aXZlQWN0aW9uKHBhcmFtczogUGFyYW1zKTogQWN0aW9uRGVzY3JpcHRvcjxUPnxudWxsIHtcbiAgICAgICAgY29uc3QgdXJsU2VnbWVudHMgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnVybDtcbiAgICAgICAgZm9yIChjb25zdCBhY3Rpb24gb2YgdGhpcy5hY3Rpb25zKSB7XG4gICAgICAgICAgICBsZXQgYWN0aW9uVXJsID0gYWN0aW9uLnJvdXRlVXJsID8/ICcnO1xuICAgICAgICAgICAgLy8gVE9ETzogZG9udCBzdHJpcCAnLycsIGJ1dCB1c2UgaXQgYWNjb3JkaW5nbHkgd2l0aCBBbmd1bGFyJ3Mgcm91dGVyIHBhdHRlcm5zICgvLCAuLywgLi4vKVxuICAgICAgICAgICAgaWYgKGFjdGlvblVybC5zdGFydHNXaXRoKCcvJykpIHtcbiAgICAgICAgICAgICAgICBhY3Rpb25VcmwgPSBhY3Rpb25Vcmwuc3Vic3RyaW5nKDEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgYWN0aW9uVXJsU2VnbWVudHMgPSBhY3Rpb25Vcmwuc3BsaXQoJy8nKTtcbiAgICAgICAgICAgIGlmIChhY3Rpb25VcmxTZWdtZW50cy5sZW5ndGggIT09IHVybFNlZ21lbnRzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IGlzTWF0Y2ggPSB0cnVlO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhY3Rpb25VcmxTZWdtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgICAgIGlmIChhY3Rpb25VcmxTZWdtZW50c1tpXS5zdGFydHNXaXRoKCc6JykpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcGFyYW1OYW1lID0gYWN0aW9uVXJsU2VnbWVudHNbaV0uc3Vic3RyaW5nKDEpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXBhcmFtc1twYXJhbU5hbWVdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpc01hdGNoID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoYWN0aW9uVXJsU2VnbWVudHNbaV0gIT09IHVybFNlZ21lbnRzW2ldLnBhdGgpIHtcbiAgICAgICAgICAgICAgICAgICAgaXNNYXRjaCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNNYXRjaCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBhY3Rpb247XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuIiwiPHAtY29uZmlybURpYWxvZyBba2V5XT1cIidhY3Rpb25Sb3V0ZV8nICsgY21wSWRcIiBbYmFzZVpJbmRleF09XCI1MFwiIGFwcGVuZFRvPVwiYm9keVwiPjwvcC1jb25maXJtRGlhbG9nPlxuIl19
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLXJvdXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpb24vcm91dGUvYWN0aW9uLXJvdXRlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9hY3Rpb24vcm91dGUvYWN0aW9uLXJvdXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBR3BGLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxjQUFjLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFHaEUsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBQywyQkFBMkIsRUFBbUIsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7OztBQVduRixNQUFNLE9BQU8sdUJBQXVCO0lBUWhDLFlBQ1ksTUFBYyxFQUNkLEtBQXFCLEVBQ3JCLG1CQUF3QyxFQUN4QyxpQkFBdUMsRUFDdkMsYUFBK0IsRUFDL0IsZ0JBQWlEO1FBTGpELFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUNyQix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBc0I7UUFDdkMsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQy9CLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBaUM7UUFidEQsVUFBSyxHQUFXLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELFlBQU8sR0FBK0IsRUFBRSxDQUFDO1FBSXpDLGtCQUFhLEdBQXdCLEVBQUUsQ0FBQztJQVM3QyxDQUFDO0lBRUcsUUFB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RyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3BELElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUU7d0JBQ3BCLE9BQU8sR0FBRyxLQUFLLENBQUM7d0JBQ2hCLE1BQU07cUJBQ1Q7aUJBQ0o7cUJBQU0sSUFBSSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFO29CQUNyRCxPQUFPLEdBQUcsS0FBSyxDQUFDO29CQUNoQixNQUFNO2lCQUNUO2FBQ0o7WUFDRCxJQUFJLE9BQU8sRUFBRTtnQkFDVCxPQUFPLE1BQU0sQ0FBQzthQUNqQjtTQUNKO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs7b0hBdklRLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDJDQUZyQixDQUFDLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQywwQkNqQnBELDhHQUNBOzJGRGtCYSx1QkFBdUI7a0JBTm5DLFNBQVM7K0JBQ0ksa0JBQWtCLG1CQUVYLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxjQUFjLEVBQUUsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFBhcmFtcywgUm91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQge0NvbmZpcm1hdGlvblNlcnZpY2UsIE1lc3NhZ2VTZXJ2aWNlfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQge0R5bmFtaWNEaWFsb2dSZWZ9IGZyb20gJ3ByaW1lbmcvZHluYW1pY2RpYWxvZyc7XG5pbXBvcnQge1N1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpcnN0fSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7QWN0aW9uQWN0aXZhdGlvblRyaWdnZXJFbnVtLCBBY3Rpb25EZXNjcmlwdG9yfSBmcm9tICcuLi8uLi8uLi9kZXNjcmlwdG9ycyc7XG5pbXBvcnQge01uZ0FjdGlvblNlcnZpY2UsIE1uZ05hdmlnYXRpb25TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQge1RhYmxldmlld0NvbXBvbmVudFNlcnZpY2V9IGZyb20gJy4uLy4uL3RhYmxldmlldy9zZXJ2aWNlcyc7XG5pbXBvcnQge0FjdGlvbkRhdGEsIEFjdGlvblJ1blJlc3VsdCwgSUFjdGlvbkNvbmZpcm1hdGlvblNlcnZpY2V9IGZyb20gJy4uL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbW5nLWFjdGlvbi1yb3V0ZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbi1yb3V0ZS5jb21wb25lbnQuaHRtbCcsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbTWVzc2FnZVNlcnZpY2UsIENvbmZpcm1hdGlvblNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIE1uZ0FjdGlvblJvdXRlQ29tcG9uZW50PFQsIFM+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIElBY3Rpb25Db25maXJtYXRpb25TZXJ2aWNlIHtcbiAgICBwdWJsaWMgY21wSWQ6IHN0cmluZyA9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyKTtcbiAgICBwcml2YXRlIGFjdGlvbnM6IEFycmF5PEFjdGlvbkRlc2NyaXB0b3I8VD4+ID0gW107XG4gICAgcHJpdmF0ZSBhY3RpdmVBY3Rpb24/OiBBY3Rpb25EZXNjcmlwdG9yPFQ+O1xuICAgIHByaXZhdGUgZGlhbG9nUmVmPzogRHluYW1pY0RpYWxvZ1JlZjtcbiAgICBwcml2YXRlIGRpYWxvZ0Nsb3NlU3Vic2NyaXB0aW9uPzogU3Vic2NyaXB0aW9uO1xuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uczogQXJyYXk8U3Vic2NyaXB0aW9uPiA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgICAgICBwcml2YXRlIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgbmF2aWdhdGlvblNlcnZpY2U6IE1uZ05hdmlnYXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGFjdGlvblNlcnZpY2U6IE1uZ0FjdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdGFibGV2aWV3U2VydmljZTogVGFibGV2aWV3Q29tcG9uZW50U2VydmljZTxULCBTPlxuICAgICkge31cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5hY3Rpb25zID0gdGhpcy50YWJsZXZpZXdTZXJ2aWNlPy5hY3Rpb25zLmZpbHRlcihhID0+IGEuYWN0aXZhdGlvblRyaWdnZXIgPT09IEFjdGlvbkFjdGl2YXRpb25UcmlnZ2VyRW51bS5PblJvdXRlKSA/PyBbXTtcbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKHAgPT4ge1xuICAgICAgICAgICAgY29uc3QgYWN0aW9uID0gdGhpcy5maW5kQWN0aXZlQWN0aW9uKHApO1xuICAgICAgICAgICAgaWYgKGFjdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMuYWN0aXZhdGVBY3Rpb24oYWN0aW9uLCBwLCB0aGlzLnJvdXRlLnNuYXBzaG90LnF1ZXJ5UGFyYW1zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHN1YnNjcmlwdGlvbik7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaChzID0+IHMudW5zdWJzY3JpYmUoKSk7XG4gICAgICAgIGlmICh0aGlzLmRpYWxvZ1JlZikge1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb25maXJtYXRpb25TZXJ2aWNlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICBwdWJsaWMgZ2V0Q29uZmlybWF0aW9uU2VydmljZUluc3RhbmNlS2V5KGFjdGlvbjogQWN0aW9uRGVzY3JpcHRvcjxhbnk+KSB7XG4gICAgICAgIHJldHVybiBgYWN0aW9uUm91dGVfJHt0aGlzLmNtcElkfWA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZUFjdGlvbihhY3Rpb246IEFjdGlvbkRlc2NyaXB0b3I8VD4sIHA6IFBhcmFtcywgcXA6IFBhcmFtcykge1xuICAgICAgICB0aGlzLmFjdGl2ZUFjdGlvbiA9IGFjdGlvbjtcbiAgICAgICAgY29uc3QgaXRlbUlkID0gcFsnaXRlbUlkJ107XG4gICAgICAgIGNvbnN0IGFjdGlvbkRhdGE6IEFjdGlvbkRhdGEgPSB7fTtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gcCkge1xuICAgICAgICAgICAgaWYgKGtleSA9PT0gJ2l0ZW1JZCcpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFjdGlvbkRhdGFba2V5XSA9IHBba2V5XTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBxcCkge1xuICAgICAgICAgICAgYWN0aW9uRGF0YVtrZXldID0gcFtrZXldO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYWN0aW9uU2VydmljZVxuICAgICAgICAgICAgLmFjdGl2YXRlQWN0aW9uKGFjdGlvbiwgaXRlbUlkLCB1bmRlZmluZWQsIGFjdGlvbkRhdGEsIHRoaXMudGFibGV2aWV3U2VydmljZSwgdGhpcylcbiAgICAgICAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlcy5kaWFsb2dSZWYpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYgPSByZXMuZGlhbG9nUmVmO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRpYWxvZ0Nsb3NlU3Vic2NyaXB0aW9uID0gdGhpcy5kaWFsb2dSZWY/Lm9uQ2xvc2Uuc3Vic2NyaWJlKGUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYWN0aW9uRXYgPSBlIGFzIEFjdGlvblJ1blJlc3VsdDxULCBTLCBhbnk+O1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFhY3Rpb25Fdj8uZXJyb3IgfHwgIWFjdGlvbkV2Py5lcnJvcj8uZGlzbWlzc2VkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZXZpZXdTZXJ2aWNlLnRyaWdnZXJUYWJsZVJlbG9hZChhY3Rpb25Fdik7IC8vIHJlbG9hZCBvbmx5IGlmIG5vIGVycm9yIGluIGFjdGlvbiBhbmRcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGVhY3RpdmF0ZUFjdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlYWN0aXZhdGVBY3Rpb24oKSB7XG4gICAgICAgIGlmICh0aGlzLmRpYWxvZ0Nsb3NlU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmRpYWxvZ0Nsb3NlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aGlzLmRpYWxvZ0Nsb3NlU3Vic2NyaXB0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm5hdmlnYXRpb25TZXJ2aWNlLmdldFByZXZpb3VzTG9jYXRpb24oKSkge1xuICAgICAgICAgICAgLy8gdGhlcmUgYXJlIGludGVybmFsIGhpc3RvcnkgcmVjb3Jkcywgc28gYmFjayBjYW4gYmUgbm9ybWFsbHkgY2FsbGVkXG4gICAgICAgICAgICB0aGlzLm5hdmlnYXRpb25TZXJ2aWNlLmJhY2soKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIHRoZXJlIGlzIG5vIGludGVybmFsIGhpc3RvcnkgcmVjb3JkcywgZmlndXJlIG91dCB0aGUgYmFzZSB1cmwgYnkgZWxpbWluYXRpbmcgYWN0aW9uIHNwZWNpZmljIHVybFxuICAgICAgICAgICAgbGV0IHVybCA9IHRoaXMubmF2aWdhdGlvblNlcnZpY2UuZ2V0Q3VycmVudExvY2F0aW9uKCk7XG4gICAgICAgICAgICBpZiAoIXVybCkge1xuICAgICAgICAgICAgICAgIHRoaXMubmF2aWdhdGlvblNlcnZpY2UuYmFjaygpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAodXJsLnN0YXJ0c1dpdGgoJy8nKSkge1xuICAgICAgICAgICAgICAgICAgICB1cmwgPSB1cmwuc3Vic3RyaW5nKDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCB1cmxQYXRoU2VnbWVudHMgPSB1cmwuc3BsaXQoJz8nKVswXS5zcGxpdCgnIycpWzBdLnNwbGl0KCcvJyk7XG4gICAgICAgICAgICAgICAgbGV0IGFjdGlvblVybCA9IHRoaXMuYWN0aXZlQWN0aW9uPy5yb3V0ZVVybCA/PyAnJztcbiAgICAgICAgICAgICAgICBpZiAoYWN0aW9uVXJsLnN0YXJ0c1dpdGgoJy8nKSkge1xuICAgICAgICAgICAgICAgICAgICBhY3Rpb25VcmwgPSBhY3Rpb25Vcmwuc3Vic3RyaW5nKDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBhY3Rpb25VcmxTZWdtZW50cyA9IGFjdGlvblVybC5zcGxpdCgnLycpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlZGlyZWN0VXJsID0gdXJsUGF0aFNlZ21lbnRzLnNsaWNlKDAsIHVybFBhdGhTZWdtZW50cy5sZW5ndGggLSBhY3Rpb25VcmxTZWdtZW50cy5sZW5ndGgpLmpvaW4oJy8nKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGAvJHtyZWRpcmVjdFVybH1gLCB7cmVwbGFjZVVybDogdHJ1ZX0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuYWN0aXZlQWN0aW9uID0gdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZiA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbmRBY3RpdmVBY3Rpb24ocGFyYW1zOiBQYXJhbXMpOiBBY3Rpb25EZXNjcmlwdG9yPFQ+IHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHVybFNlZ21lbnRzID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC51cmw7XG4gICAgICAgIGZvciAoY29uc3QgYWN0aW9uIG9mIHRoaXMuYWN0aW9ucykge1xuICAgICAgICAgICAgbGV0IGFjdGlvblVybCA9IGFjdGlvbi5yb3V0ZVVybCA/PyAnJztcbiAgICAgICAgICAgIC8vIFRPRE86IGRvbnQgc3RyaXAgJy8nLCBidXQgdXNlIGl0IGFjY29yZGluZ2x5IHdpdGggQW5ndWxhcidzIHJvdXRlciBwYXR0ZXJucyAoLywgLi8sIC4uLylcbiAgICAgICAgICAgIGlmIChhY3Rpb25Vcmwuc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICAgICAgICAgICAgYWN0aW9uVXJsID0gYWN0aW9uVXJsLnN1YnN0cmluZygxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGFjdGlvblVybFNlZ21lbnRzID0gYWN0aW9uVXJsLnNwbGl0KCcvJyk7XG4gICAgICAgICAgICBpZiAoYWN0aW9uVXJsU2VnbWVudHMubGVuZ3RoICE9PSB1cmxTZWdtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBpc01hdGNoID0gdHJ1ZTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYWN0aW9uVXJsU2VnbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBpZiAoYWN0aW9uVXJsU2VnbWVudHNbaV0uc3RhcnRzV2l0aCgnOicpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBhcmFtTmFtZSA9IGFjdGlvblVybFNlZ21lbnRzW2ldLnN1YnN0cmluZygxKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFwYXJhbXNbcGFyYW1OYW1lXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNNYXRjaCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGFjdGlvblVybFNlZ21lbnRzW2ldICE9PSB1cmxTZWdtZW50c1tpXS5wYXRoKSB7XG4gICAgICAgICAgICAgICAgICAgIGlzTWF0Y2ggPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzTWF0Y2gpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYWN0aW9uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbn1cbiIsIjxwLWNvbmZpcm1EaWFsb2cgW2tleV09XCInYWN0aW9uUm91dGVfJyArIGNtcElkXCIgW2Jhc2VaSW5kZXhdPVwiNTBcIiBhcHBlbmRUbz1cImJvZHlcIj48L3AtY29uZmlybURpYWxvZz5cbiJdfQ==
@@ -1,8 +1,8 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, Output, ViewChild } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, forwardRef } from '@angular/core';
2
2
  import { FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { AutoComplete } from 'primeng/autocomplete';
3
4
  import { Subject } from 'rxjs';
4
5
  import { finalize, first } from 'rxjs/operators';
5
- import { AutoComplete } from 'primeng/autocomplete';
6
6
  import { MediusFilterMatchType, MediusQueryParamBuilder } from '../../../api/models';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "primeng/autocomplete";
@@ -20,11 +20,13 @@ export class MngAutocompleteComponent {
20
20
  this.multiselect = false;
21
21
  this.className = null;
22
22
  this.dropdownClassName = null;
23
- this.onChange = new EventEmitter();
23
+ this.valueChangeEventEmitter = new EventEmitter();
24
24
  this.suggestionsSubject = new Subject();
25
25
  this.searchSubscription = null;
26
26
  this.dataProviderService = null;
27
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
27
28
  this.onChangeFn = () => { };
29
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
28
30
  this.onTouchedFn = () => { };
29
31
  this.autocompleteFormControl = new FormControl();
30
32
  this.suggestions$ = this.suggestionsSubject.asObservable();
@@ -32,9 +34,7 @@ export class MngAutocompleteComponent {
32
34
  }
33
35
  ngOnInit() {
34
36
  if (this.dataProvider) {
35
- this.dataProviderService = this.dataProvider.serviceType
36
- ? this.injector.get(this.dataProvider.serviceType)
37
- : null;
37
+ this.dataProviderService = this.dataProvider.serviceType ? this.injector.get(this.dataProvider.serviceType) : null;
38
38
  }
39
39
  else {
40
40
  console.warn(`Data provider should be provided for MngAutocompleteComponent.`);
@@ -54,8 +54,9 @@ export class MngAutocompleteComponent {
54
54
  if (event.query && event.query.length > 0 && this.itemsLabelProperty) {
55
55
  queryParamBuilder.withFilter(this.itemsLabelProperty, event.query, undefined, MediusFilterMatchType.StartsWith);
56
56
  }
57
- this.searchSubscription = this.dataProvider.lookup(queryParamBuilder.build(), this.dataProviderService, event.query)
58
- .pipe(first(), finalize(() => this.isLoading = false))
57
+ this.searchSubscription = this.dataProvider
58
+ .lookup(queryParamBuilder.build(), this.dataProviderService, event.query)
59
+ .pipe(first(), finalize(() => (this.isLoading = false)))
59
60
  .subscribe((res) => {
60
61
  this.suggestionsSubject.next(res);
61
62
  });
@@ -63,7 +64,7 @@ export class MngAutocompleteComponent {
63
64
  }
64
65
  onSelect(value) {
65
66
  this.onChangeFn(value);
66
- this.onChange.next(value);
67
+ this.valueChangeEventEmitter.next(value);
67
68
  }
68
69
  registerOnChange(fn) {
69
70
  this.onChangeFn = fn;
@@ -87,10 +88,10 @@ export class MngAutocompleteComponent {
87
88
  }
88
89
  }
89
90
  MngAutocompleteComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngAutocompleteComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
90
- MngAutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngAutocompleteComponent, selector: "mng-autocomplete", inputs: { dataProvider: "dataProvider", dataKeyProperty: "dataKeyProperty", itemsLabelProperty: "itemsLabelProperty", multiselect: "multiselect", placeholder: "placeholder", className: "className", dropdownClassName: "dropdownClassName" }, outputs: { onChange: "onChange" }, providers: [MNG_AUTOCOMPLETE_VALUE_ACCESSOR], viewQueries: [{ propertyName: "primeAutocomplete", first: true, predicate: AutoComplete, descendants: true }], ngImport: i0, template: "<p-autoComplete [formControl]=\"autocompleteFormControl\"\n [placeholder]=\"$any(placeholder)\"\n [dropdown]=\"true\"\n [dataKey]=\"$any(dataKeyProperty)\"\n [field]=\"$any(itemsLabelProperty)\"\n [suggestions]=\"(suggestions$ | async) ?? []\"\n [multiple]=\"multiselect\"\n [showEmptyMessage]=\"true\"\n [emptyMessage]=\"'mngAutcomplete.noMatches' | translate\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n (completeMethod)=\"onSearch($event)\"\n (onSelect)=\"onSelect($event)\"\n appendTo=\"body\"\n dropdownMode=\"current\">\n</p-autoComplete>\n", components: [{ type: i1.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "virtualScroll", "itemSize", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "field", "scrollHeight", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "suggestions"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide"] }], directives: [{ type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i3.AsyncPipe, "translate": i4.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
91
+ MngAutocompleteComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngAutocompleteComponent, selector: "mng-autocomplete", inputs: { dataProvider: "dataProvider", dataKeyProperty: "dataKeyProperty", itemsLabelProperty: "itemsLabelProperty", multiselect: "multiselect", placeholder: "placeholder", className: "className", dropdownClassName: "dropdownClassName" }, outputs: { valueChangeEventEmitter: "valueChange" }, providers: [MNG_AUTOCOMPLETE_VALUE_ACCESSOR], viewQueries: [{ propertyName: "primeAutocomplete", first: true, predicate: AutoComplete, descendants: true }], ngImport: i0, template: "<p-autoComplete\n [formControl]=\"autocompleteFormControl\"\n [placeholder]=\"$any(placeholder)\"\n [dropdown]=\"true\"\n [dataKey]=\"$any(dataKeyProperty)\"\n [field]=\"$any(itemsLabelProperty)\"\n [suggestions]=\"(suggestions$ | async) ?? []\"\n [multiple]=\"multiselect\"\n [showEmptyMessage]=\"true\"\n [emptyMessage]=\"'mngAutocomplete.noMatches' | translate\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n (completeMethod)=\"onSearch($event)\"\n (onSelect)=\"onSelect($event)\"\n appendTo=\"body\"\n dropdownMode=\"current\">\n</p-autoComplete>\n", components: [{ type: i1.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "virtualScroll", "itemSize", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "field", "scrollHeight", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "suggestions"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide"] }], directives: [{ type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i3.AsyncPipe, "translate": i4.TranslatePipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
91
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngAutocompleteComponent, decorators: [{
92
93
  type: Component,
93
- args: [{ selector: 'mng-autocomplete', providers: [MNG_AUTOCOMPLETE_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-autoComplete [formControl]=\"autocompleteFormControl\"\n [placeholder]=\"$any(placeholder)\"\n [dropdown]=\"true\"\n [dataKey]=\"$any(dataKeyProperty)\"\n [field]=\"$any(itemsLabelProperty)\"\n [suggestions]=\"(suggestions$ | async) ?? []\"\n [multiple]=\"multiselect\"\n [showEmptyMessage]=\"true\"\n [emptyMessage]=\"'mngAutcomplete.noMatches' | translate\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n (completeMethod)=\"onSearch($event)\"\n (onSelect)=\"onSelect($event)\"\n appendTo=\"body\"\n dropdownMode=\"current\">\n</p-autoComplete>\n" }]
94
+ args: [{ selector: 'mng-autocomplete', providers: [MNG_AUTOCOMPLETE_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-autoComplete\n [formControl]=\"autocompleteFormControl\"\n [placeholder]=\"$any(placeholder)\"\n [dropdown]=\"true\"\n [dataKey]=\"$any(dataKeyProperty)\"\n [field]=\"$any(itemsLabelProperty)\"\n [suggestions]=\"(suggestions$ | async) ?? []\"\n [multiple]=\"multiselect\"\n [showEmptyMessage]=\"true\"\n [emptyMessage]=\"'mngAutocomplete.noMatches' | translate\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n (completeMethod)=\"onSearch($event)\"\n (onSelect)=\"onSelect($event)\"\n appendTo=\"body\"\n dropdownMode=\"current\">\n</p-autoComplete>\n" }]
94
95
  }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { dataProvider: [{
95
96
  type: Input
96
97
  }], dataKeyProperty: [{
@@ -105,10 +106,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
105
106
  type: Input
106
107
  }], dropdownClassName: [{
107
108
  type: Input
108
- }], onChange: [{
109
- type: Output
109
+ }], valueChangeEventEmitter: [{
110
+ type: Output,
111
+ args: ['valueChange']
110
112
  }], primeAutocomplete: [{
111
113
  type: ViewChild,
112
114
  args: [AutoComplete]
113
115
  }] } });
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBb0IsVUFBVSxFQUFZLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pKLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFckYsT0FBTyxFQUFhLE9BQU8sRUFBZSxNQUFNLE1BQU0sQ0FBQztBQUN2RCxPQUFPLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxPQUFPLEVBQUMscUJBQXFCLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBR25GLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFxQjtJQUM3RCxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUM7SUFDdkQsS0FBSyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBUUYsTUFBTSxPQUFPLHdCQUF3QjtJQXdCakMsWUFBb0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQW5CN0IsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFFN0IsY0FBUyxHQUFnQixJQUFJLENBQUM7UUFDOUIsc0JBQWlC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QVUsRUFBRTtZQUNaLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUMxQzthQUFNO1lBQ0gsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ3pDO0lBQ0wsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFRO1FBQ2YsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNqRSxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtZQUN4QixJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzFDO0lBQ0wsQ0FBQzs7cUhBekZRLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLDhUQUh0QixDQUFDLCtCQUErQixDQUFDLDZFQWVqQyxZQUFZLGdEQ2xDM0IsZ3lCQWdCQTsyRkRNYSx3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0ksa0JBQWtCLGFBRWpCLENBQUMsK0JBQStCLENBQUMsbUJBQzNCLHVCQUF1QixDQUFDLE1BQU07K0ZBSXRDLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVJLFFBQVE7c0JBQWpCLE1BQU07Z0JBRTBCLGlCQUFpQjtzQkFBakQsU0FBUzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEV4aXN0aW5nUHJvdmlkZXIsIGZvcndhcmRSZWYsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRyb2xWYWx1ZUFjY2Vzc29yLCAgRm9ybUNvbnRyb2wsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7T2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmluYWxpemUsIGZpcnN0fSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0F1dG9Db21wbGV0ZX0gZnJvbSAncHJpbWVuZy9hdXRvY29tcGxldGUnO1xuXG5pbXBvcnQge01lZGl1c0ZpbHRlck1hdGNoVHlwZSwgTWVkaXVzUXVlcnlQYXJhbUJ1aWxkZXJ9IGZyb20gJy4uLy4uLy4uL2FwaS9tb2RlbHMnO1xuaW1wb3J0IHtJTG9va3VwRGF0YVByb3ZpZGVyfSBmcm9tICcuLi8uLi8uLi9kYXRhLXByb3ZpZGVycyc7XG5cbmV4cG9ydCBjb25zdCBNTkdfQVVUT0NPTVBMRVRFX1ZBTFVFX0FDQ0VTU09SOiBFeGlzdGluZ1Byb3ZpZGVyID0ge1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE1uZ0F1dG9jb21wbGV0ZUNvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWVcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbW5nLWF1dG9jb21wbGV0ZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2F1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbTU5HX0FVVE9DT01QTEVURV9WQUxVRV9BQ0NFU1NPUl0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTW5nQXV0b2NvbXBsZXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgICBASW5wdXQoKSBkYXRhUHJvdmlkZXI/OiBJTG9va3VwRGF0YVByb3ZpZGVyPGFueSwgYW55PjtcbiAgICBASW5wdXQoKSBkYXRhS2V5UHJvcGVydHk/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgaXRlbXNMYWJlbFByb3BlcnR5Pzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIG11bHRpc2VsZWN0OiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgY2xhc3NOYW1lOiBzdHJpbmd8bnVsbCA9IG51bGw7XG4gICAgQElucHV0KCkgZHJvcGRvd25DbGFzc05hbWU6IHN0cmluZ3xudWxsID0gbnVsbDtcblxuICAgIEBPdXRwdXQoKSBvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBWaWV3Q2hpbGQoQXV0b0NvbXBsZXRlKSBwcml2YXRlIHByaW1lQXV0b2NvbXBsZXRlPzogQXV0b0NvbXBsZXRlO1xuXG4gICAgcHJpdmF0ZSBzdWdnZXN0aW9uc1N1YmplY3Q6IFN1YmplY3Q8QXJyYXk8YW55Pj4gPSBuZXcgU3ViamVjdDxBcnJheTxhbnk+PigpO1xuICAgIHByaXZhdGUgc2VhcmNoU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb258bnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSBkYXRhUHJvdmlkZXJTZXJ2aWNlOiBhbnkgPSBudWxsO1xuICAgIHByaXZhdGUgb25DaGFuZ2VGbjogYW55ID0gKCkgPT4geyB9O1xuICAgIHByaXZhdGUgb25Ub3VjaGVkRm46IGFueSA9ICgpID0+IHsgfTtcblxuICAgIHB1YmxpYyBhdXRvY29tcGxldGVGb3JtQ29udHJvbDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgICBwdWJsaWMgc3VnZ2VzdGlvbnMkOiBPYnNlcnZhYmxlPEFycmF5PGFueT4+ID0gdGhpcy5zdWdnZXN0aW9uc1N1YmplY3QuYXNPYnNlcnZhYmxlKCk7XG4gICAgcHVibGljIGlzTG9hZGluZyA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YVByb3ZpZGVyKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGFQcm92aWRlclNlcnZpY2UgPSB0aGlzLmRhdGFQcm92aWRlci5zZXJ2aWNlVHlwZVxuICAgICAgICAgICAgICAgID8gdGhpcy5pbmplY3Rvci5nZXQ8YW55Pih0aGlzLmRhdGFQcm92aWRlci5zZXJ2aWNlVHlwZSlcbiAgICAgICAgICAgICAgICA6IG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYERhdGEgcHJvdmlkZXIgc2hvdWxkIGJlIHByb3ZpZGVkIGZvciBNbmdBdXRvY29tcGxldGVDb21wb25lbnQuYCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblNlYXJjaChldmVudDogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLnNlYXJjaFN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgLy8gdHJ5IHRvIGNhbmNlbCBleGlzdGluZyBIVFRQIHJlcXVlc3Qgc3Vic2NyaXB0aW9uXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZGF0YVByb3ZpZGVyKSB7XG4gICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICBjb25zdCBxdWVyeVBhcmFtQnVpbGRlciA9IE1lZGl1c1F1ZXJ5UGFyYW1CdWlsZGVyLmNyZWF0ZSgpO1xuICAgICAgICAgICAgaWYgKHRoaXMuaXRlbXNMYWJlbFByb3BlcnR5KSB7XG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbUJ1aWxkZXIud2l0aFNvcnQodGhpcy5pdGVtc0xhYmVsUHJvcGVydHkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGV2ZW50LnF1ZXJ5ICYmIGV2ZW50LnF1ZXJ5Lmxlbmd0aCA+IDAgJiYgdGhpcy5pdGVtc0xhYmVsUHJvcGVydHkpIHtcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtQnVpbGRlci53aXRoRmlsdGVyKHRoaXMuaXRlbXNMYWJlbFByb3BlcnR5LCBldmVudC5xdWVyeSwgdW5kZWZpbmVkLCBNZWRpdXNGaWx0ZXJNYXRjaFR5cGUuU3RhcnRzV2l0aClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuc2VhcmNoU3Vic2NyaXB0aW9uID0gdGhpcy5kYXRhUHJvdmlkZXIubG9va3VwKHF1ZXJ5UGFyYW1CdWlsZGVyLmJ1aWxkKCksIHRoaXMuZGF0YVByb3ZpZGVyU2VydmljZSwgZXZlbnQucXVlcnkpXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICAgICAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMuaXNMb2FkaW5nID0gZmFsc2UpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3VnZ2VzdGlvbnNTdWJqZWN0Lm5leHQocmVzKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uU2VsZWN0KHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZUZuKHZhbHVlKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZS5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZUZuID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZEZuID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmIChpc0Rpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZUZvcm1Db250cm9sLmRpc2FibGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlRm9ybUNvbnRyb2wuZW5hYmxlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlRm9ybUNvbnRyb2wuc2V0VmFsdWUob2JqLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgICAgIGlmICh0aGlzLnByaW1lQXV0b2NvbXBsZXRlKSB7XG4gICAgICAgICAgICB0aGlzLnByaW1lQXV0b2NvbXBsZXRlLndyaXRlVmFsdWUob2JqKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxwLWF1dG9Db21wbGV0ZSBbZm9ybUNvbnRyb2xdPVwiYXV0b2NvbXBsZXRlRm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCIkYW55KHBsYWNlaG9sZGVyKVwiXG4gICAgICAgICAgICAgICAgW2Ryb3Bkb3duXT1cInRydWVcIlxuICAgICAgICAgICAgICAgIFtkYXRhS2V5XT1cIiRhbnkoZGF0YUtleVByb3BlcnR5KVwiXG4gICAgICAgICAgICAgICAgW2ZpZWxkXT1cIiRhbnkoaXRlbXNMYWJlbFByb3BlcnR5KVwiXG4gICAgICAgICAgICAgICAgW3N1Z2dlc3Rpb25zXT1cIihzdWdnZXN0aW9ucyQgfCBhc3luYykgPz8gW11cIlxuICAgICAgICAgICAgICAgIFttdWx0aXBsZV09XCJtdWx0aXNlbGVjdFwiXG4gICAgICAgICAgICAgICAgW3Nob3dFbXB0eU1lc3NhZ2VdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgW2VtcHR5TWVzc2FnZV09XCInbW5nQXV0Y29tcGxldGUubm9NYXRjaGVzJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW3N0eWxlQ2xhc3NdPVwiJGFueShjbGFzc05hbWUpXCJcbiAgICAgICAgICAgICAgICBbcGFuZWxTdHlsZUNsYXNzXT1cIiRhbnkoZHJvcGRvd25DbGFzc05hbWUpXCJcbiAgICAgICAgICAgICAgICAoY29tcGxldGVNZXRob2QpPVwib25TZWFyY2goJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKG9uU2VsZWN0KT1cIm9uU2VsZWN0KCRldmVudClcIlxuICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiXG4gICAgICAgICAgICAgICAgZHJvcGRvd25Nb2RlPVwiY3VycmVudFwiPlxuPC9wLWF1dG9Db21wbGV0ZT5cbiJdfQ==
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2NvbXBsZXRlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBOEIsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pKLE9BQU8sRUFBdUIsV0FBVyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBYSxPQUFPLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvQyxPQUFPLEVBQUMscUJBQXFCLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBR25GLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFxQjtJQUM3RCxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUM7SUFDdkQsS0FBSyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBUUYsTUFBTSxPQUFPLHdCQUF3QjtJQXlCakMsWUFBb0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQXJCdEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFcEIsY0FBUyxHQUFrQixJQUFJLENBQUM7UUFDaEMsc0JBQWlC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QUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDaEMsSUFBSSxVQUFVLEVBQUU7WUFDWixJQUFJLENBQUMsdUJBQXVCLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDMUM7YUFBTTtZQUNILElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUN6QztJQUNMLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBUTtRQUNmLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7UUFDL0QsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUMxQztJQUNMLENBQUM7O3FIQXhGUSx3QkFBd0I7eUdBQXhCLHdCQUF3QixnVkFIdEIsQ0FBQywrQkFBK0IsQ0FBQyw2RUFjakMsWUFBWSxnRENqQzNCLDhuQkFpQkE7MkZES2Esd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNJLGtCQUFrQixhQUVqQixDQUFDLCtCQUErQixDQUFDLG1CQUMzQix1QkFBdUIsQ0FBQyxNQUFNOytGQUcvQixZQUFZO3NCQUEzQixLQUFLO2dCQUNVLGVBQWU7c0JBQTlCLEtBQUs7Z0JBQ1Usa0JBQWtCO3NCQUFqQyxLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLGlCQUFpQjtzQkFBaEMsS0FBSztnQkFFd0IsdUJBQXVCO3NCQUFwRCxNQUFNO3VCQUFDLGFBQWE7Z0JBRVcsaUJBQWlCO3NCQUFoRCxTQUFTO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgRXhpc3RpbmdQcm92aWRlciwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBmb3J3YXJkUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge0F1dG9Db21wbGV0ZX0gZnJvbSAncHJpbWVuZy9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHtPYnNlcnZhYmxlLCBTdWJqZWN0LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaW5hbGl6ZSwgZmlyc3R9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtNZWRpdXNGaWx0ZXJNYXRjaFR5cGUsIE1lZGl1c1F1ZXJ5UGFyYW1CdWlsZGVyfSBmcm9tICcuLi8uLi8uLi9hcGkvbW9kZWxzJztcbmltcG9ydCB7SUxvb2t1cERhdGFQcm92aWRlcn0gZnJvbSAnLi4vLi4vLi4vZGF0YS1wcm92aWRlcnMnO1xuXG5leHBvcnQgY29uc3QgTU5HX0FVVE9DT01QTEVURV9WQUxVRV9BQ0NFU1NPUjogRXhpc3RpbmdQcm92aWRlciA9IHtcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBNbmdBdXRvY29tcGxldGVDb21wb25lbnQpLFxuICAgIG11bHRpOiB0cnVlXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ21uZy1hdXRvY29tcGxldGUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hdXRvY29tcGxldGUuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW01OR19BVVRPQ09NUExFVEVfVkFMVUVfQUNDRVNTT1JdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE1uZ0F1dG9jb21wbGV0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIEBJbnB1dCgpIHB1YmxpYyBkYXRhUHJvdmlkZXI/OiBJTG9va3VwRGF0YVByb3ZpZGVyPGFueSwgYW55PjtcbiAgICBASW5wdXQoKSBwdWJsaWMgZGF0YUtleVByb3BlcnR5Pzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBpdGVtc0xhYmVsUHJvcGVydHk/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgcHVibGljIG11bHRpc2VsZWN0ID0gZmFsc2U7XG4gICAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBjbGFzc05hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBkcm9wZG93bkNsYXNzTmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICBAT3V0cHV0KCd2YWx1ZUNoYW5nZScpIHB1YmxpYyB2YWx1ZUNoYW5nZUV2ZW50RW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBWaWV3Q2hpbGQoQXV0b0NvbXBsZXRlKSBwdWJsaWMgcHJpbWVBdXRvY29tcGxldGU/OiBBdXRvQ29tcGxldGU7XG5cbiAgICBwcml2YXRlIHN1Z2dlc3Rpb25zU3ViamVjdDogU3ViamVjdDxBcnJheTxhbnk+PiA9IG5ldyBTdWJqZWN0PEFycmF5PGFueT4+KCk7XG4gICAgcHJpdmF0ZSBzZWFyY2hTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuICAgIHByaXZhdGUgZGF0YVByb3ZpZGVyU2VydmljZTogYW55ID0gbnVsbDtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICAgcHJpdmF0ZSBvbkNoYW5nZUZuOiBhbnkgPSAoKSA9PiB7fTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICAgcHJpdmF0ZSBvblRvdWNoZWRGbjogYW55ID0gKCkgPT4ge307XG5cbiAgICBwdWJsaWMgYXV0b2NvbXBsZXRlRm9ybUNvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XG4gICAgcHVibGljIHN1Z2dlc3Rpb25zJDogT2JzZXJ2YWJsZTxBcnJheTxhbnk+PiA9IHRoaXMuc3VnZ2VzdGlvbnNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIHB1YmxpYyBpc0xvYWRpbmcgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmRhdGFQcm92aWRlcikge1xuICAgICAgICAgICAgdGhpcy5kYXRhUHJvdmlkZXJTZXJ2aWNlID0gdGhpcy5kYXRhUHJvdmlkZXIuc2VydmljZVR5cGUgPyB0aGlzLmluamVjdG9yLmdldDxhbnk+KHRoaXMuZGF0YVByb3ZpZGVyLnNlcnZpY2VUeXBlKSA6IG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYERhdGEgcHJvdmlkZXIgc2hvdWxkIGJlIHByb3ZpZGVkIGZvciBNbmdBdXRvY29tcGxldGVDb21wb25lbnQuYCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblNlYXJjaChldmVudDogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLnNlYXJjaFN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgLy8gdHJ5IHRvIGNhbmNlbCBleGlzdGluZyBIVFRQIHJlcXVlc3Qgc3Vic2NyaXB0aW9uXG4gICAgICAgICAgICB0aGlzLnNlYXJjaFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZGF0YVByb3ZpZGVyKSB7XG4gICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICBjb25zdCBxdWVyeVBhcmFtQnVpbGRlciA9IE1lZGl1c1F1ZXJ5UGFyYW1CdWlsZGVyLmNyZWF0ZSgpO1xuICAgICAgICAgICAgaWYgKHRoaXMuaXRlbXNMYWJlbFByb3BlcnR5KSB7XG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbUJ1aWxkZXIud2l0aFNvcnQodGhpcy5pdGVtc0xhYmVsUHJvcGVydHkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGV2ZW50LnF1ZXJ5ICYmIGV2ZW50LnF1ZXJ5Lmxlbmd0aCA+IDAgJiYgdGhpcy5pdGVtc0xhYmVsUHJvcGVydHkpIHtcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtQnVpbGRlci53aXRoRmlsdGVyKHRoaXMuaXRlbXNMYWJlbFByb3BlcnR5LCBldmVudC5xdWVyeSwgdW5kZWZpbmVkLCBNZWRpdXNGaWx0ZXJNYXRjaFR5cGUuU3RhcnRzV2l0aCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnNlYXJjaFN1YnNjcmlwdGlvbiA9IHRoaXMuZGF0YVByb3ZpZGVyXG4gICAgICAgICAgICAgICAgLmxvb2t1cChxdWVyeVBhcmFtQnVpbGRlci5idWlsZCgpLCB0aGlzLmRhdGFQcm92aWRlclNlcnZpY2UsIGV2ZW50LnF1ZXJ5KVxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiAodGhpcy5pc0xvYWRpbmcgPSBmYWxzZSkpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3VnZ2VzdGlvbnNTdWJqZWN0Lm5leHQocmVzKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uU2VsZWN0KHZhbHVlOiBhbnkpIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZUZuKHZhbHVlKTtcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZUV2ZW50RW1pdHRlci5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZUZuID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZEZuID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmIChpc0Rpc2FibGVkKSB7XG4gICAgICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZUZvcm1Db250cm9sLmRpc2FibGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlRm9ybUNvbnRyb2wuZW5hYmxlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlRm9ybUNvbnRyb2wuc2V0VmFsdWUob2JqLCB7ZW1pdEV2ZW50OiBmYWxzZX0pO1xuICAgICAgICBpZiAodGhpcy5wcmltZUF1dG9jb21wbGV0ZSkge1xuICAgICAgICAgICAgdGhpcy5wcmltZUF1dG9jb21wbGV0ZS53cml0ZVZhbHVlKG9iaik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8cC1hdXRvQ29tcGxldGVcbiAgICBbZm9ybUNvbnRyb2xdPVwiYXV0b2NvbXBsZXRlRm9ybUNvbnRyb2xcIlxuICAgIFtwbGFjZWhvbGRlcl09XCIkYW55KHBsYWNlaG9sZGVyKVwiXG4gICAgW2Ryb3Bkb3duXT1cInRydWVcIlxuICAgIFtkYXRhS2V5XT1cIiRhbnkoZGF0YUtleVByb3BlcnR5KVwiXG4gICAgW2ZpZWxkXT1cIiRhbnkoaXRlbXNMYWJlbFByb3BlcnR5KVwiXG4gICAgW3N1Z2dlc3Rpb25zXT1cIihzdWdnZXN0aW9ucyQgfCBhc3luYykgPz8gW11cIlxuICAgIFttdWx0aXBsZV09XCJtdWx0aXNlbGVjdFwiXG4gICAgW3Nob3dFbXB0eU1lc3NhZ2VdPVwidHJ1ZVwiXG4gICAgW2VtcHR5TWVzc2FnZV09XCInbW5nQXV0b2NvbXBsZXRlLm5vTWF0Y2hlcycgfCB0cmFuc2xhdGVcIlxuICAgIFtzdHlsZUNsYXNzXT1cIiRhbnkoY2xhc3NOYW1lKVwiXG4gICAgW3BhbmVsU3R5bGVDbGFzc109XCIkYW55KGRyb3Bkb3duQ2xhc3NOYW1lKVwiXG4gICAgKGNvbXBsZXRlTWV0aG9kKT1cIm9uU2VhcmNoKCRldmVudClcIlxuICAgIChvblNlbGVjdCk9XCJvblNlbGVjdCgkZXZlbnQpXCJcbiAgICBhcHBlbmRUbz1cImJvZHlcIlxuICAgIGRyb3Bkb3duTW9kZT1cImN1cnJlbnRcIj5cbjwvcC1hdXRvQ29tcGxldGU+XG4iXX0=
@@ -1,8 +1,8 @@
1
- import { ChangeDetectionStrategy, Component, EventEmitter, forwardRef, Input, Output, ViewChild } from '@angular/core';
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild, forwardRef } from '@angular/core';
2
2
  import { FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { Dropdown } from 'primeng/dropdown';
3
4
  import { ReplaySubject } from 'rxjs';
4
5
  import { first } from 'rxjs/operators';
5
- import { Dropdown } from 'primeng/dropdown';
6
6
  import { MediusQueryParamBuilder } from '../../../api/models';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "primeng/dropdown";
@@ -21,26 +21,26 @@ export class MngDropdownComponent {
21
21
  this.showClear = true;
22
22
  this.className = null;
23
23
  this.dropdownClassName = null;
24
- this.onChange = new EventEmitter();
24
+ this.valueChangeEventEmitter = new EventEmitter();
25
25
  this.itemsSubject = new ReplaySubject(1);
26
26
  this.dataProviderService = null;
27
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
27
28
  this.onChangeFn = () => { };
29
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
28
30
  this.onTouchedFn = () => { };
29
31
  this.dropdownFormControl = new FormControl();
30
32
  this.items$ = this.itemsSubject.asObservable();
31
33
  }
32
34
  ngOnInit() {
33
- this.dropdownFormControl.valueChanges
34
- .subscribe(v => {
35
+ this.dropdownFormControl.valueChanges.subscribe(v => {
35
36
  this.onChangeFn(v);
36
- this.onChange.next(v);
37
+ this.valueChangeEventEmitter.next(v);
37
38
  });
38
39
  if (this.dataProvider) {
39
- this.dataProviderService = this.dataProvider.serviceType
40
- ? this.injector.get(this.dataProvider.serviceType)
41
- : null;
40
+ this.dataProviderService = this.dataProvider.serviceType ? this.injector.get(this.dataProvider.serviceType) : null;
42
41
  const queryParamBuilder = MediusQueryParamBuilder.create();
43
- this.dataProvider.lookup(queryParamBuilder.build(), this.dataProviderService)
42
+ this.dataProvider
43
+ .lookup(queryParamBuilder.build(), this.dataProviderService)
44
44
  .pipe(first())
45
45
  .subscribe(res => {
46
46
  this.itemsSubject.next(res);
@@ -82,10 +82,10 @@ export class MngDropdownComponent {
82
82
  }
83
83
  }
84
84
  MngDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngDropdownComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
85
- MngDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngDropdownComponent, selector: "mng-dropdown", inputs: { dataProvider: "dataProvider", dataKeyProperty: "dataKeyProperty", itemsLabelProperty: "itemsLabelProperty", itemsValueProperty: "itemsValueProperty", multiselect: "multiselect", placeholder: "placeholder", showClear: "showClear", className: "className", dropdownClassName: "dropdownClassName" }, outputs: { onChange: "onChange" }, providers: [MNG_DROPDOWN_VALUE_ACCESSOR], viewQueries: [{ propertyName: "primeDropdown", first: true, predicate: Dropdown, descendants: true }], ngImport: i0, template: "<p-dropdown *ngIf=\"!multiselect; else pMultiselect\"\n [formControl]=\"dropdownFormControl\"\n [placeholder]=\"$any(placeholder)\"\n [dataKey]=\"$any(dataKeyProperty)\"\n [optionLabel]=\"$any(itemsLabelProperty)\"\n [optionValue]=\"$any(itemsValueProperty)\"\n [options]=\"(items$ | async) ?? []\"\n [showClear]=\"showClear\"\n [autoDisplayFirst]=\"false\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n (onChange)=\"onChange.emit($event.value)\"\n appendTo=\"body\">\n</p-dropdown>\n<ng-template #pMultiselect>\n <p-multiSelect display=\"chip\"\n [formControl]=\"dropdownFormControl\"\n [defaultLabel]=\"$any(placeholder)\"\n [dataKey]=\"$any(dataKeyProperty)\"\n [optionLabel]=\"$any(itemsLabelProperty)\"\n [optionValue]=\"$any(itemsValueProperty)\"\n [options]=\"(items$ | async) ?? []\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n [filter]=\"false\"\n (onChange)=\"onChange.emit($event.value)\"\n appendTo=\"body\">\n </p-multiSelect>\n</ng-template>\n", components: [{ type: i1.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }, { type: i2.MultiSelect, selector: "p-multiSelect", inputs: ["style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "autoZIndex", "baseZIndex", "filterBy", "virtualScroll", "itemSize", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "scrollHeight", "defaultLabel", "placeholder", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onPanelShow", "onPanelHide"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
85
+ MngDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: MngDropdownComponent, selector: "mng-dropdown", inputs: { dataProvider: "dataProvider", dataKeyProperty: "dataKeyProperty", itemsLabelProperty: "itemsLabelProperty", itemsValueProperty: "itemsValueProperty", multiselect: "multiselect", placeholder: "placeholder", showClear: "showClear", className: "className", dropdownClassName: "dropdownClassName" }, outputs: { valueChangeEventEmitter: "valueChange" }, providers: [MNG_DROPDOWN_VALUE_ACCESSOR], viewQueries: [{ propertyName: "primeDropdown", first: true, predicate: Dropdown, descendants: true }], ngImport: i0, template: "<p-dropdown\n *ngIf=\"!multiselect; else pMultiselect\"\n [formControl]=\"dropdownFormControl\"\n [placeholder]=\"$any(placeholder)\"\n [dataKey]=\"$any(dataKeyProperty)\"\n [optionLabel]=\"$any(itemsLabelProperty)\"\n [optionValue]=\"$any(itemsValueProperty)\"\n [options]=\"(items$ | async) ?? []\"\n [showClear]=\"showClear\"\n [autoDisplayFirst]=\"false\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n appendTo=\"body\">\n</p-dropdown>\n<ng-template #pMultiselect>\n <p-multiSelect\n display=\"chip\"\n [formControl]=\"dropdownFormControl\"\n [defaultLabel]=\"$any(placeholder)\"\n [dataKey]=\"$any(dataKeyProperty)\"\n [optionLabel]=\"$any(itemsLabelProperty)\"\n [optionValue]=\"$any(itemsValueProperty)\"\n [options]=\"(items$ | async) ?? []\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n [filter]=\"false\"\n appendTo=\"body\">\n </p-multiSelect>\n</ng-template>\n", components: [{ type: i1.Dropdown, selector: "p-dropdown", inputs: ["scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "filterPlaceholder", "filterLocale", "inputId", "selectId", "dataKey", "filterBy", "autofocus", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "virtualScroll", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "disabled", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear"] }, { type: i2.MultiSelect, selector: "p-multiSelect", inputs: ["style", "styleClass", "panelStyle", "panelStyleClass", "inputId", "disabled", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "appendTo", "dataKey", "name", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "autoZIndex", "baseZIndex", "filterBy", "virtualScroll", "itemSize", "showTransitionOptions", "hideTransitionOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "scrollHeight", "defaultLabel", "placeholder", "options", "filterValue"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onPanelShow", "onPanelHide"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
86
86
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MngDropdownComponent, decorators: [{
87
87
  type: Component,
88
- args: [{ selector: 'mng-dropdown', providers: [MNG_DROPDOWN_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-dropdown *ngIf=\"!multiselect; else pMultiselect\"\n [formControl]=\"dropdownFormControl\"\n [placeholder]=\"$any(placeholder)\"\n [dataKey]=\"$any(dataKeyProperty)\"\n [optionLabel]=\"$any(itemsLabelProperty)\"\n [optionValue]=\"$any(itemsValueProperty)\"\n [options]=\"(items$ | async) ?? []\"\n [showClear]=\"showClear\"\n [autoDisplayFirst]=\"false\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n (onChange)=\"onChange.emit($event.value)\"\n appendTo=\"body\">\n</p-dropdown>\n<ng-template #pMultiselect>\n <p-multiSelect display=\"chip\"\n [formControl]=\"dropdownFormControl\"\n [defaultLabel]=\"$any(placeholder)\"\n [dataKey]=\"$any(dataKeyProperty)\"\n [optionLabel]=\"$any(itemsLabelProperty)\"\n [optionValue]=\"$any(itemsValueProperty)\"\n [options]=\"(items$ | async) ?? []\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n [filter]=\"false\"\n (onChange)=\"onChange.emit($event.value)\"\n appendTo=\"body\">\n </p-multiSelect>\n</ng-template>\n" }]
88
+ args: [{ selector: 'mng-dropdown', providers: [MNG_DROPDOWN_VALUE_ACCESSOR], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-dropdown\n *ngIf=\"!multiselect; else pMultiselect\"\n [formControl]=\"dropdownFormControl\"\n [placeholder]=\"$any(placeholder)\"\n [dataKey]=\"$any(dataKeyProperty)\"\n [optionLabel]=\"$any(itemsLabelProperty)\"\n [optionValue]=\"$any(itemsValueProperty)\"\n [options]=\"(items$ | async) ?? []\"\n [showClear]=\"showClear\"\n [autoDisplayFirst]=\"false\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n appendTo=\"body\">\n</p-dropdown>\n<ng-template #pMultiselect>\n <p-multiSelect\n display=\"chip\"\n [formControl]=\"dropdownFormControl\"\n [defaultLabel]=\"$any(placeholder)\"\n [dataKey]=\"$any(dataKeyProperty)\"\n [optionLabel]=\"$any(itemsLabelProperty)\"\n [optionValue]=\"$any(itemsValueProperty)\"\n [options]=\"(items$ | async) ?? []\"\n [styleClass]=\"$any(className)\"\n [panelStyleClass]=\"$any(dropdownClassName)\"\n [filter]=\"false\"\n appendTo=\"body\">\n </p-multiSelect>\n</ng-template>\n" }]
89
89
  }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { dataProvider: [{
90
90
  type: Input
91
91
  }], dataKeyProperty: [{
@@ -104,10 +104,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
104
104
  type: Input
105
105
  }], dropdownClassName: [{
106
106
  type: Input
107
- }], onChange: [{
108
- type: Output
107
+ }], valueChangeEventEmitter: [{
108
+ type: Output,
109
+ args: ['valueChange']
109
110
  }], primeDropdown: [{
110
111
  type: ViewChild,
111
112
  args: [Dropdown]
112
113
  }] } });
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQW9CLFVBQVUsRUFBWSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6SixPQUFPLEVBQXVCLFdBQVcsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXBGLE9BQU8sRUFBYSxhQUFhLEVBQVUsTUFBTSxNQUFNLENBQUM7QUFDeEQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUcxQyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBRTVELE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFxQjtJQUN6RCxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7SUFDbkQsS0FBSyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBUUYsTUFBTSxPQUFPLG9CQUFvQjtJQXdCN0IsWUFBb0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQWxCN0IsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFFN0IsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixjQUFTLEdBQWdCLElBQUksQ0FBQztRQUM5QixzQkFBaUIsR0FBZ0IsSUFBSSxDQUFD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QyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDN0QsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ3RDO0lBQ0wsQ0FBQzs7aUhBckZRLG9CQUFvQjtxR0FBcEIsb0JBQW9CLDRYQUhsQixDQUFDLDJCQUEyQixDQUFDLHlFQWlCN0IsUUFBUSxnRENwQ3ZCLCsxQ0E2QkE7MkZEUGEsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNJLGNBQWMsYUFFYixDQUFDLDJCQUEyQixDQUFDLG1CQUN2Qix1QkFBdUIsQ0FBQyxNQUFNOytGQUl0QyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFFSSxRQUFRO3NCQUFqQixNQUFNO2dCQUVzQixhQUFhO3NCQUF6QyxTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgRXhpc3RpbmdQcm92aWRlciwgZm9yd2FyZFJlZiwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge09ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtmaXJzdH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtEcm9wZG93bn0gZnJvbSAncHJpbWVuZy9kcm9wZG93bic7XG5cbmltcG9ydCB7SUxvb2t1cERhdGFQcm92aWRlcn0gZnJvbSAnLi4vLi4vLi4vZGF0YS1wcm92aWRlcnMnO1xuaW1wb3J0IHtNZWRpdXNRdWVyeVBhcmFtQnVpbGRlcn0gZnJvbSAnLi4vLi4vLi4vYXBpL21vZGVscyc7XG5cbmV4cG9ydCBjb25zdCBNTkdfRFJPUERPV05fVkFMVUVfQUNDRVNTT1I6IEV4aXN0aW5nUHJvdmlkZXIgPSB7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTW5nRHJvcGRvd25Db21wb25lbnQpLFxuICAgIG11bHRpOiB0cnVlXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ21uZy1kcm9wZG93bicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtNTkdfRFJPUERPV05fVkFMVUVfQUNDRVNTT1JdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE1uZ0Ryb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgICBASW5wdXQoKSBkYXRhUHJvdmlkZXI/OiBJTG9va3VwRGF0YVByb3ZpZGVyPGFueSwgYW55PjtcbiAgICBASW5wdXQoKSBkYXRhS2V5UHJvcGVydHk/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgaXRlbXNMYWJlbFByb3BlcnR5Pzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGl0ZW1zVmFsdWVQcm9wZXJ0eT86IHN0cmluZztcbiAgICBASW5wdXQoKSBtdWx0aXNlbGVjdDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHNob3dDbGVhciA9IHRydWU7XG4gICAgQElucHV0KCkgY2xhc3NOYW1lOiBzdHJpbmd8bnVsbCA9IG51bGw7XG4gICAgQElucHV0KCkgZHJvcGRvd25DbGFzc05hbWU6IHN0cmluZ3xudWxsID0gbnVsbDtcblxuICAgIEBPdXRwdXQoKSBvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBWaWV3Q2hpbGQoRHJvcGRvd24pIHByaXZhdGUgcHJpbWVEcm9wZG93bj86IERyb3Bkb3duO1xuXG4gICAgcHJpdmF0ZSBpdGVtc1N1YmplY3Q6IFN1YmplY3Q8QXJyYXk8YW55Pj4gPSBuZXcgUmVwbGF5U3ViamVjdDxBcnJheTxhbnk+PigxKTtcbiAgICBwcml2YXRlIGRhdGFQcm92aWRlclNlcnZpY2U6IGFueSA9IG51bGw7XG4gICAgcHJpdmF0ZSBvbkNoYW5nZUZuOiBhbnkgPSAoKSA9PiB7IH07XG4gICAgcHJpdmF0ZSBvblRvdWNoZWRGbjogYW55ID0gKCkgPT4geyB9O1xuXG4gICAgcHVibGljIGRyb3Bkb3duRm9ybUNvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XG4gICAgcHVibGljIGl0ZW1zJDogT2JzZXJ2YWJsZTxBcnJheTxhbnk+PiA9IHRoaXMuaXRlbXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcblxuICAgICAgICB0aGlzLmRyb3Bkb3duRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHYgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub25DaGFuZ2VGbih2KTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlLm5leHQodik7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICBpZiAodGhpcy5kYXRhUHJvdmlkZXIpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YVByb3ZpZGVyU2VydmljZSA9IHRoaXMuZGF0YVByb3ZpZGVyLnNlcnZpY2VUeXBlXG4gICAgICAgICAgICAgICAgPyB0aGlzLmluamVjdG9yLmdldDxhbnk+KHRoaXMuZGF0YVByb3ZpZGVyLnNlcnZpY2VUeXBlKVxuICAgICAgICAgICAgICAgIDogbnVsbDtcblxuICAgICAgICAgICAgY29uc3QgcXVlcnlQYXJhbUJ1aWxkZXIgPSBNZWRpdXNRdWVyeVBhcmFtQnVpbGRlci5jcmVhdGUoKTtcbiAgICAgICAgICAgIHRoaXMuZGF0YVByb3ZpZGVyLmxvb2t1cChxdWVyeVBhcmFtQnVpbGRlci5idWlsZCgpLCB0aGlzLmRhdGFQcm92aWRlclNlcnZpY2UpXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGZpcnN0KClcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLml0ZW1zU3ViamVjdC5uZXh0KHJlcyk7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5kcm9wZG93bkZvcm1Db250cm9sPy52YWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMkLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IGNoZWNrIGlmIHJlYWxseSBvbmx5IHdheVxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLml0ZW1zVmFsdWVQcm9wZXJ0eSA/IHJlc1swXVt0aGlzLml0ZW1zVmFsdWVQcm9wZXJ0eV0gOiByZXNbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRyb3Bkb3duRm9ybUNvbnRyb2w/LnBhdGNoVmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ3BhdGNoZWQgZHJvcGRvd24gZm9ybSB2YWx1ZSB3aXRoJywgdmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYERhdGEgcHJvdmlkZXIgc2hvdWxkIGJlIHByb3ZpZGVkIGZvciBNbmdEcm9wZG93bkNvbXBvbmVudC5gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlRm4gPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkRm4gPSBmbjtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKGlzRGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25Gb3JtQ29udHJvbC5kaXNhYmxlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duRm9ybUNvbnRyb2wuZW5hYmxlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZHJvcGRvd25Gb3JtQ29udHJvbC5zZXRWYWx1ZShvYmosIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgICAgaWYgKHRoaXMucHJpbWVEcm9wZG93bikge1xuICAgICAgICAgICAgdGhpcy5wcmltZURyb3Bkb3duLndyaXRlVmFsdWUob2JqKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxwLWRyb3Bkb3duICpuZ0lmPVwiIW11bHRpc2VsZWN0OyBlbHNlIHBNdWx0aXNlbGVjdFwiXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZHJvcGRvd25Gb3JtQ29udHJvbFwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJGFueShwbGFjZWhvbGRlcilcIlxuICAgICAgICAgICAgW2RhdGFLZXldPVwiJGFueShkYXRhS2V5UHJvcGVydHkpXCJcbiAgICAgICAgICAgIFtvcHRpb25MYWJlbF09XCIkYW55KGl0ZW1zTGFiZWxQcm9wZXJ0eSlcIlxuICAgICAgICAgICAgW29wdGlvblZhbHVlXT1cIiRhbnkoaXRlbXNWYWx1ZVByb3BlcnR5KVwiXG4gICAgICAgICAgICBbb3B0aW9uc109XCIoaXRlbXMkIHwgYXN5bmMpID8/IFtdXCJcbiAgICAgICAgICAgIFtzaG93Q2xlYXJdPVwic2hvd0NsZWFyXCJcbiAgICAgICAgICAgIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCJcbiAgICAgICAgICAgIFtzdHlsZUNsYXNzXT1cIiRhbnkoY2xhc3NOYW1lKVwiXG4gICAgICAgICAgICBbcGFuZWxTdHlsZUNsYXNzXT1cIiRhbnkoZHJvcGRvd25DbGFzc05hbWUpXCJcbiAgICAgICAgICAgIChvbkNoYW5nZSk9XCJvbkNoYW5nZS5lbWl0KCRldmVudC52YWx1ZSlcIlxuICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCI+XG48L3AtZHJvcGRvd24+XG48bmctdGVtcGxhdGUgI3BNdWx0aXNlbGVjdD5cbiAgICA8cC1tdWx0aVNlbGVjdCBkaXNwbGF5PVwiY2hpcFwiXG4gICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImRyb3Bkb3duRm9ybUNvbnRyb2xcIlxuICAgICAgICAgICAgICAgICAgIFtkZWZhdWx0TGFiZWxdPVwiJGFueShwbGFjZWhvbGRlcilcIlxuICAgICAgICAgICAgICAgICAgIFtkYXRhS2V5XT1cIiRhbnkoZGF0YUtleVByb3BlcnR5KVwiXG4gICAgICAgICAgICAgICAgICAgW29wdGlvbkxhYmVsXT1cIiRhbnkoaXRlbXNMYWJlbFByb3BlcnR5KVwiXG4gICAgICAgICAgICAgICAgICAgW29wdGlvblZhbHVlXT1cIiRhbnkoaXRlbXNWYWx1ZVByb3BlcnR5KVwiXG4gICAgICAgICAgICAgICAgICAgW29wdGlvbnNdPVwiKGl0ZW1zJCB8IGFzeW5jKSA/PyBbXVwiXG4gICAgICAgICAgICAgICAgICAgW3N0eWxlQ2xhc3NdPVwiJGFueShjbGFzc05hbWUpXCJcbiAgICAgICAgICAgICAgICAgICBbcGFuZWxTdHlsZUNsYXNzXT1cIiRhbnkoZHJvcGRvd25DbGFzc05hbWUpXCJcbiAgICAgICAgICAgICAgICAgICBbZmlsdGVyXT1cImZhbHNlXCJcbiAgICAgICAgICAgICAgICAgICAob25DaGFuZ2UpPVwib25DaGFuZ2UuZW1pdCgkZXZlbnQudmFsdWUpXCJcbiAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIj5cbiAgICA8L3AtbXVsdGlTZWxlY3Q+XG48L25nLXRlbXBsYXRlPlxuIl19
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQThCLEtBQUssRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6SixPQUFPLEVBQXVCLFdBQVcsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXBGLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEVBQWEsYUFBYSxFQUFVLE1BQU0sTUFBTSxDQUFDO0FBQ3hELE9BQU8sRUFBQyxLQUFLLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7O0FBRzVELE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFxQjtJQUN6RCxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUM7SUFDbkQsS0FBSyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBUUYsTUFBTSxPQUFPLG9CQUFvQjtJQXlCN0IsWUFBb0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQXBCdEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFcEIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixjQUFTLEdBQWtCLElBQUksQ0FBQztRQUNoQyxzQkFBaUIsR0FBa0IsSUFBSSxDQUFD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LFVBQVUsQ0FBQyxHQUFRO1FBQ2YsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztRQUMzRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDcEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDdEM7SUFDTCxDQUFDOztpSEFoRlEsb0JBQW9CO3FHQUFwQixvQkFBb0IsOFlBSGxCLENBQUMsMkJBQTJCLENBQUMseUVBZ0I3QixRQUFRLGdEQ25DdkIsZ2pDQTZCQTsyRkRQYSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0ksY0FBYyxhQUViLENBQUMsMkJBQTJCLENBQUMsbUJBQ3ZCLHVCQUF1QixDQUFDLE1BQU07K0ZBRy9CLFlBQVk7c0JBQTNCLEtBQUs7Z0JBQ1UsZUFBZTtzQkFBOUIsS0FBSztnQkFDVSxrQkFBa0I7c0JBQWpDLEtBQUs7Z0JBQ1Usa0JBQWtCO3NCQUFqQyxLQUFLO2dCQUNVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1UsV0FBVztzQkFBMUIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsaUJBQWlCO3NCQUFoQyxLQUFLO2dCQUV3Qix1QkFBdUI7c0JBQXBELE1BQU07dUJBQUMsYUFBYTtnQkFFTyxhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgRXhpc3RpbmdQcm92aWRlciwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBmb3J3YXJkUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Db250cm9sLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge0Ryb3Bkb3dufSBmcm9tICdwcmltZW5nL2Ryb3Bkb3duJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge2ZpcnN0fSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7TWVkaXVzUXVlcnlQYXJhbUJ1aWxkZXJ9IGZyb20gJy4uLy4uLy4uL2FwaS9tb2RlbHMnO1xuaW1wb3J0IHtJTG9va3VwRGF0YVByb3ZpZGVyfSBmcm9tICcuLi8uLi8uLi9kYXRhLXByb3ZpZGVycyc7XG5cbmV4cG9ydCBjb25zdCBNTkdfRFJPUERPV05fVkFMVUVfQUNDRVNTT1I6IEV4aXN0aW5nUHJvdmlkZXIgPSB7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTW5nRHJvcGRvd25Db21wb25lbnQpLFxuICAgIG11bHRpOiB0cnVlXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ21uZy1kcm9wZG93bicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtNTkdfRFJPUERPV05fVkFMVUVfQUNDRVNTT1JdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIE1uZ0Ryb3Bkb3duQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgQElucHV0KCkgcHVibGljIGRhdGFQcm92aWRlcj86IElMb29rdXBEYXRhUHJvdmlkZXI8YW55LCBhbnk+O1xuICAgIEBJbnB1dCgpIHB1YmxpYyBkYXRhS2V5UHJvcGVydHk/OiBzdHJpbmc7XG4gICAgQElucHV0KCkgcHVibGljIGl0ZW1zTGFiZWxQcm9wZXJ0eT86IHN0cmluZztcbiAgICBASW5wdXQoKSBwdWJsaWMgaXRlbXNWYWx1ZVByb3BlcnR5Pzogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBtdWx0aXNlbGVjdCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHB1YmxpYyBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgICBASW5wdXQoKSBwdWJsaWMgc2hvd0NsZWFyID0gdHJ1ZTtcbiAgICBASW5wdXQoKSBwdWJsaWMgY2xhc3NOYW1lOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgICBASW5wdXQoKSBwdWJsaWMgZHJvcGRvd25DbGFzc05hbWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgQE91dHB1dCgndmFsdWVDaGFuZ2UnKSBwdWJsaWMgdmFsdWVDaGFuZ2VFdmVudEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAVmlld0NoaWxkKERyb3Bkb3duKSBwdWJsaWMgcHJpbWVEcm9wZG93bj86IERyb3Bkb3duO1xuXG4gICAgcHJpdmF0ZSBpdGVtc1N1YmplY3Q6IFN1YmplY3Q8QXJyYXk8YW55Pj4gPSBuZXcgUmVwbGF5U3ViamVjdDxBcnJheTxhbnk+PigxKTtcbiAgICBwcml2YXRlIGRhdGFQcm92aWRlclNlcnZpY2U6IGFueSA9IG51bGw7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAgIHByaXZhdGUgb25DaGFuZ2VGbjogYW55ID0gKCkgPT4ge307XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAgIHByaXZhdGUgb25Ub3VjaGVkRm46IGFueSA9ICgpID0+IHt9O1xuXG4gICAgcHVibGljIGRyb3Bkb3duRm9ybUNvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCk7XG4gICAgcHVibGljIGl0ZW1zJDogT2JzZXJ2YWJsZTxBcnJheTxhbnk+PiA9IHRoaXMuaXRlbXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IpIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kcm9wZG93bkZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodiA9PiB7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlRm4odik7XG4gICAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlRXZlbnRFbWl0dGVyLm5leHQodik7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLmRhdGFQcm92aWRlcikge1xuICAgICAgICAgICAgdGhpcy5kYXRhUHJvdmlkZXJTZXJ2aWNlID0gdGhpcy5kYXRhUHJvdmlkZXIuc2VydmljZVR5cGUgPyB0aGlzLmluamVjdG9yLmdldDxhbnk+KHRoaXMuZGF0YVByb3ZpZGVyLnNlcnZpY2VUeXBlKSA6IG51bGw7XG5cbiAgICAgICAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1CdWlsZGVyID0gTWVkaXVzUXVlcnlQYXJhbUJ1aWxkZXIuY3JlYXRlKCk7XG4gICAgICAgICAgICB0aGlzLmRhdGFQcm92aWRlclxuICAgICAgICAgICAgICAgIC5sb29rdXAocXVlcnlQYXJhbUJ1aWxkZXIuYnVpbGQoKSwgdGhpcy5kYXRhUHJvdmlkZXJTZXJ2aWNlKVxuICAgICAgICAgICAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLml0ZW1zU3ViamVjdC5uZXh0KHJlcyk7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5kcm9wZG93bkZvcm1Db250cm9sPy52YWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMkLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IGNoZWNrIGlmIHJlYWxseSBvbmx5IHdheVxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLml0ZW1zVmFsdWVQcm9wZXJ0eSA/IHJlc1swXVt0aGlzLml0ZW1zVmFsdWVQcm9wZXJ0eV0gOiByZXNbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRyb3Bkb3duRm9ybUNvbnRyb2w/LnBhdGNoVmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ3BhdGNoZWQgZHJvcGRvd24gZm9ybSB2YWx1ZSB3aXRoJywgdmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYERhdGEgcHJvdmlkZXIgc2hvdWxkIGJlIHByb3ZpZGVkIGZvciBNbmdEcm9wZG93bkNvbXBvbmVudC5gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlRm4gPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkRm4gPSBmbjtcbiAgICB9XG5cbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKGlzRGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZHJvcGRvd25Gb3JtQ29udHJvbC5kaXNhYmxlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duRm9ybUNvbnRyb2wuZW5hYmxlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZHJvcGRvd25Gb3JtQ29udHJvbC5zZXRWYWx1ZShvYmosIHtlbWl0RXZlbnQ6IGZhbHNlfSk7XG4gICAgICAgIGlmICh0aGlzLnByaW1lRHJvcGRvd24pIHtcbiAgICAgICAgICAgIHRoaXMucHJpbWVEcm9wZG93bi53cml0ZVZhbHVlKG9iaik7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8cC1kcm9wZG93blxuICAgICpuZ0lmPVwiIW11bHRpc2VsZWN0OyBlbHNlIHBNdWx0aXNlbGVjdFwiXG4gICAgW2Zvcm1Db250cm9sXT1cImRyb3Bkb3duRm9ybUNvbnRyb2xcIlxuICAgIFtwbGFjZWhvbGRlcl09XCIkYW55KHBsYWNlaG9sZGVyKVwiXG4gICAgW2RhdGFLZXldPVwiJGFueShkYXRhS2V5UHJvcGVydHkpXCJcbiAgICBbb3B0aW9uTGFiZWxdPVwiJGFueShpdGVtc0xhYmVsUHJvcGVydHkpXCJcbiAgICBbb3B0aW9uVmFsdWVdPVwiJGFueShpdGVtc1ZhbHVlUHJvcGVydHkpXCJcbiAgICBbb3B0aW9uc109XCIoaXRlbXMkIHwgYXN5bmMpID8/IFtdXCJcbiAgICBbc2hvd0NsZWFyXT1cInNob3dDbGVhclwiXG4gICAgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIlxuICAgIFtzdHlsZUNsYXNzXT1cIiRhbnkoY2xhc3NOYW1lKVwiXG4gICAgW3BhbmVsU3R5bGVDbGFzc109XCIkYW55KGRyb3Bkb3duQ2xhc3NOYW1lKVwiXG4gICAgYXBwZW5kVG89XCJib2R5XCI+XG48L3AtZHJvcGRvd24+XG48bmctdGVtcGxhdGUgI3BNdWx0aXNlbGVjdD5cbiAgICA8cC1tdWx0aVNlbGVjdFxuICAgICAgICBkaXNwbGF5PVwiY2hpcFwiXG4gICAgICAgIFtmb3JtQ29udHJvbF09XCJkcm9wZG93bkZvcm1Db250cm9sXCJcbiAgICAgICAgW2RlZmF1bHRMYWJlbF09XCIkYW55KHBsYWNlaG9sZGVyKVwiXG4gICAgICAgIFtkYXRhS2V5XT1cIiRhbnkoZGF0YUtleVByb3BlcnR5KVwiXG4gICAgICAgIFtvcHRpb25MYWJlbF09XCIkYW55KGl0ZW1zTGFiZWxQcm9wZXJ0eSlcIlxuICAgICAgICBbb3B0aW9uVmFsdWVdPVwiJGFueShpdGVtc1ZhbHVlUHJvcGVydHkpXCJcbiAgICAgICAgW29wdGlvbnNdPVwiKGl0ZW1zJCB8IGFzeW5jKSA/PyBbXVwiXG4gICAgICAgIFtzdHlsZUNsYXNzXT1cIiRhbnkoY2xhc3NOYW1lKVwiXG4gICAgICAgIFtwYW5lbFN0eWxlQ2xhc3NdPVwiJGFueShkcm9wZG93bkNsYXNzTmFtZSlcIlxuICAgICAgICBbZmlsdGVyXT1cImZhbHNlXCJcbiAgICAgICAgYXBwZW5kVG89XCJib2R5XCI+XG4gICAgPC9wLW11bHRpU2VsZWN0PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==