@alauda-fe/common 1.0.0-hotfix-znx-3.16.1-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 (1206) hide show
  1. package/a-chart/a-chart.module.d.ts +16 -0
  2. package/a-chart/base-chart.d.ts +23 -0
  3. package/a-chart/chart-status.component.d.ts +15 -0
  4. package/a-chart/chart.component.d.ts +56 -0
  5. package/a-chart/components/base-component.d.ts +12 -0
  6. package/a-chart/components/legend/base-legend.component.d.ts +32 -0
  7. package/a-chart/components/legend/dropdown-legend.d.ts +17 -0
  8. package/a-chart/components/legend/legend.component.d.ts +17 -0
  9. package/a-chart/components/legend/public-api.d.ts +3 -0
  10. package/a-chart/components/public-api.d.ts +3 -0
  11. package/a-chart/components/title.component.d.ts +17 -0
  12. package/a-chart/constant.d.ts +3 -0
  13. package/a-chart/public-api.d.ts +12 -0
  14. package/a-chart/types.d.ts +33 -0
  15. package/a-chart/utils.d.ts +13 -0
  16. package/a-metric-chart/a-metric-chart.component.d.ts +151 -0
  17. package/a-metric-chart/a-metric-chart.module.d.ts +16 -0
  18. package/a-metric-chart/bar-gauge/bar-gauge.component.d.ts +25 -0
  19. package/a-metric-chart/base-chart.component.d.ts +14 -0
  20. package/a-metric-chart/metric-chart-refresh.service.d.ts +8 -0
  21. package/a-metric-chart/public-api.d.ts +14 -0
  22. package/a-metric-chart/stat-chart/stat-chart.component.d.ts +7 -0
  23. package/a-metric-chart/table-chart/table-chart.component.d.ts +29 -0
  24. package/a-metric-chart/types.d.ts +115 -0
  25. package/a-metric-chart/utils/public-api.d.ts +3 -0
  26. package/a-metric-chart/utils/range.d.ts +1 -0
  27. package/a-metric-chart/utils/unit.d.ts +48 -0
  28. package/a-metric-chart/utils/util.d.ts +40 -0
  29. package/abnormal-page/abnormal-page.component.d.ts +19 -0
  30. package/abnormal-page/abnormal-page.module.d.ts +11 -0
  31. package/abnormal-page/public-api.d.ts +2 -0
  32. package/api/api-compatible.interceptor.d.ts +46 -0
  33. package/api/api-gateway.interceptor.d.ts +14 -0
  34. package/api/api-gateway.service.d.ts +13 -0
  35. package/api/cluster-version.service.d.ts +19 -0
  36. package/api/crypto.interceptor.d.ts +18 -0
  37. package/api/helpers.d.ts +31 -0
  38. package/api/k8s-api-resource.service.d.ts +29 -0
  39. package/api/k8s-api.service.d.ts +112 -0
  40. package/api/monitor-api.service.d.ts +104 -0
  41. package/api/page-visibility.service.d.ts +7 -0
  42. package/api/platform-ui.service.d.ts +45 -0
  43. package/api/product.service.d.ts +13 -0
  44. package/api/project-api.service.d.ts +16 -0
  45. package/api/public-api.d.ts +21 -0
  46. package/api/resource-update.service.d.ts +31 -0
  47. package/api/types.d.ts +119 -0
  48. package/array-form-table/base-string-map-form.component.d.ts +22 -0
  49. package/array-form-table/form/component.d.ts +102 -0
  50. package/array-form-table/form/module.d.ts +7 -0
  51. package/array-form-table/key-value-form/component.d.ts +37 -0
  52. package/array-form-table/key-value-table/component.d.ts +9 -0
  53. package/array-form-table/public-api.d.ts +11 -0
  54. package/array-form-table/string-array-form/component.d.ts +39 -0
  55. package/assets/header/cluster-blue.svg +1 -0
  56. package/assets/header/cluster-white.svg +1 -0
  57. package/assets/header/namespace-blue.svg +1 -0
  58. package/assets/header/namespace-white.svg +1 -0
  59. package/assets/header/portrait.svg +1 -0
  60. package/assets/header/project-blue.svg +1 -0
  61. package/assets/header/project-white.svg +1 -0
  62. package/assets/header/servicemesh-blue.svg +1 -0
  63. package/assets/header/servicemesh-white.svg +1 -0
  64. package/assets/icons/ClickHouse.svg +1 -0
  65. package/assets/icons/Containerd.svg +1 -0
  66. package/assets/icons/Docker.svg +1 -0
  67. package/assets/icons/ETCD.svg +1 -0
  68. package/assets/icons/ElasticSearch.svg +1 -0
  69. package/assets/icons/Grafana.svg +1 -0
  70. package/assets/icons/Istio.svg +1 -0
  71. package/assets/icons/Jaeger.svg +1 -0
  72. package/assets/icons/Kafka.svg +1 -0
  73. package/assets/icons/Kibana.svg +1 -0
  74. package/assets/icons/KubeVela.svg +1 -0
  75. package/assets/icons/Kubernetes.svg +1 -0
  76. package/assets/icons/Prometheus.svg +1 -0
  77. package/assets/icons/VictoriaMetrics.svg +1 -0
  78. package/assets/icons/Zookeeper.svg +1 -0
  79. package/assets/icons/bicolor-icons.js +1 -0
  80. package/assets/icons/icon-card-blue.svg +1 -0
  81. package/assets/icons/icon-card.svg +1 -0
  82. package/assets/icons/icon-cluster-small-white.svg +1 -0
  83. package/assets/icons/icon-cluster-small.svg +1 -0
  84. package/assets/icons/icon-list-blue.svg +1 -0
  85. package/assets/icons/icon-list.svg +1 -0
  86. package/assets/icons/icon-namespace-small-white.svg +1 -0
  87. package/assets/icons/icon-namespace-small.svg +1 -0
  88. package/assets/icons/icon-project-small-white.svg +1 -0
  89. package/assets/icons/icon-project-small.svg +1 -0
  90. package/assets/icons/icon-servicemesh-small-white.svg +1 -0
  91. package/assets/icons/icon-servicemesh-small.svg +1 -0
  92. package/assets/icons/navigation-icons.js +1 -0
  93. package/assets/icons/os/centos.svg +1 -0
  94. package/assets/icons/os/debian.svg +1 -0
  95. package/assets/icons/os/linux.svg +1 -0
  96. package/assets/icons/os/other.svg +1 -0
  97. package/assets/icons/os/red-hat.svg +1 -0
  98. package/assets/icons/os/t-linux.svg +1 -0
  99. package/assets/icons/os/ubuntu.svg +1 -0
  100. package/assets/icons/os/windows.svg +1 -0
  101. package/assets/icons/prod-icons.js +1 -0
  102. package/assets/icons/time.svg +1 -0
  103. package/assets/images/abnormal.svg +1 -0
  104. package/assets/images/alarm_critical.png +0 -0
  105. package/assets/images/avatar.svg +1 -0
  106. package/assets/images/dark/disconnected.svg +1 -0
  107. package/assets/images/dark/feature-reach-bg.svg +1 -0
  108. package/assets/images/dark/license-abnormal.svg +1 -0
  109. package/assets/images/dark/network-abnormal.svg +1 -0
  110. package/assets/images/dark/no-data.svg +1 -0
  111. package/assets/images/dark/no-message.svg +1 -0
  112. package/assets/images/dark/no-permission.svg +1 -0
  113. package/assets/images/dark/no_realtime_alarm.svg +1 -0
  114. package/assets/images/dark/not-deployed.svg +1 -0
  115. package/assets/images/dark/not-found.svg +1 -0
  116. package/assets/images/dark/not-supported.svg +1 -0
  117. package/assets/images/dark/system-abnormal.svg +1 -0
  118. package/assets/images/light/disconnected.svg +1 -0
  119. package/assets/images/light/feature-reach-bg.svg +1 -0
  120. package/assets/images/light/license-abnormal.svg +1 -0
  121. package/assets/images/light/network-abnormal.svg +1 -0
  122. package/assets/images/light/no-data.svg +1 -0
  123. package/assets/images/light/no-message.svg +1 -0
  124. package/assets/images/light/no-permission.svg +1 -0
  125. package/assets/images/light/no_realtime_alarm.svg +1 -0
  126. package/assets/images/light/not-deployed.svg +1 -0
  127. package/assets/images/light/not-found.svg +1 -0
  128. package/assets/images/light/not-supported.svg +1 -0
  129. package/assets/images/light/system-abnormal.svg +1 -0
  130. package/assets/images/no-data.png +0 -0
  131. package/assets/images/overview-banner.svg +1 -0
  132. package/assets/images/platform_version_bg.svg +1 -0
  133. package/assets/images/product-default-logo.png +0 -0
  134. package/assets/logos/favicon.ico +0 -0
  135. package/assets/logos/logo.svg +1 -0
  136. package/assets/logos/tke_logo_white.svg +1 -0
  137. package/assets/themes/override-theme.js +11 -0
  138. package/assets/themes/refresh-favicon.js +6 -0
  139. package/async-data/async-data-loader.d.ts +31 -0
  140. package/async-data/async-data.module.d.ts +8 -0
  141. package/async-data/error-page/component.d.ts +30 -0
  142. package/async-data/page-state/component.d.ts +21 -0
  143. package/async-data/public-api.d.ts +11 -0
  144. package/async-data/types.d.ts +29 -0
  145. package/authorization/app-init-url.d.ts +6 -0
  146. package/authorization/guard.service.d.ts +22 -0
  147. package/authorization/interceptor.service.d.ts +34 -0
  148. package/authorization/public-api.d.ts +11 -0
  149. package/authorization/session-manage.service.d.ts +18 -0
  150. package/authorization/state.service.d.ts +45 -0
  151. package/authorization/storage-token.d.ts +11 -0
  152. package/business/module-info/api.service.d.ts +24 -0
  153. package/business/module-info/public-api.d.ts +1 -0
  154. package/business/notification-disabled-container/component.d.ts +14 -0
  155. package/business/notification-disabled-container/public-api.d.ts +1 -0
  156. package/business/public-api.d.ts +8 -0
  157. package/business/resource-select/base-list.d.ts +32 -0
  158. package/business/resource-select/context.service.d.ts +47 -0
  159. package/business/resource-select/exports/cluster-selector/component.d.ts +23 -0
  160. package/business/resource-select/exports/mesh-group-selector/component.d.ts +23 -0
  161. package/business/resource-select/exports/namespace-page/component.d.ts +25 -0
  162. package/business/resource-select/exports/namespace-selector/component.d.ts +33 -0
  163. package/business/resource-select/exports/project-page/component.d.ts +18 -0
  164. package/business/resource-select/exports/project-selector/component.d.ts +27 -0
  165. package/business/resource-select/helpers.directive.d.ts +5 -0
  166. package/business/resource-select/internals/cluster-list/component.d.ts +25 -0
  167. package/business/resource-select/internals/data-grid/component.d.ts +42 -0
  168. package/business/resource-select/internals/icon/component.d.ts +12 -0
  169. package/business/resource-select/internals/meshgroup-list/component.d.ts +22 -0
  170. package/business/resource-select/internals/namespace-list/component.d.ts +64 -0
  171. package/business/resource-select/internals/no-data/component.d.ts +11 -0
  172. package/business/resource-select/internals/project-list/component.d.ts +22 -0
  173. package/business/resource-select/internals/resource-dashboard/component.d.ts +14 -0
  174. package/business/resource-select/internals/selector-popup/component.d.ts +14 -0
  175. package/business/resource-select/internals/selector-popup/ref.d.ts +10 -0
  176. package/business/resource-select/internals/selector-popup/service.d.ts +21 -0
  177. package/business/resource-select/module.d.ts +31 -0
  178. package/business/resource-select/project.service.d.ts +17 -0
  179. package/business/resource-select/public-api.d.ts +16 -0
  180. package/business/resource-select/types.d.ts +77 -0
  181. package/business/resource-select/utils.d.ts +5 -0
  182. package/chart/chart.module.d.ts +29 -0
  183. package/chart/chart.service.d.ts +72 -0
  184. package/chart/common/axis/axis-label.component.d.ts +23 -0
  185. package/chart/common/axis/x-axis-ticks.component.d.ts +24 -0
  186. package/chart/common/axis/x-axis.component.d.ts +26 -0
  187. package/chart/common/axis/x-plot-lines.component.d.ts +23 -0
  188. package/chart/common/axis/y-axis-ticks.component.d.ts +33 -0
  189. package/chart/common/axis/y-axis.component.d.ts +28 -0
  190. package/chart/common/axis/y-plot-lines.component.d.ts +31 -0
  191. package/chart/common/chart/chart.component.d.ts +62 -0
  192. package/chart/common/legend/legend.component.d.ts +41 -0
  193. package/chart/common/public-api.d.ts +16 -0
  194. package/chart/common/range-area/range-area.component.d.ts +48 -0
  195. package/chart/common/reference-area/reference-area.component.d.ts +12 -0
  196. package/chart/common/series/area-series.component.d.ts +21 -0
  197. package/chart/common/series/bar-path.component.d.ts +47 -0
  198. package/chart/common/series/bar-series.component.d.ts +29 -0
  199. package/chart/common/series/line-series.component.d.ts +8 -0
  200. package/chart/common/series/series.component.d.ts +39 -0
  201. package/chart/common/tooltip/tooltip.component.d.ts +119 -0
  202. package/chart/constants.d.ts +10 -0
  203. package/chart/custom-template/dropdown-legend.d.ts +11 -0
  204. package/chart/public-api.d.ts +10 -0
  205. package/chart/types.d.ts +47 -0
  206. package/chart/utils.d.ts +36 -0
  207. package/code/code-display-dialog/component.d.ts +17 -0
  208. package/code/code-editor-configs.d.ts +19 -0
  209. package/code/code.module.d.ts +14 -0
  210. package/code/k8s-yaml-display-dialog/component.d.ts +16 -0
  211. package/code/public-api.d.ts +11 -0
  212. package/code/resource-yaml-display/component.d.ts +20 -0
  213. package/core/abstract/base-form-container.d.ts +41 -0
  214. package/core/abstract/base-nested-form-control.d.ts +58 -0
  215. package/core/abstract/public-api.d.ts +2 -0
  216. package/core/components/public-api.d.ts +6 -0
  217. package/core/components/tree/module.d.ts +12 -0
  218. package/core/components/tree/node/component.d.ts +12 -0
  219. package/core/components/tree/outlet.d.ts +10 -0
  220. package/core/components/tree/padding.d.ts +12 -0
  221. package/core/components/tree/toggle.d.ts +12 -0
  222. package/core/components/tree/tree/component.d.ts +8 -0
  223. package/core/constants/constants.d.ts +62 -0
  224. package/core/constants/patterns.d.ts +107 -0
  225. package/core/constants/public-api.d.ts +5 -0
  226. package/core/constants/status-icons.d.ts +31 -0
  227. package/core/constants/timezones.d.ts +6 -0
  228. package/core/constants/tokens.d.ts +26 -0
  229. package/core/directives/click-outside.directive.d.ts +12 -0
  230. package/core/directives/disabled.directive.d.ts +28 -0
  231. package/core/directives/feature-gate.directive.d.ts +30 -0
  232. package/core/directives/intercept-deactivate.directive.d.ts +18 -0
  233. package/core/directives/last-form-item.directive.d.ts +8 -0
  234. package/core/directives/page-header-content.directive.d.ts +25 -0
  235. package/core/directives/public-api.d.ts +10 -0
  236. package/core/directives/readonly-field.directive.d.ts +39 -0
  237. package/core/directives/resize.directive.d.ts +17 -0
  238. package/core/directives/scroll-border-observer.directive.d.ts +23 -0
  239. package/core/directives/scroll-to-first-invalid.directive.d.ts +24 -0
  240. package/core/guards/feature.guard.d.ts +28 -0
  241. package/core/guards/intercept-deactivate.guard.d.ts +13 -0
  242. package/core/guards/leave-edit-page.guard.d.ts +13 -0
  243. package/core/guards/project-namespace.guard.d.ts +23 -0
  244. package/core/guards/public-api.d.ts +4 -0
  245. package/core/module.d.ts +33 -0
  246. package/core/pipes/cron-human-readable.pipe.d.ts +14 -0
  247. package/core/pipes/crontab-next.pipe.d.ts +18 -0
  248. package/core/pipes/duration.pipe.d.ts +10 -0
  249. package/core/pipes/field-not-available.pipe.d.ts +13 -0
  250. package/core/pipes/img-header.pipe.d.ts +7 -0
  251. package/core/pipes/img-theme.pipe.d.ts +13 -0
  252. package/core/pipes/k8s-util.pipe.d.ts +98 -0
  253. package/core/pipes/k8s-util.pipe.module.d.ts +7 -0
  254. package/core/pipes/keyvalue.pipe.d.ts +9 -0
  255. package/core/pipes/marked.pipe.d.ts +8 -0
  256. package/core/pipes/minimum-format.pipe.d.ts +10 -0
  257. package/core/pipes/page-env.pipe.d.ts +34 -0
  258. package/core/pipes/parse-json-translate.pipe.d.ts +9 -0
  259. package/core/pipes/parse-json.pipe.d.ts +7 -0
  260. package/core/pipes/public-api.d.ts +18 -0
  261. package/core/pipes/safe.pipe.d.ts +10 -0
  262. package/core/pipes/sanitize.pipe.d.ts +10 -0
  263. package/core/pipes/time.pipe.d.ts +41 -0
  264. package/core/pipes/timezone-display.pipe.d.ts +10 -0
  265. package/core/public-api.d.ts +16 -0
  266. package/core/services/aui-paginator-intl.service.d.ts +13 -0
  267. package/core/services/aui-tooltip-copy-intl.service.d.ts +11 -0
  268. package/core/services/context.service.d.ts +33 -0
  269. package/core/services/custom-code-editor-intl.service.d.ts +33 -0
  270. package/core/services/feature-gate.service.d.ts +35 -0
  271. package/core/services/form-row-duplicate/form-row-duplicate.service.d.ts +45 -0
  272. package/core/services/intercept-deactivate.service.d.ts +28 -0
  273. package/core/services/k8s-util.service.d.ts +78 -0
  274. package/core/services/on-resize.service.d.ts +20 -0
  275. package/core/services/public-api.d.ts +14 -0
  276. package/core/services/silently-navigate.service.d.ts +11 -0
  277. package/core/services/time.service.d.ts +17 -0
  278. package/core/services/ui-state.service.d.ts +41 -0
  279. package/core/services/workspace-helper.service.d.ts +12 -0
  280. package/core/services/yaml-util.service.d.ts +20 -0
  281. package/core/types/commons.d.ts +40 -0
  282. package/core/types/helpers.d.ts +35 -0
  283. package/core/types/k8s/core.d.ts +101 -0
  284. package/core/types/k8s/crd.d.ts +539 -0
  285. package/core/types/k8s/public-api.d.ts +3 -0
  286. package/core/types/k8s/raw.d.ts +975 -0
  287. package/core/types/public-api.d.ts +10 -0
  288. package/core/types/resource-definitions.d.ts +759 -0
  289. package/core/types/schema.d.ts +14 -0
  290. package/core/utils/browser.d.ts +4 -0
  291. package/core/utils/cache-store.d.ts +33 -0
  292. package/core/utils/color-helpers.d.ts +4 -0
  293. package/core/utils/common.d.ts +65 -0
  294. package/core/utils/create-recursive-filter.d.ts +41 -0
  295. package/core/utils/cron-util.d.ts +8 -0
  296. package/core/utils/decorators.d.ts +14 -0
  297. package/core/utils/format-number.d.ts +11 -0
  298. package/core/utils/k8s-util.d.ts +30 -0
  299. package/core/utils/local-storage-constants.d.ts +1 -0
  300. package/core/utils/node.d.ts +8 -0
  301. package/core/utils/observable.d.ts +5 -0
  302. package/core/utils/operators.d.ts +19 -0
  303. package/core/utils/public-api.d.ts +22 -0
  304. package/core/utils/request-pool.d.ts +12 -0
  305. package/core/utils/resources.d.ts +19 -0
  306. package/core/utils/sort-fn.d.ts +2 -0
  307. package/core/utils/tree.d.ts +16 -0
  308. package/core/utils/unit.d.ts +20 -0
  309. package/core/utils/version.d.ts +39 -0
  310. package/core/utils/with-load-state.d.ts +11 -0
  311. package/core/utils/workspace.d.ts +28 -0
  312. package/core/utils/yaml.d.ts +11 -0
  313. package/custom-columns-setting/component.d.ts +16 -0
  314. package/custom-columns-setting/public-api.d.ts +1 -0
  315. package/disabled-container/disabled-container.component.d.ts +21 -0
  316. package/disabled-container/disabled-container.module.d.ts +10 -0
  317. package/disabled-container/public-api.d.ts +8 -0
  318. package/editable-text/component.d.ts +24 -0
  319. package/editable-text/module.d.ts +11 -0
  320. package/editable-text/public-api.d.ts +2 -0
  321. package/effect-directive/coerce-number.directive.d.ts +8 -0
  322. package/effect-directive/e2e-attribute-binding.directive.d.ts +10 -0
  323. package/effect-directive/event.directive.d.ts +11 -0
  324. package/effect-directive/min-max.directive.d.ts +30 -0
  325. package/effect-directive/module.d.ts +20 -0
  326. package/effect-directive/public-api.d.ts +7 -0
  327. package/effect-directive/trim.directive.d.ts +7 -0
  328. package/effect-directive/validators.directive.d.ts +12 -0
  329. package/errors-mapper/base-errors-mapper.d.ts +13 -0
  330. package/errors-mapper/default-errors-mapper.service.d.ts +10 -0
  331. package/errors-mapper/errors-mapper-component/component.d.ts +19 -0
  332. package/errors-mapper/errors-mapper.directive.d.ts +39 -0
  333. package/errors-mapper/errors-mapper.module.d.ts +8 -0
  334. package/errors-mapper/public-api.d.ts +4 -0
  335. package/errors-mapper/types.d.ts +16 -0
  336. package/esm2022/a-chart/a-chart.module.mjs +76 -0
  337. package/esm2022/a-chart/base-chart.mjs +84 -0
  338. package/esm2022/a-chart/chart-status.component.mjs +195 -0
  339. package/esm2022/a-chart/chart.component.mjs +292 -0
  340. package/esm2022/a-chart/components/base-component.mjs +23 -0
  341. package/esm2022/a-chart/components/legend/base-legend.component.mjs +110 -0
  342. package/esm2022/a-chart/components/legend/dropdown-legend.mjs +199 -0
  343. package/esm2022/a-chart/components/legend/legend.component.mjs +102 -0
  344. package/esm2022/a-chart/components/legend/public-api.mjs +4 -0
  345. package/esm2022/a-chart/components/public-api.mjs +4 -0
  346. package/esm2022/a-chart/components/title.component.mjs +99 -0
  347. package/esm2022/a-chart/constant.mjs +22 -0
  348. package/esm2022/a-chart/public-api.mjs +13 -0
  349. package/esm2022/a-chart/types.mjs +7 -0
  350. package/esm2022/a-chart/utils.mjs +37 -0
  351. package/esm2022/a-metric-chart/a-metric-chart.component.mjs +903 -0
  352. package/esm2022/a-metric-chart/a-metric-chart.module.mjs +76 -0
  353. package/esm2022/a-metric-chart/bar-gauge/bar-gauge.component.mjs +166 -0
  354. package/esm2022/a-metric-chart/base-chart.component.mjs +30 -0
  355. package/esm2022/a-metric-chart/metric-chart-refresh.service.mjs +18 -0
  356. package/esm2022/a-metric-chart/public-api.mjs +15 -0
  357. package/esm2022/a-metric-chart/stat-chart/stat-chart.component.mjs +84 -0
  358. package/esm2022/a-metric-chart/table-chart/table-chart.component.mjs +201 -0
  359. package/esm2022/a-metric-chart/types.mjs +18 -0
  360. package/esm2022/a-metric-chart/utils/public-api.mjs +4 -0
  361. package/esm2022/a-metric-chart/utils/range.mjs +35 -0
  362. package/esm2022/a-metric-chart/utils/unit.mjs +83 -0
  363. package/esm2022/a-metric-chart/utils/util.mjs +225 -0
  364. package/esm2022/abnormal-page/abnormal-page.component.mjs +66 -0
  365. package/esm2022/abnormal-page/abnormal-page.module.mjs +27 -0
  366. package/esm2022/abnormal-page/public-api.mjs +3 -0
  367. package/esm2022/alauda-fe-common.mjs +5 -0
  368. package/esm2022/api/api-compatible.interceptor.mjs +101 -0
  369. package/esm2022/api/api-gateway.interceptor.mjs +28 -0
  370. package/esm2022/api/api-gateway.service.mjs +28 -0
  371. package/esm2022/api/cluster-version.service.mjs +61 -0
  372. package/esm2022/api/crypto.interceptor.mjs +186 -0
  373. package/esm2022/api/helpers.mjs +101 -0
  374. package/esm2022/api/k8s-api-resource.service.mjs +73 -0
  375. package/esm2022/api/k8s-api.service.mjs +394 -0
  376. package/esm2022/api/monitor-api.service.mjs +158 -0
  377. package/esm2022/api/page-visibility.service.mjs +18 -0
  378. package/esm2022/api/platform-ui.service.mjs +95 -0
  379. package/esm2022/api/product.service.mjs +36 -0
  380. package/esm2022/api/project-api.service.mjs +32 -0
  381. package/esm2022/api/public-api.mjs +22 -0
  382. package/esm2022/api/resource-update.service.mjs +62 -0
  383. package/esm2022/api/types.mjs +30 -0
  384. package/esm2022/array-form-table/base-string-map-form.component.mjs +92 -0
  385. package/esm2022/array-form-table/form/component.mjs +509 -0
  386. package/esm2022/array-form-table/form/module.mjs +41 -0
  387. package/esm2022/array-form-table/key-value-form/component.mjs +280 -0
  388. package/esm2022/array-form-table/key-value-table/component.mjs +74 -0
  389. package/esm2022/array-form-table/public-api.mjs +12 -0
  390. package/esm2022/array-form-table/string-array-form/component.mjs +267 -0
  391. package/esm2022/async-data/async-data-loader.mjs +63 -0
  392. package/esm2022/async-data/async-data.module.mjs +22 -0
  393. package/esm2022/async-data/error-page/component.mjs +152 -0
  394. package/esm2022/async-data/page-state/component.mjs +129 -0
  395. package/esm2022/async-data/public-api.mjs +12 -0
  396. package/esm2022/async-data/types.mjs +6 -0
  397. package/esm2022/authorization/app-init-url.mjs +33 -0
  398. package/esm2022/authorization/guard.service.mjs +42 -0
  399. package/esm2022/authorization/interceptor.service.mjs +149 -0
  400. package/esm2022/authorization/public-api.mjs +12 -0
  401. package/esm2022/authorization/session-manage.service.mjs +60 -0
  402. package/esm2022/authorization/state.service.mjs +227 -0
  403. package/esm2022/authorization/storage-token.mjs +98 -0
  404. package/esm2022/business/module-info/api.service.mjs +39 -0
  405. package/esm2022/business/module-info/public-api.mjs +2 -0
  406. package/esm2022/business/notification-disabled-container/component.mjs +87 -0
  407. package/esm2022/business/notification-disabled-container/public-api.mjs +2 -0
  408. package/esm2022/business/public-api.mjs +9 -0
  409. package/esm2022/business/resource-select/base-list.mjs +84 -0
  410. package/esm2022/business/resource-select/context.service.mjs +69 -0
  411. package/esm2022/business/resource-select/exports/cluster-selector/component.mjs +98 -0
  412. package/esm2022/business/resource-select/exports/mesh-group-selector/component.mjs +96 -0
  413. package/esm2022/business/resource-select/exports/namespace-page/component.mjs +78 -0
  414. package/esm2022/business/resource-select/exports/namespace-selector/component.mjs +186 -0
  415. package/esm2022/business/resource-select/exports/project-page/component.mjs +53 -0
  416. package/esm2022/business/resource-select/exports/project-selector/component.mjs +124 -0
  417. package/esm2022/business/resource-select/helpers.directive.mjs +13 -0
  418. package/esm2022/business/resource-select/internals/cluster-list/component.mjs +74 -0
  419. package/esm2022/business/resource-select/internals/data-grid/component.mjs +584 -0
  420. package/esm2022/business/resource-select/internals/icon/component.mjs +56 -0
  421. package/esm2022/business/resource-select/internals/meshgroup-list/component.mjs +64 -0
  422. package/esm2022/business/resource-select/internals/namespace-list/component.mjs +432 -0
  423. package/esm2022/business/resource-select/internals/no-data/component.mjs +142 -0
  424. package/esm2022/business/resource-select/internals/project-list/component.mjs +75 -0
  425. package/esm2022/business/resource-select/internals/resource-dashboard/component.mjs +79 -0
  426. package/esm2022/business/resource-select/internals/selector-popup/component.mjs +45 -0
  427. package/esm2022/business/resource-select/internals/selector-popup/ref.mjs +20 -0
  428. package/esm2022/business/resource-select/internals/selector-popup/service.mjs +60 -0
  429. package/esm2022/business/resource-select/module.mjs +166 -0
  430. package/esm2022/business/resource-select/project.service.mjs +47 -0
  431. package/esm2022/business/resource-select/public-api.mjs +17 -0
  432. package/esm2022/business/resource-select/types.mjs +17 -0
  433. package/esm2022/business/resource-select/utils.mjs +30 -0
  434. package/esm2022/chart/chart.module.mjs +120 -0
  435. package/esm2022/chart/chart.service.mjs +237 -0
  436. package/esm2022/chart/common/axis/axis-label.component.mjs +106 -0
  437. package/esm2022/chart/common/axis/x-axis-ticks.component.mjs +217 -0
  438. package/esm2022/chart/common/axis/x-axis.component.mjs +109 -0
  439. package/esm2022/chart/common/axis/x-plot-lines.component.mjs +101 -0
  440. package/esm2022/chart/common/axis/y-axis-ticks.component.mjs +233 -0
  441. package/esm2022/chart/common/axis/y-axis.component.mjs +122 -0
  442. package/esm2022/chart/common/axis/y-plot-lines.component.mjs +126 -0
  443. package/esm2022/chart/common/chart/chart.component.mjs +269 -0
  444. package/esm2022/chart/common/legend/legend.component.mjs +269 -0
  445. package/esm2022/chart/common/public-api.mjs +17 -0
  446. package/esm2022/chart/common/range-area/range-area.component.mjs +144 -0
  447. package/esm2022/chart/common/reference-area/reference-area.component.mjs +46 -0
  448. package/esm2022/chart/common/series/area-series.component.mjs +89 -0
  449. package/esm2022/chart/common/series/bar-path.component.mjs +156 -0
  450. package/esm2022/chart/common/series/bar-series.component.mjs +88 -0
  451. package/esm2022/chart/common/series/line-series.component.mjs +59 -0
  452. package/esm2022/chart/common/series/series.component.mjs +166 -0
  453. package/esm2022/chart/common/tooltip/tooltip.component.mjs +520 -0
  454. package/esm2022/chart/constants.mjs +22 -0
  455. package/esm2022/chart/custom-template/dropdown-legend.mjs +112 -0
  456. package/esm2022/chart/public-api.mjs +11 -0
  457. package/esm2022/chart/types.mjs +6 -0
  458. package/esm2022/chart/utils.mjs +117 -0
  459. package/esm2022/code/code-display-dialog/component.mjs +59 -0
  460. package/esm2022/code/code-editor-configs.mjs +66 -0
  461. package/esm2022/code/code.module.mjs +74 -0
  462. package/esm2022/code/k8s-yaml-display-dialog/component.mjs +53 -0
  463. package/esm2022/code/public-api.mjs +12 -0
  464. package/esm2022/code/resource-yaml-display/component.mjs +133 -0
  465. package/esm2022/core/abstract/base-form-container.mjs +131 -0
  466. package/esm2022/core/abstract/base-nested-form-control.mjs +195 -0
  467. package/esm2022/core/abstract/public-api.mjs +3 -0
  468. package/esm2022/core/components/public-api.mjs +7 -0
  469. package/esm2022/core/components/tree/module.mjs +41 -0
  470. package/esm2022/core/components/tree/node/component.mjs +47 -0
  471. package/esm2022/core/components/tree/outlet.mjs +34 -0
  472. package/esm2022/core/components/tree/padding.mjs +41 -0
  473. package/esm2022/core/components/tree/toggle.mjs +44 -0
  474. package/esm2022/core/components/tree/tree/component.mjs +27 -0
  475. package/esm2022/core/constants/constants.mjs +85 -0
  476. package/esm2022/core/constants/patterns.mjs +126 -0
  477. package/esm2022/core/constants/public-api.mjs +6 -0
  478. package/esm2022/core/constants/status-icons.mjs +60 -0
  479. package/esm2022/core/constants/timezones.mjs +234 -0
  480. package/esm2022/core/constants/tokens.mjs +84 -0
  481. package/esm2022/core/directives/click-outside.directive.mjs +51 -0
  482. package/esm2022/core/directives/disabled.directive.mjs +76 -0
  483. package/esm2022/core/directives/feature-gate.directive.mjs +87 -0
  484. package/esm2022/core/directives/intercept-deactivate.directive.mjs +52 -0
  485. package/esm2022/core/directives/last-form-item.directive.mjs +18 -0
  486. package/esm2022/core/directives/page-header-content.directive.mjs +41 -0
  487. package/esm2022/core/directives/public-api.mjs +11 -0
  488. package/esm2022/core/directives/readonly-field.directive.mjs +157 -0
  489. package/esm2022/core/directives/resize.directive.mjs +39 -0
  490. package/esm2022/core/directives/scroll-border-observer.directive.mjs +77 -0
  491. package/esm2022/core/directives/scroll-to-first-invalid.directive.mjs +130 -0
  492. package/esm2022/core/guards/feature.guard.mjs +58 -0
  493. package/esm2022/core/guards/intercept-deactivate.guard.mjs +40 -0
  494. package/esm2022/core/guards/leave-edit-page.guard.mjs +32 -0
  495. package/esm2022/core/guards/project-namespace.guard.mjs +70 -0
  496. package/esm2022/core/guards/public-api.mjs +5 -0
  497. package/esm2022/core/module.mjs +145 -0
  498. package/esm2022/core/pipes/cron-human-readable.pipe.mjs +33 -0
  499. package/esm2022/core/pipes/crontab-next.pipe.mjs +62 -0
  500. package/esm2022/core/pipes/duration.pipe.mjs +51 -0
  501. package/esm2022/core/pipes/field-not-available.pipe.mjs +25 -0
  502. package/esm2022/core/pipes/img-header.pipe.mjs +18 -0
  503. package/esm2022/core/pipes/img-theme.pipe.mjs +38 -0
  504. package/esm2022/core/pipes/k8s-util.pipe.mjs +196 -0
  505. package/esm2022/core/pipes/k8s-util.pipe.module.mjs +56 -0
  506. package/esm2022/core/pipes/keyvalue.pipe.mjs +20 -0
  507. package/esm2022/core/pipes/marked.pipe.mjs +17 -0
  508. package/esm2022/core/pipes/minimum-format.pipe.mjs +24 -0
  509. package/esm2022/core/pipes/page-env.pipe.mjs +66 -0
  510. package/esm2022/core/pipes/parse-json-translate.pipe.mjs +29 -0
  511. package/esm2022/core/pipes/parse-json.pipe.mjs +22 -0
  512. package/esm2022/core/pipes/public-api.mjs +19 -0
  513. package/esm2022/core/pipes/safe.pipe.mjs +49 -0
  514. package/esm2022/core/pipes/sanitize.pipe.mjs +31 -0
  515. package/esm2022/core/pipes/time.pipe.mjs +115 -0
  516. package/esm2022/core/pipes/timezone-display.pipe.mjs +21 -0
  517. package/esm2022/core/public-api.mjs +17 -0
  518. package/esm2022/core/services/aui-paginator-intl.service.mjs +26 -0
  519. package/esm2022/core/services/aui-tooltip-copy-intl.service.mjs +24 -0
  520. package/esm2022/core/services/context.service.mjs +48 -0
  521. package/esm2022/core/services/custom-code-editor-intl.service.mjs +54 -0
  522. package/esm2022/core/services/feature-gate.service.mjs +73 -0
  523. package/esm2022/core/services/form-row-duplicate/form-row-duplicate.service.mjs +280 -0
  524. package/esm2022/core/services/intercept-deactivate.service.mjs +78 -0
  525. package/esm2022/core/services/k8s-util.service.mjs +179 -0
  526. package/esm2022/core/services/on-resize.service.mjs +52 -0
  527. package/esm2022/core/services/public-api.mjs +15 -0
  528. package/esm2022/core/services/silently-navigate.service.mjs +28 -0
  529. package/esm2022/core/services/time.service.mjs +46 -0
  530. package/esm2022/core/services/ui-state.service.mjs +68 -0
  531. package/esm2022/core/services/workspace-helper.service.mjs +21 -0
  532. package/esm2022/core/services/yaml-util.service.mjs +98 -0
  533. package/esm2022/core/types/commons.mjs +6 -0
  534. package/esm2022/core/types/helpers.mjs +12 -0
  535. package/esm2022/core/types/k8s/core.mjs +2 -0
  536. package/esm2022/core/types/k8s/crd.mjs +41 -0
  537. package/esm2022/core/types/k8s/public-api.mjs +4 -0
  538. package/esm2022/core/types/k8s/raw.mjs +124 -0
  539. package/esm2022/core/types/public-api.mjs +11 -0
  540. package/esm2022/core/types/resource-definitions.mjs +423 -0
  541. package/esm2022/core/types/schema.mjs +2 -0
  542. package/esm2022/core/utils/browser.mjs +19 -0
  543. package/esm2022/core/utils/cache-store.mjs +55 -0
  544. package/esm2022/core/utils/color-helpers.mjs +6 -0
  545. package/esm2022/core/utils/common.mjs +313 -0
  546. package/esm2022/core/utils/create-recursive-filter.mjs +57 -0
  547. package/esm2022/core/utils/cron-util.mjs +44 -0
  548. package/esm2022/core/utils/decorators.mjs +137 -0
  549. package/esm2022/core/utils/format-number.mjs +229 -0
  550. package/esm2022/core/utils/k8s-util.mjs +99 -0
  551. package/esm2022/core/utils/local-storage-constants.mjs +2 -0
  552. package/esm2022/core/utils/node.mjs +18 -0
  553. package/esm2022/core/utils/observable.mjs +32 -0
  554. package/esm2022/core/utils/operators.mjs +32 -0
  555. package/esm2022/core/utils/public-api.mjs +23 -0
  556. package/esm2022/core/utils/request-pool.mjs +37 -0
  557. package/esm2022/core/utils/resources.mjs +66 -0
  558. package/esm2022/core/utils/sort-fn.mjs +7 -0
  559. package/esm2022/core/utils/tree.mjs +79 -0
  560. package/esm2022/core/utils/unit.mjs +187 -0
  561. package/esm2022/core/utils/version.mjs +76 -0
  562. package/esm2022/core/utils/with-load-state.mjs +21 -0
  563. package/esm2022/core/utils/workspace.mjs +59 -0
  564. package/esm2022/core/utils/yaml.mjs +54 -0
  565. package/esm2022/custom-columns-setting/component.mjs +107 -0
  566. package/esm2022/custom-columns-setting/public-api.mjs +2 -0
  567. package/esm2022/disabled-container/disabled-container.component.mjs +88 -0
  568. package/esm2022/disabled-container/disabled-container.module.mjs +28 -0
  569. package/esm2022/disabled-container/public-api.mjs +9 -0
  570. package/esm2022/editable-text/component.mjs +96 -0
  571. package/esm2022/editable-text/module.mjs +44 -0
  572. package/esm2022/editable-text/public-api.mjs +3 -0
  573. package/esm2022/effect-directive/coerce-number.directive.mjs +57 -0
  574. package/esm2022/effect-directive/e2e-attribute-binding.directive.mjs +57 -0
  575. package/esm2022/effect-directive/event.directive.mjs +56 -0
  576. package/esm2022/effect-directive/min-max.directive.mjs +111 -0
  577. package/esm2022/effect-directive/module.mjs +46 -0
  578. package/esm2022/effect-directive/public-api.mjs +8 -0
  579. package/esm2022/effect-directive/trim.directive.mjs +43 -0
  580. package/esm2022/effect-directive/validators.directive.mjs +43 -0
  581. package/esm2022/errors-mapper/base-errors-mapper.mjs +42 -0
  582. package/esm2022/errors-mapper/default-errors-mapper.service.mjs +65 -0
  583. package/esm2022/errors-mapper/errors-mapper-component/component.mjs +71 -0
  584. package/esm2022/errors-mapper/errors-mapper.directive.mjs +115 -0
  585. package/esm2022/errors-mapper/errors-mapper.module.mjs +18 -0
  586. package/esm2022/errors-mapper/public-api.mjs +5 -0
  587. package/esm2022/errors-mapper/types.mjs +2 -0
  588. package/esm2022/exec/constants.mjs +64 -0
  589. package/esm2022/exec/module.mjs +82 -0
  590. package/esm2022/exec/placeholder/component.mjs +42 -0
  591. package/esm2022/exec/public-api.mjs +8 -0
  592. package/esm2022/exec/service.mjs +37 -0
  593. package/esm2022/exec/terminal/component.mjs +567 -0
  594. package/esm2022/exec/terminal-group/component.mjs +206 -0
  595. package/esm2022/exec/types.mjs +2 -0
  596. package/esm2022/feature-gate-forbidden/component/component.mjs +36 -0
  597. package/esm2022/feature-gate-forbidden/module.mjs +28 -0
  598. package/esm2022/feature-gate-forbidden/public-api.mjs +3 -0
  599. package/esm2022/form/labels-editor/component.mjs +239 -0
  600. package/esm2022/form/public-api.mjs +5 -0
  601. package/esm2022/form/taints-editor/component.mjs +210 -0
  602. package/esm2022/form/utils.mjs +61 -0
  603. package/esm2022/form/validators/async-function-validator.directive.mjs +48 -0
  604. package/esm2022/form/validators/dns1123-subdomain.mjs +42 -0
  605. package/esm2022/form/validators/function-validator.directive.mjs +48 -0
  606. package/esm2022/form/validators/maxlength-minlength-validator.directive.mjs +69 -0
  607. package/esm2022/form/validators/module.mjs +42 -0
  608. package/esm2022/form/validators/not-be-validator.directive.mjs +55 -0
  609. package/esm2022/form/validators/one-of-validator.directive.mjs +56 -0
  610. package/esm2022/form/validators/public-api.mjs +11 -0
  611. package/esm2022/form/validators/resource-limit.mjs +79 -0
  612. package/esm2022/form/validators/strong-password/public-api.mjs +4 -0
  613. package/esm2022/form/validators/strong-password/strong-password-tooltip/component.mjs +102 -0
  614. package/esm2022/form/validators/strong-password/strong-password-validator.directive.mjs +172 -0
  615. package/esm2022/form/validators/strong-password/strong-password-validator.module.mjs +42 -0
  616. package/esm2022/form/validators/utils.mjs +107 -0
  617. package/esm2022/graph-canvas/components/graph-actions.component.mjs +48 -0
  618. package/esm2022/graph-canvas/components/graph-canvas.component.mjs +357 -0
  619. package/esm2022/graph-canvas/components/graph-link.component.mjs +146 -0
  620. package/esm2022/graph-canvas/components/graph-links.component.mjs +19 -0
  621. package/esm2022/graph-canvas/components/graph-node.directive.mjs +30 -0
  622. package/esm2022/graph-canvas/graph-canvas.module.mjs +49 -0
  623. package/esm2022/graph-canvas/graph-store.service.mjs +56 -0
  624. package/esm2022/graph-canvas/public-api.mjs +8 -0
  625. package/esm2022/graph-canvas/types.mjs +2 -0
  626. package/esm2022/graph-canvas/utils.mjs +16 -0
  627. package/esm2022/grid-layout/components/grid/component.mjs +286 -0
  628. package/esm2022/grid-layout/components/grid-items/component.mjs +228 -0
  629. package/esm2022/grid-layout/constant.mjs +7 -0
  630. package/esm2022/grid-layout/directives/drag-handler.directive.mjs +29 -0
  631. package/esm2022/grid-layout/directives/placeholder.directive.mjs +36 -0
  632. package/esm2022/grid-layout/directives/remove-handler.directive.mjs +22 -0
  633. package/esm2022/grid-layout/directives/resize-handler.directive.mjs +29 -0
  634. package/esm2022/grid-layout/grid-layout.service.mjs +85 -0
  635. package/esm2022/grid-layout/grid-placeholder.service.mjs +45 -0
  636. package/esm2022/grid-layout/module.mjs +38 -0
  637. package/esm2022/grid-layout/public-api.mjs +11 -0
  638. package/esm2022/grid-layout/type.mjs +6 -0
  639. package/esm2022/grid-layout/utils/client-rect.utils.mjs +12 -0
  640. package/esm2022/grid-layout/utils/grid.utils.mjs +247 -0
  641. package/esm2022/grid-layout/utils/mouse.utils.mjs +50 -0
  642. package/esm2022/grid-layout/utils/operator.mjs +6 -0
  643. package/esm2022/grid-layout/utils/react-grid-layout.utils.mjs +471 -0
  644. package/esm2022/grid-layout/utils/scroll.utils.mjs +209 -0
  645. package/esm2022/help-document/component.mjs +101 -0
  646. package/esm2022/help-document/directive.mjs +141 -0
  647. package/esm2022/help-document/module.mjs +46 -0
  648. package/esm2022/help-document/public-api.mjs +10 -0
  649. package/esm2022/help-document/service.mjs +60 -0
  650. package/esm2022/iframe-config/config.service.mjs +49 -0
  651. package/esm2022/iframe-config/constants.mjs +8 -0
  652. package/esm2022/iframe-config/public-api.mjs +9 -0
  653. package/esm2022/k8s-resource-list/footer/component.mjs +331 -0
  654. package/esm2022/k8s-resource-list/k8s-resource-list.mjs +226 -0
  655. package/esm2022/k8s-resource-list/k8s-resource-list.module.mjs +43 -0
  656. package/esm2022/k8s-resource-list/k8s-resource-paged-list.mjs +175 -0
  657. package/esm2022/k8s-resource-list/public-api.mjs +13 -0
  658. package/esm2022/k8s-resource-list/types.mjs +11 -0
  659. package/esm2022/k8s-resource-list/utils.mjs +81 -0
  660. package/esm2022/k8s-shared/k8s-shared-util.service.mjs +152 -0
  661. package/esm2022/k8s-shared/public-api.mjs +10 -0
  662. package/esm2022/k8s-shared/update-description-dialog/component.mjs +112 -0
  663. package/esm2022/k8s-shared/update-display-name-dialog/component.mjs +133 -0
  664. package/esm2022/k8s-shared/update-key-value-dialog/component.mjs +111 -0
  665. package/esm2022/license/license-api.mjs +55 -0
  666. package/esm2022/license/license-error/component.mjs +113 -0
  667. package/esm2022/license/license-error/module.mjs +55 -0
  668. package/esm2022/license/license.guard.mjs +54 -0
  669. package/esm2022/license/license.service.mjs +53 -0
  670. package/esm2022/license/license.type.mjs +24 -0
  671. package/esm2022/license/public-api.mjs +12 -0
  672. package/esm2022/metric-chart/common-chart.service.mjs +77 -0
  673. package/esm2022/metric-chart/helpers.mjs +111 -0
  674. package/esm2022/metric-chart/metric-chart.component.mjs +346 -0
  675. package/esm2022/metric-chart/metric-chart.module.mjs +61 -0
  676. package/esm2022/metric-chart/metric-time-pick.mjs +114 -0
  677. package/esm2022/metric-chart/public-api.mjs +13 -0
  678. package/esm2022/metric-chart/types.mjs +2 -0
  679. package/esm2022/metric-chart/utils.mjs +220 -0
  680. package/esm2022/multi-search/action-input/component.mjs +1055 -0
  681. package/esm2022/multi-search/form/component.mjs +379 -0
  682. package/esm2022/multi-search/multi-search-tags/component.mjs +129 -0
  683. package/esm2022/multi-search/public-api.mjs +5 -0
  684. package/esm2022/multi-search/types.mjs +2 -0
  685. package/esm2022/multi-search/utils.mjs +48 -0
  686. package/esm2022/mutable/element.mjs +23 -0
  687. package/esm2022/mutable/mosaic/mosaic.component.mjs +98 -0
  688. package/esm2022/mutable/mosaic/mosaic.directive.mjs +23 -0
  689. package/esm2022/mutable/mutable.directive.mjs +356 -0
  690. package/esm2022/mutable/mutable.module.mjs +41 -0
  691. package/esm2022/mutable/public-api.mjs +6 -0
  692. package/esm2022/mutable/util.mjs +16 -0
  693. package/esm2022/notification/errors-mapper.mjs +28 -0
  694. package/esm2022/notification/feedback-notification/component.mjs +95 -0
  695. package/esm2022/notification/helpers.mjs +4 -0
  696. package/esm2022/notification/notification-util.module.mjs +32 -0
  697. package/esm2022/notification/notification-util.service.mjs +156 -0
  698. package/esm2022/notification/public-api.mjs +13 -0
  699. package/esm2022/notification/resource-error.interceptor.mjs +60 -0
  700. package/esm2022/overview-banner/overview-banner.component.mjs +34 -0
  701. package/esm2022/overview-banner/overview-banner.module.mjs +20 -0
  702. package/esm2022/overview-banner/overview-banner.types.mjs +2 -0
  703. package/esm2022/overview-banner/public-api.mjs +4 -0
  704. package/esm2022/page-guard/component/component.mjs +295 -0
  705. package/esm2022/page-guard/component/helper-directives.mjs +51 -0
  706. package/esm2022/page-guard/component/page-guard.type.mjs +82 -0
  707. package/esm2022/page-guard/module.mjs +37 -0
  708. package/esm2022/page-guard/public-api.mjs +11 -0
  709. package/esm2022/page-scaffold/module.mjs +21 -0
  710. package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb-slot.directive.mjs +26 -0
  711. package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.component.mjs +266 -0
  712. package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.service.mjs +27 -0
  713. package/esm2022/page-scaffold/navigation/breadcrumb/module.mjs +44 -0
  714. package/esm2022/page-scaffold/navigation/breadcrumb/public-api.mjs +5 -0
  715. package/esm2022/page-scaffold/navigation/lottie-icons/animation-data.mjs +113 -0
  716. package/esm2022/page-scaffold/navigation/lottie-icons/animations/alarm.json +1 -0
  717. package/esm2022/page-scaffold/navigation/lottie-icons/animations/app.json +1 -0
  718. package/esm2022/page-scaffold/navigation/lottie-icons/animations/application.json +1 -0
  719. package/esm2022/page-scaffold/navigation/lottie-icons/animations/artifactory.json +1 -0
  720. package/esm2022/page-scaffold/navigation/lottie-icons/animations/audit.json +1 -0
  721. package/esm2022/page-scaffold/navigation/lottie-icons/animations/auxiliary_function.json +1 -0
  722. package/esm2022/page-scaffold/navigation/lottie-icons/animations/backup.json +1 -0
  723. package/esm2022/page-scaffold/navigation/lottie-icons/animations/bar_chart.json +1 -0
  724. package/esm2022/page-scaffold/navigation/lottie-icons/animations/bill.json +1 -0
  725. package/esm2022/page-scaffold/navigation/lottie-icons/animations/catalog.json +1 -0
  726. package/esm2022/page-scaffold/navigation/lottie-icons/animations/certificate.json +1 -0
  727. package/esm2022/page-scaffold/navigation/lottie-icons/animations/ci.json +1 -0
  728. package/esm2022/page-scaffold/navigation/lottie-icons/animations/code.json +1 -0
  729. package/esm2022/page-scaffold/navigation/lottie-icons/animations/data_service.json +1 -0
  730. package/esm2022/page-scaffold/navigation/lottie-icons/animations/devops.json +1 -0
  731. package/esm2022/page-scaffold/navigation/lottie-icons/animations/devops_tools.json +1 -0
  732. package/esm2022/page-scaffold/navigation/lottie-icons/animations/events.json +1 -0
  733. package/esm2022/page-scaffold/navigation/lottie-icons/animations/file.json +1 -0
  734. package/esm2022/page-scaffold/navigation/lottie-icons/animations/gateway.json +1 -0
  735. package/esm2022/page-scaffold/navigation/lottie-icons/animations/gitops.json +1 -0
  736. package/esm2022/page-scaffold/navigation/lottie-icons/animations/inspection.json +1 -0
  737. package/esm2022/page-scaffold/navigation/lottie-icons/animations/internet.json +1 -0
  738. package/esm2022/page-scaffold/navigation/lottie-icons/animations/kafka.json +1 -0
  739. package/esm2022/page-scaffold/navigation/lottie-icons/animations/log.json +1 -0
  740. package/esm2022/page-scaffold/navigation/lottie-icons/animations/member.json +1 -0
  741. package/esm2022/page-scaffold/navigation/lottie-icons/animations/mongodb.json +1 -0
  742. package/esm2022/page-scaffold/navigation/lottie-icons/animations/monitor.json +1 -0
  743. package/esm2022/page-scaffold/navigation/lottie-icons/animations/mysql.json +1 -0
  744. package/esm2022/page-scaffold/navigation/lottie-icons/animations/namespace.json +1 -0
  745. package/esm2022/page-scaffold/navigation/lottie-icons/animations/notice.json +1 -0
  746. package/esm2022/page-scaffold/navigation/lottie-icons/animations/oam.json +1 -0
  747. package/esm2022/page-scaffold/navigation/lottie-icons/animations/operation_center.json +1 -0
  748. package/esm2022/page-scaffold/navigation/lottie-icons/animations/params_template.json +1 -0
  749. package/esm2022/page-scaffold/navigation/lottie-icons/animations/pipeline.json +1 -0
  750. package/esm2022/page-scaffold/navigation/lottie-icons/animations/platform_settings.json +1 -0
  751. package/esm2022/page-scaffold/navigation/lottie-icons/animations/postgresql.json +1 -0
  752. package/esm2022/page-scaffold/navigation/lottie-icons/animations/product.json +1 -0
  753. package/esm2022/page-scaffold/navigation/lottie-icons/animations/proj.json +1 -0
  754. package/esm2022/page-scaffold/navigation/lottie-icons/animations/rabbitmq.json +1 -0
  755. package/esm2022/page-scaffold/navigation/lottie-icons/animations/redis.json +1 -0
  756. package/esm2022/page-scaffold/navigation/lottie-icons/animations/resource_list.json +1 -0
  757. package/esm2022/page-scaffold/navigation/lottie-icons/animations/rocketmq.json +1 -0
  758. package/esm2022/page-scaffold/navigation/lottie-icons/animations/scrum.json +1 -0
  759. package/esm2022/page-scaffold/navigation/lottie-icons/animations/secrets.json +1 -0
  760. package/esm2022/page-scaffold/navigation/lottie-icons/animations/security.json +1 -0
  761. package/esm2022/page-scaffold/navigation/lottie-icons/animations/server.json +1 -0
  762. package/esm2022/page-scaffold/navigation/lottie-icons/animations/service_mesh.json +1 -0
  763. package/esm2022/page-scaffold/navigation/lottie-icons/animations/sitemap.json +1 -0
  764. package/esm2022/page-scaffold/navigation/lottie-icons/animations/sliders_up.json +1 -0
  765. package/esm2022/page-scaffold/navigation/lottie-icons/animations/storage.json +1 -0
  766. package/esm2022/page-scaffold/navigation/lottie-icons/animations/test_management.json +1 -0
  767. package/esm2022/page-scaffold/navigation/lottie-icons/animations/topology.json +1 -0
  768. package/esm2022/page-scaffold/navigation/lottie-icons/animations/user_role.json +1 -0
  769. package/esm2022/page-scaffold/navigation/lottie-icons/animations/view_jaeger.json +1 -0
  770. package/esm2022/page-scaffold/navigation/lottie-icons/animations/virtualization.json +1 -0
  771. package/esm2022/page-scaffold/navigation/lottie-icons/lottie-icon.directive.mjs +91 -0
  772. package/esm2022/page-scaffold/navigation/lottie-icons/module.mjs +17 -0
  773. package/esm2022/page-scaffold/navigation/lottie-icons/public-api.mjs +3 -0
  774. package/esm2022/page-scaffold/navigation/lottie-icons/replace-lottie-colors.mjs +70 -0
  775. package/esm2022/page-scaffold/navigation/module.mjs +18 -0
  776. package/esm2022/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.mjs +443 -0
  777. package/esm2022/page-scaffold/navigation/nav-menu/nav-item-ul/nav-item-ul.component.mjs +83 -0
  778. package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.component.mjs +185 -0
  779. package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.module.mjs +63 -0
  780. package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.types.mjs +2 -0
  781. package/esm2022/page-scaffold/navigation/nav-menu/public-api.mjs +4 -0
  782. package/esm2022/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.mjs +175 -0
  783. package/esm2022/page-scaffold/navigation/navconfig-loader/public-api.mjs +8 -0
  784. package/esm2022/page-scaffold/navigation/public-api.mjs +7 -0
  785. package/esm2022/page-scaffold/navigation/utils.mjs +12 -0
  786. package/esm2022/page-scaffold/page/context.service.mjs +22 -0
  787. package/esm2022/page-scaffold/page/helper-directives.mjs +66 -0
  788. package/esm2022/page-scaffold/page/notices/maintenance.component.mjs +152 -0
  789. package/esm2022/page-scaffold/page/notices/notice.component.mjs +129 -0
  790. package/esm2022/page-scaffold/page/page.component.mjs +148 -0
  791. package/esm2022/page-scaffold/page/page.module.mjs +67 -0
  792. package/esm2022/page-scaffold/page/public-api.mjs +5 -0
  793. package/esm2022/page-scaffold/page-header/account-menu/component/component.mjs +199 -0
  794. package/esm2022/page-scaffold/page-header/account-menu/module.mjs +43 -0
  795. package/esm2022/page-scaffold/page-header/account-menu/public-api.mjs +8 -0
  796. package/esm2022/page-scaffold/page-header/common-layout/common-layout.module.mjs +75 -0
  797. package/esm2022/page-scaffold/page-header/common-layout/context.service.mjs +86 -0
  798. package/esm2022/page-scaffold/page-header/common-layout/namespace-select/component.mjs +270 -0
  799. package/esm2022/page-scaffold/page-header/common-layout/product-select/component.mjs +272 -0
  800. package/esm2022/page-scaffold/page-header/common-layout/product-select/service.mjs +19 -0
  801. package/esm2022/page-scaffold/page-header/common-layout/project-select/base-selection.mjs +122 -0
  802. package/esm2022/page-scaffold/page-header/common-layout/public-api.mjs +14 -0
  803. package/esm2022/page-scaffold/page-header/common-layout/store.service.mjs +58 -0
  804. package/esm2022/page-scaffold/page-header/common-layout/utils.mjs +7 -0
  805. package/esm2022/page-scaffold/page-header/component.mjs +104 -0
  806. package/esm2022/page-scaffold/page-header/enterprise-support-status/component.mjs +131 -0
  807. package/esm2022/page-scaffold/page-header/header-notify/component/header-notify.component.mjs +136 -0
  808. package/esm2022/page-scaffold/page-header/header-notify/component/notification-list/notification-list.component.mjs +95 -0
  809. package/esm2022/page-scaffold/page-header/header-notify/header-notify.module.mjs +71 -0
  810. package/esm2022/page-scaffold/page-header/header-notify/notify.service.mjs +282 -0
  811. package/esm2022/page-scaffold/page-header/header-notify/public-api.mjs +10 -0
  812. package/esm2022/page-scaffold/page-header/header-notify/utils.mjs +44 -0
  813. package/esm2022/page-scaffold/page-header/help-menu/component/component.mjs +306 -0
  814. package/esm2022/page-scaffold/page-header/help-menu/module.mjs +65 -0
  815. package/esm2022/page-scaffold/page-header/help-menu/public-api.mjs +8 -0
  816. package/esm2022/page-scaffold/page-header/module.mjs +61 -0
  817. package/esm2022/page-scaffold/page-header/public-api.mjs +14 -0
  818. package/esm2022/page-scaffold/public-api.mjs +5 -0
  819. package/esm2022/permission/constants.mjs +2 -0
  820. package/esm2022/permission/helpers.mjs +40 -0
  821. package/esm2022/permission/k8s-permission.service.mjs +109 -0
  822. package/esm2022/permission/permission.guard.mjs +108 -0
  823. package/esm2022/permission/public-api.mjs +12 -0
  824. package/esm2022/permission/types.mjs +38 -0
  825. package/esm2022/pie-derivative-chart/donut-status/component.mjs +195 -0
  826. package/esm2022/pie-derivative-chart/indicator-color.directive.mjs +30 -0
  827. package/esm2022/pie-derivative-chart/numerical-limit.pipe.mjs +26 -0
  828. package/esm2022/pie-derivative-chart/pie-derivative-chart.module.mjs +67 -0
  829. package/esm2022/pie-derivative-chart/public-api.mjs +11 -0
  830. package/esm2022/pie-derivative-chart/radial-bar/radial-bar-chart.component.mjs +244 -0
  831. package/esm2022/public-api.mjs +45 -0
  832. package/esm2022/scm/declare.directive.mjs +27 -0
  833. package/esm2022/scm/password-input/component.mjs +261 -0
  834. package/esm2022/scm/password-input/module.mjs +68 -0
  835. package/esm2022/scm/password-input/public-api.mjs +3 -0
  836. package/esm2022/scm/public-api.mjs +10 -0
  837. package/esm2022/scm/pure-pipe/calc.pipe.mjs +21 -0
  838. package/esm2022/scm/pure-pipe/module.mjs +18 -0
  839. package/esm2022/scm/pure-pipe/public-api.mjs +4 -0
  840. package/esm2022/scm/pure-pipe/pure.pipe.mjs +26 -0
  841. package/esm2022/scm/resource-multi-select/component.mjs +212 -0
  842. package/esm2022/scm/resource-multi-select/util.mjs +24 -0
  843. package/esm2022/scm/search-panel/component.mjs +86 -0
  844. package/esm2022/scm/search-panel/helper.directive.mjs +14 -0
  845. package/esm2022/scm/search-panel/search-item/component.mjs +28 -0
  846. package/esm2022/scm/text-ellipsis/component.mjs +55 -0
  847. package/esm2022/searchable-selector/component.mjs +277 -0
  848. package/esm2022/searchable-selector/module.mjs +63 -0
  849. package/esm2022/searchable-selector/public-api.mjs +3 -0
  850. package/esm2022/skeleton/item/component.mjs +44 -0
  851. package/esm2022/skeleton/module.mjs +26 -0
  852. package/esm2022/skeleton/nav-skeleton/component.mjs +35 -0
  853. package/esm2022/skeleton/public-api.mjs +4 -0
  854. package/esm2022/table/component.mjs +821 -0
  855. package/esm2022/table/constants.mjs +4 -0
  856. package/esm2022/table/helper.mjs +16 -0
  857. package/esm2022/table/helpers.directive.mjs +18 -0
  858. package/esm2022/table/module.mjs +82 -0
  859. package/esm2022/table/public-api.mjs +7 -0
  860. package/esm2022/table/types.mjs +2 -0
  861. package/esm2022/table/util.service.mjs +81 -0
  862. package/esm2022/translate/constants.mjs +13 -0
  863. package/esm2022/translate/en.json +559 -0
  864. package/esm2022/translate/helpers.mjs +22 -0
  865. package/esm2022/translate/pick-locale.pipe.mjs +34 -0
  866. package/esm2022/translate/public-api.mjs +16 -0
  867. package/esm2022/translate/tokens.mjs +13 -0
  868. package/esm2022/translate/translate.directive.mjs +164 -0
  869. package/esm2022/translate/translate.module.mjs +91 -0
  870. package/esm2022/translate/translate.pipe.mjs +72 -0
  871. package/esm2022/translate/translate.service.mjs +327 -0
  872. package/esm2022/translate/types.mjs +6 -0
  873. package/esm2022/translate/zh.json +559 -0
  874. package/esm2022/view-chart/custom-template/dropdown-legend.mjs +115 -0
  875. package/esm2022/view-chart/legend/legend.component.mjs +263 -0
  876. package/esm2022/view-chart/public-api.mjs +9 -0
  877. package/esm2022/view-chart/types.mjs +2 -0
  878. package/esm2022/view-chart/view-chart.component.mjs +845 -0
  879. package/esm2022/view-chart/view-chart.module.mjs +63 -0
  880. package/esm2022/view-zchart/custom-template/dropdown-legend.mjs +115 -0
  881. package/esm2022/view-zchart/legend/legend.component.mjs +270 -0
  882. package/esm2022/view-zchart/public-api.mjs +8 -0
  883. package/esm2022/view-zchart/types.mjs +2 -0
  884. package/esm2022/view-zchart/units.mjs +28 -0
  885. package/esm2022/view-zchart/view-zchart.component.mjs +1004 -0
  886. package/esm2022/view-zchart/view-zchart.module.mjs +63 -0
  887. package/esm2022/widget/card-section/card-section.component.mjs +33 -0
  888. package/esm2022/widget/confirm-delete/confirm-delete.component.mjs +342 -0
  889. package/esm2022/widget/confirm-delete/utils.mjs +8 -0
  890. package/esm2022/widget/current-time/component.mjs +42 -0
  891. package/esm2022/widget/date-range-picker/component.mjs +316 -0
  892. package/esm2022/widget/date-range-picker/public-api.mjs +4 -0
  893. package/esm2022/widget/date-range-picker/type.mjs +2 -0
  894. package/esm2022/widget/date-range-picker/util.mjs +57 -0
  895. package/esm2022/widget/field-set/column/component.mjs +34 -0
  896. package/esm2022/widget/field-set/group/component.mjs +22 -0
  897. package/esm2022/widget/field-set/index.mjs +14 -0
  898. package/esm2022/widget/field-set/item/component.mjs +60 -0
  899. package/esm2022/widget/foldable-block/component.mjs +109 -0
  900. package/esm2022/widget/foldable-item-in-table/component.mjs +126 -0
  901. package/esm2022/widget/loading-mask/loading-mask.component.mjs +75 -0
  902. package/esm2022/widget/public-api.mjs +19 -0
  903. package/esm2022/widget/relative-time/component.mjs +60 -0
  904. package/esm2022/widget/select-prefix-label/directive.mjs +89 -0
  905. package/esm2022/widget/status-icon/status-icon.component.mjs +102 -0
  906. package/esm2022/widget/tags-label/component.mjs +374 -0
  907. package/esm2022/widget/terminating-tag/component.mjs +27 -0
  908. package/esm2022/widget/text-tooltip/directive.mjs +73 -0
  909. package/esm2022/widget/text-with-url/component.mjs +76 -0
  910. package/esm2022/widget/widget.module.mjs +140 -0
  911. package/esm2022/widget/zero-state/zero-state.component.mjs +96 -0
  912. package/esm2022/window-channel/base-window-channel.mjs +38 -0
  913. package/esm2022/window-channel/directives/host-link.directive.mjs +43 -0
  914. package/esm2022/window-channel/host-window-channel.service.mjs +83 -0
  915. package/esm2022/window-channel/plugin-window-channel.service.mjs +38 -0
  916. package/esm2022/window-channel/public-api.mjs +5 -0
  917. package/esm2022/window-channel/utils.mjs +12 -0
  918. package/esm2022/xterm/public-api.mjs +4 -0
  919. package/esm2022/xterm/xterm-terminal/xterm-terminal.component.mjs +284 -0
  920. package/esm2022/xterm/xterm-terminal/xterm-terminal.directive.mjs +25 -0
  921. package/esm2022/xterm/xterm.component.mjs +131 -0
  922. package/exec/constants.d.ts +13 -0
  923. package/exec/module.d.ts +17 -0
  924. package/exec/placeholder/component.d.ts +20 -0
  925. package/exec/public-api.d.ts +7 -0
  926. package/exec/service.d.ts +12 -0
  927. package/exec/terminal/component.d.ts +95 -0
  928. package/exec/terminal-group/component.d.ts +41 -0
  929. package/exec/types.d.ts +14 -0
  930. package/feature-gate-forbidden/component/component.d.ts +6 -0
  931. package/feature-gate-forbidden/module.d.ts +11 -0
  932. package/feature-gate-forbidden/public-api.d.ts +2 -0
  933. package/form/labels-editor/component.d.ts +31 -0
  934. package/form/public-api.d.ts +4 -0
  935. package/form/taints-editor/component.d.ts +22 -0
  936. package/form/utils.d.ts +40 -0
  937. package/form/validators/async-function-validator.directive.d.ts +11 -0
  938. package/form/validators/dns1123-subdomain.d.ts +28 -0
  939. package/form/validators/function-validator.directive.d.ts +11 -0
  940. package/form/validators/maxlength-minlength-validator.directive.d.ts +20 -0
  941. package/form/validators/module.d.ts +13 -0
  942. package/form/validators/not-be-validator.directive.d.ts +12 -0
  943. package/form/validators/one-of-validator.directive.d.ts +12 -0
  944. package/form/validators/public-api.d.ts +10 -0
  945. package/form/validators/resource-limit.d.ts +16 -0
  946. package/form/validators/strong-password/public-api.d.ts +3 -0
  947. package/form/validators/strong-password/strong-password-tooltip/component.d.ts +6 -0
  948. package/form/validators/strong-password/strong-password-validator.directive.d.ts +34 -0
  949. package/form/validators/strong-password/strong-password-validator.module.d.ts +12 -0
  950. package/form/validators/utils.d.ts +57 -0
  951. package/graph-canvas/components/graph-actions.component.d.ts +8 -0
  952. package/graph-canvas/components/graph-canvas.component.d.ts +48 -0
  953. package/graph-canvas/components/graph-link.component.d.ts +26 -0
  954. package/graph-canvas/components/graph-links.component.d.ts +5 -0
  955. package/graph-canvas/components/graph-node.directive.d.ts +15 -0
  956. package/graph-canvas/graph-canvas.module.d.ts +14 -0
  957. package/graph-canvas/graph-store.service.d.ts +21 -0
  958. package/graph-canvas/public-api.d.ts +7 -0
  959. package/graph-canvas/types.d.ts +32 -0
  960. package/graph-canvas/utils.d.ts +2 -0
  961. package/grid-layout/components/grid/component.d.ts +53 -0
  962. package/grid-layout/components/grid-items/component.d.ts +56 -0
  963. package/grid-layout/constant.d.ts +3 -0
  964. package/grid-layout/directives/drag-handler.directive.d.ts +11 -0
  965. package/grid-layout/directives/placeholder.directive.d.ts +12 -0
  966. package/grid-layout/directives/remove-handler.directive.d.ts +9 -0
  967. package/grid-layout/directives/resize-handler.directive.d.ts +11 -0
  968. package/grid-layout/grid-layout.service.d.ts +49 -0
  969. package/grid-layout/grid-placeholder.service.d.ts +17 -0
  970. package/grid-layout/module.d.ts +14 -0
  971. package/grid-layout/public-api.d.ts +10 -0
  972. package/grid-layout/type.d.ts +65 -0
  973. package/grid-layout/utils/client-rect.utils.d.ts +2 -0
  974. package/grid-layout/utils/grid.utils.d.ts +30 -0
  975. package/grid-layout/utils/mouse.utils.d.ts +24 -0
  976. package/grid-layout/utils/operator.d.ts +3 -0
  977. package/grid-layout/utils/react-grid-layout.utils.d.ts +171 -0
  978. package/grid-layout/utils/scroll.utils.d.ts +28 -0
  979. package/help-document/component.d.ts +29 -0
  980. package/help-document/directive.d.ts +47 -0
  981. package/help-document/module.d.ts +13 -0
  982. package/help-document/public-api.d.ts +9 -0
  983. package/help-document/service.d.ts +30 -0
  984. package/iframe-config/config.service.d.ts +20 -0
  985. package/iframe-config/constants.d.ts +7 -0
  986. package/iframe-config/public-api.d.ts +8 -0
  987. package/index.d.ts +5 -0
  988. package/k8s-resource-list/footer/component.d.ts +37 -0
  989. package/k8s-resource-list/k8s-resource-list.d.ts +42 -0
  990. package/k8s-resource-list/k8s-resource-list.module.d.ts +10 -0
  991. package/k8s-resource-list/k8s-resource-paged-list.d.ts +61 -0
  992. package/k8s-resource-list/public-api.d.ts +12 -0
  993. package/k8s-resource-list/types.d.ts +70 -0
  994. package/k8s-resource-list/utils.d.ts +19 -0
  995. package/k8s-shared/k8s-shared-util.service.d.ts +40 -0
  996. package/k8s-shared/public-api.d.ts +9 -0
  997. package/k8s-shared/update-description-dialog/component.d.ts +25 -0
  998. package/k8s-shared/update-display-name-dialog/component.d.ts +27 -0
  999. package/k8s-shared/update-key-value-dialog/component.d.ts +39 -0
  1000. package/license/license-api.d.ts +19 -0
  1001. package/license/license-error/component.d.ts +33 -0
  1002. package/license/license-error/module.d.ts +13 -0
  1003. package/license/license.guard.d.ts +23 -0
  1004. package/license/license.service.d.ts +21 -0
  1005. package/license/license.type.d.ts +19 -0
  1006. package/license/public-api.d.ts +11 -0
  1007. package/metric-chart/common-chart.service.d.ts +30 -0
  1008. package/metric-chart/helpers.d.ts +54 -0
  1009. package/metric-chart/metric-chart.component.d.ts +116 -0
  1010. package/metric-chart/metric-chart.module.d.ts +14 -0
  1011. package/metric-chart/metric-time-pick.d.ts +12 -0
  1012. package/metric-chart/public-api.d.ts +12 -0
  1013. package/metric-chart/types.d.ts +69 -0
  1014. package/metric-chart/utils.d.ts +86 -0
  1015. package/multi-search/action-input/component.d.ts +119 -0
  1016. package/multi-search/form/component.d.ts +63 -0
  1017. package/multi-search/multi-search-tags/component.d.ts +26 -0
  1018. package/multi-search/public-api.d.ts +4 -0
  1019. package/multi-search/types.d.ts +32 -0
  1020. package/multi-search/utils.d.ts +24 -0
  1021. package/mutable/element.d.ts +10 -0
  1022. package/mutable/mosaic/mosaic.component.d.ts +32 -0
  1023. package/mutable/mosaic/mosaic.directive.d.ts +9 -0
  1024. package/mutable/mutable.directive.d.ts +83 -0
  1025. package/mutable/mutable.module.d.ts +10 -0
  1026. package/mutable/public-api.d.ts +5 -0
  1027. package/mutable/util.d.ts +18 -0
  1028. package/notification/errors-mapper.d.ts +7 -0
  1029. package/notification/feedback-notification/component.d.ts +17 -0
  1030. package/notification/helpers.d.ts +2 -0
  1031. package/notification/notification-util.module.d.ts +10 -0
  1032. package/notification/notification-util.service.d.ts +39 -0
  1033. package/notification/public-api.d.ts +12 -0
  1034. package/notification/resource-error.interceptor.d.ts +21 -0
  1035. package/overview-banner/overview-banner.component.d.ts +7 -0
  1036. package/overview-banner/overview-banner.module.d.ts +9 -0
  1037. package/overview-banner/overview-banner.types.d.ts +5 -0
  1038. package/overview-banner/public-api.d.ts +3 -0
  1039. package/package.json +65 -0
  1040. package/page-guard/component/component.d.ts +40 -0
  1041. package/page-guard/component/helper-directives.d.ts +17 -0
  1042. package/page-guard/component/page-guard.type.d.ts +86 -0
  1043. package/page-guard/module.d.ts +11 -0
  1044. package/page-guard/public-api.d.ts +10 -0
  1045. package/page-scaffold/module.d.ts +10 -0
  1046. package/page-scaffold/navigation/breadcrumb/breadcrumb-slot.directive.d.ts +12 -0
  1047. package/page-scaffold/navigation/breadcrumb/breadcrumb.component.d.ts +40 -0
  1048. package/page-scaffold/navigation/breadcrumb/breadcrumb.service.d.ts +13 -0
  1049. package/page-scaffold/navigation/breadcrumb/module.d.ts +13 -0
  1050. package/page-scaffold/navigation/breadcrumb/public-api.d.ts +4 -0
  1051. package/page-scaffold/navigation/lottie-icons/animation-data.d.ts +2 -0
  1052. package/page-scaffold/navigation/lottie-icons/lottie-icon.directive.d.ts +24 -0
  1053. package/page-scaffold/navigation/lottie-icons/module.d.ts +7 -0
  1054. package/page-scaffold/navigation/lottie-icons/public-api.d.ts +2 -0
  1055. package/page-scaffold/navigation/lottie-icons/replace-lottie-colors.d.ts +1 -0
  1056. package/page-scaffold/navigation/module.d.ts +7 -0
  1057. package/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.d.ts +52 -0
  1058. package/page-scaffold/navigation/nav-menu/nav-item-ul/nav-item-ul.component.d.ts +10 -0
  1059. package/page-scaffold/navigation/nav-menu/nav-menu.component.d.ts +47 -0
  1060. package/page-scaffold/navigation/nav-menu/nav-menu.module.d.ts +16 -0
  1061. package/page-scaffold/navigation/nav-menu/nav-menu.types.d.ts +21 -0
  1062. package/page-scaffold/navigation/nav-menu/public-api.d.ts +3 -0
  1063. package/page-scaffold/navigation/navconfig-loader/navconfig-loader.service.d.ts +61 -0
  1064. package/page-scaffold/navigation/navconfig-loader/public-api.d.ts +7 -0
  1065. package/page-scaffold/navigation/public-api.d.ts +6 -0
  1066. package/page-scaffold/navigation/utils.d.ts +11 -0
  1067. package/page-scaffold/page/context.service.d.ts +9 -0
  1068. package/page-scaffold/page/helper-directives.d.ts +30 -0
  1069. package/page-scaffold/page/notices/maintenance.component.d.ts +26 -0
  1070. package/page-scaffold/page/notices/notice.component.d.ts +22 -0
  1071. package/page-scaffold/page/page.component.d.ts +24 -0
  1072. package/page-scaffold/page/page.module.d.ts +14 -0
  1073. package/page-scaffold/page/public-api.d.ts +4 -0
  1074. package/page-scaffold/page-header/account-menu/component/component.d.ts +38 -0
  1075. package/page-scaffold/page-header/account-menu/module.d.ts +10 -0
  1076. package/page-scaffold/page-header/account-menu/public-api.d.ts +7 -0
  1077. package/page-scaffold/page-header/common-layout/common-layout.module.d.ts +16 -0
  1078. package/page-scaffold/page-header/common-layout/context.service.d.ts +51 -0
  1079. package/page-scaffold/page-header/common-layout/namespace-select/component.d.ts +49 -0
  1080. package/page-scaffold/page-header/common-layout/product-select/component.d.ts +38 -0
  1081. package/page-scaffold/page-header/common-layout/product-select/service.d.ts +9 -0
  1082. package/page-scaffold/page-header/common-layout/project-select/base-selection.d.ts +24 -0
  1083. package/page-scaffold/page-header/common-layout/public-api.d.ts +13 -0
  1084. package/page-scaffold/page-header/common-layout/store.service.d.ts +31 -0
  1085. package/page-scaffold/page-header/common-layout/utils.d.ts +2 -0
  1086. package/page-scaffold/page-header/component.d.ts +21 -0
  1087. package/page-scaffold/page-header/enterprise-support-status/component.d.ts +24 -0
  1088. package/page-scaffold/page-header/header-notify/component/header-notify.component.d.ts +27 -0
  1089. package/page-scaffold/page-header/header-notify/component/notification-list/notification-list.component.d.ts +19 -0
  1090. package/page-scaffold/page-header/header-notify/header-notify.module.d.ts +14 -0
  1091. package/page-scaffold/page-header/header-notify/notify.service.d.ts +60 -0
  1092. package/page-scaffold/page-header/header-notify/public-api.d.ts +9 -0
  1093. package/page-scaffold/page-header/header-notify/utils.d.ts +35 -0
  1094. package/page-scaffold/page-header/help-menu/component/component.d.ts +45 -0
  1095. package/page-scaffold/page-header/help-menu/module.d.ts +13 -0
  1096. package/page-scaffold/page-header/help-menu/public-api.d.ts +7 -0
  1097. package/page-scaffold/page-header/module.d.ts +15 -0
  1098. package/page-scaffold/page-header/public-api.d.ts +13 -0
  1099. package/page-scaffold/public-api.d.ts +4 -0
  1100. package/permission/constants.d.ts +1 -0
  1101. package/permission/helpers.d.ts +2 -0
  1102. package/permission/k8s-permission.service.d.ts +80 -0
  1103. package/permission/permission.guard.d.ts +22 -0
  1104. package/permission/public-api.d.ts +11 -0
  1105. package/permission/types.d.ts +74 -0
  1106. package/pie-derivative-chart/donut-status/component.d.ts +79 -0
  1107. package/pie-derivative-chart/indicator-color.directive.d.ts +10 -0
  1108. package/pie-derivative-chart/numerical-limit.pipe.d.ts +7 -0
  1109. package/pie-derivative-chart/pie-derivative-chart.module.d.ts +15 -0
  1110. package/pie-derivative-chart/public-api.d.ts +10 -0
  1111. package/pie-derivative-chart/radial-bar/radial-bar-chart.component.d.ts +55 -0
  1112. package/public-api.d.ts +44 -0
  1113. package/scm/declare.directive.d.ts +8 -0
  1114. package/scm/password-input/component.d.ts +39 -0
  1115. package/scm/password-input/module.d.ts +14 -0
  1116. package/scm/password-input/public-api.d.ts +2 -0
  1117. package/scm/public-api.d.ts +9 -0
  1118. package/scm/pure-pipe/calc.pipe.d.ts +11 -0
  1119. package/scm/pure-pipe/module.d.ts +8 -0
  1120. package/scm/pure-pipe/public-api.d.ts +3 -0
  1121. package/scm/pure-pipe/pure.pipe.d.ts +17 -0
  1122. package/scm/resource-multi-select/component.d.ts +41 -0
  1123. package/scm/resource-multi-select/util.d.ts +10 -0
  1124. package/scm/search-panel/component.d.ts +16 -0
  1125. package/scm/search-panel/helper.directive.d.ts +5 -0
  1126. package/scm/search-panel/search-item/component.d.ts +7 -0
  1127. package/scm/text-ellipsis/component.d.ts +9 -0
  1128. package/searchable-selector/component.d.ts +54 -0
  1129. package/searchable-selector/module.d.ts +12 -0
  1130. package/searchable-selector/public-api.d.ts +2 -0
  1131. package/skeleton/item/component.d.ts +12 -0
  1132. package/skeleton/module.d.ts +10 -0
  1133. package/skeleton/nav-skeleton/component.d.ts +6 -0
  1134. package/skeleton/public-api.d.ts +3 -0
  1135. package/styles/global.scss +889 -0
  1136. package/styles/markdown-body.scss +105 -0
  1137. package/styles/mixins.scss +679 -0
  1138. package/styles/reset-browser.scss +88 -0
  1139. package/styles/tailwind-preset.scss +1 -0
  1140. package/styles/var.scss +29 -0
  1141. package/table/component.d.ts +84 -0
  1142. package/table/constants.d.ts +3 -0
  1143. package/table/helper.d.ts +2 -0
  1144. package/table/helpers.directive.d.ts +21 -0
  1145. package/table/module.d.ts +19 -0
  1146. package/table/public-api.d.ts +6 -0
  1147. package/table/types.d.ts +69 -0
  1148. package/table/util.service.d.ts +13 -0
  1149. package/translate/constants.d.ts +13 -0
  1150. package/translate/helpers.d.ts +14 -0
  1151. package/translate/pick-locale.pipe.d.ts +12 -0
  1152. package/translate/public-api.d.ts +15 -0
  1153. package/translate/tokens.d.ts +12 -0
  1154. package/translate/translate.directive.d.ts +52 -0
  1155. package/translate/translate.module.d.ts +1136 -0
  1156. package/translate/translate.pipe.d.ts +25 -0
  1157. package/translate/translate.service.d.ts +68 -0
  1158. package/translate/types.d.ts +20 -0
  1159. package/view-chart/custom-template/dropdown-legend.d.ts +11 -0
  1160. package/view-chart/legend/legend.component.d.ts +36 -0
  1161. package/view-chart/public-api.d.ts +8 -0
  1162. package/view-chart/types.d.ts +37 -0
  1163. package/view-chart/view-chart.component.d.ts +187 -0
  1164. package/view-chart/view-chart.module.d.ts +15 -0
  1165. package/view-zchart/custom-template/dropdown-legend.d.ts +11 -0
  1166. package/view-zchart/legend/legend.component.d.ts +42 -0
  1167. package/view-zchart/public-api.d.ts +7 -0
  1168. package/view-zchart/types.d.ts +22 -0
  1169. package/view-zchart/units.d.ts +2 -0
  1170. package/view-zchart/view-zchart.component.d.ts +214 -0
  1171. package/view-zchart/view-zchart.module.d.ts +15 -0
  1172. package/widget/card-section/card-section.component.d.ts +7 -0
  1173. package/widget/confirm-delete/confirm-delete.component.d.ts +57 -0
  1174. package/widget/confirm-delete/utils.d.ts +25 -0
  1175. package/widget/current-time/component.d.ts +14 -0
  1176. package/widget/date-range-picker/component.d.ts +54 -0
  1177. package/widget/date-range-picker/public-api.d.ts +3 -0
  1178. package/widget/date-range-picker/type.d.ts +36 -0
  1179. package/widget/date-range-picker/util.d.ts +11 -0
  1180. package/widget/field-set/column/component.d.ts +10 -0
  1181. package/widget/field-set/group/component.d.ts +6 -0
  1182. package/widget/field-set/index.d.ts +7 -0
  1183. package/widget/field-set/item/component.d.ts +13 -0
  1184. package/widget/foldable-block/component.d.ts +17 -0
  1185. package/widget/foldable-item-in-table/component.d.ts +22 -0
  1186. package/widget/loading-mask/loading-mask.component.d.ts +13 -0
  1187. package/widget/public-api.d.ts +18 -0
  1188. package/widget/relative-time/component.d.ts +15 -0
  1189. package/widget/select-prefix-label/directive.d.ts +17 -0
  1190. package/widget/status-icon/status-icon.component.d.ts +16 -0
  1191. package/widget/tags-label/component.d.ts +51 -0
  1192. package/widget/terminating-tag/component.d.ts +7 -0
  1193. package/widget/text-tooltip/directive.d.ts +21 -0
  1194. package/widget/text-with-url/component.d.ts +12 -0
  1195. package/widget/widget.module.d.ts +26 -0
  1196. package/widget/zero-state/zero-state.component.d.ts +13 -0
  1197. package/window-channel/base-window-channel.d.ts +9 -0
  1198. package/window-channel/directives/host-link.directive.d.ts +11 -0
  1199. package/window-channel/host-window-channel.service.d.ts +15 -0
  1200. package/window-channel/plugin-window-channel.service.d.ts +10 -0
  1201. package/window-channel/public-api.d.ts +4 -0
  1202. package/window-channel/utils.d.ts +36 -0
  1203. package/xterm/public-api.d.ts +3 -0
  1204. package/xterm/xterm-terminal/xterm-terminal.component.d.ts +31 -0
  1205. package/xterm/xterm-terminal/xterm-terminal.directive.d.ts +9 -0
  1206. package/xterm/xterm.component.d.ts +28 -0
@@ -0,0 +1,286 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { observeResizeOn } from '@alauda/ui';
3
+ import { DOCUMENT } from '@angular/common';
4
+ import { ChangeDetectionStrategy, Component, ContentChildren, ElementRef, EventEmitter, Inject, Input, NgZone, Output, QueryList, Renderer2, ViewContainerRef, ViewEncapsulation, } from '@angular/core';
5
+ import { cloneDeep, isEqual } from 'lodash-es';
6
+ import { combineLatest, distinctUntilChanged, exhaustMap, map, merge, NEVER, Observable, startWith, Subject, switchMap, takeUntil, } from 'rxjs';
7
+ import { DEFAULT_GUTTER, DEFAULT_LAYOUT_COLUMNS, DEFAULT_ROW_HEIGHT, ObservableInput, } from '../../../public-api';
8
+ import { GridLayoutService } from '../../grid-layout.service';
9
+ import { GridPlaceholderService } from '../../grid-placeholder.service';
10
+ import { GridCompactType, } from '../../type';
11
+ import { getClientRectSnapshot } from '../../utils/client-rect.utils';
12
+ import { compactGridLayout, getDragResizeEventData, } from '../../utils/grid.utils';
13
+ import { getMouseEnd$, getMouseMove$ } from '../../utils/mouse.utils';
14
+ import { runOutsideZone$ } from '../../utils/operator';
15
+ import { scrollIfNearElementClientRect$ } from '../../utils/scroll.utils';
16
+ import { GridItemComponent } from '../grid-items/component';
17
+ import * as i0 from "@angular/core";
18
+ import * as i1 from "../../grid-placeholder.service";
19
+ import * as i2 from "../../grid-layout.service";
20
+ const _c0 = ["*"];
21
+ export class GridLayoutComponent {
22
+ get config() {
23
+ return {
24
+ cols: this.cols,
25
+ rowHeight: this.rowHeight,
26
+ layout: this.lastLayout,
27
+ preventCollision: this.preventCollision,
28
+ gutter: this.gutter,
29
+ };
30
+ }
31
+ get hostElement() {
32
+ return this.elementRef.nativeElement;
33
+ }
34
+ constructor(elementRef, viewContainerRef, renderer, ngZone, gridPlaceholderService, document, gridLayoutService) {
35
+ this.elementRef = elementRef;
36
+ this.viewContainerRef = viewContainerRef;
37
+ this.renderer = renderer;
38
+ this.ngZone = ngZone;
39
+ this.gridPlaceholderService = gridPlaceholderService;
40
+ this.document = document;
41
+ this.gridLayoutService = gridLayoutService;
42
+ this.layoutUpdated = new EventEmitter();
43
+ this.dragStarted = new EventEmitter();
44
+ this.resizeStarted = new EventEmitter();
45
+ this.dragEnded = new EventEmitter();
46
+ this.resizeEnded = new EventEmitter();
47
+ this.gridItemResize = new EventEmitter();
48
+ // Parent element that contains the scroll. If an string is provided it would search that element by id on the dom.
49
+ // use this to compensate dragging point and scroll difference
50
+ this.scrollableParent = null;
51
+ this.preventCollision = false;
52
+ this.scrollSpeed = 2;
53
+ this.compactType = GridCompactType.VERTICAL;
54
+ this.rowHeight = DEFAULT_ROW_HEIGHT;
55
+ this.cols = DEFAULT_LAYOUT_COLUMNS;
56
+ this.gutter = DEFAULT_GUTTER;
57
+ this.destroy$$ = new Subject();
58
+ this.markLayoutIdChange = false;
59
+ // we use this pattern to avoid too many property passing
60
+ this.gridLayoutService.registerGridComponent(this);
61
+ }
62
+ ngOnInit() {
63
+ observeResizeOn(this.hostElement)
64
+ .pipe(takeUntil(this.destroy$$))
65
+ .subscribe(() => {
66
+ this.gridLayoutService.calculateRenderData();
67
+ this.gridLayoutService.flushRenderData(true);
68
+ });
69
+ this.gridLayoutService.gridRenderHeight$$
70
+ .pipe(takeUntil(this.destroy$$), distinctUntilChanged(isEqual))
71
+ .subscribe(height => {
72
+ this.renderer.setStyle(this.hostElement, 'height', `${height}px`);
73
+ });
74
+ }
75
+ ngOnChanges(changes) {
76
+ let needsCompactLayout = false;
77
+ let needsRecalculateRenderData = false;
78
+ // Compact layout whenever some dependent prop changes.
79
+ if (changes.compactType || changes.cols || changes.layout || changes.id) {
80
+ needsCompactLayout = true;
81
+ }
82
+ if (changes.layout) {
83
+ this.lastLayout = changes.layout.currentValue;
84
+ }
85
+ if (changes.id) {
86
+ if (this.lastLayoutId && this.lastLayoutId !== changes.id.currentValue) {
87
+ this.markLayoutIdChange = true;
88
+ }
89
+ this.lastLayoutId = changes.id.currentValue;
90
+ }
91
+ // Check if wee need to recalculate rendering data.
92
+ if (needsCompactLayout ||
93
+ changes.rowHeight ||
94
+ changes.gutter ||
95
+ changes.layout) {
96
+ needsRecalculateRenderData = true;
97
+ }
98
+ const markLayoutIdChange = this.markLayoutIdChange;
99
+ if (needsRecalculateRenderData) {
100
+ // let ngOnChanges pass, we can use input props, and when props change, let grid-component destroy first
101
+ requestAnimationFrame(() => {
102
+ if (needsCompactLayout) {
103
+ this.compactLayout(markLayoutIdChange);
104
+ }
105
+ this.gridLayoutService.calculateRenderData();
106
+ // Do not need animation when total layout config change, which is dashId changing
107
+ this.gridLayoutService.flushRenderData(!markLayoutIdChange);
108
+ });
109
+ }
110
+ }
111
+ ngAfterContentInit() {
112
+ this.initSubscriptions();
113
+ }
114
+ ngAfterContentChecked() {
115
+ this.gridLayoutService.calculateRenderData();
116
+ this.gridLayoutService.flushRenderData(!this.markLayoutIdChange);
117
+ }
118
+ ngOnDestroy() {
119
+ this.destroy$$.next();
120
+ this.destroy$$.complete();
121
+ }
122
+ refreshLayout(dashIdChange) {
123
+ return dashIdChange
124
+ ? this.lastLayout
125
+ : this.lastLayout?.map(layoutItem => ({
126
+ ...layoutItem,
127
+ ...this.gridLayoutService.lastLayout?.find(({ id }) => layoutItem.id === id),
128
+ }));
129
+ }
130
+ compactLayout(dashIdChange) {
131
+ this.lastLayout = compactGridLayout(this.refreshLayout(dashIdChange), this.compactType, this.cols);
132
+ }
133
+ getItemRenderData(itemId) {
134
+ return this.gridLayoutService.gridItemsRenderData[itemId];
135
+ }
136
+ initSubscriptions() {
137
+ this.gridItems.changes.pipe(takeUntil(this.destroy$$)).subscribe(() => {
138
+ const markLayoutIdChange = this.markLayoutIdChange;
139
+ // need this Raf to make this.lastLayout to be last
140
+ requestAnimationFrame(() => {
141
+ this.markLayoutIdChange = false;
142
+ this.compactLayout(!markLayoutIdChange);
143
+ this.gridLayoutService.calculateRenderData();
144
+ this.gridLayoutService.flushRenderData(!markLayoutIdChange);
145
+ });
146
+ });
147
+ this.gridItems.changes
148
+ .pipe(takeUntil(this.destroy$$), startWith(this.gridItems), switchMap((gridItems) => merge(...gridItems.map(gridItem => gridItem.dragStart$.pipe(map(event => ({
149
+ event,
150
+ gridItem,
151
+ type: 'drag',
152
+ })))), ...gridItems.map(gridItem => gridItem.resizeStart$.pipe(map(event => ({
153
+ event,
154
+ gridItem,
155
+ type: 'resize',
156
+ }))))).pipe(exhaustMap(({ event, gridItem, type }) => {
157
+ this.ngZone.run(() => (type === 'drag' ? this.dragStarted : this.resizeStarted).emit(getDragResizeEventData(gridItem, this.lastLayout)));
158
+ return this.handleAction$(gridItem, event, type).pipe(map(layout => ({ layout, gridItem, type })));
159
+ }))))
160
+ .subscribe(({ layout, gridItem, type }) => {
161
+ this.lastLayout = layout;
162
+ (type === 'drag' ? this.dragEnded : this.resizeEnded).emit(getDragResizeEventData(gridItem, layout));
163
+ this.layoutUpdated.emit(layout);
164
+ });
165
+ }
166
+ handleAction$(gridItem, pointerDownEvent, type) {
167
+ return new Observable((observer) => {
168
+ // Retrieve grid (parent) and gridItem (draggedElem) client rects.
169
+ const gridElemClientRectSnapshot = getClientRectSnapshot(this.elementRef.nativeElement);
170
+ const dragElemClientRectSnapshot = getClientRectSnapshot(gridItem.elementRef.nativeElement);
171
+ const scrollableParent = typeof this.scrollableParent === 'string'
172
+ ? document.querySelector(this.scrollableParent)
173
+ : this.scrollableParent;
174
+ this.renderer.addClass(gridItem.elementRef.nativeElement, 'no-transitions');
175
+ this.renderer.addClass(gridItem.elementRef.nativeElement, 'grid-item-dragging');
176
+ const placeholderClientRect = {
177
+ ...dragElemClientRectSnapshot,
178
+ left: dragElemClientRectSnapshot.left - gridElemClientRectSnapshot.left,
179
+ top: dragElemClientRectSnapshot.top - gridElemClientRectSnapshot.top,
180
+ };
181
+ this.gridPlaceholderService.createPlaceholderElement(placeholderClientRect, this.elementRef, this.viewContainerRef, gridItem.placeholder);
182
+ let newLayout;
183
+ (scrollableParent
184
+ ? getMouseMove$(this.document.documentElement).pipe(runOutsideZone$(this.ngZone), takeUntil(this.destroy$$), scrollIfNearElementClientRect$(scrollableParent, {
185
+ scrollStep: this.scrollSpeed,
186
+ }))
187
+ : NEVER)
188
+ .pipe(takeUntil(getMouseEnd$(this.document.documentElement)))
189
+ .subscribe();
190
+ merge(combineLatest([
191
+ getMouseMove$(this.document.documentElement),
192
+ this.gridLayoutService.scrollDifference$,
193
+ ]))
194
+ .pipe(runOutsideZone$(this.ngZone), takeUntil(getMouseEnd$(this.document.documentElement)), takeUntil(this.destroy$$))
195
+ .subscribe(([pointerDragEvent, scrollDifference]) => {
196
+ pointerDragEvent.preventDefault();
197
+ const gridItemId = gridItem.id;
198
+ const { gridData, layout } = this.gridLayoutService.layoutWhenAction(gridItem, type, {
199
+ pointerDownEvent,
200
+ pointerDragEvent,
201
+ }, scrollDifference, dragElemClientRectSnapshot, gridElemClientRectSnapshot);
202
+ this.gridLayoutService.flushRenderData();
203
+ newLayout = cloneDeep(layout);
204
+ const newItemGridData = { ...gridData[gridItemId] };
205
+ // put the grid normalize position to the placeholder element
206
+ this.gridPlaceholderService.updatePlaceHolder(newItemGridData);
207
+ type === 'resize' &&
208
+ this.gridItemResize.emit({
209
+ width: newItemGridData.width,
210
+ height: newItemGridData.height,
211
+ gridItemRef: getDragResizeEventData(gridItem, newLayout)
212
+ .gridItemRef,
213
+ });
214
+ }, error => observer.error(error), () => {
215
+ this.ngZone.run(() => {
216
+ this.renderer.removeClass(gridItem.elementRef.nativeElement, 'no-transitions');
217
+ this.renderer.removeClass(gridItem.elementRef.nativeElement, 'grid-item-dragging');
218
+ // when action is done, use another relayout to make sure everything is fine
219
+ this.compactLayout(false);
220
+ this.gridLayoutService.calculateRenderData();
221
+ this.gridLayoutService.flushRenderData();
222
+ this.gridPlaceholderService.destroyPlaceholder();
223
+ if (newLayout) {
224
+ observer.next(cloneDeep(newLayout));
225
+ }
226
+ observer.complete();
227
+ });
228
+ });
229
+ });
230
+ }
231
+ static { this.ɵfac = function GridLayoutComponent_Factory(t) { return new (t || GridLayoutComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.ViewContainerRef), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i1.GridPlaceholderService), i0.ɵɵdirectiveInject(DOCUMENT), i0.ɵɵdirectiveInject(i2.GridLayoutService)); }; }
232
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GridLayoutComponent, selectors: [["acl-grid-layout"]], contentQueries: function GridLayoutComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
233
+ i0.ɵɵcontentQuery(dirIndex, GridItemComponent, 5);
234
+ } if (rf & 2) {
235
+ let _t;
236
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.gridItems = _t);
237
+ } }, inputs: { scrollableParent: "scrollableParent", id: "id", preventCollision: "preventCollision", scrollSpeed: "scrollSpeed", compactType: "compactType", rowHeight: "rowHeight", cols: "cols", layout: "layout", gutter: "gutter" }, outputs: { layoutUpdated: "layoutUpdated", dragStarted: "dragStarted", resizeStarted: "resizeStarted", dragEnded: "dragEnded", resizeEnded: "resizeEnded", gridItemResize: "gridItemResize" }, features: [i0.ɵɵProvidersFeature([GridPlaceholderService, GridLayoutService]), i0.ɵɵNgOnChangesFeature], ngContentSelectors: _c0, decls: 1, vars: 0, template: function GridLayoutComponent_Template(rf, ctx) { if (rf & 1) {
238
+ i0.ɵɵprojectionDef();
239
+ i0.ɵɵprojection(0);
240
+ } }, styles: ["acl-grid-layout{display:block;position:relative;width:100%}acl-grid-layout acl-grid-item.grid-item-dragging{z-index:500}acl-grid-layout acl-grid-item.no-transitions{transition:none!important}acl-grid-layout .grid-item-placeholder-default{transition:all .15s ease;position:absolute;background-color:rgb(var(--aui-color-p-6));z-index:0;border-radius:var(--aui-border-radius-l);border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);border:1px dashed rgb(var(--aui-color-primary))}\n"], encapsulation: 2, changeDetection: 0 }); }
241
+ }
242
+ __decorate([
243
+ ObservableInput(),
244
+ __metadata("design:type", Observable)
245
+ ], GridLayoutComponent.prototype, "scrollableParent$", void 0);
246
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(GridLayoutComponent, [{
247
+ type: Component,
248
+ args: [{ selector: 'acl-grid-layout', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [GridPlaceholderService, GridLayoutService], template: "<ng-content></ng-content>\n", styles: ["acl-grid-layout{display:block;position:relative;width:100%}acl-grid-layout acl-grid-item.grid-item-dragging{z-index:500}acl-grid-layout acl-grid-item.no-transitions{transition:none!important}acl-grid-layout .grid-item-placeholder-default{transition:all .15s ease;position:absolute;background-color:rgb(var(--aui-color-p-6));z-index:0;border-radius:var(--aui-border-radius-l);border-top-left-radius:.25rem;border-bottom-left-radius:.25rem;--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow);border:1px dashed rgb(var(--aui-color-primary))}\n"] }]
249
+ }], function () { return [{ type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i1.GridPlaceholderService }, { type: Document, decorators: [{
250
+ type: Inject,
251
+ args: [DOCUMENT]
252
+ }] }, { type: i2.GridLayoutService }]; }, { gridItems: [{
253
+ type: ContentChildren,
254
+ args: [GridItemComponent, { descendants: true }]
255
+ }], layoutUpdated: [{
256
+ type: Output
257
+ }], dragStarted: [{
258
+ type: Output
259
+ }], resizeStarted: [{
260
+ type: Output
261
+ }], dragEnded: [{
262
+ type: Output
263
+ }], resizeEnded: [{
264
+ type: Output
265
+ }], gridItemResize: [{
266
+ type: Output
267
+ }], scrollableParent: [{
268
+ type: Input
269
+ }], scrollableParent$: [], id: [{
270
+ type: Input
271
+ }], preventCollision: [{
272
+ type: Input
273
+ }], scrollSpeed: [{
274
+ type: Input
275
+ }], compactType: [{
276
+ type: Input
277
+ }], rowHeight: [{
278
+ type: Input
279
+ }], cols: [{
280
+ type: Input
281
+ }], layout: [{
282
+ type: Input
283
+ }], gutter: [{
284
+ type: Input
285
+ }] }); })();
286
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2dyaWQtbGF5b3V0L2NvbXBvbmVudHMvZ3JpZC9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvZ3JpZC1sYXlvdXQvY29tcG9uZW50cy9ncmlkL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDN0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFHTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUlOLE1BQU0sRUFDTixTQUFTLEVBQ1QsU0FBUyxFQUVULGdCQUFnQixFQUNoQixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDL0MsT0FBTyxFQUNMLGFBQWEsRUFDYixvQkFBb0IsRUFDcEIsVUFBVSxFQUNWLEdBQUcsRUFDSCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFFVixTQUFTLEVBQ1QsT0FBTyxFQUNQLFNBQVMsRUFDVCxTQUFTLEdBQ1YsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQ0wsY0FBYyxFQUNkLHNCQUFzQixFQUN0QixrQkFBa0IsRUFDbEIsZUFBZSxHQUNoQixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzlELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFDTCxlQUFlLEdBWWhCLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3RFLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsc0JBQXNCLEdBQ3ZCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7O0FBVTVELE1BQU0sT0FBTyxtQkFBbUI7SUFpRTlCLElBQUksTUFBTTtRQUNSLE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQ3ZCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDdkMsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1NBQ3BCLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQTRCLENBQUM7SUFDdEQsQ0FBQztJQUVELFlBQ1MsVUFBc0IsRUFDdEIsZ0JBQWtDLEVBQ3hCLFFBQW1CLEVBQ25CLE1BQWMsRUFDZCxzQkFBOEMsRUFDNUIsUUFBa0IsRUFDcEMsaUJBQW9DO1FBTjlDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUN4QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzVCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQTFFN0Msa0JBQWEsR0FDckIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUV2QixnQkFBVyxHQUNuQixJQUFJLFlBQVksRUFBa0IsQ0FBQztRQUUzQixrQkFBYSxHQUNyQixJQUFJLFlBQVksRUFBb0IsQ0FBQztRQUU3QixjQUFTLEdBQ2pCLElBQUksWUFBWSxFQUFnQixDQUFDO1FBRXpCLGdCQUFXLEdBQ25CLElBQUksWUFBWSxFQUFrQixDQUFDO1FBRTNCLG1CQUFjLEdBQ3RCLElBQUksWUFBWSxFQUFtQixDQUFDO1FBRXRDLG1IQUFtSDtRQUNuSCw4REFBOEQ7UUFDckQscUJBQWdCLEdBQTJDLElBQUksQ0FBQztRQVN6RSxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFHekIsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFHaEIsZ0JBQVcsR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDO1FBR3ZDLGNBQVMsR0FBVyxrQkFBa0IsQ0FBQztRQUd2QyxTQUFJLEdBQVcsc0JBQXNCLENBQUM7UUFNdEMsV0FBTSxHQUFXLGNBQWMsQ0FBQztRQUloQyxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQTRDeEIsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBbkJqQyx5REFBeUQ7UUFDekQsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxRQUFRO1FBQ04sZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7YUFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDL0IsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzdDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQUM7UUFDTCxJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCO2FBQ3RDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzlELFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLENBQUM7UUFDcEUsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBS0QsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQy9CLElBQUksMEJBQTBCLEdBQUcsS0FBSyxDQUFDO1FBQ3ZDLHVEQUF1RDtRQUN2RCxJQUFJLE9BQU8sQ0FBQyxXQUFXLElBQUksT0FBTyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQyxFQUFFLEVBQUU7WUFDdkUsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1NBQzNCO1FBQ0QsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUM7U0FDL0M7UUFDRCxJQUFJLE9BQU8sQ0FBQyxFQUFFLEVBQUU7WUFDZCxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxPQUFPLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRTtnQkFDdEUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQzthQUNoQztZQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUM7U0FDN0M7UUFFRCxtREFBbUQ7UUFDbkQsSUFDRSxrQkFBa0I7WUFDbEIsT0FBTyxDQUFDLFNBQVM7WUFDakIsT0FBTyxDQUFDLE1BQU07WUFDZCxPQUFPLENBQUMsTUFBTSxFQUNkO1lBQ0EsMEJBQTBCLEdBQUcsSUFBSSxDQUFDO1NBQ25DO1FBQ0QsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7UUFDbkQsSUFBSSwwQkFBMEIsRUFBRTtZQUM5Qix3R0FBd0c7WUFDeEcscUJBQXFCLENBQUMsR0FBRyxFQUFFO2dCQUN6QixJQUFJLGtCQUFrQixFQUFFO29CQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLENBQUM7aUJBQ3hDO2dCQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2dCQUM3QyxrRkFBa0Y7Z0JBQ2xGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQzlELENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxhQUFhLENBQUMsWUFBcUI7UUFDakMsT0FBTyxZQUFZO1lBQ2pCLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUNqQixDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNsQyxHQUFHLFVBQVU7Z0JBQ2IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxFQUFFLElBQUksQ0FDeEMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FDakM7YUFDRixDQUFDLENBQUMsQ0FBQztJQUNWLENBQUM7SUFFRCxhQUFhLENBQUMsWUFBcUI7UUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxpQkFBaUIsQ0FDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsRUFDaEMsSUFBSSxDQUFDLFdBQVcsRUFDaEIsSUFBSSxDQUFDLElBQUksQ0FDVixDQUFDO0lBQ0osQ0FBQztJQUVELGlCQUFpQixDQUFDLE1BQWM7UUFDOUIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDcEUsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7WUFDbkQsbURBQW1EO1lBQ25ELHFCQUFxQixDQUFDLEdBQUcsRUFBRTtnQkFDekIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztnQkFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUM7Z0JBQ3hDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2dCQUM3QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUM5RCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPO2FBQ25CLElBQUksQ0FDSCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUN6QixTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUN6QixTQUFTLENBQUMsQ0FBQyxTQUF1QyxFQUFFLEVBQUUsQ0FDcEQsS0FBSyxDQUNILEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUMxQixRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDdEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNaLEtBQUs7WUFDTCxRQUFRO1lBQ1IsSUFBSSxFQUFFLE1BQXdCO1NBQy9CLENBQUMsQ0FBQyxDQUNKLENBQ0YsRUFDRCxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FDMUIsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ3hCLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDWixLQUFLO1lBQ0wsUUFBUTtZQUNSLElBQUksRUFBRSxRQUEwQjtTQUNqQyxDQUFDLENBQUMsQ0FDSixDQUNGLENBQ0YsQ0FBQyxJQUFJLENBQ0osVUFBVSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7WUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQ25CLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FDNUQsc0JBQXNCLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FDbEQsQ0FDRixDQUFDO1lBQ0YsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUNuRCxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQzVDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSCxDQUNGLENBQ0Y7YUFDQSxTQUFTLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRTtZQUN4QyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztZQUN6QixDQUFDLElBQUksS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQ3hELHNCQUFzQixDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FDekMsQ0FBQztZQUNGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLGFBQWEsQ0FDbkIsUUFBMkIsRUFDM0IsZ0JBQTRCLEVBQzVCLElBQW9CO1FBRXBCLE9BQU8sSUFBSSxVQUFVLENBQWEsQ0FBQyxRQUE4QixFQUFFLEVBQUU7WUFDbkUsa0VBQWtFO1lBQ2xFLE1BQU0sMEJBQTBCLEdBQzlCLHFCQUFxQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBNEIsQ0FBQyxDQUFDO1lBQ3RFLE1BQU0sMEJBQTBCLEdBQzlCLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsYUFBNEIsQ0FBQyxDQUFDO1lBRTFFLE1BQU0sZ0JBQWdCLEdBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixLQUFLLFFBQVE7Z0JBQ3ZDLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDL0MsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztZQUU1QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FDcEIsUUFBUSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQ2pDLGdCQUFnQixDQUNqQixDQUFDO1lBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQ3BCLFFBQVEsQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUNqQyxvQkFBb0IsQ0FDckIsQ0FBQztZQUVGLE1BQU0scUJBQXFCLEdBQXVCO2dCQUNoRCxHQUFHLDBCQUEwQjtnQkFDN0IsSUFBSSxFQUFFLDBCQUEwQixDQUFDLElBQUksR0FBRywwQkFBMEIsQ0FBQyxJQUFJO2dCQUN2RSxHQUFHLEVBQUUsMEJBQTBCLENBQUMsR0FBRyxHQUFHLDBCQUEwQixDQUFDLEdBQUc7YUFDckUsQ0FBQztZQUNGLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyx3QkFBd0IsQ0FDbEQscUJBQXFCLEVBQ3JCLElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLGdCQUFnQixFQUNyQixRQUFRLENBQUMsV0FBVyxDQUNyQixDQUFDO1lBRUYsSUFBSSxTQUEyQixDQUFDO1lBRWhDLENBQUMsZ0JBQWdCO2dCQUNmLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQy9DLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQzVCLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQ3pCLDhCQUE4QixDQUFDLGdCQUFnQixFQUFFO29CQUMvQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVc7aUJBQzdCLENBQUMsQ0FDSDtnQkFDSCxDQUFDLENBQUMsS0FBSyxDQUNSO2lCQUNFLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztpQkFDNUQsU0FBUyxFQUFFLENBQUM7WUFDZixLQUFLLENBQ0gsYUFBYSxDQUFDO2dCQUNaLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztnQkFDNUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGlCQUFpQjthQUN6QyxDQUFDLENBQ0g7aUJBQ0UsSUFBSSxDQUNILGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQzVCLFNBQVMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxFQUN0RCxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUMxQjtpQkFDQSxTQUFTLENBQ1IsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLGdCQUFnQixDQUduQyxFQUFFLEVBQUU7Z0JBQ0gsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ2xDLE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQy9CLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEdBQ3hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FDckMsUUFBUSxFQUNSLElBQUksRUFDSjtvQkFDRSxnQkFBZ0I7b0JBQ2hCLGdCQUFnQjtpQkFDakIsRUFDRCxnQkFBZ0IsRUFDaEIsMEJBQTBCLEVBQzFCLDBCQUEwQixDQUMzQixDQUFDO2dCQUNKLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDekMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFFOUIsTUFBTSxlQUFlLEdBQUcsRUFBRSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO2dCQUVwRCw2REFBNkQ7Z0JBQzdELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztnQkFFL0QsSUFBSSxLQUFLLFFBQVE7b0JBQ2YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7d0JBQ3ZCLEtBQUssRUFBRSxlQUFlLENBQUMsS0FBSzt3QkFDNUIsTUFBTSxFQUFFLGVBQWUsQ0FBQyxNQUFNO3dCQUM5QixXQUFXLEVBQUUsc0JBQXNCLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQzs2QkFDckQsV0FBVztxQkFDZixDQUFDLENBQUM7WUFDUCxDQUFDLEVBQ0QsS0FBSyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUM5QixHQUFHLEVBQUU7Z0JBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO29CQUNuQixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FDdkIsUUFBUSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQ2pDLGdCQUFnQixDQUNqQixDQUFDO29CQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUN2QixRQUFRLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFDakMsb0JBQW9CLENBQ3JCLENBQUM7b0JBQ0YsNEVBQTRFO29CQUM1RSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUMxQixJQUFJLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztvQkFDN0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsRUFBRSxDQUFDO29CQUV6QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztvQkFDakQsSUFBSSxTQUFTLEVBQUU7d0JBQ2IsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFlLENBQUMsQ0FBQztxQkFDbkQ7b0JBQ0QsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN0QixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUMsQ0FDRixDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO29GQS9XVSxtQkFBbUIsNk5BcUZwQixRQUFRO29FQXJGUCxtQkFBbUI7d0NBU2IsaUJBQWlCOzs7O2lkQVh2QixDQUFDLHNCQUFzQixFQUFFLGlCQUFpQixDQUFDOztZQzdFeEQsa0JBQXlCOzs7QURnSEo7SUFBbEIsZUFBZSxFQUFFOzhCQUFvQixVQUFVOzhEQUU5Qzt1RkFuQ1MsbUJBQW1CO2NBUi9CLFNBQVM7MkJBQ0UsaUJBQWlCLGlCQUVaLGlCQUFpQixDQUFDLElBQUksbUJBRXBCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxzQkFBc0IsRUFBRSxpQkFBaUIsQ0FBQzs7c0JBdUZuRCxNQUFNO3VCQUFDLFFBQVE7d0RBM0VsQixTQUFTO2tCQURSLGVBQWU7bUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO1lBRy9DLGFBQWE7a0JBQXRCLE1BQU07WUFHRyxXQUFXO2tCQUFwQixNQUFNO1lBR0csYUFBYTtrQkFBdEIsTUFBTTtZQUdHLFNBQVM7a0JBQWxCLE1BQU07WUFHRyxXQUFXO2tCQUFwQixNQUFNO1lBR0csY0FBYztrQkFBdkIsTUFBTTtZQUtFLGdCQUFnQjtrQkFBeEIsS0FBSztZQUNhLGlCQUFpQixNQUtwQyxFQUFFO2tCQURELEtBQUs7WUFJTixnQkFBZ0I7a0JBRGYsS0FBSztZQUlOLFdBQVc7a0JBRFYsS0FBSztZQUlOLFdBQVc7a0JBRFYsS0FBSztZQUlOLFNBQVM7a0JBRFIsS0FBSztZQUlOLElBQUk7a0JBREgsS0FBSztZQUlOLE1BQU07a0JBREwsS0FBSztZQUlOLE1BQU07a0JBREwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IG9ic2VydmVSZXNpemVPbiB9IGZyb20gJ0BhbGF1ZGEvdWknO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE5nWm9uZSxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xvbmVEZWVwLCBpc0VxdWFsIH0gZnJvbSAnbG9kYXNoLWVzJztcbmltcG9ydCB7XG4gIGNvbWJpbmVMYXRlc3QsXG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBleGhhdXN0TWFwLFxuICBtYXAsXG4gIG1lcmdlLFxuICBORVZFUixcbiAgT2JzZXJ2YWJsZSxcbiAgT2JzZXJ2ZXIsXG4gIHN0YXJ0V2l0aCxcbiAgU3ViamVjdCxcbiAgc3dpdGNoTWFwLFxuICB0YWtlVW50aWwsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICBERUZBVUxUX0dVVFRFUixcbiAgREVGQVVMVF9MQVlPVVRfQ09MVU1OUyxcbiAgREVGQVVMVF9ST1dfSEVJR0hULFxuICBPYnNlcnZhYmxlSW5wdXQsXG59IGZyb20gJy4uLy4uLy4uL3B1YmxpYy1hcGknO1xuaW1wb3J0IHsgR3JpZExheW91dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9ncmlkLWxheW91dC5zZXJ2aWNlJztcbmltcG9ydCB7IEdyaWRQbGFjZWhvbGRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9ncmlkLXBsYWNlaG9sZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgR3JpZENvbXBhY3RUeXBlLFxuICBEcmFnRW5kRXZlbnQsXG4gIERyYWdTdGFydEV2ZW50LFxuICBHcmlkTGF5b3V0LFxuICBHcmlkTGF5b3V0SXRlbSxcbiAgUmVzaXplU3RhcnRFdmVudCxcbiAgR3JpZENmZyxcbiAgR3JpZEl0ZW1SZW5kZXJEYXRhLFxuICBHcmlkSXRlbUNsaWVudFJlY3QsXG4gIERyYWdBY3Rpb25UeXBlLFxuICBSZXNpemVFbmRFdmVudCxcbiAgSXRlbVJlc2l6ZUV2ZW50LFxufSBmcm9tICcuLi8uLi90eXBlJztcbmltcG9ydCB7IGdldENsaWVudFJlY3RTbmFwc2hvdCB9IGZyb20gJy4uLy4uL3V0aWxzL2NsaWVudC1yZWN0LnV0aWxzJztcbmltcG9ydCB7XG4gIGNvbXBhY3RHcmlkTGF5b3V0LFxuICBnZXREcmFnUmVzaXplRXZlbnREYXRhLFxufSBmcm9tICcuLi8uLi91dGlscy9ncmlkLnV0aWxzJztcbmltcG9ydCB7IGdldE1vdXNlRW5kJCwgZ2V0TW91c2VNb3ZlJCB9IGZyb20gJy4uLy4uL3V0aWxzL21vdXNlLnV0aWxzJztcbmltcG9ydCB7IHJ1bk91dHNpZGVab25lJCB9IGZyb20gJy4uLy4uL3V0aWxzL29wZXJhdG9yJztcbmltcG9ydCB7IHNjcm9sbElmTmVhckVsZW1lbnRDbGllbnRSZWN0JCB9IGZyb20gJy4uLy4uL3V0aWxzL3Njcm9sbC51dGlscyc7XG5pbXBvcnQgeyBHcmlkSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2dyaWQtaXRlbXMvY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNsLWdyaWQtbGF5b3V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RlbXBsYXRlLmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdHlsZVVybHM6IFsnLi9zdHlsZS5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtHcmlkUGxhY2Vob2xkZXJTZXJ2aWNlLCBHcmlkTGF5b3V0U2VydmljZV0sXG59KVxuZXhwb3J0IGNsYXNzIEdyaWRMYXlvdXRDb21wb25lbnRcbiAgaW1wbGVtZW50c1xuICAgIE9uSW5pdCxcbiAgICBPbkNoYW5nZXMsXG4gICAgQWZ0ZXJDb250ZW50Q2hlY2tlZCxcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIE9uRGVzdHJveVxue1xuICAvKiogUXVlcnkgbGlzdCBvZiBncmlkIGl0ZW1zIHRoYXQgYXJlIGJlaW5nIHJlbmRlcmVkLiAqL1xuICBAQ29udGVudENoaWxkcmVuKEdyaWRJdGVtQ29tcG9uZW50LCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIGdyaWRJdGVtczogUXVlcnlMaXN0PEdyaWRJdGVtQ29tcG9uZW50PjtcblxuICBAT3V0cHV0KCkgbGF5b3V0VXBkYXRlZDogRXZlbnRFbWl0dGVyPEdyaWRMYXlvdXQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPEdyaWRMYXlvdXQ+KCk7XG5cbiAgQE91dHB1dCgpIGRyYWdTdGFydGVkOiBFdmVudEVtaXR0ZXI8RHJhZ1N0YXJ0RXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPERyYWdTdGFydEV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKSByZXNpemVTdGFydGVkOiBFdmVudEVtaXR0ZXI8UmVzaXplU3RhcnRFdmVudD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8UmVzaXplU3RhcnRFdmVudD4oKTtcblxuICBAT3V0cHV0KCkgZHJhZ0VuZGVkOiBFdmVudEVtaXR0ZXI8RHJhZ0VuZEV2ZW50PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxEcmFnRW5kRXZlbnQ+KCk7XG5cbiAgQE91dHB1dCgpIHJlc2l6ZUVuZGVkOiBFdmVudEVtaXR0ZXI8UmVzaXplRW5kRXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPFJlc2l6ZUVuZEV2ZW50PigpO1xuXG4gIEBPdXRwdXQoKSBncmlkSXRlbVJlc2l6ZTogRXZlbnRFbWl0dGVyPEl0ZW1SZXNpemVFdmVudD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8SXRlbVJlc2l6ZUV2ZW50PigpO1xuXG4gIC8vIFBhcmVudCBlbGVtZW50IHRoYXQgY29udGFpbnMgdGhlIHNjcm9sbC4gSWYgYW4gc3RyaW5nIGlzIHByb3ZpZGVkIGl0IHdvdWxkIHNlYXJjaCB0aGF0IGVsZW1lbnQgYnkgaWQgb24gdGhlIGRvbS5cbiAgLy8gdXNlIHRoaXMgdG8gY29tcGVuc2F0ZSBkcmFnZ2luZyBwb2ludCBhbmQgc2Nyb2xsIGRpZmZlcmVuY2VcbiAgQElucHV0KCkgc2Nyb2xsYWJsZVBhcmVudDogSFRNTEVsZW1lbnQgfCBEb2N1bWVudCB8IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBAT2JzZXJ2YWJsZUlucHV0KCkgc2Nyb2xsYWJsZVBhcmVudCQ6IE9ic2VydmFibGU8XG4gICAgSFRNTEVsZW1lbnQgfCBEb2N1bWVudCB8IHN0cmluZyB8IG51bGxcbiAgPjtcblxuICBASW5wdXQoKVxuICBpZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHByZXZlbnRDb2xsaXNpb24gPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBzY3JvbGxTcGVlZCA9IDI7XG5cbiAgQElucHV0KClcbiAgY29tcGFjdFR5cGUgPSBHcmlkQ29tcGFjdFR5cGUuVkVSVElDQUw7XG5cbiAgQElucHV0KClcbiAgcm93SGVpZ2h0OiBudW1iZXIgPSBERUZBVUxUX1JPV19IRUlHSFQ7XG5cbiAgQElucHV0KClcbiAgY29sczogbnVtYmVyID0gREVGQVVMVF9MQVlPVVRfQ09MVU1OUztcblxuICBASW5wdXQoKVxuICBsYXlvdXQ6IEdyaWRMYXlvdXQ7XG5cbiAgQElucHV0KClcbiAgZ3V0dGVyOiBudW1iZXIgPSBERUZBVUxUX0dVVFRFUjtcblxuICBwcml2YXRlIGxhc3RMYXlvdXQ6IEdyaWRMYXlvdXQ7XG5cbiAgZGVzdHJveSQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBnZXQgY29uZmlnKCk6IEdyaWRDZmcge1xuICAgIHJldHVybiB7XG4gICAgICBjb2xzOiB0aGlzLmNvbHMsXG4gICAgICByb3dIZWlnaHQ6IHRoaXMucm93SGVpZ2h0LFxuICAgICAgbGF5b3V0OiB0aGlzLmxhc3RMYXlvdXQsXG4gICAgICBwcmV2ZW50Q29sbGlzaW9uOiB0aGlzLnByZXZlbnRDb2xsaXNpb24sXG4gICAgICBndXR0ZXI6IHRoaXMuZ3V0dGVyLFxuICAgIH07XG4gIH1cblxuICBnZXQgaG9zdEVsZW1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50O1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHVibGljIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBncmlkUGxhY2Vob2xkZXJTZXJ2aWNlOiBHcmlkUGxhY2Vob2xkZXJTZXJ2aWNlLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgcmVhZG9ubHkgZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZ3JpZExheW91dFNlcnZpY2U6IEdyaWRMYXlvdXRTZXJ2aWNlLFxuICApIHtcbiAgICAvLyB3ZSB1c2UgdGhpcyBwYXR0ZXJuIHRvIGF2b2lkIHRvbyBtYW55IHByb3BlcnR5IHBhc3NpbmdcbiAgICB0aGlzLmdyaWRMYXlvdXRTZXJ2aWNlLnJlZ2lzdGVyR3JpZENvbXBvbmVudCh0aGlzKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIG9ic2VydmVSZXNpemVPbih0aGlzLmhvc3RFbGVtZW50KVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmdyaWRMYXlvdXRTZXJ2aWNlLmNhbGN1bGF0ZVJlbmRlckRhdGEoKTtcbiAgICAgICAgdGhpcy5ncmlkTGF5b3V0U2VydmljZS5mbHVzaFJlbmRlckRhdGEodHJ1ZSk7XG4gICAgICB9KTtcbiAgICB0aGlzLmdyaWRMYXlvdXRTZXJ2aWNlLmdyaWRSZW5kZXJIZWlnaHQkJFxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoaXNFcXVhbCkpXG4gICAgICAuc3Vic2NyaWJlKGhlaWdodCA9PiB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5ob3N0RWxlbWVudCwgJ2hlaWdodCcsIGAke2hlaWdodH1weGApO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGxhc3RMYXlvdXRJZDogc3RyaW5nO1xuICBwcml2YXRlIG1hcmtMYXlvdXRJZENoYW5nZSA9IGZhbHNlO1xuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBsZXQgbmVlZHNDb21wYWN0TGF5b3V0ID0gZmFsc2U7XG4gICAgbGV0IG5lZWRzUmVjYWxjdWxhdGVSZW5kZXJEYXRhID0gZmFsc2U7XG4gICAgLy8gQ29tcGFjdCBsYXlvdXQgd2hlbmV2ZXIgc29tZSBkZXBlbmRlbnQgcHJvcCBjaGFuZ2VzLlxuICAgIGlmIChjaGFuZ2VzLmNvbXBhY3RUeXBlIHx8IGNoYW5nZXMuY29scyB8fCBjaGFuZ2VzLmxheW91dCB8fCBjaGFuZ2VzLmlkKSB7XG4gICAgICBuZWVkc0NvbXBhY3RMYXlvdXQgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlcy5sYXlvdXQpIHtcbiAgICAgIHRoaXMubGFzdExheW91dCA9IGNoYW5nZXMubGF5b3V0LmN1cnJlbnRWYWx1ZTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXMuaWQpIHtcbiAgICAgIGlmICh0aGlzLmxhc3RMYXlvdXRJZCAmJiB0aGlzLmxhc3RMYXlvdXRJZCAhPT0gY2hhbmdlcy5pZC5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgdGhpcy5tYXJrTGF5b3V0SWRDaGFuZ2UgPSB0cnVlO1xuICAgICAgfVxuICAgICAgdGhpcy5sYXN0TGF5b3V0SWQgPSBjaGFuZ2VzLmlkLmN1cnJlbnRWYWx1ZTtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBpZiB3ZWUgbmVlZCB0byByZWNhbGN1bGF0ZSByZW5kZXJpbmcgZGF0YS5cbiAgICBpZiAoXG4gICAgICBuZWVkc0NvbXBhY3RMYXlvdXQgfHxcbiAgICAgIGNoYW5nZXMucm93SGVpZ2h0IHx8XG4gICAgICBjaGFuZ2VzLmd1dHRlciB8fFxuICAgICAgY2hhbmdlcy5sYXlvdXRcbiAgICApIHtcbiAgICAgIG5lZWRzUmVjYWxjdWxhdGVSZW5kZXJEYXRhID0gdHJ1ZTtcbiAgICB9XG4gICAgY29uc3QgbWFya0xheW91dElkQ2hhbmdlID0gdGhpcy5tYXJrTGF5b3V0SWRDaGFuZ2U7XG4gICAgaWYgKG5lZWRzUmVjYWxjdWxhdGVSZW5kZXJEYXRhKSB7XG4gICAgICAvLyBsZXQgbmdPbkNoYW5nZXMgcGFzcywgd2UgY2FuIHVzZSBpbnB1dCBwcm9wcywgYW5kIHdoZW4gcHJvcHMgY2hhbmdlLCBsZXQgZ3JpZC1jb21wb25lbnQgZGVzdHJveSBmaXJzdFxuICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgaWYgKG5lZWRzQ29tcGFjdExheW91dCkge1xuICAgICAgICAgIHRoaXMuY29tcGFjdExheW91dChtYXJrTGF5b3V0SWRDaGFuZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZ3JpZExheW91dFNlcnZpY2UuY2FsY3VsYXRlUmVuZGVyRGF0YSgpO1xuICAgICAgICAvLyBEbyBub3QgbmVlZCBhbmltYXRpb24gd2hlbiB0b3RhbCBsYXlvdXQgY29uZmlnIGNoYW5nZSwgd2hpY2ggaXMgZGFzaElkIGNoYW5naW5nXG4gICAgICAgIHRoaXMuZ3JpZExheW91dFNlcnZpY2UuZmx1c2hSZW5kZXJEYXRhKCFtYXJrTGF5b3V0SWRDaGFuZ2UpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuaW5pdFN1YnNjcmlwdGlvbnMoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICB0aGlzLmdyaWRMYXlvdXRTZXJ2aWNlLmNhbGN1bGF0ZVJlbmRlckRhdGEoKTtcbiAgICB0aGlzLmdyaWRMYXlvdXRTZXJ2aWNlLmZsdXNoUmVuZGVyRGF0YSghdGhpcy5tYXJrTGF5b3V0SWRDaGFuZ2UpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQkLmNvbXBsZXRlKCk7XG4gIH1cblxuICByZWZyZXNoTGF5b3V0KGRhc2hJZENoYW5nZTogYm9vbGVhbikge1xuICAgIHJldHVybiBkYXNoSWRDaGFuZ2VcbiAgICAgID8gdGhpcy5sYXN0TGF5b3V0XG4gICAgICA6IHRoaXMubGFzdExheW91dD8ubWFwKGxheW91dEl0ZW0gPT4gKHtcbiAgICAgICAgICAuLi5sYXlvdXRJdGVtLFxuICAgICAgICAgIC4uLnRoaXMuZ3JpZExheW91dFNlcnZpY2UubGFzdExheW91dD8uZmluZChcbiAgICAgICAgICAgICh7IGlkIH0pID0+IGxheW91dEl0ZW0uaWQgPT09IGlkLFxuICAgICAgICAgICksXG4gICAgICAgIH0pKTtcbiAgfVxuXG4gIGNvbXBhY3RMYXlvdXQoZGFzaElkQ2hhbmdlOiBib29sZWFuKSB7XG4gICAgdGhpcy5sYXN0TGF5b3V0ID0gY29tcGFjdEdyaWRMYXlvdXQoXG4gICAgICB0aGlzLnJlZnJlc2hMYXlvdXQoZGFzaElkQ2hhbmdlKSxcbiAgICAgIHRoaXMuY29tcGFjdFR5cGUsXG4gICAgICB0aGlzLmNvbHMsXG4gICAgKTtcbiAgfVxuXG4gIGdldEl0ZW1SZW5kZXJEYXRhKGl0ZW1JZDogc3RyaW5nKTogR3JpZEl0ZW1SZW5kZXJEYXRhIHtcbiAgICByZXR1cm4gdGhpcy5ncmlkTGF5b3V0U2VydmljZS5ncmlkSXRlbXNSZW5kZXJEYXRhW2l0ZW1JZF07XG4gIH1cblxuICBwcml2YXRlIGluaXRTdWJzY3JpcHRpb25zKCkge1xuICAgIHRoaXMuZ3JpZEl0ZW1zLmNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgY29uc3QgbWFya0xheW91dElkQ2hhbmdlID0gdGhpcy5tYXJrTGF5b3V0SWRDaGFuZ2U7XG4gICAgICAvLyBuZWVkIHRoaXMgUmFmIHRvIG1ha2UgdGhpcy5sYXN0TGF5b3V0IHRvIGJlIGxhc3RcbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICAgIHRoaXMubWFya0xheW91dElkQ2hhbmdlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY29tcGFjdExheW91dCghbWFya0xheW91dElkQ2hhbmdlKTtcbiAgICAgICAgdGhpcy5ncmlkTGF5b3V0U2VydmljZS5jYWxjdWxhdGVSZW5kZXJEYXRhKCk7XG4gICAgICAgIHRoaXMuZ3JpZExheW91dFNlcnZpY2UuZmx1c2hSZW5kZXJEYXRhKCFtYXJrTGF5b3V0SWRDaGFuZ2UpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gICAgdGhpcy5ncmlkSXRlbXMuY2hhbmdlc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCksXG4gICAgICAgIHN0YXJ0V2l0aCh0aGlzLmdyaWRJdGVtcyksXG4gICAgICAgIHN3aXRjaE1hcCgoZ3JpZEl0ZW1zOiBRdWVyeUxpc3Q8R3JpZEl0ZW1Db21wb25lbnQ+KSA9PlxuICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgLi4uZ3JpZEl0ZW1zLm1hcChncmlkSXRlbSA9PlxuICAgICAgICAgICAgICBncmlkSXRlbS5kcmFnU3RhcnQkLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKGV2ZW50ID0+ICh7XG4gICAgICAgICAgICAgICAgICBldmVudCxcbiAgICAgICAgICAgICAgICAgIGdyaWRJdGVtLFxuICAgICAgICAgICAgICAgICAgdHlwZTogJ2RyYWcnIGFzIERyYWdBY3Rpb25UeXBlLFxuICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAuLi5ncmlkSXRlbXMubWFwKGdyaWRJdGVtID0+XG4gICAgICAgICAgICAgIGdyaWRJdGVtLnJlc2l6ZVN0YXJ0JC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChldmVudCA9PiAoe1xuICAgICAgICAgICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgICAgICAgICBncmlkSXRlbSxcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdyZXNpemUnIGFzIERyYWdBY3Rpb25UeXBlLFxuICAgICAgICAgICAgICAgIH0pKSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgKS5waXBlKFxuICAgICAgICAgICAgZXhoYXVzdE1hcCgoeyBldmVudCwgZ3JpZEl0ZW0sIHR5cGUgfSkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT5cbiAgICAgICAgICAgICAgICAodHlwZSA9PT0gJ2RyYWcnID8gdGhpcy5kcmFnU3RhcnRlZCA6IHRoaXMucmVzaXplU3RhcnRlZCkuZW1pdChcbiAgICAgICAgICAgICAgICAgIGdldERyYWdSZXNpemVFdmVudERhdGEoZ3JpZEl0ZW0sIHRoaXMubGFzdExheW91dCksXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlQWN0aW9uJChncmlkSXRlbSwgZXZlbnQsIHR5cGUpLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKGxheW91dCA9PiAoeyBsYXlvdXQsIGdyaWRJdGVtLCB0eXBlIH0pKSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCh7IGxheW91dCwgZ3JpZEl0ZW0sIHR5cGUgfSkgPT4ge1xuICAgICAgICB0aGlzLmxhc3RMYXlvdXQgPSBsYXlvdXQ7XG4gICAgICAgICh0eXBlID09PSAnZHJhZycgPyB0aGlzLmRyYWdFbmRlZCA6IHRoaXMucmVzaXplRW5kZWQpLmVtaXQoXG4gICAgICAgICAgZ2V0RHJhZ1Jlc2l6ZUV2ZW50RGF0YShncmlkSXRlbSwgbGF5b3V0KSxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5sYXlvdXRVcGRhdGVkLmVtaXQobGF5b3V0KTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVBY3Rpb24kKFxuICAgIGdyaWRJdGVtOiBHcmlkSXRlbUNvbXBvbmVudCxcbiAgICBwb2ludGVyRG93bkV2ZW50OiBNb3VzZUV2ZW50LFxuICAgIHR5cGU6IERyYWdBY3Rpb25UeXBlLFxuICApOiBPYnNlcnZhYmxlPEdyaWRMYXlvdXQ+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8R3JpZExheW91dD4oKG9ic2VydmVyOiBPYnNlcnZlcjxHcmlkTGF5b3V0PikgPT4ge1xuICAgICAgLy8gUmV0cmlldmUgZ3JpZCAocGFyZW50KSBhbmQgZ3JpZEl0ZW0gKGRyYWdnZWRFbGVtKSBjbGllbnQgcmVjdHMuXG4gICAgICBjb25zdCBncmlkRWxlbUNsaWVudFJlY3RTbmFwc2hvdDogR3JpZEl0ZW1DbGllbnRSZWN0ID1cbiAgICAgICAgZ2V0Q2xpZW50UmVjdFNuYXBzaG90KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KTtcbiAgICAgIGNvbnN0IGRyYWdFbGVtQ2xpZW50UmVjdFNuYXBzaG90OiBHcmlkSXRlbUNsaWVudFJlY3QgPVxuICAgICAgICBnZXRDbGllbnRSZWN0U25hcHNob3QoZ3JpZEl0ZW0uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KTtcblxuICAgICAgY29uc3Qgc2Nyb2xsYWJsZVBhcmVudCA9XG4gICAgICAgIHR5cGVvZiB0aGlzLnNjcm9sbGFibGVQYXJlbnQgPT09ICdzdHJpbmcnXG4gICAgICAgICAgPyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHRoaXMuc2Nyb2xsYWJsZVBhcmVudClcbiAgICAgICAgICA6IHRoaXMuc2Nyb2xsYWJsZVBhcmVudDtcblxuICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhcbiAgICAgICAgZ3JpZEl0ZW0uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LFxuICAgICAgICAnbm8tdHJhbnNpdGlvbnMnLFxuICAgICAgKTtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoXG4gICAgICAgIGdyaWRJdGVtLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgJ2dyaWQtaXRlbS1kcmFnZ2luZycsXG4gICAgICApO1xuXG4gICAgICBjb25zdCBwbGFjZWhvbGRlckNsaWVudFJlY3Q6IEdyaWRJdGVtQ2xpZW50UmVjdCA9IHtcbiAgICAgICAgLi4uZHJhZ0VsZW1DbGllbnRSZWN0U25hcHNob3QsXG4gICAgICAgIGxlZnQ6IGRyYWdFbGVtQ2xpZW50UmVjdFNuYXBzaG90LmxlZnQgLSBncmlkRWxlbUNsaWVudFJlY3RTbmFwc2hvdC5sZWZ0LFxuICAgICAgICB0b3A6IGRyYWdFbGVtQ2xpZW50UmVjdFNuYXBzaG90LnRvcCAtIGdyaWRFbGVtQ2xpZW50UmVjdFNuYXBzaG90LnRvcCxcbiAgICAgIH07XG4gICAgICB0aGlzLmdyaWRQbGFjZWhvbGRlclNlcnZpY2UuY3JlYXRlUGxhY2Vob2xkZXJFbGVtZW50KFxuICAgICAgICBwbGFjZWhvbGRlckNsaWVudFJlY3QsXG4gICAgICAgIHRoaXMuZWxlbWVudFJlZixcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgICBncmlkSXRlbS5wbGFjZWhvbGRlcixcbiAgICAgICk7XG5cbiAgICAgIGxldCBuZXdMYXlvdXQ6IEdyaWRMYXlvdXRJdGVtW107XG5cbiAgICAgIChzY3JvbGxhYmxlUGFyZW50XG4gICAgICAgID8gZ2V0TW91c2VNb3ZlJCh0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkucGlwZShcbiAgICAgICAgICAgIHJ1bk91dHNpZGVab25lJCh0aGlzLm5nWm9uZSksXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpLFxuICAgICAgICAgICAgc2Nyb2xsSWZOZWFyRWxlbWVudENsaWVudFJlY3QkKHNjcm9sbGFibGVQYXJlbnQsIHtcbiAgICAgICAgICAgICAgc2Nyb2xsU3RlcDogdGhpcy5zY3JvbGxTcGVlZCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIClcbiAgICAgICAgOiBORVZFUlxuICAgICAgKVxuICAgICAgICAucGlwZSh0YWtlVW50aWwoZ2V0TW91c2VFbmQkKHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKTtcbiAgICAgIG1lcmdlKFxuICAgICAgICBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICBnZXRNb3VzZU1vdmUkKHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSxcbiAgICAgICAgICB0aGlzLmdyaWRMYXlvdXRTZXJ2aWNlLnNjcm9sbERpZmZlcmVuY2UkLFxuICAgICAgICBdKSxcbiAgICAgIClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgcnVuT3V0c2lkZVpvbmUkKHRoaXMubmdab25lKSxcbiAgICAgICAgICB0YWtlVW50aWwoZ2V0TW91c2VFbmQkKHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSksXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgIChbcG9pbnRlckRyYWdFdmVudCwgc2Nyb2xsRGlmZmVyZW5jZV06IFtcbiAgICAgICAgICAgIE1vdXNlRXZlbnQsXG4gICAgICAgICAgICB7IHRvcDogbnVtYmVyOyBsZWZ0OiBudW1iZXIgfSxcbiAgICAgICAgICBdKSA9PiB7XG4gICAgICAgICAgICBwb2ludGVyRHJhZ0V2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBjb25zdCBncmlkSXRlbUlkID0gZ3JpZEl0ZW0uaWQ7XG4gICAgICAgICAgICBjb25zdCB7IGdyaWREYXRhLCBsYXlvdXQgfSA9XG4gICAgICAgICAgICAgIHRoaXMuZ3JpZExheW91dFNlcnZpY2UubGF5b3V0V2hlbkFjdGlvbihcbiAgICAgICAgICAgICAgICBncmlkSXRlbSxcbiAgICAgICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHBvaW50ZXJEb3duRXZlbnQsXG4gICAgICAgICAgICAgICAgICBwb2ludGVyRHJhZ0V2ZW50LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgc2Nyb2xsRGlmZmVyZW5jZSxcbiAgICAgICAgICAgICAgICBkcmFnRWxlbUNsaWVudFJlY3RTbmFwc2hvdCxcbiAgICAgICAgICAgICAgICBncmlkRWxlbUNsaWVudFJlY3RTbmFwc2hvdCxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuZ3JpZExheW91dFNlcnZpY2UuZmx1c2hSZW5kZXJEYXRhKCk7XG4gICAgICAgICAgICBuZXdMYXlvdXQgPSBjbG9uZURlZXAobGF5b3V0KTtcblxuICAgICAgICAgICAgY29uc3QgbmV3SXRlbUdyaWREYXRhID0geyAuLi5ncmlkRGF0YVtncmlkSXRlbUlkXSB9O1xuXG4gICAgICAgICAgICAvLyBwdXQgdGhlIGdyaWQgbm9ybWFsaXplIHBvc2l0aW9uIHRvIHRoZSBwbGFjZWhvbGRlciBlbGVtZW50XG4gICAgICAgICAgICB0aGlzLmdyaWRQbGFjZWhvbGRlclNlcnZpY2UudXBkYXRlUGxhY2VIb2xkZXIobmV3SXRlbUdyaWREYXRhKTtcblxuICAgICAgICAgICAgdHlwZSA9PT0gJ3Jlc2l6ZScgJiZcbiAgICAgICAgICAgICAgdGhpcy5ncmlkSXRlbVJlc2l6ZS5lbWl0KHtcbiAgICAgICAgICAgICAgICB3aWR0aDogbmV3SXRlbUdyaWREYXRhLndpZHRoLFxuICAgICAgICAgICAgICAgIGhlaWdodDogbmV3SXRlbUdyaWREYXRhLmhlaWdodCxcbiAgICAgICAgICAgICAgICBncmlkSXRlbVJlZjogZ2V0RHJhZ1Jlc2l6ZUV2ZW50RGF0YShncmlkSXRlbSwgbmV3TGF5b3V0KVxuICAgICAgICAgICAgICAgICAgLmdyaWRJdGVtUmVmLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGVycm9yID0+IG9ic2VydmVyLmVycm9yKGVycm9yKSxcbiAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKFxuICAgICAgICAgICAgICAgIGdyaWRJdGVtLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAnbm8tdHJhbnNpdGlvbnMnLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKFxuICAgICAgICAgICAgICAgIGdyaWRJdGVtLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAnZ3JpZC1pdGVtLWRyYWdnaW5nJyxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgLy8gd2hlbiBhY3Rpb24gaXMgZG9uZSwgdXNlIGFub3RoZXIgcmVsYXlvdXQgdG8gbWFrZSBzdXJlIGV2ZXJ5dGhpbmcgaXMgZmluZVxuICAgICAgICAgICAgICB0aGlzLmNvbXBhY3RMYXlvdXQoZmFsc2UpO1xuICAgICAgICAgICAgICB0aGlzLmdyaWRMYXlvdXRTZXJ2aWNlLmNhbGN1bGF0ZVJlbmRlckRhdGEoKTtcbiAgICAgICAgICAgICAgdGhpcy5ncmlkTGF5b3V0U2VydmljZS5mbHVzaFJlbmRlckRhdGEoKTtcblxuICAgICAgICAgICAgICB0aGlzLmdyaWRQbGFjZWhvbGRlclNlcnZpY2UuZGVzdHJveVBsYWNlaG9sZGVyKCk7XG4gICAgICAgICAgICAgIGlmIChuZXdMYXlvdXQpIHtcbiAgICAgICAgICAgICAgICBvYnNlcnZlci5uZXh0KGNsb25lRGVlcChuZXdMYXlvdXQpIGFzIEdyaWRMYXlvdXQpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgIH0pO1xuICB9XG59XG4iLCI8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4iXX0=
@@ -0,0 +1,228 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { DOCUMENT } from '@angular/common';
3
+ import { ChangeDetectionStrategy, Component, ContentChild, ContentChildren, ElementRef, EventEmitter, Inject, Input, NgZone, Output, QueryList, Renderer2, ViewChild, } from '@angular/core';
4
+ import { NEVER, Observable, startWith, switchMap, merge, iif, exhaustMap, take, map, Subject, takeUntil, filter, distinctUntilChanged, } from 'rxjs';
5
+ import { isEqual, ObservableInput } from '../../../public-api';
6
+ import { GRID_DRAG_HANDLER, } from '../../directives/drag-handler.directive';
7
+ import { GridItemPlaceholderDirective, GRID_ITEM_PLACEHOLDER, } from '../../directives/placeholder.directive';
8
+ import { GRID_REMOVE_HANDLER, } from '../../directives/remove-handler.directive';
9
+ import { GRID_RESIZE_HANDLER, } from '../../directives/resize-handler.directive';
10
+ import { GridLayoutService } from '../../grid-layout.service';
11
+ import { parseRenderItemToPixels } from '../../utils/grid.utils';
12
+ import { accessPointerMoveThreshold, getMouseClick$, getMouseDown$, getMouseEnd$, getMouseMove$, } from '../../utils/mouse.utils';
13
+ import { runOutsideZone$ } from '../../utils/operator';
14
+ import * as i0 from "@angular/core";
15
+ import * as i1 from "../../grid-layout.service";
16
+ import * as i2 from "@alauda/ui";
17
+ const _c0 = ["resizeElem"];
18
+ const _c1 = ["removeElem"];
19
+ const _c2 = ["*"];
20
+ const ANIMATION_DURATION_MS = 250;
21
+ export class GridItemComponent {
22
+ constructor(elementRef, document, renderer, ngZone, layoutService) {
23
+ this.elementRef = elementRef;
24
+ this.document = document;
25
+ this.renderer = renderer;
26
+ this.ngZone = ngZone;
27
+ this.layoutService = layoutService;
28
+ /** CSS transition style */
29
+ this.transition = `transform ${ANIMATION_DURATION_MS}ms ease, width ${ANIMATION_DURATION_MS}ms ease, height ${ANIMATION_DURATION_MS}ms ease`;
30
+ /** Minimum amount of pixels that the user should move before it starts the drag sequence. */
31
+ this.dragStartThreshold = 0;
32
+ /** Whether the item is draggable or not. Defaults to true. */
33
+ this.draggable = true;
34
+ /** Whether the item is resizable or not. Defaults to true. */
35
+ this.resizable = true;
36
+ this.removable = true;
37
+ this.destroy$$ = new Subject();
38
+ this.dragStartSubject = new Subject();
39
+ this.resizeStartSubject = new Subject();
40
+ this.dragStart$ = this.dragStartSubject.asObservable();
41
+ this.resizeStart$ = this.resizeStartSubject.asObservable();
42
+ this.remove = new EventEmitter();
43
+ }
44
+ ngOnInit() {
45
+ this.layoutService.gridRenderItemsData$$
46
+ .pipe(map(({ data, animation }) => ({ data: data?.[this.id], animation })), distinctUntilChanged((a, b) => isEqual(a.data, b.data)), takeUntil(this.destroy$$))
47
+ .subscribe(({ data, animation }) => {
48
+ this.setStyles(parseRenderItemToPixels(data), animation);
49
+ });
50
+ }
51
+ ngAfterContentInit() {
52
+ this.setupDragStartListener();
53
+ this.setupResizeStartListener();
54
+ this.setupRemoveListener();
55
+ }
56
+ ngOnDestroy() {
57
+ this.destroy$$.next();
58
+ this.destroy$$.complete();
59
+ }
60
+ setStyles({ top, left, width, height, }, animation) {
61
+ this.renderer.setStyle(this.elementRef.nativeElement, 'transform', `translateX(${left}) translateY(${top})`);
62
+ this.renderer.setStyle(this.elementRef.nativeElement, 'transition', animation ? this.transition : 'none');
63
+ requestAnimationFrame(() => {
64
+ this.renderer.setStyle(this.elementRef.nativeElement, 'display', `block`);
65
+ if (width != null) {
66
+ this.renderer.setStyle(this.elementRef.nativeElement, 'width', width);
67
+ }
68
+ if (height != null) {
69
+ this.renderer.setStyle(this.elementRef.nativeElement, 'height', height);
70
+ }
71
+ });
72
+ }
73
+ setupDragStartListener() {
74
+ const document = this.document.documentElement;
75
+ this.draggable$
76
+ .pipe(takeUntil(this.destroy$$), startWith(this.draggable), switchMap(draggable => {
77
+ if (!draggable) {
78
+ return NEVER;
79
+ }
80
+ return this.dragHandles.changes.pipe(startWith(this.dragHandles), switchMap((dragHandles) => iif(() => dragHandles.length > 0, merge(...dragHandles
81
+ .toArray()
82
+ .map(dragHandle => getMouseDown$(dragHandle.element.nativeElement))), getMouseDown$(this.elementRef.nativeElement)).pipe(exhaustMap(startEvent => {
83
+ // Prevent browser default drag/drop action, we handle all scenes
84
+ if (startEvent.target &&
85
+ startEvent.target.draggable &&
86
+ startEvent.type === 'mousedown') {
87
+ startEvent.preventDefault();
88
+ startEvent.stopImmediatePropagation();
89
+ }
90
+ return getMouseMove$(this.document.documentElement).pipe(takeUntil(getMouseEnd$(document)), runOutsideZone$(this.ngZone), filter(moveEvent => {
91
+ moveEvent.preventDefault();
92
+ return accessPointerMoveThreshold(startEvent, moveEvent, this.dragStartThreshold);
93
+ }), take(1), map(() => startEvent));
94
+ }))));
95
+ }))
96
+ .subscribe(this.dragStartSubject);
97
+ }
98
+ setupRemoveListener() {
99
+ this.removable$
100
+ .pipe(takeUntil(this.destroy$$), startWith(this.removable), switchMap(removable => {
101
+ if (!removable) {
102
+ this.renderer.setStyle(this.removeElem.nativeElement, 'display', 'none');
103
+ return NEVER;
104
+ }
105
+ return this.removeHandles.changes.pipe(startWith(this.removeHandles), switchMap((removeHandles) => {
106
+ if (removeHandles.length > 0) {
107
+ this.renderer.setStyle(this.removeElem.nativeElement, 'display', 'none');
108
+ return merge(...removeHandles
109
+ .toArray()
110
+ .map(removeHandle => getMouseClick$(removeHandle.element.nativeElement)));
111
+ }
112
+ this.renderer.setStyle(this.removeElem.nativeElement, 'display', 'block');
113
+ return getMouseDown$(this.removeElem.nativeElement);
114
+ }));
115
+ }))
116
+ .subscribe(evt => {
117
+ evt.preventDefault();
118
+ this.remove.emit(this.id);
119
+ });
120
+ }
121
+ setupResizeStartListener() {
122
+ this.resizable$
123
+ .pipe(takeUntil(this.destroy$$), startWith(this.resizable), switchMap(resizable => {
124
+ if (!resizable) {
125
+ this.renderer.setStyle(this.resizeElem.nativeElement, 'display', 'none');
126
+ return NEVER;
127
+ }
128
+ return this.resizeHandles.changes.pipe(startWith(this.resizeHandles), switchMap((resizeHandles) => {
129
+ if (resizeHandles.length > 0) {
130
+ this.renderer.setStyle(this.resizeElem.nativeElement, 'display', 'none');
131
+ return merge(...resizeHandles
132
+ .toArray()
133
+ .map(resizeHandle => getMouseDown$(resizeHandle.element.nativeElement)));
134
+ }
135
+ this.renderer.setStyle(this.resizeElem.nativeElement, 'display', 'block');
136
+ return getMouseDown$(this.resizeElem.nativeElement);
137
+ }));
138
+ }))
139
+ .subscribe(this.resizeStartSubject);
140
+ }
141
+ static { this.ɵfac = function GridItemComponent_Factory(t) { return new (t || GridItemComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(DOCUMENT), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.NgZone), i0.ɵɵdirectiveInject(i1.GridLayoutService)); }; }
142
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GridItemComponent, selectors: [["acl-grid-item"]], contentQueries: function GridItemComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
143
+ i0.ɵɵcontentQuery(dirIndex, GRID_ITEM_PLACEHOLDER, 5);
144
+ i0.ɵɵcontentQuery(dirIndex, GRID_DRAG_HANDLER, 5);
145
+ i0.ɵɵcontentQuery(dirIndex, GRID_RESIZE_HANDLER, 5);
146
+ i0.ɵɵcontentQuery(dirIndex, GRID_REMOVE_HANDLER, 5);
147
+ } if (rf & 2) {
148
+ let _t;
149
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.placeholder = _t.first);
150
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.dragHandles = _t);
151
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.resizeHandles = _t);
152
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.removeHandles = _t);
153
+ } }, viewQuery: function GridItemComponent_Query(rf, ctx) { if (rf & 1) {
154
+ i0.ɵɵviewQuery(_c0, 7, ElementRef);
155
+ i0.ɵɵviewQuery(_c1, 7, ElementRef);
156
+ } if (rf & 2) {
157
+ let _t;
158
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.resizeElem = _t.first);
159
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.removeElem = _t.first);
160
+ } }, inputs: { id: "id", minW: "minW", minH: "minH", maxW: "maxW", maxH: "maxH", transition: "transition", dragStartThreshold: "dragStartThreshold", draggable: "draggable", resizable: "resizable", removable: "removable" }, outputs: { remove: "remove" }, ngContentSelectors: _c2, decls: 6, vars: 0, consts: [[1, "grid-item-default-resize-icon"], ["resizeElem", ""], [1, "grid-item-default-remove"], ["removeElem", ""], ["icon", "xmark"]], template: function GridItemComponent_Template(rf, ctx) { if (rf & 1) {
161
+ i0.ɵɵprojectionDef();
162
+ i0.ɵɵprojection(0);
163
+ i0.ɵɵelement(1, "div", 0, 1);
164
+ i0.ɵɵelementStart(3, "div", 2, 3);
165
+ i0.ɵɵelement(5, "aui-icon", 4);
166
+ i0.ɵɵelementEnd();
167
+ } }, dependencies: [i2.IconComponent], styles: ["[_nghost-%COMP%]{display:none;position:absolute;z-index:1;overflow:hidden}[_nghost-%COMP%] div[_ngcontent-%COMP%]{position:absolute;user-select:none;z-index:10}[_nghost-%COMP%] div.grid-item-default-remove[_ngcontent-%COMP%]{position:absolute;top:12px;right:12px}[_nghost-%COMP%] div.grid-item-default-remove[_ngcontent-%COMP%] aui-icon[_ngcontent-%COMP%]{font-size:16px}[_nghost-%COMP%] div.grid-item-default-remove[_ngcontent-%COMP%] aui-icon[_ngcontent-%COMP%]:hover{cursor:pointer}[_nghost-%COMP%] div.grid-item-default-resize-icon[_ngcontent-%COMP%]{cursor:se-resize;width:20px;height:20px;bottom:0;right:0;color:inherit}[_nghost-%COMP%] div.grid-item-default-resize-icon[_ngcontent-%COMP%]:after{content:\"\";position:absolute;right:8px;bottom:8px;width:12px;height:12px;border-right:2px solid rgb(var(--aui-color-n-4));border-bottom:2px solid rgb(var(--aui-color-n-4))}.display-none[_ngcontent-%COMP%]{display:none!important}"], changeDetection: 0 }); }
168
+ }
169
+ __decorate([
170
+ ObservableInput(),
171
+ __metadata("design:type", Observable)
172
+ ], GridItemComponent.prototype, "draggable$", void 0);
173
+ __decorate([
174
+ ObservableInput(),
175
+ __metadata("design:type", Observable)
176
+ ], GridItemComponent.prototype, "resizable$", void 0);
177
+ __decorate([
178
+ ObservableInput(),
179
+ __metadata("design:type", Observable)
180
+ ], GridItemComponent.prototype, "removable$", void 0);
181
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(GridItemComponent, [{
182
+ type: Component,
183
+ args: [{ selector: 'acl-grid-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n<div\n #resizeElem\n class=\"grid-item-default-resize-icon\"\n></div>\n<div\n #removeElem\n class=\"grid-item-default-remove\"\n>\n <aui-icon icon=\"xmark\"></aui-icon>\n</div>\n", styles: [":host{display:none;position:absolute;z-index:1;overflow:hidden}:host div{position:absolute;user-select:none;z-index:10}:host div.grid-item-default-remove{position:absolute;top:12px;right:12px}:host div.grid-item-default-remove aui-icon{font-size:16px}:host div.grid-item-default-remove aui-icon:hover{cursor:pointer}:host div.grid-item-default-resize-icon{cursor:se-resize;width:20px;height:20px;bottom:0;right:0;color:inherit}:host div.grid-item-default-resize-icon:after{content:\"\";position:absolute;right:8px;bottom:8px;width:12px;height:12px;border-right:2px solid rgb(var(--aui-color-n-4));border-bottom:2px solid rgb(var(--aui-color-n-4))}.display-none{display:none!important}\n"] }]
184
+ }], function () { return [{ type: i0.ElementRef }, { type: Document, decorators: [{
185
+ type: Inject,
186
+ args: [DOCUMENT]
187
+ }] }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i1.GridLayoutService }]; }, { id: [{
188
+ type: Input
189
+ }], dragHandles: [{
190
+ type: ContentChildren,
191
+ args: [GRID_DRAG_HANDLER, { descendants: true }]
192
+ }], resizeHandles: [{
193
+ type: ContentChildren,
194
+ args: [GRID_RESIZE_HANDLER, { descendants: true }]
195
+ }], removeHandles: [{
196
+ type: ContentChildren,
197
+ args: [GRID_REMOVE_HANDLER, { descendants: true }]
198
+ }], resizeElem: [{
199
+ type: ViewChild,
200
+ args: ['resizeElem', { static: true, read: ElementRef }]
201
+ }], removeElem: [{
202
+ type: ViewChild,
203
+ args: ['removeElem', { static: true, read: ElementRef }]
204
+ }], placeholder: [{
205
+ type: ContentChild,
206
+ args: [GRID_ITEM_PLACEHOLDER]
207
+ }], minW: [{
208
+ type: Input
209
+ }], minH: [{
210
+ type: Input
211
+ }], maxW: [{
212
+ type: Input
213
+ }], maxH: [{
214
+ type: Input
215
+ }], transition: [{
216
+ type: Input
217
+ }], dragStartThreshold: [{
218
+ type: Input
219
+ }], draggable: [{
220
+ type: Input
221
+ }], draggable$: [], resizable: [{
222
+ type: Input
223
+ }], resizable$: [], removable: [{
224
+ type: Input
225
+ }], removable$: [], remove: [{
226
+ type: Output
227
+ }] }); })();
228
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21tb24vc3JjL2dyaWQtbGF5b3V0L2NvbXBvbmVudHMvZ3JpZC1pdGVtcy9jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvZ3JpZC1sYXlvdXQvY29tcG9uZW50cy9ncmlkLWl0ZW1zL3RlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUNmLFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBR04sTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1QsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLFNBQVMsRUFDVCxTQUFTLEVBQ1QsS0FBSyxFQUNMLEdBQUcsRUFDSCxVQUFVLEVBQ1YsSUFBSSxFQUNKLEdBQUcsRUFDSCxPQUFPLEVBQ1AsU0FBUyxFQUNULE1BQU0sRUFDTixvQkFBb0IsR0FDckIsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQy9ELE9BQU8sRUFFTCxpQkFBaUIsR0FDbEIsTUFBTSx5Q0FBeUMsQ0FBQztBQUNqRCxPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLHFCQUFxQixHQUN0QixNQUFNLHdDQUF3QyxDQUFDO0FBQ2hELE9BQU8sRUFFTCxtQkFBbUIsR0FDcEIsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRCxPQUFPLEVBRUwsbUJBQW1CLEdBQ3BCLE1BQU0sMkNBQTJDLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFp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O2tCQURULFNBQVM7bUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBSTNELFVBQVU7a0JBRFQsU0FBUzttQkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7WUFJM0QsV0FBVztrQkFEVixZQUFZO21CQUFDLHFCQUFxQjtZQUcxQixJQUFJO2tCQUFaLEtBQUs7WUFDRyxJQUFJO2tCQUFaLEtBQUs7WUFDRyxJQUFJO2tCQUFaLEtBQUs7WUFDRyxJQUFJO2tCQUFaLEtBQUs7WUFJTixVQUFVO2tCQURULEtBQUs7WUFLTixrQkFBa0I7a0JBRGpCLEtBQUs7WUFLTixTQUFTO2tCQURSLEtBQUs7WUFJTixVQUFVLE1BSVYsU0FBUztrQkFEUixLQUFLO1lBSU4sVUFBVSxNQUdWLFNBQVM7a0JBRFIsS0FBSztZQUlOLFVBQVUsTUFtQlYsTUFBTTtrQkFETCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgTmdab25lLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFJlbmRlcmVyMixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIE5FVkVSLFxuICBPYnNlcnZhYmxlLFxuICBzdGFydFdpdGgsXG4gIHN3aXRjaE1hcCxcbiAgbWVyZ2UsXG4gIGlpZixcbiAgZXhoYXVzdE1hcCxcbiAgdGFrZSxcbiAgbWFwLFxuICBTdWJqZWN0LFxuICB0YWtlVW50aWwsXG4gIGZpbHRlcixcbiAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG59IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBpc0VxdWFsLCBPYnNlcnZhYmxlSW5wdXQgfSBmcm9tICcuLi8uLi8uLi9wdWJsaWMtYXBpJztcbmltcG9ydCB7XG4gIEdyaWREcmFnSGFuZGxlckRpcmVjdGl2ZSxcbiAgR1JJRF9EUkFHX0hBTkRMRVIsXG59IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvZHJhZy1oYW5kbGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICBHcmlkSXRlbVBsYWNlaG9sZGVyRGlyZWN0aXZlLFxuICBHUklEX0lURU1fUExBQ0VIT0xERVIsXG59IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvcGxhY2Vob2xkZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7XG4gIEdyaWRSZW1vdmVIYW5kbGVyRGlyZWN0aXZlLFxuICBHUklEX1JFTU9WRV9IQU5ETEVSLFxufSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3JlbW92ZS1oYW5kbGVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1xuICBHcmlkUmVzaXplSGFuZGxlckRpcmVjdGl2ZSxcbiAgR1JJRF9SRVNJWkVfSEFORExFUixcbn0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9yZXNpemUtaGFuZGxlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgR3JpZExheW91dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9ncmlkLWxheW91dC5zZXJ2aWNlJztcbmltcG9ydCB7IHBhcnNlUmVuZGVySXRlbVRvUGl4ZWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMvZ3JpZC51dGlscyc7XG5pbXBvcnQge1xuICBhY2Nlc3NQb2ludGVyTW92ZVRocmVzaG9sZCxcbiAgZ2V0TW91c2VDbGljayQsXG4gIGdldE1vdXNlRG93biQsXG4gIGdldE1vdXNlRW5kJCxcbiAgZ2V0TW91c2VNb3ZlJCxcbn0gZnJvbSAnLi4vLi4vdXRpbHMvbW91c2UudXRpbHMnO1xuaW1wb3J0IHsgcnVuT3V0c2lkZVpvbmUkIH0gZnJvbSAnLi4vLi4vdXRpbHMvb3BlcmF0b3InO1xuXG5jb25zdCBBTklNQVRJT05fRFVSQVRJT05fTVMgPSAyNTA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FjbC1ncmlkLWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vdGVtcGxhdGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3N0eWxlLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEdyaWRJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyQ29udGVudEluaXQge1xuICBASW5wdXQoKVxuICBpZCE6IHN0cmluZztcblxuICBAQ29udGVudENoaWxkcmVuKEdSSURfRFJBR19IQU5ETEVSLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHByaXZhdGUgcmVhZG9ubHkgZHJhZ0hhbmRsZXM6IFF1ZXJ5TGlzdDxHcmlkRHJhZ0hhbmRsZXJEaXJlY3RpdmU+O1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oR1JJRF9SRVNJWkVfSEFORExFUiwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KVxuICBwcml2YXRlIHJlYWRvbmx5IHJlc2l6ZUhhbmRsZXM6IFF1ZXJ5TGlzdDxHcmlkUmVzaXplSGFuZGxlckRpcmVjdGl2ZT47XG5cbiAgQENvbnRlbnRDaGlsZHJlbihHUklEX1JFTU9WRV9IQU5ETEVSLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVtb3ZlSGFuZGxlczogUXVlcnlMaXN0PEdyaWRSZW1vdmVIYW5kbGVyRGlyZWN0aXZlPjtcblxuICBAVmlld0NoaWxkKCdyZXNpemVFbGVtJywgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcmVzaXplRWxlbTogRWxlbWVudFJlZjtcblxuICBAVmlld0NoaWxkKCdyZW1vdmVFbGVtJywgeyBzdGF0aWM6IHRydWUsIHJlYWQ6IEVsZW1lbnRSZWYgfSlcbiAgcmVtb3ZlRWxlbTogRWxlbWVudFJlZjtcblxuICBAQ29udGVudENoaWxkKEdSSURfSVRFTV9QTEFDRUhPTERFUilcbiAgcGxhY2Vob2xkZXI6IEdyaWRJdGVtUGxhY2Vob2xkZXJEaXJlY3RpdmU7XG5cbiAgQElucHV0KCkgbWluVz86IG51bWJlcjtcbiAgQElucHV0KCkgbWluSD86IG51bWJlcjtcbiAgQElucHV0KCkgbWF4Vz86IG51bWJlcjtcbiAgQElucHV0KCkgbWF4SD86IG51bWJlcjtcblxuICAvKiogQ1NTIHRyYW5zaXRpb24gc3R5bGUgKi9cbiAgQElucHV0KClcbiAgdHJhbnNpdGlvbiA9IGB0cmFuc2Zvcm0gJHtBTklNQVRJT05fRFVSQVRJT05fTVN9bXMgZWFzZSwgd2lkdGggJHtBTklNQVRJT05fRFVSQVRJT05fTVN9bXMgZWFzZSwgaGVpZ2h0ICR7QU5JTUFUSU9OX0RVUkFUSU9OX01TfW1zIGVhc2VgO1xuXG4gIC8qKiBNaW5pbXVtIGFtb3VudCBvZiBwaXhlbHMgdGhhdCB0aGUgdXNlciBzaG91bGQgbW92ZSBiZWZvcmUgaXQgc3RhcnRzIHRoZSBkcmFnIHNlcXVlbmNlLiAqL1xuICBASW5wdXQoKVxuICBkcmFnU3RhcnRUaHJlc2hvbGQgPSAwO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBpdGVtIGlzIGRyYWdnYWJsZSBvciBub3QuIERlZmF1bHRzIHRvIHRydWUuICovXG4gIEBJbnB1dCgpXG4gIGRyYWdnYWJsZSA9IHRydWU7XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIGRyYWdnYWJsZSQhOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBpdGVtIGlzIHJlc2l6YWJsZSBvciBub3QuIERlZmF1bHRzIHRvIHRydWUuICovXG4gIEBJbnB1dCgpXG4gIHJlc2l6YWJsZSA9IHRydWU7XG5cbiAgQE9ic2VydmFibGVJbnB1dCgpXG4gIHJlc2l6YWJsZSQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgQElucHV0KClcbiAgcmVtb3ZhYmxlID0gdHJ1ZTtcblxuICBAT2JzZXJ2YWJsZUlucHV0KClcbiAgcmVtb3ZhYmxlJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICBkZXN0cm95JCQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZHJhZ1N0YXJ0U3ViamVjdCA9IG5ldyBTdWJqZWN0PE1vdXNlRXZlbnQ+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVzaXplU3RhcnRTdWJqZWN0ID0gbmV3IFN1YmplY3Q8TW91c2VFdmVudD4oKTtcblxuICBkcmFnU3RhcnQkID0gdGhpcy5kcmFnU3RhcnRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICByZXNpemVTdGFydCQgPSB0aGlzLnJlc2l6ZVN0YXJ0U3ViamVjdC5hc09ic2VydmFibGUoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxheW91dFNlcnZpY2U6IEdyaWRMYXlvdXRTZXJ2aWNlLFxuICApIHt9XG5cbiAgQE91dHB1dCgpXG4gIHJlbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxheW91dFNlcnZpY2UuZ3JpZFJlbmRlckl0ZW1zRGF0YSQkXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKCh7IGRhdGEsIGFuaW1hdGlvbiB9KSA9PiAoeyBkYXRhOiBkYXRhPy5bdGhpcy5pZF0sIGFuaW1hdGlvbiB9KSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBpc0VxdWFsKGEuZGF0YSwgYi5kYXRhKSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCh7IGRhdGEsIGFuaW1hdGlvbiB9KSA9PiB7XG4gICAgICAgIHRoaXMuc2V0U3R5bGVzKHBhcnNlUmVuZGVySXRlbVRvUGl4ZWxzKGRhdGEpLCBhbmltYXRpb24pO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgdGhpcy5zZXR1cERyYWdTdGFydExpc3RlbmVyKCk7XG4gICAgdGhpcy5zZXR1cFJlc2l6ZVN0YXJ0TGlzdGVuZXIoKTtcbiAgICB0aGlzLnNldHVwUmVtb3ZlTGlzdGVuZXIoKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkJC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgc2V0U3R5bGVzKFxuICAgIHtcbiAgICAgIHRvcCxcbiAgICAgIGxlZnQsXG4gICAgICB3aWR0aCxcbiAgICAgIGhlaWdodCxcbiAgICB9OiB7XG4gICAgICB0b3A6IHN0cmluZztcbiAgICAgIGxlZnQ6IHN0cmluZztcbiAgICAgIHdpZHRoPzogc3RyaW5nO1xuICAgICAgaGVpZ2h0Pzogc3RyaW5nO1xuICAgIH0sXG4gICAgYW5pbWF0aW9uOiBib29sZWFuLFxuICApIHtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAndHJhbnNmb3JtJyxcbiAgICAgIGB0cmFuc2xhdGVYKCR7bGVmdH0pIHRyYW5zbGF0ZVkoJHt0b3B9KWAsXG4gICAgKTtcblxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgICd0cmFuc2l0aW9uJyxcbiAgICAgIGFuaW1hdGlvbiA/IHRoaXMudHJhbnNpdGlvbiA6ICdub25lJyxcbiAgICApO1xuICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnZGlzcGxheScsIGBibG9ja2ApO1xuICAgICAgaWYgKHdpZHRoICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3dpZHRoJywgd2lkdGgpO1xuICAgICAgfVxuICAgICAgaWYgKGhlaWdodCAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdoZWlnaHQnLCBoZWlnaHQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cERyYWdTdGFydExpc3RlbmVyKCkge1xuICAgIGNvbnN0IGRvY3VtZW50ID0gdGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgdGhpcy5kcmFnZ2FibGUkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSxcbiAgICAgICAgc3RhcnRXaXRoKHRoaXMuZHJhZ2dhYmxlKSxcbiAgICAgICAgc3dpdGNoTWFwKGRyYWdnYWJsZSA9PiB7XG4gICAgICAgICAgaWYgKCFkcmFnZ2FibGUpIHtcbiAgICAgICAgICAgIHJldHVybiBORVZFUjtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZHJhZ0hhbmRsZXMuY2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgc3RhcnRXaXRoKHRoaXMuZHJhZ0hhbmRsZXMpLFxuICAgICAgICAgICAgc3dpdGNoTWFwKChkcmFnSGFuZGxlczogUXVlcnlMaXN0PEdyaWREcmFnSGFuZGxlckRpcmVjdGl2ZT4pID0+XG4gICAgICAgICAgICAgIGlpZihcbiAgICAgICAgICAgICAgICAoKSA9PiBkcmFnSGFuZGxlcy5sZW5ndGggPiAwLFxuICAgICAgICAgICAgICAgIG1lcmdlKFxuICAgICAgICAgICAgICAgICAgLi4uZHJhZ0hhbmRsZXNcbiAgICAgICAgICAgICAgICAgICAgLnRvQXJyYXkoKVxuICAgICAgICAgICAgICAgICAgICAubWFwKGRyYWdIYW5kbGUgPT5cbiAgICAgICAgICAgICAgICAgICAgICBnZXRNb3VzZURvd24kKGRyYWdIYW5kbGUuZWxlbWVudC5uYXRpdmVFbGVtZW50KSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIGdldE1vdXNlRG93biQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpLFxuICAgICAgICAgICAgICApLnBpcGUoXG4gICAgICAgICAgICAgICAgZXhoYXVzdE1hcChzdGFydEV2ZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgIC8vIFByZXZlbnQgYnJvd3NlciBkZWZhdWx0IGRyYWcvZHJvcCBhY3Rpb24sIHdlIGhhbmRsZSBhbGwgc2NlbmVzXG4gICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0RXZlbnQudGFyZ2V0ICYmXG4gICAgICAgICAgICAgICAgICAgIChzdGFydEV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkuZHJhZ2dhYmxlICYmXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0RXZlbnQudHlwZSA9PT0gJ21vdXNlZG93bidcbiAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICBzdGFydEV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0RXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIHJldHVybiBnZXRNb3VzZU1vdmUkKHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5waXBlKFxuICAgICAgICAgICAgICAgICAgICB0YWtlVW50aWwoZ2V0TW91c2VFbmQkKGRvY3VtZW50KSksXG4gICAgICAgICAgICAgICAgICAgIHJ1bk91dHNpZGVab25lJCh0aGlzLm5nWm9uZSksXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcihtb3ZlRXZlbnQgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIG1vdmVFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBhY2Nlc3NQb2ludGVyTW92ZVRocmVzaG9sZChcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0RXZlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICBtb3ZlRXZlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRyYWdTdGFydFRocmVzaG9sZCxcbiAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICAgICAgbWFwKCgpID0+IHN0YXJ0RXZlbnQpLFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKHRoaXMuZHJhZ1N0YXJ0U3ViamVjdCk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwUmVtb3ZlTGlzdGVuZXIoKSB7XG4gICAgdGhpcy5yZW1vdmFibGUkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQkKSxcbiAgICAgICAgc3RhcnRXaXRoKHRoaXMucmVtb3ZhYmxlKSxcbiAgICAgICAgc3dpdGNoTWFwKHJlbW92YWJsZSA9PiB7XG4gICAgICAgICAgaWYgKCFyZW1vdmFibGUpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgICAgICAgIHRoaXMucmVtb3ZlRWxlbS5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAnZGlzcGxheScsXG4gICAgICAgICAgICAgICdub25lJyxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXR1cm4gTkVWRVI7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB0aGlzLnJlbW92ZUhhbmRsZXMuY2hhbmdlcy5waXBlKFxuICAgICAgICAgICAgc3RhcnRXaXRoKHRoaXMucmVtb3ZlSGFuZGxlcyksXG4gICAgICAgICAgICBzd2l0Y2hNYXAoXG4gICAgICAgICAgICAgIChyZW1vdmVIYW5kbGVzOiBRdWVyeUxpc3Q8R3JpZFJlbW92ZUhhbmRsZXJEaXJlY3RpdmU+KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlbW92ZUhhbmRsZXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVFbGVtLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgICdkaXNwbGF5JyxcbiAgICAgICAgICAgICAgICAgICAgJ25vbmUnLFxuICAgICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgICAgcmV0dXJuIG1lcmdlKFxuICAgICAgICAgICAgICAgICAgICAuLi5yZW1vdmVIYW5kbGVzXG4gICAgICAgICAgICAgICAgICAgICAgLnRvQXJyYXkoKVxuICAgICAgICAgICAgICAgICAgICAgIC5tYXAocmVtb3ZlSGFuZGxlID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBnZXRNb3VzZUNsaWNrJChyZW1vdmVIYW5kbGUuZWxlbWVudC5uYXRpdmVFbGVtZW50KSxcbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgICAgICAgICAgIHRoaXMucmVtb3ZlRWxlbS5uYXRpdmVFbGVtZW50LFxuICAgICAgICAgICAgICAgICAgJ2Rpc3BsYXknLFxuICAgICAgICAgICAgICAgICAgJ2Jsb2NrJyxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIHJldHVybiBnZXRNb3VzZURvd24kKHRoaXMucmVtb3ZlRWxlbS5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGV2dCA9PiB7XG4gICAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLnJlbW92ZS5lbWl0KHRoaXMuaWQpO1xuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwUmVzaXplU3RhcnRMaXN0ZW5lcigpIHtcbiAgICB0aGlzLnJlc2l6YWJsZSRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpLFxuICAgICAgICBzdGFydFdpdGgodGhpcy5yZXNpemFibGUpLFxuICAgICAgICBzd2l0Y2hNYXAocmVzaXphYmxlID0+IHtcbiAgICAgICAgICBpZiAoIXJlc2l6YWJsZSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShcbiAgICAgICAgICAgICAgdGhpcy5yZXNpemVFbGVtLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAgICdkaXNwbGF5JyxcbiAgICAgICAgICAgICAgJ25vbmUnLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybiBORVZFUjtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRoaXMucmVzaXplSGFuZGxlcy5jaGFuZ2VzLnBpcGUoXG4gICAgICAgICAgICBzdGFydFdpdGgodGhpcy5yZXNpemVIYW5kbGVzKSxcbiAgICAgICAgICAgIHN3aXRjaE1hcChcbiAgICAgICAgICAgICAgKHJlc2l6ZUhhbmRsZXM6IFF1ZXJ5TGlzdDxHcmlkUmVzaXplSGFuZGxlckRpcmVjdGl2ZT4pID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVzaXplSGFuZGxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc2l6ZUVsZW0ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgJ2Rpc3BsYXknLFxuICAgICAgICAgICAgICAgICAgICAnbm9uZScsXG4gICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICByZXR1cm4gbWVyZ2UoXG4gICAgICAgICAgICAgICAgICAgIC4uLnJlc2l6ZUhhbmRsZXNcbiAgICAgICAgICAgICAgICAgICAgICAudG9BcnJheSgpXG4gICAgICAgICAgICAgICAgICAgICAgLm1hcChyZXNpemVIYW5kbGUgPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIGdldE1vdXNlRG93biQocmVzaXplSGFuZGxlLmVsZW1lbnQubmF0aXZlRWxlbWVudCksXG4gICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoXG4gICAgICAgICAgICAgICAgICB0aGlzLnJlc2l6ZUVsZW0ubmF0aXZlRWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICdkaXNwbGF5JyxcbiAgICAgICAgICAgICAgICAgICdibG9jaycsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0TW91c2VEb3duJCh0aGlzLnJlc2l6ZUVsZW0ubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApLFxuICAgICAgICAgICk7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSh0aGlzLnJlc2l6ZVN0YXJ0U3ViamVjdCk7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjxkaXZcbiAgI3Jlc2l6ZUVsZW1cbiAgY2xhc3M9XCJncmlkLWl0ZW0tZGVmYXVsdC1yZXNpemUtaWNvblwiXG4+PC9kaXY+XG48ZGl2XG4gICNyZW1vdmVFbGVtXG4gIGNsYXNzPVwiZ3JpZC1pdGVtLWRlZmF1bHQtcmVtb3ZlXCJcbj5cbiAgPGF1aS1pY29uIGljb249XCJ4bWFya1wiPjwvYXVpLWljb24+XG48L2Rpdj5cbiJdfQ==