@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,9 +1,8 @@
1
1
  import { Injectable, InjectionToken, inject } from '@angular/core';
2
- import { AXPSettingDefinitionItemType, } from './settings.types';
3
2
  import * as i0 from "@angular/core";
4
3
  // Injection token for setting providers
5
4
  export const AXP_SETTING_PROVIDER = new InjectionToken('AXP_SETTING_PROVIDER');
6
- export class AXPSettingProviderService {
5
+ export class AXPSettingDefinitionProviderService {
7
6
  constructor() {
8
7
  this.providers = inject(AXP_SETTING_PROVIDER, { optional: true });
9
8
  this.cache = null;
@@ -19,13 +18,39 @@ export class AXPSettingProviderService {
19
18
  const context = this.createProviderContext(items);
20
19
  if (Array.isArray(this.providers)) {
21
20
  for (const provider of this.providers) {
22
- await provider.provide(context);
21
+ provider.provide(context);
23
22
  }
24
23
  }
25
- this.applyPendingOperations(items);
24
+ // this.applyPendingOperations(items);
26
25
  this.cache = items;
27
26
  return items;
28
27
  }
28
+ findGroupDetails(groupName) {
29
+ if (this.cache) {
30
+ return this.searchGroupDetails(this.cache, groupName, []); // Initialize with an empty breadcrumb
31
+ }
32
+ return null;
33
+ }
34
+ searchGroupDetails(groups, groupName, breadcrumb) {
35
+ for (const group of groups) {
36
+ const currentBreadcrumb = [...breadcrumb, { name: group.name, title: group.title }];
37
+ // If the group name matches, return its details
38
+ if (group.name === groupName) {
39
+ return {
40
+ breadcrumb: currentBreadcrumb,
41
+ sections: group.sections.length > 0 ? group.sections : null,
42
+ childGroups: group.groups.length > 0 ? group.groups : null,
43
+ };
44
+ }
45
+ // Recursively search in nested groups
46
+ const nestedResult = this.searchGroupDetails(group.groups, groupName, currentBreadcrumb);
47
+ if (nestedResult) {
48
+ return nestedResult;
49
+ }
50
+ }
51
+ // If no matching group is found
52
+ return null;
53
+ }
29
54
  // Create the provider context with methods to add items and find existing ones
30
55
  createProviderContext(items) {
31
56
  return {
@@ -38,192 +63,121 @@ export class AXPSettingProviderService {
38
63
  addGroup: (group) => {
39
64
  items.push(group);
40
65
  },
41
- find: (target) => {
42
- return {
43
- insertGroup: (item, position) => {
44
- this.pendingInserts.push({ target, newItems: [item], position });
45
- },
46
- insertSingle: (item, position) => {
47
- this.pendingInserts.push({ target, newItems: [item], position });
48
- },
49
- insertSingles: (items, position) => {
50
- this.pendingInserts.push({ target, newItems: items, position });
51
- },
52
- addItems: (items) => {
53
- this.pendingAdditions.push({ target, newItems: items });
54
- },
55
- addChildSingleAt: (item, index) => {
56
- const foundItemInfo = this.findItemWithParent(this.cache || [], target);
57
- if (foundItemInfo && foundItemInfo.foundItem) {
58
- const { foundItem } = foundItemInfo;
59
- if (foundItem.type === AXPSettingDefinitionItemType.Group) {
60
- const group = foundItem;
61
- if (index >= 0 && index <= group.singles.length) {
62
- group.singles.splice(index, 0, item);
63
- }
64
- else {
65
- console.warn(`Index "${index}" is out of bounds for singles.`);
66
- }
67
- }
68
- else {
69
- console.warn(`Target "${target}" is not a group; cannot add a child single.`);
70
- }
71
- }
72
- else {
73
- console.warn(`Target "${target}" not found for adding a child single.`);
74
- }
75
- },
76
- addChildSingleFirst: (item) => {
77
- const foundItemInfo = this.findItemWithParent(this.cache || [], target);
78
- if (foundItemInfo && foundItemInfo.foundItem) {
79
- const { foundItem } = foundItemInfo;
80
- if (foundItem.type === AXPSettingDefinitionItemType.Group) {
81
- const group = foundItem;
82
- group.singles.unshift(item);
83
- }
84
- else {
85
- console.warn(`Target "${target}" is not a group; cannot add a child single.`);
86
- }
87
- }
88
- else {
89
- console.warn(`Target "${target}" not found for adding a child single.`);
90
- }
91
- },
92
- addChildSingleLast: (item) => {
93
- const foundItemInfo = this.findItemWithParent(this.cache || [], target);
94
- if (foundItemInfo && foundItemInfo.foundItem) {
95
- const { foundItem } = foundItemInfo;
96
- if (foundItem.type === AXPSettingDefinitionItemType.Group) {
97
- const group = foundItem;
98
- group.singles.push(item);
99
- }
100
- else {
101
- console.warn(`Target "${target}" is not a group; cannot add a child single.`);
102
- }
103
- }
104
- else {
105
- console.warn(`Target "${target}" not found for adding a child single.`);
106
- }
107
- },
108
- addChildGroupAt: (item, index) => {
109
- const foundItemInfo = this.findItemWithParent(this.cache || [], target);
110
- if (foundItemInfo && foundItemInfo.foundItem) {
111
- const { foundItem } = foundItemInfo;
112
- if (foundItem.type === AXPSettingDefinitionItemType.Group) {
113
- const group = foundItem;
114
- if (index >= 0 && index <= group.groups.length) {
115
- group.groups.splice(index, 0, item);
116
- }
117
- else {
118
- console.warn(`Index "${index}" is out of bounds for groups.`);
119
- }
120
- }
121
- else {
122
- console.warn(`Target "${target}" is not a group; cannot add a child group.`);
123
- }
124
- }
125
- else {
126
- console.warn(`Target "${target}" not found for adding a child group.`);
127
- }
128
- },
129
- addChildGroupFirst: (item) => {
130
- const foundItemInfo = this.findItemWithParent(this.cache || [], target);
131
- if (foundItemInfo && foundItemInfo.foundItem) {
132
- const { foundItem } = foundItemInfo;
133
- if (foundItem.type === AXPSettingDefinitionItemType.Group) {
134
- const group = foundItem;
135
- group.groups.unshift(item);
136
- }
137
- else {
138
- console.warn(`Target "${target}" is not a group; cannot add a child group.`);
139
- }
140
- }
141
- else {
142
- console.warn(`Target "${target}" not found for adding a child group.`);
143
- }
144
- },
145
- addChildGroupLast: (item) => {
146
- const foundItemInfo = this.findItemWithParent(this.cache || [], target);
147
- if (foundItemInfo && foundItemInfo.foundItem) {
148
- const { foundItem } = foundItemInfo;
149
- if (foundItem.type === AXPSettingDefinitionItemType.Group) {
150
- const group = foundItem;
151
- group.groups.push(item);
152
- }
153
- else {
154
- console.warn(`Target "${target}" is not a group; cannot add a child group.`);
155
- }
156
- }
157
- else {
158
- console.warn(`Target "${target}" not found for adding a child group.`);
159
- }
160
- },
161
- };
162
- },
66
+ // find: (target: string): AXPSettingDefinitionFinderResult => {
67
+ // return {
68
+ // insertGroup: (item, position) => {
69
+ // this.pendingInserts.push({ target, newItems: [item], position });
70
+ // },
71
+ // insertSingle: (item, position) => {
72
+ // this.pendingInserts.push({ target, newItems: [item], position });
73
+ // },
74
+ // insertSingles: (items, position) => {
75
+ // this.pendingInserts.push({ target, newItems: items, position });
76
+ // },
77
+ // addItems: (items) => {
78
+ // this.pendingAdditions.push({ target, newItems: items });
79
+ // },
80
+ // addChildSingleAt: (item, index) => {
81
+ // const foundItemInfo = this.findItemWithParent(this.cache || [], target);
82
+ // if (foundItemInfo && foundItemInfo.foundItem) {
83
+ // const { foundItem } = foundItemInfo;
84
+ // if (foundItem.type === AXPSettingDefinitionItemType.Group) {
85
+ // const group = foundItem as AXPSettingDefinitionGroup;
86
+ // if (index >= 0 && index <= group.singles.length) {
87
+ // group.singles.splice(index, 0, item);
88
+ // } else {
89
+ // console.warn(`Index "${index}" is out of bounds for singles.`);
90
+ // }
91
+ // } else {
92
+ // console.warn(`Target "${target}" is not a group; cannot add a child single.`);
93
+ // }
94
+ // } else {
95
+ // console.warn(`Target "${target}" not found for adding a child single.`);
96
+ // }
97
+ // },
98
+ // addChildSingleFirst: (item) => {
99
+ // const foundItemInfo = this.findItemWithParent(this.cache || [], target);
100
+ // if (foundItemInfo && foundItemInfo.foundItem) {
101
+ // const { foundItem } = foundItemInfo;
102
+ // if (foundItem.type === AXPSettingDefinitionItemType.Group) {
103
+ // const group = foundItem as AXPSettingDefinitionGroup;
104
+ // group.singles.unshift(item);
105
+ // } else {
106
+ // console.warn(`Target "${target}" is not a group; cannot add a child single.`);
107
+ // }
108
+ // } else {
109
+ // console.warn(`Target "${target}" not found for adding a child single.`);
110
+ // }
111
+ // },
112
+ // addChildSingleLast: (item) => {
113
+ // const foundItemInfo = this.findItemWithParent(this.cache || [], target);
114
+ // if (foundItemInfo && foundItemInfo.foundItem) {
115
+ // const { foundItem } = foundItemInfo;
116
+ // if (foundItem.type === AXPSettingDefinitionItemType.Group) {
117
+ // const group = foundItem as AXPSettingDefinitionGroup;
118
+ // group.singles.push(item);
119
+ // } else {
120
+ // console.warn(`Target "${target}" is not a group; cannot add a child single.`);
121
+ // }
122
+ // } else {
123
+ // console.warn(`Target "${target}" not found for adding a child single.`);
124
+ // }
125
+ // },
126
+ // addChildGroupAt: (item, index) => {
127
+ // const foundItemInfo = this.findItemWithParent(this.cache || [], target);
128
+ // if (foundItemInfo && foundItemInfo.foundItem) {
129
+ // const { foundItem } = foundItemInfo;
130
+ // if (foundItem.type === AXPSettingDefinitionItemType.Group) {
131
+ // const group = foundItem as AXPSettingDefinitionGroup;
132
+ // if (index >= 0 && index <= group.groups.length) {
133
+ // group.groups.splice(index, 0, item);
134
+ // } else {
135
+ // console.warn(`Index "${index}" is out of bounds for groups.`);
136
+ // }
137
+ // } else {
138
+ // console.warn(`Target "${target}" is not a group; cannot add a child group.`);
139
+ // }
140
+ // } else {
141
+ // console.warn(`Target "${target}" not found for adding a child group.`);
142
+ // }
143
+ // },
144
+ // addChildGroupFirst: (item) => {
145
+ // const foundItemInfo = this.findItemWithParent(this.cache || [], target);
146
+ // if (foundItemInfo && foundItemInfo.foundItem) {
147
+ // const { foundItem } = foundItemInfo;
148
+ // if (foundItem.type === AXPSettingDefinitionItemType.Group) {
149
+ // const group = foundItem as AXPSettingDefinitionGroup;
150
+ // group.groups.unshift(item);
151
+ // } else {
152
+ // console.warn(`Target "${target}" is not a group; cannot add a child group.`);
153
+ // }
154
+ // } else {
155
+ // console.warn(`Target "${target}" not found for adding a child group.`);
156
+ // }
157
+ // },
158
+ // addChildGroupLast: (item) => {
159
+ // const foundItemInfo = this.findItemWithParent(this.cache || [], target);
160
+ // if (foundItemInfo && foundItemInfo.foundItem) {
161
+ // const { foundItem } = foundItemInfo;
162
+ // if (foundItem.type === AXPSettingDefinitionItemType.Group) {
163
+ // const group = foundItem as AXPSettingDefinitionGroup;
164
+ // group.groups.push(item);
165
+ // } else {
166
+ // console.warn(`Target "${target}" is not a group; cannot add a child group.`);
167
+ // }
168
+ // } else {
169
+ // console.warn(`Target "${target}" not found for adding a child group.`);
170
+ // }
171
+ // },
172
+ // };
173
+ // },
163
174
  };
164
175
  }
165
- applyPendingOperations(items) {
166
- // Process pending insertions
167
- for (const { target, newItems, position } of this.pendingInserts) {
168
- const foundItemInfo = this.findItemWithParent(items, target);
169
- if (foundItemInfo && foundItemInfo.foundItem) {
170
- const { foundItem, parentItems } = foundItemInfo;
171
- const index = parentItems.indexOf(foundItem);
172
- const insertIndex = position === 'before' ? index : index + 1;
173
- parentItems.splice(insertIndex, 0, ...newItems);
174
- }
175
- else {
176
- console.warn(`Target "${target}" not found for insertion.`);
177
- }
178
- }
179
- // Process pending additions
180
- for (const { target, newItems } of this.pendingAdditions) {
181
- const foundItemInfo = this.findItemWithParent(items, target);
182
- if (foundItemInfo && foundItemInfo.foundItem) {
183
- const { foundItem } = foundItemInfo;
184
- if (foundItem.type === AXPSettingDefinitionItemType.Group) {
185
- const group = foundItem;
186
- group.groups.push(...newItems.filter((item) => item.type === AXPSettingDefinitionItemType.Group));
187
- group.singles.push(...newItems.filter((item) => item.type === AXPSettingDefinitionItemType.Single));
188
- }
189
- else {
190
- console.warn(`Target "${target}" is not a group; cannot add items.`);
191
- }
192
- }
193
- else {
194
- console.warn(`Target "${target}" not found for adding items.`);
195
- }
196
- }
197
- // Clear pending operations after applying them
198
- this.pendingInserts = [];
199
- this.pendingAdditions = [];
200
- }
201
- findItemWithParent(items, target, parentItems = items) {
202
- for (const item of items) {
203
- if (item.name === target) {
204
- return { foundItem: item, parentItems };
205
- }
206
- if (item.type === AXPSettingDefinitionItemType.Group) {
207
- const group = item;
208
- // Search within child groups
209
- const groupResult = this.findItemWithParent(group.groups, target, group.groups);
210
- if (groupResult) {
211
- return groupResult;
212
- }
213
- // Search within child singles
214
- const singleResult = this.findItemWithParent(group.singles, target, group.singles);
215
- if (singleResult) {
216
- return singleResult;
217
- }
218
- }
219
- }
220
- return null;
221
- }
222
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPSettingProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
223
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPSettingProviderService, providedIn: 'root' }); }
176
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPSettingDefinitionProviderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
177
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPSettingDefinitionProviderService, providedIn: 'root' }); }
224
178
  }
225
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPSettingProviderService, decorators: [{
179
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXPSettingDefinitionProviderService, decorators: [{
226
180
  type: Injectable,
227
181
  args: [{ providedIn: 'root' }]
228
182
  }] });
229
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy1kZWZpbml0aW9uLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9zZXR0aW5ncy9zZXR0aW5nLWRlZmluaXRpb24ucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFLTCw0QkFBNEIsR0FFN0IsTUFBTSxrQkFBa0IsQ0FBQzs7QUFPMUIsd0NBQXdDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksY0FBYyxDQUFpQyxzQkFBc0IsQ0FBQyxDQUFDO0FBRy9HLE1BQU0sT0FBTyx5QkFBeUI7SUFEdEM7UUFFVSxjQUFTLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDN0QsVUFBSyxHQUFzQyxJQUFJLENBQUM7UUFDaEQsbUJBQWMsR0FJakIsRUFBRSxDQUFDO1FBQ0EscUJBQWdCLEdBQW9FLEVBQUUsQ0FBQztLQXVOaEc7SUFyTkMsOERBQThEO0lBQzlELEtBQUssQ0FBQyxLQUFLO1FBQ1QsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDcEIsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUErQixFQUFFLENBQUM7UUFDN0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWxELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxLQUFLLE1BQU0sUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDdEMsTUFBTSxRQUFR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RyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVPLGtCQUFrQixDQUN4QixLQUFpQyxFQUNqQyxNQUFjLEVBQ2QsY0FBMEMsS0FBSztRQUUvQyxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ3pCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FBQztnQkFDekIsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLENBQUM7WUFDMUMsQ0FBQztZQUVELElBQUksSUFBSSxDQUFDLElBQUksS0FBSyw0QkFBNEIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDckQsTUFBTSxLQUFLLEdBQUcsSUFBaUMsQ0FBQztnQkFFaEQsNkJBQTZCO2dCQUM3QixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNoRixJQUFJLFdBQVcsRUFBRSxDQUFDO29CQUNoQixPQUFPLFdBQVcsQ0FBQztnQkFDckIsQ0FBQztnQkFFRCw4QkFBOEI7Z0JBQzlCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ25GLElBQUksWUFBWSxFQUFFLENBQUM7b0JBQ2pCLE9BQU8sWUFBWSxDQUFDO2dCQUN0QixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7OEdBOU5VLHlCQUF5QjtrSEFBekIseUJBQXlCLGNBRFosTUFBTTs7MkZBQ25CLHlCQUF5QjtrQkFEckMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBWFBTZXR0aW5nRGVmaW5pdGlvbixcbiAgQVhQU2V0dGluZ0RlZmluaXRpb25GaW5kZXJSZXN1bHQsXG4gIEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXAsXG4gIEFYUFNldHRpbmdEZWZpbml0aW9uSXRlbSxcbiAgQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtVHlwZSxcbiAgQVhQU2V0dGluZ0RlZmluaXRpb25Qcm92aWRlckNvbnRleHQsXG59IGZyb20gJy4vc2V0dGluZ3MudHlwZXMnO1xuXG4vLyBJbnRlcmZhY2UgZm9yIHNldHRpbmcgcHJvdmlkZXJzXG5leHBvcnQgaW50ZXJmYWNlIEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXIge1xuICBwcm92aWRlKGNvbnRleHQ6IEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0KTogUHJvbWlzZTx2b2lkPjtcbn1cblxuLy8gSW5qZWN0aW9uIHRva2VuIGZvciBzZXR0aW5nIHByb3ZpZGVyc1xuZXhwb3J0IGNvbnN0IEFYUF9TRVRUSU5HX1BST1ZJREVSID0gbmV3IEluamVjdGlvblRva2VuPEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJbXT4oJ0FYUF9TRVRUSU5HX1BST1ZJREVSJyk7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQVhQU2V0dGluZ1Byb3ZpZGVyU2VydmljZSB7XG4gIHByaXZhdGUgcHJvdmlkZXJzID0gaW5qZWN0KEFYUF9TRVRUSU5HX1BST1ZJREVSLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuICBwcml2YXRlIGNhY2hlOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW1bXSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIHBlbmRpbmdJbnNlcnRzOiBBcnJheTx7XG4gICAgdGFyZ2V0OiBzdHJpbmc7XG4gICAgbmV3SXRlbXM6IEFYUFNldHRpbmdEZWZpbml0aW9uSXRlbVtdO1xuICAgIHBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcic7XG4gIH0+ID0gW107XG4gIHByaXZhdGUgcGVuZGluZ0FkZGl0aW9uczogQXJyYXk8eyB0YXJnZXQ6IHN0cmluZzsgbmV3SXRlbXM6IEFYUFNldHRpbmdEZWZpbml0aW9uSXRlbVtdIH0+ID0gW107XG5cbiAgLy8gUmV0cmlldmUgYWxsIHNldHRpbmcgaXRlbXMsIGFwcGx5aW5nIGFueSBwZW5kaW5nIG9wZXJhdGlvbnNcbiAgYXN5bmMgaXRlbXMoKTogUHJvbWlzZTxBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW1bXT4ge1xuICAgIGlmICh0aGlzLmNhY2hlKSB7XG4gICAgICByZXR1cm4gdGhpcy5jYWNoZTtcbiAgICB9XG5cbiAgICBjb25zdCBpdGVtczogQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtW10gPSBbXTtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5jcmVhdGVQcm92aWRlckNvbnRleHQoaXRlbXMpO1xuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5wcm92aWRlcnMpKSB7XG4gICAgICBmb3IgKGNvbnN0IHByb3ZpZGVyIG9mIHRoaXMucHJvdmlkZXJzKSB7XG4gICAgICAgIGF3YWl0IHByb3ZpZGVyLnByb3ZpZGUoY29udGV4dCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5hcHBseVBlbmRpbmdPcGVyYXRpb25zKGl0ZW1zKTtcbiAgICB0aGlzLmNhY2hlID0gaXRlbXM7XG4gICAgcmV0dXJuIGl0ZW1zO1xuICB9XG5cbiAgLy8gQ3JlYXRlIHRoZSBwcm92aWRlciBjb250ZXh0IHdpdGggbWV0aG9kcyB0byBhZGQgaXRlbXMgYW5kIGZpbmQgZXhpc3Rpbmcgb25lc1xuICBwcml2YXRlIGNyZWF0ZVByb3ZpZGVyQ29udGV4dChpdGVtczogQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtW10pOiBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFkZEl0ZW1zOiAobmV3SXRlbXM6IEFYUFNldHRpbmdEZWZpbml0aW9uSXRlbVtdKSA9PiB7XG4gICAgICAgIGl0ZW1zLnB1c2goLi4ubmV3SXRlbXMpO1xuICAgICAgfSxcbiAgICAgIGFkZEl0ZW06IChpdGVtOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW0pID0+IHtcbiAgICAgICAgaXRlbXMucHVzaChpdGVtKTtcbiAgICAgIH0sXG4gICAgICBhZGRHcm91cDogKGdyb3VwOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwKSA9PiB7XG4gICAgICAgIGl0ZW1zLnB1c2goZ3JvdXApO1xuICAgICAgfSxcbiAgICAgIGZpbmQ6ICh0YXJnZXQ6IHN0cmluZyk6IEFYUFNldHRpbmdEZWZpbml0aW9uRmluZGVyUmVzdWx0ID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBpbnNlcnRHcm91cDogKGl0ZW0sIHBvc2l0aW9uKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnBlbmRpbmdJbnNlcnRzLnB1c2goeyB0YXJnZXQsIG5ld0l0ZW1zOiBbaXRlbV0sIHBvc2l0aW9uIH0pO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgaW5zZXJ0U2luZ2xlOiAoaXRlbSwgcG9zaXRpb24pID0+IHtcbiAgICAgICAgICAgIHRoaXMucGVuZGluZ0luc2VydHMucHVzaCh7IHRhcmdldCwgbmV3SXRlbXM6IFtpdGVtXSwgcG9zaXRpb24gfSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBpbnNlcnRTaW5nbGVzOiAoaXRlbXMsIHBvc2l0aW9uKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnBlbmRpbmdJbnNlcnRzLnB1c2goeyB0YXJnZXQsIG5ld0l0ZW1zOiBpdGVtcywgcG9zaXRpb24gfSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBhZGRJdGVtczogKGl0ZW1zKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnBlbmRpbmdBZGRpdGlvbnMucHVzaCh7IHRhcmdldCwgbmV3SXRlbXM6IGl0ZW1zIH0pO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgYWRkQ2hpbGRTaW5nbGVBdDogKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmb3VuZEl0ZW1JbmZvID0gdGhpcy5maW5kSXRlbVdpdGhQYXJlbnQodGhpcy5jYWNoZSB8fCBbXSwgdGFyZ2V0KTtcbiAgICAgICAgICAgIGlmIChmb3VuZEl0ZW1JbmZvICYmIGZvdW5kSXRlbUluZm8uZm91bmRJdGVtKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHsgZm91bmRJdGVtIH0gPSBmb3VuZEl0ZW1JbmZvO1xuICAgICAgICAgICAgICBpZiAoZm91bmRJdGVtLnR5cGUgPT09IEFYUFNldHRpbmdEZWZpbml0aW9uSXRlbVR5cGUuR3JvdXApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBncm91cCA9IGZvdW5kSXRlbSBhcyBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwO1xuICAgICAgICAgICAgICAgIGlmIChpbmRleCA+PSAwICYmIGluZGV4IDw9IGdyb3VwLnNpbmdsZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICBncm91cC5zaW5nbGVzLnNwbGljZShpbmRleCwgMCwgaXRlbSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgSW5kZXggXCIke2luZGV4fVwiIGlzIG91dCBvZiBib3VuZHMgZm9yIHNpbmdsZXMuYCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgVGFyZ2V0IFwiJHt0YXJnZXR9XCIgaXMgbm90IGEgZ3JvdXA7IGNhbm5vdCBhZGQgYSBjaGlsZCBzaW5nbGUuYCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUud2FybihgVGFyZ2V0IFwiJHt0YXJnZXR9XCIgbm90IGZvdW5kIGZvciBhZGRpbmcgYSBjaGlsZCBzaW5nbGUuYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBhZGRDaGlsZFNpbmdsZUZpcnN0OiAoaXRlbSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZm91bmRJdGVtSW5mbyA9IHRoaXMuZmluZEl0ZW1XaXRoUGFyZW50KHRoaXMuY2FjaGUgfHwgW10sIHRhcmdldCk7XG4gICAgICAgICAgICBpZiAoZm91bmRJdGVtSW5mbyAmJiBmb3VuZEl0ZW1JbmZvLmZvdW5kSXRlbSkge1xuICAgICAgICAgICAgICBjb25zdCB7IGZvdW5kSXRlbSB9ID0gZm91bmRJdGVtSW5mbztcbiAgICAgICAgICAgICAgaWYgKGZvdW5kSXRlbS50eXBlID09PSBBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW1UeXBlLkdyb3VwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZ3JvdXAgPSBmb3VuZEl0ZW0gYXMgQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cDtcbiAgICAgICAgICAgICAgICBncm91cC5zaW5nbGVzLnVuc2hpZnQoaXRlbSk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBUYXJnZXQgXCIke3RhcmdldH1cIiBpcyBub3QgYSBncm91cDsgY2Fubm90IGFkZCBhIGNoaWxkIHNpbmdsZS5gKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBUYXJnZXQgXCIke3RhcmdldH1cIiBub3QgZm91bmQgZm9yIGFkZGluZyBhIGNoaWxkIHNpbmdsZS5gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIGFkZENoaWxkU2luZ2xlTGFzdDogKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZvdW5kSXRlbUluZm8gPSB0aGlzLmZpbmRJdGVtV2l0aFBhcmVudCh0aGlzLmNhY2hlIHx8IFtdLCB0YXJnZXQpO1xuICAgICAgICAgICAgaWYgKGZvdW5kSXRlbUluZm8gJiYgZm91bmRJdGVtSW5mby5mb3VuZEl0ZW0pIHtcbiAgICAgICAgICAgICAgY29uc3QgeyBmb3VuZEl0ZW0gfSA9IGZvdW5kSXRlbUluZm87XG4gICAgICAgICAgICAgIGlmIChmb3VuZEl0ZW0udHlwZSA9PT0gQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtVHlwZS5Hcm91cCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGdyb3VwID0gZm91bmRJdGVtIGFzIEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXA7XG4gICAgICAgICAgICAgICAgZ3JvdXAuc2luZ2xlcy5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgVGFyZ2V0IFwiJHt0YXJnZXR9XCIgaXMgbm90IGEgZ3JvdXA7IGNhbm5vdCBhZGQgYSBjaGlsZCBzaW5nbGUuYCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUud2FybihgVGFyZ2V0IFwiJHt0YXJnZXR9XCIgbm90IGZvdW5kIGZvciBhZGRpbmcgYSBjaGlsZCBzaW5nbGUuYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBhZGRDaGlsZEdyb3VwQXQ6IChpdGVtLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZm91bmRJdGVtSW5mbyA9IHRoaXMuZmluZEl0ZW1XaXRoUGFyZW50KHRoaXMuY2FjaGUgfHwgW10sIHRhcmdldCk7XG4gICAgICAgICAgICBpZiAoZm91bmRJdGVtSW5mbyAmJiBmb3VuZEl0ZW1JbmZvLmZvdW5kSXRlbSkge1xuICAgICAgICAgICAgICBjb25zdCB7IGZvdW5kSXRlbSB9ID0gZm91bmRJdGVtSW5mbztcbiAgICAgICAgICAgICAgaWYgKGZvdW5kSXRlbS50eXBlID09PSBBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW1UeXBlLkdyb3VwKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZ3JvdXAgPSBmb3VuZEl0ZW0gYXMgQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cDtcbiAgICAgICAgICAgICAgICBpZiAoaW5kZXggPj0gMCAmJiBpbmRleCA8PSBncm91cC5ncm91cHMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICBncm91cC5ncm91cHMuc3BsaWNlKGluZGV4LCAwLCBpdGVtKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBJbmRleCBcIiR7aW5kZXh9XCIgaXMgb3V0IG9mIGJvdW5kcyBmb3IgZ3JvdXBzLmApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFRhcmdldCBcIiR7dGFyZ2V0fVwiIGlzIG5vdCBhIGdyb3VwOyBjYW5ub3QgYWRkIGEgY2hpbGQgZ3JvdXAuYCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUud2FybihgVGFyZ2V0IFwiJHt0YXJnZXR9XCIgbm90IGZvdW5kIGZvciBhZGRpbmcgYSBjaGlsZCBncm91cC5gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIGFkZENoaWxkR3JvdXBGaXJzdDogKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZvdW5kSXRlbUluZm8gPSB0aGlzLmZpbmRJdGVtV2l0aFBhcmVudCh0aGlzLmNhY2hlIHx8IFtdLCB0YXJnZXQpO1xuICAgICAgICAgICAgaWYgKGZvdW5kSXRlbUluZm8gJiYgZm91bmRJdGVtSW5mby5mb3VuZEl0ZW0pIHtcbiAgICAgICAgICAgICAgY29uc3QgeyBmb3VuZEl0ZW0gfSA9IGZvdW5kSXRlbUluZm87XG4gICAgICAgICAgICAgIGlmIChmb3VuZEl0ZW0udHlwZSA9PT0gQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtVHlwZS5Hcm91cCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGdyb3VwID0gZm91bmRJdGVtIGFzIEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXA7XG4gICAgICAgICAgICAgICAgZ3JvdXAuZ3JvdXBzLnVuc2hpZnQoaXRlbSk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBUYXJnZXQgXCIke3RhcmdldH1cIiBpcyBub3QgYSBncm91cDsgY2Fubm90IGFkZCBhIGNoaWxkIGdyb3VwLmApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFRhcmdldCBcIiR7dGFyZ2V0fVwiIG5vdCBmb3VuZCBmb3IgYWRkaW5nIGEgY2hpbGQgZ3JvdXAuYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBhZGRDaGlsZEdyb3VwTGFzdDogKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZvdW5kSXRlbUluZm8gPSB0aGlzLmZpbmRJdGVtV2l0aFBhcmVudCh0aGlzLmNhY2hlIHx8IFtdLCB0YXJnZXQpO1xuICAgICAgICAgICAgaWYgKGZvdW5kSXRlbUluZm8gJiYgZm91bmRJdGVtSW5mby5mb3VuZEl0ZW0pIHtcbiAgICAgICAgICAgICAgY29uc3QgeyBmb3VuZEl0ZW0gfSA9IGZvdW5kSXRlbUluZm87XG4gICAgICAgICAgICAgIGlmIChmb3VuZEl0ZW0udHlwZSA9PT0gQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtVHlwZS5Hcm91cCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGdyb3VwID0gZm91bmRJdGVtIGFzIEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXA7XG4gICAgICAgICAgICAgICAgZ3JvdXAuZ3JvdXBzLnB1c2goaXRlbSk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBUYXJnZXQgXCIke3RhcmdldH1cIiBpcyBub3QgYSBncm91cDsgY2Fubm90IGFkZCBhIGNoaWxkIGdyb3VwLmApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBjb25zb2xlLndhcm4oYFRhcmdldCBcIiR7dGFyZ2V0fVwiIG5vdCBmb3VuZCBmb3IgYWRkaW5nIGEgY2hpbGQgZ3JvdXAuYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlQZW5kaW5nT3BlcmF0aW9ucyhpdGVtczogQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtW10pOiB2b2lkIHtcbiAgICAvLyBQcm9jZXNzIHBlbmRpbmcgaW5zZXJ0aW9uc1xuICAgIGZvciAoY29uc3QgeyB0YXJnZXQsIG5ld0l0ZW1zLCBwb3NpdGlvbiB9IG9mIHRoaXMucGVuZGluZ0luc2VydHMpIHtcbiAgICAgIGNvbnN0IGZvdW5kSXRlbUluZm8gPSB0aGlzLmZpbmRJdGVtV2l0aFBhcmVudChpdGVtcywgdGFyZ2V0KTtcbiAgICAgIGlmIChmb3VuZEl0ZW1JbmZvICYmIGZvdW5kSXRlbUluZm8uZm91bmRJdGVtKSB7XG4gICAgICAgIGNvbnN0IHsgZm91bmRJdGVtLCBwYXJlbnRJdGVtcyB9ID0gZm91bmRJdGVtSW5mbztcbiAgICAgICAgY29uc3QgaW5kZXggPSBwYXJlbnRJdGVtcy5pbmRleE9mKGZvdW5kSXRlbSk7XG4gICAgICAgIGNvbnN0IGluc2VydEluZGV4ID0gcG9zaXRpb24gPT09ICdiZWZvcmUnID8gaW5kZXggOiBpbmRleCArIDE7XG4gICAgICAgIHBhcmVudEl0ZW1zLnNwbGljZShpbnNlcnRJbmRleCwgMCwgLi4ubmV3SXRlbXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBUYXJnZXQgXCIke3RhcmdldH1cIiBub3QgZm91bmQgZm9yIGluc2VydGlvbi5gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQcm9jZXNzIHBlbmRpbmcgYWRkaXRpb25zXG4gICAgZm9yIChjb25zdCB7IHRhcmdldCwgbmV3SXRlbXMgfSBvZiB0aGlzLnBlbmRpbmdBZGRpdGlvbnMpIHtcbiAgICAgIGNvbnN0IGZvdW5kSXRlbUluZm8gPSB0aGlzLmZpbmRJdGVtV2l0aFBhcmVudChpdGVtcywgdGFyZ2V0KTtcbiAgICAgIGlmIChmb3VuZEl0ZW1JbmZvICYmIGZvdW5kSXRlbUluZm8uZm91bmRJdGVtKSB7XG4gICAgICAgIGNvbnN0IHsgZm91bmRJdGVtIH0gPSBmb3VuZEl0ZW1JbmZvO1xuICAgICAgICBpZiAoZm91bmRJdGVtLnR5cGUgPT09IEFYUFNldHRpbmdEZWZpbml0aW9uSXRlbVR5cGUuR3JvdXApIHtcbiAgICAgICAgICBjb25zdCBncm91cCA9IGZvdW5kSXRlbSBhcyBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwO1xuICAgICAgICAgIGdyb3VwLmdyb3Vwcy5wdXNoKFxuICAgICAgICAgICAgLi4uKG5ld0l0ZW1zLmZpbHRlcihcbiAgICAgICAgICAgICAgKGl0ZW0pID0+IGl0ZW0udHlwZSA9PT0gQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtVHlwZS5Hcm91cFxuICAgICAgICAgICAgKSBhcyBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwW10pXG4gICAgICAgICAgKTtcbiAgICAgICAgICBncm91cC5zaW5nbGVzLnB1c2goXG4gICAgICAgICAgICAuLi4obmV3SXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnR5cGUgPT09IEFYUFNldHRpbmdEZWZpbml0aW9uSXRlbVR5cGUuU2luZ2xlKSBhcyBBWFBTZXR0aW5nRGVmaW5pdGlvbltdKVxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKGBUYXJnZXQgXCIke3RhcmdldH1cIiBpcyBub3QgYSBncm91cDsgY2Fubm90IGFkZCBpdGVtcy5gKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBUYXJnZXQgXCIke3RhcmdldH1cIiBub3QgZm91bmQgZm9yIGFkZGluZyBpdGVtcy5gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDbGVhciBwZW5kaW5nIG9wZXJhdGlvbnMgYWZ0ZXIgYXBwbHlpbmcgdGhlbVxuICAgIHRoaXMucGVuZGluZ0luc2VydHMgPSBbXTtcbiAgICB0aGlzLnBlbmRpbmdBZGRpdGlvbnMgPSBbXTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZEl0ZW1XaXRoUGFyZW50KFxuICAgIGl0ZW1zOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW1bXSxcbiAgICB0YXJnZXQ6IHN0cmluZyxcbiAgICBwYXJlbnRJdGVtczogQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtW10gPSBpdGVtc1xuICApOiB7IGZvdW5kSXRlbTogQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtOyBwYXJlbnRJdGVtczogQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtW10gfSB8IG51bGwge1xuICAgIGZvciAoY29uc3QgaXRlbSBvZiBpdGVtcykge1xuICAgICAgaWYgKGl0ZW0ubmFtZSA9PT0gdGFyZ2V0KSB7XG4gICAgICAgIHJldHVybiB7IGZvdW5kSXRlbTogaXRlbSwgcGFyZW50SXRlbXMgfTtcbiAgICAgIH1cblxuICAgICAgaWYgKGl0ZW0udHlwZSA9PT0gQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtVHlwZS5Hcm91cCkge1xuICAgICAgICBjb25zdCBncm91cCA9IGl0ZW0gYXMgQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cDtcblxuICAgICAgICAvLyBTZWFyY2ggd2l0aGluIGNoaWxkIGdyb3Vwc1xuICAgICAgICBjb25zdCBncm91cFJlc3VsdCA9IHRoaXMuZmluZEl0ZW1XaXRoUGFyZW50KGdyb3VwLmdyb3VwcywgdGFyZ2V0LCBncm91cC5ncm91cHMpO1xuICAgICAgICBpZiAoZ3JvdXBSZXN1bHQpIHtcbiAgICAgICAgICByZXR1cm4gZ3JvdXBSZXN1bHQ7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTZWFyY2ggd2l0aGluIGNoaWxkIHNpbmdsZXNcbiAgICAgICAgY29uc3Qgc2luZ2xlUmVzdWx0ID0gdGhpcy5maW5kSXRlbVdpdGhQYXJlbnQoZ3JvdXAuc2luZ2xlcywgdGFyZ2V0LCBncm91cC5zaW5nbGVzKTtcbiAgICAgICAgaWYgKHNpbmdsZVJlc3VsdCkge1xuICAgICAgICAgIHJldHVybiBzaW5nbGVSZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbiJdfQ==
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy1kZWZpbml0aW9uLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9zZXR0aW5ncy9zZXR0aW5nLWRlZmluaXRpb24ucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWNuRSx3Q0FBd0M7QUFDeEMsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxjQUFjLENBQWlDLHNCQUFzQixDQUFDLENBQUM7QUFHL0csTUFBTSxPQUFPLG1DQUFtQztJQURoRDtRQUVVLGNBQVMsR0FBRyxNQUFNLENBQUMsb0JBQW9CLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM3RCxVQUFLLEdBQXNDLElBQUksQ0FBQztRQUNoRCxtQkFBYyxHQUlqQixFQUFFLENBQUM7UUFDQSxxQkFBZ0IsR0FBb0UsRUFBRSxDQUFDO0tBNlBoRztJQTNQQyw4REFBOEQ7SUFDdkQsS0FBSyxDQUFDLEtBQUs7UUFDaEIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDcEIsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUErQixFQUFFLENBQUM7UUFDN0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWxELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxLQUFLLE1BQU0sUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDdEMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM1QixDQUFDO1FBQ0gsQ0FB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LGNBRHRCLE1BQU07OzJGQUNuQixtQ0FBbUM7a0JBRC9DLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQVhQR3JvdXBEZXRhaWxzLFxuICBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwLFxuICBBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW0sXG4gIEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0LFxuICBBWFBTZXR0aW5nRGVmaW5pdGlvblNlY3Rpb24sXG59IGZyb20gJy4vc2V0dGluZ3MudHlwZXMnO1xuXG4vLyBJbnRlcmZhY2UgZm9yIHNldHRpbmcgcHJvdmlkZXJzXG5leHBvcnQgaW50ZXJmYWNlIEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXIge1xuICBwcm92aWRlKGNvbnRleHQ6IEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0KTogUHJvbWlzZTx2b2lkPjtcbn1cblxuLy8gSW5qZWN0aW9uIHRva2VuIGZvciBzZXR0aW5nIHByb3ZpZGVyc1xuZXhwb3J0IGNvbnN0IEFYUF9TRVRUSU5HX1BST1ZJREVSID0gbmV3IEluamVjdGlvblRva2VuPEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJbXT4oJ0FYUF9TRVRUSU5HX1BST1ZJREVSJyk7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQVhQU2V0dGluZ0RlZmluaXRpb25Qcm92aWRlclNlcnZpY2Uge1xuICBwcml2YXRlIHByb3ZpZGVycyA9IGluamVjdChBWFBfU0VUVElOR19QUk9WSURFUiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgcHJpdmF0ZSBjYWNoZTogQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtW10gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBwZW5kaW5nSW5zZXJ0czogQXJyYXk8e1xuICAgIHRhcmdldDogc3RyaW5nO1xuICAgIG5ld0l0ZW1zOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW1bXTtcbiAgICBwb3NpdGlvbjogJ2JlZm9yZScgfCAnYWZ0ZXInO1xuICB9PiA9IFtdO1xuICBwcml2YXRlIHBlbmRpbmdBZGRpdGlvbnM6IEFycmF5PHsgdGFyZ2V0OiBzdHJpbmc7IG5ld0l0ZW1zOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW1bXSB9PiA9IFtdO1xuXG4gIC8vIFJldHJpZXZlIGFsbCBzZXR0aW5nIGl0ZW1zLCBhcHBseWluZyBhbnkgcGVuZGluZyBvcGVyYXRpb25zXG4gIHB1YmxpYyBhc3luYyBpdGVtcygpOiBQcm9taXNlPEFYUFNldHRpbmdEZWZpbml0aW9uSXRlbVtdPiB7XG4gICAgaWYgKHRoaXMuY2FjaGUpIHtcbiAgICAgIHJldHVybiB0aGlzLmNhY2hlO1xuICAgIH1cblxuICAgIGNvbnN0IGl0ZW1zOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW1bXSA9IFtdO1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLmNyZWF0ZVByb3ZpZGVyQ29udGV4dChpdGVtcyk7XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLnByb3ZpZGVycykpIHtcbiAgICAgIGZvciAoY29uc3QgcHJvdmlkZXIgb2YgdGhpcy5wcm92aWRlcnMpIHtcbiAgICAgICAgcHJvdmlkZXIucHJvdmlkZShjb250ZXh0KTtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gdGhpcy5hcHBseVBlbmRpbmdPcGVyYXRpb25zKGl0ZW1zKTtcbiAgICB0aGlzLmNhY2hlID0gaXRlbXM7XG4gICAgcmV0dXJuIGl0ZW1zO1xuICB9XG5cbiAgcHVibGljIGZpbmRHcm91cERldGFpbHMoZ3JvdXBOYW1lOiBzdHJpbmcpOiBBWFBHcm91cERldGFpbHMgfCBudWxsIHtcbiAgICBpZiAodGhpcy5jYWNoZSkge1xuICAgICAgcmV0dXJuIHRoaXMuc2VhcmNoR3JvdXBEZXRhaWxzKHRoaXMuY2FjaGUsIGdyb3VwTmFtZSwgW10pOyAvLyBJbml0aWFsaXplIHdpdGggYW4gZW1wdHkgYnJlYWRjcnVtYlxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgc2VhcmNoR3JvdXBEZXRhaWxzKFxuICAgIGdyb3VwczogQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cFtdLFxuICAgIGdyb3VwTmFtZTogc3RyaW5nLFxuICAgIGJyZWFkY3J1bWI6IHsgbmFtZTogc3RyaW5nOyB0aXRsZTogc3RyaW5nIH1bXVxuICApOiB7XG4gICAgYnJlYWRjcnVtYjogeyBuYW1lOiBzdHJpbmc7IHRpdGxlOiBzdHJpbmcgfVtdO1xuICAgIHNlY3Rpb25zOiBBWFBTZXR0aW5nRGVmaW5pdGlvblNlY3Rpb25bXSB8IG51bGw7XG4gICAgY2hpbGRHcm91cHM6IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXBbXSB8IG51bGw7XG4gIH0gfCBudWxsIHtcbiAgICBmb3IgKGNvbnN0IGdyb3VwIG9mIGdyb3Vwcykge1xuICAgICAgY29uc3QgY3VycmVudEJyZWFkY3J1bWIgPSBbLi4uYnJlYWRjcnVtYiwgeyBuYW1lOiBncm91cC5uYW1lLCB0aXRsZTogZ3JvdXAudGl0bGUgfV07XG5cbiAgICAgIC8vIElmIHRoZSBncm91cCBuYW1lIG1hdGNoZXMsIHJldHVybiBpdHMgZGV0YWlsc1xuICAgICAgaWYgKGdyb3VwLm5hbWUgPT09IGdyb3VwTmFtZSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGJyZWFkY3J1bWI6IGN1cnJlbnRCcmVhZGNydW1iLFxuICAgICAgICAgIHNlY3Rpb25zOiBncm91cC5zZWN0aW9ucy5sZW5ndGggPiAwID8gZ3JvdXAuc2VjdGlvbnMgOiBudWxsLFxuICAgICAgICAgIGNoaWxkR3JvdXBzOiBncm91cC5ncm91cHMubGVuZ3RoID4gMCA/IGdyb3VwLmdyb3VwcyA6IG51bGwsXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIC8vIFJlY3Vyc2l2ZWx5IHNlYXJjaCBpbiBuZXN0ZWQgZ3JvdXBzXG4gICAgICBjb25zdCBuZXN0ZWRSZXN1bHQgPSB0aGlzLnNlYXJjaEdyb3VwRGV0YWlscyhncm91cC5ncm91cHMsIGdyb3VwTmFtZSwgY3VycmVudEJyZWFkY3J1bWIpO1xuICAgICAgaWYgKG5lc3RlZFJlc3VsdCkge1xuICAgICAgICByZXR1cm4gbmVzdGVkUmVzdWx0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIG5vIG1hdGNoaW5nIGdyb3VwIGlzIGZvdW5kXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBDcmVhdGUgdGhlIHByb3ZpZGVyIGNvbnRleHQgd2l0aCBtZXRob2RzIHRvIGFkZCBpdGVtcyBhbmQgZmluZCBleGlzdGluZyBvbmVzXG4gIHByaXZhdGUgY3JlYXRlUHJvdmlkZXJDb250ZXh0KGl0ZW1zOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW1bXSk6IEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0IHtcbiAgICByZXR1cm4ge1xuICAgICAgYWRkSXRlbXM6IChuZXdJdGVtczogQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtW10pID0+IHtcbiAgICAgICAgaXRlbXMucHVzaCguLi5uZXdJdGVtcyk7XG4gICAgICB9LFxuICAgICAgYWRkSXRlbTogKGl0ZW06IEFYUFNldHRpbmdEZWZpbml0aW9uSXRlbSkgPT4ge1xuICAgICAgICBpdGVtcy5wdXNoKGl0ZW0pO1xuICAgICAgfSxcbiAgICAgIGFkZEdyb3VwOiAoZ3JvdXA6IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXApID0+IHtcbiAgICAgICAgaXRlbXMucHVzaChncm91cCk7XG4gICAgICB9LFxuICAgICAgLy8gZmluZDogKHRhcmdldDogc3RyaW5nKTogQVhQU2V0dGluZ0RlZmluaXRpb25GaW5kZXJSZXN1bHQgPT4ge1xuICAgICAgLy8gICByZXR1cm4ge1xuICAgICAgLy8gICAgIGluc2VydEdyb3VwOiAoaXRlbSwgcG9zaXRpb24pID0+IHtcbiAgICAgIC8vICAgICAgIHRoaXMucGVuZGluZ0luc2VydHMucHVzaCh7IHRhcmdldCwgbmV3SXRlbXM6IFtpdGVtXSwgcG9zaXRpb24gfSk7XG4gICAgICAvLyAgICAgfSxcbiAgICAgIC8vICAgICBpbnNlcnRTaW5nbGU6IChpdGVtLCBwb3NpdGlvbikgPT4ge1xuICAgICAgLy8gICAgICAgdGhpcy5wZW5kaW5nSW5zZXJ0cy5wdXNoKHsgdGFyZ2V0LCBuZXdJdGVtczogW2l0ZW1dLCBwb3NpdGlvbiB9KTtcbiAgICAgIC8vICAgICB9LFxuICAgICAgLy8gICAgIGluc2VydFNpbmdsZXM6IChpdGVtcywgcG9zaXRpb24pID0+IHtcbiAgICAgIC8vICAgICAgIHRoaXMucGVuZGluZ0luc2VydHMucHVzaCh7IHRhcmdldCwgbmV3SXRlbXM6IGl0ZW1zLCBwb3NpdGlvbiB9KTtcbiAgICAgIC8vICAgICB9LFxuICAgICAgLy8gICAgIGFkZEl0ZW1zOiAoaXRlbXMpID0+IHtcbiAgICAgIC8vICAgICAgIHRoaXMucGVuZGluZ0FkZGl0aW9ucy5wdXNoKHsgdGFyZ2V0LCBuZXdJdGVtczogaXRlbXMgfSk7XG4gICAgICAvLyAgICAgfSxcbiAgICAgIC8vICAgICBhZGRDaGlsZFNpbmdsZUF0OiAoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgIC8vICAgICAgIGNvbnN0IGZvdW5kSXRlbUluZm8gPSB0aGlzLmZpbmRJdGVtV2l0aFBhcmVudCh0aGlzLmNhY2hlIHx8IFtdLCB0YXJnZXQpO1xuICAgICAgLy8gICAgICAgaWYgKGZvdW5kSXRlbUluZm8gJiYgZm91bmRJdGVtSW5mby5mb3VuZEl0ZW0pIHtcbiAgICAgIC8vICAgICAgICAgY29uc3QgeyBmb3VuZEl0ZW0gfSA9IGZvdW5kSXRlbUluZm87XG4gICAgICAvLyAgICAgICAgIGlmIChmb3VuZEl0ZW0udHlwZSA9PT0gQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtVHlwZS5Hcm91cCkge1xuICAgICAgLy8gICAgICAgICAgIGNvbnN0IGdyb3VwID0gZm91bmRJdGVtIGFzIEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXA7XG4gICAgICAvLyAgICAgICAgICAgaWYgKGluZGV4ID49IDAgJiYgaW5kZXggPD0gZ3JvdXAuc2luZ2xlcy5sZW5ndGgpIHtcbiAgICAgIC8vICAgICAgICAgICAgIGdyb3VwLnNpbmdsZXMuc3BsaWNlKGluZGV4LCAwLCBpdGVtKTtcbiAgICAgIC8vICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgLy8gICAgICAgICAgICAgY29uc29sZS53YXJuKGBJbmRleCBcIiR7aW5kZXh9XCIgaXMgb3V0IG9mIGJvdW5kcyBmb3Igc2luZ2xlcy5gKTtcbiAgICAgIC8vICAgICAgICAgICB9XG4gICAgICAvLyAgICAgICAgIH0gZWxzZSB7XG4gICAgICAvLyAgICAgICAgICAgY29uc29sZS53YXJuKGBUYXJnZXQgXCIke3RhcmdldH1cIiBpcyBub3QgYSBncm91cDsgY2Fubm90IGFkZCBhIGNoaWxkIHNpbmdsZS5gKTtcbiAgICAgIC8vICAgICAgICAgfVxuICAgICAgLy8gICAgICAgfSBlbHNlIHtcbiAgICAgIC8vICAgICAgICAgY29uc29sZS53YXJuKGBUYXJnZXQgXCIke3RhcmdldH1cIiBub3QgZm91bmQgZm9yIGFkZGluZyBhIGNoaWxkIHNpbmdsZS5gKTtcbiAgICAgIC8vICAgICAgIH1cbiAgICAgIC8vICAgICB9LFxuICAgICAgLy8gICAgIGFkZENoaWxkU2luZ2xlRmlyc3Q6IChpdGVtKSA9PiB7XG4gICAgICAvLyAgICAgICBjb25zdCBmb3VuZEl0ZW1JbmZvID0gdGhpcy5maW5kSXRlbVdpdGhQYXJlbnQodGhpcy5jYWNoZSB8fCBbXSwgdGFyZ2V0KTtcbiAgICAgIC8vICAgICAgIGlmIChmb3VuZEl0ZW1JbmZvICYmIGZvdW5kSXRlbUluZm8uZm91bmRJdGVtKSB7XG4gICAgICAvLyAgICAgICAgIGNvbnN0IHsgZm91bmRJdGVtIH0gPSBmb3VuZEl0ZW1JbmZvO1xuICAgICAgLy8gICAgICAgICBpZiAoZm91bmRJdGVtLnR5cGUgPT09IEFYUFNldHRpbmdEZWZpbml0aW9uSXRlbVR5cGUuR3JvdXApIHtcbiAgICAgIC8vICAgICAgICAgICBjb25zdCBncm91cCA9IGZvdW5kSXRlbSBhcyBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwO1xuICAgICAgLy8gICAgICAgICAgIGdyb3VwLnNpbmdsZXMudW5zaGlmdChpdGVtKTtcbiAgICAgIC8vICAgICAgICAgfSBlbHNlIHtcbiAgICAgIC8vICAgICAgICAgICBjb25zb2xlLndhcm4oYFRhcmdldCBcIiR7dGFyZ2V0fVwiIGlzIG5vdCBhIGdyb3VwOyBjYW5ub3QgYWRkIGEgY2hpbGQgc2luZ2xlLmApO1xuICAgICAgLy8gICAgICAgICB9XG4gICAgICAvLyAgICAgICB9IGVsc2Uge1xuICAgICAgLy8gICAgICAgICBjb25zb2xlLndhcm4oYFRhcmdldCBcIiR7dGFyZ2V0fVwiIG5vdCBmb3VuZCBmb3IgYWRkaW5nIGEgY2hpbGQgc2luZ2xlLmApO1xuICAgICAgLy8gICAgICAgfVxuICAgICAgLy8gICAgIH0sXG4gICAgICAvLyAgICAgYWRkQ2hpbGRTaW5nbGVMYXN0OiAoaXRlbSkgPT4ge1xuICAgICAgLy8gICAgICAgY29uc3QgZm91bmRJdGVtSW5mbyA9IHRoaXMuZmluZEl0ZW1XaXRoUGFyZW50KHRoaXMuY2FjaGUgfHwgW10sIHRhcmdldCk7XG4gICAgICAvLyAgICAgICBpZiAoZm91bmRJdGVtSW5mbyAmJiBmb3VuZEl0ZW1JbmZvLmZvdW5kSXRlbSkge1xuICAgICAgLy8gICAgICAgICBjb25zdCB7IGZvdW5kSXRlbSB9ID0gZm91bmRJdGVtSW5mbztcbiAgICAgIC8vICAgICAgICAgaWYgKGZvdW5kSXRlbS50eXBlID09PSBBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW1UeXBlLkdyb3VwKSB7XG4gICAgICAvLyAgICAgICAgICAgY29uc3QgZ3JvdXAgPSBmb3VuZEl0ZW0gYXMgQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cDtcbiAgICAgIC8vICAgICAgICAgICBncm91cC5zaW5nbGVzLnB1c2goaXRlbSk7XG4gICAgICAvLyAgICAgICAgIH0gZWxzZSB7XG4gICAgICAvLyAgICAgICAgICAgY29uc29sZS53YXJuKGBUYXJnZXQgXCIke3RhcmdldH1cIiBpcyBub3QgYSBncm91cDsgY2Fubm90IGFkZCBhIGNoaWxkIHNpbmdsZS5gKTtcbiAgICAgIC8vICAgICAgICAgfVxuICAgICAgLy8gICAgICAgfSBlbHNlIHtcbiAgICAgIC8vICAgICAgICAgY29uc29sZS53YXJuKGBUYXJnZXQgXCIke3RhcmdldH1cIiBub3QgZm91bmQgZm9yIGFkZGluZyBhIGNoaWxkIHNpbmdsZS5gKTtcbiAgICAgIC8vICAgICAgIH1cbiAgICAgIC8vICAgICB9LFxuICAgICAgLy8gICAgIGFkZENoaWxkR3JvdXBBdDogKGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICAvLyAgICAgICBjb25zdCBmb3VuZEl0ZW1JbmZvID0gdGhpcy5maW5kSXRlbVdpdGhQYXJlbnQodGhpcy5jYWNoZSB8fCBbXSwgdGFyZ2V0KTtcbiAgICAgIC8vICAgICAgIGlmIChmb3VuZEl0ZW1JbmZvICYmIGZvdW5kSXRlbUluZm8uZm91bmRJdGVtKSB7XG4gICAgICAvLyAgICAgICAgIGNvbnN0IHsgZm91bmRJdGVtIH0gPSBmb3VuZEl0ZW1JbmZvO1xuICAgICAgLy8gICAgICAgICBpZiAoZm91bmRJdGVtLnR5cGUgPT09IEFYUFNldHRpbmdEZWZpbml0aW9uSXRlbVR5cGUuR3JvdXApIHtcbiAgICAgIC8vICAgICAgICAgICBjb25zdCBncm91cCA9IGZvdW5kSXRlbSBhcyBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwO1xuICAgICAgLy8gICAgICAgICAgIGlmIChpbmRleCA+PSAwICYmIGluZGV4IDw9IGdyb3VwLmdyb3Vwcy5sZW5ndGgpIHtcbiAgICAgIC8vICAgICAgICAgICAgIGdyb3VwLmdyb3Vwcy5zcGxpY2UoaW5kZXgsIDAsIGl0ZW0pO1xuICAgICAgLy8gICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAvLyAgICAgICAgICAgICBjb25zb2xlLndhcm4oYEluZGV4IFwiJHtpbmRleH1cIiBpcyBvdXQgb2YgYm91bmRzIGZvciBncm91cHMuYCk7XG4gICAgICAvLyAgICAgICAgICAgfVxuICAgICAgLy8gICAgICAgICB9IGVsc2Uge1xuICAgICAgLy8gICAgICAgICAgIGNvbnNvbGUud2FybihgVGFyZ2V0IFwiJHt0YXJnZXR9XCIgaXMgbm90IGEgZ3JvdXA7IGNhbm5vdCBhZGQgYSBjaGlsZCBncm91cC5gKTtcbiAgICAgIC8vICAgICAgICAgfVxuICAgICAgLy8gICAgICAgfSBlbHNlIHtcbiAgICAgIC8vICAgICAgICAgY29uc29sZS53YXJuKGBUYXJnZXQgXCIke3RhcmdldH1cIiBub3QgZm91bmQgZm9yIGFkZGluZyBhIGNoaWxkIGdyb3VwLmApO1xuICAgICAgLy8gICAgICAgfVxuICAgICAgLy8gICAgIH0sXG4gICAgICAvLyAgICAgYWRkQ2hpbGRHcm91cEZpcnN0OiAoaXRlbSkgPT4ge1xuICAgICAgLy8gICAgICAgY29uc3QgZm91bmRJdGVtSW5mbyA9IHRoaXMuZmluZEl0ZW1XaXRoUGFyZW50KHRoaXMuY2FjaGUgfHwgW10sIHRhcmdldCk7XG4gICAgICAvLyAgICAgICBpZiAoZm91bmRJdGVtSW5mbyAmJiBmb3VuZEl0ZW1JbmZvLmZvdW5kSXRlbSkge1xuICAgICAgLy8gICAgICAgICBjb25zdCB7IGZvdW5kSXRlbSB9ID0gZm91bmRJdGVtSW5mbztcbiAgICAgIC8vICAgICAgICAgaWYgKGZvdW5kSXRlbS50eXBlID09PSBBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW1UeXBlLkdyb3VwKSB7XG4gICAgICAvLyAgICAgICAgICAgY29uc3QgZ3JvdXAgPSBmb3VuZEl0ZW0gYXMgQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cDtcbiAgICAgIC8vICAgICAgICAgICBncm91cC5ncm91cHMudW5zaGlmdChpdGVtKTtcbiAgICAgIC8vICAgICAgICAgfSBlbHNlIHtcbiAgICAgIC8vICAgICAgICAgICBjb25zb2xlLndhcm4oYFRhcmdldCBcIiR7dGFyZ2V0fVwiIGlzIG5vdCBhIGdyb3VwOyBjYW5ub3QgYWRkIGEgY2hpbGQgZ3JvdXAuYCk7XG4gICAgICAvLyAgICAgICAgIH1cbiAgICAgIC8vICAgICAgIH0gZWxzZSB7XG4gICAgICAvLyAgICAgICAgIGNvbnNvbGUud2FybihgVGFyZ2V0IFwiJHt0YXJnZXR9XCIgbm90IGZvdW5kIGZvciBhZGRpbmcgYSBjaGlsZCBncm91cC5gKTtcbiAgICAgIC8vICAgICAgIH1cbiAgICAgIC8vICAgICB9LFxuICAgICAgLy8gICAgIGFkZENoaWxkR3JvdXBMYXN0OiAoaXRlbSkgPT4ge1xuICAgICAgLy8gICAgICAgY29uc3QgZm91bmRJdGVtSW5mbyA9IHRoaXMuZmluZEl0ZW1XaXRoUGFyZW50KHRoaXMuY2FjaGUgfHwgW10sIHRhcmdldCk7XG4gICAgICAvLyAgICAgICBpZiAoZm91bmRJdGVtSW5mbyAmJiBmb3VuZEl0ZW1JbmZvLmZvdW5kSXRlbSkge1xuICAgICAgLy8gICAgICAgICBjb25zdCB7IGZvdW5kSXRlbSB9ID0gZm91bmRJdGVtSW5mbztcbiAgICAgIC8vICAgICAgICAgaWYgKGZvdW5kSXRlbS50eXBlID09PSBBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW1UeXBlLkdyb3VwKSB7XG4gICAgICAvLyAgICAgICAgICAgY29uc3QgZ3JvdXAgPSBmb3VuZEl0ZW0gYXMgQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cDtcbiAgICAgIC8vICAgICAgICAgICBncm91cC5ncm91cHMucHVzaChpdGVtKTtcbiAgICAgIC8vICAgICAgICAgfSBlbHNlIHtcbiAgICAgIC8vICAgICAgICAgICBjb25zb2xlLndhcm4oYFRhcmdldCBcIiR7dGFyZ2V0fVwiIGlzIG5vdCBhIGdyb3VwOyBjYW5ub3QgYWRkIGEgY2hpbGQgZ3JvdXAuYCk7XG4gICAgICAvLyAgICAgICAgIH1cbiAgICAgIC8vICAgICAgIH0gZWxzZSB7XG4gICAgICAvLyAgICAgICAgIGNvbnNvbGUud2FybihgVGFyZ2V0IFwiJHt0YXJnZXR9XCIgbm90IGZvdW5kIGZvciBhZGRpbmcgYSBjaGlsZCBncm91cC5gKTtcbiAgICAgIC8vICAgICAgIH1cbiAgICAgIC8vICAgICB9LFxuICAgICAgLy8gICB9O1xuICAgICAgLy8gfSxcbiAgICB9O1xuICB9XG5cbiAgLy8gcHJpdmF0ZSBhcHBseVBlbmRpbmdPcGVyYXRpb25zKGl0ZW1zOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW1bXSk6IHZvaWQge1xuICAvLyAgIC8vIFByb2Nlc3MgcGVuZGluZyBpbnNlcnRpb25zXG4gIC8vICAgZm9yIChjb25zdCB7IHRhcmdldCwgbmV3SXRlbXMsIHBvc2l0aW9uIH0gb2YgdGhpcy5wZW5kaW5nSW5zZXJ0cykge1xuICAvLyAgICAgY29uc3QgZm91bmRJdGVtSW5mbyA9IHRoaXMuZmluZEl0ZW1XaXRoUGFyZW50KGl0ZW1zLCB0YXJnZXQpO1xuICAvLyAgICAgaWYgKGZvdW5kSXRlbUluZm8gJiYgZm91bmRJdGVtSW5mby5mb3VuZEl0ZW0pIHtcbiAgLy8gICAgICAgY29uc3QgeyBmb3VuZEl0ZW0sIHBhcmVudEl0ZW1zIH0gPSBmb3VuZEl0ZW1JbmZvO1xuICAvLyAgICAgICBjb25zdCBpbmRleCA9IHBhcmVudEl0ZW1zLmluZGV4T2YoZm91bmRJdGVtKTtcbiAgLy8gICAgICAgY29uc3QgaW5zZXJ0SW5kZXggPSBwb3NpdGlvbiA9PT0gJ2JlZm9yZScgPyBpbmRleCA6IGluZGV4ICsgMTtcbiAgLy8gICAgICAgcGFyZW50SXRlbXMuc3BsaWNlKGluc2VydEluZGV4LCAwLCAuLi5uZXdJdGVtcyk7XG4gIC8vICAgICB9IGVsc2Uge1xuICAvLyAgICAgICBjb25zb2xlLndhcm4oYFRhcmdldCBcIiR7dGFyZ2V0fVwiIG5vdCBmb3VuZCBmb3IgaW5zZXJ0aW9uLmApO1xuICAvLyAgICAgfVxuICAvLyAgIH1cblxuICAvLyAgIC8vIFByb2Nlc3MgcGVuZGluZyBhZGRpdGlvbnNcbiAgLy8gICBmb3IgKGNvbnN0IHsgdGFyZ2V0LCBuZXdJdGVtcyB9IG9mIHRoaXMucGVuZGluZ0FkZGl0aW9ucykge1xuICAvLyAgICAgY29uc3QgZm91bmRJdGVtSW5mbyA9IHRoaXMuZmluZEl0ZW1XaXRoUGFyZW50KGl0ZW1zLCB0YXJnZXQpO1xuICAvLyAgICAgaWYgKGZvdW5kSXRlbUluZm8gJiYgZm91bmRJdGVtSW5mby5mb3VuZEl0ZW0pIHtcbiAgLy8gICAgICAgY29uc3QgeyBmb3VuZEl0ZW0gfSA9IGZvdW5kSXRlbUluZm87XG4gIC8vICAgICAgIGlmIChmb3VuZEl0ZW0udHlwZSA9PT0gQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtVHlwZS5Hcm91cCkge1xuICAvLyAgICAgICAgIGNvbnN0IGdyb3VwID0gZm91bmRJdGVtIGFzIEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXA7XG4gIC8vICAgICAgICAgZ3JvdXAuZ3JvdXBzLnB1c2goXG4gIC8vICAgICAgICAgICAuLi4obmV3SXRlbXMuZmlsdGVyKFxuICAvLyAgICAgICAgICAgICAoaXRlbSkgPT4gaXRlbS50eXBlID09PSBBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW1UeXBlLkdyb3VwXG4gIC8vICAgICAgICAgICApIGFzIEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXBbXSlcbiAgLy8gICAgICAgICApO1xuICAvLyAgICAgICAgIGdyb3VwLnNpbmdsZXMucHVzaChcbiAgLy8gICAgICAgICAgIC4uLihuZXdJdGVtcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0udHlwZSA9PT0gQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtVHlwZS5TaW5nbGUpIGFzIEFYUFNldHRpbmdEZWZpbml0aW9uW10pXG4gIC8vICAgICAgICAgKTtcbiAgLy8gICAgICAgfSBlbHNlIHtcbiAgLy8gICAgICAgICBjb25zb2xlLndhcm4oYFRhcmdldCBcIiR7dGFyZ2V0fVwiIGlzIG5vdCBhIGdyb3VwOyBjYW5ub3QgYWRkIGl0ZW1zLmApO1xuICAvLyAgICAgICB9XG4gIC8vICAgICB9IGVsc2Uge1xuICAvLyAgICAgICBjb25zb2xlLndhcm4oYFRhcmdldCBcIiR7dGFyZ2V0fVwiIG5vdCBmb3VuZCBmb3IgYWRkaW5nIGl0ZW1zLmApO1xuICAvLyAgICAgfVxuICAvLyAgIH1cblxuICAvLyAgIC8vIENsZWFyIHBlbmRpbmcgb3BlcmF0aW9ucyBhZnRlciBhcHBseWluZyB0aGVtXG4gIC8vICAgdGhpcy5wZW5kaW5nSW5zZXJ0cyA9IFtdO1xuICAvLyAgIHRoaXMucGVuZGluZ0FkZGl0aW9ucyA9IFtdO1xuICAvLyB9XG5cbiAgLy8gcHJpdmF0ZSBmaW5kSXRlbVdpdGhQYXJlbnQoXG4gIC8vICAgaXRlbXM6IEFYUFNldHRpbmdEZWZpbml0aW9uSXRlbVtdLFxuICAvLyAgIHRhcmdldDogc3RyaW5nLFxuICAvLyAgIHBhcmVudEl0ZW1zOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW1bXSA9IGl0ZW1zXG4gIC8vICk6IHsgZm91bmRJdGVtOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW07IHBhcmVudEl0ZW1zOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW1bXSB9IHwgbnVsbCB7XG4gIC8vICAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKSB7XG4gIC8vICAgICBpZiAoaXRlbS5uYW1lID09PSB0YXJnZXQpIHtcbiAgLy8gICAgICAgcmV0dXJuIHsgZm91bmRJdGVtOiBpdGVtLCBwYXJlbnRJdGVtcyB9O1xuICAvLyAgICAgfVxuXG4gIC8vICAgICBpZiAoaXRlbS50eXBlID09PSBBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW1UeXBlLkdyb3VwKSB7XG4gIC8vICAgICAgIGNvbnN0IGdyb3VwID0gaXRlbSBhcyBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwO1xuXG4gIC8vICAgICAgIC8vIFNlYXJjaCB3aXRoaW4gY2hpbGQgZ3JvdXBzXG4gIC8vICAgICAgIGNvbnN0IGdyb3VwUmVzdWx0ID0gdGhpcy5maW5kSXRlbVdpdGhQYXJlbnQoZ3JvdXAuZ3JvdXBzLCB0YXJnZXQsIGdyb3VwLmdyb3Vwcyk7XG4gIC8vICAgICAgIGlmIChncm91cFJlc3VsdCkge1xuICAvLyAgICAgICAgIHJldHVybiBncm91cFJlc3VsdDtcbiAgLy8gICAgICAgfVxuXG4gIC8vICAgICAgIC8vIFNlYXJjaCB3aXRoaW4gY2hpbGQgc2luZ2xlc1xuICAvLyAgICAgICBjb25zdCBzaW5nbGVSZXN1bHQgPSB0aGlzLmZpbmRJdGVtV2l0aFBhcmVudChncm91cC5zaW5nbGVzLCB0YXJnZXQsIGdyb3VwLnNpbmdsZXMpO1xuICAvLyAgICAgICBpZiAoc2luZ2xlUmVzdWx0KSB7XG4gIC8vICAgICAgICAgcmV0dXJuIHNpbmdsZVJlc3VsdDtcbiAgLy8gICAgICAgfVxuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgLy8gICByZXR1cm4gbnVsbDtcbiAgLy8gfVxufVxuIl19
@@ -1,7 +1,2 @@
1
- // Enum to distinguish between single settings and groups
2
- export var AXPSettingDefinitionItemType;
3
- (function (AXPSettingDefinitionItemType) {
4
- AXPSettingDefinitionItemType["Single"] = "single";
5
- AXPSettingDefinitionItemType["Group"] = "group";
6
- })(AXPSettingDefinitionItemType || (AXPSettingDefinitionItemType = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL3NldHRpbmdzL3NldHRpbmdzLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHlEQUF5RDtBQUN6RCxNQUFNLENBQU4sSUFBWSw0QkFHWDtBQUhELFdBQVksNEJBQTRCO0lBQ3RDLGlEQUFpQixDQUFBO0lBQ2pCLCtDQUFlLENBQUE7QUFDakIsQ0FBQyxFQUhXLDRCQUE0QixLQUE1Qiw0QkFBNEIsUUFHdkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBFbnVtIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gc2luZ2xlIHNldHRpbmdzIGFuZCBncm91cHNcbmV4cG9ydCBlbnVtIEFYUFNldHRpbmdEZWZpbml0aW9uSXRlbVR5cGUge1xuICBTaW5nbGUgPSAnc2luZ2xlJyxcbiAgR3JvdXAgPSAnZ3JvdXAnLFxufVxuXG4vLyBJbnRlcmZhY2UgZm9yIGEgc2luZ2xlIHNldHRpbmcncyB2YWx1ZVxuZXhwb3J0IGludGVyZmFjZSBBWFBTZXR0aW5nVmFsdWUge1xuICBrZXk6IHN0cmluZztcbiAgdmFsdWU6IGFueTtcbn1cblxuLy8gSW50ZXJmYWNlIGZvciBhIHNpbmdsZSBzZXR0aW5nIGRlZmluaXRpb25cbmV4cG9ydCBpbnRlcmZhY2UgQVhQU2V0dGluZ0RlZmluaXRpb24ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBkYXRhVHlwZTogc3RyaW5nO1xuICBzY29wZTogc3RyaW5nO1xuICBpc1JlcXVpcmVkOiBib29sZWFuO1xuICBpc0luaGVyaXRlZDogYm9vbGVhbjtcbiAgaXNFbmNyeXB0ZWQ6IGJvb2xlYW47XG4gIHR5cGU6IEFYUFNldHRpbmdEZWZpbml0aW9uSXRlbVR5cGUuU2luZ2xlOyAvLyBEaXNjcmltaW5hbnQgcHJvcGVydHlcbn1cblxuLy8gSW50ZXJmYWNlIGZvciBhIGdyb3VwIG9mIHNldHRpbmdzLCB3aGljaCBjYW4gY29udGFpbiBuZXN0ZWQgZ3JvdXBzIGFuZCBzaW5nbGVzXG5leHBvcnQgaW50ZXJmYWNlIEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXAge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBncm91cHM6IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXBbXTtcbiAgc2luZ2xlczogQVhQU2V0dGluZ0RlZmluaXRpb25bXTtcbiAgdHlwZTogQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtVHlwZS5Hcm91cDsgLy8gRGlzY3JpbWluYW50IHByb3BlcnR5XG59XG5cbi8vIFVuaW9uIHR5cGUgdG8gcmVwcmVzZW50IGVpdGhlciBhIHNpbmdsZSBzZXR0aW5nIG9yIGEgZ3JvdXBcbmV4cG9ydCB0eXBlIEFYUFNldHRpbmdEZWZpbml0aW9uSXRlbSA9IEFYUFNldHRpbmdEZWZpbml0aW9uIHwgQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cDtcblxuLy8gSW50ZXJmYWNlIGZvciBvcGVyYXRpb25zIHRoYXQgY2FuIGJlIHBlcmZvcm1lZCBvbiBhIHNldHRpbmcgaXRlbVxuZXhwb3J0IGludGVyZmFjZSBBWFBTZXR0aW5nRGVmaW5pdGlvbkZpbmRlclJlc3VsdCB7XG4gIGluc2VydEdyb3VwKGl0ZW06IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXAsIHBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcicpOiB2b2lkO1xuICBpbnNlcnRTaW5nbGUoaXRlbTogQVhQU2V0dGluZ0RlZmluaXRpb24sIHBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcicpOiB2b2lkO1xuICBpbnNlcnRTaW5nbGVzKGl0ZW1zOiBBWFBTZXR0aW5nRGVmaW5pdGlvbltdLCBwb3NpdGlvbjogJ2JlZm9yZScgfCAnYWZ0ZXInKTogdm9pZDtcbiAgYWRkSXRlbXMoaXRlbXM6IEFYUFNldHRpbmdEZWZpbml0aW9uSXRlbVtdKTogdm9pZDtcbiAgYWRkQ2hpbGRTaW5nbGVBdChpdGVtOiBBWFBTZXR0aW5nRGVmaW5pdGlvbiwgaW5kZXg6IG51bWJlcik6IHZvaWQ7XG4gIGFkZENoaWxkU2luZ2xlRmlyc3QoaXRlbTogQVhQU2V0dGluZ0RlZmluaXRpb24pOiB2b2lkO1xuICBhZGRDaGlsZFNpbmdsZUxhc3QoaXRlbTogQVhQU2V0dGluZ0RlZmluaXRpb24pOiB2b2lkO1xuICBhZGRDaGlsZEdyb3VwQXQoaXRlbTogQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cCwgaW5kZXg6IG51bWJlcik6IHZvaWQ7XG4gIGFkZENoaWxkR3JvdXBGaXJzdChpdGVtOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwKTogdm9pZDtcbiAgYWRkQ2hpbGRHcm91cExhc3QoaXRlbTogQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cCk6IHZvaWQ7XG59XG5cbi8vIEludGVyZmFjZSBmb3IgdGhlIGNvbnRleHQgaW4gd2hpY2ggc2V0dGluZyBwcm92aWRlcnMgb3BlcmF0ZVxuZXhwb3J0IGludGVyZmFjZSBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCB7XG4gIGFkZEl0ZW1zKGl0ZW1zOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW1bXSk6IHZvaWQ7XG4gIGFkZEl0ZW0oaXRlbTogQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtKTogdm9pZDtcbiAgYWRkR3JvdXAoZ3JvdXA6IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXApOiB2b2lkO1xuICBmaW5kKHRhcmdldDogc3RyaW5nKTogQVhQU2V0dGluZ0RlZmluaXRpb25GaW5kZXJSZXN1bHQ7XG59XG4iXX0=
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MudHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL3NldHRpbmdzL3NldHRpbmdzLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBXaWRnZXROb2RlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlcic7XG5cbi8vIEludGVyZmFjZSBmb3IgYSBzaW5nbGUgc2V0dGluZydzIHZhbHVlXG5leHBvcnQgaW50ZXJmYWNlIEFYUFNldHRpbmdWYWx1ZSB7XG4gIGtleTogc3RyaW5nO1xuICB2YWx1ZTogYW55O1xufVxuXG4vLyBJbnRlcmZhY2UgZm9yIGEgc2luZ2xlIHNldHRpbmcgZGVmaW5pdGlvblxuZXhwb3J0IGludGVyZmFjZSBBWFBTZXR0aW5nRGVmaW5pdGlvbiB7XG4gIG5hbWU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGRhdGFUeXBlOiBzdHJpbmc7XG4gIHdpZGdldDogQVhQV2lkZ2V0Tm9kZTtcbiAgc2NvcGU6IHN0cmluZztcbiAgaXNSZXF1aXJlZDogYm9vbGVhbjtcbiAgaXNJbmhlcml0ZWQ6IGJvb2xlYW47XG4gIGlzRW5jcnlwdGVkOiBib29sZWFuO1xufVxuXG4vLyBJbnRlcmZhY2UgZm9yIGEgZ3JvdXAgb2Ygc2V0dGluZ3MsIHdoaWNoIGNhbiBjb250YWluIG5lc3RlZCBncm91cHMgYW5kIHNpbmdsZXNcbmV4cG9ydCBpbnRlcmZhY2UgQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cCB7XG4gIG5hbWU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGdyb3VwczogQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cFtdO1xuICBzZWN0aW9uczogQVhQU2V0dGluZ0RlZmluaXRpb25TZWN0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQU2V0dGluZ0RlZmluaXRpb25TZWN0aW9uIHtcbiAgbmFtZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgc2V0dGluZ3M6IEFYUFNldHRpbmdEZWZpbml0aW9uW107XG59XG5cbi8vIFVuaW9uIHR5cGUgdG8gcmVwcmVzZW50IGVpdGhlciBhIHNpbmdsZSBzZXR0aW5nIG9yIGEgZ3JvdXBcbmV4cG9ydCB0eXBlIEFYUFNldHRpbmdEZWZpbml0aW9uSXRlbSA9IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQR3JvdXBEZXRhaWxzIHtcbiAgYnJlYWRjcnVtYjogeyBuYW1lOiBzdHJpbmc7IHRpdGxlOiBzdHJpbmcgfVtdO1xuICBzZWN0aW9uczogQVhQU2V0dGluZ0RlZmluaXRpb25TZWN0aW9uW10gfCBudWxsO1xuICBjaGlsZEdyb3VwczogQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cFtdIHwgbnVsbDtcbn1cblxuLy8gSW50ZXJmYWNlIGZvciBvcGVyYXRpb25zIHRoYXQgY2FuIGJlIHBlcmZvcm1lZCBvbiBhIHNldHRpbmcgaXRlbVxuZXhwb3J0IGludGVyZmFjZSBBWFBTZXR0aW5nRGVmaW5pdGlvbkZpbmRlclJlc3VsdCB7XG4gIGluc2VydEdyb3VwKGl0ZW06IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXAsIHBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcicpOiB2b2lkO1xuICBpbnNlcnRTaW5nbGUoaXRlbTogQVhQU2V0dGluZ0RlZmluaXRpb24sIHBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcicpOiB2b2lkO1xuICBpbnNlcnRTaW5nbGVzKGl0ZW1zOiBBWFBTZXR0aW5nRGVmaW5pdGlvbltdLCBwb3NpdGlvbjogJ2JlZm9yZScgfCAnYWZ0ZXInKTogdm9pZDtcbiAgYWRkSXRlbXMoaXRlbXM6IEFYUFNldHRpbmdEZWZpbml0aW9uSXRlbVtdKTogdm9pZDtcbiAgYWRkQ2hpbGRTaW5nbGVBdChpdGVtOiBBWFBTZXR0aW5nRGVmaW5pdGlvbiwgaW5kZXg6IG51bWJlcik6IHZvaWQ7XG4gIGFkZENoaWxkU2luZ2xlRmlyc3QoaXRlbTogQVhQU2V0dGluZ0RlZmluaXRpb24pOiB2b2lkO1xuICBhZGRDaGlsZFNpbmdsZUxhc3QoaXRlbTogQVhQU2V0dGluZ0RlZmluaXRpb24pOiB2b2lkO1xuICBhZGRDaGlsZEdyb3VwQXQoaXRlbTogQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cCwgaW5kZXg6IG51bWJlcik6IHZvaWQ7XG4gIGFkZENoaWxkR3JvdXBGaXJzdChpdGVtOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkdyb3VwKTogdm9pZDtcbiAgYWRkQ2hpbGRHcm91cExhc3QoaXRlbTogQVhQU2V0dGluZ0RlZmluaXRpb25Hcm91cCk6IHZvaWQ7XG59XG5cbi8vIEludGVyZmFjZSBmb3IgdGhlIGNvbnRleHQgaW4gd2hpY2ggc2V0dGluZyBwcm92aWRlcnMgb3BlcmF0ZVxuZXhwb3J0IGludGVyZmFjZSBBWFBTZXR0aW5nRGVmaW5pdGlvblByb3ZpZGVyQ29udGV4dCB7XG4gIGFkZEl0ZW1zKGl0ZW1zOiBBWFBTZXR0aW5nRGVmaW5pdGlvbkl0ZW1bXSk6IHZvaWQ7XG4gIGFkZEl0ZW0oaXRlbTogQVhQU2V0dGluZ0RlZmluaXRpb25JdGVtKTogdm9pZDtcbiAgYWRkR3JvdXAoZ3JvdXA6IEFYUFNldHRpbmdEZWZpbml0aW9uR3JvdXApOiB2b2lkO1xuICAvLyBmaW5kKHRhcmdldDogc3RyaW5nKTogQVhQU2V0dGluZ0RlZmluaXRpb25GaW5kZXJSZXN1bHQ7XG59XG4iXX0=
@@ -130,4 +130,4 @@ export class AXPDataGenerator {
130
130
  return `${streetNumber} ${street}, ${city}, ${state} ${zip}, ${country}`;
131
131
  }
132
132
  }
133
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1nZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL3V0aWxzL2RhdGEtZ2VuZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxnQkFBZ0I7SUFDekIsTUFBTSxDQUFDLElBQUk7UUFDUCxPQUFPLHNDQUFzQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNwRSxNQUFNLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDM0QsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUlELE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFjO1FBQzNCLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNaLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNkLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQ2hCLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDakIsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ25CLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDYixHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ2pCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFH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RSxJQUFJLENBQUMsQ0FBQztRQUM1QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDM0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9CLE9BQU8sR0FBRyxZQUFZLElBQUksTUFBTSxLQUFLLElBQUksS0FBSyxLQUFLLElBQUksR0FBRyxLQUFLLE9BQU8sRUFBRSxDQUFDO0lBQzdFLENBQUM7Q0FLSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBBWFBEYXRhR2VuZXJhdG9yIHtcbiAgICBzdGF0aWMgdXVpZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ3h4eHh4eHh4LXh4eHgtNHh4eC15eHh4LXh4eHh4eHh4eHh4eCcucmVwbGFjZSgvW3h5XS9nLCAoY2hhcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmFuZG9tID0gKE1hdGgucmFuZG9tKCkgKiAxNikgfCAwO1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBjaGFyID09PSAneCcgPyByYW5kb20gOiAocmFuZG9tICYgMHgzKSB8IDB4ODtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygxNik7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHN0YXRpYyBudW1iZXIobWF4OiBudW1iZXIpOiBudW1iZXI7XG4gICAgc3RhdGljIG51bWJlcihtaW46IG51bWJlciwgbWF4OiBudW1iZXIpOiBudW1iZXI7XG4gICAgc3RhdGljIG51bWJlciguLi5hcmdzOiBudW1iZXJbXSk6IG51bWJlciB7XG4gICAgICAgIGxldCBtaW4gPSAwO1xuICAgICAgICBsZXQgbWF4ID0gMTAwO1xuICAgICAgICBpZiAoYXJncy5sZW5ndGggPT0gMSlcbiAgICAgICAgICAgIG1heCA9IGFyZ3NbMF1cbiAgICAgICAgaWYgKGFyZ3MubGVuZ3RoID09IDIpIHtcbiAgICAgICAgICAgIG1pbiA9IGFyZ3NbMF1cbiAgICAgICAgICAgIG1heCA9IGFyZ3NbMV1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKG1heCAtIG1pbiArIDEpKSArIG1pbjtcbiAgICB9XG5cbiAgICBzdGF0aWMgZGF0ZSgpOiBEYXRlO1xuICAgIHN0YXRpYyBkYXRlKHN0YXJ0OiBEYXRlKTogRGF0ZTtcbiAgICBzdGF0aWMgZGF0ZShzdGFydDogRGF0ZSwgZW5kOiBEYXRlKTogRGF0ZTtcbiAgICBzdGF0aWMgZGF0ZSguLi5hcmdzOiBhbnlbXSk6IERhdGUge1xuICAgICAgICBsZXQgc3RhcnQgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxKTtcbiAgICAgICAgbGV0IGVuZCA9IG5ldyBEYXRlKCk7XG5cbiAgICAgICAgaWYgKGFyZ3MubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICBzdGFydCA9IGFyZ3NbMF07XG4gICAgICAgIH0gZWxzZSBpZiAoYXJncy5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICAgIHN0YXJ0ID0gYXJnc1swXTtcbiAgICAgICAgICAgIGVuZCA9IGFyZ3NbMV07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdGFydFRpbWUgPSBzdGFydC5nZXRUaW1lKCk7XG4gICAgICAgIGNvbnN0IGVuZFRpbWUgPSBlbmQuZ2V0VGltZSgpO1xuICAgICAgICByZXR1cm4gbmV3IERhdGUoc3RhcnRUaW1lICsgTWF0aC5yYW5kb20oKSAqIChlbmRUaW1lIC0gc3RhcnRUaW1lKSk7XG4gICAgfVxuXG5cbiAgICBzdGF0aWMgYXJyYXk8VD4obGVuZ3RoOiBudW1iZXIgPSA1LCBnZW5lcmF0b3I6ICgpID0+IFQpOiBUW10ge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aCB9LCBnZW5lcmF0b3IpO1xuICAgIH1cblxuICAgIHN0YXRpYyBwaWNrPFQ+KGl0ZW1zOiBUW10pOiBUXG4gICAgc3RhdGljIHBpY2s8VD4oaXRlbXM6IFRbXSwgY291bnQ6IG51bWJlcik6IFRbXTtcbiAgICBzdGF0aWMgcGljazxUPiguLi5hcmdzOiBhbnlbXSk6IFQgfCBUW10ge1xuICAgICAgICBpZiAoYXJncy5sZW5ndGggPCAxKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcGFyYW1ldGVycycpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGl0ZW1zOiBUW10gPSBhcmdzWzBdO1xuICAgICAgICBjb25zdCBjb3VudDogbnVtYmVyID0gYXJnc1sxXSA/PyAxXG4gICAgICAgIGlmIChjb3VudCA8IDEpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ291bnQgbXVzdCBiZSBhdCBsZWFzdCAxJyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiB0aGUgY291bnQgaXMgZ3JlYXRlciB0aGFuIHRoZSBudW1iZXIgb2YgaXRlbXMsIGp1c3QgcmV0dXJuIGEgc2h1ZmZsZWQgY29weSBvZiB0aGUgYXJyYXlcbiAgICAgICAgaWYgKGNvdW50ID49IGl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIFsuLi5pdGVtc10uc29ydCgoKSA9PiBNYXRoLnJhbmRvbSgpIC0gMC41KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNodWZmbGUgdGhlIGFycmF5IGFuZCBzbGljZSB0aGUgZmlyc3QgJ2NvdW50JyBlbGVtZW50c1xuICAgICAgICBjb25zdCBzaHVmZmxlZCA9IGl0ZW1zLnNsaWNlKCk7XG4gICAgICAgIGZvciAobGV0IGkgPSBzaHVmZmxlZC5sZW5ndGggLSAxOyBpID4gMDsgaS0tKSB7XG4gICAgICAgICAgICBjb25zdCBqID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKGkgKyAxKSk7XG4gICAgICAgICAgICBbc2h1ZmZsZWRbaV0sIHNodWZmbGVkW2pdXSA9IFtzaHVmZmxlZFtqXSwgc2h1ZmZsZWRbaV1dOyAvLyBTd2FwIGVsZW1lbnRzXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvdW50ID09IDEgPyBzaHVmZmxlZC5zbGljZSgwLCBjb3VudClbMF0gOiBzaHVmZmxlZC5zbGljZSgwLCBjb3VudCk7XG4gICAgfVxuXG4gICAgc3RhdGljIHN0cmluZyhsZW5ndGg6IG51bWJlciA9IDEwKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgY2hhcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODknO1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aCB9LCAoKSA9PiBjaGFycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY2hhcnMubGVuZ3RoKSkpLmpvaW4oJycpO1xuICAgIH1cblxuICAgIHN0YXRpYyBib29sZWFuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gTWF0aC5yYW5kb20oKSA+PSAwLjU7XG4gICAgfVxuXG4gICAgc3RhdGljIGl0ZW08VD4oYXJyYXk6IFRbXSA9IFtdKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiBhcnJheS5sZW5ndGggPiAwID8gYXJyYXlbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogYXJyYXkubGVuZ3RoKV0gOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgc3RhdGljIGNvbG9yKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGNvbG9yID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTY3NzcyMTUpLnRvU3RyaW5nKDE2KTtcbiAgICAgICAgcmV0dXJuIGAjJHtjb2xvci5wYWRTdGFydCg2LCAnMCcpfWA7XG4gICAgfVxuXG4gICAgc3RhdGljIGFscGhhbnVtZXJpYyhsZW5ndGg6IG51bWJlciA9IDEwKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgY2hhcnMgPSAnMDEyMzQ1Njc4OUFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXonO1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aCB9LCAoKSA9PiBjaGFycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY2hhcnMubGVuZ3RoKSkpLmpvaW4oJycpO1xuICAgIH1cbiAgICBzdGF0aWMgYWxwaGFiZXQobGVuZ3RoOiBudW1iZXIgPSAxMCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGNoYXJzID0gJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXonO1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aCB9LCAoKSA9PiBjaGFycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY2hhcnMubGVuZ3RoKSkpLmpvaW4oJycpO1xuICAgIH1cblxuXG4gICAgc3RhdGljIHBob25lKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGFyZWFDb2RlID0gdGhpcy5udW1iZXIoMTAwLCA5OTkpO1xuICAgICAgICBjb25zdCBleGNoYW5nZUNvZGUgPSB0aGlzLm51bWJlcigxMDAsIDk5OSk7XG4gICAgICAgIGNvbnN0IGxpbmVOdW1iZXIgPSB0aGlzLm51bWJlcigxMDAwLCA5OTk5KTtcbiAgICAgICAgcmV0dXJuIGAke2FyZWFDb2RlfS0ke2V4Y2hhbmdlQ29kZX0tJHtsaW5lTnVtYmVyfWA7XG4gICAgfVxuXG4gICAgc3RhdGljIGZpcnN0TmFtZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBmaXJzdE5hbWVzID0gWydKb2huJywgJ0FsbGVuJywgJ0phaycsICdSb3NlJywgJ0thdGUnLCAnTGlhbScsICdPbGl2aWEnLCAnTm9haCcsICdFbW1hJywgJ0F2YSddO1xuICAgICAgICByZXR1cm4gdGhpcy5waWNrKGZpcnN0TmFtZXMpO1xuICAgIH1cblxuICAgIHN0YXRpYyBsYXN0TmFtZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBsYXN0TmFtZXMgPSBbJ0dhdGVzJywgJ0pvbnNlbicsICdTbWl0aCcsICdGb3JkJywgJ0pha3NvbicsICdCcm93bicsICdKb2huc29uJywgJ1dpbGxpYW1zJywgJ0pvbmVzJywgJ0dhcmNpYSddO1xuICAgICAgICByZXR1cm4gdGhpcy5waWNrKGxhc3ROYW1lcyk7XG4gICAgfVxuXG4gICAgc3RhdGljIGVtYWlsKCk6IHN0cmluZztcbiAgICBzdGF0aWMgZW1haWwoZmlyc3ROYW1lOiBzdHJpbmcsIGxhc3ROYW1lOiBzdHJpbmcpOiBzdHJpbmc7XG4gICAgc3RhdGljIGVtYWlsKC4uLmFyZ3M6IGFueVtdKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZG9tYWlucyA9IFsnZ21haWwuY29tJywgJ3lhaG9vLmNvbScsICdvdXRsb29rLmNvbScsICdleGFtcGxlLmNvbSddO1xuICAgICAgICBjb25zdCBkb21haW4gPSB0aGlzLnBpY2soZG9tYWlucyk7XG4gICAgICAgIGNvbnN0IHNlcGFyYXRvciA9IHRoaXMucGljayhbJy4nLCAnXycsICcnXSk7XG4gICAgICAgIGNvbnN0IHJhbmRvbVN1ZmZpeCA9IHRoaXMuYm9vbGVhbigpID8gdGhpcy5udW1iZXIoMSwgOTkpLnRvU3RyaW5nKCkgOiAnJztcblxuICAgICAgICBpZiAoYXJncy5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0TmFtZSA9IGFyZ3NbMF0udG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgIGNvbnN0IGxhc3ROYW1lID0gYXJnc1sxXS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgcmV0dXJuIGAke2ZpcnN0TmFtZX0ke3NlcGFyYXRvcn0ke2xhc3ROYW1lfSR7cmFuZG9tU3VmZml4fUAke2RvbWFpbn1gO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZmlyc3ROYW1lID0gdGhpcy5maXJzdE5hbWUoKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgY29uc3QgbGFzdE5hbWUgPSB0aGlzLmxhc3ROYW1lKCkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgIHJldHVybiBgJHtmaXJzdE5hbWV9JHtzZXBhcmF0b3J9JHtsYXN0TmFtZX0ke3JhbmRvbVN1ZmZpeH1AJHtkb21haW59YDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyBjb3VudHJ5KCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGNvdW50cmllcyA9IFsnVVNBJywgJ0NhbmFkYScsICdNZXhpY28nLCAnR2VybWFueScsICdGcmFuY2UnLCAnSmFwYW4nLCAnQXVzdHJhbGlhJ107XG4gICAgICAgIHJldHVybiB0aGlzLnBpY2soY291bnRyaWVzKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgY2l0eSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBjaXRpZXMgPSBbJ05ldyBZb3JrJywgJ0xvcyBBbmdlbGVzJywgJ1Rvcm9udG8nLCAnVmFuY291dmVyJywgJ0JlcmxpbicsICdQYXJpcycsICdUb2t5bycsICdTeWRuZXknXTtcbiAgICAgICAgcmV0dXJuIHRoaXMucGljayhjaXRpZXMpO1xuICAgIH1cblxuICAgIHN0YXRpYyBzdGF0ZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBzdGF0ZXMgPSBbJ05ZJywgJ0NBJywgJ1RYJywgJ09OJywgJ0JDJywgJ05TVycsICdCRVInLCAnSURGJywgJ1RZTyddO1xuICAgICAgICByZXR1cm4gdGhpcy5waWNrKHN0YXRlcyk7XG4gICAgfVxuXG4gICAgc3RhdGljIGFkZHJlc3MoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qgc3RyZWV0cyA9IFsnTWFpbiBTdCcsICdIaWdoIFN0JywgJ01hcGxlIEF2ZScsICdPYWsgU3QnLCAnUGluZSBTdCcsICdDZWRhciBTdCddO1xuICAgICAgICBjb25zdCBzdHJlZXROdW1iZXIgPSB0aGlzLm51bWJlcigxMDAsIDk5OTkpO1xuICAgICAgICBjb25zdCBzdHJlZXQgPSB0aGlzLnBpY2soc3RyZWV0cyk7XG4gICAgICAgIGNvbnN0IGNpdHkgPSB0aGlzLmNpdHkoKTtcbiAgICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLnN0YXRlKCk7XG4gICAgICAgIGNvbnN0IHppcCA9IHRoaXMubnVtYmVyKDEwMDAwLCA5OTk5OSk7XG4gICAgICAgIGNvbnN0IGNvdW50cnkgPSB0aGlzLmNvdW50cnkoKTtcbiAgICAgICAgcmV0dXJuIGAke3N0cmVldE51bWJlcn0gJHtzdHJlZXR9LCAke2NpdHl9LCAke3N0YXRlfSAke3ppcH0sICR7Y291bnRyeX1gO1xuICAgIH1cblxuXG5cblxufVxuIl19
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1nZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2NvbW1vbi9zcmMvbGliL3V0aWxzL2RhdGEtZ2VuZXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxnQkFBZ0I7SUFDekIsTUFBTSxDQUFDLElBQUk7UUFDUCxPQUFPLHNDQUFzQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNwRSxNQUFNLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDM0QsT0FBTyxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUlELE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFjO1FBQzNCLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNaLElBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNkLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQ2hCLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDakIsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ25CLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDYixHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ2pCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFH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RSxJQUFJLENBQUMsQ0FBQztRQUM1QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN6QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDM0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQy9CLE9BQU8sR0FBRyxZQUFZLElBQUksTUFBTSxLQUFLLElBQUksS0FBSyxLQUFLLElBQUksR0FBRyxLQUFLLE9BQU8sRUFBRSxDQUFDO0lBQzdFLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBBWFBEYXRhR2VuZXJhdG9yIHtcbiAgICBzdGF0aWMgdXVpZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gJ3h4eHh4eHh4LXh4eHgtNHh4eC15eHh4LXh4eHh4eHh4eHh4eCcucmVwbGFjZSgvW3h5XS9nLCAoY2hhcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmFuZG9tID0gKE1hdGgucmFuZG9tKCkgKiAxNikgfCAwO1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBjaGFyID09PSAneCcgPyByYW5kb20gOiAocmFuZG9tICYgMHgzKSB8IDB4ODtcbiAgICAgICAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygxNik7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHN0YXRpYyBudW1iZXIobWF4OiBudW1iZXIpOiBudW1iZXI7XG4gICAgc3RhdGljIG51bWJlcihtaW46IG51bWJlciwgbWF4OiBudW1iZXIpOiBudW1iZXI7XG4gICAgc3RhdGljIG51bWJlciguLi5hcmdzOiBudW1iZXJbXSk6IG51bWJlciB7XG4gICAgICAgIGxldCBtaW4gPSAwO1xuICAgICAgICBsZXQgbWF4ID0gMTAwO1xuICAgICAgICBpZiAoYXJncy5sZW5ndGggPT0gMSlcbiAgICAgICAgICAgIG1heCA9IGFyZ3NbMF1cbiAgICAgICAgaWYgKGFyZ3MubGVuZ3RoID09IDIpIHtcbiAgICAgICAgICAgIG1pbiA9IGFyZ3NbMF1cbiAgICAgICAgICAgIG1heCA9IGFyZ3NbMV1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKG1heCAtIG1pbiArIDEpKSArIG1pbjtcbiAgICB9XG5cbiAgICBzdGF0aWMgZGF0ZSgpOiBEYXRlO1xuICAgIHN0YXRpYyBkYXRlKHN0YXJ0OiBEYXRlKTogRGF0ZTtcbiAgICBzdGF0aWMgZGF0ZShzdGFydDogRGF0ZSwgZW5kOiBEYXRlKTogRGF0ZTtcbiAgICBzdGF0aWMgZGF0ZSguLi5hcmdzOiBhbnlbXSk6IERhdGUge1xuICAgICAgICBsZXQgc3RhcnQgPSBuZXcgRGF0ZSgyMDAwLCAwLCAxKTtcbiAgICAgICAgbGV0IGVuZCA9IG5ldyBEYXRlKCk7XG5cbiAgICAgICAgaWYgKGFyZ3MubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICBzdGFydCA9IGFyZ3NbMF07XG4gICAgICAgIH0gZWxzZSBpZiAoYXJncy5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICAgIHN0YXJ0ID0gYXJnc1swXTtcbiAgICAgICAgICAgIGVuZCA9IGFyZ3NbMV07XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzdGFydFRpbWUgPSBzdGFydC5nZXRUaW1lKCk7XG4gICAgICAgIGNvbnN0IGVuZFRpbWUgPSBlbmQuZ2V0VGltZSgpO1xuICAgICAgICByZXR1cm4gbmV3IERhdGUoc3RhcnRUaW1lICsgTWF0aC5yYW5kb20oKSAqIChlbmRUaW1lIC0gc3RhcnRUaW1lKSk7XG4gICAgfVxuXG5cbiAgICBzdGF0aWMgYXJyYXk8VD4obGVuZ3RoOiBudW1iZXIgPSA1LCBnZW5lcmF0b3I6ICgpID0+IFQpOiBUW10ge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aCB9LCBnZW5lcmF0b3IpO1xuICAgIH1cblxuICAgIHN0YXRpYyBwaWNrPFQ+KGl0ZW1zOiBUW10pOiBUXG4gICAgc3RhdGljIHBpY2s8VD4oaXRlbXM6IFRbXSwgY291bnQ6IG51bWJlcik6IFRbXTtcbiAgICBzdGF0aWMgcGljazxUPiguLi5hcmdzOiBhbnlbXSk6IFQgfCBUW10ge1xuICAgICAgICBpZiAoYXJncy5sZW5ndGggPCAxKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgcGFyYW1ldGVycycpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGl0ZW1zOiBUW10gPSBhcmdzWzBdO1xuICAgICAgICBjb25zdCBjb3VudDogbnVtYmVyID0gYXJnc1sxXSA/PyAxXG4gICAgICAgIGlmIChjb3VudCA8IDEpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ291bnQgbXVzdCBiZSBhdCBsZWFzdCAxJyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiB0aGUgY291bnQgaXMgZ3JlYXRlciB0aGFuIHRoZSBudW1iZXIgb2YgaXRlbXMsIGp1c3QgcmV0dXJuIGEgc2h1ZmZsZWQgY29weSBvZiB0aGUgYXJyYXlcbiAgICAgICAgaWYgKGNvdW50ID49IGl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIFsuLi5pdGVtc10uc29ydCgoKSA9PiBNYXRoLnJhbmRvbSgpIC0gMC41KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNodWZmbGUgdGhlIGFycmF5IGFuZCBzbGljZSB0aGUgZmlyc3QgJ2NvdW50JyBlbGVtZW50c1xuICAgICAgICBjb25zdCBzaHVmZmxlZCA9IGl0ZW1zLnNsaWNlKCk7XG4gICAgICAgIGZvciAobGV0IGkgPSBzaHVmZmxlZC5sZW5ndGggLSAxOyBpID4gMDsgaS0tKSB7XG4gICAgICAgICAgICBjb25zdCBqID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogKGkgKyAxKSk7XG4gICAgICAgICAgICBbc2h1ZmZsZWRbaV0sIHNodWZmbGVkW2pdXSA9IFtzaHVmZmxlZFtqXSwgc2h1ZmZsZWRbaV1dOyAvLyBTd2FwIGVsZW1lbnRzXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvdW50ID09IDEgPyBzaHVmZmxlZC5zbGljZSgwLCBjb3VudClbMF0gOiBzaHVmZmxlZC5zbGljZSgwLCBjb3VudCk7XG4gICAgfVxuXG4gICAgc3RhdGljIHN0cmluZyhsZW5ndGg6IG51bWJlciA9IDEwKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgY2hhcnMgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODknO1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aCB9LCAoKSA9PiBjaGFycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY2hhcnMubGVuZ3RoKSkpLmpvaW4oJycpO1xuICAgIH1cblxuICAgIHN0YXRpYyBib29sZWFuKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gTWF0aC5yYW5kb20oKSA+PSAwLjU7XG4gICAgfVxuXG4gICAgc3RhdGljIGl0ZW08VD4oYXJyYXk6IFRbXSA9IFtdKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiBhcnJheS5sZW5ndGggPiAwID8gYXJyYXlbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogYXJyYXkubGVuZ3RoKV0gOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgc3RhdGljIGNvbG9yKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGNvbG9yID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTY3NzcyMTUpLnRvU3RyaW5nKDE2KTtcbiAgICAgICAgcmV0dXJuIGAjJHtjb2xvci5wYWRTdGFydCg2LCAnMCcpfWA7XG4gICAgfVxuXG4gICAgc3RhdGljIGFscGhhbnVtZXJpYyhsZW5ndGg6IG51bWJlciA9IDEwKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgY2hhcnMgPSAnMDEyMzQ1Njc4OUFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXonO1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aCB9LCAoKSA9PiBjaGFycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY2hhcnMubGVuZ3RoKSkpLmpvaW4oJycpO1xuICAgIH1cbiAgICBzdGF0aWMgYWxwaGFiZXQobGVuZ3RoOiBudW1iZXIgPSAxMCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGNoYXJzID0gJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXonO1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh7IGxlbmd0aCB9LCAoKSA9PiBjaGFycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY2hhcnMubGVuZ3RoKSkpLmpvaW4oJycpO1xuICAgIH1cblxuXG4gICAgc3RhdGljIHBob25lKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGFyZWFDb2RlID0gdGhpcy5udW1iZXIoMTAwLCA5OTkpO1xuICAgICAgICBjb25zdCBleGNoYW5nZUNvZGUgPSB0aGlzLm51bWJlcigxMDAsIDk5OSk7XG4gICAgICAgIGNvbnN0IGxpbmVOdW1iZXIgPSB0aGlzLm51bWJlcigxMDAwLCA5OTk5KTtcbiAgICAgICAgcmV0dXJuIGAke2FyZWFDb2RlfS0ke2V4Y2hhbmdlQ29kZX0tJHtsaW5lTnVtYmVyfWA7XG4gICAgfVxuXG4gICAgc3RhdGljIGZpcnN0TmFtZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBmaXJzdE5hbWVzID0gWydKb2huJywgJ0FsbGVuJywgJ0phaycsICdSb3NlJywgJ0thdGUnLCAnTGlhbScsICdPbGl2aWEnLCAnTm9haCcsICdFbW1hJywgJ0F2YSddO1xuICAgICAgICByZXR1cm4gdGhpcy5waWNrKGZpcnN0TmFtZXMpO1xuICAgIH1cblxuICAgIHN0YXRpYyBsYXN0TmFtZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBsYXN0TmFtZXMgPSBbJ0dhdGVzJywgJ0pvbnNlbicsICdTbWl0aCcsICdGb3JkJywgJ0pha3NvbicsICdCcm93bicsICdKb2huc29uJywgJ1dpbGxpYW1zJywgJ0pvbmVzJywgJ0dhcmNpYSddO1xuICAgICAgICByZXR1cm4gdGhpcy5waWNrKGxhc3ROYW1lcyk7XG4gICAgfVxuXG4gICAgc3RhdGljIGVtYWlsKCk6IHN0cmluZztcbiAgICBzdGF0aWMgZW1haWwoZmlyc3ROYW1lOiBzdHJpbmcsIGxhc3ROYW1lOiBzdHJpbmcpOiBzdHJpbmc7XG4gICAgc3RhdGljIGVtYWlsKC4uLmFyZ3M6IGFueVtdKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZG9tYWlucyA9IFsnZ21haWwuY29tJywgJ3lhaG9vLmNvbScsICdvdXRsb29rLmNvbScsICdleGFtcGxlLmNvbSddO1xuICAgICAgICBjb25zdCBkb21haW4gPSB0aGlzLnBpY2soZG9tYWlucyk7XG4gICAgICAgIGNvbnN0IHNlcGFyYXRvciA9IHRoaXMucGljayhbJy4nLCAnXycsICcnXSk7XG4gICAgICAgIGNvbnN0IHJhbmRvbVN1ZmZpeCA9IHRoaXMuYm9vbGVhbigpID8gdGhpcy5udW1iZXIoMSwgOTkpLnRvU3RyaW5nKCkgOiAnJztcblxuICAgICAgICBpZiAoYXJncy5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0TmFtZSA9IGFyZ3NbMF0udG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgIGNvbnN0IGxhc3ROYW1lID0gYXJnc1sxXS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgcmV0dXJuIGAke2ZpcnN0TmFtZX0ke3NlcGFyYXRvcn0ke2xhc3ROYW1lfSR7cmFuZG9tU3VmZml4fUAke2RvbWFpbn1gO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZmlyc3ROYW1lID0gdGhpcy5maXJzdE5hbWUoKS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgY29uc3QgbGFzdE5hbWUgPSB0aGlzLmxhc3ROYW1lKCkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgIHJldHVybiBgJHtmaXJzdE5hbWV9JHtzZXBhcmF0b3J9JHtsYXN0TmFtZX0ke3JhbmRvbVN1ZmZpeH1AJHtkb21haW59YDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyBjb3VudHJ5KCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGNvdW50cmllcyA9IFsnVVNBJywgJ0NhbmFkYScsICdNZXhpY28nLCAnR2VybWFueScsICdGcmFuY2UnLCAnSmFwYW4nLCAnQXVzdHJhbGlhJ107XG4gICAgICAgIHJldHVybiB0aGlzLnBpY2soY291bnRyaWVzKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgY2l0eSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBjaXRpZXMgPSBbJ05ldyBZb3JrJywgJ0xvcyBBbmdlbGVzJywgJ1Rvcm9udG8nLCAnVmFuY291dmVyJywgJ0JlcmxpbicsICdQYXJpcycsICdUb2t5bycsICdTeWRuZXknXTtcbiAgICAgICAgcmV0dXJuIHRoaXMucGljayhjaXRpZXMpO1xuICAgIH1cblxuICAgIHN0YXRpYyBzdGF0ZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBzdGF0ZXMgPSBbJ05ZJywgJ0NBJywgJ1RYJywgJ09OJywgJ0JDJywgJ05TVycsICdCRVInLCAnSURGJywgJ1RZTyddO1xuICAgICAgICByZXR1cm4gdGhpcy5waWNrKHN0YXRlcyk7XG4gICAgfVxuXG4gICAgc3RhdGljIGFkZHJlc3MoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qgc3RyZWV0cyA9IFsnTWFpbiBTdCcsICdIaWdoIFN0JywgJ01hcGxlIEF2ZScsICdPYWsgU3QnLCAnUGluZSBTdCcsICdDZWRhciBTdCddO1xuICAgICAgICBjb25zdCBzdHJlZXROdW1iZXIgPSB0aGlzLm51bWJlcigxMDAsIDk5OTkpO1xuICAgICAgICBjb25zdCBzdHJlZXQgPSB0aGlzLnBpY2soc3RyZWV0cyk7XG4gICAgICAgIGNvbnN0IGNpdHkgPSB0aGlzLmNpdHkoKTtcbiAgICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLnN0YXRlKCk7XG4gICAgICAgIGNvbnN0IHppcCA9IHRoaXMubnVtYmVyKDEwMDAwLCA5OTk5OSk7XG4gICAgICAgIGNvbnN0IGNvdW50cnkgPSB0aGlzLmNvdW50cnkoKTtcbiAgICAgICAgcmV0dXJuIGAke3N0cmVldE51bWJlcn0gJHtzdHJlZXR9LCAke2NpdHl9LCAke3N0YXRlfSAke3ppcH0sICR7Y291bnRyeX1gO1xuICAgIH1cbn1cbiJdfQ==
@@ -33,6 +33,7 @@ const AXPWidgetsCatalog = {
33
33
  widgetSelector: 'widget-selector',
34
34
  template: 'template',
35
35
  templateDesigner: 'template-designer',
36
+ cronJob: 'cron-job',
36
37
  };
37
38
  export { AXPWidgetsCatalog };
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWNhdGFsb2cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9idWlsZGVyL3NyYy9saWIvYnVpbGRlci93aWRnZXQtY2F0YWxvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLGlCQUFpQixHQUFzQjtJQUMzQyxRQUFRLEVBQUUsaUJBQWlCO0lBQzNCLEtBQUssRUFBRSxjQUFjO0lBQ3JCLE9BQU8sRUFBRSxnQkFBZ0I7SUFDekIsUUFBUSxFQUFFLGtCQUFrQjtJQUM1QixLQUFLLEVBQUUsY0FBYztJQUNyQixTQUFTLEVBQUUsbUJBQW1CO0lBQzlCLElBQUksRUFBRSxhQUFhO0lBQ25CLE1BQU0sRUFBRSxlQUFlO0lBQ3ZCLFFBQVEsRUFBRSxpQkFBaUI7SUFDM0IsS0FBSyxFQUFFLGNBQWM7SUFDckIsUUFBUSxFQUFFLGtCQUFrQjtJQUM1QixNQUFNLEVBQUUsZUFBZTtJQUN2QixhQUFhLEVBQUUsdUJBQXVCO0lBQ3RDLElBQUksRUFBRSxhQUFhO0lBQ25CLE1BQU0sRUFBRSxlQUFlO0lBQ3ZCLFdBQVcsRUFBRSxjQUFjO0lBQzNCLFVBQVUsRUFBRSxhQUFhO0lBQ3pCLGNBQWMsRUFBRSxpQkFBaUI7SUFDakMsZUFBZSxFQUFFLG1CQUFtQjtJQUNwQyxJQUFJLEVBQUUsTUFBTTtJQUNaLEdBQUcsRUFBRSxLQUFLO0lBQ1YsT0FBTyxFQUFFLFNBQVM7SUFDbEIsU0FBUyxFQUFFLFdBQVc7SUFDdEIsWUFBWSxFQUFFLGVBQWU7SUFDN0IsUUFBUSxFQUFFLGlCQUFpQjtJQUMzQixNQUFNLEVBQUUsZUFBZTtJQUN2QixTQUFTLEVBQUUsWUFBWTtJQUN2QixNQUFNLEVBQUUsUUFBUTtJQUNoQixJQUFJLEVBQUUsYUFBYTtJQUNuQixRQUFRLEVBQUUsa0JBQWtCO0lBQzVCLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsY0FBYyxFQUFFLGlCQUFpQjtJQUNqQyxRQUFRLEVBQUUsVUFBVTtJQUNwQixnQkFBZ0IsRUFBRSxtQkFBbUI7Q0FDdEMsQ0FBQztBQUVGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQV2lkZ2V0VHlwZXNNYXAgfSBmcm9tICcuL3dpZGdldC50eXBlcyc7XG5cbmNvbnN0IEFYUFdpZGdldHNDYXRhbG9nOiBBWFBXaWRnZXRUeXBlc01hcCA9IHtcbiAgY2hlY2tib3g6ICdjaGVja2JveC1lZGl0b3InLFxuICBjb2xvcjogJ2NvbG9yLWVkaXRvcicsXG4gIGNvbnRhY3Q6ICdjb250YWN0LWVkaXRvcicsXG4gIGRhdGVUaW1lOiAnZGF0ZS10aW1lLWVkaXRvcicsXG4gIGVtYWlsOiAnZW1haWwtZWRpdG9yJyxcbiAgbGFyZ2VUZXh0OiAnbGFyZ2UtdGV4dC1lZGl0b3InLFxuICBsaW5rOiAnbGluay1lZGl0b3InLFxuICBudW1iZXI6ICdudW1iZXItZWRpdG9yJyxcbiAgcGFzc3dvcmQ6ICdwYXNzd29yZC1lZGl0b3InLFxuICBwaG9uZTogJ3Bob25lLWVkaXRvcicsXG4gIHJpY2hUZXh0OiAncmljaC10ZXh0LWVkaXRvcicsXG4gIHNlbGVjdDogJ3NlbGVjdC1lZGl0b3InLFxuICBzZWxlY3Rpb25MaXN0OiAnc2VsZWN0aW9uLWxpc3QtZWRpdG9yJyxcbiAgdGV4dDogJ3RleHQtZWRpdG9yJyxcbiAgdG9nZ2xlOiAndG9nZ2xlLWVkaXRvcicsXG4gIGJsb2NrTGF5b3V0OiAnYmxvY2stbGF5b3V0JyxcbiAgcGFnZUxheW91dDogJ3BhZ2UtbGF5b3V0JyxcbiAgcmVwZWF0ZXJMYXlvdXQ6ICdyZXBlYXRlci1sYXlvdXQnLFxuICB0ZXh0QmxvY2tMYXlvdXQ6ICd0ZXh0LWJsb2NrLWxheW91dCcsXG4gIGZpbGU6ICdmaWxlJyxcbiAgbWFwOiAnbWFwJyxcbiAgZ2FsbGVyeTogJ2dhbGxlcnknLFxuICBzaWduYXR1cmU6ICdzaWduYXR1cmUnLFxuICBidXR0b25BY3Rpb246ICdidXR0b24tYWN0aW9uJyxcbiAgZG9jdW1lbnQ6ICdkb2N1bWVudC1sYXlvdXQnLFxuICBsb29rdXA6ICdsb29rdXAtZWRpdG9yJyxcbiAgZm9ybUZpZWxkOiAnZm9ybS1maWVsZCcsXG4gIHFyY29kZTogJ3FyY29kZScsXG4gIGdyaWQ6ICdncmlkLWxheW91dCcsXG4gIGdyaWRJdGVtOiAnZ3JpZC1pdGVtLWxheW91dCcsXG4gIGdyaWRSb3c6ICdncmlkLXJvdy1sYXlvdXQnLFxuICB3aWRnZXRTZWxlY3RvcjogJ3dpZGdldC1zZWxlY3RvcicsXG4gIHRlbXBsYXRlOiAndGVtcGxhdGUnLFxuICB0ZW1wbGF0ZURlc2lnbmVyOiAndGVtcGxhdGUtZGVzaWduZXInLFxufTtcblxuZXhwb3J0IHsgQVhQV2lkZ2V0c0NhdGFsb2cgfTtcbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWNhdGFsb2cuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL2xheW91dC9idWlsZGVyL3NyYy9saWIvYnVpbGRlci93aWRnZXQtY2F0YWxvZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLGlCQUFpQixHQUFzQjtJQUMzQyxRQUFRLEVBQUUsaUJBQWlCO0lBQzNCLEtBQUssRUFBRSxjQUFjO0lBQ3JCLE9BQU8sRUFBRSxnQkFBZ0I7SUFDekIsUUFBUSxFQUFFLGtCQUFrQjtJQUM1QixLQUFLLEVBQUUsY0FBYztJQUNyQixTQUFTLEVBQUUsbUJBQW1CO0lBQzlCLElBQUksRUFBRSxhQUFhO0lBQ25CLE1BQU0sRUFBRSxlQUFlO0lBQ3ZCLFFBQVEsRUFBRSxpQkFBaUI7SUFDM0IsS0FBSyxFQUFFLGNBQWM7SUFDckIsUUFBUSxFQUFFLGtCQUFrQjtJQUM1QixNQUFNLEVBQUUsZUFBZTtJQUN2QixhQUFhLEVBQUUsdUJBQXVCO0lBQ3RDLElBQUksRUFBRSxhQUFhO0lBQ25CLE1BQU0sRUFBRSxlQUFlO0lBQ3ZCLFdBQVcsRUFBRSxjQUFjO0lBQzNCLFVBQVUsRUFBRSxhQUFhO0lBQ3pCLGNBQWMsRUFBRSxpQkFBaUI7SUFDakMsZUFBZSxFQUFFLG1CQUFtQjtJQUNwQyxJQUFJLEVBQUUsTUFBTTtJQUNaLEdBQUcsRUFBRSxLQUFLO0lBQ1YsT0FBTyxFQUFFLFNBQVM7SUFDbEIsU0FBUyxFQUFFLFdBQVc7SUFDdEIsWUFBWSxFQUFFLGVBQWU7SUFDN0IsUUFBUSxFQUFFLGlCQUFpQjtJQUMzQixNQUFNLEVBQUUsZUFBZTtJQUN2QixTQUFTLEVBQUUsWUFBWTtJQUN2QixNQUFNLEVBQUUsUUFBUTtJQUNoQixJQUFJLEVBQUUsYUFBYTtJQUNuQixRQUFRLEVBQUUsa0JBQWtCO0lBQzVCLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsY0FBYyxFQUFFLGlCQUFpQjtJQUNqQyxRQUFRLEVBQUUsVUFBVTtJQUNwQixnQkFBZ0IsRUFBRSxtQkFBbUI7SUFDckMsT0FBTyxFQUFFLFVBQVU7Q0FDcEIsQ0FBQztBQUVGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQV2lkZ2V0VHlwZXNNYXAgfSBmcm9tICcuL3dpZGdldC50eXBlcyc7XG5cbmNvbnN0IEFYUFdpZGdldHNDYXRhbG9nOiBBWFBXaWRnZXRUeXBlc01hcCA9IHtcbiAgY2hlY2tib3g6ICdjaGVja2JveC1lZGl0b3InLFxuICBjb2xvcjogJ2NvbG9yLWVkaXRvcicsXG4gIGNvbnRhY3Q6ICdjb250YWN0LWVkaXRvcicsXG4gIGRhdGVUaW1lOiAnZGF0ZS10aW1lLWVkaXRvcicsXG4gIGVtYWlsOiAnZW1haWwtZWRpdG9yJyxcbiAgbGFyZ2VUZXh0OiAnbGFyZ2UtdGV4dC1lZGl0b3InLFxuICBsaW5rOiAnbGluay1lZGl0b3InLFxuICBudW1iZXI6ICdudW1iZXItZWRpdG9yJyxcbiAgcGFzc3dvcmQ6ICdwYXNzd29yZC1lZGl0b3InLFxuICBwaG9uZTogJ3Bob25lLWVkaXRvcicsXG4gIHJpY2hUZXh0OiAncmljaC10ZXh0LWVkaXRvcicsXG4gIHNlbGVjdDogJ3NlbGVjdC1lZGl0b3InLFxuICBzZWxlY3Rpb25MaXN0OiAnc2VsZWN0aW9uLWxpc3QtZWRpdG9yJyxcbiAgdGV4dDogJ3RleHQtZWRpdG9yJyxcbiAgdG9nZ2xlOiAndG9nZ2xlLWVkaXRvcicsXG4gIGJsb2NrTGF5b3V0OiAnYmxvY2stbGF5b3V0JyxcbiAgcGFnZUxheW91dDogJ3BhZ2UtbGF5b3V0JyxcbiAgcmVwZWF0ZXJMYXlvdXQ6ICdyZXBlYXRlci1sYXlvdXQnLFxuICB0ZXh0QmxvY2tMYXlvdXQ6ICd0ZXh0LWJsb2NrLWxheW91dCcsXG4gIGZpbGU6ICdmaWxlJyxcbiAgbWFwOiAnbWFwJyxcbiAgZ2FsbGVyeTogJ2dhbGxlcnknLFxuICBzaWduYXR1cmU6ICdzaWduYXR1cmUnLFxuICBidXR0b25BY3Rpb246ICdidXR0b24tYWN0aW9uJyxcbiAgZG9jdW1lbnQ6ICdkb2N1bWVudC1sYXlvdXQnLFxuICBsb29rdXA6ICdsb29rdXAtZWRpdG9yJyxcbiAgZm9ybUZpZWxkOiAnZm9ybS1maWVsZCcsXG4gIHFyY29kZTogJ3FyY29kZScsXG4gIGdyaWQ6ICdncmlkLWxheW91dCcsXG4gIGdyaWRJdGVtOiAnZ3JpZC1pdGVtLWxheW91dCcsXG4gIGdyaWRSb3c6ICdncmlkLXJvdy1sYXlvdXQnLFxuICB3aWRnZXRTZWxlY3RvcjogJ3dpZGdldC1zZWxlY3RvcicsXG4gIHRlbXBsYXRlOiAndGVtcGxhdGUnLFxuICB0ZW1wbGF0ZURlc2lnbmVyOiAndGVtcGxhdGUtZGVzaWduZXInLFxuICBjcm9uSm9iOiAnY3Jvbi1qb2InLFxufTtcblxuZXhwb3J0IHsgQVhQV2lkZ2V0c0NhdGFsb2cgfTtcbiJdfQ==