@smartbit4all/ng-client 4.5.27 → 4.5.29

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 (316) 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-default-error-ui.service.mjs +1 -1
  26. package/esm2022/lib/session/smart-error-catching.interceptor.mjs +1 -1
  27. package/esm2022/lib/session/smart-header-maintainer.interceptor.mjs +1 -1
  28. package/esm2022/lib/session/smart-session-handler.service.mjs +1 -1
  29. package/esm2022/lib/session/smart-session.module.mjs +1 -1
  30. package/esm2022/lib/session/smart-session.service.mjs +1 -1
  31. package/esm2022/lib/session/smart-timer/smart-session-timer.component.mjs +3 -3
  32. package/esm2022/lib/session/smart-timer/smart-session-timer.service.mjs +1 -1
  33. package/esm2022/lib/shared/projects.mjs +1 -1
  34. package/esm2022/lib/shared/shared.module.mjs +1 -1
  35. package/esm2022/lib/shared/smart-tooltip.directive.mjs +1 -1
  36. package/esm2022/lib/shared/smarttable.date-pipe.mjs +1 -1
  37. package/esm2022/lib/smart-client/projects.mjs +1 -1
  38. package/esm2022/lib/smart-client/smart-component-api-client.mjs +1 -1
  39. package/esm2022/lib/smart-client/smart-file-uploader/smart-file-uploader.component.mjs +3 -3
  40. package/esm2022/lib/smart-client/smart.component.mjs +1 -1
  41. package/esm2022/lib/smart-client/smart.service.mjs +1 -1
  42. package/esm2022/lib/smart-component-layout/api/model/componentWidgetType.mjs +1 -1
  43. package/esm2022/lib/smart-component-layout/api/model/models.mjs +1 -1
  44. package/esm2022/lib/smart-component-layout/api/model/toolbarDirection.mjs +1 -1
  45. package/esm2022/lib/smart-component-layout/api/model/toolbarProperties.mjs +1 -1
  46. package/esm2022/lib/smart-component-layout/projects.mjs +1 -1
  47. package/esm2022/lib/smart-component-layout/smart-component-layout-utility.mjs +1 -1
  48. package/esm2022/lib/smart-component-layout/smart-component-layout.component.mjs +3 -3
  49. package/esm2022/lib/smart-component-layout/smart-component-layout.module.mjs +1 -1
  50. package/esm2022/lib/smart-diagram/component/default-smart-diagram-options.provider.mjs +1 -1
  51. package/esm2022/lib/smart-diagram/component/smart-diagram.component.mjs +22 -22
  52. package/esm2022/lib/smart-diagram/component/smart-diagram.module.mjs +1 -1
  53. package/esm2022/lib/smart-diagram/component/smart-diagram.util.mjs +1 -1
  54. package/esm2022/lib/smart-diagram/projects.mjs +1 -1
  55. package/esm2022/lib/smart-dialog/projects.mjs +1 -1
  56. package/esm2022/lib/smart-dialog/smartdialog.component.mjs +3 -3
  57. package/esm2022/lib/smart-dialog/smartdialog.model.mjs +1 -1
  58. package/esm2022/lib/smart-dialog/smartdialog.module.mjs +1 -1
  59. package/esm2022/lib/smart-dialog/smartdialog.service.mjs +1 -1
  60. package/esm2022/lib/smart-expandable-section/expandable-section.component.mjs +3 -3
  61. package/esm2022/lib/smart-expandable-section/expandable-section.model.mjs +1 -1
  62. package/esm2022/lib/smart-expandable-section/projects.mjs +1 -1
  63. package/esm2022/lib/smart-expandable-section/smart-expandable-section.module.mjs +1 -1
  64. package/esm2022/lib/smart-expandable-section/smart-expandable-section.service.mjs +1 -1
  65. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBoolOperator.mjs +1 -1
  66. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderField.mjs +1 -1
  67. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderGroup.mjs +1 -1
  68. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderModel.mjs +1 -1
  69. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionData.mjs +1 -1
  70. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionDataType.mjs +1 -1
  71. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionField.mjs +1 -1
  72. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionFieldList.mjs +1 -1
  73. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionFieldWidgetType.mjs +1 -1
  74. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionList.mjs +1 -1
  75. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOperandData.mjs +1 -1
  76. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOperation.mjs +1 -1
  77. package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOrderBy.mjs +1 -1
  78. package/esm2022/lib/smart-filter/api/filter/model/model.mjs +1 -1
  79. package/esm2022/lib/smart-filter/api/filter/model/searchIndexObjectDefinitionData.mjs +1 -1
  80. package/esm2022/lib/smart-filter/api/filter/model/searchIndexPropertyDefinitionData.mjs +1 -1
  81. package/esm2022/lib/smart-filter/api/value/model/value.mjs +1 -1
  82. package/esm2022/lib/smart-filter/projects.mjs +1 -1
  83. package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-expression-field/smart-filter-expression-field.component.mjs +1 -1
  84. package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-simple/components/smart-filter-simple-field/smart-filter-simple-field.component.mjs +3 -3
  85. package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-simple/smart-filter-simple.component.mjs +3 -3
  86. package/esm2022/lib/smart-filter/smart-filter/smart-filter.component.mjs +3 -3
  87. package/esm2022/lib/smart-filter/smart-filter/smart-filter.service.mjs +1 -1
  88. package/esm2022/lib/smart-filter/smart-filter.model.mjs +1 -1
  89. package/esm2022/lib/smart-filter/smart-filter.module.mjs +1 -1
  90. package/esm2022/lib/smart-filter-editor/api/api/filter.service.mjs +1 -1
  91. package/esm2022/lib/smart-filter-editor/api/configuration.mjs +1 -1
  92. package/esm2022/lib/smart-filter-editor/api/encoder.mjs +1 -1
  93. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBoolOperator.mjs +1 -1
  94. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderApiConfig.mjs +1 -1
  95. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderField.mjs +1 -1
  96. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderGroup.mjs +1 -1
  97. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderModel.mjs +1 -1
  98. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderUiModel.mjs +1 -1
  99. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionData.mjs +1 -1
  100. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionDataType.mjs +1 -1
  101. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionField.mjs +1 -1
  102. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldEditor.mjs +1 -1
  103. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldList.mjs +1 -1
  104. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldWidgetType.mjs +1 -1
  105. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionList.mjs +1 -1
  106. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOperandData.mjs +1 -1
  107. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOperation.mjs +1 -1
  108. package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOrderBy.mjs +1 -1
  109. package/esm2022/lib/smart-filter-editor/api/model/smartFilterType.mjs +1 -1
  110. package/esm2022/lib/smart-filter-editor/api/param.mjs +1 -1
  111. package/esm2022/lib/smart-filter-editor/api/variables.mjs +1 -1
  112. package/esm2022/lib/smart-filter-editor/filterExpressionBuilderApiActions.mjs +1 -1
  113. package/esm2022/lib/smart-filter-editor/project.mjs +1 -1
  114. package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-item/smart-filter-expression-item.component.mjs +3 -3
  115. package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-items/smart-filter-expression-items.component.mjs +3 -3
  116. package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/smart-filter-editor-content.component.mjs +3 -3
  117. package/esm2022/lib/smart-filter-editor/smart-filter-editor.model.mjs +1 -1
  118. package/esm2022/lib/smart-filter-editor/smart-filter-editor.module.mjs +1 -1
  119. package/esm2022/lib/smart-filter-editor/smart-filter-editor.service.mjs +1 -1
  120. package/esm2022/lib/smart-filter-editor/smart-filter-params/components/smart-filter-param/smart-filter-param.component.mjs +3 -3
  121. package/esm2022/lib/smart-filter-editor/smart-filter-params/smart-filter-params.component.mjs +3 -3
  122. package/esm2022/lib/smart-form/highlightMacthingString-pipe.mjs +1 -1
  123. package/esm2022/lib/smart-form/projects.mjs +1 -1
  124. package/esm2022/lib/smart-form/services/smartform.layout-definition.service.mjs +1 -1
  125. package/esm2022/lib/smart-form/services/smartform.service.mjs +1 -1
  126. package/esm2022/lib/smart-form/smartfileuploader/large-file-snack-bar/large-file-snack-bar.component.mjs +3 -3
  127. package/esm2022/lib/smart-form/smartfileuploader/smartfileuploader.component.mjs +3 -3
  128. package/esm2022/lib/smart-form/smartfileuploader/smartfileuploader.model.mjs +1 -1
  129. package/esm2022/lib/smart-form/smartform.component.mjs +3 -3
  130. package/esm2022/lib/smart-form/smartform.form-model.mjs +1 -1
  131. package/esm2022/lib/smart-form/smartform.model.mjs +1 -1
  132. package/esm2022/lib/smart-form/widgets/components/smart-file-editor/smart-file-editor.component.mjs +3 -3
  133. package/esm2022/lib/smart-form/widgets/components/smart-month-picker/smart-month-picker.component.mjs +3 -3
  134. package/esm2022/lib/smart-form/widgets/components/smart-multi-file-editor/smart-multi-file-editor.component.mjs +3 -3
  135. package/esm2022/lib/smart-form/widgets/components/smart-voice-recorder/smart-voice-recorder.component.mjs +3 -3
  136. package/esm2022/lib/smart-form/widgets/directives/comparable-dropdown.directive.mjs +1 -1
  137. package/esm2022/lib/smart-form/widgets/directives/comparable-multiselect.directive.mjs +1 -1
  138. package/esm2022/lib/smart-form/widgets/smartformwidget/smartformwidget.component.mjs +3 -3
  139. package/esm2022/lib/smart-form/widgets/smartformwidget/sortable-widget/sortable-widget.component.mjs +3 -3
  140. package/esm2022/lib/smart-form/widgets/smartformwidget/trackCaps.directive.mjs +1 -1
  141. package/esm2022/lib/smart-grid/api/grid-api/api/api.mjs +1 -1
  142. package/esm2022/lib/smart-grid/api/grid-api/api/grid.service.mjs +1 -1
  143. package/esm2022/lib/smart-grid/api/grid-api/api.module.mjs +1 -1
  144. package/esm2022/lib/smart-grid/api/grid-api/configuration.mjs +1 -1
  145. package/esm2022/lib/smart-grid/api/grid-api/encoder.mjs +1 -1
  146. package/esm2022/lib/smart-grid/api/grid-api/index.mjs +1 -1
  147. package/esm2022/lib/smart-grid/api/grid-api/model/gridColumnContentType.mjs +1 -1
  148. package/esm2022/lib/smart-grid/api/grid-api/model/gridColumnMeta.mjs +1 -1
  149. package/esm2022/lib/smart-grid/api/grid-api/model/gridDataAccessConfig.mjs +1 -1
  150. package/esm2022/lib/smart-grid/api/grid-api/model/gridExportDescriptor.mjs +1 -1
  151. package/esm2022/lib/smart-grid/api/grid-api/model/gridModel.mjs +1 -1
  152. package/esm2022/lib/smart-grid/api/grid-api/model/gridPage.mjs +1 -1
  153. package/esm2022/lib/smart-grid/api/grid-api/model/gridRow.mjs +1 -1
  154. package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionChange.mjs +1 -1
  155. package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionMode.mjs +1 -1
  156. package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionType.mjs +1 -1
  157. package/esm2022/lib/smart-grid/api/grid-api/model/gridServerModel.mjs +1 -1
  158. package/esm2022/lib/smart-grid/api/grid-api/model/gridUpdateData.mjs +1 -1
  159. package/esm2022/lib/smart-grid/api/grid-api/model/gridView.mjs +1 -1
  160. package/esm2022/lib/smart-grid/api/grid-api/model/gridViewDescriptor.mjs +1 -1
  161. package/esm2022/lib/smart-grid/api/grid-api/model/models.mjs +1 -1
  162. package/esm2022/lib/smart-grid/api/grid-api/param.mjs +1 -1
  163. package/esm2022/lib/smart-grid/api/grid-api/variables.mjs +1 -1
  164. package/esm2022/lib/smart-grid/components/expandable-grid/expandable-grid.component.mjs +3 -3
  165. package/esm2022/lib/smart-grid/components/generic-component/expanded-row-renderer.component.mjs +3 -3
  166. package/esm2022/lib/smart-grid/components/smart-grid-card/smart-grid-card.component.mjs +3 -3
  167. package/esm2022/lib/smart-grid/components/table-layout-definer/table-layout-definer.component.mjs +3 -3
  168. package/esm2022/lib/smart-grid/models/model.mjs +1 -1
  169. package/esm2022/lib/smart-grid/projects.mjs +1 -1
  170. package/esm2022/lib/smart-grid/smart-grid-toolbar-util.mjs +1 -1
  171. package/esm2022/lib/smart-grid/smart-grid.component.mjs +3 -3
  172. package/esm2022/lib/smart-grid/smart-grid.module.mjs +1 -1
  173. package/esm2022/lib/smart-grid/smart-grid.service.mjs +1 -1
  174. package/esm2022/lib/smart-icon/projects.mjs +1 -1
  175. package/esm2022/lib/smart-icon/smart-icon/smart-icon.component.mjs +3 -3
  176. package/esm2022/lib/smart-icon/smart-icon/ui-badge/ui-badge.component.mjs +3 -3
  177. package/esm2022/lib/smart-icon/smart-icon/ui-badge/ui-badge.directive.mjs +1 -1
  178. package/esm2022/lib/smart-icon/smart-icon.module.mjs +1 -1
  179. package/esm2022/lib/smart-icon/smart-icon.service.mjs +1 -1
  180. package/esm2022/lib/smart-map/abstract-map.mjs +1 -1
  181. package/esm2022/lib/smart-map/api-default/api-default.mjs +1 -1
  182. package/esm2022/lib/smart-map/impl/google-map.mjs +1 -1
  183. package/esm2022/lib/smart-map/impl/leaflet-map.mjs +1 -1
  184. package/esm2022/lib/smart-map/projects.mjs +1 -1
  185. package/esm2022/lib/smart-map/smart-map.component.mjs +3 -3
  186. package/esm2022/lib/smart-map/smart-map.module.mjs +1 -1
  187. package/esm2022/lib/smart-map/smart-map.types.mjs +1 -1
  188. package/esm2022/lib/smart-navbar/projects.mjs +1 -1
  189. package/esm2022/lib/smart-navbar/smart-navbar.component.mjs +3 -3
  190. package/esm2022/lib/smart-navbar/smart-navbar.model.mjs +1 -1
  191. package/esm2022/lib/smart-navbar/smart-navbar.module.mjs +1 -1
  192. package/esm2022/lib/smart-navbar/smart-navbar.service.mjs +1 -1
  193. package/esm2022/lib/smart-navigation/projects.mjs +1 -1
  194. package/esm2022/lib/smart-navigation/smart-navigation.interface.mjs +1 -1
  195. package/esm2022/lib/smart-navigation/smart-navigation.module.mjs +1 -1
  196. package/esm2022/lib/smart-navigation/smart-navigation.service.mjs +1 -1
  197. package/esm2022/lib/smart-ng-client.module.mjs +1 -1
  198. package/esm2022/lib/smart-ng-client.service.mjs +1 -1
  199. package/esm2022/lib/smart-subject/projects.mjs +1 -1
  200. package/esm2022/lib/smart-subject/smart-subject.mjs +1 -1
  201. package/esm2022/lib/smart-tab-group/projects.mjs +1 -1
  202. package/esm2022/lib/smart-tab-group/smart-tab-group.component.mjs +3 -3
  203. package/esm2022/lib/smart-tab-group/smart-tab-group.module.mjs +1 -1
  204. package/esm2022/lib/smart-tab-group/smart-tab-group.service.mjs +1 -1
  205. package/esm2022/lib/smart-tab-group/tab-content/tab-content.component.mjs +3 -3
  206. package/esm2022/lib/smart-tab-group/tab-group-simplified/tab-group.component.mjs +3 -3
  207. package/esm2022/lib/smart-tab-group/tabTile.model.mjs +1 -1
  208. package/esm2022/lib/smart-table/components/default-actions-popup/default-actions-popup.component.mjs +3 -3
  209. package/esm2022/lib/smart-table/components/loading/loading.component.mjs +3 -3
  210. package/esm2022/lib/smart-table/directives/mat-context-menu-trigger-for.directive.mjs +1 -1
  211. package/esm2022/lib/smart-table/projects.mjs +1 -1
  212. package/esm2022/lib/smart-table/smarttable.component.mjs +3 -3
  213. package/esm2022/lib/smart-table/smarttable.model.mjs +1 -1
  214. package/esm2022/lib/smart-table/smarttable.module.mjs +1 -1
  215. package/esm2022/lib/smart-table/smarttable.service.mjs +1 -1
  216. package/esm2022/lib/smart-table/tables/material-table/material-table.component.mjs +3 -3
  217. package/esm2022/lib/smart-table/tables/mobile-table/mobile-table.component.mjs +3 -3
  218. package/esm2022/lib/smart-table/tables/table.mjs +1 -1
  219. package/esm2022/lib/smart-tree/projects.mjs +1 -1
  220. package/esm2022/lib/smart-tree/smarttree-generic.service.mjs +1 -1
  221. package/esm2022/lib/smart-tree/smarttree.component.mjs +3 -3
  222. package/esm2022/lib/smart-tree/smarttree.model.mjs +1 -1
  223. package/esm2022/lib/smart-tree/smarttree.module.mjs +1 -1
  224. package/esm2022/lib/smart-tree/smarttree.node.model.mjs +1 -1
  225. package/esm2022/lib/smart-tree/smarttree.service.interface.mjs +1 -1
  226. package/esm2022/lib/smart-tree/smarttree.service.mjs +1 -1
  227. package/esm2022/lib/smart-tree/tree-api/api/tree.service.mjs +1 -1
  228. package/esm2022/lib/smart-tree/tree-api/configuration.mjs +1 -1
  229. package/esm2022/lib/smart-tree/tree-api/encoder.mjs +1 -1
  230. package/esm2022/lib/smart-tree/tree-api/param.mjs +1 -1
  231. package/esm2022/lib/smart-tree/tree-api/variables.mjs +1 -1
  232. package/esm2022/lib/smart-validation/named-validator.service.mjs +1 -1
  233. package/esm2022/lib/smart-validation/projects.mjs +1 -1
  234. package/esm2022/lib/smart-validation/smart-validation.module.mjs +1 -1
  235. package/esm2022/lib/smart-validation/smart-validation.types.mjs +1 -1
  236. package/esm2022/lib/view-context/api/api/view.service.mjs +1 -1
  237. package/esm2022/lib/view-context/api/api-default/binaryData.mjs +1 -1
  238. package/esm2022/lib/view-context/api/api-default/invocationError.mjs +1 -1
  239. package/esm2022/lib/view-context/api/api-default/invocationRequest.mjs +1 -1
  240. package/esm2022/lib/view-context/api/api-default/invocationRun.mjs +1 -1
  241. package/esm2022/lib/view-context/api/model/iconPosition.mjs +1 -1
  242. package/esm2022/lib/view-context/api/model/models.mjs +1 -1
  243. package/esm2022/lib/view-context/api/model/namedValidator.mjs +1 -1
  244. package/esm2022/lib/view-context/api/model/smartLinkData.mjs +1 -1
  245. package/esm2022/lib/view-context/api/model/uiAction.mjs +1 -1
  246. package/esm2022/lib/view-context/api/model/uiActionDefinition.mjs +1 -1
  247. package/esm2022/lib/view-context/api/model/uiActionDefinitionEntry.mjs +1 -1
  248. package/esm2022/lib/view-context/api/model/uiActionInputType.mjs +1 -1
  249. package/esm2022/lib/view-context/api/model/uiActionSchedule.mjs +1 -1
  250. package/esm2022/lib/view-context/api/model/uiActionUploadDescriptor.mjs +1 -1
  251. package/esm2022/lib/view-context/api/model/view.mjs +1 -1
  252. package/esm2022/lib/view-context/api/model/viewData.mjs +1 -1
  253. package/esm2022/lib/view-context/api/model/viewEventHandler.mjs +1 -1
  254. package/esm2022/lib/view-context/invalid-fields-snack-bar/invalid-fields-snack-bar.component.mjs +3 -3
  255. package/esm2022/lib/view-context/message-dialog/message-dialog.component.mjs +3 -3
  256. package/esm2022/lib/view-context/projects.mjs +1 -1
  257. package/esm2022/lib/view-context/property-definition-data.mjs +1 -1
  258. package/esm2022/lib/view-context/smart-embedded-slot.directive.mjs +1 -1
  259. package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.component.mjs +3 -3
  260. package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.constants.mjs +1 -1
  261. package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.service.mjs +1 -1
  262. package/esm2022/lib/view-context/smart-ui-action/components/success-snack-bar/success-snack-bar.component.mjs +3 -3
  263. package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/photo-capture-widget/photo-capture-widget.component.mjs +3 -3
  264. package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/prime-file-uploader/prime-file-uploader.component.mjs +3 -3
  265. package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/upload-widget.component.mjs +3 -3
  266. package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/upload-widget.utils.mjs +1 -1
  267. package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/voice-record-widget/voice-record-widget.component.mjs +22 -11
  268. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.component.mjs +3 -3
  269. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.service.mjs +1 -1
  270. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-dialog-button/ui-action-dialog-button.component.mjs +3 -3
  271. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.component.mjs +3 -3
  272. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.service.mjs +1 -1
  273. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.component.mjs +3 -3
  274. package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.service.mjs +1 -1
  275. package/esm2022/lib/view-context/smart-ui-action/file-editor-toolbar/file-editor-toolbar.component.mjs +3 -3
  276. package/esm2022/lib/view-context/smart-ui-action/ui-action-button/ui-action-button.component.mjs +3 -3
  277. package/esm2022/lib/view-context/smart-ui-action/ui-action-toolbar.component.mjs +3 -3
  278. package/esm2022/lib/view-context/smart-ui-action/ui-action.descriptor.service.mjs +1 -1
  279. package/esm2022/lib/view-context/smart-ui-action/ui-action.model.mjs +1 -1
  280. package/esm2022/lib/view-context/smart-ui-action/ui-action.service.mjs +1 -1
  281. package/esm2022/lib/view-context/smart-view-context-dialog.service.mjs +1 -1
  282. package/esm2022/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.component.mjs +3 -3
  283. package/esm2022/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.service.mjs +1 -1
  284. package/esm2022/lib/view-context/smart-view-context.interceptor.mjs +1 -1
  285. package/esm2022/lib/view-context/smart-view-context.model.mjs +1 -1
  286. package/esm2022/lib/view-context/smart-view-context.module.mjs +1 -1
  287. package/esm2022/lib/view-context/smart-view-context.service.mjs +1 -1
  288. package/esm2022/lib/view-context/smart-view-redirect/smart-view-redirect.mjs +1 -1
  289. package/esm2022/lib/view-context/utility/componentLibrary.mjs +1 -1
  290. package/esm2022/lib/view-context/utility/smart-object-utility.mjs +1 -1
  291. package/esm2022/lib/view-context/utility/smart-style-utility.mjs +1 -1
  292. package/esm2022/lib/view-context/value-api/api/api.mjs +1 -1
  293. package/esm2022/lib/view-context/value-api/api/value.service.mjs +1 -1
  294. package/esm2022/lib/view-context/value-api/api.module.mjs +1 -1
  295. package/esm2022/lib/view-context/value-api/configuration.mjs +1 -1
  296. package/esm2022/lib/view-context/value-api/encoder.mjs +1 -1
  297. package/esm2022/lib/view-context/value-api/index.mjs +1 -1
  298. package/esm2022/lib/view-context/value-api/model/genericValue.mjs +1 -1
  299. package/esm2022/lib/view-context/value-api/model/models.mjs +1 -1
  300. package/esm2022/lib/view-context/value-api/model/value.mjs +1 -1
  301. package/esm2022/lib/view-context/value-api/model/valueSetData.mjs +1 -1
  302. package/esm2022/lib/view-context/value-api/model/valueSetDefinition.mjs +1 -1
  303. package/esm2022/lib/view-context/value-api/model/valueSetDefinitionData.mjs +1 -1
  304. package/esm2022/lib/view-context/value-api/model/valueSetDefinitionIdentifier.mjs +1 -1
  305. package/esm2022/lib/view-context/value-api/model/valueSetDefinitionKind.mjs +1 -1
  306. package/esm2022/lib/view-context/value-api/model/valueSetExpression.mjs +1 -1
  307. package/esm2022/lib/view-context/value-api/model/valueSetOperand.mjs +1 -1
  308. package/esm2022/lib/view-context/value-api/model/valueSetOperation.mjs +1 -1
  309. package/esm2022/lib/view-context/value-api/param.mjs +1 -1
  310. package/esm2022/lib/view-context/value-api/variables.mjs +1 -1
  311. package/esm2022/projects.mjs +1 -1
  312. package/fesm2022/smartbit4all-ng-client.mjs +152 -141
  313. package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
  314. package/package.json +1 -1
  315. package/smartbit4all-ng-client-4.5.29.tgz +0 -0
  316. package/smartbit4all-ng-client-4.5.27.tgz +0 -0
@@ -286,4 +286,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
286
286
  type: Inject,
287
287
  args: ['treeMenuIcon']
288
288
  }] }] });
289
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR0cmVlLWdlbmVyaWMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LXRyZWUvc21hcnR0cmVlLWdlbmVyaWMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQ0wsdUJBQXVCLEVBSXZCLHlCQUF5QixFQUd6QixlQUFlLEdBR2hCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBaUIsdUJBQXVCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBVXhDLE1BQU0sT0FBTyx1QkFDWCxTQUFRLGdCQUFpQztJQWlCekMsWUFDRSxNQUFnQixFQUNjLFFBQWdCLEVBQzVCLE1BQWMsRUFDQSxZQUFxQjtRQUVyRCxLQUFLLEVBQUUsQ0FBQztRQUpzQixhQUFRLEdBQVIsUUFBUSxDQUFRO1FBRWQsaUJBQVksR0FBWixZQUFZLENBQVM7UUFsQnZELHlCQUF5QjtRQUN6QixXQUFNLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDdEMsd0JBQW1CLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFFbkQsd0JBQW1CLEdBQW9DLElBQUksR0FBRyxFQUFFLENBQUM7UUFpQi9ELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBRXJCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdkIs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QyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU3RCxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQywyQkFBMkIsQ0FDdkUsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUMzRixDQUFDO0lBQ0osQ0FBQztJQUVELG1DQUFtQyxDQUNqQyxRQUFrQixFQUNsQixlQUFnQztRQUVoQyxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQzsrR0EvVVUsdUJBQXVCLDBDQW9CeEIsVUFBVSxhQUNWLFFBQVEsYUFDUixjQUFjO21IQXRCYix1QkFBdUIsY0FGdEIsTUFBTTs7NEZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBcUJJLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU21hcnRWaWV3Q29udGV4dFNlcnZpY2UsXG4gIFVpQWN0aW9uLFxuICBVaUFjdGlvbkFkZGl0aW9uYWxQYXJhbXMsXG4gIFVpQWN0aW9uRGVzY3JpcHRvcixcbiAgVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZSxcbiAgVWlBY3Rpb25Nb2RlbCxcbiAgVWlBY3Rpb25SZXF1ZXN0LFxuICBVaUFjdGlvblNlcnZpY2UsXG4gIFVpQWN0aW9uU3BlY2lmaWNEZW1hbmRSZXNwb25zZSxcbiAgVXNlVWlBY3Rpb24sXG59IGZyb20gJy4uL3ZpZXctY29udGV4dC9wcm9qZWN0cyc7XG5pbXBvcnQgeyBUcmVlU2VydmljZSB9IGZyb20gJy4vdHJlZS1hcGkvYXBpL3RyZWUuc2VydmljZSc7XG5pbXBvcnQgeyBTbWFydFRyZWVOb2RlLCBTbWFydFRyZWVOb2RlQnV0dG9uVHlwZSB9IGZyb20gJy4vc21hcnR0cmVlLm1vZGVsJztcbmltcG9ydCB7IFNtYXJ0dHJlZVNlcnZpY2UgfSBmcm9tICcuL3NtYXJ0dHJlZS5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlZXBFcXVhbCB9IGZyb20gJ2Zhc3QtZXF1YWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBTbWFydHRyZWVDb25maWd1cmF0aW9uIHtcbiAgdHJlZWlkOiBzdHJpbmc7XG4gIHBhZ2VOYW1lOiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTbWFydHRyZWVHZW5lcmljU2VydmljZVxuICBleHRlbmRzIFNtYXJ0dHJlZVNlcnZpY2U8U21hcnRUcmVlTm9kZVtdPlxuICBpbXBsZW1lbnRzIFVzZVVpQWN0aW9uXG57XG4gIC8vIFVzZVVpQWN0aW9uIHByb3BlcnRpZXNcbiAgc3VibWl0OiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcbiAgcmVTdWJzY3JpYmVUb0NoYW5nZTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgdWlBY3Rpb25EZXNjcmlwdG9yczogTWFwPHN0cmluZywgVWlBY3Rpb25EZXNjcmlwdG9yPiA9IG5ldyBNYXAoKTtcblxuICBzZWxlY3RlZE5vZGU/OiBTbWFydFRyZWVOb2RlO1xuXG4gIHByb3RlY3RlZCB2aWV3Q29udGV4dCE6IFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlO1xuICBwcml2YXRlIHNlcnZpY2UhOiBUcmVlU2VydmljZTtcblxuICBwcml2YXRlIHVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UhOiBVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlO1xuICBwcml2YXRlIHVpQWN0aW9uU2VydmljZSE6IFVpQWN0aW9uU2VydmljZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBpbmplY3Q6IEluamVjdG9yLFxuICAgIEBJbmplY3QoJ3BhZ2VOYW1lJykgcHJvdGVjdGVkIHBhZ2VOYW1lOiBzdHJpbmcsXG4gICAgQEluamVjdCgndHJlZUlkJykgdHJlZUlkOiBzdHJpbmcsXG4gICAgQEluamVjdCgndHJlZU1lbnVJY29uJykgcHJpdmF0ZSB0cmVlTWVudUljb24/OiBzdHJpbmdcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnRyZWVJZCA9IHRyZWVJZDtcblxuICAgIGlmICghdGhpcy50cmVlTWVudUljb24pIHtcbiAgICAgIHRoaXMudHJlZU1lbnVJY29uID0gaW5qZWN0LmdldCgndHJlZU1lbnVJY29uJyk7XG4gICAgfVxuICAgIHRoaXMuY29uZmlndXJlVHJlZSh7XG4gICAgICBwYWdlTmFtZTogdGhpcy5wYWdlTmFtZSxcbiAgICAgIHRyZWVpZDogdGhpcy50cmVlSWQsXG4gICAgfSk7XG5cbiAgICB0aGlzLnZpZXdDb250ZXh0ID0gaW5qZWN0LmdldChTbWFydFZpZXdDb250ZXh0U2VydmljZSk7XG4gICAgdGhpcy5zZXJ2aWNlID0gaW5qZWN0LmdldChUcmVlU2VydmljZSk7XG5cbiAgICB0aGlzLnVpQWN0aW9uU2VydmljZSA9IGluamVjdC5nZXQoVWlBY3Rpb25TZXJ2aWNlKTtcbiAgICB0aGlzLnVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UgPSBpbmplY3QuZ2V0KFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UpO1xuXG4gICAgdGhpcy5pbml0aWFsaXplKCk7XG4gIH1cblxuICBjb25zdHJ1Y3RVaUFjdGlvbk1vZGVscyh1aUFjdGlvbnM6IFVpQWN0aW9uW10pOiB2b2lkIHtcbiAgICB0aGlzLnVpQWN0aW9uTW9kZWxzID0gdWlBY3Rpb25zLm1hcCgodWlBY3Rpb246IFVpQWN0aW9uKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzZXJ2aWNlVG9Vc2U6IHRoaXMsXG4gICAgICAgIHVpQWN0aW9uLFxuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIGNvbmZpZ3VyZVRyZWUoY29uZmlndXJhdGlvbjogU21hcnR0cmVlQ29uZmlndXJhdGlvbik6IHZvaWQge1xuICAgIHRoaXMudHJlZUlkID0gY29uZmlndXJhdGlvbi50cmVlaWQ7XG4gICAgdGhpcy5wYWdlTmFtZSA9IGNvbmZpZ3VyYXRpb24ucGFnZU5hbWU7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBpbml0aWFsaXplKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLnZpZXdDb250ZXh0Lmhhc1ZpZXdDb250ZXh0VXVpZCgpKSB7XG4gICAgICBhd2FpdCB0aGlzLmRvd25sb2FkVHJlZSgpLnRoZW4oKHJvb3ROb2RlczogU21hcnRUcmVlTm9kZVtdKSA9PiB7XG4gICAgICAgIGlmICghZGVlcEVxdWFsKHRoaXMudHJlZUZyb21CYWNrZW5kLCByb290Tm9kZXMpKSB7XG4gICAgICAgICAgdGhpcy50cmVlRnJvbUJhY2tlbmQgPSByb290Tm9kZXM7XG4gICAgICAgICAgdGhpcy5zeW5jVHJlZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgb3ZlcnJpZGUgYXN5bmMgZG93bmxvYWRUcmVlKCk6IFByb21pc2U8U21hcnRUcmVlTm9kZVtdPiB7XG4gICAgbGV0IHV1aWQgPSB0aGlzLnZpZXdDb250ZXh0LmdldFV1aWRPZlBhZ2UodGhpcy5wYWdlTmFtZSEpO1xuICAgIGNvbnN0IHJvb3ROb2RlcyA9IGF3YWl0IHRoaXMudmlld0NvbnRleHQuaGFuZGxlUGVyZm9ybUFjdGlvblJlc3BvbnNlKFxuICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLmdldFJvb3ROb2RlczIodXVpZCwgdGhpcy50cmVlSWQhKS50b1Byb21pc2UoKVxuICAgICk7XG4gICAgY29uc3QgdWlBY3Rpb25zID0gYXdhaXQgdGhpcy52aWV3Q29udGV4dC5oYW5kbGVQZXJmb3JtQWN0aW9uUmVzcG9uc2UoXG4gICAgICBhd2FpdCB0aGlzLnNlcnZpY2UuZ2V0TWFpbkFjdGlvbnMyKHV1aWQsIHRoaXMudHJlZUlkISkudG9Qcm9taXNlKClcbiAgICApO1xuXG4gICAgaWYgKHVpQWN0aW9ucykge1xuICAgICAgdGhpcy5jb25zdHJ1Y3RVaUFjdGlvbk1vZGVscyh1aUFjdGlvbnMpO1xuICAgIH1cblxuICAgIGlmICghcm9vdE5vZGVzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Jvb3ROb2RlcyBhcmUgdW5kZWZpbmVkIScpO1xuICAgIH1cbiAgICByZXR1cm4gcm9vdE5vZGVzO1xuICB9XG4gIG92ZXJyaWRlIGFzeW5jIGRvd25sb2FkQ2hpbGRyZW4ocGFyZW50Tm9kZTogU21hcnRUcmVlTm9kZSk6IFByb21pc2U8U21hcnRUcmVlTm9kZVtdPiB7XG4gICAgbGV0IHV1aWQgPSB0aGlzLnZpZXdDb250ZXh0LmdldFV1aWRPZlBhZ2UodGhpcy5wYWdlTmFtZSEpO1xuICAgIGNvbnN0IGNoaWxkcmVuID0gYXdhaXQgdGhpcy52aWV3Q29udGV4dC5oYW5kbGVQZXJmb3JtQWN0aW9uUmVzcG9uc2UoXG4gICAgICBhd2FpdCB0aGlzLnNlcnZpY2UuZ2V0Q2hpbGRyZW5Ob2RlczIodXVpZCwgdGhpcy50cmVlSWQhLCBwYXJlbnROb2RlLmlkZW50aWZpZXIhKS50b1Byb21pc2UoKVxuICAgICk7XG4gICAgaWYgKCFjaGlsZHJlbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBOb2RlIHdpdGggaWRlbnRpZmllciAke3BhcmVudE5vZGUuaWRlbnRpZmllcn0gZG9lcyBub3QgaGF2ZSBjaGlsZHJlbi5gKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2hpbGRyZW47XG4gIH1cbiAgb3ZlcnJpZGUgYXN5bmMgb25UcmVlTm9kZU9wZW4odHJlZU5vZGU6IFNtYXJ0VHJlZU5vZGUpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBsZXQgdmlld1V1aWQgPSB0aGlzLnZpZXdDb250ZXh0LmdldFV1aWRPZlBhZ2UodGhpcy5wYWdlTmFtZSEpO1xuXG4gICAgaWYgKHRyZWVOb2RlPy5leHBhbmRlZCkge1xuICAgICAgbGV0IHRlbXBUcmVlTm9kZSA9IGF3YWl0IHRoaXMudmlld0NvbnRleHQuaGFuZGxlUGVyZm9ybUFjdGlvblJlc3BvbnNlKFxuICAgICAgICBhd2FpdCB0aGlzLnNlcnZpY2UuY29sbGFwc2VOb2RlMih2aWV3VXVpZCwgdGhpcy50cmVlSWQhLCB0cmVlTm9kZS5pZGVudGlmaWVyISkudG9Qcm9taXNlKClcbiAgICAgICk7XG4gICAgICB0cmVlTm9kZSA9IHRlbXBUcmVlTm9kZSE7XG4gICAgfSBlbHNlIGlmICghdHJlZU5vZGU/LmV4cGFuZGVkKSB7XG4gICAgICBsZXQgdGVtcFRyZWVOb2RlID0gYXdhaXQgdGhpcy52aWV3Q29udGV4dC5oYW5kbGVQZXJmb3JtQWN0aW9uUmVzcG9uc2UoXG4gICAgICAgIGF3YWl0IHRoaXMuc2VydmljZS5leHBhbmROb2RlMih2aWV3VXVpZCwgdGhpcy50cmVlSWQhLCB0cmVlTm9kZT8uaWRlbnRpZmllciEpLnRvUHJvbWlzZSgpXG4gICAgICApO1xuICAgICAgdHJlZU5vZGUgPSB0ZW1wVHJlZU5vZGUhO1xuICAgIH1cbiAgICBsZXQgbm9kZSA9IHRoaXMuZGVlcFNlYXJjaFRyZWVOb2RlKHRyZWVOb2RlPy5pZGVudGlmaWVyISwgdGhpcy50cmVlRnJvbUJhY2tlbmQhKTtcblxuICAgIG5vZGUhLmV4cGFuZGVkID0gdHJlZU5vZGU/LmV4cGFuZGVkO1xuICAgIG5vZGUhLmNoaWxkcmVuTm9kZXMgPSB0cmVlTm9kZT8uY2hpbGRyZW5Ob2RlcztcbiAgICB0aGlzLnN5bmNUcmVlKCk7XG4gIH1cbiAgb3ZlcnJpZGUgb25UcmVlTm9kZUNsaWNrKHRyZWVOb2RlOiBTbWFydFRyZWVOb2RlKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RGb2xkZXIodHJlZU5vZGUuaWRlbnRpZmllciEsIHRyZWVOb2RlKTtcbiAgfVxuICBhc3luYyBzZWxlY3RGb2xkZXIoZm9sZGVyVXJpOiBzdHJpbmcsIHRyZWVOb2RlPzogU21hcnRUcmVlTm9kZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGxldCB2aWV3VXVpZCA9IHRoaXMudmlld0NvbnRleHQuZ2V0VXVpZE9mUGFnZSh0aGlzLnBhZ2VOYW1lISk7XG5cbiAgICBsZXQgdXBkYXRlZFRyZWVOb2RlID0gYXdhaXQgdGhpcy52aWV3Q29udGV4dC5oYW5kbGVQZXJmb3JtQWN0aW9uUmVzcG9uc2UoXG4gICAgICBhd2FpdCB0aGlzLnNlcnZpY2Uuc2VsZWN0Tm9kZTIodmlld1V1aWQsIHRoaXMudHJlZUlkISwgdHJlZU5vZGUhLmlkZW50aWZpZXIhKS50b1Byb21pc2UoKVxuICAgICk7XG4gICAgaWYgKHRoaXMuc2VsZWN0ZWROb2RlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkTm9kZS5zZWxlY3RlZCA9IGZhbHNlO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkTm9kZSA9IHVwZGF0ZWRUcmVlTm9kZTtcbiAgICBsZXQgbm9kZSA9IHRoaXMuZGVlcFNlYXJjaFRyZWVOb2RlKHVwZGF0ZWRUcmVlTm9kZT8uaWRlbnRpZmllciEsIHRoaXMudHJlZUZyb21CYWNrZW5kISk7XG4gICAgaWYgKCFub2RlKSB7XG4gICAgICB0aHJvdyBFcnJvcignVHJlZSBub2RlIGRvZXMgbm90IGV4aXN0Jyk7XG4gICAgfVxuICAgIG5vZGUuZXhwYW5kZWQgPSB1cGRhdGVkVHJlZU5vZGU/LmV4cGFuZGVkITtcbiAgICBub2RlLmNoaWxkcmVuTm9kZXMgPSB1cGRhdGVkVHJlZU5vZGU/LmNoaWxkcmVuTm9kZXMhO1xuICAgIG5vZGUuc2VsZWN0ZWQgPSB1cGRhdGVkVHJlZU5vZGU/LnNlbGVjdGVkITtcbiAgICB0cmVlTm9kZSA9IHVwZGF0ZWRUcmVlTm9kZTtcbiAgICB0aGlzLnN5bmNUcmVlKCk7XG4gICAgLy90aGlzLnZpZXdDb250ZXh0LmdldEFuZFN5bmNWaWV3Q29udGV4dCh0aGlzLnZpZXdDb250ZXh0LmdldFZpZXdDb250ZXh0VXVpZCgpKTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZVRyZWVPblRoZUZseSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmluaXRpYWxpemUoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIHN5bmNUcmVlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLnRyZWVGcm9tQmFja2VuZCA9PT0gbnVsbCB8fCB0aGlzLnRyZWVGcm9tQmFja2VuZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAvL3Rocm93IG5ldyBFcnJvcignVGhlcmUgaXMgbm8gdHJlZUZyb21CYWNrZW5kIGF2YWlsYWJsZSEnKTtcbiAgICAgIGNvbnNvbGUud2FybignVGhlcmUgaXMgbm8gdHJlZUZyb21CYWNrZW5kIGF2YWlsYWJsZSBpbiBzeW5jVHJlZSEnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy5jYWNoZUFjdGlvbkRlc2NpcHRvcnModGhpcy5nZXRBbGxOb2Rlcyh0aGlzLnRyZWVGcm9tQmFja2VuZCEpKTtcblxuICAgIGlmICghdGhpcy5zbWFydFRyZWVNb2RlbCkge1xuICAgICAgdGhpcy5zbWFydFRyZWVNb2RlbCA9IHtcbiAgICAgICAgcm9vdE5vZGVzOiBbXSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgbGV0IHNtYXJ0VHJlZU5vZGVzOiBTbWFydFRyZWVOb2RlW10gPSB0aGlzLmNyZWF0ZUJ1dHRvbnNGb3JUcmVlTm9kZXModGhpcy50cmVlRnJvbUJhY2tlbmQpO1xuICAgIHRoaXMuc21hcnRUcmVlTW9kZWwgPSB1bmRlZmluZWQ7XG5cbiAgICB0aGlzLnNtYXJ0VHJlZU1vZGVsID0ge1xuICAgICAgaWRlbnRpZmllcjogdGhpcy50cmVlSWQsXG4gICAgICByb290Tm9kZXM6IFtdLFxuICAgIH07XG4gICAgdGhpcy5zbWFydFRyZWVNb2RlbENoYW5nZWQubmV4dCh0aGlzLnNtYXJ0VHJlZU1vZGVsKTtcblxuICAgIHRoaXMuc21hcnRUcmVlTW9kZWwucm9vdE5vZGVzID0gc21hcnRUcmVlTm9kZXM7XG5cbiAgICB0aGlzLmZpbmRTZWxlY3RlZCh0aGlzLnNtYXJ0VHJlZU1vZGVsLnJvb3ROb2Rlcyk7XG5cbiAgICB0aGlzLnNtYXJ0VHJlZU1vZGVsQ2hhbmdlZC5uZXh0KHRoaXMuc21hcnRUcmVlTW9kZWwpO1xuICB9XG5cbiAgZGVlcFNlYXJjaFRyZWVOb2RlKGlkZW50aWZpZXI6IHN0cmluZywgbm9kZXM6IFNtYXJ0VHJlZU5vZGVbXSk6IFNtYXJ0VHJlZU5vZGUgfCB1bmRlZmluZWQge1xuICAgIGxldCB0cmVlTm9kZTogU21hcnRUcmVlTm9kZSB8IHVuZGVmaW5lZDtcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbm9kZXMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBjb25zdCBub2RlID0gbm9kZXNbaW5kZXhdO1xuXG4gICAgICBpZiAobm9kZS5pZGVudGlmaWVyID09PSBpZGVudGlmaWVyKSB7XG4gICAgICAgIHRyZWVOb2RlID0gbm9kZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBpZiAobm9kZS5jaGlsZHJlbk5vZGVzICYmIG5vZGUuY2hpbGRyZW5Ob2Rlcy5sZW5ndGgpIHtcbiAgICAgICAgdHJlZU5vZGUgPSB0aGlzLmRlZXBTZWFyY2hUcmVlTm9kZShpZGVudGlmaWVyLCBub2RlLmNoaWxkcmVuTm9kZXMpO1xuICAgICAgICBpZiAodHJlZU5vZGUpIHtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdHJlZU5vZGU7XG4gIH1cblxuICBmaW5kU2VsZWN0ZWQobm9kZXM6IFNtYXJ0VHJlZU5vZGVbXSk6IHZvaWQge1xuICAgIHJldHVybiBub2Rlcy5mb3JFYWNoKChub2RlOiBTbWFydFRyZWVOb2RlKSA9PiB7XG4gICAgICBpZiAobm9kZS5zZWxlY3RlZCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZSA9IG5vZGU7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gZWxzZSBpZiAobm9kZS5jaGlsZHJlbk5vZGVzICYmIG5vZGUuY2hpbGRyZW5Ob2Rlcy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmluZFNlbGVjdGVkKG5vZGUuY2hpbGRyZW5Ob2Rlcyk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBjcmVhdGVCdXR0b25zRm9yVHJlZU5vZGVzKG5vZGVzOiBTbWFydFRyZWVOb2RlW10pOiBTbWFydFRyZWVOb2RlW10ge1xuICAgIGxldCBpY29uID0gdGhpcy50cmVlTWVudUljb24gPz8gJ21vcmVfdmVydCc7XG5cbiAgICBub2Rlcy5tYXAoKG5vZGU6IFNtYXJ0VHJlZU5vZGUpID0+IHtcbiAgICAgIG5vZGUuYnV0dG9uID0gbm9kZS5hY3Rpb25zPy5sZW5ndGhcbiAgICAgICAgPyB7XG4gICAgICAgICAgICB0eXBlOiBTbWFydFRyZWVOb2RlQnV0dG9uVHlwZS5NRU5VLFxuICAgICAgICAgICAgaWNvbjogaWNvbixcbiAgICAgICAgICAgIG1lbnVJdGVtQnV0dG9uczogbm9kZS5hY3Rpb25zLm1hcCgoYWN0aW9uOiBVaUFjdGlvbikgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHR5cGU6IFNtYXJ0VHJlZU5vZGVCdXR0b25UeXBlLk5PUk1BTCxcbiAgICAgICAgICAgICAgICBjb2RlOiBhY3Rpb24uY29kZSxcbiAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy5nZXRMYWJlbEJ5QWN0aW9uKGFjdGlvbiksXG4gICAgICAgICAgICAgICAgY2FsbGJhY2s6IHRoaXMuZG9BY3Rpb24uYmluZCh0aGlzKSxcbiAgICAgICAgICAgICAgICBhcmdzOiBbYWN0aW9uLCBub2RlLmlkZW50aWZpZXJdLFxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgIG5vZGUuaWNvbiA9ICdGb2xkZXJzJztcbiAgICAgIGlmIChub2RlLmNoaWxkcmVuTm9kZXMpIHtcbiAgICAgICAgbm9kZS5jaGlsZHJlbk5vZGVzID0gdGhpcy5jcmVhdGVCdXR0b25zRm9yVHJlZU5vZGVzKG5vZGUuY2hpbGRyZW5Ob2Rlcyk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIG5vZGVzO1xuICB9XG5cbiAgYXN5bmMgZG9BY3Rpb24oYXJnczogYW55W10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBsZXQgdWlBY3Rpb246IFVpQWN0aW9uID0gYXJnc1swXTtcbiAgICBsZXQgbm9kZVV1aWQ6IHN0cmluZyA9IGFyZ3NbMV07XG5cbiAgICBpZiAodWlBY3Rpb24ucGFyYW1zKSB7XG4gICAgICB1aUFjdGlvbi5wYXJhbXNbJ25vZGVVdWlkJ10gPSBub2RlVXVpZDtcbiAgICB9IGVsc2Uge1xuICAgICAgdWlBY3Rpb24ucGFyYW1zID0ge1xuICAgICAgICBub2RlVXVpZDogbm9kZVV1aWQsXG4gICAgICB9O1xuICAgIH1cblxuICAgIGxldCB1aUFjdGlvbk1vZGVsOiBVaUFjdGlvbk1vZGVsID0ge1xuICAgICAgc2VydmljZVRvVXNlOiB0aGlzLFxuICAgICAgdWlBY3Rpb24sXG4gICAgfTtcbiAgICB0aGlzLnVpQWN0aW9uU2VydmljZS5leGVjdXRlKHVpQWN0aW9uLCB1aUFjdGlvbk1vZGVsKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRBbGxOb2Rlcyhub2RlczogU21hcnRUcmVlTm9kZVtdKTogU21hcnRUcmVlTm9kZVtdIHtcbiAgICByZXR1cm4gbm9kZXMuZmxhdE1hcCgobikgPT4gW24sIC4uLnRoaXMuZ2V0QWxsTm9kZXMobi5jaGlsZHJlbk5vZGVzKV0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGNhY2hlQWN0aW9uRGVzY2lwdG9ycyhub2RlczogU21hcnRUcmVlTm9kZVtdKSB7XG4gICAgbGV0IG5ld1VpQWN0aW9ucyA9IG5ldyBTZXQ8VWlBY3Rpb24+KCk7XG4gICAgbm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgbm9kZS5hY3Rpb25zXG4gICAgICAgID8uZmlsdGVyKCh1aUFjdGlvbjogVWlBY3Rpb24pID0+ICF0aGlzLnVpQWN0aW9uRGVzY3JpcHRvcnMuZ2V0KHVpQWN0aW9uLmNvZGUhKSlcbiAgICAgICAgLmZvckVhY2goKGFjdGlvbikgPT4gbmV3VWlBY3Rpb25zLmFkZChhY3Rpb24pKTtcbiAgICB9KTtcbiAgICBmb3IgKGxldCBhY3Rpb24gb2YgbmV3VWlBY3Rpb25zKSB7XG4gICAgICBpZiAoIXRoaXMudWlBY3Rpb25EZXNjcmlwdG9ycy5nZXQoYWN0aW9uLmNvZGUhKSkge1xuICAgICAgICBsZXQgZGVzY3JpcHRvciA9IGF3YWl0IHRoaXMudWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZS5nZXRBY3Rpb25EZXNjcmlwdG9yKGFjdGlvbik7XG4gICAgICAgIHRoaXMudWlBY3Rpb25EZXNjcmlwdG9ycy5zZXQoYWN0aW9uLmNvZGUhLCBkZXNjcmlwdG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZ2V0TGFiZWxCeUFjdGlvbihhY3Rpb246IFVpQWN0aW9uKTogc3RyaW5nIHtcbiAgICBsZXQgZGVzYyA9IHRoaXMudWlBY3Rpb25EZXNjcmlwdG9ycy5nZXQoYWN0aW9uLmNvZGUhKTtcbiAgICByZXR1cm4gZGVzYyEudGl0bGU7XG4gIH1cblxuICAvLyAjcmVnaW9uIFVzZVVpQWN0aW9uXG4gIGdldEFkZGl0aW9uYWxQYXJhbXModWlBY3Rpb246IFVpQWN0aW9uKTogVWlBY3Rpb25BZGRpdGlvbmFsUGFyYW1zIHtcbiAgICBpZiAodWlBY3Rpb24ucGFyYW1zICYmIHVpQWN0aW9uLnBhcmFtc1snbm9kZVV1aWQnXSkge1xuICAgICAgbGV0IG5vZGVVdWlkID0gdWlBY3Rpb24ucGFyYW1zIVsnbm9kZVV1aWQnXTtcblxuICAgICAgbGV0IG5vZGVOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICBpZiAodWlBY3Rpb24uY29kZSA9PT0gJ1JFTkFNRScpIHtcbiAgICAgICAgbm9kZU5hbWUgPSB0aGlzLmRlZXBTZWFyY2hUcmVlTm9kZShub2RlVXVpZCwgdGhpcy50cmVlRnJvbUJhY2tlbmQhKT8uY2FwdGlvbjtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZm9yVGV4dEFyZWE6ICcnLFxuICAgICAgICBmb3JUZXh0RmllbGQ6IG5vZGVOYW1lID8gbm9kZU5hbWUgOiAnJyxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGZvclRleHRBcmVhOiAnJyxcbiAgICAgIGZvclRleHRGaWVsZDogJycsXG4gICAgfTtcbiAgfVxuICBnZXRNb2RlbCgpIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBhc3luYyBwZXJmb3JtVWlBY3Rpb25SZXF1ZXN0KHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0KTogUHJvbWlzZTxhbnk+IHtcbiAgICBpZiAodWlBY3Rpb25SZXF1ZXN0LnBhcmFtc1snbm9kZVV1aWQnXSkge1xuICAgICAgYXdhaXQgdGhpcy5wZXJmb3JtTm9kZVVpQWN0aW9uUmVxdWVzdCh1aUFjdGlvblJlcXVlc3QpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhd2FpdCB0aGlzLnBlcmZvcm1NYWluVWlBY3Rpb25SZXF1ZXN0KHVpQWN0aW9uUmVxdWVzdCk7XG4gICAgfVxuXG4gICAgLy9hd2FpdCB0aGlzLnZpZXdDb250ZXh0LmdldEFuZFN5bmNWaWV3Q29udGV4dCgpO1xuXG4gICAgdGhpcy5zeW5jVHJlZSgpO1xuICB9XG5cbiAgYXN5bmMgcGVyZm9ybU5vZGVVaUFjdGlvblJlcXVlc3QodWlBY3Rpb25SZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3QpOiBQcm9taXNlPGFueT4ge1xuICAgIGxldCBub2RlSWQgPSB1aUFjdGlvblJlcXVlc3QucGFyYW1zWydub2RlVXVpZCddO1xuICAgIGRlbGV0ZSB1aUFjdGlvblJlcXVlc3QucGFyYW1zWydub2RlVXVpZCddO1xuXG4gICAgbGV0IHZpZXdVdWlkID0gdGhpcy52aWV3Q29udGV4dC5nZXRVdWlkT2ZQYWdlKHRoaXMucGFnZU5hbWUpO1xuXG4gICAgdGhpcy50cmVlRnJvbUJhY2tlbmQgPSBhd2FpdCB0aGlzLnZpZXdDb250ZXh0LmhhbmRsZVBlcmZvcm1BY3Rpb25SZXNwb25zZShcbiAgICAgIGF3YWl0IHRoaXMuc2VydmljZS5wZXJmb3JtQWN0aW9uMih2aWV3VXVpZCwgdGhpcy50cmVlSWQhLCBub2RlSWQsIHVpQWN0aW9uUmVxdWVzdCkudG9Qcm9taXNlKClcbiAgICApO1xuICB9XG4gIGFzeW5jIHBlcmZvcm1NYWluVWlBY3Rpb25SZXF1ZXN0KHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0KTogUHJvbWlzZTxhbnk+IHtcbiAgICBsZXQgdmlld1V1aWQgPSB0aGlzLnZpZXdDb250ZXh0LmdldFV1aWRPZlBhZ2UodGhpcy5wYWdlTmFtZSk7XG5cbiAgICB0aGlzLnRyZWVGcm9tQmFja2VuZCA9IGF3YWl0IHRoaXMudmlld0NvbnRleHQuaGFuZGxlUGVyZm9ybUFjdGlvblJlc3BvbnNlKFxuICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLnBlcmZvcm1NYWluQWN0aW9uMih2aWV3VXVpZCwgdGhpcy50cmVlSWQhLCB1aUFjdGlvblJlcXVlc3QpLnRvUHJvbWlzZSgpXG4gICAgKTtcbiAgfVxuXG4gIGhhbmRsZVNwZWNpZmljRGVtYW5kc0FzeW5jaHJvbm91c2x5KFxuICAgIHVpQWN0aW9uOiBVaUFjdGlvbixcbiAgICB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdFxuICApOiBQcm9taXNlPFVpQWN0aW9uU3BlY2lmaWNEZW1hbmRSZXNwb25zZT4ge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuICAvLyAjZW5kcmVnaW9uXG59XG4iXX0=
289
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR0cmVlLWdlbmVyaWMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LXRyZWUvc21hcnR0cmVlLWdlbmVyaWMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQ0wsdUJBQXVCLEVBSXZCLHlCQUF5QixFQUd6QixlQUFlLEdBR2hCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBaUIsdUJBQXVCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBVXhDLE1BQU0sT0FBTyx1QkFDWCxTQUFRLGdCQUFpQztJQWlCekMsWUFDRSxNQUFnQixFQUNjLFFBQWdCLEVBQzVCLE1BQWMsRUFDQSxZQUFxQjtRQUVyRCxLQUFLLEVBQUUsQ0FBQztRQUpzQixhQUFRLEdBQVIsUUFBUSxDQUFRO1FBRWQsaUJBQVksR0FBWixZQUFZLENBQVM7UUFsQnZELHlCQUF5QjtRQUN6QixXQUFNLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFDdEMsd0JBQW1CLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7UUFFbkQsd0JBQW1CLEdBQW9DLElBQUksR0FBRyxFQUFFLENBQUM7UUFpQi9ELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBRXJCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ2pCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXZDLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMseUJBQXlCLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBRXZFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsdUJBQXVCLENBQUMsU0FBcUI7UUFDM0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBa0IsRUFBRSxFQUFFO1lBQ3pELE9BQU87Z0JBQ0wsWUFBWSxFQUFFLElBQUk7Z0JBQ2xCLFFBQVE7YUFDVCxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLGFBQXFDO1FBQ2pELElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQztRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FBQyxRQUFRLENBQUM7SUFDekMsQ0FBQztJQUVRLEtBQUssQ0FBQyxVQUFVO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUM7WUFDMUMsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBMEIsRUFBRSxFQUFFO2dCQUM1RCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQztvQkFDaEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUM7b0JBQ2pDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDbEIsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUFDUSxLQUFLLENBQUMsWUFBWTtRQUN6QixJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUyxDQUFDLENBQUM7UUFDMUQsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLDJCQUEyQixDQUNsRSxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQ2pFLENBQUM7UUFDRixNQUFNLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsMkJBQTJCLENBQ2xFLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFPLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FDbkUsQ0FBQztRQUVGLElBQUksU0FBUyxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUVELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUM5QyxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUNRLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxVQUF5QjtRQUN2RCxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUyxDQUFDLENBQUM7UUFDMUQsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLDJCQUEyQixDQUNqRSxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFPLEVBQUUsVUFBVSxDQUFDLFVBQVcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUM3RixDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsVUFBVSxDQUFDLFVBQVUsMEJBQTBCLENBQUMsQ0FBQztRQUMzRixDQUFDO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUNRLEtBQUssQ0FBQyxjQUFjLENBQUMsUUFBdUI7UUFDbkQsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVMsQ0FBQyxDQUFDO1FBRTlELElBQUksUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDO1lBQ3ZCLElBQUksWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQywyQkFBMkIsQ0FDbkUsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU8sRUFBRSxRQUFRLENBQUMsVUFBVyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQzNGLENBQUM7WUFDRixRQUFRLEdBQUcsWUFBYSxDQUFDO1FBQzNCLENBQUM7YUFBTSxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDO1lBQy9CLElBQUksWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQywyQkFBMkIsQ0FDbkUsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQzFGLENBQUM7WUFDRixRQUFRLEdBQUcsWUFBYSxDQUFDO1FBQzNCLENBQUM7UUFDRCxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLFVBQVcsRUFBRSxJQUFJLENBQUMsZUFBZ0IsQ0FBQyxDQUFDO1FBRWpGLElBQUssQ0FBQyxRQUFRLEdBQUcsUUFBUSxFQUFFLFFBQVEsQ0FBQztRQUNwQyxJQUFLLENBQUMsYUFBYSxHQUFHLFFBQVEsRUFBRSxhQUFhLENBQUM7UUFDOUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFDUSxlQUFlLENBQUMsUUFBdUI7UUFDOUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDRCxLQUFLLENBQUMsWUFBWSxDQUFDLFNBQWlCLEVBQUUsUUFBd0I7UUFDNUQsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVMsQ0FBQyxDQUFDO1FBRTlELElBQUksZUFBZSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQywyQkFBMkIsQ0FDdEUsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU8sRUFBRSxRQUFTLENBQUMsVUFBVyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQzFGLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7UUFDckMsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsZUFBZSxDQUFDO1FBQ3BDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLEVBQUUsVUFBVyxFQUFFLElBQUksQ0FBQyxlQUFnQixDQUFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsTUFBTSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFFBQVEsR0FBRyxlQUFlLEVBQUUsUUFBUyxDQUFDO1FBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsZUFBZSxFQUFFLGFBQWMsQ0FBQztRQUNyRCxJQUFJLENBQUMsUUFBUSxHQUFHLGVBQWUsRUFBRSxRQUFTLENBQUM7UUFDM0MsUUFBUSxHQUFHLGVBQWUsQ0FBQztRQUMzQixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEIsZ0ZBQWdGO0lBQ2xGLENBQUM7SUFFRCxLQUFLLENBQUMsa0JBQWtCO1FBQ3RCLE1BQU0sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFUSxLQUFLLENBQUMsUUFBUTtRQUNyQixJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxlQUFlLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDeEUsNERBQTREO1lBQzVELE9BQU8sQ0FBQyxJQUFJLENBQUMsb0RBQW9ELENBQUMsQ0FBQztZQUNuRSxPQUFPO1FBQ1QsQ0FBQztRQUNELE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGVBQWdCLENBQUMsQ0FBQyxDQUFDO1FBRTFFLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLGNBQWMsR0FBRztnQkFDcEIsU0FBUyxFQUFFLEVBQUU7YUFDZCxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksY0FBYyxHQUFvQixJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQzNGLElBQUksQ0FBQyxjQUFjLEdBQUcsU0FBUyxDQUFDO1FBRWhDLElBQUksQ0FBQyxjQUFjLEdBQUc7WUFDcEIsVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ3ZCLFNBQVMsRUFBRSxFQUFFO1NBQ2QsQ0FBQztRQUNGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRXJELElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxHQUFHLGNBQWMsQ0FBQztRQUUvQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFakQsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELGtCQUFrQixDQUFDLFVBQWtCLEVBQUUsS0FBc0I7UUFDM0QsSUFBSSxRQUFtQyxDQUFDO1FBQ3hDLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDbEQsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRTFCLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxVQUFVLEVBQUUsQ0FBQztnQkFDbkMsUUFBUSxHQUFHLElBQUksQ0FBQztnQkFDaEIsTUFBTTtZQUNSLENBQUM7WUFDRCxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDcEQsUUFBUSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUNuRSxJQUFJLFFBQVEsRUFBRSxDQUFDO29CQUNiLE1BQU07Z0JBQ1IsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFzQjtRQUNqQyxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFtQixFQUFFLEVBQUU7WUFDM0MsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO2dCQUN6QixPQUFPO1lBQ1QsQ0FBQztpQkFBTSxJQUFJLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDM0QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUMvQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQseUJBQXlCLENBQUMsS0FBc0I7UUFDOUMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksSUFBSSxXQUFXLENBQUM7UUFFNUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQW1CLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTTtnQkFDaEMsQ0FBQyxDQUFDO29CQUNFLElBQUksRUFBRSx1QkFBdUIsQ0FBQyxJQUFJO29CQUNsQyxJQUFJLEVBQUUsSUFBSTtvQkFDVixlQUFlLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFnQixFQUFFLEVBQUU7d0JBQ3JELE9BQU87NEJBQ0wsSUFBSSxFQUFFLHVCQUF1QixDQUFDLE1BQU07NEJBQ3BDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSTs0QkFDakIsS0FBSyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7NEJBQ3BDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7NEJBQ2xDLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDO3lCQUNoQyxDQUFDO29CQUNKLENBQUMsQ0FBQztpQkFDSDtnQkFDSCxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7WUFDdEIsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUMxRSxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxLQUFLLENBQUMsUUFBUSxDQUFDLElBQVc7UUFDeEIsSUFBSSxRQUFRLEdBQWEsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLElBQUksUUFBUSxHQUFXLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUUvQixJQUFJLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwQixRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLFFBQVEsQ0FBQztRQUN6QyxDQUFDO2FBQU0sQ0FBQztZQUNOLFFBQVEsQ0FBQyxNQUFNLEdBQUc7Z0JBQ2hCLFFBQVEsRUFBRSxRQUFRO2FBQ25CLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxhQUFhLEdBQWtCO1lBQ2pDLFlBQVksRUFBRSxJQUFJO1lBQ2xCLFFBQVE7U0FDVCxDQUFDO1FBQ0YsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFUyxXQUFXLENBQUMsS0FBc0I7UUFDMUMsT0FBTyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRVMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLEtBQXNCO1FBQzFELElBQUksWUFBWSxHQUFHLElBQUksR0FBRyxFQUFZLENBQUM7UUFDdkMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3JCLElBQUksQ0FBQyxPQUFPO2dCQUNWLEVBQUUsTUFBTSxDQUFDLENBQUMsUUFBa0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFLLENBQUMsQ0FBQztpQkFDOUUsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQUM7UUFDSCxLQUFLLElBQUksTUFBTSxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNoRCxJQUFJLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDbEYsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ3pELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUNELGdCQUFnQixDQUFDLE1BQWdCO1FBQy9CLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUssQ0FBQyxDQUFDO1FBQ3RELE9BQU8sSUFBSyxDQUFDLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsc0JBQXNCO0lBQ3RCLG1CQUFtQixDQUFDLFFBQWtCO1FBQ3BDLElBQUksUUFBUSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDbkQsSUFBSSxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUU1QyxJQUFJLFFBQTRCLENBQUM7WUFDakMsSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUMvQixRQUFRLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsZUFBZ0IsQ0FBQyxFQUFFLE9BQU8sQ0FBQztZQUMvRSxDQUFDO1lBRUQsT0FBTztnQkFDTCxXQUFXLEVBQUUsRUFBRTtnQkFDZixZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUU7YUFDdkMsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPO1lBQ0wsV0FBVyxFQUFFLEVBQUU7WUFDZixZQUFZLEVBQUUsRUFBRTtTQUNqQixDQUFDO0lBQ0osQ0FBQztJQUNELFFBQVE7UUFDTixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxLQUFLLENBQUMsc0JBQXNCLENBQUMsZUFBZ0M7UUFDM0QsSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDdkMsTUFBTSxJQUFJLENBQUMsMEJBQTBCLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDekQsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBRUQsaURBQWlEO1FBRWpELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRUQsS0FBSyxDQUFDLDBCQUEwQixDQUFDLGVBQWdDO1FBQy9ELElBQUksTUFBTSxHQUFHLGVBQWUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEQsT0FBTyxlQUFlLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTFDLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU3RCxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQywyQkFBMkIsQ0FDdkUsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU8sRUFBRSxNQUFNLEVBQUUsZUFBZSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQy9GLENBQUM7SUFDSixDQUFDO0lBQ0QsS0FBSyxDQUFDLDBCQUEwQixDQUFDLGVBQWdDO1FBQy9ELElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU3RCxJQUFJLENBQUMsZUFBZSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQywyQkFBMkIsQ0FDdkUsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUMzRixDQUFDO0lBQ0osQ0FBQztJQUVELG1DQUFtQyxDQUNqQyxRQUFrQixFQUNsQixlQUFnQztRQUVoQyxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQzsrR0EvVVUsdUJBQXVCLDBDQW9CeEIsVUFBVSxhQUNWLFFBQVEsYUFDUixjQUFjO21IQXRCYix1QkFBdUIsY0FGdEIsTUFBTTs7NEZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBcUJJLE1BQU07MkJBQUMsVUFBVTs7MEJBQ2pCLE1BQU07MkJBQUMsUUFBUTs7MEJBQ2YsTUFBTTsyQkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlLFxyXG4gIFVpQWN0aW9uLFxyXG4gIFVpQWN0aW9uQWRkaXRpb25hbFBhcmFtcyxcclxuICBVaUFjdGlvbkRlc2NyaXB0b3IsXHJcbiAgVWlBY3Rpb25EZXNjcmlwdG9yU2VydmljZSxcclxuICBVaUFjdGlvbk1vZGVsLFxyXG4gIFVpQWN0aW9uUmVxdWVzdCxcclxuICBVaUFjdGlvblNlcnZpY2UsXHJcbiAgVWlBY3Rpb25TcGVjaWZpY0RlbWFuZFJlc3BvbnNlLFxyXG4gIFVzZVVpQWN0aW9uLFxyXG59IGZyb20gJy4uL3ZpZXctY29udGV4dC9wcm9qZWN0cyc7XHJcbmltcG9ydCB7IFRyZWVTZXJ2aWNlIH0gZnJvbSAnLi90cmVlLWFwaS9hcGkvdHJlZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU21hcnRUcmVlTm9kZSwgU21hcnRUcmVlTm9kZUJ1dHRvblR5cGUgfSBmcm9tICcuL3NtYXJ0dHJlZS5tb2RlbCc7XHJcbmltcG9ydCB7IFNtYXJ0dHJlZVNlcnZpY2UgfSBmcm9tICcuL3NtYXJ0dHJlZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWVwRXF1YWwgfSBmcm9tICdmYXN0LWVxdWFscyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0dHJlZUNvbmZpZ3VyYXRpb24ge1xyXG4gIHRyZWVpZDogc3RyaW5nO1xyXG4gIHBhZ2VOYW1lOiBzdHJpbmc7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydHRyZWVHZW5lcmljU2VydmljZVxyXG4gIGV4dGVuZHMgU21hcnR0cmVlU2VydmljZTxTbWFydFRyZWVOb2RlW10+XHJcbiAgaW1wbGVtZW50cyBVc2VVaUFjdGlvblxyXG57XHJcbiAgLy8gVXNlVWlBY3Rpb24gcHJvcGVydGllc1xyXG4gIHN1Ym1pdDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcmVTdWJzY3JpYmVUb0NoYW5nZTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIHVpQWN0aW9uRGVzY3JpcHRvcnM6IE1hcDxzdHJpbmcsIFVpQWN0aW9uRGVzY3JpcHRvcj4gPSBuZXcgTWFwKCk7XHJcblxyXG4gIHNlbGVjdGVkTm9kZT86IFNtYXJ0VHJlZU5vZGU7XHJcblxyXG4gIHByb3RlY3RlZCB2aWV3Q29udGV4dCE6IFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlO1xyXG4gIHByaXZhdGUgc2VydmljZSE6IFRyZWVTZXJ2aWNlO1xyXG5cclxuICBwcml2YXRlIHVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UhOiBVaUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlO1xyXG4gIHByaXZhdGUgdWlBY3Rpb25TZXJ2aWNlITogVWlBY3Rpb25TZXJ2aWNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIGluamVjdDogSW5qZWN0b3IsXHJcbiAgICBASW5qZWN0KCdwYWdlTmFtZScpIHByb3RlY3RlZCBwYWdlTmFtZTogc3RyaW5nLFxyXG4gICAgQEluamVjdCgndHJlZUlkJykgdHJlZUlkOiBzdHJpbmcsXHJcbiAgICBASW5qZWN0KCd0cmVlTWVudUljb24nKSBwcml2YXRlIHRyZWVNZW51SWNvbj86IHN0cmluZ1xyXG4gICkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMudHJlZUlkID0gdHJlZUlkO1xyXG5cclxuICAgIGlmICghdGhpcy50cmVlTWVudUljb24pIHtcclxuICAgICAgdGhpcy50cmVlTWVudUljb24gPSBpbmplY3QuZ2V0KCd0cmVlTWVudUljb24nKTtcclxuICAgIH1cclxuICAgIHRoaXMuY29uZmlndXJlVHJlZSh7XHJcbiAgICAgIHBhZ2VOYW1lOiB0aGlzLnBhZ2VOYW1lLFxyXG4gICAgICB0cmVlaWQ6IHRoaXMudHJlZUlkLFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy52aWV3Q29udGV4dCA9IGluamVjdC5nZXQoU21hcnRWaWV3Q29udGV4dFNlcnZpY2UpO1xyXG4gICAgdGhpcy5zZXJ2aWNlID0gaW5qZWN0LmdldChUcmVlU2VydmljZSk7XHJcblxyXG4gICAgdGhpcy51aUFjdGlvblNlcnZpY2UgPSBpbmplY3QuZ2V0KFVpQWN0aW9uU2VydmljZSk7XHJcbiAgICB0aGlzLnVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UgPSBpbmplY3QuZ2V0KFVpQWN0aW9uRGVzY3JpcHRvclNlcnZpY2UpO1xyXG5cclxuICAgIHRoaXMuaW5pdGlhbGl6ZSgpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0VWlBY3Rpb25Nb2RlbHModWlBY3Rpb25zOiBVaUFjdGlvbltdKTogdm9pZCB7XHJcbiAgICB0aGlzLnVpQWN0aW9uTW9kZWxzID0gdWlBY3Rpb25zLm1hcCgodWlBY3Rpb246IFVpQWN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgc2VydmljZVRvVXNlOiB0aGlzLFxyXG4gICAgICAgIHVpQWN0aW9uLFxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBjb25maWd1cmVUcmVlKGNvbmZpZ3VyYXRpb246IFNtYXJ0dHJlZUNvbmZpZ3VyYXRpb24pOiB2b2lkIHtcclxuICAgIHRoaXMudHJlZUlkID0gY29uZmlndXJhdGlvbi50cmVlaWQ7XHJcbiAgICB0aGlzLnBhZ2VOYW1lID0gY29uZmlndXJhdGlvbi5wYWdlTmFtZTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGFzeW5jIGluaXRpYWxpemUoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy52aWV3Q29udGV4dC5oYXNWaWV3Q29udGV4dFV1aWQoKSkge1xyXG4gICAgICBhd2FpdCB0aGlzLmRvd25sb2FkVHJlZSgpLnRoZW4oKHJvb3ROb2RlczogU21hcnRUcmVlTm9kZVtdKSA9PiB7XHJcbiAgICAgICAgaWYgKCFkZWVwRXF1YWwodGhpcy50cmVlRnJvbUJhY2tlbmQsIHJvb3ROb2RlcykpIHtcclxuICAgICAgICAgIHRoaXMudHJlZUZyb21CYWNrZW5kID0gcm9vdE5vZGVzO1xyXG4gICAgICAgICAgdGhpcy5zeW5jVHJlZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG92ZXJyaWRlIGFzeW5jIGRvd25sb2FkVHJlZSgpOiBQcm9taXNlPFNtYXJ0VHJlZU5vZGVbXT4ge1xyXG4gICAgbGV0IHV1aWQgPSB0aGlzLnZpZXdDb250ZXh0LmdldFV1aWRPZlBhZ2UodGhpcy5wYWdlTmFtZSEpO1xyXG4gICAgY29uc3Qgcm9vdE5vZGVzID0gYXdhaXQgdGhpcy52aWV3Q29udGV4dC5oYW5kbGVQZXJmb3JtQWN0aW9uUmVzcG9uc2UoXHJcbiAgICAgIGF3YWl0IHRoaXMuc2VydmljZS5nZXRSb290Tm9kZXMyKHV1aWQsIHRoaXMudHJlZUlkISkudG9Qcm9taXNlKClcclxuICAgICk7XHJcbiAgICBjb25zdCB1aUFjdGlvbnMgPSBhd2FpdCB0aGlzLnZpZXdDb250ZXh0LmhhbmRsZVBlcmZvcm1BY3Rpb25SZXNwb25zZShcclxuICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLmdldE1haW5BY3Rpb25zMih1dWlkLCB0aGlzLnRyZWVJZCEpLnRvUHJvbWlzZSgpXHJcbiAgICApO1xyXG5cclxuICAgIGlmICh1aUFjdGlvbnMpIHtcclxuICAgICAgdGhpcy5jb25zdHJ1Y3RVaUFjdGlvbk1vZGVscyh1aUFjdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghcm9vdE5vZGVzKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignUm9vdE5vZGVzIGFyZSB1bmRlZmluZWQhJyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcm9vdE5vZGVzO1xyXG4gIH1cclxuICBvdmVycmlkZSBhc3luYyBkb3dubG9hZENoaWxkcmVuKHBhcmVudE5vZGU6IFNtYXJ0VHJlZU5vZGUpOiBQcm9taXNlPFNtYXJ0VHJlZU5vZGVbXT4ge1xyXG4gICAgbGV0IHV1aWQgPSB0aGlzLnZpZXdDb250ZXh0LmdldFV1aWRPZlBhZ2UodGhpcy5wYWdlTmFtZSEpO1xyXG4gICAgY29uc3QgY2hpbGRyZW4gPSBhd2FpdCB0aGlzLnZpZXdDb250ZXh0LmhhbmRsZVBlcmZvcm1BY3Rpb25SZXNwb25zZShcclxuICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLmdldENoaWxkcmVuTm9kZXMyKHV1aWQsIHRoaXMudHJlZUlkISwgcGFyZW50Tm9kZS5pZGVudGlmaWVyISkudG9Qcm9taXNlKClcclxuICAgICk7XHJcbiAgICBpZiAoIWNoaWxkcmVuKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm9kZSB3aXRoIGlkZW50aWZpZXIgJHtwYXJlbnROb2RlLmlkZW50aWZpZXJ9IGRvZXMgbm90IGhhdmUgY2hpbGRyZW4uYCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGNoaWxkcmVuO1xyXG4gIH1cclxuICBvdmVycmlkZSBhc3luYyBvblRyZWVOb2RlT3Blbih0cmVlTm9kZTogU21hcnRUcmVlTm9kZSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgbGV0IHZpZXdVdWlkID0gdGhpcy52aWV3Q29udGV4dC5nZXRVdWlkT2ZQYWdlKHRoaXMucGFnZU5hbWUhKTtcclxuXHJcbiAgICBpZiAodHJlZU5vZGU/LmV4cGFuZGVkKSB7XHJcbiAgICAgIGxldCB0ZW1wVHJlZU5vZGUgPSBhd2FpdCB0aGlzLnZpZXdDb250ZXh0LmhhbmRsZVBlcmZvcm1BY3Rpb25SZXNwb25zZShcclxuICAgICAgICBhd2FpdCB0aGlzLnNlcnZpY2UuY29sbGFwc2VOb2RlMih2aWV3VXVpZCwgdGhpcy50cmVlSWQhLCB0cmVlTm9kZS5pZGVudGlmaWVyISkudG9Qcm9taXNlKClcclxuICAgICAgKTtcclxuICAgICAgdHJlZU5vZGUgPSB0ZW1wVHJlZU5vZGUhO1xyXG4gICAgfSBlbHNlIGlmICghdHJlZU5vZGU/LmV4cGFuZGVkKSB7XHJcbiAgICAgIGxldCB0ZW1wVHJlZU5vZGUgPSBhd2FpdCB0aGlzLnZpZXdDb250ZXh0LmhhbmRsZVBlcmZvcm1BY3Rpb25SZXNwb25zZShcclxuICAgICAgICBhd2FpdCB0aGlzLnNlcnZpY2UuZXhwYW5kTm9kZTIodmlld1V1aWQsIHRoaXMudHJlZUlkISwgdHJlZU5vZGU/LmlkZW50aWZpZXIhKS50b1Byb21pc2UoKVxyXG4gICAgICApO1xyXG4gICAgICB0cmVlTm9kZSA9IHRlbXBUcmVlTm9kZSE7XHJcbiAgICB9XHJcbiAgICBsZXQgbm9kZSA9IHRoaXMuZGVlcFNlYXJjaFRyZWVOb2RlKHRyZWVOb2RlPy5pZGVudGlmaWVyISwgdGhpcy50cmVlRnJvbUJhY2tlbmQhKTtcclxuXHJcbiAgICBub2RlIS5leHBhbmRlZCA9IHRyZWVOb2RlPy5leHBhbmRlZDtcclxuICAgIG5vZGUhLmNoaWxkcmVuTm9kZXMgPSB0cmVlTm9kZT8uY2hpbGRyZW5Ob2RlcztcclxuICAgIHRoaXMuc3luY1RyZWUoKTtcclxuICB9XHJcbiAgb3ZlcnJpZGUgb25UcmVlTm9kZUNsaWNrKHRyZWVOb2RlOiBTbWFydFRyZWVOb2RlKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdEZvbGRlcih0cmVlTm9kZS5pZGVudGlmaWVyISwgdHJlZU5vZGUpO1xyXG4gIH1cclxuICBhc3luYyBzZWxlY3RGb2xkZXIoZm9sZGVyVXJpOiBzdHJpbmcsIHRyZWVOb2RlPzogU21hcnRUcmVlTm9kZSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgbGV0IHZpZXdVdWlkID0gdGhpcy52aWV3Q29udGV4dC5nZXRVdWlkT2ZQYWdlKHRoaXMucGFnZU5hbWUhKTtcclxuXHJcbiAgICBsZXQgdXBkYXRlZFRyZWVOb2RlID0gYXdhaXQgdGhpcy52aWV3Q29udGV4dC5oYW5kbGVQZXJmb3JtQWN0aW9uUmVzcG9uc2UoXHJcbiAgICAgIGF3YWl0IHRoaXMuc2VydmljZS5zZWxlY3ROb2RlMih2aWV3VXVpZCwgdGhpcy50cmVlSWQhLCB0cmVlTm9kZSEuaWRlbnRpZmllciEpLnRvUHJvbWlzZSgpXHJcbiAgICApO1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWROb2RlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWROb2RlLnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkTm9kZSA9IHVwZGF0ZWRUcmVlTm9kZTtcclxuICAgIGxldCBub2RlID0gdGhpcy5kZWVwU2VhcmNoVHJlZU5vZGUodXBkYXRlZFRyZWVOb2RlPy5pZGVudGlmaWVyISwgdGhpcy50cmVlRnJvbUJhY2tlbmQhKTtcclxuICAgIGlmICghbm9kZSkge1xyXG4gICAgICB0aHJvdyBFcnJvcignVHJlZSBub2RlIGRvZXMgbm90IGV4aXN0Jyk7XHJcbiAgICB9XHJcbiAgICBub2RlLmV4cGFuZGVkID0gdXBkYXRlZFRyZWVOb2RlPy5leHBhbmRlZCE7XHJcbiAgICBub2RlLmNoaWxkcmVuTm9kZXMgPSB1cGRhdGVkVHJlZU5vZGU/LmNoaWxkcmVuTm9kZXMhO1xyXG4gICAgbm9kZS5zZWxlY3RlZCA9IHVwZGF0ZWRUcmVlTm9kZT8uc2VsZWN0ZWQhO1xyXG4gICAgdHJlZU5vZGUgPSB1cGRhdGVkVHJlZU5vZGU7XHJcbiAgICB0aGlzLnN5bmNUcmVlKCk7XHJcbiAgICAvL3RoaXMudmlld0NvbnRleHQuZ2V0QW5kU3luY1ZpZXdDb250ZXh0KHRoaXMudmlld0NvbnRleHQuZ2V0Vmlld0NvbnRleHRVdWlkKCkpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgdXBkYXRlVHJlZU9uVGhlRmx5KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgYXdhaXQgdGhpcy5pbml0aWFsaXplKCk7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBhc3luYyBzeW5jVHJlZSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLnRyZWVGcm9tQmFja2VuZCA9PT0gbnVsbCB8fCB0aGlzLnRyZWVGcm9tQmFja2VuZCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIC8vdGhyb3cgbmV3IEVycm9yKCdUaGVyZSBpcyBubyB0cmVlRnJvbUJhY2tlbmQgYXZhaWxhYmxlIScpO1xyXG4gICAgICBjb25zb2xlLndhcm4oJ1RoZXJlIGlzIG5vIHRyZWVGcm9tQmFja2VuZCBhdmFpbGFibGUgaW4gc3luY1RyZWUhJyk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGF3YWl0IHRoaXMuY2FjaGVBY3Rpb25EZXNjaXB0b3JzKHRoaXMuZ2V0QWxsTm9kZXModGhpcy50cmVlRnJvbUJhY2tlbmQhKSk7XHJcblxyXG4gICAgaWYgKCF0aGlzLnNtYXJ0VHJlZU1vZGVsKSB7XHJcbiAgICAgIHRoaXMuc21hcnRUcmVlTW9kZWwgPSB7XHJcbiAgICAgICAgcm9vdE5vZGVzOiBbXSxcclxuICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgc21hcnRUcmVlTm9kZXM6IFNtYXJ0VHJlZU5vZGVbXSA9IHRoaXMuY3JlYXRlQnV0dG9uc0ZvclRyZWVOb2Rlcyh0aGlzLnRyZWVGcm9tQmFja2VuZCk7XHJcbiAgICB0aGlzLnNtYXJ0VHJlZU1vZGVsID0gdW5kZWZpbmVkO1xyXG5cclxuICAgIHRoaXMuc21hcnRUcmVlTW9kZWwgPSB7XHJcbiAgICAgIGlkZW50aWZpZXI6IHRoaXMudHJlZUlkLFxyXG4gICAgICByb290Tm9kZXM6IFtdLFxyXG4gICAgfTtcclxuICAgIHRoaXMuc21hcnRUcmVlTW9kZWxDaGFuZ2VkLm5leHQodGhpcy5zbWFydFRyZWVNb2RlbCk7XHJcblxyXG4gICAgdGhpcy5zbWFydFRyZWVNb2RlbC5yb290Tm9kZXMgPSBzbWFydFRyZWVOb2RlcztcclxuXHJcbiAgICB0aGlzLmZpbmRTZWxlY3RlZCh0aGlzLnNtYXJ0VHJlZU1vZGVsLnJvb3ROb2Rlcyk7XHJcblxyXG4gICAgdGhpcy5zbWFydFRyZWVNb2RlbENoYW5nZWQubmV4dCh0aGlzLnNtYXJ0VHJlZU1vZGVsKTtcclxuICB9XHJcblxyXG4gIGRlZXBTZWFyY2hUcmVlTm9kZShpZGVudGlmaWVyOiBzdHJpbmcsIG5vZGVzOiBTbWFydFRyZWVOb2RlW10pOiBTbWFydFRyZWVOb2RlIHwgdW5kZWZpbmVkIHtcclxuICAgIGxldCB0cmVlTm9kZTogU21hcnRUcmVlTm9kZSB8IHVuZGVmaW5lZDtcclxuICAgIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBub2Rlcy5sZW5ndGg7IGluZGV4KyspIHtcclxuICAgICAgY29uc3Qgbm9kZSA9IG5vZGVzW2luZGV4XTtcclxuXHJcbiAgICAgIGlmIChub2RlLmlkZW50aWZpZXIgPT09IGlkZW50aWZpZXIpIHtcclxuICAgICAgICB0cmVlTm9kZSA9IG5vZGU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKG5vZGUuY2hpbGRyZW5Ob2RlcyAmJiBub2RlLmNoaWxkcmVuTm9kZXMubGVuZ3RoKSB7XHJcbiAgICAgICAgdHJlZU5vZGUgPSB0aGlzLmRlZXBTZWFyY2hUcmVlTm9kZShpZGVudGlmaWVyLCBub2RlLmNoaWxkcmVuTm9kZXMpO1xyXG4gICAgICAgIGlmICh0cmVlTm9kZSkge1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJlZU5vZGU7XHJcbiAgfVxyXG5cclxuICBmaW5kU2VsZWN0ZWQobm9kZXM6IFNtYXJ0VHJlZU5vZGVbXSk6IHZvaWQge1xyXG4gICAgcmV0dXJuIG5vZGVzLmZvckVhY2goKG5vZGU6IFNtYXJ0VHJlZU5vZGUpID0+IHtcclxuICAgICAgaWYgKG5vZGUuc2VsZWN0ZWQpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZSA9IG5vZGU7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9IGVsc2UgaWYgKG5vZGUuY2hpbGRyZW5Ob2RlcyAmJiBub2RlLmNoaWxkcmVuTm9kZXMubGVuZ3RoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuZmluZFNlbGVjdGVkKG5vZGUuY2hpbGRyZW5Ob2Rlcyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlQnV0dG9uc0ZvclRyZWVOb2Rlcyhub2RlczogU21hcnRUcmVlTm9kZVtdKTogU21hcnRUcmVlTm9kZVtdIHtcclxuICAgIGxldCBpY29uID0gdGhpcy50cmVlTWVudUljb24gPz8gJ21vcmVfdmVydCc7XHJcblxyXG4gICAgbm9kZXMubWFwKChub2RlOiBTbWFydFRyZWVOb2RlKSA9PiB7XHJcbiAgICAgIG5vZGUuYnV0dG9uID0gbm9kZS5hY3Rpb25zPy5sZW5ndGhcclxuICAgICAgICA/IHtcclxuICAgICAgICAgICAgdHlwZTogU21hcnRUcmVlTm9kZUJ1dHRvblR5cGUuTUVOVSxcclxuICAgICAgICAgICAgaWNvbjogaWNvbixcclxuICAgICAgICAgICAgbWVudUl0ZW1CdXR0b25zOiBub2RlLmFjdGlvbnMubWFwKChhY3Rpb246IFVpQWN0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IFNtYXJ0VHJlZU5vZGVCdXR0b25UeXBlLk5PUk1BTCxcclxuICAgICAgICAgICAgICAgIGNvZGU6IGFjdGlvbi5jb2RlLFxyXG4gICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMuZ2V0TGFiZWxCeUFjdGlvbihhY3Rpb24pLFxyXG4gICAgICAgICAgICAgICAgY2FsbGJhY2s6IHRoaXMuZG9BY3Rpb24uYmluZCh0aGlzKSxcclxuICAgICAgICAgICAgICAgIGFyZ3M6IFthY3Rpb24sIG5vZGUuaWRlbnRpZmllcl0sXHJcbiAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgOiB1bmRlZmluZWQ7XHJcbiAgICAgIG5vZGUuaWNvbiA9ICdGb2xkZXJzJztcclxuICAgICAgaWYgKG5vZGUuY2hpbGRyZW5Ob2Rlcykge1xyXG4gICAgICAgIG5vZGUuY2hpbGRyZW5Ob2RlcyA9IHRoaXMuY3JlYXRlQnV0dG9uc0ZvclRyZWVOb2Rlcyhub2RlLmNoaWxkcmVuTm9kZXMpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBub2RlcztcclxuICB9XHJcblxyXG4gIGFzeW5jIGRvQWN0aW9uKGFyZ3M6IGFueVtdKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBsZXQgdWlBY3Rpb246IFVpQWN0aW9uID0gYXJnc1swXTtcclxuICAgIGxldCBub2RlVXVpZDogc3RyaW5nID0gYXJnc1sxXTtcclxuXHJcbiAgICBpZiAodWlBY3Rpb24ucGFyYW1zKSB7XHJcbiAgICAgIHVpQWN0aW9uLnBhcmFtc1snbm9kZVV1aWQnXSA9IG5vZGVVdWlkO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdWlBY3Rpb24ucGFyYW1zID0ge1xyXG4gICAgICAgIG5vZGVVdWlkOiBub2RlVXVpZCxcclxuICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgdWlBY3Rpb25Nb2RlbDogVWlBY3Rpb25Nb2RlbCA9IHtcclxuICAgICAgc2VydmljZVRvVXNlOiB0aGlzLFxyXG4gICAgICB1aUFjdGlvbixcclxuICAgIH07XHJcbiAgICB0aGlzLnVpQWN0aW9uU2VydmljZS5leGVjdXRlKHVpQWN0aW9uLCB1aUFjdGlvbk1vZGVsKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRBbGxOb2Rlcyhub2RlczogU21hcnRUcmVlTm9kZVtdKTogU21hcnRUcmVlTm9kZVtdIHtcclxuICAgIHJldHVybiBub2Rlcy5mbGF0TWFwKChuKSA9PiBbbiwgLi4udGhpcy5nZXRBbGxOb2RlcyhuLmNoaWxkcmVuTm9kZXMpXSk7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYXN5bmMgY2FjaGVBY3Rpb25EZXNjaXB0b3JzKG5vZGVzOiBTbWFydFRyZWVOb2RlW10pIHtcclxuICAgIGxldCBuZXdVaUFjdGlvbnMgPSBuZXcgU2V0PFVpQWN0aW9uPigpO1xyXG4gICAgbm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xyXG4gICAgICBub2RlLmFjdGlvbnNcclxuICAgICAgICA/LmZpbHRlcigodWlBY3Rpb246IFVpQWN0aW9uKSA9PiAhdGhpcy51aUFjdGlvbkRlc2NyaXB0b3JzLmdldCh1aUFjdGlvbi5jb2RlISkpXHJcbiAgICAgICAgLmZvckVhY2goKGFjdGlvbikgPT4gbmV3VWlBY3Rpb25zLmFkZChhY3Rpb24pKTtcclxuICAgIH0pO1xyXG4gICAgZm9yIChsZXQgYWN0aW9uIG9mIG5ld1VpQWN0aW9ucykge1xyXG4gICAgICBpZiAoIXRoaXMudWlBY3Rpb25EZXNjcmlwdG9ycy5nZXQoYWN0aW9uLmNvZGUhKSkge1xyXG4gICAgICAgIGxldCBkZXNjcmlwdG9yID0gYXdhaXQgdGhpcy51aUFjdGlvbkRlc2NyaXB0b3JTZXJ2aWNlLmdldEFjdGlvbkRlc2NyaXB0b3IoYWN0aW9uKTtcclxuICAgICAgICB0aGlzLnVpQWN0aW9uRGVzY3JpcHRvcnMuc2V0KGFjdGlvbi5jb2RlISwgZGVzY3JpcHRvcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgZ2V0TGFiZWxCeUFjdGlvbihhY3Rpb246IFVpQWN0aW9uKTogc3RyaW5nIHtcclxuICAgIGxldCBkZXNjID0gdGhpcy51aUFjdGlvbkRlc2NyaXB0b3JzLmdldChhY3Rpb24uY29kZSEpO1xyXG4gICAgcmV0dXJuIGRlc2MhLnRpdGxlO1xyXG4gIH1cclxuXHJcbiAgLy8gI3JlZ2lvbiBVc2VVaUFjdGlvblxyXG4gIGdldEFkZGl0aW9uYWxQYXJhbXModWlBY3Rpb246IFVpQWN0aW9uKTogVWlBY3Rpb25BZGRpdGlvbmFsUGFyYW1zIHtcclxuICAgIGlmICh1aUFjdGlvbi5wYXJhbXMgJiYgdWlBY3Rpb24ucGFyYW1zWydub2RlVXVpZCddKSB7XHJcbiAgICAgIGxldCBub2RlVXVpZCA9IHVpQWN0aW9uLnBhcmFtcyFbJ25vZGVVdWlkJ107XHJcblxyXG4gICAgICBsZXQgbm9kZU5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICAgICAgaWYgKHVpQWN0aW9uLmNvZGUgPT09ICdSRU5BTUUnKSB7XHJcbiAgICAgICAgbm9kZU5hbWUgPSB0aGlzLmRlZXBTZWFyY2hUcmVlTm9kZShub2RlVXVpZCwgdGhpcy50cmVlRnJvbUJhY2tlbmQhKT8uY2FwdGlvbjtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBmb3JUZXh0QXJlYTogJycsXHJcbiAgICAgICAgZm9yVGV4dEZpZWxkOiBub2RlTmFtZSA/IG5vZGVOYW1lIDogJycsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgZm9yVGV4dEFyZWE6ICcnLFxyXG4gICAgICBmb3JUZXh0RmllbGQ6ICcnLFxyXG4gICAgfTtcclxuICB9XHJcbiAgZ2V0TW9kZWwoKSB7XHJcbiAgICByZXR1cm4ge307XHJcbiAgfVxyXG5cclxuICBhc3luYyBwZXJmb3JtVWlBY3Rpb25SZXF1ZXN0KHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0KTogUHJvbWlzZTxhbnk+IHtcclxuICAgIGlmICh1aUFjdGlvblJlcXVlc3QucGFyYW1zWydub2RlVXVpZCddKSB7XHJcbiAgICAgIGF3YWl0IHRoaXMucGVyZm9ybU5vZGVVaUFjdGlvblJlcXVlc3QodWlBY3Rpb25SZXF1ZXN0KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGF3YWl0IHRoaXMucGVyZm9ybU1haW5VaUFjdGlvblJlcXVlc3QodWlBY3Rpb25SZXF1ZXN0KTtcclxuICAgIH1cclxuXHJcbiAgICAvL2F3YWl0IHRoaXMudmlld0NvbnRleHQuZ2V0QW5kU3luY1ZpZXdDb250ZXh0KCk7XHJcblxyXG4gICAgdGhpcy5zeW5jVHJlZSgpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgcGVyZm9ybU5vZGVVaUFjdGlvblJlcXVlc3QodWlBY3Rpb25SZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3QpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgbGV0IG5vZGVJZCA9IHVpQWN0aW9uUmVxdWVzdC5wYXJhbXNbJ25vZGVVdWlkJ107XHJcbiAgICBkZWxldGUgdWlBY3Rpb25SZXF1ZXN0LnBhcmFtc1snbm9kZVV1aWQnXTtcclxuXHJcbiAgICBsZXQgdmlld1V1aWQgPSB0aGlzLnZpZXdDb250ZXh0LmdldFV1aWRPZlBhZ2UodGhpcy5wYWdlTmFtZSk7XHJcblxyXG4gICAgdGhpcy50cmVlRnJvbUJhY2tlbmQgPSBhd2FpdCB0aGlzLnZpZXdDb250ZXh0LmhhbmRsZVBlcmZvcm1BY3Rpb25SZXNwb25zZShcclxuICAgICAgYXdhaXQgdGhpcy5zZXJ2aWNlLnBlcmZvcm1BY3Rpb24yKHZpZXdVdWlkLCB0aGlzLnRyZWVJZCEsIG5vZGVJZCwgdWlBY3Rpb25SZXF1ZXN0KS50b1Byb21pc2UoKVxyXG4gICAgKTtcclxuICB9XHJcbiAgYXN5bmMgcGVyZm9ybU1haW5VaUFjdGlvblJlcXVlc3QodWlBY3Rpb25SZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3QpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgbGV0IHZpZXdVdWlkID0gdGhpcy52aWV3Q29udGV4dC5nZXRVdWlkT2ZQYWdlKHRoaXMucGFnZU5hbWUpO1xyXG5cclxuICAgIHRoaXMudHJlZUZyb21CYWNrZW5kID0gYXdhaXQgdGhpcy52aWV3Q29udGV4dC5oYW5kbGVQZXJmb3JtQWN0aW9uUmVzcG9uc2UoXHJcbiAgICAgIGF3YWl0IHRoaXMuc2VydmljZS5wZXJmb3JtTWFpbkFjdGlvbjIodmlld1V1aWQsIHRoaXMudHJlZUlkISwgdWlBY3Rpb25SZXF1ZXN0KS50b1Byb21pc2UoKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZVNwZWNpZmljRGVtYW5kc0FzeW5jaHJvbm91c2x5KFxyXG4gICAgdWlBY3Rpb246IFVpQWN0aW9uLFxyXG4gICAgdWlBY3Rpb25SZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3RcclxuICApOiBQcm9taXNlPFVpQWN0aW9uU3BlY2lmaWNEZW1hbmRSZXNwb25zZT4ge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xyXG4gIH1cclxuICAvLyAjZW5kcmVnaW9uXHJcbn1cclxuIl19
@@ -165,11 +165,11 @@ export class SmartTreeComponent {
165
165
  return `${cssClass}-${plusProperty}`;
166
166
  }
167
167
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartTreeComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
168
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SmartTreeComponent, selector: "smart-tree", inputs: { treeStyle: "treeStyle", treeService: "treeService" }, host: { properties: { "attr.data-testid": "this.testId" } }, viewQueries: [{ propertyName: "tree", first: true, predicate: ["tree"], descendants: true }, { propertyName: "trigger", predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<div class=\"smartTreeContainer\">\n <smart-ui-action-toolbar\n *ngIf=\"uiActionModels.length\"\n [uiActionModels]=\"uiActionModels\"\n ></smart-ui-action-toolbar>\n <mat-tree\n #tree\n *ngIf=\"treeData\"\n [dataSource]=\"dataSource\"\n [treeControl]=\"treeControl\"\n class=\"sm-tree\"\n >\n <mat-nested-tree-node\n *matTreeNodeDef=\"let node; when: hasChild\"\n matTreeNodeToggle=\"{{ getIfExpanded(node) }}\"\n [ngClass]=\"getClassesForTreeNode(node)\"\n [ngStyle]=\"getNodeStyle(node)\"\n >\n <div\n [ngStyle]=\"getNodePadding(node)\"\n [ngClass]=\"getInnerClassesForTreeNode(node)\"\n class=\"mat-tree-node sm-tree-node\"\n (click)=\"onNodeClick($event, node)\"\n >\n <button mat-icon-button [attr.aria-label]=\"'Toggle ' + node.name\">\n <mat-icon\n class=\"mat-icon-rtl-mirror\"\n matTreeNodeToggle\n (click)=\"onOpenNode($event, node)\"\n >\n <div *ngIf=\"hasChild(node.level, node)\">\n {{ treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right' }}\n </div>\n </mat-icon>\n </button>\n <smart-icon [icon]=\"node.icon\"> </smart-icon>\n <div class=\"sm-tree-row\" [ngClass]=\"node.classes\">\n <div class=\"sm-tree-row-caption\">\n {{ node.caption }}\n </div>\n <div class=\"sm-shortDescription-spacer\"></div>\n <div class=\"sm-tree-row-shortDescription\">\n {{ node.shortDescription }}\n </div>\n <div class=\"sm-shortDescription-button-spacer\"></div>\n <div *ngIf=\"node.button\" class=\"sm-tree-node-button\" [ngSwitch]=\"node.button.type\">\n <button\n (click)=\"customButtonClicked($event, node.button)\"\n *ngSwitchCase=\"smartTreeNodeButtonType.ICON\"\n mat-icon-button\n >\n <smart-icon title=\"{{ node.button.icon }}\" [icon]=\"node.button.icon\"></smart-icon>\n </button>\n <div *ngSwitchCase=\"smartTreeNodeButtonType.MENU\">\n <button\n mat-button\n [matMenuTriggerFor]=\"menu\"\n (click)=\"customButtonClicked($event, node.button, true)\"\n >\n <smart-icon *ngIf=\"node.button.icon\" [icon]=\"node.button.icon\"></smart-icon\n >{{ node.button.label }}\n </button>\n <mat-menu #menu=\"matMenu\">\n <button\n *ngFor=\"let button of node.button.menuItemButtons\"\n (click)=\"customButtonClicked($event, button, true)\"\n mat-menu-item\n [attr.data-testid]=\"button.code ?? null\"\n >\n <smart-icon *ngIf=\"button.icon\" [icon]=\"button.icon\"></smart-icon\n >{{ button.label }}\n </button>\n </mat-menu>\n </div>\n <button\n (click)=\"customButtonClicked($event, node.button)\"\n *ngSwitchCase=\"smartTreeNodeButtonType.NORMAL\"\n mat-raised-button\n >\n <smart-icon *ngIf=\"node.button.icon\" [icon]=\"node.button.icon\"></smart-icon>\n {{ node.button.icon }}\n </button>\n </div>\n </div>\n </div>\n <div\n [class.sm-tree-invisible]=\"!treeControl.isExpanded(node)\"\n [ngClass]=\"getClassesForTreeNodeChildren(node)\"\n role=\"group\"\n >\n <ng-container matTreeNodeOutlet></ng-container>\n </div>\n </mat-nested-tree-node>\n </mat-tree>\n <div *ngIf=\"!treeData\">\n <h3>\n {{ errorMessage }}\n </h3>\n </div>\n</div>\n", styles: [".smartTreeContainer{display:flex;flex-direction:column;gap:.5rem}.sm-tree-invisible{display:none}.sm-tree ul,.sm-tree li{margin-top:0;margin-bottom:0;list-style-type:none}.sm-tree div[role=group]>.mat-tree-node{padding-left:40px}.sm-tee-node{padding-left:40px}.sm-tree-node-name{padding-left:15px;padding-top:15px;display:flex;flex-direction:column}.sm-tree-node-name-row{padding-left:15px;padding-top:15px;display:flex;flex-direction:row;justify-content:space-between}.sm-tree-node-name-col{padding-left:15px;padding-top:15px;display:flex;flex-direction:column}.sm-tee-node-id{font-weight:lighter}.mat-tree-node:hover{cursor:pointer}::ng-deep .mat-icon-rtl-mirror{display:flex;flex-direction:row}.sm-tree-row{display:flex;flex-direction:row;flex:1;align-items:center}.sm-shortDescription-spacer{flex:1}\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: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.MatNestedTreeNode, selector: "mat-nested-tree-node", inputs: ["matNestedTreeNode", "disabled", "tabIndex"], exportAs: ["matNestedTreeNode"] }, { kind: "directive", type: i4.MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: ["matTreeNodeDefWhen", "matTreeNode"] }, { kind: "directive", type: i4.MatTreeNodeToggle, selector: "[matTreeNodeToggle]", inputs: ["matTreeNodeToggleRecursive"] }, { kind: "component", type: i4.MatTree, selector: "mat-tree", exportAs: ["matTree"] }, { kind: "directive", type: i4.MatTreeNodeOutlet, selector: "[matTreeNodeOutlet]" }, { kind: "component", type: i5.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i6.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color", "imageResource"] }, { kind: "component", type: i7.UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService", "id", "scrollOnWrap", "toolbarPropertes"] }] }); }
168
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SmartTreeComponent, selector: "smart-tree", inputs: { treeStyle: "treeStyle", treeService: "treeService" }, host: { properties: { "attr.data-testid": "this.testId" } }, viewQueries: [{ propertyName: "tree", first: true, predicate: ["tree"], descendants: true }, { propertyName: "trigger", predicate: MatMenuTrigger, descendants: true }], ngImport: i0, template: "<div class=\"smartTreeContainer\">\r\n <smart-ui-action-toolbar\r\n *ngIf=\"uiActionModels.length\"\r\n [uiActionModels]=\"uiActionModels\"\r\n ></smart-ui-action-toolbar>\r\n <mat-tree\r\n #tree\r\n *ngIf=\"treeData\"\r\n [dataSource]=\"dataSource\"\r\n [treeControl]=\"treeControl\"\r\n class=\"sm-tree\"\r\n >\r\n <mat-nested-tree-node\r\n *matTreeNodeDef=\"let node; when: hasChild\"\r\n matTreeNodeToggle=\"{{ getIfExpanded(node) }}\"\r\n [ngClass]=\"getClassesForTreeNode(node)\"\r\n [ngStyle]=\"getNodeStyle(node)\"\r\n >\r\n <div\r\n [ngStyle]=\"getNodePadding(node)\"\r\n [ngClass]=\"getInnerClassesForTreeNode(node)\"\r\n class=\"mat-tree-node sm-tree-node\"\r\n (click)=\"onNodeClick($event, node)\"\r\n >\r\n <button mat-icon-button [attr.aria-label]=\"'Toggle ' + node.name\">\r\n <mat-icon\r\n class=\"mat-icon-rtl-mirror\"\r\n matTreeNodeToggle\r\n (click)=\"onOpenNode($event, node)\"\r\n >\r\n <div *ngIf=\"hasChild(node.level, node)\">\r\n {{ treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right' }}\r\n </div>\r\n </mat-icon>\r\n </button>\r\n <smart-icon [icon]=\"node.icon\"> </smart-icon>\r\n <div class=\"sm-tree-row\" [ngClass]=\"node.classes\">\r\n <div class=\"sm-tree-row-caption\">\r\n {{ node.caption }}\r\n </div>\r\n <div class=\"sm-shortDescription-spacer\"></div>\r\n <div class=\"sm-tree-row-shortDescription\">\r\n {{ node.shortDescription }}\r\n </div>\r\n <div class=\"sm-shortDescription-button-spacer\"></div>\r\n <div *ngIf=\"node.button\" class=\"sm-tree-node-button\" [ngSwitch]=\"node.button.type\">\r\n <button\r\n (click)=\"customButtonClicked($event, node.button)\"\r\n *ngSwitchCase=\"smartTreeNodeButtonType.ICON\"\r\n mat-icon-button\r\n >\r\n <smart-icon title=\"{{ node.button.icon }}\" [icon]=\"node.button.icon\"></smart-icon>\r\n </button>\r\n <div *ngSwitchCase=\"smartTreeNodeButtonType.MENU\">\r\n <button\r\n mat-button\r\n [matMenuTriggerFor]=\"menu\"\r\n (click)=\"customButtonClicked($event, node.button, true)\"\r\n >\r\n <smart-icon *ngIf=\"node.button.icon\" [icon]=\"node.button.icon\"></smart-icon\r\n >{{ node.button.label }}\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <button\r\n *ngFor=\"let button of node.button.menuItemButtons\"\r\n (click)=\"customButtonClicked($event, button, true)\"\r\n mat-menu-item\r\n [attr.data-testid]=\"button.code ?? null\"\r\n >\r\n <smart-icon *ngIf=\"button.icon\" [icon]=\"button.icon\"></smart-icon\r\n >{{ button.label }}\r\n </button>\r\n </mat-menu>\r\n </div>\r\n <button\r\n (click)=\"customButtonClicked($event, node.button)\"\r\n *ngSwitchCase=\"smartTreeNodeButtonType.NORMAL\"\r\n mat-raised-button\r\n >\r\n <smart-icon *ngIf=\"node.button.icon\" [icon]=\"node.button.icon\"></smart-icon>\r\n {{ node.button.icon }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n [class.sm-tree-invisible]=\"!treeControl.isExpanded(node)\"\r\n [ngClass]=\"getClassesForTreeNodeChildren(node)\"\r\n role=\"group\"\r\n >\r\n <ng-container matTreeNodeOutlet></ng-container>\r\n </div>\r\n </mat-nested-tree-node>\r\n </mat-tree>\r\n <div *ngIf=\"!treeData\">\r\n <h3>\r\n {{ errorMessage }}\r\n </h3>\r\n </div>\r\n</div>\r\n", styles: [".smartTreeContainer{display:flex;flex-direction:column;gap:.5rem}.sm-tree-invisible{display:none}.sm-tree ul,.sm-tree li{margin-top:0;margin-bottom:0;list-style-type:none}.sm-tree div[role=group]>.mat-tree-node{padding-left:40px}.sm-tee-node{padding-left:40px}.sm-tree-node-name{padding-left:15px;padding-top:15px;display:flex;flex-direction:column}.sm-tree-node-name-row{padding-left:15px;padding-top:15px;display:flex;flex-direction:row;justify-content:space-between}.sm-tree-node-name-col{padding-left:15px;padding-top:15px;display:flex;flex-direction:column}.sm-tee-node-id{font-weight:lighter}.mat-tree-node:hover{cursor:pointer}::ng-deep .mat-icon-rtl-mirror{display:flex;flex-direction:row}.sm-tree-row{display:flex;flex-direction:row;flex:1;align-items:center}.sm-shortDescription-spacer{flex:1}\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: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.MatNestedTreeNode, selector: "mat-nested-tree-node", inputs: ["matNestedTreeNode", "disabled", "tabIndex"], exportAs: ["matNestedTreeNode"] }, { kind: "directive", type: i4.MatTreeNodeDef, selector: "[matTreeNodeDef]", inputs: ["matTreeNodeDefWhen", "matTreeNode"] }, { kind: "directive", type: i4.MatTreeNodeToggle, selector: "[matTreeNodeToggle]", inputs: ["matTreeNodeToggleRecursive"] }, { kind: "component", type: i4.MatTree, selector: "mat-tree", exportAs: ["matTree"] }, { kind: "directive", type: i4.MatTreeNodeOutlet, selector: "[matTreeNodeOutlet]" }, { kind: "component", type: i5.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i5.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i5.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i6.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color", "imageResource"] }, { kind: "component", type: i7.UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService", "id", "scrollOnWrap", "toolbarPropertes"] }] }); }
169
169
  }
170
170
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartTreeComponent, decorators: [{
171
171
  type: Component,
172
- args: [{ selector: 'smart-tree', template: "<div class=\"smartTreeContainer\">\n <smart-ui-action-toolbar\n *ngIf=\"uiActionModels.length\"\n [uiActionModels]=\"uiActionModels\"\n ></smart-ui-action-toolbar>\n <mat-tree\n #tree\n *ngIf=\"treeData\"\n [dataSource]=\"dataSource\"\n [treeControl]=\"treeControl\"\n class=\"sm-tree\"\n >\n <mat-nested-tree-node\n *matTreeNodeDef=\"let node; when: hasChild\"\n matTreeNodeToggle=\"{{ getIfExpanded(node) }}\"\n [ngClass]=\"getClassesForTreeNode(node)\"\n [ngStyle]=\"getNodeStyle(node)\"\n >\n <div\n [ngStyle]=\"getNodePadding(node)\"\n [ngClass]=\"getInnerClassesForTreeNode(node)\"\n class=\"mat-tree-node sm-tree-node\"\n (click)=\"onNodeClick($event, node)\"\n >\n <button mat-icon-button [attr.aria-label]=\"'Toggle ' + node.name\">\n <mat-icon\n class=\"mat-icon-rtl-mirror\"\n matTreeNodeToggle\n (click)=\"onOpenNode($event, node)\"\n >\n <div *ngIf=\"hasChild(node.level, node)\">\n {{ treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right' }}\n </div>\n </mat-icon>\n </button>\n <smart-icon [icon]=\"node.icon\"> </smart-icon>\n <div class=\"sm-tree-row\" [ngClass]=\"node.classes\">\n <div class=\"sm-tree-row-caption\">\n {{ node.caption }}\n </div>\n <div class=\"sm-shortDescription-spacer\"></div>\n <div class=\"sm-tree-row-shortDescription\">\n {{ node.shortDescription }}\n </div>\n <div class=\"sm-shortDescription-button-spacer\"></div>\n <div *ngIf=\"node.button\" class=\"sm-tree-node-button\" [ngSwitch]=\"node.button.type\">\n <button\n (click)=\"customButtonClicked($event, node.button)\"\n *ngSwitchCase=\"smartTreeNodeButtonType.ICON\"\n mat-icon-button\n >\n <smart-icon title=\"{{ node.button.icon }}\" [icon]=\"node.button.icon\"></smart-icon>\n </button>\n <div *ngSwitchCase=\"smartTreeNodeButtonType.MENU\">\n <button\n mat-button\n [matMenuTriggerFor]=\"menu\"\n (click)=\"customButtonClicked($event, node.button, true)\"\n >\n <smart-icon *ngIf=\"node.button.icon\" [icon]=\"node.button.icon\"></smart-icon\n >{{ node.button.label }}\n </button>\n <mat-menu #menu=\"matMenu\">\n <button\n *ngFor=\"let button of node.button.menuItemButtons\"\n (click)=\"customButtonClicked($event, button, true)\"\n mat-menu-item\n [attr.data-testid]=\"button.code ?? null\"\n >\n <smart-icon *ngIf=\"button.icon\" [icon]=\"button.icon\"></smart-icon\n >{{ button.label }}\n </button>\n </mat-menu>\n </div>\n <button\n (click)=\"customButtonClicked($event, node.button)\"\n *ngSwitchCase=\"smartTreeNodeButtonType.NORMAL\"\n mat-raised-button\n >\n <smart-icon *ngIf=\"node.button.icon\" [icon]=\"node.button.icon\"></smart-icon>\n {{ node.button.icon }}\n </button>\n </div>\n </div>\n </div>\n <div\n [class.sm-tree-invisible]=\"!treeControl.isExpanded(node)\"\n [ngClass]=\"getClassesForTreeNodeChildren(node)\"\n role=\"group\"\n >\n <ng-container matTreeNodeOutlet></ng-container>\n </div>\n </mat-nested-tree-node>\n </mat-tree>\n <div *ngIf=\"!treeData\">\n <h3>\n {{ errorMessage }}\n </h3>\n </div>\n</div>\n", styles: [".smartTreeContainer{display:flex;flex-direction:column;gap:.5rem}.sm-tree-invisible{display:none}.sm-tree ul,.sm-tree li{margin-top:0;margin-bottom:0;list-style-type:none}.sm-tree div[role=group]>.mat-tree-node{padding-left:40px}.sm-tee-node{padding-left:40px}.sm-tree-node-name{padding-left:15px;padding-top:15px;display:flex;flex-direction:column}.sm-tree-node-name-row{padding-left:15px;padding-top:15px;display:flex;flex-direction:row;justify-content:space-between}.sm-tree-node-name-col{padding-left:15px;padding-top:15px;display:flex;flex-direction:column}.sm-tee-node-id{font-weight:lighter}.mat-tree-node:hover{cursor:pointer}::ng-deep .mat-icon-rtl-mirror{display:flex;flex-direction:row}.sm-tree-row{display:flex;flex-direction:row;flex:1;align-items:center}.sm-shortDescription-spacer{flex:1}\n"] }]
172
+ args: [{ selector: 'smart-tree', template: "<div class=\"smartTreeContainer\">\r\n <smart-ui-action-toolbar\r\n *ngIf=\"uiActionModels.length\"\r\n [uiActionModels]=\"uiActionModels\"\r\n ></smart-ui-action-toolbar>\r\n <mat-tree\r\n #tree\r\n *ngIf=\"treeData\"\r\n [dataSource]=\"dataSource\"\r\n [treeControl]=\"treeControl\"\r\n class=\"sm-tree\"\r\n >\r\n <mat-nested-tree-node\r\n *matTreeNodeDef=\"let node; when: hasChild\"\r\n matTreeNodeToggle=\"{{ getIfExpanded(node) }}\"\r\n [ngClass]=\"getClassesForTreeNode(node)\"\r\n [ngStyle]=\"getNodeStyle(node)\"\r\n >\r\n <div\r\n [ngStyle]=\"getNodePadding(node)\"\r\n [ngClass]=\"getInnerClassesForTreeNode(node)\"\r\n class=\"mat-tree-node sm-tree-node\"\r\n (click)=\"onNodeClick($event, node)\"\r\n >\r\n <button mat-icon-button [attr.aria-label]=\"'Toggle ' + node.name\">\r\n <mat-icon\r\n class=\"mat-icon-rtl-mirror\"\r\n matTreeNodeToggle\r\n (click)=\"onOpenNode($event, node)\"\r\n >\r\n <div *ngIf=\"hasChild(node.level, node)\">\r\n {{ treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right' }}\r\n </div>\r\n </mat-icon>\r\n </button>\r\n <smart-icon [icon]=\"node.icon\"> </smart-icon>\r\n <div class=\"sm-tree-row\" [ngClass]=\"node.classes\">\r\n <div class=\"sm-tree-row-caption\">\r\n {{ node.caption }}\r\n </div>\r\n <div class=\"sm-shortDescription-spacer\"></div>\r\n <div class=\"sm-tree-row-shortDescription\">\r\n {{ node.shortDescription }}\r\n </div>\r\n <div class=\"sm-shortDescription-button-spacer\"></div>\r\n <div *ngIf=\"node.button\" class=\"sm-tree-node-button\" [ngSwitch]=\"node.button.type\">\r\n <button\r\n (click)=\"customButtonClicked($event, node.button)\"\r\n *ngSwitchCase=\"smartTreeNodeButtonType.ICON\"\r\n mat-icon-button\r\n >\r\n <smart-icon title=\"{{ node.button.icon }}\" [icon]=\"node.button.icon\"></smart-icon>\r\n </button>\r\n <div *ngSwitchCase=\"smartTreeNodeButtonType.MENU\">\r\n <button\r\n mat-button\r\n [matMenuTriggerFor]=\"menu\"\r\n (click)=\"customButtonClicked($event, node.button, true)\"\r\n >\r\n <smart-icon *ngIf=\"node.button.icon\" [icon]=\"node.button.icon\"></smart-icon\r\n >{{ node.button.label }}\r\n </button>\r\n <mat-menu #menu=\"matMenu\">\r\n <button\r\n *ngFor=\"let button of node.button.menuItemButtons\"\r\n (click)=\"customButtonClicked($event, button, true)\"\r\n mat-menu-item\r\n [attr.data-testid]=\"button.code ?? null\"\r\n >\r\n <smart-icon *ngIf=\"button.icon\" [icon]=\"button.icon\"></smart-icon\r\n >{{ button.label }}\r\n </button>\r\n </mat-menu>\r\n </div>\r\n <button\r\n (click)=\"customButtonClicked($event, node.button)\"\r\n *ngSwitchCase=\"smartTreeNodeButtonType.NORMAL\"\r\n mat-raised-button\r\n >\r\n <smart-icon *ngIf=\"node.button.icon\" [icon]=\"node.button.icon\"></smart-icon>\r\n {{ node.button.icon }}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n [class.sm-tree-invisible]=\"!treeControl.isExpanded(node)\"\r\n [ngClass]=\"getClassesForTreeNodeChildren(node)\"\r\n role=\"group\"\r\n >\r\n <ng-container matTreeNodeOutlet></ng-container>\r\n </div>\r\n </mat-nested-tree-node>\r\n </mat-tree>\r\n <div *ngIf=\"!treeData\">\r\n <h3>\r\n {{ errorMessage }}\r\n </h3>\r\n </div>\r\n</div>\r\n", styles: [".smartTreeContainer{display:flex;flex-direction:column;gap:.5rem}.sm-tree-invisible{display:none}.sm-tree ul,.sm-tree li{margin-top:0;margin-bottom:0;list-style-type:none}.sm-tree div[role=group]>.mat-tree-node{padding-left:40px}.sm-tee-node{padding-left:40px}.sm-tree-node-name{padding-left:15px;padding-top:15px;display:flex;flex-direction:column}.sm-tree-node-name-row{padding-left:15px;padding-top:15px;display:flex;flex-direction:row;justify-content:space-between}.sm-tree-node-name-col{padding-left:15px;padding-top:15px;display:flex;flex-direction:column}.sm-tee-node-id{font-weight:lighter}.mat-tree-node:hover{cursor:pointer}::ng-deep .mat-icon-rtl-mirror{display:flex;flex-direction:row}.sm-tree-row{display:flex;flex-direction:row;flex:1;align-items:center}.sm-shortDescription-spacer{flex:1}\n"] }]
173
173
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { trigger: [{
174
174
  type: ViewChildren,
175
175
  args: [MatMenuTrigger]
@@ -184,4 +184,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
184
184
  type: HostBinding,
185
185
  args: ['attr.data-testid']
186
186
  }] } });
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR0cmVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LXRyZWUvc21hcnR0cmVlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LXRyZWUvc21hcnR0cmVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RELE9BQU8sRUFFTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFJTCxTQUFTLEVBQ1QsWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRSxPQUFPLEVBSUwsdUJBQXVCLEdBQ3hCLE1BQU0sbUJBQW1CLENBQUM7QUFHM0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQVExQyxNQUFNLE9BQU8sa0JBQWtCO0lBYzdCLElBQ0ksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDO0lBQzFDLENBQUM7SUFPRCxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXZCbEMsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBTWpELGdCQUFXLEdBQUcsSUFBSSxpQkFBaUIsQ0FBZ0IsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNqRixlQUFVLEdBQUcsSUFBSSx1QkFBdUIsRUFBaUIsQ0FBQztRQVUxRCw0QkFB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LEdBQWEsRUFBRSxDQUFDO1FBRTNCLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFdkQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELGNBQWMsQ0FBQyxRQUFnQixFQUFFLFlBQWlCO1FBQ2hELE9BQU8sR0FBRyxRQUFRLElBQUksWUFBWSxFQUFFLENBQUM7SUFDdkMsQ0FBQzsrR0ExTFUsa0JBQWtCO21HQUFsQixrQkFBa0IsMFJBR2YsY0FBYyxnRENqQzlCLDh1SEFvR0E7OzRGRHRFYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsWUFBWTtzRkFPUSxPQUFPO3NCQUFwQyxZQUFZO3VCQUFDLGNBQWM7Z0JBRVQsSUFBSTtzQkFBdEIsU0FBUzt1QkFBQyxNQUFNO2dCQU1SLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFHRixNQUFNO3NCQURULFdBQVc7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmVzdGVkVHJlZUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9jZGsvdHJlZSc7XG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBRdWVyeUxpc3QsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NoaWxkcmVuLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdE1lbnVUcmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBNYXRUcmVlTmVzdGVkRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RyZWUnO1xuaW1wb3J0IHtcbiAgU21hcnRUcmVlTW9kZWwsXG4gIFNtYXJ0VHJlZU5vZGUsXG4gIFNtYXJ0VHJlZU5vZGVCdXR0b24sXG4gIFNtYXJ0VHJlZU5vZGVCdXR0b25UeXBlLFxufSBmcm9tICcuL3NtYXJ0dHJlZS5tb2RlbCc7XG5pbXBvcnQgeyBUcmVlU3R5bGUgfSBmcm9tICcuL3NtYXJ0dHJlZS5ub2RlLm1vZGVsJztcbmltcG9ydCB7IFNtYXJ0dHJlZVNlcnZpY2UgfSBmcm9tICcuL3NtYXJ0dHJlZS5zZXJ2aWNlJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVWlBY3Rpb25Nb2RlbCB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vdWktYWN0aW9uLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc21hcnQtdHJlZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zbWFydHRyZWUuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zbWFydHRyZWUuY29tcG9uZW50LmNzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBTbWFydFRyZWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX2Rlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICBAVmlld0NoaWxkcmVuKE1hdE1lbnVUcmlnZ2VyKSB0cmlnZ2VyITogUXVlcnlMaXN0PE1hdE1lbnVUcmlnZ2VyPjtcblxuICBAVmlld0NoaWxkKCd0cmVlJykgdHJlZTogYW55O1xuXG4gIHRyZWVDb250cm9sID0gbmV3IE5lc3RlZFRyZWVDb250cm9sPFNtYXJ0VHJlZU5vZGU+KChub2RlKSA9PiBub2RlLmNoaWxkcmVuTm9kZXMpO1xuICBkYXRhU291cmNlID0gbmV3IE1hdFRyZWVOZXN0ZWREYXRhU291cmNlPFNtYXJ0VHJlZU5vZGU+KCk7XG4gIHRlbXBBY3RpdmVOb2RlPzogU21hcnRUcmVlTm9kZTtcbiAgdHJlZURhdGE/OiBTbWFydFRyZWVNb2RlbDtcbiAgQElucHV0KCkgdHJlZVN0eWxlPzogVHJlZVN0eWxlO1xuICBASW5wdXQoKSB0cmVlU2VydmljZSE6IFNtYXJ0dHJlZVNlcnZpY2U8YW55PjtcblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuZGF0YS10ZXN0aWQnKVxuICBnZXQgdGVzdElkKCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLnRyZWVTZXJ2aWNlPy50cmVlSWQgPz8gbnVsbDtcbiAgfVxuICBzbWFydFRyZWVOb2RlQnV0dG9uVHlwZSA9IFNtYXJ0VHJlZU5vZGVCdXR0b25UeXBlO1xuXG4gIGVycm9yTWVzc2FnZT86IHN0cmluZztcblxuICB1aUFjdGlvbk1vZGVsczogVWlBY3Rpb25Nb2RlbFtdID0gW107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMudHJlZVNlcnZpY2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVHJlZVNlcnZpY2UgaGFzIG5vdCBiZWVuIGdpdmVuIScpO1xuICAgIH1cbiAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMudHJlZVNlcnZpY2UuZXJyb3JNZXNzYWdlO1xuXG4gICAgdGhpcy50cmVlU2VydmljZS5zbWFydFRyZWVNb2RlbENoYW5nZWQuc3Vic2NyaWJlKChuZXdTbWFydFRyZWU6IFNtYXJ0VHJlZU1vZGVsKSA9PiB7XG4gICAgICB0aGlzLnRyZWVEYXRhID0gbmV3U21hcnRUcmVlO1xuICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSB0aGlzLnRyZWVEYXRhLnJvb3ROb2RlcyE7XG4gICAgICB0aGlzLmV4cGFuZFRyZWVOb2RlcygpO1xuICAgIH0pO1xuICAgIHRoaXMudHJlZVNlcnZpY2UudWlBY3Rpb25Nb2RlbHNDaGFuZ2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLnRyZWVTZXJ2aWNlLnVpQWN0aW9uTW9kZWxzKSB7XG4gICAgICAgIHRoaXMudWlBY3Rpb25Nb2RlbHMgPSB0aGlzLnRyZWVTZXJ2aWNlLnVpQWN0aW9uTW9kZWxzO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLl9kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgZ2V0SWZFeHBhbmRlZChub2RlOiBTbWFydFRyZWVOb2RlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHJlZUNvbnRyb2wuaXNFeHBhbmRlZChub2RlKTtcbiAgfVxuXG4gIGV4cGFuZFRyZWVOb2RlcygpIHtcbiAgICB0aGlzLmV4cGFuZFRyZWVOb2Rlc0RlZXBseSh0aGlzLmRhdGFTb3VyY2UuZGF0YSk7XG4gIH1cblxuICBleHBhbmRUcmVlTm9kZXNEZWVwbHkobm9kZXM6IFNtYXJ0VHJlZU5vZGVbXSkge1xuICAgIG5vZGVzLmZvckVhY2goKG5vZGUpID0+IHtcbiAgICAgIGlmIChub2RlLmV4cGFuZGVkKSB7XG4gICAgICAgIHRoaXMudHJlZUNvbnRyb2wuZXhwYW5kKG5vZGUpO1xuICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgaWYgKG5vZGUuY2hpbGRyZW5Ob2RlcyAmJiBub2RlLmNoaWxkcmVuTm9kZXMubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5leHBhbmRUcmVlTm9kZXNEZWVwbHkobm9kZS5jaGlsZHJlbk5vZGVzKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy50cmVlQ29udHJvbC5jb2xsYXBzZShub2RlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG9uTm9kZUNsaWNrKGV2ZW50OiBhbnksIG5vZGU6IFNtYXJ0VHJlZU5vZGUpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICh0aGlzLnRlbXBBY3RpdmVOb2RlKSB0aGlzLnRlbXBBY3RpdmVOb2RlLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgbm9kZS5zZWxlY3RlZCA9IHRydWU7XG4gICAgdGhpcy50ZW1wQWN0aXZlTm9kZSA9IG5vZGU7XG5cbiAgICB0aGlzLnRyZWVTZXJ2aWNlLm9uVHJlZU5vZGVDbGljayhub2RlKTtcbiAgfVxuXG4gIG9uT3Blbk5vZGUoZXZlbnQ6IGFueSwgbm9kZTogU21hcnRUcmVlTm9kZSkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMudHJlZVNlcnZpY2Uub25UcmVlTm9kZU9wZW4obm9kZSk7XG4gIH1cblxuICBoYXNDaGlsZCA9IChfOiBudW1iZXIsIG5vZGU6IFNtYXJ0VHJlZU5vZGUpID0+IG5vZGUuaGFzQ2hpbGRyZW47XG5cbiAgZ2V0Tm9kZVN0eWxlKG5vZGU6IFNtYXJ0VHJlZU5vZGUpIHtcbiAgICBpZiAodGhpcy50cmVlU3R5bGUpIHtcbiAgICAgIHZhciBzdHlsZSA9IG5vZGUuc2VsZWN0ZWRcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0aGlzLnRyZWVTdHlsZS5hY3RpdmVTdHlsZT8uYmFja2dyb3VuZENvbG9yLFxuICAgICAgICAgICAgY29sb3I6IHRoaXMudHJlZVN0eWxlLmFjdGl2ZVN0eWxlPy5jb2xvcixcbiAgICAgICAgICB9XG4gICAgICAgIDoge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdGhpcy50cmVlU3R5bGUubGV2ZWxCYWNrZ3JvdW5kQ29sb3IhW25vZGUubGV2ZWwhXSxcbiAgICAgICAgICAgIGNvbG9yOiB0aGlzLnRyZWVTdHlsZS5jb2xvciEsXG4gICAgICAgICAgfTtcbiAgICAgIHJldHVybiBzdHlsZTtcbiAgICB9XG4gICAgcmV0dXJuIHt9O1xuICB9XG4gIGdldE5vZGVQYWRkaW5nKG5vZGU6IFNtYXJ0VHJlZU5vZGUpIHtcbiAgICBpZiAodGhpcy50cmVlU3R5bGUpIHtcbiAgICAgIHZhciBzdHlsZSA9IG5vZGUuc2VsZWN0ZWRcbiAgICAgICAgPyB7XG4gICAgICAgICAgICAncGFkZGluZy1sZWZ0JzogMTUgKiBub2RlLmxldmVsISArICdweCcsXG4gICAgICAgICAgfVxuICAgICAgICA6IHtcbiAgICAgICAgICAgICdwYWRkaW5nLWxlZnQnOiAxNSAqIG5vZGUubGV2ZWwhICsgJ3B4JyxcbiAgICAgICAgICB9O1xuICAgICAgcmV0dXJuIHN0eWxlO1xuICAgIH1cbiAgICByZXR1cm4ge307XG4gIH1cblxuICBjdXN0b21CdXR0b25DbGlja2VkKGV2ZW50OiBhbnksIGJ1dHRvbjogU21hcnRUcmVlTm9kZUJ1dHRvbiwgY2xvc2U/OiBib29sZWFuKTogdm9pZCB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICBpZiAoYnV0dG9uLnR5cGUgPT09IFNtYXJ0VHJlZU5vZGVCdXR0b25UeXBlLk1FTlUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIWJ1dHRvbi5jYWxsYmFjaykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBCdXR0b24gd2l0aCBuYW1lICR7YnV0dG9uLmxhYmVsIHx8IGJ1dHRvbi5pY29ufSBkb2VzIG5vdCBoYXZlIGEgY2FsbGJhY2shYCk7XG4gICAgfVxuICAgIGJ1dHRvbi5jYWxsYmFjayhidXR0b24uYXJncyk7XG4gICAgaWYgKGNsb3NlKSB7XG4gICAgICBsZXQgb3Blbk1lbnVzID0gdGhpcy50cmlnZ2VyLmZpbHRlcihcbiAgICAgICAgKG1hdE1lbnVUcmlnZ2VyOiBNYXRNZW51VHJpZ2dlcikgPT4gbWF0TWVudVRyaWdnZXIubWVudU9wZW5cbiAgICAgICk7XG4gICAgICBvcGVuTWVudXMuZm9yRWFjaCgobWF0TWVudVRyaWdnZXI6IE1hdE1lbnVUcmlnZ2VyKSA9PiB7XG4gICAgICAgIG1hdE1lbnVUcmlnZ2VyLmNsb3NlTWVudSgpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0Q2xhc3Nlc0ZvclRyZWVOb2RlKG5vZGU6IFNtYXJ0VHJlZU5vZGUpOiBzdHJpbmdbXSB7XG4gICAgbGV0IGNsYXNzZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICBpZiAobm9kZS5leHBhbmRlZCkge1xuICAgICAgY2xhc3Nlcy5wdXNoKHRoaXMuZ2V0Q3VzdG9tQ2xhc3MoJ2V4cGFuZGVkJywgbm9kZS5sZXZlbCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjbGFzc2VzLnB1c2godGhpcy5nZXRDdXN0b21DbGFzcygnY29sbGFwc2VkJywgbm9kZS5sZXZlbCkpO1xuICAgIH1cblxuICAgIGlmIChub2RlLnNlbGVjdGVkKSB7XG4gICAgICBjbGFzc2VzLnB1c2godGhpcy5nZXRDdXN0b21DbGFzcygnc2VsZWN0ZWQnLCBub2RlLmxldmVsKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNsYXNzZXMucHVzaCh0aGlzLmdldEN1c3RvbUNsYXNzKCd1bnNlbGVjdGVkJywgbm9kZS5sZXZlbCkpO1xuICAgIH1cblxuICAgIGlmIChub2RlLmxldmVsICE9PSAwKSB7XG4gICAgICBjbGFzc2VzLnB1c2godGhpcy5nZXRDdXN0b21DbGFzcygnY2hpbGQnLCBub2RlLmxldmVsKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsYXNzZXM7XG4gIH1cblxuICBnZXRJbm5lckNsYXNzZXNGb3JUcmVlTm9kZShub2RlOiBTbWFydFRyZWVOb2RlKTogc3RyaW5nW10ge1xuICAgIGxldCBjbGFzc2VzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgaWYgKG5vZGUuZXhwYW5kZWQpIHtcbiAgICAgIGNsYXNzZXMucHVzaCh0aGlzLmdldEN1c3RvbUNsYXNzKCdpbm5lci1leHBhbmRlZCcsIG5vZGUubGV2ZWwpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2xhc3Nlcy5wdXNoKHRoaXMuZ2V0Q3VzdG9tQ2xhc3MoJ2lubmVyLWNvbGxhcHNlZCcsIG5vZGUubGV2ZWwpKTtcbiAgICB9XG5cbiAgICBpZiAobm9kZS5zZWxlY3RlZCkge1xuICAgICAgY2xhc3Nlcy5wdXNoKHRoaXMuZ2V0Q3VzdG9tQ2xhc3MoJ2lubmVyLXNlbGVjdGVkJywgbm9kZS5sZXZlbCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjbGFzc2VzLnB1c2godGhpcy5nZXRDdXN0b21DbGFzcygnaW5uZXItdW5zZWxlY3RlZCcsIG5vZGUubGV2ZWwpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2xhc3NlcztcbiAgfVxuXG4gIGdldENsYXNzZXNGb3JUcmVlTm9kZUNoaWxkcmVuKG5vZGU6IFNtYXJ0VHJlZU5vZGUpOiBzdHJpbmdbXSB7XG4gICAgbGV0IGNsYXNzZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICBjbGFzc2VzLnB1c2godGhpcy5nZXRDdXN0b21DbGFzcygnZ3JvdXAnLCBub2RlLmxldmVsKSk7XG5cbiAgICByZXR1cm4gY2xhc3NlcztcbiAgfVxuXG4gIGdldEN1c3RvbUNsYXNzKGNzc0NsYXNzOiBzdHJpbmcsIHBsdXNQcm9wZXJ0eTogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7Y3NzQ2xhc3N9LSR7cGx1c1Byb3BlcnR5fWA7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzbWFydFRyZWVDb250YWluZXJcIj5cbiAgPHNtYXJ0LXVpLWFjdGlvbi10b29sYmFyXG4gICAgKm5nSWY9XCJ1aUFjdGlvbk1vZGVscy5sZW5ndGhcIlxuICAgIFt1aUFjdGlvbk1vZGVsc109XCJ1aUFjdGlvbk1vZGVsc1wiXG4gID48L3NtYXJ0LXVpLWFjdGlvbi10b29sYmFyPlxuICA8bWF0LXRyZWVcbiAgICAjdHJlZVxuICAgICpuZ0lmPVwidHJlZURhdGFcIlxuICAgIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIlxuICAgIFt0cmVlQ29udHJvbF09XCJ0cmVlQ29udHJvbFwiXG4gICAgY2xhc3M9XCJzbS10cmVlXCJcbiAgPlxuICAgIDxtYXQtbmVzdGVkLXRyZWUtbm9kZVxuICAgICAgKm1hdFRyZWVOb2RlRGVmPVwibGV0IG5vZGU7IHdoZW46IGhhc0NoaWxkXCJcbiAgICAgIG1hdFRyZWVOb2RlVG9nZ2xlPVwie3sgZ2V0SWZFeHBhbmRlZChub2RlKSB9fVwiXG4gICAgICBbbmdDbGFzc109XCJnZXRDbGFzc2VzRm9yVHJlZU5vZGUobm9kZSlcIlxuICAgICAgW25nU3R5bGVdPVwiZ2V0Tm9kZVN0eWxlKG5vZGUpXCJcbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIFtuZ1N0eWxlXT1cImdldE5vZGVQYWRkaW5nKG5vZGUpXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiZ2V0SW5uZXJDbGFzc2VzRm9yVHJlZU5vZGUobm9kZSlcIlxuICAgICAgICBjbGFzcz1cIm1hdC10cmVlLW5vZGUgc20tdHJlZS1ub2RlXCJcbiAgICAgICAgKGNsaWNrKT1cIm9uTm9kZUNsaWNrKCRldmVudCwgbm9kZSlcIlxuICAgICAgPlxuICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiBbYXR0ci5hcmlhLWxhYmVsXT1cIidUb2dnbGUgJyArIG5vZGUubmFtZVwiPlxuICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgY2xhc3M9XCJtYXQtaWNvbi1ydGwtbWlycm9yXCJcbiAgICAgICAgICAgIG1hdFRyZWVOb2RlVG9nZ2xlXG4gICAgICAgICAgICAoY2xpY2spPVwib25PcGVuTm9kZSgkZXZlbnQsIG5vZGUpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaGFzQ2hpbGQobm9kZS5sZXZlbCwgbm9kZSlcIj5cbiAgICAgICAgICAgICAge3sgdHJlZUNvbnRyb2wuaXNFeHBhbmRlZChub2RlKSA/ICdleHBhbmRfbW9yZScgOiAnY2hldnJvbl9yaWdodCcgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8c21hcnQtaWNvbiBbaWNvbl09XCJub2RlLmljb25cIj4gPC9zbWFydC1pY29uPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic20tdHJlZS1yb3dcIiBbbmdDbGFzc109XCJub2RlLmNsYXNzZXNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic20tdHJlZS1yb3ctY2FwdGlvblwiPlxuICAgICAgICAgICAge3sgbm9kZS5jYXB0aW9uIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNtLXNob3J0RGVzY3JpcHRpb24tc3BhY2VyXCI+PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNtLXRyZWUtcm93LXNob3J0RGVzY3JpcHRpb25cIj5cbiAgICAgICAgICAgIHt7IG5vZGUuc2hvcnREZXNjcmlwdGlvbiB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbS1zaG9ydERlc2NyaXB0aW9uLWJ1dHRvbi1zcGFjZXJcIj48L2Rpdj5cbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwibm9kZS5idXR0b25cIiBjbGFzcz1cInNtLXRyZWUtbm9kZS1idXR0b25cIiBbbmdTd2l0Y2hdPVwibm9kZS5idXR0b24udHlwZVwiPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPVwiY3VzdG9tQnV0dG9uQ2xpY2tlZCgkZXZlbnQsIG5vZGUuYnV0dG9uKVwiXG4gICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCJzbWFydFRyZWVOb2RlQnV0dG9uVHlwZS5JQ09OXCJcbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzbWFydC1pY29uIHRpdGxlPVwie3sgbm9kZS5idXR0b24uaWNvbiB9fVwiIFtpY29uXT1cIm5vZGUuYnV0dG9uLmljb25cIj48L3NtYXJ0LWljb24+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cInNtYXJ0VHJlZU5vZGVCdXR0b25UeXBlLk1FTlVcIj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgICAgICAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwibWVudVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImN1c3RvbUJ1dHRvbkNsaWNrZWQoJGV2ZW50LCBub2RlLmJ1dHRvbiwgdHJ1ZSlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPHNtYXJ0LWljb24gKm5nSWY9XCJub2RlLmJ1dHRvbi5pY29uXCIgW2ljb25dPVwibm9kZS5idXR0b24uaWNvblwiPjwvc21hcnQtaWNvblxuICAgICAgICAgICAgICAgID57eyBub2RlLmJ1dHRvbi5sYWJlbCB9fVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPG1hdC1tZW51ICNtZW51PVwibWF0TWVudVwiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBidXR0b24gb2Ygbm9kZS5idXR0b24ubWVudUl0ZW1CdXR0b25zXCJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjdXN0b21CdXR0b25DbGlja2VkKCRldmVudCwgYnV0dG9uLCB0cnVlKVwiXG4gICAgICAgICAgICAgICAgICBtYXQtbWVudS1pdGVtXG4gICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCJidXR0b24uY29kZSA/PyBudWxsXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8c21hcnQtaWNvbiAqbmdJZj1cImJ1dHRvbi5pY29uXCIgW2ljb25dPVwiYnV0dG9uLmljb25cIj48L3NtYXJ0LWljb25cbiAgICAgICAgICAgICAgICAgID57eyBidXR0b24ubGFiZWwgfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9tYXQtbWVudT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAoY2xpY2spPVwiY3VzdG9tQnV0dG9uQ2xpY2tlZCgkZXZlbnQsIG5vZGUuYnV0dG9uKVwiXG4gICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCJzbWFydFRyZWVOb2RlQnV0dG9uVHlwZS5OT1JNQUxcIlxuICAgICAgICAgICAgICBtYXQtcmFpc2VkLWJ1dHRvblxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8c21hcnQtaWNvbiAqbmdJZj1cIm5vZGUuYnV0dG9uLmljb25cIiBbaWNvbl09XCJub2RlLmJ1dHRvbi5pY29uXCI+PC9zbWFydC1pY29uPlxuICAgICAgICAgICAgICB7eyBub2RlLmJ1dHRvbi5pY29uIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgW2NsYXNzLnNtLXRyZWUtaW52aXNpYmxlXT1cIiF0cmVlQ29udHJvbC5pc0V4cGFuZGVkKG5vZGUpXCJcbiAgICAgICAgW25nQ2xhc3NdPVwiZ2V0Q2xhc3Nlc0ZvclRyZWVOb2RlQ2hpbGRyZW4obm9kZSlcIlxuICAgICAgICByb2xlPVwiZ3JvdXBcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyIG1hdFRyZWVOb2RlT3V0bGV0PjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYXQtbmVzdGVkLXRyZWUtbm9kZT5cbiAgPC9tYXQtdHJlZT5cbiAgPGRpdiAqbmdJZj1cIiF0cmVlRGF0YVwiPlxuICAgIDxoMz5cbiAgICAgIHt7IGVycm9yTWVzc2FnZSB9fVxuICAgIDwvaDM+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
187
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR0cmVlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LXRyZWUvc21hcnR0cmVlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LXRyZWUvc21hcnR0cmVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RELE9BQU8sRUFFTCxTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFJTCxTQUFTLEVBQ1QsWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRSxPQUFPLEVBSUwsdUJBQXVCLEdBQ3hCLE1BQU0sbUJBQW1CLENBQUM7QUFHM0IsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQVExQyxNQUFNLE9BQU8sa0JBQWtCO0lBYzdCLElBQ0ksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLElBQUksSUFBSSxDQUFDO0lBQzFDLENBQUM7SUFPRCxZQUFvQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXZCbEMsY0FBUyxHQUFrQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBTWpELGdCQUFXLEdBQUcsSUFBSSxpQkFBaUIsQ0FBZ0IsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNqRixlQUFVLEdBQUcsSUFBSSx1QkFBdUIsRUFBaUIsQ0FBQztRQVUxRCw0QkFB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LEdBQWEsRUFBRSxDQUFDO1FBRTNCLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFFdkQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELGNBQWMsQ0FBQyxRQUFnQixFQUFFLFlBQWlCO1FBQ2hELE9BQU8sR0FBRyxRQUFRLElBQUksWUFBWSxFQUFFLENBQUM7SUFDdkMsQ0FBQzsrR0ExTFUsa0JBQWtCO21HQUFsQixrQkFBa0IsMFJBR2YsY0FBYyxnRENqQzlCLHM3SEFvR0E7OzRGRHRFYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsWUFBWTtzRkFPUSxPQUFPO3NCQUFwQyxZQUFZO3VCQUFDLGNBQWM7Z0JBRVQsSUFBSTtzQkFBdEIsU0FBUzt1QkFBQyxNQUFNO2dCQU1SLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFHRixNQUFNO3NCQURULFdBQVc7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmVzdGVkVHJlZUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9jZGsvdHJlZSc7XHJcbmltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgUXVlcnlMaXN0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q2hpbGRyZW4sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdE1lbnVUcmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XHJcbmltcG9ydCB7IE1hdFRyZWVOZXN0ZWREYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdHJlZSc7XHJcbmltcG9ydCB7XHJcbiAgU21hcnRUcmVlTW9kZWwsXHJcbiAgU21hcnRUcmVlTm9kZSxcclxuICBTbWFydFRyZWVOb2RlQnV0dG9uLFxyXG4gIFNtYXJ0VHJlZU5vZGVCdXR0b25UeXBlLFxyXG59IGZyb20gJy4vc21hcnR0cmVlLm1vZGVsJztcclxuaW1wb3J0IHsgVHJlZVN0eWxlIH0gZnJvbSAnLi9zbWFydHRyZWUubm9kZS5tb2RlbCc7XHJcbmltcG9ydCB7IFNtYXJ0dHJlZVNlcnZpY2UgfSBmcm9tICcuL3NtYXJ0dHJlZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFVpQWN0aW9uTW9kZWwgfSBmcm9tICcuLi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NtYXJ0LXRyZWUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zbWFydHRyZWUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NtYXJ0dHJlZS5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydFRyZWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBfZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBAVmlld0NoaWxkcmVuKE1hdE1lbnVUcmlnZ2VyKSB0cmlnZ2VyITogUXVlcnlMaXN0PE1hdE1lbnVUcmlnZ2VyPjtcclxuXHJcbiAgQFZpZXdDaGlsZCgndHJlZScpIHRyZWU6IGFueTtcclxuXHJcbiAgdHJlZUNvbnRyb2wgPSBuZXcgTmVzdGVkVHJlZUNvbnRyb2w8U21hcnRUcmVlTm9kZT4oKG5vZGUpID0+IG5vZGUuY2hpbGRyZW5Ob2Rlcyk7XHJcbiAgZGF0YVNvdXJjZSA9IG5ldyBNYXRUcmVlTmVzdGVkRGF0YVNvdXJjZTxTbWFydFRyZWVOb2RlPigpO1xyXG4gIHRlbXBBY3RpdmVOb2RlPzogU21hcnRUcmVlTm9kZTtcclxuICB0cmVlRGF0YT86IFNtYXJ0VHJlZU1vZGVsO1xyXG4gIEBJbnB1dCgpIHRyZWVTdHlsZT86IFRyZWVTdHlsZTtcclxuICBASW5wdXQoKSB0cmVlU2VydmljZSE6IFNtYXJ0dHJlZVNlcnZpY2U8YW55PjtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmRhdGEtdGVzdGlkJylcclxuICBnZXQgdGVzdElkKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgcmV0dXJuIHRoaXMudHJlZVNlcnZpY2U/LnRyZWVJZCA/PyBudWxsO1xyXG4gIH1cclxuICBzbWFydFRyZWVOb2RlQnV0dG9uVHlwZSA9IFNtYXJ0VHJlZU5vZGVCdXR0b25UeXBlO1xyXG5cclxuICBlcnJvck1lc3NhZ2U/OiBzdHJpbmc7XHJcblxyXG4gIHVpQWN0aW9uTW9kZWxzOiBVaUFjdGlvbk1vZGVsW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnRyZWVTZXJ2aWNlKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignVHJlZVNlcnZpY2UgaGFzIG5vdCBiZWVuIGdpdmVuIScpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLnRyZWVTZXJ2aWNlLmVycm9yTWVzc2FnZTtcclxuXHJcbiAgICB0aGlzLnRyZWVTZXJ2aWNlLnNtYXJ0VHJlZU1vZGVsQ2hhbmdlZC5zdWJzY3JpYmUoKG5ld1NtYXJ0VHJlZTogU21hcnRUcmVlTW9kZWwpID0+IHtcclxuICAgICAgdGhpcy50cmVlRGF0YSA9IG5ld1NtYXJ0VHJlZTtcclxuICAgICAgdGhpcy5kYXRhU291cmNlLmRhdGEgPSB0aGlzLnRyZWVEYXRhLnJvb3ROb2RlcyE7XHJcbiAgICAgIHRoaXMuZXhwYW5kVHJlZU5vZGVzKCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMudHJlZVNlcnZpY2UudWlBY3Rpb25Nb2RlbHNDaGFuZ2VkLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMudHJlZVNlcnZpY2UudWlBY3Rpb25Nb2RlbHMpIHtcclxuICAgICAgICB0aGlzLnVpQWN0aW9uTW9kZWxzID0gdGhpcy50cmVlU2VydmljZS51aUFjdGlvbk1vZGVscztcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIGdldElmRXhwYW5kZWQobm9kZTogU21hcnRUcmVlTm9kZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMudHJlZUNvbnRyb2wuaXNFeHBhbmRlZChub2RlKTtcclxuICB9XHJcblxyXG4gIGV4cGFuZFRyZWVOb2RlcygpIHtcclxuICAgIHRoaXMuZXhwYW5kVHJlZU5vZGVzRGVlcGx5KHRoaXMuZGF0YVNvdXJjZS5kYXRhKTtcclxuICB9XHJcblxyXG4gIGV4cGFuZFRyZWVOb2Rlc0RlZXBseShub2RlczogU21hcnRUcmVlTm9kZVtdKSB7XHJcbiAgICBub2Rlcy5mb3JFYWNoKChub2RlKSA9PiB7XHJcbiAgICAgIGlmIChub2RlLmV4cGFuZGVkKSB7XHJcbiAgICAgICAgdGhpcy50cmVlQ29udHJvbC5leHBhbmQobm9kZSk7XHJcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgaWYgKG5vZGUuY2hpbGRyZW5Ob2RlcyAmJiBub2RlLmNoaWxkcmVuTm9kZXMubGVuZ3RoKSB7XHJcbiAgICAgICAgICB0aGlzLmV4cGFuZFRyZWVOb2Rlc0RlZXBseShub2RlLmNoaWxkcmVuTm9kZXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnRyZWVDb250cm9sLmNvbGxhcHNlKG5vZGUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uTm9kZUNsaWNrKGV2ZW50OiBhbnksIG5vZGU6IFNtYXJ0VHJlZU5vZGUpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgIGlmICh0aGlzLnRlbXBBY3RpdmVOb2RlKSB0aGlzLnRlbXBBY3RpdmVOb2RlLnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICBub2RlLnNlbGVjdGVkID0gdHJ1ZTtcclxuICAgIHRoaXMudGVtcEFjdGl2ZU5vZGUgPSBub2RlO1xyXG5cclxuICAgIHRoaXMudHJlZVNlcnZpY2Uub25UcmVlTm9kZUNsaWNrKG5vZGUpO1xyXG4gIH1cclxuXHJcbiAgb25PcGVuTm9kZShldmVudDogYW55LCBub2RlOiBTbWFydFRyZWVOb2RlKSB7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMudHJlZVNlcnZpY2Uub25UcmVlTm9kZU9wZW4obm9kZSk7XHJcbiAgfVxyXG5cclxuICBoYXNDaGlsZCA9IChfOiBudW1iZXIsIG5vZGU6IFNtYXJ0VHJlZU5vZGUpID0+IG5vZGUuaGFzQ2hpbGRyZW47XHJcblxyXG4gIGdldE5vZGVTdHlsZShub2RlOiBTbWFydFRyZWVOb2RlKSB7XHJcbiAgICBpZiAodGhpcy50cmVlU3R5bGUpIHtcclxuICAgICAgdmFyIHN0eWxlID0gbm9kZS5zZWxlY3RlZFxyXG4gICAgICAgID8ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0aGlzLnRyZWVTdHlsZS5hY3RpdmVTdHlsZT8uYmFja2dyb3VuZENvbG9yLFxyXG4gICAgICAgICAgICBjb2xvcjogdGhpcy50cmVlU3R5bGUuYWN0aXZlU3R5bGU/LmNvbG9yLFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDoge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0aGlzLnRyZWVTdHlsZS5sZXZlbEJhY2tncm91bmRDb2xvciFbbm9kZS5sZXZlbCFdLFxyXG4gICAgICAgICAgICBjb2xvcjogdGhpcy50cmVlU3R5bGUuY29sb3IhLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgcmV0dXJuIHN0eWxlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHt9O1xyXG4gIH1cclxuICBnZXROb2RlUGFkZGluZyhub2RlOiBTbWFydFRyZWVOb2RlKSB7XHJcbiAgICBpZiAodGhpcy50cmVlU3R5bGUpIHtcclxuICAgICAgdmFyIHN0eWxlID0gbm9kZS5zZWxlY3RlZFxyXG4gICAgICAgID8ge1xyXG4gICAgICAgICAgICAncGFkZGluZy1sZWZ0JzogMTUgKiBub2RlLmxldmVsISArICdweCcsXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgOiB7XHJcbiAgICAgICAgICAgICdwYWRkaW5nLWxlZnQnOiAxNSAqIG5vZGUubGV2ZWwhICsgJ3B4JyxcclxuICAgICAgICAgIH07XHJcbiAgICAgIHJldHVybiBzdHlsZTtcclxuICAgIH1cclxuICAgIHJldHVybiB7fTtcclxuICB9XHJcblxyXG4gIGN1c3RvbUJ1dHRvbkNsaWNrZWQoZXZlbnQ6IGFueSwgYnV0dG9uOiBTbWFydFRyZWVOb2RlQnV0dG9uLCBjbG9zZT86IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgIGlmIChidXR0b24udHlwZSA9PT0gU21hcnRUcmVlTm9kZUJ1dHRvblR5cGUuTUVOVSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFidXR0b24uY2FsbGJhY2spIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBCdXR0b24gd2l0aCBuYW1lICR7YnV0dG9uLmxhYmVsIHx8IGJ1dHRvbi5pY29ufSBkb2VzIG5vdCBoYXZlIGEgY2FsbGJhY2shYCk7XHJcbiAgICB9XHJcbiAgICBidXR0b24uY2FsbGJhY2soYnV0dG9uLmFyZ3MpO1xyXG4gICAgaWYgKGNsb3NlKSB7XHJcbiAgICAgIGxldCBvcGVuTWVudXMgPSB0aGlzLnRyaWdnZXIuZmlsdGVyKFxyXG4gICAgICAgIChtYXRNZW51VHJpZ2dlcjogTWF0TWVudVRyaWdnZXIpID0+IG1hdE1lbnVUcmlnZ2VyLm1lbnVPcGVuXHJcbiAgICAgICk7XHJcbiAgICAgIG9wZW5NZW51cy5mb3JFYWNoKChtYXRNZW51VHJpZ2dlcjogTWF0TWVudVRyaWdnZXIpID0+IHtcclxuICAgICAgICBtYXRNZW51VHJpZ2dlci5jbG9zZU1lbnUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRDbGFzc2VzRm9yVHJlZU5vZGUobm9kZTogU21hcnRUcmVlTm9kZSk6IHN0cmluZ1tdIHtcclxuICAgIGxldCBjbGFzc2VzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICAgIGlmIChub2RlLmV4cGFuZGVkKSB7XHJcbiAgICAgIGNsYXNzZXMucHVzaCh0aGlzLmdldEN1c3RvbUNsYXNzKCdleHBhbmRlZCcsIG5vZGUubGV2ZWwpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNsYXNzZXMucHVzaCh0aGlzLmdldEN1c3RvbUNsYXNzKCdjb2xsYXBzZWQnLCBub2RlLmxldmVsKSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG5vZGUuc2VsZWN0ZWQpIHtcclxuICAgICAgY2xhc3Nlcy5wdXNoKHRoaXMuZ2V0Q3VzdG9tQ2xhc3MoJ3NlbGVjdGVkJywgbm9kZS5sZXZlbCkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY2xhc3Nlcy5wdXNoKHRoaXMuZ2V0Q3VzdG9tQ2xhc3MoJ3Vuc2VsZWN0ZWQnLCBub2RlLmxldmVsKSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG5vZGUubGV2ZWwgIT09IDApIHtcclxuICAgICAgY2xhc3Nlcy5wdXNoKHRoaXMuZ2V0Q3VzdG9tQ2xhc3MoJ2NoaWxkJywgbm9kZS5sZXZlbCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBjbGFzc2VzO1xyXG4gIH1cclxuXHJcbiAgZ2V0SW5uZXJDbGFzc2VzRm9yVHJlZU5vZGUobm9kZTogU21hcnRUcmVlTm9kZSk6IHN0cmluZ1tdIHtcclxuICAgIGxldCBjbGFzc2VzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuICAgIGlmIChub2RlLmV4cGFuZGVkKSB7XHJcbiAgICAgIGNsYXNzZXMucHVzaCh0aGlzLmdldEN1c3RvbUNsYXNzKCdpbm5lci1leHBhbmRlZCcsIG5vZGUubGV2ZWwpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNsYXNzZXMucHVzaCh0aGlzLmdldEN1c3RvbUNsYXNzKCdpbm5lci1jb2xsYXBzZWQnLCBub2RlLmxldmVsKSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKG5vZGUuc2VsZWN0ZWQpIHtcclxuICAgICAgY2xhc3Nlcy5wdXNoKHRoaXMuZ2V0Q3VzdG9tQ2xhc3MoJ2lubmVyLXNlbGVjdGVkJywgbm9kZS5sZXZlbCkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY2xhc3Nlcy5wdXNoKHRoaXMuZ2V0Q3VzdG9tQ2xhc3MoJ2lubmVyLXVuc2VsZWN0ZWQnLCBub2RlLmxldmVsKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGNsYXNzZXM7XHJcbiAgfVxyXG5cclxuICBnZXRDbGFzc2VzRm9yVHJlZU5vZGVDaGlsZHJlbihub2RlOiBTbWFydFRyZWVOb2RlKTogc3RyaW5nW10ge1xyXG4gICAgbGV0IGNsYXNzZXM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gICAgY2xhc3Nlcy5wdXNoKHRoaXMuZ2V0Q3VzdG9tQ2xhc3MoJ2dyb3VwJywgbm9kZS5sZXZlbCkpO1xyXG5cclxuICAgIHJldHVybiBjbGFzc2VzO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q3VzdG9tQ2xhc3MoY3NzQ2xhc3M6IHN0cmluZywgcGx1c1Byb3BlcnR5OiBhbnkpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGAke2Nzc0NsYXNzfS0ke3BsdXNQcm9wZXJ0eX1gO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic21hcnRUcmVlQ29udGFpbmVyXCI+XHJcbiAgPHNtYXJ0LXVpLWFjdGlvbi10b29sYmFyXHJcbiAgICAqbmdJZj1cInVpQWN0aW9uTW9kZWxzLmxlbmd0aFwiXHJcbiAgICBbdWlBY3Rpb25Nb2RlbHNdPVwidWlBY3Rpb25Nb2RlbHNcIlxyXG4gID48L3NtYXJ0LXVpLWFjdGlvbi10b29sYmFyPlxyXG4gIDxtYXQtdHJlZVxyXG4gICAgI3RyZWVcclxuICAgICpuZ0lmPVwidHJlZURhdGFcIlxyXG4gICAgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiXHJcbiAgICBbdHJlZUNvbnRyb2xdPVwidHJlZUNvbnRyb2xcIlxyXG4gICAgY2xhc3M9XCJzbS10cmVlXCJcclxuICA+XHJcbiAgICA8bWF0LW5lc3RlZC10cmVlLW5vZGVcclxuICAgICAgKm1hdFRyZWVOb2RlRGVmPVwibGV0IG5vZGU7IHdoZW46IGhhc0NoaWxkXCJcclxuICAgICAgbWF0VHJlZU5vZGVUb2dnbGU9XCJ7eyBnZXRJZkV4cGFuZGVkKG5vZGUpIH19XCJcclxuICAgICAgW25nQ2xhc3NdPVwiZ2V0Q2xhc3Nlc0ZvclRyZWVOb2RlKG5vZGUpXCJcclxuICAgICAgW25nU3R5bGVdPVwiZ2V0Tm9kZVN0eWxlKG5vZGUpXCJcclxuICAgID5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIFtuZ1N0eWxlXT1cImdldE5vZGVQYWRkaW5nKG5vZGUpXCJcclxuICAgICAgICBbbmdDbGFzc109XCJnZXRJbm5lckNsYXNzZXNGb3JUcmVlTm9kZShub2RlKVwiXHJcbiAgICAgICAgY2xhc3M9XCJtYXQtdHJlZS1ub2RlIHNtLXRyZWUtbm9kZVwiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uTm9kZUNsaWNrKCRldmVudCwgbm9kZSlcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gW2F0dHIuYXJpYS1sYWJlbF09XCInVG9nZ2xlICcgKyBub2RlLm5hbWVcIj5cclxuICAgICAgICAgIDxtYXQtaWNvblxyXG4gICAgICAgICAgICBjbGFzcz1cIm1hdC1pY29uLXJ0bC1taXJyb3JcIlxyXG4gICAgICAgICAgICBtYXRUcmVlTm9kZVRvZ2dsZVxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25PcGVuTm9kZSgkZXZlbnQsIG5vZGUpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImhhc0NoaWxkKG5vZGUubGV2ZWwsIG5vZGUpXCI+XHJcbiAgICAgICAgICAgICAge3sgdHJlZUNvbnRyb2wuaXNFeHBhbmRlZChub2RlKSA/ICdleHBhbmRfbW9yZScgOiAnY2hldnJvbl9yaWdodCcgfX1cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L21hdC1pY29uPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxzbWFydC1pY29uIFtpY29uXT1cIm5vZGUuaWNvblwiPiA8L3NtYXJ0LWljb24+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNtLXRyZWUtcm93XCIgW25nQ2xhc3NdPVwibm9kZS5jbGFzc2VzXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic20tdHJlZS1yb3ctY2FwdGlvblwiPlxyXG4gICAgICAgICAgICB7eyBub2RlLmNhcHRpb24gfX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNtLXNob3J0RGVzY3JpcHRpb24tc3BhY2VyXCI+PC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic20tdHJlZS1yb3ctc2hvcnREZXNjcmlwdGlvblwiPlxyXG4gICAgICAgICAgICB7eyBub2RlLnNob3J0RGVzY3JpcHRpb24gfX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNtLXNob3J0RGVzY3JpcHRpb24tYnV0dG9uLXNwYWNlclwiPjwvZGl2PlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cIm5vZGUuYnV0dG9uXCIgY2xhc3M9XCJzbS10cmVlLW5vZGUtYnV0dG9uXCIgW25nU3dpdGNoXT1cIm5vZGUuYnV0dG9uLnR5cGVcIj5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJjdXN0b21CdXR0b25DbGlja2VkKCRldmVudCwgbm9kZS5idXR0b24pXCJcclxuICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwic21hcnRUcmVlTm9kZUJ1dHRvblR5cGUuSUNPTlwiXHJcbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8c21hcnQtaWNvbiB0aXRsZT1cInt7IG5vZGUuYnV0dG9uLmljb24gfX1cIiBbaWNvbl09XCJub2RlLmJ1dHRvbi5pY29uXCI+PC9zbWFydC1pY29uPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwic21hcnRUcmVlTm9kZUJ1dHRvblR5cGUuTUVOVVwiPlxyXG4gICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgIG1hdC1idXR0b25cclxuICAgICAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJtZW51XCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjdXN0b21CdXR0b25DbGlja2VkKCRldmVudCwgbm9kZS5idXR0b24sIHRydWUpXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8c21hcnQtaWNvbiAqbmdJZj1cIm5vZGUuYnV0dG9uLmljb25cIiBbaWNvbl09XCJub2RlLmJ1dHRvbi5pY29uXCI+PC9zbWFydC1pY29uXHJcbiAgICAgICAgICAgICAgICA+e3sgbm9kZS5idXR0b24ubGFiZWwgfX1cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8bWF0LW1lbnUgI21lbnU9XCJtYXRNZW51XCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBidXR0b24gb2Ygbm9kZS5idXR0b24ubWVudUl0ZW1CdXR0b25zXCJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImN1c3RvbUJ1dHRvbkNsaWNrZWQoJGV2ZW50LCBidXR0b24sIHRydWUpXCJcclxuICAgICAgICAgICAgICAgICAgbWF0LW1lbnUtaXRlbVxyXG4gICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXRlc3RpZF09XCJidXR0b24uY29kZSA/PyBudWxsXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgPHNtYXJ0LWljb24gKm5nSWY9XCJidXR0b24uaWNvblwiIFtpY29uXT1cImJ1dHRvbi5pY29uXCI+PC9zbWFydC1pY29uXHJcbiAgICAgICAgICAgICAgICAgID57eyBidXR0b24ubGFiZWwgfX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvbWF0LW1lbnU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImN1c3RvbUJ1dHRvbkNsaWNrZWQoJGV2ZW50LCBub2RlLmJ1dHRvbilcIlxyXG4gICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCJzbWFydFRyZWVOb2RlQnV0dG9uVHlwZS5OT1JNQUxcIlxyXG4gICAgICAgICAgICAgIG1hdC1yYWlzZWQtYnV0dG9uXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8c21hcnQtaWNvbiAqbmdJZj1cIm5vZGUuYnV0dG9uLmljb25cIiBbaWNvbl09XCJub2RlLmJ1dHRvbi5pY29uXCI+PC9zbWFydC1pY29uPlxyXG4gICAgICAgICAgICAgIHt7IG5vZGUuYnV0dG9uLmljb24gfX1cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBbY2xhc3Muc20tdHJlZS1pbnZpc2libGVdPVwiIXRyZWVDb250cm9sLmlzRXhwYW5kZWQobm9kZSlcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cImdldENsYXNzZXNGb3JUcmVlTm9kZUNoaWxkcmVuKG5vZGUpXCJcclxuICAgICAgICByb2xlPVwiZ3JvdXBcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRUcmVlTm9kZU91dGxldD48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L21hdC1uZXN0ZWQtdHJlZS1ub2RlPlxyXG4gIDwvbWF0LXRyZWU+XHJcbiAgPGRpdiAqbmdJZj1cIiF0cmVlRGF0YVwiPlxyXG4gICAgPGgzPlxyXG4gICAgICB7eyBlcnJvck1lc3NhZ2UgfX1cclxuICAgIDwvaDM+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -4,4 +4,4 @@ export var SmartTreeNodeButtonType;
4
4
  SmartTreeNodeButtonType["ICON"] = "ICON";
5
5
  SmartTreeNodeButtonType["NORMAL"] = "NORMAL";
6
6
  })(SmartTreeNodeButtonType || (SmartTreeNodeButtonType = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR0cmVlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtdHJlZS9zbWFydHRyZWUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0NBLE1BQU0sQ0FBTixJQUFZLHVCQUlYO0FBSkQsV0FBWSx1QkFBdUI7SUFDakMsd0NBQWEsQ0FBQTtJQUNiLHdDQUFhLENBQUE7SUFDYiw0Q0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBSlcsdUJBQXVCLEtBQXZCLHVCQUF1QixRQUlsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVpQWN0aW9uIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L2FwaSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRUcmVlTW9kZWwge1xuICAvLyBuZW0gdGVtcG9yw6FsaXMgc3RvcmFnZS1iYSB0ZW5uaSBhIFVJIGJlYW4tZWtldFxuICBpZGVudGlmaWVyPzogc3RyaW5nO1xuICByb290Tm9kZXM6IEFycmF5PFNtYXJ0VHJlZU5vZGU+O1xuICBzZWxlY3RlZE5vZGVJZGVudGlmaWVyPzogc3RyaW5nO1xuICBuYXZpZ2F0aW9uVXJsc0J5Tm9kZVR5cGU/OiBBcnJheTxTbWFydFRyZWVOb2RlVHlwZT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRUcmVlTm9kZSB7XG4gIGljb24/OiBzdHJpbmc7XG4gIGNhcHRpb246IHN0cmluZztcbiAgY2xhc3Nlcz86IEFycmF5PHN0cmluZz47XG4gIGhhc0NoaWxkcmVuOiBib29sZWFuO1xuICBjaGlsZHJlbk5vZGVzOiBBcnJheTxTbWFydFRyZWVOb2RlPjtcbiAgZXhwYW5kZWQ6IGJvb2xlYW47XG4gIHNlbGVjdGVkOiBib29sZWFuO1xuICBjaGlsZHJlbk5vZGVzTG9hZGVkOiBib29sZWFuO1xuICBsZXZlbDogbnVtYmVyO1xuICBzaG9ydERlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBpZGVudGlmaWVyPzogc3RyaW5nO1xuICBvYmplY3RVcmk/OiBzdHJpbmc7XG4gIG5vZGVUeXBlOiBzdHJpbmc7XG4gIGJ1dHRvbj86IFNtYXJ0VHJlZU5vZGVCdXR0b247XG4gIGFjdGlvbnM/OiBBcnJheTxVaUFjdGlvbj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRUcmVlTm9kZUJ1dHRvbiB7XG4gIGljb24/OiBzdHJpbmc7XG4gIGxhYmVsPzogc3RyaW5nO1xuICBjb2RlPzogc3RyaW5nO1xuICB0eXBlOiBTbWFydFRyZWVOb2RlQnV0dG9uVHlwZTtcbiAgbWVudUl0ZW1CdXR0b25zPzogU21hcnRUcmVlTm9kZUJ1dHRvbltdO1xuICBjYWxsYmFjaz86ICguLi5hcmdzOiBhbnlbXSkgPT4gYW55O1xuICBhcmdzPzogYW55W107XG59XG5cbmV4cG9ydCBlbnVtIFNtYXJ0VHJlZU5vZGVCdXR0b25UeXBlIHtcbiAgTUVOVSA9ICdNRU5VJyxcbiAgSUNPTiA9ICdJQ09OJyxcbiAgTk9STUFMID0gJ05PUk1BTCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRUcmVlTm9kZVR5cGUge1xuICBub2RlVHlwZTogc3RyaW5nO1xuICBuYXZpZ2F0aW9uVXJsOiBhbnlbXTtcbn1cbiJdfQ==
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR0cmVlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtdHJlZS9zbWFydHRyZWUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0NBLE1BQU0sQ0FBTixJQUFZLHVCQUlYO0FBSkQsV0FBWSx1QkFBdUI7SUFDakMsd0NBQWEsQ0FBQTtJQUNiLHdDQUFhLENBQUE7SUFDYiw0Q0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBSlcsdUJBQXVCLEtBQXZCLHVCQUF1QixRQUlsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVpQWN0aW9uIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L2FwaSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0VHJlZU1vZGVsIHtcclxuICAvLyBuZW0gdGVtcG9yw6FsaXMgc3RvcmFnZS1iYSB0ZW5uaSBhIFVJIGJlYW4tZWtldFxyXG4gIGlkZW50aWZpZXI/OiBzdHJpbmc7XHJcbiAgcm9vdE5vZGVzOiBBcnJheTxTbWFydFRyZWVOb2RlPjtcclxuICBzZWxlY3RlZE5vZGVJZGVudGlmaWVyPzogc3RyaW5nO1xyXG4gIG5hdmlnYXRpb25VcmxzQnlOb2RlVHlwZT86IEFycmF5PFNtYXJ0VHJlZU5vZGVUeXBlPjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTbWFydFRyZWVOb2RlIHtcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIGNhcHRpb246IHN0cmluZztcclxuICBjbGFzc2VzPzogQXJyYXk8c3RyaW5nPjtcclxuICBoYXNDaGlsZHJlbjogYm9vbGVhbjtcclxuICBjaGlsZHJlbk5vZGVzOiBBcnJheTxTbWFydFRyZWVOb2RlPjtcclxuICBleHBhbmRlZDogYm9vbGVhbjtcclxuICBzZWxlY3RlZDogYm9vbGVhbjtcclxuICBjaGlsZHJlbk5vZGVzTG9hZGVkOiBib29sZWFuO1xyXG4gIGxldmVsOiBudW1iZXI7XHJcbiAgc2hvcnREZXNjcmlwdGlvbj86IHN0cmluZztcclxuICBpZGVudGlmaWVyPzogc3RyaW5nO1xyXG4gIG9iamVjdFVyaT86IHN0cmluZztcclxuICBub2RlVHlwZTogc3RyaW5nO1xyXG4gIGJ1dHRvbj86IFNtYXJ0VHJlZU5vZGVCdXR0b247XHJcbiAgYWN0aW9ucz86IEFycmF5PFVpQWN0aW9uPjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTbWFydFRyZWVOb2RlQnV0dG9uIHtcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIGxhYmVsPzogc3RyaW5nO1xyXG4gIGNvZGU/OiBzdHJpbmc7XHJcbiAgdHlwZTogU21hcnRUcmVlTm9kZUJ1dHRvblR5cGU7XHJcbiAgbWVudUl0ZW1CdXR0b25zPzogU21hcnRUcmVlTm9kZUJ1dHRvbltdO1xyXG4gIGNhbGxiYWNrPzogKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnk7XHJcbiAgYXJncz86IGFueVtdO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBTbWFydFRyZWVOb2RlQnV0dG9uVHlwZSB7XHJcbiAgTUVOVSA9ICdNRU5VJyxcclxuICBJQ09OID0gJ0lDT04nLFxyXG4gIE5PUk1BTCA9ICdOT1JNQUwnLFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0VHJlZU5vZGVUeXBlIHtcclxuICBub2RlVHlwZTogc3RyaW5nO1xyXG4gIG5hdmlnYXRpb25Vcmw6IGFueVtdO1xyXG59XHJcbiJdfQ==
@@ -57,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
57
57
  ],
58
58
  }]
59
59
  }] });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR0cmVlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LXRyZWUvc21hcnR0cmVlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFzQnpELE1BQU0sT0FBTyxlQUFlOytHQUFmLGVBQWU7Z0hBQWYsZUFBZSxpQkFuQlgsa0JBQWtCLGFBRS9CLGFBQWE7WUFDYixlQUFlO1lBQ2YsZUFBZTtZQUNmLGFBQWE7WUFDYixhQUFhO1lBQ2IsYUFBYTtZQUNiLGVBQWU7WUFDZixzQkFBc0IsYUFFZCxrQkFBa0I7Z0hBUWpCLGVBQWUsYUFOZjtZQUNULGdCQUFnQjtZQUNoQix1QkFBdUI7WUFDdkIsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUU7U0FDbkQsWUFmQyxhQUFhO1lBQ2IsZUFBZTtZQUNmLGVBQWU7WUFDZixhQUFhO1lBQ2IsYUFBYTtZQUNiLGFBQWE7WUFDYixlQUFlO1lBQ2Ysc0JBQXNCOzs0RkFVYixlQUFlO2tCQXBCM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDbEMsT0FBTyxFQUFFO3dCQUNQLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGVBQWU7d0JBQ2Ysc0JBQXNCO3FCQUN2QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDN0IsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ2pDLFNBQVMsRUFBRTt3QkFDVCxnQkFBZ0I7d0JBQ2hCLHVCQUF1Qjt3QkFDdkIsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUU7cUJBQ25EO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQgeyBNYXRDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IE1hdFRyZWVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90cmVlJztcbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IFNtYXJ0dHJlZUdlbmVyaWNTZXJ2aWNlIH0gZnJvbSAnLi9zbWFydHRyZWUtZ2VuZXJpYy5zZXJ2aWNlJztcbmltcG9ydCB7IFNtYXJ0VHJlZUNvbXBvbmVudCB9IGZyb20gJy4vc21hcnR0cmVlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTbWFydHRyZWVTZXJ2aWNlIH0gZnJvbSAnLi9zbWFydHRyZWUuc2VydmljZSc7XG5pbXBvcnQgeyBTbWFydFZpZXdDb250ZXh0TW9kdWxlIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L3NtYXJ0LXZpZXctY29udGV4dC5tb2R1bGUnO1xuaW1wb3J0IHsgU21hcnRJY29uTW9kdWxlIH0gZnJvbSAnLi4vc21hcnQtaWNvbi9wcm9qZWN0cyc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1NtYXJ0VHJlZUNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBCcm93c2VyTW9kdWxlLFxuICAgIE1hdENvbW1vbk1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBNYXRUcmVlTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgU21hcnRJY29uTW9kdWxlLFxuICAgIFNtYXJ0Vmlld0NvbnRleHRNb2R1bGUsXG4gIF0sXG4gIGV4cG9ydHM6IFtTbWFydFRyZWVDb21wb25lbnRdLFxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG4gIHByb3ZpZGVyczogW1xuICAgIFNtYXJ0dHJlZVNlcnZpY2UsXG4gICAgU21hcnR0cmVlR2VuZXJpY1NlcnZpY2UsXG4gICAgeyBwcm92aWRlOiAndHJlZU1lbnVJY29uJywgdXNlVmFsdWU6ICdtb3JlX3ZlcnQnIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNtYXJ0dHJlZU1vZHVsZSB7fVxuIl19
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR0cmVlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LXRyZWUvc21hcnR0cmVlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFzQnpELE1BQU0sT0FBTyxlQUFlOytHQUFmLGVBQWU7Z0hBQWYsZUFBZSxpQkFuQlgsa0JBQWtCLGFBRS9CLGFBQWE7WUFDYixlQUFlO1lBQ2YsZUFBZTtZQUNmLGFBQWE7WUFDYixhQUFhO1lBQ2IsYUFBYTtZQUNiLGVBQWU7WUFDZixzQkFBc0IsYUFFZCxrQkFBa0I7Z0hBUWpCLGVBQWUsYUFOZjtZQUNULGdCQUFnQjtZQUNoQix1QkFBdUI7WUFDdkIsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUU7U0FDbkQsWUFmQyxhQUFhO1lBQ2IsZUFBZTtZQUNmLGVBQWU7WUFDZixhQUFhO1lBQ2IsYUFBYTtZQUNiLGFBQWE7WUFDYixlQUFlO1lBQ2Ysc0JBQXNCOzs0RkFVYixlQUFlO2tCQXBCM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDbEMsT0FBTyxFQUFFO3dCQUNQLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsYUFBYTt3QkFDYixhQUFhO3dCQUNiLGVBQWU7d0JBQ2Ysc0JBQXNCO3FCQUN2QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDN0IsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ2pDLFNBQVMsRUFBRTt3QkFDVCxnQkFBZ0I7d0JBQ2hCLHVCQUF1Qjt3QkFDdkIsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUU7cUJBQ25EO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0Q29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xyXG5pbXBvcnQgeyBNYXRUcmVlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdHJlZSc7XHJcbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgU21hcnR0cmVlR2VuZXJpY1NlcnZpY2UgfSBmcm9tICcuL3NtYXJ0dHJlZS1nZW5lcmljLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTbWFydFRyZWVDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0dHJlZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWFydHRyZWVTZXJ2aWNlIH0gZnJvbSAnLi9zbWFydHRyZWUuc2VydmljZSc7XHJcbmltcG9ydCB7IFNtYXJ0Vmlld0NvbnRleHRNb2R1bGUgfSBmcm9tICcuLi92aWV3LWNvbnRleHQvc21hcnQtdmlldy1jb250ZXh0Lm1vZHVsZSc7XHJcbmltcG9ydCB7IFNtYXJ0SWNvbk1vZHVsZSB9IGZyb20gJy4uL3NtYXJ0LWljb24vcHJvamVjdHMnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtTbWFydFRyZWVDb21wb25lbnRdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIEJyb3dzZXJNb2R1bGUsXHJcbiAgICBNYXRDb21tb25Nb2R1bGUsXHJcbiAgICBNYXRCdXR0b25Nb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0VHJlZU1vZHVsZSxcclxuICAgIE1hdE1lbnVNb2R1bGUsXHJcbiAgICBTbWFydEljb25Nb2R1bGUsXHJcbiAgICBTbWFydFZpZXdDb250ZXh0TW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1NtYXJ0VHJlZUNvbXBvbmVudF0sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgU21hcnR0cmVlU2VydmljZSxcclxuICAgIFNtYXJ0dHJlZUdlbmVyaWNTZXJ2aWNlLFxyXG4gICAgeyBwcm92aWRlOiAndHJlZU1lbnVJY29uJywgdXNlVmFsdWU6ICdtb3JlX3ZlcnQnIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0dHJlZU1vZHVsZSB7fVxyXG4iXX0=
@@ -3,4 +3,4 @@ export var TreeArrowPosition;
3
3
  TreeArrowPosition[TreeArrowPosition["START"] = 0] = "START";
4
4
  TreeArrowPosition[TreeArrowPosition["END"] = 1] = "END";
5
5
  })(TreeArrowPosition || (TreeArrowPosition = {}));
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR0cmVlLm5vZGUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC10cmVlL3NtYXJ0dHJlZS5ub2RlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sQ0FBTixJQUFZLGlCQUVYO0FBRkQsV0FBWSxpQkFBaUI7SUFDekIsMkRBQUssQ0FBQTtJQUFFLHVEQUFHLENBQUE7QUFDZCxDQUFDLEVBRlcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQUU1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVHJlZVN0eWxlIHtcbiAgICBhcnJvd1Bvc2l0aW9uPzogVHJlZUFycm93UG9zaXRpb247XG4gICAgbGV2ZWxCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmdbXTtcbiAgICBjb2xvcj86IHN0cmluZztcbiAgICBhY3RpdmVTdHlsZT86IHsgY29sb3I6IHN0cmluZywgYmFja2dyb3VuZENvbG9yOiBzdHJpbmcgfTtcbn1cblxuZXhwb3J0IGVudW0gVHJlZUFycm93UG9zaXRpb24ge1xuICAgIFNUQVJULCBFTkRcbn0iXX0=
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR0cmVlLm5vZGUubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC10cmVlL3NtYXJ0dHJlZS5ub2RlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sQ0FBTixJQUFZLGlCQUVYO0FBRkQsV0FBWSxpQkFBaUI7SUFDekIsMkRBQUssQ0FBQTtJQUFFLHVEQUFHLENBQUE7QUFDZCxDQUFDLEVBRlcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQUU1QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgVHJlZVN0eWxlIHtcclxuICAgIGFycm93UG9zaXRpb24/OiBUcmVlQXJyb3dQb3NpdGlvbjtcclxuICAgIGxldmVsQmFja2dyb3VuZENvbG9yPzogc3RyaW5nW107XHJcbiAgICBjb2xvcj86IHN0cmluZztcclxuICAgIGFjdGl2ZVN0eWxlPzogeyBjb2xvcjogc3RyaW5nLCBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZyB9O1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBUcmVlQXJyb3dQb3NpdGlvbiB7XHJcbiAgICBTVEFSVCwgRU5EXHJcbn0iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR0cmVlLnNlcnZpY2UuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtdHJlZS9zbWFydHRyZWUuc2VydmljZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNtYXJ0VHJlZU1vZGVsLCBTbWFydFRyZWVOb2RlIH0gZnJvbSAnLi9zbWFydHRyZWUubW9kZWwnO1xuaW1wb3J0IHsgVWlBY3Rpb25Nb2RlbCB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vdWktYWN0aW9uLm1vZGVsJztcblxuLyoqXG4gKiBUIC0gVHJlZU5vZGVMaXN0XG4gKiBOIC0gVHJlZU5vZGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTbWFydHRyZWVTZXJ2aWNlRGVzY3JpcHRvcjxUPiB7XG4gIGVycm9yTWVzc2FnZTogc3RyaW5nO1xuXG4gIHRyZWVGcm9tQmFja2VuZDogVCB8IHVuZGVmaW5lZDtcbiAgc21hcnRUcmVlTW9kZWw6IFNtYXJ0VHJlZU1vZGVsIHwgdW5kZWZpbmVkO1xuICBzbWFydFRyZWVNb2RlbENoYW5nZWQ6IFN1YmplY3Q8U21hcnRUcmVlTW9kZWw+O1xuXG4gIHVpQWN0aW9uTW9kZWxzQ2hhbmdlZDogU3ViamVjdDx2b2lkPjtcblxuICBnZXQgdWlBY3Rpb25Nb2RlbHMoKTtcbiAgc2V0IHVpQWN0aW9uTW9kZWxzKHVpQWN0aW9uczogVWlBY3Rpb25Nb2RlbFtdIHwgdW5kZWZpbmVkKTtcblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgdGhlIFNtYXJ0VHJlZS5cbiAgICovXG4gIGluaXRpYWxpemUoKTogUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogQkZGIEFQSSBjYWxsLCBkb3dubG9hZHMgdGhlIHRyZWUgZnJvbSB0aGUgYmFja2VuZCBhbmQgcmV0dXJucyBpdC5cbiAgICovXG4gIGRvd25sb2FkVHJlZSgpOiBQcm9taXNlPFQ+O1xuXG4gIC8qKlxuICAgKiBCRkYgQVBJIGNhbGwsIGRvd25sb2FkcyB0aGUgY2hpbGRyZW4gb2YgYSBwYXJlbnROb2RlIGFuZCByZXR1cm5zIGl0LlxuICAgKiBAcGFyYW0gcGFyZW50Tm9kZVxuICAgKi9cbiAgZG93bmxvYWRDaGlsZHJlbihwYXJlbnROb2RlOiBTbWFydFRyZWVOb2RlKTogUHJvbWlzZTxUPjtcblxuICAvKipcbiAgICogSGFuZGxlcyB0aGUgb24gY2xpY2sgZXZlbnQgZm9yIHRoZSB0cmVlTm9kZS5cbiAgICogQHBhcmFtIHRyZWVOb2RlXG4gICAqL1xuICBvblRyZWVOb2RlQ2xpY2sodHJlZU5vZGU6IFNtYXJ0VHJlZU5vZGUpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBoYW5kbGVzIHRoZSBvcGVuIGNsaWNrIGV2ZW50IGZvciB0aGUgdHJlZU5vZGUuXG4gICAqIEBwYXJhbSB0cmVlTm9kZVxuICAgKi9cbiAgb25UcmVlTm9kZU9wZW4odHJlZU5vZGU6IFNtYXJ0VHJlZU5vZGUpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBTeW5jaHJvbmlzZSB0aGUgdHJlZSBhbmQgZW1pdHMgYSBzbWFydFRyZWVNb2RlbENoYW5nZWQgZXZlbnQuXG4gICAqL1xuICBzeW5jVHJlZSgpOiB2b2lkO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR0cmVlLnNlcnZpY2UuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtdHJlZS9zbWFydHRyZWUuc2VydmljZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgU21hcnRUcmVlTW9kZWwsIFNtYXJ0VHJlZU5vZGUgfSBmcm9tICcuL3NtYXJ0dHJlZS5tb2RlbCc7XHJcbmltcG9ydCB7IFVpQWN0aW9uTW9kZWwgfSBmcm9tICcuLi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi5tb2RlbCc7XHJcblxyXG4vKipcclxuICogVCAtIFRyZWVOb2RlTGlzdFxyXG4gKiBOIC0gVHJlZU5vZGVcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgU21hcnR0cmVlU2VydmljZURlc2NyaXB0b3I8VD4ge1xyXG4gIGVycm9yTWVzc2FnZTogc3RyaW5nO1xyXG5cclxuICB0cmVlRnJvbUJhY2tlbmQ6IFQgfCB1bmRlZmluZWQ7XHJcbiAgc21hcnRUcmVlTW9kZWw6IFNtYXJ0VHJlZU1vZGVsIHwgdW5kZWZpbmVkO1xyXG4gIHNtYXJ0VHJlZU1vZGVsQ2hhbmdlZDogU3ViamVjdDxTbWFydFRyZWVNb2RlbD47XHJcblxyXG4gIHVpQWN0aW9uTW9kZWxzQ2hhbmdlZDogU3ViamVjdDx2b2lkPjtcclxuXHJcbiAgZ2V0IHVpQWN0aW9uTW9kZWxzKCk7XHJcbiAgc2V0IHVpQWN0aW9uTW9kZWxzKHVpQWN0aW9uczogVWlBY3Rpb25Nb2RlbFtdIHwgdW5kZWZpbmVkKTtcclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbGl6ZXMgdGhlIFNtYXJ0VHJlZS5cclxuICAgKi9cclxuICBpbml0aWFsaXplKCk6IFByb21pc2U8dm9pZD47XHJcblxyXG4gIC8qKlxyXG4gICAqIEJGRiBBUEkgY2FsbCwgZG93bmxvYWRzIHRoZSB0cmVlIGZyb20gdGhlIGJhY2tlbmQgYW5kIHJldHVybnMgaXQuXHJcbiAgICovXHJcbiAgZG93bmxvYWRUcmVlKCk6IFByb21pc2U8VD47XHJcblxyXG4gIC8qKlxyXG4gICAqIEJGRiBBUEkgY2FsbCwgZG93bmxvYWRzIHRoZSBjaGlsZHJlbiBvZiBhIHBhcmVudE5vZGUgYW5kIHJldHVybnMgaXQuXHJcbiAgICogQHBhcmFtIHBhcmVudE5vZGVcclxuICAgKi9cclxuICBkb3dubG9hZENoaWxkcmVuKHBhcmVudE5vZGU6IFNtYXJ0VHJlZU5vZGUpOiBQcm9taXNlPFQ+O1xyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGVzIHRoZSBvbiBjbGljayBldmVudCBmb3IgdGhlIHRyZWVOb2RlLlxyXG4gICAqIEBwYXJhbSB0cmVlTm9kZVxyXG4gICAqL1xyXG4gIG9uVHJlZU5vZGVDbGljayh0cmVlTm9kZTogU21hcnRUcmVlTm9kZSk6IHZvaWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIGhhbmRsZXMgdGhlIG9wZW4gY2xpY2sgZXZlbnQgZm9yIHRoZSB0cmVlTm9kZS5cclxuICAgKiBAcGFyYW0gdHJlZU5vZGVcclxuICAgKi9cclxuICBvblRyZWVOb2RlT3Blbih0cmVlTm9kZTogU21hcnRUcmVlTm9kZSk6IHZvaWQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIFN5bmNocm9uaXNlIHRoZSB0cmVlIGFuZCBlbWl0cyBhIHNtYXJ0VHJlZU1vZGVsQ2hhbmdlZCBldmVudC5cclxuICAgKi9cclxuICBzeW5jVHJlZSgpOiB2b2lkO1xyXG59XHJcbiJdfQ==
@@ -44,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
44
44
  providedIn: 'root',
45
45
  }]
46
46
  }], ctorParameters: () => [] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR0cmVlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC10cmVlL3NtYXJ0dHJlZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFRL0IsTUFBTSxPQUFPLGdCQUFnQjtJQVczQixJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFDRCxJQUFJLGNBQWMsQ0FBQyxjQUEyQztRQUM1RCxJQUFJLENBQUMsZUFBZSxHQUFHLGNBQWMsQ0FBQztRQUN0QyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVEO1FBbEJBLGlCQUFZLEdBQVcsbUNBQW1DLENBQUM7UUFLM0QsMEJBQXFCLEdBQTRCLElBQUksT0FBTyxFQUFFLENBQUM7UUFHL0QsMEJBQXFCLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7SUFVdEMsQ0FBQztJQUVoQixLQUFLLENBQUMsVUFBVTtRQUNkLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVksRUFBRSxFQUFFO1lBQzlDLElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxLQUFLLENBQUMsWUFBWTtRQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxVQUF5QjtRQUM5QyxNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUNELGVBQWUsQ0FBQyxRQUF1QjtRQUNyQyxNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUNELGNBQWMsQ0FBQyxRQUF1QjtRQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUNELFFBQVE7UUFDTixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7SUFDdEQsQ0FBQzsrR0F6Q1UsZ0JBQWdCO21IQUFoQixnQkFBZ0IsY0FGZixNQUFNOzs0RkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU21hcnRUcmVlTW9kZWwsIFNtYXJ0VHJlZU5vZGUgfSBmcm9tICcuL3NtYXJ0dHJlZS5tb2RlbCc7XG5pbXBvcnQgeyBTbWFydHRyZWVTZXJ2aWNlRGVzY3JpcHRvciB9IGZyb20gJy4vc21hcnR0cmVlLnNlcnZpY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IFVpQWN0aW9uTW9kZWwgfSBmcm9tICcuLi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTbWFydHRyZWVTZXJ2aWNlPFQ+IGltcGxlbWVudHMgU21hcnR0cmVlU2VydmljZURlc2NyaXB0b3I8VD4ge1xuICBlcnJvck1lc3NhZ2U6IHN0cmluZyA9ICdUaGUgdHJlZSBpcyBjdXJyZW50bHkgdW5hdmFpbGFibGUnO1xuICB0cmVlSWQ/OiBzdHJpbmc7XG5cbiAgdHJlZUZyb21CYWNrZW5kOiBUIHwgdW5kZWZpbmVkO1xuICBzbWFydFRyZWVNb2RlbDogU21hcnRUcmVlTW9kZWwgfCB1bmRlZmluZWQ7XG4gIHNtYXJ0VHJlZU1vZGVsQ2hhbmdlZDogU3ViamVjdDxTbWFydFRyZWVNb2RlbD4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIHByb3RlY3RlZCBfdWlBY3Rpb25Nb2RlbHM6IFVpQWN0aW9uTW9kZWxbXSB8IHVuZGVmaW5lZDtcbiAgdWlBY3Rpb25Nb2RlbHNDaGFuZ2VkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICBnZXQgdWlBY3Rpb25Nb2RlbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3VpQWN0aW9uTW9kZWxzO1xuICB9XG4gIHNldCB1aUFjdGlvbk1vZGVscyh1aUFjdGlvbk1vZGVsczogVWlBY3Rpb25Nb2RlbFtdIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fdWlBY3Rpb25Nb2RlbHMgPSB1aUFjdGlvbk1vZGVscztcbiAgICB0aGlzLnVpQWN0aW9uTW9kZWxzQ2hhbmdlZC5uZXh0KCk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgYXN5bmMgaW5pdGlhbGl6ZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmRvd25sb2FkVHJlZSgpLnRoZW4oKHJvb3ROb2RlczogVCkgPT4ge1xuICAgICAgdGhpcy50cmVlRnJvbUJhY2tlbmQgPSByb290Tm9kZXM7XG4gICAgICB0aGlzLnN5bmNUcmVlKCk7XG4gICAgfSk7XG4gIH1cbiAgYXN5bmMgZG93bmxvYWRUcmVlKCk6IFByb21pc2U8VD4ge1xuICAgIHRocm93IG5ldyBFcnJvcignZG93bmxvYWRUcmVlIG1ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cbiAgYXN5bmMgZG93bmxvYWRDaGlsZHJlbihwYXJlbnROb2RlOiBTbWFydFRyZWVOb2RlKTogUHJvbWlzZTxUPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdkb3dubG9hZENoaWxkcmVuIG1ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cbiAgb25UcmVlTm9kZUNsaWNrKHRyZWVOb2RlOiBTbWFydFRyZWVOb2RlKTogdm9pZCB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdvblRyZWVOb2RlQ2xpY2sgbWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuICBvblRyZWVOb2RlT3Blbih0cmVlTm9kZTogU21hcnRUcmVlTm9kZSk6IHZvaWQge1xuICAgIHRocm93IG5ldyBFcnJvcignb25UcmVlTm9kZU9wZW4gbWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuICBzeW5jVHJlZSgpOiB2b2lkIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3N5bmNUcmVlIG1ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gIH1cbn1cbiJdfQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnR0cmVlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC10cmVlL3NtYXJ0dHJlZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFRL0IsTUFBTSxPQUFPLGdCQUFnQjtJQVczQixJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFDRCxJQUFJLGNBQWMsQ0FBQyxjQUEyQztRQUM1RCxJQUFJLENBQUMsZUFBZSxHQUFHLGNBQWMsQ0FBQztRQUN0QyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVEO1FBbEJBLGlCQUFZLEdBQVcsbUNBQW1DLENBQUM7UUFLM0QsMEJBQXFCLEdBQTRCLElBQUksT0FBTyxFQUFFLENBQUM7UUFHL0QsMEJBQXFCLEdBQWtCLElBQUksT0FBTyxFQUFFLENBQUM7SUFVdEMsQ0FBQztJQUVoQixLQUFLLENBQUMsVUFBVTtRQUNkLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVksRUFBRSxFQUFFO1lBQzlDLElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxLQUFLLENBQUMsWUFBWTtRQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxVQUF5QjtRQUM5QyxNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUNELGVBQWUsQ0FBQyxRQUF1QjtRQUNyQyxNQUFNLElBQUksS0FBSyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUNELGNBQWMsQ0FBQyxRQUF1QjtRQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUNELFFBQVE7UUFDTixNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7SUFDdEQsQ0FBQzsrR0F6Q1UsZ0JBQWdCO21IQUFoQixnQkFBZ0IsY0FGZixNQUFNOzs0RkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFNtYXJ0VHJlZU1vZGVsLCBTbWFydFRyZWVOb2RlIH0gZnJvbSAnLi9zbWFydHRyZWUubW9kZWwnO1xyXG5pbXBvcnQgeyBTbWFydHRyZWVTZXJ2aWNlRGVzY3JpcHRvciB9IGZyb20gJy4vc21hcnR0cmVlLnNlcnZpY2UuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgVWlBY3Rpb25Nb2RlbCB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vdWktYWN0aW9uLm1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydHRyZWVTZXJ2aWNlPFQ+IGltcGxlbWVudHMgU21hcnR0cmVlU2VydmljZURlc2NyaXB0b3I8VD4ge1xyXG4gIGVycm9yTWVzc2FnZTogc3RyaW5nID0gJ1RoZSB0cmVlIGlzIGN1cnJlbnRseSB1bmF2YWlsYWJsZSc7XHJcbiAgdHJlZUlkPzogc3RyaW5nO1xyXG5cclxuICB0cmVlRnJvbUJhY2tlbmQ6IFQgfCB1bmRlZmluZWQ7XHJcbiAgc21hcnRUcmVlTW9kZWw6IFNtYXJ0VHJlZU1vZGVsIHwgdW5kZWZpbmVkO1xyXG4gIHNtYXJ0VHJlZU1vZGVsQ2hhbmdlZDogU3ViamVjdDxTbWFydFRyZWVNb2RlbD4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBwcm90ZWN0ZWQgX3VpQWN0aW9uTW9kZWxzOiBVaUFjdGlvbk1vZGVsW10gfCB1bmRlZmluZWQ7XHJcbiAgdWlBY3Rpb25Nb2RlbHNDaGFuZ2VkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgZ2V0IHVpQWN0aW9uTW9kZWxzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3VpQWN0aW9uTW9kZWxzO1xyXG4gIH1cclxuICBzZXQgdWlBY3Rpb25Nb2RlbHModWlBY3Rpb25Nb2RlbHM6IFVpQWN0aW9uTW9kZWxbXSB8IHVuZGVmaW5lZCkge1xyXG4gICAgdGhpcy5fdWlBY3Rpb25Nb2RlbHMgPSB1aUFjdGlvbk1vZGVscztcclxuICAgIHRoaXMudWlBY3Rpb25Nb2RlbHNDaGFuZ2VkLm5leHQoKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgYXN5bmMgaW5pdGlhbGl6ZSgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGF3YWl0IHRoaXMuZG93bmxvYWRUcmVlKCkudGhlbigocm9vdE5vZGVzOiBUKSA9PiB7XHJcbiAgICAgIHRoaXMudHJlZUZyb21CYWNrZW5kID0gcm9vdE5vZGVzO1xyXG4gICAgICB0aGlzLnN5bmNUcmVlKCk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgYXN5bmMgZG93bmxvYWRUcmVlKCk6IFByb21pc2U8VD4ge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdkb3dubG9hZFRyZWUgbWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcclxuICB9XHJcbiAgYXN5bmMgZG93bmxvYWRDaGlsZHJlbihwYXJlbnROb2RlOiBTbWFydFRyZWVOb2RlKTogUHJvbWlzZTxUPiB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ2Rvd25sb2FkQ2hpbGRyZW4gbWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcclxuICB9XHJcbiAgb25UcmVlTm9kZUNsaWNrKHRyZWVOb2RlOiBTbWFydFRyZWVOb2RlKTogdm9pZCB7XHJcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ29uVHJlZU5vZGVDbGljayBtZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xyXG4gIH1cclxuICBvblRyZWVOb2RlT3Blbih0cmVlTm9kZTogU21hcnRUcmVlTm9kZSk6IHZvaWQge1xyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdvblRyZWVOb2RlT3BlbiBtZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xyXG4gIH1cclxuICBzeW5jVHJlZSgpOiB2b2lkIHtcclxuICAgIHRocm93IG5ldyBFcnJvcignc3luY1RyZWUgbWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcclxuICB9XHJcbn1cclxuIl19