@acorex/platform 18.1.5 → 18.1.6

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 (350) hide show
  1. package/common/lib/app/application.types.d.ts +1 -1
  2. package/common/lib/common.module.d.ts +3 -6
  3. package/common/lib/data/data-provider.types.d.ts +1 -0
  4. package/common/lib/data/data.types.d.ts +14 -0
  5. package/common/lib/data/dexie-storage.service.d.ts +6 -20
  6. package/common/lib/data/entity-data-seeder.d.ts +12 -0
  7. package/common/lib/data/entity-storage-service.d.ts +59 -15
  8. package/common/lib/data/index.d.ts +2 -1
  9. package/common/lib/layout/menu/index.d.ts +2 -0
  10. package/common/lib/layout/menu/menu.provider.d.ts +15 -0
  11. package/common/lib/layout/menu/menu.service.d.ts +12 -0
  12. package/common/lib/layout/menu/menu.types.d.ts +8 -1
  13. package/common/lib/schema/widgets/dateTime/dateTime-widget-filter.component.d.ts +2 -0
  14. package/common/lib/schema/widgets/lookup/lookup-widget-edit.component.d.ts +1 -0
  15. package/common/lib/settings/settings.service.d.ts +3 -3
  16. package/common/lib/store/common.actions.d.ts +1 -8
  17. package/common/lib/store/common.effects.d.ts +3 -6
  18. package/common/lib/workflows/common.workflow.d.ts +2 -0
  19. package/core/utils/data-conditioner.d.ts +2 -5
  20. package/esm2022/common/lib/app/app-startup.service.mjs +3 -3
  21. package/esm2022/common/lib/app/application.types.mjs +1 -1
  22. package/esm2022/common/lib/common.module.mjs +38 -31
  23. package/esm2022/common/lib/data/data-provider.types.mjs +1 -1
  24. package/esm2022/common/lib/data/data.types.mjs +2 -0
  25. package/esm2022/common/lib/data/dexie-storage.service.mjs +95 -83
  26. package/esm2022/common/lib/data/entity-data-seeder.mjs +25 -0
  27. package/esm2022/common/lib/data/entity-storage-service.mjs +59 -1
  28. package/esm2022/common/lib/data/index.mjs +3 -2
  29. package/esm2022/common/lib/layout/menu/index.mjs +3 -1
  30. package/esm2022/common/lib/layout/menu/menu.provider.mjs +60 -0
  31. package/esm2022/common/lib/layout/menu/menu.service.mjs +73 -0
  32. package/esm2022/common/lib/layout/menu/menu.types.mjs +1 -1
  33. package/esm2022/common/lib/layout/theme/store/admin-layout.reducers.mjs +24 -19
  34. package/esm2022/common/lib/schema/widgets/avatar/avatar-widget-edit.component.mjs +8 -2
  35. package/esm2022/common/lib/schema/widgets/common-widget-filter/boolean-widget-filter.component.mjs +2 -2
  36. package/esm2022/common/lib/schema/widgets/common-widget-filter/number-widget-filter.component.mjs +2 -2
  37. package/esm2022/common/lib/schema/widgets/common-widget-filter/string-widget-filter.component.mjs +2 -2
  38. package/esm2022/common/lib/schema/widgets/dateTime/dateTime-widget-filter.component.mjs +27 -5
  39. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-edit.component.mjs +3 -3
  40. package/esm2022/common/lib/schema/widgets/gallery/gallery-widget-view.component.mjs +3 -3
  41. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-edit.component.mjs +2 -2
  42. package/esm2022/common/lib/schema/widgets/lookup/lookup-widget-filter.component.mjs +3 -3
  43. package/esm2022/common/lib/settings/settings.service.mjs +10 -7
  44. package/esm2022/common/lib/store/common.actions.mjs +2 -4
  45. package/esm2022/common/lib/store/common.effects.mjs +8 -9
  46. package/esm2022/common/lib/workflows/common.workflow.mjs +7 -4
  47. package/esm2022/core/utils/data-conditioner.mjs +3 -3
  48. package/esm2022/layout/builder/lib/builder/builder.service.mjs +8 -1
  49. package/esm2022/layout/builder/lib/builder/widget-catalog.mjs +2 -1
  50. package/esm2022/layout/builder/lib/builder/widget-container.component.mjs +12 -8
  51. package/esm2022/layout/builder/lib/builder/widget-renderer.component.directive.mjs +2 -1
  52. package/esm2022/layout/builder/lib/builder/widget.types.mjs +12 -8
  53. package/esm2022/layout/designer/index.mjs +3 -1
  54. package/esm2022/layout/designer/lib/designer/components/board/board.component.mjs +7 -3
  55. package/esm2022/layout/designer/lib/designer/components/header-menu/header-menu.component.mjs +66 -5
  56. package/esm2022/layout/designer/lib/designer/components/size-mode/view-size-toolbar.component.mjs +54 -0
  57. package/esm2022/layout/designer/lib/designer/components/widget-picker/widget-picker.component.mjs +24 -15
  58. package/esm2022/layout/designer/lib/designer/designer.component.mjs +17 -56
  59. package/esm2022/layout/designer/lib/designer/shared/designer.service.mjs +27 -5
  60. package/esm2022/layout/designer/lib/designer/shared/widget-designer-renderer.directive.mjs +1 -1
  61. package/esm2022/layout/designer/lib/preview/preview-frame.component.mjs +75 -0
  62. package/esm2022/layout/designer/lib/preview/preview-viewer.component.mjs +58 -0
  63. package/esm2022/layout/designer/lib/preview/preview.component.mjs +67 -9
  64. package/esm2022/layout/entity/lib/entity-detail-list.viewmodel.mjs +48 -36
  65. package/esm2022/layout/entity/lib/entity-master-list.viewmodel.mjs +3 -3
  66. package/esm2022/layout/entity/lib/entity-master-single.viewmodel.mjs +1 -2
  67. package/esm2022/layout/entity/lib/entity-registery.service.mjs +5 -5
  68. package/esm2022/layout/entity/lib/entity.config.mjs +28 -2
  69. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.mjs +5 -5
  70. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-selector.viewmodel.mjs +2 -2
  71. package/esm2022/layout/entity/lib/widgets/lookup-widget/lookup-widget-view.component.mjs +4 -4
  72. package/esm2022/layout/entity/lib/widgets/widget-selector/widget-selector-widget.config.mjs +2 -1
  73. package/esm2022/layout/entity/lib/workflows/create-entity.workflow.mjs +3 -3
  74. package/esm2022/layout/entity/lib/workflows/delete-entity.workflow.mjs +18 -9
  75. package/esm2022/layout/entity/lib/workflows/modify-section.workflow.mjs +7 -5
  76. package/esm2022/layouts/lib/admin/entity-layout/entity-details-view/entity-details-view.component.mjs +3 -3
  77. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/entity-custom-view/entity-custom-view.component.mjs +1 -1
  78. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/components/list-view-option-conditions/list-view-option-conditions.component.mjs +1 -1
  79. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/entity-list-view.component.mjs +3 -3
  80. package/esm2022/layouts/lib/admin/entity-layout/entity-list-view/list-view.config.mjs +9 -5
  81. package/esm2022/layouts/lib/admin/entity-layout/workflows/delete-entity.workflow.mjs +2 -2
  82. package/esm2022/layouts/lib/admin/entity-layout/workflows/modify-entity.workflow.mjs +5 -3
  83. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-detail-list-view/entity-detail-list-view.component.mjs +10 -7
  84. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-list-view/entity-master-list-view.component.mjs +13 -9
  85. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-modify-view/entity-master-modify-view.component.mjs +3 -3
  86. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.mjs +11 -8
  87. package/esm2022/themes/default/lib/layouts/entity-layouts/entity-master-single-view/overview/entity-single-overview.component.mjs +1 -1
  88. package/esm2022/themes/default/lib/layouts/root-layout/components/menu/root-menu.component.mjs +39 -0
  89. package/esm2022/themes/default/lib/layouts/root-layout/index.mjs +2 -1
  90. package/esm2022/themes/default/lib/layouts/root-layout/root-layout.component.mjs +13 -31
  91. package/esm2022/themes/default/lib/layouts/root-layout/root-layout.module.mjs +5 -2
  92. package/esm2022/themes/shared/lib/comments/comment-list-view.component.mjs +28 -20
  93. package/esm2022/themes/shared/lib/comments/comments.service.mjs +3 -2
  94. package/esm2022/themes/shared/lib/comments/comments.type.mjs +1 -1
  95. package/esm2022/themes/shared/lib/components/theme-slot.component.mjs +85 -88
  96. package/esm2022/themes/shared/lib/services/theme.service.mjs +20 -13
  97. package/esm2022/themes/shared/lib/shared.module.mjs +5 -9
  98. package/esm2022/widgets/lib/widgets/advance/gallery/gallery-widget-edit.component.mjs +3 -3
  99. package/esm2022/widgets/lib/widgets/advance/gallery/gallery-widget-view.component.mjs +3 -3
  100. package/esm2022/widgets/lib/widgets/advance/qrcode/qrcode-widget-view.component.mjs +4 -4
  101. package/esm2022/widgets/lib/widgets/editors/color/color-box-widget-column.component.mjs +26 -5
  102. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget-column.component.mjs +18 -4
  103. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget-edit.component.mjs +7 -10
  104. package/esm2022/widgets/lib/widgets/editors/contact/contact-widget.config.mjs +2 -6
  105. package/esm2022/widgets/lib/widgets/editors/date-time/date-time-box-widget-column.component.mjs +18 -8
  106. package/esm2022/widgets/lib/widgets/editors/large-text/large-text-widget-edit.component.mjs +1 -1
  107. package/esm2022/widgets/lib/widgets/editors/large-text/large-text-widget-view.component.mjs +1 -1
  108. package/esm2022/widgets/lib/widgets/editors/rich-text/rich-text-widget-edit.component.mjs +16 -11
  109. package/esm2022/widgets/lib/widgets/editors/select/select-box-widget-view.component.mjs +15 -19
  110. package/esm2022/widgets/lib/widgets/editors/select/select-box-widget.config.mjs +3 -2
  111. package/esm2022/widgets/lib/widgets/index.mjs +2 -1
  112. package/esm2022/widgets/lib/widgets/layout/block/block-widget-view.component.mjs +36 -15
  113. package/esm2022/widgets/lib/widgets/layout/grid/grid-widget-designer.component.mjs +2 -2
  114. package/esm2022/widgets/lib/widgets/layout/repeater/repeater-widget-edit.component.mjs +42 -10
  115. package/esm2022/widgets/lib/widgets/layout/template/index.mjs +5 -0
  116. package/esm2022/widgets/lib/widgets/layout/template/template-widget-designer.component.mjs +70 -0
  117. package/esm2022/widgets/lib/widgets/layout/template/template-widget-edit.component.mjs +55 -0
  118. package/esm2022/widgets/lib/widgets/layout/template/template-widget-view.component.mjs +56 -0
  119. package/esm2022/widgets/lib/widgets/layout/template/template-widget.config.mjs +30 -0
  120. package/esm2022/widgets/lib/widgets/layout/template/template.provider.mjs +41 -0
  121. package/esm2022/widgets/lib/widgets.module.mjs +4 -1
  122. package/fesm2022/{acorex-platform-common-avatar-widget-edit.component-CSSz-dqg.mjs → acorex-platform-common-avatar-widget-edit.component-WAlG5E_9.mjs} +15 -6
  123. package/fesm2022/acorex-platform-common-avatar-widget-edit.component-WAlG5E_9.mjs.map +1 -0
  124. package/fesm2022/{acorex-platform-common-avatar-widget-view.component-WofmamJK.mjs → acorex-platform-common-avatar-widget-view.component-DRyB3UWf.mjs} +8 -5
  125. package/fesm2022/acorex-platform-common-avatar-widget-view.component-DRyB3UWf.mjs.map +1 -0
  126. package/fesm2022/{acorex-platform-common-boolean-widget-filter.component-ByoMpVAs.mjs → acorex-platform-common-boolean-widget-filter.component-DY4oTjC-.mjs} +8 -6
  127. package/fesm2022/acorex-platform-common-boolean-widget-filter.component-DY4oTjC-.mjs.map +1 -0
  128. package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-BAK1Wlh_.mjs → acorex-platform-common-checkbox-widget-column.component-NSXcrUwU.mjs} +8 -5
  129. package/fesm2022/{acorex-platform-common-checkbox-widget-column.component-BAK1Wlh_.mjs.map → acorex-platform-common-checkbox-widget-column.component-NSXcrUwU.mjs.map} +1 -1
  130. package/fesm2022/{acorex-platform-common-checkbox-widget-edit.component-C1PgHZsE.mjs → acorex-platform-common-checkbox-widget-edit.component-BU7qV5Cm.mjs} +8 -5
  131. package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-BU7qV5Cm.mjs.map +1 -0
  132. package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-B4BG4mCQ.mjs → acorex-platform-common-checkbox-widget-view.component-2Du2IzDS.mjs} +8 -5
  133. package/fesm2022/{acorex-platform-common-checkbox-widget-view.component-B4BG4mCQ.mjs.map → acorex-platform-common-checkbox-widget-view.component-2Du2IzDS.mjs.map} +1 -1
  134. package/fesm2022/{acorex-platform-common-dateTime-widget-column.component-BnW8m1wn.mjs → acorex-platform-common-dateTime-widget-column.component-Dd7fgwu3.mjs} +8 -5
  135. package/fesm2022/acorex-platform-common-dateTime-widget-column.component-Dd7fgwu3.mjs.map +1 -0
  136. package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-DCYX2iyT.mjs → acorex-platform-common-dateTime-widget-edit.component-B4AelVJp.mjs} +8 -5
  137. package/fesm2022/{acorex-platform-common-dateTime-widget-edit.component-DCYX2iyT.mjs.map → acorex-platform-common-dateTime-widget-edit.component-B4AelVJp.mjs.map} +1 -1
  138. package/fesm2022/{acorex-platform-common-dateTime-widget-filter.component-Dbxz84tm.mjs → acorex-platform-common-dateTime-widget-filter.component-Ytm-TwOP.mjs} +33 -9
  139. package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-Ytm-TwOP.mjs.map +1 -0
  140. package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-Bg1h8xAj.mjs → acorex-platform-common-dateTime-widget-view.component-BKdqOPkb.mjs} +8 -5
  141. package/fesm2022/{acorex-platform-common-dateTime-widget-view.component-Bg1h8xAj.mjs.map → acorex-platform-common-dateTime-widget-view.component-BKdqOPkb.mjs.map} +1 -1
  142. package/fesm2022/{acorex-platform-common-email-widget-column.component-BqRR2jW9.mjs → acorex-platform-common-email-widget-column.component-CDKqwlPD.mjs} +8 -5
  143. package/fesm2022/acorex-platform-common-email-widget-column.component-CDKqwlPD.mjs.map +1 -0
  144. package/fesm2022/{acorex-platform-common-email-widget-edit.component-C7oCyByG.mjs → acorex-platform-common-email-widget-edit.component-BT2rJjaW.mjs} +8 -5
  145. package/fesm2022/{acorex-platform-common-email-widget-edit.component-C7oCyByG.mjs.map → acorex-platform-common-email-widget-edit.component-BT2rJjaW.mjs.map} +1 -1
  146. package/fesm2022/{acorex-platform-common-email-widget-view.component-hfVZnW_L.mjs → acorex-platform-common-email-widget-view.component-DbhRWpB1.mjs} +8 -5
  147. package/fesm2022/{acorex-platform-common-email-widget-view.component-hfVZnW_L.mjs.map → acorex-platform-common-email-widget-view.component-DbhRWpB1.mjs.map} +1 -1
  148. package/fesm2022/{acorex-platform-common-file-widget-column.component-Dt2mR6hJ.mjs → acorex-platform-common-file-widget-column.component-8U76QgEQ.mjs} +7 -4
  149. package/fesm2022/acorex-platform-common-file-widget-column.component-8U76QgEQ.mjs.map +1 -0
  150. package/fesm2022/{acorex-platform-common-file-widget-edit.component-DQol3UN8.mjs → acorex-platform-common-file-widget-edit.component-OFmiYz_5.mjs} +8 -5
  151. package/fesm2022/{acorex-platform-common-file-widget-edit.component-DQol3UN8.mjs.map → acorex-platform-common-file-widget-edit.component-OFmiYz_5.mjs.map} +1 -1
  152. package/fesm2022/{acorex-platform-common-file-widget-filter.component-CGd1mY-z.mjs → acorex-platform-common-file-widget-filter.component-ZLnpXMXK.mjs} +8 -5
  153. package/fesm2022/acorex-platform-common-file-widget-filter.component-ZLnpXMXK.mjs.map +1 -0
  154. package/fesm2022/{acorex-platform-common-file-widget-view.component-lKWnGSSb.mjs → acorex-platform-common-file-widget-view.component-BcrM4XrO.mjs} +8 -5
  155. package/fesm2022/{acorex-platform-common-file-widget-view.component-lKWnGSSb.mjs.map → acorex-platform-common-file-widget-view.component-BcrM4XrO.mjs.map} +1 -1
  156. package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-DgjY3ZWk.mjs → acorex-platform-common-gallery-widget-edit.component-pBBjrjDP.mjs} +9 -6
  157. package/fesm2022/{acorex-platform-common-gallery-widget-edit.component-DgjY3ZWk.mjs.map → acorex-platform-common-gallery-widget-edit.component-pBBjrjDP.mjs.map} +1 -1
  158. package/fesm2022/{acorex-platform-common-gallery-widget-filter.component-CUw4kxTW.mjs → acorex-platform-common-gallery-widget-filter.component-Cp7t9ovC.mjs} +8 -5
  159. package/fesm2022/acorex-platform-common-gallery-widget-filter.component-Cp7t9ovC.mjs.map +1 -0
  160. package/fesm2022/{acorex-platform-common-gallery-widget-view.component-DK52JTds.mjs → acorex-platform-common-gallery-widget-view.component-CPS-h3cq.mjs} +9 -6
  161. package/fesm2022/{acorex-platform-common-gallery-widget-view.component-DK52JTds.mjs.map → acorex-platform-common-gallery-widget-view.component-CPS-h3cq.mjs.map} +1 -1
  162. package/fesm2022/{acorex-platform-common-largetext-widget-edit.component-7bbHUOnp.mjs → acorex-platform-common-largetext-widget-edit.component-DA6r3rVA.mjs} +8 -5
  163. package/fesm2022/acorex-platform-common-largetext-widget-edit.component-DA6r3rVA.mjs.map +1 -0
  164. package/fesm2022/{acorex-platform-common-lookup-widget-column.component-PGf5qjC4.mjs → acorex-platform-common-lookup-widget-column.component-Cxv1yZvE.mjs} +8 -5
  165. package/fesm2022/acorex-platform-common-lookup-widget-column.component-Cxv1yZvE.mjs.map +1 -0
  166. package/fesm2022/{acorex-platform-common-lookup-widget-edit.component-CGZf6rH2.mjs → acorex-platform-common-lookup-widget-edit.component-CUtGoAGX.mjs} +9 -6
  167. package/fesm2022/acorex-platform-common-lookup-widget-edit.component-CUtGoAGX.mjs.map +1 -0
  168. package/fesm2022/{acorex-platform-common-lookup-widget-filter.component-CUBdIuu9.mjs → acorex-platform-common-lookup-widget-filter.component-DJZqB3vj.mjs} +9 -7
  169. package/fesm2022/acorex-platform-common-lookup-widget-filter.component-DJZqB3vj.mjs.map +1 -0
  170. package/fesm2022/{acorex-platform-common-lookup-widget-view.component-dmGctRc9.mjs → acorex-platform-common-lookup-widget-view.component-CghJK1C4.mjs} +8 -5
  171. package/fesm2022/acorex-platform-common-lookup-widget-view.component-CghJK1C4.mjs.map +1 -0
  172. package/fesm2022/{acorex-platform-common-map-widget-edit.component-Cyi6AF9u.mjs → acorex-platform-common-map-widget-edit.component-oSb3kVMc.mjs} +8 -5
  173. package/fesm2022/acorex-platform-common-map-widget-edit.component-oSb3kVMc.mjs.map +1 -0
  174. package/fesm2022/{acorex-platform-common-map-widget-view.component-Cbl1KClC.mjs → acorex-platform-common-map-widget-view.component-BrYwr914.mjs} +8 -5
  175. package/fesm2022/acorex-platform-common-map-widget-view.component-BrYwr914.mjs.map +1 -0
  176. package/fesm2022/{acorex-platform-common-messenger-widget-column.component-BGiTw0jL.mjs → acorex-platform-common-messenger-widget-column.component-DIJAffxy.mjs} +8 -5
  177. package/fesm2022/acorex-platform-common-messenger-widget-column.component-DIJAffxy.mjs.map +1 -0
  178. package/fesm2022/{acorex-platform-common-messenger-widget-edit.component-BBSmai_5.mjs → acorex-platform-common-messenger-widget-edit.component-DpGvbM4a.mjs} +8 -5
  179. package/fesm2022/acorex-platform-common-messenger-widget-edit.component-DpGvbM4a.mjs.map +1 -0
  180. package/fesm2022/{acorex-platform-common-messenger-widget-view.component-C15KdEZ6.mjs → acorex-platform-common-messenger-widget-view.component-CeuDEI-j.mjs} +8 -5
  181. package/fesm2022/{acorex-platform-common-messenger-widget-view.component-C15KdEZ6.mjs.map → acorex-platform-common-messenger-widget-view.component-CeuDEI-j.mjs.map} +1 -1
  182. package/fesm2022/{acorex-platform-common-number-widget-edit.component-CGmS-gd7.mjs → acorex-platform-common-number-widget-edit.component-B1YGwr60.mjs} +8 -5
  183. package/fesm2022/acorex-platform-common-number-widget-edit.component-B1YGwr60.mjs.map +1 -0
  184. package/fesm2022/{acorex-platform-common-number-widget-filter.component-8RC01k_0.mjs → acorex-platform-common-number-widget-filter.component-BmmgPy1w.mjs} +9 -6
  185. package/fesm2022/acorex-platform-common-number-widget-filter.component-BmmgPy1w.mjs.map +1 -0
  186. package/fesm2022/{acorex-platform-common-number-widget-view.component-DGPcZ-yE.mjs → acorex-platform-common-number-widget-view.component-bqylVHOz.mjs} +8 -5
  187. package/fesm2022/acorex-platform-common-number-widget-view.component-bqylVHOz.mjs.map +1 -0
  188. package/fesm2022/{acorex-platform-common-password-widget-column.component-O3L2DvZq.mjs → acorex-platform-common-password-widget-column.component-DVdZh7s4.mjs} +8 -5
  189. package/fesm2022/{acorex-platform-common-password-widget-column.component-O3L2DvZq.mjs.map → acorex-platform-common-password-widget-column.component-DVdZh7s4.mjs.map} +1 -1
  190. package/fesm2022/{acorex-platform-common-password-widget-edit.component-DZz6rAL3.mjs → acorex-platform-common-password-widget-edit.component-OjHwMT5d.mjs} +8 -5
  191. package/fesm2022/acorex-platform-common-password-widget-edit.component-OjHwMT5d.mjs.map +1 -0
  192. package/fesm2022/{acorex-platform-common-password-widget-view.component-OxinnOs8.mjs → acorex-platform-common-password-widget-view.component-BeSk1OgU.mjs} +8 -5
  193. package/fesm2022/{acorex-platform-common-password-widget-view.component-OxinnOs8.mjs.map → acorex-platform-common-password-widget-view.component-BeSk1OgU.mjs.map} +1 -1
  194. package/fesm2022/{acorex-platform-common-phone-widget-column.component-D9AXNMVq.mjs → acorex-platform-common-phone-widget-column.component-DOfzGKBi.mjs} +8 -5
  195. package/fesm2022/{acorex-platform-common-phone-widget-column.component-D9AXNMVq.mjs.map → acorex-platform-common-phone-widget-column.component-DOfzGKBi.mjs.map} +1 -1
  196. package/fesm2022/{acorex-platform-common-phone-widget-edit.component-CKvODAMQ.mjs → acorex-platform-common-phone-widget-edit.component-BJ-iEyLP.mjs} +7 -5
  197. package/fesm2022/{acorex-platform-common-phone-widget-edit.component-CKvODAMQ.mjs.map → acorex-platform-common-phone-widget-edit.component-BJ-iEyLP.mjs.map} +1 -1
  198. package/fesm2022/{acorex-platform-common-phone-widget-view.component-Cx-SrpUs.mjs → acorex-platform-common-phone-widget-view.component-DW4AHCE6.mjs} +8 -5
  199. package/fesm2022/{acorex-platform-common-phone-widget-view.component-Cx-SrpUs.mjs.map → acorex-platform-common-phone-widget-view.component-DW4AHCE6.mjs.map} +1 -1
  200. package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-C7IqYbqM.mjs → acorex-platform-common-rich-text-widget-column.component-2zZBG6Ze.mjs} +8 -5
  201. package/fesm2022/{acorex-platform-common-rich-text-widget-column.component-C7IqYbqM.mjs.map → acorex-platform-common-rich-text-widget-column.component-2zZBG6Ze.mjs.map} +1 -1
  202. package/fesm2022/{acorex-platform-common-rich-text-widget-edit.component-DtEcLWte.mjs → acorex-platform-common-rich-text-widget-edit.component-BJveJgHZ.mjs} +8 -5
  203. package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-BJveJgHZ.mjs.map +1 -0
  204. package/fesm2022/{acorex-platform-common-rich-text-widget-view.component-DI4I6wII.mjs → acorex-platform-common-rich-text-widget-view.component-CiViWpBX.mjs} +8 -5
  205. package/fesm2022/acorex-platform-common-rich-text-widget-view.component-CiViWpBX.mjs.map +1 -0
  206. package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-CHDTopqW.mjs → acorex-platform-common-selection-list-widget-column.component-D9lsVFgo.mjs} +8 -5
  207. package/fesm2022/{acorex-platform-common-selection-list-widget-column.component-CHDTopqW.mjs.map → acorex-platform-common-selection-list-widget-column.component-D9lsVFgo.mjs.map} +1 -1
  208. package/fesm2022/{acorex-platform-common-selection-list-widget-edit.component-Ds7Pc22g.mjs → acorex-platform-common-selection-list-widget-edit.component-ocEwyUP7.mjs} +8 -5
  209. package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-ocEwyUP7.mjs.map +1 -0
  210. package/fesm2022/{acorex-platform-common-selection-list-widget-filter.component-D7h2tUqB.mjs → acorex-platform-common-selection-list-widget-filter.component-CS0f_jCx.mjs} +7 -5
  211. package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-CS0f_jCx.mjs.map +1 -0
  212. package/fesm2022/{acorex-platform-common-selection-list-widget-view.component-DGuotR-q.mjs → acorex-platform-common-selection-list-widget-view.component-C65lbpo_.mjs} +8 -5
  213. package/fesm2022/acorex-platform-common-selection-list-widget-view.component-C65lbpo_.mjs.map +1 -0
  214. package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-DPr0hCtB.mjs → acorex-platform-common-signature-pad-widget-edit.component-DbfQSGxm.mjs} +7 -4
  215. package/fesm2022/{acorex-platform-common-signature-pad-widget-edit.component-DPr0hCtB.mjs.map → acorex-platform-common-signature-pad-widget-edit.component-DbfQSGxm.mjs.map} +1 -1
  216. package/fesm2022/{acorex-platform-common-signature-pad-widget-view.component-CdqZ17tU.mjs → acorex-platform-common-signature-pad-widget-view.component-CDY3JdP-.mjs} +8 -5
  217. package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-CDY3JdP-.mjs.map +1 -0
  218. package/fesm2022/{acorex-platform-common-string-widget-filter.component-Ctde9CDD.mjs → acorex-platform-common-string-widget-filter.component-BW2ehdOx.mjs} +9 -6
  219. package/fesm2022/acorex-platform-common-string-widget-filter.component-BW2ehdOx.mjs.map +1 -0
  220. package/fesm2022/{acorex-platform-common-text-widget-column.component-BHd_WWKq.mjs → acorex-platform-common-text-widget-column.component-bhx0QWAX.mjs} +8 -5
  221. package/fesm2022/{acorex-platform-common-text-widget-column.component-BHd_WWKq.mjs.map → acorex-platform-common-text-widget-column.component-bhx0QWAX.mjs.map} +1 -1
  222. package/fesm2022/{acorex-platform-common-text-widget-edit.component-BwfelIOW.mjs → acorex-platform-common-text-widget-edit.component-Cb1k59hs.mjs} +8 -5
  223. package/fesm2022/acorex-platform-common-text-widget-edit.component-Cb1k59hs.mjs.map +1 -0
  224. package/fesm2022/{acorex-platform-common-text-widget-view.component-SHWXqKZS.mjs → acorex-platform-common-text-widget-view.component-CGwY9c2O.mjs} +8 -5
  225. package/fesm2022/{acorex-platform-common-text-widget-view.component-SHWXqKZS.mjs.map → acorex-platform-common-text-widget-view.component-CGwY9c2O.mjs.map} +1 -1
  226. package/fesm2022/{acorex-platform-common-toggle-widget-column.component-Dc_Ahdvn.mjs → acorex-platform-common-toggle-widget-column.component-BxAwa7jw.mjs} +8 -5
  227. package/fesm2022/{acorex-platform-common-toggle-widget-column.component-Dc_Ahdvn.mjs.map → acorex-platform-common-toggle-widget-column.component-BxAwa7jw.mjs.map} +1 -1
  228. package/fesm2022/{acorex-platform-common-toggle-widget-edit.component-BnPyXdAA.mjs → acorex-platform-common-toggle-widget-edit.component-CT2fRAKm.mjs} +8 -5
  229. package/fesm2022/acorex-platform-common-toggle-widget-edit.component-CT2fRAKm.mjs.map +1 -0
  230. package/fesm2022/{acorex-platform-common-toggle-widget-view.component-D14GMwWe.mjs → acorex-platform-common-toggle-widget-view.component-9tquFHhE.mjs} +8 -5
  231. package/fesm2022/{acorex-platform-common-toggle-widget-view.component-D14GMwWe.mjs.map → acorex-platform-common-toggle-widget-view.component-9tquFHhE.mjs.map} +1 -1
  232. package/fesm2022/acorex-platform-common.mjs +639 -434
  233. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  234. package/fesm2022/acorex-platform-core.mjs +2 -2
  235. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  236. package/fesm2022/acorex-platform-layout-builder.mjs +28 -11
  237. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  238. package/fesm2022/acorex-platform-layout-designer.mjs +365 -67
  239. package/fesm2022/acorex-platform-layout-designer.mjs.map +1 -1
  240. package/fesm2022/acorex-platform-layout-entity.mjs +103 -57
  241. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  242. package/fesm2022/acorex-platform-layouts.mjs +16 -11
  243. package/fesm2022/acorex-platform-layouts.mjs.map +1 -1
  244. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-Q8eTfAVx.mjs → acorex-platform-themes-default-entity-master-create-view.component-i6vjEhti.mjs} +3 -3
  245. package/fesm2022/{acorex-platform-themes-default-entity-master-create-view.component-Q8eTfAVx.mjs.map → acorex-platform-themes-default-entity-master-create-view.component-i6vjEhti.mjs.map} +1 -1
  246. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-CNXG0nP4.mjs → acorex-platform-themes-default-entity-master-list-view.component-BGKWaCth.mjs} +22 -18
  247. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BGKWaCth.mjs.map +1 -0
  248. package/fesm2022/{acorex-platform-themes-default-entity-master-modify-view.component-BijYXMme.mjs → acorex-platform-themes-default-entity-master-modify-view.component-B3phYOIw.mjs} +5 -5
  249. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-B3phYOIw.mjs.map +1 -0
  250. package/fesm2022/{acorex-platform-themes-default-entity-master-single-view.component-Bnrabotu.mjs → acorex-platform-themes-default-entity-master-single-view.component-DyZHE0o-.mjs} +16 -13
  251. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-DyZHE0o-.mjs.map +1 -0
  252. package/fesm2022/acorex-platform-themes-default.mjs +75 -57
  253. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  254. package/fesm2022/acorex-platform-themes-shared.mjs +130 -121
  255. package/fesm2022/acorex-platform-themes-shared.mjs.map +1 -1
  256. package/fesm2022/acorex-platform-widgets-template-widget-edit.component-gvAh-gH1.mjs +96 -0
  257. package/fesm2022/acorex-platform-widgets-template-widget-edit.component-gvAh-gH1.mjs.map +1 -0
  258. package/fesm2022/acorex-platform-widgets.mjs +369 -86
  259. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  260. package/layout/builder/lib/builder/widget-container.component.d.ts +3 -2
  261. package/layout/builder/lib/builder/widget.types.d.ts +4 -1
  262. package/layout/designer/index.d.ts +2 -0
  263. package/layout/designer/lib/designer/components/board/board.component.d.ts +1 -0
  264. package/layout/designer/lib/designer/components/header-menu/header-menu.component.d.ts +1 -0
  265. package/layout/designer/lib/designer/components/size-mode/view-size-toolbar.component.d.ts +6 -0
  266. package/layout/designer/lib/designer/components/widget-picker/widget-picker.component.d.ts +1 -1
  267. package/layout/designer/lib/designer/designer.component.d.ts +1 -1
  268. package/layout/designer/lib/designer/shared/designer.service.d.ts +6 -1
  269. package/layout/designer/lib/preview/preview-frame.component.d.ts +8 -0
  270. package/layout/designer/lib/preview/preview-viewer.component.d.ts +14 -0
  271. package/layout/designer/lib/preview/preview.component.d.ts +17 -3
  272. package/layout/entity/lib/entity-detail-list.viewmodel.d.ts +4 -4
  273. package/layout/entity/lib/entity-master-create.viewmodel.d.ts +1 -1
  274. package/layout/entity/lib/entity-master-single.viewmodel.d.ts +1 -5
  275. package/layout/entity/lib/entity-master-update.viewmodel.d.ts +1 -1
  276. package/layout/entity/lib/entity-registery.service.d.ts +1 -1
  277. package/layout/entity/lib/entity.config.d.ts +7 -0
  278. package/layout/entity/lib/entity.viewmodel.d.ts +1 -1
  279. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-edit.component.d.ts +2 -1
  280. package/layout/entity/lib/widgets/lookup-widget/lookup-widget-view.component.d.ts +2 -1
  281. package/layout/entity/lib/workflows/delete-entity.workflow.d.ts +1 -0
  282. package/layout/entity/lib/workflows/modify-section.workflow.d.ts +1 -0
  283. package/layouts/lib/admin/entity-layout/workflows/modify-entity.workflow.d.ts +1 -0
  284. package/package.json +13 -13
  285. package/themes/default/lib/layouts/entity-layouts/entity-master-single-view/entity-master-single-view.component.d.ts +1 -1
  286. package/themes/default/lib/layouts/root-layout/components/menu/root-menu.component.d.ts +22 -0
  287. package/themes/default/lib/layouts/root-layout/index.d.ts +1 -0
  288. package/themes/default/lib/layouts/root-layout/root-layout.component.d.ts +0 -4
  289. package/themes/default/lib/layouts/root-layout/root-layout.module.d.ts +17 -16
  290. package/themes/shared/lib/comments/comment-list-view.component.d.ts +16 -11
  291. package/themes/shared/lib/comments/comments.service.d.ts +4 -7
  292. package/themes/shared/lib/comments/comments.type.d.ts +23 -19
  293. package/themes/shared/lib/components/theme-slot.component.d.ts +1 -1
  294. package/themes/shared/lib/services/theme.service.d.ts +1 -1
  295. package/themes/shared/lib/shared.module.d.ts +0 -1
  296. package/widgets/lib/widgets/advance/qrcode/qrcode-widget-view.component.d.ts +1 -1
  297. package/widgets/lib/widgets/editors/color/color-box-widget-column.component.d.ts +3 -0
  298. package/widgets/lib/widgets/editors/contact/contact-widget-column.component.d.ts +2 -0
  299. package/widgets/lib/widgets/editors/contact/contact-widget-edit.component.d.ts +1 -1
  300. package/widgets/lib/widgets/editors/contact/contact-widget-view.component.d.ts +1 -1
  301. package/widgets/lib/widgets/editors/date-time/date-time-box-widget-column.component.d.ts +3 -0
  302. package/widgets/lib/widgets/editors/rich-text/rich-text-widget-edit.component.d.ts +3 -2
  303. package/widgets/lib/widgets/index.d.ts +1 -0
  304. package/widgets/lib/widgets/layout/block/block-widget-view.component.d.ts +4 -2
  305. package/widgets/lib/widgets/layout/repeater/repeater-widget-edit.component.d.ts +1 -0
  306. package/widgets/lib/widgets/layout/template/index.d.ts +4 -0
  307. package/widgets/lib/widgets/layout/template/template-widget-designer.component.d.ts +11 -0
  308. package/widgets/lib/widgets/layout/template/template-widget-edit.component.d.ts +10 -0
  309. package/widgets/lib/widgets/layout/template/template-widget-view.component.d.ts +10 -0
  310. package/widgets/lib/widgets/layout/template/template-widget.config.d.ts +7 -0
  311. package/widgets/lib/widgets/layout/template/template.provider.d.ts +21 -0
  312. package/common/lib/data/entity-data-provider.d.ts +0 -14
  313. package/esm2022/common/lib/data/entity-data-provider.mjs +0 -26
  314. package/fesm2022/acorex-platform-common-avatar-widget-edit.component-CSSz-dqg.mjs.map +0 -1
  315. package/fesm2022/acorex-platform-common-avatar-widget-view.component-WofmamJK.mjs.map +0 -1
  316. package/fesm2022/acorex-platform-common-boolean-widget-filter.component-ByoMpVAs.mjs.map +0 -1
  317. package/fesm2022/acorex-platform-common-checkbox-widget-edit.component-C1PgHZsE.mjs.map +0 -1
  318. package/fesm2022/acorex-platform-common-dateTime-widget-column.component-BnW8m1wn.mjs.map +0 -1
  319. package/fesm2022/acorex-platform-common-dateTime-widget-filter.component-Dbxz84tm.mjs.map +0 -1
  320. package/fesm2022/acorex-platform-common-email-widget-column.component-BqRR2jW9.mjs.map +0 -1
  321. package/fesm2022/acorex-platform-common-file-widget-column.component-Dt2mR6hJ.mjs.map +0 -1
  322. package/fesm2022/acorex-platform-common-file-widget-filter.component-CGd1mY-z.mjs.map +0 -1
  323. package/fesm2022/acorex-platform-common-gallery-widget-filter.component-CUw4kxTW.mjs.map +0 -1
  324. package/fesm2022/acorex-platform-common-largetext-widget-edit.component-7bbHUOnp.mjs.map +0 -1
  325. package/fesm2022/acorex-platform-common-lookup-widget-column.component-PGf5qjC4.mjs.map +0 -1
  326. package/fesm2022/acorex-platform-common-lookup-widget-edit.component-CGZf6rH2.mjs.map +0 -1
  327. package/fesm2022/acorex-platform-common-lookup-widget-filter.component-CUBdIuu9.mjs.map +0 -1
  328. package/fesm2022/acorex-platform-common-lookup-widget-view.component-dmGctRc9.mjs.map +0 -1
  329. package/fesm2022/acorex-platform-common-map-widget-edit.component-Cyi6AF9u.mjs.map +0 -1
  330. package/fesm2022/acorex-platform-common-map-widget-view.component-Cbl1KClC.mjs.map +0 -1
  331. package/fesm2022/acorex-platform-common-messenger-widget-column.component-BGiTw0jL.mjs.map +0 -1
  332. package/fesm2022/acorex-platform-common-messenger-widget-edit.component-BBSmai_5.mjs.map +0 -1
  333. package/fesm2022/acorex-platform-common-number-widget-edit.component-CGmS-gd7.mjs.map +0 -1
  334. package/fesm2022/acorex-platform-common-number-widget-filter.component-8RC01k_0.mjs.map +0 -1
  335. package/fesm2022/acorex-platform-common-number-widget-view.component-DGPcZ-yE.mjs.map +0 -1
  336. package/fesm2022/acorex-platform-common-password-widget-edit.component-DZz6rAL3.mjs.map +0 -1
  337. package/fesm2022/acorex-platform-common-rich-text-widget-edit.component-DtEcLWte.mjs.map +0 -1
  338. package/fesm2022/acorex-platform-common-rich-text-widget-view.component-DI4I6wII.mjs.map +0 -1
  339. package/fesm2022/acorex-platform-common-selection-list-widget-edit.component-Ds7Pc22g.mjs.map +0 -1
  340. package/fesm2022/acorex-platform-common-selection-list-widget-filter.component-D7h2tUqB.mjs.map +0 -1
  341. package/fesm2022/acorex-platform-common-selection-list-widget-view.component-DGuotR-q.mjs.map +0 -1
  342. package/fesm2022/acorex-platform-common-signature-pad-widget-view.component-CdqZ17tU.mjs.map +0 -1
  343. package/fesm2022/acorex-platform-common-string-widget-filter.component-Ctde9CDD.mjs.map +0 -1
  344. package/fesm2022/acorex-platform-common-text-widget-edit.component-BwfelIOW.mjs.map +0 -1
  345. package/fesm2022/acorex-platform-common-toggle-widget-edit.component-BnPyXdAA.mjs.map +0 -1
  346. package/fesm2022/acorex-platform-layout-designer-preview.component-CaRHf4x_.mjs +0 -23
  347. package/fesm2022/acorex-platform-layout-designer-preview.component-CaRHf4x_.mjs.map +0 -1
  348. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-CNXG0nP4.mjs.map +0 -1
  349. package/fesm2022/acorex-platform-themes-default-entity-master-modify-view.component-BijYXMme.mjs.map +0 -1
  350. package/fesm2022/acorex-platform-themes-default-entity-master-single-view.component-Bnrabotu.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { AXDataSource } from '@acorex/components/common';
2
- import { AXPEntityListViewConfigEmpty, AXPEntityRegistryService, AXPSchemaRegistryService } from '@acorex/platform/common';
2
+ import { AXPEntityListViewConfigEmpty, AXPEntityRegistryService, AXPSchemaRegistryService, } from '@acorex/platform/common';
3
3
  import { Injectable, InjectionToken, inject } from '@angular/core';
4
4
  import { cloneDeep } from 'lodash-es';
5
5
  import { BehaviorSubject, defaultIfEmpty, first, map, of, switchMap } from 'rxjs';
@@ -215,7 +215,7 @@ export class AXPListViewLoaderDefault {
215
215
  return this._currentConditions$.pipe(defaultIfEmpty([]));
216
216
  }
217
217
  get conditionsCount$() {
218
- return this.view$.pipe(map((c) => c.conditions.length));
218
+ return this._currentConditions$.pipe(map((c) => c.length));
219
219
  }
220
220
  getInlineFilterTitles() {
221
221
  return this._inlineFilterItems.map((item) => item.title);
@@ -245,7 +245,7 @@ export class AXPListViewLoaderDefault {
245
245
  inlineConditions.push({
246
246
  name: property.name,
247
247
  value: property.dataType == 'number' ? parseFloat(value) : value,
248
- operator: property.dataType == 'string' ? 'contains' : 'equal',
248
+ operator: property.dataType == 'string' ? 'equal' : 'equal',
249
249
  });
250
250
  }
251
251
  });
@@ -299,8 +299,12 @@ export class AXPListViewLoaderDefault {
299
299
  });
300
300
  }
301
301
  resetConditions() {
302
+ let propNames = [];
303
+ this.properties$.pipe(first()).subscribe((properties) => {
304
+ propNames = properties.map((p) => p.name);
305
+ });
302
306
  this.view$.pipe(first()).subscribe((view) => {
303
- this._currentConditions$.next(cloneDeep(view.conditions));
307
+ this._currentConditions$.next(cloneDeep(view.conditions.filter((c) => propNames.includes(c.name))));
304
308
  });
305
309
  }
306
310
  }
@@ -332,4 +336,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
332
336
  type: Injectable,
333
337
  args: [{ providedIn: 'root' }]
334
338
  }] });
335
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0cy9zcmMvbGliL2FkbWluL2VudGl0eS1sYXlvdXQvZW50aXR5LWxpc3Qtdmlldy9saXN0LXZpZXcuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQW9ELE1BQU0sMkJBQTJCLENBQUM7QUFDM0csT0FBTyxFQUFnSyw0QkFBNEIsRUFBMkIsd0JBQXdCLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNsVCxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsZUFBZSxFQUFjLGNBQWMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFOUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBNkMzRCxNQUFNLE9BQU8sd0JBQXdCO0lBS25DLFlBQW9CLE1BQXVCLEVBQVUsYUFBdUM7UUFBeEUsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFBVSxrQkFBYSxHQUFiLGFBQWEsQ0FBMEI7UUFIcEYsZ0JBQVcsR0FBaUIsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyRSx1QkFBa0IsR0FBb0UsRUFBRSxDQUFDO1FBMEJ6RixZQUFPLEdBQUcsSUFBSSxlQUFlLENBQTRCLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQU10RSxZQUFPLEdBQUcsQ0FBQyxJQUFZLEVBQXVDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJ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QyxNQUFNLENBQUMsVUFBa0IsRUFBRSxVQUFrQjtRQUN4RCxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3hFLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4QyxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO1FBQ0QsTUFBTSxHQUFHLElBQUksd0JBQXdCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNsRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs4R0FsQlUsd0JBQXdCO2tIQUF4Qix3QkFBd0IsY0FEWCxNQUFNOzsyRkFDbkIsd0JBQXdCO2tCQURwQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRGF0YVNvdXJjZSwgQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uLCBBWERhdGFTb3VyY2VTb3J0T3B0aW9uIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBFbnRpdHlDb25maWcsIEFYUEVudGl0eUxpc3RDb2x1bW5Db25maWcsIEFYUEVudGl0eUxpc3RDb25kaXRpb25Db25maWcsIEFYUEVudGl0eUxpc3REaXNwbGF5Q29sdW1uQ29uZmlnLCBBWFBFbnRpdHlMaXN0U29ydENvbmZpZywgQVhQRW50aXR5TGlzdFZpZXdDb25maWcsIEFYUEVudGl0eUxpc3RWaWV3Q29uZmlnRW1wdHksIEFYUEVudGl0eVByb3BlcnR5Q29uZmlnLCBBWFBFbnRpdHlSZWdpc3RyeVNlcnZpY2UsIEFYUFNjaGVtYVJlZ2lzdHJ5U2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGRlZmF1bHRJZkVtcHR5LCBmaXJzdCwgbWFwLCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IEFYUExheW91dFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhQTGlzdFZpZXdMb2FkZXIge1xuICBnZXQgcHJvcGVydGllcyQoKTogT2JzZXJ2YWJsZTxBWFBFbnRpdHlQcm9wZXJ0eUNvbmZpZ1tdPjtcbiAgZ2V0UHJvcChuYW1lOiBzdHJpbmcpOiBBWFBFbnRpdHlQcm9wZXJ0eUNvbmZpZyB8IHVuZGVmaW5lZDtcblxuICBnZXQgdmlld3MkKCk6IE9ic2VydmFibGU8QVhQRW50aXR5TGlzdFZpZXdDb25maWdbXT47XG4gIGdldCBwdWJsaWNWaWV3cyQoKTogT2JzZXJ2YWJsZTxBWFBFbnRpdHlMaXN0Vmlld0NvbmZpZ1tdPjtcbiAgZ2V0IGN1c3RvbVZpZXdzJCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eUxpc3RWaWV3Q29uZmlnW10+O1xuICBnZXQgaGFzQ3VzdG9tVmlld3MkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIGdldCB2aWV3JCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eUxpc3RWaWV3Q29uZmlnPjtcbiAgc2V0RGVmYXVsdFZpZXcoKTogdm9pZDtcbiAgc2V0VmlldyhuYW1lOiBzdHJpbmcpOiB2b2lkO1xuICBjcmVhdGVWaWV3KHZpZXc6IEFYUEVudGl0eUxpc3RWaWV3Q29uZmlnKTogdm9pZDtcbiAgdXBkYXRlVmlldyh2aWV3OiBBWFBFbnRpdHlMaXN0Vmlld0NvbmZpZyk6IHZvaWQ7XG4gIGRlbGV0ZVZpZXcodmlld05hbWU6IHN0cmluZyk6IHZvaWQ7XG5cbiAgZ2V0IGNvbHVtbnMkKCk6IE9ic2VydmFibGU8QVhQRW50aXR5TGlzdENvbHVtbkNvbmZpZ1tdPjtcbiAgZ2V0IGRpc3BsYXlDb2x1bW5zJCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eUxpc3REaXNwbGF5Q29sdW1uQ29uZmlnW10+O1xuICBnZXQgZGlzcGxheUNvbHVtbnNDb3VudCQoKTogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBzZXRDb2x1bW5WaXNpYmlsaXR5KG5hbWU6IHN0cmluZywgdmlzaWJsZTogYm9vbGVhbik6IHZvaWQ7XG4gIHVwZGF0ZUNvbHVtbnMoaXRlbXM6IEFYUEVudGl0eUxpc3REaXNwbGF5Q29sdW1uQ29uZmlnW10pOiB2b2lkO1xuICByZXNldENvbHVtbnMoKTogdm9pZDtcblxuICBnZXQgc29ydHMkKCk6IE9ic2VydmFibGU8QVhQRW50aXR5TGlzdFNvcnRDb25maWdbXT47XG4gIGdldCBzb3J0c0NvdW50JCgpOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gIGFkZFNvcnQoKTogdm9pZDtcbiAgcmVzZXRTb3J0KCk6IHZvaWQ7XG4gIHJlbW92ZVNvcnQoaXRlbTogQVhQRW50aXR5TGlzdFNvcnRDb25maWcpOiB2b2lkO1xuICB1cGRhdGVTb3J0KGl0ZW1zOiBBWFBFbnRpdHlMaXN0U29ydENvbmZpZ1tdKTogdm9pZDtcblxuICBnZXQgY29uZGl0aW9ucyQoKTogT2JzZXJ2YWJsZTxBWFBFbnRpdHlMaXN0Q29uZGl0aW9uQ29uZmlnW10+O1xuICBnZXQgY29uZGl0aW9uc0NvdW50JCgpOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gIGdldElubGluZUZpbHRlclRpdGxlcygpOiBzdHJpbmdbXTtcblxuICBhZGRDb25kaXRpb24oc2VsZWN0ZWRGaWVsZHM6IHsgbmFtZTogc3RyaW5nOyBvcHI6IHN0cmluZyB9W10pOiB2b2lkO1xuICByZXNldENvbmRpdGlvbnMoKTogdm9pZDtcbiAgcmVtb3ZlQ29uZGl0aW9uKGl0ZW06IEFYUEVudGl0eUxpc3RDb25kaXRpb25Db25maWcpOiB2b2lkO1xuICBoYW5kbGVJbmxpbmVTZWFyY2godmFsdWU6IHN0cmluZyk6IHZvaWQ7XG4gIHVwZGF0ZUNvbmRpdGlvbnMoaXRlbXM6IEFYUEVudGl0eUxpc3RDb25kaXRpb25Db25maWdbXSk6IHZvaWQ7XG5cbiAgZ2V0IGRhdGFTb3VyY2UoKTogQVhEYXRhU291cmNlO1xuICBnZXQgZW50aXR5KCk6IEFYUEVudGl0eUNvbmZpZztcbn1cblxuZXhwb3J0IGNsYXNzIEFYUExpc3RWaWV3TG9hZGVyRGVmYXVsdCBpbXBsZW1lbnRzIEFYUExpc3RWaWV3TG9hZGVyIHtcbiAgcHJpdmF0ZSBfY29uZmlnITogQVhQRW50aXR5Q29uZmlnO1xuICBwcml2YXRlIF9kYXRhU291cmNlOiBBWERhdGFTb3VyY2UgPSBuZXcgQVhEYXRhU291cmNlKHRoaXMuZW50aXR5LmRhdGFTb3VyY2UpO1xuICBwcml2YXRlIF9pbmxpbmVGaWx0ZXJJdGVtczogeyBuYW1lOiBzdHJpbmc7IGRhdGFUeXBlOiBzdHJpbmcgfCB1bmRlZmluZWQ7IHRpdGxlOiBzdHJpbmcgfVtdID0gW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maWc6IEFYUEVudGl0eUNvbmZpZywgcHJpdmF0ZSBzY2hlbWFTZXJ2aWNlOiBBWFBTY2hlbWFSZWdpc3RyeVNlcnZpY2UpIHtcbiAgICB0aGlzLl9pbmxpbmVGaWx0ZXJJdGVtcyA9IHRoaXMuZW50aXR5LnByb3BlcnRpZXNcbiAgICAgIC5maWx0ZXIoKHByb3BlcnR5KSA9PiBwcm9wZXJ0eS5jYW5JbmxpbmVGaWx0ZXIpXG4gICAgICAubWFwKChpdGVtKSA9PiB7XG4gICAgICAgIGNvbnN0IHNjaGVtYSA9IHRoaXMuc2NoZW1hU2VydmljZS5yZXNvbHZlKGl0ZW0uc2NoZW1hKTtcbiAgICAgICAgcmV0dXJuIHsgbmFtZTogaXRlbS5uYW1lLCBkYXRhVHlwZTogc2NoZW1hPy5kYXRhVHlwZSwgdGl0bGU6IGl0ZW0udGl0bGUgfTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZ2V0IGVudGl0eSgpOiBBWFBFbnRpdHlDb25maWcge1xuICAgIGlmICghdGhpcy5fY29uZmlnKSB7XG4gICAgICB0aGlzLl9jb25maWcgPSBjbG9uZURlZXAodGhpcy5jb25maWcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fY29uZmlnO1xuICB9XG5cbiAgZ2V0IGRhdGFTb3VyY2UoKTogQVhEYXRhU291cmNlIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YVNvdXJjZTtcbiAgfVxuXG4gIC8vKioqKioqKioqKioqKioqKioqIFByb3BlcnRpZXMgKioqKioqKioqKioqKioqKioqLy9cbiAgcHJpdmF0ZSBnZXQgcHJvcHMoKTogQVhQRW50aXR5UHJvcGVydHlDb25maWdbXSB7XG4gICAgcmV0dXJuIHRoaXMuZW50aXR5LnByb3BlcnRpZXM7XG4gIH1cbiAgcHJpdmF0ZSBfcHJvcHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBWFBFbnRpdHlQcm9wZXJ0eUNvbmZpZ1tdPih0aGlzLnByb3BzKTtcblxuICBwdWJsaWMgZ2V0IHByb3BlcnRpZXMkKCk6IE9ic2VydmFibGU8QVhQRW50aXR5UHJvcGVydHlDb25maWdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9wcm9wcyQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0UHJvcCA9IChuYW1lOiBzdHJpbmcpOiBBWFBFbnRpdHlQcm9wZXJ0eUNvbmZpZyB8IHVuZGVmaW5lZCA9PiB0aGlzLmVudGl0eS5wcm9wZXJ0aWVzLmZpbmQoKGMpID0+IGMubmFtZSA9PSBuYW1lKTtcblxuICAvLyoqKioqKioqKioqKioqKioqKiBWaWV3cyAqKioqKioqKioqKioqKioqKiovL1xuXG4gIHByaXZhdGUgX2N1cnJlbnRWaWV3ID0gJ2RlZmF1bHQnO1xuXG4gIHByaXZhdGUgZ2V0IHZpZXdzKCkge1xuICAgIHJldHVybiB0aGlzLmVudGl0eS52aWV3cy5saXN0Py52aWV3cyE7XG4gIH1cblxuICBwcml2YXRlIF92aWV3cyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFYUEVudGl0eUxpc3RWaWV3Q29uZmlnW10+KHRoaXMudmlld3MpO1xuICBwdWJsaWMgZ2V0IHZpZXdzJCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eUxpc3RWaWV3Q29uZmlnW10+IHtcbiAgICByZXR1cm4gdGhpcy5fdmlld3MkO1xuICB9XG4gIHB1YmxpYyBnZXQgdmlldyQoKTogT2JzZXJ2YWJsZTxBWFBFbnRpdHlMaXN0Vmlld0NvbmZpZz4ge1xuICAgIHJldHVybiB0aGlzLnZpZXdzJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCh2aWV3cykgPT4ge1xuICAgICAgICBjb25zdCB2aWV3ID0gdmlld3MuZmluZCgoYykgPT4gYy5uYW1lID09PSB0aGlzLl9jdXJyZW50Vmlldyk7XG4gICAgICAgIGlmICh2aWV3KSB7XG4gICAgICAgICAgcmV0dXJuIG9mKHZpZXcpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudmlld3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHJldHVybiBvZih0aGlzLnZpZXdzWzBdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gb2YoQVhQRW50aXR5TGlzdFZpZXdDb25maWdFbXB0eSk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcHVibGljVmlld3MkKCk6IE9ic2VydmFibGU8QVhQRW50aXR5TGlzdFZpZXdDb25maWdbXT4ge1xuICAgIHJldHVybiB0aGlzLnZpZXdzJC5waXBlKG1hcCgoYykgPT4gYy5maWx0ZXIoKHYpID0+IHYuZml4ZWQpKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGN1c3RvbVZpZXdzJCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eUxpc3RWaWV3Q29uZmlnW10+IHtcbiAgICByZXR1cm4gdGhpcy52aWV3cyQucGlwZShtYXAoKGMpID0+IGMuZmlsdGVyKCh2KSA9PiAhdi5maXhlZCkpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzQ3VzdG9tVmlld3MkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmN1c3RvbVZpZXdzJC5waXBlKG1hcCgoYykgPT4gYy5sZW5ndGggPiAwKSk7XG4gIH1cblxuICBwdWJsaWMgc2V0RGVmYXVsdFZpZXcoKSB7XG4gICAgdGhpcy5zZXRWaWV3KHRoaXMudmlld3NbMF0ubmFtZSk7XG4gIH1cblxuICBwdWJsaWMgc2V0VmlldyhuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsZXQgcHJvcE5hbWVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIHRoaXMucHJvcGVydGllcyQucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKHByb3BlcnRpZXMpID0+IHtcbiAgICAgIHByb3BOYW1lcyA9IHByb3BlcnRpZXMubWFwKChwKSA9PiBwLm5hbWUpO1xuICAgIH0pO1xuICAgIHRoaXMuX2N1cnJlbnRWaWV3ID0gbmFtZTtcbiAgICBjb25zdCB1cGRhdGVkVmlldyA9IHRoaXMuX3ZpZXdzJC52YWx1ZS5maW5kKChjKSA9PiBjLm5hbWUgPT09IHRoaXMuX2N1cnJlbnRWaWV3KSB8fCBBWFBFbnRpdHlMaXN0Vmlld0NvbmZpZ0VtcHR5O1xuICAgIGNvbnN0IGN1cnJlbnRWaWV3cyA9IHRoaXMuX3ZpZXdzJC52YWx1ZTtcbiAgICBjb25zdCB1cGRhdGVkVmlld3MgPSBjdXJyZW50Vmlld3MubWFwKCh2aWV3KSA9PiB7XG4gICAgICBpZiAodmlldy5uYW1lID09PSB1cGRhdGVkVmlldy5uYW1lKSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVkVmlldztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB2aWV3O1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5fY3VycmVudENvbmRpdGlvbnMkLm5leHQoY2xvbmVEZWVwKHVwZGF0ZWRWaWV3LmNvbmRpdGlvbnMuZmlsdGVyKChjKSA9PiBwcm9wTmFtZXMuaW5jbHVkZXMoYy5uYW1lKSkpKTtcbiAgICB0aGlzLl9jdXJyZW50U29ydHMkLm5leHQoY2xvbmVEZWVwKHVwZGF0ZWRWaWV3LnNvcnRzLmZpbHRlcigocykgPT4gcHJvcE5hbWVzLmluY2x1ZGVzKHMubmFtZSkpKSk7XG4gICAgLy8gdGhpcy5fY29sdW1ucyQubmV4dCh1cGRhdGVkVmlldy5jb2x1bW5zKTtcbiAgICB0aGlzLl9jdXJyZW50RGlzcGxheUNvbHVtbnMkLm5leHQoY2xvbmVEZWVwKHVwZGF0ZWRWaWV3LmNvbHVtbnMuZmlsdGVyKChjKSA9PiBwcm9wTmFtZXMuaW5jbHVkZXMoYy5uYW1lKSkpKTtcbiAgICB0aGlzLl92aWV3cyQubmV4dCh1cGRhdGVkVmlld3MpO1xuXG4gICAgLy9hcHBseSBjb25kaXRpb25zIGFuZCBzb3J0czpcbiAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyKHtcbiAgICAgIGZpZWxkOiBudWxsIGFzIGFueSxcbiAgICAgIGxvZ2ljOiAnYW5kJyxcbiAgICAgIG9wZXJhdG9yOiBudWxsIGFzIGFueSxcbiAgICAgIGZpbHRlcnM6IHVwZGF0ZWRWaWV3LmNvbmRpdGlvbnMubWFwKChjKSA9PiAoe1xuICAgICAgICBmaWVsZDogYy5uYW1lLFxuICAgICAgICB2YWx1ZTogYy52YWx1ZSxcbiAgICAgICAgb3BlcmF0b3I6IHsgdHlwZTogYy5vcGVyYXRvciB9LFxuICAgICAgfSkpIGFzIGFueSxcbiAgICB9KTtcbiAgICBjb25zdCBjb252ZXJ0ZWRTb3J0SXRlbXM6IEFYRGF0YVNvdXJjZVNvcnRPcHRpb25bXSA9IHVwZGF0ZWRWaWV3LnNvcnRzLm1hcCgocykgPT4gKHtcbiAgICAgIGZpZWxkOiBzLm5hbWUsXG4gICAgICBkaXI6IHMuZGlyLFxuICAgIH0pKTtcbiAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydCguLi5jb252ZXJ0ZWRTb3J0SXRlbXMpO1xuXG4gICAgdGhpcy5kYXRhU291cmNlLnJlZnJlc2goKTtcbiAgfVxuXG4gIGNyZWF0ZVZpZXcobmV3VmlldzogQVhQRW50aXR5TGlzdFZpZXdDb25maWcpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50Vmlld3MgPSB0aGlzLl92aWV3cyQuZ2V0VmFsdWUoKTtcbiAgICBjdXJyZW50Vmlld3MucHVzaChuZXdWaWV3KTtcbiAgICB0aGlzLl92aWV3cyQubmV4dChjdXJyZW50Vmlld3MpO1xuICAgIHRoaXMuc2V0VmlldyhuZXdWaWV3Lm5hbWUpO1xuICB9XG4gIHVwZGF0ZVZpZXcodXBkYXRlZFZpZXc6IEFYUEVudGl0eUxpc3RWaWV3Q29uZmlnKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudFZpZXdzID0gdGhpcy5fdmlld3MkLmdldFZhbHVlKCkubWFwKCh2aWV3KSA9PiAodmlldy5uYW1lID09PSB1cGRhdGVkVmlldy5uYW1lID8gdXBkYXRlZFZpZXcgOiB2aWV3KSk7XG4gICAgdGhpcy5fdmlld3MkLm5leHQoY3VycmVudFZpZXdzKTtcbiAgICB0aGlzLnNldFZpZXcodXBkYXRlZFZpZXcubmFtZSk7XG4gIH1cbiAgZGVsZXRlVmlldyh2aWV3TmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudFZpZXdzID0gdGhpcy5fdmlld3MkLmdldFZhbHVlKCkuZmlsdGVyKCh2aWV3KSA9PiB2aWV3Lm5hbWUgIT09IHZpZXdOYW1lKTtcbiAgICB0aGlzLl92aWV3cyQubmV4dChjdXJyZW50Vmlld3MpO1xuICAgIHRoaXMuc2V0Vmlldyh0aGlzLnZpZXdzWzBdLm5hbWUpO1xuICB9XG5cbiAgLy8qKioqKioqKioqKioqKioqKiogQ29sdW1ucyAqKioqKioqKioqKioqKioqKiovL1xuXG4gIHByaXZhdGUgX2N1cnJlbnREaXNwbGF5Q29sdW1ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFYUEVudGl0eUxpc3REaXNwbGF5Q29sdW1uQ29uZmlnW10+KFtdKTtcblxuICBwcml2YXRlIGdldCBjb2x1bW5zKCk6IEFYUEVudGl0eUxpc3RDb2x1bW5Db25maWdbXSB7XG4gICAgcmV0dXJuIHRoaXMuZW50aXR5LnByb3BlcnRpZXMubWFwKChwKSA9PiAoe1xuICAgICAgbmFtZTogcC5uYW1lLFxuICAgICAgdGl0bGU6IHAudGl0bGUsXG4gICAgICBzY2hlbWE6IHAuc2NoZW1hLFxuICAgIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgX2NvbHVtbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBWFBFbnRpdHlMaXN0Q29sdW1uQ29uZmlnW10+KHRoaXMuY29sdW1ucyk7XG5cbiAgcHVibGljIGdldCBjb2x1bW5zJCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eUxpc3RDb2x1bW5Db25maWdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9jb2x1bW5zJC5waXBlKGRlZmF1bHRJZkVtcHR5KFtdKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc3BsYXlDb2x1bW5zJCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eUxpc3REaXNwbGF5Q29sdW1uQ29uZmlnW10+IHtcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudERpc3BsYXlDb2x1bW5zJC5waXBlKGRlZmF1bHRJZkVtcHR5KFtdKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc3BsYXlDb2x1bW5zQ291bnQkKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMudmlldyQucGlwZShcbiAgICAgIG1hcCgodmlldykgPT4ge1xuICAgICAgICByZXR1cm4gdmlldy5jb2x1bW5zLmZpbHRlcigoY29sdW1uKSA9PiBjb2x1bW4udmlzaWJsZSkubGVuZ3RoO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgdXBkYXRlQ29sdW1ucyhpdGVtczogQVhQRW50aXR5TGlzdERpc3BsYXlDb2x1bW5Db25maWdbXSk6IHZvaWQge1xuICAgIHRoaXMudmlldyQucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKHZpZXcpID0+IHtcbiAgICAgIHZpZXcuY29sdW1ucyA9IGNsb25lRGVlcChpdGVtcyk7XG4gICAgICB0aGlzLl92aWV3cyQubmV4dCh0aGlzLl92aWV3cyQudmFsdWUubWFwKCh2KSA9PiAodi5uYW1lID09PSB0aGlzLl9jdXJyZW50VmlldyA/IHZpZXcgOiB2KSkpO1xuICAgIH0pO1xuICB9XG5cbiAgcmVzZXRDb2x1bW5zKCk6IHZvaWQge1xuICAgIHRoaXMudmlldyQucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKHZpZXcpID0+IHtcbiAgICAgIHRoaXMuX2N1cnJlbnREaXNwbGF5Q29sdW1ucyQubmV4dChjbG9uZURlZXAodmlldy5jb2x1bW5zKSk7XG4gICAgfSk7XG4gIH1cblxuICBzZXRDb2x1bW5WaXNpYmlsaXR5KG5hbWU6IHN0cmluZywgdmlzaWJsZTogYm9vbGVhbikge1xuICAgIGNvbnN0IHVwZGF0ZWRDb2x1bW5zID0gdGhpcy5fY3VycmVudERpc3BsYXlDb2x1bW5zJC5nZXRWYWx1ZSgpLm1hcCgoY29sdW1uKSA9PiB7XG4gICAgICBpZiAoY29sdW1uLm5hbWUgPT09IG5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHsgLi4uY29sdW1uLCB2aXNpYmxlIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gY29sdW1uO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuX2N1cnJlbnREaXNwbGF5Q29sdW1ucyQubmV4dCh1cGRhdGVkQ29sdW1ucyk7XG4gIH1cblxuICAvLyoqKioqKioqKioqKioqKioqKiBTb3J0ICoqKioqKioqKioqKioqKioqKi8vXG4gIHByaXZhdGUgX2N1cnJlbnRTb3J0cyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFYUEVudGl0eUxpc3RTb3J0Q29uZmlnW10+KFtdKTtcblxuICBwdWJsaWMgZ2V0IHNvcnRzJCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eUxpc3RTb3J0Q29uZmlnW10+IHtcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudFNvcnRzJC5waXBlKGRlZmF1bHRJZkVtcHR5KFtdKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNvcnRzQ291bnQkKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMudmlldyQucGlwZShtYXAoKGMpID0+IGMuc29ydHMubGVuZ3RoKSk7XG4gIH1cblxuICBhZGRTb3J0KCk6IHZvaWQge1xuICAgIHRoaXMudmlldyQucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKHZpZXcpID0+IHtcbiAgICAgIGNvbnN0IGN1cnJlbnRTb3J0cyA9IHRoaXMuX2N1cnJlbnRTb3J0cyQuZ2V0VmFsdWUoKTtcbiAgICAgIGNvbnN0IG5hbWUgPSB2aWV3LmNvbHVtbnMuZmluZCgoYykgPT4gIWN1cnJlbnRTb3J0cy5zb21lKChzKSA9PiBzLm5hbWUgPT0gYy5uYW1lKSk/Lm5hbWUgPz8gJyc7XG4gICAgICBpZiAobmFtZSkge1xuICAgICAgICBjb25zdCBzb3J0cyA9IFsuLi5jdXJyZW50U29ydHMsIHsgbmFtZSwgZGlyOiAnYXNjJyB9IGFzIEFYUEVudGl0eUxpc3RTb3J0Q29uZmlnXTtcbiAgICAgICAgdGhpcy5fY3VycmVudFNvcnRzJC5uZXh0KHNvcnRzKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJlbW92ZVNvcnQoaXRlbTogQVhQRW50aXR5TGlzdFNvcnRDb25maWcpOiB2b2lkIHtcbiAgICBjb25zdCBjdXJyZW50U29ydHMgPSB0aGlzLl9jdXJyZW50U29ydHMkLmdldFZhbHVlKCk7XG4gICAgY29uc3Qgc29ydHMgPSBjdXJyZW50U29ydHMuZmlsdGVyKChjKSA9PiBjICE9IGl0ZW0pO1xuICAgIHRoaXMuX2N1cnJlbnRTb3J0cyQubmV4dChzb3J0cyk7XG4gIH1cblxuICByZXNldFNvcnQoKTogdm9pZCB7XG4gICAgdGhpcy52aWV3JC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgodmlldykgPT4ge1xuICAgICAgdGhpcy5fY3VycmVudFNvcnRzJC5uZXh0KGNsb25lRGVlcCh2aWV3LnNvcnRzKSk7XG4gICAgfSk7XG4gIH1cblxuICB1cGRhdGVTb3J0KGl0ZW1zOiBBWFBFbnRpdHlMaXN0U29ydENvbmZpZ1tdKTogdm9pZCB7XG4gICAgdGhpcy52aWV3JC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgodmlldykgPT4ge1xuICAgICAgdmlldy5zb3J0cyA9IGNsb25lRGVlcChpdGVtcyk7XG4gICAgICB0aGlzLl92aWV3cyQubmV4dCh0aGlzLl92aWV3cyQudmFsdWUubWFwKCh2KSA9PiAodi5uYW1lID09PSB0aGlzLl9jdXJyZW50VmlldyA/IHZpZXcgOiB2KSkpO1xuICAgICAgY29uc3QgY29udmVydGVkU29ydEl0ZW1zOiBBWERhdGFTb3VyY2VTb3J0T3B0aW9uW10gPSBpdGVtcy5tYXAoKHMpID0+ICh7XG4gICAgICAgIGZpZWxkOiBzLm5hbWUsXG4gICAgICAgIGRpcjogcy5kaXIsXG4gICAgICB9KSk7XG4gICAgICB0aGlzLmRhdGFTb3VyY2Uuc29ydCguLi5jb252ZXJ0ZWRTb3J0SXRlbXMpO1xuICAgICAgdGhpcy5kYXRhU291cmNlLnJlZnJlc2goKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vKioqKioqKioqKioqKioqKioqIENvbmRpdGlvbnMgKioqKioqKioqKioqKioqKioqLy9cblxuICBwcml2YXRlIF9jdXJyZW50Q29uZGl0aW9ucyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFYUEVudGl0eUxpc3RDb25kaXRpb25Db25maWdbXT4oW10pO1xuXG4gIHB1YmxpYyBnZXQgY29uZGl0aW9ucyQoKTogT2JzZXJ2YWJsZTxBWFBFbnRpdHlMaXN0Q29uZGl0aW9uQ29uZmlnW10+IHtcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudENvbmRpdGlvbnMkLnBpcGUoZGVmYXVsdElmRW1wdHkoW10pKTtcbiAgfVxuICBwdWJsaWMgZ2V0IGNvbmRpdGlvbnNDb3VudCQoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy52aWV3JC5waXBlKG1hcCgoYykgPT4gYy5jb25kaXRpb25zLmxlbmd0aCkpO1xuICB9XG5cbiAgcHVibGljIGdldElubGluZUZpbHRlclRpdGxlcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2lubGluZUZpbHRlckl0ZW1zLm1hcCgoaXRlbSkgPT4gaXRlbS50aXRsZSk7XG4gIH1cblxuICBhZGRDb25kaXRpb24oc2VsZWN0ZWRGaWVsZHM6IHsgbmFtZTogc3RyaW5nOyBvcHI6IGFueTsgdmFsdWU/OiBhbnkgfVtdKTogdm9pZCB7XG4gICAgY29uc3QgcHJldkNvbmRpdGlvbnMgPSB0aGlzLl9jdXJyZW50Q29uZGl0aW9ucyQuZ2V0VmFsdWUoKTtcbiAgICBjb25zdCBjb25kaXRpb25zTWFwID0gbmV3IE1hcChwcmV2Q29uZGl0aW9ucy5tYXAoKGl0ZW0pID0+IFtpdGVtLm5hbWUsIGl0ZW1dKSk7XG5cbiAgICBjb25zdCBuZXdGaWVsZHMgPSBzZWxlY3RlZEZpZWxkcy5tYXAoXG4gICAgICAoZmllbGQpID0+IGNvbmRpdGlvbnNNYXAuZ2V0KGZpZWxkLm5hbWUpIHx8IHsgbmFtZTogZmllbGQubmFtZSwgb3BlcmF0b3I6IGZpZWxkLm9wciB9XG4gICAgKTtcbiAgICB0aGlzLl9jdXJyZW50Q29uZGl0aW9ucyQubmV4dChuZXdGaWVsZHMgYXMgQVhQRW50aXR5TGlzdENvbmRpdGlvbkNvbmZpZ1tdKTtcbiAgfVxuXG4gIHJlbW92ZUNvbmRpdGlvbihpdGVtOiBBWFBFbnRpdHlMaXN0Q29uZGl0aW9uQ29uZmlnKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudENvbmRpdGlvbnMgPSB0aGlzLl9jdXJyZW50Q29uZGl0aW9ucyQuZ2V0VmFsdWUoKTtcbiAgICBjb25zdCBjb25kaXRpb25zID0gY3VycmVudENvbmRpdGlvbnMuZmlsdGVyKChjKSA9PiBjICE9IGl0ZW0pO1xuICAgIHRoaXMuX2N1cnJlbnRDb25kaXRpb25zJC5uZXh0KGNvbmRpdGlvbnMpO1xuICB9XG4gIHVwZGF0ZUNvbmRpdGlvbnMoaXRlbXM6IEFYUEVudGl0eUxpc3RDb25kaXRpb25Db25maWdbXSk6IHZvaWQge1xuICAgIHRoaXMudmlldyQucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKHZpZXcpID0+IHtcbiAgICAgIHZpZXcuY29uZGl0aW9ucyA9IGNsb25lRGVlcChpdGVtcyk7XG4gICAgICB0aGlzLl92aWV3cyQubmV4dCh0aGlzLl92aWV3cyQudmFsdWUubWFwKCh2KSA9PiAodi5uYW1lID09PSB0aGlzLl9jdXJyZW50VmlldyA/IHZpZXcgOiB2KSkpO1xuICAgIH0pO1xuICAgIHRoaXMuYXBwbHlBbGxDb25kaXRpb25zKCk7XG4gIH1cblxuICBoYW5kbGVJbmxpbmVTZWFyY2godmFsdWU6IHN0cmluZykge1xuICAgIGNvbnN0IGlubGluZUNvbmRpdGlvbnM6IEFYUEVudGl0eUxpc3RDb25kaXRpb25Db25maWdbXSA9IFtdO1xuXG4gICAgdGhpcy5faW5saW5lRmlsdGVySXRlbXM/LmZvckVhY2goKHByb3BlcnR5KSA9PiB7XG4gICAgICBpZiAocHJvcGVydHk/LmRhdGFUeXBlID09ICdzdHJpbmcnIHx8IHByb3BlcnR5Py5kYXRhVHlwZSA9PSAnbnVtYmVyJykge1xuICAgICAgICBpbmxpbmVDb25kaXRpb25zLnB1c2goe1xuICAgICAgICAgIG5hbWU6IHByb3BlcnR5Lm5hbWUsXG4gICAgICAgICAgdmFsdWU6IHByb3BlcnR5LmRhdGFUeXBlID09ICdudW1iZXInID8gcGFyc2VGbG9hdCh2YWx1ZSkgOiB2YWx1ZSxcbiAgICAgICAgICBvcGVyYXRvcjogcHJvcGVydHkuZGF0YVR5cGUgPT0gJ3N0cmluZycgPyAnY29udGFpbnMnIDogJ2VxdWFsJyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy52aWV3JC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgodmlldykgPT4ge1xuICAgICAgdmlldy5pbmxpbmVDb25kaXRpb25zID0gY2xvbmVEZWVwKGlubGluZUNvbmRpdGlvbnMpO1xuICAgIH0pO1xuICAgIHRoaXMuYXBwbHlBbGxDb25kaXRpb25zKCk7XG4gIH1cblxuICBhcHBseUFsbENvbmRpdGlvbnMoKSB7XG4gICAgY29uc3QgaW5saW5lQ29uZGl0aW9uczogQVhEYXRhU291cmNlRmlsdGVyT3B0aW9uID0ge1xuICAgICAgZmllbGQ6IG51bGwgYXMgYW55LFxuICAgICAgb3BlcmF0b3I6IG51bGwgYXMgYW55LFxuICAgICAgbG9naWM6ICdvcicsXG4gICAgICBmaWx0ZXJzOiBbXSxcbiAgICB9O1xuXG4gICAgY29uc3QgbWFpbkNvbmRpdGlvbnM6IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbiA9IHtcbiAgICAgIGZpZWxkOiBudWxsIGFzIGFueSxcbiAgICAgIG9wZXJhdG9yOiBudWxsIGFzIGFueSxcbiAgICAgIGxvZ2ljOiAnYW5kJyxcbiAgICAgIGZpbHRlcnM6IFtdLFxuICAgIH07XG5cbiAgICB0aGlzLnZpZXckLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCh2aWV3KSA9PiB7XG4gICAgICBpZiAodmlldy5pbmxpbmVDb25kaXRpb25zICYmIHZpZXcuaW5saW5lQ29uZGl0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgdmlldy5pbmxpbmVDb25kaXRpb25zPy5mb3JFYWNoKChjKSA9PiB7XG4gICAgICAgICAgaWYgKGMudmFsdWUpIHtcbiAgICAgICAgICAgIGlubGluZUNvbmRpdGlvbnMuZmlsdGVycz8ucHVzaCh7XG4gICAgICAgICAgICAgIGZpZWxkOiBjLm5hbWUsXG4gICAgICAgICAgICAgIG9wZXJhdG9yOiB7IHR5cGU6IGMub3BlcmF0b3IgfSBhcyBhbnksXG4gICAgICAgICAgICAgIHZhbHVlOiBjLnZhbHVlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmICh2aWV3LmNvbmRpdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgIHZpZXcuY29uZGl0aW9ucy5mb3JFYWNoKChjKSA9PiB7XG4gICAgICAgICAgbWFpbkNvbmRpdGlvbnMuZmlsdGVycz8ucHVzaCh7XG4gICAgICAgICAgICBmaWVsZDogYy5uYW1lLFxuICAgICAgICAgICAgb3BlcmF0b3I6IHsgdHlwZTogYy5vcGVyYXRvciB9IGFzIGFueSxcbiAgICAgICAgICAgIHZhbHVlOiBjLnZhbHVlLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5maWx0ZXIoe1xuICAgICAgICBmaWVsZDogbnVsbCBhcyBhbnksXG4gICAgICAgIGxvZ2ljOiAnYW5kJyxcbiAgICAgICAgb3BlcmF0b3I6IG51bGwgYXMgYW55LFxuICAgICAgICBmaWx0ZXJzOiBbbWFpbkNvbmRpdGlvbnMsIGlubGluZUNvbmRpdGlvbnNdLFxuICAgICAgfSk7XG4gICAgICB0aGlzLmRhdGFTb3VyY2UucmVmcmVzaCgpO1xuICAgICAgdGhpcy5fdmlld3MkLm5leHQodGhpcy5fdmlld3MkLnZhbHVlLm1hcCgodikgPT4gKHYubmFtZSA9PT0gdGhpcy5fY3VycmVudFZpZXcgPyB2aWV3IDogdikpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlc2V0Q29uZGl0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXckLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCh2aWV3KSA9PiB7XG4gICAgICB0aGlzLl9jdXJyZW50Q29uZGl0aW9ucyQubmV4dChjbG9uZURlZXAodmlldy5jb25kaXRpb25zKSk7XG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFYUF9MSVNUVklFV19MT0FERVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhQTGlzdFZpZXdMb2FkZXI+KCdBWFBfTElTVFZJRVdfTE9BREVSJyk7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQVhQTGlzdFZpZXdMb2FkZXJGYWN0b3J5IHtcbiAgcHJpdmF0ZSBjYWNoZTogTWFwPHN0cmluZywgQVhQTGlzdFZpZXdMb2FkZXI+ID0gbmV3IE1hcCgpO1xuICBwcml2YXRlIGVudGl0eVNlcnZpY2UgPSBpbmplY3QoQVhQRW50aXR5UmVnaXN0cnlTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzY2hlbWFTZXJ2aWNlID0gaW5qZWN0KEFYUFNjaGVtYVJlZ2lzdHJ5U2VydmljZSk7XG4gIHByaXZhdGUgbGF5b3V0ID0gaW5qZWN0KEFYUExheW91dFNlcnZpY2UpO1xuXG4gIHB1YmxpYyBhc3luYyBjcmVhdGUobW9kdWxlTmFtZTogc3RyaW5nLCBlbnRpdHlOYW1lOiBzdHJpbmcpOiBQcm9taXNlPEFYUExpc3RWaWV3TG9hZGVyPiB7XG4gICAgdGhpcy5sYXlvdXQuc2V0TmF2aWdhdGlvbkxvYWRpbmcodHJ1ZSk7XG4gICAgY29uc3QgY29uZmlnID0gYXdhaXQgdGhpcy5lbnRpdHlTZXJ2aWNlLnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG4gICAgbGV0IHJlc3VsdCA9IHRoaXMuY2FjaGUuZ2V0KGNvbmZpZy5uYW1lKTtcbiAgICBpZiAocmVzdWx0KSB7XG4gICAgICB0aGlzLmxheW91dC5zZXROYXZpZ2F0aW9uTG9hZGluZyhmYWxzZSk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICByZXN1bHQgPSBuZXcgQVhQTGlzdFZpZXdMb2FkZXJEZWZhdWx0KGNvbmZpZywgdGhpcy5zY2hlbWFTZXJ2aWNlKTtcbiAgICB0aGlzLmNhY2hlLnNldChjb25maWcubmFtZSwgcmVzdWx0KTtcbiAgICB0aGlzLmxheW91dC5zZXROYXZpZ2F0aW9uTG9hZGluZyhmYWxzZSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl19
339
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0cy9zcmMvbGliL2FkbWluL2VudGl0eS1sYXlvdXQvZW50aXR5LWxpc3Qtdmlldy9saXN0LXZpZXcuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQW9ELE1BQU0sMkJBQTJCLENBQUM7QUFDM0csT0FBTyxFQU9MLDRCQUE0QixFQUU1Qix3QkFBd0IsRUFDeEIsd0JBQXdCLEdBQ3pCLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDdEMsT0FBTyxFQUFFLGVBQWUsRUFBYyxjQUFjLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTlGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQTZDM0QsTUFBTSxPQUFPLHdCQUF3QjtJQUtuQyxZQUFvQixNQUF1QixFQUFVLGFBQXVDO1FBQXhFLFdBQU0sR0FBTixNQUFNLENBQWlCO1FBQVUsa0JBQWEsR0FBYixhQUFhLENBQTBCO1FBSHBGLGdCQUFXLEdBQWlCLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDckUsdUJBQWtCLEdBQW9FLEVBQUUsQ0FBQztRQTBCekYsWUFBTyxHQUFHLElBQUksZUFBZSxDQUE0QixJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFNdEUsWUFBTyxHQUFHLENBQUMsSUFBWSxFQUF1QyxFQUFFLENBQ3JFLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElB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QixjQURYLE1BQU07OzJGQUNuQix3QkFBd0I7a0JBRHBDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhEYXRhU291cmNlLCBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb24sIEFYRGF0YVNvdXJjZVNvcnRPcHRpb24gfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7XG4gIEFYUEVudGl0eUNvbmZpZyxcbiAgQVhQRW50aXR5TGlzdENvbHVtbkNvbmZpZyxcbiAgQVhQRW50aXR5TGlzdENvbmRpdGlvbkNvbmZpZyxcbiAgQVhQRW50aXR5TGlzdERpc3BsYXlDb2x1bW5Db25maWcsXG4gIEFYUEVudGl0eUxpc3RTb3J0Q29uZmlnLFxuICBBWFBFbnRpdHlMaXN0Vmlld0NvbmZpZyxcbiAgQVhQRW50aXR5TGlzdFZpZXdDb25maWdFbXB0eSxcbiAgQVhQRW50aXR5UHJvcGVydHlDb25maWcsXG4gIEFYUEVudGl0eVJlZ2lzdHJ5U2VydmljZSxcbiAgQVhQU2NoZW1hUmVnaXN0cnlTZXJ2aWNlLFxufSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBkZWZhdWx0SWZFbXB0eSwgZmlyc3QsIG1hcCwgb2YsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBBWFBMYXlvdXRTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFYUExpc3RWaWV3TG9hZGVyIHtcbiAgZ2V0IHByb3BlcnRpZXMkKCk6IE9ic2VydmFibGU8QVhQRW50aXR5UHJvcGVydHlDb25maWdbXT47XG4gIGdldFByb3AobmFtZTogc3RyaW5nKTogQVhQRW50aXR5UHJvcGVydHlDb25maWcgfCB1bmRlZmluZWQ7XG5cbiAgZ2V0IHZpZXdzJCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eUxpc3RWaWV3Q29uZmlnW10+O1xuICBnZXQgcHVibGljVmlld3MkKCk6IE9ic2VydmFibGU8QVhQRW50aXR5TGlzdFZpZXdDb25maWdbXT47XG4gIGdldCBjdXN0b21WaWV3cyQoKTogT2JzZXJ2YWJsZTxBWFBFbnRpdHlMaXN0Vmlld0NvbmZpZ1tdPjtcbiAgZ2V0IGhhc0N1c3RvbVZpZXdzJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBnZXQgdmlldyQoKTogT2JzZXJ2YWJsZTxBWFBFbnRpdHlMaXN0Vmlld0NvbmZpZz47XG4gIHNldERlZmF1bHRWaWV3KCk6IHZvaWQ7XG4gIHNldFZpZXcobmFtZTogc3RyaW5nKTogdm9pZDtcbiAgY3JlYXRlVmlldyh2aWV3OiBBWFBFbnRpdHlMaXN0Vmlld0NvbmZpZyk6IHZvaWQ7XG4gIHVwZGF0ZVZpZXcodmlldzogQVhQRW50aXR5TGlzdFZpZXdDb25maWcpOiB2b2lkO1xuICBkZWxldGVWaWV3KHZpZXdOYW1lOiBzdHJpbmcpOiB2b2lkO1xuXG4gIGdldCBjb2x1bW5zJCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eUxpc3RDb2x1bW5Db25maWdbXT47XG4gIGdldCBkaXNwbGF5Q29sdW1ucyQoKTogT2JzZXJ2YWJsZTxBWFBFbnRpdHlMaXN0RGlzcGxheUNvbHVtbkNvbmZpZ1tdPjtcbiAgZ2V0IGRpc3BsYXlDb2x1bW5zQ291bnQkKCk6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgc2V0Q29sdW1uVmlzaWJpbGl0eShuYW1lOiBzdHJpbmcsIHZpc2libGU6IGJvb2xlYW4pOiB2b2lkO1xuICB1cGRhdGVDb2x1bW5zKGl0ZW1zOiBBWFBFbnRpdHlMaXN0RGlzcGxheUNvbHVtbkNvbmZpZ1tdKTogdm9pZDtcbiAgcmVzZXRDb2x1bW5zKCk6IHZvaWQ7XG5cbiAgZ2V0IHNvcnRzJCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eUxpc3RTb3J0Q29uZmlnW10+O1xuICBnZXQgc29ydHNDb3VudCQoKTogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBhZGRTb3J0KCk6IHZvaWQ7XG4gIHJlc2V0U29ydCgpOiB2b2lkO1xuICByZW1vdmVTb3J0KGl0ZW06IEFYUEVudGl0eUxpc3RTb3J0Q29uZmlnKTogdm9pZDtcbiAgdXBkYXRlU29ydChpdGVtczogQVhQRW50aXR5TGlzdFNvcnRDb25maWdbXSk6IHZvaWQ7XG5cbiAgZ2V0IGNvbmRpdGlvbnMkKCk6IE9ic2VydmFibGU8QVhQRW50aXR5TGlzdENvbmRpdGlvbkNvbmZpZ1tdPjtcbiAgZ2V0IGNvbmRpdGlvbnNDb3VudCQoKTogT2JzZXJ2YWJsZTxudW1iZXI+O1xuICBnZXRJbmxpbmVGaWx0ZXJUaXRsZXMoKTogc3RyaW5nW107XG5cbiAgYWRkQ29uZGl0aW9uKHNlbGVjdGVkRmllbGRzOiB7IG5hbWU6IHN0cmluZzsgb3ByOiBzdHJpbmcgfVtdKTogdm9pZDtcbiAgcmVzZXRDb25kaXRpb25zKCk6IHZvaWQ7XG4gIHJlbW92ZUNvbmRpdGlvbihpdGVtOiBBWFBFbnRpdHlMaXN0Q29uZGl0aW9uQ29uZmlnKTogdm9pZDtcbiAgaGFuZGxlSW5saW5lU2VhcmNoKHZhbHVlOiBzdHJpbmcpOiB2b2lkO1xuICB1cGRhdGVDb25kaXRpb25zKGl0ZW1zOiBBWFBFbnRpdHlMaXN0Q29uZGl0aW9uQ29uZmlnW10pOiB2b2lkO1xuXG4gIGdldCBkYXRhU291cmNlKCk6IEFYRGF0YVNvdXJjZTtcbiAgZ2V0IGVudGl0eSgpOiBBWFBFbnRpdHlDb25maWc7XG59XG5cbmV4cG9ydCBjbGFzcyBBWFBMaXN0Vmlld0xvYWRlckRlZmF1bHQgaW1wbGVtZW50cyBBWFBMaXN0Vmlld0xvYWRlciB7XG4gIHByaXZhdGUgX2NvbmZpZyE6IEFYUEVudGl0eUNvbmZpZztcbiAgcHJpdmF0ZSBfZGF0YVNvdXJjZTogQVhEYXRhU291cmNlID0gbmV3IEFYRGF0YVNvdXJjZSh0aGlzLmVudGl0eS5kYXRhU291cmNlKTtcbiAgcHJpdmF0ZSBfaW5saW5lRmlsdGVySXRlbXM6IHsgbmFtZTogc3RyaW5nOyBkYXRhVHlwZTogc3RyaW5nIHwgdW5kZWZpbmVkOyB0aXRsZTogc3RyaW5nIH1bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uZmlnOiBBWFBFbnRpdHlDb25maWcsIHByaXZhdGUgc2NoZW1hU2VydmljZTogQVhQU2NoZW1hUmVnaXN0cnlTZXJ2aWNlKSB7XG4gICAgdGhpcy5faW5saW5lRmlsdGVySXRlbXMgPSB0aGlzLmVudGl0eS5wcm9wZXJ0aWVzXG4gICAgICAuZmlsdGVyKChwcm9wZXJ0eSkgPT4gcHJvcGVydHkuY2FuSW5saW5lRmlsdGVyKVxuICAgICAgLm1hcCgoaXRlbSkgPT4ge1xuICAgICAgICBjb25zdCBzY2hlbWEgPSB0aGlzLnNjaGVtYVNlcnZpY2UucmVzb2x2ZShpdGVtLnNjaGVtYSk7XG4gICAgICAgIHJldHVybiB7IG5hbWU6IGl0ZW0ubmFtZSwgZGF0YVR5cGU6IHNjaGVtYT8uZGF0YVR5cGUsIHRpdGxlOiBpdGVtLnRpdGxlIH07XG4gICAgICB9KTtcbiAgfVxuXG4gIGdldCBlbnRpdHkoKTogQVhQRW50aXR5Q29uZmlnIHtcbiAgICBpZiAoIXRoaXMuX2NvbmZpZykge1xuICAgICAgdGhpcy5fY29uZmlnID0gY2xvbmVEZWVwKHRoaXMuY29uZmlnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZztcbiAgfVxuXG4gIGdldCBkYXRhU291cmNlKCk6IEFYRGF0YVNvdXJjZSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGFTb3VyY2U7XG4gIH1cblxuICAvLyoqKioqKioqKioqKioqKioqKiBQcm9wZXJ0aWVzICoqKioqKioqKioqKioqKioqKi8vXG4gIHByaXZhdGUgZ2V0IHByb3BzKCk6IEFYUEVudGl0eVByb3BlcnR5Q29uZmlnW10ge1xuICAgIHJldHVybiB0aGlzLmVudGl0eS5wcm9wZXJ0aWVzO1xuICB9XG4gIHByaXZhdGUgX3Byb3BzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QVhQRW50aXR5UHJvcGVydHlDb25maWdbXT4odGhpcy5wcm9wcyk7XG5cbiAgcHVibGljIGdldCBwcm9wZXJ0aWVzJCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eVByb3BlcnR5Q29uZmlnW10+IHtcbiAgICByZXR1cm4gdGhpcy5fcHJvcHMkO1xuICB9XG5cbiAgcHVibGljIGdldFByb3AgPSAobmFtZTogc3RyaW5nKTogQVhQRW50aXR5UHJvcGVydHlDb25maWcgfCB1bmRlZmluZWQgPT5cbiAgICB0aGlzLmVudGl0eS5wcm9wZXJ0aWVzLmZpbmQoKGMpID0+IGMubmFtZSA9PSBuYW1lKTtcblxuICAvLyoqKioqKioqKioqKioqKioqKiBWaWV3cyAqKioqKioqKioqKioqKioqKiovL1xuXG4gIHByaXZhdGUgX2N1cnJlbnRWaWV3ID0gJ2RlZmF1bHQnO1xuXG4gIHByaXZhdGUgZ2V0IHZpZXdzKCkge1xuICAgIHJldHVybiB0aGlzLmVudGl0eS52aWV3cy5saXN0Py52aWV3cyE7XG4gIH1cblxuICBwcml2YXRlIF92aWV3cyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEFYUEVudGl0eUxpc3RWaWV3Q29uZmlnW10+KHRoaXMudmlld3MpO1xuICBwdWJsaWMgZ2V0IHZpZXdzJCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eUxpc3RWaWV3Q29uZmlnW10+IHtcbiAgICByZXR1cm4gdGhpcy5fdmlld3MkO1xuICB9XG4gIHB1YmxpYyBnZXQgdmlldyQoKTogT2JzZXJ2YWJsZTxBWFBFbnRpdHlMaXN0Vmlld0NvbmZpZz4ge1xuICAgIHJldHVybiB0aGlzLnZpZXdzJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCh2aWV3cykgPT4ge1xuICAgICAgICBjb25zdCB2aWV3ID0gdmlld3MuZmluZCgoYykgPT4gYy5uYW1lID09PSB0aGlzLl9jdXJyZW50Vmlldyk7XG4gICAgICAgIGlmICh2aWV3KSB7XG4gICAgICAgICAgcmV0dXJuIG9mKHZpZXcpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudmlld3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHJldHVybiBvZih0aGlzLnZpZXdzWzBdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gb2YoQVhQRW50aXR5TGlzdFZpZXdDb25maWdFbXB0eSk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgcHVibGljVmlld3MkKCk6IE9ic2VydmFibGU8QVhQRW50aXR5TGlzdFZpZXdDb25maWdbXT4ge1xuICAgIHJldHVybiB0aGlzLnZpZXdzJC5waXBlKG1hcCgoYykgPT4gYy5maWx0ZXIoKHYpID0+IHYuZml4ZWQpKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGN1c3RvbVZpZXdzJCgpOiBPYnNlcnZhYmxlPEFYUEVudGl0eUxpc3RWaWV3Q29uZmlnW10+IHtcbiAgICByZXR1cm4gdGhpcy52aWV3cyQucGlwZShtYXAoKGMpID0+IGMuZmlsdGVyKCh2KSA9PiAhdi5maXhlZCkpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaGFzQ3VzdG9tVmlld3MkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmN1c3RvbVZpZXdzJC5waXBlKG1hcCgoYykgPT4gYy5sZW5ndGggPiAwKSk7XG4gIH1cblxuICBwdWJsaWMgc2V0RGVmYXVsdFZpZXcoKSB7XG4gICAgdGhpcy5zZXRWaWV3KHRoaXMudmlld3NbMF0ubmFtZSk7XG4gIH1cblxuICBwdWJsaWMgc2V0VmlldyhuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsZXQgcHJvcE5hbWVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIHRoaXMucHJvcGVydGllcyQucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKHByb3BlcnRpZXMpID0+IHtcbiAgICAgIHByb3BOYW1lcyA9IHByb3BlcnRpZXMubWFwKChwKSA9PiBwLm5hbWUpO1xuICAgIH0pO1xuICAgIHRoaXMuX2N1cnJlbnRWaWV3ID0gbmFtZTtcbiAgICBjb25zdCB1cGRhdGVkVmlldyA9IHRoaXMuX3ZpZXdzJC52YWx1ZS5maW5kKChjKSA9PiBjLm5hbWUgPT09IHRoaXMuX2N1cnJlbnRWaWV3KSB8fCBBWFBFbnRpdHlMaXN0Vmlld0NvbmZpZ0VtcHR5O1xuICAgIGNvbnN0IGN1cnJlbnRWaWV3cyA9IHRoaXMuX3ZpZXdzJC52YWx1ZTtcbiAgICBjb25zdCB1cGRhdGVkVmlld3MgPSBjdXJyZW50Vmlld3MubWFwKCh2aWV3KSA9PiB7XG4gICAgICBpZiAodmlldy5uYW1lID09PSB1cGRhdGVkVmlldy5uYW1lKSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVkVmlldztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB2aWV3O1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuX2N1cnJlbnRDb25kaXRpb25zJC5uZXh0KGNsb25lRGVlcCh1cGRhdGVkVmlldy5jb25kaXRpb25zLmZpbHRlcigoYykgPT4gcHJvcE5hbWVzLmluY2x1ZGVzKGMubmFtZSkpKSk7XG4gICAgdGhpcy5fY3VycmVudFNvcnRzJC5uZXh0KGNsb25lRGVlcCh1cGRhdGVkVmlldy5zb3J0cy5maWx0ZXIoKHMpID0+IHByb3BOYW1lcy5pbmNsdWRlcyhzLm5hbWUpKSkpO1xuICAgIC8vIHRoaXMuX2NvbHVtbnMkLm5leHQodXBkYXRlZFZpZXcuY29sdW1ucyk7XG4gICAgdGhpcy5fY3VycmVudERpc3BsYXlDb2x1bW5zJC5uZXh0KGNsb25lRGVlcCh1cGRhdGVkVmlldy5jb2x1bW5zLmZpbHRlcigoYykgPT4gcHJvcE5hbWVzLmluY2x1ZGVzKGMubmFtZSkpKSk7XG4gICAgdGhpcy5fdmlld3MkLm5leHQodXBkYXRlZFZpZXdzKTtcblxuICAgIC8vYXBwbHkgY29uZGl0aW9ucyBhbmQgc29ydHM6XG4gICAgdGhpcy5kYXRhU291cmNlLmZpbHRlcih7XG4gICAgICBmaWVsZDogbnVsbCBhcyBhbnksXG4gICAgICBsb2dpYzogJ2FuZCcsXG4gICAgICBvcGVyYXRvcjogbnVsbCBhcyBhbnksXG4gICAgICBmaWx0ZXJzOiB1cGRhdGVkVmlldy5jb25kaXRpb25zLm1hcCgoYykgPT4gKHtcbiAgICAgICAgZmllbGQ6IGMubmFtZSxcbiAgICAgICAgdmFsdWU6IGMudmFsdWUsXG4gICAgICAgIG9wZXJhdG9yOiB7IHR5cGU6IGMub3BlcmF0b3IgfSxcbiAgICAgIH0pKSBhcyBhbnksXG4gICAgfSk7XG4gICAgY29uc3QgY29udmVydGVkU29ydEl0ZW1zOiBBWERhdGFTb3VyY2VTb3J0T3B0aW9uW10gPSB1cGRhdGVkVmlldy5zb3J0cy5tYXAoKHMpID0+ICh7XG4gICAgICBmaWVsZDogcy5uYW1lLFxuICAgICAgZGlyOiBzLmRpcixcbiAgICB9KSk7XG4gICAgdGhpcy5kYXRhU291cmNlLnNvcnQoLi4uY29udmVydGVkU29ydEl0ZW1zKTtcblxuICAgIHRoaXMuZGF0YVNvdXJjZS5yZWZyZXNoKCk7XG4gIH1cblxuICBjcmVhdGVWaWV3KG5ld1ZpZXc6IEFYUEVudGl0eUxpc3RWaWV3Q29uZmlnKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudFZpZXdzID0gdGhpcy5fdmlld3MkLmdldFZhbHVlKCk7XG4gICAgY3VycmVudFZpZXdzLnB1c2gobmV3Vmlldyk7XG4gICAgdGhpcy5fdmlld3MkLm5leHQoY3VycmVudFZpZXdzKTtcbiAgICB0aGlzLnNldFZpZXcobmV3Vmlldy5uYW1lKTtcbiAgfVxuICB1cGRhdGVWaWV3KHVwZGF0ZWRWaWV3OiBBWFBFbnRpdHlMaXN0Vmlld0NvbmZpZyk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRWaWV3cyA9IHRoaXMuX3ZpZXdzJC5nZXRWYWx1ZSgpLm1hcCgodmlldykgPT4gKHZpZXcubmFtZSA9PT0gdXBkYXRlZFZpZXcubmFtZSA/IHVwZGF0ZWRWaWV3IDogdmlldykpO1xuICAgIHRoaXMuX3ZpZXdzJC5uZXh0KGN1cnJlbnRWaWV3cyk7XG4gICAgdGhpcy5zZXRWaWV3KHVwZGF0ZWRWaWV3Lm5hbWUpO1xuICB9XG4gIGRlbGV0ZVZpZXcodmlld05hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRWaWV3cyA9IHRoaXMuX3ZpZXdzJC5nZXRWYWx1ZSgpLmZpbHRlcigodmlldykgPT4gdmlldy5uYW1lICE9PSB2aWV3TmFtZSk7XG4gICAgdGhpcy5fdmlld3MkLm5leHQoY3VycmVudFZpZXdzKTtcbiAgICB0aGlzLnNldFZpZXcodGhpcy52aWV3c1swXS5uYW1lKTtcbiAgfVxuXG4gIC8vKioqKioqKioqKioqKioqKioqIENvbHVtbnMgKioqKioqKioqKioqKioqKioqLy9cblxuICBwcml2YXRlIF9jdXJyZW50RGlzcGxheUNvbHVtbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBWFBFbnRpdHlMaXN0RGlzcGxheUNvbHVtbkNvbmZpZ1tdPihbXSk7XG5cbiAgcHJpdmF0ZSBnZXQgY29sdW1ucygpOiBBWFBFbnRpdHlMaXN0Q29sdW1uQ29uZmlnW10ge1xuICAgIHJldHVybiB0aGlzLmVudGl0eS5wcm9wZXJ0aWVzLm1hcCgocCkgPT4gKHtcbiAgICAgIG5hbWU6IHAubmFtZSxcbiAgICAgIHRpdGxlOiBwLnRpdGxlLFxuICAgICAgc2NoZW1hOiBwLnNjaGVtYSxcbiAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIF9jb2x1bW5zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QVhQRW50aXR5TGlzdENvbHVtbkNvbmZpZ1tdPih0aGlzLmNvbHVtbnMpO1xuXG4gIHB1YmxpYyBnZXQgY29sdW1ucyQoKTogT2JzZXJ2YWJsZTxBWFBFbnRpdHlMaXN0Q29sdW1uQ29uZmlnW10+IHtcbiAgICByZXR1cm4gdGhpcy5fY29sdW1ucyQucGlwZShkZWZhdWx0SWZFbXB0eShbXSkpO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNwbGF5Q29sdW1ucyQoKTogT2JzZXJ2YWJsZTxBWFBFbnRpdHlMaXN0RGlzcGxheUNvbHVtbkNvbmZpZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnREaXNwbGF5Q29sdW1ucyQucGlwZShkZWZhdWx0SWZFbXB0eShbXSkpO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNwbGF5Q29sdW1uc0NvdW50JCgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLnZpZXckLnBpcGUoXG4gICAgICBtYXAoKHZpZXcpID0+IHtcbiAgICAgICAgcmV0dXJuIHZpZXcuY29sdW1ucy5maWx0ZXIoKGNvbHVtbikgPT4gY29sdW1uLnZpc2libGUpLmxlbmd0aDtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHVwZGF0ZUNvbHVtbnMoaXRlbXM6IEFYUEVudGl0eUxpc3REaXNwbGF5Q29sdW1uQ29uZmlnW10pOiB2b2lkIHtcbiAgICB0aGlzLnZpZXckLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCh2aWV3KSA9PiB7XG4gICAgICB2aWV3LmNvbHVtbnMgPSBjbG9uZURlZXAoaXRlbXMpO1xuICAgICAgdGhpcy5fdmlld3MkLm5leHQodGhpcy5fdmlld3MkLnZhbHVlLm1hcCgodikgPT4gKHYubmFtZSA9PT0gdGhpcy5fY3VycmVudFZpZXcgPyB2aWV3IDogdikpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlc2V0Q29sdW1ucygpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXckLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCh2aWV3KSA9PiB7XG4gICAgICB0aGlzLl9jdXJyZW50RGlzcGxheUNvbHVtbnMkLm5leHQoY2xvbmVEZWVwKHZpZXcuY29sdW1ucykpO1xuICAgIH0pO1xuICB9XG5cbiAgc2V0Q29sdW1uVmlzaWJpbGl0eShuYW1lOiBzdHJpbmcsIHZpc2libGU6IGJvb2xlYW4pIHtcbiAgICBjb25zdCB1cGRhdGVkQ29sdW1ucyA9IHRoaXMuX2N1cnJlbnREaXNwbGF5Q29sdW1ucyQuZ2V0VmFsdWUoKS5tYXAoKGNvbHVtbikgPT4ge1xuICAgICAgaWYgKGNvbHVtbi5uYW1lID09PSBuYW1lKSB7XG4gICAgICAgIHJldHVybiB7IC4uLmNvbHVtbiwgdmlzaWJsZSB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGNvbHVtbjtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLl9jdXJyZW50RGlzcGxheUNvbHVtbnMkLm5leHQodXBkYXRlZENvbHVtbnMpO1xuICB9XG5cbiAgLy8qKioqKioqKioqKioqKioqKiogU29ydCAqKioqKioqKioqKioqKioqKiovL1xuICBwcml2YXRlIF9jdXJyZW50U29ydHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBWFBFbnRpdHlMaXN0U29ydENvbmZpZ1tdPihbXSk7XG5cbiAgcHVibGljIGdldCBzb3J0cyQoKTogT2JzZXJ2YWJsZTxBWFBFbnRpdHlMaXN0U29ydENvbmZpZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRTb3J0cyQucGlwZShkZWZhdWx0SWZFbXB0eShbXSkpO1xuICB9XG5cbiAgcHVibGljIGdldCBzb3J0c0NvdW50JCgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLnZpZXckLnBpcGUobWFwKChjKSA9PiBjLnNvcnRzLmxlbmd0aCkpO1xuICB9XG5cbiAgYWRkU29ydCgpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXckLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCh2aWV3KSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50U29ydHMgPSB0aGlzLl9jdXJyZW50U29ydHMkLmdldFZhbHVlKCk7XG4gICAgICBjb25zdCBuYW1lID0gdmlldy5jb2x1bW5zLmZpbmQoKGMpID0+ICFjdXJyZW50U29ydHMuc29tZSgocykgPT4gcy5uYW1lID09IGMubmFtZSkpPy5uYW1lID8/ICcnO1xuICAgICAgaWYgKG5hbWUpIHtcbiAgICAgICAgY29uc3Qgc29ydHMgPSBbLi4uY3VycmVudFNvcnRzLCB7IG5hbWUsIGRpcjogJ2FzYycgfSBhcyBBWFBFbnRpdHlMaXN0U29ydENvbmZpZ107XG4gICAgICAgIHRoaXMuX2N1cnJlbnRTb3J0cyQubmV4dChzb3J0cyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICByZW1vdmVTb3J0KGl0ZW06IEFYUEVudGl0eUxpc3RTb3J0Q29uZmlnKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudFNvcnRzID0gdGhpcy5fY3VycmVudFNvcnRzJC5nZXRWYWx1ZSgpO1xuICAgIGNvbnN0IHNvcnRzID0gY3VycmVudFNvcnRzLmZpbHRlcigoYykgPT4gYyAhPSBpdGVtKTtcbiAgICB0aGlzLl9jdXJyZW50U29ydHMkLm5leHQoc29ydHMpO1xuICB9XG5cbiAgcmVzZXRTb3J0KCk6IHZvaWQge1xuICAgIHRoaXMudmlldyQucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKHZpZXcpID0+IHtcbiAgICAgIHRoaXMuX2N1cnJlbnRTb3J0cyQubmV4dChjbG9uZURlZXAodmlldy5zb3J0cykpO1xuICAgIH0pO1xuICB9XG5cbiAgdXBkYXRlU29ydChpdGVtczogQVhQRW50aXR5TGlzdFNvcnRDb25maWdbXSk6IHZvaWQge1xuICAgIHRoaXMudmlldyQucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKHZpZXcpID0+IHtcbiAgICAgIHZpZXcuc29ydHMgPSBjbG9uZURlZXAoaXRlbXMpO1xuICAgICAgdGhpcy5fdmlld3MkLm5leHQodGhpcy5fdmlld3MkLnZhbHVlLm1hcCgodikgPT4gKHYubmFtZSA9PT0gdGhpcy5fY3VycmVudFZpZXcgPyB2aWV3IDogdikpKTtcbiAgICAgIGNvbnN0IGNvbnZlcnRlZFNvcnRJdGVtczogQVhEYXRhU291cmNlU29ydE9wdGlvbltdID0gaXRlbXMubWFwKChzKSA9PiAoe1xuICAgICAgICBmaWVsZDogcy5uYW1lLFxuICAgICAgICBkaXI6IHMuZGlyLFxuICAgICAgfSkpO1xuICAgICAgdGhpcy5kYXRhU291cmNlLnNvcnQoLi4uY29udmVydGVkU29ydEl0ZW1zKTtcbiAgICAgIHRoaXMuZGF0YVNvdXJjZS5yZWZyZXNoKCk7XG4gICAgfSk7XG4gIH1cblxuICAvLyoqKioqKioqKioqKioqKioqKiBDb25kaXRpb25zICoqKioqKioqKioqKioqKioqKi8vXG5cbiAgcHJpdmF0ZSBfY3VycmVudENvbmRpdGlvbnMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBWFBFbnRpdHlMaXN0Q29uZGl0aW9uQ29uZmlnW10+KFtdKTtcblxuICBwdWJsaWMgZ2V0IGNvbmRpdGlvbnMkKCk6IE9ic2VydmFibGU8QVhQRW50aXR5TGlzdENvbmRpdGlvbkNvbmZpZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRDb25kaXRpb25zJC5waXBlKGRlZmF1bHRJZkVtcHR5KFtdKSk7XG4gIH1cbiAgcHVibGljIGdldCBjb25kaXRpb25zQ291bnQkKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMuX2N1cnJlbnRDb25kaXRpb25zJC5waXBlKG1hcCgoYykgPT4gYy5sZW5ndGgpKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRJbmxpbmVGaWx0ZXJUaXRsZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLl9pbmxpbmVGaWx0ZXJJdGVtcy5tYXAoKGl0ZW0pID0+IGl0ZW0udGl0bGUpO1xuICB9XG5cbiAgYWRkQ29uZGl0aW9uKHNlbGVjdGVkRmllbGRzOiB7IG5hbWU6IHN0cmluZzsgb3ByOiBhbnk7IHZhbHVlPzogYW55IH1bXSk6IHZvaWQge1xuICAgIGNvbnN0IHByZXZDb25kaXRpb25zID0gdGhpcy5fY3VycmVudENvbmRpdGlvbnMkLmdldFZhbHVlKCk7XG4gICAgY29uc3QgY29uZGl0aW9uc01hcCA9IG5ldyBNYXAocHJldkNvbmRpdGlvbnMubWFwKChpdGVtKSA9PiBbaXRlbS5uYW1lLCBpdGVtXSkpO1xuXG4gICAgY29uc3QgbmV3RmllbGRzID0gc2VsZWN0ZWRGaWVsZHMubWFwKFxuICAgICAgKGZpZWxkKSA9PiBjb25kaXRpb25zTWFwLmdldChmaWVsZC5uYW1lKSB8fCB7IG5hbWU6IGZpZWxkLm5hbWUsIG9wZXJhdG9yOiBmaWVsZC5vcHIgfVxuICAgICk7XG4gICAgdGhpcy5fY3VycmVudENvbmRpdGlvbnMkLm5leHQobmV3RmllbGRzIGFzIEFYUEVudGl0eUxpc3RDb25kaXRpb25Db25maWdbXSk7XG4gIH1cblxuICByZW1vdmVDb25kaXRpb24oaXRlbTogQVhQRW50aXR5TGlzdENvbmRpdGlvbkNvbmZpZyk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnRDb25kaXRpb25zID0gdGhpcy5fY3VycmVudENvbmRpdGlvbnMkLmdldFZhbHVlKCk7XG4gICAgY29uc3QgY29uZGl0aW9ucyA9IGN1cnJlbnRDb25kaXRpb25zLmZpbHRlcigoYykgPT4gYyAhPSBpdGVtKTtcbiAgICB0aGlzLl9jdXJyZW50Q29uZGl0aW9ucyQubmV4dChjb25kaXRpb25zKTtcbiAgfVxuICB1cGRhdGVDb25kaXRpb25zKGl0ZW1zOiBBWFBFbnRpdHlMaXN0Q29uZGl0aW9uQ29uZmlnW10pOiB2b2lkIHtcbiAgICB0aGlzLnZpZXckLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCh2aWV3KSA9PiB7XG4gICAgICB2aWV3LmNvbmRpdGlvbnMgPSBjbG9uZURlZXAoaXRlbXMpO1xuICAgICAgdGhpcy5fdmlld3MkLm5leHQodGhpcy5fdmlld3MkLnZhbHVlLm1hcCgodikgPT4gKHYubmFtZSA9PT0gdGhpcy5fY3VycmVudFZpZXcgPyB2aWV3IDogdikpKTtcbiAgICB9KTtcbiAgICB0aGlzLmFwcGx5QWxsQ29uZGl0aW9ucygpO1xuICB9XG5cbiAgaGFuZGxlSW5saW5lU2VhcmNoKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBpbmxpbmVDb25kaXRpb25zOiBBWFBFbnRpdHlMaXN0Q29uZGl0aW9uQ29uZmlnW10gPSBbXTtcblxuICAgIHRoaXMuX2lubGluZUZpbHRlckl0ZW1zPy5mb3JFYWNoKChwcm9wZXJ0eSkgPT4ge1xuICAgICAgaWYgKHByb3BlcnR5Py5kYXRhVHlwZSA9PSAnc3RyaW5nJyB8fCBwcm9wZXJ0eT8uZGF0YVR5cGUgPT0gJ251bWJlcicpIHtcbiAgICAgICAgaW5saW5lQ29uZGl0aW9ucy5wdXNoKHtcbiAgICAgICAgICBuYW1lOiBwcm9wZXJ0eS5uYW1lLFxuICAgICAgICAgIHZhbHVlOiBwcm9wZXJ0eS5kYXRhVHlwZSA9PSAnbnVtYmVyJyA/IHBhcnNlRmxvYXQodmFsdWUpIDogdmFsdWUsXG4gICAgICAgICAgb3BlcmF0b3I6IHByb3BlcnR5LmRhdGFUeXBlID09ICdzdHJpbmcnID8gJ2VxdWFsJyA6ICdlcXVhbCcsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMudmlldyQucGlwZShmaXJzdCgpKS5zdWJzY3JpYmUoKHZpZXcpID0+IHtcbiAgICAgIHZpZXcuaW5saW5lQ29uZGl0aW9ucyA9IGNsb25lRGVlcChpbmxpbmVDb25kaXRpb25zKTtcbiAgICB9KTtcbiAgICB0aGlzLmFwcGx5QWxsQ29uZGl0aW9ucygpO1xuICB9XG5cbiAgYXBwbHlBbGxDb25kaXRpb25zKCkge1xuICAgIGNvbnN0IGlubGluZUNvbmRpdGlvbnM6IEFYRGF0YVNvdXJjZUZpbHRlck9wdGlvbiA9IHtcbiAgICAgIGZpZWxkOiBudWxsIGFzIGFueSxcbiAgICAgIG9wZXJhdG9yOiBudWxsIGFzIGFueSxcbiAgICAgIGxvZ2ljOiAnb3InLFxuICAgICAgZmlsdGVyczogW10sXG4gICAgfTtcblxuICAgIGNvbnN0IG1haW5Db25kaXRpb25zOiBBWERhdGFTb3VyY2VGaWx0ZXJPcHRpb24gPSB7XG4gICAgICBmaWVsZDogbnVsbCBhcyBhbnksXG4gICAgICBvcGVyYXRvcjogbnVsbCBhcyBhbnksXG4gICAgICBsb2dpYzogJ2FuZCcsXG4gICAgICBmaWx0ZXJzOiBbXSxcbiAgICB9O1xuXG4gICAgdGhpcy52aWV3JC5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgodmlldykgPT4ge1xuICAgICAgaWYgKHZpZXcuaW5saW5lQ29uZGl0aW9ucyAmJiB2aWV3LmlubGluZUNvbmRpdGlvbnMubGVuZ3RoKSB7XG4gICAgICAgIHZpZXcuaW5saW5lQ29uZGl0aW9ucz8uZm9yRWFjaCgoYykgPT4ge1xuICAgICAgICAgIGlmIChjLnZhbHVlKSB7XG4gICAgICAgICAgICBpbmxpbmVDb25kaXRpb25zLmZpbHRlcnM/LnB1c2goe1xuICAgICAgICAgICAgICBmaWVsZDogYy5uYW1lLFxuICAgICAgICAgICAgICBvcGVyYXRvcjogeyB0eXBlOiBjLm9wZXJhdG9yIH0gYXMgYW55LFxuICAgICAgICAgICAgICB2YWx1ZTogYy52YWx1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAodmlldy5jb25kaXRpb25zLmxlbmd0aCkge1xuICAgICAgICB2aWV3LmNvbmRpdGlvbnMuZm9yRWFjaCgoYykgPT4ge1xuICAgICAgICAgIG1haW5Db25kaXRpb25zLmZpbHRlcnM/LnB1c2goe1xuICAgICAgICAgICAgZmllbGQ6IGMubmFtZSxcbiAgICAgICAgICAgIG9wZXJhdG9yOiB7IHR5cGU6IGMub3BlcmF0b3IgfSBhcyBhbnksXG4gICAgICAgICAgICB2YWx1ZTogYy52YWx1ZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLmRhdGFTb3VyY2UuZmlsdGVyKHtcbiAgICAgICAgZmllbGQ6IG51bGwgYXMgYW55LFxuICAgICAgICBsb2dpYzogJ2FuZCcsXG4gICAgICAgIG9wZXJhdG9yOiBudWxsIGFzIGFueSxcbiAgICAgICAgZmlsdGVyczogW21haW5Db25kaXRpb25zLCBpbmxpbmVDb25kaXRpb25zXSxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5kYXRhU291cmNlLnJlZnJlc2goKTtcbiAgICAgIHRoaXMuX3ZpZXdzJC5uZXh0KHRoaXMuX3ZpZXdzJC52YWx1ZS5tYXAoKHYpID0+ICh2Lm5hbWUgPT09IHRoaXMuX2N1cnJlbnRWaWV3ID8gdmlldyA6IHYpKSk7XG4gICAgfSk7XG4gIH1cblxuICByZXNldENvbmRpdGlvbnMoKTogdm9pZCB7XG4gICAgbGV0IHByb3BOYW1lczogc3RyaW5nW10gPSBbXTtcbiAgICB0aGlzLnByb3BlcnRpZXMkLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKChwcm9wZXJ0aWVzKSA9PiB7XG4gICAgICBwcm9wTmFtZXMgPSBwcm9wZXJ0aWVzLm1hcCgocCkgPT4gcC5uYW1lKTtcbiAgICB9KTtcbiAgICB0aGlzLnZpZXckLnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKCh2aWV3KSA9PiB7XG4gICAgICB0aGlzLl9jdXJyZW50Q29uZGl0aW9ucyQubmV4dChjbG9uZURlZXAodmlldy5jb25kaXRpb25zLmZpbHRlcigoYykgPT4gcHJvcE5hbWVzLmluY2x1ZGVzKGMubmFtZSkpKSk7XG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFYUF9MSVNUVklFV19MT0FERVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48QVhQTGlzdFZpZXdMb2FkZXI+KCdBWFBfTElTVFZJRVdfTE9BREVSJyk7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQVhQTGlzdFZpZXdMb2FkZXJGYWN0b3J5IHtcbiAgcHJpdmF0ZSBjYWNoZTogTWFwPHN0cmluZywgQVhQTGlzdFZpZXdMb2FkZXI+ID0gbmV3IE1hcCgpO1xuICBwcml2YXRlIGVudGl0eVNlcnZpY2UgPSBpbmplY3QoQVhQRW50aXR5UmVnaXN0cnlTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBzY2hlbWFTZXJ2aWNlID0gaW5qZWN0KEFYUFNjaGVtYVJlZ2lzdHJ5U2VydmljZSk7XG4gIHByaXZhdGUgbGF5b3V0ID0gaW5qZWN0KEFYUExheW91dFNlcnZpY2UpO1xuXG4gIHB1YmxpYyBhc3luYyBjcmVhdGUobW9kdWxlTmFtZTogc3RyaW5nLCBlbnRpdHlOYW1lOiBzdHJpbmcpOiBQcm9taXNlPEFYUExpc3RWaWV3TG9hZGVyPiB7XG4gICAgdGhpcy5sYXlvdXQuc2V0TmF2aWdhdGlvbkxvYWRpbmcodHJ1ZSk7XG4gICAgY29uc3QgY29uZmlnID0gYXdhaXQgdGhpcy5lbnRpdHlTZXJ2aWNlLnJlc29sdmUobW9kdWxlTmFtZSwgZW50aXR5TmFtZSk7XG4gICAgbGV0IHJlc3VsdCA9IHRoaXMuY2FjaGUuZ2V0KGNvbmZpZy5uYW1lKTtcbiAgICBpZiAocmVzdWx0KSB7XG4gICAgICB0aGlzLmxheW91dC5zZXROYXZpZ2F0aW9uTG9hZGluZyhmYWxzZSk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICByZXN1bHQgPSBuZXcgQVhQTGlzdFZpZXdMb2FkZXJEZWZhdWx0KGNvbmZpZywgdGhpcy5zY2hlbWFTZXJ2aWNlKTtcbiAgICB0aGlzLmNhY2hlLnNldChjb25maWcubmFtZSwgcmVzdWx0KTtcbiAgICB0aGlzLmxheW91dC5zZXROYXZpZ2F0aW9uTG9hZGluZyhmYWxzZSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl19
@@ -56,7 +56,7 @@ export class AXPEntityPerformDeleteAction extends AXPWorkflowAction {
56
56
  setTimeout(() => {
57
57
  dialog.close();
58
58
  }, 300);
59
- debugger;
59
+ ;
60
60
  // Handle different scenarios for alerts
61
61
  if (successfulPromises > 0 && failedPromises === 0) {
62
62
  // All items deleted successfully
@@ -136,4 +136,4 @@ export const AXPDeleteEntityWorkflow = {
136
136
  },
137
137
  },
138
138
  };
139
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWVudGl0eS53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0cy9zcmMvbGliL2FkbWluL2VudGl0eS1sYXlvdXQvd29ya2Zsb3dzL2RlbGV0ZS1lbnRpdHkud29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sRUFFTCxpQkFBaUIsRUFFakIsbUJBQW1CLEVBQ25CLG1CQUFtQixHQUNwQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUVuRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxtQkFBbUIsQ0FDdEQsa0JBQWtCLENBQ25CLENBQUM7QUFHRixNQUFNLE9BQU8sNEJBQTZCLFNBQVEsaUJBQWlCO0lBRG5FOztRQUVVLG9CQUFlLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDbkQsa0JBQWEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDeEMsa0JBQWEsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztLQTRGeEQ7SUExRkMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUN2QyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakQsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxLQUFL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cm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7IEFYTG9hZGluZ0RpYWxvZ1NlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbG9hZGluZy1kaWFsb2cnO1xuaW1wb3J0IHsgQVhQRW50aXR5UmVnaXN0cnlTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb21tb24nO1xuaW1wb3J0IHtcbiAgQVhQV29ya2Zsb3csXG4gIEFYUFdvcmtmbG93QWN0aW9uLFxuICBBWFBXb3JrZmxvd0NvbnRleHQsXG4gIEFYUFdvcmtmbG93RnVuY3Rpb24sXG4gIGNyZWF0ZVdvcmtGbG93RXZlbnQsXG59IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBjb25zdCBBWFBFbnRpdHlEZWxldGVkRXZlbnQgPSBjcmVhdGVXb3JrRmxvd0V2ZW50PHsgbW9kdWxlOiBzdHJpbmc7IGVudGl0eTogc3RyaW5nOyBpZDogc3RyaW5nIH0+KFxuICAnW0VudGl0eV0gRGVsZXRlZCdcbik7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlQZXJmb3JtRGVsZXRlQWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICBwcml2YXRlIGVudGl0eVJlZ2lzdGVyeSA9IGluamVjdChBWFBFbnRpdHlSZWdpc3RyeVNlcnZpY2UpO1xuICBwcml2YXRlIGRpYWxvZ1NlcnZpY2UgPSBpbmplY3QoQVhEaWFsb2dTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBsb2FkaW5nRGlhbG9nID0gaW5qZWN0KEFYTG9hZGluZ0RpYWxvZ1NlcnZpY2UpO1xuXG4gIGFzeW5jIGV4ZWN1dGUoY29udGV4dDogQVhQV29ya2Zsb3dDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgbW9kdWxlTmFtZSA9IGNvbnRleHQuZ2V0VmFyaWFibGUoJ21vZHVsZScpO1xuICAgIGNvbnN0IGVudGl0eU5hbWUgPSBjb250ZXh0LmdldFZhcmlhYmxlKCdlbnRpdHknKTtcbiAgICBjb25zdCBpZHMgPSBjb250ZXh0LmdldFZhcmlhYmxlKCdpZHMnKTtcbiAgICBjb25zdCBlbnRpdHkgPSBhd2FpdCB0aGlzLmVudGl0eVJlZ2lzdGVyeS5yZXNvbHZlKG1vZHVsZU5hbWUsIGVudGl0eU5hbWUpO1xuICAgIGxldCBkZWxldGVkQ291bnQgPSAwO1xuICAgIGNvbnRleHQuc2V0VmFyaWFibGUoJ2RlbGV0ZVN1Y2Nlc3NmdWwnLCBmYWxzZSk7XG4gICAgY29uc3QgZGlhbG9nID0gdGhpcy5sb2FkaW5nRGlhbG9nLnNob3coe1xuICAgICAgdGl0bGU6ICdEZWxldGluZyBSZWNvcmQuLi4nLFxuICAgICAgbW9kZTogJ2RldGVybWluYXRlJyxcbiAgICAgIHN0YXR1czogJ0RlbGV0aW5nLi4uJyxcbiAgICAgIHByb2dyZXNzVmFsdWU6IDAsXG4gICAgICB0ZXh0OiBgMC8ke2lkcy5sZW5ndGh9YCxcbiAgICAgIGJ1dHRvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRleHQ6ICdDYW5jZWwnLFxuICAgICAgICAgIGNvbG9yOiAnZGFuZ2VyJyxcbiAgICAgICAgICBvbkNsaWNrOiAoKSA9PiB7XG4gICAgICAgICAgICBkaWFsb2cuY2xvc2UoKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIGlmIChlbnRpdHkuY29tbWFuZHM/LmRlbGV0ZSAhPSBudWxsKSB7XG4gICAgICBjb25zdCB3cmFwcGVkUHJvbWlzZXMgPSAoaWRzIGFzIGFueVtdKVxuICAgICAgICAubWFwKChpZCwgaSkgPT4ge1xuICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHJlc29sdmUoZW50aXR5LmNvbW1hbmRzPy5kZWxldGU/LihpZCkpO1xuICAgICAgICAgICAgfSwgaSAqIDIwMCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pXG4gICAgICAgIC5tYXAoKHApID0+XG4gICAgICAgICAgcD8udGhlbihcbiAgICAgICAgICAgICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICBkZWxldGVkQ291bnQrKztcbiAgICAgICAgICAgICAgZGlhbG9nLnNldFByb2dyZXNzVGV4dChgJHtkZWxldGVkQ291bnR9LyR7aWRzLmxlbmd0aH1gKTtcbiAgICAgICAgICAgICAgZGlhbG9nLnNldFByb2dyZXNzVmFsdWUoKGRlbGV0ZWRDb3VudCAvIGlkcy5sZW5ndGgpICogMTAwKTtcbiAgICAgICAgICAgICAgcmV0dXJuIHsgc3RhdHVzOiAnZnVsZmlsbGVkJywgdmFsdWUgfTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAocmVhc29uKSA9PiAoeyBzdGF0dXM6ICdyZWplY3RlZCcsIHJlYXNvbiB9KVxuICAgICAgICAgIClcbiAgICAgICAgKTtcblxuICAgICAgY29uc3QgcmVzdWx0cyA9IGF3YWl0IFByb21pc2UuYWxsKHdyYXBwZWRQcm9taXNlcyk7XG4gICAgICBjb25zdCBzdWNjZXNzZnVsUHJvbWlzZXMgPSByZXN1bHRzLmZpbHRlcigocmVzdWx0KSA9PiByZXN1bHQ/LnN0YXR1cyA9PT0gJ2Z1bGZpbGxlZCcpLmxlbmd0aDtcbiAgICAgIGNvbnN0IGZhaWxlZFByb21pc2VzID0gcmVzdWx0cy5maWx0ZXIoKHJlc3VsdCkgPT4gcmVzdWx0Py5zdGF0dXMgPT09ICdyZWplY3RlZCcpLmxlbmd0aDtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBkaWFsb2cuY2xvc2UoKTtcbiAgICAgIH0sIDMwMCk7XG5cbiAgICAgIGRlYnVnZ2VyO1xuXG4gICAgICAvLyBIYW5kbGUgZGlmZmVyZW50IHNjZW5hcmlvcyBmb3IgYWxlcnRzXG4gICAgICBpZiAoc3VjY2Vzc2Z1bFByb21pc2VzID4gMCAmJiBmYWlsZWRQcm9taXNlcyA9PT0gMCkge1xuICAgICAgICAvLyBBbGwgaXRlbXMgZGVsZXRlZCBzdWNjZXNzZnVsbHlcbiAgICAgICAgYXdhaXQgdGhpcy5kaWFsb2dTZXJ2aWNlLmFsZXJ0KFxuICAgICAgICAgICdEZWxldGlvbiBTdWNjZXNzZnVsJyxcbiAgICAgICAgICBgJHtzdWNjZXNzZnVsUHJvbWlzZXN9IGl0ZW0ocykgaGFzIGJlZW4gZGVsZXRlZC5gLFxuICAgICAgICAgICdzdWNjZXNzJ1xuICAgICAgICApO1xuICAgICAgICAvLyBEaXNwYXRjaCBhY3Rpb25zXG4gICAgICAgIHRoaXMuZGlzcGF0Y2goQVhQRW50aXR5RGVsZXRlZEV2ZW50KHsgbW9kdWxlOiBtb2R1bGVOYW1lLCBlbnRpdHk6IGVudGl0eU5hbWUsIGlkOiBpZHMgfSkpO1xuICAgICAgfSBlbHNlIGlmIChzdWNjZXNzZnVsUHJvbWlzZXMgPiAwICYmIGZhaWxlZFByb21pc2VzID4gMCkge1xuICAgICAgICAvLyBTb21lIGl0ZW1zIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5LCBzb21lIGZhaWxlZFxuICAgICAgICBhd2FpdCB0aGlzLmRpYWxvZ1NlcnZpY2UuYWxlcnQoXG4gICAgICAgICAgJ1BhcnRpYWwgRGVsZXRpb24gQ29tcGxldGVkJyxcbiAgICAgICAgICBgJHtzdWNjZXNzZnVsUHJvbWlzZXN9IGl0ZW0ocykgZGVsZXRlZCBzdWNjZXNzZnVsbHkuIEhvd2V2ZXIsICR7ZmFpbGVkUHJvbWlzZXN9IGl0ZW0ocykgY291bGQgbm90IGJlIGRlbGV0ZWQuYCxcbiAgICAgICAgICAnd2FybmluZydcbiAgICAgICAgKTtcbiAgICAgICAgLy8gRGlzcGF0Y2ggYWN0aW9uc1xuICAgICAgICB0aGlzLmRpc3BhdGNoKEFYUEVudGl0eURlbGV0ZWRFdmVudCh7IG1vZHVsZTogbW9kdWxlTmFtZSwgZW50aXR5OiBlbnRpdHlOYW1lLCBpZDogaWRzIH0pKTtcbiAgICAgIH0gZWxzZSBpZiAoc3VjY2Vzc2Z1bFByb21pc2VzID09PSAwICYmIGZhaWxlZFByb21pc2VzID4gMCkge1xuICAgICAgICAvLyBObyBpdGVtcyBkZWxldGVkLCBhbGwgZmFpbGVkXG4gICAgICAgIGF3YWl0IHRoaXMuZGlhbG9nU2VydmljZS5hbGVydChcbiAgICAgICAgICAnRGVsZXRpb24gRmFpbGVkJyxcbiAgICAgICAgICBgTm8gaXRlbXMgd2VyZSBkZWxldGVkLiAke2ZhaWxlZFByb21pc2VzfSBpdGVtKHMpIGZhaWxlZCB0byBkZWxldGUuYCxcbiAgICAgICAgICAnZGFuZ2VyJ1xuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gTm8gaXRlbXMgdG8gZGVsZXRlIChubyBzdWNjZXNzZnVsIG9yIGZhaWxlZCBwcm9taXNlcylcbiAgICAgICAgYXdhaXQgdGhpcy5kaWFsb2dTZXJ2aWNlLmFsZXJ0KCdObyBEZWxldGlvbiBOZWVkZWQnLCAnTm8gaXRlbXMgd2VyZSBhdmFpbGFibGUgdG8gZGVsZXRlLicsICdpbmZvJyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRoZSBkZWxldGUgb3BlcmF0aW9uIGNhbm5vdCBiZSBwZXJmb3JtZWQgb24gJHtlbnRpdHkudGl0bGV9LiBUaGlzIGFjdGlvbiBtaWdodCBiZSByZXN0cmljdGVkIG9yIG5vdCBhcHBsaWNhYmxlIGZvciB0aGUgc2VsZWN0ZWQgaXRlbS5gXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhQTXlDdXN0b21GdW5jIGV4dGVuZHMgQVhQV29ya2Zsb3dGdW5jdGlvbiB7XG4gIHByaXZhdGUgZW50aXR5UmVnaXN0ZXJ5ID0gaW5qZWN0KEFYUEVudGl0eVJlZ2lzdHJ5U2VydmljZSk7XG4gIHByaXZhdGUgZGlhbG9nU2VydmljZSA9IGluamVjdChBWERpYWxvZ1NlcnZpY2UpO1xuXG4gIGFzeW5jIGV4ZWN1dGUodmFsOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdmFsID09ICdhYmMnO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBBWFBEZWxldGVFbnRpdHlXb3JrZmxvdzogQVhQV29ya2Zsb3cgPSB7XG4gIHN0YXJ0U3RlcElkOiAnY29uZmlybURlbGV0ZScsXG4gIHN0ZXBzOiB7XG4gICAgY29uZmlybURlbGV0ZToge1xuICAgICAgaWQ6ICdjb25maXJtRGVsZXRlJyxcbiAgICAgIGFjdGlvbjogJ0FYUERpYWxvZ0NvbmZpcm1BY3Rpb24nLFxuICAgICAgaW5wdXQ6IHtcbiAgICAgICAgdGl0bGU6ICdXYXJuaW5nJyxcbiAgICAgICAgbWVzc2FnZTogYEFyZSB5b3Ugc3VyZSB3YW50IHRvIGRlbGV0ZSBzZWxlY3RlZCBpdGVtKHMpP2AsXG4gICAgICAgIHR5cGU6ICdkYW5nZXInLFxuICAgICAgfSxcbiAgICAgIG5leHRTdGVwczogW1xuICAgICAgICB7XG4gICAgICAgICAgY29uZGl0aW9uczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiAnQU5EJyxcbiAgICAgICAgICAgICAgY29uZGl0aW9uczogW1xuICAgICAgICAgICAgICAgIHsgdHlwZTogJ1NJTkdMRScsIGV4cHJlc3Npb246ICdjb250ZXh0LmdldE91dHB1dChcInJlc3VsdFwiKSA9PSB0cnVlJyB9LFxuICAgICAgICAgICAgICAgIHsgdHlwZTogJ1NJTkdMRScsIGV4cHJlc3Npb246ICdhd2FpdCB0ZXN0KFwiYWJjXCIpJyB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIG5leHRTdGVwSWQ6ICdwZXJmb3JtRGVsZXRlJyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICBwZXJmb3JtRGVsZXRlOiB7XG4gICAgICBpZDogJ3BlcmZvcm1EZWxldGUnLFxuICAgICAgYWN0aW9uOiAnQVhQRW50aXR5UGVyZm9ybURlbGV0ZUFjdGlvbicsXG4gICAgfSxcbiAgfSxcbn07XG4iXX0=
139
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWVudGl0eS53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0cy9zcmMvbGliL2FkbWluL2VudGl0eS1sYXlvdXQvd29ya2Zsb3dzL2RlbGV0ZS1lbnRpdHkud29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sRUFFTCxpQkFBaUIsRUFFakIsbUJBQW1CLEVBQ25CLG1CQUFtQixHQUNwQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUVuRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxtQkFBbUIsQ0FDdEQsa0JBQWtCLENBQ25CLENBQUM7QUFHRixNQUFNLE9BQU8sNEJBQTZCLFNBQVEsaUJBQWlCO0lBRG5FOztRQUVVLG9CQUFlLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDbkQsa0JBQWEsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDeEMsa0JBQWEsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztLQTRGeEQ7SUExRkMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUEyQjtRQUN2QyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakQsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxLQUFL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QGFjb3JleC9jb21wb25lbnRzL2RpYWxvZyc7XG5pbXBvcnQgeyBBWExvYWRpbmdEaWFsb2dTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmctZGlhbG9nJztcbmltcG9ydCB7IEFYUEVudGl0eVJlZ2lzdHJ5U2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7XG4gIEFYUFdvcmtmbG93LFxuICBBWFBXb3JrZmxvd0FjdGlvbixcbiAgQVhQV29ya2Zsb3dDb250ZXh0LFxuICBBWFBXb3JrZmxvd0Z1bmN0aW9uLFxuICBjcmVhdGVXb3JrRmxvd0V2ZW50LFxufSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL3dvcmtmbG93JztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY29uc3QgQVhQRW50aXR5RGVsZXRlZEV2ZW50ID0gY3JlYXRlV29ya0Zsb3dFdmVudDx7IG1vZHVsZTogc3RyaW5nOyBlbnRpdHk6IHN0cmluZzsgaWQ6IHN0cmluZyB9PihcbiAgJ1tFbnRpdHldIERlbGV0ZWQnXG4pO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5UGVyZm9ybURlbGV0ZUFjdGlvbiBleHRlbmRzIEFYUFdvcmtmbG93QWN0aW9uIHtcbiAgcHJpdmF0ZSBlbnRpdHlSZWdpc3RlcnkgPSBpbmplY3QoQVhQRW50aXR5UmVnaXN0cnlTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlID0gaW5qZWN0KEFYRGlhbG9nU2VydmljZSk7XG4gIHByaXZhdGUgbG9hZGluZ0RpYWxvZyA9IGluamVjdChBWExvYWRpbmdEaWFsb2dTZXJ2aWNlKTtcblxuICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IG1vZHVsZU5hbWUgPSBjb250ZXh0LmdldFZhcmlhYmxlKCdtb2R1bGUnKTtcbiAgICBjb25zdCBlbnRpdHlOYW1lID0gY29udGV4dC5nZXRWYXJpYWJsZSgnZW50aXR5Jyk7XG4gICAgY29uc3QgaWRzID0gY29udGV4dC5nZXRWYXJpYWJsZSgnaWRzJyk7XG4gICAgY29uc3QgZW50aXR5ID0gYXdhaXQgdGhpcy5lbnRpdHlSZWdpc3RlcnkucmVzb2x2ZShtb2R1bGVOYW1lLCBlbnRpdHlOYW1lKTtcbiAgICBsZXQgZGVsZXRlZENvdW50ID0gMDtcbiAgICBjb250ZXh0LnNldFZhcmlhYmxlKCdkZWxldGVTdWNjZXNzZnVsJywgZmFsc2UpO1xuICAgIGNvbnN0IGRpYWxvZyA9IHRoaXMubG9hZGluZ0RpYWxvZy5zaG93KHtcbiAgICAgIHRpdGxlOiAnRGVsZXRpbmcgUmVjb3JkLi4uJyxcbiAgICAgIG1vZGU6ICdkZXRlcm1pbmF0ZScsXG4gICAgICBzdGF0dXM6ICdEZWxldGluZy4uLicsXG4gICAgICBwcm9ncmVzc1ZhbHVlOiAwLFxuICAgICAgdGV4dDogYDAvJHtpZHMubGVuZ3RofWAsXG4gICAgICBidXR0b25zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXh0OiAnQ2FuY2VsJyxcbiAgICAgICAgICBjb2xvcjogJ2RhbmdlcicsXG4gICAgICAgICAgb25DbGljazogKCkgPT4ge1xuICAgICAgICAgICAgZGlhbG9nLmNsb3NlKCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBpZiAoZW50aXR5LmNvbW1hbmRzPy5kZWxldGUgIT0gbnVsbCkge1xuICAgICAgY29uc3Qgd3JhcHBlZFByb21pc2VzID0gKGlkcyBhcyBhbnlbXSlcbiAgICAgICAgLm1hcCgoaWQsIGkpID0+IHtcbiAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICByZXNvbHZlKGVudGl0eS5jb21tYW5kcz8uZGVsZXRlPy4oaWQpKTtcbiAgICAgICAgICAgIH0sIGkgKiAyMDApO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgICAubWFwKChwKSA9PlxuICAgICAgICAgIHA/LnRoZW4oXG4gICAgICAgICAgICAodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgZGVsZXRlZENvdW50Kys7XG4gICAgICAgICAgICAgIGRpYWxvZy5zZXRQcm9ncmVzc1RleHQoYCR7ZGVsZXRlZENvdW50fS8ke2lkcy5sZW5ndGh9YCk7XG4gICAgICAgICAgICAgIGRpYWxvZy5zZXRQcm9ncmVzc1ZhbHVlKChkZWxldGVkQ291bnQgLyBpZHMubGVuZ3RoKSAqIDEwMCk7XG4gICAgICAgICAgICAgIHJldHVybiB7IHN0YXR1czogJ2Z1bGZpbGxlZCcsIHZhbHVlIH07XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKHJlYXNvbikgPT4gKHsgc3RhdHVzOiAncmVqZWN0ZWQnLCByZWFzb24gfSlcbiAgICAgICAgICApXG4gICAgICAgICk7XG5cbiAgICAgIGNvbnN0IHJlc3VsdHMgPSBhd2FpdCBQcm9taXNlLmFsbCh3cmFwcGVkUHJvbWlzZXMpO1xuICAgICAgY29uc3Qgc3VjY2Vzc2Z1bFByb21pc2VzID0gcmVzdWx0cy5maWx0ZXIoKHJlc3VsdCkgPT4gcmVzdWx0Py5zdGF0dXMgPT09ICdmdWxmaWxsZWQnKS5sZW5ndGg7XG4gICAgICBjb25zdCBmYWlsZWRQcm9taXNlcyA9IHJlc3VsdHMuZmlsdGVyKChyZXN1bHQpID0+IHJlc3VsdD8uc3RhdHVzID09PSAncmVqZWN0ZWQnKS5sZW5ndGg7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgZGlhbG9nLmNsb3NlKCk7XG4gICAgICB9LCAzMDApO1xuXG4gICAgICA7XG5cbiAgICAgIC8vIEhhbmRsZSBkaWZmZXJlbnQgc2NlbmFyaW9zIGZvciBhbGVydHNcbiAgICAgIGlmIChzdWNjZXNzZnVsUHJvbWlzZXMgPiAwICYmIGZhaWxlZFByb21pc2VzID09PSAwKSB7XG4gICAgICAgIC8vIEFsbCBpdGVtcyBkZWxldGVkIHN1Y2Nlc3NmdWxseVxuICAgICAgICBhd2FpdCB0aGlzLmRpYWxvZ1NlcnZpY2UuYWxlcnQoXG4gICAgICAgICAgJ0RlbGV0aW9uIFN1Y2Nlc3NmdWwnLFxuICAgICAgICAgIGAke3N1Y2Nlc3NmdWxQcm9taXNlc30gaXRlbShzKSBoYXMgYmVlbiBkZWxldGVkLmAsXG4gICAgICAgICAgJ3N1Y2Nlc3MnXG4gICAgICAgICk7XG4gICAgICAgIC8vIERpc3BhdGNoIGFjdGlvbnNcbiAgICAgICAgdGhpcy5kaXNwYXRjaChBWFBFbnRpdHlEZWxldGVkRXZlbnQoeyBtb2R1bGU6IG1vZHVsZU5hbWUsIGVudGl0eTogZW50aXR5TmFtZSwgaWQ6IGlkcyB9KSk7XG4gICAgICB9IGVsc2UgaWYgKHN1Y2Nlc3NmdWxQcm9taXNlcyA+IDAgJiYgZmFpbGVkUHJvbWlzZXMgPiAwKSB7XG4gICAgICAgIC8vIFNvbWUgaXRlbXMgZGVsZXRlZCBzdWNjZXNzZnVsbHksIHNvbWUgZmFpbGVkXG4gICAgICAgIGF3YWl0IHRoaXMuZGlhbG9nU2VydmljZS5hbGVydChcbiAgICAgICAgICAnUGFydGlhbCBEZWxldGlvbiBDb21wbGV0ZWQnLFxuICAgICAgICAgIGAke3N1Y2Nlc3NmdWxQcm9taXNlc30gaXRlbShzKSBkZWxldGVkIHN1Y2Nlc3NmdWxseS4gSG93ZXZlciwgJHtmYWlsZWRQcm9taXNlc30gaXRlbShzKSBjb3VsZCBub3QgYmUgZGVsZXRlZC5gLFxuICAgICAgICAgICd3YXJuaW5nJ1xuICAgICAgICApO1xuICAgICAgICAvLyBEaXNwYXRjaCBhY3Rpb25zXG4gICAgICAgIHRoaXMuZGlzcGF0Y2goQVhQRW50aXR5RGVsZXRlZEV2ZW50KHsgbW9kdWxlOiBtb2R1bGVOYW1lLCBlbnRpdHk6IGVudGl0eU5hbWUsIGlkOiBpZHMgfSkpO1xuICAgICAgfSBlbHNlIGlmIChzdWNjZXNzZnVsUHJvbWlzZXMgPT09IDAgJiYgZmFpbGVkUHJvbWlzZXMgPiAwKSB7XG4gICAgICAgIC8vIE5vIGl0ZW1zIGRlbGV0ZWQsIGFsbCBmYWlsZWRcbiAgICAgICAgYXdhaXQgdGhpcy5kaWFsb2dTZXJ2aWNlLmFsZXJ0KFxuICAgICAgICAgICdEZWxldGlvbiBGYWlsZWQnLFxuICAgICAgICAgIGBObyBpdGVtcyB3ZXJlIGRlbGV0ZWQuICR7ZmFpbGVkUHJvbWlzZXN9IGl0ZW0ocykgZmFpbGVkIHRvIGRlbGV0ZS5gLFxuICAgICAgICAgICdkYW5nZXInXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBObyBpdGVtcyB0byBkZWxldGUgKG5vIHN1Y2Nlc3NmdWwgb3IgZmFpbGVkIHByb21pc2VzKVxuICAgICAgICBhd2FpdCB0aGlzLmRpYWxvZ1NlcnZpY2UuYWxlcnQoJ05vIERlbGV0aW9uIE5lZWRlZCcsICdObyBpdGVtcyB3ZXJlIGF2YWlsYWJsZSB0byBkZWxldGUuJywgJ2luZm8nKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVGhlIGRlbGV0ZSBvcGVyYXRpb24gY2Fubm90IGJlIHBlcmZvcm1lZCBvbiAke2VudGl0eS50aXRsZX0uIFRoaXMgYWN0aW9uIG1pZ2h0IGJlIHJlc3RyaWN0ZWQgb3Igbm90IGFwcGxpY2FibGUgZm9yIHRoZSBzZWxlY3RlZCBpdGVtLmBcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBWFBNeUN1c3RvbUZ1bmMgZXh0ZW5kcyBBWFBXb3JrZmxvd0Z1bmN0aW9uIHtcbiAgcHJpdmF0ZSBlbnRpdHlSZWdpc3RlcnkgPSBpbmplY3QoQVhQRW50aXR5UmVnaXN0cnlTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBkaWFsb2dTZXJ2aWNlID0gaW5qZWN0KEFYRGlhbG9nU2VydmljZSk7XG5cbiAgYXN5bmMgZXhlY3V0ZSh2YWw6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB2YWwgPT0gJ2FiYyc7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFYUERlbGV0ZUVudGl0eVdvcmtmbG93OiBBWFBXb3JrZmxvdyA9IHtcbiAgc3RhcnRTdGVwSWQ6ICdjb25maXJtRGVsZXRlJyxcbiAgc3RlcHM6IHtcbiAgICBjb25maXJtRGVsZXRlOiB7XG4gICAgICBpZDogJ2NvbmZpcm1EZWxldGUnLFxuICAgICAgYWN0aW9uOiAnQVhQRGlhbG9nQ29uZmlybUFjdGlvbicsXG4gICAgICBpbnB1dDoge1xuICAgICAgICB0aXRsZTogJ1dhcm5pbmcnLFxuICAgICAgICBtZXNzYWdlOiBgQXJlIHlvdSBzdXJlIHdhbnQgdG8gZGVsZXRlIHNlbGVjdGVkIGl0ZW0ocyk/YCxcbiAgICAgICAgdHlwZTogJ2RhbmdlcicsXG4gICAgICB9LFxuICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBjb25kaXRpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6ICdBTkQnLFxuICAgICAgICAgICAgICBjb25kaXRpb25zOiBbXG4gICAgICAgICAgICAgICAgeyB0eXBlOiAnU0lOR0xFJywgZXhwcmVzc2lvbjogJ2NvbnRleHQuZ2V0T3V0cHV0KFwicmVzdWx0XCIpID09IHRydWUnIH0sXG4gICAgICAgICAgICAgICAgeyB0eXBlOiAnU0lOR0xFJywgZXhwcmVzc2lvbjogJ2F3YWl0IHRlc3QoXCJhYmNcIiknIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgbmV4dFN0ZXBJZDogJ3BlcmZvcm1EZWxldGUnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHBlcmZvcm1EZWxldGU6IHtcbiAgICAgIGlkOiAncGVyZm9ybURlbGV0ZScsXG4gICAgICBhY3Rpb246ICdBWFBFbnRpdHlQZXJmb3JtRGVsZXRlQWN0aW9uJyxcbiAgICB9LFxuICB9LFxufTtcbiJdfQ==
@@ -1,10 +1,11 @@
1
1
  import { AXPopupService } from '@acorex/components/popup';
2
2
  import { AXPlatform } from '@acorex/core/platform';
3
+ import { AXTranslationService } from '@acorex/core/translation';
4
+ import { AXPEntityRegistryService } from '@acorex/platform/common';
3
5
  import { AXPWorkflowAction, createWorkFlowEvent } from '@acorex/platform/workflow';
4
6
  import { Injectable, inject } from '@angular/core';
5
7
  import { cloneDeep } from 'lodash-es';
6
8
  import { AXPEntityModifyViewLoaderFactory } from '../entity-modify-view/entity-modify-view.config';
7
- import { AXPEntityRegistryService } from '@acorex/platform/common';
8
9
  import * as i0 from "@angular/core";
9
10
  export const AXPEntityModifyEvent = createWorkFlowEvent('[Entity] Modified');
10
11
  export class AXPEntityModifyPopupAction extends AXPWorkflowAction {
@@ -12,6 +13,7 @@ export class AXPEntityModifyPopupAction extends AXPWorkflowAction {
12
13
  super(...arguments);
13
14
  this.popupService = inject(AXPopupService);
14
15
  this.platform = inject(AXPlatform);
16
+ this.translateService = inject(AXTranslationService);
15
17
  this.entityRegistery = inject(AXPEntityRegistryService);
16
18
  this.entityCreateFactory = inject(AXPEntityModifyViewLoaderFactory);
17
19
  }
@@ -22,7 +24,7 @@ export class AXPEntityModifyPopupAction extends AXPWorkflowAction {
22
24
  const loader = await this.entityCreateFactory.create(module, entityName, id, section);
23
25
  const com = await import('../entity-modify-view/entity-modify-view.component');
24
26
  const popup = await this.popupService.open(com.AXPEntityModifyViewComponent, {
25
- title: `Modify ${payload.section.title}`,
27
+ title: `${this.translateService.translateSync('entity.modify')} ${payload.section.title}`,
26
28
  size: this.platform.is('Mobile') || this.platform.is('SM') ? 'full' : 'md',
27
29
  data: {
28
30
  context: loader.data,
@@ -95,4 +97,4 @@ export const AXPModifyEntityWorkflow = {
95
97
  },
96
98
  },
97
99
  };
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kaWZ5LWVudGl0eS53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0cy9zcmMvbGliL2FkbWluL2VudGl0eS1sYXlvdXQvd29ya2Zsb3dzL21vZGlmeS1lbnRpdHkud29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQWUsaUJBQWlCLEVBQXNCLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUNuRyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFFbkUsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsbUJBQW1CLENBQ3JELG1CQUFtQixDQUNwQixDQUFDO0FBRUYsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGlCQUFpQjtJQURqRTs7UUFFVSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0QyxhQUFRLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlCLG9CQUFlLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDbkQsd0JBQW1CLEdBQUcsTUFBTSxDQUFDLGdDQUFnQyxDQUFDLENBQUM7S0F5QnhFO0lBdkJDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBMkI7UUFDdkMsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxTQUFT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aUJBQzNCO2FBQ0Y7U0FDRjtRQUNELFlBQVksRUFBRTtZQUNaLEVBQUUsRUFBRSxjQUFjO1lBQ2xCLE1BQU0sRUFBRSxnQkFBZ0I7WUFDeEIsS0FBSyxFQUFFO2dCQUNMLEtBQUssRUFBRSxTQUFTO2dCQUNoQixLQUFLLEVBQUUsaUJBQWlCO2dCQUN4QixPQUFPLEVBQUUsdUNBQXVDO2FBQ2pEO1lBQ0QsU0FBUyxFQUFFO2dCQUNUO29CQUNFLFVBQVUsRUFBRSxFQUFFO29CQUNkLFVBQVUsRUFBRSxpQkFBaUI7aUJBQzlCO2FBQ0Y7U0FDRjtRQUNELGVBQWUsRUFBRTtZQUNmLEVBQUUsRUFBRSxpQkFBaUI7WUFDckIsTUFBTSxFQUFFLGdDQUFnQztZQUN4QyxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsVUFBVSxFQUFFLEVBQUU7b0JBQ2QsVUFBVSxFQUFFLEVBQUU7aUJBQ2Y7YUFDRjtTQUNGO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhQb3B1cFNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvcG9wdXAnO1xuaW1wb3J0IHsgQVhQbGF0Zm9ybSB9IGZyb20gJ0BhY29yZXgvY29yZS9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvdywgQVhQV29ya2Zsb3dBY3Rpb24sIEFYUFdvcmtmbG93Q29udGV4dCwgY3JlYXRlV29ya0Zsb3dFdmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQVhQRW50aXR5TW9kaWZ5Vmlld0xvYWRlckZhY3RvcnkgfSBmcm9tICcuLi9lbnRpdHktbW9kaWZ5LXZpZXcvZW50aXR5LW1vZGlmeS12aWV3LmNvbmZpZyc7XG5pbXBvcnQgeyBBWFBFbnRpdHlSZWdpc3RyeVNlcnZpY2UgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5cbmV4cG9ydCBjb25zdCBBWFBFbnRpdHlNb2RpZnlFdmVudCA9IGNyZWF0ZVdvcmtGbG93RXZlbnQ8eyBtb2R1bGU6IHN0cmluZzsgZW50aXR5OiBzdHJpbmc7IHVwZGF0ZVZhbHVlczogYW55IH0+KFxuICAnW0VudGl0eV0gTW9kaWZpZWQnXG4pO1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eU1vZGlmeVBvcHVwQWN0aW9uIGV4dGVuZHMgQVhQV29ya2Zsb3dBY3Rpb24ge1xuICBwcml2YXRlIHBvcHVwU2VydmljZSA9IGluamVjdChBWFBvcHVwU2VydmljZSk7XG4gIHByaXZhdGUgcGxhdGZvcm0gPSBpbmplY3QoQVhQbGF0Zm9ybSk7XG4gIHByaXZhdGUgZW50aXR5UmVnaXN0ZXJ5ID0gaW5qZWN0KEFYUEVudGl0eVJlZ2lzdHJ5U2VydmljZSk7XG4gIHByaXZhdGUgZW50aXR5Q3JlYXRlRmFjdG9yeSA9IGluamVjdChBWFBFbnRpdHlNb2RpZnlWaWV3TG9hZGVyRmFjdG9yeSk7XG5cbiAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBwYXlsb2FkID0gY29udGV4dC5nZXRWYXJpYWJsZSgncGF5bG9hZCcpO1xuICAgIGNvbnN0IHsgbW9kdWxlLCBlbnRpdHk6IGVudGl0eU5hbWUsIHNlY3Rpb24sIGlkIH0gPSBwYXlsb2FkO1xuICAgIGNvbnN0IGVudGl0eSA9IGF3YWl0IHRoaXMuZW50aXR5UmVnaXN0ZXJ5LnJlc29sdmUobW9kdWxlLCBlbnRpdHlOYW1lKTtcbiAgICBjb25zdCBsb2FkZXIgPSBhd2FpdCB0aGlzLmVudGl0eUNyZWF0ZUZhY3RvcnkuY3JlYXRlKG1vZHVsZSwgZW50aXR5TmFtZSwgaWQsIHNlY3Rpb24pO1xuXG4gICAgY29uc3QgY29tID0gYXdhaXQgaW1wb3J0KCcuLi9lbnRpdHktbW9kaWZ5LXZpZXcvZW50aXR5LW1vZGlmeS12aWV3LmNvbXBvbmVudCcpO1xuICAgIGNvbnN0IHBvcHVwID0gYXdhaXQgdGhpcy5wb3B1cFNlcnZpY2Uub3Blbihjb20uQVhQRW50aXR5TW9kaWZ5Vmlld0NvbXBvbmVudCwge1xuICAgICAgdGl0bGU6IGBNb2RpZnkgJHtwYXlsb2FkLnNlY3Rpb24udGl0bGV9YCxcbiAgICAgIHNpemU6IHRoaXMucGxhdGZvcm0uaXMoJ01vYmlsZScpIHx8IHRoaXMucGxhdGZvcm0uaXMoJ1NNJykgPyAnZnVsbCcgOiAnbWQnLFxuICAgICAgZGF0YToge1xuICAgICAgICBjb250ZXh0OiBsb2FkZXIuZGF0YSxcbiAgICAgICAgbG9hZGVyOiBsb2FkZXIsXG4gICAgICAgIHByb3BlcnRpZXM6IHBheWxvYWQuc2VjdGlvbi5wcm9wZXJ0aWVzLFxuICAgICAgICBlbnRpdHksXG4gICAgICB9LFxuICAgIH0pO1xuICAgIGNvbnRleHQuc2V0T3V0cHV0KCdwb3B1cFJlc3VsdCcsIGZhbHNlKTtcbiAgICBpZiAocG9wdXAuZGF0YT8ucmVzdWx0ID09IHRydWUpIHtcbiAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdwb3B1cFJlc3VsdCcsIHRydWUpO1xuICAgICAgY29udGV4dC5zZXRWYXJpYWJsZSgndXBkYXRlZERhdGEnLCBjbG9uZURlZXAocG9wdXAuZGF0YS5jb250ZXh0KSk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlNb2RpZnlDb25maXJtZWRBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gIHByaXZhdGUgZW50aXR5UmVnaXN0ZXJ5ID0gaW5qZWN0KEFYUEVudGl0eVJlZ2lzdHJ5U2VydmljZSk7XG5cbiAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBwYXlsb2FkID0gY29udGV4dC5nZXRWYXJpYWJsZSgncGF5bG9hZCcpO1xuICAgIGNvbnN0IHVwZGF0ZWREYXRhID0gY29udGV4dC5nZXRWYXJpYWJsZSgndXBkYXRlZERhdGEnKTtcbiAgICBjb25zdCBlbnRpdHkgPSBhd2FpdCB0aGlzLmVudGl0eVJlZ2lzdGVyeS5yZXNvbHZlKHBheWxvYWQubW9kdWxlLCBwYXlsb2FkLmVudGl0eSk7XG4gICAgdGhpcy5kaXNwYXRjaChBWFBFbnRpdHlNb2RpZnlFdmVudCh7IG1vZHVsZTogZW50aXR5Lm1vZHVsZSwgZW50aXR5OiBlbnRpdHkubmFtZSwgdXBkYXRlVmFsdWVzOiB1cGRhdGVkRGF0YSB9KSk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFYUE1vZGlmeUVudGl0eVdvcmtmbG93OiBBWFBXb3JrZmxvdyA9IHtcbiAgc3RhcnRTdGVwSWQ6ICdtb2RpZnlQb3B1cCcsXG4gIHN0ZXBzOiB7XG4gICAgbW9kaWZ5UG9wdXA6IHtcbiAgICAgIGlkOiAnbW9kaWZ5UG9wdXAnLFxuICAgICAgYWN0aW9uOiAnQVhQRW50aXR5TW9kaWZ5UG9wdXBBY3Rpb24nLFxuICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBjb25kaXRpb25zOiBbeyB0eXBlOiAnU0lOR0xFJywgZXhwcmVzc2lvbjogJ2NvbnRleHQuZ2V0T3V0cHV0KFwicG9wdXBSZXN1bHRcIikgPT0gdHJ1ZScgfV0sXG4gICAgICAgICAgbmV4dFN0ZXBJZDogJ3N1Y2Nlc3NUb2FzdCcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAgc3VjY2Vzc1RvYXN0OiB7XG4gICAgICBpZDogJ3N1Y2Nlc3NUb2FzdCcsXG4gICAgICBhY3Rpb246ICdBWFBUb2FzdEFjdGlvbicsXG4gICAgICBpbnB1dDoge1xuICAgICAgICBjb2xvcjogJ3N1Y2Nlc3MnLFxuICAgICAgICB0aXRsZTogJ0VudGl0eSBNb2RpZmllZCcsXG4gICAgICAgIGNvbnRlbnQ6ICdSZWNvcmQgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IHVwZGF0ZWQuJyxcbiAgICAgIH0sXG4gICAgICBuZXh0U3RlcHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGNvbmRpdGlvbnM6IFtdLFxuICAgICAgICAgIG5leHRTdGVwSWQ6ICdtb2RpZnlDb25maXJtZWQnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIG1vZGlmeUNvbmZpcm1lZDoge1xuICAgICAgaWQ6ICdtb2RpZnlDb25maXJtZWQnLFxuICAgICAgYWN0aW9uOiAnQVhQRW50aXR5TW9kaWZ5Q29uZmlybWVkQWN0aW9uJyxcbiAgICAgIG5leHRTdGVwczogW1xuICAgICAgICB7XG4gICAgICAgICAgY29uZGl0aW9uczogW10sXG4gICAgICAgICAgbmV4dFN0ZXBJZDogJycsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gIH0sXG59O1xuIl19
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kaWZ5LWVudGl0eS53b3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcGxhdGZvcm0vbGF5b3V0cy9zcmMvbGliL2FkbWluL2VudGl0eS1sYXlvdXQvd29ya2Zsb3dzL21vZGlmeS1lbnRpdHkud29ya2Zsb3cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRSxPQUFPLEVBQWUsaUJBQWlCLEVBQXNCLG1CQUFtQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7QUFFbkcsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsbUJBQW1CLENBQ3JELG1CQUFtQixDQUNwQixDQUFDO0FBRUYsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGlCQUFpQjtJQURqRTs7UUFFVSxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0QyxhQUFRLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlCLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2hELG9CQUFlLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDbkQsd0JBQW1CLEdBQUcsTUFBTSxDQUFDLGdDQUFnQyxDQUFD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akIsTUFBTSxFQUFFLDRCQUE0QjtZQUNwQyxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsVUFBVSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSwwQ0FBMEMsRUFBRSxDQUFDO29CQUN4RixVQUFVLEVBQUUsY0FBYztpQkFDM0I7YUFDRjtTQUNGO1FBQ0QsWUFBWSxFQUFFO1lBQ1osRUFBRSxFQUFFLGNBQWM7WUFDbEIsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixLQUFLLEVBQUU7Z0JBQ0wsS0FBSyxFQUFFLFNBQVM7Z0JBQ2hCLEtBQUssRUFBRSxpQkFBaUI7Z0JBQ3hCLE9BQU8sRUFBRSx1Q0FBdUM7YUFDakQ7WUFDRCxTQUFTLEVBQUU7Z0JBQ1Q7b0JBQ0UsVUFBVSxFQUFFLEVBQUU7b0JBQ2QsVUFBVSxFQUFFLGlCQUFpQjtpQkFDOUI7YUFDRjtTQUNGO1FBQ0QsZUFBZSxFQUFFO1lBQ2YsRUFBRSxFQUFFLGlCQUFpQjtZQUNyQixNQUFNLEVBQUUsZ0NBQWdDO1lBQ3hDLFNBQVMsRUFBRTtnQkFDVDtvQkFDRSxVQUFVLEVBQUUsRUFBRTtvQkFDZCxVQUFVLEVBQUUsRUFBRTtpQkFDZjthQUNGO1NBQ0Y7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFBvcHVwU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3B1cCc7XG5pbXBvcnQgeyBBWFBsYXRmb3JtIH0gZnJvbSAnQGFjb3JleC9jb3JlL3BsYXRmb3JtJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYUEVudGl0eVJlZ2lzdHJ5U2VydmljZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUFdvcmtmbG93LCBBWFBXb3JrZmxvd0FjdGlvbiwgQVhQV29ya2Zsb3dDb250ZXh0LCBjcmVhdGVXb3JrRmxvd0V2ZW50IH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBBWFBFbnRpdHlNb2RpZnlWaWV3TG9hZGVyRmFjdG9yeSB9IGZyb20gJy4uL2VudGl0eS1tb2RpZnktdmlldy9lbnRpdHktbW9kaWZ5LXZpZXcuY29uZmlnJztcblxuZXhwb3J0IGNvbnN0IEFYUEVudGl0eU1vZGlmeUV2ZW50ID0gY3JlYXRlV29ya0Zsb3dFdmVudDx7IG1vZHVsZTogc3RyaW5nOyBlbnRpdHk6IHN0cmluZzsgdXBkYXRlVmFsdWVzOiBhbnkgfT4oXG4gICdbRW50aXR5XSBNb2RpZmllZCdcbik7XG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhQRW50aXR5TW9kaWZ5UG9wdXBBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gIHByaXZhdGUgcG9wdXBTZXJ2aWNlID0gaW5qZWN0KEFYUG9wdXBTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBwbGF0Zm9ybSA9IGluamVjdChBWFBsYXRmb3JtKTtcbiAgcHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlID0gaW5qZWN0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcbiAgcHJpdmF0ZSBlbnRpdHlSZWdpc3RlcnkgPSBpbmplY3QoQVhQRW50aXR5UmVnaXN0cnlTZXJ2aWNlKTtcbiAgcHJpdmF0ZSBlbnRpdHlDcmVhdGVGYWN0b3J5ID0gaW5qZWN0KEFYUEVudGl0eU1vZGlmeVZpZXdMb2FkZXJGYWN0b3J5KTtcblxuICBhc3luYyBleGVjdXRlKGNvbnRleHQ6IEFYUFdvcmtmbG93Q29udGV4dCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHBheWxvYWQgPSBjb250ZXh0LmdldFZhcmlhYmxlKCdwYXlsb2FkJyk7XG4gICAgY29uc3QgeyBtb2R1bGUsIGVudGl0eTogZW50aXR5TmFtZSwgc2VjdGlvbiwgaWQgfSA9IHBheWxvYWQ7XG4gICAgY29uc3QgZW50aXR5ID0gYXdhaXQgdGhpcy5lbnRpdHlSZWdpc3RlcnkucmVzb2x2ZShtb2R1bGUsIGVudGl0eU5hbWUpO1xuICAgIGNvbnN0IGxvYWRlciA9IGF3YWl0IHRoaXMuZW50aXR5Q3JlYXRlRmFjdG9yeS5jcmVhdGUobW9kdWxlLCBlbnRpdHlOYW1lLCBpZCwgc2VjdGlvbik7XG5cbiAgICBjb25zdCBjb20gPSBhd2FpdCBpbXBvcnQoJy4uL2VudGl0eS1tb2RpZnktdmlldy9lbnRpdHktbW9kaWZ5LXZpZXcuY29tcG9uZW50Jyk7XG4gICAgY29uc3QgcG9wdXAgPSBhd2FpdCB0aGlzLnBvcHVwU2VydmljZS5vcGVuKGNvbS5BWFBFbnRpdHlNb2RpZnlWaWV3Q29tcG9uZW50LCB7XG4gICAgICB0aXRsZTogYCR7dGhpcy50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZVN5bmMoJ2VudGl0eS5tb2RpZnknKX0gJHtwYXlsb2FkLnNlY3Rpb24udGl0bGV9YCxcbiAgICAgIHNpemU6IHRoaXMucGxhdGZvcm0uaXMoJ01vYmlsZScpIHx8IHRoaXMucGxhdGZvcm0uaXMoJ1NNJykgPyAnZnVsbCcgOiAnbWQnLFxuICAgICAgZGF0YToge1xuICAgICAgICBjb250ZXh0OiBsb2FkZXIuZGF0YSxcbiAgICAgICAgbG9hZGVyOiBsb2FkZXIsXG4gICAgICAgIHByb3BlcnRpZXM6IHBheWxvYWQuc2VjdGlvbi5wcm9wZXJ0aWVzLFxuICAgICAgICBlbnRpdHksXG4gICAgICB9LFxuICAgIH0pO1xuICAgIGNvbnRleHQuc2V0T3V0cHV0KCdwb3B1cFJlc3VsdCcsIGZhbHNlKTtcbiAgICBpZiAocG9wdXAuZGF0YT8ucmVzdWx0ID09IHRydWUpIHtcbiAgICAgIGNvbnRleHQuc2V0T3V0cHV0KCdwb3B1cFJlc3VsdCcsIHRydWUpO1xuICAgICAgY29udGV4dC5zZXRWYXJpYWJsZSgndXBkYXRlZERhdGEnLCBjbG9uZURlZXAocG9wdXAuZGF0YS5jb250ZXh0KSk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlNb2RpZnlDb25maXJtZWRBY3Rpb24gZXh0ZW5kcyBBWFBXb3JrZmxvd0FjdGlvbiB7XG4gIHByaXZhdGUgZW50aXR5UmVnaXN0ZXJ5ID0gaW5qZWN0KEFYUEVudGl0eVJlZ2lzdHJ5U2VydmljZSk7XG5cbiAgYXN5bmMgZXhlY3V0ZShjb250ZXh0OiBBWFBXb3JrZmxvd0NvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBwYXlsb2FkID0gY29udGV4dC5nZXRWYXJpYWJsZSgncGF5bG9hZCcpO1xuICAgIGNvbnN0IHVwZGF0ZWREYXRhID0gY29udGV4dC5nZXRWYXJpYWJsZSgndXBkYXRlZERhdGEnKTtcbiAgICBjb25zdCBlbnRpdHkgPSBhd2FpdCB0aGlzLmVudGl0eVJlZ2lzdGVyeS5yZXNvbHZlKHBheWxvYWQubW9kdWxlLCBwYXlsb2FkLmVudGl0eSk7XG4gICAgdGhpcy5kaXNwYXRjaChBWFBFbnRpdHlNb2RpZnlFdmVudCh7IG1vZHVsZTogZW50aXR5Lm1vZHVsZSwgZW50aXR5OiBlbnRpdHkubmFtZSwgdXBkYXRlVmFsdWVzOiB1cGRhdGVkRGF0YSB9KSk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFYUE1vZGlmeUVudGl0eVdvcmtmbG93OiBBWFBXb3JrZmxvdyA9IHtcbiAgc3RhcnRTdGVwSWQ6ICdtb2RpZnlQb3B1cCcsXG4gIHN0ZXBzOiB7XG4gICAgbW9kaWZ5UG9wdXA6IHtcbiAgICAgIGlkOiAnbW9kaWZ5UG9wdXAnLFxuICAgICAgYWN0aW9uOiAnQVhQRW50aXR5TW9kaWZ5UG9wdXBBY3Rpb24nLFxuICAgICAgbmV4dFN0ZXBzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBjb25kaXRpb25zOiBbeyB0eXBlOiAnU0lOR0xFJywgZXhwcmVzc2lvbjogJ2NvbnRleHQuZ2V0T3V0cHV0KFwicG9wdXBSZXN1bHRcIikgPT0gdHJ1ZScgfV0sXG4gICAgICAgICAgbmV4dFN0ZXBJZDogJ3N1Y2Nlc3NUb2FzdCcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAgc3VjY2Vzc1RvYXN0OiB7XG4gICAgICBpZDogJ3N1Y2Nlc3NUb2FzdCcsXG4gICAgICBhY3Rpb246ICdBWFBUb2FzdEFjdGlvbicsXG4gICAgICBpbnB1dDoge1xuICAgICAgICBjb2xvcjogJ3N1Y2Nlc3MnLFxuICAgICAgICB0aXRsZTogJ0VudGl0eSBNb2RpZmllZCcsXG4gICAgICAgIGNvbnRlbnQ6ICdSZWNvcmQgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IHVwZGF0ZWQuJyxcbiAgICAgIH0sXG4gICAgICBuZXh0U3RlcHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGNvbmRpdGlvbnM6IFtdLFxuICAgICAgICAgIG5leHRTdGVwSWQ6ICdtb2RpZnlDb25maXJtZWQnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIG1vZGlmeUNvbmZpcm1lZDoge1xuICAgICAgaWQ6ICdtb2RpZnlDb25maXJtZWQnLFxuICAgICAgYWN0aW9uOiAnQVhQRW50aXR5TW9kaWZ5Q29uZmlybWVkQWN0aW9uJyxcbiAgICAgIG5leHRTdGVwczogW1xuICAgICAgICB7XG4gICAgICAgICAgY29uZGl0aW9uczogW10sXG4gICAgICAgICAgbmV4dFN0ZXBJZDogJycsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gIH0sXG59O1xuIl19
@@ -82,12 +82,15 @@ export class AXPEntityDetailListViewComponent {
82
82
  this.grid.refresh();
83
83
  }
84
84
  handleRowDbClick(e) {
85
- const d = {
86
- component: e.component,
87
- name: this.dropdownRowItems()[0].name,
88
- data: e.data,
89
- };
90
- this.handleRowCommandClick(d);
85
+ const item = this.dropdownRowItems()?.[0];
86
+ if (item) {
87
+ const d = {
88
+ component: e.component,
89
+ name: item.name,
90
+ data: e.data,
91
+ };
92
+ this.handleRowCommandClick(d);
93
+ }
91
94
  }
92
95
  async handleRowCommandClick(e) {
93
96
  this.vm.executeCommand(e.name, e.data);
@@ -140,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
140
143
  type: ViewChild,
141
144
  args: ['grid']
142
145
  }] } });
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWRldGFpbC1saXN0LXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS90aGVtZXMvZGVmYXVsdC9zcmMvbGliL2xheW91dHMvZW50aXR5LWxheW91dHMvZW50aXR5LWRldGFpbC1saXN0LXZpZXcvZW50aXR5LWRldGFpbC1saXN0LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS90aGVtZXMvZGVmYXVsdC9zcmMvbGliL2xheW91dHMvZW50aXR5LWxheW91dHMvZW50aXR5LWRldGFpbC1saXN0LXZpZXcvZW50aXR5LWRldGFpbC1saXN0LXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUUzRCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLGlCQUFpQixHQUlsQixNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBRUwsc0JBQXNCLEVBQ3RCLGdCQUFnQixFQUNoQixrQkFBa0IsRUFDbEIsYUFBYSxHQUNkLE1BQU0seUJBQXlCLENBQUM7QUFDakMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDekUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDOUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixFQUNqQixRQUFRLEVBQ1IsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7Ozs7OztBQXFDMUMsTUFBTSxPQUFPLGdDQUFnQztJQVczQyxZQUNVLGtCQUF3QyxFQUN4QyxZQUE0QixFQUMxQixRQUFvQixFQUN0QixLQUFpQztRQUhqQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXNCO1FBQ3hDLGlCQUFZLEdBQVosWUFBWSxDQUFnQjtRQUMxQixhQUFRLEdBQVIsUUFBUSxDQUFZO1FBQ3RCLFVBQUssR0FBTCxLQUFLLENBQTRCO1FBZG5DLFdBQU0sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNsQyxhQUFRLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFrQnBDLFNBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBRW5DLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBc0J6QyxxQkFBZ0IsR0FBRyxRQUFRLENBQXFCLEdBQUcsRUFBRTtZQUMzRCxPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLENBQUMsR0FBRyxDQUM3QixDQUFDLENBQUMsRUFBRSxFQUFFLENBQ0osQ0FBQztnQkFDQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7Z0JBQ1osSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO2dCQUNaLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSztnQkFDYixLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUs7YUFDTSxDQUFBLENBQ3pCLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQVdPLHdCQUFtQixHQUFHLENBQUMsT0FBZ0IsRUFBK0IsRUFBRTtZQUNoRixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUNsRCxDQUFDLENBQUM7UUFsREEsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDL0IsQ0FBQztJQU1ELHVCQUF1QixDQUFDLENBQXNCO1FBQzVDLElBQUksQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsQ0FBQztJQUNILENBQUM7SUFFUyxxQkFBcUI7UUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPO2FBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLEVBQUUsb0JBQW9CLENBQUMsQ0FBQzthQUN6RCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUMvQixTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQWNTLGdCQUFnQixDQUFDLENBQXdCO1FBQ2pELE1BQU0sQ0FBQyxHQUErQjtZQUNwQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFNBQVM7WUFDdEIsSUFBSSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7WUFDckMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO1NBQ2IsQ0FBQztRQUNGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBTVMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQTZCO1FBQ2pFLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFUyxPQUFPO1FBQ2YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7OEdBaEZVLGdDQUFnQztrR0FBaEMsZ0NBQWdDLCtHQTlCaEMsQ0FBQyxjQUFjLENBQUMsd0hDMUQ3Qixvd0VBNERBLDJDREFJLFlBQVksbUZBQ1osV0FBVyw4QkFDWCxZQUFZLDhCQUNaLGNBQWMsOHZCQUNkLGlCQUFpQix1VkFDakIsYUFBYSw4QkFDYixnQkFBZ0Isd1BBQ2hCLGVBQWUsOEJBQ2YsWUFBWSw4QkFDWixtQkFBbUIsOEJBQ25CLGNBQWMsOEJBQ2QsY0FBYyw4QkFDZCxlQUFlLDhCQUNmLFlBQVksOEJBQ1osZUFBZSw4QkFDZixtQkFBbUIsOEJBQ25CLGlCQUFpQiw4QkFDakIsaUJBQWlCO2dCQUNqQixFQUFFO2dCQUNGLHNCQUFzQiwwTkFDdEIsZ0JBQWdCLDhCQUdoQixhQUFhLDhCQUNiLG1CQUFtQjs7MkZBSVYsZ0NBQWdDO2tCQW5DNUMsU0FBUzsrQkFDRSw2QkFBNkIsaUJBRXhCLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxjQUFjLENBQUMsV0FDbEI7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osY0FBYzt3QkFDZCxpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQixlQUFlO3dCQUNmLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZixZQUFZO3dCQUNaLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsRUFBRTt3QkFDRixzQkFBc0I7d0JBQ3RCLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixzQkFBc0I7d0JBQ3RCLGFBQWE7d0JBQ2IsbUJBQW1CO3FCQUNwQixjQUNXLElBQUk7bUtBT2hCLEVBQUU7c0JBREQsS0FBSzt1QkFBQyxXQUFXO2dCQUtDLElBQUk7c0JBQXRCLFNBQVM7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQWN0aW9uU2hlZXRNb2R1bGUsIEFYQWN0aW9uU2hlZXRTZXJ2aWNlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2FjdGlvbi1zaGVldCc7XG5pbXBvcnQgeyBBWEJhZGdlTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2JhZGdlJztcbmltcG9ydCB7IEFYQnJlYWRjcnVtYnNNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuaW1wb3J0IHsgQVhCdXR0b25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7IEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7XG4gIEFYRGF0YVRhYmxlQ29tcG9uZW50LFxuICBBWERhdGFUYWJsZU1vZHVsZSxcbiAgQVhEYXRhVGFibGVSb3dEYkNsaWNrLFxuICBBWFJvd0NvbW1hbmRJdGVtLFxuICBBWFJvd0NvbW1hbmRJdGVtQ2xpY2tFdmVudCxcbn0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RhdGEtdGFibGUnO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWERpYWxvZ01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kaWFsb2cnO1xuaW1wb3J0IHsgQVhEcmF3ZXJNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJhd2VyJztcbmltcG9ydCB7IEFYRHJvcGRvd25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZHJvcGRvd24nO1xuaW1wb3J0IHsgQVhGb3JtTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Zvcm0nO1xuaW1wb3J0IHsgQVhMb2FkaW5nTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2xvYWRpbmcnO1xuaW1wb3J0IHsgQVhQb3BvdmVyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3BvcG92ZXInO1xuaW1wb3J0IHsgQVhTZWFyY2hCb3hNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvc2VhcmNoLWJveCc7XG5pbXBvcnQgeyBBWFRhYnNNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdGFicyc7XG5pbXBvcnQgeyBBWFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvdG9vbHRpcCc7XG5pbXBvcnQgeyBBWFBsYXRmb3JtIH0gZnJvbSAnQGFjb3JleC9jb3JlL3BsYXRmb3JtJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQVhVbnN1YnNjcmliZXIgfSBmcm9tICdAYWNvcmV4L2NvcmUvdXRpbHMnO1xuaW1wb3J0IHsgQVhQQXV0aE1vZHVsZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vYXV0aCc7XG5pbXBvcnQge1xuICBBWFBBZG1pbkxheW91dFN0YXRlLFxuICBBWFBHcmlkTGF5b3V0RGlyZWN0aXZlLFxuICBBWFBMYXlvdXRTZXJ2aWNlLFxuICBBWFBTdGlja3lEaXJlY3RpdmUsXG4gIGlzU21hbGxTY3JlZW4sXG59IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vY29tbW9uJztcbmltcG9ydCB7IEFYUExheW91dEJ1aWxkZXJNb2R1bGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9idWlsZGVyJztcbmltcG9ydCB7IEFYUEVudGl0eURldGFpbExpc3RWaWV3TW9kZWwgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dC9lbnRpdHknO1xuaW1wb3J0IHsgQVhQRW50aXR5Q3JlYXRlRXZlbnQsIEFYUEVudGl0eURlbGV0ZWRFdmVudCB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vbGF5b3V0cyc7XG5pbXBvcnQgeyBBWFBXaWRnZXRzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93aWRnZXRzJztcbmltcG9ydCB7IEFYUFdvcmtmbG93U2VydmljZSwgb2ZUeXBlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS93b3JrZmxvdyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGNvbXB1dGVkLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXhwLWVudGl0eS1kZXRhaWwtbGlzdC12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICdlbnRpdHktZGV0YWlsLWxpc3Qtdmlldy5jb21wb25lbnQuaHRtbCcsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtBWFVuc3Vic2NyaWJlcl0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIEFYQnV0dG9uTW9kdWxlLFxuICAgIEFYRGVjb3JhdG9yTW9kdWxlLFxuICAgIEFYQmFkZ2VNb2R1bGUsXG4gICAgQVhEcm9wZG93bk1vZHVsZSxcbiAgICBBWFBvcG92ZXJNb2R1bGUsXG4gICAgQVhGb3JtTW9kdWxlLFxuICAgIEFYQWN0aW9uU2hlZXRNb2R1bGUsXG4gICAgQVhEcmF3ZXJNb2R1bGUsXG4gICAgQVhEaWFsb2dNb2R1bGUsXG4gICAgQVhMb2FkaW5nTW9kdWxlLFxuICAgIEFYVGFic01vZHVsZSxcbiAgICBBWFRvb2x0aXBNb2R1bGUsXG4gICAgQVhCcmVhZGNydW1ic01vZHVsZSxcbiAgICBBWFNlYXJjaEJveE1vZHVsZSxcbiAgICBBWERhdGFUYWJsZU1vZHVsZSxcbiAgICAvL1xuICAgIEFYUExheW91dEJ1aWxkZXJNb2R1bGUsXG4gICAgQVhQV2lkZ2V0c01vZHVsZSxcbiAgICBBWFBTdGlja3lEaXJlY3RpdmUsXG4gICAgQVhQR3JpZExheW91dERpcmVjdGl2ZSxcbiAgICBBWFBBdXRoTW9kdWxlLFxuICAgIEFYVHJhbnNsYXRpb25Nb2R1bGUsXG4gIF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEFYUEVudGl0eURldGFpbExpc3RWaWV3Q29tcG9uZW50IHtcbiAgcHJpdmF0ZSBsYXlvdXQgPSBpbmplY3QoQVhQTGF5b3V0U2VydmljZSk7XG4gIHByaXZhdGUgd29ya2Zsb3cgPSBpbmplY3QoQVhQV29ya2Zsb3dTZXJ2aWNlKTtcblxuICBASW5wdXQoJ3ZpZXdNb2RlbCcpXG4gIHZtOiBBWFBFbnRpdHlEZXRhaWxMaXN0Vmlld01vZGVsO1xuXG4gIHByb3RlY3RlZCBmb2N1c2VkUm93OiBhbnk7XG4gIC8vXG4gIEBWaWV3Q2hpbGQoJ2dyaWQnKSBncmlkITogQVhEYXRhVGFibGVDb21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhY3Rpb25TaGVldFNlcnZpY2U6IEFYQWN0aW9uU2hlZXRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdW5zdWJzY3JpYmVyOiBBWFVuc3Vic2NyaWJlcixcbiAgICBwcm90ZWN0ZWQgcGxhdGZvcm06IEFYUGxhdGZvcm0sXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8QVhQQWRtaW5MYXlvdXRTdGF0ZT5cbiAgKSB7XG4gICAgdGhpcy5zdWJzY3JpYmVBY3Rpb25FdmVudHMoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc1NNID0gdGhpcy5zdG9yZS5zZWxlY3QoaXNTbWFsbFNjcmVlbigpKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgaGFuZGxlQ2hhbmdlU2VhcmNoVmFsdWUoZTogQVhWYWx1ZUNoYW5nZWRFdmVudCkge1xuICAgIGlmIChlLmlzVXNlckludGVyYWN0aW9uKSB7XG4gICAgICB0aGlzLnZtLmFwcGx5SW5saW5lRmlsdGVyKGUudmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBzdWJzY3JpYmVBY3Rpb25FdmVudHMoKSB7XG4gICAgdGhpcy53b3JrZmxvdy5ldmVudHMkXG4gICAgICAucGlwZShvZlR5cGUoQVhQRW50aXR5RGVsZXRlZEV2ZW50LCBBWFBFbnRpdHlDcmVhdGVFdmVudCkpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coZXZlbnQpO1xuICAgICAgICB0aGlzLmdyaWQucmVmcmVzaCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5ncmlkLnJlZnJlc2goKTtcbiAgfVxuXG4gIHByaXZhdGUgZHJvcGRvd25Sb3dJdGVtcyA9IGNvbXB1dGVkPEFYUm93Q29tbWFuZEl0ZW1bXT4oKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLnZtLnJvd0FjdGlvbnMoKS5tYXAoXG4gICAgICAoYykgPT5cbiAgICAgICAgKHtcbiAgICAgICAgICBpY29uOiBjLmljb24sXG4gICAgICAgICAgbmFtZTogYy5uYW1lLFxuICAgICAgICAgIHRleHQ6IGMudGl0bGUsXG4gICAgICAgICAgY29sb3I6IGMuY29sb3IsXG4gICAgICAgIH0gYXMgQVhSb3dDb21tYW5kSXRlbSlcbiAgICApO1xuICB9KTtcblxuICBwcm90ZWN0ZWQgaGFuZGxlUm93RGJDbGljayhlOiBBWERhdGFUYWJsZVJvd0RiQ2xpY2spIHtcbiAgICBjb25zdCBkOiBBWFJvd0NvbW1hbmRJdGVtQ2xpY2tFdmVudCA9IHtcbiAgICAgIGNvbXBvbmVudDogZS5jb21wb25lbnQsXG4gICAgICBuYW1lOiB0aGlzLmRyb3Bkb3duUm93SXRlbXMoKVswXS5uYW1lLFxuICAgICAgZGF0YTogZS5kYXRhLFxuICAgIH07XG4gICAgdGhpcy5oYW5kbGVSb3dDb21tYW5kQ2xpY2soZCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0RHJvcGRvd25Sb3dJdGVtcyA9IChyb3dEYXRhOiB1bmtub3duKTogUHJvbWlzZTxBWFJvd0NvbW1hbmRJdGVtW10+ID0+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuZHJvcGRvd25Sb3dJdGVtcygpKTtcbiAgfTtcblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlUm93Q29tbWFuZENsaWNrKGU6IEFYUm93Q29tbWFuZEl0ZW1DbGlja0V2ZW50KSB7XG4gICAgdGhpcy52bS5leGVjdXRlQ29tbWFuZChlLm5hbWUsIGUuZGF0YSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuZGVzdHJveSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1wLTJcIj5cbiAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtZmxleC1jb2wgYXgtaXRlbXMtZW5kIGF4LWdhcC0zIGF4LWZsZXgtMSBheC1vdmVyZmxvdy1hdXRvIGF4LW1pbi1oLTcyXCI+XG4gICAgPGRpdiBjbGFzcz1cImF4LWZsZXggYXgtaXRlbXMtY2VudGVyIGF4LWdhcC0zXCI+XG4gICAgICBAZm9yKHRyIG9mIHZtLnByaW1hcnlBY3Rpb25zKCk7dHJhY2sgJGluZGV4KSB7XG4gICAgICA8YXgtYnV0dG9uIFt0ZXh0XT1cInRyLnRpdGxlXCIgW2NvbG9yXT1cInRyLmNvbG9yXCIgKG9uQ2xpY2spPVwidm0uZXhlY3V0ZUNvbW1hbmQodHIubmFtZSlcIj5cbiAgICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgICA8YXgtaWNvbiBbaWNvbl09XCJ0ci5pY29uXCI+IDwvYXgtaWNvbj5cbiAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgIH0gQGlmKHZtLnNlY29uZGFyeUFjdGlvbnMoKS5sZW5ndGgpIHtcbiAgICAgIDxheC1idXR0b24gW3RleHRdPVwiKGlzU00gfCBhc3luYykgPyBudWxsIDogKCdhY3Rpb25zJyB8IHRyYW5zbGF0ZSB8IGFzeW5jKVwiIGNvbG9yPVwiZ2hvc3RcIj5cbiAgICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgICA8aSBjbGFzcz1cImZhLXNvbGlkIGZhLWVsbGlwc2lzLXZlcnRpY2FsXCI+PC9pPlxuICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgICAgPGF4LWRyb3Bkb3duLXBhbmVsPlxuICAgICAgICAgIDxheC1idXR0b24taXRlbS1saXN0PlxuICAgICAgICAgICAgQGZvcih0ciBvZiB2bS5zZWNvbmRhcnlBY3Rpb25zKCk7dHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICA8bmctY29udGFpbmVyPlxuICAgICAgICAgICAgICBAaWYodHIuc2VwYXJhdGVkICYmICEkZmlyc3QpIHtcbiAgICAgICAgICAgICAgPGF4LWRpdmlkZXI+PC9heC1kaXZpZGVyPlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDxheC1idXR0b24taXRlbVxuICAgICAgICAgICAgICAgIFt0ZXh0XT1cInRyLnRpdGxlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImF4LWZvbnQtc2VtaWJvbGQgYXgtdGV4dC17eyB0ci5jb2xvciB9fVwiXG4gICAgICAgICAgICAgICAgKG9uQ2xpY2spPVwidm0uZXhlY3V0ZUNvbW1hbmQodHIubmFtZSlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGF4LXByZWZpeD5cbiAgICAgICAgICAgICAgICAgIDxheC1pY29uIFtpY29uXT1cInRyLmljb25cIj4gPC9heC1pY29uPlxuICAgICAgICAgICAgICAgIDwvYXgtcHJlZml4PlxuICAgICAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9heC1idXR0b24taXRlbS1saXN0PlxuICAgICAgICA8L2F4LWRyb3Bkb3duLXBhbmVsPlxuICAgICAgPC9heC1idXR0b24+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gICAgPGF4LWRhdGEtdGFibGVcbiAgICAgICNncmlkXG4gICAgICBbc2hvd0Zvb3Rlcl09XCJmYWxzZVwiXG4gICAgICBjbGFzcz1cImF4LWZsZXgtMVwiXG4gICAgICBbcGFnaW5nXT1cInRydWVcIlxuICAgICAgW2ZldGNoRGF0YU1vZGVdPVwiJ21hbnVhbCdcIlxuICAgICAgW2xvYWRpbmddPVwieyBlbmFibGVkOiB0cnVlLCBhbmltYXRpb246IHRydWUgfVwiXG4gICAgICBbZGF0YVNvdXJjZV09XCJ2bS5kYXRhU291cmNlXCJcbiAgICAgIChvblJvd0RiQ2xpY2spPVwiaGFuZGxlUm93RGJDbGljaygkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8YXgtc2VsZWN0LWNvbHVtbiBmaXhlZD1cInN0YXJ0XCIgW3dpZHRoXT1cIic1MHB4J1wiPjwvYXgtc2VsZWN0LWNvbHVtbj5cbiAgICAgIEBmb3IoY29sIG9mIHZtLmNvbHVtbnMoKTt0cmFjayBjb2wubmFtZSkgeyBAaWYoY29sLnZpc2libGUpIHtcbiAgICAgIDxheHAtd2lkZ2V0LWNvbHVtbi1yZW5kZXJlciBbY2FwdGlvbl09XCJjb2wudGl0bGVcIiBbbm9kZV09XCJjb2wubm9kZSgpXCI+PC9heHAtd2lkZ2V0LWNvbHVtbi1yZW5kZXJlcj5cbiAgICAgIH0gfVxuICAgICAgPGF4LWRyb3Bkb3duLWNvbW1hbmQtY29sdW1uXG4gICAgICAgIGZpeGVkPVwiZW5kXCJcbiAgICAgICAgW3dpZHRoXT1cIic2MHB4J1wiXG4gICAgICAgIFtpdGVtc109XCJnZXREcm9wZG93blJvd0l0ZW1zXCJcbiAgICAgICAgKG9uSXRlbUNsaWNrKT1cImhhbmRsZVJvd0NvbW1hbmRDbGljaygkZXZlbnQpXCJcbiAgICAgID48L2F4LWRyb3Bkb3duLWNvbW1hbmQtY29sdW1uPlxuICAgIDwvYXgtZGF0YS10YWJsZT5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
146
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXR5LWRldGFpbC1saXN0LXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS90aGVtZXMvZGVmYXVsdC9zcmMvbGliL2xheW91dHMvZW50aXR5LWxheW91dHMvZW50aXR5LWRldGFpbC1saXN0LXZpZXcvZW50aXR5LWRldGFpbC1saXN0LXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS90aGVtZXMvZGVmYXVsdC9zcmMvbGliL2xheW91dHMvZW50aXR5LWxheW91dHMvZW50aXR5LWRldGFpbC1saXN0LXZpZXcvZW50aXR5LWRldGFpbC1saXN0LXZpZXcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUUzRCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLGlCQUFpQixHQUlsQixNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxl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O3dCQUNmLG1CQUFtQjt3QkFDbkIsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLEVBQUU7d0JBQ0Ysc0JBQXNCO3dCQUN0QixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsc0JBQXNCO3dCQUN0QixhQUFhO3dCQUNiLG1CQUFtQjtxQkFDcEIsY0FDVyxJQUFJO21LQU9oQixFQUFFO3NCQURELEtBQUs7dUJBQUMsV0FBVztnQkFLQyxJQUFJO3NCQUF0QixTQUFTO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEFjdGlvblNoZWV0TW9kdWxlLCBBWEFjdGlvblNoZWV0U2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9hY3Rpb24tc2hlZXQnO1xuaW1wb3J0IHsgQVhCYWRnZU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9iYWRnZSc7XG5pbXBvcnQgeyBBWEJyZWFkY3J1bWJzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbmltcG9ydCB7IEFYQnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQgeyBBWFZhbHVlQ2hhbmdlZEV2ZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQge1xuICBBWERhdGFUYWJsZUNvbXBvbmVudCxcbiAgQVhEYXRhVGFibGVNb2R1bGUsXG4gIEFYRGF0YVRhYmxlUm93RGJDbGljayxcbiAgQVhSb3dDb21tYW5kSXRlbSxcbiAgQVhSb3dDb21tYW5kSXRlbUNsaWNrRXZlbnQsXG59IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9kYXRhLXRhYmxlJztcbmltcG9ydCB7IEFYRGVjb3JhdG9yTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RlY29yYXRvcnMnO1xuaW1wb3J0IHsgQVhEaWFsb2dNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7IEFYRHJhd2VyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2RyYXdlcic7XG5pbXBvcnQgeyBBWERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IEFYRm9ybU1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9mb3JtJztcbmltcG9ydCB7IEFYTG9hZGluZ01vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9sb2FkaW5nJztcbmltcG9ydCB7IEFYUG9wb3Zlck1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9wb3BvdmVyJztcbmltcG9ydCB7IEFYU2VhcmNoQm94TW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3NlYXJjaC1ib3gnO1xuaW1wb3J0IHsgQVhUYWJzTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3RhYnMnO1xuaW1wb3J0IHsgQVhUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3Rvb2x0aXAnO1xuaW1wb3J0IHsgQVhQbGF0Zm9ybSB9IGZyb20gJ0BhY29yZXgvY29yZS9wbGF0Zm9ybSc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0aW9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb3JlL3RyYW5zbGF0aW9uJztcbmltcG9ydCB7IEFYVW5zdWJzY3JpYmVyIH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcbmltcG9ydCB7IEFYUEF1dGhNb2R1bGUgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2F1dGgnO1xuaW1wb3J0IHtcbiAgQVhQQWRtaW5MYXlvdXRTdGF0ZSxcbiAgQVhQR3JpZExheW91dERpcmVjdGl2ZSxcbiAgQVhQTGF5b3V0U2VydmljZSxcbiAgQVhQU3RpY2t5RGlyZWN0aXZlLFxuICBpc1NtYWxsU2NyZWVuLFxufSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2NvbW1vbic7XG5pbXBvcnQgeyBBWFBMYXlvdXRCdWlsZGVyTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvYnVpbGRlcic7XG5pbXBvcnQgeyBBWFBFbnRpdHlEZXRhaWxMaXN0Vmlld01vZGVsIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvZW50aXR5JztcbmltcG9ydCB7IEFYUEVudGl0eUNyZWF0ZUV2ZW50LCBBWFBFbnRpdHlEZWxldGVkRXZlbnQgfSBmcm9tICdAYWNvcmV4L3BsYXRmb3JtL2xheW91dHMnO1xuaW1wb3J0IHsgQVhQV2lkZ2V0c01vZHVsZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd2lkZ2V0cyc7XG5pbXBvcnQgeyBBWFBXb3JrZmxvd1NlcnZpY2UsIG9mVHlwZSB9IGZyb20gJ0BhY29yZXgvcGxhdGZvcm0vd29ya2Zsb3cnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBjb21wdXRlZCxcbiAgaW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4cC1lbnRpdHktZGV0YWlsLWxpc3QtdmlldycsXG4gIHRlbXBsYXRlVXJsOiAnZW50aXR5LWRldGFpbC1saXN0LXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzOiBbQVhVbnN1YnNjcmliZXJdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBBWEJ1dHRvbk1vZHVsZSxcbiAgICBBWERlY29yYXRvck1vZHVsZSxcbiAgICBBWEJhZGdlTW9kdWxlLFxuICAgIEFYRHJvcGRvd25Nb2R1bGUsXG4gICAgQVhQb3BvdmVyTW9kdWxlLFxuICAgIEFYRm9ybU1vZHVsZSxcbiAgICBBWEFjdGlvblNoZWV0TW9kdWxlLFxuICAgIEFYRHJhd2VyTW9kdWxlLFxuICAgIEFYRGlhbG9nTW9kdWxlLFxuICAgIEFYTG9hZGluZ01vZHVsZSxcbiAgICBBWFRhYnNNb2R1bGUsXG4gICAgQVhUb29sdGlwTW9kdWxlLFxuICAgIEFYQnJlYWRjcnVtYnNNb2R1bGUsXG4gICAgQVhTZWFyY2hCb3hNb2R1bGUsXG4gICAgQVhEYXRhVGFibGVNb2R1bGUsXG4gICAgLy9cbiAgICBBWFBMYXlvdXRCdWlsZGVyTW9kdWxlLFxuICAgIEFYUFdpZGdldHNNb2R1bGUsXG4gICAgQVhQU3RpY2t5RGlyZWN0aXZlLFxuICAgIEFYUEdyaWRMYXlvdXREaXJlY3RpdmUsXG4gICAgQVhQQXV0aE1vZHVsZSxcbiAgICBBWFRyYW5zbGF0aW9uTW9kdWxlLFxuICBdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBFbnRpdHlEZXRhaWxMaXN0Vmlld0NvbXBvbmVudCB7XG4gIHByaXZhdGUgbGF5b3V0ID0gaW5qZWN0KEFYUExheW91dFNlcnZpY2UpO1xuICBwcml2YXRlIHdvcmtmbG93ID0gaW5qZWN0KEFYUFdvcmtmbG93U2VydmljZSk7XG5cbiAgQElucHV0KCd2aWV3TW9kZWwnKVxuICB2bTogQVhQRW50aXR5RGV0YWlsTGlzdFZpZXdNb2RlbDtcblxuICBwcm90ZWN0ZWQgZm9jdXNlZFJvdzogYW55O1xuICAvL1xuICBAVmlld0NoaWxkKCdncmlkJykgZ3JpZCE6IEFYRGF0YVRhYmxlQ29tcG9uZW50O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWN0aW9uU2hlZXRTZXJ2aWNlOiBBWEFjdGlvblNoZWV0U2VydmljZSxcbiAgICBwcml2YXRlIHVuc3Vic2NyaWJlcjogQVhVbnN1YnNjcmliZXIsXG4gICAgcHJvdGVjdGVkIHBsYXRmb3JtOiBBWFBsYXRmb3JtLFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPEFYUEFkbWluTGF5b3V0U3RhdGU+XG4gICkge1xuICAgIHRoaXMuc3Vic2NyaWJlQWN0aW9uRXZlbnRzKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaXNTTSA9IHRoaXMuc3RvcmUuc2VsZWN0KGlzU21hbGxTY3JlZW4oKSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIGhhbmRsZUNoYW5nZVNlYXJjaFZhbHVlKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQpIHtcbiAgICBpZiAoZS5pc1VzZXJJbnRlcmFjdGlvbikge1xuICAgICAgdGhpcy52bS5hcHBseUlubGluZUZpbHRlcihlLnZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgc3Vic2NyaWJlQWN0aW9uRXZlbnRzKCkge1xuICAgIHRoaXMud29ya2Zsb3cuZXZlbnRzJFxuICAgICAgLnBpcGUob2ZUeXBlKEFYUEVudGl0eURlbGV0ZWRFdmVudCwgQVhQRW50aXR5Q3JlYXRlRXZlbnQpKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSlcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnNvbGUubG9nKGV2ZW50KTtcbiAgICAgICAgdGhpcy5ncmlkLnJlZnJlc2goKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZ3JpZC5yZWZyZXNoKCk7XG4gIH1cblxuICBwcml2YXRlIGRyb3Bkb3duUm93SXRlbXMgPSBjb21wdXRlZDxBWFJvd0NvbW1hbmRJdGVtW10+KCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy52bS5yb3dBY3Rpb25zKCkubWFwKFxuICAgICAgKGMpID0+XG4gICAgICAgICh7XG4gICAgICAgICAgaWNvbjogYy5pY29uLFxuICAgICAgICAgIG5hbWU6IGMubmFtZSxcbiAgICAgICAgICB0ZXh0OiBjLnRpdGxlLFxuICAgICAgICAgIGNvbG9yOiBjLmNvbG9yLFxuICAgICAgICB9IGFzIEFYUm93Q29tbWFuZEl0ZW0pXG4gICAgKTtcbiAgfSk7XG5cbiAgcHJvdGVjdGVkIGhhbmRsZVJvd0RiQ2xpY2soZTogQVhEYXRhVGFibGVSb3dEYkNsaWNrKSB7XG4gICAgY29uc3QgaXRlbSA9IHRoaXMuZHJvcGRvd25Sb3dJdGVtcygpPy5bMF07XG4gICAgaWYgKGl0ZW0pIHtcbiAgICAgIGNvbnN0IGQ6IEFYUm93Q29tbWFuZEl0ZW1DbGlja0V2ZW50ID0ge1xuICAgICAgICBjb21wb25lbnQ6IGUuY29tcG9uZW50LFxuICAgICAgICBuYW1lOiBpdGVtLm5hbWUsXG4gICAgICAgIGRhdGE6IGUuZGF0YSxcbiAgICAgIH07XG4gICAgICB0aGlzLmhhbmRsZVJvd0NvbW1hbmRDbGljayhkKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0RHJvcGRvd25Sb3dJdGVtcyA9IChyb3dEYXRhOiB1bmtub3duKTogUHJvbWlzZTxBWFJvd0NvbW1hbmRJdGVtW10+ID0+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuZHJvcGRvd25Sb3dJdGVtcygpKTtcbiAgfTtcblxuICBwcm90ZWN0ZWQgYXN5bmMgaGFuZGxlUm93Q29tbWFuZENsaWNrKGU6IEFYUm93Q29tbWFuZEl0ZW1DbGlja0V2ZW50KSB7XG5cbiAgICB0aGlzLnZtLmV4ZWN1dGVDb21tYW5kKGUubmFtZSwgZS5kYXRhKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBkZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveWVkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3llZC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95KCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJheC1mbGV4IGF4LXAtMlwiPlxuICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1mbGV4LWNvbCBheC1pdGVtcy1lbmQgYXgtZ2FwLTMgYXgtZmxleC0xIGF4LW92ZXJmbG93LWF1dG8gYXgtbWluLWgtNzJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleCBheC1pdGVtcy1jZW50ZXIgYXgtZ2FwLTNcIj5cbiAgICAgIEBmb3IodHIgb2Ygdm0ucHJpbWFyeUFjdGlvbnMoKTt0cmFjayAkaW5kZXgpIHtcbiAgICAgIDxheC1idXR0b24gW3RleHRdPVwidHIudGl0bGVcIiBbY29sb3JdPVwidHIuY29sb3JcIiAob25DbGljayk9XCJ2bS5leGVjdXRlQ29tbWFuZCh0ci5uYW1lKVwiPlxuICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgIDxheC1pY29uIFtpY29uXT1cInRyLmljb25cIj4gPC9heC1pY29uPlxuICAgICAgICA8L2F4LXByZWZpeD5cbiAgICAgIDwvYXgtYnV0dG9uPlxuICAgICAgfSBAaWYodm0uc2Vjb25kYXJ5QWN0aW9ucygpLmxlbmd0aCkge1xuICAgICAgPGF4LWJ1dHRvbiBbdGV4dF09XCIoaXNTTSB8IGFzeW5jKSA/IG51bGwgOiAoJ2FjdGlvbnMnIHwgdHJhbnNsYXRlIHwgYXN5bmMpXCIgY29sb3I9XCJnaG9zdFwiPlxuICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgIDxpIGNsYXNzPVwiZmEtc29saWQgZmEtZWxsaXBzaXMtdmVydGljYWxcIj48L2k+XG4gICAgICAgIDwvYXgtcHJlZml4PlxuICAgICAgICA8YXgtZHJvcGRvd24tcGFuZWw+XG4gICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgICAgICBAZm9yKHRyIG9mIHZtLnNlY29uZGFyeUFjdGlvbnMoKTt0cmFjayAkaW5kZXgpIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXI+XG4gICAgICAgICAgICAgIEBpZih0ci5zZXBhcmF0ZWQgJiYgISRmaXJzdCkge1xuICAgICAgICAgICAgICA8YXgtZGl2aWRlcj48L2F4LWRpdmlkZXI+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPGF4LWJ1dHRvbi1pdGVtXG4gICAgICAgICAgICAgICAgW3RleHRdPVwidHIudGl0bGVcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYXgtZm9udC1zZW1pYm9sZCBheC10ZXh0LXt7IHRyLmNvbG9yIH19XCJcbiAgICAgICAgICAgICAgICAob25DbGljayk9XCJ2bS5leGVjdXRlQ29tbWFuZCh0ci5uYW1lKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8YXgtcHJlZml4PlxuICAgICAgICAgICAgICAgICAgPGF4LWljb24gW2ljb25dPVwidHIuaWNvblwiPiA8L2F4LWljb24+XG4gICAgICAgICAgICAgICAgPC9heC1wcmVmaXg+XG4gICAgICAgICAgICAgIDwvYXgtYnV0dG9uLWl0ZW0+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L2F4LWJ1dHRvbi1pdGVtLWxpc3Q+XG4gICAgICAgIDwvYXgtZHJvcGRvd24tcGFuZWw+XG4gICAgICA8L2F4LWJ1dHRvbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICA8YXgtZGF0YS10YWJsZVxuICAgICAgI2dyaWRcbiAgICAgIFtzaG93Rm9vdGVyXT1cImZhbHNlXCJcbiAgICAgIGNsYXNzPVwiYXgtZmxleC0xXCJcbiAgICAgIFtwYWdpbmddPVwidHJ1ZVwiXG4gICAgICBbZmV0Y2hEYXRhTW9kZV09XCInbWFudWFsJ1wiXG4gICAgICBbbG9hZGluZ109XCJ7IGVuYWJsZWQ6IHRydWUsIGFuaW1hdGlvbjogdHJ1ZSB9XCJcbiAgICAgIFtkYXRhU291cmNlXT1cInZtLmRhdGFTb3VyY2VcIlxuICAgICAgKG9uUm93RGJDbGljayk9XCJoYW5kbGVSb3dEYkNsaWNrKCRldmVudClcIlxuICAgID5cbiAgICAgIDxheC1zZWxlY3QtY29sdW1uIGZpeGVkPVwic3RhcnRcIiBbd2lkdGhdPVwiJzUwcHgnXCI+PC9heC1zZWxlY3QtY29sdW1uPlxuICAgICAgQGZvcihjb2wgb2Ygdm0uY29sdW1ucygpO3RyYWNrIGNvbC5uYW1lKSB7IEBpZihjb2wudmlzaWJsZSkge1xuICAgICAgPGF4cC13aWRnZXQtY29sdW1uLXJlbmRlcmVyIFtjYXB0aW9uXT1cImNvbC50aXRsZVwiIFtub2RlXT1cImNvbC5ub2RlKClcIj48L2F4cC13aWRnZXQtY29sdW1uLXJlbmRlcmVyPlxuICAgICAgfSB9XG4gICAgICA8YXgtZHJvcGRvd24tY29tbWFuZC1jb2x1bW5cbiAgICAgICAgZml4ZWQ9XCJlbmRcIlxuICAgICAgICBbd2lkdGhdPVwiJzYwcHgnXCJcbiAgICAgICAgW2l0ZW1zXT1cImdldERyb3Bkb3duUm93SXRlbXNcIlxuICAgICAgICAob25JdGVtQ2xpY2spPVwiaGFuZGxlUm93Q29tbWFuZENsaWNrKCRldmVudClcIlxuICAgICAgPjwvYXgtZHJvcGRvd24tY29tbWFuZC1jb2x1bW4+XG4gICAgPC9heC1kYXRhLXRhYmxlPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19