@smartbit4all/ng-client 4.5.4 → 4.5.5

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 (326) hide show
  1. package/README.md +386 -386
  2. package/esm2022/lib/component-factory-service/component-factory-service.module.mjs +1 -1
  3. package/esm2022/lib/component-factory-service/component-factory-service.service.mjs +1 -1
  4. package/esm2022/lib/component-factory-service/projects.mjs +1 -1
  5. package/esm2022/lib/session/api/api/api.mjs +1 -1
  6. package/esm2022/lib/session/api/api/session.service.mjs +1 -1
  7. package/esm2022/lib/session/api/configuration.mjs +1 -1
  8. package/esm2022/lib/session/api/encoder.mjs +1 -1
  9. package/esm2022/lib/session/api/index.mjs +1 -1
  10. package/esm2022/lib/session/api/model/accountInfo.mjs +1 -1
  11. package/esm2022/lib/session/api/model/apiError.mjs +1 -1
  12. package/esm2022/lib/session/api/model/authenticationProviderData.mjs +1 -1
  13. package/esm2022/lib/session/api/model/getAuthenticationProvidersResponse.mjs +1 -1
  14. package/esm2022/lib/session/api/model/models.mjs +1 -1
  15. package/esm2022/lib/session/api/model/refreshSessionRequest.mjs +1 -1
  16. package/esm2022/lib/session/api/model/session.mjs +1 -1
  17. package/esm2022/lib/session/api/model/sessionInfoData.mjs +1 -1
  18. package/esm2022/lib/session/api/model/userActivityLog.mjs +1 -1
  19. package/esm2022/lib/session/api/param.mjs +1 -1
  20. package/esm2022/lib/session/api/variables.mjs +1 -1
  21. package/esm2022/lib/session/cookie-service/smart-cookie.service.mjs +1 -1
  22. package/esm2022/lib/session/projects.mjs +1 -1
  23. package/esm2022/lib/session/smart-backend-bootstrap.config.mjs +1 -1
  24. package/esm2022/lib/session/smart-backend-bootstrap.service.mjs +1 -1
  25. package/esm2022/lib/session/smart-error-catching.interceptor.mjs +1 -1
  26. package/esm2022/lib/session/smart-header-maintainer.interceptor.mjs +1 -1
  27. package/esm2022/lib/session/smart-session-handler.service.mjs +1 -1
  28. package/esm2022/lib/session/smart-session.module.mjs +1 -1
  29. package/esm2022/lib/session/smart-session.service.mjs +1 -1
  30. package/esm2022/lib/session/smart-timer/smart-session-timer.component.mjs +3 -3
  31. package/esm2022/lib/session/smart-timer/smart-session-timer.service.mjs +1 -1
  32. package/esm2022/lib/shared/projects.mjs +1 -1
  33. package/esm2022/lib/shared/shared.module.mjs +1 -1
  34. package/esm2022/lib/shared/smart-tooltip.directive.mjs +1 -1
  35. package/esm2022/lib/shared/smarttable.date-pipe.mjs +1 -1
  36. package/esm2022/lib/smart-client/projects.mjs +1 -1
  37. package/esm2022/lib/smart-client/smart-component-api-client.mjs +3 -2
  38. package/esm2022/lib/smart-client/smart-file-uploader/smart-file-uploader.component.mjs +3 -3
  39. package/esm2022/lib/smart-client/smart.component.mjs +1 -1
  40. package/esm2022/lib/smart-client/smart.service.mjs +1 -1
  41. package/esm2022/lib/smart-component-layout/api/model/componentWidgetType.mjs +1 -1
  42. package/esm2022/lib/smart-component-layout/api/model/models.mjs +1 -1
  43. package/esm2022/lib/smart-component-layout/api/model/toolbarDirection.mjs +1 -1
  44. package/esm2022/lib/smart-component-layout/api/model/toolbarProperties.mjs +1 -1
  45. package/esm2022/lib/smart-component-layout/projects.mjs +1 -1
  46. package/esm2022/lib/smart-component-layout/smart-component-layout-utility.mjs +1 -1
  47. package/esm2022/lib/smart-component-layout/smart-component-layout.component.mjs +3 -3
  48. package/esm2022/lib/smart-component-layout/smart-component-layout.module.mjs +1 -1
  49. package/esm2022/lib/smart-diagram/component/default-smart-diagram-options.provider.mjs +1 -1
  50. package/esm2022/lib/smart-diagram/component/smart-diagram.component.mjs +22 -22
  51. package/esm2022/lib/smart-diagram/component/smart-diagram.module.mjs +1 -1
  52. package/esm2022/lib/smart-diagram/component/smart-diagram.util.mjs +1 -1
  53. package/esm2022/lib/smart-diagram/projects.mjs +1 -1
  54. package/esm2022/lib/smart-dialog/projects.mjs +1 -1
  55. package/esm2022/lib/smart-dialog/smartdialog.component.mjs +3 -3
  56. package/esm2022/lib/smart-dialog/smartdialog.model.mjs +1 -1
  57. package/esm2022/lib/smart-dialog/smartdialog.module.mjs +1 -1
  58. package/esm2022/lib/smart-dialog/smartdialog.service.mjs +1 -1
  59. package/esm2022/lib/smart-expandable-section/expandable-section.component.mjs +3 -3
  60. package/esm2022/lib/smart-expandable-section/expandable-section.model.mjs +1 -1
  61. package/esm2022/lib/smart-expandable-section/projects.mjs +1 -1
  62. package/esm2022/lib/smart-expandable-section/smart-expandable-section.module.mjs +1 -1
  63. package/esm2022/lib/smart-expandable-section/smart-expandable-section.service.mjs +1 -1
  64. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBoolOperator.mjs +1 -1
  65. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderField.mjs +1 -1
  66. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderGroup.mjs +1 -1
  67. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderModel.mjs +1 -1
  68. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionData.mjs +1 -1
  69. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionDataType.mjs +1 -1
  70. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionField.mjs +1 -1
  71. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionFieldList.mjs +1 -1
  72. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionFieldWidgetType.mjs +1 -1
  73. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionList.mjs +1 -1
  74. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOperandData.mjs +1 -1
  75. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOperation.mjs +1 -1
  76. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOrderBy.mjs +1 -1
  77. package/esm2022/lib/smart-filter/api/filter/model/model.mjs +1 -1
  78. package/esm2022/lib/smart-filter/api/filter/model/searchIndexObjectDefinitionData.mjs +1 -1
  79. package/esm2022/lib/smart-filter/api/filter/model/searchIndexPropertyDefinitionData.mjs +1 -1
  80. package/esm2022/lib/smart-filter/api/value/model/value.mjs +1 -1
  81. package/esm2022/lib/smart-filter/projects.mjs +1 -1
  82. package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-expression-field/smart-filter-expression-field.component.mjs +1 -1
  83. package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-simple/components/smart-filter-simple-field/smart-filter-simple-field.component.mjs +3 -3
  84. package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-simple/smart-filter-simple.component.mjs +3 -3
  85. package/esm2022/lib/smart-filter/smart-filter/smart-filter.component.mjs +3 -3
  86. package/esm2022/lib/smart-filter/smart-filter/smart-filter.service.mjs +1 -1
  87. package/esm2022/lib/smart-filter/smart-filter.model.mjs +1 -1
  88. package/esm2022/lib/smart-filter/smart-filter.module.mjs +1 -1
  89. package/esm2022/lib/smart-filter-editor/api/api/filter.service.mjs +1 -1
  90. package/esm2022/lib/smart-filter-editor/api/configuration.mjs +1 -1
  91. package/esm2022/lib/smart-filter-editor/api/encoder.mjs +1 -1
  92. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBoolOperator.mjs +1 -1
  93. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderApiConfig.mjs +1 -1
  94. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderField.mjs +1 -1
  95. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderGroup.mjs +1 -1
  96. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderModel.mjs +1 -1
  97. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderUiModel.mjs +1 -1
  98. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionData.mjs +1 -1
  99. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionDataType.mjs +1 -1
  100. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionField.mjs +1 -1
  101. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldEditor.mjs +1 -1
  102. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldList.mjs +1 -1
  103. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldWidgetType.mjs +1 -1
  104. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionList.mjs +1 -1
  105. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOperandData.mjs +1 -1
  106. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOperation.mjs +1 -1
  107. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOrderBy.mjs +1 -1
  108. package/esm2022/lib/smart-filter-editor/api/model/smartFilterType.mjs +1 -1
  109. package/esm2022/lib/smart-filter-editor/api/param.mjs +1 -1
  110. package/esm2022/lib/smart-filter-editor/api/variables.mjs +1 -1
  111. package/esm2022/lib/smart-filter-editor/filterExpressionBuilderApiActions.mjs +1 -1
  112. package/esm2022/lib/smart-filter-editor/project.mjs +1 -1
  113. package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-item/smart-filter-expression-item.component.mjs +3 -3
  114. package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-items/smart-filter-expression-items.component.mjs +3 -3
  115. package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/smart-filter-editor-content.component.mjs +3 -3
  116. package/esm2022/lib/smart-filter-editor/smart-filter-editor.model.mjs +1 -1
  117. package/esm2022/lib/smart-filter-editor/smart-filter-editor.module.mjs +1 -1
  118. package/esm2022/lib/smart-filter-editor/smart-filter-editor.service.mjs +1 -1
  119. package/esm2022/lib/smart-filter-editor/smart-filter-params/components/smart-filter-param/smart-filter-param.component.mjs +3 -3
  120. package/esm2022/lib/smart-filter-editor/smart-filter-params/smart-filter-params.component.mjs +3 -3
  121. package/esm2022/lib/smart-form/api/model/models.mjs +2 -1
  122. package/esm2022/lib/smart-form/api/model/recordingUploaderProperties.mjs +7 -0
  123. package/esm2022/lib/smart-form/api/model/selectionDefinition.mjs +2 -1
  124. package/esm2022/lib/smart-form/api/model/smartFormWidgetType.mjs +2 -1
  125. package/esm2022/lib/smart-form/highlightMacthingString-pipe.mjs +1 -1
  126. package/esm2022/lib/smart-form/projects.mjs +2 -1
  127. package/esm2022/lib/smart-form/services/smartform.layout-definition.service.mjs +22 -1
  128. package/esm2022/lib/smart-form/services/smartform.service.mjs +1 -1
  129. package/esm2022/lib/smart-form/smartfileuploader/large-file-snack-bar/large-file-snack-bar.component.mjs +3 -3
  130. package/esm2022/lib/smart-form/smartfileuploader/smartfileuploader.component.mjs +3 -3
  131. package/esm2022/lib/smart-form/smartfileuploader/smartfileuploader.model.mjs +1 -1
  132. package/esm2022/lib/smart-form/smartform.component.mjs +4 -3
  133. package/esm2022/lib/smart-form/smartform.form-model.mjs +1 -1
  134. package/esm2022/lib/smart-form/smartform.model.mjs +1 -1
  135. package/esm2022/lib/smart-form/widgets/components/smart-file-editor/smart-file-editor.component.mjs +3 -3
  136. package/esm2022/lib/smart-form/widgets/components/smart-month-picker/smart-month-picker.component.mjs +8 -9
  137. package/esm2022/lib/smart-form/widgets/components/smart-multi-file-editor/smart-multi-file-editor.component.mjs +3 -3
  138. package/esm2022/lib/smart-form/widgets/components/smart-voice-recorder/smart-voice-recorder.component.mjs +136 -0
  139. package/esm2022/lib/smart-form/widgets/directives/comparable-dropdown.directive.mjs +1 -1
  140. package/esm2022/lib/smart-form/widgets/directives/comparable-multiselect.directive.mjs +1 -1
  141. package/esm2022/lib/smart-form/widgets/smartformwidget/smartformwidget.component.mjs +10 -7
  142. package/esm2022/lib/smart-form/widgets/smartformwidget/sortable-widget/sortable-widget.component.mjs +3 -3
  143. package/esm2022/lib/smart-form/widgets/smartformwidget/trackCaps.directive.mjs +1 -1
  144. package/esm2022/lib/smart-grid/api/grid-api/api/api.mjs +1 -1
  145. package/esm2022/lib/smart-grid/api/grid-api/api/grid.service.mjs +1 -1
  146. package/esm2022/lib/smart-grid/api/grid-api/api.module.mjs +1 -1
  147. package/esm2022/lib/smart-grid/api/grid-api/configuration.mjs +1 -1
  148. package/esm2022/lib/smart-grid/api/grid-api/encoder.mjs +1 -1
  149. package/esm2022/lib/smart-grid/api/grid-api/index.mjs +1 -1
  150. package/esm2022/lib/smart-grid/api/grid-api/model/gridColumnContentType.mjs +1 -1
  151. package/esm2022/lib/smart-grid/api/grid-api/model/gridColumnMeta.mjs +1 -1
  152. package/esm2022/lib/smart-grid/api/grid-api/model/gridDataAccessConfig.mjs +1 -1
  153. package/esm2022/lib/smart-grid/api/grid-api/model/gridExportDescriptor.mjs +1 -1
  154. package/esm2022/lib/smart-grid/api/grid-api/model/gridModel.mjs +1 -1
  155. package/esm2022/lib/smart-grid/api/grid-api/model/gridPage.mjs +1 -1
  156. package/esm2022/lib/smart-grid/api/grid-api/model/gridRow.mjs +1 -1
  157. package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionChange.mjs +1 -1
  158. package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionMode.mjs +1 -1
  159. package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionType.mjs +1 -1
  160. package/esm2022/lib/smart-grid/api/grid-api/model/gridServerModel.mjs +1 -1
  161. package/esm2022/lib/smart-grid/api/grid-api/model/gridUpdateData.mjs +1 -1
  162. package/esm2022/lib/smart-grid/api/grid-api/model/gridView.mjs +1 -1
  163. package/esm2022/lib/smart-grid/api/grid-api/model/gridViewDescriptor.mjs +1 -1
  164. package/esm2022/lib/smart-grid/api/grid-api/model/models.mjs +1 -1
  165. package/esm2022/lib/smart-grid/api/grid-api/param.mjs +1 -1
  166. package/esm2022/lib/smart-grid/api/grid-api/variables.mjs +1 -1
  167. package/esm2022/lib/smart-grid/components/expandable-grid/expandable-grid.component.mjs +3 -3
  168. package/esm2022/lib/smart-grid/components/generic-component/expanded-row-renderer.component.mjs +3 -3
  169. package/esm2022/lib/smart-grid/components/smart-grid-card/smart-grid-card.component.mjs +3 -3
  170. package/esm2022/lib/smart-grid/components/table-layout-definer/table-layout-definer.component.mjs +3 -3
  171. package/esm2022/lib/smart-grid/models/model.mjs +1 -1
  172. package/esm2022/lib/smart-grid/projects.mjs +1 -1
  173. package/esm2022/lib/smart-grid/smart-grid-toolbar-util.mjs +1 -1
  174. package/esm2022/lib/smart-grid/smart-grid.component.mjs +3 -3
  175. package/esm2022/lib/smart-grid/smart-grid.module.mjs +1 -1
  176. package/esm2022/lib/smart-grid/smart-grid.service.mjs +1 -1
  177. package/esm2022/lib/smart-icon/projects.mjs +1 -1
  178. package/esm2022/lib/smart-icon/smart-icon/smart-icon.component.mjs +3 -3
  179. package/esm2022/lib/smart-icon/smart-icon/ui-badge/ui-badge.component.mjs +3 -3
  180. package/esm2022/lib/smart-icon/smart-icon/ui-badge/ui-badge.directive.mjs +1 -1
  181. package/esm2022/lib/smart-icon/smart-icon.module.mjs +1 -1
  182. package/esm2022/lib/smart-icon/smart-icon.service.mjs +1 -1
  183. package/esm2022/lib/smart-map/abstract-map.mjs +1 -1
  184. package/esm2022/lib/smart-map/api-default/api-default.mjs +1 -1
  185. package/esm2022/lib/smart-map/impl/google-map.mjs +1 -1
  186. package/esm2022/lib/smart-map/impl/leaflet-map.mjs +1 -1
  187. package/esm2022/lib/smart-map/projects.mjs +1 -1
  188. package/esm2022/lib/smart-map/smart-map.component.mjs +3 -3
  189. package/esm2022/lib/smart-map/smart-map.module.mjs +1 -1
  190. package/esm2022/lib/smart-map/smart-map.types.mjs +1 -1
  191. package/esm2022/lib/smart-navbar/projects.mjs +1 -1
  192. package/esm2022/lib/smart-navbar/smart-navbar.component.mjs +3 -3
  193. package/esm2022/lib/smart-navbar/smart-navbar.model.mjs +1 -1
  194. package/esm2022/lib/smart-navbar/smart-navbar.module.mjs +1 -1
  195. package/esm2022/lib/smart-navbar/smart-navbar.service.mjs +1 -1
  196. package/esm2022/lib/smart-navigation/projects.mjs +1 -1
  197. package/esm2022/lib/smart-navigation/smart-navigation.interface.mjs +1 -1
  198. package/esm2022/lib/smart-navigation/smart-navigation.module.mjs +1 -1
  199. package/esm2022/lib/smart-navigation/smart-navigation.service.mjs +1 -1
  200. package/esm2022/lib/smart-ng-client.module.mjs +1 -1
  201. package/esm2022/lib/smart-ng-client.service.mjs +1 -1
  202. package/esm2022/lib/smart-subject/projects.mjs +1 -1
  203. package/esm2022/lib/smart-subject/smart-subject.mjs +1 -1
  204. package/esm2022/lib/smart-tab-group/projects.mjs +1 -1
  205. package/esm2022/lib/smart-tab-group/smart-tab-group.component.mjs +3 -3
  206. package/esm2022/lib/smart-tab-group/smart-tab-group.module.mjs +1 -1
  207. package/esm2022/lib/smart-tab-group/smart-tab-group.service.mjs +1 -1
  208. package/esm2022/lib/smart-tab-group/tab-content/tab-content.component.mjs +3 -3
  209. package/esm2022/lib/smart-tab-group/tab-group-simplified/tab-group.component.mjs +3 -3
  210. package/esm2022/lib/smart-tab-group/tabTile.model.mjs +1 -1
  211. package/esm2022/lib/smart-table/components/default-actions-popup/default-actions-popup.component.mjs +3 -3
  212. package/esm2022/lib/smart-table/components/loading/loading.component.mjs +3 -3
  213. package/esm2022/lib/smart-table/directives/mat-context-menu-trigger-for.directive.mjs +1 -1
  214. package/esm2022/lib/smart-table/projects.mjs +1 -1
  215. package/esm2022/lib/smart-table/smarttable.component.mjs +3 -3
  216. package/esm2022/lib/smart-table/smarttable.model.mjs +1 -1
  217. package/esm2022/lib/smart-table/smarttable.module.mjs +1 -1
  218. package/esm2022/lib/smart-table/smarttable.service.mjs +1 -1
  219. package/esm2022/lib/smart-table/tables/material-table/material-table.component.mjs +3 -3
  220. package/esm2022/lib/smart-table/tables/mobile-table/mobile-table.component.mjs +3 -3
  221. package/esm2022/lib/smart-table/tables/table.mjs +1 -1
  222. package/esm2022/lib/smart-tree/projects.mjs +1 -1
  223. package/esm2022/lib/smart-tree/smarttree-generic.service.mjs +1 -1
  224. package/esm2022/lib/smart-tree/smarttree.component.mjs +3 -3
  225. package/esm2022/lib/smart-tree/smarttree.model.mjs +1 -1
  226. package/esm2022/lib/smart-tree/smarttree.module.mjs +1 -1
  227. package/esm2022/lib/smart-tree/smarttree.node.model.mjs +1 -1
  228. package/esm2022/lib/smart-tree/smarttree.service.interface.mjs +1 -1
  229. package/esm2022/lib/smart-tree/smarttree.service.mjs +1 -1
  230. package/esm2022/lib/smart-tree/tree-api/api/tree.service.mjs +1 -1
  231. package/esm2022/lib/smart-tree/tree-api/configuration.mjs +1 -1
  232. package/esm2022/lib/smart-tree/tree-api/encoder.mjs +1 -1
  233. package/esm2022/lib/smart-tree/tree-api/param.mjs +1 -1
  234. package/esm2022/lib/smart-tree/tree-api/variables.mjs +1 -1
  235. package/esm2022/lib/smart-validation/named-validator.service.mjs +1 -1
  236. package/esm2022/lib/smart-validation/projects.mjs +1 -1
  237. package/esm2022/lib/smart-validation/smart-validation.module.mjs +1 -1
  238. package/esm2022/lib/smart-validation/smart-validation.types.mjs +1 -1
  239. package/esm2022/lib/view-context/api/api/view.service.mjs +1 -1
  240. package/esm2022/lib/view-context/api/api-default/binaryData.mjs +1 -1
  241. package/esm2022/lib/view-context/api/api-default/invocationError.mjs +1 -1
  242. package/esm2022/lib/view-context/api/api-default/invocationRequest.mjs +1 -1
  243. package/esm2022/lib/view-context/api/api-default/invocationRun.mjs +1 -1
  244. package/esm2022/lib/view-context/api/model/models.mjs +1 -1
  245. package/esm2022/lib/view-context/api/model/smartLinkData.mjs +1 -1
  246. package/esm2022/lib/view-context/api/model/uiAction.mjs +1 -1
  247. package/esm2022/lib/view-context/api/model/uiActionDefinition.mjs +1 -1
  248. package/esm2022/lib/view-context/api/model/uiActionDefinitionEntry.mjs +1 -1
  249. package/esm2022/lib/view-context/api/model/uiActionInputType.mjs +1 -1
  250. package/esm2022/lib/view-context/api/model/uiActionSchedule.mjs +1 -1
  251. package/esm2022/lib/view-context/api/model/uiActionUploadDescriptor.mjs +1 -1
  252. package/esm2022/lib/view-context/api/model/view.mjs +1 -1
  253. package/esm2022/lib/view-context/api/model/viewData.mjs +1 -1
  254. package/esm2022/lib/view-context/api/model/viewEventHandler.mjs +1 -1
  255. package/esm2022/lib/view-context/invalid-fields-snack-bar/invalid-fields-snack-bar.component.mjs +3 -3
  256. package/esm2022/lib/view-context/message-dialog/message-dialog.component.mjs +3 -3
  257. package/esm2022/lib/view-context/projects.mjs +1 -1
  258. package/esm2022/lib/view-context/property-definition-data.mjs +1 -1
  259. package/esm2022/lib/view-context/smart-embedded-slot.directive.mjs +1 -1
  260. package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.component.mjs +3 -3
  261. package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.constants.mjs +1 -1
  262. package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.service.mjs +1 -1
  263. package/esm2022/lib/view-context/smart-ui-action/components/success-snack-bar/success-snack-bar.component.mjs +3 -3
  264. package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/photo-capture-widget/photo-capture-widget.component.mjs +3 -3
  265. package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/prime-file-uploader/prime-file-uploader.component.mjs +3 -3
  266. package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/upload-widget.component.mjs +3 -3
  267. package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/upload-widget.utils.mjs +1 -1
  268. package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/voice-record-widget/voice-record-widget.component.mjs +3 -3
  269. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.component.mjs +3 -3
  270. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.service.mjs +1 -1
  271. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-dialog-button/ui-action-dialog-button.component.mjs +3 -3
  272. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.component.mjs +3 -3
  273. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.service.mjs +1 -1
  274. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.component.mjs +3 -3
  275. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.service.mjs +1 -1
  276. package/esm2022/lib/view-context/smart-ui-action/file-editor-toolbar/file-editor-toolbar.component.mjs +3 -3
  277. package/esm2022/lib/view-context/smart-ui-action/ui-action-button/ui-action-button.component.mjs +3 -3
  278. package/esm2022/lib/view-context/smart-ui-action/ui-action-toolbar.component.mjs +3 -3
  279. package/esm2022/lib/view-context/smart-ui-action/ui-action.descriptor.service.mjs +1 -1
  280. package/esm2022/lib/view-context/smart-ui-action/ui-action.model.mjs +1 -1
  281. package/esm2022/lib/view-context/smart-ui-action/ui-action.service.mjs +1 -1
  282. package/esm2022/lib/view-context/smart-view-context-dialog.service.mjs +1 -1
  283. package/esm2022/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.component.mjs +3 -3
  284. package/esm2022/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.service.mjs +1 -1
  285. package/esm2022/lib/view-context/smart-view-context.interceptor.mjs +1 -1
  286. package/esm2022/lib/view-context/smart-view-context.model.mjs +1 -1
  287. package/esm2022/lib/view-context/smart-view-context.module.mjs +6 -1
  288. package/esm2022/lib/view-context/smart-view-context.service.mjs +1 -1
  289. package/esm2022/lib/view-context/smart-view-redirect/smart-view-redirect.mjs +1 -1
  290. package/esm2022/lib/view-context/utility/componentLibrary.mjs +1 -1
  291. package/esm2022/lib/view-context/utility/smart-object-utility.mjs +1 -1
  292. package/esm2022/lib/view-context/utility/smart-style-utility.mjs +1 -1
  293. package/esm2022/lib/view-context/value-api/api/api.mjs +1 -1
  294. package/esm2022/lib/view-context/value-api/api/value.service.mjs +1 -1
  295. package/esm2022/lib/view-context/value-api/api.module.mjs +1 -1
  296. package/esm2022/lib/view-context/value-api/configuration.mjs +1 -1
  297. package/esm2022/lib/view-context/value-api/encoder.mjs +1 -1
  298. package/esm2022/lib/view-context/value-api/index.mjs +1 -1
  299. package/esm2022/lib/view-context/value-api/model/genericValue.mjs +1 -1
  300. package/esm2022/lib/view-context/value-api/model/models.mjs +1 -1
  301. package/esm2022/lib/view-context/value-api/model/value.mjs +1 -1
  302. package/esm2022/lib/view-context/value-api/model/valueSetData.mjs +1 -1
  303. package/esm2022/lib/view-context/value-api/model/valueSetDefinition.mjs +1 -1
  304. package/esm2022/lib/view-context/value-api/model/valueSetDefinitionData.mjs +1 -1
  305. package/esm2022/lib/view-context/value-api/model/valueSetDefinitionIdentifier.mjs +1 -1
  306. package/esm2022/lib/view-context/value-api/model/valueSetDefinitionKind.mjs +1 -1
  307. package/esm2022/lib/view-context/value-api/model/valueSetExpression.mjs +1 -1
  308. package/esm2022/lib/view-context/value-api/model/valueSetOperand.mjs +1 -1
  309. package/esm2022/lib/view-context/value-api/model/valueSetOperation.mjs +1 -1
  310. package/esm2022/lib/view-context/value-api/param.mjs +1 -1
  311. package/esm2022/lib/view-context/value-api/variables.mjs +1 -1
  312. package/esm2022/projects.mjs +1 -1
  313. package/fesm2022/smartbit4all-ng-client.mjs +305 -140
  314. package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
  315. package/lib/smart-form/api/model/models.d.ts +1 -0
  316. package/lib/smart-form/api/model/recordingUploaderProperties.d.ts +21 -0
  317. package/lib/smart-form/api/model/selectionDefinition.d.ts +2 -1
  318. package/lib/smart-form/api/model/smartFormWidgetType.d.ts +2 -1
  319. package/lib/smart-form/projects.d.ts +1 -0
  320. package/lib/smart-form/services/smartform.layout-definition.service.d.ts +1 -0
  321. package/lib/smart-form/smartform.form-model.d.ts +26 -2
  322. package/lib/smart-form/widgets/components/smart-voice-recorder/smart-voice-recorder.component.d.ts +50 -0
  323. package/lib/view-context/smart-view-context.module.d.ts +57 -56
  324. package/package.json +1 -1
  325. package/smartbit4all-ng-client-4.5.5.tgz +0 -0
  326. package/smartbit4all-ng-client-4.5.4.tgz +0 -0
@@ -5,11 +5,10 @@ import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/materia
5
5
  import moment from 'moment';
6
6
  import { SmartWidgetHintPositionEnum } from '../../../api';
7
7
  import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/common";
9
- import * as i2 from "@angular/forms";
10
- import * as i3 from "@angular/material/form-field";
11
- import * as i4 from "@angular/material/input";
12
- import * as i5 from "@angular/material/datepicker";
8
+ import * as i1 from "@angular/forms";
9
+ import * as i2 from "@angular/material/form-field";
10
+ import * as i3 from "@angular/material/input";
11
+ import * as i4 from "@angular/material/datepicker";
13
12
  export const YEARH_MONTH_FORMAT = {
14
13
  parse: {
15
14
  dateInput: 'MM/YYYY',
@@ -57,14 +56,14 @@ export class SmartMonthPickerComponent {
57
56
  this.valueChange.next(this.date.value);
58
57
  }
59
58
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartMonthPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
60
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SmartMonthPickerComponent, selector: "lib-smart-month-picker", inputs: { widgetInstance: "widgetInstance" }, outputs: { valueChange: "valueChange" }, providers: [
59
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: SmartMonthPickerComponent, selector: "lib-smart-month-picker", inputs: { widgetInstance: "widgetInstance" }, outputs: { valueChange: "valueChange" }, providers: [
61
60
  {
62
61
  provide: DateAdapter,
63
62
  useClass: MomentDateAdapter,
64
63
  deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
65
64
  },
66
65
  { provide: MAT_DATE_FORMATS, useValue: YEARH_MONTH_FORMAT },
67
- ], ngImport: i0, template: "<div class=\"smart-month-picker-container\">\n <mat-form-field appearance=\"outline\">\n <input\n matInput\n [matDatepicker]=\"dp\"\n placeholder=\"Month and Year\"\n [formControl]=\"date\"\n (input)=\"handleChange($event)\"\n />\n <mat-datepicker-toggle matSuffix [for]=\"dp\"></mat-datepicker-toggle>\n <mat-datepicker\n #dp\n startView=\"multi-year\"\n (monthSelected)=\"chosenMonthHandler($event, dp)\"\n panelClass=\"example-month-picker\"\n >\n </mat-datepicker>\n </mat-form-field>\n <div class=\"smart-month-picker-hint\">\n <mat-hint\n *ngIf=\"\n !widgetInstance?.hint || widgetInstance?.hint?.position === SmartWidgetHintPosition.INPUT\n \"\n >{{ widgetInstance.hint?.text }}</mat-hint\n >\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i5.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i5.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }] }); }
66
+ ], ngImport: i0, template: "<div class=\"smart-month-picker-container\">\r\n <mat-form-field appearance=\"outline\">\r\n <input matInput [matDatepicker]=\"dp\" [formControl]=\"date\" (input)=\"handleChange($event)\" />\r\n <mat-datepicker-toggle matSuffix [for]=\"dp\"></mat-datepicker-toggle>\r\n <mat-datepicker\r\n #dp\r\n startView=\"multi-year\"\r\n (monthSelected)=\"chosenMonthHandler($event, dp)\"\r\n panelClass=\"example-month-picker\"\r\n >\r\n </mat-datepicker>\r\n </mat-form-field>\r\n @if (widgetInstance.hint?.position === SmartWidgetHintPosition.INPUT) {\r\n <div class=\"smart-month-picker-hint\">\r\n <mat-hint>{{ widgetInstance.hint?.text }}</mat-hint>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".smart-month-picker-container{display:flex}.smart-month-picker-container mat-form-field{flex:1}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i4.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i4.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i4.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }] }); }
68
67
  }
69
68
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartMonthPickerComponent, decorators: [{
70
69
  type: Component,
@@ -75,10 +74,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
75
74
  deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
76
75
  },
77
76
  { provide: MAT_DATE_FORMATS, useValue: YEARH_MONTH_FORMAT },
78
- ], template: "<div class=\"smart-month-picker-container\">\n <mat-form-field appearance=\"outline\">\n <input\n matInput\n [matDatepicker]=\"dp\"\n placeholder=\"Month and Year\"\n [formControl]=\"date\"\n (input)=\"handleChange($event)\"\n />\n <mat-datepicker-toggle matSuffix [for]=\"dp\"></mat-datepicker-toggle>\n <mat-datepicker\n #dp\n startView=\"multi-year\"\n (monthSelected)=\"chosenMonthHandler($event, dp)\"\n panelClass=\"example-month-picker\"\n >\n </mat-datepicker>\n </mat-form-field>\n <div class=\"smart-month-picker-hint\">\n <mat-hint\n *ngIf=\"\n !widgetInstance?.hint || widgetInstance?.hint?.position === SmartWidgetHintPosition.INPUT\n \"\n >{{ widgetInstance.hint?.text }}</mat-hint\n >\n </div>\n</div>\n" }]
77
+ ], template: "<div class=\"smart-month-picker-container\">\r\n <mat-form-field appearance=\"outline\">\r\n <input matInput [matDatepicker]=\"dp\" [formControl]=\"date\" (input)=\"handleChange($event)\" />\r\n <mat-datepicker-toggle matSuffix [for]=\"dp\"></mat-datepicker-toggle>\r\n <mat-datepicker\r\n #dp\r\n startView=\"multi-year\"\r\n (monthSelected)=\"chosenMonthHandler($event, dp)\"\r\n panelClass=\"example-month-picker\"\r\n >\r\n </mat-datepicker>\r\n </mat-form-field>\r\n @if (widgetInstance.hint?.position === SmartWidgetHintPosition.INPUT) {\r\n <div class=\"smart-month-picker-hint\">\r\n <mat-hint>{{ widgetInstance.hint?.text }}</mat-hint>\r\n </div>\r\n }\r\n</div>\r\n", styles: [".smart-month-picker-container{display:flex}.smart-month-picker-container mat-form-field{flex:1}\n"] }]
79
78
  }], propDecorators: { widgetInstance: [{
80
79
  type: Input
81
80
  }], valueChange: [{
82
81
  type: Output
83
82
  }] } });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtbW9udGgtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWZvcm0vd2lkZ2V0cy9jb21wb25lbnRzL3NtYXJ0LW1vbnRoLXBpY2tlci9zbWFydC1tb250aC1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZm9ybS93aWRnZXRzL2NvbXBvbmVudHMvc21hcnQtbW9udGgtcGlja2VyL3NtYXJ0LW1vbnRoLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQy9ELE9BQU8sRUFDTCwrQkFBK0IsRUFDL0IsaUJBQWlCLEdBQ2xCLE1BQU0sa0NBQWtDLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUl4RixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFHNUIsT0FBTyxFQUFtQiwyQkFBMkIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7OztBQUU1RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUNoQyxLQUFLLEVBQUU7UUFDTCxTQUFTLEVBQUUsU0FBUztLQUNyQjtJQUNELE9BQU8sRUFBRTtRQUNQLFNBQVMsRUFBRSxTQUFTLElBQUksU0FBUztRQUNqQyxjQUFjLEVBQUUsVUFBVTtRQUMxQixhQUFhLEVBQUUsSUFBSTtRQUNuQixrQkFBa0IsRUFBRSxXQUFXO0tBQ2hDO0NBQ0YsQ0FBQztBQWVGLE1BQU0sT0FBTyx5QkFBeUI7SUFidEM7UUFlWSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFM0MsNEJBQXVCLEdBQUcsMkJBQTJCLENBQUM7S0FxQ3ZEO0lBbkNDLFFBQVE7UUFDTix1RUFBdUU7UUFDdkUsb0RBQW9EO1FBQ3BELHNDQUFzQztRQUN0QyxnREFBZ0Q7UUFDaEQsV0FBVztRQUNYLDJDQUEyQztRQUMzQyw0Q0FBNEM7UUFDNUMsSUFBSTtRQUVKLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztRQUV4QyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDOUIsSUFBSSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xELENBQUM7YUFBTSxDQUFDO1lBQ04sOEJBQThCO1lBQzlCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6QyxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQixDQUFDLE1BQWMsRUFBRSxVQUFpQztRQUNsRSxxQ0FBcUM7UUFDckMsbUNBQW1DO1FBQ25DLGlDQUFpQztRQUVqQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUzQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QixVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFVO1FBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQzsrR0F4Q1UseUJBQXlCO21HQUF6Qix5QkFBeUIsd0lBVHpCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLFdBQVc7Z0JBQ3BCLFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLElBQUksRUFBRSxDQUFDLGVBQWUsRUFBRSwrQkFBK0IsQ0FBQzthQUN6RDtZQUNELEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRTtTQUM1RCwwQkN0Q0gsK3lCQTJCQTs7NEZEYWEseUJBQXlCO2tCQWJyQyxTQUFTOytCQUNFLHdCQUF3QixhQUd2Qjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsV0FBVzs0QkFDcEIsUUFBUSxFQUFFLGlCQUFpQjs0QkFDM0IsSUFBSSxFQUFFLENBQUMsZUFBZSxFQUFFLCtCQUErQixDQUFDO3lCQUN6RDt3QkFDRCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUU7cUJBQzVEOzhCQUdRLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgTUFUX01PTUVOVF9EQVRFX0FEQVBURVJfT1BUSU9OUyxcbiAgTW9tZW50RGF0ZUFkYXB0ZXIsXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsLW1vbWVudC1hZGFwdGVyJztcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNQVRfREFURV9MT0NBTEUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1vbWVudCB9IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBTbWFydE1vbnRoUGlja2VyIH0gZnJvbSAnLi4vLi4vLi4vc21hcnRmb3JtLmZvcm0tbW9kZWwnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgWSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBTbWFydFZhbGlkYXRvciwgU21hcnRXaWRnZXRIaW50UG9zaXRpb24gfSBmcm9tICcuLi8uLi8uLi9zbWFydGZvcm0ubW9kZWwnO1xuaW1wb3J0IHsgU21hcnRXaWRnZXRIaW50LCBTbWFydFdpZGdldEhpbnRQb3NpdGlvbkVudW0gfSBmcm9tICcuLi8uLi8uLi9hcGknO1xuXG5leHBvcnQgY29uc3QgWUVBUkhfTU9OVEhfRk9STUFUID0ge1xuICBwYXJzZToge1xuICAgIGRhdGVJbnB1dDogJ01NL1lZWVknLFxuICB9LFxuICBkaXNwbGF5OiB7XG4gICAgZGF0ZUlucHV0OiAnTU0vWVlZWScgfHwgJ1lZWVkvTU0nLFxuICAgIG1vbnRoWWVhckxhYmVsOiAnTU1NIFlZWVknLFxuICAgIGRhdGVBMTF5TGFiZWw6ICdMTCcsXG4gICAgbW9udGhZZWFyQTExeUxhYmVsOiAnTU1NTSBZWVlZJyxcbiAgfSxcbn07XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1zbWFydC1tb250aC1waWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc21hcnQtbW9udGgtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc21hcnQtbW9udGgtcGlja2VyLmNvbXBvbmVudC5jc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogRGF0ZUFkYXB0ZXIsXG4gICAgICB1c2VDbGFzczogTW9tZW50RGF0ZUFkYXB0ZXIsXG4gICAgICBkZXBzOiBbTUFUX0RBVEVfTE9DQUxFLCBNQVRfTU9NRU5UX0RBVEVfQURBUFRFUl9PUFRJT05TXSxcbiAgICB9LFxuICAgIHsgcHJvdmlkZTogTUFUX0RBVEVfRk9STUFUUywgdXNlVmFsdWU6IFlFQVJIX01PTlRIX0ZPUk1BVCB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTbWFydE1vbnRoUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgd2lkZ2V0SW5zdGFuY2UhOiBTbWFydE1vbnRoUGlja2VyO1xuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIGRhdGUhOiBVbnR5cGVkRm9ybUNvbnRyb2w7XG4gIFNtYXJ0V2lkZ2V0SGludFBvc2l0aW9uID0gU21hcnRXaWRnZXRIaW50UG9zaXRpb25FbnVtO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIC8vIGlmICh0aGlzLndpZGdldEluc3RhbmNlLnZhbHVlICYmIHRoaXMud2lkZ2V0SW5zdGFuY2UudmFsdWUubGVuZ3RoKSB7XG4gICAgLy8gICBsZXQgZGF0ZSA9IG5ldyBEYXRlKHRoaXMud2lkZ2V0SW5zdGFuY2UudmFsdWUpO1xuICAgIC8vICAgbGV0IHZhbHVlSW5Nb21lbnQgPSBtb21lbnQoZGF0ZSk7XG4gICAgLy8gICB0aGlzLmRhdGUgPSBuZXcgRm9ybUNvbnRyb2wodmFsdWVJbk1vbWVudCk7XG4gICAgLy8gfSBlbHNlIHtcbiAgICAvLyAgIHRoaXMuZGF0ZSA9IG5ldyBGb3JtQ29udHJvbChtb21lbnQoKSk7XG4gICAgLy8gICB0aGlzLnZhbHVlQ2hhbmdlLm5leHQodGhpcy5kYXRlLnZhbHVlKTtcbiAgICAvLyB9XG5cbiAgICBtb21lbnQodGhpcy53aWRnZXRJbnN0YW5jZS52YWx1ZSB8fCAnJyk7XG5cbiAgICBpZiAodGhpcy53aWRnZXRJbnN0YW5jZS52YWx1ZSkge1xuICAgICAgbGV0IG1vbWVtdFZhbHVlID0gbW9tZW50KHRoaXMud2lkZ2V0SW5zdGFuY2UudmFsdWUpO1xuICAgICAgdGhpcy5kYXRlID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChtb21lbXRWYWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGxldCBtb21lbXRWYWx1ZSA9IG1vbWVudCgpO1xuICAgICAgdGhpcy5kYXRlID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJyk7XG4gICAgfVxuICB9XG5cbiAgY2hvc2VuTW9udGhIYW5kbGVyKG1vbWVudDogTW9tZW50LCBkYXRlcGlja2VyOiBNYXREYXRlcGlja2VyPE1vbWVudD4pIHtcbiAgICAvLyBjb25zdCBjdHJsVmFsdWUgPSB0aGlzLmRhdGUudmFsdWU7XG4gICAgLy8gY3RybFZhbHVlLm1vbnRoKG1vbWVudC5tb250aCgpKTtcbiAgICAvLyBjdHJsVmFsdWUueWVhcihtb21lbnQueWVhcigpKTtcblxuICAgIHRoaXMuZGF0ZS5zZXRWYWx1ZShtb21lbnQpO1xuXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5uZXh0KG1vbWVudCk7XG4gICAgZGF0ZXBpY2tlci5jbG9zZSgpO1xuICB9XG5cbiAgaGFuZGxlQ2hhbmdlKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLm5leHQodGhpcy5kYXRlLnZhbHVlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNtYXJ0LW1vbnRoLXBpY2tlci1jb250YWluZXJcIj5cbiAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCI+XG4gICAgPGlucHV0XG4gICAgICBtYXRJbnB1dFxuICAgICAgW21hdERhdGVwaWNrZXJdPVwiZHBcIlxuICAgICAgcGxhY2Vob2xkZXI9XCJNb250aCBhbmQgWWVhclwiXG4gICAgICBbZm9ybUNvbnRyb2xdPVwiZGF0ZVwiXG4gICAgICAoaW5wdXQpPVwiaGFuZGxlQ2hhbmdlKCRldmVudClcIlxuICAgIC8+XG4gICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXggW2Zvcl09XCJkcFwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxuICAgIDxtYXQtZGF0ZXBpY2tlclxuICAgICAgI2RwXG4gICAgICBzdGFydFZpZXc9XCJtdWx0aS15ZWFyXCJcbiAgICAgIChtb250aFNlbGVjdGVkKT1cImNob3Nlbk1vbnRoSGFuZGxlcigkZXZlbnQsIGRwKVwiXG4gICAgICBwYW5lbENsYXNzPVwiZXhhbXBsZS1tb250aC1waWNrZXJcIlxuICAgID5cbiAgICA8L21hdC1kYXRlcGlja2VyPlxuICA8L21hdC1mb3JtLWZpZWxkPlxuICA8ZGl2IGNsYXNzPVwic21hcnQtbW9udGgtcGlja2VyLWhpbnRcIj5cbiAgICA8bWF0LWhpbnRcbiAgICAgICpuZ0lmPVwiXG4gICAgICAgICF3aWRnZXRJbnN0YW5jZT8uaGludCB8fCB3aWRnZXRJbnN0YW5jZT8uaGludD8ucG9zaXRpb24gPT09IFNtYXJ0V2lkZ2V0SGludFBvc2l0aW9uLklOUFVUXG4gICAgICBcIlxuICAgICAgPnt7IHdpZGdldEluc3RhbmNlLmhpbnQ/LnRleHQgfX08L21hdC1oaW50XG4gICAgPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtbW9udGgtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWZvcm0vd2lkZ2V0cy9jb21wb25lbnRzL3NtYXJ0LW1vbnRoLXBpY2tlci9zbWFydC1tb250aC1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZm9ybS93aWRnZXRzL2NvbXBvbmVudHMvc21hcnQtbW9udGgtcGlja2VyL3NtYXJ0LW1vbnRoLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQy9ELE9BQU8sRUFDTCwrQkFBK0IsRUFDL0IsaUJBQWlCLEdBQ2xCLE1BQU0sa0NBQWtDLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUl4RixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFHNUIsT0FBTyxFQUFtQiwyQkFBMkIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7O0FBRTVFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHO0lBQ2hDLEtBQUssRUFBRTtRQUNMLFNBQVMsRUFBRSxTQUFTO0tBQ3JCO0lBQ0QsT0FBTyxFQUFFO1FBQ1AsU0FBUyxFQUFFLFNBQVMsSUFBSSxTQUFTO1FBQ2pDLGNBQWMsRUFBRSxVQUFVO1FBQzFCLGFBQWEsRUFBRSxJQUFJO1FBQ25CLGtCQUFrQixFQUFFLFdBQVc7S0FDaEM7Q0FDRixDQUFDO0FBZUYsTUFBTSxPQUFPLHlCQUF5QjtJQWJ0QztRQWVZLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUzQyw0QkFBdUIsR0FBRywyQkFBMkIsQ0FBQztLQXFDdkQ7SUFuQ0MsUUFBUTtRQUNOLHVFQUF1RTtRQUN2RSxvREFBb0Q7UUFDcEQsc0NBQXNDO1FBQ3RDLGdEQUFnRDtRQUNoRCxXQUFXO1FBQ1gsMkNBQTJDO1FBQzNDLDRDQUE0QztRQUM1QyxJQUFJO1FBRUosTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXhDLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM5QixJQUFJLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEQsQ0FBQzthQUFNLENBQUM7WUFDTiw4QkFBOEI7WUFDOUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLGtCQUFrQixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLENBQUM7SUFDSCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsTUFBYyxFQUFFLFVBQWlDO1FBQ2xFLHFDQUFxQztRQUNyQyxtQ0FBbUM7UUFDbkMsaUNBQWlDO1FBRWpDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTNCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVU7UUFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QyxDQUFDOytHQXhDVSx5QkFBeUI7bUdBQXpCLHlCQUF5Qix3SUFUekI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsV0FBVztnQkFDcEIsUUFBUSxFQUFFLGlCQUFpQjtnQkFDM0IsSUFBSSxFQUFFLENBQUMsZUFBZSxFQUFFLCtCQUErQixDQUFDO2FBQ3pEO1lBQ0QsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFO1NBQzVELDBCQ3RDSCx1dEJBa0JBOzs0RkRzQmEseUJBQXlCO2tCQWJyQyxTQUFTOytCQUNFLHdCQUF3QixhQUd2Qjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsV0FBVzs0QkFDcEIsUUFBUSxFQUFFLGlCQUFpQjs0QkFDM0IsSUFBSSxFQUFFLENBQUMsZUFBZSxFQUFFLCtCQUErQixDQUFDO3lCQUN6RDt3QkFDRCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUU7cUJBQzVEOzhCQUdRLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7XHJcbiAgTUFUX01PTUVOVF9EQVRFX0FEQVBURVJfT1BUSU9OUyxcclxuICBNb21lbnREYXRlQWRhcHRlcixcclxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC1tb21lbnQtYWRhcHRlcic7XHJcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNQVRfREFURV9MT0NBTEUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgTW9tZW50IH0gZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IHsgU21hcnRNb250aFBpY2tlciB9IGZyb20gJy4uLy4uLy4uL3NtYXJ0Zm9ybS5mb3JtLW1vZGVsJztcclxuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcbmltcG9ydCB7IFkgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xyXG5pbXBvcnQgeyBTbWFydFZhbGlkYXRvciwgU21hcnRXaWRnZXRIaW50UG9zaXRpb24gfSBmcm9tICcuLi8uLi8uLi9zbWFydGZvcm0ubW9kZWwnO1xyXG5pbXBvcnQgeyBTbWFydFdpZGdldEhpbnQsIFNtYXJ0V2lkZ2V0SGludFBvc2l0aW9uRW51bSB9IGZyb20gJy4uLy4uLy4uL2FwaSc7XHJcblxyXG5leHBvcnQgY29uc3QgWUVBUkhfTU9OVEhfRk9STUFUID0ge1xyXG4gIHBhcnNlOiB7XHJcbiAgICBkYXRlSW5wdXQ6ICdNTS9ZWVlZJyxcclxuICB9LFxyXG4gIGRpc3BsYXk6IHtcclxuICAgIGRhdGVJbnB1dDogJ01NL1lZWVknIHx8ICdZWVlZL01NJyxcclxuICAgIG1vbnRoWWVhckxhYmVsOiAnTU1NIFlZWVknLFxyXG4gICAgZGF0ZUExMXlMYWJlbDogJ0xMJyxcclxuICAgIG1vbnRoWWVhckExMXlMYWJlbDogJ01NTU0gWVlZWScsXHJcbiAgfSxcclxufTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXNtYXJ0LW1vbnRoLXBpY2tlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LW1vbnRoLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc21hcnQtbW9udGgtcGlja2VyLmNvbXBvbmVudC5jc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogRGF0ZUFkYXB0ZXIsXHJcbiAgICAgIHVzZUNsYXNzOiBNb21lbnREYXRlQWRhcHRlcixcclxuICAgICAgZGVwczogW01BVF9EQVRFX0xPQ0FMRSwgTUFUX01PTUVOVF9EQVRFX0FEQVBURVJfT1BUSU9OU10sXHJcbiAgICB9LFxyXG4gICAgeyBwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogWUVBUkhfTU9OVEhfRk9STUFUIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0TW9udGhQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHdpZGdldEluc3RhbmNlITogU21hcnRNb250aFBpY2tlcjtcclxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgZGF0ZSE6IFVudHlwZWRGb3JtQ29udHJvbDtcclxuICBTbWFydFdpZGdldEhpbnRQb3NpdGlvbiA9IFNtYXJ0V2lkZ2V0SGludFBvc2l0aW9uRW51bTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyBpZiAodGhpcy53aWRnZXRJbnN0YW5jZS52YWx1ZSAmJiB0aGlzLndpZGdldEluc3RhbmNlLnZhbHVlLmxlbmd0aCkge1xyXG4gICAgLy8gICBsZXQgZGF0ZSA9IG5ldyBEYXRlKHRoaXMud2lkZ2V0SW5zdGFuY2UudmFsdWUpO1xyXG4gICAgLy8gICBsZXQgdmFsdWVJbk1vbWVudCA9IG1vbWVudChkYXRlKTtcclxuICAgIC8vICAgdGhpcy5kYXRlID0gbmV3IEZvcm1Db250cm9sKHZhbHVlSW5Nb21lbnQpO1xyXG4gICAgLy8gfSBlbHNlIHtcclxuICAgIC8vICAgdGhpcy5kYXRlID0gbmV3IEZvcm1Db250cm9sKG1vbWVudCgpKTtcclxuICAgIC8vICAgdGhpcy52YWx1ZUNoYW5nZS5uZXh0KHRoaXMuZGF0ZS52YWx1ZSk7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgbW9tZW50KHRoaXMud2lkZ2V0SW5zdGFuY2UudmFsdWUgfHwgJycpO1xyXG5cclxuICAgIGlmICh0aGlzLndpZGdldEluc3RhbmNlLnZhbHVlKSB7XHJcbiAgICAgIGxldCBtb21lbXRWYWx1ZSA9IG1vbWVudCh0aGlzLndpZGdldEluc3RhbmNlLnZhbHVlKTtcclxuICAgICAgdGhpcy5kYXRlID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChtb21lbXRWYWx1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBsZXQgbW9tZW10VmFsdWUgPSBtb21lbnQoKTtcclxuICAgICAgdGhpcy5kYXRlID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaG9zZW5Nb250aEhhbmRsZXIobW9tZW50OiBNb21lbnQsIGRhdGVwaWNrZXI6IE1hdERhdGVwaWNrZXI8TW9tZW50Pikge1xyXG4gICAgLy8gY29uc3QgY3RybFZhbHVlID0gdGhpcy5kYXRlLnZhbHVlO1xyXG4gICAgLy8gY3RybFZhbHVlLm1vbnRoKG1vbWVudC5tb250aCgpKTtcclxuICAgIC8vIGN0cmxWYWx1ZS55ZWFyKG1vbWVudC55ZWFyKCkpO1xyXG5cclxuICAgIHRoaXMuZGF0ZS5zZXRWYWx1ZShtb21lbnQpO1xyXG5cclxuICAgIHRoaXMudmFsdWVDaGFuZ2UubmV4dChtb21lbnQpO1xyXG4gICAgZGF0ZXBpY2tlci5jbG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQ2hhbmdlKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWVDaGFuZ2UubmV4dCh0aGlzLmRhdGUudmFsdWUpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic21hcnQtbW9udGgtcGlja2VyLWNvbnRhaW5lclwiPlxyXG4gIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgPGlucHV0IG1hdElucHV0IFttYXREYXRlcGlja2VyXT1cImRwXCIgW2Zvcm1Db250cm9sXT1cImRhdGVcIiAoaW5wdXQpPVwiaGFuZGxlQ2hhbmdlKCRldmVudClcIiAvPlxyXG4gICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXggW2Zvcl09XCJkcFwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxyXG4gICAgPG1hdC1kYXRlcGlja2VyXHJcbiAgICAgICNkcFxyXG4gICAgICBzdGFydFZpZXc9XCJtdWx0aS15ZWFyXCJcclxuICAgICAgKG1vbnRoU2VsZWN0ZWQpPVwiY2hvc2VuTW9udGhIYW5kbGVyKCRldmVudCwgZHApXCJcclxuICAgICAgcGFuZWxDbGFzcz1cImV4YW1wbGUtbW9udGgtcGlja2VyXCJcclxuICAgID5cclxuICAgIDwvbWF0LWRhdGVwaWNrZXI+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuICBAaWYgKHdpZGdldEluc3RhbmNlLmhpbnQ/LnBvc2l0aW9uID09PSBTbWFydFdpZGdldEhpbnRQb3NpdGlvbi5JTlBVVCkge1xyXG4gICAgPGRpdiBjbGFzcz1cInNtYXJ0LW1vbnRoLXBpY2tlci1oaW50XCI+XHJcbiAgICAgIDxtYXQtaGludD57eyB3aWRnZXRJbnN0YW5jZS5oaW50Py50ZXh0IH19PC9tYXQtaGludD5cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
@@ -141,7 +141,7 @@ export class SmartMultiFileEditorComponent {
141
141
  useExisting: forwardRef(() => SmartMultiFileEditorComponent),
142
142
  multi: true,
143
143
  },
144
- ], viewQueries: [{ propertyName: "toolbar", first: true, predicate: ["toolbar"], descendants: true }], ngImport: i0, template: "@if (widgetInstance && widgetInstance.multiFileUploaderProperties) {\n <h4\n *ngIf=\"widgetInstance.showLabel\"\n class=\"labelContainer {{ widgetInstance.cssLabelClass ?? '' }}\"\n [ngClass]=\"getLabelNgClass()\"\n [ngStyle]=\"getLabelStyle()\"\n >\n {{ widgetInstance.label }}\n </h4>\n <smart-ui-action-toolbar\n [id]=\"widgetInstance.toolbarId\"\n #toolbar\n [style]=\"{ display: 'none' }\"\n ></smart-ui-action-toolbar>\n\n <div class=\"fileEditorComponent\">\n @if (widgetInstance.value && !isTypeSupported(widgetInstance.value)) {\n <div class=\"errorMessage\">\n <smart-icon [icon]=\"errorIcon\" [color]=\"'var(--warninig-color)'\"></smart-icon>\n <span> Unsupported widgetInstance.value type for this widget.</span>\n </div>\n } @else {\n <smart-upload-widget\n class=\"widgetContent {{ widgetInstance.cssClass ?? '' }}\"\n [ngClass]=\"getNgClass()\"\n [ngStyle]=\"getStyle()\"\n [uploadDescriptor]=\"widgetInstance.multiFileUploaderProperties.uploadDescriptor!\"\n [isMultiple]=\"true\"\n [isDisabled]=\"widgetInstance.isDisabled\"\n (uploadFilesEvent)=\"upload($event)\"\n />\n }\n\n <div\n [ngClass]=\"{ disabledWidget: widgetInstance.isDisabled }\"\n class=\"uploadedFileContainer\"\n [style.display]=\"\n widgetInstance.value && isTypeSupported(widgetInstance.value) ? 'block' : 'none'\n \"\n >\n <div class=\"scrollable\">\n <div class=\"uploadedFile\" *ngFor=\"let file of widgetInstance.value; let i = index\">\n <smart-icon class=\"uploadedFileIcon\" [icon]=\"fileIcon\"></smart-icon>\n\n <div class=\"fileData\">\n <div class=\"fileDataContainer\">\n <span class=\"fileName\">{{ file?.fileName }}</span>\n <span class=\"fileSize\">{{ formatSize(file?.size) }}</span>\n </div>\n </div>\n\n <div class=\"fileActions\">\n @if (toolbarComponent && toolbarComponent.uiActionModels) {\n <file-editor-toolbar\n [id]=\"widgetInstance.toolbarId\"\n [dataUri]=\"file.dataUri\"\n [uiActionModels]=\"toolbarComponent.uiActionModels\"\n ></file-editor-toolbar>\n }\n <smart-icon\n class=\"downloadIcon\"\n icon=\"download\"\n (click)=\"downloadFile(file.dataUri)\"\n ></smart-icon>\n @if (!file.readOnly) {\n <smart-icon\n class=\"removeIcon\"\n [icon]=\"removeIcon\"\n (click)=\"!isDisabled && file.readOnly === false && deleteFile(file.dataUri)\"\n ></smart-icon>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n}\n", styles: [":host{--border-color: #a6aabd60;--warninig-color: #be2d2e;--def-border-radius: .5rem;width:100%}.fileEditorComponent{border:2px dashed var(--border-color);border-radius:var(--def-border-radius);overflow:hidden}.fileEditorComponent ::ng-deep smartfileuploader ::ng-deep .container{border:unset;border-radius:unset}.uploadedFileContainer{display:flex;flex-direction:column;border-top:1px solid #e0e0e0}.uploadedFile{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;padding:1rem;gap:1rem}.scrollable{max-height:30vh;overflow-y:auto}.scrollable>div:not(:last-child){border-bottom:1px solid #e0e0e0}.fileSize{display:flex;flex-direction:row;font-size:smaller}.fileData{flex:1;display:flex;flex-direction:column}.fileDataContainer{display:flex;flex-direction:column;justify-content:flex-end;width:fit-content}.fileActions{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}.fileActions ::ng-deep button{border:unset}.fileActions ::ng-deep button:hover{border:unset}.removeIcon ::ng-deep i,.removeIcon ::ng-deep mat-icon{color:var(--warninig-color)}.removeIcon ::ng-deep .pi,.downloadIcon ::ng-deep .pi{font-size:1.5rem!important}.removeIcon ::ng-deep mat-icon,.downloadIcon ::ng-deep mat-icon{font-size:2rem}.removeIcon:hover,.downloadIcon:hover{cursor:pointer}smart-icon{display:flex;align-items:center}smart-icon ::ng-deep mat-icon{font-size:3rem;width:unset;height:unset}.uploadedFileIcon{width:3rem;display:flex;justify-content:center}:host ::ng-deep .p-fileupload-content{border:unset;border-radius:var(--def-border-radius)}smart-icon ::ng-deep .pi{font-size:2rem!important}.fileEditorComponent:has(::ng-deep .errorMessage){border-color:var(--warninig-color)}.errorMessage{padding:1rem;font-size:1.5rem;color:var(--warninig-color);display:flex;flex-direction:row;align-items:center;gap:1rem}:host ::ng-deep .disabledWidget ::ng-deep .changeButton *,:host ::ng-deep .disabledWidget ::ng-deep .removeIcon *{opacity:.4!important;pointer-events:none!important}:host ::ng-deep .disabledWidget ::ng-deep .changeButton:hover,:host ::ng-deep .disabledWidget ::ng-deep .removeIcon:hover{cursor:not-allowed}:host ::ng-deep smartfileuploader ::ng-deep .uploadedFile,:host ::ng-deep .p-fileupload-file{background:repeating-linear-gradient(45deg,#fafafa,#fafafa 6px,#f1f1f1 6px 12px)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color", "imageResource"] }, { kind: "component", type: i3.UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService", "id", "scrollOnWrap", "toolbarPropertes"] }, { kind: "component", type: i4.FileEditorToolbarComponent, selector: "file-editor-toolbar", inputs: ["dataUri"], outputs: ["actionEvent"] }, { kind: "component", type: i5.UploadWidgetComponent, selector: "smart-upload-widget", inputs: ["uploadDescriptor", "isMultiple", "isDisabled"], outputs: ["uploadFilesEvent"] }] }); }
144
+ ], viewQueries: [{ propertyName: "toolbar", first: true, predicate: ["toolbar"], descendants: true }], ngImport: i0, template: "@if (widgetInstance && widgetInstance.multiFileUploaderProperties) {\r\n <h4\r\n *ngIf=\"widgetInstance.showLabel\"\r\n class=\"labelContainer {{ widgetInstance.cssLabelClass ?? '' }}\"\r\n [ngClass]=\"getLabelNgClass()\"\r\n [ngStyle]=\"getLabelStyle()\"\r\n >\r\n {{ widgetInstance.label }}\r\n </h4>\r\n <smart-ui-action-toolbar\r\n [id]=\"widgetInstance.toolbarId\"\r\n #toolbar\r\n [style]=\"{ display: 'none' }\"\r\n ></smart-ui-action-toolbar>\r\n\r\n <div class=\"fileEditorComponent\">\r\n @if (widgetInstance.value && !isTypeSupported(widgetInstance.value)) {\r\n <div class=\"errorMessage\">\r\n <smart-icon [icon]=\"errorIcon\" [color]=\"'var(--warninig-color)'\"></smart-icon>\r\n <span> Unsupported widgetInstance.value type for this widget.</span>\r\n </div>\r\n } @else {\r\n <smart-upload-widget\r\n class=\"widgetContent {{ widgetInstance.cssClass ?? '' }}\"\r\n [ngClass]=\"getNgClass()\"\r\n [ngStyle]=\"getStyle()\"\r\n [uploadDescriptor]=\"widgetInstance.multiFileUploaderProperties.uploadDescriptor!\"\r\n [isMultiple]=\"true\"\r\n [isDisabled]=\"widgetInstance.isDisabled\"\r\n (uploadFilesEvent)=\"upload($event)\"\r\n />\r\n }\r\n\r\n <div\r\n [ngClass]=\"{ disabledWidget: widgetInstance.isDisabled }\"\r\n class=\"uploadedFileContainer\"\r\n [style.display]=\"\r\n widgetInstance.value && isTypeSupported(widgetInstance.value) ? 'block' : 'none'\r\n \"\r\n >\r\n <div class=\"scrollable\">\r\n <div class=\"uploadedFile\" *ngFor=\"let file of widgetInstance.value; let i = index\">\r\n <smart-icon class=\"uploadedFileIcon\" [icon]=\"fileIcon\"></smart-icon>\r\n\r\n <div class=\"fileData\">\r\n <div class=\"fileDataContainer\">\r\n <span class=\"fileName\">{{ file?.fileName }}</span>\r\n <span class=\"fileSize\">{{ formatSize(file?.size) }}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"fileActions\">\r\n @if (toolbarComponent && toolbarComponent.uiActionModels) {\r\n <file-editor-toolbar\r\n [id]=\"widgetInstance.toolbarId\"\r\n [dataUri]=\"file.dataUri\"\r\n [uiActionModels]=\"toolbarComponent.uiActionModels\"\r\n ></file-editor-toolbar>\r\n }\r\n <smart-icon\r\n class=\"downloadIcon\"\r\n icon=\"download\"\r\n (click)=\"downloadFile(file.dataUri)\"\r\n ></smart-icon>\r\n @if (!file.readOnly) {\r\n <smart-icon\r\n class=\"removeIcon\"\r\n [icon]=\"removeIcon\"\r\n (click)=\"!isDisabled && file.readOnly === false && deleteFile(file.dataUri)\"\r\n ></smart-icon>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n", styles: [":host{--border-color: #a6aabd60;--warninig-color: #be2d2e;--def-border-radius: .5rem;width:100%}.fileEditorComponent{border:2px dashed var(--border-color);border-radius:var(--def-border-radius);overflow:hidden}.fileEditorComponent ::ng-deep smartfileuploader ::ng-deep .container{border:unset;border-radius:unset}.uploadedFileContainer{display:flex;flex-direction:column;border-top:1px solid #e0e0e0}.uploadedFile{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;padding:1rem;gap:1rem}.scrollable{max-height:30vh;overflow-y:auto}.scrollable>div:not(:last-child){border-bottom:1px solid #e0e0e0}.fileSize{display:flex;flex-direction:row;font-size:smaller}.fileData{flex:1;display:flex;flex-direction:column}.fileDataContainer{display:flex;flex-direction:column;justify-content:flex-end;width:fit-content}.fileActions{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}.fileActions ::ng-deep button{border:unset}.fileActions ::ng-deep button:hover{border:unset}.removeIcon ::ng-deep i,.removeIcon ::ng-deep mat-icon{color:var(--warninig-color)}.removeIcon ::ng-deep .pi,.downloadIcon ::ng-deep .pi{font-size:1.5rem!important}.removeIcon ::ng-deep mat-icon,.downloadIcon ::ng-deep mat-icon{font-size:2rem}.removeIcon:hover,.downloadIcon:hover{cursor:pointer}smart-icon{display:flex;align-items:center}smart-icon ::ng-deep mat-icon{font-size:3rem;width:unset;height:unset}.uploadedFileIcon{width:3rem;display:flex;justify-content:center}:host ::ng-deep .p-fileupload-content{border:unset;border-radius:var(--def-border-radius)}smart-icon ::ng-deep .pi{font-size:2rem!important}.fileEditorComponent:has(::ng-deep .errorMessage){border-color:var(--warninig-color)}.errorMessage{padding:1rem;font-size:1.5rem;color:var(--warninig-color);display:flex;flex-direction:row;align-items:center;gap:1rem}:host ::ng-deep .disabledWidget ::ng-deep .changeButton *,:host ::ng-deep .disabledWidget ::ng-deep .removeIcon *{opacity:.4!important;pointer-events:none!important}:host ::ng-deep .disabledWidget ::ng-deep .changeButton:hover,:host ::ng-deep .disabledWidget ::ng-deep .removeIcon:hover{cursor:not-allowed}:host ::ng-deep smartfileuploader ::ng-deep .uploadedFile,:host ::ng-deep .p-fileupload-file{background:repeating-linear-gradient(45deg,#fafafa,#fafafa 6px,#f1f1f1 6px 12px)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color", "imageResource"] }, { kind: "component", type: i3.UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService", "id", "scrollOnWrap", "toolbarPropertes"] }, { kind: "component", type: i4.FileEditorToolbarComponent, selector: "file-editor-toolbar", inputs: ["dataUri"], outputs: ["actionEvent"] }, { kind: "component", type: i5.UploadWidgetComponent, selector: "smart-upload-widget", inputs: ["uploadDescriptor", "isMultiple", "isDisabled"], outputs: ["uploadFilesEvent"] }] }); }
145
145
  }
146
146
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartMultiFileEditorComponent, decorators: [{
147
147
  type: Component,
@@ -151,7 +151,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
151
151
  useExisting: forwardRef(() => SmartMultiFileEditorComponent),
152
152
  multi: true,
153
153
  },
154
- ], template: "@if (widgetInstance && widgetInstance.multiFileUploaderProperties) {\n <h4\n *ngIf=\"widgetInstance.showLabel\"\n class=\"labelContainer {{ widgetInstance.cssLabelClass ?? '' }}\"\n [ngClass]=\"getLabelNgClass()\"\n [ngStyle]=\"getLabelStyle()\"\n >\n {{ widgetInstance.label }}\n </h4>\n <smart-ui-action-toolbar\n [id]=\"widgetInstance.toolbarId\"\n #toolbar\n [style]=\"{ display: 'none' }\"\n ></smart-ui-action-toolbar>\n\n <div class=\"fileEditorComponent\">\n @if (widgetInstance.value && !isTypeSupported(widgetInstance.value)) {\n <div class=\"errorMessage\">\n <smart-icon [icon]=\"errorIcon\" [color]=\"'var(--warninig-color)'\"></smart-icon>\n <span> Unsupported widgetInstance.value type for this widget.</span>\n </div>\n } @else {\n <smart-upload-widget\n class=\"widgetContent {{ widgetInstance.cssClass ?? '' }}\"\n [ngClass]=\"getNgClass()\"\n [ngStyle]=\"getStyle()\"\n [uploadDescriptor]=\"widgetInstance.multiFileUploaderProperties.uploadDescriptor!\"\n [isMultiple]=\"true\"\n [isDisabled]=\"widgetInstance.isDisabled\"\n (uploadFilesEvent)=\"upload($event)\"\n />\n }\n\n <div\n [ngClass]=\"{ disabledWidget: widgetInstance.isDisabled }\"\n class=\"uploadedFileContainer\"\n [style.display]=\"\n widgetInstance.value && isTypeSupported(widgetInstance.value) ? 'block' : 'none'\n \"\n >\n <div class=\"scrollable\">\n <div class=\"uploadedFile\" *ngFor=\"let file of widgetInstance.value; let i = index\">\n <smart-icon class=\"uploadedFileIcon\" [icon]=\"fileIcon\"></smart-icon>\n\n <div class=\"fileData\">\n <div class=\"fileDataContainer\">\n <span class=\"fileName\">{{ file?.fileName }}</span>\n <span class=\"fileSize\">{{ formatSize(file?.size) }}</span>\n </div>\n </div>\n\n <div class=\"fileActions\">\n @if (toolbarComponent && toolbarComponent.uiActionModels) {\n <file-editor-toolbar\n [id]=\"widgetInstance.toolbarId\"\n [dataUri]=\"file.dataUri\"\n [uiActionModels]=\"toolbarComponent.uiActionModels\"\n ></file-editor-toolbar>\n }\n <smart-icon\n class=\"downloadIcon\"\n icon=\"download\"\n (click)=\"downloadFile(file.dataUri)\"\n ></smart-icon>\n @if (!file.readOnly) {\n <smart-icon\n class=\"removeIcon\"\n [icon]=\"removeIcon\"\n (click)=\"!isDisabled && file.readOnly === false && deleteFile(file.dataUri)\"\n ></smart-icon>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n}\n", styles: [":host{--border-color: #a6aabd60;--warninig-color: #be2d2e;--def-border-radius: .5rem;width:100%}.fileEditorComponent{border:2px dashed var(--border-color);border-radius:var(--def-border-radius);overflow:hidden}.fileEditorComponent ::ng-deep smartfileuploader ::ng-deep .container{border:unset;border-radius:unset}.uploadedFileContainer{display:flex;flex-direction:column;border-top:1px solid #e0e0e0}.uploadedFile{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;padding:1rem;gap:1rem}.scrollable{max-height:30vh;overflow-y:auto}.scrollable>div:not(:last-child){border-bottom:1px solid #e0e0e0}.fileSize{display:flex;flex-direction:row;font-size:smaller}.fileData{flex:1;display:flex;flex-direction:column}.fileDataContainer{display:flex;flex-direction:column;justify-content:flex-end;width:fit-content}.fileActions{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}.fileActions ::ng-deep button{border:unset}.fileActions ::ng-deep button:hover{border:unset}.removeIcon ::ng-deep i,.removeIcon ::ng-deep mat-icon{color:var(--warninig-color)}.removeIcon ::ng-deep .pi,.downloadIcon ::ng-deep .pi{font-size:1.5rem!important}.removeIcon ::ng-deep mat-icon,.downloadIcon ::ng-deep mat-icon{font-size:2rem}.removeIcon:hover,.downloadIcon:hover{cursor:pointer}smart-icon{display:flex;align-items:center}smart-icon ::ng-deep mat-icon{font-size:3rem;width:unset;height:unset}.uploadedFileIcon{width:3rem;display:flex;justify-content:center}:host ::ng-deep .p-fileupload-content{border:unset;border-radius:var(--def-border-radius)}smart-icon ::ng-deep .pi{font-size:2rem!important}.fileEditorComponent:has(::ng-deep .errorMessage){border-color:var(--warninig-color)}.errorMessage{padding:1rem;font-size:1.5rem;color:var(--warninig-color);display:flex;flex-direction:row;align-items:center;gap:1rem}:host ::ng-deep .disabledWidget ::ng-deep .changeButton *,:host ::ng-deep .disabledWidget ::ng-deep .removeIcon *{opacity:.4!important;pointer-events:none!important}:host ::ng-deep .disabledWidget ::ng-deep .changeButton:hover,:host ::ng-deep .disabledWidget ::ng-deep .removeIcon:hover{cursor:not-allowed}:host ::ng-deep smartfileuploader ::ng-deep .uploadedFile,:host ::ng-deep .p-fileupload-file{background:repeating-linear-gradient(45deg,#fafafa,#fafafa 6px,#f1f1f1 6px 12px)}\n"] }]
154
+ ], template: "@if (widgetInstance && widgetInstance.multiFileUploaderProperties) {\r\n <h4\r\n *ngIf=\"widgetInstance.showLabel\"\r\n class=\"labelContainer {{ widgetInstance.cssLabelClass ?? '' }}\"\r\n [ngClass]=\"getLabelNgClass()\"\r\n [ngStyle]=\"getLabelStyle()\"\r\n >\r\n {{ widgetInstance.label }}\r\n </h4>\r\n <smart-ui-action-toolbar\r\n [id]=\"widgetInstance.toolbarId\"\r\n #toolbar\r\n [style]=\"{ display: 'none' }\"\r\n ></smart-ui-action-toolbar>\r\n\r\n <div class=\"fileEditorComponent\">\r\n @if (widgetInstance.value && !isTypeSupported(widgetInstance.value)) {\r\n <div class=\"errorMessage\">\r\n <smart-icon [icon]=\"errorIcon\" [color]=\"'var(--warninig-color)'\"></smart-icon>\r\n <span> Unsupported widgetInstance.value type for this widget.</span>\r\n </div>\r\n } @else {\r\n <smart-upload-widget\r\n class=\"widgetContent {{ widgetInstance.cssClass ?? '' }}\"\r\n [ngClass]=\"getNgClass()\"\r\n [ngStyle]=\"getStyle()\"\r\n [uploadDescriptor]=\"widgetInstance.multiFileUploaderProperties.uploadDescriptor!\"\r\n [isMultiple]=\"true\"\r\n [isDisabled]=\"widgetInstance.isDisabled\"\r\n (uploadFilesEvent)=\"upload($event)\"\r\n />\r\n }\r\n\r\n <div\r\n [ngClass]=\"{ disabledWidget: widgetInstance.isDisabled }\"\r\n class=\"uploadedFileContainer\"\r\n [style.display]=\"\r\n widgetInstance.value && isTypeSupported(widgetInstance.value) ? 'block' : 'none'\r\n \"\r\n >\r\n <div class=\"scrollable\">\r\n <div class=\"uploadedFile\" *ngFor=\"let file of widgetInstance.value; let i = index\">\r\n <smart-icon class=\"uploadedFileIcon\" [icon]=\"fileIcon\"></smart-icon>\r\n\r\n <div class=\"fileData\">\r\n <div class=\"fileDataContainer\">\r\n <span class=\"fileName\">{{ file?.fileName }}</span>\r\n <span class=\"fileSize\">{{ formatSize(file?.size) }}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"fileActions\">\r\n @if (toolbarComponent && toolbarComponent.uiActionModels) {\r\n <file-editor-toolbar\r\n [id]=\"widgetInstance.toolbarId\"\r\n [dataUri]=\"file.dataUri\"\r\n [uiActionModels]=\"toolbarComponent.uiActionModels\"\r\n ></file-editor-toolbar>\r\n }\r\n <smart-icon\r\n class=\"downloadIcon\"\r\n icon=\"download\"\r\n (click)=\"downloadFile(file.dataUri)\"\r\n ></smart-icon>\r\n @if (!file.readOnly) {\r\n <smart-icon\r\n class=\"removeIcon\"\r\n [icon]=\"removeIcon\"\r\n (click)=\"!isDisabled && file.readOnly === false && deleteFile(file.dataUri)\"\r\n ></smart-icon>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n", styles: [":host{--border-color: #a6aabd60;--warninig-color: #be2d2e;--def-border-radius: .5rem;width:100%}.fileEditorComponent{border:2px dashed var(--border-color);border-radius:var(--def-border-radius);overflow:hidden}.fileEditorComponent ::ng-deep smartfileuploader ::ng-deep .container{border:unset;border-radius:unset}.uploadedFileContainer{display:flex;flex-direction:column;border-top:1px solid #e0e0e0}.uploadedFile{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;padding:1rem;gap:1rem}.scrollable{max-height:30vh;overflow-y:auto}.scrollable>div:not(:last-child){border-bottom:1px solid #e0e0e0}.fileSize{display:flex;flex-direction:row;font-size:smaller}.fileData{flex:1;display:flex;flex-direction:column}.fileDataContainer{display:flex;flex-direction:column;justify-content:flex-end;width:fit-content}.fileActions{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}.fileActions ::ng-deep button{border:unset}.fileActions ::ng-deep button:hover{border:unset}.removeIcon ::ng-deep i,.removeIcon ::ng-deep mat-icon{color:var(--warninig-color)}.removeIcon ::ng-deep .pi,.downloadIcon ::ng-deep .pi{font-size:1.5rem!important}.removeIcon ::ng-deep mat-icon,.downloadIcon ::ng-deep mat-icon{font-size:2rem}.removeIcon:hover,.downloadIcon:hover{cursor:pointer}smart-icon{display:flex;align-items:center}smart-icon ::ng-deep mat-icon{font-size:3rem;width:unset;height:unset}.uploadedFileIcon{width:3rem;display:flex;justify-content:center}:host ::ng-deep .p-fileupload-content{border:unset;border-radius:var(--def-border-radius)}smart-icon ::ng-deep .pi{font-size:2rem!important}.fileEditorComponent:has(::ng-deep .errorMessage){border-color:var(--warninig-color)}.errorMessage{padding:1rem;font-size:1.5rem;color:var(--warninig-color);display:flex;flex-direction:row;align-items:center;gap:1rem}:host ::ng-deep .disabledWidget ::ng-deep .changeButton *,:host ::ng-deep .disabledWidget ::ng-deep .removeIcon *{opacity:.4!important;pointer-events:none!important}:host ::ng-deep .disabledWidget ::ng-deep .changeButton:hover,:host ::ng-deep .disabledWidget ::ng-deep .removeIcon:hover{cursor:not-allowed}:host ::ng-deep smartfileuploader ::ng-deep .uploadedFile,:host ::ng-deep .p-fileupload-file{background:repeating-linear-gradient(45deg,#fafafa,#fafafa 6px,#f1f1f1 6px 12px)}\n"] }]
155
155
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i6.ComponentLibrary, decorators: [{
156
156
  type: Inject,
157
157
  args: [COMPONENT_LIBRARY]
@@ -167,4 +167,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
167
167
  }], fileEvent: [{
168
168
  type: Output
169
169
  }] } });
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtbXVsdGktZmlsZS1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZm9ybS93aWRnZXRzL2NvbXBvbmVudHMvc21hcnQtbXVsdGktZmlsZS1lZGl0b3Ivc21hcnQtbXVsdGktZmlsZS1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZm9ybS93aWRnZXRzL2NvbXBvbmVudHMvc21hcnQtbXVsdGktZmlsZS1lZGl0b3Ivc21hcnQtbXVsdGktZmlsZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFFekYsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixnQkFBZ0IsR0FDakIsTUFBTSxtREFBbUQsQ0FBQztBQUUzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1RkFBdUYsQ0FBQztBQUMxSCxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBY3pFLE1BQU0sT0FBTyw2QkFBNkI7SUFLeEMsSUFDSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBQ0QsSUFBSSxjQUFjLENBQUMsS0FBNkI7UUFDOUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFD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QUFvQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDbkYsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOytHQWpMVSw2QkFBNkIsbURBNEI5QixpQkFBaUI7bUdBNUJoQiw2QkFBNkIsMktBUjdCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztnQkFDNUQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDhIQ2hDSCxreUZBNkVBOzs0RkQzQ2EsNkJBQTZCO2tCQVp6QyxTQUFTOytCQUNFLHlCQUF5QixhQUd4Qjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw4QkFBOEIsQ0FBQzs0QkFDNUQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OzBCQThCRSxNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQUcsUUFBUTt5Q0EzQmhCLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUztnQkFLaEIsY0FBYztzQkFEakIsS0FBSztnQkFVSSxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBTUcsU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT3B0aW9uYWwsXG4gIE91dHB1dCxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNtYXJ0TXVsdGlGaWxlVXBsb2FkZXIgfSBmcm9tICcuLi8uLi8uLi9zbWFydGZvcm0uZm9ybS1tb2RlbCc7XG5pbXBvcnQgeyBTbWFydFN0eWxlVXRpbGl0eSB9IGZyb20gJy4uLy4uLy4uLy4uL3ZpZXctY29udGV4dC91dGlsaXR5L3NtYXJ0LXN0eWxlLXV0aWxpdHknO1xuaW1wb3J0IHsgVWlBY3Rpb24sIFVpQWN0aW9uVXBsb2FkRGVzY3JpcHRvciB9IGZyb20gJy4uLy4uLy4uLy4uL3ZpZXctY29udGV4dC9hcGkvbW9kZWwvbW9kZWxzJztcbmltcG9ydCB7XG4gIENPTVBPTkVOVF9MSUJSQVJZLFxuICBDb21wb25lbnRMaWJyYXJ5LFxufSBmcm9tICcuLi8uLi8uLi8uLi92aWV3LWNvbnRleHQvdXRpbGl0eS9jb21wb25lbnRMaWJyYXJ5JztcbmltcG9ydCB7IFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vdWktYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFVwbG9hZFdpZGdldFV0aWxzIH0gZnJvbSAnLi4vLi4vLi4vLi4vdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi9jb21wb25lbnRzL3VwbG9hZC13aWRnZXQvdXBsb2FkLXdpZGdldC51dGlscyc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NtYXJ0LW11bHRpLWZpbGUtZWRpdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LW11bHRpLWZpbGUtZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3NtYXJ0LW11bHRpLWZpbGUtZWRpdG9yLmNvbXBvbmVudC5jc3MnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNtYXJ0TXVsdGlGaWxlRWRpdG9yQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNtYXJ0TXVsdGlGaWxlRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBAVmlld0NoaWxkKCd0b29sYmFyJykgdG9vbGJhciE6IFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudDtcblxuICBwcml2YXRlIF93aWRnZXRJbnN0YW5jZSE6IFNtYXJ0TXVsdGlGaWxlVXBsb2FkZXI7XG5cbiAgQElucHV0KClcbiAgZ2V0IHdpZGdldEluc3RhbmNlKCk6IFNtYXJ0TXVsdGlGaWxlVXBsb2FkZXIge1xuICAgIHJldHVybiB0aGlzLl93aWRnZXRJbnN0YW5jZTtcbiAgfVxuICBzZXQgd2lkZ2V0SW5zdGFuY2UodmFsdWU6IFNtYXJ0TXVsdGlGaWxlVXBsb2FkZXIpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuY2xvbmUodmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIEBPdXRwdXQoKSB1cGxvYWRGaWxlc0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx7XG4gICAgZmlsZXM6IGFueVtdO1xuICAgIHVpQWN0aW9uOiBVaUFjdGlvbjtcbiAgICB1cGxvYWREZXNjcmlwdG9yPzogVWlBY3Rpb25VcGxvYWREZXNjcmlwdG9yO1xuICB9PigpO1xuXG4gIEBPdXRwdXQoKSBmaWxlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHtcbiAgICB1aUFjdGlvbjogVWlBY3Rpb247XG4gICAgdXBsb2FkRGVzY3JpcHRvcj86IFVpQWN0aW9uVXBsb2FkRGVzY3JpcHRvcjtcbiAgfT4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQEluamVjdChDT01QT05FTlRfTElCUkFSWSkgQE9wdGlvbmFsKCkgcHVibGljIGNvbXBMaWI/OiBDb21wb25lbnRMaWJyYXJ5XG4gICkge31cblxuICBwcml2YXRlIGNsb25lKHZhbHVlOiBTbWFydE11bHRpRmlsZVVwbG9hZGVyKSB7XG4gICAgdGhpcy5fd2lkZ2V0SW5zdGFuY2UgPVxuICAgICAgdHlwZW9mIHN0cnVjdHVyZWRDbG9uZSA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICA/IHN0cnVjdHVyZWRDbG9uZSh2YWx1ZSlcbiAgICAgICAgOiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XG5cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHVwbG9hZChldmVudDogYW55KTogdm9pZCB7XG4gICAgaWYgKCFldmVudC5maWxlcyB8fCBldmVudC5maWxlcy5sZW5ndGggPT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBwcm9wcyA9IHRoaXMuX3dpZGdldEluc3RhbmNlLm11bHRpRmlsZVVwbG9hZGVyUHJvcGVydGllcyE7XG4gICAgbGV0IHVpQWN0aW9uID0gcHJvcHMudXBsb2FkQWN0aW9uITtcblxuICAgIGxldCBwYXJhbXMgPSB7XG4gICAgICAuLi51aUFjdGlvbi5wYXJhbXMsXG4gICAgICBpc011bHRpcGxlOiB0cnVlLFxuICAgIH07XG4gICAgdWlBY3Rpb24ucGFyYW1zID0gcGFyYW1zO1xuXG4gICAgdGhpcy51cGxvYWRGaWxlc0V2ZW50LmVtaXQoe1xuICAgICAgZmlsZXM6IGV2ZW50LmZpbGVzLFxuICAgICAgdWlBY3Rpb246IHVpQWN0aW9uLFxuICAgICAgdXBsb2FkRGVzY3JpcHRvcjogZXZlbnQudXBsb2FkRGVzY3JpcHRvcixcbiAgICB9KTtcblxuICAgIHRoaXMub25DaGFuZ2UodGhpcy5fd2lkZ2V0SW5zdGFuY2UudmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBlbWl0RmlsZUFjdGlvbihhY3Rpb25Db2RlOiBzdHJpbmcgfCB1bmRlZmluZWQsIGRhdGFVcmk6IHN0cmluZykge1xuICAgIGNvbnN0IHVpQWN0aW9uID0ge1xuICAgICAgY29kZTogYWN0aW9uQ29kZSxcbiAgICAgIG1vZGVsOiB0cnVlLFxuICAgICAgcGF0aDogdGhpcy5fd2lkZ2V0SW5zdGFuY2Uua2V5LFxuICAgICAgcGFyYW1zOiB7IF9kYXRhVXJpOiBkYXRhVXJpIH0sXG4gICAgfTtcblxuICAgIHRoaXMuZmlsZUV2ZW50LmVtaXQoe1xuICAgICAgdWlBY3Rpb24sXG4gICAgICB1cGxvYWREZXNjcmlwdG9yOiB0aGlzLl93aWRnZXRJbnN0YW5jZS5tdWx0aUZpbGVVcGxvYWRlclByb3BlcnRpZXM/LnVwbG9hZERlc2NyaXB0b3IsXG4gICAgfSk7XG5cbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuX3dpZGdldEluc3RhbmNlLnZhbHVlKTtcbiAgfVxuXG4gIGRlbGV0ZUZpbGUoZGF0YVVyaTogc3RyaW5nKSB7XG4gICAgdGhpcy5lbWl0RmlsZUFjdGlvbihcbiAgICAgIHRoaXMuX3dpZGdldEluc3RhbmNlLm11bHRpRmlsZVVwbG9hZGVyUHJvcGVydGllcz8ucmVtb3ZlQWN0aW9uQ29kZSA/PyAnZGVmYXVsdFJlbW92ZScsXG4gICAgICBkYXRhVXJpXG4gICAgKTtcbiAgfVxuXG4gIGRvd25sb2FkRmlsZShkYXRhVXJpOiBzdHJpbmcpIHtcbiAgICB0aGlzLmVtaXRGaWxlQWN0aW9uKFxuICAgICAgdGhpcy5fd2lkZ2V0SW5zdGFuY2UubXVsdGlGaWxlVXBsb2FkZXJQcm9wZXJ0aWVzPy5kb3dubG9hZEFjdGlvbkNvZGUgPz8gJ2RlZmF1bHREb3dubG9hZCcsXG4gICAgICBkYXRhVXJpXG4gICAgKTtcbiAgfVxuXG4gIGlzVHlwZVN1cHBvcnRlZCh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHZhbHVlID09IG51bGwgfHwgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmV2ZXJ5KChpdGVtKSA9PiBpdGVtICYmICdkYXRhVXJpJyBpbiBpdGVtKSlcbiAgICApO1xuICB9XG5cbiAgZm9ybWF0U2l6ZShieXRlczogbnVtYmVyKTogc3RyaW5nIHtcbiAgICByZXR1cm4gVXBsb2FkV2lkZ2V0VXRpbHMuZm9ybWF0U2l6ZShieXRlcyk7XG4gIH1cblxuICAvLyAtLS0tIFNtYXJ0IGZvcm0gd2lkZ2V0IGZ1bmN0aW9ucyAtLS0tXG4gIGdldExhYmVsTmdDbGFzcygpOiB7IFtjbGFzc05hbWU6IHN0cmluZ106IGJvb2xlYW4gfSB7XG4gICAgcmV0dXJuIHRoaXMuX3dpZGdldEluc3RhbmNlPy5sYWJlbFN0eWxlXG4gICAgICA/IFNtYXJ0U3R5bGVVdGlsaXR5LmdldE5nQ2xhc3Nlcyh0aGlzLl93aWRnZXRJbnN0YW5jZS5sYWJlbFN0eWxlKVxuICAgICAgOiB7fTtcbiAgfVxuXG4gIGdldExhYmVsU3R5bGUoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXIgfSB7XG4gICAgcmV0dXJuIHRoaXMuX3dpZGdldEluc3RhbmNlPy5sYWJlbFN0eWxlXG4gICAgICA/IFNtYXJ0U3R5bGVVdGlsaXR5LmdldE5nU3R5bGVzKHRoaXMuX3dpZGdldEluc3RhbmNlLmxhYmVsU3R5bGUpXG4gICAgICA6IHt9O1xuICB9XG5cbiAgZ2V0TmdDbGFzcygpOiB7IFtjbGFzc05hbWU6IHN0cmluZ106IGJvb2xlYW4gfSB7XG4gICAgcmV0dXJuIFNtYXJ0U3R5bGVVdGlsaXR5LmdldE5nQ2xhc3Nlcyh0aGlzLl93aWRnZXRJbnN0YW5jZT8uc3R5bGUpO1xuICB9XG5cbiAgZ2V0U3R5bGUoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXIgfSB7XG4gICAgaWYgKCF0aGlzLl93aWRnZXRJbnN0YW5jZS5zdHlsZSkge1xuICAgICAgdGhpcy5fd2lkZ2V0SW5zdGFuY2Uuc3R5bGUgPSB7XG4gICAgICAgIGNsYXNzZXNUb0FkZDogW10sXG4gICAgICAgIGNsYXNzZXNUb1JlbW92ZTogW10sXG4gICAgICAgIHN0eWxlOiB7fSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKCEoJ3dpZHRoJyBpbiB0aGlzLl93aWRnZXRJbnN0YW5jZS5zdHlsZS5zdHlsZSkgJiYgJ21pbldpZHRoJyBpbiB0aGlzLl93aWRnZXRJbnN0YW5jZSkge1xuICAgICAgdGhpcy5fd2lkZ2V0SW5zdGFuY2Uuc3R5bGUuc3R5bGVbJ3dpZHRoJ10gPSBgJHt0aGlzLl93aWRnZXRJbnN0YW5jZS5taW5XaWR0aH1weGA7XG4gICAgfVxuXG4gICAgcmV0dXJuIFNtYXJ0U3R5bGVVdGlsaXR5LmdldE5nU3R5bGVzKHRoaXMuX3dpZGdldEluc3RhbmNlLnN0eWxlKTtcbiAgfVxuXG4gIC8vIC0tLS0gQ29udHJvbFZhbHVlQWNjZXNzb3IgaW1wbGVtZW50YXRpb24gLS0tLVxuXG4gIG9uQ2hhbmdlID0gKHZhbHVlOiBhbnkpID0+IHt9O1xuICBvblRvdWNoZWQgPSAoKSA9PiB7fTtcbiAgaXNEaXNhYmxlZCA9IGZhbHNlO1xuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuX3dpZGdldEluc3RhbmNlKSB7XG4gICAgICB0aGlzLl93aWRnZXRJbnN0YW5jZS52YWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5pc0Rpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIC8vIC0tLS0gVUkgZ2V0dGVycyAtLS0tXG5cbiAgZ2V0IHJlbW92ZUljb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jb21wTGliID09IENvbXBvbmVudExpYnJhcnkuUFJJTUVORyA/ICd0cmFzaCcgOiAnZGVsZXRlJztcbiAgfVxuXG4gIGdldCBmaWxlSWNvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvbXBMaWIgPT0gQ29tcG9uZW50TGlicmFyeS5QUklNRU5HID8gJ2ZpbGUnIDogJ2luc2VydF9kcml2ZV9maWxlJztcbiAgfVxuXG4gIGdldCBlcnJvckljb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jb21wTGliID09IENvbXBvbmVudExpYnJhcnkuUFJJTUVORyA/ICdleGNsYW1hdGlvbi1jaXJjbGUnIDogJ2Vycm9yJztcbiAgfVxuXG4gIGdldCB0b29sYmFyQ29tcG9uZW50KCk6IFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudCB7XG4gICAgcmV0dXJuIHRoaXMudG9vbGJhcjtcbiAgfVxufVxuIiwiQGlmICh3aWRnZXRJbnN0YW5jZSAmJiB3aWRnZXRJbnN0YW5jZS5tdWx0aUZpbGVVcGxvYWRlclByb3BlcnRpZXMpIHtcbiAgPGg0XG4gICAgKm5nSWY9XCJ3aWRnZXRJbnN0YW5jZS5zaG93TGFiZWxcIlxuICAgIGNsYXNzPVwibGFiZWxDb250YWluZXIge3sgd2lkZ2V0SW5zdGFuY2UuY3NzTGFiZWxDbGFzcyA/PyAnJyB9fVwiXG4gICAgW25nQ2xhc3NdPVwiZ2V0TGFiZWxOZ0NsYXNzKClcIlxuICAgIFtuZ1N0eWxlXT1cImdldExhYmVsU3R5bGUoKVwiXG4gID5cbiAgICB7eyB3aWRnZXRJbnN0YW5jZS5sYWJlbCB9fVxuICA8L2g0PlxuICA8c21hcnQtdWktYWN0aW9uLXRvb2xiYXJcbiAgICBbaWRdPVwid2lkZ2V0SW5zdGFuY2UudG9vbGJhcklkXCJcbiAgICAjdG9vbGJhclxuICAgIFtzdHlsZV09XCJ7IGRpc3BsYXk6ICdub25lJyB9XCJcbiAgPjwvc21hcnQtdWktYWN0aW9uLXRvb2xiYXI+XG5cbiAgPGRpdiBjbGFzcz1cImZpbGVFZGl0b3JDb21wb25lbnRcIj5cbiAgICBAaWYgKHdpZGdldEluc3RhbmNlLnZhbHVlICYmICFpc1R5cGVTdXBwb3J0ZWQod2lkZ2V0SW5zdGFuY2UudmFsdWUpKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiZXJyb3JNZXNzYWdlXCI+XG4gICAgICAgIDxzbWFydC1pY29uIFtpY29uXT1cImVycm9ySWNvblwiIFtjb2xvcl09XCIndmFyKC0td2FybmluaWctY29sb3IpJ1wiPjwvc21hcnQtaWNvbj5cbiAgICAgICAgPHNwYW4+IFVuc3VwcG9ydGVkIHdpZGdldEluc3RhbmNlLnZhbHVlIHR5cGUgZm9yIHRoaXMgd2lkZ2V0Ljwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIH0gQGVsc2Uge1xuICAgICAgPHNtYXJ0LXVwbG9hZC13aWRnZXRcbiAgICAgICAgY2xhc3M9XCJ3aWRnZXRDb250ZW50IHt7IHdpZGdldEluc3RhbmNlLmNzc0NsYXNzID8/ICcnIH19XCJcbiAgICAgICAgW25nQ2xhc3NdPVwiZ2V0TmdDbGFzcygpXCJcbiAgICAgICAgW25nU3R5bGVdPVwiZ2V0U3R5bGUoKVwiXG4gICAgICAgIFt1cGxvYWREZXNjcmlwdG9yXT1cIndpZGdldEluc3RhbmNlLm11bHRpRmlsZVVwbG9hZGVyUHJvcGVydGllcy51cGxvYWREZXNjcmlwdG9yIVwiXG4gICAgICAgIFtpc011bHRpcGxlXT1cInRydWVcIlxuICAgICAgICBbaXNEaXNhYmxlZF09XCJ3aWRnZXRJbnN0YW5jZS5pc0Rpc2FibGVkXCJcbiAgICAgICAgKHVwbG9hZEZpbGVzRXZlbnQpPVwidXBsb2FkKCRldmVudClcIlxuICAgICAgLz5cbiAgICB9XG5cbiAgICA8ZGl2XG4gICAgICBbbmdDbGFzc109XCJ7IGRpc2FibGVkV2lkZ2V0OiB3aWRnZXRJbnN0YW5jZS5pc0Rpc2FibGVkIH1cIlxuICAgICAgY2xhc3M9XCJ1cGxvYWRlZEZpbGVDb250YWluZXJcIlxuICAgICAgW3N0eWxlLmRpc3BsYXldPVwiXG4gICAgICAgIHdpZGdldEluc3RhbmNlLnZhbHVlICYmIGlzVHlwZVN1cHBvcnRlZCh3aWRnZXRJbnN0YW5jZS52YWx1ZSkgPyAnYmxvY2snIDogJ25vbmUnXG4gICAgICBcIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJzY3JvbGxhYmxlXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWRlZEZpbGVcIiAqbmdGb3I9XCJsZXQgZmlsZSBvZiB3aWRnZXRJbnN0YW5jZS52YWx1ZTsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgIDxzbWFydC1pY29uIGNsYXNzPVwidXBsb2FkZWRGaWxlSWNvblwiIFtpY29uXT1cImZpbGVJY29uXCI+PC9zbWFydC1pY29uPlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGVEYXRhXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZURhdGFDb250YWluZXJcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlTmFtZVwiPnt7IGZpbGU/LmZpbGVOYW1lIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZpbGVTaXplXCI+e3sgZm9ybWF0U2l6ZShmaWxlPy5zaXplKSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGVBY3Rpb25zXCI+XG4gICAgICAgICAgICBAaWYgKHRvb2xiYXJDb21wb25lbnQgJiYgdG9vbGJhckNvbXBvbmVudC51aUFjdGlvbk1vZGVscykge1xuICAgICAgICAgICAgICA8ZmlsZS1lZGl0b3ItdG9vbGJhclxuICAgICAgICAgICAgICAgIFtpZF09XCJ3aWRnZXRJbnN0YW5jZS50b29sYmFySWRcIlxuICAgICAgICAgICAgICAgIFtkYXRhVXJpXT1cImZpbGUuZGF0YVVyaVwiXG4gICAgICAgICAgICAgICAgW3VpQWN0aW9uTW9kZWxzXT1cInRvb2xiYXJDb21wb25lbnQudWlBY3Rpb25Nb2RlbHNcIlxuICAgICAgICAgICAgICA+PC9maWxlLWVkaXRvci10b29sYmFyPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPHNtYXJ0LWljb25cbiAgICAgICAgICAgICAgY2xhc3M9XCJkb3dubG9hZEljb25cIlxuICAgICAgICAgICAgICBpY29uPVwiZG93bmxvYWRcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiZG93bmxvYWRGaWxlKGZpbGUuZGF0YVVyaSlcIlxuICAgICAgICAgICAgPjwvc21hcnQtaWNvbj5cbiAgICAgICAgICAgIEBpZiAoIWZpbGUucmVhZE9ubHkpIHtcbiAgICAgICAgICAgICAgPHNtYXJ0LWljb25cbiAgICAgICAgICAgICAgICBjbGFzcz1cInJlbW92ZUljb25cIlxuICAgICAgICAgICAgICAgIFtpY29uXT1cInJlbW92ZUljb25cIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCIhaXNEaXNhYmxlZCAmJiBmaWxlLnJlYWRPbmx5ID09PSBmYWxzZSAmJiBkZWxldGVGaWxlKGZpbGUuZGF0YVVyaSlcIlxuICAgICAgICAgICAgICA+PC9zbWFydC1pY29uPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbn1cbiJdfQ==
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtbXVsdGktZmlsZS1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZm9ybS93aWRnZXRzL2NvbXBvbmVudHMvc21hcnQtbXVsdGktZmlsZS1lZGl0b3Ivc21hcnQtbXVsdGktZmlsZS1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZm9ybS93aWRnZXRzL2NvbXBvbmVudHMvc21hcnQtbXVsdGktZmlsZS1lZGl0b3Ivc21hcnQtbXVsdGktZmlsZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFFekYsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixnQkFBZ0IsR0FDakIsTUFBTSxtREFBbUQsQ0FBQztBQUUzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1RkFBdUYsQ0FBQztBQUMxSCxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBY3pFLE1BQU0sT0FBTyw2QkFBNkI7SUFLeEMsSUFDSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBQ0QsSUFBSSxjQUFjLENBQUMsS0FBNkI7UUFDOUMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFD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QUFvQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7SUFDbkYsQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDOytHQWpMVSw2QkFBNkIsbURBNEI5QixpQkFBaUI7bUdBNUJoQiw2QkFBNkIsMktBUjdCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw2QkFBNkIsQ0FBQztnQkFDNUQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDhIQ2hDSCw0N0ZBNkVBOzs0RkQzQ2EsNkJBQTZCO2tCQVp6QyxTQUFTOytCQUNFLHlCQUF5QixhQUd4Qjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw4QkFBOEIsQ0FBQzs0QkFDNUQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OzBCQThCRSxNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQUcsUUFBUTt5Q0EzQmhCLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUztnQkFLaEIsY0FBYztzQkFEakIsS0FBSztnQkFVSSxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBTUcsU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBmb3J3YXJkUmVmLFxyXG4gIEluamVjdCxcclxuICBJbnB1dCxcclxuICBPcHRpb25hbCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTbWFydE11bHRpRmlsZVVwbG9hZGVyIH0gZnJvbSAnLi4vLi4vLi4vc21hcnRmb3JtLmZvcm0tbW9kZWwnO1xyXG5pbXBvcnQgeyBTbWFydFN0eWxlVXRpbGl0eSB9IGZyb20gJy4uLy4uLy4uLy4uL3ZpZXctY29udGV4dC91dGlsaXR5L3NtYXJ0LXN0eWxlLXV0aWxpdHknO1xyXG5pbXBvcnQgeyBVaUFjdGlvbiwgVWlBY3Rpb25VcGxvYWREZXNjcmlwdG9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vdmlldy1jb250ZXh0L2FwaS9tb2RlbC9tb2RlbHMnO1xyXG5pbXBvcnQge1xyXG4gIENPTVBPTkVOVF9MSUJSQVJZLFxyXG4gIENvbXBvbmVudExpYnJhcnksXHJcbn0gZnJvbSAnLi4vLi4vLi4vLi4vdmlldy1jb250ZXh0L3V0aWxpdHkvY29tcG9uZW50TGlicmFyeSc7XHJcbmltcG9ydCB7IFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vdWktYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVXBsb2FkV2lkZ2V0VXRpbHMgfSBmcm9tICcuLi8uLi8uLi8uLi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL2NvbXBvbmVudHMvdXBsb2FkLXdpZGdldC91cGxvYWQtd2lkZ2V0LnV0aWxzJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzbWFydC1tdWx0aS1maWxlLWVkaXRvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LW11bHRpLWZpbGUtZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vc21hcnQtbXVsdGktZmlsZS1lZGl0b3IuY29tcG9uZW50LmNzcycsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTbWFydE11bHRpRmlsZUVkaXRvckNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU21hcnRNdWx0aUZpbGVFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgQFZpZXdDaGlsZCgndG9vbGJhcicpIHRvb2xiYXIhOiBVaUFjdGlvblRvb2xiYXJDb21wb25lbnQ7XHJcblxyXG4gIHByaXZhdGUgX3dpZGdldEluc3RhbmNlITogU21hcnRNdWx0aUZpbGVVcGxvYWRlcjtcclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgd2lkZ2V0SW5zdGFuY2UoKTogU21hcnRNdWx0aUZpbGVVcGxvYWRlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fd2lkZ2V0SW5zdGFuY2U7XHJcbiAgfVxyXG4gIHNldCB3aWRnZXRJbnN0YW5jZSh2YWx1ZTogU21hcnRNdWx0aUZpbGVVcGxvYWRlcikge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuY2xvbmUodmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIHVwbG9hZEZpbGVzRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHtcclxuICAgIGZpbGVzOiBhbnlbXTtcclxuICAgIHVpQWN0aW9uOiBVaUFjdGlvbjtcclxuICAgIHVwbG9hZERlc2NyaXB0b3I/OiBVaUFjdGlvblVwbG9hZERlc2NyaXB0b3I7XHJcbiAgfT4oKTtcclxuXHJcbiAgQE91dHB1dCgpIGZpbGVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgdWlBY3Rpb246IFVpQWN0aW9uO1xyXG4gICAgdXBsb2FkRGVzY3JpcHRvcj86IFVpQWN0aW9uVXBsb2FkRGVzY3JpcHRvcjtcclxuICB9PigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIEBJbmplY3QoQ09NUE9ORU5UX0xJQlJBUlkpIEBPcHRpb25hbCgpIHB1YmxpYyBjb21wTGliPzogQ29tcG9uZW50TGlicmFyeVxyXG4gICkge31cclxuXHJcbiAgcHJpdmF0ZSBjbG9uZSh2YWx1ZTogU21hcnRNdWx0aUZpbGVVcGxvYWRlcikge1xyXG4gICAgdGhpcy5fd2lkZ2V0SW5zdGFuY2UgPVxyXG4gICAgICB0eXBlb2Ygc3RydWN0dXJlZENsb25lID09PSAnZnVuY3Rpb24nXHJcbiAgICAgICAgPyBzdHJ1Y3R1cmVkQ2xvbmUodmFsdWUpXHJcbiAgICAgICAgOiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XHJcblxyXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICB1cGxvYWQoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKCFldmVudC5maWxlcyB8fCBldmVudC5maWxlcy5sZW5ndGggPT0gMCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHByb3BzID0gdGhpcy5fd2lkZ2V0SW5zdGFuY2UubXVsdGlGaWxlVXBsb2FkZXJQcm9wZXJ0aWVzITtcclxuICAgIGxldCB1aUFjdGlvbiA9IHByb3BzLnVwbG9hZEFjdGlvbiE7XHJcblxyXG4gICAgbGV0IHBhcmFtcyA9IHtcclxuICAgICAgLi4udWlBY3Rpb24ucGFyYW1zLFxyXG4gICAgICBpc011bHRpcGxlOiB0cnVlLFxyXG4gICAgfTtcclxuICAgIHVpQWN0aW9uLnBhcmFtcyA9IHBhcmFtcztcclxuXHJcbiAgICB0aGlzLnVwbG9hZEZpbGVzRXZlbnQuZW1pdCh7XHJcbiAgICAgIGZpbGVzOiBldmVudC5maWxlcyxcclxuICAgICAgdWlBY3Rpb246IHVpQWN0aW9uLFxyXG4gICAgICB1cGxvYWREZXNjcmlwdG9yOiBldmVudC51cGxvYWREZXNjcmlwdG9yLFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLl93aWRnZXRJbnN0YW5jZS52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGVtaXRGaWxlQWN0aW9uKGFjdGlvbkNvZGU6IHN0cmluZyB8IHVuZGVmaW5lZCwgZGF0YVVyaTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB1aUFjdGlvbiA9IHtcclxuICAgICAgY29kZTogYWN0aW9uQ29kZSxcclxuICAgICAgbW9kZWw6IHRydWUsXHJcbiAgICAgIHBhdGg6IHRoaXMuX3dpZGdldEluc3RhbmNlLmtleSxcclxuICAgICAgcGFyYW1zOiB7IF9kYXRhVXJpOiBkYXRhVXJpIH0sXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuZmlsZUV2ZW50LmVtaXQoe1xyXG4gICAgICB1aUFjdGlvbixcclxuICAgICAgdXBsb2FkRGVzY3JpcHRvcjogdGhpcy5fd2lkZ2V0SW5zdGFuY2UubXVsdGlGaWxlVXBsb2FkZXJQcm9wZXJ0aWVzPy51cGxvYWREZXNjcmlwdG9yLFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLl93aWRnZXRJbnN0YW5jZS52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVGaWxlKGRhdGFVcmk6IHN0cmluZykge1xyXG4gICAgdGhpcy5lbWl0RmlsZUFjdGlvbihcclxuICAgICAgdGhpcy5fd2lkZ2V0SW5zdGFuY2UubXVsdGlGaWxlVXBsb2FkZXJQcm9wZXJ0aWVzPy5yZW1vdmVBY3Rpb25Db2RlID8/ICdkZWZhdWx0UmVtb3ZlJyxcclxuICAgICAgZGF0YVVyaVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGRvd25sb2FkRmlsZShkYXRhVXJpOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZW1pdEZpbGVBY3Rpb24oXHJcbiAgICAgIHRoaXMuX3dpZGdldEluc3RhbmNlLm11bHRpRmlsZVVwbG9hZGVyUHJvcGVydGllcz8uZG93bmxvYWRBY3Rpb25Db2RlID8/ICdkZWZhdWx0RG93bmxvYWQnLFxyXG4gICAgICBkYXRhVXJpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgaXNUeXBlU3VwcG9ydGVkKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAoXHJcbiAgICAgIHZhbHVlID09IG51bGwgfHwgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmV2ZXJ5KChpdGVtKSA9PiBpdGVtICYmICdkYXRhVXJpJyBpbiBpdGVtKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBmb3JtYXRTaXplKGJ5dGVzOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIFVwbG9hZFdpZGdldFV0aWxzLmZvcm1hdFNpemUoYnl0ZXMpO1xyXG4gIH1cclxuXHJcbiAgLy8gLS0tLSBTbWFydCBmb3JtIHdpZGdldCBmdW5jdGlvbnMgLS0tLVxyXG4gIGdldExhYmVsTmdDbGFzcygpOiB7IFtjbGFzc05hbWU6IHN0cmluZ106IGJvb2xlYW4gfSB7XHJcbiAgICByZXR1cm4gdGhpcy5fd2lkZ2V0SW5zdGFuY2U/LmxhYmVsU3R5bGVcclxuICAgICAgPyBTbWFydFN0eWxlVXRpbGl0eS5nZXROZ0NsYXNzZXModGhpcy5fd2lkZ2V0SW5zdGFuY2UubGFiZWxTdHlsZSlcclxuICAgICAgOiB7fTtcclxuICB9XHJcblxyXG4gIGdldExhYmVsU3R5bGUoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXIgfSB7XHJcbiAgICByZXR1cm4gdGhpcy5fd2lkZ2V0SW5zdGFuY2U/LmxhYmVsU3R5bGVcclxuICAgICAgPyBTbWFydFN0eWxlVXRpbGl0eS5nZXROZ1N0eWxlcyh0aGlzLl93aWRnZXRJbnN0YW5jZS5sYWJlbFN0eWxlKVxyXG4gICAgICA6IHt9O1xyXG4gIH1cclxuXHJcbiAgZ2V0TmdDbGFzcygpOiB7IFtjbGFzc05hbWU6IHN0cmluZ106IGJvb2xlYW4gfSB7XHJcbiAgICByZXR1cm4gU21hcnRTdHlsZVV0aWxpdHkuZ2V0TmdDbGFzc2VzKHRoaXMuX3dpZGdldEluc3RhbmNlPy5zdHlsZSk7XHJcbiAgfVxyXG5cclxuICBnZXRTdHlsZSgpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB9IHtcclxuICAgIGlmICghdGhpcy5fd2lkZ2V0SW5zdGFuY2Uuc3R5bGUpIHtcclxuICAgICAgdGhpcy5fd2lkZ2V0SW5zdGFuY2Uuc3R5bGUgPSB7XHJcbiAgICAgICAgY2xhc3Nlc1RvQWRkOiBbXSxcclxuICAgICAgICBjbGFzc2VzVG9SZW1vdmU6IFtdLFxyXG4gICAgICAgIHN0eWxlOiB7fSxcclxuICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoISgnd2lkdGgnIGluIHRoaXMuX3dpZGdldEluc3RhbmNlLnN0eWxlLnN0eWxlKSAmJiAnbWluV2lkdGgnIGluIHRoaXMuX3dpZGdldEluc3RhbmNlKSB7XHJcbiAgICAgIHRoaXMuX3dpZGdldEluc3RhbmNlLnN0eWxlLnN0eWxlWyd3aWR0aCddID0gYCR7dGhpcy5fd2lkZ2V0SW5zdGFuY2UubWluV2lkdGh9cHhgO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBTbWFydFN0eWxlVXRpbGl0eS5nZXROZ1N0eWxlcyh0aGlzLl93aWRnZXRJbnN0YW5jZS5zdHlsZSk7XHJcbiAgfVxyXG5cclxuICAvLyAtLS0tIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGltcGxlbWVudGF0aW9uIC0tLS1cclxuXHJcbiAgb25DaGFuZ2UgPSAodmFsdWU6IGFueSkgPT4ge307XHJcbiAgb25Ub3VjaGVkID0gKCkgPT4ge307XHJcbiAgaXNEaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuX3dpZGdldEluc3RhbmNlKSB7XHJcbiAgICAgIHRoaXMuX3dpZGdldEluc3RhbmNlLnZhbHVlID0gdmFsdWU7XHJcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5pc0Rpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIC8vIC0tLS0gVUkgZ2V0dGVycyAtLS0tXHJcblxyXG4gIGdldCByZW1vdmVJY29uKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5jb21wTGliID09IENvbXBvbmVudExpYnJhcnkuUFJJTUVORyA/ICd0cmFzaCcgOiAnZGVsZXRlJztcclxuICB9XHJcblxyXG4gIGdldCBmaWxlSWNvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuY29tcExpYiA9PSBDb21wb25lbnRMaWJyYXJ5LlBSSU1FTkcgPyAnZmlsZScgOiAnaW5zZXJ0X2RyaXZlX2ZpbGUnO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGVycm9ySWNvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuY29tcExpYiA9PSBDb21wb25lbnRMaWJyYXJ5LlBSSU1FTkcgPyAnZXhjbGFtYXRpb24tY2lyY2xlJyA6ICdlcnJvcic7XHJcbiAgfVxyXG5cclxuICBnZXQgdG9vbGJhckNvbXBvbmVudCgpOiBVaUFjdGlvblRvb2xiYXJDb21wb25lbnQge1xyXG4gICAgcmV0dXJuIHRoaXMudG9vbGJhcjtcclxuICB9XHJcbn1cclxuIiwiQGlmICh3aWRnZXRJbnN0YW5jZSAmJiB3aWRnZXRJbnN0YW5jZS5tdWx0aUZpbGVVcGxvYWRlclByb3BlcnRpZXMpIHtcclxuICA8aDRcclxuICAgICpuZ0lmPVwid2lkZ2V0SW5zdGFuY2Uuc2hvd0xhYmVsXCJcclxuICAgIGNsYXNzPVwibGFiZWxDb250YWluZXIge3sgd2lkZ2V0SW5zdGFuY2UuY3NzTGFiZWxDbGFzcyA/PyAnJyB9fVwiXHJcbiAgICBbbmdDbGFzc109XCJnZXRMYWJlbE5nQ2xhc3MoKVwiXHJcbiAgICBbbmdTdHlsZV09XCJnZXRMYWJlbFN0eWxlKClcIlxyXG4gID5cclxuICAgIHt7IHdpZGdldEluc3RhbmNlLmxhYmVsIH19XHJcbiAgPC9oND5cclxuICA8c21hcnQtdWktYWN0aW9uLXRvb2xiYXJcclxuICAgIFtpZF09XCJ3aWRnZXRJbnN0YW5jZS50b29sYmFySWRcIlxyXG4gICAgI3Rvb2xiYXJcclxuICAgIFtzdHlsZV09XCJ7IGRpc3BsYXk6ICdub25lJyB9XCJcclxuICA+PC9zbWFydC11aS1hY3Rpb24tdG9vbGJhcj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImZpbGVFZGl0b3JDb21wb25lbnRcIj5cclxuICAgIEBpZiAod2lkZ2V0SW5zdGFuY2UudmFsdWUgJiYgIWlzVHlwZVN1cHBvcnRlZCh3aWRnZXRJbnN0YW5jZS52YWx1ZSkpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cImVycm9yTWVzc2FnZVwiPlxyXG4gICAgICAgIDxzbWFydC1pY29uIFtpY29uXT1cImVycm9ySWNvblwiIFtjb2xvcl09XCIndmFyKC0td2FybmluaWctY29sb3IpJ1wiPjwvc21hcnQtaWNvbj5cclxuICAgICAgICA8c3Bhbj4gVW5zdXBwb3J0ZWQgd2lkZ2V0SW5zdGFuY2UudmFsdWUgdHlwZSBmb3IgdGhpcyB3aWRnZXQuPC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICA8c21hcnQtdXBsb2FkLXdpZGdldFxyXG4gICAgICAgIGNsYXNzPVwid2lkZ2V0Q29udGVudCB7eyB3aWRnZXRJbnN0YW5jZS5jc3NDbGFzcyA/PyAnJyB9fVwiXHJcbiAgICAgICAgW25nQ2xhc3NdPVwiZ2V0TmdDbGFzcygpXCJcclxuICAgICAgICBbbmdTdHlsZV09XCJnZXRTdHlsZSgpXCJcclxuICAgICAgICBbdXBsb2FkRGVzY3JpcHRvcl09XCJ3aWRnZXRJbnN0YW5jZS5tdWx0aUZpbGVVcGxvYWRlclByb3BlcnRpZXMudXBsb2FkRGVzY3JpcHRvciFcIlxyXG4gICAgICAgIFtpc011bHRpcGxlXT1cInRydWVcIlxyXG4gICAgICAgIFtpc0Rpc2FibGVkXT1cIndpZGdldEluc3RhbmNlLmlzRGlzYWJsZWRcIlxyXG4gICAgICAgICh1cGxvYWRGaWxlc0V2ZW50KT1cInVwbG9hZCgkZXZlbnQpXCJcclxuICAgICAgLz5cclxuICAgIH1cclxuXHJcbiAgICA8ZGl2XHJcbiAgICAgIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWRXaWRnZXQ6IHdpZGdldEluc3RhbmNlLmlzRGlzYWJsZWQgfVwiXHJcbiAgICAgIGNsYXNzPVwidXBsb2FkZWRGaWxlQ29udGFpbmVyXCJcclxuICAgICAgW3N0eWxlLmRpc3BsYXldPVwiXHJcbiAgICAgICAgd2lkZ2V0SW5zdGFuY2UudmFsdWUgJiYgaXNUeXBlU3VwcG9ydGVkKHdpZGdldEluc3RhbmNlLnZhbHVlKSA/ICdibG9jaycgOiAnbm9uZSdcclxuICAgICAgXCJcclxuICAgID5cclxuICAgICAgPGRpdiBjbGFzcz1cInNjcm9sbGFibGVcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidXBsb2FkZWRGaWxlXCIgKm5nRm9yPVwibGV0IGZpbGUgb2Ygd2lkZ2V0SW5zdGFuY2UudmFsdWU7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgIDxzbWFydC1pY29uIGNsYXNzPVwidXBsb2FkZWRGaWxlSWNvblwiIFtpY29uXT1cImZpbGVJY29uXCI+PC9zbWFydC1pY29uPlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWxlRGF0YVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZURhdGFDb250YWluZXJcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZpbGVOYW1lXCI+e3sgZmlsZT8uZmlsZU5hbWUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlU2l6ZVwiPnt7IGZvcm1hdFNpemUoZmlsZT8uc2l6ZSkgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpbGVBY3Rpb25zXCI+XHJcbiAgICAgICAgICAgIEBpZiAodG9vbGJhckNvbXBvbmVudCAmJiB0b29sYmFyQ29tcG9uZW50LnVpQWN0aW9uTW9kZWxzKSB7XHJcbiAgICAgICAgICAgICAgPGZpbGUtZWRpdG9yLXRvb2xiYXJcclxuICAgICAgICAgICAgICAgIFtpZF09XCJ3aWRnZXRJbnN0YW5jZS50b29sYmFySWRcIlxyXG4gICAgICAgICAgICAgICAgW2RhdGFVcmldPVwiZmlsZS5kYXRhVXJpXCJcclxuICAgICAgICAgICAgICAgIFt1aUFjdGlvbk1vZGVsc109XCJ0b29sYmFyQ29tcG9uZW50LnVpQWN0aW9uTW9kZWxzXCJcclxuICAgICAgICAgICAgICA+PC9maWxlLWVkaXRvci10b29sYmFyPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDxzbWFydC1pY29uXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJkb3dubG9hZEljb25cIlxyXG4gICAgICAgICAgICAgIGljb249XCJkb3dubG9hZFwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImRvd25sb2FkRmlsZShmaWxlLmRhdGFVcmkpXCJcclxuICAgICAgICAgICAgPjwvc21hcnQtaWNvbj5cclxuICAgICAgICAgICAgQGlmICghZmlsZS5yZWFkT25seSkge1xyXG4gICAgICAgICAgICAgIDxzbWFydC1pY29uXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInJlbW92ZUljb25cIlxyXG4gICAgICAgICAgICAgICAgW2ljb25dPVwicmVtb3ZlSWNvblwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiIWlzRGlzYWJsZWQgJiYgZmlsZS5yZWFkT25seSA9PT0gZmFsc2UgJiYgZGVsZXRlRmlsZShmaWxlLmRhdGFVcmkpXCJcclxuICAgICAgICAgICAgICA+PC9zbWFydC1pY29uPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxufVxyXG4iXX0=
@@ -0,0 +1,136 @@
1
+ import { Component, EventEmitter, forwardRef, Inject, Input, Optional, Output, ViewChild, } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { RecordingUploaderPropertiesOpenDirectionEnum } from '../../../api';
4
+ import { COMPONENT_LIBRARY, } from '../../../../view-context/utility/componentLibrary';
5
+ import { UploadWidgetUtils } from '../../../../view-context/smart-ui-action/components/upload-widget/upload-widget.utils';
6
+ import { SmartStyleUtility } from '../../../../view-context/utility/smart-style-utility';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../../../../view-context/smart-ui-action/components/upload-widget/voice-record-widget/voice-record-widget.component";
9
+ import * as i2 from "../../../../view-context/utility/componentLibrary";
10
+ export class SmartVoiceRecorderComponent {
11
+ get widgetInstance() {
12
+ return this._widgetInstance;
13
+ }
14
+ set widgetInstance(value) {
15
+ if (value) {
16
+ this.clone(value);
17
+ }
18
+ }
19
+ constructor(cdr, compLib) {
20
+ this.cdr = cdr;
21
+ this.compLib = compLib;
22
+ this.uploadFilesEvent = new EventEmitter();
23
+ this.onChange = (value) => { };
24
+ this.onTouched = () => { };
25
+ this.isDisabled = false;
26
+ }
27
+ clone(value) {
28
+ this._widgetInstance =
29
+ typeof structuredClone === 'function'
30
+ ? structuredClone(value)
31
+ : JSON.parse(JSON.stringify(value));
32
+ this.cdr.markForCheck();
33
+ }
34
+ upload(event) {
35
+ if (!event.files || event.files.length == 0) {
36
+ return;
37
+ }
38
+ const props = this._widgetInstance.recordingUploaderProperties;
39
+ const uiAction = props.uploadAction;
40
+ this.uploadFilesEvent.emit({
41
+ files: event.files,
42
+ uiAction: uiAction,
43
+ uploadDescriptor: event.uploadDescriptor,
44
+ });
45
+ this.onChange(this._widgetInstance.value);
46
+ this.fileToChange = undefined;
47
+ }
48
+ isTypeSupported(value) {
49
+ return !!(value && !Array.isArray(value) && 'dataUri' in value);
50
+ }
51
+ formatSize(bytes) {
52
+ return UploadWidgetUtils.formatSize(bytes);
53
+ }
54
+ getLabelNgClass() {
55
+ return this._widgetInstance?.labelStyle
56
+ ? SmartStyleUtility.getNgClasses(this._widgetInstance.labelStyle)
57
+ : {};
58
+ }
59
+ getLabelStyle() {
60
+ return this._widgetInstance?.labelStyle
61
+ ? SmartStyleUtility.getNgStyles(this._widgetInstance.labelStyle)
62
+ : {};
63
+ }
64
+ getNgClass() {
65
+ return SmartStyleUtility.getNgClasses(this._widgetInstance?.style);
66
+ }
67
+ getStyle() {
68
+ if (!this._widgetInstance.style) {
69
+ this._widgetInstance.style = {
70
+ classesToAdd: [],
71
+ classesToRemove: [],
72
+ style: {},
73
+ };
74
+ }
75
+ if (!('width' in this._widgetInstance.style.style) && 'minWidth' in this._widgetInstance) {
76
+ this._widgetInstance.style.style['width'] = `${this._widgetInstance.minWidth}px`;
77
+ }
78
+ return SmartStyleUtility.getNgStyles(this._widgetInstance.style);
79
+ }
80
+ writeValue(value) {
81
+ if (value !== undefined && this._widgetInstance) {
82
+ this._widgetInstance.value = value;
83
+ this.cdr.markForCheck();
84
+ }
85
+ }
86
+ registerOnChange(fn) {
87
+ this.onChange = fn;
88
+ }
89
+ registerOnTouched(fn) {
90
+ this.onTouched = fn;
91
+ }
92
+ setDisabledState(isDisabled) {
93
+ this.isDisabled = isDisabled;
94
+ }
95
+ get toolbarComponent() {
96
+ return this.toolbar;
97
+ }
98
+ get openDirection() {
99
+ const dir = this._widgetInstance?.recordingUploaderProperties?.openDirection;
100
+ return dir === RecordingUploaderPropertiesOpenDirectionEnum.LEFT ? 'LEFT' : 'RIGHT';
101
+ }
102
+ uploadRecording(file) {
103
+ // Intentionally no-op in this fallback variant.
104
+ }
105
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartVoiceRecorderComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: COMPONENT_LIBRARY, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
106
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SmartVoiceRecorderComponent, selector: "smart-voice-recorder", inputs: { widgetInstance: "widgetInstance" }, outputs: { uploadFilesEvent: "uploadFilesEvent" }, providers: [
107
+ {
108
+ provide: NG_VALUE_ACCESSOR,
109
+ useExisting: forwardRef(() => SmartVoiceRecorderComponent),
110
+ multi: true,
111
+ },
112
+ ], viewQueries: [{ propertyName: "toolbar", first: true, predicate: ["toolbar"], descendants: true }], ngImport: i0, template: "<voice-record-widget [openDirection]=\"openDirection\" (recordingSaved)=\"uploadRecording($event)\">\r\n</voice-record-widget>\r\n", styles: [""], dependencies: [{ kind: "component", type: i1.VoiceRecordWidgetComponent, selector: "voice-record-widget", outputs: ["recordingSaved"] }] }); }
113
+ }
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartVoiceRecorderComponent, decorators: [{
115
+ type: Component,
116
+ args: [{ selector: 'smart-voice-recorder', providers: [
117
+ {
118
+ provide: NG_VALUE_ACCESSOR,
119
+ useExisting: forwardRef(() => SmartVoiceRecorderComponent),
120
+ multi: true,
121
+ },
122
+ ], template: "<voice-record-widget [openDirection]=\"openDirection\" (recordingSaved)=\"uploadRecording($event)\">\r\n</voice-record-widget>\r\n" }]
123
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i2.ComponentLibrary, decorators: [{
124
+ type: Inject,
125
+ args: [COMPONENT_LIBRARY]
126
+ }, {
127
+ type: Optional
128
+ }] }], propDecorators: { toolbar: [{
129
+ type: ViewChild,
130
+ args: ['toolbar']
131
+ }], widgetInstance: [{
132
+ type: Input
133
+ }], uploadFilesEvent: [{
134
+ type: Output
135
+ }] } });
136
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdm9pY2UtcmVjb3JkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZm9ybS93aWRnZXRzL2NvbXBvbmVudHMvc21hcnQtdm9pY2UtcmVjb3JkZXIvc21hcnQtdm9pY2UtcmVjb3JkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZm9ybS93aWRnZXRzL2NvbXBvbmVudHMvc21hcnQtdm9pY2UtcmVjb3JkZXIvc21hcnQtdm9pY2UtcmVjb3JkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSw0Q0FBNEMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU1RSxPQUFPLEVBQ0wsaUJBQWlCLEdBRWxCLE1BQU0sbURBQW1ELENBQUM7QUFFM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUZBQXVGLENBQUM7QUFDMUgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0RBQXNELENBQUM7Ozs7QUFjekYsTUFBTSxPQUFPLDJCQUEyQjtJQUt0QyxJQUNJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFDRCxJQUFJLGNBQWMsQ0FBQyxLQUE2QjtRQUM5QyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENB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dkIsZ0RBQWdEO0lBQ2xELENBQUM7K0dBaklVLDJCQUEyQixtREF5QjVCLGlCQUFpQjttR0F6QmhCLDJCQUEyQixnSkFSM0I7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLDJCQUEyQixDQUFDO2dCQUMxRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsOEhDakNILG9JQUVBOzs0RkRpQ2EsMkJBQTJCO2tCQVp2QyxTQUFTOytCQUNFLHNCQUFzQixhQUdyQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSw0QkFBNEIsQ0FBQzs0QkFDMUQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7OzBCQTJCRSxNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQUcsUUFBUTt5Q0F4QmhCLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUztnQkFLaEIsY0FBYztzQkFEakIsS0FBSztnQkFVSSxnQkFBZ0I7c0JBQXpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTbWFydFJlY29yZGluZ1VwbG9hZGVyIH0gZnJvbSAnLi4vLi4vLi4vc21hcnRmb3JtLmZvcm0tbW9kZWwnO1xyXG5pbXBvcnQgeyBSZWNvcmRpbmdVcGxvYWRlclByb3BlcnRpZXNPcGVuRGlyZWN0aW9uRW51bSB9IGZyb20gJy4uLy4uLy4uL2FwaSc7XHJcbmltcG9ydCB7IFVpQWN0aW9uLCBVaUFjdGlvblVwbG9hZERlc2NyaXB0b3IgfSBmcm9tICcuLi8uLi8uLi8uLi92aWV3LWNvbnRleHQvYXBpL21vZGVsL21vZGVscyc7XHJcbmltcG9ydCB7XHJcbiAgQ09NUE9ORU5UX0xJQlJBUlksXHJcbiAgQ29tcG9uZW50TGlicmFyeSxcclxufSBmcm9tICcuLi8uLi8uLi8uLi92aWV3LWNvbnRleHQvdXRpbGl0eS9jb21wb25lbnRMaWJyYXJ5JztcclxuaW1wb3J0IHsgVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi91aS1hY3Rpb24tdG9vbGJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVcGxvYWRXaWRnZXRVdGlscyB9IGZyb20gJy4uLy4uLy4uLy4uL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vY29tcG9uZW50cy91cGxvYWQtd2lkZ2V0L3VwbG9hZC13aWRnZXQudXRpbHMnO1xyXG5pbXBvcnQgeyBTbWFydFN0eWxlVXRpbGl0eSB9IGZyb20gJy4uLy4uLy4uLy4uL3ZpZXctY29udGV4dC91dGlsaXR5L3NtYXJ0LXN0eWxlLXV0aWxpdHknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzbWFydC12b2ljZS1yZWNvcmRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LXZvaWNlLXJlY29yZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vc21hcnQtdm9pY2UtcmVjb3JkZXIuY29tcG9uZW50LmNzcycsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTbWFydFZvaWNlUmVjb3JkZXJDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0Vm9pY2VSZWNvcmRlckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBAVmlld0NoaWxkKCd0b29sYmFyJykgdG9vbGJhciE6IFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudDtcclxuXHJcbiAgcHJpdmF0ZSBfd2lkZ2V0SW5zdGFuY2UhOiBTbWFydFJlY29yZGluZ1VwbG9hZGVyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCB3aWRnZXRJbnN0YW5jZSgpOiBTbWFydFJlY29yZGluZ1VwbG9hZGVyIHtcclxuICAgIHJldHVybiB0aGlzLl93aWRnZXRJbnN0YW5jZTtcclxuICB9XHJcbiAgc2V0IHdpZGdldEluc3RhbmNlKHZhbHVlOiBTbWFydFJlY29yZGluZ1VwbG9hZGVyKSB7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdGhpcy5jbG9uZSh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgdXBsb2FkRmlsZXNFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgZmlsZXM6IGFueVtdO1xyXG4gICAgdWlBY3Rpb246IFVpQWN0aW9uO1xyXG4gICAgdXBsb2FkRGVzY3JpcHRvcj86IFVpQWN0aW9uVXBsb2FkRGVzY3JpcHRvcjtcclxuICB9PigpO1xyXG5cclxuICBmaWxlVG9DaGFuZ2U/OiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQEluamVjdChDT01QT05FTlRfTElCUkFSWSkgQE9wdGlvbmFsKCkgcHVibGljIGNvbXBMaWI/OiBDb21wb25lbnRMaWJyYXJ5XHJcbiAgKSB7fVxyXG5cclxuICBwcml2YXRlIGNsb25lKHZhbHVlOiBTbWFydFJlY29yZGluZ1VwbG9hZGVyKSB7XHJcbiAgICB0aGlzLl93aWRnZXRJbnN0YW5jZSA9XHJcbiAgICAgIHR5cGVvZiBzdHJ1Y3R1cmVkQ2xvbmUgPT09ICdmdW5jdGlvbidcclxuICAgICAgICA/IHN0cnVjdHVyZWRDbG9uZSh2YWx1ZSlcclxuICAgICAgICA6IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodmFsdWUpKTtcclxuXHJcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIHVwbG9hZChldmVudDogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoIWV2ZW50LmZpbGVzIHx8IGV2ZW50LmZpbGVzLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBwcm9wcyA9IHRoaXMuX3dpZGdldEluc3RhbmNlLnJlY29yZGluZ1VwbG9hZGVyUHJvcGVydGllcyE7XHJcbiAgICBjb25zdCB1aUFjdGlvbiA9IHByb3BzLnVwbG9hZEFjdGlvbjtcclxuXHJcbiAgICB0aGlzLnVwbG9hZEZpbGVzRXZlbnQuZW1pdCh7XHJcbiAgICAgIGZpbGVzOiBldmVudC5maWxlcyxcclxuICAgICAgdWlBY3Rpb246IHVpQWN0aW9uISxcclxuICAgICAgdXBsb2FkRGVzY3JpcHRvcjogZXZlbnQudXBsb2FkRGVzY3JpcHRvcixcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMub25DaGFuZ2UodGhpcy5fd2lkZ2V0SW5zdGFuY2UudmFsdWUpO1xyXG4gICAgdGhpcy5maWxlVG9DaGFuZ2UgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBpc1R5cGVTdXBwb3J0ZWQodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhKHZhbHVlICYmICFBcnJheS5pc0FycmF5KHZhbHVlKSAmJiAnZGF0YVVyaScgaW4gdmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgZm9ybWF0U2l6ZShieXRlczogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBVcGxvYWRXaWRnZXRVdGlscy5mb3JtYXRTaXplKGJ5dGVzKTtcclxuICB9XHJcblxyXG4gIGdldExhYmVsTmdDbGFzcygpOiB7IFtjbGFzc05hbWU6IHN0cmluZ106IGJvb2xlYW4gfSB7XHJcbiAgICByZXR1cm4gdGhpcy5fd2lkZ2V0SW5zdGFuY2U/LmxhYmVsU3R5bGVcclxuICAgICAgPyBTbWFydFN0eWxlVXRpbGl0eS5nZXROZ0NsYXNzZXModGhpcy5fd2lkZ2V0SW5zdGFuY2UubGFiZWxTdHlsZSlcclxuICAgICAgOiB7fTtcclxuICB9XHJcblxyXG4gIGdldExhYmVsU3R5bGUoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXIgfSB7XHJcbiAgICByZXR1cm4gdGhpcy5fd2lkZ2V0SW5zdGFuY2U/LmxhYmVsU3R5bGVcclxuICAgICAgPyBTbWFydFN0eWxlVXRpbGl0eS5nZXROZ1N0eWxlcyh0aGlzLl93aWRnZXRJbnN0YW5jZS5sYWJlbFN0eWxlKVxyXG4gICAgICA6IHt9O1xyXG4gIH1cclxuXHJcbiAgZ2V0TmdDbGFzcygpOiB7IFtjbGFzc05hbWU6IHN0cmluZ106IGJvb2xlYW4gfSB7XHJcbiAgICByZXR1cm4gU21hcnRTdHlsZVV0aWxpdHkuZ2V0TmdDbGFzc2VzKHRoaXMuX3dpZGdldEluc3RhbmNlPy5zdHlsZSk7XHJcbiAgfVxyXG5cclxuICBnZXRTdHlsZSgpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB9IHtcclxuICAgIGlmICghdGhpcy5fd2lkZ2V0SW5zdGFuY2Uuc3R5bGUpIHtcclxuICAgICAgdGhpcy5fd2lkZ2V0SW5zdGFuY2Uuc3R5bGUgPSB7XHJcbiAgICAgICAgY2xhc3Nlc1RvQWRkOiBbXSxcclxuICAgICAgICBjbGFzc2VzVG9SZW1vdmU6IFtdLFxyXG4gICAgICAgIHN0eWxlOiB7fSxcclxuICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoISgnd2lkdGgnIGluIHRoaXMuX3dpZGdldEluc3RhbmNlLnN0eWxlLnN0eWxlKSAmJiAnbWluV2lkdGgnIGluIHRoaXMuX3dpZGdldEluc3RhbmNlKSB7XHJcbiAgICAgIHRoaXMuX3dpZGdldEluc3RhbmNlLnN0eWxlLnN0eWxlWyd3aWR0aCddID0gYCR7dGhpcy5fd2lkZ2V0SW5zdGFuY2UubWluV2lkdGh9cHhgO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBTbWFydFN0eWxlVXRpbGl0eS5nZXROZ1N0eWxlcyh0aGlzLl93aWRnZXRJbnN0YW5jZS5zdHlsZSk7XHJcbiAgfVxyXG5cclxuICBvbkNoYW5nZSA9ICh2YWx1ZTogYW55KSA9PiB7fTtcclxuICBvblRvdWNoZWQgPSAoKSA9PiB7fTtcclxuICBpc0Rpc2FibGVkID0gZmFsc2U7XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5fd2lkZ2V0SW5zdGFuY2UpIHtcclxuICAgICAgdGhpcy5fd2lkZ2V0SW5zdGFuY2UudmFsdWUgPSB2YWx1ZTtcclxuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzRGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHRvb2xiYXJDb21wb25lbnQoKTogVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50IHtcclxuICAgIHJldHVybiB0aGlzLnRvb2xiYXI7XHJcbiAgfVxyXG5cclxuICBnZXQgb3BlbkRpcmVjdGlvbigpOiAnTEVGVCcgfCAnUklHSFQnIHtcclxuICAgIGNvbnN0IGRpciA9IHRoaXMuX3dpZGdldEluc3RhbmNlPy5yZWNvcmRpbmdVcGxvYWRlclByb3BlcnRpZXM/Lm9wZW5EaXJlY3Rpb247XHJcbiAgICByZXR1cm4gZGlyID09PSBSZWNvcmRpbmdVcGxvYWRlclByb3BlcnRpZXNPcGVuRGlyZWN0aW9uRW51bS5MRUZUID8gJ0xFRlQnIDogJ1JJR0hUJztcclxuICB9XHJcblxyXG4gIHVwbG9hZFJlY29yZGluZyhmaWxlOiBhbnkpIHtcclxuICAgIC8vIEludGVudGlvbmFsbHkgbm8tb3AgaW4gdGhpcyBmYWxsYmFjayB2YXJpYW50LlxyXG4gIH1cclxufVxyXG4iLCI8dm9pY2UtcmVjb3JkLXdpZGdldCBbb3BlbkRpcmVjdGlvbl09XCJvcGVuRGlyZWN0aW9uXCIgKHJlY29yZGluZ1NhdmVkKT1cInVwbG9hZFJlY29yZGluZygkZXZlbnQpXCI+XHJcbjwvdm9pY2UtcmVjb3JkLXdpZGdldD5cclxuIl19
@@ -32,4 +32,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
32
32
  }], ctorParameters: () => [{ type: i1.Dropdown }], propDecorators: { compareWith: [{
33
33
  type: Input
34
34
  }] } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyYWJsZS1kcm9wZG93bi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1mb3JtL3dpZGdldHMvZGlyZWN0aXZlcy9jb21wYXJhYmxlLWRyb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFJNUMsTUFBTSxvQkFBb0IsR0FBRywrQkFBK0IsQ0FBQztBQU03RCxNQUFNLE9BQU8sMkJBQTJCO0lBQ3RDLElBQWEsV0FBVyxDQUFDLEVBQXlCO1FBQ2hELElBQUksRUFBRSxFQUFFLENBQUM7WUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxNQUFXLEVBQUUsRUFBRTtnQkFDcEQsT0FBTyxDQUNMLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUNwRSxXQUFXLENBQUMsTUFBTSxDQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxFQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FDNUIsQ0FDRixDQUFDO1lBQ0osQ0FBQyxDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxNQUFXLEVBQUUsRUFBRTtnQkFDcEQsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxFQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FDNUIsQ0FBQztZQUNKLENBQUMsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsWUFBb0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFHLENBQUM7K0dBeEIvQiwyQkFBMkI7bUdBQTNCLDJCQUEyQjs7NEZBQTNCLDJCQUEyQjtrQkFKdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsTUFBTSxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUN4Qjs2RUFFYyxXQUFXO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHJvcGRvd24gfSBmcm9tICdwcmltZW5nL2Ryb3Bkb3duJztcbmltcG9ydCB7IE9iamVjdFV0aWxzIH0gZnJvbSAncHJpbWVuZy91dGlscyc7XG5cbmV4cG9ydCB0eXBlIENvbXBhcmVGbiA9IChhOiBhbnksIGI6IGFueSkgPT4gYm9vbGVhbjtcblxuY29uc3QgRVFVQUxJVFlfTUVUSE9EX05BTUUgPSAnaXNPcHRpb25WYWx1ZUVxdWFsc01vZGVsVmFsdWUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdwLWRyb3Bkb3duJyxcbiAgaW5wdXRzOiBbJ2NvbXBhcmVXaXRoJ10sXG59KVxuZXhwb3J0IGNsYXNzIENvbXBhcmFibGVEcm9wZG93bkRpcmVjdGl2ZSB7XG4gIEBJbnB1dCgpIHNldCBjb21wYXJlV2l0aChmbjogQ29tcGFyZUZuIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKGZuKSB7XG4gICAgICB0aGlzLmRyb3Bkb3duW0VRVUFMSVRZX01FVEhPRF9OQU1FXSA9IChvcHRpb246IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIGZuKHRoaXMuZHJvcGRvd24ubW9kZWxWYWx1ZSgpLCB0aGlzLmRyb3Bkb3duLmdldE9wdGlvblZhbHVlKG9wdGlvbikpIHx8XG4gICAgICAgICAgT2JqZWN0VXRpbHMuZXF1YWxzKFxuICAgICAgICAgICAgdGhpcy5kcm9wZG93bi5tb2RlbFZhbHVlKCksXG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duLmdldE9wdGlvblZhbHVlKG9wdGlvbiksXG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duLmVxdWFsaXR5S2V5KClcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRyb3Bkb3duW0VRVUFMSVRZX01FVEhPRF9OQU1FXSA9IChvcHRpb246IGFueSkgPT4ge1xuICAgICAgICByZXR1cm4gT2JqZWN0VXRpbHMuZXF1YWxzKFxuICAgICAgICAgIHRoaXMuZHJvcGRvd24ubW9kZWxWYWx1ZSgpLFxuICAgICAgICAgIHRoaXMuZHJvcGRvd24uZ2V0T3B0aW9uVmFsdWUob3B0aW9uKSxcbiAgICAgICAgICB0aGlzLmRyb3Bkb3duLmVxdWFsaXR5S2V5KClcbiAgICAgICAgKTtcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkcm9wZG93bjogRHJvcGRvd24pIHt9XG59XG4iXX0=
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyYWJsZS1kcm9wZG93bi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1mb3JtL3dpZGdldHMvZGlyZWN0aXZlcy9jb21wYXJhYmxlLWRyb3Bkb3duLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFJNUMsTUFBTSxvQkFBb0IsR0FBRywrQkFBK0IsQ0FBQztBQU03RCxNQUFNLE9BQU8sMkJBQTJCO0lBQ3RDLElBQWEsV0FBVyxDQUFDLEVBQXlCO1FBQ2hELElBQUksRUFBRSxFQUFFLENBQUM7WUFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxNQUFXLEVBQUUsRUFBRTtnQkFDcEQsT0FBTyxDQUNMLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUNwRSxXQUFXLENBQUMsTUFBTSxDQUNoQixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxFQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FDNUIsQ0FDRixDQUFDO1lBQ0osQ0FBQyxDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxNQUFXLEVBQUUsRUFBRTtnQkFDcEQsT0FBTyxXQUFXLENBQUMsTUFBTSxDQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxFQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FDNUIsQ0FBQztZQUNKLENBQUMsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsWUFBb0IsUUFBa0I7UUFBbEIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUFHLENBQUM7K0dBeEIvQiwyQkFBMkI7bUdBQTNCLDJCQUEyQjs7NEZBQTNCLDJCQUEyQjtrQkFKdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsTUFBTSxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUN4Qjs2RUFFYyxXQUFXO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEcm9wZG93biB9IGZyb20gJ3ByaW1lbmcvZHJvcGRvd24nO1xyXG5pbXBvcnQgeyBPYmplY3RVdGlscyB9IGZyb20gJ3ByaW1lbmcvdXRpbHMnO1xyXG5cclxuZXhwb3J0IHR5cGUgQ29tcGFyZUZuID0gKGE6IGFueSwgYjogYW55KSA9PiBib29sZWFuO1xyXG5cclxuY29uc3QgRVFVQUxJVFlfTUVUSE9EX05BTUUgPSAnaXNPcHRpb25WYWx1ZUVxdWFsc01vZGVsVmFsdWUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdwLWRyb3Bkb3duJyxcclxuICBpbnB1dHM6IFsnY29tcGFyZVdpdGgnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbXBhcmFibGVEcm9wZG93bkRpcmVjdGl2ZSB7XHJcbiAgQElucHV0KCkgc2V0IGNvbXBhcmVXaXRoKGZuOiBDb21wYXJlRm4gfCB1bmRlZmluZWQpIHtcclxuICAgIGlmIChmbikge1xyXG4gICAgICB0aGlzLmRyb3Bkb3duW0VRVUFMSVRZX01FVEhPRF9OQU1FXSA9IChvcHRpb246IGFueSkgPT4ge1xyXG4gICAgICAgIHJldHVybiAoXHJcbiAgICAgICAgICBmbih0aGlzLmRyb3Bkb3duLm1vZGVsVmFsdWUoKSwgdGhpcy5kcm9wZG93bi5nZXRPcHRpb25WYWx1ZShvcHRpb24pKSB8fFxyXG4gICAgICAgICAgT2JqZWN0VXRpbHMuZXF1YWxzKFxyXG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duLm1vZGVsVmFsdWUoKSxcclxuICAgICAgICAgICAgdGhpcy5kcm9wZG93bi5nZXRPcHRpb25WYWx1ZShvcHRpb24pLFxyXG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duLmVxdWFsaXR5S2V5KClcclxuICAgICAgICAgIClcclxuICAgICAgICApO1xyXG4gICAgICB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kcm9wZG93bltFUVVBTElUWV9NRVRIT0RfTkFNRV0gPSAob3B0aW9uOiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gT2JqZWN0VXRpbHMuZXF1YWxzKFxyXG4gICAgICAgICAgdGhpcy5kcm9wZG93bi5tb2RlbFZhbHVlKCksXHJcbiAgICAgICAgICB0aGlzLmRyb3Bkb3duLmdldE9wdGlvblZhbHVlKG9wdGlvbiksXHJcbiAgICAgICAgICB0aGlzLmRyb3Bkb3duLmVxdWFsaXR5S2V5KClcclxuICAgICAgICApO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkcm9wZG93bjogRHJvcGRvd24pIHt9XHJcbn1cclxuIl19
@@ -76,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
76
76
  }], ctorParameters: () => [{ type: i1.MultiSelect }], propDecorators: { compareWith: [{
77
77
  type: Input
78
78
  }] } });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyYWJsZS1tdWx0aXNlbGVjdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1mb3JtL3dpZGdldHMvZGlyZWN0aXZlcy9jb21wYXJhYmxlLW11bHRpc2VsZWN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQU16QyxNQUFNLE9BQU8sOEJBQThCO0lBQ3pDLDBGQUEwRjtJQUMxRiwrRUFBK0U7SUFDL0UsSUFBYSxXQUFXLENBQUMsRUFBeUI7UUFDaEQsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDYixDQUFDLENBQUMsRUFBRTtZQUNKLENBQUMsQ0FBQyxDQUFDLENBQU0sRUFBRSxDQUFNLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxLQUFVLEVBQUUsT0FBTyxHQUFHLEtBQUssRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUM1RSxNQUFNLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQztZQUN4QyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDM0UsT0FBTztZQUNULENBQUM7WUFFRCxJ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QyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUMvRSxDQUFDLENBQUM7UUFFRixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksR0FBRyxDQUFDLFdBQWdCLEVBQUUsS0FBVSxFQUFFLEVBQUU7WUFDL0QsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBRXRGLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQzdCLGFBQWEsRUFBRSxLQUFLO2dCQUNwQixLQUFLLEVBQUUsS0FBSztnQkFDWixTQUFTLEVBQUUsV0FBVzthQUN2QixDQUFDLENBQUM7WUFFSCxLQUFLLElBQUksS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ25DLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUFHLENBQUM7K0dBdEVyQyw4QkFBOEI7bUdBQTlCLDhCQUE4Qjs7NEZBQTlCLDhCQUE4QjtrQkFKMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsTUFBTSxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUN4QjtnRkFJYyxXQUFXO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTXVsdGlTZWxlY3QgfSBmcm9tICdwcmltZW5nL211bHRpc2VsZWN0JztcbmltcG9ydCB7IENvbXBhcmVGbiB9IGZyb20gJy4vY29tcGFyYWJsZS1kcm9wZG93bi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tICdwcmltZW5nL3V0aWxzJztcbmltcG9ydCB7IERvbUhhbmRsZXIgfSBmcm9tICdwcmltZW5nL2RvbSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ3AtbXVsdGlTZWxlY3QnLFxuICBpbnB1dHM6IFsnY29tcGFyZVdpdGgnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ29tcGFyYWJsZU11bHRpc2VsZWN0RGlyZWN0aXZlIHtcbiAgLy8gQmVjYXVzZSB0aGUgZXF1YWxpdHkgY2hlY2sgYmV0d2VlbiB0aGUgc2VsZWN0ZWQgYW5kIHBvc3NpYmxlIG9wdGlvbiB2YWx1ZXMgYXJlIHBlcHBlcmVkXG4gIC8vIHRocm91Z2hvdXQgdGhlIGNvbXBvbmVudCBldmVyeXdoZXJlLCB3ZSBtdXN0IG92ZXJyaWRlIGZvdXIoISkgbWV0aG9kcyBvbiBpdC5cbiAgQElucHV0KCkgc2V0IGNvbXBhcmVXaXRoKGZuOiBDb21wYXJlRm4gfCB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBlcSA9ICEhZm5cbiAgICAgID8gZm5cbiAgICAgIDogKGE6IGFueSwgYjogYW55KSA9PiBPYmplY3RVdGlscy5lcXVhbHMoYSwgYiwgdGhpcy5tdWx0aVNlbGVjdC5lcXVhbGl0eUtleSgpKTtcbiAgICB0aGlzLm11bHRpU2VsZWN0Lm9uT3B0aW9uU2VsZWN0ID0gKGV2ZW50OiBhbnksIGlzRm9jdXMgPSBmYWxzZSwgaW5kZXggPSAtMSkgPT4ge1xuICAgICAgY29uc3QgeyBvcmlnaW5hbEV2ZW50LCBvcHRpb24gfSA9IGV2ZW50O1xuICAgICAgaWYgKHRoaXMubXVsdGlTZWxlY3QuZGlzYWJsZWQgfHwgdGhpcy5tdWx0aVNlbGVjdC5pc09wdGlvbkRpc2FibGVkKG9wdGlvbikpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBsZXQgc2VsZWN0ZWQgPSB0aGlzLm11bHRpU2VsZWN0LmlzU2VsZWN0ZWQob3B0aW9uKTtcbiAgICAgIGxldCB2YWx1ZSA9IG51bGw7XG4gICAgICBpZiAoc2VsZWN0ZWQpIHtcbiAgICAgICAgdmFsdWUgPSB0aGlzLm11bHRpU2VsZWN0XG4gICAgICAgICAgLm1vZGVsVmFsdWUoKVxuICAgICAgICAgIC5maWx0ZXIoKHZhbDogYW55KSA9PiAhZXEodmFsLCB0aGlzLm11bHRpU2VsZWN0LmdldE9wdGlvblZhbHVlKG9wdGlvbikpKTtcbiAgICAgICAgdGhpcy5tdWx0aVNlbGVjdC5vblJlbW92ZS5lbWl0KHtcbiAgICAgICAgICBuZXdWYWx1ZTogdGhpcy5tdWx0aVNlbGVjdC52YWx1ZSxcbiAgICAgICAgICByZW1vdmVkOiB0aGlzLm11bHRpU2VsZWN0LmdldE9wdGlvblZhbHVlKG9wdGlvbiksXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFsdWUgPSBbLi4uKHRoaXMubXVsdGlTZWxlY3QubW9kZWxWYWx1ZSgpIHx8IFtdKSwgdGhpcy5tdWx0aVNlbGVjdC5nZXRPcHRpb25WYWx1ZShvcHRpb24pXTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5tdWx0aVNlbGVjdC51cGRhdGVNb2RlbCh2YWx1ZSwgb3JpZ2luYWxFdmVudCk7XG4gICAgICBpbmRleCAhPT0gLTEgJiYgdGhpcy5tdWx0aVNlbGVjdC5mb2N1c2VkT3B0aW9uSW5kZXguc2V0KGluZGV4KTtcblxuICAgICAgaXNGb2N1cyAmJiBEb21IYW5kbGVyLmZvY3VzKHRoaXMubXVsdGlTZWxlY3QuZm9jdXNJbnB1dFZpZXdDaGlsZD8ubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgIHRoaXMubXVsdGlTZWxlY3Qub25DaGFuZ2UuZW1pdCh7XG4gICAgICAgIG9yaWdpbmFsRXZlbnQ6IHsgLi4uZXZlbnQsIHNlbGVjdGVkOiAhZXZlbnQuc2VsZWN0ZWQgfSxcbiAgICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgICBpdGVtVmFsdWU6IG9wdGlvbixcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICB0aGlzLm11bHRpU2VsZWN0LmlzU2VsZWN0ZWQgPSAob3B0aW9uOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IG9wdGlvblZhbHVlID0gdGhpcy5tdWx0aVNlbGVjdC5nZXRPcHRpb25WYWx1ZShvcHRpb24pO1xuICAgICAgcmV0dXJuICh0aGlzLm11bHRpU2VsZWN0Lm1vZGVsVmFsdWUoKSB8fCBbXSkuc29tZSgodmFsdWU6IGFueSkgPT4gZXEodmFsdWUsIG9wdGlvblZhbHVlKSk7XG4gICAgfTtcblxuICAgIHRoaXMubXVsdGlTZWxlY3QuZ2V0TGFiZWxCeVZhbHVlID0gKHZhbHVlOiBhbnkpID0+IHtcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLm11bHRpU2VsZWN0Lmdyb3VwXG4gICAgICAgID8gdGhpcy5tdWx0aVNlbGVjdC5mbGF0T3B0aW9ucyh0aGlzLm11bHRpU2VsZWN0Ll9vcHRpb25zKCkpXG4gICAgICAgIDogdGhpcy5tdWx0aVNlbGVjdC5fb3B0aW9ucygpIHx8IFtdO1xuICAgICAgY29uc3QgbWF0Y2hlZE9wdGlvbiA9IG9wdGlvbnMuZmluZChcbiAgICAgICAgKG9wdGlvbjogYW55KSA9PlxuICAgICAgICAgICF0aGlzLm11bHRpU2VsZWN0LmlzT3B0aW9uR3JvdXAob3B0aW9uKSAmJlxuICAgICAgICAgIGVxKHRoaXMubXVsdGlTZWxlY3QuZ2V0T3B0aW9uVmFsdWUob3B0aW9uKSwgdmFsdWUpXG4gICAgICApO1xuICAgICAgcmV0dXJuIG1hdGNoZWRPcHRpb24gPyB0aGlzLm11bHRpU2VsZWN0LmdldE9wdGlvbkxhYmVsKG1hdGNoZWRPcHRpb24pIDogbnVsbDtcbiAgICB9O1xuXG4gICAgdGhpcy5tdWx0aVNlbGVjdC5yZW1vdmVPcHRpb24gPSAob3B0aW9uVmFsdWU6IGFueSwgZXZlbnQ6IGFueSkgPT4ge1xuICAgICAgbGV0IHZhbHVlID0gdGhpcy5tdWx0aVNlbGVjdC5tb2RlbFZhbHVlKCkuZmlsdGVyKCh2YWw6IGFueSkgPT4gIWVxKHZhbCwgb3B0aW9uVmFsdWUpKTtcblxuICAgICAgdGhpcy5tdWx0aVNlbGVjdC51cGRhdGVNb2RlbCh2YWx1ZSwgZXZlbnQpO1xuICAgICAgdGhpcy5tdWx0aVNlbGVjdC5vbkNoYW5nZS5lbWl0KHtcbiAgICAgICAgb3JpZ2luYWxFdmVudDogZXZlbnQsXG4gICAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgICAgaXRlbVZhbHVlOiBvcHRpb25WYWx1ZSxcbiAgICAgIH0pO1xuXG4gICAgICBldmVudCAmJiBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9O1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtdWx0aVNlbGVjdDogTXVsdGlTZWxlY3QpIHt9XG59XG4iXX0=
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGFyYWJsZS1tdWx0aXNlbGVjdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1mb3JtL3dpZGdldHMvZGlyZWN0aXZlcy9jb21wYXJhYmxlLW11bHRpc2VsZWN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQU16QyxNQUFNLE9BQU8sOEJBQThCO0lBQ3pDLDBGQUEwRjtJQUMxRiwrRUFBK0U7SUFDL0UsSUFBYSxXQUFXLENBQUMsRUFBeUI7UUFDaEQsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDYixDQUFDLENBQUMsRUFBRTtZQUNKLENBQUMsQ0FBQyxDQUFDLENBQU0sRUFBRSxDQUFNLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxLQUFVLEVBQUUsT0FBTyxHQUFHLEtBQUssRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUM1RSxNQUFNLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQztZQUN4QyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDM0UsT0FBTztZQUNULENBQUM7WUFFRCxJ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QyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUMvRSxDQUFDLENBQUM7UUFFRixJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksR0FBRyxDQUFDLFdBQWdCLEVBQUUsS0FBVSxFQUFFLEVBQUU7WUFDL0QsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBRXRGLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztZQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7Z0JBQzdCLGFBQWEsRUFBRSxLQUFLO2dCQUNwQixLQUFLLEVBQUUsS0FBSztnQkFDWixTQUFTLEVBQUUsV0FBVzthQUN2QixDQUFDLENBQUM7WUFFSCxLQUFLLElBQUksS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ25DLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUFHLENBQUM7K0dBdEVyQyw4QkFBOEI7bUdBQTlCLDhCQUE4Qjs7NEZBQTlCLDhCQUE4QjtrQkFKMUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZUFBZTtvQkFDekIsTUFBTSxFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUN4QjtnRkFJYyxXQUFXO3NCQUF2QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNdWx0aVNlbGVjdCB9IGZyb20gJ3ByaW1lbmcvbXVsdGlzZWxlY3QnO1xyXG5pbXBvcnQgeyBDb21wYXJlRm4gfSBmcm9tICcuL2NvbXBhcmFibGUtZHJvcGRvd24uZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tICdwcmltZW5nL3V0aWxzJztcclxuaW1wb3J0IHsgRG9tSGFuZGxlciB9IGZyb20gJ3ByaW1lbmcvZG9tJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAncC1tdWx0aVNlbGVjdCcsXHJcbiAgaW5wdXRzOiBbJ2NvbXBhcmVXaXRoJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb21wYXJhYmxlTXVsdGlzZWxlY3REaXJlY3RpdmUge1xyXG4gIC8vIEJlY2F1c2UgdGhlIGVxdWFsaXR5IGNoZWNrIGJldHdlZW4gdGhlIHNlbGVjdGVkIGFuZCBwb3NzaWJsZSBvcHRpb24gdmFsdWVzIGFyZSBwZXBwZXJlZFxyXG4gIC8vIHRocm91Z2hvdXQgdGhlIGNvbXBvbmVudCBldmVyeXdoZXJlLCB3ZSBtdXN0IG92ZXJyaWRlIGZvdXIoISkgbWV0aG9kcyBvbiBpdC5cclxuICBASW5wdXQoKSBzZXQgY29tcGFyZVdpdGgoZm46IENvbXBhcmVGbiB8IHVuZGVmaW5lZCkge1xyXG4gICAgY29uc3QgZXEgPSAhIWZuXHJcbiAgICAgID8gZm5cclxuICAgICAgOiAoYTogYW55LCBiOiBhbnkpID0+IE9iamVjdFV0aWxzLmVxdWFscyhhLCBiLCB0aGlzLm11bHRpU2VsZWN0LmVxdWFsaXR5S2V5KCkpO1xyXG4gICAgdGhpcy5tdWx0aVNlbGVjdC5vbk9wdGlvblNlbGVjdCA9IChldmVudDogYW55LCBpc0ZvY3VzID0gZmFsc2UsIGluZGV4ID0gLTEpID0+IHtcclxuICAgICAgY29uc3QgeyBvcmlnaW5hbEV2ZW50LCBvcHRpb24gfSA9IGV2ZW50O1xyXG4gICAgICBpZiAodGhpcy5tdWx0aVNlbGVjdC5kaXNhYmxlZCB8fCB0aGlzLm11bHRpU2VsZWN0LmlzT3B0aW9uRGlzYWJsZWQob3B0aW9uKSkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgbGV0IHNlbGVjdGVkID0gdGhpcy5tdWx0aVNlbGVjdC5pc1NlbGVjdGVkKG9wdGlvbik7XHJcbiAgICAgIGxldCB2YWx1ZSA9IG51bGw7XHJcbiAgICAgIGlmIChzZWxlY3RlZCkge1xyXG4gICAgICAgIHZhbHVlID0gdGhpcy5tdWx0aVNlbGVjdFxyXG4gICAgICAgICAgLm1vZGVsVmFsdWUoKVxyXG4gICAgICAgICAgLmZpbHRlcigodmFsOiBhbnkpID0+ICFlcSh2YWwsIHRoaXMubXVsdGlTZWxlY3QuZ2V0T3B0aW9uVmFsdWUob3B0aW9uKSkpO1xyXG4gICAgICAgIHRoaXMubXVsdGlTZWxlY3Qub25SZW1vdmUuZW1pdCh7XHJcbiAgICAgICAgICBuZXdWYWx1ZTogdGhpcy5tdWx0aVNlbGVjdC52YWx1ZSxcclxuICAgICAgICAgIHJlbW92ZWQ6IHRoaXMubXVsdGlTZWxlY3QuZ2V0T3B0aW9uVmFsdWUob3B0aW9uKSxcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB2YWx1ZSA9IFsuLi4odGhpcy5tdWx0aVNlbGVjdC5tb2RlbFZhbHVlKCkgfHwgW10pLCB0aGlzLm11bHRpU2VsZWN0LmdldE9wdGlvblZhbHVlKG9wdGlvbildO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLm11bHRpU2VsZWN0LnVwZGF0ZU1vZGVsKHZhbHVlLCBvcmlnaW5hbEV2ZW50KTtcclxuICAgICAgaW5kZXggIT09IC0xICYmIHRoaXMubXVsdGlTZWxlY3QuZm9jdXNlZE9wdGlvbkluZGV4LnNldChpbmRleCk7XHJcblxyXG4gICAgICBpc0ZvY3VzICYmIERvbUhhbmRsZXIuZm9jdXModGhpcy5tdWx0aVNlbGVjdC5mb2N1c0lucHV0Vmlld0NoaWxkPy5uYXRpdmVFbGVtZW50KTtcclxuXHJcbiAgICAgIHRoaXMubXVsdGlTZWxlY3Qub25DaGFuZ2UuZW1pdCh7XHJcbiAgICAgICAgb3JpZ2luYWxFdmVudDogeyAuLi5ldmVudCwgc2VsZWN0ZWQ6ICFldmVudC5zZWxlY3RlZCB9LFxyXG4gICAgICAgIHZhbHVlOiB2YWx1ZSxcclxuICAgICAgICBpdGVtVmFsdWU6IG9wdGlvbixcclxuICAgICAgfSk7XHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMubXVsdGlTZWxlY3QuaXNTZWxlY3RlZCA9IChvcHRpb246IGFueSkgPT4ge1xyXG4gICAgICBjb25zdCBvcHRpb25WYWx1ZSA9IHRoaXMubXVsdGlTZWxlY3QuZ2V0T3B0aW9uVmFsdWUob3B0aW9uKTtcclxuICAgICAgcmV0dXJuICh0aGlzLm11bHRpU2VsZWN0Lm1vZGVsVmFsdWUoKSB8fCBbXSkuc29tZSgodmFsdWU6IGFueSkgPT4gZXEodmFsdWUsIG9wdGlvblZhbHVlKSk7XHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMubXVsdGlTZWxlY3QuZ2V0TGFiZWxCeVZhbHVlID0gKHZhbHVlOiBhbnkpID0+IHtcclxuICAgICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMubXVsdGlTZWxlY3QuZ3JvdXBcclxuICAgICAgICA/IHRoaXMubXVsdGlTZWxlY3QuZmxhdE9wdGlvbnModGhpcy5tdWx0aVNlbGVjdC5fb3B0aW9ucygpKVxyXG4gICAgICAgIDogdGhpcy5tdWx0aVNlbGVjdC5fb3B0aW9ucygpIHx8IFtdO1xyXG4gICAgICBjb25zdCBtYXRjaGVkT3B0aW9uID0gb3B0aW9ucy5maW5kKFxyXG4gICAgICAgIChvcHRpb246IGFueSkgPT5cclxuICAgICAgICAgICF0aGlzLm11bHRpU2VsZWN0LmlzT3B0aW9uR3JvdXAob3B0aW9uKSAmJlxyXG4gICAgICAgICAgZXEodGhpcy5tdWx0aVNlbGVjdC5nZXRPcHRpb25WYWx1ZShvcHRpb24pLCB2YWx1ZSlcclxuICAgICAgKTtcclxuICAgICAgcmV0dXJuIG1hdGNoZWRPcHRpb24gPyB0aGlzLm11bHRpU2VsZWN0LmdldE9wdGlvbkxhYmVsKG1hdGNoZWRPcHRpb24pIDogbnVsbDtcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5tdWx0aVNlbGVjdC5yZW1vdmVPcHRpb24gPSAob3B0aW9uVmFsdWU6IGFueSwgZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICBsZXQgdmFsdWUgPSB0aGlzLm11bHRpU2VsZWN0Lm1vZGVsVmFsdWUoKS5maWx0ZXIoKHZhbDogYW55KSA9PiAhZXEodmFsLCBvcHRpb25WYWx1ZSkpO1xyXG5cclxuICAgICAgdGhpcy5tdWx0aVNlbGVjdC51cGRhdGVNb2RlbCh2YWx1ZSwgZXZlbnQpO1xyXG4gICAgICB0aGlzLm11bHRpU2VsZWN0Lm9uQ2hhbmdlLmVtaXQoe1xyXG4gICAgICAgIG9yaWdpbmFsRXZlbnQ6IGV2ZW50LFxyXG4gICAgICAgIHZhbHVlOiB2YWx1ZSxcclxuICAgICAgICBpdGVtVmFsdWU6IG9wdGlvblZhbHVlLFxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIGV2ZW50ICYmIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbXVsdGlTZWxlY3Q6IE11bHRpU2VsZWN0KSB7fVxyXG59XHJcbiJdfQ==