@acorex/platform 18.2.2 → 18.2.4

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 (324) hide show
  1. package/common/lib/app/operators.d.ts +1 -0
  2. package/common/lib/common.module.d.ts +6 -7
  3. package/common/lib/data/filter-middleware.service.d.ts +28 -0
  4. package/common/lib/data/index.d.ts +3 -1
  5. package/common/lib/data/operators.service.d.ts +14 -0
  6. package/common/lib/layout/index.d.ts +0 -2
  7. package/common/lib/schema/widgets/dateTime/dateTime-widget-edit.component.d.ts +0 -2
  8. package/common/lib/schema/widgets/dateTime/dateTime-widget-filter.component.d.ts +1 -0
  9. package/common/lib/schema/widgets/email/email-widget-edit.component.d.ts +0 -2
  10. package/common/lib/schema/widgets/phone/phone-widget-edit.component.d.ts +0 -2
  11. package/common/lib/schema/widgets/text/text-widget-edit.component.d.ts +0 -2
  12. package/common/lib/settings/setting-definition.provider.d.ts +6 -6
  13. package/common/lib/settings/settings.types.d.ts +18 -9
  14. package/esm2022/common/lib/app/operators.mjs +16 -1
  15. package/esm2022/common/lib/common.module.mjs +23 -12
  16. package/esm2022/common/lib/data/filter-middleware.service.mjs +53 -0
  17. package/esm2022/common/lib/data/index.mjs +4 -2
  18. package/esm2022/common/lib/data/operators.service.mjs +15 -0
  19. package/esm2022/common/lib/layout/index.mjs +1 -3
  20. package/esm2022/common/lib/layout/menu/menu.service.mjs +2 -2
  21. package/esm2022/common/lib/layout/sticky.directive.mjs +15 -11
  22. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-edit.component.mjs +7 -8
  23. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-filter.component.mjs +47 -25
  24. package/esm2022/common/lib/schema/widgets/email/email-widget-edit.component.mjs +6 -7
  25. package/esm2022/common/lib/schema/widgets/phone/phone-widget-edit.component.mjs +6 -7
  26. package/esm2022/common/lib/schema/widgets/text/text-widget-edit.component.mjs +6 -7
  27. package/esm2022/common/lib/settings/setting-definition.provider.mjs +141 -187
  28. package/esm2022/common/lib/settings/settings.types.mjs +2 -7
  29. package/esm2022/common/lib/utils/data-generator.mjs +1 -1
  30. package/esm2022/layout/builder/lib/builder/widget-catalog.mjs +2 -1
  31. package/esm2022/layout/builder/lib/builder/widget-column-renderer.mjs +22 -11
  32. package/esm2022/layout/builder/lib/builder/widget.types.mjs +11 -6
  33. package/esm2022/layout/designer/lib/designer/components/header-menu/header-menu.component.mjs +2 -7
  34. package/esm2022/layout/designer/lib/designer/components/size-mode/view-size-toolbar.component.mjs +27 -32
  35. package/esm2022/layout/entity/lib/entity-detail-list.viewmodel.mjs +8 -6
  36. package/esm2022/layout/entity/lib/entity-master-create.viewmodel.mjs +4 -3
  37. package/esm2022/layout/entity/lib/entity-master-list.viewmodel.mjs +39 -12
  38. package/esm2022/layout/entity/lib/entity-master-single.viewmodel.mjs +4 -3
  39. package/esm2022/layout/entity/lib/entity-master-update.viewmodel.mjs +3 -3
  40. package/esm2022/layout/entity/lib/entity.module.mjs +1 -6
  41. package/esm2022/layout/entity/lib/index.mjs +5 -4
  42. package/esm2022/layout/setting/acorex-platform-layout-setting.mjs +5 -0
  43. package/esm2022/layout/setting/index.mjs +2 -0
  44. package/esm2022/layout/setting/lib/convert-setting-data.mjs +59 -0
  45. package/esm2022/layout/setting/lib/setting.viewmodel.mjs +132 -0
  46. package/esm2022/layouts/lib/admin/admin.module.mjs +17 -5
  47. package/esm2022/layouts/lib/admin/entity-layout/entity-create-view/entity-create-view.config.mjs +3 -3
  48. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/detail-view.config.mjs +4 -3
  49. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.mjs +8 -23
  50. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.mjs +2 -6
  51. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.mjs +4 -5
  52. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.mjs +4 -8
  53. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.config.mjs +12 -10
  54. package/esm2022/layouts/lib/admin/entity-layout/entity-modify-view/entity-modify-view.config.mjs +3 -3
  55. package/esm2022/layouts/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.mjs +1 -3
  56. package/esm2022/themes/default/index.mjs +2 -1
  57. package/esm2022/themes/default/lib/default.module.mjs +83 -39
  58. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.mjs +18 -24
  59. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.mjs +21 -24
  60. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.mjs +18 -12
  61. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.mjs +6 -8
  62. package/esm2022/themes/default/lib/layouts/root-layout/components/header/header.component.mjs +6 -8
  63. package/esm2022/themes/default/lib/layouts/root-layout/components/menu/root-menu.component.mjs +1 -1
  64. package/esm2022/themes/default/lib/layouts/root-layout/root-layout.component.mjs +11 -38
  65. package/esm2022/themes/default/lib/layouts/setting-layout/index.mjs +3 -0
  66. package/esm2022/themes/default/lib/layouts/setting-layout/setting-menu/setting-menu.component.mjs +28 -0
  67. package/esm2022/themes/default/lib/layouts/setting-layout/setting-view/setting-view.component.mjs +42 -0
  68. package/esm2022/themes/shared/lib/services/theme.service.mjs +183 -19
  69. package/esm2022/widgets/lib/properties/layout.props.mjs +13 -13
  70. package/esm2022/widgets/lib/widgets/advance/cron-job/cron-job-widget-column.component.mjs +20 -0
  71. package/esm2022/widgets/lib/widgets/advance/cron-job/cron-job-widget-designer.component.mjs +18 -0
  72. package/esm2022/widgets/lib/widgets/advance/cron-job/cron-job-widget-edit.component.mjs +24 -0
  73. package/esm2022/widgets/lib/widgets/advance/cron-job/cron-job-widget-filter.component.mjs +20 -0
  74. package/esm2022/widgets/lib/widgets/advance/cron-job/cron-job-widget-print.component.mjs +19 -0
  75. package/esm2022/widgets/lib/widgets/advance/cron-job/cron-job-widget-view.component.mjs +22 -0
  76. package/esm2022/widgets/lib/widgets/advance/cron-job/cron-job-widget.config.mjs +32 -0
  77. package/esm2022/widgets/lib/widgets/advance/cron-job/index.mjs +8 -0
  78. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-designer.component.mjs +4 -9
  79. package/esm2022/widgets/lib/widgets/editors/selection-list/selection-list-widget-edit.component.mjs +2 -9
  80. package/esm2022/widgets/lib/widgets/layout/block/block-widget.config.mjs +6 -7
  81. package/esm2022/widgets/lib/widgets.module.mjs +5 -2
  82. package/esm2022/workflow/lib/workflow.service.mjs +1 -1
  83. package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-vDhYokEG.mjs → acorex-platform-common-avatar-widget-edit.component-DtC2IaE8.mjs} +3 -4
  84. package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-vDhYokEG.mjs.map → acorex-platform-common-avatar-widget-edit.component-DtC2IaE8.mjs.map} +1 -1
  85. package/fesm2022/{acorex-platform-common-avatar-widget-view.component-Dew3CVLm.mjs → acorex-platform-common-avatar-widget-view.component-BOIV0Be1.mjs} +4 -5
  86. package/fesm2022/acorex-platform-common-avatar-widget-view.component-BOIV0Be1.mjs.map +1 -0
  87. package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-BdE7WOK5.mjs → acorex-platform-common-boolean-widget-filter.component-S4-3SmKA.mjs} +3 -4
  88. package/fesm2022/acorex-platform-common-boolean-widget-filter.component-S4-3SmKA.mjs.map +1 -0
  89. package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-Bj5rjEk1.mjs → acorex-platform-common-checkbox-widget-column.component-DOoneR7g.mjs} +4 -5
  90. package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-Bj5rjEk1.mjs.map → acorex-platform-common-checkbox-widget-column.component-DOoneR7g.mjs.map} +1 -1
  91. package/fesm2022/{acorex-platform-common-checkbox-widget-edit.component-ChXbJsuG.mjs → acorex-platform-common-checkbox-widget-edit.component-PFRq-XS-.mjs} +4 -5
  92. package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-PFRq-XS-.mjs.map +1 -0
  93. package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-CbQwjE_u.mjs → acorex-platform-common-checkbox-widget-view.component-CKz8XnjT.mjs} +4 -5
  94. package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-CbQwjE_u.mjs.map → acorex-platform-common-checkbox-widget-view.component-CKz8XnjT.mjs.map} +1 -1
  95. package/fesm2022/{acorex-platform-common-dateTime-widget-column.component-QUYyDVw8.mjs → acorex-platform-common-dateTime-widget-column.component-DG0leXAo.mjs} +4 -5
  96. package/fesm2022/acorex-platform-common-dateTime-widget-column.component-DG0leXAo.mjs.map +1 -0
  97. package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-CzLb3xnR.mjs → acorex-platform-common-dateTime-widget-edit.component-D8W-XEcx.mjs} +10 -13
  98. package/fesm2022/acorex-platform-common-dateTime-widget-edit.component-D8W-XEcx.mjs.map +1 -0
  99. package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-DZRQ6yVk.mjs → acorex-platform-common-dateTime-widget-filter.component-DngCKwFY.mjs} +49 -28
  100. package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-DngCKwFY.mjs.map +1 -0
  101. package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-DxNwm_5m.mjs → acorex-platform-common-dateTime-widget-view.component-KGgJkiKB.mjs} +4 -5
  102. package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-DxNwm_5m.mjs.map → acorex-platform-common-dateTime-widget-view.component-KGgJkiKB.mjs.map} +1 -1
  103. package/fesm2022/{acorex-platform-common-email-widget-column.component-Cm-fhlNZ.mjs → acorex-platform-common-email-widget-column.component-CLNqSuB7.mjs} +4 -5
  104. package/fesm2022/acorex-platform-common-email-widget-column.component-CLNqSuB7.mjs.map +1 -0
  105. package/fesm2022/{acorex-platform-common-email-widget-edit.component-BfXFBLF6.mjs → acorex-platform-common-email-widget-edit.component--0gaRm4s.mjs} +9 -11
  106. package/fesm2022/acorex-platform-common-email-widget-edit.component--0gaRm4s.mjs.map +1 -0
  107. package/fesm2022/{acorex-platform-common-email-widget-view.component-ClRjKVy6.mjs → acorex-platform-common-email-widget-view.component-C3AUr1HO.mjs} +4 -5
  108. package/fesm2022/{acorex-platform-common-email-widget-view.component-ClRjKVy6.mjs.map → acorex-platform-common-email-widget-view.component-C3AUr1HO.mjs.map} +1 -1
  109. package/fesm2022/{acorex-platform-common-file-widget-column.component-B0v2rSWI.mjs → acorex-platform-common-file-widget-column.component-C9AHk2UP.mjs} +4 -5
  110. package/fesm2022/acorex-platform-common-file-widget-column.component-C9AHk2UP.mjs.map +1 -0
  111. package/fesm2022/{acorex-platform-common-file-widget-edit.component-DsIqehpt.mjs → acorex-platform-common-file-widget-edit.component-L7bln9k0.mjs} +4 -5
  112. package/fesm2022/{acorex-platform-common-file-widget-edit.component-DsIqehpt.mjs.map → acorex-platform-common-file-widget-edit.component-L7bln9k0.mjs.map} +1 -1
  113. package/fesm2022/{acorex-platform-common-file-widget-filter.component-C3uBjqF-.mjs → acorex-platform-common-file-widget-filter.component-Ce35mqny.mjs} +4 -5
  114. package/fesm2022/acorex-platform-common-file-widget-filter.component-Ce35mqny.mjs.map +1 -0
  115. package/fesm2022/{acorex-platform-common-file-widget-view.component-DTl_Rehd.mjs → acorex-platform-common-file-widget-view.component-BvMzrs5C.mjs} +4 -5
  116. package/fesm2022/{acorex-platform-common-file-widget-view.component-DTl_Rehd.mjs.map → acorex-platform-common-file-widget-view.component-BvMzrs5C.mjs.map} +1 -1
  117. package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-DHeFVg5x.mjs → acorex-platform-common-gallery-widget-edit.component-BVuV2Ib8.mjs} +3 -4
  118. package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-DHeFVg5x.mjs.map → acorex-platform-common-gallery-widget-edit.component-BVuV2Ib8.mjs.map} +1 -1
  119. package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-Di446i2c.mjs → acorex-platform-common-gallery-widget-filter.component-C8tdM6PX.mjs} +4 -5
  120. package/fesm2022/acorex-platform-common-gallery-widget-filter.component-C8tdM6PX.mjs.map +1 -0
  121. package/fesm2022/{acorex-platform-common-gallery-widget-view.component-CkcRvfv-.mjs → acorex-platform-common-gallery-widget-view.component-D8YmSi9C.mjs} +3 -4
  122. package/fesm2022/{acorex-platform-common-gallery-widget-view.component-CkcRvfv-.mjs.map → acorex-platform-common-gallery-widget-view.component-D8YmSi9C.mjs.map} +1 -1
  123. package/fesm2022/{acorex-platform-common-largetext-widget-edit.component-D89AlBSm.mjs → acorex-platform-common-largetext-widget-edit.component-DGMxpnsr.mjs} +4 -5
  124. package/fesm2022/acorex-platform-common-largetext-widget-edit.component-DGMxpnsr.mjs.map +1 -0
  125. package/fesm2022/{acorex-platform-common-lookup-widget-column.component-CB0ehp_y.mjs → acorex-platform-common-lookup-widget-column.component-B-cEaNjv.mjs} +4 -5
  126. package/fesm2022/acorex-platform-common-lookup-widget-column.component-B-cEaNjv.mjs.map +1 -0
  127. package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-B0HQnsb8.mjs → acorex-platform-common-lookup-widget-edit.component-DqB_g9Zz.mjs} +4 -5
  128. package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-B0HQnsb8.mjs.map → acorex-platform-common-lookup-widget-edit.component-DqB_g9Zz.mjs.map} +1 -1
  129. package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-Dxj_XEYV.mjs → acorex-platform-common-lookup-widget-filter.component-0TPWNWSd.mjs} +3 -4
  130. package/fesm2022/acorex-platform-common-lookup-widget-filter.component-0TPWNWSd.mjs.map +1 -0
  131. package/fesm2022/{acorex-platform-common-lookup-widget-view.component-BtO3feA9.mjs → acorex-platform-common-lookup-widget-view.component-DYAg76YH.mjs} +4 -5
  132. package/fesm2022/acorex-platform-common-lookup-widget-view.component-DYAg76YH.mjs.map +1 -0
  133. package/fesm2022/{acorex-platform-common-map-widget-edit.component-hXIZrhzg.mjs → acorex-platform-common-map-widget-edit.component-C3cpsXD5.mjs} +4 -5
  134. package/fesm2022/acorex-platform-common-map-widget-edit.component-C3cpsXD5.mjs.map +1 -0
  135. package/fesm2022/{acorex-platform-common-map-widget-view.component-RgV-r8q6.mjs → acorex-platform-common-map-widget-view.component-C-DCNaJi.mjs} +4 -5
  136. package/fesm2022/acorex-platform-common-map-widget-view.component-C-DCNaJi.mjs.map +1 -0
  137. package/fesm2022/{acorex-platform-common-messenger-widget-column.component-DGWQWuzM.mjs → acorex-platform-common-messenger-widget-column.component-B2A7ZBEP.mjs} +4 -5
  138. package/fesm2022/acorex-platform-common-messenger-widget-column.component-B2A7ZBEP.mjs.map +1 -0
  139. package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-Blv1qL4e.mjs → acorex-platform-common-messenger-widget-edit.component-DC8vQDo0.mjs} +4 -5
  140. package/fesm2022/acorex-platform-common-messenger-widget-edit.component-DC8vQDo0.mjs.map +1 -0
  141. package/fesm2022/{acorex-platform-common-messenger-widget-view.component-DEbnPggG.mjs → acorex-platform-common-messenger-widget-view.component-B6FavkmG.mjs} +4 -5
  142. package/fesm2022/{acorex-platform-common-messenger-widget-view.component-DEbnPggG.mjs.map → acorex-platform-common-messenger-widget-view.component-B6FavkmG.mjs.map} +1 -1
  143. package/fesm2022/{acorex-platform-common-number-widget-edit.component-gQCEBhPv.mjs → acorex-platform-common-number-widget-edit.component-Bc5-ZUw4.mjs} +4 -5
  144. package/fesm2022/acorex-platform-common-number-widget-edit.component-Bc5-ZUw4.mjs.map +1 -0
  145. package/fesm2022/{acorex-platform-common-number-widget-filter.component-CvEw3awN.mjs → acorex-platform-common-number-widget-filter.component-DxfJ90n4.mjs} +4 -5
  146. package/fesm2022/acorex-platform-common-number-widget-filter.component-DxfJ90n4.mjs.map +1 -0
  147. package/fesm2022/{acorex-platform-common-number-widget-view.component-ROrdklif.mjs → acorex-platform-common-number-widget-view.component-DGfLSGw1.mjs} +4 -5
  148. package/fesm2022/acorex-platform-common-number-widget-view.component-DGfLSGw1.mjs.map +1 -0
  149. package/fesm2022/{acorex-platform-common-password-widget-column.component-vXdE4UjM.mjs → acorex-platform-common-password-widget-column.component-DEHaVLGK.mjs} +4 -5
  150. package/fesm2022/{acorex-platform-common-password-widget-column.component-vXdE4UjM.mjs.map → acorex-platform-common-password-widget-column.component-DEHaVLGK.mjs.map} +1 -1
  151. package/fesm2022/{acorex-platform-common-password-widget-edit.component-BCOoHtGl.mjs → acorex-platform-common-password-widget-edit.component-DrYyu5v-.mjs} +4 -5
  152. package/fesm2022/acorex-platform-common-password-widget-edit.component-DrYyu5v-.mjs.map +1 -0
  153. package/fesm2022/{acorex-platform-common-password-widget-view.component-rpjAeimk.mjs → acorex-platform-common-password-widget-view.component-B_HU-3J1.mjs} +4 -4
  154. package/fesm2022/{acorex-platform-common-password-widget-view.component-rpjAeimk.mjs.map → acorex-platform-common-password-widget-view.component-B_HU-3J1.mjs.map} +1 -1
  155. package/fesm2022/{acorex-platform-common-phone-widget-column.component-BbuUbPCu.mjs → acorex-platform-common-phone-widget-column.component-D99ncxxJ.mjs} +4 -5
  156. package/fesm2022/{acorex-platform-common-phone-widget-column.component-BbuUbPCu.mjs.map → acorex-platform-common-phone-widget-column.component-D99ncxxJ.mjs.map} +1 -1
  157. package/fesm2022/{acorex-platform-common-phone-widget-edit.component-Bo_aOxfZ.mjs → acorex-platform-common-phone-widget-edit.component-a5EAI9FK.mjs} +8 -10
  158. package/fesm2022/acorex-platform-common-phone-widget-edit.component-a5EAI9FK.mjs.map +1 -0
  159. package/fesm2022/{acorex-platform-common-phone-widget-view.component-DDBCR_QY.mjs → acorex-platform-common-phone-widget-view.component-BlFVuoNN.mjs} +4 -5
  160. package/fesm2022/{acorex-platform-common-phone-widget-view.component-DDBCR_QY.mjs.map → acorex-platform-common-phone-widget-view.component-BlFVuoNN.mjs.map} +1 -1
  161. package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-BHiq7hdp.mjs → acorex-platform-common-rich-text-widget-column.component-DOdv5I2s.mjs} +4 -5
  162. package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-BHiq7hdp.mjs.map → acorex-platform-common-rich-text-widget-column.component-DOdv5I2s.mjs.map} +1 -1
  163. package/fesm2022/{acorex-platform-common-rich-text-widget-edit.component-12odUyzb.mjs → acorex-platform-common-rich-text-widget-edit.component-DL5UyAqe.mjs} +4 -5
  164. package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-DL5UyAqe.mjs.map +1 -0
  165. package/fesm2022/{acorex-platform-common-rich-text-widget-view.component-Xr0ohz5L.mjs → acorex-platform-common-rich-text-widget-view.component-B9WB-mx9.mjs} +4 -5
  166. package/fesm2022/acorex-platform-common-rich-text-widget-view.component-B9WB-mx9.mjs.map +1 -0
  167. package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-C2JikSdw.mjs → acorex-platform-common-selection-list-widget-column.component-CkOuYy0Z.mjs} +4 -5
  168. package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-C2JikSdw.mjs.map → acorex-platform-common-selection-list-widget-column.component-CkOuYy0Z.mjs.map} +1 -1
  169. package/fesm2022/{acorex-platform-common-selection-list-widget-edit.component-C1QPfHCm.mjs → acorex-platform-common-selection-list-widget-edit.component-BmbDQ1LH.mjs} +4 -5
  170. package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-BmbDQ1LH.mjs.map +1 -0
  171. package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-DIgxHmqa.mjs → acorex-platform-common-selection-list-widget-filter.component-Dm_1-7eT.mjs} +3 -4
  172. package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-Dm_1-7eT.mjs.map +1 -0
  173. package/fesm2022/{acorex-platform-common-selection-list-widget-view.component-D-VQ4JNC.mjs → acorex-platform-common-selection-list-widget-view.component-3hinF85C.mjs} +4 -5
  174. package/fesm2022/acorex-platform-common-selection-list-widget-view.component-3hinF85C.mjs.map +1 -0
  175. package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-BimaJ4_d.mjs → acorex-platform-common-signature-pad-widget-edit.component-DmmPbw-A.mjs} +3 -4
  176. package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-BimaJ4_d.mjs.map → acorex-platform-common-signature-pad-widget-edit.component-DmmPbw-A.mjs.map} +1 -1
  177. package/fesm2022/{acorex-platform-common-signature-pad-widget-view.component-USd0U707.mjs → acorex-platform-common-signature-pad-widget-view.component-DkFaMNk8.mjs} +4 -5
  178. package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-DkFaMNk8.mjs.map +1 -0
  179. package/fesm2022/{acorex-platform-common-string-widget-filter.component-wI9D-Ju5.mjs → acorex-platform-common-string-widget-filter.component-DAqR2PUN.mjs} +4 -5
  180. package/fesm2022/acorex-platform-common-string-widget-filter.component-DAqR2PUN.mjs.map +1 -0
  181. package/fesm2022/{acorex-platform-common-text-widget-column.component-Be7Nr0lJ.mjs → acorex-platform-common-text-widget-column.component-DVczwvKA.mjs} +4 -5
  182. package/fesm2022/{acorex-platform-common-text-widget-column.component-Be7Nr0lJ.mjs.map → acorex-platform-common-text-widget-column.component-DVczwvKA.mjs.map} +1 -1
  183. package/fesm2022/{acorex-platform-common-text-widget-edit.component-feJTTnye.mjs → acorex-platform-common-text-widget-edit.component-DC_GnFhe.mjs} +9 -12
  184. package/fesm2022/acorex-platform-common-text-widget-edit.component-DC_GnFhe.mjs.map +1 -0
  185. package/fesm2022/{acorex-platform-common-text-widget-view.component-DsUAJ-md.mjs → acorex-platform-common-text-widget-view.component-BK3HZGgb.mjs} +4 -5
  186. package/fesm2022/{acorex-platform-common-text-widget-view.component-DsUAJ-md.mjs.map → acorex-platform-common-text-widget-view.component-BK3HZGgb.mjs.map} +1 -1
  187. package/fesm2022/{acorex-platform-common-toggle-widget-column.component-BFwzsY4-.mjs → acorex-platform-common-toggle-widget-column.component-Bp1d7SAE.mjs} +4 -5
  188. package/fesm2022/{acorex-platform-common-toggle-widget-column.component-BFwzsY4-.mjs.map → acorex-platform-common-toggle-widget-column.component-Bp1d7SAE.mjs.map} +1 -1
  189. package/fesm2022/{acorex-platform-common-toggle-widget-edit.component-Cuf9_RrU.mjs → acorex-platform-common-toggle-widget-edit.component-D64m4agx.mjs} +4 -5
  190. package/fesm2022/acorex-platform-common-toggle-widget-edit.component-D64m4agx.mjs.map +1 -0
  191. package/fesm2022/{acorex-platform-common-toggle-widget-view.component-DYz6VTey.mjs → acorex-platform-common-toggle-widget-view.component-BTaXXZ88.mjs} +4 -5
  192. package/fesm2022/{acorex-platform-common-toggle-widget-view.component-DYz6VTey.mjs.map → acorex-platform-common-toggle-widget-view.component-BTaXXZ88.mjs.map} +1 -1
  193. package/fesm2022/acorex-platform-common.mjs +846 -981
  194. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  195. package/fesm2022/acorex-platform-layout-builder.mjs +28 -11
  196. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  197. package/fesm2022/acorex-platform-layout-designer.mjs +26 -36
  198. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  199. package/fesm2022/acorex-platform-layout-entity.mjs +843 -819
  200. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  201. package/fesm2022/acorex-platform-layout-setting.mjs +197 -0
  202. package/fesm2022/acorex-platform-layout-setting.mjs.map +1 -0
  203. package/fesm2022/acorex-platform-layouts.mjs +37 -46
  204. package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
  205. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-Cf5ttvrG.mjs → acorex-platform-themes-default-entity-master-create-view.component-Bs6fn6z2.mjs} +5 -5
  206. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-Cf5ttvrG.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-Bs6fn6z2.mjs.map} +1 -1
  207. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DPHXeucj.mjs +310 -0
  208. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DPHXeucj.mjs.map +1 -0
  209. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-CCvE7XiE.mjs → acorex-platform-themes-default-entity-master-modify-view.component-CWrpcOC2.mjs} +5 -5
  210. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-CCvE7XiE.mjs.map → acorex-platform-themes-default-entity-master-modify-view.component-CWrpcOC2.mjs.map} +1 -1
  211. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-CwrgQFY7.mjs → acorex-platform-themes-default-entity-master-single-view.component-DHfe0Qtu.mjs} +19 -21
  212. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DHfe0Qtu.mjs.map +1 -0
  213. package/fesm2022/acorex-platform-themes-default.mjs +173 -135
  214. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  215. package/fesm2022/acorex-platform-themes-shared.mjs +184 -20
  216. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  217. package/fesm2022/{acorex-platform-widgets-template-widget-edit.component-JlCVB-Aq.mjs → acorex-platform-widgets-template-widget-edit.component-DwPYeF0y.mjs} +2 -1
  218. package/fesm2022/{acorex-platform-widgets-template-widget-edit.component-JlCVB-Aq.mjs.map → acorex-platform-widgets-template-widget-edit.component-DwPYeF0y.mjs.map} +1 -1
  219. package/fesm2022/acorex-platform-widgets.mjs +181 -34
  220. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  221. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  222. package/layout/builder/lib/builder/widget-column-renderer.d.ts +1 -1
  223. package/layout/builder/lib/builder/widget.types.d.ts +1 -2
  224. package/layout/entity/lib/entity-detail-list.viewmodel.d.ts +1 -0
  225. package/layout/entity/lib/entity-master-create.viewmodel.d.ts +2 -2
  226. package/layout/entity/lib/entity-master-list.viewmodel.d.ts +7 -2
  227. package/layout/entity/lib/index.d.ts +4 -3
  228. package/layout/setting/README.md +3 -0
  229. package/layout/setting/index.d.ts +1 -0
  230. package/layout/setting/lib/convert-setting-data.d.ts +21 -0
  231. package/layout/setting/lib/setting.viewmodel.d.ts +39 -0
  232. package/layouts/lib/admin/admin.module.d.ts +6 -3
  233. package/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.d.ts +42 -9
  234. package/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-columns/list-view-option-columns.component.d.ts +0 -2
  235. package/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.d.ts +0 -2
  236. package/layouts/lib/admin/entity-layout/entity-list-view/list-view.config.d.ts +4 -2
  237. package/layouts/lib/admin/entity-layout/entity-quick-view/entity-quick-view.component.d.ts +0 -1
  238. package/package.json +12 -12
  239. package/themes/default/index.d.ts +1 -0
  240. package/themes/default/lib/default.module.d.ts +3 -4
  241. package/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.d.ts +43 -8
  242. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.d.ts +42 -4
  243. package/themes/default/lib/layouts/entity-layouts/entity-master-list-view/list-view-option-columns/list-view-option-columns.component.d.ts +3 -2
  244. package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.d.ts +42 -3
  245. package/themes/default/lib/layouts/root-layout/components/header/header.component.d.ts +42 -2
  246. package/themes/default/lib/layouts/root-layout/root-layout.component.d.ts +42 -11
  247. package/themes/default/lib/layouts/setting-layout/index.d.ts +2 -0
  248. package/themes/default/lib/layouts/setting-layout/setting-menu/setting-menu.component.d.ts +12 -0
  249. package/themes/default/lib/layouts/setting-layout/setting-view/setting-view.component.d.ts +7 -0
  250. package/themes/shared/lib/components/theme-slot.component.d.ts +31 -5
  251. package/themes/shared/lib/services/theme.service.d.ts +45 -5
  252. package/widgets/lib/widgets/advance/cron-job/cron-job-widget-column.component.d.ts +6 -0
  253. package/widgets/lib/widgets/advance/cron-job/cron-job-widget-designer.component.d.ts +6 -0
  254. package/widgets/lib/widgets/advance/cron-job/cron-job-widget-edit.component.d.ts +7 -0
  255. package/widgets/lib/widgets/advance/cron-job/cron-job-widget-filter.component.d.ts +6 -0
  256. package/widgets/lib/widgets/advance/cron-job/cron-job-widget-print.component.d.ts +6 -0
  257. package/widgets/lib/widgets/advance/cron-job/cron-job-widget-view.component.d.ts +7 -0
  258. package/widgets/lib/widgets/advance/cron-job/cron-job-widget.config.d.ts +7 -0
  259. package/widgets/lib/widgets/advance/cron-job/index.d.ts +7 -0
  260. package/workflow/lib/workflow.service.d.ts +1 -1
  261. package/common/lib/layout/layout.service.d.ts +0 -19
  262. package/common/lib/layout/theme/store/admin-layout.actions.d.ts +0 -7
  263. package/common/lib/layout/theme/store/admin-layout.effects.d.ts +0 -9
  264. package/common/lib/layout/theme/store/admin-layout.reducers.d.ts +0 -19
  265. package/common/lib/layout/theme/store/admin-layout.selectors.d.ts +0 -4
  266. package/common/lib/layout/theme/store/admin-layout.state.d.ts +0 -11
  267. package/common/lib/layout/theme/store/index.d.ts +0 -5
  268. package/esm2022/common/lib/layout/layout.service.mjs +0 -79
  269. package/esm2022/common/lib/layout/theme/store/admin-layout.actions.mjs +0 -11
  270. package/esm2022/common/lib/layout/theme/store/admin-layout.effects.mjs +0 -21
  271. package/esm2022/common/lib/layout/theme/store/admin-layout.reducers.mjs +0 -64
  272. package/esm2022/common/lib/layout/theme/store/admin-layout.selectors.mjs +0 -7
  273. package/esm2022/common/lib/layout/theme/store/admin-layout.state.mjs +0 -13
  274. package/esm2022/common/lib/layout/theme/store/index.mjs +0 -6
  275. package/esm2022/mocks/acorex-platform-mocks.mjs +0 -5
  276. package/esm2022/mocks/index.mjs +0 -7
  277. package/esm2022/mocks/lib/mocks.module.mjs +0 -15
  278. package/esm2022/mocks/lib/services/mocker.service.mjs +0 -114
  279. package/esm2022/mocks/lib/storage/storage.mock.service.mjs +0 -183
  280. package/esm2022/themes/default/lib/layout.routes.mjs +0 -20
  281. package/fesm2022/acorex-platform-common-avatar-widget-view.component-Dew3CVLm.mjs.map +0 -1
  282. package/fesm2022/acorex-platform-common-boolean-widget-filter.component-BdE7WOK5.mjs.map +0 -1
  283. package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-ChXbJsuG.mjs.map +0 -1
  284. package/fesm2022/acorex-platform-common-dateTime-widget-column.component-QUYyDVw8.mjs.map +0 -1
  285. package/fesm2022/acorex-platform-common-dateTime-widget-edit.component-CzLb3xnR.mjs.map +0 -1
  286. package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-DZRQ6yVk.mjs.map +0 -1
  287. package/fesm2022/acorex-platform-common-email-widget-column.component-Cm-fhlNZ.mjs.map +0 -1
  288. package/fesm2022/acorex-platform-common-email-widget-edit.component-BfXFBLF6.mjs.map +0 -1
  289. package/fesm2022/acorex-platform-common-file-widget-column.component-B0v2rSWI.mjs.map +0 -1
  290. package/fesm2022/acorex-platform-common-file-widget-filter.component-C3uBjqF-.mjs.map +0 -1
  291. package/fesm2022/acorex-platform-common-gallery-widget-filter.component-Di446i2c.mjs.map +0 -1
  292. package/fesm2022/acorex-platform-common-largetext-widget-edit.component-D89AlBSm.mjs.map +0 -1
  293. package/fesm2022/acorex-platform-common-lookup-widget-column.component-CB0ehp_y.mjs.map +0 -1
  294. package/fesm2022/acorex-platform-common-lookup-widget-filter.component-Dxj_XEYV.mjs.map +0 -1
  295. package/fesm2022/acorex-platform-common-lookup-widget-view.component-BtO3feA9.mjs.map +0 -1
  296. package/fesm2022/acorex-platform-common-map-widget-edit.component-hXIZrhzg.mjs.map +0 -1
  297. package/fesm2022/acorex-platform-common-map-widget-view.component-RgV-r8q6.mjs.map +0 -1
  298. package/fesm2022/acorex-platform-common-messenger-widget-column.component-DGWQWuzM.mjs.map +0 -1
  299. package/fesm2022/acorex-platform-common-messenger-widget-edit.component-Blv1qL4e.mjs.map +0 -1
  300. package/fesm2022/acorex-platform-common-number-widget-edit.component-gQCEBhPv.mjs.map +0 -1
  301. package/fesm2022/acorex-platform-common-number-widget-filter.component-CvEw3awN.mjs.map +0 -1
  302. package/fesm2022/acorex-platform-common-number-widget-view.component-ROrdklif.mjs.map +0 -1
  303. package/fesm2022/acorex-platform-common-password-widget-edit.component-BCOoHtGl.mjs.map +0 -1
  304. package/fesm2022/acorex-platform-common-phone-widget-edit.component-Bo_aOxfZ.mjs.map +0 -1
  305. package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-12odUyzb.mjs.map +0 -1
  306. package/fesm2022/acorex-platform-common-rich-text-widget-view.component-Xr0ohz5L.mjs.map +0 -1
  307. package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-C1QPfHCm.mjs.map +0 -1
  308. package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-DIgxHmqa.mjs.map +0 -1
  309. package/fesm2022/acorex-platform-common-selection-list-widget-view.component-D-VQ4JNC.mjs.map +0 -1
  310. package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-USd0U707.mjs.map +0 -1
  311. package/fesm2022/acorex-platform-common-string-widget-filter.component-wI9D-Ju5.mjs.map +0 -1
  312. package/fesm2022/acorex-platform-common-text-widget-edit.component-feJTTnye.mjs.map +0 -1
  313. package/fesm2022/acorex-platform-common-toggle-widget-edit.component-Cuf9_RrU.mjs.map +0 -1
  314. package/fesm2022/acorex-platform-mocks.mjs +0 -319
  315. package/fesm2022/acorex-platform-mocks.mjs.map +0 -1
  316. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BLb_4pK5.mjs +0 -306
  317. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BLb_4pK5.mjs.map +0 -1
  318. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-CwrgQFY7.mjs.map +0 -1
  319. package/mocks/README.md +0 -3
  320. package/mocks/index.d.ts +0 -3
  321. package/mocks/lib/mocks.module.d.ts +0 -7
  322. package/mocks/lib/services/mocker.service.d.ts +0 -29
  323. package/mocks/lib/storage/storage.mock.service.d.ts +0 -25
  324. package/themes/default/lib/layout.routes.d.ts +0 -2
@@ -1,4 +1,4 @@
1
- import { ChangeDetectorRef, Directive, ElementRef, EventEmitter, Input, NgZone, Output, Renderer2 } from '@angular/core';
1
+ import { ChangeDetectorRef, Directive, ElementRef, EventEmitter, Input, NgZone, Output, Renderer2, } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class AXPStickyDirective {
4
4
  get isSticky() {
@@ -18,19 +18,23 @@ export class AXPStickyDirective {
18
18
  this._isSticky = false;
19
19
  this.onParentScroll = () => {
20
20
  this.zone.runOutsideAngular(() => {
21
- const scrollPosition = this.parentElement === window ?
22
- window.scrollY :
23
- this.parentElement.scrollTop + this.targetElement.offsetTop;
21
+ const scrollPosition = this.parentElement === window
22
+ ? window.scrollY
23
+ : this.parentElement.scrollTop + this.targetElement.offsetTop;
24
24
  if (scrollPosition - this.stickyOffset >= this.topOffset && !this.isSticky) {
25
- this.stickyClass.split(' ').forEach(c => {
26
- this.renderer.addClass(this.targetElement, c);
27
- });
28
25
  this.isSticky = true;
26
+ this.stickyClass.split(' ').forEach((c) => {
27
+ if (c) {
28
+ this.renderer.addClass(this.targetElement, c);
29
+ }
30
+ });
29
31
  this.cdr.markForCheck();
30
32
  }
31
33
  else if (scrollPosition <= this.topOffset && this.isSticky) {
32
- this.stickyClass.split(' ').forEach(c => {
33
- this.renderer.removeClass(this.targetElement, c);
34
+ this.stickyClass.split(' ').forEach((c) => {
35
+ if (c) {
36
+ this.renderer.removeClass(this.targetElement, c);
37
+ }
34
38
  });
35
39
  this.isSticky = false;
36
40
  this.cdr.markForCheck();
@@ -60,7 +64,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
60
64
  args: [{
61
65
  selector: '[axpSticky]',
62
66
  exportAs: 'axpSticky',
63
- standalone: true
67
+ standalone: true,
64
68
  }]
65
69
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }], propDecorators: { stickyClass: [{
66
70
  type: Input,
@@ -75,4 +79,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
75
79
  }], stickyTarget: [{
76
80
  type: Input
77
81
  }] } });
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RpY2t5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvbGF5b3V0L3N0aWNreS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPekgsTUFBTSxPQUFPLGtCQUFrQjtJQWEzQixJQUFXLFFBQVE7UUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQVcsUUFBUSxDQUFDLENBQVU7UUFDMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQVVELFlBQW9CLE9BQW1DLEVBQVUsUUFBbUIsRUFBVSxJQUFZLEVBQVUsR0FBc0I7UUFBdEgsWUFBTyxHQUFQLE9BQU8sQ0FBNEI7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFVLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBdkIxSSxpQkFBWSxHQUFXLEdBQUcsQ0FBQztRQUlwQixtQkFBYyxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBRW5FLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFnQzNCLG1CQUFjLEdBQUcsR0FBUyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO2dCQUM3QixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsYUFBYSxLQUFLLE1BQU0sQ0FBQyxDQUFDO29CQUNsRCxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQ2YsSUFBSSxDQUFDLGFBQTZCLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO2dCQUVqRixJQUFJLGNBQWMsR0FBRyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ3pFLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTt3QkFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztvQkFDbEQsQ0FBQyxDQUFDLENBQUE7b0JBQ0YsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7b0JBQ3JCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQzVCLENBQUM7cUJBQU0sSUFBSSxjQUFjLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQzNELElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTt3QkFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQztvQkFDckQsQ0FBQyxDQUFDLENBQUM7b0JBQ0gsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7b0JBQ3RCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQzVCLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQTtJQW5DNkksQ0FBQztJQUcvSSxlQUFlO1FBQ1gsSUFBSSxJQUFJLENBQUMsWUFBWSxZQUFZLFdBQVcsRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUMzQyxDQUFDO2FBQ0ksQ0FBQztZQUNGLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFnQixJQUFJLE1BQU0sQ0FBQztRQUM1RixDQUFDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQWdCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7UUFDNUcsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztRQUM5QyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUF3QkQsV0FBVztRQUNQLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMxRSxDQUFDOzhHQXBFUSxrQkFBa0I7a0dBQWxCLGtCQUFrQjs7MkZBQWxCLGtCQUFrQjtrQkFMOUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFVBQVUsRUFBRSxJQUFJO2lCQUNuQjs0SkFJRyxXQUFXO3NCQURWLEtBQUs7dUJBQUMsV0FBVztnQkFJbEIsWUFBWTtzQkFEWCxLQUFLO3VCQUFDLGNBQWM7Z0JBS2QsY0FBYztzQkFEcEIsTUFBTTtnQkFnQkUsWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgTmdab25lLCBPdXRwdXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1theHBTdGlja3ldJyxcbiAgICBleHBvcnRBczogJ2F4cFN0aWNreScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBBWFBTdGlja3lEaXJlY3RpdmUge1xuXG4gICAgQElucHV0KCdheHBTdGlja3knKVxuICAgIHN0aWNreUNsYXNzITogc3RyaW5nO1xuXG4gICAgQElucHV0KCdzdGlja3lPZmZzZXQnKVxuICAgIHN0aWNreU9mZnNldDogbnVtYmVyID0gMTAwO1xuXG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgaXNTdGlja3lDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIHByaXZhdGUgX2lzU3RpY2t5OiBib29sZWFuID0gZmFsc2U7XG4gICAgcHVibGljIGdldCBpc1N0aWNreSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzU3RpY2t5O1xuICAgIH1cbiAgICBwdWJsaWMgc2V0IGlzU3RpY2t5KHY6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5faXNTdGlja3kgPSB2O1xuICAgICAgICB0aGlzLmlzU3RpY2t5Q2hhbmdlLmVtaXQodik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0b3BPZmZzZXQhOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBwYXJlbnRFbGVtZW50ITogSFRNTEVsZW1lbnQgfCBXaW5kb3c7XG4gICAgcHJpdmF0ZSB0YXJnZXRFbGVtZW50ITogSFRNTEVsZW1lbnQ7XG5cbiAgICBASW5wdXQoKSBzdGlja3lQYXJlbnQhOiBzdHJpbmcgfCBIVE1MRWxlbWVudDtcbiAgICBASW5wdXQoKSBzdGlja3lUYXJnZXQhOiBzdHJpbmc7XG5cblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4sIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSB6b25lOiBOZ1pvbmUsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XG5cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuc3RpY2t5UGFyZW50IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMucGFyZW50RWxlbWVudCA9IHRoaXMuc3RpY2t5UGFyZW50O1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5wYXJlbnRFbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0aGlzLnN0aWNreVBhcmVudCkgYXMgSFRNTEVsZW1lbnQgfHwgd2luZG93O1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGFyZ2V0RWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodGhpcy5zdGlja3lUYXJnZXQpIGFzIEhUTUxFbGVtZW50IHx8IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgICAgICB0aGlzLnRvcE9mZnNldCA9IHRoaXMudGFyZ2V0RWxlbWVudC5vZmZzZXRUb3A7XG4gICAgICAgIHRoaXMucGFyZW50RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uUGFyZW50U2Nyb2xsLmJpbmQodGhpcykpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25QYXJlbnRTY3JvbGwgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzY3JvbGxQb3NpdGlvbiA9IHRoaXMucGFyZW50RWxlbWVudCA9PT0gd2luZG93ID9cbiAgICAgICAgICAgICAgICB3aW5kb3cuc2Nyb2xsWSA6XG4gICAgICAgICAgICAgICAgKHRoaXMucGFyZW50RWxlbWVudCBhcyBIVE1MRWxlbWVudCkuc2Nyb2xsVG9wICsgdGhpcy50YXJnZXRFbGVtZW50Lm9mZnNldFRvcDtcblxuICAgICAgICAgICAgaWYgKHNjcm9sbFBvc2l0aW9uIC0gdGhpcy5zdGlja3lPZmZzZXQgPj0gdGhpcy50b3BPZmZzZXQgJiYgIXRoaXMuaXNTdGlja3kpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0aWNreUNsYXNzLnNwbGl0KCcgJykuZm9yRWFjaChjID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLnRhcmdldEVsZW1lbnQsIGMpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgdGhpcy5pc1N0aWNreSA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHNjcm9sbFBvc2l0aW9uIDw9IHRoaXMudG9wT2Zmc2V0ICYmIHRoaXMuaXNTdGlja3kpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0aWNreUNsYXNzLnNwbGl0KCcgJykuZm9yRWFjaChjID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLnRhcmdldEVsZW1lbnQsIGMpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNTdGlja3kgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMucGFyZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uUGFyZW50U2Nyb2xsKTtcbiAgICB9XG59XG4iXX0=
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RpY2t5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vY29tbW9uL3NyYy9saWIvbGF5b3V0L3N0aWNreS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7O0FBT3ZCLE1BQU0sT0FBTyxrQkFBa0I7SUFXN0IsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBVyxRQUFRLENBQUMsQ0FBVTtRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBU0QsWUFDVSxPQUFtQyxFQUNuQyxRQUFtQixFQUNuQixJQUFZLEVBQ1osR0FBc0I7UUFIdEIsWUFBTyxHQUFQLE9BQU8sQ0FBNEI7UUFDbkMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixTQUFJLEdBQUosSUFBSSxDQUFRO1FBQ1osUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUF6QmhDLGlCQUFZLEdBQVcsR0FBRyxDQUFDO1FBR3BCLG1CQUFjLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFFbkUsY0FBUyxHQUFZLEtBQUssQ0FBQztRQWtDM0IsbUJBQWMsR0FBRyxHQUFTLEVBQUU7WUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7Z0JBQy9CLE1BQU0sY0FBYyxHQUNsQixJQUFJLENBQUMsYUFBYSxLQUFLLE1BQU07b0JBQzNCLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTztvQkFDaEIsQ0FBQyxDQUFFLElBQUksQ0FBQyxhQUE2QixDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztnQkFDbkYsSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUMzRSxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztvQkFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7d0JBQ3hDLElBQUksQ0FBQyxFQUFFLENBQUM7NEJBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQzt3QkFDaEQsQ0FBQztvQkFDSCxDQUFDLENBQUMsQ0FBQztvQkFDSCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUMxQixDQUFDO3FCQUFNLElBQUksY0FBYyxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUM3RCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTt3QkFDeEMsSUFBSSxDQUFDLEVBQUUsQ0FBQzs0QkFDTixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDO3dCQUNuRCxDQUFDO29CQUNILENBQUMsQ0FBQyxDQUFDO29CQUNILElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO29CQUN0QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUMxQixDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7SUFyQ0MsQ0FBQztJQUVKLGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxZQUFZLFlBQVksV0FBVyxFQUFFLENBQUM7WUFDN0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3pDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLGFBQWEsR0FBSSxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQWlCLElBQUksTUFBTSxDQUFDO1FBQzVGLENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFJLFFBQVEsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBaUIsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztRQUM5RyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQzlDLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQTRCRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7OEdBeEVVLGtCQUFrQjtrR0FBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUw5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixRQUFRLEVBQUUsV0FBVztvQkFDckIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzRKQUdDLFdBQVc7c0JBRFYsS0FBSzt1QkFBQyxXQUFXO2dCQUlsQixZQUFZO3NCQURYLEtBQUs7dUJBQUMsY0FBYztnQkFJZCxjQUFjO3NCQURwQixNQUFNO2dCQWdCRSxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBOZ1pvbmUsXG4gIE91dHB1dCxcbiAgUmVuZGVyZXIyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2F4cFN0aWNreV0nLFxuICBleHBvcnRBczogJ2F4cFN0aWNreScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEFYUFN0aWNreURpcmVjdGl2ZSB7XG4gIEBJbnB1dCgnYXhwU3RpY2t5JylcbiAgc3RpY2t5Q2xhc3MhOiBzdHJpbmc7XG5cbiAgQElucHV0KCdzdGlja3lPZmZzZXQnKVxuICBzdGlja3lPZmZzZXQ6IG51bWJlciA9IDEwMDtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIGlzU3RpY2t5Q2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgcHJpdmF0ZSBfaXNTdGlja3k6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGdldCBpc1N0aWNreSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNTdGlja3k7XG4gIH1cbiAgcHVibGljIHNldCBpc1N0aWNreSh2OiBib29sZWFuKSB7XG4gICAgdGhpcy5faXNTdGlja3kgPSB2O1xuICAgIHRoaXMuaXNTdGlja3lDaGFuZ2UuZW1pdCh2KTtcbiAgfVxuXG4gIHByaXZhdGUgdG9wT2Zmc2V0ITogbnVtYmVyO1xuICBwcml2YXRlIHBhcmVudEVsZW1lbnQhOiBIVE1MRWxlbWVudCB8IFdpbmRvdztcbiAgcHJpdmF0ZSB0YXJnZXRFbGVtZW50ITogSFRNTEVsZW1lbnQ7XG5cbiAgQElucHV0KCkgc3RpY2t5UGFyZW50ITogc3RyaW5nIHwgSFRNTEVsZW1lbnQ7XG4gIEBJbnB1dCgpIHN0aWNreVRhcmdldCE6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+LFxuICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIHpvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWZcbiAgKSB7fVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBpZiAodGhpcy5zdGlja3lQYXJlbnQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuICAgICAgdGhpcy5wYXJlbnRFbGVtZW50ID0gdGhpcy5zdGlja3lQYXJlbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucGFyZW50RWxlbWVudCA9IChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRoaXMuc3RpY2t5UGFyZW50KSBhcyBIVE1MRWxlbWVudCkgfHwgd2luZG93O1xuICAgIH1cbiAgICB0aGlzLnRhcmdldEVsZW1lbnQgPSAoZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0aGlzLnN0aWNreVRhcmdldCkgYXMgSFRNTEVsZW1lbnQpIHx8IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xuICAgIHRoaXMudG9wT2Zmc2V0ID0gdGhpcy50YXJnZXRFbGVtZW50Lm9mZnNldFRvcDtcbiAgICB0aGlzLnBhcmVudEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vblBhcmVudFNjcm9sbC5iaW5kKHRoaXMpKTtcbiAgfVxuXG4gIHByaXZhdGUgb25QYXJlbnRTY3JvbGwgPSAoKTogdm9pZCA9PiB7XG4gICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIGNvbnN0IHNjcm9sbFBvc2l0aW9uID1cbiAgICAgICAgdGhpcy5wYXJlbnRFbGVtZW50ID09PSB3aW5kb3dcbiAgICAgICAgICA/IHdpbmRvdy5zY3JvbGxZXG4gICAgICAgICAgOiAodGhpcy5wYXJlbnRFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5zY3JvbGxUb3AgKyB0aGlzLnRhcmdldEVsZW1lbnQub2Zmc2V0VG9wO1xuICAgICAgaWYgKHNjcm9sbFBvc2l0aW9uIC0gdGhpcy5zdGlja3lPZmZzZXQgPj0gdGhpcy50b3BPZmZzZXQgJiYgIXRoaXMuaXNTdGlja3kpIHtcbiAgICAgICAgdGhpcy5pc1N0aWNreSA9IHRydWU7XG4gICAgICAgIHRoaXMuc3RpY2t5Q2xhc3Muc3BsaXQoJyAnKS5mb3JFYWNoKChjKSA9PiB7XG4gICAgICAgICAgaWYgKGMpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50YXJnZXRFbGVtZW50LCBjKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0gZWxzZSBpZiAoc2Nyb2xsUG9zaXRpb24gPD0gdGhpcy50b3BPZmZzZXQgJiYgdGhpcy5pc1N0aWNreSkge1xuICAgICAgICB0aGlzLnN0aWNreUNsYXNzLnNwbGl0KCcgJykuZm9yRWFjaCgoYykgPT4ge1xuICAgICAgICAgIGlmIChjKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKHRoaXMudGFyZ2V0RWxlbWVudCwgYyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5pc1N0aWNreSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnBhcmVudEVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vblBhcmVudFNjcm9sbCk7XG4gIH1cbn1cbiJdfQ==
@@ -3,11 +3,11 @@ import { AXDateTimeBoxModule } from '@acorex/components/datetime-box';
3
3
  import { AXDecoratorModule } from '@acorex/components/decorators';
4
4
  import { AXFormModule } from '@acorex/components/form';
5
5
  import { AXFormatModule } from '@acorex/core/format';
6
- import { MockDataService } from '@acorex/platform/mocks';
7
6
  import { CommonModule } from '@angular/common';
8
- import { ChangeDetectionStrategy, Component, effect, inject, signal } from '@angular/core';
7
+ import { ChangeDetectionStrategy, Component, effect, signal } from '@angular/core';
9
8
  import { FormsModule } from '@angular/forms';
10
9
  import { AXPWidgetEditBase } from '../../widget/widget-base';
10
+ import { AXPDataGenerator } from '../../../utils';
11
11
  import * as i0 from "@angular/core";
12
12
  import * as i1 from "@angular/common";
13
13
  import * as i2 from "@angular/forms";
@@ -18,7 +18,6 @@ import * as i6 from "@acorex/components/form";
18
18
  export class AXPDateTimeWidgetEditComponent extends AXPWidgetEditBase {
19
19
  constructor() {
20
20
  super(...arguments);
21
- this.mockerService = inject(MockDataService);
22
21
  this.format = 'dateTime';
23
22
  this.convertedValue = signal([]);
24
23
  this.changeValueEffect = effect(() => {
@@ -40,17 +39,17 @@ export class AXPDateTimeWidgetEditComponent extends AXPWidgetEditBase {
40
39
  this.calendarFormat = 'dd/MM/yyyy HH:mm';
41
40
  // ****** Set Value ******
42
41
  if (!this.value || this.value?.length == 0) {
43
- this.convertedValue.set([{ value: this.getInitValue(), id: this.mockerService.uid() }]);
42
+ this.convertedValue.set([{ value: this.getInitValue(), id: AXPDataGenerator.uuid() }]);
44
43
  }
45
44
  else if (Array.isArray(this.value)) {
46
- this.convertedValue.set(this.value.map((item) => ({ value: item ? new Date(item) : this.getInitValue(), id: this.mockerService.uid() })));
45
+ this.convertedValue.set(this.value.map((item) => ({ value: item ? new Date(item) : this.getInitValue(), id: AXPDataGenerator.uuid() })));
47
46
  }
48
47
  else {
49
- this.convertedValue.set([{ value: this.value ? new Date(this.value) : this.getInitValue(), id: this.mockerService.uid() }]);
48
+ this.convertedValue.set([{ value: this.value ? new Date(this.value) : this.getInitValue(), id: AXPDataGenerator.uuid() }]);
50
49
  }
51
50
  }
52
51
  handleAddItem() {
53
- this.convertedValue.update((prev) => [...prev, { value: this.getInitValue(), id: this.mockerService.uid() }]);
52
+ this.convertedValue.update((prev) => [...prev, { value: this.getInitValue(), id: AXPDataGenerator.uuid() }]);
54
53
  }
55
54
  handleRemoveItem(item) {
56
55
  this.convertedValue.update((prev) => prev.filter((c) => c != item));
@@ -175,4 +174,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
175
174
  inputs: ['multiple'],
176
175
  }]
177
176
  }] });
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZVRpbWUtd2lkZ2V0LWVkaXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9zY2hlbWEvd2lkZ2V0cy9kYXRlVGltZS9kYXRlVGltZS13aWRnZXQtZWRpdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFrQixNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7O0FBMkQ3RCxNQUFNLE9BQU8sOEJBQStCLFNBQVEsaUJBQWlCO0lBekRyRTs7UUEwRFksa0JBQWEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFReEMsV0FBTSxHQUFXLFVBQVUsQ0FBQztRQUU1QixtQkFBYyxHQUF5RCxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFcEYsc0JBQWlCLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRTtZ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dCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWFZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBBWERhdGVUaW1lQm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RhdGV0aW1lLWJveCc7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYRm9ybU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9mb3JtJztcbmltcG9ydCB7IEFYRm9ybWF0TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2Zvcm1hdCc7XG5pbXBvcnQgeyBNb2NrRGF0YVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL21vY2tzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBXcml0YWJsZVNpZ25hbCwgZWZmZWN0LCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBWFBXaWRnZXRFZGl0QmFzZSB9IGZyb20gJy4uLy4uL3dpZGdldC93aWRnZXQtYmFzZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4cC1kYXRldGltZS13aWRnZXQtZWRpdCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImF4LWdyaWQgYXgtZ3JpZC1jb2xzLTEyIGF4LWdhcC00XCI+XG4gICAgICBAaWYobXVsdGlwbGUpeyBAZm9yKGl0ZW0gb2YgY29udmVydGVkVmFsdWUoKTt0cmFjayAkaW5kZXgpe1xuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJ0ZXh0Qm94VGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgfSB9IEBlbHNlIHtcbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidGV4dEJveFRlbXBsYXRlXCJcbiAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBjb252ZXJ0ZWRWYWx1ZSgpWzBdIH1cIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgfVxuICAgICAgPG5nLXRlbXBsYXRlICN0ZXh0Qm94VGVtcGxhdGUgbGV0LWl0ZW0+XG4gICAgICAgIDxheC1kYXRldGltZS1ib3hcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cIml0ZW0udmFsdWVcIlxuICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJoYW5kbGVWYWx1ZUNoYW5nZSgkZXZlbnQsIGl0ZW0uaWQpXCJcbiAgICAgICAgICBbZm9ybWF0XT1cImNhbGVuZGFyRm9ybWF0XCJcbiAgICAgICAgICBbbWluVmFsdWVdPVwibWluVmFsdWVcIlxuICAgICAgICAgIFttYXhWYWx1ZV09XCJtYXhWYWx1ZVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInByb3AuZGVzY3JpcHRpb25cIlxuICAgICAgICAgIFtjbGFzc109XCJtdWx0aXBsZSA/ICdheC1jb2wtc3RhcnQtMSBheC1jb2wtZW5kLTExIGxnOmF4LWNvbC1lbmQtMTInIDogJ2F4LWNvbC1zdGFydC0xIGF4LWNvbC1lbmQtMTMnXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgQGZvcih2bCBvZiB2YWxpZGF0aW9uczt0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgIDxheC12YWxpZGF0aW9uLXJ1bGUgIFtydWxlXT1cInZsLnJ1bGVcIiBbb3B0aW9uc109XCJ2bC5vcHRpb25zXCI+PC9heC12YWxpZGF0aW9uLXJ1bGU+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPGF4LWNsZWFyLWJ1dHRvbj48L2F4LWNsZWFyLWJ1dHRvbj5cbiAgICAgICAgPC9heC1kYXRldGltZS1ib3g+XG4gICAgICAgIEBpZihtdWx0aXBsZSl7XG4gICAgICAgIDxheC1idXR0b25cbiAgICAgICAgICBsb29rPVwidHdvdG9uZVwiXG4gICAgICAgICAgY29sb3I9XCJkYW5nZXJcIlxuICAgICAgICAgIChvbkNsaWNrKT1cImhhbmRsZVJlbW92ZUl0ZW0oaXRlbSlcIlxuICAgICAgICAgIGNsYXNzPVwiIGF4LWNvbC1zdGFydC0xMSBsZzpheC1jb2wtc3RhcnQtMTIgYXgtY29sLWVuZC0xMyBheC1qdXN0aWZ5LXNlbGYtZW5kXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxheC1pY29uIGljb249XCJmYS1yZWd1bGFyIGZhLXhtYXJrXCI+PC9heC1pY29uPlxuICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgfVxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIEBpZihtdWx0aXBsZSl7XG4gICAgICA8YXgtYnV0dG9uXG4gICAgICAgIFt0ZXh0XT1cIiFjb252ZXJ0ZWRWYWx1ZSgpLmxlbmd0aCA/ICdBZGQgTmV3JyA6ICdBZGQgQW5vdGhlcidcIlxuICAgICAgICBsb29rPVwidHdvdG9uZVwiXG4gICAgICAgIChvbkNsaWNrKT1cImhhbmRsZUFkZEl0ZW0oKVwiXG4gICAgICAgIGNsYXNzPVwiYXgtY29sLXN0YXJ0LTggbGc6YXgtY29sLXN0YXJ0LTEwIDJ4bDpheC1jb2wtc3RhcnQtMTAgYXgtY29sLWVuZC0xM1wiXG4gICAgICA+XG4gICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1hZGRcIj48L2F4LWljb24+XG4gICAgICAgIDwvYXgtcHJlZml4PlxuICAgICAgPC9heC1idXR0b24+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBGb3Jtc01vZHVsZSwgQVhGb3JtYXRNb2R1bGUsIEFYRGF0ZVRpbWVCb3hNb2R1bGUsIEFYRGVjb3JhdG9yTW9kdWxlLCBBWEJ1dHRvbk1vZHVsZSwgQVhGb3JtTW9kdWxlXSxcbiAgaW5wdXRzOiBbJ211bHRpcGxlJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFYUERhdGVUaW1lV2lkZ2V0RWRpdENvbXBvbmVudCBleHRlbmRzIEFYUFdpZGdldEVkaXRCYXNlIHtcbiAgcHJvdGVjdGVkIG1vY2tlclNlcnZpY2UgPSBpbmplY3QoTW9ja0RhdGFTZXJ2aWNlKTtcblxuICBwdWJsaWMgbXVsdGlwbGUhOiBib29sZWFuO1xuICBwdWJsaWMgYXV0b1NldFRvZGF5ITogYm9vbGVhbjtcblxuXG4gIHByb3RlY3RlZCBtaW5WYWx1ZTogYW55O1xuICBwcm90ZWN0ZWQgbWF4VmFsdWU6IGFueTtcbiAgcHJvdGVjdGVkIGZvcm1hdDogc3RyaW5nID0gJ2RhdGVUaW1lJztcbiAgcHJvdGVjdGVkIGNhbGVuZGFyRm9ybWF0ITogc3RyaW5nO1xuICBwcm90ZWN0ZWQgY29udmVydGVkVmFsdWU6IFdyaXRhYmxlU2lnbmFsPHsgdmFsdWU6IERhdGUgfCBudWxsOyBpZDogc3RyaW5nIH1bXT4gPSBzaWduYWwoW10pO1xuXG4gIHByaXZhdGUgY2hhbmdlVmFsdWVFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5jb252ZXJ0ZWRWYWx1ZSgpLm1hcCgoaSkgPT4gaS52YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmNvbnZlcnRlZFZhbHVlKCkubWFwKChpKSA9PiBpLnZhbHVlKVswXTtcbiAgICB9XG4gIH0pO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vICoqKioqKiBTZXQgRm9ybWF0ICoqKioqKlxuICAgIGlmICh0aGlzLmZvcm1hdCA9PT0gJ2RhdGUnKSB0aGlzLmNhbGVuZGFyRm9ybWF0ID0gJ2RkL01NL3l5eXknO1xuICAgIGVsc2UgaWYgKHRoaXMuZm9ybWF0ID09PSAndGltZScpIHRoaXMuY2FsZW5kYXJGb3JtYXQgPSAnSEg6bW0nO1xuICAgIGVsc2UgdGhpcy5jYWxlbmRhckZvcm1hdCA9ICdkZC9NTS95eXl5IEhIOm1tJztcbiAgICAvLyAqKioqKiogU2V0IFZhbHVlICoqKioqKlxuICAgIGlmICghdGhpcy52YWx1ZSB8fCB0aGlzLnZhbHVlPy5sZW5ndGggPT0gMCkge1xuICAgICAgdGhpcy5jb252ZXJ0ZWRWYWx1ZS5zZXQoW3sgdmFsdWU6IHRoaXMuZ2V0SW5pdFZhbHVlKCksIGlkOiB0aGlzLm1vY2tlclNlcnZpY2UudWlkKCkgfV0pO1xuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSkge1xuICAgICAgdGhpcy5jb252ZXJ0ZWRWYWx1ZS5zZXQodGhpcy52YWx1ZS5tYXAoKGl0ZW0pID0+ICh7IHZhbHVlOiBpdGVtID8gbmV3IERhdGUoaXRlbSkgOiB0aGlzLmdldEluaXRWYWx1ZSgpLCBpZDogdGhpcy5tb2NrZXJTZXJ2aWNlLnVpZCgpIH0pKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29udmVydGVkVmFsdWUuc2V0KFt7IHZhbHVlOiB0aGlzLnZhbHVlID8gbmV3IERhdGUodGhpcy52YWx1ZSkgOiB0aGlzLmdldEluaXRWYWx1ZSgpLCBpZDogdGhpcy5tb2NrZXJTZXJ2aWNlLnVpZCgpIH1dKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQWRkSXRlbSgpIHtcbiAgICB0aGlzLmNvbnZlcnRlZFZhbHVlLnVwZGF0ZSgocHJldikgPT4gWy4uLnByZXYsIHsgdmFsdWU6IHRoaXMuZ2V0SW5pdFZhbHVlKCksIGlkOiB0aGlzLm1vY2tlclNlcnZpY2UudWlkKCkgfV0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZVJlbW92ZUl0ZW0oaXRlbTogYW55KSB7XG4gICAgdGhpcy5jb252ZXJ0ZWRWYWx1ZS51cGRhdGUoKHByZXYpID0+IHByZXYuZmlsdGVyKChjOiBhbnkpID0+IGMgIT0gaXRlbSkpO1xuICB9XG4gIHByb3RlY3RlZCBoYW5kbGVWYWx1ZUNoYW5nZShlOiBBWFZhbHVlQ2hhbmdlZEV2ZW50LCBpZDogc3RyaW5nKSB7XG4gICAgaWYgKGUuaXNVc2VySW50ZXJhY3Rpb24pIHtcbiAgICAgIHRoaXMuY29udmVydGVkVmFsdWUudXBkYXRlKChwcmV2KSA9PiBwcmV2Lm1hcCgoaSkgPT4gKGkuaWQgPT09IGlkID8geyB2YWx1ZTogZS52YWx1ZSwgaWQ6IGkuaWQgfSA6IGkpKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbml0VmFsdWUoKTogRGF0ZSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmF1dG9TZXRUb2RheSA/IG5ldyBEYXRlKCkgOiBudWxsO1xuICB9XG59XG4iXX0=
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZVRpbWUtd2lkZ2V0LWVkaXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9zY2hlbWEvd2lkZ2V0cy9kYXRlVGltZS9kYXRlVGltZS13aWRnZXQtZWRpdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQWtCLE1BQU0sRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0csT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7OztBQTJEbEQsTUFBTSxPQUFPLDhCQUErQixTQUFRLGlCQUFpQjtJQXpEckU7O1FBaUVZLFdBQU0sR0FBVyxVQUFVLENBQUM7UUFFNUIsbUJBQWMsR0FBeUQsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXBGLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDdEMsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FB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LENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFHLENBQUM7SUFDSCxDQUFDO0lBRU8sWUFBWTtRQUNsQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUMvQyxDQUFDOzhHQWxEVSw4QkFBOEI7a0dBQTlCLDhCQUE4Qiw2SUF2RC9COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaURULDJEQUdTLFlBQVkscU1BQUUsV0FBVyw4VkFBRSxjQUFjLDhCQUFFLG1CQUFtQixzY0FBRSxpQkFBaUIsdWNBQUUsY0FBYyx1WkFBRSxZQUFZOzsyRkFHOUcsOEJBQThCO2tCQXpEMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMEJBQTBCO29CQUNwQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpRFQ7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsWUFBWSxDQUFDO29CQUMxSCxNQUFNLEVBQUUsQ0FBQyxVQUFVLENBQUM7aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IEFYRGF0ZVRpbWVCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGF0ZXRpbWUtYm94JztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhGb3JtTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Zvcm0nO1xuaW1wb3J0IHsgQVhGb3JtYXRNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvZm9ybWF0JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBXcml0YWJsZVNpZ25hbCwgZWZmZWN0LCBpbmplY3QsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBBWFBXaWRnZXRFZGl0QmFzZSB9IGZyb20gJy4uLy4uL3dpZGdldC93aWRnZXQtYmFzZSc7XG5pbXBvcnQgeyBBWFBEYXRhR2VuZXJhdG9yIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheHAtZGF0ZXRpbWUtd2lkZ2V0LWVkaXQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJheC1ncmlkIGF4LWdyaWQtY29scy0xMiBheC1nYXAtNFwiPlxuICAgICAgQGlmKG11bHRpcGxlKXsgQGZvcihpdGVtIG9mIGNvbnZlcnRlZFZhbHVlKCk7dHJhY2sgJGluZGV4KXtcbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidGV4dEJveFRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIH0gfSBAZWxzZSB7XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRleHRCb3hUZW1wbGF0ZVwiXG4gICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogY29udmVydGVkVmFsdWUoKVswXSB9XCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIH1cbiAgICAgIDxuZy10ZW1wbGF0ZSAjdGV4dEJveFRlbXBsYXRlIGxldC1pdGVtPlxuICAgICAgICA8YXgtZGF0ZXRpbWUtYm94XG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJpdGVtLnZhbHVlXCJcbiAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiaGFuZGxlVmFsdWVDaGFuZ2UoJGV2ZW50LCBpdGVtLmlkKVwiXG4gICAgICAgICAgW2Zvcm1hdF09XCJjYWxlbmRhckZvcm1hdFwiXG4gICAgICAgICAgW21pblZhbHVlXT1cIm1pblZhbHVlXCJcbiAgICAgICAgICBbbWF4VmFsdWVdPVwibWF4VmFsdWVcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJwcm9wLmRlc2NyaXB0aW9uXCJcbiAgICAgICAgICBbY2xhc3NdPVwibXVsdGlwbGUgPyAnYXgtY29sLXN0YXJ0LTEgYXgtY29sLWVuZC0xMSBsZzpheC1jb2wtZW5kLTEyJyA6ICdheC1jb2wtc3RhcnQtMSBheC1jb2wtZW5kLTEzJ1wiXG4gICAgICAgID5cbiAgICAgICAgICAgIEBmb3Iodmwgb2YgdmFsaWRhdGlvbnM7dHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICA8YXgtdmFsaWRhdGlvbi1ydWxlICBbcnVsZV09XCJ2bC5ydWxlXCIgW29wdGlvbnNdPVwidmwub3B0aW9uc1wiPjwvYXgtdmFsaWRhdGlvbi1ydWxlPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDxheC1jbGVhci1idXR0b24+PC9heC1jbGVhci1idXR0b24+XG4gICAgICAgIDwvYXgtZGF0ZXRpbWUtYm94PlxuICAgICAgICBAaWYobXVsdGlwbGUpe1xuICAgICAgICA8YXgtYnV0dG9uXG4gICAgICAgICAgbG9vaz1cInR3b3RvbmVcIlxuICAgICAgICAgIGNvbG9yPVwiZGFuZ2VyXCJcbiAgICAgICAgICAob25DbGljayk9XCJoYW5kbGVSZW1vdmVJdGVtKGl0ZW0pXCJcbiAgICAgICAgICBjbGFzcz1cIiBheC1jb2wtc3RhcnQtMTEgbGc6YXgtY29sLXN0YXJ0LTEyIGF4LWNvbC1lbmQtMTMgYXgtanVzdGlmeS1zZWxmLWVuZFwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiZmEtcmVndWxhciBmYS14bWFya1wiPjwvYXgtaWNvbj5cbiAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgIH1cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICBAaWYobXVsdGlwbGUpe1xuICAgICAgPGF4LWJ1dHRvblxuICAgICAgICBbdGV4dF09XCIhY29udmVydGVkVmFsdWUoKS5sZW5ndGggPyAnQWRkIE5ldycgOiAnQWRkIEFub3RoZXInXCJcbiAgICAgICAgbG9vaz1cInR3b3RvbmVcIlxuICAgICAgICAob25DbGljayk9XCJoYW5kbGVBZGRJdGVtKClcIlxuICAgICAgICBjbGFzcz1cImF4LWNvbC1zdGFydC04IGxnOmF4LWNvbC1zdGFydC0xMCAyeGw6YXgtY29sLXN0YXJ0LTEwIGF4LWNvbC1lbmQtMTNcIlxuICAgICAgPlxuICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgIDxheC1pY29uIGNsYXNzPVwiZmEtc29saWQgZmEtYWRkXCI+PC9heC1pY29uPlxuICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRm9ybXNNb2R1bGUsIEFYRm9ybWF0TW9kdWxlLCBBWERhdGVUaW1lQm94TW9kdWxlLCBBWERlY29yYXRvck1vZHVsZSwgQVhCdXR0b25Nb2R1bGUsIEFYRm9ybU1vZHVsZV0sXG4gIGlucHV0czogWydtdWx0aXBsZSddLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBEYXRlVGltZVdpZGdldEVkaXRDb21wb25lbnQgZXh0ZW5kcyBBWFBXaWRnZXRFZGl0QmFzZSB7XG5cbiAgcHVibGljIG11bHRpcGxlITogYm9vbGVhbjtcbiAgcHVibGljIGF1dG9TZXRUb2RheSE6IGJvb2xlYW47XG5cblxuICBwcm90ZWN0ZWQgbWluVmFsdWU6IGFueTtcbiAgcHJvdGVjdGVkIG1heFZhbHVlOiBhbnk7XG4gIHByb3RlY3RlZCBmb3JtYXQ6IHN0cmluZyA9ICdkYXRlVGltZSc7XG4gIHByb3RlY3RlZCBjYWxlbmRhckZvcm1hdCE6IHN0cmluZztcbiAgcHJvdGVjdGVkIGNvbnZlcnRlZFZhbHVlOiBXcml0YWJsZVNpZ25hbDx7IHZhbHVlOiBEYXRlIHwgbnVsbDsgaWQ6IHN0cmluZyB9W10+ID0gc2lnbmFsKFtdKTtcblxuICBwcml2YXRlIGNoYW5nZVZhbHVlRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuY29udmVydGVkVmFsdWUoKS5tYXAoKGkpID0+IGkudmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5jb252ZXJ0ZWRWYWx1ZSgpLm1hcCgoaSkgPT4gaS52YWx1ZSlbMF07XG4gICAgfVxuICB9KTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyAqKioqKiogU2V0IEZvcm1hdCAqKioqKipcbiAgICBpZiAodGhpcy5mb3JtYXQgPT09ICdkYXRlJykgdGhpcy5jYWxlbmRhckZvcm1hdCA9ICdkZC9NTS95eXl5JztcbiAgICBlbHNlIGlmICh0aGlzLmZvcm1hdCA9PT0gJ3RpbWUnKSB0aGlzLmNhbGVuZGFyRm9ybWF0ID0gJ0hIOm1tJztcbiAgICBlbHNlIHRoaXMuY2FsZW5kYXJGb3JtYXQgPSAnZGQvTU0veXl5eSBISDptbSc7XG4gICAgLy8gKioqKioqIFNldCBWYWx1ZSAqKioqKipcbiAgICBpZiAoIXRoaXMudmFsdWUgfHwgdGhpcy52YWx1ZT8ubGVuZ3RoID09IDApIHtcbiAgICAgIHRoaXMuY29udmVydGVkVmFsdWUuc2V0KFt7IHZhbHVlOiB0aGlzLmdldEluaXRWYWx1ZSgpLCBpZDogQVhQRGF0YUdlbmVyYXRvci51dWlkKCkgfV0pO1xuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSkge1xuICAgICAgdGhpcy5jb252ZXJ0ZWRWYWx1ZS5zZXQodGhpcy52YWx1ZS5tYXAoKGl0ZW0pID0+ICh7IHZhbHVlOiBpdGVtID8gbmV3IERhdGUoaXRlbSkgOiB0aGlzLmdldEluaXRWYWx1ZSgpLCBpZDogQVhQRGF0YUdlbmVyYXRvci51dWlkKCkgfSkpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb252ZXJ0ZWRWYWx1ZS5zZXQoW3sgdmFsdWU6IHRoaXMudmFsdWUgPyBuZXcgRGF0ZSh0aGlzLnZhbHVlKSA6IHRoaXMuZ2V0SW5pdFZhbHVlKCksIGlkOiBBWFBEYXRhR2VuZXJhdG9yLnV1aWQoKSB9XSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUFkZEl0ZW0oKSB7XG4gICAgdGhpcy5jb252ZXJ0ZWRWYWx1ZS51cGRhdGUoKHByZXYpID0+IFsuLi5wcmV2LCB7IHZhbHVlOiB0aGlzLmdldEluaXRWYWx1ZSgpLCBpZDogQVhQRGF0YUdlbmVyYXRvci51dWlkKCkgfV0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZVJlbW92ZUl0ZW0oaXRlbTogYW55KSB7XG4gICAgdGhpcy5jb252ZXJ0ZWRWYWx1ZS51cGRhdGUoKHByZXYpID0+IHByZXYuZmlsdGVyKChjOiBhbnkpID0+IGMgIT0gaXRlbSkpO1xuICB9XG4gIHByb3RlY3RlZCBoYW5kbGVWYWx1ZUNoYW5nZShlOiBBWFZhbHVlQ2hhbmdlZEV2ZW50LCBpZDogc3RyaW5nKSB7XG4gICAgaWYgKGUuaXNVc2VySW50ZXJhY3Rpb24pIHtcbiAgICAgIHRoaXMuY29udmVydGVkVmFsdWUudXBkYXRlKChwcmV2KSA9PiBwcmV2Lm1hcCgoaSkgPT4gKGkuaWQgPT09IGlkID8geyB2YWx1ZTogZS52YWx1ZSwgaWQ6IGkuaWQgfSA6IGkpKSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbml0VmFsdWUoKTogRGF0ZSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLmF1dG9TZXRUb2RheSA/IG5ldyBEYXRlKCkgOiBudWxsO1xuICB9XG59XG4iXX0=
@@ -27,6 +27,22 @@ export class AXPDateTimeWidgetFilterComponent extends AXPWidgetFilterBase {
27
27
  this.getSelectedItemValue(this.selectedItem());
28
28
  });
29
29
  }
30
+ handleChangeValue(val, type) {
31
+ switch (type) {
32
+ case 'self':
33
+ this.value = val.toISOString();
34
+ break;
35
+ case 'to':
36
+ this.value.to = val.toISOString();
37
+ break;
38
+ case 'from':
39
+ this.value.from = val.toISOString();
40
+ break;
41
+ default:
42
+ break;
43
+ }
44
+ console.log(this.value);
45
+ }
30
46
  ngOnInit() {
31
47
  if (this.operator == 'greaterThan' || this.operator == 'lessThan') {
32
48
  this.selectedItem.set(this.convertToTitleCase(this.operator));
@@ -61,24 +77,24 @@ export class AXPDateTimeWidgetFilterComponent extends AXPWidgetFilterBase {
61
77
  switch (itemTitle) {
62
78
  case 'Today':
63
79
  this.value = {
64
- from: calendar.startOf(currentDate, 'day').date,
65
- to: calendar.endOf(currentDate, 'day').date,
80
+ from: calendar.startOf(currentDate, 'day').date.toISOString(),
81
+ to: calendar.endOf(currentDate, 'day').date.toISOString(),
66
82
  filterFieldFrom: this.filterFieldFrom || this.schema.name,
67
83
  filterFieldTo: this.filterFieldTo || this.schema.name,
68
84
  };
69
85
  break;
70
86
  case 'This Week':
71
87
  this.value = {
72
- from: calendar.startOf(currentDate, 'week').date,
73
- to: calendar.endOf(currentDate, 'week').date,
88
+ from: calendar.startOf(currentDate, 'week').date.toISOString(),
89
+ to: calendar.endOf(currentDate, 'week').date.toISOString(),
74
90
  filterFieldFrom: this.filterFieldFrom || this.schema.name,
75
91
  filterFieldTo: this.filterFieldTo || this.schema.name,
76
92
  };
77
93
  break;
78
94
  case 'This Month':
79
95
  this.value = {
80
- from: calendar.startOf(currentDate, 'month').date,
81
- to: calendar.endOf(currentDate, 'month').date,
96
+ from: calendar.startOf(currentDate, 'month').date.toISOString(),
97
+ to: calendar.endOf(currentDate, 'month').date.toISOString(),
82
98
  filterFieldFrom: this.filterFieldFrom || this.schema.name,
83
99
  filterFieldTo: this.filterFieldTo || this.schema.name,
84
100
  };
@@ -86,8 +102,8 @@ export class AXPDateTimeWidgetFilterComponent extends AXPWidgetFilterBase {
86
102
  case 'Yesterday':
87
103
  const yesterDay = calendar.add(currentDate, 'day', -1);
88
104
  this.value = {
89
- from: yesterDay.startOf('day').date,
90
- to: yesterDay.endOf('day').date,
105
+ from: yesterDay.startOf('day').date.toISOString(),
106
+ to: yesterDay.endOf('day').date.toISOString(),
91
107
  filterFieldFrom: this.filterFieldFrom || this.schema.name,
92
108
  filterFieldTo: this.filterFieldTo || this.schema.name,
93
109
  };
@@ -95,8 +111,8 @@ export class AXPDateTimeWidgetFilterComponent extends AXPWidgetFilterBase {
95
111
  case 'Last Week':
96
112
  const lastWeek = calendar.add(currentDate, 'week', -1);
97
113
  this.value = {
98
- from: lastWeek.startOf('week').date,
99
- to: lastWeek.endOf('week').date,
114
+ from: lastWeek.startOf('week').date.toISOString(),
115
+ to: lastWeek.endOf('week').date.toISOString(),
100
116
  filterFieldFrom: this.filterFieldFrom || this.schema.name,
101
117
  filterFieldTo: this.filterFieldTo || this.schema.name,
102
118
  };
@@ -104,8 +120,8 @@ export class AXPDateTimeWidgetFilterComponent extends AXPWidgetFilterBase {
104
120
  case 'Last Month':
105
121
  const lastMonth = calendar.add(currentDate, 'month', -1);
106
122
  this.value = {
107
- from: lastMonth.startOf('month').date,
108
- to: lastMonth.endOf('month').date,
123
+ from: lastMonth.startOf('month').date.toISOString(),
124
+ to: lastMonth.endOf('month').date.toISOString(),
109
125
  filterFieldFrom: this.filterFieldFrom || this.schema.name,
110
126
  filterFieldTo: this.filterFieldTo || this.schema.name,
111
127
  };
@@ -113,8 +129,8 @@ export class AXPDateTimeWidgetFilterComponent extends AXPWidgetFilterBase {
113
129
  case 'Tomorrow':
114
130
  const tomorrow = calendar.add(currentDate, 'day', 1);
115
131
  this.value = {
116
- from: tomorrow.startOf('day').date,
117
- to: tomorrow.endOf('day').date,
132
+ from: tomorrow.startOf('day').date.toISOString(),
133
+ to: tomorrow.endOf('day').date.toISOString(),
118
134
  filterFieldFrom: this.filterFieldFrom || this.schema.name,
119
135
  filterFieldTo: this.filterFieldTo || this.schema.name,
120
136
  };
@@ -122,8 +138,8 @@ export class AXPDateTimeWidgetFilterComponent extends AXPWidgetFilterBase {
122
138
  case 'Next Week':
123
139
  const nextWeek = calendar.add(currentDate, 'week', 1);
124
140
  this.value = {
125
- from: nextWeek.startOf('week').date,
126
- to: nextWeek.endOf('week').date,
141
+ from: nextWeek.startOf('week').date.toISOString(),
142
+ to: nextWeek.endOf('week').date.toISOString(),
127
143
  filterFieldFrom: this.filterFieldFrom || this.schema.name,
128
144
  filterFieldTo: this.filterFieldTo || this.schema.name,
129
145
  };
@@ -131,8 +147,8 @@ export class AXPDateTimeWidgetFilterComponent extends AXPWidgetFilterBase {
131
147
  case 'Next Month':
132
148
  const nextMonth = calendar.add(currentDate, 'month', -1);
133
149
  this.value = {
134
- from: nextMonth.startOf('month').date,
135
- to: nextMonth.endOf('month').date,
150
+ from: nextMonth.startOf('month').date.toISOString(),
151
+ to: nextMonth.endOf('month').date.toISOString(),
136
152
  filterFieldFrom: this.filterFieldFrom || this.schema.name,
137
153
  filterFieldTo: this.filterFieldTo || this.schema.name,
138
154
  };
@@ -176,14 +192,16 @@ export class AXPDateTimeWidgetFilterComponent extends AXPWidgetFilterBase {
176
192
  <div class="ax-flex ax-gap-2 ax-mt-2">
177
193
  <ax-datetime-box
178
194
  placeholder="From"
179
- [(ngModel)]="value.from"
195
+ [ngModel]="value.from"
196
+ (ngModelChange)="handleChangeValue($event, 'from')"
180
197
  class="ax-col-start-1 ax-col-end-13 lg:ax-col-end-5 xl:ax-col-end-4 2xl:ax-col-end-3"
181
198
  >
182
199
  <ax-clear-button></ax-clear-button>
183
200
  </ax-datetime-box>
184
201
  <ax-datetime-box
185
202
  placeholder="To"
186
- [(ngModel)]="value.to"
203
+ [ngModel]="value.to"
204
+ (ngModelChange)="handleChangeValue($event, 'to')"
187
205
  class="ax-col-start-1 ax-col-end-13 lg:ax-col-end-5 xl:ax-col-end-4 2xl:ax-col-end-3"
188
206
  >
189
207
  <ax-clear-button></ax-clear-button>
@@ -192,7 +210,8 @@ export class AXPDateTimeWidgetFilterComponent extends AXPWidgetFilterBase {
192
210
  } @if(selectedItem()=="Greater Than" || selectedItem()=="Less Than"){
193
211
  <div class="ax-mt-2">
194
212
  <ax-datetime-box
195
- [(ngModel)]="value"
213
+ [ngModel]="value"
214
+ (ngModelChange)="handleChangeValue($event, 'self')"
196
215
  class="ax-col-start-1 ax-col-end-13 lg:ax-col-end-5 xl:ax-col-end-4 2xl:ax-col-end-3"
197
216
  >
198
217
  <ax-clear-button></ax-clear-button>
@@ -219,14 +238,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
219
238
  <div class="ax-flex ax-gap-2 ax-mt-2">
220
239
  <ax-datetime-box
221
240
  placeholder="From"
222
- [(ngModel)]="value.from"
241
+ [ngModel]="value.from"
242
+ (ngModelChange)="handleChangeValue($event, 'from')"
223
243
  class="ax-col-start-1 ax-col-end-13 lg:ax-col-end-5 xl:ax-col-end-4 2xl:ax-col-end-3"
224
244
  >
225
245
  <ax-clear-button></ax-clear-button>
226
246
  </ax-datetime-box>
227
247
  <ax-datetime-box
228
248
  placeholder="To"
229
- [(ngModel)]="value.to"
249
+ [ngModel]="value.to"
250
+ (ngModelChange)="handleChangeValue($event, 'to')"
230
251
  class="ax-col-start-1 ax-col-end-13 lg:ax-col-end-5 xl:ax-col-end-4 2xl:ax-col-end-3"
231
252
  >
232
253
  <ax-clear-button></ax-clear-button>
@@ -235,7 +256,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
235
256
  } @if(selectedItem()=="Greater Than" || selectedItem()=="Less Than"){
236
257
  <div class="ax-mt-2">
237
258
  <ax-datetime-box
238
- [(ngModel)]="value"
259
+ [ngModel]="value"
260
+ (ngModelChange)="handleChangeValue($event, 'self')"
239
261
  class="ax-col-start-1 ax-col-end-13 lg:ax-col-end-5 xl:ax-col-end-4 2xl:ax-col-end-3"
240
262
  >
241
263
  <ax-clear-button></ax-clear-button>
@@ -259,4 +281,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
259
281
  inputs: ['value', 'operator'],
260
282
  }]
261
283
  }] });
262
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZVRpbWUtd2lkZ2V0LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL3NjaGVtYS93aWRnZXRzL2RhdGVUaW1lL2RhdGVUaW1lLXdpZGdldC1maWx0ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBa0IsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0csT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7OztBQXdEL0QsTUFBTSxPQUFPLGdDQUFpQyxTQUFRLG1CQUFtQjtJQXREekU7O1FBdURZLGlCQUFZLEdBQTJCLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM1RCxlQUFVLEdBQWEsRUFBRSxDQUFDO1FBQzFCLG9CQUFlLEdBQVcsRUFBRSxDQUFDO1FBQzdCLGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBRW5CLG9CQUFlLEdBQUcs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b0JBQzFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUM7aUJBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhWYWx1ZUNoYW5nZWRFdmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgQVhEYXRlVGltZUJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kYXRldGltZS1ib3gnO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWFNlbGVjdEJveE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9zZWxlY3QtYm94JztcbmltcG9ydCB7IEFYQ2FsZW5kYXJTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL2RhdGUtdGltZSc7XG5pbXBvcnQgeyBBWEZvcm1hdE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS9mb3JtYXQnO1xuaW1wb3J0IHsgQVhUcmFuc2xhdGlvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgV3JpdGFibGVTaWduYWwsIGVmZmVjdCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQVhQV2lkZ2V0RmlsdGVyQmFzZSB9IGZyb20gJy4uLy4uL3dpZGdldC93aWRnZXQtYmFzZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4cC1kYXRldGltZS13aWRnZXQtZmlsdGVyJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleC0xXCI+XG4gICAgICA8YXgtc2VsZWN0LWJveFxuICAgICAgICBbbmdNb2RlbF09XCJzZWxlY3RlZEl0ZW0oKVwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCIoJ3NlbGVjdCcgfCB0cmFuc2xhdGUgfCBhc3luYykgPz8gJ1NlbGVjdC4uLidcIlxuICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiY2hhbmdlU2VsZWN0ZWRJdGVtKCRldmVudClcIlxuICAgICAgICBbZGF0YVNvdXJjZV09XCJkYXRhU291cmNlXCJcbiAgICAgID5cbiAgICAgIDwvYXgtc2VsZWN0LWJveD5cbiAgICAgIEBpZihzZWxlY3RlZEl0ZW0oKT09XCJCZXR3ZWVuXCIpe1xuICAgICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZ2FwLTIgYXgtbXQtMlwiPlxuICAgICAgICA8YXgtZGF0ZXRpbWUtYm94XG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJGcm9tXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlLmZyb21cIlxuICAgICAgICAgIGNsYXNzPVwiYXgtY29sLXN0YXJ0LTEgYXgtY29sLWVuZC0xMyBsZzpheC1jb2wtZW5kLTUgeGw6YXgtY29sLWVuZC00IDJ4bDpheC1jb2wtZW5kLTNcIlxuICAgICAgICA+XG4gICAgICAgICAgPGF4LWNsZWFyLWJ1dHRvbj48L2F4LWNsZWFyLWJ1dHRvbj5cbiAgICAgICAgPC9heC1kYXRldGltZS1ib3g+XG4gICAgICAgIDxheC1kYXRldGltZS1ib3hcbiAgICAgICAgICBwbGFjZWhvbGRlcj1cIlRvXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInZhbHVlLnRvXCJcbiAgICAgICAgICBjbGFzcz1cImF4LWNvbC1zdGFydC0xIGF4LWNvbC1lbmQtMTMgbGc6YXgtY29sLWVuZC01IHhsOmF4LWNvbC1lbmQtNCAyeGw6YXgtY29sLWVuZC0zXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxheC1jbGVhci1idXR0b24+PC9heC1jbGVhci1idXR0b24+XG4gICAgICAgIDwvYXgtZGF0ZXRpbWUtYm94PlxuICAgICAgPC9kaXY+XG4gICAgICB9IEBpZihzZWxlY3RlZEl0ZW0oKT09XCJHcmVhdGVyIFRoYW5cIiB8fCBzZWxlY3RlZEl0ZW0oKT09XCJMZXNzIFRoYW5cIil7XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtbXQtMlwiPlxuICAgICAgICA8YXgtZGF0ZXRpbWUtYm94XG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgICAgICAgY2xhc3M9XCJheC1jb2wtc3RhcnQtMSBheC1jb2wtZW5kLTEzIGxnOmF4LWNvbC1lbmQtNSB4bDpheC1jb2wtZW5kLTQgMnhsOmF4LWNvbC1lbmQtM1wiXG4gICAgICAgID5cbiAgICAgICAgICA8YXgtY2xlYXItYnV0dG9uPjwvYXgtY2xlYXItYnV0dG9uPlxuICAgICAgICA8L2F4LWRhdGV0aW1lLWJveD5cbiAgICAgIDwvZGl2PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICBgLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBBWEZvcm1hdE1vZHVsZSxcbiAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICAgIEFYRGF0ZVRpbWVCb3hNb2R1bGUsXG4gICAgQVhEZWNvcmF0b3JNb2R1bGUsXG4gICAgQVhTZWxlY3RCb3hNb2R1bGUsXG4gIF0sXG4gIG91dHB1dHM6IFsndmFsdWVDaGFuZ2UnLCAnb3BlcmF0b3JDaGFuZ2UnXSxcbiAgaW5wdXRzOiBbJ3ZhbHVlJywgJ29wZXJhdG9yJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFYUERhdGVUaW1lV2lkZ2V0RmlsdGVyQ29tcG9uZW50IGV4dGVuZHMgQVhQV2lkZ2V0RmlsdGVyQmFzZSB7XG4gIHByb3RlY3RlZCBzZWxlY3RlZEl0ZW06IFdyaXRhYmxlU2lnbmFsPHN0cmluZz4gPSBzaWduYWwoJycpO1xuICBkYXRhU291cmNlOiBzdHJpbmdbXSA9IFtdO1xuICBmaWx0ZXJGaWVsZEZyb206IHN0cmluZyA9ICcnO1xuICBmaWx0ZXJGaWVsZFRvOiBzdHJpbmcgPSAnJztcblxuICBwcml2YXRlIGNhbGVuZGFyU2VydmljZSA9IGluamVjdChBWENhbGVuZGFyU2VydmljZSk7XG4gIHByaXZhdGUgY2hhbmdlVmFsdWVFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIHRoaXMuZ2V0U2VsZWN0ZWRJdGVtVmFsdWUodGhpcy5zZWxlY3RlZEl0ZW0oKSk7XG4gIH0pO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm9wZXJhdG9yID09ICdncmVhdGVyVGhhbicgfHwgdGhpcy5vcGVyYXRvciA9PSAnbGVzc1RoYW4nKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbS5zZXQodGhpcy5jb252ZXJ0VG9UaXRsZUNhc2UodGhpcy5vcGVyYXRvcikpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbS5zZXQodGhpcy5jb252ZXJ0VG9UaXRsZUNhc2UodGhpcy52YWx1ZSkpO1xuICAgIH1cbiAgICB0aGlzLmRhdGFTb3VyY2UgPSBbXG4gICAgICAnVG9kYXknLFxuICAgICAgJ1RoaXMgV2VlaycsXG4gICAgICAnVGhpcyBNb250aCcsXG4gICAgICAnWWVzdGVyZGF5JyxcbiAgICAgICdMYXN0IFdlZWsnLFxuICAgICAgJ0xhc3QgTW9udGgnLFxuICAgICAgJ1RvbW9ycm93JyxcbiAgICAgICdOZXh0IFdlZWsnLFxuICAgICAgJ05leHQgTW9udGgnLFxuICAgICAgJ0JldHdlZW4nLFxuICAgICAgJ0dyZWF0ZXIgVGhhbicsXG4gICAgICAnTGVzcyBUaGFuJyxcbiAgICBdO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNoYW5nZVNlbGVjdGVkSXRlbShlOiBBWFZhbHVlQ2hhbmdlZEV2ZW50KSB7XG4gICAgaWYgKGUuaXNVc2VySW50ZXJhY3Rpb24pIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtLnNldChlLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0U2VsZWN0ZWRJdGVtVmFsdWUoaXRlbVRpdGxlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLm9wZXJhdG9yID0gJ2JldHdlZW4nO1xuICAgIGNvbnN0IGN1cnJlbnREYXRlID0gdGhpcy5jYWxlbmRhclNlcnZpY2Uubm93KCkuZGF0ZTtcbiAgICBjb25zdCBjYWxlbmRhciA9IHRoaXMuY2FsZW5kYXJTZXJ2aWNlLmNhbGVuZGFyO1xuICAgIHN3aXRjaCAoaXRlbVRpdGxlKSB7XG4gICAgICBjYXNlICdUb2RheSc6XG4gICAgICAgIHRoaXMudmFsdWUgPSB7XG4gICAgICAgICAgZnJvbTogY2FsZW5kYXIuc3RhcnRPZihjdXJyZW50RGF0ZSwgJ2RheScpLmRhdGUsXG4gICAgICAgICAgdG86IGNhbGVuZGFyLmVuZE9mKGN1cnJlbnREYXRlLCAnZGF5JykuZGF0ZSxcbiAgICAgICAgICBmaWx0ZXJGaWVsZEZyb206IHRoaXMuZmlsdGVyRmllbGRGcm9tIHx8IHRoaXMuc2NoZW1hLm5hbWUsXG4gICAgICAgICAgZmlsdGVyRmllbGRUbzogdGhpcy5maWx0ZXJGaWVsZFRvIHx8IHRoaXMuc2NoZW1hLm5hbWUsXG4gICAgICAgIH07XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnVGhpcyBXZWVrJzpcbiAgICAgICAgdGhpcy52YWx1ZSA9IHtcbiAgICAgICAgICBmcm9tOiBjYWxlbmRhci5zdGFydE9mKGN1cnJlbnREYXRlLCAnd2VlaycpLmRhdGUsXG4gICAgICAgICAgdG86IGNhbGVuZGFyLmVuZE9mKGN1cnJlbnREYXRlLCAnd2VlaycpLmRhdGUsXG4gICAgICAgICAgZmlsdGVyRmllbGRGcm9tOiB0aGlzLmZpbHRlckZpZWxkRnJvbSB8fCB0aGlzLnNjaGVtYS5uYW1lLFxuICAgICAgICAgIGZpbHRlckZpZWxkVG86IHRoaXMuZmlsdGVyRmllbGRUbyB8fCB0aGlzLnNjaGVtYS5uYW1lLFxuICAgICAgICB9O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ1RoaXMgTW9udGgnOlxuICAgICAgICB0aGlzLnZhbHVlID0ge1xuICAgICAgICAgIGZyb206IGNhbGVuZGFyLnN0YXJ0T2YoY3VycmVudERhdGUsICdtb250aCcpLmRhdGUsXG4gICAgICAgICAgdG86IGNhbGVuZGFyLmVuZE9mKGN1cnJlbnREYXRlLCAnbW9udGgnKS5kYXRlLFxuICAgICAgICAgIGZpbHRlckZpZWxkRnJvbTogdGhpcy5maWx0ZXJGaWVsZEZyb20gfHwgdGhpcy5zY2hlbWEubmFtZSxcbiAgICAgICAgICBmaWx0ZXJGaWVsZFRvOiB0aGlzLmZpbHRlckZpZWxkVG8gfHwgdGhpcy5zY2hlbWEubmFtZSxcbiAgICAgICAgfTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdZZXN0ZXJkYXknOlxuICAgICAgICBjb25zdCB5ZXN0ZXJEYXkgPSBjYWxlbmRhci5hZGQoY3VycmVudERhdGUsICdkYXknLCAtMSk7XG4gICAgICAgIHRoaXMudmFsdWUgPSB7XG4gICAgICAgICAgZnJvbTogeWVzdGVyRGF5LnN0YXJ0T2YoJ2RheScpLmRhdGUsXG4gICAgICAgICAgdG86IHllc3RlckRheS5lbmRPZignZGF5JykuZGF0ZSxcbiAgICAgICAgICBmaWx0ZXJGaWVsZEZyb206IHRoaXMuZmlsdGVyRmllbGRGcm9tIHx8IHRoaXMuc2NoZW1hLm5hbWUsXG4gICAgICAgICAgZmlsdGVyRmllbGRUbzogdGhpcy5maWx0ZXJGaWVsZFRvIHx8IHRoaXMuc2NoZW1hLm5hbWUsXG4gICAgICAgIH07XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnTGFzdCBXZWVrJzpcbiAgICAgICAgY29uc3QgbGFzdFdlZWsgPSBjYWxlbmRhci5hZGQoY3VycmVudERhdGUsICd3ZWVrJywgLTEpO1xuICAgICAgICB0aGlzLnZhbHVlID0ge1xuICAgICAgICAgIGZyb206IGxhc3RXZWVrLnN0YXJ0T2YoJ3dlZWsnKS5kYXRlLFxuICAgICAgICAgIHRvOiBsYXN0V2Vlay5lbmRPZignd2VlaycpLmRhdGUsXG4gICAgICAgICAgZmlsdGVyRmllbGRGcm9tOiB0aGlzLmZpbHRlckZpZWxkRnJvbSB8fCB0aGlzLnNjaGVtYS5uYW1lLFxuICAgICAgICAgIGZpbHRlckZpZWxkVG86IHRoaXMuZmlsdGVyRmllbGRUbyB8fCB0aGlzLnNjaGVtYS5uYW1lLFxuICAgICAgICB9O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0xhc3QgTW9udGgnOlxuICAgICAgICBjb25zdCBsYXN0TW9udGggPSBjYWxlbmRhci5hZGQoY3VycmVudERhdGUsICdtb250aCcsIC0xKTtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHtcbiAgICAgICAgICBmcm9tOiBsYXN0TW9udGguc3RhcnRPZignbW9udGgnKS5kYXRlLFxuICAgICAgICAgIHRvOiBsYXN0TW9udGguZW5kT2YoJ21vbnRoJykuZGF0ZSxcbiAgICAgICAgICBmaWx0ZXJGaWVsZEZyb206IHRoaXMuZmlsdGVyRmllbGRGcm9tIHx8IHRoaXMuc2NoZW1hLm5hbWUsXG4gICAgICAgICAgZmlsdGVyRmllbGRUbzogdGhpcy5maWx0ZXJGaWVsZFRvIHx8IHRoaXMuc2NoZW1hLm5hbWUsXG4gICAgICAgIH07XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnVG9tb3Jyb3cnOlxuICAgICAgICBjb25zdCB0b21vcnJvdyA9IGNhbGVuZGFyLmFkZChjdXJyZW50RGF0ZSwgJ2RheScsIDEpO1xuICAgICAgICB0aGlzLnZhbHVlID0ge1xuICAgICAgICAgIGZyb206IHRvbW9ycm93LnN0YXJ0T2YoJ2RheScpLmRhdGUsXG4gICAgICAgICAgdG86IHRvbW9ycm93LmVuZE9mKCdkYXknKS5kYXRlLFxuICAgICAgICAgIGZpbHRlckZpZWxkRnJvbTogdGhpcy5maWx0ZXJGaWVsZEZyb20gfHwgdGhpcy5zY2hlbWEubmFtZSxcbiAgICAgICAgICBmaWx0ZXJGaWVsZFRvOiB0aGlzLmZpbHRlckZpZWxkVG8gfHwgdGhpcy5zY2hlbWEubmFtZSxcbiAgICAgICAgfTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdOZXh0IFdlZWsnOlxuICAgICAgICBjb25zdCBuZXh0V2VlayA9IGNhbGVuZGFyLmFkZChjdXJyZW50RGF0ZSwgJ3dlZWsnLCAxKTtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHtcbiAgICAgICAgICBmcm9tOiBuZXh0V2Vlay5zdGFydE9mKCd3ZWVrJykuZGF0ZSxcbiAgICAgICAgICB0bzogbmV4dFdlZWsuZW5kT2YoJ3dlZWsnKS5kYXRlLFxuICAgICAgICAgIGZpbHRlckZpZWxkRnJvbTogdGhpcy5maWx0ZXJGaWVsZEZyb20gfHwgdGhpcy5zY2hlbWEubmFtZSxcbiAgICAgICAgICBmaWx0ZXJGaWVsZFRvOiB0aGlzLmZpbHRlckZpZWxkVG8gfHwgdGhpcy5zY2hlbWEubmFtZSxcbiAgICAgICAgfTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdOZXh0IE1vbnRoJzpcbiAgICAgICAgY29uc3QgbmV4dE1vbnRoID0gY2FsZW5kYXIuYWRkKGN1cnJlbnREYXRlLCAnbW9udGgnLCAtMSk7XG4gICAgICAgIHRoaXMudmFsdWUgPSB7XG4gICAgICAgICAgZnJvbTogbmV4dE1vbnRoLnN0YXJ0T2YoJ21vbnRoJykuZGF0ZSxcbiAgICAgICAgICB0bzogbmV4dE1vbnRoLmVuZE9mKCdtb250aCcpLmRhdGUsXG4gICAgICAgICAgZmlsdGVyRmllbGRGcm9tOiB0aGlzLmZpbHRlckZpZWxkRnJvbSB8fCB0aGlzLnNjaGVtYS5uYW1lLFxuICAgICAgICAgIGZpbHRlckZpZWxkVG86IHRoaXMuZmlsdGVyRmllbGRUbyB8fCB0aGlzLnNjaGVtYS5uYW1lLFxuICAgICAgICB9O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0JldHdlZW4nOlxuICAgICAgICB0aGlzLnZhbHVlID0ge1xuICAgICAgICAgIGZyb206ICcnLFxuICAgICAgICAgIHRvOiAnJyxcbiAgICAgICAgICBmaWx0ZXJGaWVsZEZyb206IHRoaXMuZmlsdGVyRmllbGRGcm9tIHx8IHRoaXMuc2NoZW1hLm5hbWUsXG4gICAgICAgICAgZmlsdGVyRmllbGRUbzogdGhpcy5maWx0ZXJGaWVsZFRvIHx8IHRoaXMuc2NoZW1hLm5hbWUsXG4gICAgICAgIH07XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnR3JlYXRlciBUaGFuJzpcbiAgICAgICAgdGhpcy5vcGVyYXRvciA9ICdncmVhdGVyVGhhbic7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnTGVzcyBUaGFuJzpcbiAgICAgICAgdGhpcy5vcGVyYXRvciA9ICdsZXNzVGhhbic7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG4gIHByb3RlY3RlZCBjb252ZXJ0VG9UaXRsZUNhc2Uoc3RyOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gc3RyXG4gICAgICA/LnJlcGxhY2UoL1tBLVpdL2csIChtYXRjaCkgPT4gYCAke21hdGNofWApXG4gICAgICA/LnRyaW0oKVxuICAgICAgPy5yZXBsYWNlKC9eXFx3LywgKG1hdGNoKSA9PiBtYXRjaC50b1VwcGVyQ2FzZSgpKVxuICAgICAgPy5yZXBsYWNlKC9cXGJcXHcvZywgKG1hdGNoKSA9PiBtYXRjaC50b1VwcGVyQ2FzZSgpKTtcbiAgfVxufVxuIl19
284
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZVRpbWUtd2lkZ2V0LWZpbHRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL3NjaGVtYS93aWRnZXRzL2RhdGVUaW1lL2RhdGVUaW1lLXdpZGdldC1maWx0ZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBa0IsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0csT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7OztBQTJEL0QsTUFBTSxPQUFPLGdDQUFpQyxTQUFRLG1CQUFtQjtJQXpEekU7O1FBMERZLGlCQUFZLEdBQTJCLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM1RCxlQUFVLEdBQWEsRUFBRSxDQUFDO1FBQzFCLG9CQUFlLEdBQVcsRUFBRSxDQUFDO1FBQzdCLGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBRW5CLG9CQUFlLEdBQUcs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RTtZQUNSLEVBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2hELEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQzs4R0FuS1UsZ0NBQWdDO2tHQUFoQyxnQ0FBZ0MsME9BdkRqQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXdDVCwyREFJQyxZQUFZLG1GQUNaLFdBQVcsOFZBQ1gsY0FBYyw4QkFDZCxtQkFBbUIsOEZBQ25CLG1CQUFtQixzY0FDbkIsaUJBQWlCLDhJQUNqQixpQkFBaUI7OzJGQUtSLGdDQUFnQztrQkF6RDVDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDRCQUE0QjtvQkFDdEMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0NUO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxjQUFjO3dCQUNkLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLGlCQUFpQjtxQkFDbEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLGdCQUFnQixDQUFDO29CQUMxQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDO2lCQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7IEFYRGF0ZVRpbWVCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGF0ZXRpbWUtYm94JztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhTZWxlY3RCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc2VsZWN0LWJveCc7XG5pbXBvcnQgeyBBWENhbGVuZGFyU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS9kYXRlLXRpbWUnO1xuaW1wb3J0IHsgQVhGb3JtYXRNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvZm9ybWF0JztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFdyaXRhYmxlU2lnbmFsLCBlZmZlY3QsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFYUFdpZGdldEZpbHRlckJhc2UgfSBmcm9tICcuLi8uLi93aWRnZXQvd2lkZ2V0LWJhc2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheHAtZGF0ZXRpbWUtd2lkZ2V0LWZpbHRlcicsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cImF4LWZsZXgtMVwiPlxuICAgICAgPGF4LXNlbGVjdC1ib3hcbiAgICAgICAgW25nTW9kZWxdPVwic2VsZWN0ZWRJdGVtKClcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwiKCdzZWxlY3QnIHwgdHJhbnNsYXRlIHwgYXN5bmMpID8/ICdTZWxlY3QuLi4nXCJcbiAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cImNoYW5nZVNlbGVjdGVkSXRlbSgkZXZlbnQpXCJcbiAgICAgICAgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiXG4gICAgICA+XG4gICAgICA8L2F4LXNlbGVjdC1ib3g+XG4gICAgICBAaWYoc2VsZWN0ZWRJdGVtKCk9PVwiQmV0d2VlblwiKXtcbiAgICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LWdhcC0yIGF4LW10LTJcIj5cbiAgICAgICAgPGF4LWRhdGV0aW1lLWJveFxuICAgICAgICAgIHBsYWNlaG9sZGVyPVwiRnJvbVwiXG4gICAgICAgICAgW25nTW9kZWxdPVwidmFsdWUuZnJvbVwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlVmFsdWUoJGV2ZW50LCAnZnJvbScpXCJcbiAgICAgICAgICBjbGFzcz1cImF4LWNvbC1zdGFydC0xIGF4LWNvbC1lbmQtMTMgbGc6YXgtY29sLWVuZC01IHhsOmF4LWNvbC1lbmQtNCAyeGw6YXgtY29sLWVuZC0zXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxheC1jbGVhci1idXR0b24+PC9heC1jbGVhci1idXR0b24+XG4gICAgICAgIDwvYXgtZGF0ZXRpbWUtYm94PlxuICAgICAgICA8YXgtZGF0ZXRpbWUtYm94XG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJUb1wiXG4gICAgICAgICAgW25nTW9kZWxdPVwidmFsdWUudG9cIlxuICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cImhhbmRsZUNoYW5nZVZhbHVlKCRldmVudCwgJ3RvJylcIlxuICAgICAgICAgIGNsYXNzPVwiYXgtY29sLXN0YXJ0LTEgYXgtY29sLWVuZC0xMyBsZzpheC1jb2wtZW5kLTUgeGw6YXgtY29sLWVuZC00IDJ4bDpheC1jb2wtZW5kLTNcIlxuICAgICAgICA+XG4gICAgICAgICAgPGF4LWNsZWFyLWJ1dHRvbj48L2F4LWNsZWFyLWJ1dHRvbj5cbiAgICAgICAgPC9heC1kYXRldGltZS1ib3g+XG4gICAgICA8L2Rpdj5cbiAgICAgIH0gQGlmKHNlbGVjdGVkSXRlbSgpPT1cIkdyZWF0ZXIgVGhhblwiIHx8IHNlbGVjdGVkSXRlbSgpPT1cIkxlc3MgVGhhblwiKXtcbiAgICAgIDxkaXYgY2xhc3M9XCJheC1tdC0yXCI+XG4gICAgICAgIDxheC1kYXRldGltZS1ib3hcbiAgICAgICAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiaGFuZGxlQ2hhbmdlVmFsdWUoJGV2ZW50LCAnc2VsZicpXCJcbiAgICAgICAgICBjbGFzcz1cImF4LWNvbC1zdGFydC0xIGF4LWNvbC1lbmQtMTMgbGc6YXgtY29sLWVuZC01IHhsOmF4LWNvbC1lbmQtNCAyeGw6YXgtY29sLWVuZC0zXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxheC1jbGVhci1idXR0b24+PC9heC1jbGVhci1idXR0b24+XG4gICAgICAgIDwvYXgtZGF0ZXRpbWUtYm94PlxuICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEFYRm9ybWF0TW9kdWxlLFxuICAgIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gICAgQVhEYXRlVGltZUJveE1vZHVsZSxcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBBWFNlbGVjdEJveE1vZHVsZSxcbiAgXSxcbiAgb3V0cHV0czogWyd2YWx1ZUNoYW5nZScsICdvcGVyYXRvckNoYW5nZSddLFxuICBpbnB1dHM6IFsndmFsdWUnLCAnb3BlcmF0b3InXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhQRGF0ZVRpbWVXaWRnZXRGaWx0ZXJDb21wb25lbnQgZXh0ZW5kcyBBWFBXaWRnZXRGaWx0ZXJCYXNlIHtcbiAgcHJvdGVjdGVkIHNlbGVjdGVkSXRlbTogV3JpdGFibGVTaWduYWw8c3RyaW5nPiA9IHNpZ25hbCgnJyk7XG4gIGRhdGFTb3VyY2U6IHN0cmluZ1tdID0gW107XG4gIGZpbHRlckZpZWxkRnJvbTogc3RyaW5nID0gJyc7XG4gIGZpbHRlckZpZWxkVG86IHN0cmluZyA9ICcnO1xuXG4gIHByaXZhdGUgY2FsZW5kYXJTZXJ2aWNlID0gaW5qZWN0KEFYQ2FsZW5kYXJTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBjaGFuZ2VWYWx1ZUVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7XG4gICAgdGhpcy5nZXRTZWxlY3RlZEl0ZW1WYWx1ZSh0aGlzLnNlbGVjdGVkSXRlbSgpKTtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUNoYW5nZVZhbHVlKHZhbDogRGF0ZSwgdHlwZTogJ2Zyb20nIHwgJ3RvJyB8ICdzZWxmJykge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSAnc2VsZic6XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWwudG9JU09TdHJpbmcoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd0byc6XG4gICAgICAgIHRoaXMudmFsdWUudG8gPSB2YWwudG9JU09TdHJpbmcoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdmcm9tJzpcbiAgICAgICAgdGhpcy52YWx1ZS5mcm9tID0gdmFsLnRvSVNPU3RyaW5nKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGNvbnNvbGUubG9nKHRoaXMudmFsdWUpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3BlcmF0b3IgPT0gJ2dyZWF0ZXJUaGFuJyB8fCB0aGlzLm9wZXJhdG9yID09ICdsZXNzVGhhbicpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtLnNldCh0aGlzLmNvbnZlcnRUb1RpdGxlQ2FzZSh0aGlzLm9wZXJhdG9yKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtLnNldCh0aGlzLmNvbnZlcnRUb1RpdGxlQ2FzZSh0aGlzLnZhbHVlKSk7XG4gICAgfVxuICAgIHRoaXMuZGF0YVNvdXJjZSA9IFtcbiAgICAgICdUb2RheScsXG4gICAgICAnVGhpcyBXZWVrJyxcbiAgICAgICdUaGlzIE1vbnRoJyxcbiAgICAgICdZZXN0ZXJkYXknLFxuICAgICAgJ0xhc3QgV2VlaycsXG4gICAgICAnTGFzdCBNb250aCcsXG4gICAgICAnVG9tb3Jyb3cnLFxuICAgICAgJ05leHQgV2VlaycsXG4gICAgICAnTmV4dCBNb250aCcsXG4gICAgICAnQmV0d2VlbicsXG4gICAgICAnR3JlYXRlciBUaGFuJyxcbiAgICAgICdMZXNzIFRoYW4nLFxuICAgIF07XG4gIH1cblxuICBwcm90ZWN0ZWQgY2hhbmdlU2VsZWN0ZWRJdGVtKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQpIHtcbiAgICBpZiAoZS5pc1VzZXJJbnRlcmFjdGlvbikge1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0uc2V0KGUudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRTZWxlY3RlZEl0ZW1WYWx1ZShpdGVtVGl0bGU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMub3BlcmF0b3IgPSAnYmV0d2Vlbic7XG4gICAgY29uc3QgY3VycmVudERhdGUgPSB0aGlzLmNhbGVuZGFyU2VydmljZS5ub3coKS5kYXRlO1xuICAgIGNvbnN0IGNhbGVuZGFyID0gdGhpcy5jYWxlbmRhclNlcnZpY2UuY2FsZW5kYXI7XG4gICAgc3dpdGNoIChpdGVtVGl0bGUpIHtcbiAgICAgIGNhc2UgJ1RvZGF5JzpcbiAgICAgICAgdGhpcy52YWx1ZSA9IHtcbiAgICAgICAgICBmcm9tOiBjYWxlbmRhci5zdGFydE9mKGN1cnJlbnREYXRlLCAnZGF5JykuZGF0ZS50b0lTT1N0cmluZygpLFxuICAgICAgICAgIHRvOiBjYWxlbmRhci5lbmRPZihjdXJyZW50RGF0ZSwgJ2RheScpLmRhdGUudG9JU09TdHJpbmcoKSxcbiAgICAgICAgICBmaWx0ZXJGaWVsZEZyb206IHRoaXMuZmlsdGVyRmllbGRGcm9tIHx8IHRoaXMuc2NoZW1hLm5hbWUsXG4gICAgICAgICAgZmlsdGVyRmllbGRUbzogdGhpcy5maWx0ZXJGaWVsZFRvIHx8IHRoaXMuc2NoZW1hLm5hbWUsXG4gICAgICAgIH07XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnVGhpcyBXZWVrJzpcbiAgICAgICAgdGhpcy52YWx1ZSA9IHtcbiAgICAgICAgICBmcm9tOiBjYWxlbmRhci5zdGFydE9mKGN1cnJlbnREYXRlLCAnd2VlaycpLmRhdGUudG9JU09TdHJpbmcoKSxcbiAgICAgICAgICB0bzogY2FsZW5kYXIuZW5kT2YoY3VycmVudERhdGUsICd3ZWVrJykuZGF0ZS50b0lTT1N0cmluZygpLFxuICAgICAgICAgIGZpbHRlckZpZWxkRnJvbTogdGhpcy5maWx0ZXJGaWVsZEZyb20gfHwgdGhpcy5zY2hlbWEubmFtZSxcbiAgICAgICAgICBmaWx0ZXJGaWVsZFRvOiB0aGlzLmZpbHRlckZpZWxkVG8gfHwgdGhpcy5zY2hlbWEubmFtZSxcbiAgICAgICAgfTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdUaGlzIE1vbnRoJzpcbiAgICAgICAgdGhpcy52YWx1ZSA9IHtcbiAgICAgICAgICBmcm9tOiBjYWxlbmRhci5zdGFydE9mKGN1cnJlbnREYXRlLCAnbW9udGgnKS5kYXRlLnRvSVNPU3RyaW5nKCksXG4gICAgICAgICAgdG86IGNhbGVuZGFyLmVuZE9mKGN1cnJlbnREYXRlLCAnbW9udGgnKS5kYXRlLnRvSVNPU3RyaW5nKCksXG4gICAgICAgICAgZmlsdGVyRmllbGRGcm9tOiB0aGlzLmZpbHRlckZpZWxkRnJvbSB8fCB0aGlzLnNjaGVtYS5uYW1lLFxuICAgICAgICAgIGZpbHRlckZpZWxkVG86IHRoaXMuZmlsdGVyRmllbGRUbyB8fCB0aGlzLnNjaGVtYS5uYW1lLFxuICAgICAgICB9O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ1llc3RlcmRheSc6XG4gICAgICAgIGNvbnN0IHllc3RlckRheSA9IGNhbGVuZGFyLmFkZChjdXJyZW50RGF0ZSwgJ2RheScsIC0xKTtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHtcbiAgICAgICAgICBmcm9tOiB5ZXN0ZXJEYXkuc3RhcnRPZignZGF5JykuZGF0ZS50b0lTT1N0cmluZygpLFxuICAgICAgICAgIHRvOiB5ZXN0ZXJEYXkuZW5kT2YoJ2RheScpLmRhdGUudG9JU09TdHJpbmcoKSxcbiAgICAgICAgICBmaWx0ZXJGaWVsZEZyb206IHRoaXMuZmlsdGVyRmllbGRGcm9tIHx8IHRoaXMuc2NoZW1hLm5hbWUsXG4gICAgICAgICAgZmlsdGVyRmllbGRUbzogdGhpcy5maWx0ZXJGaWVsZFRvIHx8IHRoaXMuc2NoZW1hLm5hbWUsXG4gICAgICAgIH07XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnTGFzdCBXZWVrJzpcbiAgICAgICAgY29uc3QgbGFzdFdlZWsgPSBjYWxlbmRhci5hZGQoY3VycmVudERhdGUsICd3ZWVrJywgLTEpO1xuICAgICAgICB0aGlzLnZhbHVlID0ge1xuICAgICAgICAgIGZyb206IGxhc3RXZWVrLnN0YXJ0T2YoJ3dlZWsnKS5kYXRlLnRvSVNPU3RyaW5nKCksXG4gICAgICAgICAgdG86IGxhc3RXZWVrLmVuZE9mKCd3ZWVrJykuZGF0ZS50b0lTT1N0cmluZygpLFxuICAgICAgICAgIGZpbHRlckZpZWxkRnJvbTogdGhpcy5maWx0ZXJGaWVsZEZyb20gfHwgdGhpcy5zY2hlbWEubmFtZSxcbiAgICAgICAgICBmaWx0ZXJGaWVsZFRvOiB0aGlzLmZpbHRlckZpZWxkVG8gfHwgdGhpcy5zY2hlbWEubmFtZSxcbiAgICAgICAgfTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdMYXN0IE1vbnRoJzpcbiAgICAgICAgY29uc3QgbGFzdE1vbnRoID0gY2FsZW5kYXIuYWRkKGN1cnJlbnREYXRlLCAnbW9udGgnLCAtMSk7XG4gICAgICAgIHRoaXMudmFsdWUgPSB7XG4gICAgICAgICAgZnJvbTogbGFzdE1vbnRoLnN0YXJ0T2YoJ21vbnRoJykuZGF0ZS50b0lTT1N0cmluZygpLFxuICAgICAgICAgIHRvOiBsYXN0TW9udGguZW5kT2YoJ21vbnRoJykuZGF0ZS50b0lTT1N0cmluZygpLFxuICAgICAgICAgIGZpbHRlckZpZWxkRnJvbTogdGhpcy5maWx0ZXJGaWVsZEZyb20gfHwgdGhpcy5zY2hlbWEubmFtZSxcbiAgICAgICAgICBmaWx0ZXJGaWVsZFRvOiB0aGlzLmZpbHRlckZpZWxkVG8gfHwgdGhpcy5zY2hlbWEubmFtZSxcbiAgICAgICAgfTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdUb21vcnJvdyc6XG4gICAgICAgIGNvbnN0IHRvbW9ycm93ID0gY2FsZW5kYXIuYWRkKGN1cnJlbnREYXRlLCAnZGF5JywgMSk7XG4gICAgICAgIHRoaXMudmFsdWUgPSB7XG4gICAgICAgICAgZnJvbTogdG9tb3Jyb3cuc3RhcnRPZignZGF5JykuZGF0ZS50b0lTT1N0cmluZygpLFxuICAgICAgICAgIHRvOiB0b21vcnJvdy5lbmRPZignZGF5JykuZGF0ZS50b0lTT1N0cmluZygpLFxuICAgICAgICAgIGZpbHRlckZpZWxkRnJvbTogdGhpcy5maWx0ZXJGaWVsZEZyb20gfHwgdGhpcy5zY2hlbWEubmFtZSxcbiAgICAgICAgICBmaWx0ZXJGaWVsZFRvOiB0aGlzLmZpbHRlckZpZWxkVG8gfHwgdGhpcy5zY2hlbWEubmFtZSxcbiAgICAgICAgfTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdOZXh0IFdlZWsnOlxuICAgICAgICBjb25zdCBuZXh0V2VlayA9IGNhbGVuZGFyLmFkZChjdXJyZW50RGF0ZSwgJ3dlZWsnLCAxKTtcbiAgICAgICAgdGhpcy52YWx1ZSA9IHtcbiAgICAgICAgICBmcm9tOiBuZXh0V2Vlay5zdGFydE9mKCd3ZWVrJykuZGF0ZS50b0lTT1N0cmluZygpLFxuICAgICAgICAgIHRvOiBuZXh0V2Vlay5lbmRPZignd2VlaycpLmRhdGUudG9JU09TdHJpbmcoKSxcbiAgICAgICAgICBmaWx0ZXJGaWVsZEZyb206IHRoaXMuZmlsdGVyRmllbGRGcm9tIHx8IHRoaXMuc2NoZW1hLm5hbWUsXG4gICAgICAgICAgZmlsdGVyRmllbGRUbzogdGhpcy5maWx0ZXJGaWVsZFRvIHx8IHRoaXMuc2NoZW1hLm5hbWUsXG4gICAgICAgIH07XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnTmV4dCBNb250aCc6XG4gICAgICAgIGNvbnN0IG5leHRNb250aCA9IGNhbGVuZGFyLmFkZChjdXJyZW50RGF0ZSwgJ21vbnRoJywgLTEpO1xuICAgICAgICB0aGlzLnZhbHVlID0ge1xuICAgICAgICAgIGZyb206IG5leHRNb250aC5zdGFydE9mKCdtb250aCcpLmRhdGUudG9JU09TdHJpbmcoKSxcbiAgICAgICAgICB0bzogbmV4dE1vbnRoLmVuZE9mKCdtb250aCcpLmRhdGUudG9JU09TdHJpbmcoKSxcbiAgICAgICAgICBmaWx0ZXJGaWVsZEZyb206IHRoaXMuZmlsdGVyRmllbGRGcm9tIHx8IHRoaXMuc2NoZW1hLm5hbWUsXG4gICAgICAgICAgZmlsdGVyRmllbGRUbzogdGhpcy5maWx0ZXJGaWVsZFRvIHx8IHRoaXMuc2NoZW1hLm5hbWUsXG4gICAgICAgIH07XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnQmV0d2Vlbic6XG4gICAgICAgIHRoaXMudmFsdWUgPSB7XG4gICAgICAgICAgZnJvbTogJycsXG4gICAgICAgICAgdG86ICcnLFxuICAgICAgICAgIGZpbHRlckZpZWxkRnJvbTogdGhpcy5maWx0ZXJGaWVsZEZyb20gfHwgdGhpcy5zY2hlbWEubmFtZSxcbiAgICAgICAgICBmaWx0ZXJGaWVsZFRvOiB0aGlzLmZpbHRlckZpZWxkVG8gfHwgdGhpcy5zY2hlbWEubmFtZSxcbiAgICAgICAgfTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdHcmVhdGVyIFRoYW4nOlxuICAgICAgICB0aGlzLm9wZXJhdG9yID0gJ2dyZWF0ZXJUaGFuJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdMZXNzIFRoYW4nOlxuICAgICAgICB0aGlzLm9wZXJhdG9yID0gJ2xlc3NUaGFuJztcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgcHJvdGVjdGVkIGNvbnZlcnRUb1RpdGxlQ2FzZShzdHI6IHN0cmluZykge1xuICAgIHJldHVybiBzdHJcbiAgICAgID8ucmVwbGFjZSgvW0EtWl0vZywgKG1hdGNoKSA9PiBgICR7bWF0Y2h9YClcbiAgICAgID8udHJpbSgpXG4gICAgICA/LnJlcGxhY2UoL15cXHcvLCAobWF0Y2gpID0+IG1hdGNoLnRvVXBwZXJDYXNlKCkpXG4gICAgICA/LnJlcGxhY2UoL1xcYlxcdy9nLCAobWF0Y2gpID0+IG1hdGNoLnRvVXBwZXJDYXNlKCkpO1xuICB9XG59XG4iXX0=
@@ -4,11 +4,11 @@ import { AXFormModule } from '@acorex/components/form';
4
4
  import { AXSelectBoxModule } from '@acorex/components/select-box';
5
5
  import { AXTextBoxModule } from '@acorex/components/text-box';
6
6
  import { AXPlatform } from '@acorex/core/platform';
7
- import { MockDataService } from '@acorex/platform/mocks';
8
7
  import { CommonModule } from '@angular/common';
9
8
  import { ChangeDetectionStrategy, Component, effect, inject, signal } from '@angular/core';
10
9
  import { FormsModule } from '@angular/forms';
11
10
  import { AXPWidgetEditBase } from '../../widget/widget-base';
11
+ import { AXPDataGenerator } from '../../../utils';
12
12
  import * as i0 from "@angular/core";
13
13
  import * as i1 from "@angular/common";
14
14
  import * as i2 from "@acorex/components/button";
@@ -20,7 +20,6 @@ import * as i7 from "@acorex/components/form";
20
20
  export class AXPEmailWidgetEditComponent extends AXPWidgetEditBase {
21
21
  constructor() {
22
22
  super(...arguments);
23
- this.mockerService = inject(MockDataService);
24
23
  this.platform = inject(AXPlatform);
25
24
  this.convertedValue = signal([]);
26
25
  this.changeValueEffect = effect(() => {
@@ -52,7 +51,7 @@ export class AXPEmailWidgetEditComponent extends AXPWidgetEditBase {
52
51
  // this.value.push({ label: 'Primary', value: undefined });
53
52
  this.convertedValue.update((prev) => [
54
53
  ...prev,
55
- { label: this.hasLabel ? 'Primary' : '', value: '', id: this.mockerService.uid() },
54
+ { label: this.hasLabel ? 'Primary' : '', value: '', id: AXPDataGenerator.uuid() },
56
55
  ]);
57
56
  }
58
57
  handleRemoveItem(item) {
@@ -73,13 +72,13 @@ export class AXPEmailWidgetEditComponent extends AXPWidgetEditBase {
73
72
  }
74
73
  }
75
74
  initializeEmptyValue() {
76
- this.convertedValue.set([{ value: '', label: '', id: this.mockerService.uid() }]);
75
+ this.convertedValue.set([{ value: '', label: '', id: AXPDataGenerator.uuid() }]);
77
76
  }
78
77
  handleMultipleValue() {
79
78
  const newValue = this.value.map((item) => ({
80
79
  value: this.hasLabel ? item.value : item,
81
80
  label: this.hasLabel ? item.label : null,
82
- id: this.mockerService.uid(),
81
+ id: AXPDataGenerator.uuid(),
83
82
  }));
84
83
  this.convertedValue.set(newValue);
85
84
  }
@@ -88,7 +87,7 @@ export class AXPEmailWidgetEditComponent extends AXPWidgetEditBase {
88
87
  {
89
88
  value: this.hasLabel ? this.value.value : this.value,
90
89
  label: this.hasLabel ? this.value.label : null,
91
- id: this.mockerService.uid(),
90
+ id: AXPDataGenerator.uuid(),
92
91
  },
93
92
  ];
94
93
  this.convertedValue.set(newValue);
@@ -246,4 +245,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
246
245
  inputs: ['multiple', 'hasLabel'],
247
246
  }]
248
247
  }] });
249
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtd2lkZ2V0LWVkaXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9zY2hlbWEvd2lkZ2V0cy9lbWFpbC9lbWFpbC13aWRnZXQtZWRpdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBa0IsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0csT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7Ozs7QUFtRjdELE1BQU0sT0FBTywyQkFBNEIsU0FBUSxpQkFBc0I7SUFqRnZFOztRQWtGWSxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUV4QyxhQUFRLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRzlCLG1CQUFjLEdBQW9FLE1BQU0sQ0FBQyxFQUFF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QUFNLEVBQUUsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDO2lCQUNqQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWFZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYRm9ybU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9mb3JtJztcbmltcG9ydCB7IEFYU2VsZWN0Qm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3NlbGVjdC1ib3gnO1xuaW1wb3J0IHsgQVhUZXh0Qm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RleHQtYm94JztcbmltcG9ydCB7IEFYUGxhdGZvcm0gfSBmcm9tICdAYWNvcmV4L2NvcmUvcGxhdGZvcm0nO1xuaW1wb3J0IHsgTW9ja0RhdGFTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9tb2Nrcyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgV3JpdGFibGVTaWduYWwsIGVmZmVjdCwgaW5qZWN0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQVhQV2lkZ2V0RWRpdEJhc2UgfSBmcm9tICcuLi8uLi93aWRnZXQvd2lkZ2V0LWJhc2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiYXgtZ3JpZCBheC1ncmlkLWNvbHMtMTIgYXgtZ2FwLTRcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtdWx0aXBsZVwiPlxuICAgICAgICBAZm9yKGl0ZW0gb2YgY29udmVydGVkVmFsdWUoKTt0cmFjayBpdGVtPy52YWx1ZSkge1xuICAgICAgICA8YXgtdGV4dC1ib3hcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cIml0ZW0udmFsdWVcIlxuICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJoYW5kbGVFbWFpbENoYW5nZSgkZXZlbnQsIGl0ZW0uaWQpXCJcbiAgICAgICAgICB0eXBlPVwiZW1haWxcIlxuICAgICAgICAgIGNsYXNzPVwiYXgtY29sLXN0YXJ0LTEgYXgtY29sLWVuZC0xMyBsZzpheC1jb2wtZW5kLThcIlxuICAgICAgICAgIFtjbGFzcy5sZzohYXgtY29sLWVuZC0xMl09XCIhaGFzTGFiZWxcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXgtdGV4dC1ib3g+XG4gICAgICAgIEBpZihoYXNMYWJlbCl7XG4gICAgICAgIDxheC1zZWxlY3QtYm94XG4gICAgICAgICAgW2RhdGFTb3VyY2VdPVwiWydQcmltYXJ5JywgJ1NlY29uZGFyeSddXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cIml0ZW0ubGFiZWxcIlxuICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJoYW5kbGVMYWJlbENoYW5nZSgkZXZlbnQsIGl0ZW0uaWQpXCJcbiAgICAgICAgICBjbGFzcz1cImF4LWNvbC1zdGFydC0xIGF4LWNvbC1lbmQtMTEgbGc6YXgtY29sLXN0YXJ0LTggbGc6YXgtY29sLWVuZC0xMlwiXG4gICAgICAgID5cbiAgICAgICAgPC9heC1zZWxlY3QtYm94PlxuICAgICAgICB9XG4gICAgICAgIDxheC1idXR0b25cbiAgICAgICAgICBsb29rPVwidHdvdG9uZVwiXG4gICAgICAgICAgY29sb3I9XCJkYW5nZXJcIlxuICAgICAgICAgIChvbkNsaWNrKT1cImhhbmRsZVJlbW92ZUl0ZW0oaXRlbSlcIlxuICAgICAgICAgIGNsYXNzPVwiYXgtY29sLXN0YXJ0LTExIGF4LWNvbC1lbmQtMTMgbGc6YXgtY29sLXN0YXJ0LTEyIGxnOmF4LWNvbC1lbmQtMTMgYXgtanVzdGlmeS1zZWxmLWVuZFwiXG4gICAgICAgID5cbiAgICAgICAgICA8YXgtaWNvbiBpY29uPVwiZmEtcmVndWxhciBmYS14bWFya1wiPjwvYXgtaWNvbj5cbiAgICAgICAgPC9heC1idXR0b24+XG4gICAgICAgIH1cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFtdWx0aXBsZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXgtY29sLXN0YXJ0LTEgYXgtY29sLWVuZC0xMyBsZzpheC1jb2wtZW5kLThcIiAgW2NsYXNzLmxnOiFheC1jb2wtZW5kLTEzXT1cIiFoYXNMYWJlbFwiPlxuICAgICAgICA8YXgtdGV4dC1ib3hcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnZlcnRlZFZhbHVlKClbMF0udmFsdWVcIlxuICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJoYW5kbGVFbWFpbENoYW5nZSgkZXZlbnQsIGNvbnZlcnRlZFZhbHVlKClbMF0uaWQpXCJcbiAgICAgICAgICB0eXBlPVwiZW1haWxcIlxuICAgICAgICA+XG4gICAgICAgICAgQGZvcih2bCBvZiB2YWxpZGF0aW9uczt0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICA8YXgtdmFsaWRhdGlvbi1ydWxlICBbcnVsZV09XCJ2bC5ydWxlXCIgW29wdGlvbnNdPVwidmwub3B0aW9uc1wiPjwvYXgtdmFsaWRhdGlvbi1ydWxlPlxuICAgICAgICAgIH1cbiAgICAgICAgPC9heC10ZXh0LWJveD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIEBpZihoYXNMYWJlbCl7XG4gICAgICAgIDxheC1zZWxlY3QtYm94XG4gICAgICAgICAgW2RhdGFTb3VyY2VdPVwiWydQcmltYXJ5JywgJ1NlY29uZGFyeSddXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImNvbnZlcnRlZFZhbHVlKClbMF0ubGFiZWxcIlxuICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJoYW5kbGVMYWJlbENoYW5nZSgkZXZlbnQsIGNvbnZlcnRlZFZhbHVlKClbMF0uaWQpXCJcbiAgICAgICAgICBjbGFzcz1cImF4LWNvbC1zdGFydC0xIGF4LWNvbC1lbmQtMTEgbGc6YXgtY29sLXN0YXJ0LTggbGc6YXgtY29sLWVuZC0xM1wiXG4gICAgICAgID5cbiAgICAgICAgPC9heC1zZWxlY3QtYm94PlxuICAgICAgICB9XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPGF4LWJ1dHRvblxuICAgICAgICAqbmdJZj1cIm11bHRpcGxlXCJcbiAgICAgICAgW3RleHRdPVwiY29udmVydGVkVmFsdWUoKS5sZW5ndGggPT0gMCA/ICdBZGQgTmV3JyA6ICdBZGQgQW5vdGhlcidcIlxuICAgICAgICBsb29rPVwidHdvdG9uZVwiXG4gICAgICAgIChvbkNsaWNrKT1cImhhbmRsZUFkZEl0ZW0oKVwiXG4gICAgICAgIGNsYXNzPVwiYXgtY29sLXN0YXJ0LTggbGc6YXgtY29sLXN0YXJ0LTEwIDJ4bDpheC1jb2wtc3RhcnQtMTAgYXgtY29sLWVuZC0xM1wiXG4gICAgICA+XG4gICAgICAgIDxheC1wcmVmaXg+XG4gICAgICAgICAgPGF4LWljb24gY2xhc3M9XCJmYS1zb2xpZCBmYS1hZGRcIj48L2F4LWljb24+XG4gICAgICAgIDwvYXgtcHJlZml4PlxuICAgICAgPC9heC1idXR0b24+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIEFYVGV4dEJveE1vZHVsZSxcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBBWFNlbGVjdEJveE1vZHVsZSxcbiAgICBBWEZvcm1Nb2R1bGUsXG4gIF0sXG4gIGlucHV0czogWydtdWx0aXBsZScsICdoYXNMYWJlbCddLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBFbWFpbFdpZGdldEVkaXRDb21wb25lbnQgZXh0ZW5kcyBBWFBXaWRnZXRFZGl0QmFzZTxhbnk+IHtcbiAgcHJvdGVjdGVkIG1vY2tlclNlcnZpY2UgPSBpbmplY3QoTW9ja0RhdGFTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgcGxhdGZvcm0gPSBpbmplY3QoQVhQbGF0Zm9ybSk7XG4gIHByb3RlY3RlZCBtdWx0aXBsZSE6IGJvb2xlYW47XG4gIHByb3RlY3RlZCBoYXNMYWJlbCE6IGJvb2xlYW47XG4gIHByb3RlY3RlZCBjb252ZXJ0ZWRWYWx1ZTogV3JpdGFibGVTaWduYWw8eyB2YWx1ZTogc3RyaW5nOyBsYWJlbD86IHN0cmluZzsgaWQ6IHN0cmluZyB9W10+ID0gc2lnbmFsKFtdKTtcblxuICBwcml2YXRlIGNoYW5nZVZhbHVlRWZmZWN0ID0gZWZmZWN0KCgpID0+IHtcbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgaWYgKHRoaXMuaGFzTGFiZWwpIHRoaXMudmFsdWUgPSB0aGlzLmNvbnZlcnRlZFZhbHVlKCkubWFwKChpKSA9PiAoeyB2YWx1ZTogaS52YWx1ZSwgbGFiZWw6IGkubGFiZWwgfSkpO1xuICAgICAgZWxzZSB0aGlzLnZhbHVlID0gdGhpcy5jb252ZXJ0ZWRWYWx1ZSgpLm1hcCgoaSkgPT4gaS52YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmhhc0xhYmVsKSB0aGlzLnZhbHVlID0gdGhpcy5jb252ZXJ0ZWRWYWx1ZSgpLm1hcCgoaSkgPT4gKHsgdmFsdWU6IGkudmFsdWUsIGxhYmVsOiBpLmxhYmVsIH0pKVswXTtcbiAgICAgIGVsc2UgdGhpcy52YWx1ZSA9IHRoaXMuY29udmVydGVkVmFsdWUoKS5tYXAoKGkpID0+IGkudmFsdWUpWzBdO1xuICAgIH1cbiAgfSk7XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUVtYWlsQ2hhbmdlKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQsIGlkOiBzdHJpbmcpIHtcbiAgICBpZiAoZS5pc1VzZXJJbnRlcmFjdGlvbikge1xuICAgICAgdGhpcy5jb252ZXJ0ZWRWYWx1ZS51cGRhdGUoKHByZXYpID0+IHByZXYubWFwKChpKSA9PiAoaS5pZCA9PT0gaWQgPyB7IC4uLmksIHZhbHVlOiBlLnZhbHVlIH0gOiBpKSkpO1xuICAgIH1cbiAgfVxuICBwcm90ZWN0ZWQgaGFuZGxlTGFiZWxDaGFuZ2UoZTogQVhWYWx1ZUNoYW5nZWRFdmVudCwgaWQ6IHN0cmluZykge1xuICAgIGlmIChlLmlzVXNlckludGVyYWN0aW9uKSB7XG4gICAgICB0aGlzLmNvbnZlcnRlZFZhbHVlLnVwZGF0ZSgocHJldikgPT4gcHJldi5tYXAoKGkpID0+IChpLmlkID09PSBpZCA/IHsgLi4uaSwgbGFiZWw6IGUudmFsdWUgfSA6IGkpKSk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUFkZEl0ZW0oKSB7XG4gICAgLy8gdGhpcy52YWx1ZS5wdXNoKHsgbGFiZWw6ICdQcmltYXJ5JywgdmFsdWU6IHVuZGVmaW5lZCB9KTtcbiAgICB0aGlzLmNvbnZlcnRlZFZhbHVlLnVwZGF0ZSgocHJldikgPT4gW1xuICAgICAgLi4ucHJldixcbiAgICAgIHsgbGFiZWw6IHRoaXMuaGFzTGFiZWwgPyAnUHJpbWFyeScgOiAnJywgdmFsdWU6ICcnLCBpZDogdGhpcy5tb2NrZXJTZXJ2aWNlLnVpZCgpIH0sXG4gICAgXSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlUmVtb3ZlSXRlbShpdGVtOiBhbnkpIHtcbiAgICB0aGlzLmNvbnZlcnRlZFZhbHVlLnVwZGF0ZSgocHJldikgPT4gcHJldi5maWx0ZXIoKGMpID0+IGMgIT0gaXRlbSkpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgLy8gSW5pdGlhbGl6ZSB3aXRoIGFuIGVtcHR5IGFycmF5IGlmIHRoZXJlJ3Mgbm8gdmFsdWUgb3IgaXQncyBlbXB0eVxuICAgIGlmICghdGhpcy52YWx1ZSB8fCB0aGlzLnZhbHVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5pbml0aWFsaXplRW1wdHlWYWx1ZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFByb2Nlc3MgdGhlIGlucHV0IGJhc2VkIG9uIGBtdWx0aXBsZWAgYW5kIGBoYXNMYWJlbGBcbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgdGhpcy5oYW5kbGVNdWx0aXBsZVZhbHVlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaGFuZGxlU2luZ2xlVmFsdWUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVFbXB0eVZhbHVlKCk6IHZvaWQge1xuICAgIHRoaXMuY29udmVydGVkVmFsdWUuc2V0KFt7IHZhbHVlOiAnJywgbGFiZWw6ICcnLCBpZDogdGhpcy5tb2NrZXJTZXJ2aWNlLnVpZCgpIH1dKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlTXVsdGlwbGVWYWx1ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMudmFsdWUubWFwKChpdGVtOiBhbnkpID0+ICh7XG4gICAgICB2YWx1ZTogdGhpcy5oYXNMYWJlbCA/IGl0ZW0udmFsdWUgOiBpdGVtLFxuICAgICAgbGFiZWw6IHRoaXMuaGFzTGFiZWwgPyBpdGVtLmxhYmVsIDogbnVsbCxcbiAgICAgIGlkOiB0aGlzLm1vY2tlclNlcnZpY2UudWlkKCksXG4gICAgfSkpO1xuICAgIHRoaXMuY29udmVydGVkVmFsdWUuc2V0KG5ld1ZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlU2luZ2xlVmFsdWUoKTogdm9pZCB7XG4gICAgY29uc3QgbmV3VmFsdWUgPSBbXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiB0aGlzLmhhc0xhYmVsID8gdGhpcy52YWx1ZS52YWx1ZSA6IHRoaXMudmFsdWUsXG4gICAgICAgIGxhYmVsOiB0aGlzLmhhc0xhYmVsID8gdGhpcy52YWx1ZS5sYWJlbCA6IG51bGwsXG4gICAgICAgIGlkOiB0aGlzLm1vY2tlclNlcnZpY2UudWlkKCksXG4gICAgICB9LFxuICAgIF07XG4gICAgdGhpcy5jb252ZXJ0ZWRWYWx1ZS5zZXQobmV3VmFsdWUpO1xuICB9XG59XG4iXX0=
248
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1haWwtd2lkZ2V0LWVkaXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9zY2hlbWEvd2lkZ2V0cy9lbWFpbC9lbWFpbC13aWRnZXQtZWRpdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFrQixNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQW1GbEQsTUFBTSxPQUFPLDJCQUE0QixTQUFRLGlCQUFzQjtJQWpGdkU7O1FBbUZZLGFBQVEsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFHOUIsbUJBQWMsR0FBb0UsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRS9GLHNCQUFpQixHQUFHLE1BQU0sQ0FBQyxH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QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWFZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBBWERlY29yYXRvck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFYRm9ybU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9mb3JtJztcbmltcG9ydCB7IEFYU2VsZWN0Qm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3NlbGVjdC1ib3gnO1xuaW1wb3J0IHsgQVhUZXh0Qm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RleHQtYm94JztcbmltcG9ydCB7IEFYUGxhdGZvcm0gfSBmcm9tICdAYWNvcmV4L2NvcmUvcGxhdGZvcm0nO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIFdyaXRhYmxlU2lnbmFsLCBlZmZlY3QsIGluamVjdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFYUFdpZGdldEVkaXRCYXNlIH0gZnJvbSAnLi4vLi4vd2lkZ2V0L3dpZGdldC1iYXNlJztcbmltcG9ydCB7IEFYUERhdGFHZW5lcmF0b3IgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXYgY2xhc3M9XCJheC1ncmlkIGF4LWdyaWQtY29scy0xMiBheC1nYXAtNFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm11bHRpcGxlXCI+XG4gICAgICAgIEBmb3IoaXRlbSBvZiBjb252ZXJ0ZWRWYWx1ZSgpO3RyYWNrIGl0ZW0/LnZhbHVlKSB7XG4gICAgICAgIDxheC10ZXh0LWJveFxuICAgICAgICAgIFsobmdNb2RlbCldPVwiaXRlbS52YWx1ZVwiXG4gICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cImhhbmRsZUVtYWlsQ2hhbmdlKCRldmVudCwgaXRlbS5pZClcIlxuICAgICAgICAgIHR5cGU9XCJlbWFpbFwiXG4gICAgICAgICAgY2xhc3M9XCJheC1jb2wtc3RhcnQtMSBheC1jb2wtZW5kLTEzIGxnOmF4LWNvbC1lbmQtOFwiXG4gICAgICAgICAgW2NsYXNzLmxnOiFheC1jb2wtZW5kLTEyXT1cIiFoYXNMYWJlbFwiXG4gICAgICAgID5cbiAgICAgICAgPC9heC10ZXh0LWJveD5cbiAgICAgICAgQGlmKGhhc0xhYmVsKXtcbiAgICAgICAgPGF4LXNlbGVjdC1ib3hcbiAgICAgICAgICBbZGF0YVNvdXJjZV09XCJbJ1ByaW1hcnknLCAnU2Vjb25kYXJ5J11cIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwiaXRlbS5sYWJlbFwiXG4gICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cImhhbmRsZUxhYmVsQ2hhbmdlKCRldmVudCwgaXRlbS5pZClcIlxuICAgICAgICAgIGNsYXNzPVwiYXgtY29sLXN0YXJ0LTEgYXgtY29sLWVuZC0xMSBsZzpheC1jb2wtc3RhcnQtOCBsZzpheC1jb2wtZW5kLTEyXCJcbiAgICAgICAgPlxuICAgICAgICA8L2F4LXNlbGVjdC1ib3g+XG4gICAgICAgIH1cbiAgICAgICAgPGF4LWJ1dHRvblxuICAgICAgICAgIGxvb2s9XCJ0d290b25lXCJcbiAgICAgICAgICBjb2xvcj1cImRhbmdlclwiXG4gICAgICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlUmVtb3ZlSXRlbShpdGVtKVwiXG4gICAgICAgICAgY2xhc3M9XCJheC1jb2wtc3RhcnQtMTEgYXgtY29sLWVuZC0xMyBsZzpheC1jb2wtc3RhcnQtMTIgbGc6YXgtY29sLWVuZC0xMyBheC1qdXN0aWZ5LXNlbGYtZW5kXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxheC1pY29uIGljb249XCJmYS1yZWd1bGFyIGZhLXhtYXJrXCI+PC9heC1pY29uPlxuICAgICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgICAgfVxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW11bHRpcGxlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJheC1jb2wtc3RhcnQtMSBheC1jb2wtZW5kLTEzIGxnOmF4LWNvbC1lbmQtOFwiICBbY2xhc3MubGc6IWF4LWNvbC1lbmQtMTNdPVwiIWhhc0xhYmVsXCI+XG4gICAgICAgIDxheC10ZXh0LWJveFxuICAgICAgICAgIFsobmdNb2RlbCldPVwiY29udmVydGVkVmFsdWUoKVswXS52YWx1ZVwiXG4gICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cImhhbmRsZUVtYWlsQ2hhbmdlKCRldmVudCwgY29udmVydGVkVmFsdWUoKVswXS5pZClcIlxuICAgICAgICAgIHR5cGU9XCJlbWFpbFwiXG4gICAgICAgID5cbiAgICAgICAgICBAZm9yKHZsIG9mIHZhbGlkYXRpb25zO3RyYWNrICRpbmRleCkge1xuICAgICAgICAgIDxheC12YWxpZGF0aW9uLXJ1bGUgIFtydWxlXT1cInZsLnJ1bGVcIiBbb3B0aW9uc109XCJ2bC5vcHRpb25zXCI+PC9heC12YWxpZGF0aW9uLXJ1bGU+XG4gICAgICAgICAgfVxuICAgICAgICA8L2F4LXRleHQtYm94PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgQGlmKGhhc0xhYmVsKXtcbiAgICAgICAgPGF4LXNlbGVjdC1ib3hcbiAgICAgICAgICBbZGF0YVNvdXJjZV09XCJbJ1ByaW1hcnknLCAnU2Vjb25kYXJ5J11cIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwiY29udmVydGVkVmFsdWUoKVswXS5sYWJlbFwiXG4gICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cImhhbmRsZUxhYmVsQ2hhbmdlKCRldmVudCwgY29udmVydGVkVmFsdWUoKVswXS5pZClcIlxuICAgICAgICAgIGNsYXNzPVwiYXgtY29sLXN0YXJ0LTEgYXgtY29sLWVuZC0xMSBsZzpheC1jb2wtc3RhcnQtOCBsZzpheC1jb2wtZW5kLTEzXCJcbiAgICAgICAgPlxuICAgICAgICA8L2F4LXNlbGVjdC1ib3g+XG4gICAgICAgIH1cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8YXgtYnV0dG9uXG4gICAgICAgICpuZ0lmPVwibXVsdGlwbGVcIlxuICAgICAgICBbdGV4dF09XCJjb252ZXJ0ZWRWYWx1ZSgpLmxlbmd0aCA9PSAwID8gJ0FkZCBOZXcnIDogJ0FkZCBBbm90aGVyJ1wiXG4gICAgICAgIGxvb2s9XCJ0d290b25lXCJcbiAgICAgICAgKG9uQ2xpY2spPVwiaGFuZGxlQWRkSXRlbSgpXCJcbiAgICAgICAgY2xhc3M9XCJheC1jb2wtc3RhcnQtOCBsZzpheC1jb2wtc3RhcnQtMTAgMnhsOmF4LWNvbC1zdGFydC0xMCBheC1jb2wtZW5kLTEzXCJcbiAgICAgID5cbiAgICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgICA8YXgtaWNvbiBjbGFzcz1cImZhLXNvbGlkIGZhLWFkZFwiPjwvYXgtaWNvbj5cbiAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICA8L2F4LWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgYCxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQVhCdXR0b25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgQVhUZXh0Qm94TW9kdWxlLFxuICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxuICAgIEFYU2VsZWN0Qm94TW9kdWxlLFxuICAgIEFYRm9ybU1vZHVsZSxcbiAgXSxcbiAgaW5wdXRzOiBbJ211bHRpcGxlJywgJ2hhc0xhYmVsJ10sXG59KVxuZXhwb3J0IGNsYXNzIEFYUEVtYWlsV2lkZ2V0RWRpdENvbXBvbmVudCBleHRlbmRzIEFYUFdpZGdldEVkaXRCYXNlPGFueT4ge1xuXG4gIHByb3RlY3RlZCBwbGF0Zm9ybSA9IGluamVjdChBWFBsYXRmb3JtKTtcbiAgcHJvdGVjdGVkIG11bHRpcGxlITogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIGhhc0xhYmVsITogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIGNvbnZlcnRlZFZhbHVlOiBXcml0YWJsZVNpZ25hbDx7IHZhbHVlOiBzdHJpbmc7IGxhYmVsPzogc3RyaW5nOyBpZDogc3RyaW5nIH1bXT4gPSBzaWduYWwoW10pO1xuXG4gIHByaXZhdGUgY2hhbmdlVmFsdWVFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XG4gICAgICBpZiAodGhpcy5oYXNMYWJlbCkgdGhpcy52YWx1ZSA9IHRoaXMuY29udmVydGVkVmFsdWUoKS5tYXAoKGkpID0+ICh7IHZhbHVlOiBpLnZhbHVlLCBsYWJlbDogaS5sYWJlbCB9KSk7XG4gICAgICBlbHNlIHRoaXMudmFsdWUgPSB0aGlzLmNvbnZlcnRlZFZhbHVlKCkubWFwKChpKSA9PiBpLnZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuaGFzTGFiZWwpIHRoaXMudmFsdWUgPSB0aGlzLmNvbnZlcnRlZFZhbHVlKCkubWFwKChpKSA9PiAoeyB2YWx1ZTogaS52YWx1ZSwgbGFiZWw6IGkubGFiZWwgfSkpWzBdO1xuICAgICAgZWxzZSB0aGlzLnZhbHVlID0gdGhpcy5jb252ZXJ0ZWRWYWx1ZSgpLm1hcCgoaSkgPT4gaS52YWx1ZSlbMF07XG4gICAgfVxuICB9KTtcblxuICBwcm90ZWN0ZWQgaGFuZGxlRW1haWxDaGFuZ2UoZTogQVhWYWx1ZUNoYW5nZWRFdmVudCwgaWQ6IHN0cmluZykge1xuICAgIGlmIChlLmlzVXNlckludGVyYWN0aW9uKSB7XG4gICAgICB0aGlzLmNvbnZlcnRlZFZhbHVlLnVwZGF0ZSgocHJldikgPT4gcHJldi5tYXAoKGkpID0+IChpLmlkID09PSBpZCA/IHsgLi4uaSwgdmFsdWU6IGUudmFsdWUgfSA6IGkpKSk7XG4gICAgfVxuICB9XG4gIHByb3RlY3RlZCBoYW5kbGVMYWJlbENoYW5nZShlOiBBWFZhbHVlQ2hhbmdlZEV2ZW50LCBpZDogc3RyaW5nKSB7XG4gICAgaWYgKGUuaXNVc2VySW50ZXJhY3Rpb24pIHtcbiAgICAgIHRoaXMuY29udmVydGVkVmFsdWUudXBkYXRlKChwcmV2KSA9PiBwcmV2Lm1hcCgoaSkgPT4gKGkuaWQgPT09IGlkID8geyAuLi5pLCBsYWJlbDogZS52YWx1ZSB9IDogaSkpKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlQWRkSXRlbSgpIHtcbiAgICAvLyB0aGlzLnZhbHVlLnB1c2goeyBsYWJlbDogJ1ByaW1hcnknLCB2YWx1ZTogdW5kZWZpbmVkIH0pO1xuICAgIHRoaXMuY29udmVydGVkVmFsdWUudXBkYXRlKChwcmV2KSA9PiBbXG4gICAgICAuLi5wcmV2LFxuICAgICAgeyBsYWJlbDogdGhpcy5oYXNMYWJlbCA/ICdQcmltYXJ5JyA6ICcnLCB2YWx1ZTogJycsIGlkOiBBWFBEYXRhR2VuZXJhdG9yLnV1aWQoKSB9LFxuICAgIF0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZVJlbW92ZUl0ZW0oaXRlbTogYW55KSB7XG4gICAgdGhpcy5jb252ZXJ0ZWRWYWx1ZS51cGRhdGUoKHByZXYpID0+IHByZXYuZmlsdGVyKChjKSA9PiBjICE9IGl0ZW0pKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIEluaXRpYWxpemUgd2l0aCBhbiBlbXB0eSBhcnJheSBpZiB0aGVyZSdzIG5vIHZhbHVlIG9yIGl0J3MgZW1wdHlcbiAgICBpZiAoIXRoaXMudmFsdWUgfHwgdGhpcy52YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZUVtcHR5VmFsdWUoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBQcm9jZXNzIHRoZSBpbnB1dCBiYXNlZCBvbiBgbXVsdGlwbGVgIGFuZCBgaGFzTGFiZWxgXG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIHRoaXMuaGFuZGxlTXVsdGlwbGVWYWx1ZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhhbmRsZVNpbmdsZVZhbHVlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplRW1wdHlWYWx1ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnZlcnRlZFZhbHVlLnNldChbeyB2YWx1ZTogJycsIGxhYmVsOiAnJywgaWQ6IEFYUERhdGFHZW5lcmF0b3IudXVpZCgpIH1dKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlTXVsdGlwbGVWYWx1ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMudmFsdWUubWFwKChpdGVtOiBhbnkpID0+ICh7XG4gICAgICB2YWx1ZTogdGhpcy5oYXNMYWJlbCA/IGl0ZW0udmFsdWUgOiBpdGVtLFxuICAgICAgbGFiZWw6IHRoaXMuaGFzTGFiZWwgPyBpdGVtLmxhYmVsIDogbnVsbCxcbiAgICAgIGlkOiBBWFBEYXRhR2VuZXJhdG9yLnV1aWQoKSxcbiAgICB9KSk7XG4gICAgdGhpcy5jb252ZXJ0ZWRWYWx1ZS5zZXQobmV3VmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVTaW5nbGVWYWx1ZSgpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdWYWx1ZSA9IFtcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IHRoaXMuaGFzTGFiZWwgPyB0aGlzLnZhbHVlLnZhbHVlIDogdGhpcy52YWx1ZSxcbiAgICAgICAgbGFiZWw6IHRoaXMuaGFzTGFiZWwgPyB0aGlzLnZhbHVlLmxhYmVsIDogbnVsbCxcbiAgICAgICAgaWQ6IEFYUERhdGFHZW5lcmF0b3IudXVpZCgpLFxuICAgICAgfSxcbiAgICBdO1xuICAgIHRoaXMuY29udmVydGVkVmFsdWUuc2V0KG5ld1ZhbHVlKTtcbiAgfVxufVxuIl19