@alauda-fe/common 1.3.0 → 1.3.1

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 (508) hide show
  1. package/api/helpers.d.ts +8 -16
  2. package/array-form-table/form/component.d.ts +1 -1
  3. package/business/resource-select/internals/namespace-list/component.d.ts +3 -1
  4. package/business/resource-select/module.d.ts +2 -1
  5. package/core/components/tree/toggle.d.ts +3 -3
  6. package/core/constants/constants.d.ts +4 -1
  7. package/core/constants/patterns.d.ts +8 -0
  8. package/core/constants/status-icons.d.ts +2 -1
  9. package/core/services/encode-url-param.interceptor.d.ts +12 -0
  10. package/core/services/public-api.d.ts +1 -0
  11. package/core/services/time.service.d.ts +1 -0
  12. package/core/types/k8s/crd.d.ts +11 -5
  13. package/core/types/k8s/raw.d.ts +25 -38
  14. package/core/types/resource-definitions.d.ts +57 -71
  15. package/core/utils/common.d.ts +5 -11
  16. package/core/utils/disabled-state.d.ts +20 -0
  17. package/core/utils/public-api.d.ts +2 -0
  18. package/core/utils/workload.d.ts +66 -0
  19. package/esm2022/abnormal-page/abnormal-page.component.mjs +5 -4
  20. package/esm2022/abnormal-page/abnormal-page.module.mjs +2 -2
  21. package/esm2022/api/acp-common-api.service.mjs +3 -3
  22. package/esm2022/api/api-compatible.interceptor.mjs +1 -1
  23. package/esm2022/api/api-gateway.interceptor.mjs +3 -3
  24. package/esm2022/api/api-gateway.service.mjs +2 -2
  25. package/esm2022/api/cluster-version.service.mjs +3 -3
  26. package/esm2022/api/crypto.interceptor.mjs +4 -4
  27. package/esm2022/api/helpers.mjs +1 -1
  28. package/esm2022/api/k8s-api-resource.service.mjs +4 -4
  29. package/esm2022/api/k8s-api.service.mjs +6 -6
  30. package/esm2022/api/page-visibility.service.mjs +2 -2
  31. package/esm2022/api/platform-ui.service.mjs +2 -2
  32. package/esm2022/api/product.service.mjs +3 -3
  33. package/esm2022/api/project-api.service.mjs +3 -3
  34. package/esm2022/api/resource-update.service.mjs +3 -3
  35. package/esm2022/array-form-table/base-string-map-form.component.mjs +3 -3
  36. package/esm2022/array-form-table/form/component.mjs +104 -111
  37. package/esm2022/array-form-table/form/module.mjs +2 -2
  38. package/esm2022/array-form-table/key-value-form/component.mjs +53 -58
  39. package/esm2022/array-form-table/key-value-table/component.mjs +7 -7
  40. package/esm2022/array-form-table/string-array-form/component.mjs +48 -52
  41. package/esm2022/async-data/async-data-loader.mjs +1 -1
  42. package/esm2022/async-data/async-data.module.mjs +2 -2
  43. package/esm2022/async-data/error-page/component.mjs +21 -22
  44. package/esm2022/async-data/page-state/component.mjs +16 -15
  45. package/esm2022/authorization/app-init-url.mjs +1 -1
  46. package/esm2022/authorization/guard.service.mjs +4 -4
  47. package/esm2022/authorization/interceptor.service.mjs +4 -4
  48. package/esm2022/authorization/session-manage.service.mjs +5 -5
  49. package/esm2022/authorization/state.service.mjs +2 -2
  50. package/esm2022/authorization/storage-token.mjs +2 -2
  51. package/esm2022/business/module-info/api.service.mjs +3 -3
  52. package/esm2022/business/notification-disabled-container/component.mjs +14 -14
  53. package/esm2022/business/resource-select/base-list.mjs +3 -3
  54. package/esm2022/business/resource-select/context.service.mjs +3 -3
  55. package/esm2022/business/resource-select/exports/cluster-selector/component.mjs +22 -20
  56. package/esm2022/business/resource-select/exports/mesh-group-selector/component.mjs +22 -20
  57. package/esm2022/business/resource-select/exports/namespace-page/component.mjs +6 -5
  58. package/esm2022/business/resource-select/exports/namespace-selector/component.mjs +37 -35
  59. package/esm2022/business/resource-select/exports/project-page/component.mjs +6 -5
  60. package/esm2022/business/resource-select/exports/project-selector/component.mjs +23 -22
  61. package/esm2022/business/resource-select/helpers.directive.mjs +2 -2
  62. package/esm2022/business/resource-select/internals/cluster-list/component.mjs +7 -6
  63. package/esm2022/business/resource-select/internals/data-grid/component.mjs +173 -176
  64. package/esm2022/business/resource-select/internals/icon/component.mjs +3 -2
  65. package/esm2022/business/resource-select/internals/meshgroup-list/component.mjs +5 -4
  66. package/esm2022/business/resource-select/internals/namespace-list/component.mjs +145 -100
  67. package/esm2022/business/resource-select/internals/no-data/component.mjs +12 -14
  68. package/esm2022/business/resource-select/internals/project-list/component.mjs +5 -4
  69. package/esm2022/business/resource-select/internals/resource-dashboard/component.mjs +7 -6
  70. package/esm2022/business/resource-select/internals/selector-popup/component.mjs +6 -5
  71. package/esm2022/business/resource-select/internals/selector-popup/ref.mjs +1 -1
  72. package/esm2022/business/resource-select/internals/selector-popup/service.mjs +3 -3
  73. package/esm2022/business/resource-select/module.mjs +17 -14
  74. package/esm2022/business/resource-select/project.service.mjs +3 -3
  75. package/esm2022/business/resource-select/utils.mjs +1 -1
  76. package/esm2022/chart/chart.module.mjs +2 -2
  77. package/esm2022/chart/chart.service.mjs +4 -4
  78. package/esm2022/chart/common/axis/axis-label.component.mjs +4 -3
  79. package/esm2022/chart/common/axis/x-axis-ticks.component.mjs +27 -27
  80. package/esm2022/chart/common/axis/x-axis.component.mjs +6 -5
  81. package/esm2022/chart/common/axis/x-plot-lines.component.mjs +7 -6
  82. package/esm2022/chart/common/axis/y-axis-ticks.component.mjs +35 -35
  83. package/esm2022/chart/common/axis/y-axis.component.mjs +9 -8
  84. package/esm2022/chart/common/axis/y-plot-lines.component.mjs +6 -5
  85. package/esm2022/chart/common/chart/chart.component.mjs +41 -43
  86. package/esm2022/chart/common/legend/legend.component.mjs +62 -65
  87. package/esm2022/chart/common/range-area/range-area.component.mjs +13 -11
  88. package/esm2022/chart/common/reference-area/reference-area.component.mjs +4 -3
  89. package/esm2022/chart/common/series/area-series.component.mjs +15 -14
  90. package/esm2022/chart/common/series/bar-path.component.mjs +20 -21
  91. package/esm2022/chart/common/series/bar-series.component.mjs +8 -7
  92. package/esm2022/chart/common/series/line-series.component.mjs +7 -6
  93. package/esm2022/chart/common/series/series.component.mjs +3 -3
  94. package/esm2022/chart/common/tooltip/tooltip.component.mjs +73 -81
  95. package/esm2022/chart/custom-template/dropdown-legend.mjs +23 -25
  96. package/esm2022/chart/utils.mjs +1 -1
  97. package/esm2022/code/code-display-dialog/component.mjs +9 -8
  98. package/esm2022/code/code-editor-configs.mjs +2 -2
  99. package/esm2022/code/code.module.mjs +2 -2
  100. package/esm2022/code/k8s-yaml-display-dialog/component.mjs +9 -8
  101. package/esm2022/code/resource-yaml-display/component.mjs +21 -22
  102. package/esm2022/core/abstract/base-form-container.mjs +3 -3
  103. package/esm2022/core/abstract/base-nested-form-control.mjs +5 -5
  104. package/esm2022/core/components/tree/module.mjs +2 -2
  105. package/esm2022/core/components/tree/node/component.mjs +7 -6
  106. package/esm2022/core/components/tree/outlet.mjs +4 -4
  107. package/esm2022/core/components/tree/padding.mjs +6 -6
  108. package/esm2022/core/components/tree/toggle.mjs +9 -9
  109. package/esm2022/core/components/tree/tree/component.mjs +4 -3
  110. package/esm2022/core/constants/constants.mjs +4 -1
  111. package/esm2022/core/constants/patterns.mjs +10 -1
  112. package/esm2022/core/constants/status-icons.mjs +2 -1
  113. package/esm2022/core/constants/tokens.mjs +1 -1
  114. package/esm2022/core/directives/aui-code-editor.directive.mjs +3 -3
  115. package/esm2022/core/directives/click-outside.directive.mjs +4 -4
  116. package/esm2022/core/directives/declare.directive.mjs +2 -2
  117. package/esm2022/core/directives/disabled.directive.mjs +4 -4
  118. package/esm2022/core/directives/feature-gate.directive.mjs +4 -4
  119. package/esm2022/core/directives/intercept-deactivate.directive.mjs +4 -4
  120. package/esm2022/core/directives/last-form-item.directive.mjs +3 -3
  121. package/esm2022/core/directives/page-header-content.directive.mjs +3 -3
  122. package/esm2022/core/directives/readonly-field.directive.mjs +8 -7
  123. package/esm2022/core/directives/resize.directive.mjs +3 -3
  124. package/esm2022/core/directives/scroll-border-observer.directive.mjs +4 -4
  125. package/esm2022/core/directives/scroll-to-first-invalid.directive.mjs +5 -5
  126. package/esm2022/core/guards/feature.guard.mjs +4 -4
  127. package/esm2022/core/guards/intercept-deactivate.guard.mjs +3 -3
  128. package/esm2022/core/guards/leave-edit-page.guard.mjs +3 -3
  129. package/esm2022/core/guards/project-namespace.guard.mjs +5 -5
  130. package/esm2022/core/module.mjs +2 -2
  131. package/esm2022/core/pipes/calc.pipe.mjs +2 -2
  132. package/esm2022/core/pipes/cron-human-readable.pipe.mjs +2 -2
  133. package/esm2022/core/pipes/crontab-next.pipe.mjs +3 -3
  134. package/esm2022/core/pipes/duration.pipe.mjs +3 -3
  135. package/esm2022/core/pipes/field-not-available.pipe.mjs +2 -2
  136. package/esm2022/core/pipes/img-header.pipe.mjs +2 -2
  137. package/esm2022/core/pipes/img-theme.pipe.mjs +3 -3
  138. package/esm2022/core/pipes/k8s-util.pipe.mjs +24 -24
  139. package/esm2022/core/pipes/k8s-util.pipe.module.mjs +2 -2
  140. package/esm2022/core/pipes/keyvalue.pipe.mjs +3 -3
  141. package/esm2022/core/pipes/marked.pipe.mjs +2 -2
  142. package/esm2022/core/pipes/minimum-format.pipe.mjs +3 -3
  143. package/esm2022/core/pipes/page-env.pipe.mjs +5 -5
  144. package/esm2022/core/pipes/parse-json-translate.pipe.mjs +3 -3
  145. package/esm2022/core/pipes/parse-json.pipe.mjs +2 -2
  146. package/esm2022/core/pipes/pure.pipe.mjs +2 -2
  147. package/esm2022/core/pipes/pure.pipe.module.mjs +2 -2
  148. package/esm2022/core/pipes/safe.pipe.mjs +3 -3
  149. package/esm2022/core/pipes/sanitize.pipe.mjs +3 -3
  150. package/esm2022/core/pipes/time.pipe.mjs +9 -9
  151. package/esm2022/core/pipes/timezone-display.pipe.mjs +2 -2
  152. package/esm2022/core/services/aui-paginator-intl.service.mjs +3 -3
  153. package/esm2022/core/services/aui-tooltip-copy-intl.service.mjs +3 -3
  154. package/esm2022/core/services/context.service.mjs +4 -4
  155. package/esm2022/core/services/custom-code-editor-intl.service.mjs +3 -3
  156. package/esm2022/core/services/encode-url-param.interceptor.mjs +32 -0
  157. package/esm2022/core/services/feature-gate.service.mjs +3 -3
  158. package/esm2022/core/services/form-row-duplicate/form-row-duplicate.service.mjs +3 -3
  159. package/esm2022/core/services/intercept-deactivate.service.mjs +3 -3
  160. package/esm2022/core/services/k8s-util.service.mjs +3 -3
  161. package/esm2022/core/services/on-resize.service.mjs +5 -5
  162. package/esm2022/core/services/public-api.mjs +2 -1
  163. package/esm2022/core/services/silently-navigate.service.mjs +3 -3
  164. package/esm2022/core/services/time.service.mjs +4 -3
  165. package/esm2022/core/services/ui-state.service.mjs +2 -2
  166. package/esm2022/core/services/workspace-helper.service.mjs +2 -2
  167. package/esm2022/core/services/yaml-util.service.mjs +4 -4
  168. package/esm2022/core/types/k8s/crd.mjs +1 -1
  169. package/esm2022/core/types/k8s/raw.mjs +1 -1
  170. package/esm2022/core/types/resource-definitions.mjs +42 -65
  171. package/esm2022/core/utils/cache-store.mjs +1 -1
  172. package/esm2022/core/utils/common.mjs +3 -2
  173. package/esm2022/core/utils/create-recursive-filter.mjs +1 -1
  174. package/esm2022/core/utils/cron-util.mjs +1 -1
  175. package/esm2022/core/utils/decorators.mjs +1 -1
  176. package/esm2022/core/utils/disabled-state.mjs +47 -0
  177. package/esm2022/core/utils/format-number.mjs +1 -1
  178. package/esm2022/core/utils/k8s-util.mjs +1 -1
  179. package/esm2022/core/utils/observable.mjs +1 -1
  180. package/esm2022/core/utils/operators.mjs +1 -1
  181. package/esm2022/core/utils/public-api.mjs +3 -1
  182. package/esm2022/core/utils/request-pool.mjs +1 -1
  183. package/esm2022/core/utils/resources.mjs +1 -1
  184. package/esm2022/core/utils/sort-fn.mjs +1 -1
  185. package/esm2022/core/utils/tree.mjs +1 -1
  186. package/esm2022/core/utils/unit.mjs +1 -1
  187. package/esm2022/core/utils/version.mjs +1 -1
  188. package/esm2022/core/utils/workload.mjs +183 -0
  189. package/esm2022/core/utils/workspace.mjs +1 -1
  190. package/esm2022/core/utils/yaml.mjs +1 -1
  191. package/esm2022/custom-columns-setting/component.mjs +30 -23
  192. package/esm2022/disabled-container/disabled-container.component.mjs +4 -3
  193. package/esm2022/disabled-container/disabled-container.module.mjs +2 -2
  194. package/esm2022/editable-text/component.mjs +14 -12
  195. package/esm2022/editable-text/module.mjs +2 -2
  196. package/esm2022/effect-directive/coerce-number.directive.mjs +4 -4
  197. package/esm2022/effect-directive/e2e-attribute-binding.directive.mjs +3 -3
  198. package/esm2022/effect-directive/event.directive.mjs +3 -3
  199. package/esm2022/effect-directive/min-max.directive.mjs +3 -3
  200. package/esm2022/effect-directive/module.mjs +2 -2
  201. package/esm2022/effect-directive/trim.directive.mjs +3 -3
  202. package/esm2022/effect-directive/validators.directive.mjs +3 -3
  203. package/esm2022/exec/module.mjs +2 -2
  204. package/esm2022/exec/placeholder/component.mjs +4 -3
  205. package/esm2022/exec/service.mjs +3 -3
  206. package/esm2022/exec/terminal/component.mjs +77 -69
  207. package/esm2022/exec/terminal-group/component.mjs +42 -44
  208. package/esm2022/feature-gate-forbidden/component/component.mjs +9 -8
  209. package/esm2022/feature-gate-forbidden/module.mjs +2 -2
  210. package/esm2022/form/directives/value-trace.directive.mjs +4 -4
  211. package/esm2022/form/errors-mapper/base-errors-mapper.mjs +3 -3
  212. package/esm2022/form/errors-mapper/default-errors-mapper.service.mjs +3 -3
  213. package/esm2022/form/errors-mapper/errors-mapper-component/component.mjs +6 -5
  214. package/esm2022/form/errors-mapper/errors-mapper.directive.mjs +7 -6
  215. package/esm2022/form/errors-mapper/errors-mapper.module.mjs +2 -2
  216. package/esm2022/form/labels-editor/component.mjs +36 -36
  217. package/esm2022/form/taints-editor/component.mjs +42 -42
  218. package/esm2022/form/upload-file/component.mjs +9 -7
  219. package/esm2022/form/utils.mjs +1 -1
  220. package/esm2022/form/validators/async-function-validator.directive.mjs +4 -3
  221. package/esm2022/form/validators/dns1123-subdomain.mjs +1 -1
  222. package/esm2022/form/validators/function-validator.directive.mjs +4 -3
  223. package/esm2022/form/validators/maxlength-minlength-validator.directive.mjs +9 -7
  224. package/esm2022/form/validators/module.mjs +7 -8
  225. package/esm2022/form/validators/not-be-validator.directive.mjs +4 -3
  226. package/esm2022/form/validators/one-of-validator.directive.mjs +4 -3
  227. package/esm2022/form/validators/resource-limit.mjs +1 -1
  228. package/esm2022/form/validators/strong-password/strong-password-tooltip/component.mjs +30 -28
  229. package/esm2022/form/validators/strong-password/strong-password-validator.directive.mjs +3 -3
  230. package/esm2022/form/validators/strong-password/strong-password-validator.module.mjs +6 -7
  231. package/esm2022/form/validators/utils.mjs +1 -1
  232. package/esm2022/graph-canvas/components/graph-actions.component.mjs +3 -2
  233. package/esm2022/graph-canvas/components/graph-canvas.component.mjs +25 -23
  234. package/esm2022/graph-canvas/components/graph-link.component.mjs +12 -13
  235. package/esm2022/graph-canvas/components/graph-links.component.mjs +3 -2
  236. package/esm2022/graph-canvas/components/graph-node.directive.mjs +4 -4
  237. package/esm2022/graph-canvas/graph-canvas.module.mjs +2 -2
  238. package/esm2022/graph-canvas/graph-store.service.mjs +2 -2
  239. package/esm2022/grid-layout/components/grid/component.mjs +5 -4
  240. package/esm2022/grid-layout/components/grid-items/component.mjs +8 -7
  241. package/esm2022/grid-layout/directives/drag-handler.directive.mjs +3 -3
  242. package/esm2022/grid-layout/directives/placeholder.directive.mjs +3 -3
  243. package/esm2022/grid-layout/directives/remove-handler.directive.mjs +3 -3
  244. package/esm2022/grid-layout/directives/resize-handler.directive.mjs +3 -3
  245. package/esm2022/grid-layout/grid-layout.service.mjs +2 -2
  246. package/esm2022/grid-layout/grid-placeholder.service.mjs +3 -3
  247. package/esm2022/grid-layout/module.mjs +2 -2
  248. package/esm2022/grid-layout/utils/grid.utils.mjs +1 -1
  249. package/esm2022/grid-layout/utils/react-grid-layout.utils.mjs +1 -1
  250. package/esm2022/grid-layout/utils/scroll.utils.mjs +1 -1
  251. package/esm2022/help-document/component.mjs +18 -16
  252. package/esm2022/help-document/directive.mjs +4 -4
  253. package/esm2022/help-document/module.mjs +2 -2
  254. package/esm2022/help-document/service.mjs +4 -4
  255. package/esm2022/iframe-config/config.service.mjs +3 -3
  256. package/esm2022/k8s-resource-list/footer/component.mjs +53 -51
  257. package/esm2022/k8s-resource-list/k8s-resource-list.mjs +3 -6
  258. package/esm2022/k8s-resource-list/k8s-resource-list.module.mjs +2 -2
  259. package/esm2022/k8s-resource-list/k8s-resource-paged-list.mjs +1 -1
  260. package/esm2022/k8s-resource-list/utils.mjs +1 -1
  261. package/esm2022/k8s-shared/constants.mjs +53 -0
  262. package/esm2022/k8s-shared/k8s-resource-translate-key.pipe.mjs +30 -0
  263. package/esm2022/k8s-shared/k8s-shared-util.service.mjs +3 -3
  264. package/esm2022/k8s-shared/public-api.mjs +2 -1
  265. package/esm2022/k8s-shared/update-description-dialog/component.mjs +10 -9
  266. package/esm2022/k8s-shared/update-display-name-dialog/component.mjs +22 -20
  267. package/esm2022/k8s-shared/update-key-value-dialog/component.mjs +13 -11
  268. package/esm2022/lazy-component/lazy-load-component.mjs +25 -26
  269. package/esm2022/lazy-component/visibility.service.mjs +2 -2
  270. package/esm2022/license/license-api.mjs +3 -3
  271. package/esm2022/license/license-error/component.mjs +25 -25
  272. package/esm2022/license/license-error/module.mjs +2 -2
  273. package/esm2022/license/license.guard.mjs +4 -4
  274. package/esm2022/license/license.service.mjs +4 -4
  275. package/esm2022/list-display/component.mjs +39 -40
  276. package/esm2022/metric-chart/common-chart.service.mjs +3 -3
  277. package/esm2022/metric-chart/helpers.mjs +1 -1
  278. package/esm2022/metric-chart/metric-chart.component.mjs +6 -5
  279. package/esm2022/metric-chart/metric-chart.module.mjs +2 -2
  280. package/esm2022/metric-chart/metric-time-pick.mjs +20 -17
  281. package/esm2022/metric-chart/utils.mjs +1 -1
  282. package/esm2022/multi-search/action-input/component.mjs +180 -181
  283. package/esm2022/multi-search/form/component.mjs +26 -22
  284. package/esm2022/multi-search/multi-search-tags/component.mjs +33 -31
  285. package/esm2022/mutable/element.mjs +1 -1
  286. package/esm2022/mutable/mosaic/mosaic.component.mjs +6 -5
  287. package/esm2022/mutable/mosaic/mosaic.directive.mjs +3 -3
  288. package/esm2022/mutable/mutable.directive.mjs +4 -4
  289. package/esm2022/mutable/mutable.module.mjs +2 -2
  290. package/esm2022/notification/feedback-notification/component.mjs +22 -23
  291. package/esm2022/notification/notification-util.service.mjs +3 -3
  292. package/esm2022/notification/resource-error.interceptor.mjs +3 -3
  293. package/esm2022/overview-banner/overview-banner.component.mjs +3 -2
  294. package/esm2022/overview-banner/overview-banner.module.mjs +2 -2
  295. package/esm2022/page-guard/component/component.mjs +70 -78
  296. package/esm2022/page-guard/component/helper-directives.mjs +5 -5
  297. package/esm2022/page-guard/module.mjs +2 -2
  298. package/esm2022/page-scaffold/module.mjs +2 -2
  299. package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb-slot.directive.mjs +3 -3
  300. package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.component.mjs +177 -88
  301. package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.service.mjs +2 -2
  302. package/esm2022/page-scaffold/navigation/breadcrumb/module.mjs +2 -2
  303. package/esm2022/page-scaffold/navigation/lottie-icons/animation-data.mjs +1 -3
  304. package/esm2022/page-scaffold/navigation/lottie-icons/lottie-icon.directive.mjs +3 -3
  305. package/esm2022/page-scaffold/navigation/lottie-icons/module.mjs +2 -2
  306. package/esm2022/page-scaffold/navigation/lottie-icons/replace-lottie-colors.mjs +11 -11
  307. package/esm2022/page-scaffold/navigation/module.mjs +2 -2
  308. package/esm2022/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.mjs +128 -99
  309. package/esm2022/page-scaffold/navigation/nav-menu/nav-item-ul/nav-item-ul.component.mjs +30 -32
  310. package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.component.mjs +21 -19
  311. package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.module.mjs +4 -4
  312. package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.types.mjs +1 -1
  313. package/esm2022/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.mjs +6 -5
  314. package/esm2022/page-scaffold/page/context.service.mjs +2 -2
  315. package/esm2022/page-scaffold/page/helper-directives.mjs +10 -10
  316. package/esm2022/page-scaffold/page/notices/maintenance.component.mjs +11 -11
  317. package/esm2022/page-scaffold/page/notices/notice.component.mjs +15 -15
  318. package/esm2022/page-scaffold/page/page.component.mjs +20 -20
  319. package/esm2022/page-scaffold/page/page.module.mjs +2 -2
  320. package/esm2022/page-scaffold/page-header/account-menu/component/component.mjs +40 -39
  321. package/esm2022/page-scaffold/page-header/account-menu/module.mjs +2 -2
  322. package/esm2022/page-scaffold/page-header/common-layout/common-layout.module.mjs +2 -2
  323. package/esm2022/page-scaffold/page-header/common-layout/context.service.mjs +4 -4
  324. package/esm2022/page-scaffold/page-header/common-layout/namespace-select/component.mjs +58 -59
  325. package/esm2022/page-scaffold/page-header/common-layout/product-select/component.mjs +64 -65
  326. package/esm2022/page-scaffold/page-header/common-layout/product-select/service.mjs +2 -2
  327. package/esm2022/page-scaffold/page-header/common-layout/project-select/base-selection.mjs +3 -3
  328. package/esm2022/page-scaffold/page-header/common-layout/store.service.mjs +3 -3
  329. package/esm2022/page-scaffold/page-header/component.mjs +24 -25
  330. package/esm2022/page-scaffold/page-header/enterprise-support-status/component.mjs +15 -14
  331. package/esm2022/page-scaffold/page-header/header-notify/component/header-notify.component.mjs +27 -27
  332. package/esm2022/page-scaffold/page-header/header-notify/component/notification-list/notification-list.component.mjs +22 -21
  333. package/esm2022/page-scaffold/page-header/header-notify/header-notify.module.mjs +2 -2
  334. package/esm2022/page-scaffold/page-header/header-notify/notify.service.mjs +5 -5
  335. package/esm2022/page-scaffold/page-header/help-menu/component/component.mjs +59 -62
  336. package/esm2022/page-scaffold/page-header/help-menu/module.mjs +2 -2
  337. package/esm2022/page-scaffold/page-header/module.mjs +2 -2
  338. package/esm2022/permission/helpers.mjs +1 -1
  339. package/esm2022/permission/k8s-permission.service.mjs +3 -3
  340. package/esm2022/permission/permission.guard.mjs +3 -3
  341. package/esm2022/pie-derivative-chart/donut-status/component.mjs +29 -28
  342. package/esm2022/pie-derivative-chart/indicator-color.directive.mjs +3 -3
  343. package/esm2022/pie-derivative-chart/numerical-limit.pipe.mjs +3 -3
  344. package/esm2022/pie-derivative-chart/pie-derivative-chart.module.mjs +2 -2
  345. package/esm2022/pie-derivative-chart/radial-bar/radial-bar-chart.component.mjs +54 -59
  346. package/esm2022/pod-status/component.mjs +167 -0
  347. package/esm2022/pod-status/public-api.mjs +4 -0
  348. package/esm2022/pod-status/status.mjs +84 -0
  349. package/esm2022/pod-status/typings.mjs +19 -0
  350. package/esm2022/public-api.mjs +3 -1
  351. package/esm2022/searchable-selector/component.mjs +73 -75
  352. package/esm2022/searchable-selector/module.mjs +2 -2
  353. package/esm2022/skeleton/item/component.mjs +4 -3
  354. package/esm2022/skeleton/module.mjs +2 -2
  355. package/esm2022/skeleton/nav-skeleton/component.mjs +8 -7
  356. package/esm2022/table/component.mjs +253 -271
  357. package/esm2022/table/helper.mjs +1 -1
  358. package/esm2022/table/helpers.directive.mjs +3 -3
  359. package/esm2022/table/module.mjs +40 -31
  360. package/esm2022/table/util.service.mjs +4 -4
  361. package/esm2022/translate/helpers.mjs +1 -1
  362. package/esm2022/translate/i18n-config.mjs +3 -8
  363. package/esm2022/translate/translate.directive.mjs +9 -9
  364. package/esm2022/translate/translate.module.mjs +2 -2
  365. package/esm2022/translate/translate.pipe.mjs +3 -3
  366. package/esm2022/translate/translate.service.mjs +4 -4
  367. package/esm2022/view-chart/custom-template/dropdown-legend.mjs +24 -26
  368. package/esm2022/view-chart/legend/legend.component.mjs +66 -70
  369. package/esm2022/view-chart/view-chart.component.mjs +90 -98
  370. package/esm2022/view-chart/view-chart.module.mjs +2 -2
  371. package/esm2022/view-zchart/custom-template/dropdown-legend.mjs +24 -26
  372. package/esm2022/view-zchart/legend/legend.component.mjs +77 -82
  373. package/esm2022/view-zchart/units.mjs +1 -1
  374. package/esm2022/view-zchart/view-zchart.component.mjs +111 -120
  375. package/esm2022/view-zchart/view-zchart.module.mjs +2 -2
  376. package/esm2022/widget/card-section/card-section.component.mjs +13 -12
  377. package/esm2022/widget/confirm-delete/confirm-delete.component.mjs +45 -46
  378. package/esm2022/widget/current-time/component.mjs +4 -3
  379. package/esm2022/widget/date-range-picker/component.mjs +42 -40
  380. package/esm2022/widget/field-set/column/component.mjs +5 -3
  381. package/esm2022/widget/field-set/group/component.mjs +3 -2
  382. package/esm2022/widget/field-set/item/component.mjs +8 -7
  383. package/esm2022/widget/foldable-block/component.mjs +25 -24
  384. package/esm2022/widget/foldable-item-in-table/component.mjs +41 -42
  385. package/esm2022/widget/loading-mask/loading-mask.component.mjs +9 -9
  386. package/esm2022/widget/password-input/component.mjs +72 -71
  387. package/esm2022/widget/relative-time/component.mjs +4 -3
  388. package/esm2022/widget/resource-multi-select/component.mjs +20 -19
  389. package/esm2022/widget/resource-multi-select/util.mjs +1 -1
  390. package/esm2022/widget/search-panel/component.mjs +3 -2
  391. package/esm2022/widget/search-panel/helper.directive.mjs +2 -2
  392. package/esm2022/widget/search-panel/search-item/component.mjs +3 -2
  393. package/esm2022/widget/select-prefix-label/directive.mjs +4 -4
  394. package/esm2022/widget/status-icon/status-icon.component.mjs +16 -15
  395. package/esm2022/widget/tags-label/component.mjs +61 -62
  396. package/esm2022/widget/terminating-tag/component.mjs +4 -3
  397. package/esm2022/widget/text-ellipsis/component.mjs +11 -11
  398. package/esm2022/widget/text-tooltip/directive.mjs +3 -3
  399. package/esm2022/widget/text-with-url/component.mjs +8 -8
  400. package/esm2022/widget/widget.module.mjs +2 -2
  401. package/esm2022/widget/zero-state/zero-state.component.mjs +17 -17
  402. package/esm2022/window-channel/base-window-channel.mjs +1 -1
  403. package/esm2022/window-channel/directives/host-link.directive.mjs +2 -2
  404. package/esm2022/window-channel/host-window-channel.service.mjs +3 -3
  405. package/esm2022/window-channel/plugin-window-channel.service.mjs +3 -3
  406. package/esm2022/workload-status-icon/component.mjs +72 -0
  407. package/esm2022/workload-status-icon/public-api.mjs +2 -0
  408. package/esm2022/xterm/xterm-terminal/xterm-terminal.component.mjs +68 -71
  409. package/esm2022/xterm/xterm-terminal/xterm-terminal.directive.mjs +3 -3
  410. package/esm2022/xterm/xterm.component.mjs +5 -4
  411. package/exec/terminal/component.d.ts +0 -1
  412. package/form/validators/async-function-validator.directive.d.ts +1 -1
  413. package/form/validators/function-validator.directive.d.ts +1 -1
  414. package/form/validators/maxlength-minlength-validator.directive.d.ts +2 -2
  415. package/form/validators/module.d.ts +8 -8
  416. package/form/validators/not-be-validator.directive.d.ts +1 -1
  417. package/form/validators/one-of-validator.directive.d.ts +1 -1
  418. package/form/validators/resource-limit.d.ts +1 -1
  419. package/form/validators/strong-password/strong-password-validator.module.d.ts +2 -2
  420. package/graph-canvas/components/graph-canvas.component.d.ts +2 -2
  421. package/k8s-resource-list/footer/component.d.ts +2 -1
  422. package/k8s-shared/constants.d.ts +7 -0
  423. package/k8s-shared/k8s-resource-translate-key.pipe.d.ts +9 -0
  424. package/k8s-shared/public-api.d.ts +1 -0
  425. package/license/license-api.d.ts +1 -1
  426. package/license/license-error/component.d.ts +1 -1
  427. package/metric-chart/helpers.d.ts +1 -1
  428. package/package.json +2 -1
  429. package/page-guard/component/component.d.ts +1 -1
  430. package/page-scaffold/navigation/breadcrumb/breadcrumb.component.d.ts +2 -0
  431. package/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.d.ts +1 -0
  432. package/page-scaffold/navigation/nav-menu/nav-menu.types.d.ts +8 -1
  433. package/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.d.ts +2 -1
  434. package/page-scaffold/page-header/header-notify/utils.d.ts +3 -3
  435. package/pod-status/component.d.ts +27 -0
  436. package/pod-status/public-api.d.ts +3 -0
  437. package/pod-status/status.d.ts +4 -0
  438. package/pod-status/typings.d.ts +16 -0
  439. package/public-api.d.ts +2 -0
  440. package/styles/ansi-color.scss +131 -0
  441. package/styles/global.scss +3 -1
  442. package/styles/tailwind-preset.scss +1 -1
  443. package/table/component.d.ts +2 -1
  444. package/table/module.d.ts +22 -6
  445. package/widget/zero-state/zero-state.component.d.ts +1 -1
  446. package/workload-status-icon/component.d.ts +36 -0
  447. package/workload-status-icon/public-api.d.ts +1 -0
  448. package/a-chart/a-chart.module.d.ts +0 -16
  449. package/a-chart/base-chart.d.ts +0 -24
  450. package/a-chart/chart-status.component.d.ts +0 -15
  451. package/a-chart/chart.component.d.ts +0 -56
  452. package/a-chart/components/base-component.d.ts +0 -12
  453. package/a-chart/components/legend/base-legend.component.d.ts +0 -31
  454. package/a-chart/components/legend/dropdown-legend.d.ts +0 -17
  455. package/a-chart/components/legend/legend.component.d.ts +0 -17
  456. package/a-chart/components/legend/public-api.d.ts +0 -3
  457. package/a-chart/components/public-api.d.ts +0 -3
  458. package/a-chart/components/title.component.d.ts +0 -17
  459. package/a-chart/constant.d.ts +0 -6
  460. package/a-chart/public-api.d.ts +0 -12
  461. package/a-chart/types.d.ts +0 -38
  462. package/a-chart/utils.d.ts +0 -13
  463. package/a-metric-chart/a-metric-chart.component.d.ts +0 -154
  464. package/a-metric-chart/a-metric-chart.module.d.ts +0 -16
  465. package/a-metric-chart/bar-gauge/bar-gauge.component.d.ts +0 -25
  466. package/a-metric-chart/base-chart.component.d.ts +0 -14
  467. package/a-metric-chart/metric-chart-refresh.service.d.ts +0 -8
  468. package/a-metric-chart/public-api.d.ts +0 -14
  469. package/a-metric-chart/stat-chart/stat-chart.component.d.ts +0 -11
  470. package/a-metric-chart/table-chart/table-chart.component.d.ts +0 -29
  471. package/a-metric-chart/types.d.ts +0 -130
  472. package/a-metric-chart/utils/public-api.d.ts +0 -3
  473. package/a-metric-chart/utils/range.d.ts +0 -1
  474. package/a-metric-chart/utils/unit.d.ts +0 -48
  475. package/a-metric-chart/utils/util.d.ts +0 -45
  476. package/api/monitor-api.service.d.ts +0 -104
  477. package/esm2022/a-chart/a-chart.module.mjs +0 -76
  478. package/esm2022/a-chart/base-chart.mjs +0 -98
  479. package/esm2022/a-chart/chart-status.component.mjs +0 -195
  480. package/esm2022/a-chart/chart.component.mjs +0 -307
  481. package/esm2022/a-chart/components/base-component.mjs +0 -23
  482. package/esm2022/a-chart/components/legend/base-legend.component.mjs +0 -111
  483. package/esm2022/a-chart/components/legend/dropdown-legend.mjs +0 -199
  484. package/esm2022/a-chart/components/legend/legend.component.mjs +0 -102
  485. package/esm2022/a-chart/components/legend/public-api.mjs +0 -4
  486. package/esm2022/a-chart/components/public-api.mjs +0 -4
  487. package/esm2022/a-chart/components/title.component.mjs +0 -99
  488. package/esm2022/a-chart/constant.mjs +0 -24
  489. package/esm2022/a-chart/public-api.mjs +0 -13
  490. package/esm2022/a-chart/types.mjs +0 -7
  491. package/esm2022/a-chart/utils.mjs +0 -37
  492. package/esm2022/a-metric-chart/a-metric-chart.component.mjs +0 -937
  493. package/esm2022/a-metric-chart/a-metric-chart.module.mjs +0 -74
  494. package/esm2022/a-metric-chart/bar-gauge/bar-gauge.component.mjs +0 -166
  495. package/esm2022/a-metric-chart/base-chart.component.mjs +0 -30
  496. package/esm2022/a-metric-chart/metric-chart-refresh.service.mjs +0 -18
  497. package/esm2022/a-metric-chart/public-api.mjs +0 -15
  498. package/esm2022/a-metric-chart/stat-chart/stat-chart.component.mjs +0 -122
  499. package/esm2022/a-metric-chart/table-chart/table-chart.component.mjs +0 -201
  500. package/esm2022/a-metric-chart/types.mjs +0 -26
  501. package/esm2022/a-metric-chart/utils/public-api.mjs +0 -4
  502. package/esm2022/a-metric-chart/utils/range.mjs +0 -35
  503. package/esm2022/a-metric-chart/utils/unit.mjs +0 -83
  504. package/esm2022/a-metric-chart/utils/util.mjs +0 -243
  505. package/esm2022/api/monitor-api.service.mjs +0 -158
  506. package/esm2022/notification/notification-util.module.mjs +0 -32
  507. package/esm2022/page-scaffold/navigation/lottie-icons/animations/dashboard.json +0 -1
  508. package/notification/notification-util.module.d.ts +0 -10
@@ -7,36 +7,42 @@ import { ObservableInput } from '../../../../core/public-api';
7
7
  import { ConfigurableField, } from '../../types';
8
8
  import * as i0 from "@angular/core";
9
9
  const _c0 = ["grid"];
10
+ const _c1 = [[["", "aclResourceGridHeader", ""]]];
11
+ const _c2 = ["[aclResourceGridHeader]"];
12
+ const _c3 = a0 => ({ "header__title--lite": a0 });
13
+ const _c4 = a0 => ({ "switch-btn--selected": a0 });
14
+ const _c5 = (a0, a1, a2) => ({ "grid--card": a0, "grid--popup": a1, "grid--popup--lite": a2 });
15
+ const _c6 = (a0, a1) => ({ "grid__item--selected": a0, "grid__item--disabled": a1 });
16
+ const _c7 = a0 => ({ highlighted: a0 });
17
+ const _c8 = a0 => ({ $implicit: a0 });
10
18
  function ResourceDataGridComponent_div_9_Template(rf, ctx) { if (rf & 1) {
11
- i0.ɵɵelementStart(0, "div", 9);
19
+ i0.ɵɵelementStart(0, "div", 10);
12
20
  i0.ɵɵprojection(1);
13
21
  i0.ɵɵelementEnd();
14
22
  } }
15
23
  function ResourceDataGridComponent_div_10_Template(rf, ctx) { if (rf & 1) {
16
- i0.ɵɵelement(0, "div", 10);
24
+ i0.ɵɵelement(0, "div", 11);
17
25
  } }
18
- const _c1 = function (a0) { return { "switch-btn--selected": a0 }; };
19
26
  function ResourceDataGridComponent_span_13_Template(rf, ctx) { if (rf & 1) {
20
- const _r6 = i0.ɵɵgetCurrentView();
21
- i0.ɵɵelementStart(0, "span", 11)(1, "span", 12);
22
- i0.ɵɵlistener("click", function ResourceDataGridComponent_span_13_Template_span_click_1_listener() { i0.ɵɵrestoreView(_r6); const ctx_r5 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r5.setDisplayMode("row")); });
23
- i0.ɵɵelement(2, "aui-icon", 13);
27
+ const _r1 = i0.ɵɵgetCurrentView();
28
+ i0.ɵɵelementStart(0, "span", 12)(1, "span", 13);
29
+ i0.ɵɵlistener("click", function ResourceDataGridComponent_span_13_Template_span_click_1_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.setDisplayMode("row")); });
30
+ i0.ɵɵelement(2, "aui-icon", 14);
24
31
  i0.ɵɵelementEnd();
25
- i0.ɵɵelementStart(3, "span", 12);
26
- i0.ɵɵlistener("click", function ResourceDataGridComponent_span_13_Template_span_click_3_listener() { i0.ɵɵrestoreView(_r6); const ctx_r7 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r7.setDisplayMode("card")); });
27
- i0.ɵɵelement(4, "aui-icon", 14);
32
+ i0.ɵɵelementStart(3, "span", 13);
33
+ i0.ɵɵlistener("click", function ResourceDataGridComponent_span_13_Template_span_click_3_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.setDisplayMode("card")); });
34
+ i0.ɵɵelement(4, "aui-icon", 15);
28
35
  i0.ɵɵelementEnd()();
29
36
  } if (rf & 2) {
30
- const ctx_r2 = i0.ɵɵnextContext();
31
- i0.ɵɵadvance(1);
32
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c1, ctx_r2.displayMode !== "card"));
37
+ const ctx_r1 = i0.ɵɵnextContext();
38
+ i0.ɵɵadvance();
39
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c4, ctx_r1.displayMode !== "card"));
33
40
  i0.ɵɵadvance(2);
34
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c1, ctx_r2.displayMode === "card"));
41
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(4, _c4, ctx_r1.displayMode === "card"));
35
42
  } }
36
43
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_aui_icon_1_Template(rf, ctx) { if (rf & 1) {
37
44
  i0.ɵɵelement(0, "aui-icon", 34);
38
45
  } }
39
- const _c2 = function (a0) { return { highlighted: a0 }; };
40
46
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_ng_container_6_Template(rf, ctx) { if (rf & 1) {
41
47
  i0.ɵɵelementContainerStart(0);
42
48
  i0.ɵɵelementStart(1, "span", 35);
@@ -44,47 +50,47 @@ function ResourceDataGridComponent_ng_container_14_div_1_div_2_ng_container_6_Te
44
50
  i0.ɵɵelementEnd();
45
51
  i0.ɵɵelementContainerEnd();
46
52
  } if (rf & 2) {
47
- const str_r26 = ctx.$implicit;
48
- i0.ɵɵadvance(1);
49
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c2, str_r26.isHighlighted));
50
- i0.ɵɵadvance(1);
51
- i0.ɵɵtextInterpolate(str_r26.text);
53
+ const str_r5 = ctx.$implicit;
54
+ i0.ɵɵadvance();
55
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(2, _c7, str_r5.isHighlighted));
56
+ i0.ɵɵadvance();
57
+ i0.ɵɵtextInterpolate(str_r5.text);
52
58
  } }
53
59
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_7_ng_container_1_Template(rf, ctx) { if (rf & 1) {
54
60
  i0.ɵɵelementContainerStart(0);
55
61
  i0.ɵɵtext(1);
56
62
  i0.ɵɵelementContainerEnd();
57
63
  } if (rf & 2) {
58
- const item_r14 = i0.ɵɵnextContext(2).$implicit;
59
- i0.ɵɵadvance(1);
60
- i0.ɵɵtextInterpolate(item_r14.displayName);
64
+ const item_r4 = i0.ɵɵnextContext(2).$implicit;
65
+ i0.ɵɵadvance();
66
+ i0.ɵɵtextInterpolate(item_r4.displayName);
61
67
  } }
62
68
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_7_Template(rf, ctx) { if (rf & 1) {
63
69
  i0.ɵɵelementStart(0, "div", 36);
64
- i0.ɵɵtemplate(1, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_7_ng_container_1_Template, 2, 1, "ng-container", 7);
70
+ i0.ɵɵtemplate(1, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_7_ng_container_1_Template, 2, 1, "ng-container", 8);
65
71
  i0.ɵɵelementEnd();
66
72
  } if (rf & 2) {
67
- const item_r14 = i0.ɵɵnextContext().$implicit;
68
- i0.ɵɵadvance(1);
69
- i0.ɵɵproperty("ngIf", item_r14.displayName);
73
+ const item_r4 = i0.ɵɵnextContext().$implicit;
74
+ i0.ɵɵadvance();
75
+ i0.ɵɵproperty("ngIf", item_r4.displayName);
70
76
  } }
71
77
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_8_ng_container_8_Template(rf, ctx) { if (rf & 1) {
72
78
  i0.ɵɵelementContainerStart(0);
73
79
  i0.ɵɵtext(1);
74
80
  i0.ɵɵelementContainerEnd();
75
81
  } if (rf & 2) {
76
- const item_r14 = i0.ɵɵnextContext(2).$implicit;
77
- i0.ɵɵadvance(1);
78
- i0.ɵɵtextInterpolate1("(", item_r14.clusterDisplayName, ")");
82
+ const item_r4 = i0.ɵɵnextContext(2).$implicit;
83
+ i0.ɵɵadvance();
84
+ i0.ɵɵtextInterpolate1("(", item_r4.clusterDisplayName, ")");
79
85
  } }
80
86
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_8_aui_tag_9_Template(rf, ctx) { if (rf & 1) {
81
87
  i0.ɵɵelementStart(0, "aui-tag", 42);
82
88
  i0.ɵɵtext(1);
83
89
  i0.ɵɵelementEnd();
84
90
  } if (rf & 2) {
85
- const item_r14 = i0.ɵɵnextContext(2).$implicit;
86
- i0.ɵɵadvance(1);
87
- i0.ɵɵtextInterpolate1(" ", item_r14.clusterArch, " ");
91
+ const item_r4 = i0.ɵɵnextContext(2).$implicit;
92
+ i0.ɵɵadvance();
93
+ i0.ɵɵtextInterpolate1(" ", item_r4.clusterArch, " ");
88
94
  } }
89
95
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_8_Template(rf, ctx) { if (rf & 1) {
90
96
  i0.ɵɵelementStart(0, "div", 37)(1, "span", 38);
@@ -95,22 +101,22 @@ function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_8_Template(rf
95
101
  i0.ɵɵelementEnd();
96
102
  i0.ɵɵelementStart(6, "span", 40);
97
103
  i0.ɵɵtext(7);
98
- i0.ɵɵtemplate(8, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_8_ng_container_8_Template, 2, 1, "ng-container", 7);
104
+ i0.ɵɵtemplate(8, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_8_ng_container_8_Template, 2, 1, "ng-container", 8);
99
105
  i0.ɵɵelementEnd();
100
106
  i0.ɵɵtemplate(9, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_8_aui_tag_9_Template, 2, 1, "aui-tag", 41);
101
107
  i0.ɵɵelementEnd()();
102
108
  } if (rf & 2) {
103
- const item_r14 = i0.ɵɵnextContext().$implicit;
104
- i0.ɵɵadvance(1);
105
- i0.ɵɵpropertyInterpolate("auiTooltip", i0.ɵɵpipeBind1(2, 5, "belonged_cluster") + ": " + item_r14.cluster);
109
+ const item_r4 = i0.ɵɵnextContext().$implicit;
110
+ i0.ɵɵadvance();
111
+ i0.ɵɵpropertyInterpolate("auiTooltip", i0.ɵɵpipeBind1(2, 5, "belonged_cluster") + ": " + item_r4.cluster);
106
112
  i0.ɵɵadvance(3);
107
113
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 7, "belonged_cluster"));
108
114
  i0.ɵɵadvance(3);
109
- i0.ɵɵtextInterpolate(item_r14.cluster);
110
- i0.ɵɵadvance(1);
111
- i0.ɵɵproperty("ngIf", item_r14.clusterDisplayName);
112
- i0.ɵɵadvance(1);
113
- i0.ɵɵproperty("ngIf", item_r14.clusterArch);
115
+ i0.ɵɵtextInterpolate(item_r4.cluster);
116
+ i0.ɵɵadvance();
117
+ i0.ɵɵproperty("ngIf", item_r4.clusterDisplayName);
118
+ i0.ɵɵadvance();
119
+ i0.ɵɵproperty("ngIf", item_r4.clusterArch);
114
120
  } }
115
121
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_9_label_1_Template(rf, ctx) { if (rf & 1) {
116
122
  i0.ɵɵelementStart(0, "label", 45);
@@ -118,7 +124,7 @@ function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_9_label_1_Tem
118
124
  i0.ɵɵpipe(2, "translate");
119
125
  i0.ɵɵelementEnd();
120
126
  } if (rf & 2) {
121
- i0.ɵɵadvance(1);
127
+ i0.ɵɵadvance();
122
128
  i0.ɵɵtextInterpolate1("", i0.ɵɵpipeBind1(2, 1, "status"), ":");
123
129
  } }
124
130
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_9_Template(rf, ctx) { if (rf & 1) {
@@ -133,27 +139,27 @@ function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_9_Template(rf
133
139
  i0.ɵɵpipe(7, "translate");
134
140
  i0.ɵɵelementEnd();
135
141
  } if (rf & 2) {
136
- const item_r14 = i0.ɵɵnextContext().$implicit;
137
- const ctx_r19 = i0.ɵɵnextContext(3);
138
- i0.ɵɵclassMapInterpolate1("grid__field grid__field-status ", "grid__field-status--" + item_r14.status, "");
139
- i0.ɵɵadvance(1);
140
- i0.ɵɵproperty("ngIf", ctx_r19.popupLite);
142
+ const item_r4 = i0.ɵɵnextContext().$implicit;
143
+ const ctx_r1 = i0.ɵɵnextContext(3);
144
+ i0.ɵɵclassMapInterpolate1("grid__field grid__field-status ", "grid__field-status--" + item_r4.status, "");
145
+ i0.ɵɵadvance();
146
+ i0.ɵɵproperty("ngIf", ctx_r1.popupLite);
141
147
  i0.ɵɵadvance(2);
142
148
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 11, "status"));
143
149
  i0.ɵɵadvance(2);
144
- i0.ɵɵclassMap("icon-" + item_r14.status);
145
- i0.ɵɵproperty("icon", ctx_r19.statusIcon[item_r14.status])("background", ctx_r19.statusIcon[item_r14.status].endsWith("_triangle_s") ? "triangle" : "circle");
146
- i0.ɵɵadvance(1);
147
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(7, 13, item_r14.status), " ");
150
+ i0.ɵɵclassMap("icon-" + item_r4.status);
151
+ i0.ɵɵproperty("icon", ctx_r1.statusIcon[item_r4.status])("background", ctx_r1.statusIcon[item_r4.status].endsWith("_triangle_s") ? "triangle" : "circle");
152
+ i0.ɵɵadvance();
153
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(7, 13, item_r4.status), " ");
148
154
  } }
149
155
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_10_ng_container_7_Template(rf, ctx) { if (rf & 1) {
150
156
  i0.ɵɵelementContainerStart(0);
151
157
  i0.ɵɵtext(1);
152
158
  i0.ɵɵelementContainerEnd();
153
159
  } if (rf & 2) {
154
- const item_r14 = i0.ɵɵnextContext(2).$implicit;
155
- i0.ɵɵadvance(1);
156
- i0.ɵɵtextInterpolate1("(Istio ", item_r14.serviceMeshIstioVersion, ")");
160
+ const item_r4 = i0.ɵɵnextContext(2).$implicit;
161
+ i0.ɵɵadvance();
162
+ i0.ɵɵtextInterpolate1("(Istio ", item_r4.serviceMeshIstioVersion, ")");
157
163
  } }
158
164
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_10_Template(rf, ctx) { if (rf & 1) {
159
165
  i0.ɵɵelementStart(0, "div", 46)(1, "span", 39);
@@ -164,34 +170,34 @@ function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_10_Template(r
164
170
  i0.ɵɵtext(5);
165
171
  i0.ɵɵelementEnd();
166
172
  i0.ɵɵelementStart(6, "div", 36);
167
- i0.ɵɵtemplate(7, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_10_ng_container_7_Template, 2, 1, "ng-container", 7);
173
+ i0.ɵɵtemplate(7, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_10_ng_container_7_Template, 2, 1, "ng-container", 8);
168
174
  i0.ɵɵelementEnd()();
169
175
  } if (rf & 2) {
170
- const item_r14 = i0.ɵɵnextContext().$implicit;
176
+ const item_r4 = i0.ɵɵnextContext().$implicit;
171
177
  i0.ɵɵadvance(2);
172
178
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 3, "belonged_servicemesh"));
173
179
  i0.ɵɵadvance(3);
174
- i0.ɵɵtextInterpolate1(" ", item_r14.serviceMeshName, " ");
180
+ i0.ɵɵtextInterpolate1(" ", item_r4.serviceMeshName, " ");
175
181
  i0.ɵɵadvance(2);
176
- i0.ɵɵproperty("ngIf", item_r14.serviceMeshIstioVersion);
182
+ i0.ɵɵproperty("ngIf", item_r4.serviceMeshIstioVersion);
177
183
  } }
178
184
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_11_ng_container_6_Template(rf, ctx) { if (rf & 1) {
179
185
  i0.ɵɵelementContainerStart(0);
180
186
  i0.ɵɵtext(1);
181
187
  i0.ɵɵelementContainerEnd();
182
188
  } if (rf & 2) {
183
- const item_r14 = i0.ɵɵnextContext(2).$implicit;
184
- i0.ɵɵadvance(1);
185
- i0.ɵɵtextInterpolate1("(", item_r14.clusterDisplayName, ")");
189
+ const item_r4 = i0.ɵɵnextContext(2).$implicit;
190
+ i0.ɵɵadvance();
191
+ i0.ɵɵtextInterpolate1("(", item_r4.clusterDisplayName, ")");
186
192
  } }
187
193
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_11_aui_tag_7_Template(rf, ctx) { if (rf & 1) {
188
194
  i0.ɵɵelementStart(0, "aui-tag", 42);
189
195
  i0.ɵɵtext(1);
190
196
  i0.ɵɵelementEnd();
191
197
  } if (rf & 2) {
192
- const item_r14 = i0.ɵɵnextContext(2).$implicit;
193
- i0.ɵɵadvance(1);
194
- i0.ɵɵtextInterpolate1(" ", item_r14.clusterArch, " ");
198
+ const item_r4 = i0.ɵɵnextContext(2).$implicit;
199
+ i0.ɵɵadvance();
200
+ i0.ɵɵtextInterpolate1(" ", item_r4.clusterArch, " ");
195
201
  } }
196
202
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_11_Template(rf, ctx) { if (rf & 1) {
197
203
  i0.ɵɵelementStart(0, "div", 46)(1, "span", 39);
@@ -200,20 +206,20 @@ function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_11_Template(r
200
206
  i0.ɵɵelementEnd();
201
207
  i0.ɵɵelementStart(4, "span");
202
208
  i0.ɵɵtext(5);
203
- i0.ɵɵtemplate(6, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_11_ng_container_6_Template, 2, 1, "ng-container", 7);
209
+ i0.ɵɵtemplate(6, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_11_ng_container_6_Template, 2, 1, "ng-container", 8);
204
210
  i0.ɵɵelementEnd();
205
211
  i0.ɵɵtemplate(7, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_11_aui_tag_7_Template, 2, 1, "aui-tag", 41);
206
212
  i0.ɵɵelementEnd();
207
213
  } if (rf & 2) {
208
- const item_r14 = i0.ɵɵnextContext().$implicit;
214
+ const item_r4 = i0.ɵɵnextContext().$implicit;
209
215
  i0.ɵɵadvance(2);
210
216
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 4, "cluster"));
211
217
  i0.ɵɵadvance(3);
212
- i0.ɵɵtextInterpolate(item_r14.cluster);
213
- i0.ɵɵadvance(1);
214
- i0.ɵɵproperty("ngIf", item_r14.clusterDisplayName);
215
- i0.ɵɵadvance(1);
216
- i0.ɵɵproperty("ngIf", item_r14.clusterArch);
218
+ i0.ɵɵtextInterpolate(item_r4.cluster);
219
+ i0.ɵɵadvance();
220
+ i0.ɵɵproperty("ngIf", item_r4.clusterDisplayName);
221
+ i0.ɵɵadvance();
222
+ i0.ɵɵproperty("ngIf", item_r4.clusterArch);
217
223
  } }
218
224
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_12_Template(rf, ctx) { if (rf & 1) {
219
225
  i0.ɵɵelementStart(0, "div", 46)(1, "span", 39);
@@ -224,11 +230,11 @@ function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_12_Template(r
224
230
  i0.ɵɵtext(5);
225
231
  i0.ɵɵelementEnd()();
226
232
  } if (rf & 2) {
227
- const item_r14 = i0.ɵɵnextContext().$implicit;
233
+ const item_r4 = i0.ɵɵnextContext().$implicit;
228
234
  i0.ɵɵadvance(2);
229
235
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "cluster"));
230
236
  i0.ɵɵadvance(3);
231
- i0.ɵɵtextInterpolate1("", item_r14.cluster, " ");
237
+ i0.ɵɵtextInterpolate1("", item_r4.cluster, " ");
232
238
  } }
233
239
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_13_Template(rf, ctx) { if (rf & 1) {
234
240
  i0.ɵɵelementStart(0, "div", 46)(1, "span", 39);
@@ -239,11 +245,11 @@ function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_13_Template(r
239
245
  i0.ɵɵpipe(5, "translate");
240
246
  i0.ɵɵelementEnd()();
241
247
  } if (rf & 2) {
242
- const item_r14 = i0.ɵɵnextContext().$implicit;
248
+ const item_r4 = i0.ɵɵnextContext().$implicit;
243
249
  i0.ɵɵadvance(2);
244
250
  i0.ɵɵtextInterpolate("Istio");
245
251
  i0.ɵɵadvance(2);
246
- i0.ɵɵtextInterpolate1("", item_r14.serviceMeshIstioVersion || i0.ɵɵpipeBind1(5, 2, "not_deployed"), " ");
252
+ i0.ɵɵtextInterpolate1("", item_r4.serviceMeshIstioVersion || i0.ɵɵpipeBind1(5, 2, "not_deployed"), " ");
247
253
  } }
248
254
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_14_Template(rf, ctx) { if (rf & 1) {
249
255
  i0.ɵɵelementStart(0, "div", 47)(1, "span", 39);
@@ -255,29 +261,28 @@ function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_14_Template(r
255
261
  i0.ɵɵpipe(6, "aclRelativeTime");
256
262
  i0.ɵɵelementEnd()();
257
263
  } if (rf & 2) {
258
- const item_r14 = i0.ɵɵnextContext().$implicit;
264
+ const item_r4 = i0.ɵɵnextContext().$implicit;
259
265
  i0.ɵɵadvance(2);
260
266
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 2, "created_at"));
261
267
  i0.ɵɵadvance(3);
262
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 4, item_r14.timestamp));
268
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 4, item_r4.timestamp));
263
269
  } }
264
- const _c3 = function (a0) { return { $implicit: a0 }; };
265
270
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_15_Template(rf, ctx) { if (rf & 1) {
271
+ const _r6 = i0.ɵɵgetCurrentView();
266
272
  i0.ɵɵelementStart(0, "div", 48);
267
- i0.ɵɵlistener("click", function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_15_Template_div_click_0_listener($event) { return $event.stopPropagation(); });
273
+ i0.ɵɵlistener("click", function ResourceDataGridComponent_ng_container_14_div_1_div_2_div_15_Template_div_click_0_listener($event) { i0.ɵɵrestoreView(_r6); return i0.ɵɵresetView($event.stopPropagation()); });
268
274
  i0.ɵɵelementContainer(1, 49);
269
275
  i0.ɵɵelementEnd();
270
276
  } if (rf & 2) {
271
- const item_r14 = i0.ɵɵnextContext().$implicit;
272
- const ctx_r25 = i0.ɵɵnextContext(3);
273
- i0.ɵɵadvance(1);
274
- i0.ɵɵproperty("ngTemplateOutlet", ctx_r25.actionTemplateRef)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c3, item_r14.__origin));
277
+ const item_r4 = i0.ɵɵnextContext().$implicit;
278
+ const ctx_r1 = i0.ɵɵnextContext(3);
279
+ i0.ɵɵadvance();
280
+ i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.actionTemplateRef)("ngTemplateOutletContext", i0.ɵɵpureFunction1(2, _c8, item_r4.__origin));
275
281
  } }
276
- const _c4 = function (a0, a1) { return { "grid__item--selected": a0, "grid__item--disabled": a1 }; };
277
282
  function ResourceDataGridComponent_ng_container_14_div_1_div_2_Template(rf, ctx) { if (rf & 1) {
278
- const _r51 = i0.ɵɵgetCurrentView();
283
+ const _r3 = i0.ɵɵgetCurrentView();
279
284
  i0.ɵɵelementStart(0, "div", 21);
280
- i0.ɵɵlistener("click", function ResourceDataGridComponent_ng_container_14_div_1_div_2_Template_div_click_0_listener() { const restoredCtx = i0.ɵɵrestoreView(_r51); const item_r14 = restoredCtx.$implicit; const ctx_r50 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r50.onSelect(item_r14)); });
285
+ i0.ɵɵlistener("click", function ResourceDataGridComponent_ng_container_14_div_1_div_2_Template_div_click_0_listener() { const item_r4 = i0.ɵɵrestoreView(_r3).$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.onSelect(item_r4)); });
281
286
  i0.ɵɵtemplate(1, ResourceDataGridComponent_ng_container_14_div_1_div_2_aui_icon_1_Template, 1, 0, "aui-icon", 22);
282
287
  i0.ɵɵelementStart(2, "div", 23);
283
288
  i0.ɵɵelement(3, "acl-resource-icon", 24);
@@ -287,101 +292,89 @@ function ResourceDataGridComponent_ng_container_14_div_1_div_2_Template(rf, ctx)
287
292
  i0.ɵɵelementEnd();
288
293
  i0.ɵɵtemplate(7, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_7_Template, 2, 1, "div", 28);
289
294
  i0.ɵɵelementEnd();
290
- i0.ɵɵtemplate(8, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_8_Template, 10, 9, "div", 29);
291
- i0.ɵɵtemplate(9, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_9_Template, 8, 15, "div", 30);
292
- i0.ɵɵtemplate(10, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_10_Template, 8, 5, "div", 31);
293
- i0.ɵɵtemplate(11, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_11_Template, 8, 6, "div", 31);
294
- i0.ɵɵtemplate(12, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_12_Template, 6, 4, "div", 31);
295
- i0.ɵɵtemplate(13, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_13_Template, 6, 4, "div", 31);
296
- i0.ɵɵtemplate(14, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_14_Template, 7, 6, "div", 32);
297
- i0.ɵɵtemplate(15, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_15_Template, 2, 4, "div", 33);
295
+ i0.ɵɵtemplate(8, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_8_Template, 10, 9, "div", 29)(9, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_9_Template, 8, 15, "div", 30)(10, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_10_Template, 8, 5, "div", 31)(11, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_11_Template, 8, 6, "div", 31)(12, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_12_Template, 6, 4, "div", 31)(13, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_13_Template, 6, 4, "div", 31)(14, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_14_Template, 7, 6, "div", 32)(15, ResourceDataGridComponent_ng_container_14_div_1_div_2_div_15_Template, 2, 4, "div", 33);
298
296
  i0.ɵɵelementEnd();
299
297
  } if (rf & 2) {
300
- const item_r14 = ctx.$implicit;
301
- const ctx_r13 = i0.ɵɵnextContext(3);
302
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(18, _c4, ctx_r13.context === "popup" && ctx_r13.selectedUid === item_r14.__origin.metadata.uid, item_r14.state == null ? null : item_r14.state.disabled))("auiTooltip", item_r14.state == null ? null : item_r14.state.tooltip)("auiTooltipDisabled", !(item_r14.state == null ? null : item_r14.state.disabled) || !(item_r14.state == null ? null : item_r14.state.tooltip));
303
- i0.ɵɵattribute("data-test", item_r14.name + "/" + item_r14.cluster);
304
- i0.ɵɵadvance(1);
305
- i0.ɵɵproperty("ngIf", ctx_r13.selectedUid === item_r14.__origin.metadata.uid);
298
+ const item_r4 = ctx.$implicit;
299
+ const ctx_r1 = i0.ɵɵnextContext(3);
300
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(18, _c6, ctx_r1.context === "popup" && ctx_r1.selectedUid === item_r4.__origin.metadata.uid, item_r4.state == null ? null : item_r4.state.disabled))("auiTooltip", item_r4.state == null ? null : item_r4.state.tooltip)("auiTooltipDisabled", !(item_r4.state == null ? null : item_r4.state.disabled) || !(item_r4.state == null ? null : item_r4.state.tooltip));
301
+ i0.ɵɵattribute("data-test", item_r4.name + "/" + item_r4.cluster);
302
+ i0.ɵɵadvance();
303
+ i0.ɵɵproperty("ngIf", ctx_r1.selectedUid === item_r4.__origin.metadata.uid);
306
304
  i0.ɵɵadvance(2);
307
- i0.ɵɵproperty("type", ctx_r13.type)("color", ctx_r13.context === "popup" && !ctx_r13.popupLite && ctx_r13.selectedUid === item_r14.__origin.metadata.uid ? "white" : "blue")("displayMode", ctx_r13.displayMode);
305
+ i0.ɵɵproperty("type", ctx_r1.type)("color", ctx_r1.context === "popup" && !ctx_r1.popupLite && ctx_r1.selectedUid === item_r4.__origin.metadata.uid ? "white" : "blue")("displayMode", ctx_r1.displayMode);
308
306
  i0.ɵɵadvance(3);
309
- i0.ɵɵproperty("ngForOf", ctx_r13.getHighlightedNameStrs(item_r14));
310
- i0.ɵɵadvance(1);
311
- i0.ɵɵproperty("ngIf", !ctx_r13.popupLite);
312
- i0.ɵɵadvance(1);
313
- i0.ɵɵproperty("ngIf", ctx_r13.fields.includes(ctx_r13.fieldsDef.Cluster));
314
- i0.ɵɵadvance(1);
315
- i0.ɵɵproperty("ngIf", ctx_r13.fields.includes(ctx_r13.fieldsDef.Status));
316
- i0.ɵɵadvance(1);
317
- i0.ɵɵproperty("ngIf", ctx_r13.fields.includes(ctx_r13.fieldsDef.ServiceMesh));
318
- i0.ɵɵadvance(1);
319
- i0.ɵɵproperty("ngIf", ctx_r13.fields.includes(ctx_r13.fieldsDef.ServiceMesh));
320
- i0.ɵɵadvance(1);
321
- i0.ɵɵproperty("ngIf", ctx_r13.fields.includes(ctx_r13.fieldsDef.ServiceMeshGroup));
322
- i0.ɵɵadvance(1);
323
- i0.ɵɵproperty("ngIf", ctx_r13.fields.includes(ctx_r13.fieldsDef.ServiceMeshGroup));
324
- i0.ɵɵadvance(1);
325
- i0.ɵɵproperty("ngIf", ctx_r13.fields.includes(ctx_r13.fieldsDef.Time) && !ctx_r13.popupLite);
326
- i0.ɵɵadvance(1);
327
- i0.ɵɵproperty("ngIf", ctx_r13.fields.includes(ctx_r13.fieldsDef.Action) && ctx_r13.actionTemplateRef && ctx_r13.context !== "popup");
307
+ i0.ɵɵproperty("ngForOf", ctx_r1.getHighlightedNameStrs(item_r4));
308
+ i0.ɵɵadvance();
309
+ i0.ɵɵproperty("ngIf", !ctx_r1.popupLite);
310
+ i0.ɵɵadvance();
311
+ i0.ɵɵproperty("ngIf", ctx_r1.fields.includes(ctx_r1.fieldsDef.Cluster));
312
+ i0.ɵɵadvance();
313
+ i0.ɵɵproperty("ngIf", ctx_r1.fields.includes(ctx_r1.fieldsDef.Status));
314
+ i0.ɵɵadvance();
315
+ i0.ɵɵproperty("ngIf", ctx_r1.fields.includes(ctx_r1.fieldsDef.ServiceMesh));
316
+ i0.ɵɵadvance();
317
+ i0.ɵɵproperty("ngIf", ctx_r1.fields.includes(ctx_r1.fieldsDef.ServiceMesh));
318
+ i0.ɵɵadvance();
319
+ i0.ɵɵproperty("ngIf", ctx_r1.fields.includes(ctx_r1.fieldsDef.ServiceMeshGroup));
320
+ i0.ɵɵadvance();
321
+ i0.ɵɵproperty("ngIf", ctx_r1.fields.includes(ctx_r1.fieldsDef.ServiceMeshGroup));
322
+ i0.ɵɵadvance();
323
+ i0.ɵɵproperty("ngIf", ctx_r1.fields.includes(ctx_r1.fieldsDef.Time) && !ctx_r1.popupLite);
324
+ i0.ɵɵadvance();
325
+ i0.ɵɵproperty("ngIf", ctx_r1.fields.includes(ctx_r1.fieldsDef.Action) && ctx_r1.actionTemplateRef && ctx_r1.context !== "popup");
328
326
  } }
329
- const _c5 = function (a0, a1, a2) { return { "grid--card": a0, "grid--popup": a1, "grid--popup--lite": a2 }; };
330
327
  function ResourceDataGridComponent_ng_container_14_div_1_Template(rf, ctx) { if (rf & 1) {
331
- i0.ɵɵelementStart(0, "div", 18, 19);
328
+ i0.ɵɵelementStart(0, "div", 19, 0);
332
329
  i0.ɵɵtemplate(2, ResourceDataGridComponent_ng_container_14_div_1_div_2_Template, 16, 21, "div", 20);
333
330
  i0.ɵɵelementEnd();
334
331
  } if (rf & 2) {
335
- const displayData_r8 = i0.ɵɵnextContext().ngIf;
336
- const ctx_r9 = i0.ɵɵnextContext();
337
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction3(2, _c5, ctx_r9.displayMode === "card" && ctx_r9.context !== "popup", ctx_r9.context === "popup", ctx_r9.context === "popup" && ctx_r9.popupLite));
332
+ const displayData_r7 = i0.ɵɵnextContext().ngIf;
333
+ const ctx_r1 = i0.ɵɵnextContext();
334
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction3(2, _c5, ctx_r1.displayMode === "card" && ctx_r1.context !== "popup", ctx_r1.context === "popup", ctx_r1.context === "popup" && ctx_r1.popupLite));
338
335
  i0.ɵɵadvance(2);
339
- i0.ɵɵproperty("ngForOf", displayData_r8);
336
+ i0.ɵɵproperty("ngForOf", displayData_r7);
340
337
  } }
341
338
  function ResourceDataGridComponent_ng_container_14_acl_resource_no_data_2_Template(rf, ctx) { if (rf & 1) {
342
- const _r54 = i0.ɵɵgetCurrentView();
339
+ const _r8 = i0.ɵɵgetCurrentView();
343
340
  i0.ɵɵelementStart(0, "acl-resource-no-data", 50);
344
- i0.ɵɵlistener("refresh", function ResourceDataGridComponent_ng_container_14_acl_resource_no_data_2_Template_acl_resource_no_data_refresh_0_listener() { i0.ɵɵrestoreView(_r54); const ctx_r53 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r53.reload.emit()); })("clear", function ResourceDataGridComponent_ng_container_14_acl_resource_no_data_2_Template_acl_resource_no_data_clear_0_listener() { i0.ɵɵrestoreView(_r54); const ctx_r55 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r55.keywordChange("")); });
341
+ i0.ɵɵlistener("refresh", function ResourceDataGridComponent_ng_container_14_acl_resource_no_data_2_Template_acl_resource_no_data_refresh_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.reload.emit()); })("clear", function ResourceDataGridComponent_ng_container_14_acl_resource_no_data_2_Template_acl_resource_no_data_clear_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.keywordChange("")); });
345
342
  i0.ɵɵelementEnd();
346
343
  } if (rf & 2) {
347
- const ctx_r10 = i0.ɵɵnextContext(2);
348
- i0.ɵɵproperty("isFiltered", !!ctx_r10.keyword)("type", ctx_r10.type);
344
+ const ctx_r1 = i0.ɵɵnextContext(2);
345
+ i0.ɵɵproperty("isFiltered", !!ctx_r1.keyword)("type", ctx_r1.type);
349
346
  } }
350
347
  function ResourceDataGridComponent_ng_container_14_acl_zero_state_4_Template(rf, ctx) { if (rf & 1) {
351
348
  i0.ɵɵelement(0, "acl-zero-state", 51);
352
349
  } }
353
350
  function ResourceDataGridComponent_ng_container_14_Template(rf, ctx) { if (rf & 1) {
354
351
  i0.ɵɵelementContainerStart(0);
355
- i0.ɵɵtemplate(1, ResourceDataGridComponent_ng_container_14_div_1_Template, 3, 6, "div", 15);
356
- i0.ɵɵtemplate(2, ResourceDataGridComponent_ng_container_14_acl_resource_no_data_2_Template, 1, 2, "acl-resource-no-data", 16);
352
+ i0.ɵɵtemplate(1, ResourceDataGridComponent_ng_container_14_div_1_Template, 3, 6, "div", 16)(2, ResourceDataGridComponent_ng_container_14_acl_resource_no_data_2_Template, 1, 2, "acl-resource-no-data", 17);
357
353
  i0.ɵɵpipe(3, "async");
358
- i0.ɵɵtemplate(4, ResourceDataGridComponent_ng_container_14_acl_zero_state_4_Template, 1, 0, "acl-zero-state", 17);
354
+ i0.ɵɵtemplate(4, ResourceDataGridComponent_ng_container_14_acl_zero_state_4_Template, 1, 0, "acl-zero-state", 18);
359
355
  i0.ɵɵpipe(5, "async");
360
356
  i0.ɵɵelementContainerEnd();
361
357
  } if (rf & 2) {
362
- const displayData_r8 = ctx.ngIf;
363
- const ctx_r3 = i0.ɵɵnextContext();
364
- let tmp_1_0;
365
- let tmp_2_0;
366
- i0.ɵɵadvance(1);
367
- i0.ɵɵproperty("ngIf", displayData_r8.length);
368
- i0.ɵɵadvance(1);
369
- i0.ɵɵproperty("ngIf", !ctx_r3.popupLite && !((tmp_1_0 = i0.ɵɵpipeBind1(3, 3, ctx_r3.displayData$)) == null ? null : tmp_1_0.length));
358
+ let tmp_3_0;
359
+ let tmp_4_0;
360
+ const displayData_r7 = ctx.ngIf;
361
+ const ctx_r1 = i0.ɵɵnextContext();
362
+ i0.ɵɵadvance();
363
+ i0.ɵɵproperty("ngIf", displayData_r7.length);
364
+ i0.ɵɵadvance();
365
+ i0.ɵɵproperty("ngIf", !ctx_r1.popupLite && !((tmp_3_0 = i0.ɵɵpipeBind1(3, 3, ctx_r1.displayData$)) == null ? null : tmp_3_0.length));
370
366
  i0.ɵɵadvance(2);
371
- i0.ɵɵproperty("ngIf", ctx_r3.popupLite && !((tmp_2_0 = i0.ɵɵpipeBind1(5, 5, ctx_r3.displayData$)) == null ? null : tmp_2_0.length));
367
+ i0.ɵɵproperty("ngIf", ctx_r1.popupLite && !((tmp_4_0 = i0.ɵɵpipeBind1(5, 5, ctx_r1.displayData$)) == null ? null : tmp_4_0.length));
372
368
  } }
373
369
  function ResourceDataGridComponent_div_18_Template(rf, ctx) { if (rf & 1) {
374
370
  i0.ɵɵelementStart(0, "div", 52);
375
371
  i0.ɵɵelement(1, "acl-loading-mask", 53);
376
372
  i0.ɵɵelementEnd();
377
373
  } if (rf & 2) {
378
- const ctx_r4 = i0.ɵɵnextContext();
379
- i0.ɵɵadvance(1);
380
- i0.ɵɵproperty("loading", ctx_r4.loading);
374
+ const ctx_r1 = i0.ɵɵnextContext();
375
+ i0.ɵɵadvance();
376
+ i0.ɵɵproperty("loading", ctx_r1.loading);
381
377
  } }
382
- const _c6 = [[["", "aclResourceGridHeader", ""]]];
383
- const _c7 = function (a0) { return { "header__title--lite": a0 }; };
384
- const _c8 = ["[aclResourceGridHeader]"];
385
378
  export class ResourceDataGridComponent {
386
379
  constructor() {
387
380
  this.context = 'page';
@@ -455,7 +448,11 @@ export class ResourceDataGridComponent {
455
448
  this.displayData$ = combineLatest([
456
449
  this.data$,
457
450
  this.filter$.pipe(startWith('')),
458
- ]).pipe(map(([data, keyword]) => data.filter(item => item.name.toLowerCase().includes(keyword.toLowerCase()))));
451
+ ]).pipe(map(([data, keyword]) => data.filter(item => {
452
+ const k = keyword.toLowerCase();
453
+ return (item.name.toLowerCase().includes(k) ||
454
+ item.displayName.toLowerCase().includes(k));
455
+ })));
459
456
  }
460
457
  initScroll(scrollEl) {
461
458
  if (this.context === 'page' ||
@@ -502,48 +499,47 @@ export class ResourceDataGridComponent {
502
499
  } if (rf & 2) {
503
500
  let _t;
504
501
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.grid = _t.first);
505
- } }, inputs: { context: "context", popupLite: "popupLite", data: "data", type: "type", fields: "fields", actionTemplateRef: "actionTemplateRef", selectedUid: "selectedUid", loading: "loading" }, outputs: { selectItem: "selectItem", filter: "filter", reload: "reload" }, ngContentSelectors: _c8, decls: 19, vars: 32, consts: [[1, "header"], [1, "header__title", 3, "ngClass"], [1, "header__desc"], ["class", "header__custom", 4, "ngIf"], ["class", "tw-flex-1", 4, "ngIf"], ["size", "small", 3, "searchButton", "placeholder", "keyword", "clearable", "keywordChange"], ["class", "header__display-mode", 4, "ngIf"], [4, "ngIf"], ["class", "loading", 4, "ngIf"], [1, "header__custom"], [1, "tw-flex-1"], [1, "header__display-mode"], [1, "switch-btn", 3, "ngClass", "click"], ["icon", "list"], ["icon", "grid"], ["class", "grid", 3, "ngClass", 4, "ngIf"], [3, "isFiltered", "type", "refresh", "clear", 4, "ngIf"], ["context", "table", 4, "ngIf"], [1, "grid", 3, "ngClass"], ["grid", ""], ["class", "grid__item", 3, "ngClass", "auiTooltip", "auiTooltipDisabled", "click", 4, "ngFor", "ngForOf"], [1, "grid__item", 3, "ngClass", "auiTooltip", "auiTooltipDisabled", "click"], ["class", "check-triangle-badge", "icon", "check", 4, "ngIf"], [1, "grid__field", "grid__field-icon"], [3, "type", "color", "displayMode"], [1, "grid__field", "grid__field-name"], [1, "name"], [4, "ngFor", "ngForOf"], ["class", "des", 4, "ngIf"], ["class", "grid__field flex grid__field-cluster", 4, "ngIf"], [3, "class", 4, "ngIf"], ["class", "grid__field grid__field-servicemesh", 4, "ngIf"], ["class", "grid__field grid__field-time", 4, "ngIf"], ["class", "grid__field grid__field-action", 3, "click", 4, "ngIf"], ["icon", "check", 1, "check-triangle-badge"], [3, "ngClass"], [1, "des"], [1, "grid__field", "flex", "grid__field-cluster"], [1, "belonged-cluster", "tw-flex", 3, "auiTooltip"], [1, "with-colon"], [1, "tw-text-ellipsis", "tw-overflow-hidden"], ["type", "primary", "size", "mini", 4, "ngIf"], ["type", "primary", "size", "mini"], ["class", "tw-text-help-text tw-mr-8", 4, "ngIf"], [3, "icon", "background"], [1, "tw-text-help-text", "tw-mr-8"], [1, "grid__field", "grid__field-servicemesh"], [1, "grid__field", "grid__field-time"], [1, "grid__field", "grid__field-action", 3, "click"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], [3, "isFiltered", "type", "refresh", "clear"], ["context", "table"], [1, "loading"], ["type", "content", 3, "loading"]], template: function ResourceDataGridComponent_Template(rf, ctx) { if (rf & 1) {
506
- i0.ɵɵprojectionDef(_c6);
507
- i0.ɵɵelementStart(0, "div", 0)(1, "span", 1)(2, "span");
502
+ } }, inputs: { context: "context", popupLite: "popupLite", data: "data", type: "type", fields: "fields", actionTemplateRef: "actionTemplateRef", selectedUid: "selectedUid", loading: "loading" }, outputs: { selectItem: "selectItem", filter: "filter", reload: "reload" }, ngContentSelectors: _c2, decls: 19, vars: 32, consts: [["grid", ""], [1, "header"], [1, "header__title", 3, "ngClass"], [1, "header__desc"], ["class", "header__custom", 4, "ngIf"], ["class", "tw-flex-1", 4, "ngIf"], ["size", "small", 3, "keywordChange", "searchButton", "placeholder", "keyword", "clearable"], ["class", "header__display-mode", 4, "ngIf"], [4, "ngIf"], ["class", "loading", 4, "ngIf"], [1, "header__custom"], [1, "tw-flex-1"], [1, "header__display-mode"], [1, "switch-btn", 3, "click", "ngClass"], ["icon", "list"], ["icon", "grid"], ["class", "grid", 3, "ngClass", 4, "ngIf"], [3, "isFiltered", "type", "refresh", "clear", 4, "ngIf"], ["context", "table", 4, "ngIf"], [1, "grid", 3, "ngClass"], ["class", "grid__item", 3, "ngClass", "auiTooltip", "auiTooltipDisabled", "click", 4, "ngFor", "ngForOf"], [1, "grid__item", 3, "click", "ngClass", "auiTooltip", "auiTooltipDisabled"], ["class", "check-triangle-badge", "icon", "check", 4, "ngIf"], [1, "grid__field", "grid__field-icon"], [3, "type", "color", "displayMode"], [1, "grid__field", "grid__field-name"], [1, "name"], [4, "ngFor", "ngForOf"], ["class", "des", 4, "ngIf"], ["class", "grid__field flex grid__field-cluster", 4, "ngIf"], [3, "class", 4, "ngIf"], ["class", "grid__field grid__field-servicemesh", 4, "ngIf"], ["class", "grid__field grid__field-time", 4, "ngIf"], ["class", "grid__field grid__field-action", 3, "click", 4, "ngIf"], ["icon", "check", 1, "check-triangle-badge"], [3, "ngClass"], [1, "des"], [1, "grid__field", "flex", "grid__field-cluster"], [1, "belonged-cluster", "tw-flex", 3, "auiTooltip"], [1, "with-colon"], [1, "tw-text-ellipsis", "tw-overflow-hidden"], ["type", "primary", "size", "mini", 4, "ngIf"], ["type", "primary", "size", "mini"], ["class", "tw-text-help-text tw-mr-8", 4, "ngIf"], [3, "icon", "background"], [1, "tw-text-help-text", "tw-mr-8"], [1, "grid__field", "grid__field-servicemesh"], [1, "grid__field", "grid__field-time"], [1, "grid__field", "grid__field-action", 3, "click"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], [3, "refresh", "clear", "isFiltered", "type"], ["context", "table"], [1, "loading"], ["type", "content", 3, "loading"]], template: function ResourceDataGridComponent_Template(rf, ctx) { if (rf & 1) {
503
+ i0.ɵɵprojectionDef(_c1);
504
+ i0.ɵɵelementStart(0, "div", 1)(1, "span", 2)(2, "span");
508
505
  i0.ɵɵtext(3);
509
- i0.ɵɵpipe(4, "translate");
510
- i0.ɵɵpipe(5, "pure");
506
+ i0.ɵɵpipe(4, "pure");
507
+ i0.ɵɵpipe(5, "translate");
511
508
  i0.ɵɵelementEnd();
512
- i0.ɵɵelementStart(6, "span", 2);
509
+ i0.ɵɵelementStart(6, "span", 3);
513
510
  i0.ɵɵtext(7);
514
511
  i0.ɵɵpipe(8, "async");
515
512
  i0.ɵɵelementEnd()();
516
- i0.ɵɵtemplate(9, ResourceDataGridComponent_div_9_Template, 2, 0, "div", 3);
517
- i0.ɵɵtemplate(10, ResourceDataGridComponent_div_10_Template, 1, 0, "div", 4);
518
- i0.ɵɵelementStart(11, "aui-search", 5);
519
- i0.ɵɵlistener("keywordChange", function ResourceDataGridComponent_Template_aui_search_keywordChange_11_listener($event) { return ctx.keywordChange($event); });
513
+ i0.ɵɵtemplate(9, ResourceDataGridComponent_div_9_Template, 2, 0, "div", 4)(10, ResourceDataGridComponent_div_10_Template, 1, 0, "div", 5);
514
+ i0.ɵɵelementStart(11, "aui-search", 6);
520
515
  i0.ɵɵpipe(12, "translate");
516
+ i0.ɵɵlistener("keywordChange", function ResourceDataGridComponent_Template_aui_search_keywordChange_11_listener($event) { return ctx.keywordChange($event); });
521
517
  i0.ɵɵelementEnd();
522
- i0.ɵɵtemplate(13, ResourceDataGridComponent_span_13_Template, 5, 6, "span", 6);
518
+ i0.ɵɵtemplate(13, ResourceDataGridComponent_span_13_Template, 5, 6, "span", 7);
523
519
  i0.ɵɵelementEnd();
524
- i0.ɵɵtemplate(14, ResourceDataGridComponent_ng_container_14_Template, 6, 7, "ng-container", 7);
525
- i0.ɵɵpipe(15, "pure");
520
+ i0.ɵɵtemplate(14, ResourceDataGridComponent_ng_container_14_Template, 6, 7, "ng-container", 8);
521
+ i0.ɵɵpipe(15, "async");
526
522
  i0.ɵɵpipe(16, "pure");
527
- i0.ɵɵpipe(17, "async");
528
- i0.ɵɵtemplate(18, ResourceDataGridComponent_div_18_Template, 2, 1, "div", 8);
523
+ i0.ɵɵpipe(17, "pure");
524
+ i0.ɵɵtemplate(18, ResourceDataGridComponent_div_18_Template, 2, 1, "div", 9);
529
525
  } if (rf & 2) {
530
526
  let tmp_2_0;
531
- i0.ɵɵadvance(1);
532
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(30, _c7, ctx.popupLite));
527
+ i0.ɵɵadvance();
528
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(30, _c3, ctx.popupLite));
533
529
  i0.ɵɵadvance(2);
534
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 12, i0.ɵɵpipeBind2(5, 14, ctx.type, ctx.pluralForm)));
530
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 15, i0.ɵɵpipeBind2(4, 12, ctx.type, ctx.pluralForm)));
535
531
  i0.ɵɵadvance(4);
536
532
  i0.ɵɵtextInterpolate1("\uFF08", ((tmp_2_0 = i0.ɵɵpipeBind1(8, 17, ctx.displayData$)) == null ? null : tmp_2_0.length) || 0, "\uFF09");
537
533
  i0.ɵɵadvance(2);
538
534
  i0.ɵɵproperty("ngIf", !ctx.popupLite);
539
- i0.ɵɵadvance(1);
535
+ i0.ɵɵadvance();
540
536
  i0.ɵɵproperty("ngIf", ctx.popupLite);
541
- i0.ɵɵadvance(1);
542
- i0.ɵɵproperty("searchButton", false)("placeholder", i0.ɵɵpipeBind1(12, 19, "filter_by_name"))("keyword", ctx.keyword)("clearable", true);
537
+ i0.ɵɵadvance();
538
+ i0.ɵɵproperty("searchButton", false)("placeholder", i0.ɵɵpipeBind1(12, 19, "filter_by_name_or_display_name"))("keyword", ctx.keyword)("clearable", true);
543
539
  i0.ɵɵadvance(2);
544
540
  i0.ɵɵproperty("ngIf", ctx.context === "page");
545
- i0.ɵɵadvance(1);
546
- i0.ɵɵproperty("ngIf", !ctx.loading && i0.ɵɵpipeBind3(15, 21, i0.ɵɵpipeBind2(16, 25, i0.ɵɵpipeBind1(17, 28, ctx.displayData$), ctx.sortWithoutIstio), ctx.filterDisabledData, ctx.context));
541
+ i0.ɵɵadvance();
542
+ i0.ɵɵproperty("ngIf", !ctx.loading && i0.ɵɵpipeBind3(17, 26, i0.ɵɵpipeBind2(16, 23, i0.ɵɵpipeBind1(15, 21, ctx.displayData$), ctx.sortWithoutIstio), ctx.filterDisabledData, ctx.context));
547
543
  i0.ɵɵadvance(4);
548
544
  i0.ɵɵproperty("ngIf", ctx.loading);
549
545
  } }, styles: ["[_nghost-%COMP%]{display:flex;flex-direction:column;box-shadow:0 0 4px rgba(var(--aui-color-n-1),.16);padding:22px 20px 20px;background-color:rgb(var(--aui-color-n-10));border-radius:4px}.header[_ngcontent-%COMP%]{display:flex;align-items:center;margin-bottom:20px;height:28px}.header[_ngcontent-%COMP%] aui-search[_ngcontent-%COMP%]{width:260px}.header__title[_ngcontent-%COMP%]{font-size:18px;font-weight:500;line-height:28px;color:rgb(var(--aui-color-n-1))}.header__title--lite[_ngcontent-%COMP%]{font-size:16px;font-weight:700;line-height:22px}.header__desc[_ngcontent-%COMP%]{color:rgb(var(--aui-color-n-4))}.header__custom[_ngcontent-%COMP%]{flex:1;padding:0 36px}.header__display-mode[_ngcontent-%COMP%]{display:flex;border:1px solid rgb(var(--aui-color-n-7));background-color:rgb(var(--aui-color-n-9));border-radius:var(--aui-border-radius-m);margin-left:16px;padding:1px}.switch-btn[_ngcontent-%COMP%]{cursor:pointer;width:24px;height:24px;border-radius:var(--aui-border-radius-m);display:inline-flex;align-items:center;justify-content:center}.switch-btn[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:12px;height:12px}.switch-btn--selected[_ngcontent-%COMP%]{background-color:rgb(var(--aui-color-n-10));color:rgb(var(--aui-color-primary))}.grid[_ngcontent-%COMP%]{overflow-y:auto;padding:20px;background-color:rgb(var(--aui-color-n-9));border-radius:var(--aui-border-radius-l)}.grid[_ngcontent-%COMP%]::-webkit-scrollbar{width:8px;height:4px}.grid[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{border-radius:4px;background-color:rgb(var(--aui-color-n-7))}.grid[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover{background-color:rgb(var(--aui-color-n-5))}.grid[_ngcontent-%COMP%]::-webkit-scrollbar-corner{background-color:transparent}.grid__item[_ngcontent-%COMP%]{display:flex;position:relative;flex-direction:row;border-radius:var(--aui-border-radius-l);padding:9px 20px;min-height:60px;color:rgb(var(--aui-color-n-1));align-items:center;cursor:pointer;background-color:rgb(var(--aui-color-n-10))}.grid__item[_ngcontent-%COMP%]:not(:last-child){margin-bottom:8px}.grid__item[_ngcontent-%COMP%]:not(.grid__item--disabled):hover{border-color:rgb(var(--aui-color-primary));box-shadow:0 0 8px rgba(var(--aui-color-primary),.5)}.grid__item--disabled[_ngcontent-%COMP%]{cursor:default}.grid__item--disabled[_ngcontent-%COMP%], .grid__item--disabled[_ngcontent-%COMP%]:hover{background-color:rgb(var(--aui-color-n-9))}.grid__item--disabled[_ngcontent-%COMP%] .grid__field[_ngcontent-%COMP%]{opacity:.3}.grid__item--disabled[_ngcontent-%COMP%] .grid__field-servicemesh[_ngcontent-%COMP%], .grid__item--disabled[_ngcontent-%COMP%] .grid__field-action[_ngcontent-%COMP%]{opacity:1}.grid__field[_ngcontent-%COMP%]{flex:2;line-height:20px}.grid__field[_ngcontent-%COMP%]:not(.grid__field-status){white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.grid__field[_ngcontent-%COMP%]:not(:last-child){margin-right:20px}.grid__field-servicemesh[_ngcontent-%COMP%]{flex:2;align-items:stretch;max-width:400px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid__field-servicemesh[_ngcontent-%COMP%] .des[_ngcontent-%COMP%]{font-size:12px;line-height:16px;color:rgb(var(--aui-color-n-4))}.grid__field-servicemesh[_ngcontent-%COMP%] aui-tag[_ngcontent-%COMP%]{margin-left:8px}.grid__field-status[_ngcontent-%COMP%]{display:flex;align-items:center}.grid__field-status[_ngcontent-%COMP%] aui-icon[_ngcontent-%COMP%]{font-size:16px;display:inline-flex;margin-right:4px}.grid__field-status[_ngcontent-%COMP%] .with-colon[_ngcontent-%COMP%]{display:none}.grid__field-icon[_ngcontent-%COMP%]{max-width:30px;display:inline-flex}.grid__field-name[_ngcontent-%COMP%]{flex:2;flex-direction:column;max-width:280px}.grid__field-name[_ngcontent-%COMP%] .name[_ngcontent-%COMP%], .grid__field-name[_ngcontent-%COMP%] .des[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid__field-name[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{font-size:14px;font-weight:500;line-height:20px}.grid__field-name[_ngcontent-%COMP%] .name[_ngcontent-%COMP%] aui-icon[_ngcontent-%COMP%]{margin-left:4px}.grid__field-name[_ngcontent-%COMP%] .des[_ngcontent-%COMP%]{font-size:12px;line-height:16px;color:rgb(var(--aui-color-n-4))}.grid__field-action[_ngcontent-%COMP%]{max-width:30px}.grid--popup[_ngcontent-%COMP%]{max-height:382px;padding:12px}.grid--popup[_ngcontent-%COMP%] .grid__field-name[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{font-size:var(--aui-font-size-xl);line-height:var(--aui-line-height-xl);font-weight:var(--aui-font-weight-normal)}.grid--popup[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item[_ngcontent-%COMP%]{padding:10px 20px;min-height:60px;font-size:14px;background-color:rgb(var(--aui-color-n-10))}.grid--popup[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item--selected[_ngcontent-%COMP%]{border:1px solid rgb(var(--aui-color-n-7));border-radius:var(--aui-border-radius-l);background-color:rgb(var(--aui-color-primary));border-color:rgb(var(--aui-color-primary));color:#fff;cursor:default}.grid--popup[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item--selected[_ngcontent-%COMP%]:hover{box-shadow:none}.grid--popup[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item--selected[_ngcontent-%COMP%] .highlighted[_ngcontent-%COMP%]{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-10))}.grid--popup[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item--selected[_ngcontent-%COMP%] .with-colon[_ngcontent-%COMP%]{font-weight:500}.grid--popup[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item--selected[_ngcontent-%COMP%] .des[_ngcontent-%COMP%]{color:#fff}.grid--popup[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item--selected[_ngcontent-%COMP%] .aui-tag--primary{background-color:#fff;color:rgb(var(--aui-color-primary))}.grid--popup--lite[_ngcontent-%COMP%]{background-color:rgb(var(--aui-color-n-10));padding:0}.grid--popup--lite[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%]{padding:10px 14px;min-height:44px;border:1px solid rgb(var(--aui-color-n-7))}.grid--popup--lite[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%] .grid__field[_ngcontent-%COMP%]:not(:last-child){margin-right:12px}.grid--popup--lite[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%] .grid__field-name[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{font-size:14px;line-height:25px;font-weight:400}.grid--popup--lite[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%] .grid__field-icon[_ngcontent-%COMP%]{max-width:24px}.grid--popup--lite[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%] .grid__item-selected-icon[_ngcontent-%COMP%]{display:inline-flex}.grid--popup--lite[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%] .highlighted[_ngcontent-%COMP%]{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-10))}.grid--popup--lite[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%] .with-colon[_ngcontent-%COMP%]{font-weight:500}.grid--popup--lite[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%] .des[_ngcontent-%COMP%]{color:#fff}.grid--popup--lite[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%] .aui-tag--primary{background-color:#fff;color:rgb(var(--aui-color-primary))}.grid--popup--lite[_ngcontent-%COMP%] .grid__item--selected[_ngcontent-%COMP%]{background-color:rgb(var(--aui-color-b-7));border:1px solid rgb(var(--aui-color-primary))}.grid--popup--lite[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%]:hover{border:1px solid rgb(var(--aui-color-primary));box-shadow:none}.grid--card[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(208px,1fr));gap:20px 20px}.grid--card[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%]{margin-bottom:0;height:290px;display:block;text-align:center;padding:40px 20px;border-radius:var(--aui-border-radius-l);position:relative}.grid--card[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%] .belonged-cluster[_ngcontent-%COMP%]{position:static;padding-right:0}.grid--card[_ngcontent-%COMP%] .grid__item[_ngcontent-%COMP%] aui-tag[_ngcontent-%COMP%]{position:absolute;top:8px;right:8px}.grid--card[_ngcontent-%COMP%] .grid__field[_ngcontent-%COMP%]{margin-right:0;justify-content:center}.grid--card[_ngcontent-%COMP%] .grid__field-icon[_ngcontent-%COMP%]{max-width:100%;vertical-align:middle}.grid--card[_ngcontent-%COMP%] .grid__field-name[_ngcontent-%COMP%]{margin:20px 0 24px}.grid--card[_ngcontent-%COMP%] .grid__field-name[_ngcontent-%COMP%] .name[_ngcontent-%COMP%], .grid--card[_ngcontent-%COMP%] .grid__field-name[_ngcontent-%COMP%] .des[_ngcontent-%COMP%]{justify-content:center}.grid--card[_ngcontent-%COMP%] .grid__field-name[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{font-size:20px;font-weight:500;line-height:28px;margin-bottom:2px}.grid--card[_ngcontent-%COMP%] .grid__field-name[_ngcontent-%COMP%] .des[_ngcontent-%COMP%]{font-size:14px;height:20px}.grid--card[_ngcontent-%COMP%] .grid__field-name[_ngcontent-%COMP%] ~ .grid__field[_ngcontent-%COMP%]:not(.grid__field-status){line-height:20px;font-size:14px;text-align:center}.grid--card[_ngcontent-%COMP%] .grid__field-status[_ngcontent-%COMP%] .with-colon[_ngcontent-%COMP%]{display:inline}.grid--card[_ngcontent-%COMP%] .grid__field-servicemesh[_ngcontent-%COMP%]:not(:last-of-type){margin-bottom:4px}.grid--card[_ngcontent-%COMP%] .grid__field-cluster[_ngcontent-%COMP%]{margin-bottom:4px}.grid--card[_ngcontent-%COMP%] .grid__field-action[_ngcontent-%COMP%]{position:absolute;right:10px;top:10px}.grid[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item[_ngcontent-%COMP%]:not(.grid__item--selected){position:relative}.grid[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item[_ngcontent-%COMP%]:not(.grid__item--selected):after{position:absolute;content:\"\";top:0;right:0;bottom:0;left:0;border:1px solid rgb(var(--aui-color-n-7));border-radius:4px;pointer-events:none;transition:all .2s ease-in-out}.grid[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item[_ngcontent-%COMP%]:not(.grid__item--selected).disabled{background-color:rgb(var(--aui-color-n-8));color:rgb(var(--aui-color-n-6));cursor:not-allowed}.grid[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item[_ngcontent-%COMP%]:not(.grid__item--selected):not(.disabled):hover:after{top:-4px;right:-4px;bottom:-4px;left:-4px;border-color:rgb(var(--aui-color-primary));box-shadow:inset 0 0 0 4px rgb(var(--aui-color-n-10)),0 0 8px rgba(var(--aui-color-primary),.5)}.grid[_ngcontent-%COMP%]:not(.grid--popup--lite) .grid__item[_ngcontent-%COMP%]:not(.grid__item--selected):not(.disabled):active:after{top:0;right:0;bottom:0;left:0;box-shadow:0 0 4px rgba(var(--aui-color-primary),.5)}.flex[_ngcontent-%COMP%]{display:flex}.highlighted[_ngcontent-%COMP%]{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-8))}.with-colon[_ngcontent-%COMP%]{font-weight:500}.with-colon[_ngcontent-%COMP%]:after{content:\":\";margin-right:8px}.icon-normal[_ngcontent-%COMP%], .icon-enabled[_ngcontent-%COMP%]{color:rgb(var(--aui-color-green))}.icon-abnormal[_ngcontent-%COMP%]{color:rgb(var(--aui-color-red))}.icon-disabled[_ngcontent-%COMP%]{color:rgb(var(--aui-color-n-6))}.belonged-cluster[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;padding-right:44px}.belonged-cluster[_ngcontent-%COMP%] .with-colon[_ngcontent-%COMP%] + span[_ngcontent-%COMP%]{margin-right:8px}.belonged-cluster[_ngcontent-%COMP%] aui-tag[_ngcontent-%COMP%]{display:inline-flex}.loading[_ngcontent-%COMP%]{display:flex;height:60px;align-items:center;justify-content:center}acl-resource-no-data[_ngcontent-%COMP%]{flex:1;margin:40px 0 80px}acl-zero-state[_ngcontent-%COMP%] .zero-placeholder{min-height:44px;padding:12px 10px}"], changeDetection: 0 }); }
@@ -552,9 +548,9 @@ __decorate([
552
548
  ObservableInput(),
553
549
  __metadata("design:type", Observable)
554
550
  ], ResourceDataGridComponent.prototype, "data$", void 0);
555
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ResourceDataGridComponent, [{
551
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ResourceDataGridComponent, [{
556
552
  type: Component,
557
- args: [{ selector: 'acl-resource-data-grid', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"header\">\n <span\n class=\"header__title\"\n [ngClass]=\"{ 'header__title--lite': popupLite }\"\n >\n <span>{{ type | pure: pluralForm | translate }}</span\n ><span class=\"header__desc\"\n >\uFF08{{ (displayData$ | async)?.length || 0 }}\uFF09</span\n >\n </span>\n <div\n class=\"header__custom\"\n *ngIf=\"!popupLite\"\n >\n <ng-content select=\"[aclResourceGridHeader]\"></ng-content>\n </div>\n <div\n class=\"tw-flex-1\"\n *ngIf=\"popupLite\"\n ></div>\n <aui-search\n [searchButton]=\"false\"\n [placeholder]=\"'filter_by_name' | translate\"\n [keyword]=\"keyword\"\n (keywordChange)=\"keywordChange($event)\"\n [clearable]=\"true\"\n size=\"small\"\n ></aui-search>\n <span\n class=\"header__display-mode\"\n *ngIf=\"context === 'page'\"\n >\n <span\n class=\"switch-btn\"\n [ngClass]=\"{ 'switch-btn--selected': displayMode !== 'card' }\"\n (click)=\"setDisplayMode('row')\"\n >\n <aui-icon icon=\"list\"></aui-icon>\n </span>\n <span\n class=\"switch-btn\"\n [ngClass]=\"{ 'switch-btn--selected': displayMode === 'card' }\"\n (click)=\"setDisplayMode('card')\"\n >\n <aui-icon icon=\"grid\"></aui-icon>\n </span>\n </span>\n</div>\n<ng-container\n *ngIf=\"\n !loading &&\n (displayData$\n | async\n | pure: sortWithoutIstio\n | pure: filterDisabledData:context) as displayData\n \"\n>\n <div\n class=\"grid\"\n *ngIf=\"displayData.length\"\n #grid\n [ngClass]=\"{\n 'grid--card': displayMode === 'card' && context !== 'popup',\n 'grid--popup': context === 'popup',\n 'grid--popup--lite': context === 'popup' && popupLite\n }\"\n >\n <div\n class=\"grid__item\"\n *ngFor=\"let item of displayData\"\n [ngClass]=\"{\n 'grid__item--selected':\n context === 'popup' && selectedUid === item.__origin.metadata.uid,\n 'grid__item--disabled': item.state?.disabled\n }\"\n (click)=\"onSelect(item)\"\n [attr.data-test]=\"item.name + '/' + item.cluster\"\n [auiTooltip]=\"item.state?.tooltip\"\n [auiTooltipDisabled]=\"!item.state?.disabled || !item.state?.tooltip\"\n >\n <aui-icon\n *ngIf=\"selectedUid === item.__origin.metadata.uid\"\n class=\"check-triangle-badge\"\n icon=\"check\"\n ></aui-icon>\n <!-- icon -->\n <div class=\"grid__field grid__field-icon\">\n <acl-resource-icon\n [type]=\"type\"\n [color]=\"\n context === 'popup' &&\n !popupLite &&\n selectedUid === item.__origin.metadata.uid\n ? 'white'\n : 'blue'\n \"\n [displayMode]=\"displayMode\"\n ></acl-resource-icon>\n </div>\n <!-- name -->\n <div class=\"grid__field grid__field-name\">\n <div class=\"name\">\n <ng-container *ngFor=\"let str of getHighlightedNameStrs(item)\">\n <span [ngClass]=\"{ highlighted: str.isHighlighted }\">{{\n str.text\n }}</span>\n </ng-container>\n </div>\n <div\n class=\"des\"\n *ngIf=\"!popupLite\"\n >\n <ng-container *ngIf=\"item.displayName\">{{\n item.displayName\n }}</ng-container>\n </div>\n </div>\n <!-- ns: cluster -->\n <div\n class=\"grid__field flex grid__field-cluster\"\n *ngIf=\"fields.includes(fieldsDef.Cluster)\"\n >\n <span\n class=\"belonged-cluster tw-flex\"\n auiTooltip=\"{{\n ('belonged_cluster' | translate) + ': ' + item.cluster\n }}\"\n >\n <span class=\"with-colon\">{{ 'belonged_cluster' | translate }}</span>\n <span class=\"tw-text-ellipsis tw-overflow-hidden\"\n >{{ item.cluster\n }}<ng-container *ngIf=\"item.clusterDisplayName\"\n >({{ item.clusterDisplayName }})</ng-container\n >\n </span>\n <aui-tag\n type=\"primary\"\n size=\"mini\"\n *ngIf=\"item.clusterArch\"\n >\n {{ item.clusterArch }}\n </aui-tag>\n </span>\n </div>\n <!-- project: status -->\n <div\n class=\"grid__field grid__field-status {{\n 'grid__field-status--' + item.status\n }}\"\n *ngIf=\"fields.includes(fieldsDef.Status)\"\n >\n <label\n *ngIf=\"popupLite\"\n class=\"tw-text-help-text tw-mr-8\"\n >{{ 'status' | translate }}:</label\n >\n <span class=\"with-colon\">{{ 'status' | translate }}</span>\n <aui-icon\n [icon]=\"statusIcon[item.status]\"\n [background]=\"\n statusIcon[item.status].endsWith('_triangle_s')\n ? 'triangle'\n : 'circle'\n \"\n class=\"{{ 'icon-' + item.status }}\"\n ></aui-icon>\n {{ item.status | translate }}\n </div>\n <!-- asm: service mesh -->\n <div\n class=\"grid__field grid__field-servicemesh\"\n *ngIf=\"fields.includes(fieldsDef.ServiceMesh)\"\n >\n <span class=\"with-colon\">{{ 'belonged_servicemesh' | translate }}</span>\n <span> {{ item.serviceMeshName }} </span>\n <div class=\"des\">\n <ng-container *ngIf=\"item.serviceMeshIstioVersion\"\n >(Istio {{ item.serviceMeshIstioVersion }})</ng-container\n >\n </div>\n </div>\n\n <div\n class=\"grid__field grid__field-servicemesh\"\n *ngIf=\"fields.includes(fieldsDef.ServiceMesh)\"\n >\n <span class=\"with-colon\">{{ 'cluster' | translate }}</span>\n <span\n >{{ item.cluster\n }}<ng-container *ngIf=\"item.clusterDisplayName\"\n >({{ item.clusterDisplayName }})</ng-container\n >\n </span>\n <aui-tag\n type=\"primary\"\n size=\"mini\"\n *ngIf=\"item.clusterArch\"\n >\n {{ item.clusterArch }}\n </aui-tag>\n </div>\n\n <!-- mesh group -->\n\n <div\n class=\"grid__field grid__field-servicemesh\"\n *ngIf=\"fields.includes(fieldsDef.ServiceMeshGroup)\"\n >\n <span class=\"with-colon\">{{ 'cluster' | translate }}</span>\n <span>{{ item.cluster }} </span>\n </div>\n <!-- asm: istio -->\n <div\n class=\"grid__field grid__field-servicemesh\"\n *ngIf=\"fields.includes(fieldsDef.ServiceMeshGroup)\"\n >\n <span class=\"with-colon\">{{ 'Istio' }}</span>\n <span\n >{{ item.serviceMeshIstioVersion || ('not_deployed' | translate) }}\n </span>\n </div>\n\n <!-- time -->\n <div\n class=\"grid__field grid__field-time\"\n *ngIf=\"fields.includes(fieldsDef.Time) && !popupLite\"\n >\n <span class=\"with-colon\">{{ 'created_at' | translate }}</span>\n <span>{{ item.timestamp | aclRelativeTime }}</span>\n </div>\n <!-- action -->\n <div\n class=\"grid__field grid__field-action\"\n (click)=\"$event.stopPropagation()\"\n *ngIf=\"\n fields.includes(fieldsDef.Action) &&\n actionTemplateRef &&\n context !== 'popup'\n \"\n >\n <ng-container\n [ngTemplateOutlet]=\"actionTemplateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: item.__origin\n }\"\n ></ng-container>\n </div>\n </div>\n </div>\n <acl-resource-no-data\n *ngIf=\"!popupLite && !(displayData$ | async)?.length\"\n [isFiltered]=\"!!keyword\"\n [type]=\"type\"\n (refresh)=\"reload.emit()\"\n (clear)=\"keywordChange('')\"\n ></acl-resource-no-data>\n <acl-zero-state\n *ngIf=\"popupLite && !(displayData$ | async)?.length\"\n context=\"table\"\n ></acl-zero-state>\n</ng-container>\n<div\n class=\"loading\"\n *ngIf=\"loading\"\n>\n <acl-loading-mask\n [loading]=\"loading\"\n type=\"content\"\n ></acl-loading-mask>\n</div>\n", styles: [":host{display:flex;flex-direction:column;box-shadow:0 0 4px rgba(var(--aui-color-n-1),.16);padding:22px 20px 20px;background-color:rgb(var(--aui-color-n-10));border-radius:4px}.header{display:flex;align-items:center;margin-bottom:20px;height:28px}.header aui-search{width:260px}.header__title{font-size:18px;font-weight:500;line-height:28px;color:rgb(var(--aui-color-n-1))}.header__title--lite{font-size:16px;font-weight:700;line-height:22px}.header__desc{color:rgb(var(--aui-color-n-4))}.header__custom{flex:1;padding:0 36px}.header__display-mode{display:flex;border:1px solid rgb(var(--aui-color-n-7));background-color:rgb(var(--aui-color-n-9));border-radius:var(--aui-border-radius-m);margin-left:16px;padding:1px}.switch-btn{cursor:pointer;width:24px;height:24px;border-radius:var(--aui-border-radius-m);display:inline-flex;align-items:center;justify-content:center}.switch-btn img{width:12px;height:12px}.switch-btn--selected{background-color:rgb(var(--aui-color-n-10));color:rgb(var(--aui-color-primary))}.grid{overflow-y:auto;padding:20px;background-color:rgb(var(--aui-color-n-9));border-radius:var(--aui-border-radius-l)}.grid::-webkit-scrollbar{width:8px;height:4px}.grid::-webkit-scrollbar-thumb{border-radius:4px;background-color:rgb(var(--aui-color-n-7))}.grid::-webkit-scrollbar-thumb:hover{background-color:rgb(var(--aui-color-n-5))}.grid::-webkit-scrollbar-corner{background-color:transparent}.grid__item{display:flex;position:relative;flex-direction:row;border-radius:var(--aui-border-radius-l);padding:9px 20px;min-height:60px;color:rgb(var(--aui-color-n-1));align-items:center;cursor:pointer;background-color:rgb(var(--aui-color-n-10))}.grid__item:not(:last-child){margin-bottom:8px}.grid__item:not(.grid__item--disabled):hover{border-color:rgb(var(--aui-color-primary));box-shadow:0 0 8px rgba(var(--aui-color-primary),.5)}.grid__item--disabled{cursor:default}.grid__item--disabled,.grid__item--disabled:hover{background-color:rgb(var(--aui-color-n-9))}.grid__item--disabled .grid__field{opacity:.3}.grid__item--disabled .grid__field-servicemesh,.grid__item--disabled .grid__field-action{opacity:1}.grid__field{flex:2;line-height:20px}.grid__field:not(.grid__field-status){white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.grid__field:not(:last-child){margin-right:20px}.grid__field-servicemesh{flex:2;align-items:stretch;max-width:400px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid__field-servicemesh .des{font-size:12px;line-height:16px;color:rgb(var(--aui-color-n-4))}.grid__field-servicemesh aui-tag{margin-left:8px}.grid__field-status{display:flex;align-items:center}.grid__field-status aui-icon{font-size:16px;display:inline-flex;margin-right:4px}.grid__field-status .with-colon{display:none}.grid__field-icon{max-width:30px;display:inline-flex}.grid__field-name{flex:2;flex-direction:column;max-width:280px}.grid__field-name .name,.grid__field-name .des{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid__field-name .name{font-size:14px;font-weight:500;line-height:20px}.grid__field-name .name aui-icon{margin-left:4px}.grid__field-name .des{font-size:12px;line-height:16px;color:rgb(var(--aui-color-n-4))}.grid__field-action{max-width:30px}.grid--popup{max-height:382px;padding:12px}.grid--popup .grid__field-name .name{font-size:var(--aui-font-size-xl);line-height:var(--aui-line-height-xl);font-weight:var(--aui-font-weight-normal)}.grid--popup:not(.grid--popup--lite) .grid__item{padding:10px 20px;min-height:60px;font-size:14px;background-color:rgb(var(--aui-color-n-10))}.grid--popup:not(.grid--popup--lite) .grid__item--selected{border:1px solid rgb(var(--aui-color-n-7));border-radius:var(--aui-border-radius-l);background-color:rgb(var(--aui-color-primary));border-color:rgb(var(--aui-color-primary));color:#fff;cursor:default}.grid--popup:not(.grid--popup--lite) .grid__item--selected:hover{box-shadow:none}.grid--popup:not(.grid--popup--lite) .grid__item--selected .highlighted{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-10))}.grid--popup:not(.grid--popup--lite) .grid__item--selected .with-colon{font-weight:500}.grid--popup:not(.grid--popup--lite) .grid__item--selected .des{color:#fff}.grid--popup:not(.grid--popup--lite) .grid__item--selected ::ng-deep .aui-tag--primary{background-color:#fff;color:rgb(var(--aui-color-primary))}.grid--popup--lite{background-color:rgb(var(--aui-color-n-10));padding:0}.grid--popup--lite .grid__item{padding:10px 14px;min-height:44px;border:1px solid rgb(var(--aui-color-n-7))}.grid--popup--lite .grid__item .grid__field:not(:last-child){margin-right:12px}.grid--popup--lite .grid__item .grid__field-name .name{font-size:14px;line-height:25px;font-weight:400}.grid--popup--lite .grid__item .grid__field-icon{max-width:24px}.grid--popup--lite .grid__item .grid__item-selected-icon{display:inline-flex}.grid--popup--lite .grid__item .highlighted{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-10))}.grid--popup--lite .grid__item .with-colon{font-weight:500}.grid--popup--lite .grid__item .des{color:#fff}.grid--popup--lite .grid__item ::ng-deep .aui-tag--primary{background-color:#fff;color:rgb(var(--aui-color-primary))}.grid--popup--lite .grid__item--selected{background-color:rgb(var(--aui-color-b-7));border:1px solid rgb(var(--aui-color-primary))}.grid--popup--lite .grid__item:hover{border:1px solid rgb(var(--aui-color-primary));box-shadow:none}.grid--card{display:grid;grid-template-columns:repeat(auto-fill,minmax(208px,1fr));gap:20px 20px}.grid--card .grid__item{margin-bottom:0;height:290px;display:block;text-align:center;padding:40px 20px;border-radius:var(--aui-border-radius-l);position:relative}.grid--card .grid__item .belonged-cluster{position:static;padding-right:0}.grid--card .grid__item aui-tag{position:absolute;top:8px;right:8px}.grid--card .grid__field{margin-right:0;justify-content:center}.grid--card .grid__field-icon{max-width:100%;vertical-align:middle}.grid--card .grid__field-name{margin:20px 0 24px}.grid--card .grid__field-name .name,.grid--card .grid__field-name .des{justify-content:center}.grid--card .grid__field-name .name{font-size:20px;font-weight:500;line-height:28px;margin-bottom:2px}.grid--card .grid__field-name .des{font-size:14px;height:20px}.grid--card .grid__field-name~.grid__field:not(.grid__field-status){line-height:20px;font-size:14px;text-align:center}.grid--card .grid__field-status .with-colon{display:inline}.grid--card .grid__field-servicemesh:not(:last-of-type){margin-bottom:4px}.grid--card .grid__field-cluster{margin-bottom:4px}.grid--card .grid__field-action{position:absolute;right:10px;top:10px}.grid:not(.grid--popup--lite) .grid__item:not(.grid__item--selected){position:relative}.grid:not(.grid--popup--lite) .grid__item:not(.grid__item--selected):after{position:absolute;content:\"\";top:0;right:0;bottom:0;left:0;border:1px solid rgb(var(--aui-color-n-7));border-radius:4px;pointer-events:none;transition:all .2s ease-in-out}.grid:not(.grid--popup--lite) .grid__item:not(.grid__item--selected).disabled{background-color:rgb(var(--aui-color-n-8));color:rgb(var(--aui-color-n-6));cursor:not-allowed}.grid:not(.grid--popup--lite) .grid__item:not(.grid__item--selected):not(.disabled):hover:after{top:-4px;right:-4px;bottom:-4px;left:-4px;border-color:rgb(var(--aui-color-primary));box-shadow:inset 0 0 0 4px rgb(var(--aui-color-n-10)),0 0 8px rgba(var(--aui-color-primary),.5)}.grid:not(.grid--popup--lite) .grid__item:not(.grid__item--selected):not(.disabled):active:after{top:0;right:0;bottom:0;left:0;box-shadow:0 0 4px rgba(var(--aui-color-primary),.5)}.flex{display:flex}.highlighted{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-8))}.with-colon{font-weight:500}.with-colon:after{content:\":\";margin-right:8px}.icon-normal,.icon-enabled{color:rgb(var(--aui-color-green))}.icon-abnormal{color:rgb(var(--aui-color-red))}.icon-disabled{color:rgb(var(--aui-color-n-6))}.belonged-cluster{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;padding-right:44px}.belonged-cluster .with-colon+span{margin-right:8px}.belonged-cluster aui-tag{display:inline-flex}.loading{display:flex;height:60px;align-items:center;justify-content:center}acl-resource-no-data{flex:1;margin:40px 0 80px}acl-zero-state ::ng-deep .zero-placeholder{min-height:44px;padding:12px 10px}\n"] }]
553
+ args: [{ selector: 'acl-resource-data-grid', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"header\">\n <span\n class=\"header__title\"\n [ngClass]=\"{ 'header__title--lite': popupLite }\"\n >\n <span>{{ type | pure: pluralForm | translate }}</span\n ><span class=\"header__desc\"\n >\uFF08{{ (displayData$ | async)?.length || 0 }}\uFF09</span\n >\n </span>\n <div\n class=\"header__custom\"\n *ngIf=\"!popupLite\"\n >\n <ng-content select=\"[aclResourceGridHeader]\"></ng-content>\n </div>\n <div\n class=\"tw-flex-1\"\n *ngIf=\"popupLite\"\n ></div>\n <aui-search\n [searchButton]=\"false\"\n [placeholder]=\"'filter_by_name_or_display_name' | translate\"\n [keyword]=\"keyword\"\n (keywordChange)=\"keywordChange($event)\"\n [clearable]=\"true\"\n size=\"small\"\n ></aui-search>\n <span\n class=\"header__display-mode\"\n *ngIf=\"context === 'page'\"\n >\n <span\n class=\"switch-btn\"\n [ngClass]=\"{ 'switch-btn--selected': displayMode !== 'card' }\"\n (click)=\"setDisplayMode('row')\"\n >\n <aui-icon icon=\"list\"></aui-icon>\n </span>\n <span\n class=\"switch-btn\"\n [ngClass]=\"{ 'switch-btn--selected': displayMode === 'card' }\"\n (click)=\"setDisplayMode('card')\"\n >\n <aui-icon icon=\"grid\"></aui-icon>\n </span>\n </span>\n</div>\n<ng-container\n *ngIf=\"\n !loading &&\n (displayData$\n | async\n | pure: sortWithoutIstio\n | pure: filterDisabledData:context) as displayData\n \"\n>\n <div\n class=\"grid\"\n *ngIf=\"displayData.length\"\n #grid\n [ngClass]=\"{\n 'grid--card': displayMode === 'card' && context !== 'popup',\n 'grid--popup': context === 'popup',\n 'grid--popup--lite': context === 'popup' && popupLite\n }\"\n >\n <div\n class=\"grid__item\"\n *ngFor=\"let item of displayData\"\n [ngClass]=\"{\n 'grid__item--selected':\n context === 'popup' && selectedUid === item.__origin.metadata.uid,\n 'grid__item--disabled': item.state?.disabled\n }\"\n (click)=\"onSelect(item)\"\n [attr.data-test]=\"item.name + '/' + item.cluster\"\n [auiTooltip]=\"item.state?.tooltip\"\n [auiTooltipDisabled]=\"!item.state?.disabled || !item.state?.tooltip\"\n >\n <aui-icon\n *ngIf=\"selectedUid === item.__origin.metadata.uid\"\n class=\"check-triangle-badge\"\n icon=\"check\"\n ></aui-icon>\n <!-- icon -->\n <div class=\"grid__field grid__field-icon\">\n <acl-resource-icon\n [type]=\"type\"\n [color]=\"\n context === 'popup' &&\n !popupLite &&\n selectedUid === item.__origin.metadata.uid\n ? 'white'\n : 'blue'\n \"\n [displayMode]=\"displayMode\"\n ></acl-resource-icon>\n </div>\n <!-- name -->\n <div class=\"grid__field grid__field-name\">\n <div class=\"name\">\n <ng-container *ngFor=\"let str of getHighlightedNameStrs(item)\">\n <span [ngClass]=\"{ highlighted: str.isHighlighted }\">{{\n str.text\n }}</span>\n </ng-container>\n </div>\n <div\n class=\"des\"\n *ngIf=\"!popupLite\"\n >\n <ng-container *ngIf=\"item.displayName\">{{\n item.displayName\n }}</ng-container>\n </div>\n </div>\n <!-- ns: cluster -->\n <div\n class=\"grid__field flex grid__field-cluster\"\n *ngIf=\"fields.includes(fieldsDef.Cluster)\"\n >\n <span\n class=\"belonged-cluster tw-flex\"\n auiTooltip=\"{{\n ('belonged_cluster' | translate) + ': ' + item.cluster\n }}\"\n >\n <span class=\"with-colon\">{{ 'belonged_cluster' | translate }}</span>\n <span class=\"tw-text-ellipsis tw-overflow-hidden\"\n >{{ item.cluster\n }}<ng-container *ngIf=\"item.clusterDisplayName\"\n >({{ item.clusterDisplayName }})</ng-container\n >\n </span>\n <aui-tag\n type=\"primary\"\n size=\"mini\"\n *ngIf=\"item.clusterArch\"\n >\n {{ item.clusterArch }}\n </aui-tag>\n </span>\n </div>\n <!-- project: status -->\n <div\n class=\"grid__field grid__field-status {{\n 'grid__field-status--' + item.status\n }}\"\n *ngIf=\"fields.includes(fieldsDef.Status)\"\n >\n <label\n *ngIf=\"popupLite\"\n class=\"tw-text-help-text tw-mr-8\"\n >{{ 'status' | translate }}:</label\n >\n <span class=\"with-colon\">{{ 'status' | translate }}</span>\n <aui-icon\n [icon]=\"statusIcon[item.status]\"\n [background]=\"\n statusIcon[item.status].endsWith('_triangle_s')\n ? 'triangle'\n : 'circle'\n \"\n class=\"{{ 'icon-' + item.status }}\"\n ></aui-icon>\n {{ item.status | translate }}\n </div>\n <!-- asm: service mesh -->\n <div\n class=\"grid__field grid__field-servicemesh\"\n *ngIf=\"fields.includes(fieldsDef.ServiceMesh)\"\n >\n <span class=\"with-colon\">{{ 'belonged_servicemesh' | translate }}</span>\n <span> {{ item.serviceMeshName }} </span>\n <div class=\"des\">\n <ng-container *ngIf=\"item.serviceMeshIstioVersion\"\n >(Istio {{ item.serviceMeshIstioVersion }})</ng-container\n >\n </div>\n </div>\n\n <div\n class=\"grid__field grid__field-servicemesh\"\n *ngIf=\"fields.includes(fieldsDef.ServiceMesh)\"\n >\n <span class=\"with-colon\">{{ 'cluster' | translate }}</span>\n <span\n >{{ item.cluster\n }}<ng-container *ngIf=\"item.clusterDisplayName\"\n >({{ item.clusterDisplayName }})</ng-container\n >\n </span>\n <aui-tag\n type=\"primary\"\n size=\"mini\"\n *ngIf=\"item.clusterArch\"\n >\n {{ item.clusterArch }}\n </aui-tag>\n </div>\n\n <!-- mesh group -->\n\n <div\n class=\"grid__field grid__field-servicemesh\"\n *ngIf=\"fields.includes(fieldsDef.ServiceMeshGroup)\"\n >\n <span class=\"with-colon\">{{ 'cluster' | translate }}</span>\n <span>{{ item.cluster }} </span>\n </div>\n <!-- asm: istio -->\n <div\n class=\"grid__field grid__field-servicemesh\"\n *ngIf=\"fields.includes(fieldsDef.ServiceMeshGroup)\"\n >\n <span class=\"with-colon\">{{ 'Istio' }}</span>\n <span\n >{{ item.serviceMeshIstioVersion || ('not_deployed' | translate) }}\n </span>\n </div>\n\n <!-- time -->\n <div\n class=\"grid__field grid__field-time\"\n *ngIf=\"fields.includes(fieldsDef.Time) && !popupLite\"\n >\n <span class=\"with-colon\">{{ 'created_at' | translate }}</span>\n <span>{{ item.timestamp | aclRelativeTime }}</span>\n </div>\n <!-- action -->\n <div\n class=\"grid__field grid__field-action\"\n (click)=\"$event.stopPropagation()\"\n *ngIf=\"\n fields.includes(fieldsDef.Action) &&\n actionTemplateRef &&\n context !== 'popup'\n \"\n >\n <ng-container\n [ngTemplateOutlet]=\"actionTemplateRef\"\n [ngTemplateOutletContext]=\"{\n $implicit: item.__origin\n }\"\n ></ng-container>\n </div>\n </div>\n </div>\n <acl-resource-no-data\n *ngIf=\"!popupLite && !(displayData$ | async)?.length\"\n [isFiltered]=\"!!keyword\"\n [type]=\"type\"\n (refresh)=\"reload.emit()\"\n (clear)=\"keywordChange('')\"\n ></acl-resource-no-data>\n <acl-zero-state\n *ngIf=\"popupLite && !(displayData$ | async)?.length\"\n context=\"table\"\n ></acl-zero-state>\n</ng-container>\n<div\n class=\"loading\"\n *ngIf=\"loading\"\n>\n <acl-loading-mask\n [loading]=\"loading\"\n type=\"content\"\n ></acl-loading-mask>\n</div>\n", styles: [":host{display:flex;flex-direction:column;box-shadow:0 0 4px rgba(var(--aui-color-n-1),.16);padding:22px 20px 20px;background-color:rgb(var(--aui-color-n-10));border-radius:4px}.header{display:flex;align-items:center;margin-bottom:20px;height:28px}.header aui-search{width:260px}.header__title{font-size:18px;font-weight:500;line-height:28px;color:rgb(var(--aui-color-n-1))}.header__title--lite{font-size:16px;font-weight:700;line-height:22px}.header__desc{color:rgb(var(--aui-color-n-4))}.header__custom{flex:1;padding:0 36px}.header__display-mode{display:flex;border:1px solid rgb(var(--aui-color-n-7));background-color:rgb(var(--aui-color-n-9));border-radius:var(--aui-border-radius-m);margin-left:16px;padding:1px}.switch-btn{cursor:pointer;width:24px;height:24px;border-radius:var(--aui-border-radius-m);display:inline-flex;align-items:center;justify-content:center}.switch-btn img{width:12px;height:12px}.switch-btn--selected{background-color:rgb(var(--aui-color-n-10));color:rgb(var(--aui-color-primary))}.grid{overflow-y:auto;padding:20px;background-color:rgb(var(--aui-color-n-9));border-radius:var(--aui-border-radius-l)}.grid::-webkit-scrollbar{width:8px;height:4px}.grid::-webkit-scrollbar-thumb{border-radius:4px;background-color:rgb(var(--aui-color-n-7))}.grid::-webkit-scrollbar-thumb:hover{background-color:rgb(var(--aui-color-n-5))}.grid::-webkit-scrollbar-corner{background-color:transparent}.grid__item{display:flex;position:relative;flex-direction:row;border-radius:var(--aui-border-radius-l);padding:9px 20px;min-height:60px;color:rgb(var(--aui-color-n-1));align-items:center;cursor:pointer;background-color:rgb(var(--aui-color-n-10))}.grid__item:not(:last-child){margin-bottom:8px}.grid__item:not(.grid__item--disabled):hover{border-color:rgb(var(--aui-color-primary));box-shadow:0 0 8px rgba(var(--aui-color-primary),.5)}.grid__item--disabled{cursor:default}.grid__item--disabled,.grid__item--disabled:hover{background-color:rgb(var(--aui-color-n-9))}.grid__item--disabled .grid__field{opacity:.3}.grid__item--disabled .grid__field-servicemesh,.grid__item--disabled .grid__field-action{opacity:1}.grid__field{flex:2;line-height:20px}.grid__field:not(.grid__field-status){white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.grid__field:not(:last-child){margin-right:20px}.grid__field-servicemesh{flex:2;align-items:stretch;max-width:400px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid__field-servicemesh .des{font-size:12px;line-height:16px;color:rgb(var(--aui-color-n-4))}.grid__field-servicemesh aui-tag{margin-left:8px}.grid__field-status{display:flex;align-items:center}.grid__field-status aui-icon{font-size:16px;display:inline-flex;margin-right:4px}.grid__field-status .with-colon{display:none}.grid__field-icon{max-width:30px;display:inline-flex}.grid__field-name{flex:2;flex-direction:column;max-width:280px}.grid__field-name .name,.grid__field-name .des{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.grid__field-name .name{font-size:14px;font-weight:500;line-height:20px}.grid__field-name .name aui-icon{margin-left:4px}.grid__field-name .des{font-size:12px;line-height:16px;color:rgb(var(--aui-color-n-4))}.grid__field-action{max-width:30px}.grid--popup{max-height:382px;padding:12px}.grid--popup .grid__field-name .name{font-size:var(--aui-font-size-xl);line-height:var(--aui-line-height-xl);font-weight:var(--aui-font-weight-normal)}.grid--popup:not(.grid--popup--lite) .grid__item{padding:10px 20px;min-height:60px;font-size:14px;background-color:rgb(var(--aui-color-n-10))}.grid--popup:not(.grid--popup--lite) .grid__item--selected{border:1px solid rgb(var(--aui-color-n-7));border-radius:var(--aui-border-radius-l);background-color:rgb(var(--aui-color-primary));border-color:rgb(var(--aui-color-primary));color:#fff;cursor:default}.grid--popup:not(.grid--popup--lite) .grid__item--selected:hover{box-shadow:none}.grid--popup:not(.grid--popup--lite) .grid__item--selected .highlighted{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-10))}.grid--popup:not(.grid--popup--lite) .grid__item--selected .with-colon{font-weight:500}.grid--popup:not(.grid--popup--lite) .grid__item--selected .des{color:#fff}.grid--popup:not(.grid--popup--lite) .grid__item--selected ::ng-deep .aui-tag--primary{background-color:#fff;color:rgb(var(--aui-color-primary))}.grid--popup--lite{background-color:rgb(var(--aui-color-n-10));padding:0}.grid--popup--lite .grid__item{padding:10px 14px;min-height:44px;border:1px solid rgb(var(--aui-color-n-7))}.grid--popup--lite .grid__item .grid__field:not(:last-child){margin-right:12px}.grid--popup--lite .grid__item .grid__field-name .name{font-size:14px;line-height:25px;font-weight:400}.grid--popup--lite .grid__item .grid__field-icon{max-width:24px}.grid--popup--lite .grid__item .grid__item-selected-icon{display:inline-flex}.grid--popup--lite .grid__item .highlighted{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-10))}.grid--popup--lite .grid__item .with-colon{font-weight:500}.grid--popup--lite .grid__item .des{color:#fff}.grid--popup--lite .grid__item ::ng-deep .aui-tag--primary{background-color:#fff;color:rgb(var(--aui-color-primary))}.grid--popup--lite .grid__item--selected{background-color:rgb(var(--aui-color-b-7));border:1px solid rgb(var(--aui-color-primary))}.grid--popup--lite .grid__item:hover{border:1px solid rgb(var(--aui-color-primary));box-shadow:none}.grid--card{display:grid;grid-template-columns:repeat(auto-fill,minmax(208px,1fr));gap:20px 20px}.grid--card .grid__item{margin-bottom:0;height:290px;display:block;text-align:center;padding:40px 20px;border-radius:var(--aui-border-radius-l);position:relative}.grid--card .grid__item .belonged-cluster{position:static;padding-right:0}.grid--card .grid__item aui-tag{position:absolute;top:8px;right:8px}.grid--card .grid__field{margin-right:0;justify-content:center}.grid--card .grid__field-icon{max-width:100%;vertical-align:middle}.grid--card .grid__field-name{margin:20px 0 24px}.grid--card .grid__field-name .name,.grid--card .grid__field-name .des{justify-content:center}.grid--card .grid__field-name .name{font-size:20px;font-weight:500;line-height:28px;margin-bottom:2px}.grid--card .grid__field-name .des{font-size:14px;height:20px}.grid--card .grid__field-name~.grid__field:not(.grid__field-status){line-height:20px;font-size:14px;text-align:center}.grid--card .grid__field-status .with-colon{display:inline}.grid--card .grid__field-servicemesh:not(:last-of-type){margin-bottom:4px}.grid--card .grid__field-cluster{margin-bottom:4px}.grid--card .grid__field-action{position:absolute;right:10px;top:10px}.grid:not(.grid--popup--lite) .grid__item:not(.grid__item--selected){position:relative}.grid:not(.grid--popup--lite) .grid__item:not(.grid__item--selected):after{position:absolute;content:\"\";top:0;right:0;bottom:0;left:0;border:1px solid rgb(var(--aui-color-n-7));border-radius:4px;pointer-events:none;transition:all .2s ease-in-out}.grid:not(.grid--popup--lite) .grid__item:not(.grid__item--selected).disabled{background-color:rgb(var(--aui-color-n-8));color:rgb(var(--aui-color-n-6));cursor:not-allowed}.grid:not(.grid--popup--lite) .grid__item:not(.grid__item--selected):not(.disabled):hover:after{top:-4px;right:-4px;bottom:-4px;left:-4px;border-color:rgb(var(--aui-color-primary));box-shadow:inset 0 0 0 4px rgb(var(--aui-color-n-10)),0 0 8px rgba(var(--aui-color-primary),.5)}.grid:not(.grid--popup--lite) .grid__item:not(.grid__item--selected):not(.disabled):active:after{top:0;right:0;bottom:0;left:0;box-shadow:0 0 4px rgba(var(--aui-color-primary),.5)}.flex{display:flex}.highlighted{color:rgb(var(--aui-color-primary));background-color:rgb(var(--aui-color-n-8))}.with-colon{font-weight:500}.with-colon:after{content:\":\";margin-right:8px}.icon-normal,.icon-enabled{color:rgb(var(--aui-color-green))}.icon-abnormal{color:rgb(var(--aui-color-red))}.icon-disabled{color:rgb(var(--aui-color-n-6))}.belonged-cluster{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;padding-right:44px}.belonged-cluster .with-colon+span{margin-right:8px}.belonged-cluster aui-tag{display:inline-flex}.loading{display:flex;height:60px;align-items:center;justify-content:center}acl-resource-no-data{flex:1;margin:40px 0 80px}acl-zero-state ::ng-deep .zero-placeholder{min-height:44px;padding:12px 10px}\n"] }]
558
554
  }], null, { grid: [{
559
555
  type: ViewChild,
560
556
  args: ['grid']
@@ -581,4 +577,5 @@ __decorate([
581
577
  }], reload: [{
582
578
  type: Output
583
579
  }] }); })();
584
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9pbnRlcm5hbHMvZGF0YS1ncmlkL2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9idXNpbmVzcy9yZXNvdXJjZS1zZWxlY3QvaW50ZXJuYWxzL2RhdGEtZ3JpZC90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTlELE9BQU8sRUFDTCxpQkFBaUIsR0FLbEIsTUFBTSxhQUFhLENBQUM7Ozs7SUNibkIsOEJBR0M7SUFDQyxrQkFBMEQ7SUFDNUQsaUJBQU07OztJQUNOLDBCQUdPOzs7OztJQVNQLGdDQUdDLGVBQUE7SUFJRyxzS0FBUyxlQUFBLHNCQUFlLEtBQUssQ0FBQyxDQUFBLElBQUM7SUFFL0IsK0JBQWlDO0lBQ25DLGlCQUFPO0lBQ1AsZ0NBSUM7SUFEQyxzS0FBUyxlQUFBLHNCQUFlLE1BQU0sQ0FBQyxDQUFBLElBQUM7SUFFaEMsK0JBQWlDO0lBQ25DLGlCQUFPLEVBQUE7OztJQVhMLGVBQThEO0lBQTlELG1GQUE4RDtJ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LGVBQTJDO1lBQTNDLHFJQUEyQztZQUs3QyxlQUFnQjtZQUFoQixxQ0FBZ0I7WUFNaEIsZUFBZTtZQUFmLG9DQUFlO1lBR2hCLGVBQXNCO1lBQXRCLG9DQUFzQix5REFBQSx3QkFBQSxtQkFBQTtZQVNyQixlQUF3QjtZQUF4Qiw2Q0FBd0I7WUFtQjFCLGVBSzRDO1lBTDVDLDBMQUs0QztZQWlONUMsZUFBYTtZQUFiLGtDQUFhOzs7QUR2TmQ7SUFEQyxlQUFlLEVBQUU7OEJBQ1gsVUFBVTt3REFBaUI7dUZBakJ2Qix5QkFBeUI7Y0FOckMsU0FBUzsyQkFDRSx3QkFBd0IsbUJBR2pCLHVCQUF1QixDQUFDLE1BQU07Z0JBR3hCLElBQUk7a0JBQTFCLFNBQVM7bUJBQUMsTUFBTTtZQU9qQixPQUFPO2tCQUROLEtBQUs7WUFJTixTQUFTO2tCQURSLEtBQUs7WUFJTixJQUFJO2tCQURILEtBQUs7WUFJTixLQUFLLE1BR0wsSUFBSTtrQkFESCxLQUFLO1lBSU4sTUFBTTtrQkFETCxLQUFLO1lBSU4saUJBQWlCO2tCQURoQixLQUFLO1lBSU4sV0FBVztrQkFEVixLQUFLO1lBSU4sT0FBTztrQkFETixLQUFLO1lBSU4sVUFBVTtrQkFEVCxNQUFNO1lBSVAsTUFBTTtrQkFETCxNQUFNO1lBSVAsTUFBTTtrQkFETCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGlmZmVyZW5jZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgeyBwbHVyYWwgfSBmcm9tICdwbHVyYWxpemUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgY29tYmluZUxhdGVzdCwgbWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgT2JzZXJ2YWJsZUlucHV0IH0gZnJvbSAnLi4vLi4vLi4vLi4vY29yZS9wdWJsaWMtYXBpJztcbmltcG9ydCB7IFVzYWdlQ29udGV4dCB9IGZyb20gJy4uLy4uL2Jhc2UtbGlzdCc7XG5pbXBvcnQge1xuICBDb25maWd1cmFibGVGaWVsZCxcbiAgRGF0YUl0ZW0sXG4gIERhdGFJdGVtQmFzZSxcbiAgRGF0YVR5cGUsXG4gIERpc3BsYXlNb2RlLFxufSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC1yZXNvdXJjZS1kYXRhLWdyaWQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0eWxlLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFJlc291cmNlRGF0YUdyaWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAVmlld0NoaWxkKCdncmlkJykgc2V0IGdyaWQoZ3JpZDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcbiAgICBpZiAoZ3JpZCkge1xuICAgICAgdGhpcy5pbml0U2Nyb2xsKGdyaWQubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgY29udGV4dDogVXNhZ2VDb250ZXh0ID0gJ3BhZ2UnO1xuXG4gIEBJbnB1dCgpXG4gIHBvcHVwTGl0ZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGRhdGE6IERhdGFJdGVtQmFzZVtdID0gW107XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGRhdGEkOiBPYnNlcnZhYmxlPERhdGFJdGVtQmFzZVtdPjtcblxuICBASW5wdXQoKVxuICB0eXBlOiBEYXRhVHlwZSA9ICduYW1lc3BhY2UnO1xuXG4gIEBJbnB1dCgpXG4gIGZpZWxkczogQ29uZmlndXJhYmxlRmllbGRbXSA9IFtDb25maWd1cmFibGVGaWVsZC5UaW1lXTtcblxuICBASW5wdXQoKVxuICBhY3Rpb25UZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PjtcblxuICBASW5wdXQoKVxuICBzZWxlY3RlZFVpZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIGxvYWRpbmcgPSB0cnVlO1xuXG4gIEBPdXRwdXQoKVxuICBzZWxlY3RJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRhSXRlbUJhc2U+KCk7XG5cbiAgQE91dHB1dCgpXG4gIGZpbHRlciA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIEBPdXRwdXQoKVxuICByZWxvYWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAga2V5d29yZCA9ICcnO1xuXG4gIGZpZWxkc0RlZiA9IENvbmZpZ3VyYWJsZUZpZWxkO1xuXG4gIGRpc3BsYXlNb2RlOiBEaXNwbGF5TW9kZSA9ICdyb3cnO1xuXG4gIGZpbHRlciQgPSBuZXcgUmVwbGF5U3ViamVjdDxzdHJpbmc+KDEpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZGlzcGxheU1vZGVLZXkgPSAnYWNsX2Rpc3BsYXlfbW9kZSc7XG5cbiAgZGlzcGxheURhdGEkOiBPYnNlcnZhYmxlPERhdGFJdGVtQmFzZVtdPjtcblxuICBwcml2YXRlIHNjcm9sbEluaXRpYWxpemVkID0gZmFsc2U7XG5cbiAgc3RhdHVzSWNvbjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBub3JtYWw6ICdjaGVja19jaXJjbGVfcycsXG4gICAgYWJub3JtYWw6ICdleGNsYW1hdGlvbl90cmlhbmdsZV9zJyxcbiAgICBlbmFibGVkOiAnY2hlY2tfY2lyY2xlX3MnLFxuICAgIGRpc2FibGVkOiAnbWludXNfY2lyY2xlX3MnLFxuICB9O1xuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IGRpc3BsYXlNb2RlID0gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuZGlzcGxheU1vZGVLZXkpO1xuICAgIHRoaXMuZGlzcGxheU1vZGUgPVxuICAgICAgdGhpcy5jb250ZXh0ID09PSAncG9wdXAnXG4gICAgICAgID8gdGhpcy5wb3B1cExpdGVcbiAgICAgICAgICA/ICdyb3ctbGl0ZSdcbiAgICAgICAgICA6ICdyb3cnXG4gICAgICAgIDogWydyb3cnLCAnY2FyZCddLmluY2x1ZGVzKGRpc3BsYXlNb2RlKVxuICAgICAgICA/IChkaXNwbGF5TW9kZSBhcyBEaXNwbGF5TW9kZSlcbiAgICAgICAgOiAncm93JztcbiAgICB0aGlzLmRpc3BsYXlEYXRhJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5kYXRhJCxcbiAgICAgIHRoaXMuZmlsdGVyJC5waXBlKHN0YXJ0V2l0aCgnJykpLFxuICAgIF0pLnBpcGUoXG4gICAgICBtYXAoKFtkYXRhLCBrZXl3b3JkXSkgPT5cbiAgICAgICAgZGF0YS5maWx0ZXIoaXRlbSA9PlxuICAgICAgICAgIGl0ZW0ubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGtleXdvcmQudG9Mb3dlckNhc2UoKSksXG4gICAgICAgICksXG4gICAgICApLFxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGluaXRTY3JvbGwoc2Nyb2xsRWw6IEhUTUxFbGVtZW50KSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5jb250ZXh0ID09PSAncGFnZScgfHxcbiAgICAgIHRoaXMuc2Nyb2xsSW5pdGlhbGl6ZWQgfHxcbiAgICAgICF0aGlzLmRhdGE/Lmxlbmd0aFxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBjdXJyZW50SW5kZXggPSB0aGlzLmRhdGEuZmluZEluZGV4KFxuICAgICAgaXRlbSA9PiBpdGVtLl9fb3JpZ2luLm1ldGFkYXRhLnVpZCA9PT0gdGhpcy5zZWxlY3RlZFVpZCxcbiAgICApO1xuICAgIGNvbnN0IHJvd0hlaWdodCA9IHNjcm9sbEVsLnNjcm9sbEhlaWdodCAvIHRoaXMuZGF0YS5sZW5ndGg7XG4gICAgaWYgKFxuICAgICAgY3VycmVudEluZGV4ID4gLTEgJiZcbiAgICAgIHJvd0hlaWdodCAqIChjdXJyZW50SW5kZXggKyAxKSA+IHNjcm9sbEVsLm9mZnNldEhlaWdodFxuICAgICkge1xuICAgICAgc2Nyb2xsRWwuc2Nyb2xsVG8oe1xuICAgICAgICB0b3A6IHJvd0hlaWdodCAqIGN1cnJlbnRJbmRleCxcbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLnNjcm9sbEluaXRpYWxpemVkID0gdHJ1ZTtcbiAgfVxuXG4gIGdldEhpZ2hsaWdodGVkTmFtZVN0cnMgPSAoaXRlbTogRGF0YUl0ZW1CYXNlKSA9PiB7XG4gICAgaWYgKCF0aGlzLmtleXdvcmQpIHtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXh0OiBpdGVtLm5hbWUsXG4gICAgICAgIH0sXG4gICAgICBdO1xuICAgIH1cbiAgICBjb25zdCBvcmlnaW5hbCA9IGl0ZW0ubmFtZTtcbiAgICBjb25zdCBzdHJzID0gaXRlbS5uYW1lLnRvTG93ZXJDYXNlKCkuc3BsaXQodGhpcy5rZXl3b3JkLnRvTG93ZXJDYXNlKCkpO1xuICAgIGNvbnN0IHJldDogQXJyYXk8e1xuICAgICAgdGV4dDogc3RyaW5nO1xuICAgICAgaXNIaWdobGlnaHRlZD86IGJvb2xlYW47XG4gICAgfT4gPSBbXTtcbiAgICBsZXQgcG9zID0gMDtcbiAgICBmb3IgKGNvbnN0IFtpLCBzdHJdIG9mIHN0cnMuZW50cmllcygpKSB7XG4gICAgICBjb25zdCBlbmQgPSBwb3MgKyBzdHIubGVuZ3RoO1xuICAgICAgcmV0LnB1c2goe1xuICAgICAgICB0ZXh0OiBvcmlnaW5hbC5zbGljZShwb3MsIGVuZCksXG4gICAgICB9KTtcbiAgICAgIGlmIChpICE9PSBzdHJzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgcmV0LnB1c2goe1xuICAgICAgICAgIHRleHQ6IG9yaWdpbmFsLnNsaWNlKGVuZCwgZW5kICsgdGhpcy5rZXl3b3JkLmxlbmd0aCksXG4gICAgICAgICAgaXNIaWdobGlnaHRlZDogdHJ1ZSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBwb3MgPSBlbmQgKyB0aGlzLmtleXdvcmQubGVuZ3RoO1xuICAgIH1cbiAgICByZXR1cm4gcmV0O1xuICB9O1xuXG4gIG9uU2VsZWN0KGl0ZW06IERhdGFJdGVtQmFzZSkge1xuICAgIGlmIChcbiAgICAgIGl0ZW0uc3RhdGU/LmRpc2FibGVkIHx8XG4gICAgICB0aGlzLnNlbGVjdGVkVWlkID09PSBpdGVtLl9fb3JpZ2luLm1ldGFkYXRhLnVpZFxuICAgICkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkVWlkID0gaXRlbS5uYW1lO1xuICAgIHRoaXMuc2VsZWN0SXRlbS5lbWl0KGl0ZW0pO1xuICB9XG5cbiAgc2V0RGlzcGxheU1vZGUobW9kZTogRGlzcGxheU1vZGUpIHtcbiAgICB0aGlzLmRpc3BsYXlNb2RlID0gbW9kZTtcbiAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5kaXNwbGF5TW9kZUtleSwgbW9kZSk7XG4gIH1cblxuICBrZXl3b3JkQ2hhbmdlKGtleXdvcmQ6IHN0cmluZykge1xuICAgIHRoaXMua2V5d29yZCA9IGtleXdvcmQ7XG4gICAgdGhpcy5maWx0ZXIkLm5leHQoa2V5d29yZCk7XG4gIH1cblxuICBmaWx0ZXJEaXNhYmxlZERhdGEoZGF0YTogRGF0YUl0ZW1CYXNlW10sIGNvbnRleHQ6IFVzYWdlQ29udGV4dCkge1xuICAgIC8vIHdvcmthcm91bmQgZm9yIHR5cGluZ3MgaW4gdGVtcGxhdGVcbiAgICByZXR1cm4gKFxuICAgICAgY29udGV4dCA9PT0gJ3BhZ2UnID8gZGF0YSA6IGRhdGEuZmlsdGVyKGl0ZW0gPT4gIWl0ZW0uc3RhdGU/LmRpc2FibGVkKVxuICAgICkgYXMgRGF0YUl0ZW1bXTtcbiAgfVxuXG4gIHNvcnRXaXRob3V0SXN0aW8gPSAoZGF0YTogRGF0YUl0ZW1CYXNlW10pID0+IHtcbiAgICBjb25zdCB3aXRob3V0SXN0aW8gPSBkYXRhLmZpbHRlcihpdGVtID0+ICFpdGVtPy5zZXJ2aWNlTWVzaElzdGlvVmVyc2lvbik7XG4gICAgcmV0dXJuIFsuLi5kaWZmZXJlbmNlKGRhdGEsIHdpdGhvdXRJc3RpbyksIC4uLndpdGhvdXRJc3Rpb107XG4gIH07XG5cbiAgcGx1cmFsRm9ybSh0eXBlOiBEYXRhVHlwZSkge1xuICAgIHJldHVybiBwbHVyYWwodHlwZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJoZWFkZXJcIj5cbiAgPHNwYW5cbiAgICBjbGFzcz1cImhlYWRlcl9fdGl0bGVcIlxuICAgIFtuZ0NsYXNzXT1cInsgJ2hlYWRlcl9fdGl0bGUtLWxpdGUnOiBwb3B1cExpdGUgfVwiXG4gID5cbiAgICA8c3Bhbj57eyB0eXBlIHwgcHVyZTogcGx1cmFsRm9ybSB8IHRyYW5zbGF0ZSB9fTwvc3BhblxuICAgID48c3BhbiBjbGFzcz1cImhlYWRlcl9fZGVzY1wiXG4gICAgICA+77yIe3sgKGRpc3BsYXlEYXRhJCB8IGFzeW5jKT8ubGVuZ3RoIHx8IDAgfX3vvIk8L3NwYW5cbiAgICA+XG4gIDwvc3Bhbj5cbiAgPGRpdlxuICAgIGNsYXNzPVwiaGVhZGVyX19jdXN0b21cIlxuICAgICpuZ0lmPVwiIXBvcHVwTGl0ZVwiXG4gID5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbYWNsUmVzb3VyY2VHcmlkSGVhZGVyXVwiPjwvbmctY29udGVudD5cbiAgPC9kaXY+XG4gIDxkaXZcbiAgICBjbGFzcz1cInR3LWZsZXgtMVwiXG4gICAgKm5nSWY9XCJwb3B1cExpdGVcIlxuICA+PC9kaXY+XG4gIDxhdWktc2VhcmNoXG4gICAgW3NlYXJjaEJ1dHRvbl09XCJmYWxzZVwiXG4gICAgW3BsYWNlaG9sZGVyXT1cIidmaWx0ZXJfYnlfbmFtZScgfCB0cmFuc2xhdGVcIlxuICAgIFtrZXl3b3JkXT1cImtleXdvcmRcIlxuICAgIChrZXl3b3JkQ2hhbmdlKT1cImtleXdvcmRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgW2NsZWFyYWJsZV09XCJ0cnVlXCJcbiAgICBzaXplPVwic21hbGxcIlxuICA+PC9hdWktc2VhcmNoPlxuICA8c3BhblxuICAgIGNsYXNzPVwiaGVhZGVyX19kaXNwbGF5LW1vZGVcIlxuICAgICpuZ0lmPVwiY29udGV4dCA9PT0gJ3BhZ2UnXCJcbiAgPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cInN3aXRjaC1idG5cIlxuICAgICAgW25nQ2xhc3NdPVwieyAnc3dpdGNoLWJ0bi0tc2VsZWN0ZWQnOiBkaXNwbGF5TW9kZSAhPT0gJ2NhcmQnIH1cIlxuICAgICAgKGNsaWNrKT1cInNldERpc3BsYXlNb2RlKCdyb3cnKVwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uIGljb249XCJsaXN0XCI+PC9hdWktaWNvbj5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwic3dpdGNoLWJ0blwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdzd2l0Y2gtYnRuLS1zZWxlY3RlZCc6IGRpc3BsYXlNb2RlID09PSAnY2FyZCcgfVwiXG4gICAgICAoY2xpY2spPVwic2V0RGlzcGxheU1vZGUoJ2NhcmQnKVwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uIGljb249XCJncmlkXCI+PC9hdWktaWNvbj5cbiAgICA8L3NwYW4+XG4gIDwvc3Bhbj5cbjwvZGl2PlxuPG5nLWNvbnRhaW5lclxuICAqbmdJZj1cIlxuICAgICFsb2FkaW5nICYmXG4gICAgKGRpc3BsYXlEYXRhJFxuICAgICAgfCBhc3luY1xuICAgICAgfCBwdXJlOiBzb3J0V2l0aG91dElzdGlvXG4gICAgICB8IHB1cmU6IGZpbHRlckRpc2FibGVkRGF0YTpjb250ZXh0KSBhcyBkaXNwbGF5RGF0YVxuICBcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJncmlkXCJcbiAgICAqbmdJZj1cImRpc3BsYXlEYXRhLmxlbmd0aFwiXG4gICAgI2dyaWRcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnZ3JpZC0tY2FyZCc6IGRpc3BsYXlNb2RlID09PSAnY2FyZCcgJiYgY29udGV4dCAhPT0gJ3BvcHVwJyxcbiAgICAgICdncmlkLS1wb3B1cCc6IGNvbnRleHQgPT09ICdwb3B1cCcsXG4gICAgICAnZ3JpZC0tcG9wdXAtLWxpdGUnOiBjb250ZXh0ID09PSAncG9wdXAnICYmIHBvcHVwTGl0ZVxuICAgIH1cIlxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJncmlkX19pdGVtXCJcbiAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRpc3BsYXlEYXRhXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2dyaWRfX2l0ZW0tLXNlbGVjdGVkJzpcbiAgICAgICAgICBjb250ZXh0ID09PSAncG9wdXAnICYmIHNlbGVjdGVkVWlkID09PSBpdGVtLl9fb3JpZ2luLm1ldGFkYXRhLnVpZCxcbiAgICAgICAgJ2dyaWRfX2l0ZW0tLWRpc2FibGVkJzogaXRlbS5zdGF0ZT8uZGlzYWJsZWRcbiAgICAgIH1cIlxuICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0KGl0ZW0pXCJcbiAgICAgIFthdHRyLmRhdGEtdGVzdF09XCJpdGVtLm5hbWUgKyAnLycgKyBpdGVtLmNsdXN0ZXJcIlxuICAgICAgW2F1aVRvb2x0aXBdPVwiaXRlbS5zdGF0ZT8udG9vbHRpcFwiXG4gICAgICBbYXVpVG9vbHRpcERpc2FibGVkXT1cIiFpdGVtLnN0YXRlPy5kaXNhYmxlZCB8fCAhaXRlbS5zdGF0ZT8udG9vbHRpcFwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uXG4gICAgICAgICpuZ0lmPVwic2VsZWN0ZWRVaWQgPT09IGl0ZW0uX19vcmlnaW4ubWV0YWRhdGEudWlkXCJcbiAgICAgICAgY2xhc3M9XCJjaGVjay10cmlhbmdsZS1iYWRnZVwiXG4gICAgICAgIGljb249XCJjaGVja1wiXG4gICAgICA+PC9hdWktaWNvbj5cbiAgICAgIDwhLS0gaWNvbiAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC1pY29uXCI+XG4gICAgICAgIDxhY2wtcmVzb3VyY2UtaWNvblxuICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICAgIFtjb2xvcl09XCJcbiAgICAgICAgICAgIGNvbnRleHQgPT09ICdwb3B1cCcgJiZcbiAgICAgICAgICAgICFwb3B1cExpdGUgJiZcbiAgICAgICAgICAgIHNlbGVjdGVkVWlkID09PSBpdGVtLl9fb3JpZ2luLm1ldGFkYXRhLnVpZFxuICAgICAgICAgICAgICA/ICd3aGl0ZSdcbiAgICAgICAgICAgICAgOiAnYmx1ZSdcbiAgICAgICAgICBcIlxuICAgICAgICAgIFtkaXNwbGF5TW9kZV09XCJkaXNwbGF5TW9kZVwiXG4gICAgICAgID48L2FjbC1yZXNvdXJjZS1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIG5hbWUgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtbmFtZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHN0ciBvZiBnZXRIaWdobGlnaHRlZE5hbWVTdHJzKGl0ZW0pXCI+XG4gICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJ7IGhpZ2hsaWdodGVkOiBzdHIuaXNIaWdobGlnaHRlZCB9XCI+e3tcbiAgICAgICAgICAgICAgc3RyLnRleHRcbiAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiZGVzXCJcbiAgICAgICAgICAqbmdJZj1cIiFwb3B1cExpdGVcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uZGlzcGxheU5hbWVcIj57e1xuICAgICAgICAgICAgaXRlbS5kaXNwbGF5TmFtZVxuICAgICAgICAgIH19PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIG5zOiBjbHVzdGVyIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdyaWRfX2ZpZWxkIGZsZXggZ3JpZF9fZmllbGQtY2x1c3RlclwiXG4gICAgICAgICpuZ0lmPVwiZmllbGRzLmluY2x1ZGVzKGZpZWxkc0RlZi5DbHVzdGVyKVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJiZWxvbmdlZC1jbHVzdGVyIHR3LWZsZXhcIlxuICAgICAgICAgIGF1aVRvb2x0aXA9XCJ7e1xuICAgICAgICAgICAgKCdiZWxvbmdlZF9jbHVzdGVyJyB8IHRyYW5zbGF0ZSkgKyAnOiAnICsgaXRlbS5jbHVzdGVyXG4gICAgICAgICAgfX1cIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3aXRoLWNvbG9uXCI+e3sgJ2JlbG9uZ2VkX2NsdXN0ZXInIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHctdGV4dC1lbGxpcHNpcyB0dy1vdmVyZmxvdy1oaWRkZW5cIlxuICAgICAgICAgICAgPnt7IGl0ZW0uY2x1c3RlclxuICAgICAgICAgICAgfX08bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5jbHVzdGVyRGlzcGxheU5hbWVcIlxuICAgICAgICAgICAgICA+KHt7IGl0ZW0uY2x1c3RlckRpc3BsYXlOYW1lIH19KTwvbmctY29udGFpbmVyXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxhdWktdGFnXG4gICAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXG4gICAgICAgICAgICBzaXplPVwibWluaVwiXG4gICAgICAgICAgICAqbmdJZj1cIml0ZW0uY2x1c3RlckFyY2hcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGl0ZW0uY2x1c3RlckFyY2ggfX1cbiAgICAgICAgICA8L2F1aS10YWc+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBwcm9qZWN0OiBzdGF0dXMgLS0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtc3RhdHVzIHt7XG4gICAgICAgICAgJ2dyaWRfX2ZpZWxkLXN0YXR1cy0tJyArIGl0ZW0uc3RhdHVzXG4gICAgICAgIH19XCJcbiAgICAgICAgKm5nSWY9XCJmaWVsZHMuaW5jbHVkZXMoZmllbGRzRGVmLlN0YXR1cylcIlxuICAgICAgPlxuICAgICAgICA8bGFiZWxcbiAgICAgICAgICAqbmdJZj1cInBvcHVwTGl0ZVwiXG4gICAgICAgICAgY2xhc3M9XCJ0dy10ZXh0LWhlbHAtdGV4dCB0dy1tci04XCJcbiAgICAgICAgICA+e3sgJ3N0YXR1cycgfCB0cmFuc2xhdGUgfX06PC9sYWJlbFxuICAgICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aC1jb2xvblwiPnt7ICdzdGF0dXMnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICBbaWNvbl09XCJzdGF0dXNJY29uW2l0ZW0uc3RhdHVzXVwiXG4gICAgICAgICAgW2JhY2tncm91bmRdPVwiXG4gICAgICAgICAgICBzdGF0dXNJY29uW2l0ZW0uc3RhdHVzXS5lbmRzV2l0aCgnX3RyaWFuZ2xlX3MnKVxuICAgICAgICAgICAgICA/ICd0cmlhbmdsZSdcbiAgICAgICAgICAgICAgOiAnY2lyY2xlJ1xuICAgICAgICAgIFwiXG4gICAgICAgICAgY2xhc3M9XCJ7eyAnaWNvbi0nICsgaXRlbS5zdGF0dXMgfX1cIlxuICAgICAgICA+PC9hdWktaWNvbj5cbiAgICAgICAge3sgaXRlbS5zdGF0dXMgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBhc206IHNlcnZpY2UgbWVzaCAtLT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC1zZXJ2aWNlbWVzaFwiXG4gICAgICAgICpuZ0lmPVwiZmllbGRzLmluY2x1ZGVzKGZpZWxkc0RlZi5TZXJ2aWNlTWVzaClcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIndpdGgtY29sb25cIj57eyAnYmVsb25nZWRfc2VydmljZW1lc2gnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8c3Bhbj4ge3sgaXRlbS5zZXJ2aWNlTWVzaE5hbWUgfX0gPC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uc2VydmljZU1lc2hJc3Rpb1ZlcnNpb25cIlxuICAgICAgICAgICAgPihJc3RpbyB7eyBpdGVtLnNlcnZpY2VNZXNoSXN0aW9WZXJzaW9uIH19KTwvbmctY29udGFpbmVyXG4gICAgICAgICAgPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtc2VydmljZW1lc2hcIlxuICAgICAgICAqbmdJZj1cImZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuU2VydmljZU1lc2gpXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ3aXRoLWNvbG9uXCI+e3sgJ2NsdXN0ZXInIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8c3BhblxuICAgICAgICAgID57eyBpdGVtLmNsdXN0ZXJcbiAgICAgICAgICB9fTxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLmNsdXN0ZXJEaXNwbGF5TmFtZVwiXG4gICAgICAgICAgICA+KHt7IGl0ZW0uY2x1c3RlckRpc3BsYXlOYW1lIH19KTwvbmctY29udGFpbmVyXG4gICAgICAgICAgPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxhdWktdGFnXG4gICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxuICAgICAgICAgIHNpemU9XCJtaW5pXCJcbiAgICAgICAgICAqbmdJZj1cIml0ZW0uY2x1c3RlckFyY2hcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgaXRlbS5jbHVzdGVyQXJjaCB9fVxuICAgICAgICA8L2F1aS10YWc+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBtZXNoIGdyb3VwIC0tPlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtc2VydmljZW1lc2hcIlxuICAgICAgICAqbmdJZj1cImZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuU2VydmljZU1lc2hHcm91cClcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIndpdGgtY29sb25cIj57eyAnY2x1c3RlcicgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuPnt7IGl0ZW0uY2x1c3RlciB9fSA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gYXNtOiBpc3RpbyAtLT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC1zZXJ2aWNlbWVzaFwiXG4gICAgICAgICpuZ0lmPVwiZmllbGRzLmluY2x1ZGVzKGZpZWxkc0RlZi5TZXJ2aWNlTWVzaEdyb3VwKVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aC1jb2xvblwiPnt7ICdJc3RpbycgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgPnt7IGl0ZW0uc2VydmljZU1lc2hJc3Rpb1ZlcnNpb24gfHwgKCdub3RfZGVwbG95ZWQnIHwgdHJhbnNsYXRlKSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSB0aW1lIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdyaWRfX2ZpZWxkIGdyaWRfX2ZpZWxkLXRpbWVcIlxuICAgICAgICAqbmdJZj1cImZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuVGltZSkgJiYgIXBvcHVwTGl0ZVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aC1jb2xvblwiPnt7ICdjcmVhdGVkX2F0JyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4+e3sgaXRlbS50aW1lc3RhbXAgfCBhY2xSZWxhdGl2ZVRpbWUgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gYWN0aW9uIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdyaWRfX2ZpZWxkIGdyaWRfX2ZpZWxkLWFjdGlvblwiXG4gICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIGZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuQWN0aW9uKSAmJlxuICAgICAgICAgIGFjdGlvblRlbXBsYXRlUmVmICYmXG4gICAgICAgICAgY29udGV4dCAhPT0gJ3BvcHVwJ1xuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWN0aW9uVGVtcGxhdGVSZWZcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW0uX19vcmlnaW5cbiAgICAgICAgICB9XCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8YWNsLXJlc291cmNlLW5vLWRhdGFcbiAgICAqbmdJZj1cIiFwb3B1cExpdGUgJiYgIShkaXNwbGF5RGF0YSQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgW2lzRmlsdGVyZWRdPVwiISFrZXl3b3JkXCJcbiAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAocmVmcmVzaCk9XCJyZWxvYWQuZW1pdCgpXCJcbiAgICAoY2xlYXIpPVwia2V5d29yZENoYW5nZSgnJylcIlxuICA+PC9hY2wtcmVzb3VyY2Utbm8tZGF0YT5cbiAgPGFjbC16ZXJvLXN0YXRlXG4gICAgKm5nSWY9XCJwb3B1cExpdGUgJiYgIShkaXNwbGF5RGF0YSQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgY29udGV4dD1cInRhYmxlXCJcbiAgPjwvYWNsLXplcm8tc3RhdGU+XG48L25nLWNvbnRhaW5lcj5cbjxkaXZcbiAgY2xhc3M9XCJsb2FkaW5nXCJcbiAgKm5nSWY9XCJsb2FkaW5nXCJcbj5cbiAgPGFjbC1sb2FkaW5nLW1hc2tcbiAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICB0eXBlPVwiY29udGVudFwiXG4gID48L2FjbC1sb2FkaW5nLW1hc2s+XG48L2Rpdj5cbiJdfQ==
580
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ResourceDataGridComponent, { className: "ResourceDataGridComponent" }); })();
581
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2J1c2luZXNzL3Jlc291cmNlLXNlbGVjdC9pbnRlcm5hbHMvZGF0YS1ncmlkL2NvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9idXNpbmVzcy9yZXNvdXJjZS1zZWxlY3QvaW50ZXJuYWxzL2RhdGEtZ3JpZC90ZW1wbGF0ZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDbkMsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTlELE9BQU8sRUFDTCxpQkFBaUIsR0FLbEIsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7Ozs7OztJQ2JuQiwrQkFHQztJQUNDLGtCQUEwRDtJQUM1RCxpQkFBTTs7O0lBQ04sMEJBR087Ozs7SUFhTCxBQUpGLGdDQUdDLGVBS0U7SUFEQyxxTEFBUyxzQkFBZSxLQUFLLENBQUMsS0FBQztJQUUvQiwrQkFBaUM7SUFDbkMsaUJBQU87SUFDUCxnQ0FJQztJQURDLHFMQUFTLHNCQUFlLE1BQU0sQ0FBQyxLQUFDO0lBRWhDLCtCQUFpQztJQUVyQyxBQURFLGlCQUFPLEVBQ0Y7OztJQVpILGNBQThEO0lBQTlELG1GQUE4RDtJQU85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WUFBQSxZQUEyQzs7WUFFaEQsQUFGZ0QsaUJBQzdDLEVBQ0k7WUFPUCxBQU5BLDBFQUdDLCtEQU1BO1lBQ0Qsc0NBT0M7O1lBSEMsaUlBQWlCLHlCQUFxQixJQUFDO1lBR3hDLGlCQUFhO1lBQ2QsOEVBR0M7WUFnQkgsaUJBQU07WUFDTiw4RkFRQzs7OztZQTZNRCw0RUFHQzs7O1lBclFHLGNBQWdEO1lBQWhELG9FQUFnRDtZQUUxQyxlQUF5QztZQUF6Qyw0RkFBeUM7WUFFNUMsZUFBMkM7WUFBM0MscUlBQTJDO1lBSzdDLGVBQWdCO1lBQWhCLHFDQUFnQjtZQU1oQixjQUFlO1lBQWYsb0NBQWU7WUFHaEIsY0FBc0I7WUFJdEIsQUFGQSxBQURBLEFBREEsb0NBQXNCLHlFQUNzQyx3QkFDekMsbUJBRUQ7WUFLakIsZUFBd0I7WUFBeEIsNkNBQXdCO1lBbUIxQixjQUs0QztZQUw1QywwTEFLNEM7WUFpTjVDLGVBQWE7WUFBYixrQ0FBYTs7O0FEdk5kO0lBREMsZUFBZSxFQUFFOzhCQUNYLFVBQVU7d0RBQWlCO2lGQWpCdkIseUJBQXlCO2NBTnJDLFNBQVM7MkJBQ0Usd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNO2dCQUd4QixJQUFJO2tCQUExQixTQUFTO21CQUFDLE1BQU07WUFPakIsT0FBTztrQkFETixLQUFLO1lBSU4sU0FBUztrQkFEUixLQUFLO1lBSU4sSUFBSTtrQkFESCxLQUFLO1lBSU4sS0FBSyxNQUdMLElBQUk7a0JBREgsS0FBSztZQUlOLE1BQU07a0JBREwsS0FBSztZQUlOLGlCQUFpQjtrQkFEaEIsS0FBSztZQUlOLFdBQVc7a0JBRFYsS0FBSztZQUlOLE9BQU87a0JBRE4sS0FBSztZQUlOLFVBQVU7a0JBRFQsTUFBTTtZQUlQLE1BQU07a0JBREwsTUFBTTtZQUlQLE1BQU07a0JBREwsTUFBTTs7a0ZBeENJLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRpZmZlcmVuY2UgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgcGx1cmFsIH0gZnJvbSAncGx1cmFsaXplJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IE9ic2VydmFibGVJbnB1dCB9IGZyb20gJy4uLy4uLy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5pbXBvcnQgeyBVc2FnZUNvbnRleHQgfSBmcm9tICcuLi8uLi9iYXNlLWxpc3QnO1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhYmxlRmllbGQsXG4gIERhdGFJdGVtLFxuICBEYXRhSXRlbUJhc2UsXG4gIERhdGFUeXBlLFxuICBEaXNwbGF5TW9kZSxcbn0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2wtcmVzb3VyY2UtZGF0YS1ncmlkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbXBsYXRlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBSZXNvdXJjZURhdGFHcmlkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFZpZXdDaGlsZCgnZ3JpZCcpIHNldCBncmlkKGdyaWQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gICAgaWYgKGdyaWQpIHtcbiAgICAgIHRoaXMuaW5pdFNjcm9sbChncmlkLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGNvbnRleHQ6IFVzYWdlQ29udGV4dCA9ICdwYWdlJztcblxuICBASW5wdXQoKVxuICBwb3B1cExpdGUgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBkYXRhOiBEYXRhSXRlbUJhc2VbXSA9IFtdO1xuXG4gIEBPYnNlcnZhYmxlSW5wdXQoKVxuICBkYXRhJDogT2JzZXJ2YWJsZTxEYXRhSXRlbUJhc2VbXT47XG5cbiAgQElucHV0KClcbiAgdHlwZTogRGF0YVR5cGUgPSAnbmFtZXNwYWNlJztcblxuICBASW5wdXQoKVxuICBmaWVsZHM6IENvbmZpZ3VyYWJsZUZpZWxkW10gPSBbQ29uZmlndXJhYmxlRmllbGQuVGltZV07XG5cbiAgQElucHV0KClcbiAgYWN0aW9uVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQElucHV0KClcbiAgc2VsZWN0ZWRVaWQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBsb2FkaW5nID0gdHJ1ZTtcblxuICBAT3V0cHV0KClcbiAgc2VsZWN0SXRlbSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0YUl0ZW1CYXNlPigpO1xuXG4gIEBPdXRwdXQoKVxuICBmaWx0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAT3V0cHV0KClcbiAgcmVsb2FkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIGtleXdvcmQgPSAnJztcblxuICBmaWVsZHNEZWYgPSBDb25maWd1cmFibGVGaWVsZDtcblxuICBkaXNwbGF5TW9kZTogRGlzcGxheU1vZGUgPSAncm93JztcblxuICBmaWx0ZXIkID0gbmV3IFJlcGxheVN1YmplY3Q8c3RyaW5nPigxKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRpc3BsYXlNb2RlS2V5ID0gJ2FjbF9kaXNwbGF5X21vZGUnO1xuXG4gIGRpc3BsYXlEYXRhJDogT2JzZXJ2YWJsZTxEYXRhSXRlbUJhc2VbXT47XG5cbiAgcHJpdmF0ZSBzY3JvbGxJbml0aWFsaXplZCA9IGZhbHNlO1xuXG4gIHN0YXR1c0ljb246IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgbm9ybWFsOiAnY2hlY2tfY2lyY2xlX3MnLFxuICAgIGFibm9ybWFsOiAnZXhjbGFtYXRpb25fdHJpYW5nbGVfcycsXG4gICAgZW5hYmxlZDogJ2NoZWNrX2NpcmNsZV9zJyxcbiAgICBkaXNhYmxlZDogJ21pbnVzX2NpcmNsZV9zJyxcbiAgfTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBkaXNwbGF5TW9kZSA9IHdpbmRvdy5sb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLmRpc3BsYXlNb2RlS2V5KTtcbiAgICB0aGlzLmRpc3BsYXlNb2RlID1cbiAgICAgIHRoaXMuY29udGV4dCA9PT0gJ3BvcHVwJ1xuICAgICAgICA/IHRoaXMucG9wdXBMaXRlXG4gICAgICAgICAgPyAncm93LWxpdGUnXG4gICAgICAgICAgOiAncm93J1xuICAgICAgICA6IFsncm93JywgJ2NhcmQnXS5pbmNsdWRlcyhkaXNwbGF5TW9kZSlcbiAgICAgICAgPyAoZGlzcGxheU1vZGUgYXMgRGlzcGxheU1vZGUpXG4gICAgICAgIDogJ3Jvdyc7XG4gICAgdGhpcy5kaXNwbGF5RGF0YSQgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuZGF0YSQsXG4gICAgICB0aGlzLmZpbHRlciQucGlwZShzdGFydFdpdGgoJycpKSxcbiAgICBdKS5waXBlKFxuICAgICAgbWFwKChbZGF0YSwga2V5d29yZF0pID0+XG4gICAgICAgIGRhdGEuZmlsdGVyKGl0ZW0gPT4ge1xuICAgICAgICAgIGNvbnN0IGsgPSBrZXl3b3JkLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGl0ZW0ubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGspIHx8XG4gICAgICAgICAgICBpdGVtLmRpc3BsYXlOYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoaylcbiAgICAgICAgICApO1xuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFNjcm9sbChzY3JvbGxFbDogSFRNTEVsZW1lbnQpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmNvbnRleHQgPT09ICdwYWdlJyB8fFxuICAgICAgdGhpcy5zY3JvbGxJbml0aWFsaXplZCB8fFxuICAgICAgIXRoaXMuZGF0YT8ubGVuZ3RoXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGN1cnJlbnRJbmRleCA9IHRoaXMuZGF0YS5maW5kSW5kZXgoXG4gICAgICBpdGVtID0+IGl0ZW0uX19vcmlnaW4ubWV0YWRhdGEudWlkID09PSB0aGlzLnNlbGVjdGVkVWlkLFxuICAgICk7XG4gICAgY29uc3Qgcm93SGVpZ2h0ID0gc2Nyb2xsRWwuc2Nyb2xsSGVpZ2h0IC8gdGhpcy5kYXRhLmxlbmd0aDtcbiAgICBpZiAoXG4gICAgICBjdXJyZW50SW5kZXggPiAtMSAmJlxuICAgICAgcm93SGVpZ2h0ICogKGN1cnJlbnRJbmRleCArIDEpID4gc2Nyb2xsRWwub2Zmc2V0SGVpZ2h0XG4gICAgKSB7XG4gICAgICBzY3JvbGxFbC5zY3JvbGxUbyh7XG4gICAgICAgIHRvcDogcm93SGVpZ2h0ICogY3VycmVudEluZGV4LFxuICAgICAgfSk7XG4gICAgfVxuICAgIHRoaXMuc2Nyb2xsSW5pdGlhbGl6ZWQgPSB0cnVlO1xuICB9XG5cbiAgZ2V0SGlnaGxpZ2h0ZWROYW1lU3RycyA9IChpdGVtOiBEYXRhSXRlbUJhc2UpID0+IHtcbiAgICBpZiAoIXRoaXMua2V5d29yZCkge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAge1xuICAgICAgICAgIHRleHQ6IGl0ZW0ubmFtZSxcbiAgICAgICAgfSxcbiAgICAgIF07XG4gICAgfVxuICAgIGNvbnN0IG9yaWdpbmFsID0gaXRlbS5uYW1lO1xuICAgIGNvbnN0IHN0cnMgPSBpdGVtLm5hbWUudG9Mb3dlckNhc2UoKS5zcGxpdCh0aGlzLmtleXdvcmQudG9Mb3dlckNhc2UoKSk7XG4gICAgY29uc3QgcmV0OiBBcnJheTx7XG4gICAgICB0ZXh0OiBzdHJpbmc7XG4gICAgICBpc0hpZ2hsaWdodGVkPzogYm9vbGVhbjtcbiAgICB9PiA9IFtdO1xuICAgIGxldCBwb3MgPSAwO1xuICAgIGZvciAoY29uc3QgW2ksIHN0cl0gb2Ygc3Rycy5lbnRyaWVzKCkpIHtcbiAgICAgIGNvbnN0IGVuZCA9IHBvcyArIHN0ci5sZW5ndGg7XG4gICAgICByZXQucHVzaCh7XG4gICAgICAgIHRleHQ6IG9yaWdpbmFsLnNsaWNlKHBvcywgZW5kKSxcbiAgICAgIH0pO1xuICAgICAgaWYgKGkgIT09IHN0cnMubGVuZ3RoIC0gMSkge1xuICAgICAgICByZXQucHVzaCh7XG4gICAgICAgICAgdGV4dDogb3JpZ2luYWwuc2xpY2UoZW5kLCBlbmQgKyB0aGlzLmtleXdvcmQubGVuZ3RoKSxcbiAgICAgICAgICBpc0hpZ2hsaWdodGVkOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHBvcyA9IGVuZCArIHRoaXMua2V5d29yZC5sZW5ndGg7XG4gICAgfVxuICAgIHJldHVybiByZXQ7XG4gIH07XG5cbiAgb25TZWxlY3QoaXRlbTogRGF0YUl0ZW1CYXNlKSB7XG4gICAgaWYgKFxuICAgICAgaXRlbS5zdGF0ZT8uZGlzYWJsZWQgfHxcbiAgICAgIHRoaXMuc2VsZWN0ZWRVaWQgPT09IGl0ZW0uX19vcmlnaW4ubWV0YWRhdGEudWlkXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuc2VsZWN0ZWRVaWQgPSBpdGVtLm5hbWU7XG4gICAgdGhpcy5zZWxlY3RJdGVtLmVtaXQoaXRlbSk7XG4gIH1cblxuICBzZXREaXNwbGF5TW9kZShtb2RlOiBEaXNwbGF5TW9kZSkge1xuICAgIHRoaXMuZGlzcGxheU1vZGUgPSBtb2RlO1xuICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmRpc3BsYXlNb2RlS2V5LCBtb2RlKTtcbiAgfVxuXG4gIGtleXdvcmRDaGFuZ2Uoa2V5d29yZDogc3RyaW5nKSB7XG4gICAgdGhpcy5rZXl3b3JkID0ga2V5d29yZDtcbiAgICB0aGlzLmZpbHRlciQubmV4dChrZXl3b3JkKTtcbiAgfVxuXG4gIGZpbHRlckRpc2FibGVkRGF0YShkYXRhOiBEYXRhSXRlbUJhc2VbXSwgY29udGV4dDogVXNhZ2VDb250ZXh0KSB7XG4gICAgLy8gd29ya2Fyb3VuZCBmb3IgdHlwaW5ncyBpbiB0ZW1wbGF0ZVxuICAgIHJldHVybiAoXG4gICAgICBjb250ZXh0ID09PSAncGFnZScgPyBkYXRhIDogZGF0YS5maWx0ZXIoaXRlbSA9PiAhaXRlbS5zdGF0ZT8uZGlzYWJsZWQpXG4gICAgKSBhcyBEYXRhSXRlbVtdO1xuICB9XG5cbiAgc29ydFdpdGhvdXRJc3RpbyA9IChkYXRhOiBEYXRhSXRlbUJhc2VbXSkgPT4ge1xuICAgIGNvbnN0IHdpdGhvdXRJc3RpbyA9IGRhdGEuZmlsdGVyKGl0ZW0gPT4gIWl0ZW0/LnNlcnZpY2VNZXNoSXN0aW9WZXJzaW9uKTtcbiAgICByZXR1cm4gWy4uLmRpZmZlcmVuY2UoZGF0YSwgd2l0aG91dElzdGlvKSwgLi4ud2l0aG91dElzdGlvXTtcbiAgfTtcblxuICBwbHVyYWxGb3JtKHR5cGU6IERhdGFUeXBlKSB7XG4gICAgcmV0dXJuIHBsdXJhbCh0eXBlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImhlYWRlclwiPlxuICA8c3BhblxuICAgIGNsYXNzPVwiaGVhZGVyX190aXRsZVwiXG4gICAgW25nQ2xhc3NdPVwieyAnaGVhZGVyX190aXRsZS0tbGl0ZSc6IHBvcHVwTGl0ZSB9XCJcbiAgPlxuICAgIDxzcGFuPnt7IHR5cGUgfCBwdXJlOiBwbHVyYWxGb3JtIHwgdHJhbnNsYXRlIH19PC9zcGFuXG4gICAgPjxzcGFuIGNsYXNzPVwiaGVhZGVyX19kZXNjXCJcbiAgICAgID7vvIh7eyAoZGlzcGxheURhdGEkIHwgYXN5bmMpPy5sZW5ndGggfHwgMCB9fe+8iTwvc3BhblxuICAgID5cbiAgPC9zcGFuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJoZWFkZXJfX2N1c3RvbVwiXG4gICAgKm5nSWY9XCIhcG9wdXBMaXRlXCJcbiAgPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlthY2xSZXNvdXJjZUdyaWRIZWFkZXJdXCI+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwidHctZmxleC0xXCJcbiAgICAqbmdJZj1cInBvcHVwTGl0ZVwiXG4gID48L2Rpdj5cbiAgPGF1aS1zZWFyY2hcbiAgICBbc2VhcmNoQnV0dG9uXT1cImZhbHNlXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwiJ2ZpbHRlcl9ieV9uYW1lX29yX2Rpc3BsYXlfbmFtZScgfCB0cmFuc2xhdGVcIlxuICAgIFtrZXl3b3JkXT1cImtleXdvcmRcIlxuICAgIChrZXl3b3JkQ2hhbmdlKT1cImtleXdvcmRDaGFuZ2UoJGV2ZW50KVwiXG4gICAgW2NsZWFyYWJsZV09XCJ0cnVlXCJcbiAgICBzaXplPVwic21hbGxcIlxuICA+PC9hdWktc2VhcmNoPlxuICA8c3BhblxuICAgIGNsYXNzPVwiaGVhZGVyX19kaXNwbGF5LW1vZGVcIlxuICAgICpuZ0lmPVwiY29udGV4dCA9PT0gJ3BhZ2UnXCJcbiAgPlxuICAgIDxzcGFuXG4gICAgICBjbGFzcz1cInN3aXRjaC1idG5cIlxuICAgICAgW25nQ2xhc3NdPVwieyAnc3dpdGNoLWJ0bi0tc2VsZWN0ZWQnOiBkaXNwbGF5TW9kZSAhPT0gJ2NhcmQnIH1cIlxuICAgICAgKGNsaWNrKT1cInNldERpc3BsYXlNb2RlKCdyb3cnKVwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uIGljb249XCJsaXN0XCI+PC9hdWktaWNvbj5cbiAgICA8L3NwYW4+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwic3dpdGNoLWJ0blwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdzd2l0Y2gtYnRuLS1zZWxlY3RlZCc6IGRpc3BsYXlNb2RlID09PSAnY2FyZCcgfVwiXG4gICAgICAoY2xpY2spPVwic2V0RGlzcGxheU1vZGUoJ2NhcmQnKVwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uIGljb249XCJncmlkXCI+PC9hdWktaWNvbj5cbiAgICA8L3NwYW4+XG4gIDwvc3Bhbj5cbjwvZGl2PlxuPG5nLWNvbnRhaW5lclxuICAqbmdJZj1cIlxuICAgICFsb2FkaW5nICYmXG4gICAgKGRpc3BsYXlEYXRhJFxuICAgICAgfCBhc3luY1xuICAgICAgfCBwdXJlOiBzb3J0V2l0aG91dElzdGlvXG4gICAgICB8IHB1cmU6IGZpbHRlckRpc2FibGVkRGF0YTpjb250ZXh0KSBhcyBkaXNwbGF5RGF0YVxuICBcIlxuPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJncmlkXCJcbiAgICAqbmdJZj1cImRpc3BsYXlEYXRhLmxlbmd0aFwiXG4gICAgI2dyaWRcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnZ3JpZC0tY2FyZCc6IGRpc3BsYXlNb2RlID09PSAnY2FyZCcgJiYgY29udGV4dCAhPT0gJ3BvcHVwJyxcbiAgICAgICdncmlkLS1wb3B1cCc6IGNvbnRleHQgPT09ICdwb3B1cCcsXG4gICAgICAnZ3JpZC0tcG9wdXAtLWxpdGUnOiBjb250ZXh0ID09PSAncG9wdXAnICYmIHBvcHVwTGl0ZVxuICAgIH1cIlxuICA+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJncmlkX19pdGVtXCJcbiAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRpc3BsYXlEYXRhXCJcbiAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2dyaWRfX2l0ZW0tLXNlbGVjdGVkJzpcbiAgICAgICAgICBjb250ZXh0ID09PSAncG9wdXAnICYmIHNlbGVjdGVkVWlkID09PSBpdGVtLl9fb3JpZ2luLm1ldGFkYXRhLnVpZCxcbiAgICAgICAgJ2dyaWRfX2l0ZW0tLWRpc2FibGVkJzogaXRlbS5zdGF0ZT8uZGlzYWJsZWRcbiAgICAgIH1cIlxuICAgICAgKGNsaWNrKT1cIm9uU2VsZWN0KGl0ZW0pXCJcbiAgICAgIFthdHRyLmRhdGEtdGVzdF09XCJpdGVtLm5hbWUgKyAnLycgKyBpdGVtLmNsdXN0ZXJcIlxuICAgICAgW2F1aVRvb2x0aXBdPVwiaXRlbS5zdGF0ZT8udG9vbHRpcFwiXG4gICAgICBbYXVpVG9vbHRpcERpc2FibGVkXT1cIiFpdGVtLnN0YXRlPy5kaXNhYmxlZCB8fCAhaXRlbS5zdGF0ZT8udG9vbHRpcFwiXG4gICAgPlxuICAgICAgPGF1aS1pY29uXG4gICAgICAgICpuZ0lmPVwic2VsZWN0ZWRVaWQgPT09IGl0ZW0uX19vcmlnaW4ubWV0YWRhdGEudWlkXCJcbiAgICAgICAgY2xhc3M9XCJjaGVjay10cmlhbmdsZS1iYWRnZVwiXG4gICAgICAgIGljb249XCJjaGVja1wiXG4gICAgICA+PC9hdWktaWNvbj5cbiAgICAgIDwhLS0gaWNvbiAtLT5cbiAgICAgIDxkaXYgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC1pY29uXCI+XG4gICAgICAgIDxhY2wtcmVzb3VyY2UtaWNvblxuICAgICAgICAgIFt0eXBlXT1cInR5cGVcIlxuICAgICAgICAgIFtjb2xvcl09XCJcbiAgICAgICAgICAgIGNvbnRleHQgPT09ICdwb3B1cCcgJiZcbiAgICAgICAgICAgICFwb3B1cExpdGUgJiZcbiAgICAgICAgICAgIHNlbGVjdGVkVWlkID09PSBpdGVtLl9fb3JpZ2luLm1ldGFkYXRhLnVpZFxuICAgICAgICAgICAgICA/ICd3aGl0ZSdcbiAgICAgICAgICAgICAgOiAnYmx1ZSdcbiAgICAgICAgICBcIlxuICAgICAgICAgIFtkaXNwbGF5TW9kZV09XCJkaXNwbGF5TW9kZVwiXG4gICAgICAgID48L2FjbC1yZXNvdXJjZS1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIG5hbWUgLS0+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtbmFtZVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibmFtZVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHN0ciBvZiBnZXRIaWdobGlnaHRlZE5hbWVTdHJzKGl0ZW0pXCI+XG4gICAgICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJ7IGhpZ2hsaWdodGVkOiBzdHIuaXNIaWdobGlnaHRlZCB9XCI+e3tcbiAgICAgICAgICAgICAgc3RyLnRleHRcbiAgICAgICAgICAgIH19PC9zcGFuPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiZGVzXCJcbiAgICAgICAgICAqbmdJZj1cIiFwb3B1cExpdGVcIlxuICAgICAgICA+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uZGlzcGxheU5hbWVcIj57e1xuICAgICAgICAgICAgaXRlbS5kaXNwbGF5TmFtZVxuICAgICAgICAgIH19PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8IS0tIG5zOiBjbHVzdGVyIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdyaWRfX2ZpZWxkIGZsZXggZ3JpZF9fZmllbGQtY2x1c3RlclwiXG4gICAgICAgICpuZ0lmPVwiZmllbGRzLmluY2x1ZGVzKGZpZWxkc0RlZi5DbHVzdGVyKVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgY2xhc3M9XCJiZWxvbmdlZC1jbHVzdGVyIHR3LWZsZXhcIlxuICAgICAgICAgIGF1aVRvb2x0aXA9XCJ7e1xuICAgICAgICAgICAgKCdiZWxvbmdlZF9jbHVzdGVyJyB8IHRyYW5zbGF0ZSkgKyAnOiAnICsgaXRlbS5jbHVzdGVyXG4gICAgICAgICAgfX1cIlxuICAgICAgICA+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ3aXRoLWNvbG9uXCI+e3sgJ2JlbG9uZ2VkX2NsdXN0ZXInIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidHctdGV4dC1lbGxpcHNpcyB0dy1vdmVyZmxvdy1oaWRkZW5cIlxuICAgICAgICAgICAgPnt7IGl0ZW0uY2x1c3RlclxuICAgICAgICAgICAgfX08bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbS5jbHVzdGVyRGlzcGxheU5hbWVcIlxuICAgICAgICAgICAgICA+KHt7IGl0ZW0uY2x1c3RlckRpc3BsYXlOYW1lIH19KTwvbmctY29udGFpbmVyXG4gICAgICAgICAgICA+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDxhdWktdGFnXG4gICAgICAgICAgICB0eXBlPVwicHJpbWFyeVwiXG4gICAgICAgICAgICBzaXplPVwibWluaVwiXG4gICAgICAgICAgICAqbmdJZj1cIml0ZW0uY2x1c3RlckFyY2hcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHt7IGl0ZW0uY2x1c3RlckFyY2ggfX1cbiAgICAgICAgICA8L2F1aS10YWc+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBwcm9qZWN0OiBzdGF0dXMgLS0+XG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtc3RhdHVzIHt7XG4gICAgICAgICAgJ2dyaWRfX2ZpZWxkLXN0YXR1cy0tJyArIGl0ZW0uc3RhdHVzXG4gICAgICAgIH19XCJcbiAgICAgICAgKm5nSWY9XCJmaWVsZHMuaW5jbHVkZXMoZmllbGRzRGVmLlN0YXR1cylcIlxuICAgICAgPlxuICAgICAgICA8bGFiZWxcbiAgICAgICAgICAqbmdJZj1cInBvcHVwTGl0ZVwiXG4gICAgICAgICAgY2xhc3M9XCJ0dy10ZXh0LWhlbHAtdGV4dCB0dy1tci04XCJcbiAgICAgICAgICA+e3sgJ3N0YXR1cycgfCB0cmFuc2xhdGUgfX06PC9sYWJlbFxuICAgICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aC1jb2xvblwiPnt7ICdzdGF0dXMnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8YXVpLWljb25cbiAgICAgICAgICBbaWNvbl09XCJzdGF0dXNJY29uW2l0ZW0uc3RhdHVzXVwiXG4gICAgICAgICAgW2JhY2tncm91bmRdPVwiXG4gICAgICAgICAgICBzdGF0dXNJY29uW2l0ZW0uc3RhdHVzXS5lbmRzV2l0aCgnX3RyaWFuZ2xlX3MnKVxuICAgICAgICAgICAgICA/ICd0cmlhbmdsZSdcbiAgICAgICAgICAgICAgOiAnY2lyY2xlJ1xuICAgICAgICAgIFwiXG4gICAgICAgICAgY2xhc3M9XCJ7eyAnaWNvbi0nICsgaXRlbS5zdGF0dXMgfX1cIlxuICAgICAgICA+PC9hdWktaWNvbj5cbiAgICAgICAge3sgaXRlbS5zdGF0dXMgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBhc206IHNlcnZpY2UgbWVzaCAtLT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC1zZXJ2aWNlbWVzaFwiXG4gICAgICAgICpuZ0lmPVwiZmllbGRzLmluY2x1ZGVzKGZpZWxkc0RlZi5TZXJ2aWNlTWVzaClcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIndpdGgtY29sb25cIj57eyAnYmVsb25nZWRfc2VydmljZW1lc2gnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8c3Bhbj4ge3sgaXRlbS5zZXJ2aWNlTWVzaE5hbWUgfX0gPC9zcGFuPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGVzXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIml0ZW0uc2VydmljZU1lc2hJc3Rpb1ZlcnNpb25cIlxuICAgICAgICAgICAgPihJc3RpbyB7eyBpdGVtLnNlcnZpY2VNZXNoSXN0aW9WZXJzaW9uIH19KTwvbmctY29udGFpbmVyXG4gICAgICAgICAgPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtc2VydmljZW1lc2hcIlxuICAgICAgICAqbmdJZj1cImZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuU2VydmljZU1lc2gpXCJcbiAgICAgID5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ3aXRoLWNvbG9uXCI+e3sgJ2NsdXN0ZXInIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICA8c3BhblxuICAgICAgICAgID57eyBpdGVtLmNsdXN0ZXJcbiAgICAgICAgICB9fTxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtLmNsdXN0ZXJEaXNwbGF5TmFtZVwiXG4gICAgICAgICAgICA+KHt7IGl0ZW0uY2x1c3RlckRpc3BsYXlOYW1lIH19KTwvbmctY29udGFpbmVyXG4gICAgICAgICAgPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxhdWktdGFnXG4gICAgICAgICAgdHlwZT1cInByaW1hcnlcIlxuICAgICAgICAgIHNpemU9XCJtaW5pXCJcbiAgICAgICAgICAqbmdJZj1cIml0ZW0uY2x1c3RlckFyY2hcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgaXRlbS5jbHVzdGVyQXJjaCB9fVxuICAgICAgICA8L2F1aS10YWc+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBtZXNoIGdyb3VwIC0tPlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwiZ3JpZF9fZmllbGQgZ3JpZF9fZmllbGQtc2VydmljZW1lc2hcIlxuICAgICAgICAqbmdJZj1cImZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuU2VydmljZU1lc2hHcm91cClcIlxuICAgICAgPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIndpdGgtY29sb25cIj57eyAnY2x1c3RlcicgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuPnt7IGl0ZW0uY2x1c3RlciB9fSA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gYXNtOiBpc3RpbyAtLT5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJncmlkX19maWVsZCBncmlkX19maWVsZC1zZXJ2aWNlbWVzaFwiXG4gICAgICAgICpuZ0lmPVwiZmllbGRzLmluY2x1ZGVzKGZpZWxkc0RlZi5TZXJ2aWNlTWVzaEdyb3VwKVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aC1jb2xvblwiPnt7ICdJc3RpbycgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgPnt7IGl0ZW0uc2VydmljZU1lc2hJc3Rpb1ZlcnNpb24gfHwgKCdub3RfZGVwbG95ZWQnIHwgdHJhbnNsYXRlKSB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSB0aW1lIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdyaWRfX2ZpZWxkIGdyaWRfX2ZpZWxkLXRpbWVcIlxuICAgICAgICAqbmdJZj1cImZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuVGltZSkgJiYgIXBvcHVwTGl0ZVwiXG4gICAgICA+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwid2l0aC1jb2xvblwiPnt7ICdjcmVhdGVkX2F0JyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgPHNwYW4+e3sgaXRlbS50aW1lc3RhbXAgfCBhY2xSZWxhdGl2ZVRpbWUgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwhLS0gYWN0aW9uIC0tPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImdyaWRfX2ZpZWxkIGdyaWRfX2ZpZWxkLWFjdGlvblwiXG4gICAgICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgIGZpZWxkcy5pbmNsdWRlcyhmaWVsZHNEZWYuQWN0aW9uKSAmJlxuICAgICAgICAgIGFjdGlvblRlbXBsYXRlUmVmICYmXG4gICAgICAgICAgY29udGV4dCAhPT0gJ3BvcHVwJ1xuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWN0aW9uVGVtcGxhdGVSZWZcIlxuICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7XG4gICAgICAgICAgICAkaW1wbGljaXQ6IGl0ZW0uX19vcmlnaW5cbiAgICAgICAgICB9XCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8YWNsLXJlc291cmNlLW5vLWRhdGFcbiAgICAqbmdJZj1cIiFwb3B1cExpdGUgJiYgIShkaXNwbGF5RGF0YSQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgW2lzRmlsdGVyZWRdPVwiISFrZXl3b3JkXCJcbiAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAocmVmcmVzaCk9XCJyZWxvYWQuZW1pdCgpXCJcbiAgICAoY2xlYXIpPVwia2V5d29yZENoYW5nZSgnJylcIlxuICA+PC9hY2wtcmVzb3VyY2Utbm8tZGF0YT5cbiAgPGFjbC16ZXJvLXN0YXRlXG4gICAgKm5nSWY9XCJwb3B1cExpdGUgJiYgIShkaXNwbGF5RGF0YSQgfCBhc3luYyk/Lmxlbmd0aFwiXG4gICAgY29udGV4dD1cInRhYmxlXCJcbiAgPjwvYWNsLXplcm8tc3RhdGU+XG48L25nLWNvbnRhaW5lcj5cbjxkaXZcbiAgY2xhc3M9XCJsb2FkaW5nXCJcbiAgKm5nSWY9XCJsb2FkaW5nXCJcbj5cbiAgPGFjbC1sb2FkaW5nLW1hc2tcbiAgICBbbG9hZGluZ109XCJsb2FkaW5nXCJcbiAgICB0eXBlPVwiY29udGVudFwiXG4gID48L2FjbC1sb2FkaW5nLW1hc2s+XG48L2Rpdj5cbiJdfQ==