@c8y/ngx-components 1021.63.2 → 1021.67.0

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 (197) hide show
  1. package/auth-configuration/sso-configuration/template-parts/signature-configuration.component.d.ts +7 -2
  2. package/auth-configuration/sso-configuration/template-parts/signature-configuration.component.d.ts.map +1 -1
  3. package/core/bottom-drawer/bottom-drawer-ref.d.ts +4 -0
  4. package/core/bottom-drawer/bottom-drawer-ref.d.ts.map +1 -1
  5. package/core/breadcrumb/breadcrumb-item.component.d.ts +1 -1
  6. package/core/breadcrumb/breadcrumb-item.component.d.ts.map +1 -1
  7. package/core/breadcrumb/breadcrumb-outlet.component.d.ts +1 -1
  8. package/core/breadcrumb/breadcrumb-outlet.component.d.ts.map +1 -1
  9. package/core/breadcrumb/breadcrumb.component.d.ts +1 -1
  10. package/core/breadcrumb/breadcrumb.component.d.ts.map +1 -1
  11. package/core/breadcrumb/breadcrumb.module.d.ts +7 -7
  12. package/core/breadcrumb/breadcrumb.module.d.ts.map +1 -1
  13. package/core/common/common.module.d.ts +38 -38
  14. package/core/common/date-format.service.d.ts +30 -0
  15. package/core/common/date-format.service.d.ts.map +1 -0
  16. package/core/common/date.pipe.d.ts +7 -3
  17. package/core/common/date.pipe.d.ts.map +1 -1
  18. package/core/common/index.d.ts +1 -0
  19. package/core/common/index.d.ts.map +1 -1
  20. package/core/common/outlet.directive.d.ts +1 -1
  21. package/core/common/outlet.directive.d.ts.map +1 -1
  22. package/core/common/user-preferences/user-preferences-store-current-user.d.ts +11 -0
  23. package/core/common/user-preferences/user-preferences-store-current-user.d.ts.map +1 -0
  24. package/core/common/user-preferences/user-preferences.service.d.ts +40 -1
  25. package/core/common/user-preferences/user-preferences.service.d.ts.map +1 -1
  26. package/core/date-picker/date-picker.component.d.ts +3 -1
  27. package/core/date-picker/date-picker.component.d.ts.map +1 -1
  28. package/core/date-time-picker/date-time-picker.component.d.ts +6 -3
  29. package/core/date-time-picker/date-time-picker.component.d.ts.map +1 -1
  30. package/core/dynamic-forms/date/date.type.component.d.ts +3 -0
  31. package/core/dynamic-forms/date/date.type.component.d.ts.map +1 -1
  32. package/core/plugins/plugins.model.d.ts +1 -0
  33. package/core/plugins/plugins.model.d.ts.map +1 -1
  34. package/core/plugins/plugins.service.d.ts +7 -2
  35. package/core/plugins/plugins.service.d.ts.map +1 -1
  36. package/core/time-interval/time-interval.component.d.ts +4 -2
  37. package/core/time-interval/time-interval.component.d.ts.map +1 -1
  38. package/ecosystem/application-plugins/application-plugin-readme.component.d.ts +15 -0
  39. package/ecosystem/application-plugins/application-plugin-readme.component.d.ts.map +1 -0
  40. package/ecosystem/application-plugins/application-plugins.component.d.ts +4 -2
  41. package/ecosystem/application-plugins/application-plugins.component.d.ts.map +1 -1
  42. package/ecosystem/application-plugins/application-plugins.module.d.ts +4 -3
  43. package/ecosystem/application-plugins/application-plugins.module.d.ts.map +1 -1
  44. package/ecosystem/application-plugins/install-plugin.component.d.ts +8 -4
  45. package/ecosystem/application-plugins/install-plugin.component.d.ts.map +1 -1
  46. package/ecosystem/application-plugins/plugin-list.component.d.ts +10 -26
  47. package/ecosystem/application-plugins/plugin-list.component.d.ts.map +1 -1
  48. package/ecosystem/application-plugins/plugin-list.service.d.ts +27 -0
  49. package/ecosystem/application-plugins/plugin-list.service.d.ts.map +1 -0
  50. package/ecosystem/ecosystem.module.d.ts +2 -1
  51. package/ecosystem/ecosystem.module.d.ts.map +1 -1
  52. package/ecosystem/packages/package-changelog-tab/package-changelog-tab.component.d.ts +15 -0
  53. package/ecosystem/packages/package-changelog-tab/package-changelog-tab.component.d.ts.map +1 -0
  54. package/ecosystem/packages/package-changelog.guard.d.ts +10 -0
  55. package/ecosystem/packages/package-changelog.guard.d.ts.map +1 -0
  56. package/ecosystem/packages/package-details/package-details.component.d.ts +7 -9
  57. package/ecosystem/packages/package-details/package-details.component.d.ts.map +1 -1
  58. package/ecosystem/packages/package-versions/package-contents/contents-plugins/contents-plugins.component.d.ts +5 -1
  59. package/ecosystem/packages/package-versions/package-contents/contents-plugins/contents-plugins.component.d.ts.map +1 -1
  60. package/ecosystem/packages/package-versions/package-contents/packages-contents.component.d.ts +8 -3
  61. package/ecosystem/packages/package-versions/package-contents/packages-contents.component.d.ts.map +1 -1
  62. package/ecosystem/packages/package-versions/packages-versions.component.d.ts +9 -2
  63. package/ecosystem/packages/package-versions/packages-versions.component.d.ts.map +1 -1
  64. package/ecosystem/shared/index.d.ts +1 -0
  65. package/ecosystem/shared/index.d.ts.map +1 -1
  66. package/ecosystem/shared/package-changelog/package-changelog.component.d.ts +24 -0
  67. package/ecosystem/shared/package-changelog/package-changelog.component.d.ts.map +1 -0
  68. package/ecosystem/shared/shared-ecosystem.module.d.ts +2 -1
  69. package/ecosystem/shared/shared-ecosystem.module.d.ts.map +1 -1
  70. package/esm2022/auth-configuration/sso-configuration/template-parts/signature-configuration.component.mjs +11 -7
  71. package/esm2022/core/bottom-drawer/bottom-drawer-ref.mjs +9 -3
  72. package/esm2022/core/breadcrumb/breadcrumb-item.component.mjs +3 -3
  73. package/esm2022/core/breadcrumb/breadcrumb-outlet.component.mjs +19 -9
  74. package/esm2022/core/breadcrumb/breadcrumb.component.mjs +3 -3
  75. package/esm2022/core/breadcrumb/breadcrumb.module.mjs +16 -5
  76. package/esm2022/core/common/common.module.mjs +6 -6
  77. package/esm2022/core/common/date-format.service.mjs +81 -0
  78. package/esm2022/core/common/date.pipe.mjs +29 -6
  79. package/esm2022/core/common/index.mjs +2 -1
  80. package/esm2022/core/common/outlet.directive.mjs +4 -3
  81. package/esm2022/core/common/user-preferences/user-preferences-store-current-user.mjs +22 -0
  82. package/esm2022/core/common/user-preferences/user-preferences.service.mjs +106 -16
  83. package/esm2022/core/date-picker/date-picker.component.mjs +11 -4
  84. package/esm2022/core/date-time-picker/date-time-picker.component.mjs +20 -11
  85. package/esm2022/core/dynamic-forms/date/date.type.component.mjs +12 -4
  86. package/esm2022/core/plugins/plugins.model.mjs +1 -1
  87. package/esm2022/core/plugins/plugins.service.mjs +31 -5
  88. package/esm2022/core/time-interval/time-interval.component.mjs +9 -2
  89. package/esm2022/ecosystem/application-plugins/application-plugin-readme.component.mjs +26 -0
  90. package/esm2022/ecosystem/application-plugins/application-plugins.component.mjs +29 -14
  91. package/esm2022/ecosystem/application-plugins/application-plugins.module.mjs +6 -3
  92. package/esm2022/ecosystem/application-plugins/install-plugin.component.mjs +21 -15
  93. package/esm2022/ecosystem/application-plugins/plugin-list-item.component.mjs +3 -3
  94. package/esm2022/ecosystem/application-plugins/plugin-list.component.mjs +26 -202
  95. package/esm2022/ecosystem/application-plugins/plugin-list.service.mjs +200 -0
  96. package/esm2022/ecosystem/application-plugins/update-plugin-of-app/update-plugin-of-app.component.mjs +3 -3
  97. package/esm2022/ecosystem/application-properties/update-application-modal/update-application-modal.component.mjs +1 -1
  98. package/esm2022/ecosystem/ecosystem.module.mjs +21 -5
  99. package/esm2022/ecosystem/packages/package-changelog-tab/package-changelog-tab.component.mjs +33 -0
  100. package/esm2022/ecosystem/packages/package-changelog.guard.mjs +22 -0
  101. package/esm2022/ecosystem/packages/package-details/package-details.component.mjs +25 -44
  102. package/esm2022/ecosystem/packages/package-versions/package-contents/contents-plugins/contents-plugins.component.mjs +14 -4
  103. package/esm2022/ecosystem/packages/package-versions/package-contents/packages-contents.component.mjs +27 -8
  104. package/esm2022/ecosystem/packages/package-versions/packages-versions.component.mjs +22 -8
  105. package/esm2022/ecosystem/shared/index.mjs +2 -1
  106. package/esm2022/ecosystem/shared/list-filters/list-filters.component.mjs +3 -3
  107. package/esm2022/ecosystem/shared/package-changelog/package-changelog.component.mjs +82 -0
  108. package/esm2022/ecosystem/shared/package-version-select/package-version-select.component.mjs +3 -3
  109. package/esm2022/ecosystem/shared/shared-ecosystem.module.mjs +12 -6
  110. package/esm2022/operations/bulk-operation-scheduler/operation-scheduler.component.mjs +9 -7
  111. package/esm2022/operations/bulk-operations-list/bulk-operations-list.component.mjs +1 -1
  112. package/esm2022/upgrade/ng1/downgraded.services.mjs +3 -2
  113. package/esm2022/upgrade/ng1/index.mjs +3 -2
  114. package/esm2022/widgets/cockpit/index.mjs +3 -1
  115. package/esm2022/widgets/cockpit-exports/index.mjs +8 -1
  116. package/esm2022/widgets/definitions/index.mjs +2 -1
  117. package/esm2022/widgets/definitions/radial-gauge/c8y-ngx-components-widgets-definitions-radial-gauge.mjs +5 -0
  118. package/esm2022/widgets/definitions/radial-gauge/index.mjs +33 -0
  119. package/esm2022/widgets/implementations/info-gauge/index.mjs +2 -2
  120. package/esm2022/widgets/implementations/info-gauge/info-gauge-widget-config/gauge.model.mjs +295 -0
  121. package/esm2022/widgets/implementations/info-gauge/info-gauge-widget-config/info-gauge-widget-config.component.mjs +141 -11
  122. package/esm2022/widgets/implementations/info-gauge/info-gauge-widget-config/preset-preview/preset-preview.component.mjs +67 -0
  123. package/esm2022/widgets/implementations/info-gauge/info-gauge-widget-view/info-gauge-widget-view.component.mjs +34 -6
  124. package/esm2022/widgets/implementations/info-gauge/info-gauge-widget.module.mjs +9 -4
  125. package/esm2022/widgets/implementations/info-gauge/radial-gauge/radial-gauge.component.mjs +97 -0
  126. package/esm2022/widgets/implementations/info-gauge/radial-gauge/radial-gauge.service.mjs +369 -0
  127. package/fesm2022/c8y-ngx-components-auth-configuration.mjs +9 -5
  128. package/fesm2022/c8y-ngx-components-auth-configuration.mjs.map +1 -1
  129. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs +209 -142
  130. package/fesm2022/c8y-ngx-components-ecosystem-application-plugins.mjs.map +1 -1
  131. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs +96 -13
  132. package/fesm2022/c8y-ngx-components-ecosystem-shared.mjs.map +1 -1
  133. package/fesm2022/c8y-ngx-components-ecosystem.mjs +336 -186
  134. package/fesm2022/c8y-ngx-components-ecosystem.mjs.map +1 -1
  135. package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs +7 -5
  136. package/fesm2022/c8y-ngx-components-operations-bulk-operation-scheduler.mjs.map +1 -1
  137. package/fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs +1 -1
  138. package/fesm2022/c8y-ngx-components-operations-bulk-operations-list.mjs.map +1 -1
  139. package/fesm2022/c8y-ngx-components-upgrade.mjs +3 -1
  140. package/fesm2022/c8y-ngx-components-upgrade.mjs.map +1 -1
  141. package/fesm2022/c8y-ngx-components-widgets-cockpit-exports.mjs +7 -0
  142. package/fesm2022/c8y-ngx-components-widgets-cockpit-exports.mjs.map +1 -1
  143. package/fesm2022/c8y-ngx-components-widgets-cockpit.mjs +2 -0
  144. package/fesm2022/c8y-ngx-components-widgets-cockpit.mjs.map +1 -1
  145. package/fesm2022/c8y-ngx-components-widgets-definitions-radial-gauge.mjs +40 -0
  146. package/fesm2022/c8y-ngx-components-widgets-definitions-radial-gauge.mjs.map +1 -0
  147. package/fesm2022/c8y-ngx-components-widgets-definitions.mjs +1 -0
  148. package/fesm2022/c8y-ngx-components-widgets-definitions.mjs.map +1 -1
  149. package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs +991 -28
  150. package/fesm2022/c8y-ngx-components-widgets-implementations-info-gauge.mjs.map +1 -1
  151. package/fesm2022/c8y-ngx-components.mjs +833 -550
  152. package/fesm2022/c8y-ngx-components.mjs.map +1 -1
  153. package/locales/de.po +45 -6
  154. package/locales/es.po +45 -6
  155. package/locales/fr.po +45 -6
  156. package/locales/ja_JP.po +45 -6
  157. package/locales/ko.po +45 -6
  158. package/locales/locales.pot +73 -10
  159. package/locales/nl.po +45 -6
  160. package/locales/pl.po +45 -6
  161. package/locales/pt_BR.po +45 -6
  162. package/locales/zh_CN.po +45 -6
  163. package/locales/zh_TW.po +45 -6
  164. package/operations/bulk-operation-scheduler/operation-scheduler.component.d.ts +4 -2
  165. package/operations/bulk-operation-scheduler/operation-scheduler.component.d.ts.map +1 -1
  166. package/package.json +1 -1
  167. package/upgrade/ng1/downgraded.services.d.ts +1 -0
  168. package/upgrade/ng1/downgraded.services.d.ts.map +1 -1
  169. package/upgrade/ng1/index.d.ts.map +1 -1
  170. package/widgets/cockpit/index.d.ts +29 -0
  171. package/widgets/cockpit/index.d.ts.map +1 -1
  172. package/widgets/cockpit-exports/index.d.ts +6 -0
  173. package/widgets/cockpit-exports/index.d.ts.map +1 -1
  174. package/widgets/definitions/index.d.ts +1 -0
  175. package/widgets/definitions/index.d.ts.map +1 -1
  176. package/widgets/definitions/radial-gauge/c8y-ngx-components-widgets-definitions-radial-gauge.d.ts.map +1 -0
  177. package/widgets/definitions/radial-gauge/index.d.ts +33 -0
  178. package/widgets/definitions/radial-gauge/index.d.ts.map +1 -0
  179. package/widgets/implementations/info-gauge/index.d.ts +1 -1
  180. package/widgets/implementations/info-gauge/index.d.ts.map +1 -1
  181. package/widgets/implementations/info-gauge/info-gauge-widget-config/gauge.model.d.ts +339 -0
  182. package/widgets/implementations/info-gauge/info-gauge-widget-config/gauge.model.d.ts.map +1 -0
  183. package/widgets/implementations/info-gauge/info-gauge-widget-config/info-gauge-widget-config.component.d.ts +27 -7
  184. package/widgets/implementations/info-gauge/info-gauge-widget-config/info-gauge-widget-config.component.d.ts.map +1 -1
  185. package/widgets/implementations/info-gauge/info-gauge-widget-config/preset-preview/preset-preview.component.d.ts +33 -0
  186. package/widgets/implementations/info-gauge/info-gauge-widget-config/preset-preview/preset-preview.component.d.ts.map +1 -0
  187. package/widgets/implementations/info-gauge/info-gauge-widget-view/info-gauge-widget-view.component.d.ts +7 -3
  188. package/widgets/implementations/info-gauge/info-gauge-widget-view/info-gauge-widget-view.component.d.ts.map +1 -1
  189. package/widgets/implementations/info-gauge/info-gauge-widget.module.d.ts +2 -1
  190. package/widgets/implementations/info-gauge/info-gauge-widget.module.d.ts.map +1 -1
  191. package/widgets/implementations/info-gauge/radial-gauge/radial-gauge.component.d.ts +37 -0
  192. package/widgets/implementations/info-gauge/radial-gauge/radial-gauge.component.d.ts.map +1 -0
  193. package/widgets/implementations/info-gauge/radial-gauge/radial-gauge.service.d.ts +146 -0
  194. package/widgets/implementations/info-gauge/radial-gauge/radial-gauge.service.d.ts.map +1 -0
  195. package/esm2022/widgets/implementations/info-gauge/info-gauge.model.mjs +0 -2
  196. package/widgets/implementations/info-gauge/info-gauge.model.d.ts +0 -7
  197. package/widgets/implementations/info-gauge/info-gauge.model.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"c8y-ngx-components-upgrade.mjs","sources":["../../upgrade/absolute-date.service.ts","../../upgrade/ng1/views.provider.ts","../../upgrade/bridge.service.ts","../../upgrade/action-bar.factory.ts","../../upgrade/action.factory.ts","../../upgrade/auth-bridge.service.ts","../../upgrade/breadcrumb.factory.ts","../../upgrade/docs.factory.ts","../../upgrade/nodes.factory.ts","../../upgrade/smart-rules.service.ts","../../upgrade/tabs.factory.ts","../../upgrade/upgrade.module.ts","../../upgrade/ng1/alert.decorator.ts","../../upgrade/ng1/downgraded.components.ts","../../upgrade/ng1/serverMessages.service.ts","../../upgrade/ng1/downgraded.services.ts","../../upgrade/ng1/gettextCatalog.decorator.ts","../../upgrade/ng1/groupsHierarchyNavigator.decorator.ts","../../upgrade/ng1/http.interceptor.ts","../../upgrade/ng1/navigator-node-root-legacy.ts","../../upgrade/ng1/navigator.provider.ts","../../upgrade/ng1/root.component.ts","../../upgrade/ng1/title.decorator.ts","../../upgrade/ng1/index.ts","../../upgrade/hybrid-app.module.ts","../../upgrade/upgrade.routes.ts","../../upgrade/dashboard/dashboard-bridge.service.ts","../../upgrade/dashboard/widget.component.ts","../../upgrade/dashboard/device-selector.component.ts","../../upgrade/dashboard/component.factory.ts","../../upgrade/dashboard/dashboard-upgrade.module.ts","../../upgrade/c8y-ngx-components-upgrade.ts"],"sourcesContent":["import { DatePipe } from '@c8y/ngx-components';\n\nexport class AbsoluteDateService {\n constructor(private datePipe: DatePipe) {}\n getFilter() {\n return (value: any, format = 'medium', timezone?: string, locale?: string) =>\n this.datePipe.transform(value, format, timezone, locale);\n }\n}\nexport function absoluteDateServiceFactory(datePipe: DatePipe) {\n return new AbsoluteDateService(datePipe).getFilter();\n}\nexport const absoluteDateServiceProvider = {\n provide: AbsoluteDateService,\n useFactory: absoluteDateServiceFactory,\n deps: [DatePipe]\n};\n","import { ViewContext } from '@c8y/ngx-components';\nimport { find, forEach, map, startsWith, unary } from 'lodash-es';\nimport { ReplaySubject } from 'rxjs';\n\nexport enum ViewContextLegacyParameter {\n Device = 'deviceId',\n Group = 'groupId',\n User = 'userId',\n Application = 'applicationId',\n Microservice = 'applicationId',\n SubscribedApplications = 'applicationId',\n Tenant = 'tenantId',\n Service = 'deviceId', // use 'deviceId' as parameter name so that device views (Measurements, Events, Alarms) can be reused for service\n Simulators = 'deviceId' // required to hook the Alarms tab to a Simulator view\n}\n\nfunction c8yViewsProvider($routeProvider, c8yTabsProvider, c8yPathUtils) {\n 'ngInject';\n\n const viewMap = {};\n const contextViews = new ReplaySubject();\n\n return {\n when,\n $get() {\n return {\n contextViews,\n when(path, cfg) {\n return when(path, cfg, true);\n },\n getByPath,\n prefixWithSlash\n };\n }\n };\n\n /**\n * @ngdoc function\n * @name when\n * @methodOf c8y.ui.provider:c8yViewsProvider\n *\n * @description\n * Defines a view for given route.\n * If multiple views are defined for a single route then there will be a separate tab for each view available when user visits that route.\n *\n * @param path Target route.\n * @param cfg View configuration object with the following properties:\n *\n * - **name** - `string` - View's name (in case of multiple views at single route this will be displayed as tab's title).\n * - **priority** - `integer` - View's priority (in case of multiple views at single route this will determine the position of view's tab in the tabs stack).\n * - **icon** - `string` - Font Awesome icon name for the view (displayed on the tab's header).\n * - **showIf** - `function` - Function returning boolean value indicating whether to show a tab for the view or not.\n * - **templateUrl** - `string` - Path to the template to use for displaying the view.\n *\n * You can also provide other view options - the same as available for standard {@link https://docs.angularjs.org/api/ngRoute/provider/$routeProvider $routeProvider} in AngularJS.\n *\n * ```html\n * The following example demonstrates how to add a new view to device details route\n * (which will be displayed as a tab if other views are assigned to the same route):\n * <pre>\n * c8yViewsProvider.when('/device/:deviceId', {\n * name: 'Tracking',\n * templateUrl: ':::PLUGIN_PATH:::/views/index.html',\n * icon: 'crosshairs',\n * showIf: ['$routeParams', 'c8yDevices', function ($routeParams, c8yDevices) {\n * var deviceId = $routeParams.deviceId;\n * return c8yDevices.detailCached(deviceId).then(function (res) {\n * var device = res.data;\n * return device && (device.c8y_MotionTracking || device.c8y_Geofence);\n * });\n * }]\n * });\n * </pre>\n * ```\n */\n function when(path, cfg, runPhase) {\n const newPath = prefixWithSlash(path);\n cfg.resolve = cfg.resolve || {};\n // eslint-disable-next-line no-underscore-dangle\n cfg.resolve.__c8y_locales = [\n 'c8yLocales',\n c8yLocales => {\n return c8yLocales.initDone;\n }\n ];\n\n let currentCfg = viewMap[newPath];\n const originalPath = newPath;\n\n if (!cfg.name) {\n // console.warn('View name not defined');\n }\n\n if (!currentCfg) {\n viewMap[newPath] = [];\n currentCfg = viewMap[newPath];\n }\n\n const upgradedContext = Object.keys(ViewContext)\n .map(key => ({\n key,\n isUpgrade:\n prefixWithSlash(ViewContext[key].replace('id', ViewContextLegacyParameter[key])) === path\n }))\n .find(({ isUpgrade }) => isUpgrade);\n\n if (upgradedContext) {\n currentCfg.push(cfg);\n cfg.path = newPath;\n\n const p = c8yPathUtils.appendSegment(originalPath.replace(path, ''), cfg.name);\n contextViews.next({\n ...cfg,\n path: cfg.name ? p.substring(1) : '',\n contextKey: upgradedContext.key,\n runPhase\n });\n cfg.showIf = undefined;\n if (cfg.name) {\n cfg.path = c8yPathUtils.appendSegment(originalPath, cfg.name);\n }\n } else {\n if (currentCfg.length === 1) {\n const [existingConfig] = currentCfg;\n existingConfig.path = c8yPathUtils.appendSegment(originalPath, existingConfig.name);\n existingConfig.tab = createTab(originalPath, existingConfig);\n $routeProvider.when(existingConfig.path, existingConfig);\n }\n\n currentCfg.push(cfg);\n cfg.path = newPath;\n\n if (currentCfg.length > 1) {\n cfg.path = c8yPathUtils.appendSegment(originalPath, cfg.name);\n createTab(originalPath, cfg);\n\n $routeProvider.when(prefixWithSlash(originalPath), {\n resolveRedirectTo($route, $q, c8yUiUtil, c8yTabs, gettextCatalog) {\n 'ngInject';\n\n const sortedCurrentCfg = c8yTabsProvider.sortTabsViews(currentCfg, gettextCatalog);\n const params = $route.current.pathParams;\n\n return $q\n .all(map(sortedCurrentCfg, unary(c8yUiUtil.configureVisibility)))\n .then(views => {\n const first = find(views, 'show');\n let url = first.path;\n forEach(params, (val, key) => {\n url = url.replace(`:${key}`, val);\n });\n c8yTabs.redirectedViewPath = url;\n return url;\n });\n }\n });\n }\n }\n return $routeProvider.when(prefixWithSlash(cfg.path), cfg);\n }\n\n function getByPath(path) {\n return viewMap[prefixWithSlash(path)];\n }\n\n function createTab(path, cfg) {\n c8yTabsProvider.addTab(path, cfg);\n }\n\n function prefixWithSlash(path) {\n const prefix = startsWith(path, '/') ? '' : '/';\n return prefix + path;\n }\n}\n\nexport { c8yViewsProvider };\n","import {\n Action,\n ActionBarItem,\n ActionService,\n AppStateService,\n Breadcrumb,\n BreadcrumbItem,\n DocLink,\n EmptyComponent,\n gettext,\n PluginsResolveService,\n RouterService,\n Search,\n Tab,\n ViewContext\n} from '@c8y/ngx-components';\nimport { isArray } from 'lodash-es';\nimport {\n BehaviorSubject,\n combineLatest,\n from,\n fromEventPattern,\n merge,\n Observable,\n of,\n Subject\n} from 'rxjs';\nimport { debounceTime, filter, map, startWith, switchMap, take } from 'rxjs/operators';\n\nimport { NgZone } from '@angular/core';\nimport { ActivatedRouteSnapshot, ActivationEnd, ResolveEnd, Router } from '@angular/router';\nimport { ViewContextLegacyParameter } from './ng1/views.provider';\n\nexport class BridgeService {\n $routeChanges: Observable<any>;\n $ng1RouteChangeSuccess: Observable<any>;\n $ng1RouteChangeStart: Observable<any>;\n $liveTabs: Subject<Tab[]> = new BehaviorSubject([]);\n navigationNodes$: Observable<any>;\n constructor(\n public injector: any,\n private appState: AppStateService,\n public router: Router,\n private ngZone: NgZone,\n private routerService: RouterService,\n private actionService: ActionService,\n plugins: PluginsResolveService\n ) {\n this.fixE2eIssues();\n this.$ng1RouteChangeSuccess = this.fromNg1Event(\n this.injector.get('$rootScope'),\n '$routeChangeSuccess'\n );\n this.$ng1RouteChangeStart = this.fromNg1Event(\n this.injector.get('$rootScope'),\n '$routeChangeStart'\n );\n this.hookLanguage();\n this.hookTab();\n this.hookNavigator();\n this.hookUserMenu();\n this.hookViewProvider();\n this.hookRoute();\n plugins.allPluginsLoaded$\n .pipe(\n filter(tmp => !!tmp),\n take(1)\n )\n .subscribe(() => {\n this.router.initialNavigation();\n });\n this.ng1Routes();\n }\n\n /**\n * Ensure that angularjs routes are not using any\n * secondary router outlets\n */\n hookRoute() {\n this.router.events\n .pipe(\n filter(event => event instanceof ResolveEnd),\n map((event: ResolveEnd) => event.state.root.firstChild),\n filter(route => route && route.routeConfig && route.routeConfig.path === '**')\n )\n .subscribe((event: ActivatedRouteSnapshot) => {\n if (event.root.children.length > 1) {\n window.location.hash = event.root.children[0].url.toString();\n }\n });\n }\n\n hookViewProvider() {\n const c8yViews = this.injector.get('c8yViews');\n // fix to trigger an angularjs route change success\n // event on context route match to make legacy\n // view-providers resolve.\n c8yViews.when('/device/:id', {\n template: ''\n });\n c8yViews.when('/group/:id', {\n template: ''\n });\n c8yViews.contextViews.subscribe(cfg => this.addRoute(cfg));\n }\n\n addRoute(cfg) {\n this.routerService.addRoute({\n label: cfg.label || cfg.name,\n path: cfg.path,\n icon: cfg.icon,\n context: ViewContext[cfg.contextKey] as ViewContext,\n priority: cfg.priority,\n component: EmptyComponent,\n data: {\n showIf: cfg.showIf\n ? ngxRoute => {\n const params = {\n ...ngxRoute.params,\n [ViewContextLegacyParameter[cfg.contextKey]]: ngxRoute.params.id\n };\n const showIfResult = this.injector.invoke(cfg.showIf, undefined, {\n $routeParams: params\n });\n // make sure showIf result is a promise with boolean result:\n return this.injector.get('$q').when(showIfResult).then(Boolean);\n }\n : undefined\n },\n ...(cfg.featureId && { featureId: cfg.featureId })\n });\n\n if (cfg.runPhase) {\n this.routerService.refresh();\n }\n }\n\n ng1Routes() {\n const template = '';\n const fallbackRoutes = [];\n\n // tslint:disable-next-line: forin\n for (const context in ViewContext) {\n const path = ViewContext[context].match(/(\\w+)\\//)[1];\n const regexp = new RegExp(`^/${path}/(?:([^/]+)).*$`);\n fallbackRoutes.push({\n keys: [{ name: ViewContextLegacyParameter[context], optional: false }],\n regexp,\n template\n });\n }\n\n /**\n * When asset detail routes (/device/:id, /group/:id) are matched in Angular Router, ngRoute in\n * angular.js must also have matching generic routes so that the ids can be extracted from the paths and\n * injected in multiple calls (showIf, c8yActions, etc) as properties of $routeParams.\n *\n * The function in src/ngRoute/route.js (angular.js) where the routes are matched is called parseRoute(). This\n * function calls angular.forEach and in turn this function checks for the presence of a forEach method before\n * trying object key iteration.\n * By attaching a non enumerable forEach method to the routes object we guarantee that the fallback generic routes\n * are only matched after any other registered through $routeProvider.when.\n */\n const $route = this.injector.get('$route');\n Object.defineProperty($route.routes, 'forEach', {\n // make non enumerable\n value: function forEach(iterator, context) {\n // tslint:disable-next-line: forin\n for (const key in this) {\n iterator.call(context, this[key], key, this);\n }\n fallbackRoutes.forEach(r => iterator.call(context, r));\n },\n configurable: true\n });\n\n /**\n * Some functions use the current context. As some parts are upgraded and some not, the following updates the\n * angularjs getContext function to resolve always the right context.\n */\n const c8yUiUtil = this.injector.get('c8yUiUtil');\n const _getContext = c8yUiUtil.getContext;\n this.router.events\n .pipe(filter(event => event instanceof ActivationEnd))\n .subscribe((event: ActivationEnd) => {\n if (event.snapshot.routeConfig.path === '**') {\n c8yUiUtil.getContext = _getContext;\n } else if (event.snapshot.data && event.snapshot.data.context) {\n c8yUiUtil.getContext = () => {\n return {\n context: event.snapshot.data.context.replace('/:id', ''),\n id: event.snapshot.data.contextData.id,\n contextData: event.snapshot.data.contextData\n };\n };\n } else {\n c8yUiUtil.getContext = () => ({ context: null, id: null });\n }\n });\n }\n\n fixE2eIssues() {\n try {\n const { ngZone } = this;\n const { Utils } = (window as any).org.cometd;\n const timeoutFn = Utils.setTimeout;\n // tslint:disable-next-line:only-arrow-functions\n Utils.setTimeout = function (...args) {\n return ngZone.runOutsideAngular(() => timeoutFn.apply(Utils, args));\n };\n } catch (e) {\n // do nothing\n }\n\n try {\n const { ace } = window as any;\n const editFn = ace.edit;\n const { ngZone } = this;\n // tslint:disable-next-line:only-arrow-functions\n ace.edit = function (...args) {\n return ngZone.runOutsideAngular(() => editFn.apply(ace, args));\n };\n } catch (e) {\n // do nothing\n }\n }\n\n hookLanguage() {\n let first = true;\n this.appState\n .map(store => store.lang)\n .subscribe(lang => {\n this.injector.get('c8yLocales').switchToLanguage(lang);\n if (!first) {\n this.injector.get('$rootScope').$apply();\n }\n first = false;\n });\n }\n\n hookTab() {\n // Just for instantiation of the c8yAction service\n this.injector.get('c8yActions');\n const $location = this.injector.get('$location');\n const c8yTabs = this.injector.get('c8yTabs');\n let liveTabs = [];\n c8yTabs.addTab = tab => {\n liveTabs.push({\n ...tab,\n label: tab.label || tab.name,\n path: decodeURIComponent(tab.path)\n });\n this.$liveTabs.next(liveTabs);\n };\n this.$ng1RouteChangeStart.subscribe(() => {\n liveTabs = [];\n this.$liveTabs.next(liveTabs);\n });\n this.$ng1RouteChangeSuccess.subscribe(() => {\n const path = $location.path();\n if (this.router.url !== path) {\n this.router.navigate(path === '/' ? '' : path.split('/'), {\n queryParams: $location.search(),\n skipLocationChange: true\n });\n }\n if (this.actionService) {\n this.actionService.refresh();\n }\n });\n this.$routeChanges = merge(\n this.$ng1RouteChangeSuccess,\n this.fromNg1Event(c8yTabs, c8yTabs.EVENT_UPDATE),\n of(1)\n ).pipe(debounceTime(100));\n }\n\n hookNavigator() {\n this.navigationNodes$ = this.injector.get('c8yNavigator').rootNodes$;\n }\n\n getTabs(): Observable<any> {\n const onlyVisible = ({ show }) => show;\n const upgradeTab = tab => ({\n ...tab,\n label: tab.label || tab.name,\n path: decodeURIComponent(tab.path)\n });\n const routeTabs = this.$routeChanges.pipe(\n switchMap(() => {\n const routes = this.injector.get('c8yTabs').routeTabs;\n const visibilityPromise = Promise.all(\n routes.map(({ checkingVisibility }) => checkingVisibility)\n );\n return visibilityPromise.then(() => routes.filter(onlyVisible).map(upgradeTab));\n }),\n startWith([])\n );\n return combineLatest([routeTabs, this.$liveTabs]).pipe(\n map(([route, live]) => route.concat(live))\n );\n }\n\n getQuickLinks(): Promise<DocLink[]> {\n const c8yQuickLinks = this.injector.get('c8yQuickLinks');\n return c8yQuickLinks.list();\n }\n\n getActionBarItems(): Observable<ActionBarItem> {\n const c8yActionBar = this.injector.get('c8yActionBar');\n const $rootScope = this.injector.get('$rootScope');\n const getActionBarElements = () =>\n c8yActionBar.elements.map(element => ({\n priority: element.getAttribute('action-bar-priority') || 0,\n template: element,\n placement: element.getAttribute('action-bar-position') || 'right'\n }));\n return this.fromNg1Event($rootScope, 'c8yActionBarChanged').pipe(\n startWith(1),\n map(getActionBarElements)\n );\n }\n\n getBreadcrumbs(): Observable<Breadcrumb[]> {\n const $location = this.injector.get('$location');\n const c8yBreadcrumbs = this.injector.get('c8yBreadcrumbs');\n const breadcrumbsUpdate$ = new Observable(subscriber =>\n c8yBreadcrumbs.$on('update', () => subscriber.next())\n );\n return breadcrumbsUpdate$.pipe(\n startWith(0),\n switchMap(() => {\n const path = $location.path();\n const breadcrumbs = c8yBreadcrumbs.get(path) || {};\n const breadcrumbsData = this.resolveBreadcrumbsData(breadcrumbs.data);\n return from(breadcrumbsData).pipe(\n map((value: any[]) => {\n const liveBreadcrumbs = c8yBreadcrumbs.getLiveBreadcrumbs();\n value = value.concat(liveBreadcrumbs);\n return value.map(items => ({ items: items as BreadcrumbItem[] }) as Breadcrumb);\n })\n );\n })\n );\n }\n\n resolveBreadcrumbsData(data): Observable<any[]> {\n try {\n return this.injector.invoke(data);\n } catch (ex) {\n // empty\n }\n if (isArray(data)) {\n return of([data]);\n }\n return of([]);\n }\n\n getSearch(): Search[] {\n const c8ySearch = this.injector.get('c8ySearch');\n return c8ySearch.list().map(item => {\n return {\n icon: 'search',\n name: item.name,\n term: '',\n onSearch() {\n if (this.term) {\n c8ySearch.search(this.term);\n }\n }\n } as Search;\n });\n }\n\n getActions(): Observable<Action> {\n const registeredActions = this.injector.get('c8yActions').registeredActions;\n return of(\n registeredActions\n .filter(action => !action.hidden)\n .map(action => ({\n // The priority was reversed: Aligned it to dashboard, high first, low last.\n priority: (action.priority || 0) * -1,\n label: action.text,\n icon: action.icon,\n disabled: action.disabled,\n action: () => {\n this.injector.invoke(action.action, action);\n }\n }))\n );\n }\n\n fromNg1Event(obj, evt) {\n let stopListening;\n function add(handler) {\n stopListening = obj.$on(evt, handler);\n }\n return fromEventPattern(add, () => stopListening());\n }\n\n private hookUserMenu() {\n const userMenuService = this.injector.get('c8yUserMenuService');\n const c8yAccessDenied = this.injector.get('c8yAccessDenied');\n userMenuService.add({\n icon: 'access',\n priority: 10,\n label: gettext('Access denied requests'),\n click: c8yAccessDenied.showAccessDeniedRequestsList\n });\n }\n}\n\nexport function bridgeServiceFactory(\n injector: any,\n appState: AppStateService,\n router: Router,\n ngZone: NgZone,\n routerService: RouterService,\n actionService: ActionService,\n plugins: PluginsResolveService\n) {\n return new BridgeService(\n injector,\n appState,\n router,\n ngZone,\n routerService,\n actionService,\n plugins\n );\n}\n\nexport const bridgeServiceProvider = {\n provide: BridgeService,\n useFactory: bridgeServiceFactory,\n deps: [\n '$injector',\n AppStateService,\n Router,\n NgZone,\n RouterService,\n ActionService,\n PluginsResolveService\n ]\n};\n","import { Injectable } from '@angular/core';\nimport { ActionBarFactory, ActionBarItem } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\nimport { Observable } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\n\n@Injectable()\nexport class Ng1ActionBarFactoryService implements ActionBarFactory {\n routeChanges$: Observable<any>;\n $ng1RouteChangeSuccess: Observable<any>;\n constructor(private bridge: BridgeService) {\n this.routeChanges$ = bridge.$routeChanges;\n this.$ng1RouteChangeSuccess = bridge.$ng1RouteChangeSuccess;\n }\n\n get(): Observable<ActionBarItem> {\n return this.routeChanges$.pipe(\n switchMap(() => {\n return this.bridge.getActionBarItems();\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActionFactory, TabsService } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class Ng1ActionFactoryService implements ActionFactory {\n routeChanges$: Observable<any>;\n $location: any;\n constructor(private bridge: BridgeService, private tabs: TabsService) {\n this.routeChanges$ = bridge.$routeChanges;\n this.$location = bridge.injector.get('$location');\n this.tabs.items$.subscribe(newTabs => this.handleTabsRedirect(newTabs));\n }\n\n handleTabsRedirect(tabs) {\n /**\n * This function is doing the same process as function redirect in the file\n * modules/core/ui/navigation/tabs.provider.js\n * That function is not run because bridge.service.ts overrides the method addTab where the redirect() was called.\n */\n const redirectedTab = tabs.find(tab => tab.redirectedTo);\n const [topPriorityTab] = tabs;\n if (redirectedTab && !topPriorityTab.redirectedTo) {\n this.$location.replace();\n this.$location.path(topPriorityTab.path);\n topPriorityTab.redirectedTo = true;\n redirectedTab.redirectedTo = false;\n }\n }\n\n get() {\n return this.bridge.getActions();\n }\n}\n","import { AppStateService, TenantUiService } from '@c8y/ngx-components';\nimport { BasicAuth, FetchClient, ICredentials } from '@c8y/client';\n\nexport class AuthBridgeService {\n constructor(\n public injector: any,\n private basicAuth: BasicAuth,\n private fetchClient: FetchClient,\n private appState: AppStateService,\n private tenantUiService: TenantUiService\n ) {\n this.hookAuth();\n }\n\n updateBasicAuth(credentials: ICredentials) {\n const { headers } = this.fetchClient.getFetchOptions({});\n if (headers.Authorization) {\n const token = headers.Authorization.match(/basic\\s(.*)$/i)[1];\n if (token) {\n this.basicAuth.updateCredentials(credentials);\n this.fetchClient.setAuth(this.basicAuth);\n }\n }\n }\n\n hookAuth() {\n this.appState.currentUser.subscribe(user => {\n if (!user) {\n this.injector.get('$rootScope').$emit('authStateChange', { hasAuth: false });\n return;\n }\n this.injector.get('c8yAuth').headers = () => this.fetchClient.getFetchOptions({}).headers;\n const { headers } = this.fetchClient.getFetchOptions({});\n const authorizationHeader = headers.Authorization;\n if (typeof authorizationHeader === 'string' && authorizationHeader.startsWith('Basic')) {\n const matches = authorizationHeader.match(/basic\\s(.*)$/i);\n const token = matches && matches[1];\n if (token) {\n this.setToken(token, headers.tfatoken);\n }\n } else if (\n typeof authorizationHeader === 'string' &&\n authorizationHeader.startsWith('Bearer')\n ) {\n this.setToken(undefined, headers.tfatoken, 'Bearer');\n } else {\n this.setToken(undefined, headers.tfatoken, 'Oauth');\n }\n this.injector.get('$rootScope').$emit('authStateChange', { hasAuth: true });\n });\n }\n\n setToken(token?: string, tfa?: string, type = 'Basic') {\n const c8yAuth = this.injector.get('c8yAuth');\n if (type === 'Basic') {\n c8yAuth.onSetToken({ token, type });\n if (tfa) {\n c8yAuth.setTFAToken(tfa);\n }\n } else {\n c8yAuth.authReady();\n }\n }\n\n getPreferredLoginOption() {\n return this.tenantUiService.getPreferredLoginOption(this.appState.state.loginOptions);\n }\n}\n\nexport function authBridgeServiceFactory(\n injector: any,\n basicAuth: BasicAuth,\n fetchClient: FetchClient,\n appState: AppStateService,\n tenantUiService: TenantUiService\n) {\n return new AuthBridgeService(injector, basicAuth, fetchClient, appState, tenantUiService);\n}\n\nexport const authBridgeServiceProvider = {\n provide: AuthBridgeService,\n useFactory: authBridgeServiceFactory,\n deps: ['$injector', BasicAuth, FetchClient, AppStateService, TenantUiService]\n};\n","import { Injectable } from '@angular/core';\nimport { BreadcrumbFactory } from '@c8y/ngx-components';\nimport { ReplaySubject } from 'rxjs';\nimport { debounceTime, switchMap } from 'rxjs/operators';\nimport { BridgeService } from './bridge.service';\n\n@Injectable()\nexport class Ng1BreadcrumbFactoryService implements BreadcrumbFactory {\n private trigger: any = new ReplaySubject(1);\n private breadcrumbs = this.trigger.pipe(\n debounceTime(100),\n switchMap(() => {\n return this.bridge.getBreadcrumbs();\n })\n );\n constructor(private bridge: BridgeService) {}\n\n get() {\n this.trigger.next();\n return this.breadcrumbs;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { DocLink, ExtensionFactory } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\n\n@Injectable()\nexport class Ng1DocsFactoryService implements ExtensionFactory<DocLink> {\n private links: Promise<DocLink[]>;\n constructor(private bridge: BridgeService) {\n this.links = this.bridge.getQuickLinks();\n this.links.then(list => {\n list.map(el => {\n el.type = el.type || 'quicklink';\n return el;\n });\n });\n }\n\n get() {\n return this.links;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { NavigatorNodeFactory } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\n\n@Injectable()\nexport class Ng1NodesFactoryService implements NavigatorNodeFactory {\n constructor(private bridge: BridgeService) {}\n\n get() {\n return this.bridge.navigationNodes$;\n }\n}\n","export abstract class Ng1SmartRulesService {\n abstract permissionsCfgs;\n abstract addNewForOutputOperationWithUI(operation);\n abstract addNewForInputAlarmAndOutputUserWithUI(alarm, user);\n}\n\nexport function SmartRulesServiceFactory(injector: any) {\n return injector.get('smartRulesSvc');\n}\n\nexport const smartRulesServiceProvider = {\n provide: Ng1SmartRulesService,\n useFactory: SmartRulesServiceFactory,\n deps: ['$injector']\n};\n","import { Injectable } from '@angular/core';\nimport { TabFactory } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\n\n@Injectable()\nexport class Ng1TabsFactoryService implements TabFactory {\n tabsObservable;\n constructor(private bridge: BridgeService) {\n this.tabsObservable = bridge.getTabs();\n }\n get() {\n return this.tabsObservable;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { setAngularJSGlobal } from '@angular/upgrade/static';\nimport {\n hookAction,\n hookActionBar,\n hookBreadcrumb,\n hookDocs,\n hookNavigator,\n hookTab,\n RouterModule\n} from '@c8y/ngx-components';\nimport { UpgradedServicesModule } from '@c8y/ngx-components/upgrade/upgraded-services';\nimport * as angular from 'angular';\nimport { absoluteDateServiceProvider } from './absolute-date.service';\nimport { Ng1ActionBarFactoryService } from './action-bar.factory';\nimport { Ng1ActionFactoryService } from './action.factory';\nimport { authBridgeServiceProvider } from './auth-bridge.service';\nimport { Ng1BreadcrumbFactoryService } from './breadcrumb.factory';\nimport { bridgeServiceProvider } from './bridge.service';\nimport { Ng1DocsFactoryService } from './docs.factory';\nimport { Ng1NodesFactoryService } from './nodes.factory';\nimport { smartRulesServiceProvider } from './smart-rules.service';\nimport { Ng1TabsFactoryService } from './tabs.factory';\n\nsetAngularJSGlobal(angular);\n\n@NgModule({\n imports: [RouterModule, UpgradedServicesModule],\n exports: [],\n providers: [\n absoluteDateServiceProvider,\n bridgeServiceProvider,\n authBridgeServiceProvider,\n smartRulesServiceProvider,\n hookNavigator(Ng1NodesFactoryService),\n hookTab(Ng1TabsFactoryService),\n hookActionBar(Ng1ActionBarFactoryService),\n hookAction(Ng1ActionFactoryService),\n hookBreadcrumb(Ng1BreadcrumbFactoryService),\n hookDocs(Ng1DocsFactoryService)\n ]\n})\nexport class UpgradeModule {}\n","function c8yAlertDecorator($delegate, $rootScope, $injector) {\r\n 'ngInject';\r\n\r\n $delegate.add = alert => {\r\n $delegate.addAlert(transformAlert(alert));\r\n };\r\n\r\n $rootScope.$on('alert', (evt, alert) => {\r\n $delegate.addAlert(transformAlert(alert));\r\n });\r\n\r\n $rootScope.$on('message', (evt, alert) => {\r\n $delegate.addAlert(transformAlert(alert));\r\n });\r\n\r\n /**\r\n * Solution based on the: https://stackoverflow.com/questions/40102148/how-to-iterate-over-all-properties-in-objects-prototype-chain.\r\n * Problem came after switching to ES6, as all prototype properties of classes are non-enumerable.\r\n */\r\n const allNames = new Set();\r\n for (let o = $delegate; o !== Object.prototype; o = Object.getPrototypeOf(o)) {\r\n for (const name of Object.getOwnPropertyNames(o)) {\r\n allNames.add(name);\r\n }\r\n }\r\n Array.from(allNames).forEach((property: string) => {\r\n if (typeof $delegate[property] === 'function') {\r\n $delegate[property] = $delegate[property].bind($delegate);\r\n }\r\n });\r\n\r\n function transformAlert(alert: any) {\r\n const newAlert: any = { ...alert };\r\n if (alert.onClose) {\r\n newAlert.onClose = () => {\r\n $injector.invoke(alert.onClose);\r\n };\r\n }\r\n if (alert.onDetail) {\r\n newAlert.onDetail = () => {\r\n $injector.invoke(alert.onDetail);\r\n };\r\n }\r\n return newAlert;\r\n }\r\n\r\n return $delegate;\r\n}\r\n\r\nexport { c8yAlertDecorator };\r\n","import { downgradeComponent } from '@angular/upgrade/static';\nimport {\n BootstrapComponent,\n DataGridComponent,\n UserTotpRevokeComponent,\n LoadingComponent,\n HighlightComponent,\n EmptyStateComponent,\n PasswordInputComponent\n} from '@c8y/ngx-components';\nimport { AppLogsAutoRefreshComponent } from '@c8y/ngx-components/app-logs';\nimport { RangeDisplayComponent } from '@c8y/ngx-components';\nimport { HelpComponent } from '@c8y/ngx-components';\nimport { DatapointSelectionListComponent } from '@c8y/ngx-components/datapoint-selector';\nimport { PaginationComponent } from 'ngx-bootstrap/pagination';\nimport { RolesAssetTreeComponent } from '@c8y/ngx-components/user-roles';\nimport { PlatformConfigurationFormComponent } from '@c8y/ngx-components/platform-configuration';\n\nexport const bootstrapComponentDowngradedComponent = downgradeComponent({\n component: BootstrapComponent\n});\nexport const userTotpComponentDowngradedComponent = downgradeComponent({\n component: UserTotpRevokeComponent\n});\nexport const appLogsAutoRefreshComponentDowngradedComponent = downgradeComponent({\n component: AppLogsAutoRefreshComponent\n});\nexport const dataGridComponentDowngradedComponent = downgradeComponent({\n component: DataGridComponent\n});\nexport const loadingComponentDowngradedComponent = downgradeComponent({\n component: LoadingComponent\n});\nexport const rangeDisplayComponentDowngradedComponent = downgradeComponent({\n component: RangeDisplayComponent\n});\nexport const helpComponentDowngradedComponent = downgradeComponent({ component: HelpComponent });\nexport const highlightComponentDowngradedComponent = downgradeComponent({\n component: HighlightComponent,\n inputs: ['pattern', 'text']\n});\nexport const emptyStateComponentDowngradedComponent = downgradeComponent({\n component: EmptyStateComponent\n});\nexport const datapointSelectionListComponentDowngradedComponent = downgradeComponent({\n component: DatapointSelectionListComponent\n});\n\nexport const paginationComponentDowngradedComponent = downgradeComponent({\n component: PaginationComponent\n});\nexport const rolesAssetTreeComponentDowngradedComponent = downgradeComponent({\n component: RolesAssetTreeComponent\n});\nexport const passwordInputComponentDowngradedComponent = downgradeComponent({\n component: PasswordInputComponent\n});\nexport const platformConfigurationFormDowngradedComponent = downgradeComponent({\n component: PlatformConfigurationFormComponent\n});\n","import { Injectable, Inject } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { HOOK_PATTERN_MESSAGES } from '@c8y/ngx-components';\n\n@Injectable()\nexport class ServerMessagesService {\n MESSAGE_PATTERNS: any;\n constructor(private translateService: TranslateService, @Inject(HOOK_PATTERN_MESSAGES) patterns) {\n this.MESSAGE_PATTERNS = patterns;\n }\n\n translate(s: string) {\n return this.translateService.instant(s);\n }\n}\n","import { downgradeInjectable } from '@angular/upgrade/static';\nimport {\n AlertService,\n AppStateService,\n AssetLinkPipe,\n CachedLocaleDictionaryService,\n DocsService,\n FilesService,\n GainsightService,\n GlobalConfigService,\n HeaderService,\n ModalService,\n PasswordService,\n PropertyValueTransformService,\n ServiceRegistry,\n UserMenuService\n} from '@c8y/ngx-components';\nimport { ApiService } from '@c8y/ngx-components/api';\nimport { DeviceGridService } from '@c8y/ngx-components/device-grid';\nimport { DeviceTypeDetailEditedService } from '@c8y/ngx-components/device-protocols';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AbsoluteDateService } from '../absolute-date.service';\nimport { AuthBridgeService } from '../auth-bridge.service';\nimport { BridgeService } from '../bridge.service';\nimport { ServerMessagesService } from './serverMessages.service';\nimport { DatapointSelectorService } from '@c8y/ngx-components/datapoint-selector';\n\nexport const absoluteDateServiceDowngradedInjectable = downgradeInjectable(AbsoluteDateService);\nexport const bridgeServiceDowngradedInjectable = downgradeInjectable(BridgeService);\nexport const authBridgeServiceDowngradedInjectable = downgradeInjectable(AuthBridgeService);\nexport const appStateServiceDowngradedInjectable = downgradeInjectable(AppStateService);\nexport const headerServiceDowngradedInjectable = downgradeInjectable(HeaderService);\nexport const alertsServiceDowngradedInjectable = downgradeInjectable(AlertService);\nexport const userMenuServiceDowngradedInjectable = downgradeInjectable(UserMenuService);\nexport const apiServiceDowngradedInjectable = downgradeInjectable(ApiService);\nexport const docsServiceDowngradedInjectable = downgradeInjectable(DocsService);\nexport const passwordServiceDowngradedInjectable = downgradeInjectable(PasswordService);\nexport const translateServiceDowngradedInjectable = downgradeInjectable(TranslateService);\nexport const cachedLocaleDictionaryServiceDowngradedInjectable = downgradeInjectable(\n CachedLocaleDictionaryService\n);\nexport const globalConfigServiceDowngradedInjectable = downgradeInjectable(GlobalConfigService);\nexport const serverMessagesServiceDowngradedInjectable = downgradeInjectable(ServerMessagesService);\nexport const modalServiceDowngradedInjectable = downgradeInjectable(ModalService);\nexport const gainsightServiceDowngradedInjectable = downgradeInjectable(GainsightService);\nexport const filesServiceDowngradedInjectable = downgradeInjectable(FilesService);\nexport const deviceTypeDetailEditedServiceDowngradedInjectable = downgradeInjectable(\n DeviceTypeDetailEditedService\n);\nexport const deviceGridServiceDowngradedInjectable = downgradeInjectable(DeviceGridService);\nexport const serviceRegistryInjectable = downgradeInjectable(ServiceRegistry);\nexport const assetLinkPipeDowngradedInjectable = downgradeInjectable(AssetLinkPipe);\nexport const propertyValueTransformServiceDowngradedInjectable = downgradeInjectable(\n PropertyValueTransformService\n);\nexport const datapointSelectorServiceDowngradedInjectable =\n downgradeInjectable(DatapointSelectorService);\n","import * as angular from 'angular';\n\nfunction gettextCatalogDecorator($delegate, $interpolate, c8yTranslate) {\n 'ngInject';\n\n const gettextCatalog = $delegate;\n const originalGetString = angular.bind(gettextCatalog, gettextCatalog.getString);\n\n function newGetString(input, scope, context) {\n if (typeof input === 'string') {\n const translatedString = originalGetString(input, scope, context);\n const interpolatedString = scope ? $interpolate(input)(scope) : input;\n\n let stringToReturn = translatedString;\n\n if (translatedString && translatedString === interpolatedString) {\n const translatedServerMessage = c8yTranslate.instant(interpolatedString);\n stringToReturn = translatedServerMessage;\n }\n\n return stringToReturn;\n }\n\n return input;\n }\n\n gettextCatalog.getString = newGetString;\n\n return gettextCatalog;\n}\n\nexport { gettextCatalogDecorator };\n","function groupTypesHierarchyNavigatorDecorator($delegate, $q) {\n 'ngInject';\n $delegate.loadAll = () => $q.when();\n $delegate.addGroupNavigation = () => $q.when();\n return $delegate;\n}\n\nexport { groupTypesHierarchyNavigatorDecorator };\n","function c8yNg1HttpInterceptor($q, c8yLoadingIndicator, c8yApiService) {\r\n 'ngInject';\r\n\r\n function request(config) {\r\n const { url, method } = config;\r\n c8yApiService.onStart({ url, method, options: config });\r\n return config;\r\n }\r\n\r\n function requestError(rejection) {\r\n finishRequest(rejection);\r\n return $q.reject(rejection);\r\n }\r\n\r\n function response(res) {\r\n finishRequest(res);\r\n return res;\r\n }\r\n\r\n function responseError(rejection) {\r\n finishRequest(rejection);\r\n c8yLoadingIndicator.responseError(rejection);\r\n return $q.reject(rejection);\r\n }\r\n\r\n function finishRequest(res) {\r\n const { url, method } = res.config;\r\n c8yApiService.onFinish({\r\n url,\r\n method,\r\n response: res,\r\n options: res.config\r\n });\r\n }\r\n\r\n return {\r\n request,\r\n requestError,\r\n response,\r\n responseError\r\n };\r\n}\r\n\r\nexport { c8yNg1HttpInterceptor };\r\n","import { NavigatorNodeRoot, NavigatorNode } from '@c8y/ngx-components';\nimport { assign } from 'lodash-es';\n\nexport class NavigatorNodeRootLegacy extends NavigatorNodeRoot {\n addRoot(nodeData): NavigatorNode {\n let duplicate;\n if (nodeData.path === '') {\n nodeData.path = '/';\n }\n nodeData.label = nodeData.name;\n if (typeof nodeData.parent === 'object') {\n nodeData.parent.label = nodeData.parent.name;\n }\n\n if (nodeData.preventDuplicates) {\n duplicate = this.find(({ path, parents, label }) => {\n return (\n path === nodeData.path &&\n label === nodeData.label &&\n parents.some(p => p.label === nodeData.parent)\n );\n });\n if (duplicate) {\n duplicate.routerLinkExact = false;\n }\n }\n\n return duplicate || super.addRoot(nodeData);\n }\n\n createNode(node) {\n const newNode = super.createNode(node);\n const update = newNode.update.bind(newNode);\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const root = this;\n return Object.defineProperties(\n assign(newNode, {\n realName: (newNode as any).name || newNode.label,\n _parent: true, // just use it to detect if it has been deleted\n update(data) {\n if (this._parent === undefined) {\n // _parent was deleted somene instead to put this in root\n root.addRoot(this);\n // put it back so it can be deleted again\n this._parent = true;\n }\n update(data);\n },\n addChild(nodeChild) {\n this.add(root.createNode(nodeChild));\n }\n }),\n {\n label: {\n get() {\n return this.realName || '';\n },\n set(name) {\n this.realName = name;\n }\n },\n name: {\n get() {\n return this.realName || '';\n },\n set(name) {\n this.realName = name;\n }\n },\n show: {\n get() {\n return !this.hidden;\n },\n set(show) {\n this.hidden = !show;\n },\n configurable: true\n }\n }\n );\n }\n}\n","import { NavigatorNode } from '@c8y/ngx-components';\nimport { Observable, Subject, defer, of } from 'rxjs';\nimport { merge } from 'rxjs/operators';\nimport { pick, map, property, some, every } from 'lodash-es';\nimport { NavigatorNodeRootLegacy } from './navigator-node-root-legacy';\n\n// Just to hook into the bridge service\nexport function c8yNavigatorProvider() {\n const root = new NavigatorNodeRootLegacy();\n const rootNodesSubject: Subject<NavigatorNode[]> = new Subject();\n const conditionalNodes = [];\n const rootNodes$: Observable<NavigatorNode[]> = rootNodesSubject.pipe(\n merge(defer(() => of(root.children)))\n );\n\n function addNavigation(nodes) {\n const nodeList = Array.isArray(nodes) ? nodes : [nodes];\n nodeList.forEach(node => {\n if (isConditional(node)) {\n node.hidden = undefined;\n conditionalNodes.push(node);\n }\n node.navNode = root.addRoot(node);\n });\n rootNodesSubject.next(root.children);\n }\n\n function removeNavigation(node) {\n const found = root.find(n => n === node);\n if (found) {\n found.parents.forEach(p => p.remove(found));\n rootNodesSubject.next(root.children);\n }\n }\n\n function findNode(node) {\n return root.find(node);\n }\n\n function isConditional(node) {\n return node.showIf || node.showIfPermissions || node.showIfContainsVisibleViews;\n }\n\n function $get($q, $injector) {\n 'ngInject';\n\n // This avoids the circular dependency\n setTimeout(() => conditionalNodes.forEach(processShowIf));\n\n function processShowIf(node) {\n const c8yUiUtil = $injector.get('c8yUiUtil');\n const visibilityPromises = [];\n const { showIf, showIfPermissions, showIfContainsVisibleViews } = node;\n\n if (showIf) {\n visibilityPromises.push($injector.invoke(showIf));\n }\n if (showIfContainsVisibleViews) {\n visibilityPromises.push(viewsConditionalVisibility(node));\n }\n\n c8yUiUtil\n .configureVisibility(\n {\n showIf: () => $q.all(visibilityPromises).then(every),\n showIfPermissions\n },\n 'visible'\n )\n .then(({ visible }) => {\n if (visible) {\n node.navNode.update({\n hidden: false,\n showIf: null,\n showIfPermission: null,\n showIfContainsVisibleViews: null\n });\n } else {\n node.navNode.update({\n hidden: true\n });\n }\n });\n }\n\n function viewsConditionalVisibility(node) {\n const c8yUiUtil = $injector.get('c8yUiUtil');\n const c8yViews = $injector.get('c8yViews');\n const views = c8yViews.getByPath(node.path);\n return $q\n .all(\n map(views, view =>\n c8yUiUtil\n .configureVisibility(pick(view, ['showIf', 'showIfPermissions']), 'show', false)\n .then(property('show'))\n )\n )\n .then(some);\n }\n\n return {\n rootNodes() {\n return root.children;\n },\n findNode,\n addNavigation,\n removeNavigation,\n rootNodes$\n };\n }\n\n return {\n $get,\n addNavigation,\n removeNavigation\n };\n}\n","const rootComponent = {\n template: `\n <c8y-bootstrap>\n <div id=\"c8y-legacy-view\">\n <div ng-view ng-if=\"vm.widthSet && vm.authState.hasAuth\"></div>\n </div>\n </c8y-bootstrap>`,\n controller: c8yUiRootController,\n controllerAs: 'vm'\n};\n\nfunction c8yUiRootController(\n $rootScope,\n $timeout,\n c8yBase,\n c8yNavigator,\n c8yApplication,\n c8yHeaderService\n) {\n 'ngInject';\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const vm = this;\n\n Object.assign(vm, {\n $onInit,\n navOpen: false\n });\n\n ////////////\n\n function $onInit() {\n c8yHeaderService\n .map(states => states.nav.open)\n .subscribe(isOpen => {\n vm.navOpen = isOpen;\n });\n c8yHeaderService.configNavigator({ canToggle: true });\n $rootScope.$on('authStateChange', onAuthStateChange);\n vm.rootNodes = c8yNavigator.rootNodes;\n c8yApplication.currentAppCached().then(onAppInfo);\n vm.navHiddenOnStartup = c8yBase.appOption('hide_navigator');\n checkReady();\n }\n\n function onAuthStateChange(evt, data) {\n vm.authState = data;\n }\n\n function onAppInfo() {\n vm.tabsHorizontal = c8yBase.appOption('tabsHorizontal');\n }\n\n function checkReady() {\n const element = document.querySelector('#c8y-legacy-view');\n const hasWidth = element && element.clientWidth;\n if (hasWidth) {\n vm.widthSet = true;\n } else {\n $timeout(checkReady);\n }\n }\n}\nexport { rootComponent };\n","import * as angular from 'angular';\n\nfunction c8yTitleDecorator(\n $q,\n $delegate,\n $injector,\n $rootScope,\n $location,\n $templateCache,\n $compile,\n c8yHeaderService\n) {\n 'ngInject';\n\n $delegate.changeTitle = changeTitle;\n $delegate.setTitleElement = setTitleElement;\n\n $rootScope.$on('$routeChangeStart', () => {\n changeTitle({});\n });\n\n $rootScope.$on('$routeChangeSuccess', event => {\n resolveTitle(event);\n });\n\n $rootScope.$on('$routeUpdate', event => {\n resolveTitle(event);\n });\n\n function resolveTitle(event: any) {\n const title = $delegate.get($location.path());\n if (title) {\n const titleData = $q.when(title.data ? $injector.invoke(title.data) : {});\n titleData.then(data => {\n const { templateUrl } = data;\n if (templateUrl) {\n const template = $templateCache.get(templateUrl);\n setTitleElement($compile(template)(event.targetScope));\n } else {\n changeTitle(data);\n }\n });\n }\n }\n\n function changeTitle(\n newTitleSubtitleObjOrPromise,\n options = { skipTitleTranslation: false, skipSubtitleTranslation: false }\n ) {\n $q.when(newTitleSubtitleObjOrPromise).then(newTitleSubtitleObj =>\n changeTitleInAngular(translate(newTitleSubtitleObj, options))\n );\n }\n\n function translate(\n { title = '', subtitle = '' },\n { skipTitleTranslation = false, skipSubtitleTranslation = false }\n ) {\n const titleTemplate = skipTitleTranslation ? '{{ title }}' : '{{ title | translate }}';\n const subtitleTemplate = skipSubtitleTranslation\n ? '{{ subtitle }}'\n : '{{ subtitle | translate }}';\n const template = `\n <h1 class=\"text-truncate\">${titleTemplate}\n <small>${subtitleTemplate}</small></h1>\n `;\n\n const isolatedScope = $rootScope.$new(true);\n isolatedScope.title = title;\n isolatedScope.subtitle = subtitle;\n\n return $compile(angular.element(template))(isolatedScope)[0];\n }\n\n function changeTitleInAngular(domElement) {\n c8yHeaderService.changeTitle(domElement);\n }\n\n function setTitleElement($element) {\n $element.show();\n changeTitleInAngular($element[0]);\n }\n\n return $delegate;\n}\n\nexport { c8yTitleDecorator };\n","import { NgZone } from '@angular/core';\nimport { downgradeInjectable } from '@angular/upgrade/static';\nimport { QueriesUtil } from '@c8y/client';\nimport * as angular from 'angular';\nimport { c8yAlertDecorator } from './alert.decorator';\nimport {\n appLogsAutoRefreshComponentDowngradedComponent,\n bootstrapComponentDowngradedComponent,\n dataGridComponentDowngradedComponent,\n datapointSelectionListComponentDowngradedComponent,\n emptyStateComponentDowngradedComponent,\n helpComponentDowngradedComponent,\n highlightComponentDowngradedComponent,\n loadingComponentDowngradedComponent,\n paginationComponentDowngradedComponent,\n passwordInputComponentDowngradedComponent,\n platformConfigurationFormDowngradedComponent,\n rangeDisplayComponentDowngradedComponent,\n rolesAssetTreeComponentDowngradedComponent,\n userTotpComponentDowngradedComponent\n} from './downgraded.components';\nimport {\n absoluteDateServiceDowngradedInjectable,\n alertsServiceDowngradedInjectable,\n apiServiceDowngradedInjectable,\n appStateServiceDowngradedInjectable,\n assetLinkPipeDowngradedInjectable,\n authBridgeServiceDowngradedInjectable,\n bridgeServiceDowngradedInjectable,\n cachedLocaleDictionaryServiceDowngradedInjectable,\n datapointSelectorServiceDowngradedInjectable,\n deviceGridServiceDowngradedInjectable,\n deviceTypeDetailEditedServiceDowngradedInjectable,\n docsServiceDowngradedInjectable,\n filesServiceDowngradedInjectable,\n gainsightServiceDowngradedInjectable,\n globalConfigServiceDowngradedInjectable,\n headerServiceDowngradedInjectable,\n modalServiceDowngradedInjectable,\n passwordServiceDowngradedInjectable,\n propertyValueTransformServiceDowngradedInjectable,\n serverMessagesServiceDowngradedInjectable,\n serviceRegistryInjectable,\n translateServiceDowngradedInjectable,\n userMenuServiceDowngradedInjectable\n} from './downgraded.services';\nimport { gettextCatalogDecorator } from './gettextCatalog.decorator';\nimport { groupTypesHierarchyNavigatorDecorator } from './groupsHierarchyNavigator.decorator';\nimport { c8yNg1HttpInterceptor } from './http.interceptor';\nimport { c8yNavigatorProvider } from './navigator.provider';\nimport { rootComponent } from './root.component';\nimport { c8yTitleDecorator } from './title.decorator';\nimport { c8yViewsProvider } from './views.provider';\n\nconst NAME_UPGRADE = 'c8y.upgrade';\n(window as any).preventNg1Bootstrap = true;\n\nangular\n .module(NAME_UPGRADE, [])\n // tslint:disable-next-line:only-arrow-functions\n .config(function ($httpProvider) {\n 'ngInject';\n\n const ng1InterceptorIndex = $httpProvider.interceptors.indexOf('c8yLoadingIndicator');\n if (ng1InterceptorIndex > -1) {\n $httpProvider.interceptors.splice(ng1InterceptorIndex, 1);\n }\n $httpProvider.interceptors.push(c8yNg1HttpInterceptor);\n })\n .component('c8yUiRoot', rootComponent)\n .directive('c8yBootstrap', bootstrapComponentDowngradedComponent)\n .factory('c8yBridgeService', bridgeServiceDowngradedInjectable)\n .factory('c8yAuthBridgeService', authBridgeServiceDowngradedInjectable)\n .factory('c8yAppStateService', appStateServiceDowngradedInjectable)\n .factory('c8yHeaderService', headerServiceDowngradedInjectable)\n .factory('c8yUserMenuService', userMenuServiceDowngradedInjectable)\n // tslint:disable-next-line:only-arrow-functions\n .service('c8yQueriesUtil', function () {\n return new QueriesUtil();\n })\n .factory('c8yAlert', alertsServiceDowngradedInjectable)\n .decorator('c8yAlert', c8yAlertDecorator)\n .decorator('groupTypesHierarchyNavigator', groupTypesHierarchyNavigatorDecorator) // prevents loading the groups\n .factory('c8yApiService', apiServiceDowngradedInjectable)\n .factory('c8yDocs', docsServiceDowngradedInjectable)\n .service('c8yPasswordConfirm', passwordServiceDowngradedInjectable)\n .service('c8yModalService', modalServiceDowngradedInjectable)\n .service('c8yGainsightService', gainsightServiceDowngradedInjectable)\n .service('c8yFilesService', filesServiceDowngradedInjectable)\n .service('c8yGlobalConfigService', globalConfigServiceDowngradedInjectable)\n .service('c8yPropertyValueTransformService', propertyValueTransformServiceDowngradedInjectable)\n .service('c8yDatapointSelectorService', datapointSelectorServiceDowngradedInjectable);\n\nangular\n .module('c8y.ui')\n .filter('absoluteDate', absoluteDateServiceDowngradedInjectable)\n .directive('c8yLoading', loadingComponentDowngradedComponent)\n .provider('c8yNavigator', c8yNavigatorProvider)\n .provider('c8yViews', c8yViewsProvider)\n .directive('c8yUserTotpRevoke', userTotpComponentDowngradedComponent)\n .directive('c8yAppLogsAutoRefresh', appLogsAutoRefreshComponentDowngradedComponent)\n .directive('c8yDataGrid', dataGridComponentDowngradedComponent)\n .directive('c8yRangeDisplay', rangeDisplayComponentDowngradedComponent)\n .directive('c8yHelp', helpComponentDowngradedComponent)\n .directive('c8yUiEmptyState', emptyStateComponentDowngradedComponent)\n .directive('c8yDatapointSelectionList', datapointSelectionListComponentDowngradedComponent)\n .directive('c8yHighlight', highlightComponentDowngradedComponent)\n .directive('c8yPasswordInput', passwordInputComponentDowngradedComponent)\n .directive('pagination', paginationComponentDowngradedComponent)\n .directive('c8yRolesAssetTreeDowngraded', rolesAssetTreeComponentDowngradedComponent)\n .directive('c8yPlatformConfigurationForm', platformConfigurationFormDowngradedComponent)\n .factory('c8yTranslate', translateServiceDowngradedInjectable)\n .factory('c8yCachedLocaleDictionaryService', cachedLocaleDictionaryServiceDowngradedInjectable)\n .decorator('gettextCatalog', gettextCatalogDecorator)\n .factory('c8yServerMessages', serverMessagesServiceDowngradedInjectable)\n .factory('ngZone', downgradeInjectable(NgZone))\n .factory('c8yDeviceTypeDetailEdited', deviceTypeDetailEditedServiceDowngradedInjectable)\n .factory('c8yDeviceGridService', deviceGridServiceDowngradedInjectable)\n .factory('c8yServiceRegistry', serviceRegistryInjectable)\n .factory('assetLink', assetLinkPipeDowngradedInjectable);\n\nangular\n .module('c8y.ui')\n .decorator('c8yTitle', c8yTitleDecorator)\n .run([\n 'c8yTitle',\n function () {\n // needed to inject c8yTitle with decorator applied to it, to ensure displaying ng1 titles\n }\n ]);\n\nexport const ng1ModulesUpgrade = ['app', NAME_UPGRADE];\n","import { UpgradeModule as NgUpgradeModule } from '@angular/upgrade/static';\nimport { ng1ModulesUpgrade } from './ng1';\n\nexport abstract class HybridAppModule {\n ng1Modules = ng1ModulesUpgrade;\n protected upgrade: NgUpgradeModule;\n\n ngDoBootstrap() {\n (window as any).bootstrap();\n this.upgrade.bootstrap(document.getElementById('app'), this.ng1Modules, { strictDi: false });\n }\n}\n","import { EmptyComponent } from '@c8y/ngx-components';\n\nexport const UPGRADE_ROUTES = [{ path: '**', component: EmptyComponent }];\n","import { Injectable, NgZone, inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { getActivatedRoute } from '@c8y/ngx-components';\nimport {\n ContextDashboardService,\n ContextWidgetConfig\n} from '@c8y/ngx-components/context-dashboard';\nimport { get } from 'lodash-es';\n\n@Injectable({ providedIn: 'root' })\nexport class DashboardBridgeService {\n dashboardSvc;\n compile;\n dashboardClipboard;\n\n private ng1Injector: any = inject('$injector' as any);\n private zone = inject(NgZone);\n private router = inject(Router);\n private contextDashboardService = inject(ContextDashboardService, { optional: true });\n\n constructor() {\n this.dashboardSvc = this.ng1Injector.get('dashboardSvc');\n this.compile = this.ng1Injector.get('$compile');\n }\n\n get ng1Components() {\n return this.ng1Injector.get('c8yComponents');\n }\n\n async instantiateComponent(widget, element) {\n const { dashboard, context, child } = widget;\n if (dashboard) {\n const transformedChild = await this.dashboardSvc.transformChildWithContext(\n this.dashboardSvc.forcedContext || context,\n dashboard,\n child\n );\n if (this.dashboardSvc.forcedContext || dashboard.deviceType || dashboard.updateTarget) {\n await this.dashboardSvc.updateConfigTargetsWithContext(\n this.dashboardSvc.forcedContext || context,\n transformedChild.config\n );\n }\n return this.zone.runOutsideAngular(() =>\n this.loadTemplate(transformedChild, child, element, context)\n );\n } else {\n return this.loadConfigTemplate(element, widget);\n }\n }\n\n instantiateDeviceSelector(element, widgetConfig: ContextWidgetConfig) {\n return this.loadConfigTemplate(element, widgetConfig, true);\n }\n\n private loadTemplate(transformedChild, child, element, context) {\n const scope = this.ng1Injector.get('$rootScope').$new(true);\n scope.child = transformedChild;\n scope.dashboardContext = context;\n if (child.widgetComponent) {\n element.innerHTML = `<c8y-ui-component component-name=\"'${child.widgetComponent}'\" config=\"child.config\" context=\"dashboardContext\"></c8y-ui-component>`;\n } else if (child.templateUrl) {\n element.innerHTML = `<ng-include src=\"'${child.templateUrl}'\"></ng-include>`;\n }\n this.compile(element)(scope);\n return scope;\n }\n\n private getDashboard() {\n return getActivatedRoute(this.router).snapshot.data.dashboard;\n }\n\n private loadConfigTemplate(\n element,\n widgetConfig: ContextWidgetConfig,\n onlyDeviceSelector = false\n ) {\n const { settings } = widgetConfig;\n const scope = this.ng1Injector.get('$rootScope').$new(true);\n\n scope.settings = { ...settings, ...settings.ng1 };\n scope.options = widgetConfig.options;\n scope.config = widgetConfig;\n scope.forms = {};\n scope.rootId = settings.context.id;\n scope.dashboard = get(widgetConfig, 'settings.dashboardMo');\n\n let configCmp = '';\n if (!onlyDeviceSelector) {\n if (widgetConfig.settings.configComponent) {\n configCmp = `<c8y-ui-component component-name=\"'${widgetConfig.settings.configComponent}'\" config=\"config\"></c8y-ui-component>`;\n } else if (widgetConfig.settings.configTemplateUrl) {\n configCmp = `<ng-include src=\"'${widgetConfig.settings.configTemplateUrl}'\"></ng-include>`;\n }\n }\n\n element.innerHTML = `\n <ng-form name=\"forms.componentForm\">\n <div class=\"form-group m-0\"\n ng-if=\"!settings.noDeviceTarget\"\n ng-style=\"{height: settings.hideTarget && '0', overflow: 'hidden'}\"\n >\n </div>\n ${configCmp}\n </ng-form>`;\n\n scope.$watch('forms.componentForm.$invalid', formStatus => {\n this.contextDashboardService.formDisabled = formStatus;\n });\n this.compile(element)(scope);\n this.contextDashboardService.formDisabled = scope.forms.componentForm.$invalid;\n\n return scope;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n OnInit,\n OnDestroy,\n Optional\n} from '@angular/core';\nimport { DashboardBridgeService } from './dashboard-bridge.service';\nimport { OnBeforeSave, WidgetsDashboardComponent } from '@c8y/ngx-components';\nimport { debounceTime, merge, Subscription } from 'rxjs';\n\n@Component({\n selector: 'c8y-widget-legacy',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetComponent implements OnInit, OnDestroy, OnBeforeSave {\n ng1Scope;\n config;\n alerts;\n private resizeSubscription?: Subscription;\n private readonly DEBOUNCE_TIME_UNTIL_WIDGET_HAS_SNAPPED = 400;\n\n constructor(\n @Optional() private dashboard: WidgetsDashboardComponent,\n private dashboardBridgeService: DashboardBridgeService,\n private el: ElementRef\n ) {}\n\n onBeforeSave(): boolean {\n this.ng1Scope.$broadcast('saveWidget');\n return true;\n }\n\n async ngOnInit() {\n if (this.config) {\n if (this.config.child) {\n this.config.child.alerts = this.alerts;\n }\n this.ng1Scope = await this.dashboardBridgeService.instantiateComponent(\n this.config,\n this.el.nativeElement\n );\n if (this.dashboard) {\n this.resizeSubscription = merge(this.dashboard.onChangeDashboard, this.dashboard.onResize)\n .pipe(debounceTime(this.DEBOUNCE_TIME_UNTIL_WIDGET_HAS_SNAPPED))\n .subscribe(() => {\n this.ng1Scope.$broadcast('dashboardResize');\n });\n }\n }\n }\n\n ngOnDestroy(): void {\n if (this.ng1Scope) {\n this.ng1Scope.$destroy();\n }\n if (this.resizeSubscription) {\n this.resizeSubscription.unsubscribe();\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, OnInit, OnDestroy } from '@angular/core';\nimport { DashboardBridgeService } from './dashboard-bridge.service';\n\n@Component({\n selector: 'c8y-device-selector-legacy',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LegacyDeviceSelectorComponent implements OnInit, OnDestroy {\n ng1Scope;\n config;\n\n constructor(\n private dashboardBridgeService: DashboardBridgeService,\n private el: ElementRef\n ) {}\n\n async ngOnInit() {\n this.ng1Scope = this.dashboardBridgeService.instantiateDeviceSelector(\n this.el.nativeElement,\n this.config\n );\n }\n\n ngOnDestroy(): void {\n if (this.ng1Scope) {\n this.ng1Scope.$destroy();\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n DynamicComponentDefinition,\n DynamicDatapointsResolver,\n DynamicManagedObjectResolver\n} from '@c8y/ngx-components';\nimport { DashboardBridgeService } from './dashboard-bridge.service';\nimport { WidgetComponent } from './widget.component';\nimport { LegacyDeviceSelectorComponent } from './device-selector.component';\nimport { of, Observable } from 'rxjs';\nimport { shareReplay, switchMap, take } from 'rxjs/operators';\n\n@Injectable()\nexport class Ng1ComponentFactoryService {\n private components$: Observable<DynamicComponentDefinition[]>;\n constructor(private bridge: DashboardBridgeService) {\n this.components$ = of(1).pipe(\n switchMap(() => this.getComponents()),\n shareReplay(1),\n take(1)\n );\n }\n\n get() {\n return this.components$;\n }\n\n private async getComponents(): Promise<DynamicComponentDefinition[]> {\n const ng1Components = await this.bridge.ng1Components.list();\n const components: DynamicComponentDefinition[] = ng1Components.map(cmp => {\n const resolve = {};\n if (cmp.options?.datapointAttributes && Array.isArray(cmp.options?.datapointAttributes)) {\n cmp.options?.datapointAttributes.forEach(\n attribute => (resolve[attribute] = DynamicDatapointsResolver as any)\n );\n }\n if (\n cmp.options?.managedObjectAttributes &&\n Array.isArray(cmp.options?.managedObjectAttributes)\n ) {\n cmp.options?.managedObjectAttributes.forEach(\n attribute => (resolve[attribute] = DynamicManagedObjectResolver as any)\n );\n }\n const data = {\n settings: {\n ...cmp.options,\n configTemplateUrl: cmp.configTemplateUrl,\n widgetComponent: cmp.widgetComponent,\n configComponent: cmp.configComponent,\n transformConfigWithContext:\n cmp.transformConfigWithContext || cmp.componentTransformConfigWithContext,\n upgrade: true\n }\n } as any;\n data.settings.templateUrl = cmp.templateUrl; // workaround as in object it creates build error\n data.displaySettings = cmp.displaySettings;\n\n return {\n id: cmp.name,\n label: cmp.nameDisplay || cmp.name,\n description: cmp.description,\n component: WidgetComponent,\n configComponent: WidgetComponent,\n previewImage: cmp.previewImage,\n errorStrategy: cmp.errorStrategy,\n resolve,\n data\n } as DynamicComponentDefinition;\n });\n\n // add the device selector legacy component\n components.push({\n id: 'device.selector.legacy',\n label: 'Device selector',\n description: '',\n data: { settings: { noNewWidgets: true, upgrade: true } },\n component: LegacyDeviceSelectorComponent\n });\n\n return components;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { Ng1ComponentFactoryService } from './component.factory';\nimport { WidgetComponent } from './widget.component';\nimport { LegacyDeviceSelectorComponent } from './device-selector.component';\nimport { C8yTranslateModule, hookComponent } from '@c8y/ngx-components';\nimport { AssetSelectorModule } from '@c8y/ngx-components/assets-navigator';\n\n@NgModule({\n declarations: [LegacyDeviceSelectorComponent, WidgetComponent],\n imports: [CommonModule, C8yTranslateModule, AssetSelectorModule],\n providers: [hookComponent(Ng1ComponentFactoryService)]\n})\nexport class DashboardUpgradeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["map","i1.BridgeService","merge","debounceTime","i1","i2.DashboardBridgeService","i1.DashboardBridgeService"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;MAEa,mBAAmB,CAAA;AAC9B,IAAA,WAAA,CAAoB,QAAkB,EAAA;QAAlB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;KAAI;IAC1C,SAAS,GAAA;QACP,OAAO,CAAC,KAAU,EAAE,MAAM,GAAG,QAAQ,EAAE,QAAiB,EAAE,MAAe,KACvE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;KAC5D;AACF,CAAA;AACK,SAAU,0BAA0B,CAAC,QAAkB,EAAA;IAC3D,OAAO,IAAI,mBAAmB,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,CAAC;AACvD,CAAC;AACM,MAAM,2BAA2B,GAAG;AACzC,IAAA,OAAO,EAAE,mBAAmB;AAC5B,IAAA,UAAU,EAAE,0BAA0B;IACtC,IAAI,EAAE,CAAC,QAAQ,CAAC;CACjB;;ACZD,IAAY,0BAUX,CAAA;AAVD,CAAA,UAAY,0BAA0B,EAAA;AACpC,IAAA,0BAAA,CAAA,QAAA,CAAA,GAAA,UAAmB,CAAA;AACnB,IAAA,0BAAA,CAAA,OAAA,CAAA,GAAA,SAAiB,CAAA;AACjB,IAAA,0BAAA,CAAA,MAAA,CAAA,GAAA,QAAe,CAAA;AACf,IAAA,0BAAA,CAAA,aAAA,CAAA,GAAA,eAA6B,CAAA;AAC7B,IAAA,0BAAA,CAAA,cAAA,CAAA,GAAA,eAA8B,CAAA;AAC9B,IAAA,0BAAA,CAAA,wBAAA,CAAA,GAAA,eAAwC,CAAA;AACxC,IAAA,0BAAA,CAAA,QAAA,CAAA,GAAA,UAAmB,CAAA;AACnB,IAAA,0BAAA,CAAA,SAAA,CAAA,GAAA,UAAoB,CAAA;IACpB,0BAAuB,CAAA,YAAA,CAAA,GAAA,UAAA,CAAA;AACzB,CAAC,EAVW,0BAA0B,KAA1B,0BAA0B,GAUrC,EAAA,CAAA,CAAA,CAAA;AAED,SAAS,gBAAgB,CAAC,cAAc,EAAE,eAAe,EAAE,YAAY,EAAA;AACrE,IAAA,UAAU,CAAC;IAEX,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,IAAA,MAAM,YAAY,GAAG,IAAI,aAAa,EAAE,CAAC;IAEzC,OAAO;QACL,IAAI;QACJ,IAAI,GAAA;YACF,OAAO;gBACL,YAAY;gBACZ,IAAI,CAAC,IAAI,EAAE,GAAG,EAAA;oBACZ,OAAO,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;iBAC9B;gBACD,SAAS;gBACT,eAAe;aAChB,CAAC;SACH;KACF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCG;AACH,IAAA,SAAS,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAA;AAC/B,QAAA,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;QACtC,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;;AAEhC,QAAA,GAAG,CAAC,OAAO,CAAC,aAAa,GAAG;YAC1B,YAAY;AACZ,YAAA,UAAU,IAAG;gBACX,OAAO,UAAU,CAAC,QAAQ,CAAC;aAC5B;SACF,CAAC;AAEF,QAAA,IAAI,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,YAAY,GAAG,OAAO,CAAC;AAE7B,QAAA,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;;SAEd;QAED,IAAI,CAAC,UAAU,EAAE;AACf,YAAA,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;AACtB,YAAA,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;SAC/B;AAED,QAAA,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;AAC7C,aAAA,GAAG,CAAC,GAAG,KAAK;YACX,GAAG;AACH,YAAA,SAAS,EACP,eAAe,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI;AAC5F,SAAA,CAAC,CAAC;aACF,IAAI,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,SAAS,CAAC,CAAC;QAEtC,IAAI,eAAe,EAAE;AACnB,YAAA,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrB,YAAA,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC;AAEnB,YAAA,MAAM,CAAC,GAAG,YAAY,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/E,YAAY,CAAC,IAAI,CAAC;AAChB,gBAAA,GAAG,GAAG;AACN,gBAAA,IAAI,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE;gBACpC,UAAU,EAAE,eAAe,CAAC,GAAG;gBAC/B,QAAQ;AACT,aAAA,CAAC,CAAC;AACH,YAAA,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC;AACvB,YAAA,IAAI,GAAG,CAAC,IAAI,EAAE;AACZ,gBAAA,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC,aAAa,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;aAC/D;SACF;aAAM;AACL,YAAA,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3B,gBAAA,MAAM,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC;AACpC,gBAAA,cAAc,CAAC,IAAI,GAAG,YAAY,CAAC,aAAa,CAAC,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;gBACpF,cAAc,CAAC,GAAG,GAAG,SAAS,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;gBAC7D,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;aAC1D;AAED,YAAA,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACrB,YAAA,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC;AAEnB,YAAA,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AACzB,gBAAA,GAAG,CAAC,IAAI,GAAG,YAAY,CAAC,aAAa,CAAC,YAAY,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;AAC9D,gBAAA,SAAS,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;AAE7B,gBAAA,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE;oBACjD,iBAAiB,CAAC,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAA;AAC9D,wBAAA,UAAU,CAAC;wBAEX,MAAM,gBAAgB,GAAG,eAAe,CAAC,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;AACnF,wBAAA,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;AAEzC,wBAAA,OAAO,EAAE;AACN,6BAAA,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC;6BAChE,IAAI,CAAC,KAAK,IAAG;4BACZ,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAClC,4BAAA,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC;4BACrB,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAI;gCAC3B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAI,CAAA,EAAA,GAAG,CAAE,CAAA,EAAE,GAAG,CAAC,CAAC;AACpC,6BAAC,CAAC,CAAC;AACH,4BAAA,OAAO,CAAC,kBAAkB,GAAG,GAAG,CAAC;AACjC,4BAAA,OAAO,GAAG,CAAC;AACb,yBAAC,CAAC,CAAC;qBACN;AACF,iBAAA,CAAC,CAAC;aACJ;SACF;AACD,QAAA,OAAO,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;KAC5D;IAED,SAAS,SAAS,CAAC,IAAI,EAAA;AACrB,QAAA,OAAO,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;KACvC;AAED,IAAA,SAAS,SAAS,CAAC,IAAI,EAAE,GAAG,EAAA;AAC1B,QAAA,eAAe,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;KACnC;IAED,SAAS,eAAe,CAAC,IAAI,EAAA;AAC3B,QAAA,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC;QAChD,OAAO,MAAM,GAAG,IAAI,CAAC;KACtB;AACH;;MC5Ia,aAAa,CAAA;AAMxB,IAAA,WAAA,CACS,QAAa,EACZ,QAAyB,EAC1B,MAAc,EACb,MAAc,EACd,aAA4B,EAC5B,aAA4B,EACpC,OAA8B,EAAA;QANvB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAK;QACZ,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAiB;QAC1B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACb,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACd,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;QAC5B,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;AARtC,QAAA,IAAA,CAAA,SAAS,GAAmB,IAAI,eAAe,CAAC,EAAE,CAAC,CAAC;QAWlD,IAAI,CAAC,YAAY,EAAE,CAAC;AACpB,QAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,YAAY,CAC7C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,EAC/B,qBAAqB,CACtB,CAAC;AACF,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAC3C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,EAC/B,mBAAmB,CACpB,CAAC;QACF,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,EAAE,CAAC;AACjB,QAAA,OAAO,CAAC,iBAAiB;AACtB,aAAA,IAAI,CACH,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,EACpB,IAAI,CAAC,CAAC,CAAC,CACR;aACA,SAAS,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;AAClC,SAAC,CAAC,CAAC;QACL,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;AAED;;;AAGG;IACH,SAAS,GAAA;QACP,IAAI,CAAC,MAAM,CAAC,MAAM;aACf,IAAI,CACH,MAAM,CAAC,KAAK,IAAI,KAAK,YAAY,UAAU,CAAC,EAC5CA,KAAG,CAAC,CAAC,KAAiB,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EACvD,MAAM,CAAC,KAAK,IAAI,KAAK,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,IAAI,CAAC,CAC/E;AACA,aAAA,SAAS,CAAC,CAAC,KAA6B,KAAI;YAC3C,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AAClC,gBAAA,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;aAC9D;AACH,SAAC,CAAC,CAAC;KACN;IAED,gBAAgB,GAAA;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;;;;AAI/C,QAAA,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE;AAC3B,YAAA,QAAQ,EAAE,EAAE;AACb,SAAA,CAAC,CAAC;AACH,QAAA,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE;AAC1B,YAAA,QAAQ,EAAE,EAAE;AACb,SAAA,CAAC,CAAC;AACH,QAAA,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;KAC5D;AAED,IAAA,QAAQ,CAAC,GAAG,EAAA;AACV,QAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;AAC1B,YAAA,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI;YAC5B,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,IAAI,EAAE,GAAG,CAAC,IAAI;AACd,YAAA,OAAO,EAAE,WAAW,CAAC,GAAG,CAAC,UAAU,CAAgB;YACnD,QAAQ,EAAE,GAAG,CAAC,QAAQ;AACtB,YAAA,SAAS,EAAE,cAAc;AACzB,YAAA,IAAI,EAAE;gBACJ,MAAM,EAAE,GAAG,CAAC,MAAM;sBACd,QAAQ,IAAG;AACT,wBAAA,MAAM,MAAM,GAAG;4BACb,GAAG,QAAQ,CAAC,MAAM;AAClB,4BAAA,CAAC,0BAA0B,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE;yBACjE,CAAC;AACF,wBAAA,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE;AAC/D,4BAAA,YAAY,EAAE,MAAM;AACrB,yBAAA,CAAC,CAAC;;AAEH,wBAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;qBACjE;AACH,sBAAE,SAAS;AACd,aAAA;AACD,YAAA,IAAI,GAAG,CAAC,SAAS,IAAI,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;AACnD,SAAA,CAAC,CAAC;AAEH,QAAA,IAAI,GAAG,CAAC,QAAQ,EAAE;AAChB,YAAA,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;SAC9B;KACF;IAED,SAAS,GAAA;QACP,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,MAAM,cAAc,GAAG,EAAE,CAAC;;AAG1B,QAAA,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE;AACjC,YAAA,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,CAAK,EAAA,EAAA,IAAI,CAAiB,eAAA,CAAA,CAAC,CAAC;YACtD,cAAc,CAAC,IAAI,CAAC;AAClB,gBAAA,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,0BAA0B,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;gBACtE,MAAM;gBACN,QAAQ;AACT,aAAA,CAAC,CAAC;SACJ;AAED;;;;;;;;;;AAUG;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3C,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE;;AAE9C,YAAA,KAAK,EAAE,SAAS,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAA;;AAEvC,gBAAA,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;AACtB,oBAAA,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;iBAC9C;AACD,gBAAA,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;aACxD;AACD,YAAA,YAAY,EAAE,IAAI;AACnB,SAAA,CAAC,CAAC;AAEH;;;AAGG;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AACjD,QAAA,MAAM,WAAW,GAAG,SAAS,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,MAAM;aACf,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,YAAY,aAAa,CAAC,CAAC;AACrD,aAAA,SAAS,CAAC,CAAC,KAAoB,KAAI;YAClC,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,IAAI,EAAE;AAC5C,gBAAA,SAAS,CAAC,UAAU,GAAG,WAAW,CAAC;aACpC;AAAM,iBAAA,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE;AAC7D,gBAAA,SAAS,CAAC,UAAU,GAAG,MAAK;oBAC1B,OAAO;AACL,wBAAA,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;wBACxD,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;AACtC,wBAAA,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW;qBAC7C,CAAC;AACJ,iBAAC,CAAC;aACH;iBAAM;AACL,gBAAA,SAAS,CAAC,UAAU,GAAG,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;aAC5D;AACH,SAAC,CAAC,CAAC;KACN;IAED,YAAY,GAAA;AACV,QAAA,IAAI;AACF,YAAA,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;YACxB,MAAM,EAAE,KAAK,EAAE,GAAI,MAAc,CAAC,GAAG,CAAC,MAAM,CAAC;AAC7C,YAAA,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC;;AAEnC,YAAA,KAAK,CAAC,UAAU,GAAG,UAAU,GAAG,IAAI,EAAA;AAClC,gBAAA,OAAO,MAAM,CAAC,iBAAiB,CAAC,MAAM,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AACtE,aAAC,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;;SAEX;AAED,QAAA,IAAI;AACF,YAAA,MAAM,EAAE,GAAG,EAAE,GAAG,MAAa,CAAC;AAC9B,YAAA,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC;AACxB,YAAA,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;;AAExB,YAAA,GAAG,CAAC,IAAI,GAAG,UAAU,GAAG,IAAI,EAAA;AAC1B,gBAAA,OAAO,MAAM,CAAC,iBAAiB,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;AACjE,aAAC,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;;SAEX;KACF;IAED,YAAY,GAAA;QACV,IAAI,KAAK,GAAG,IAAI,CAAC;AACjB,QAAA,IAAI,CAAC,QAAQ;aACV,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC;aACxB,SAAS,CAAC,IAAI,IAAG;AAChB,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACvD,IAAI,CAAC,KAAK,EAAE;gBACV,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC;aAC1C;YACD,KAAK,GAAG,KAAK,CAAC;AAChB,SAAC,CAAC,CAAC;KACN;IAED,OAAO,GAAA;;AAEL,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,QAAQ,GAAG,EAAE,CAAC;AAClB,QAAA,OAAO,CAAC,MAAM,GAAG,GAAG,IAAG;YACrB,QAAQ,CAAC,IAAI,CAAC;AACZ,gBAAA,GAAG,GAAG;AACN,gBAAA,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI;AAC5B,gBAAA,IAAI,EAAE,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC;AACnC,aAAA,CAAC,CAAC;AACH,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAChC,SAAC,CAAC;AACF,QAAA,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,MAAK;YACvC,QAAQ,GAAG,EAAE,CAAC;AACd,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAChC,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,MAAK;AACzC,YAAA,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,IAAI,EAAE;gBAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;AACxD,oBAAA,WAAW,EAAE,SAAS,CAAC,MAAM,EAAE;AAC/B,oBAAA,kBAAkB,EAAE,IAAI;AACzB,iBAAA,CAAC,CAAC;aACJ;AACD,YAAA,IAAI,IAAI,CAAC,aAAa,EAAE;AACtB,gBAAA,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;aAC9B;AACH,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CACxB,IAAI,CAAC,sBAAsB,EAC3B,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,EAChD,EAAE,CAAC,CAAC,CAAC,CACN,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;KAC3B;IAED,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC;KACtE;IAED,OAAO,GAAA;QACL,MAAM,WAAW,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;AACvC,QAAA,MAAM,UAAU,GAAG,GAAG,KAAK;AACzB,YAAA,GAAG,GAAG;AACN,YAAA,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI;AAC5B,YAAA,IAAI,EAAE,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC;AACnC,SAAA,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CACvC,SAAS,CAAC,MAAK;AACb,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC;YACtD,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CACnC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,EAAE,KAAK,kBAAkB,CAAC,CAC3D,CAAC;AACF,YAAA,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;AAClF,SAAC,CAAC,EACF,SAAS,CAAC,EAAE,CAAC,CACd,CAAC;AACF,QAAA,OAAO,aAAa,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CACpDA,KAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAC3C,CAAC;KACH;IAED,aAAa,GAAA;QACX,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACzD,QAAA,OAAO,aAAa,CAAC,IAAI,EAAE,CAAC;KAC7B;IAED,iBAAiB,GAAA;QACf,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACnD,QAAA,MAAM,oBAAoB,GAAG,MAC3B,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,KAAK;YACpC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,qBAAqB,CAAC,IAAI,CAAC;AAC1D,YAAA,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,qBAAqB,CAAC,IAAI,OAAO;AAClE,SAAA,CAAC,CAAC,CAAC;QACN,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC,IAAI,CAC9D,SAAS,CAAC,CAAC,CAAC,EACZA,KAAG,CAAC,oBAAoB,CAAC,CAC1B,CAAC;KACH;IAED,cAAc,GAAA;QACZ,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC3D,MAAM,kBAAkB,GAAG,IAAI,UAAU,CAAC,UAAU,IAClD,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC,CACtD,CAAC;AACF,QAAA,OAAO,kBAAkB,CAAC,IAAI,CAC5B,SAAS,CAAC,CAAC,CAAC,EACZ,SAAS,CAAC,MAAK;AACb,YAAA,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACnD,MAAM,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACtE,YAAA,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAC/BA,KAAG,CAAC,CAAC,KAAY,KAAI;AACnB,gBAAA,MAAM,eAAe,GAAG,cAAc,CAAC,kBAAkB,EAAE,CAAC;AAC5D,gBAAA,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AACtC,gBAAA,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,KAAK,EAAE,KAAyB,EAAE,CAAe,CAAC,CAAC;aACjF,CAAC,CACH,CAAC;SACH,CAAC,CACH,CAAC;KACH;AAED,IAAA,sBAAsB,CAAC,IAAI,EAAA;AACzB,QAAA,IAAI;YACF,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SACnC;QAAC,OAAO,EAAE,EAAE;;SAEZ;AACD,QAAA,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE;AACjB,YAAA,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;SACnB;AACD,QAAA,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;KACf;IAED,SAAS,GAAA;QACP,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACjD,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,IAAI,IAAG;YACjC,OAAO;AACL,gBAAA,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,IAAI,CAAC,IAAI;AACf,gBAAA,IAAI,EAAE,EAAE;gBACR,QAAQ,GAAA;AACN,oBAAA,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,wBAAA,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAC7B;iBACF;aACQ,CAAC;AACd,SAAC,CAAC,CAAC;KACJ;IAED,UAAU,GAAA;AACR,QAAA,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,iBAAiB,CAAC;QAC5E,OAAO,EAAE,CACP,iBAAiB;aACd,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;AAChC,aAAA,GAAG,CAAC,MAAM,KAAK;;YAEd,QAAQ,EAAE,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,CAAC;YACrC,KAAK,EAAE,MAAM,CAAC,IAAI;YAClB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE,MAAK;gBACX,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;aAC7C;SACF,CAAC,CAAC,CACN,CAAC;KACH;IAED,YAAY,CAAC,GAAG,EAAE,GAAG,EAAA;AACnB,QAAA,IAAI,aAAa,CAAC;QAClB,SAAS,GAAG,CAAC,OAAO,EAAA;YAClB,aAAa,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;SACvC;QACD,OAAO,gBAAgB,CAAC,GAAG,EAAE,MAAM,aAAa,EAAE,CAAC,CAAC;KACrD;IAEO,YAAY,GAAA;QAClB,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAChE,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC7D,eAAe,CAAC,GAAG,CAAC;AAClB,YAAA,IAAI,EAAE,QAAQ;AACd,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,KAAK,EAAE,OAAO,CAAC,wBAAwB,CAAC;YACxC,KAAK,EAAE,eAAe,CAAC,4BAA4B;AACpD,SAAA,CAAC,CAAC;KACJ;AACF,CAAA;AAEe,SAAA,oBAAoB,CAClC,QAAa,EACb,QAAyB,EACzB,MAAc,EACd,MAAc,EACd,aAA4B,EAC5B,aAA4B,EAC5B,OAA8B,EAAA;AAE9B,IAAA,OAAO,IAAI,aAAa,CACtB,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,MAAM,EACN,aAAa,EACb,aAAa,EACb,OAAO,CACR,CAAC;AACJ,CAAC;AAEY,MAAA,qBAAqB,GAAG;AACnC,IAAA,OAAO,EAAE,aAAa;AACtB,IAAA,UAAU,EAAE,oBAAoB;AAChC,IAAA,IAAI,EAAE;QACJ,WAAW;QACX,eAAe;QACf,MAAM;QACN,MAAM;QACN,aAAa;QACb,aAAa;QACb,qBAAqB;AACtB,KAAA;;;MCpbU,0BAA0B,CAAA;AAGrC,IAAA,WAAA,CAAoB,MAAqB,EAAA;QAArB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAe;AACvC,QAAA,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AAC1C,QAAA,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,CAAC;KAC7D;IAED,GAAG,GAAA;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAC5B,SAAS,CAAC,MAAK;AACb,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;SACxC,CAAC,CACH,CAAC;KACH;+GAdU,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;mHAA1B,0BAA0B,EAAA,CAAA,CAAA,EAAA;;4FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC,UAAU;;;MCAE,uBAAuB,CAAA;IAGlC,WAAoB,CAAA,MAAqB,EAAU,IAAiB,EAAA;QAAhD,IAAM,CAAA,MAAA,GAAN,MAAM,CAAe;QAAU,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAa;AAClE,QAAA,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAClD,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;KACzE;AAED,IAAA,kBAAkB,CAAC,IAAI,EAAA;AACrB;;;;AAIG;AACH,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;AACzD,QAAA,MAAM,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;AAC9B,QAAA,IAAI,aAAa,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE;AACjD,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;AACzC,YAAA,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC;AACnC,YAAA,aAAa,CAAC,YAAY,GAAG,KAAK,CAAC;SACpC;KACF;IAED,GAAG,GAAA;AACD,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;KACjC;+GA3BU,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,WAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;mHAAvB,uBAAuB,EAAA,CAAA,CAAA,EAAA;;4FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBADnC,UAAU;;;MCFE,iBAAiB,CAAA;IAC5B,WACS,CAAA,QAAa,EACZ,SAAoB,EACpB,WAAwB,EACxB,QAAyB,EACzB,eAAgC,EAAA;QAJjC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAK;QACZ,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;QACpB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAa;QACxB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAiB;QACzB,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QAExC,IAAI,CAAC,QAAQ,EAAE,CAAC;KACjB;AAED,IAAA,eAAe,CAAC,WAAyB,EAAA;AACvC,QAAA,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;AACzD,QAAA,IAAI,OAAO,CAAC,aAAa,EAAE;AACzB,YAAA,MAAM,KAAK,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9D,IAAI,KAAK,EAAE;AACT,gBAAA,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;gBAC9C,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC1C;SACF;KACF;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,IAAG;YACzC,IAAI,CAAC,IAAI,EAAE;AACT,gBAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC7E,OAAO;aACR;YACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC;AAC1F,YAAA,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;AACzD,YAAA,MAAM,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;AAClD,YAAA,IAAI,OAAO,mBAAmB,KAAK,QAAQ,IAAI,mBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;gBACtF,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBAC3D,MAAM,KAAK,GAAG,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;gBACpC,IAAI,KAAK,EAAE;oBACT,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;iBACxC;aACF;iBAAM,IACL,OAAO,mBAAmB,KAAK,QAAQ;AACvC,gBAAA,mBAAmB,CAAC,UAAU,CAAC,QAAQ,CAAC,EACxC;gBACA,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;aACtD;iBAAM;gBACL,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;aACrD;AACD,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9E,SAAC,CAAC,CAAC;KACJ;AAED,IAAA,QAAQ,CAAC,KAAc,EAAE,GAAY,EAAE,IAAI,GAAG,OAAO,EAAA;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAC7C,QAAA,IAAI,IAAI,KAAK,OAAO,EAAE;YACpB,OAAO,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACpC,IAAI,GAAG,EAAE;AACP,gBAAA,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;aAC1B;SACF;aAAM;YACL,OAAO,CAAC,SAAS,EAAE,CAAC;SACrB;KACF;IAED,uBAAuB,GAAA;AACrB,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;KACvF;AACF,CAAA;AAEK,SAAU,wBAAwB,CACtC,QAAa,EACb,SAAoB,EACpB,WAAwB,EACxB,QAAyB,EACzB,eAAgC,EAAA;AAEhC,IAAA,OAAO,IAAI,iBAAiB,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;AAC5F,CAAC;AAEY,MAAA,yBAAyB,GAAG;AACvC,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,UAAU,EAAE,wBAAwB;IACpC,IAAI,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,CAAC;;;MC3ElE,2BAA2B,CAAA;AAQtC,IAAA,WAAA,CAAoB,MAAqB,EAAA;QAArB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAe;AAPjC,QAAA,IAAA,CAAA,OAAO,GAAQ,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;AACpC,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CACrC,YAAY,CAAC,GAAG,CAAC,EACjB,SAAS,CAAC,MAAK;AACb,YAAA,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;SACrC,CAAC,CACH,CAAC;KAC2C;IAE7C,GAAG,GAAA;AACD,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,OAAO,IAAI,CAAC,WAAW,CAAC;KACzB;+GAbU,2BAA2B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;mHAA3B,2BAA2B,EAAA,CAAA,CAAA,EAAA;;4FAA3B,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBADvC,UAAU;;;MCDE,qBAAqB,CAAA;AAEhC,IAAA,WAAA,CAAoB,MAAqB,EAAA;QAArB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAe;QACvC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;AACzC,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAG;AACrB,YAAA,IAAI,CAAC,GAAG,CAAC,EAAE,IAAG;gBACZ,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,WAAW,CAAC;AACjC,gBAAA,OAAO,EAAE,CAAC;AACZ,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;KACJ;IAED,GAAG,GAAA;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;+GAdU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;mHAArB,qBAAqB,EAAA,CAAA,CAAA,EAAA;;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC,UAAU;;;MCCE,sBAAsB,CAAA;AACjC,IAAA,WAAA,CAAoB,MAAqB,EAAA;QAArB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAe;KAAI;IAE7C,GAAG,GAAA;AACD,QAAA,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;KACrC;+GALU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;mHAAtB,sBAAsB,EAAA,CAAA,CAAA,EAAA;;4FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC,UAAU;;;MCJW,oBAAoB,CAAA;AAIzC,CAAA;AAEK,SAAU,wBAAwB,CAAC,QAAa,EAAA;AACpD,IAAA,OAAO,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACvC,CAAC;AAEY,MAAA,yBAAyB,GAAG;AACvC,IAAA,OAAO,EAAE,oBAAoB;AAC7B,IAAA,UAAU,EAAE,wBAAwB;IACpC,IAAI,EAAE,CAAC,WAAW,CAAC;;;MCRR,qBAAqB,CAAA;AAEhC,IAAA,WAAA,CAAoB,MAAqB,EAAA;QAArB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAe;AACvC,QAAA,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;KACxC;IACD,GAAG,GAAA;QACD,OAAO,IAAI,CAAC,cAAc,CAAC;KAC5B;+GAPU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,aAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;mHAArB,qBAAqB,EAAA,CAAA,CAAA,EAAA;;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC,UAAU;;;ACoBX,kBAAkB,CAAC,OAAO,CAAC,CAAC;MAkBf,aAAa,CAAA;+GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAAb,aAAa,EAAA,OAAA,EAAA,CAfd,YAAY,EAAE,sBAAsB,CAAA,EAAA,CAAA,CAAA,EAAA;AAenC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAbb,SAAA,EAAA;YACT,2BAA2B;YAC3B,qBAAqB;YACrB,yBAAyB;YACzB,yBAAyB;YACzB,aAAa,CAAC,sBAAsB,CAAC;YACrC,OAAO,CAAC,qBAAqB,CAAC;YAC9B,aAAa,CAAC,0BAA0B,CAAC;YACzC,UAAU,CAAC,uBAAuB,CAAC;YACnC,cAAc,CAAC,2BAA2B,CAAC;YAC3C,QAAQ,CAAC,qBAAqB,CAAC;SAChC,EAbS,OAAA,EAAA,CAAA,YAAY,EAAE,sBAAsB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAenC,aAAa,EAAA,UAAA,EAAA,CAAA;kBAhBzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,sBAAsB,CAAC;AAC/C,oBAAA,OAAO,EAAE,EAAE;AACX,oBAAA,SAAS,EAAE;wBACT,2BAA2B;wBAC3B,qBAAqB;wBACrB,yBAAyB;wBACzB,yBAAyB;wBACzB,aAAa,CAAC,sBAAsB,CAAC;wBACrC,OAAO,CAAC,qBAAqB,CAAC;wBAC9B,aAAa,CAAC,0BAA0B,CAAC;wBACzC,UAAU,CAAC,uBAAuB,CAAC;wBACnC,cAAc,CAAC,2BAA2B,CAAC;wBAC3C,QAAQ,CAAC,qBAAqB,CAAC;AAChC,qBAAA;AACF,iBAAA,CAAA;;;ACzCD,SAAS,iBAAiB,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAA;AACzD,IAAA,UAAU,CAAC;AAEX,IAAA,SAAS,CAAC,GAAG,GAAG,KAAK,IAAG;QACtB,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5C,KAAC,CAAC;IAEF,UAAU,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,KAAI;QACrC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5C,KAAC,CAAC,CAAC;IAEH,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,KAAK,KAAI;QACvC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5C,KAAC,CAAC,CAAC;AAEH;;;AAGG;AACH,IAAA,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;IAC3B,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE;QAC5E,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAChD,YAAA,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACpB;KACF;IACD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,QAAgB,KAAI;QAChD,IAAI,OAAO,SAAS,CAAC,QAAQ,CAAC,KAAK,UAAU,EAAE;AAC7C,YAAA,SAAS,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAC3D;AACH,KAAC,CAAC,CAAC;IAEH,SAAS,cAAc,CAAC,KAAU,EAAA;AAChC,QAAA,MAAM,QAAQ,GAAQ,EAAE,GAAG,KAAK,EAAE,CAAC;AACnC,QAAA,IAAI,KAAK,CAAC,OAAO,EAAE;AACjB,YAAA,QAAQ,CAAC,OAAO,GAAG,MAAK;AACtB,gBAAA,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAClC,aAAC,CAAC;SACH;AACD,QAAA,IAAI,KAAK,CAAC,QAAQ,EAAE;AAClB,YAAA,QAAQ,CAAC,QAAQ,GAAG,MAAK;AACvB,gBAAA,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACnC,aAAC,CAAC;SACH;AACD,QAAA,OAAO,QAAQ,CAAC;KACjB;AAED,IAAA,OAAO,SAAS,CAAC;AACnB;;AC7BO,MAAM,qCAAqC,GAAG,kBAAkB,CAAC;AACtE,IAAA,SAAS,EAAE,kBAAkB;AAC9B,CAAA,CAAC,CAAC;AACI,MAAM,oCAAoC,GAAG,kBAAkB,CAAC;AACrE,IAAA,SAAS,EAAE,uBAAuB;AACnC,CAAA,CAAC,CAAC;AACI,MAAM,8CAA8C,GAAG,kBAAkB,CAAC;AAC/E,IAAA,SAAS,EAAE,2BAA2B;AACvC,CAAA,CAAC,CAAC;AACI,MAAM,oCAAoC,GAAG,kBAAkB,CAAC;AACrE,IAAA,SAAS,EAAE,iBAAiB;AAC7B,CAAA,CAAC,CAAC;AACI,MAAM,mCAAmC,GAAG,kBAAkB,CAAC;AACpE,IAAA,SAAS,EAAE,gBAAgB;AAC5B,CAAA,CAAC,CAAC;AACI,MAAM,wCAAwC,GAAG,kBAAkB,CAAC;AACzE,IAAA,SAAS,EAAE,qBAAqB;AACjC,CAAA,CAAC,CAAC;AACI,MAAM,gCAAgC,GAAG,kBAAkB,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC;AAC1F,MAAM,qCAAqC,GAAG,kBAAkB,CAAC;AACtE,IAAA,SAAS,EAAE,kBAAkB;AAC7B,IAAA,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;AAC5B,CAAA,CAAC,CAAC;AACI,MAAM,sCAAsC,GAAG,kBAAkB,CAAC;AACvE,IAAA,SAAS,EAAE,mBAAmB;AAC/B,CAAA,CAAC,CAAC;AACI,MAAM,kDAAkD,GAAG,kBAAkB,CAAC;AACnF,IAAA,SAAS,EAAE,+BAA+B;AAC3C,CAAA,CAAC,CAAC;AAEI,MAAM,sCAAsC,GAAG,kBAAkB,CAAC;AACvE,IAAA,SAAS,EAAE,mBAAmB;AAC/B,CAAA,CAAC,CAAC;AACI,MAAM,0CAA0C,GAAG,kBAAkB,CAAC;AAC3E,IAAA,SAAS,EAAE,uBAAuB;AACnC,CAAA,CAAC,CAAC;AACI,MAAM,yCAAyC,GAAG,kBAAkB,CAAC;AAC1E,IAAA,SAAS,EAAE,sBAAsB;AAClC,CAAA,CAAC,CAAC;AACI,MAAM,4CAA4C,GAAG,kBAAkB,CAAC;AAC7E,IAAA,SAAS,EAAE,kCAAkC;AAC9C,CAAA,CAAC;;MCtDW,qBAAqB,CAAA;IAEhC,WAAoB,CAAA,gBAAkC,EAAiC,QAAQ,EAAA;QAA3E,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;AACpD,QAAA,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;KAClC;AAED,IAAA,SAAS,CAAC,CAAS,EAAA;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;KACzC;AARU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,kDAEgC,qBAAqB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;mHAF1E,qBAAqB,EAAA,CAAA,CAAA,EAAA;;4FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC,UAAU;;0BAGgD,MAAM;2BAAC,qBAAqB,CAAA;;;ACoBhF,MAAM,uCAAuC,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;AACzF,MAAM,iCAAiC,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;AAC7E,MAAM,qCAAqC,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;AACrF,MAAM,mCAAmC,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;AACjF,MAAM,iCAAiC,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;AAC7E,MAAM,iCAAiC,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;AAC5E,MAAM,mCAAmC,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;AACjF,MAAM,8BAA8B,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;AACvE,MAAM,+BAA+B,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;AACzE,MAAM,mCAAmC,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;AACjF,MAAM,oCAAoC,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;AACnF,MAAM,iDAAiD,GAAG,mBAAmB,CAClF,6BAA6B,CAC9B,CAAC;AACK,MAAM,uCAAuC,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;AACzF,MAAM,yCAAyC,GAAG,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;AAC7F,MAAM,gCAAgC,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;AAC3E,MAAM,oCAAoC,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;AACnF,MAAM,gCAAgC,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;AAC3E,MAAM,iDAAiD,GAAG,mBAAmB,CAClF,6BAA6B,CAC9B,CAAC;AACK,MAAM,qCAAqC,GAAG,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;AACrF,MAAM,yBAAyB,GAAG,mBAAmB,CAAC,eAAe,CAAC,CAAC;AACvE,MAAM,iCAAiC,GAAG,mBAAmB,CAAC,aAAa,CAAC,CAAC;AAC7E,MAAM,iDAAiD,GAAG,mBAAmB,CAClF,6BAA6B,CAC9B,CAAC;AACK,MAAM,4CAA4C,GACvD,mBAAmB,CAAC,wBAAwB,CAAC;;ACtD/C,SAAS,uBAAuB,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,EAAA;AACpE,IAAA,UAAU,CAAC;IAEX,MAAM,cAAc,GAAG,SAAS,CAAC;AACjC,IAAA,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;AAEjF,IAAA,SAAS,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAA;AACzC,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAClE,YAAA,MAAM,kBAAkB,GAAG,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;YAEtE,IAAI,cAAc,GAAG,gBAAgB,CAAC;AAEtC,YAAA,IAAI,gBAAgB,IAAI,gBAAgB,KAAK,kBAAkB,EAAE;gBAC/D,MAAM,uBAAuB,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;gBACzE,cAAc,GAAG,uBAAuB,CAAC;aAC1C;AAED,YAAA,OAAO,cAAc,CAAC;SACvB;AAED,QAAA,OAAO,KAAK,CAAC;KACd;AAED,IAAA,cAAc,CAAC,SAAS,GAAG,YAAY,CAAC;AAExC,IAAA,OAAO,cAAc,CAAC;AACxB;;AC7BA,SAAS,qCAAqC,CAAC,SAAS,EAAE,EAAE,EAAA;AAC1D,IAAA,UAAU,CAAC;IACX,SAAS,CAAC,OAAO,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;IACpC,SAAS,CAAC,kBAAkB,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;AAC/C,IAAA,OAAO,SAAS,CAAC;AACnB;;ACLA,SAAS,qBAAqB,CAAC,EAAE,EAAE,mBAAmB,EAAE,aAAa,EAAA;AACnE,IAAA,UAAU,CAAC;IAEX,SAAS,OAAO,CAAC,MAAM,EAAA;AACrB,QAAA,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;AAC/B,QAAA,aAAa,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;AACxD,QAAA,OAAO,MAAM,CAAC;KACf;IAED,SAAS,YAAY,CAAC,SAAS,EAAA;QAC7B,aAAa,CAAC,SAAS,CAAC,CAAC;AACzB,QAAA,OAAO,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;KAC7B;IAED,SAAS,QAAQ,CAAC,GAAG,EAAA;QACnB,aAAa,CAAC,GAAG,CAAC,CAAC;AACnB,QAAA,OAAO,GAAG,CAAC;KACZ;IAED,SAAS,aAAa,CAAC,SAAS,EAAA;QAC9B,aAAa,CAAC,SAAS,CAAC,CAAC;AACzB,QAAA,mBAAmB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;AAC7C,QAAA,OAAO,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;KAC7B;IAED,SAAS,aAAa,CAAC,GAAG,EAAA;QACxB,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC;QACnC,aAAa,CAAC,QAAQ,CAAC;YACrB,GAAG;YACH,MAAM;AACN,YAAA,QAAQ,EAAE,GAAG;YACb,OAAO,EAAE,GAAG,CAAC,MAAM;AACpB,SAAA,CAAC,CAAC;KACJ;IAED,OAAO;QACL,OAAO;QACP,YAAY;QACZ,QAAQ;QACR,aAAa;KACd,CAAC;AACJ;;ACtCM,MAAO,uBAAwB,SAAQ,iBAAiB,CAAA;AAC5D,IAAA,OAAO,CAAC,QAAQ,EAAA;AACd,QAAA,IAAI,SAAS,CAAC;AACd,QAAA,IAAI,QAAQ,CAAC,IAAI,KAAK,EAAE,EAAE;AACxB,YAAA,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;SACrB;AACD,QAAA,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC;AAC/B,QAAA,IAAI,OAAO,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE;YACvC,QAAQ,CAAC,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;SAC9C;AAED,QAAA,IAAI,QAAQ,CAAC,iBAAiB,EAAE;AAC9B,YAAA,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAI;AACjD,gBAAA,QACE,IAAI,KAAK,QAAQ,CAAC,IAAI;oBACtB,KAAK,KAAK,QAAQ,CAAC,KAAK;AACxB,oBAAA,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,MAAM,CAAC,EAC9C;AACJ,aAAC,CAAC,CAAC;YACH,IAAI,SAAS,EAAE;AACb,gBAAA,SAAS,CAAC,eAAe,GAAG,KAAK,CAAC;aACnC;SACF;QAED,OAAO,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;KAC7C;AAED,IAAA,UAAU,CAAC,IAAI,EAAA;QACb,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;QAE5C,MAAM,IAAI,GAAG,IAAI,CAAC;AAClB,QAAA,OAAO,MAAM,CAAC,gBAAgB,CAC5B,MAAM,CAAC,OAAO,EAAE;AACd,YAAA,QAAQ,EAAG,OAAe,CAAC,IAAI,IAAI,OAAO,CAAC,KAAK;YAChD,OAAO,EAAE,IAAI;AACb,YAAA,MAAM,CAAC,IAAI,EAAA;AACT,gBAAA,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;;AAE9B,oBAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;;AAEnB,oBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;iBACrB;gBACD,MAAM,CAAC,IAAI,CAAC,CAAC;aACd;AACD,YAAA,QAAQ,CAAC,SAAS,EAAA;gBAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;aACtC;AACF,SAAA,CAAC,EACF;AACE,YAAA,KAAK,EAAE;gBACL,GAAG,GAAA;AACD,oBAAA,OAAO,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;iBAC5B;AACD,gBAAA,GAAG,CAAC,IAAI,EAAA;AACN,oBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;iBACtB;AACF,aAAA;AACD,YAAA,IAAI,EAAE;gBACJ,GAAG,GAAA;AACD,oBAAA,OAAO,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;iBAC5B;AACD,gBAAA,GAAG,CAAC,IAAI,EAAA;AACN,oBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;iBACtB;AACF,aAAA;AACD,YAAA,IAAI,EAAE;gBACJ,GAAG,GAAA;AACD,oBAAA,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;iBACrB;AACD,gBAAA,GAAG,CAAC,IAAI,EAAA;AACN,oBAAA,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC;iBACrB;AACD,gBAAA,YAAY,EAAE,IAAI;AACnB,aAAA;AACF,SAAA,CACF,CAAC;KACH;AACF;;AC3ED;SACgB,oBAAoB,GAAA;AAClC,IAAA,MAAM,IAAI,GAAG,IAAI,uBAAuB,EAAE,CAAC;AAC3C,IAAA,MAAM,gBAAgB,GAA6B,IAAI,OAAO,EAAE,CAAC;IACjE,MAAM,gBAAgB,GAAG,EAAE,CAAC;IAC5B,MAAM,UAAU,GAAgC,gBAAgB,CAAC,IAAI,CACnEC,OAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CACtC,CAAC;IAEF,SAAS,aAAa,CAAC,KAAK,EAAA;AAC1B,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;AACxD,QAAA,QAAQ,CAAC,OAAO,CAAC,IAAI,IAAG;AACtB,YAAA,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE;AACvB,gBAAA,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;AACxB,gBAAA,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC7B;YACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACpC,SAAC,CAAC,CAAC;AACH,QAAA,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACtC;IAED,SAAS,gBAAgB,CAAC,IAAI,EAAA;AAC5B,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QACzC,IAAI,KAAK,EAAE;AACT,YAAA,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5C,YAAA,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACtC;KACF;IAED,SAAS,QAAQ,CAAC,IAAI,EAAA;AACpB,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACxB;IAED,SAAS,aAAa,CAAC,IAAI,EAAA;QACzB,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,0BAA0B,CAAC;KACjF;AAED,IAAA,SAAS,IAAI,CAAC,EAAE,EAAE,SAAS,EAAA;AACzB,QAAA,UAAU,CAAC;;QAGX,UAAU,CAAC,MAAM,gBAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;QAE1D,SAAS,aAAa,CAAC,IAAI,EAAA;YACzB,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC7C,MAAM,kBAAkB,GAAG,EAAE,CAAC;YAC9B,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,GAAG,IAAI,CAAC;YAEvE,IAAI,MAAM,EAAE;gBACV,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;aACnD;YACD,IAAI,0BAA0B,EAAE;gBAC9B,kBAAkB,CAAC,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC;aAC3D;YAED,SAAS;AACN,iBAAA,mBAAmB,CAClB;AACE,gBAAA,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBACpD,iBAAiB;AAClB,aAAA,EACD,SAAS,CACV;AACA,iBAAA,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,KAAI;gBACpB,IAAI,OAAO,EAAE;AACX,oBAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AAClB,wBAAA,MAAM,EAAE,KAAK;AACb,wBAAA,MAAM,EAAE,IAAI;AACZ,wBAAA,gBAAgB,EAAE,IAAI;AACtB,wBAAA,0BAA0B,EAAE,IAAI;AACjC,qBAAA,CAAC,CAAC;iBACJ;qBAAM;AACL,oBAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AAClB,wBAAA,MAAM,EAAE,IAAI;AACb,qBAAA,CAAC,CAAC;iBACJ;AACH,aAAC,CAAC,CAAC;SACN;QAED,SAAS,0BAA0B,CAAC,IAAI,EAAA;YACtC,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5C,YAAA,OAAO,EAAE;iBACN,GAAG,CACF,GAAG,CAAC,KAAK,EAAE,IAAI,IACb,SAAS;AACN,iBAAA,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC;AAC/E,iBAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAC1B,CACF;iBACA,IAAI,CAAC,IAAI,CAAC,CAAC;SACf;QAED,OAAO;YACL,SAAS,GAAA;gBACP,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;YACD,QAAQ;YACR,aAAa;YACb,gBAAgB;YAChB,UAAU;SACX,CAAC;KACH;IAED,OAAO;QACL,IAAI;QACJ,aAAa;QACb,gBAAgB;KACjB,CAAC;AACJ;;ACpHA,MAAM,aAAa,GAAG;AACpB,IAAA,QAAQ,EAAE,CAAA;;;;;AAKO,kBAAA,CAAA;AACjB,IAAA,UAAU,EAAE,mBAAmB;AAC/B,IAAA,YAAY,EAAE,IAAI;CACnB,CAAC;AAEF,SAAS,mBAAmB,CAC1B,UAAU,EACV,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,cAAc,EACd,gBAAgB,EAAA;AAEhB,IAAA,UAAU,CAAC;;IAEX,MAAM,EAAE,GAAG,IAAI,CAAC;AAEhB,IAAA,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE;QAChB,OAAO;AACP,QAAA,OAAO,EAAE,KAAK;AACf,KAAA,CAAC,CAAC;;AAIH,IAAA,SAAS,OAAO,GAAA;QACd,gBAAgB;aACb,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;aAC9B,SAAS,CAAC,MAAM,IAAG;AAClB,YAAA,EAAE,CAAC,OAAO,GAAG,MAAM,CAAC;AACtB,SAAC,CAAC,CAAC;QACL,gBAAgB,CAAC,eAAe,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACtD,QAAA,UAAU,CAAC,GAAG,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;AACrD,QAAA,EAAE,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;QACtC,cAAc,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClD,EAAE,CAAC,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;AAC5D,QAAA,UAAU,EAAE,CAAC;KACd;AAED,IAAA,SAAS,iBAAiB,CAAC,GAAG,EAAE,IAAI,EAAA;AAClC,QAAA,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC;KACrB;AAED,IAAA,SAAS,SAAS,GAAA;QAChB,EAAE,CAAC,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;KACzD;AAED,IAAA,SAAS,UAAU,GAAA;QACjB,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;AAC3D,QAAA,MAAM,QAAQ,GAAG,OAAO,IAAI,OAAO,CAAC,WAAW,CAAC;QAChD,IAAI,QAAQ,EAAE;AACZ,YAAA,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;SACpB;aAAM;YACL,QAAQ,CAAC,UAAU,CAAC,CAAC;SACtB;KACF;AACH;;AC3DA,SAAS,iBAAiB,CACxB,EAAE,EACF,SAAS,EACT,SAAS,EACT,UAAU,EACV,SAAS,EACT,cAAc,EACd,QAAQ,EACR,gBAAgB,EAAA;AAEhB,IAAA,UAAU,CAAC;AAEX,IAAA,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;AACpC,IAAA,SAAS,CAAC,eAAe,GAAG,eAAe,CAAC;AAE5C,IAAA,UAAU,CAAC,GAAG,CAAC,mBAAmB,EAAE,MAAK;QACvC,WAAW,CAAC,EAAE,CAAC,CAAC;AAClB,KAAC,CAAC,CAAC;AAEH,IAAA,UAAU,CAAC,GAAG,CAAC,qBAAqB,EAAE,KAAK,IAAG;QAC5C,YAAY,CAAC,KAAK,CAAC,CAAC;AACtB,KAAC,CAAC,CAAC;AAEH,IAAA,UAAU,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,IAAG;QACrC,YAAY,CAAC,KAAK,CAAC,CAAC;AACtB,KAAC,CAAC,CAAC;IAEH,SAAS,YAAY,CAAC,KAAU,EAAA;QAC9B,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9C,IAAI,KAAK,EAAE;YACT,MAAM,SAAS,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AAC1E,YAAA,SAAS,CAAC,IAAI,CAAC,IAAI,IAAG;AACpB,gBAAA,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;gBAC7B,IAAI,WAAW,EAAE;oBACf,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBACjD,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;iBACxD;qBAAM;oBACL,WAAW,CAAC,IAAI,CAAC,CAAC;iBACnB;AACH,aAAC,CAAC,CAAC;SACJ;KACF;AAED,IAAA,SAAS,WAAW,CAClB,4BAA4B,EAC5B,OAAO,GAAG,EAAE,oBAAoB,EAAE,KAAK,EAAE,uBAAuB,EAAE,KAAK,EAAE,EAAA;QAEzE,EAAE,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,IAAI,CAAC,mBAAmB,IAC5D,oBAAoB,CAAC,SAAS,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAC9D,CAAC;KACH;IAED,SAAS,SAAS,CAChB,EAAE,KAAK,GAAG,EAAE,EAAE,QAAQ,GAAG,EAAE,EAAE,EAC7B,EAAE,oBAAoB,GAAG,KAAK,EAAE,uBAAuB,GAAG,KAAK,EAAE,EAAA;QAEjE,MAAM,aAAa,GAAG,oBAAoB,GAAG,aAAa,GAAG,yBAAyB,CAAC;QACvF,MAAM,gBAAgB,GAAG,uBAAuB;AAC9C,cAAE,gBAAgB;cAChB,4BAA4B,CAAC;AACjC,QAAA,MAAM,QAAQ,GAAG,CAAA;kCACa,aAAa,CAAA;eAChC,gBAAgB,CAAA;KAC1B,CAAC;QAEF,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5C,QAAA,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;AAC5B,QAAA,aAAa,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAElC,QAAA,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;KAC9D;IAED,SAAS,oBAAoB,CAAC,UAAU,EAAA;AACtC,QAAA,gBAAgB,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;KAC1C;IAED,SAAS,eAAe,CAAC,QAAQ,EAAA;QAC/B,QAAQ,CAAC,IAAI,EAAE,CAAC;AAChB,QAAA,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;KACnC;AAED,IAAA,OAAO,SAAS,CAAC;AACnB;;AC9BA,MAAM,YAAY,GAAG,aAAa,CAAC;AAClC,MAAc,CAAC,mBAAmB,GAAG,IAAI,CAAC;AAE3C,OAAO;AACJ,KAAA,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC;;KAExB,MAAM,CAAC,UAAU,aAAa,EAAA;AAC7B,IAAA,UAAU,CAAC;IAEX,MAAM,mBAAmB,GAAG,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;AACtF,IAAA,IAAI,mBAAmB,GAAG,CAAC,CAAC,EAAE;QAC5B,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;KAC3D;AACD,IAAA,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;AACzD,CAAC,CAAC;AACD,KAAA,SAAS,CAAC,WAAW,EAAE,aAAa,CAAC;AACrC,KAAA,SAAS,CAAC,cAAc,EAAE,qCAAqC,CAAC;AAChE,KAAA,OAAO,CAAC,kBAAkB,EAAE,iCAAiC,CAAC;AAC9D,KAAA,OAAO,CAAC,sBAAsB,EAAE,qCAAqC,CAAC;AACtE,KAAA,OAAO,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;AAClE,KAAA,OAAO,CAAC,kBAAkB,EAAE,iCAAiC,CAAC;AAC9D,KAAA,OAAO,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;;KAElE,OAAO,CAAC,gBAAgB,EAAE,YAAA;IACzB,OAAO,IAAI,WAAW,EAAE,CAAC;AAC3B,CAAC,CAAC;AACD,KAAA,OAAO,CAAC,UAAU,EAAE,iCAAiC,CAAC;AACtD,KAAA,SAAS,CAAC,UAAU,EAAE,iBAAiB,CAAC;AACxC,KAAA,SAAS,CAAC,8BAA8B,EAAE,qCAAqC,CAAC;AAChF,KAAA,OAAO,CAAC,eAAe,EAAE,8BAA8B,CAAC;AACxD,KAAA,OAAO,CAAC,SAAS,EAAE,+BAA+B,CAAC;AACnD,KAAA,OAAO,CAAC,oBAAoB,EAAE,mCAAmC,CAAC;AAClE,KAAA,OAAO,CAAC,iBAAiB,EAAE,gCAAgC,CAAC;AAC5D,KAAA,OAAO,CAAC,qBAAqB,EAAE,oCAAoC,CAAC;AACpE,KAAA,OAAO,CAAC,iBAAiB,EAAE,gCAAgC,CAAC;AAC5D,KAAA,OAAO,CAAC,wBAAwB,EAAE,uCAAuC,CAAC;AAC1E,KAAA,OAAO,CAAC,kCAAkC,EAAE,iDAAiD,CAAC;AAC9F,KAAA,OAAO,CAAC,6BAA6B,EAAE,4CAA4C,CAAC,CAAC;AAExF,OAAO;KACJ,MAAM,CAAC,QAAQ,CAAC;AAChB,KAAA,MAAM,CAAC,cAAc,EAAE,uCAAuC,CAAC;AAC/D,KAAA,SAAS,CAAC,YAAY,EAAE,mCAAmC,CAAC;AAC5D,KAAA,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC;AAC9C,KAAA,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;AACtC,KAAA,SAAS,CAAC,mBAAmB,EAAE,oCAAoC,CAAC;AACpE,KAAA,SAAS,CAAC,uBAAuB,EAAE,8CAA8C,CAAC;AAClF,KAAA,SAAS,CAAC,aAAa,EAAE,oCAAoC,CAAC;AAC9D,KAAA,SAAS,CAAC,iBAAiB,EAAE,wCAAwC,CAAC;AACtE,KAAA,SAAS,CAAC,SAAS,EAAE,gCAAgC,CAAC;AACtD,KAAA,SAAS,CAAC,iBAAiB,EAAE,sCAAsC,CAAC;AACpE,KAAA,SAAS,CAAC,2BAA2B,EAAE,kDAAkD,CAAC;AAC1F,KAAA,SAAS,CAAC,cAAc,EAAE,qCAAqC,CAAC;AAChE,KAAA,SAAS,CAAC,kBAAkB,EAAE,yCAAyC,CAAC;AACxE,KAAA,SAAS,CAAC,YAAY,EAAE,sCAAsC,CAAC;AAC/D,KAAA,SAAS,CAAC,6BAA6B,EAAE,0CAA0C,CAAC;AACpF,KAAA,SAAS,CAAC,8BAA8B,EAAE,4CAA4C,CAAC;AACvF,KAAA,OAAO,CAAC,cAAc,EAAE,oCAAoC,CAAC;AAC7D,KAAA,OAAO,CAAC,kCAAkC,EAAE,iDAAiD,CAAC;AAC9F,KAAA,SAAS,CAAC,gBAAgB,EAAE,uBAAuB,CAAC;AACpD,KAAA,OAAO,CAAC,mBAAmB,EAAE,yCAAyC,CAAC;AACvE,KAAA,OAAO,CAAC,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAC9C,KAAA,OAAO,CAAC,2BAA2B,EAAE,iDAAiD,CAAC;AACvF,KAAA,OAAO,CAAC,sBAAsB,EAAE,qCAAqC,CAAC;AACtE,KAAA,OAAO,CAAC,oBAAoB,EAAE,yBAAyB,CAAC;AACxD,KAAA,OAAO,CAAC,WAAW,EAAE,iCAAiC,CAAC,CAAC;AAE3D,OAAO;KACJ,MAAM,CAAC,QAAQ,CAAC;AAChB,KAAA,SAAS,CAAC,UAAU,EAAE,iBAAiB,CAAC;AACxC,KAAA,GAAG,CAAC;IACH,UAAU;AACV,IAAA,YAAA;;KAEC;AACF,CAAA,CAAC,CAAC;MAEQ,iBAAiB,GAAG,CAAC,KAAK,EAAE,YAAY;;MChI/B,eAAe,CAAA;AAArC,IAAA,WAAA,GAAA;QACE,IAAU,CAAA,UAAA,GAAG,iBAAiB,CAAC;KAOhC;IAJC,aAAa,GAAA;QACV,MAAc,CAAC,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;KAC9F;AACF;;ACTM,MAAM,cAAc,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE;;MCQ3D,sBAAsB,CAAA;AAUjC,IAAA,WAAA,GAAA;AALQ,QAAA,IAAA,CAAA,WAAW,GAAQ,MAAM,CAAC,WAAkB,CAAC,CAAC;AAC9C,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AACtB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,IAAuB,CAAA,uBAAA,GAAG,MAAM,CAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAGpF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KACjD;AAED,IAAA,IAAI,aAAa,GAAA;QACf,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;KAC9C;AAED,IAAA,MAAM,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAA;QACxC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QAC7C,IAAI,SAAS,EAAE;YACb,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CACxE,IAAI,CAAC,YAAY,CAAC,aAAa,IAAI,OAAO,EAC1C,SAAS,EACT,KAAK,CACN,CAAC;AACF,YAAA,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,IAAI,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,YAAY,EAAE;AACrF,gBAAA,MAAM,IAAI,CAAC,YAAY,CAAC,8BAA8B,CACpD,IAAI,CAAC,YAAY,CAAC,aAAa,IAAI,OAAO,EAC1C,gBAAgB,CAAC,MAAM,CACxB,CAAC;aACH;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,MACjC,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAC7D,CAAC;SACH;aAAM;YACL,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;SACjD;KACF;IAED,yBAAyB,CAAC,OAAO,EAAE,YAAiC,EAAA;QAClE,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;KAC7D;AAEO,IAAA,YAAY,CAAC,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAA;AAC5D,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5D,QAAA,KAAK,CAAC,KAAK,GAAG,gBAAgB,CAAC;AAC/B,QAAA,KAAK,CAAC,gBAAgB,GAAG,OAAO,CAAC;AACjC,QAAA,IAAI,KAAK,CAAC,eAAe,EAAE;YACzB,OAAO,CAAC,SAAS,GAAG,CAAA,mCAAA,EAAsC,KAAK,CAAC,eAAe,yEAAyE,CAAC;SAC1J;AAAM,aAAA,IAAI,KAAK,CAAC,WAAW,EAAE;YAC5B,OAAO,CAAC,SAAS,GAAG,CAAA,kBAAA,EAAqB,KAAK,CAAC,WAAW,kBAAkB,CAAC;SAC9E;QACD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;AAC7B,QAAA,OAAO,KAAK,CAAC;KACd;IAEO,YAAY,GAAA;AAClB,QAAA,OAAO,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;KAC/D;AAEO,IAAA,kBAAkB,CACxB,OAAO,EACP,YAAiC,EACjC,kBAAkB,GAAG,KAAK,EAAA;AAE1B,QAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,YAAY,CAAC;AAClC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE5D,QAAA,KAAK,CAAC,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC;AAClD,QAAA,KAAK,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;AACrC,QAAA,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC;AAC5B,QAAA,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;QACjB,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,YAAY,EAAE,sBAAsB,CAAC,CAAC;QAE5D,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,kBAAkB,EAAE;AACvB,YAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,eAAe,EAAE;gBACzC,SAAS,GAAG,sCAAsC,YAAY,CAAC,QAAQ,CAAC,eAAe,wCAAwC,CAAC;aACjI;AAAM,iBAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,iBAAiB,EAAE;gBAClD,SAAS,GAAG,qBAAqB,YAAY,CAAC,QAAQ,CAAC,iBAAiB,kBAAkB,CAAC;aAC5F;SACF;QAED,OAAO,CAAC,SAAS,GAAG,CAAA;;;;;;;QAOhB,SAAS,CAAA;eACF,CAAC;AAEZ,QAAA,KAAK,CAAC,MAAM,CAAC,8BAA8B,EAAE,UAAU,IAAG;AACxD,YAAA,IAAI,CAAC,uBAAuB,CAAC,YAAY,GAAG,UAAU,CAAC;AACzD,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC;AAC7B,QAAA,IAAI,CAAC,uBAAuB,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC;AAE/E,QAAA,OAAO,KAAK,CAAC;KACd;+GAvGU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,cADT,MAAM,EAAA,CAAA,CAAA,EAAA;;4FACnB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;MCQrB,eAAe,CAAA;AAO1B,IAAA,WAAA,CACsB,SAAoC,EAChD,sBAA8C,EAC9C,EAAc,EAAA;QAFF,IAAS,CAAA,SAAA,GAAT,SAAS,CAA2B;QAChD,IAAsB,CAAA,sBAAA,GAAtB,sBAAsB,CAAwB;QAC9C,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QALP,IAAsC,CAAA,sCAAA,GAAG,GAAG,CAAC;KAM1D;IAEJ,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACvC,QAAA,OAAO,IAAI,CAAC;KACb;AAED,IAAA,MAAM,QAAQ,GAAA;AACZ,QAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,YAAA,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;gBACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;aACxC;YACD,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CACpE,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,EAAE,CAAC,aAAa,CACtB,CAAC;AACF,YAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,gBAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;AACvF,qBAAA,IAAI,CAACC,cAAY,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;qBAC/D,SAAS,CAAC,MAAK;AACd,oBAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;AAC9C,iBAAC,CAAC,CAAC;aACN;SACF;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;SAC1B;AACD,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,YAAA,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;SACvC;KACF;+GA5CU,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,yBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,eAAe,yDAHhB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FAGD,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA,CAAA;;0BASI,QAAQ;;;MCjBA,6BAA6B,CAAA;IAIxC,WACU,CAAA,sBAA8C,EAC9C,EAAc,EAAA;QADd,IAAsB,CAAA,sBAAA,GAAtB,sBAAsB,CAAwB;QAC9C,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;KACpB;AAEJ,IAAA,MAAM,QAAQ,GAAA;AACZ,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,yBAAyB,CACnE,IAAI,CAAC,EAAE,CAAC,aAAa,EACrB,IAAI,CAAC,MAAM,CACZ,CAAC;KACH;IAED,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;AACjB,YAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;SAC1B;KACF;+GApBU,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA7B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,6BAA6B,kEAH9B,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FAGD,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBALzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,4BAA4B;AACtC,oBAAA,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAChD,iBAAA,CAAA;;;MCMY,0BAA0B,CAAA;AAErC,IAAA,WAAA,CAAoB,MAA8B,EAAA;QAA9B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAwB;AAChD,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAC3B,SAAS,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC,EACrC,WAAW,CAAC,CAAC,CAAC,EACd,IAAI,CAAC,CAAC,CAAC,CACR,CAAC;KACH;IAED,GAAG,GAAA;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;KACzB;AAEO,IAAA,MAAM,aAAa,GAAA;QACzB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAC7D,MAAM,UAAU,GAAiC,aAAa,CAAC,GAAG,CAAC,GAAG,IAAG;YACvE,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,YAAA,IAAI,GAAG,CAAC,OAAO,EAAE,mBAAmB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,mBAAmB,CAAC,EAAE;gBACvF,GAAG,CAAC,OAAO,EAAE,mBAAmB,CAAC,OAAO,CACtC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC,GAAG,yBAAgC,CAAC,CACrE,CAAC;aACH;AACD,YAAA,IACE,GAAG,CAAC,OAAO,EAAE,uBAAuB;gBACpC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,uBAAuB,CAAC,EACnD;gBACA,GAAG,CAAC,OAAO,EAAE,uBAAuB,CAAC,OAAO,CAC1C,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC,GAAG,4BAAmC,CAAC,CACxE,CAAC;aACH;AACD,YAAA,MAAM,IAAI,GAAG;AACX,gBAAA,QAAQ,EAAE;oBACR,GAAG,GAAG,CAAC,OAAO;oBACd,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;oBACxC,eAAe,EAAE,GAAG,CAAC,eAAe;oBACpC,eAAe,EAAE,GAAG,CAAC,eAAe;AACpC,oBAAA,0BAA0B,EACxB,GAAG,CAAC,0BAA0B,IAAI,GAAG,CAAC,mCAAmC;AAC3E,oBAAA,OAAO,EAAE,IAAI;AACd,iBAAA;aACK,CAAC;YACT,IAAI,CAAC,QAAQ,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;AAC5C,YAAA,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,eAAe,CAAC;YAE3C,OAAO;gBACL,EAAE,EAAE,GAAG,CAAC,IAAI;AACZ,gBAAA,KAAK,EAAE,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,IAAI;gBAClC,WAAW,EAAE,GAAG,CAAC,WAAW;AAC5B,gBAAA,SAAS,EAAE,eAAe;AAC1B,gBAAA,eAAe,EAAE,eAAe;gBAChC,YAAY,EAAE,GAAG,CAAC,YAAY;gBAC9B,aAAa,EAAE,GAAG,CAAC,aAAa;gBAChC,OAAO;gBACP,IAAI;aACyB,CAAC;AAClC,SAAC,CAAC,CAAC;;QAGH,UAAU,CAAC,IAAI,CAAC;AACd,YAAA,EAAE,EAAE,wBAAwB;AAC5B,YAAA,KAAK,EAAE,iBAAiB;AACxB,YAAA,WAAW,EAAE,EAAE;AACf,YAAA,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;AACzD,YAAA,SAAS,EAAE,6BAA6B;AACzC,SAAA,CAAC,CAAC;AAEH,QAAA,OAAO,UAAU,CAAC;KACnB;+GApEU,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,sBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;mHAA1B,0BAA0B,EAAA,CAAA,CAAA,EAAA;;4FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC,UAAU;;;MCCE,sBAAsB,CAAA;+GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;gHAAtB,sBAAsB,EAAA,YAAA,EAAA,CAJlB,6BAA6B,EAAE,eAAe,aACnD,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;AAGpD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,EAFtB,SAAA,EAAA,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC,EAAA,OAAA,EAAA,CAD5C,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAGpD,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBALlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,6BAA6B,EAAE,eAAe,CAAC;AAC9D,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,CAAC;AAChE,oBAAA,SAAS,EAAE,CAAC,aAAa,CAAC,0BAA0B,CAAC,CAAC;AACvD,iBAAA,CAAA;;;ACZD;;AAEG;;;;"}
1
+ {"version":3,"file":"c8y-ngx-components-upgrade.mjs","sources":["../../upgrade/absolute-date.service.ts","../../upgrade/ng1/views.provider.ts","../../upgrade/bridge.service.ts","../../upgrade/action-bar.factory.ts","../../upgrade/action.factory.ts","../../upgrade/auth-bridge.service.ts","../../upgrade/breadcrumb.factory.ts","../../upgrade/docs.factory.ts","../../upgrade/nodes.factory.ts","../../upgrade/smart-rules.service.ts","../../upgrade/tabs.factory.ts","../../upgrade/upgrade.module.ts","../../upgrade/ng1/alert.decorator.ts","../../upgrade/ng1/downgraded.components.ts","../../upgrade/ng1/serverMessages.service.ts","../../upgrade/ng1/downgraded.services.ts","../../upgrade/ng1/gettextCatalog.decorator.ts","../../upgrade/ng1/groupsHierarchyNavigator.decorator.ts","../../upgrade/ng1/http.interceptor.ts","../../upgrade/ng1/navigator-node-root-legacy.ts","../../upgrade/ng1/navigator.provider.ts","../../upgrade/ng1/root.component.ts","../../upgrade/ng1/title.decorator.ts","../../upgrade/ng1/index.ts","../../upgrade/hybrid-app.module.ts","../../upgrade/upgrade.routes.ts","../../upgrade/dashboard/dashboard-bridge.service.ts","../../upgrade/dashboard/widget.component.ts","../../upgrade/dashboard/device-selector.component.ts","../../upgrade/dashboard/component.factory.ts","../../upgrade/dashboard/dashboard-upgrade.module.ts","../../upgrade/c8y-ngx-components-upgrade.ts"],"sourcesContent":["import { DatePipe } from '@c8y/ngx-components';\n\nexport class AbsoluteDateService {\n constructor(private datePipe: DatePipe) {}\n getFilter() {\n return (value: any, format = 'medium', timezone?: string, locale?: string) =>\n this.datePipe.transform(value, format, timezone, locale);\n }\n}\nexport function absoluteDateServiceFactory(datePipe: DatePipe) {\n return new AbsoluteDateService(datePipe).getFilter();\n}\nexport const absoluteDateServiceProvider = {\n provide: AbsoluteDateService,\n useFactory: absoluteDateServiceFactory,\n deps: [DatePipe]\n};\n","import { ViewContext } from '@c8y/ngx-components';\nimport { find, forEach, map, startsWith, unary } from 'lodash-es';\nimport { ReplaySubject } from 'rxjs';\n\nexport enum ViewContextLegacyParameter {\n Device = 'deviceId',\n Group = 'groupId',\n User = 'userId',\n Application = 'applicationId',\n Microservice = 'applicationId',\n SubscribedApplications = 'applicationId',\n Tenant = 'tenantId',\n Service = 'deviceId', // use 'deviceId' as parameter name so that device views (Measurements, Events, Alarms) can be reused for service\n Simulators = 'deviceId' // required to hook the Alarms tab to a Simulator view\n}\n\nfunction c8yViewsProvider($routeProvider, c8yTabsProvider, c8yPathUtils) {\n 'ngInject';\n\n const viewMap = {};\n const contextViews = new ReplaySubject();\n\n return {\n when,\n $get() {\n return {\n contextViews,\n when(path, cfg) {\n return when(path, cfg, true);\n },\n getByPath,\n prefixWithSlash\n };\n }\n };\n\n /**\n * @ngdoc function\n * @name when\n * @methodOf c8y.ui.provider:c8yViewsProvider\n *\n * @description\n * Defines a view for given route.\n * If multiple views are defined for a single route then there will be a separate tab for each view available when user visits that route.\n *\n * @param path Target route.\n * @param cfg View configuration object with the following properties:\n *\n * - **name** - `string` - View's name (in case of multiple views at single route this will be displayed as tab's title).\n * - **priority** - `integer` - View's priority (in case of multiple views at single route this will determine the position of view's tab in the tabs stack).\n * - **icon** - `string` - Font Awesome icon name for the view (displayed on the tab's header).\n * - **showIf** - `function` - Function returning boolean value indicating whether to show a tab for the view or not.\n * - **templateUrl** - `string` - Path to the template to use for displaying the view.\n *\n * You can also provide other view options - the same as available for standard {@link https://docs.angularjs.org/api/ngRoute/provider/$routeProvider $routeProvider} in AngularJS.\n *\n * ```html\n * The following example demonstrates how to add a new view to device details route\n * (which will be displayed as a tab if other views are assigned to the same route):\n * <pre>\n * c8yViewsProvider.when('/device/:deviceId', {\n * name: 'Tracking',\n * templateUrl: ':::PLUGIN_PATH:::/views/index.html',\n * icon: 'crosshairs',\n * showIf: ['$routeParams', 'c8yDevices', function ($routeParams, c8yDevices) {\n * var deviceId = $routeParams.deviceId;\n * return c8yDevices.detailCached(deviceId).then(function (res) {\n * var device = res.data;\n * return device && (device.c8y_MotionTracking || device.c8y_Geofence);\n * });\n * }]\n * });\n * </pre>\n * ```\n */\n function when(path, cfg, runPhase) {\n const newPath = prefixWithSlash(path);\n cfg.resolve = cfg.resolve || {};\n // eslint-disable-next-line no-underscore-dangle\n cfg.resolve.__c8y_locales = [\n 'c8yLocales',\n c8yLocales => {\n return c8yLocales.initDone;\n }\n ];\n\n let currentCfg = viewMap[newPath];\n const originalPath = newPath;\n\n if (!cfg.name) {\n // console.warn('View name not defined');\n }\n\n if (!currentCfg) {\n viewMap[newPath] = [];\n currentCfg = viewMap[newPath];\n }\n\n const upgradedContext = Object.keys(ViewContext)\n .map(key => ({\n key,\n isUpgrade:\n prefixWithSlash(ViewContext[key].replace('id', ViewContextLegacyParameter[key])) === path\n }))\n .find(({ isUpgrade }) => isUpgrade);\n\n if (upgradedContext) {\n currentCfg.push(cfg);\n cfg.path = newPath;\n\n const p = c8yPathUtils.appendSegment(originalPath.replace(path, ''), cfg.name);\n contextViews.next({\n ...cfg,\n path: cfg.name ? p.substring(1) : '',\n contextKey: upgradedContext.key,\n runPhase\n });\n cfg.showIf = undefined;\n if (cfg.name) {\n cfg.path = c8yPathUtils.appendSegment(originalPath, cfg.name);\n }\n } else {\n if (currentCfg.length === 1) {\n const [existingConfig] = currentCfg;\n existingConfig.path = c8yPathUtils.appendSegment(originalPath, existingConfig.name);\n existingConfig.tab = createTab(originalPath, existingConfig);\n $routeProvider.when(existingConfig.path, existingConfig);\n }\n\n currentCfg.push(cfg);\n cfg.path = newPath;\n\n if (currentCfg.length > 1) {\n cfg.path = c8yPathUtils.appendSegment(originalPath, cfg.name);\n createTab(originalPath, cfg);\n\n $routeProvider.when(prefixWithSlash(originalPath), {\n resolveRedirectTo($route, $q, c8yUiUtil, c8yTabs, gettextCatalog) {\n 'ngInject';\n\n const sortedCurrentCfg = c8yTabsProvider.sortTabsViews(currentCfg, gettextCatalog);\n const params = $route.current.pathParams;\n\n return $q\n .all(map(sortedCurrentCfg, unary(c8yUiUtil.configureVisibility)))\n .then(views => {\n const first = find(views, 'show');\n let url = first.path;\n forEach(params, (val, key) => {\n url = url.replace(`:${key}`, val);\n });\n c8yTabs.redirectedViewPath = url;\n return url;\n });\n }\n });\n }\n }\n return $routeProvider.when(prefixWithSlash(cfg.path), cfg);\n }\n\n function getByPath(path) {\n return viewMap[prefixWithSlash(path)];\n }\n\n function createTab(path, cfg) {\n c8yTabsProvider.addTab(path, cfg);\n }\n\n function prefixWithSlash(path) {\n const prefix = startsWith(path, '/') ? '' : '/';\n return prefix + path;\n }\n}\n\nexport { c8yViewsProvider };\n","import {\n Action,\n ActionBarItem,\n ActionService,\n AppStateService,\n Breadcrumb,\n BreadcrumbItem,\n DocLink,\n EmptyComponent,\n gettext,\n PluginsResolveService,\n RouterService,\n Search,\n Tab,\n ViewContext\n} from '@c8y/ngx-components';\nimport { isArray } from 'lodash-es';\nimport {\n BehaviorSubject,\n combineLatest,\n from,\n fromEventPattern,\n merge,\n Observable,\n of,\n Subject\n} from 'rxjs';\nimport { debounceTime, filter, map, startWith, switchMap, take } from 'rxjs/operators';\n\nimport { NgZone } from '@angular/core';\nimport { ActivatedRouteSnapshot, ActivationEnd, ResolveEnd, Router } from '@angular/router';\nimport { ViewContextLegacyParameter } from './ng1/views.provider';\n\nexport class BridgeService {\n $routeChanges: Observable<any>;\n $ng1RouteChangeSuccess: Observable<any>;\n $ng1RouteChangeStart: Observable<any>;\n $liveTabs: Subject<Tab[]> = new BehaviorSubject([]);\n navigationNodes$: Observable<any>;\n constructor(\n public injector: any,\n private appState: AppStateService,\n public router: Router,\n private ngZone: NgZone,\n private routerService: RouterService,\n private actionService: ActionService,\n plugins: PluginsResolveService\n ) {\n this.fixE2eIssues();\n this.$ng1RouteChangeSuccess = this.fromNg1Event(\n this.injector.get('$rootScope'),\n '$routeChangeSuccess'\n );\n this.$ng1RouteChangeStart = this.fromNg1Event(\n this.injector.get('$rootScope'),\n '$routeChangeStart'\n );\n this.hookLanguage();\n this.hookTab();\n this.hookNavigator();\n this.hookUserMenu();\n this.hookViewProvider();\n this.hookRoute();\n plugins.allPluginsLoaded$\n .pipe(\n filter(tmp => !!tmp),\n take(1)\n )\n .subscribe(() => {\n this.router.initialNavigation();\n });\n this.ng1Routes();\n }\n\n /**\n * Ensure that angularjs routes are not using any\n * secondary router outlets\n */\n hookRoute() {\n this.router.events\n .pipe(\n filter(event => event instanceof ResolveEnd),\n map((event: ResolveEnd) => event.state.root.firstChild),\n filter(route => route && route.routeConfig && route.routeConfig.path === '**')\n )\n .subscribe((event: ActivatedRouteSnapshot) => {\n if (event.root.children.length > 1) {\n window.location.hash = event.root.children[0].url.toString();\n }\n });\n }\n\n hookViewProvider() {\n const c8yViews = this.injector.get('c8yViews');\n // fix to trigger an angularjs route change success\n // event on context route match to make legacy\n // view-providers resolve.\n c8yViews.when('/device/:id', {\n template: ''\n });\n c8yViews.when('/group/:id', {\n template: ''\n });\n c8yViews.contextViews.subscribe(cfg => this.addRoute(cfg));\n }\n\n addRoute(cfg) {\n this.routerService.addRoute({\n label: cfg.label || cfg.name,\n path: cfg.path,\n icon: cfg.icon,\n context: ViewContext[cfg.contextKey] as ViewContext,\n priority: cfg.priority,\n component: EmptyComponent,\n data: {\n showIf: cfg.showIf\n ? ngxRoute => {\n const params = {\n ...ngxRoute.params,\n [ViewContextLegacyParameter[cfg.contextKey]]: ngxRoute.params.id\n };\n const showIfResult = this.injector.invoke(cfg.showIf, undefined, {\n $routeParams: params\n });\n // make sure showIf result is a promise with boolean result:\n return this.injector.get('$q').when(showIfResult).then(Boolean);\n }\n : undefined\n },\n ...(cfg.featureId && { featureId: cfg.featureId })\n });\n\n if (cfg.runPhase) {\n this.routerService.refresh();\n }\n }\n\n ng1Routes() {\n const template = '';\n const fallbackRoutes = [];\n\n // tslint:disable-next-line: forin\n for (const context in ViewContext) {\n const path = ViewContext[context].match(/(\\w+)\\//)[1];\n const regexp = new RegExp(`^/${path}/(?:([^/]+)).*$`);\n fallbackRoutes.push({\n keys: [{ name: ViewContextLegacyParameter[context], optional: false }],\n regexp,\n template\n });\n }\n\n /**\n * When asset detail routes (/device/:id, /group/:id) are matched in Angular Router, ngRoute in\n * angular.js must also have matching generic routes so that the ids can be extracted from the paths and\n * injected in multiple calls (showIf, c8yActions, etc) as properties of $routeParams.\n *\n * The function in src/ngRoute/route.js (angular.js) where the routes are matched is called parseRoute(). This\n * function calls angular.forEach and in turn this function checks for the presence of a forEach method before\n * trying object key iteration.\n * By attaching a non enumerable forEach method to the routes object we guarantee that the fallback generic routes\n * are only matched after any other registered through $routeProvider.when.\n */\n const $route = this.injector.get('$route');\n Object.defineProperty($route.routes, 'forEach', {\n // make non enumerable\n value: function forEach(iterator, context) {\n // tslint:disable-next-line: forin\n for (const key in this) {\n iterator.call(context, this[key], key, this);\n }\n fallbackRoutes.forEach(r => iterator.call(context, r));\n },\n configurable: true\n });\n\n /**\n * Some functions use the current context. As some parts are upgraded and some not, the following updates the\n * angularjs getContext function to resolve always the right context.\n */\n const c8yUiUtil = this.injector.get('c8yUiUtil');\n const _getContext = c8yUiUtil.getContext;\n this.router.events\n .pipe(filter(event => event instanceof ActivationEnd))\n .subscribe((event: ActivationEnd) => {\n if (event.snapshot.routeConfig.path === '**') {\n c8yUiUtil.getContext = _getContext;\n } else if (event.snapshot.data && event.snapshot.data.context) {\n c8yUiUtil.getContext = () => {\n return {\n context: event.snapshot.data.context.replace('/:id', ''),\n id: event.snapshot.data.contextData.id,\n contextData: event.snapshot.data.contextData\n };\n };\n } else {\n c8yUiUtil.getContext = () => ({ context: null, id: null });\n }\n });\n }\n\n fixE2eIssues() {\n try {\n const { ngZone } = this;\n const { Utils } = (window as any).org.cometd;\n const timeoutFn = Utils.setTimeout;\n // tslint:disable-next-line:only-arrow-functions\n Utils.setTimeout = function (...args) {\n return ngZone.runOutsideAngular(() => timeoutFn.apply(Utils, args));\n };\n } catch (e) {\n // do nothing\n }\n\n try {\n const { ace } = window as any;\n const editFn = ace.edit;\n const { ngZone } = this;\n // tslint:disable-next-line:only-arrow-functions\n ace.edit = function (...args) {\n return ngZone.runOutsideAngular(() => editFn.apply(ace, args));\n };\n } catch (e) {\n // do nothing\n }\n }\n\n hookLanguage() {\n let first = true;\n this.appState\n .map(store => store.lang)\n .subscribe(lang => {\n this.injector.get('c8yLocales').switchToLanguage(lang);\n if (!first) {\n this.injector.get('$rootScope').$apply();\n }\n first = false;\n });\n }\n\n hookTab() {\n // Just for instantiation of the c8yAction service\n this.injector.get('c8yActions');\n const $location = this.injector.get('$location');\n const c8yTabs = this.injector.get('c8yTabs');\n let liveTabs = [];\n c8yTabs.addTab = tab => {\n liveTabs.push({\n ...tab,\n label: tab.label || tab.name,\n path: decodeURIComponent(tab.path)\n });\n this.$liveTabs.next(liveTabs);\n };\n this.$ng1RouteChangeStart.subscribe(() => {\n liveTabs = [];\n this.$liveTabs.next(liveTabs);\n });\n this.$ng1RouteChangeSuccess.subscribe(() => {\n const path = $location.path();\n if (this.router.url !== path) {\n this.router.navigate(path === '/' ? '' : path.split('/'), {\n queryParams: $location.search(),\n skipLocationChange: true\n });\n }\n if (this.actionService) {\n this.actionService.refresh();\n }\n });\n this.$routeChanges = merge(\n this.$ng1RouteChangeSuccess,\n this.fromNg1Event(c8yTabs, c8yTabs.EVENT_UPDATE),\n of(1)\n ).pipe(debounceTime(100));\n }\n\n hookNavigator() {\n this.navigationNodes$ = this.injector.get('c8yNavigator').rootNodes$;\n }\n\n getTabs(): Observable<any> {\n const onlyVisible = ({ show }) => show;\n const upgradeTab = tab => ({\n ...tab,\n label: tab.label || tab.name,\n path: decodeURIComponent(tab.path)\n });\n const routeTabs = this.$routeChanges.pipe(\n switchMap(() => {\n const routes = this.injector.get('c8yTabs').routeTabs;\n const visibilityPromise = Promise.all(\n routes.map(({ checkingVisibility }) => checkingVisibility)\n );\n return visibilityPromise.then(() => routes.filter(onlyVisible).map(upgradeTab));\n }),\n startWith([])\n );\n return combineLatest([routeTabs, this.$liveTabs]).pipe(\n map(([route, live]) => route.concat(live))\n );\n }\n\n getQuickLinks(): Promise<DocLink[]> {\n const c8yQuickLinks = this.injector.get('c8yQuickLinks');\n return c8yQuickLinks.list();\n }\n\n getActionBarItems(): Observable<ActionBarItem> {\n const c8yActionBar = this.injector.get('c8yActionBar');\n const $rootScope = this.injector.get('$rootScope');\n const getActionBarElements = () =>\n c8yActionBar.elements.map(element => ({\n priority: element.getAttribute('action-bar-priority') || 0,\n template: element,\n placement: element.getAttribute('action-bar-position') || 'right'\n }));\n return this.fromNg1Event($rootScope, 'c8yActionBarChanged').pipe(\n startWith(1),\n map(getActionBarElements)\n );\n }\n\n getBreadcrumbs(): Observable<Breadcrumb[]> {\n const $location = this.injector.get('$location');\n const c8yBreadcrumbs = this.injector.get('c8yBreadcrumbs');\n const breadcrumbsUpdate$ = new Observable(subscriber =>\n c8yBreadcrumbs.$on('update', () => subscriber.next())\n );\n return breadcrumbsUpdate$.pipe(\n startWith(0),\n switchMap(() => {\n const path = $location.path();\n const breadcrumbs = c8yBreadcrumbs.get(path) || {};\n const breadcrumbsData = this.resolveBreadcrumbsData(breadcrumbs.data);\n return from(breadcrumbsData).pipe(\n map((value: any[]) => {\n const liveBreadcrumbs = c8yBreadcrumbs.getLiveBreadcrumbs();\n value = value.concat(liveBreadcrumbs);\n return value.map(items => ({ items: items as BreadcrumbItem[] }) as Breadcrumb);\n })\n );\n })\n );\n }\n\n resolveBreadcrumbsData(data): Observable<any[]> {\n try {\n return this.injector.invoke(data);\n } catch (ex) {\n // empty\n }\n if (isArray(data)) {\n return of([data]);\n }\n return of([]);\n }\n\n getSearch(): Search[] {\n const c8ySearch = this.injector.get('c8ySearch');\n return c8ySearch.list().map(item => {\n return {\n icon: 'search',\n name: item.name,\n term: '',\n onSearch() {\n if (this.term) {\n c8ySearch.search(this.term);\n }\n }\n } as Search;\n });\n }\n\n getActions(): Observable<Action> {\n const registeredActions = this.injector.get('c8yActions').registeredActions;\n return of(\n registeredActions\n .filter(action => !action.hidden)\n .map(action => ({\n // The priority was reversed: Aligned it to dashboard, high first, low last.\n priority: (action.priority || 0) * -1,\n label: action.text,\n icon: action.icon,\n disabled: action.disabled,\n action: () => {\n this.injector.invoke(action.action, action);\n }\n }))\n );\n }\n\n fromNg1Event(obj, evt) {\n let stopListening;\n function add(handler) {\n stopListening = obj.$on(evt, handler);\n }\n return fromEventPattern(add, () => stopListening());\n }\n\n private hookUserMenu() {\n const userMenuService = this.injector.get('c8yUserMenuService');\n const c8yAccessDenied = this.injector.get('c8yAccessDenied');\n userMenuService.add({\n icon: 'access',\n priority: 10,\n label: gettext('Access denied requests'),\n click: c8yAccessDenied.showAccessDeniedRequestsList\n });\n }\n}\n\nexport function bridgeServiceFactory(\n injector: any,\n appState: AppStateService,\n router: Router,\n ngZone: NgZone,\n routerService: RouterService,\n actionService: ActionService,\n plugins: PluginsResolveService\n) {\n return new BridgeService(\n injector,\n appState,\n router,\n ngZone,\n routerService,\n actionService,\n plugins\n );\n}\n\nexport const bridgeServiceProvider = {\n provide: BridgeService,\n useFactory: bridgeServiceFactory,\n deps: [\n '$injector',\n AppStateService,\n Router,\n NgZone,\n RouterService,\n ActionService,\n PluginsResolveService\n ]\n};\n","import { Injectable } from '@angular/core';\nimport { ActionBarFactory, ActionBarItem } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\nimport { Observable } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\n\n@Injectable()\nexport class Ng1ActionBarFactoryService implements ActionBarFactory {\n routeChanges$: Observable<any>;\n $ng1RouteChangeSuccess: Observable<any>;\n constructor(private bridge: BridgeService) {\n this.routeChanges$ = bridge.$routeChanges;\n this.$ng1RouteChangeSuccess = bridge.$ng1RouteChangeSuccess;\n }\n\n get(): Observable<ActionBarItem> {\n return this.routeChanges$.pipe(\n switchMap(() => {\n return this.bridge.getActionBarItems();\n })\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ActionFactory, TabsService } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\nimport { Observable } from 'rxjs';\n\n@Injectable()\nexport class Ng1ActionFactoryService implements ActionFactory {\n routeChanges$: Observable<any>;\n $location: any;\n constructor(private bridge: BridgeService, private tabs: TabsService) {\n this.routeChanges$ = bridge.$routeChanges;\n this.$location = bridge.injector.get('$location');\n this.tabs.items$.subscribe(newTabs => this.handleTabsRedirect(newTabs));\n }\n\n handleTabsRedirect(tabs) {\n /**\n * This function is doing the same process as function redirect in the file\n * modules/core/ui/navigation/tabs.provider.js\n * That function is not run because bridge.service.ts overrides the method addTab where the redirect() was called.\n */\n const redirectedTab = tabs.find(tab => tab.redirectedTo);\n const [topPriorityTab] = tabs;\n if (redirectedTab && !topPriorityTab.redirectedTo) {\n this.$location.replace();\n this.$location.path(topPriorityTab.path);\n topPriorityTab.redirectedTo = true;\n redirectedTab.redirectedTo = false;\n }\n }\n\n get() {\n return this.bridge.getActions();\n }\n}\n","import { AppStateService, TenantUiService } from '@c8y/ngx-components';\nimport { BasicAuth, FetchClient, ICredentials } from '@c8y/client';\n\nexport class AuthBridgeService {\n constructor(\n public injector: any,\n private basicAuth: BasicAuth,\n private fetchClient: FetchClient,\n private appState: AppStateService,\n private tenantUiService: TenantUiService\n ) {\n this.hookAuth();\n }\n\n updateBasicAuth(credentials: ICredentials) {\n const { headers } = this.fetchClient.getFetchOptions({});\n if (headers.Authorization) {\n const token = headers.Authorization.match(/basic\\s(.*)$/i)[1];\n if (token) {\n this.basicAuth.updateCredentials(credentials);\n this.fetchClient.setAuth(this.basicAuth);\n }\n }\n }\n\n hookAuth() {\n this.appState.currentUser.subscribe(user => {\n if (!user) {\n this.injector.get('$rootScope').$emit('authStateChange', { hasAuth: false });\n return;\n }\n this.injector.get('c8yAuth').headers = () => this.fetchClient.getFetchOptions({}).headers;\n const { headers } = this.fetchClient.getFetchOptions({});\n const authorizationHeader = headers.Authorization;\n if (typeof authorizationHeader === 'string' && authorizationHeader.startsWith('Basic')) {\n const matches = authorizationHeader.match(/basic\\s(.*)$/i);\n const token = matches && matches[1];\n if (token) {\n this.setToken(token, headers.tfatoken);\n }\n } else if (\n typeof authorizationHeader === 'string' &&\n authorizationHeader.startsWith('Bearer')\n ) {\n this.setToken(undefined, headers.tfatoken, 'Bearer');\n } else {\n this.setToken(undefined, headers.tfatoken, 'Oauth');\n }\n this.injector.get('$rootScope').$emit('authStateChange', { hasAuth: true });\n });\n }\n\n setToken(token?: string, tfa?: string, type = 'Basic') {\n const c8yAuth = this.injector.get('c8yAuth');\n if (type === 'Basic') {\n c8yAuth.onSetToken({ token, type });\n if (tfa) {\n c8yAuth.setTFAToken(tfa);\n }\n } else {\n c8yAuth.authReady();\n }\n }\n\n getPreferredLoginOption() {\n return this.tenantUiService.getPreferredLoginOption(this.appState.state.loginOptions);\n }\n}\n\nexport function authBridgeServiceFactory(\n injector: any,\n basicAuth: BasicAuth,\n fetchClient: FetchClient,\n appState: AppStateService,\n tenantUiService: TenantUiService\n) {\n return new AuthBridgeService(injector, basicAuth, fetchClient, appState, tenantUiService);\n}\n\nexport const authBridgeServiceProvider = {\n provide: AuthBridgeService,\n useFactory: authBridgeServiceFactory,\n deps: ['$injector', BasicAuth, FetchClient, AppStateService, TenantUiService]\n};\n","import { Injectable } from '@angular/core';\nimport { BreadcrumbFactory } from '@c8y/ngx-components';\nimport { ReplaySubject } from 'rxjs';\nimport { debounceTime, switchMap } from 'rxjs/operators';\nimport { BridgeService } from './bridge.service';\n\n@Injectable()\nexport class Ng1BreadcrumbFactoryService implements BreadcrumbFactory {\n private trigger: any = new ReplaySubject(1);\n private breadcrumbs = this.trigger.pipe(\n debounceTime(100),\n switchMap(() => {\n return this.bridge.getBreadcrumbs();\n })\n );\n constructor(private bridge: BridgeService) {}\n\n get() {\n this.trigger.next();\n return this.breadcrumbs;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { DocLink, ExtensionFactory } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\n\n@Injectable()\nexport class Ng1DocsFactoryService implements ExtensionFactory<DocLink> {\n private links: Promise<DocLink[]>;\n constructor(private bridge: BridgeService) {\n this.links = this.bridge.getQuickLinks();\n this.links.then(list => {\n list.map(el => {\n el.type = el.type || 'quicklink';\n return el;\n });\n });\n }\n\n get() {\n return this.links;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { NavigatorNodeFactory } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\n\n@Injectable()\nexport class Ng1NodesFactoryService implements NavigatorNodeFactory {\n constructor(private bridge: BridgeService) {}\n\n get() {\n return this.bridge.navigationNodes$;\n }\n}\n","export abstract class Ng1SmartRulesService {\n abstract permissionsCfgs;\n abstract addNewForOutputOperationWithUI(operation);\n abstract addNewForInputAlarmAndOutputUserWithUI(alarm, user);\n}\n\nexport function SmartRulesServiceFactory(injector: any) {\n return injector.get('smartRulesSvc');\n}\n\nexport const smartRulesServiceProvider = {\n provide: Ng1SmartRulesService,\n useFactory: SmartRulesServiceFactory,\n deps: ['$injector']\n};\n","import { Injectable } from '@angular/core';\nimport { TabFactory } from '@c8y/ngx-components';\nimport { BridgeService } from './bridge.service';\n\n@Injectable()\nexport class Ng1TabsFactoryService implements TabFactory {\n tabsObservable;\n constructor(private bridge: BridgeService) {\n this.tabsObservable = bridge.getTabs();\n }\n get() {\n return this.tabsObservable;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { setAngularJSGlobal } from '@angular/upgrade/static';\nimport {\n hookAction,\n hookActionBar,\n hookBreadcrumb,\n hookDocs,\n hookNavigator,\n hookTab,\n RouterModule\n} from '@c8y/ngx-components';\nimport { UpgradedServicesModule } from '@c8y/ngx-components/upgrade/upgraded-services';\nimport * as angular from 'angular';\nimport { absoluteDateServiceProvider } from './absolute-date.service';\nimport { Ng1ActionBarFactoryService } from './action-bar.factory';\nimport { Ng1ActionFactoryService } from './action.factory';\nimport { authBridgeServiceProvider } from './auth-bridge.service';\nimport { Ng1BreadcrumbFactoryService } from './breadcrumb.factory';\nimport { bridgeServiceProvider } from './bridge.service';\nimport { Ng1DocsFactoryService } from './docs.factory';\nimport { Ng1NodesFactoryService } from './nodes.factory';\nimport { smartRulesServiceProvider } from './smart-rules.service';\nimport { Ng1TabsFactoryService } from './tabs.factory';\n\nsetAngularJSGlobal(angular);\n\n@NgModule({\n imports: [RouterModule, UpgradedServicesModule],\n exports: [],\n providers: [\n absoluteDateServiceProvider,\n bridgeServiceProvider,\n authBridgeServiceProvider,\n smartRulesServiceProvider,\n hookNavigator(Ng1NodesFactoryService),\n hookTab(Ng1TabsFactoryService),\n hookActionBar(Ng1ActionBarFactoryService),\n hookAction(Ng1ActionFactoryService),\n hookBreadcrumb(Ng1BreadcrumbFactoryService),\n hookDocs(Ng1DocsFactoryService)\n ]\n})\nexport class UpgradeModule {}\n","function c8yAlertDecorator($delegate, $rootScope, $injector) {\r\n 'ngInject';\r\n\r\n $delegate.add = alert => {\r\n $delegate.addAlert(transformAlert(alert));\r\n };\r\n\r\n $rootScope.$on('alert', (evt, alert) => {\r\n $delegate.addAlert(transformAlert(alert));\r\n });\r\n\r\n $rootScope.$on('message', (evt, alert) => {\r\n $delegate.addAlert(transformAlert(alert));\r\n });\r\n\r\n /**\r\n * Solution based on the: https://stackoverflow.com/questions/40102148/how-to-iterate-over-all-properties-in-objects-prototype-chain.\r\n * Problem came after switching to ES6, as all prototype properties of classes are non-enumerable.\r\n */\r\n const allNames = new Set();\r\n for (let o = $delegate; o !== Object.prototype; o = Object.getPrototypeOf(o)) {\r\n for (const name of Object.getOwnPropertyNames(o)) {\r\n allNames.add(name);\r\n }\r\n }\r\n Array.from(allNames).forEach((property: string) => {\r\n if (typeof $delegate[property] === 'function') {\r\n $delegate[property] = $delegate[property].bind($delegate);\r\n }\r\n });\r\n\r\n function transformAlert(alert: any) {\r\n const newAlert: any = { ...alert };\r\n if (alert.onClose) {\r\n newAlert.onClose = () => {\r\n $injector.invoke(alert.onClose);\r\n };\r\n }\r\n if (alert.onDetail) {\r\n newAlert.onDetail = () => {\r\n $injector.invoke(alert.onDetail);\r\n };\r\n }\r\n return newAlert;\r\n }\r\n\r\n return $delegate;\r\n}\r\n\r\nexport { c8yAlertDecorator };\r\n","import { downgradeComponent } from '@angular/upgrade/static';\nimport {\n BootstrapComponent,\n DataGridComponent,\n UserTotpRevokeComponent,\n LoadingComponent,\n HighlightComponent,\n EmptyStateComponent,\n PasswordInputComponent\n} from '@c8y/ngx-components';\nimport { AppLogsAutoRefreshComponent } from '@c8y/ngx-components/app-logs';\nimport { RangeDisplayComponent } from '@c8y/ngx-components';\nimport { HelpComponent } from '@c8y/ngx-components';\nimport { DatapointSelectionListComponent } from '@c8y/ngx-components/datapoint-selector';\nimport { PaginationComponent } from 'ngx-bootstrap/pagination';\nimport { RolesAssetTreeComponent } from '@c8y/ngx-components/user-roles';\nimport { PlatformConfigurationFormComponent } from '@c8y/ngx-components/platform-configuration';\n\nexport const bootstrapComponentDowngradedComponent = downgradeComponent({\n component: BootstrapComponent\n});\nexport const userTotpComponentDowngradedComponent = downgradeComponent({\n component: UserTotpRevokeComponent\n});\nexport const appLogsAutoRefreshComponentDowngradedComponent = downgradeComponent({\n component: AppLogsAutoRefreshComponent\n});\nexport const dataGridComponentDowngradedComponent = downgradeComponent({\n component: DataGridComponent\n});\nexport const loadingComponentDowngradedComponent = downgradeComponent({\n component: LoadingComponent\n});\nexport const rangeDisplayComponentDowngradedComponent = downgradeComponent({\n component: RangeDisplayComponent\n});\nexport const helpComponentDowngradedComponent = downgradeComponent({ component: HelpComponent });\nexport const highlightComponentDowngradedComponent = downgradeComponent({\n component: HighlightComponent,\n inputs: ['pattern', 'text']\n});\nexport const emptyStateComponentDowngradedComponent = downgradeComponent({\n component: EmptyStateComponent\n});\nexport const datapointSelectionListComponentDowngradedComponent = downgradeComponent({\n component: DatapointSelectionListComponent\n});\n\nexport const paginationComponentDowngradedComponent = downgradeComponent({\n component: PaginationComponent\n});\nexport const rolesAssetTreeComponentDowngradedComponent = downgradeComponent({\n component: RolesAssetTreeComponent\n});\nexport const passwordInputComponentDowngradedComponent = downgradeComponent({\n component: PasswordInputComponent\n});\nexport const platformConfigurationFormDowngradedComponent = downgradeComponent({\n component: PlatformConfigurationFormComponent\n});\n","import { Injectable, Inject } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { HOOK_PATTERN_MESSAGES } from '@c8y/ngx-components';\n\n@Injectable()\nexport class ServerMessagesService {\n MESSAGE_PATTERNS: any;\n constructor(private translateService: TranslateService, @Inject(HOOK_PATTERN_MESSAGES) patterns) {\n this.MESSAGE_PATTERNS = patterns;\n }\n\n translate(s: string) {\n return this.translateService.instant(s);\n }\n}\n","import { downgradeInjectable } from '@angular/upgrade/static';\nimport {\n AlertService,\n AppStateService,\n AssetLinkPipe,\n CachedLocaleDictionaryService,\n DateFormatService,\n DocsService,\n FilesService,\n GainsightService,\n GlobalConfigService,\n HeaderService,\n ModalService,\n PasswordService,\n PropertyValueTransformService,\n ServiceRegistry,\n UserMenuService\n} from '@c8y/ngx-components';\nimport { ApiService } from '@c8y/ngx-components/api';\nimport { DeviceGridService } from '@c8y/ngx-components/device-grid';\nimport { DeviceTypeDetailEditedService } from '@c8y/ngx-components/device-protocols';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AbsoluteDateService } from '../absolute-date.service';\nimport { AuthBridgeService } from '../auth-bridge.service';\nimport { BridgeService } from '../bridge.service';\nimport { ServerMessagesService } from './serverMessages.service';\nimport { DatapointSelectorService } from '@c8y/ngx-components/datapoint-selector';\n\nexport const absoluteDateServiceDowngradedInjectable = downgradeInjectable(AbsoluteDateService);\nexport const bridgeServiceDowngradedInjectable = downgradeInjectable(BridgeService);\nexport const authBridgeServiceDowngradedInjectable = downgradeInjectable(AuthBridgeService);\nexport const appStateServiceDowngradedInjectable = downgradeInjectable(AppStateService);\nexport const headerServiceDowngradedInjectable = downgradeInjectable(HeaderService);\nexport const alertsServiceDowngradedInjectable = downgradeInjectable(AlertService);\nexport const userMenuServiceDowngradedInjectable = downgradeInjectable(UserMenuService);\nexport const apiServiceDowngradedInjectable = downgradeInjectable(ApiService);\nexport const docsServiceDowngradedInjectable = downgradeInjectable(DocsService);\nexport const passwordServiceDowngradedInjectable = downgradeInjectable(PasswordService);\nexport const translateServiceDowngradedInjectable = downgradeInjectable(TranslateService);\nexport const cachedLocaleDictionaryServiceDowngradedInjectable = downgradeInjectable(\n CachedLocaleDictionaryService\n);\nexport const globalConfigServiceDowngradedInjectable = downgradeInjectable(GlobalConfigService);\nexport const serverMessagesServiceDowngradedInjectable = downgradeInjectable(ServerMessagesService);\nexport const modalServiceDowngradedInjectable = downgradeInjectable(ModalService);\nexport const gainsightServiceDowngradedInjectable = downgradeInjectable(GainsightService);\nexport const filesServiceDowngradedInjectable = downgradeInjectable(FilesService);\nexport const deviceTypeDetailEditedServiceDowngradedInjectable = downgradeInjectable(\n DeviceTypeDetailEditedService\n);\nexport const deviceGridServiceDowngradedInjectable = downgradeInjectable(DeviceGridService);\nexport const serviceRegistryInjectable = downgradeInjectable(ServiceRegistry);\nexport const assetLinkPipeDowngradedInjectable = downgradeInjectable(AssetLinkPipe);\nexport const propertyValueTransformServiceDowngradedInjectable = downgradeInjectable(\n PropertyValueTransformService\n);\nexport const datapointSelectorServiceDowngradedInjectable =\n downgradeInjectable(DatapointSelectorService);\nexport const dateFormatServiceInjectable = downgradeInjectable(DateFormatService);\n","import * as angular from 'angular';\n\nfunction gettextCatalogDecorator($delegate, $interpolate, c8yTranslate) {\n 'ngInject';\n\n const gettextCatalog = $delegate;\n const originalGetString = angular.bind(gettextCatalog, gettextCatalog.getString);\n\n function newGetString(input, scope, context) {\n if (typeof input === 'string') {\n const translatedString = originalGetString(input, scope, context);\n const interpolatedString = scope ? $interpolate(input)(scope) : input;\n\n let stringToReturn = translatedString;\n\n if (translatedString && translatedString === interpolatedString) {\n const translatedServerMessage = c8yTranslate.instant(interpolatedString);\n stringToReturn = translatedServerMessage;\n }\n\n return stringToReturn;\n }\n\n return input;\n }\n\n gettextCatalog.getString = newGetString;\n\n return gettextCatalog;\n}\n\nexport { gettextCatalogDecorator };\n","function groupTypesHierarchyNavigatorDecorator($delegate, $q) {\n 'ngInject';\n $delegate.loadAll = () => $q.when();\n $delegate.addGroupNavigation = () => $q.when();\n return $delegate;\n}\n\nexport { groupTypesHierarchyNavigatorDecorator };\n","function c8yNg1HttpInterceptor($q, c8yLoadingIndicator, c8yApiService) {\r\n 'ngInject';\r\n\r\n function request(config) {\r\n const { url, method } = config;\r\n c8yApiService.onStart({ url, method, options: config });\r\n return config;\r\n }\r\n\r\n function requestError(rejection) {\r\n finishRequest(rejection);\r\n return $q.reject(rejection);\r\n }\r\n\r\n function response(res) {\r\n finishRequest(res);\r\n return res;\r\n }\r\n\r\n function responseError(rejection) {\r\n finishRequest(rejection);\r\n c8yLoadingIndicator.responseError(rejection);\r\n return $q.reject(rejection);\r\n }\r\n\r\n function finishRequest(res) {\r\n const { url, method } = res.config;\r\n c8yApiService.onFinish({\r\n url,\r\n method,\r\n response: res,\r\n options: res.config\r\n });\r\n }\r\n\r\n return {\r\n request,\r\n requestError,\r\n response,\r\n responseError\r\n };\r\n}\r\n\r\nexport { c8yNg1HttpInterceptor };\r\n","import { NavigatorNodeRoot, NavigatorNode } from '@c8y/ngx-components';\nimport { assign } from 'lodash-es';\n\nexport class NavigatorNodeRootLegacy extends NavigatorNodeRoot {\n addRoot(nodeData): NavigatorNode {\n let duplicate;\n if (nodeData.path === '') {\n nodeData.path = '/';\n }\n nodeData.label = nodeData.name;\n if (typeof nodeData.parent === 'object') {\n nodeData.parent.label = nodeData.parent.name;\n }\n\n if (nodeData.preventDuplicates) {\n duplicate = this.find(({ path, parents, label }) => {\n return (\n path === nodeData.path &&\n label === nodeData.label &&\n parents.some(p => p.label === nodeData.parent)\n );\n });\n if (duplicate) {\n duplicate.routerLinkExact = false;\n }\n }\n\n return duplicate || super.addRoot(nodeData);\n }\n\n createNode(node) {\n const newNode = super.createNode(node);\n const update = newNode.update.bind(newNode);\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const root = this;\n return Object.defineProperties(\n assign(newNode, {\n realName: (newNode as any).name || newNode.label,\n _parent: true, // just use it to detect if it has been deleted\n update(data) {\n if (this._parent === undefined) {\n // _parent was deleted somene instead to put this in root\n root.addRoot(this);\n // put it back so it can be deleted again\n this._parent = true;\n }\n update(data);\n },\n addChild(nodeChild) {\n this.add(root.createNode(nodeChild));\n }\n }),\n {\n label: {\n get() {\n return this.realName || '';\n },\n set(name) {\n this.realName = name;\n }\n },\n name: {\n get() {\n return this.realName || '';\n },\n set(name) {\n this.realName = name;\n }\n },\n show: {\n get() {\n return !this.hidden;\n },\n set(show) {\n this.hidden = !show;\n },\n configurable: true\n }\n }\n );\n }\n}\n","import { NavigatorNode } from '@c8y/ngx-components';\nimport { Observable, Subject, defer, of } from 'rxjs';\nimport { merge } from 'rxjs/operators';\nimport { pick, map, property, some, every } from 'lodash-es';\nimport { NavigatorNodeRootLegacy } from './navigator-node-root-legacy';\n\n// Just to hook into the bridge service\nexport function c8yNavigatorProvider() {\n const root = new NavigatorNodeRootLegacy();\n const rootNodesSubject: Subject<NavigatorNode[]> = new Subject();\n const conditionalNodes = [];\n const rootNodes$: Observable<NavigatorNode[]> = rootNodesSubject.pipe(\n merge(defer(() => of(root.children)))\n );\n\n function addNavigation(nodes) {\n const nodeList = Array.isArray(nodes) ? nodes : [nodes];\n nodeList.forEach(node => {\n if (isConditional(node)) {\n node.hidden = undefined;\n conditionalNodes.push(node);\n }\n node.navNode = root.addRoot(node);\n });\n rootNodesSubject.next(root.children);\n }\n\n function removeNavigation(node) {\n const found = root.find(n => n === node);\n if (found) {\n found.parents.forEach(p => p.remove(found));\n rootNodesSubject.next(root.children);\n }\n }\n\n function findNode(node) {\n return root.find(node);\n }\n\n function isConditional(node) {\n return node.showIf || node.showIfPermissions || node.showIfContainsVisibleViews;\n }\n\n function $get($q, $injector) {\n 'ngInject';\n\n // This avoids the circular dependency\n setTimeout(() => conditionalNodes.forEach(processShowIf));\n\n function processShowIf(node) {\n const c8yUiUtil = $injector.get('c8yUiUtil');\n const visibilityPromises = [];\n const { showIf, showIfPermissions, showIfContainsVisibleViews } = node;\n\n if (showIf) {\n visibilityPromises.push($injector.invoke(showIf));\n }\n if (showIfContainsVisibleViews) {\n visibilityPromises.push(viewsConditionalVisibility(node));\n }\n\n c8yUiUtil\n .configureVisibility(\n {\n showIf: () => $q.all(visibilityPromises).then(every),\n showIfPermissions\n },\n 'visible'\n )\n .then(({ visible }) => {\n if (visible) {\n node.navNode.update({\n hidden: false,\n showIf: null,\n showIfPermission: null,\n showIfContainsVisibleViews: null\n });\n } else {\n node.navNode.update({\n hidden: true\n });\n }\n });\n }\n\n function viewsConditionalVisibility(node) {\n const c8yUiUtil = $injector.get('c8yUiUtil');\n const c8yViews = $injector.get('c8yViews');\n const views = c8yViews.getByPath(node.path);\n return $q\n .all(\n map(views, view =>\n c8yUiUtil\n .configureVisibility(pick(view, ['showIf', 'showIfPermissions']), 'show', false)\n .then(property('show'))\n )\n )\n .then(some);\n }\n\n return {\n rootNodes() {\n return root.children;\n },\n findNode,\n addNavigation,\n removeNavigation,\n rootNodes$\n };\n }\n\n return {\n $get,\n addNavigation,\n removeNavigation\n };\n}\n","const rootComponent = {\n template: `\n <c8y-bootstrap>\n <div id=\"c8y-legacy-view\">\n <div ng-view ng-if=\"vm.widthSet && vm.authState.hasAuth\"></div>\n </div>\n </c8y-bootstrap>`,\n controller: c8yUiRootController,\n controllerAs: 'vm'\n};\n\nfunction c8yUiRootController(\n $rootScope,\n $timeout,\n c8yBase,\n c8yNavigator,\n c8yApplication,\n c8yHeaderService\n) {\n 'ngInject';\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const vm = this;\n\n Object.assign(vm, {\n $onInit,\n navOpen: false\n });\n\n ////////////\n\n function $onInit() {\n c8yHeaderService\n .map(states => states.nav.open)\n .subscribe(isOpen => {\n vm.navOpen = isOpen;\n });\n c8yHeaderService.configNavigator({ canToggle: true });\n $rootScope.$on('authStateChange', onAuthStateChange);\n vm.rootNodes = c8yNavigator.rootNodes;\n c8yApplication.currentAppCached().then(onAppInfo);\n vm.navHiddenOnStartup = c8yBase.appOption('hide_navigator');\n checkReady();\n }\n\n function onAuthStateChange(evt, data) {\n vm.authState = data;\n }\n\n function onAppInfo() {\n vm.tabsHorizontal = c8yBase.appOption('tabsHorizontal');\n }\n\n function checkReady() {\n const element = document.querySelector('#c8y-legacy-view');\n const hasWidth = element && element.clientWidth;\n if (hasWidth) {\n vm.widthSet = true;\n } else {\n $timeout(checkReady);\n }\n }\n}\nexport { rootComponent };\n","import * as angular from 'angular';\n\nfunction c8yTitleDecorator(\n $q,\n $delegate,\n $injector,\n $rootScope,\n $location,\n $templateCache,\n $compile,\n c8yHeaderService\n) {\n 'ngInject';\n\n $delegate.changeTitle = changeTitle;\n $delegate.setTitleElement = setTitleElement;\n\n $rootScope.$on('$routeChangeStart', () => {\n changeTitle({});\n });\n\n $rootScope.$on('$routeChangeSuccess', event => {\n resolveTitle(event);\n });\n\n $rootScope.$on('$routeUpdate', event => {\n resolveTitle(event);\n });\n\n function resolveTitle(event: any) {\n const title = $delegate.get($location.path());\n if (title) {\n const titleData = $q.when(title.data ? $injector.invoke(title.data) : {});\n titleData.then(data => {\n const { templateUrl } = data;\n if (templateUrl) {\n const template = $templateCache.get(templateUrl);\n setTitleElement($compile(template)(event.targetScope));\n } else {\n changeTitle(data);\n }\n });\n }\n }\n\n function changeTitle(\n newTitleSubtitleObjOrPromise,\n options = { skipTitleTranslation: false, skipSubtitleTranslation: false }\n ) {\n $q.when(newTitleSubtitleObjOrPromise).then(newTitleSubtitleObj =>\n changeTitleInAngular(translate(newTitleSubtitleObj, options))\n );\n }\n\n function translate(\n { title = '', subtitle = '' },\n { skipTitleTranslation = false, skipSubtitleTranslation = false }\n ) {\n const titleTemplate = skipTitleTranslation ? '{{ title }}' : '{{ title | translate }}';\n const subtitleTemplate = skipSubtitleTranslation\n ? '{{ subtitle }}'\n : '{{ subtitle | translate }}';\n const template = `\n <h1 class=\"text-truncate\">${titleTemplate}\n <small>${subtitleTemplate}</small></h1>\n `;\n\n const isolatedScope = $rootScope.$new(true);\n isolatedScope.title = title;\n isolatedScope.subtitle = subtitle;\n\n return $compile(angular.element(template))(isolatedScope)[0];\n }\n\n function changeTitleInAngular(domElement) {\n c8yHeaderService.changeTitle(domElement);\n }\n\n function setTitleElement($element) {\n $element.show();\n changeTitleInAngular($element[0]);\n }\n\n return $delegate;\n}\n\nexport { c8yTitleDecorator };\n","import { NgZone } from '@angular/core';\nimport { downgradeInjectable } from '@angular/upgrade/static';\nimport { QueriesUtil } from '@c8y/client';\nimport * as angular from 'angular';\nimport { c8yAlertDecorator } from './alert.decorator';\nimport {\n appLogsAutoRefreshComponentDowngradedComponent,\n bootstrapComponentDowngradedComponent,\n dataGridComponentDowngradedComponent,\n datapointSelectionListComponentDowngradedComponent,\n emptyStateComponentDowngradedComponent,\n helpComponentDowngradedComponent,\n highlightComponentDowngradedComponent,\n loadingComponentDowngradedComponent,\n paginationComponentDowngradedComponent,\n passwordInputComponentDowngradedComponent,\n platformConfigurationFormDowngradedComponent,\n rangeDisplayComponentDowngradedComponent,\n rolesAssetTreeComponentDowngradedComponent,\n userTotpComponentDowngradedComponent\n} from './downgraded.components';\nimport {\n absoluteDateServiceDowngradedInjectable,\n alertsServiceDowngradedInjectable,\n apiServiceDowngradedInjectable,\n appStateServiceDowngradedInjectable,\n assetLinkPipeDowngradedInjectable,\n authBridgeServiceDowngradedInjectable,\n bridgeServiceDowngradedInjectable,\n cachedLocaleDictionaryServiceDowngradedInjectable,\n datapointSelectorServiceDowngradedInjectable,\n dateFormatServiceInjectable,\n deviceGridServiceDowngradedInjectable,\n deviceTypeDetailEditedServiceDowngradedInjectable,\n docsServiceDowngradedInjectable,\n filesServiceDowngradedInjectable,\n gainsightServiceDowngradedInjectable,\n globalConfigServiceDowngradedInjectable,\n headerServiceDowngradedInjectable,\n modalServiceDowngradedInjectable,\n passwordServiceDowngradedInjectable,\n propertyValueTransformServiceDowngradedInjectable,\n serverMessagesServiceDowngradedInjectable,\n serviceRegistryInjectable,\n translateServiceDowngradedInjectable,\n userMenuServiceDowngradedInjectable\n} from './downgraded.services';\nimport { gettextCatalogDecorator } from './gettextCatalog.decorator';\nimport { groupTypesHierarchyNavigatorDecorator } from './groupsHierarchyNavigator.decorator';\nimport { c8yNg1HttpInterceptor } from './http.interceptor';\nimport { c8yNavigatorProvider } from './navigator.provider';\nimport { rootComponent } from './root.component';\nimport { c8yTitleDecorator } from './title.decorator';\nimport { c8yViewsProvider } from './views.provider';\n\nconst NAME_UPGRADE = 'c8y.upgrade';\n(window as any).preventNg1Bootstrap = true;\n\nangular\n .module(NAME_UPGRADE, [])\n // tslint:disable-next-line:only-arrow-functions\n .config(function ($httpProvider) {\n 'ngInject';\n\n const ng1InterceptorIndex = $httpProvider.interceptors.indexOf('c8yLoadingIndicator');\n if (ng1InterceptorIndex > -1) {\n $httpProvider.interceptors.splice(ng1InterceptorIndex, 1);\n }\n $httpProvider.interceptors.push(c8yNg1HttpInterceptor);\n })\n .component('c8yUiRoot', rootComponent)\n .directive('c8yBootstrap', bootstrapComponentDowngradedComponent)\n .factory('c8yBridgeService', bridgeServiceDowngradedInjectable)\n .factory('c8yAuthBridgeService', authBridgeServiceDowngradedInjectable)\n .factory('c8yAppStateService', appStateServiceDowngradedInjectable)\n .factory('c8yDateFormatService', dateFormatServiceInjectable)\n .factory('c8yHeaderService', headerServiceDowngradedInjectable)\n .factory('c8yUserMenuService', userMenuServiceDowngradedInjectable)\n // tslint:disable-next-line:only-arrow-functions\n .service('c8yQueriesUtil', function () {\n return new QueriesUtil();\n })\n .factory('c8yAlert', alertsServiceDowngradedInjectable)\n .decorator('c8yAlert', c8yAlertDecorator)\n .decorator('groupTypesHierarchyNavigator', groupTypesHierarchyNavigatorDecorator) // prevents loading the groups\n .factory('c8yApiService', apiServiceDowngradedInjectable)\n .factory('c8yDocs', docsServiceDowngradedInjectable)\n .service('c8yPasswordConfirm', passwordServiceDowngradedInjectable)\n .service('c8yModalService', modalServiceDowngradedInjectable)\n .service('c8yGainsightService', gainsightServiceDowngradedInjectable)\n .service('c8yFilesService', filesServiceDowngradedInjectable)\n .service('c8yGlobalConfigService', globalConfigServiceDowngradedInjectable)\n .service('c8yPropertyValueTransformService', propertyValueTransformServiceDowngradedInjectable)\n .service('c8yDatapointSelectorService', datapointSelectorServiceDowngradedInjectable);\n\nangular\n .module('c8y.ui')\n .filter('absoluteDate', absoluteDateServiceDowngradedInjectable)\n .directive('c8yLoading', loadingComponentDowngradedComponent)\n .provider('c8yNavigator', c8yNavigatorProvider)\n .provider('c8yViews', c8yViewsProvider)\n .directive('c8yUserTotpRevoke', userTotpComponentDowngradedComponent)\n .directive('c8yAppLogsAutoRefresh', appLogsAutoRefreshComponentDowngradedComponent)\n .directive('c8yDataGrid', dataGridComponentDowngradedComponent)\n .directive('c8yRangeDisplay', rangeDisplayComponentDowngradedComponent)\n .directive('c8yHelp', helpComponentDowngradedComponent)\n .directive('c8yUiEmptyState', emptyStateComponentDowngradedComponent)\n .directive('c8yDatapointSelectionList', datapointSelectionListComponentDowngradedComponent)\n .directive('c8yHighlight', highlightComponentDowngradedComponent)\n .directive('c8yPasswordInput', passwordInputComponentDowngradedComponent)\n .directive('pagination', paginationComponentDowngradedComponent)\n .directive('c8yRolesAssetTreeDowngraded', rolesAssetTreeComponentDowngradedComponent)\n .directive('c8yPlatformConfigurationForm', platformConfigurationFormDowngradedComponent)\n .factory('c8yTranslate', translateServiceDowngradedInjectable)\n .factory('c8yCachedLocaleDictionaryService', cachedLocaleDictionaryServiceDowngradedInjectable)\n .decorator('gettextCatalog', gettextCatalogDecorator)\n .factory('c8yServerMessages', serverMessagesServiceDowngradedInjectable)\n .factory('ngZone', downgradeInjectable(NgZone))\n .factory('c8yDeviceTypeDetailEdited', deviceTypeDetailEditedServiceDowngradedInjectable)\n .factory('c8yDeviceGridService', deviceGridServiceDowngradedInjectable)\n .factory('c8yServiceRegistry', serviceRegistryInjectable)\n .factory('assetLink', assetLinkPipeDowngradedInjectable);\n\nangular\n .module('c8y.ui')\n .decorator('c8yTitle', c8yTitleDecorator)\n .run([\n 'c8yTitle',\n function () {\n // needed to inject c8yTitle with decorator applied to it, to ensure displaying ng1 titles\n }\n ]);\n\nexport const ng1ModulesUpgrade = ['app', NAME_UPGRADE];\n","import { UpgradeModule as NgUpgradeModule } from '@angular/upgrade/static';\nimport { ng1ModulesUpgrade } from './ng1';\n\nexport abstract class HybridAppModule {\n ng1Modules = ng1ModulesUpgrade;\n protected upgrade: NgUpgradeModule;\n\n ngDoBootstrap() {\n (window as any).bootstrap();\n this.upgrade.bootstrap(document.getElementById('app'), this.ng1Modules, { strictDi: false });\n }\n}\n","import { EmptyComponent } from '@c8y/ngx-components';\n\nexport const UPGRADE_ROUTES = [{ path: '**', component: EmptyComponent }];\n","import { Injectable, NgZone, inject } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { getActivatedRoute } from '@c8y/ngx-components';\nimport {\n ContextDashboardService,\n ContextWidgetConfig\n} from '@c8y/ngx-components/context-dashboard';\nimport { get } from 'lodash-es';\n\n@Injectable({ providedIn: 'root' })\nexport class DashboardBridgeService {\n dashboardSvc;\n compile;\n dashboardClipboard;\n\n private ng1Injector: any = inject('$injector' as any);\n private zone = inject(NgZone);\n private router = inject(Router);\n private contextDashboardService = inject(ContextDashboardService, { optional: true });\n\n constructor() {\n this.dashboardSvc = this.ng1Injector.get('dashboardSvc');\n this.compile = this.ng1Injector.get('$compile');\n }\n\n get ng1Components() {\n return this.ng1Injector.get('c8yComponents');\n }\n\n async instantiateComponent(widget, element) {\n const { dashboard, context, child } = widget;\n if (dashboard) {\n const transformedChild = await this.dashboardSvc.transformChildWithContext(\n this.dashboardSvc.forcedContext || context,\n dashboard,\n child\n );\n if (this.dashboardSvc.forcedContext || dashboard.deviceType || dashboard.updateTarget) {\n await this.dashboardSvc.updateConfigTargetsWithContext(\n this.dashboardSvc.forcedContext || context,\n transformedChild.config\n );\n }\n return this.zone.runOutsideAngular(() =>\n this.loadTemplate(transformedChild, child, element, context)\n );\n } else {\n return this.loadConfigTemplate(element, widget);\n }\n }\n\n instantiateDeviceSelector(element, widgetConfig: ContextWidgetConfig) {\n return this.loadConfigTemplate(element, widgetConfig, true);\n }\n\n private loadTemplate(transformedChild, child, element, context) {\n const scope = this.ng1Injector.get('$rootScope').$new(true);\n scope.child = transformedChild;\n scope.dashboardContext = context;\n if (child.widgetComponent) {\n element.innerHTML = `<c8y-ui-component component-name=\"'${child.widgetComponent}'\" config=\"child.config\" context=\"dashboardContext\"></c8y-ui-component>`;\n } else if (child.templateUrl) {\n element.innerHTML = `<ng-include src=\"'${child.templateUrl}'\"></ng-include>`;\n }\n this.compile(element)(scope);\n return scope;\n }\n\n private getDashboard() {\n return getActivatedRoute(this.router).snapshot.data.dashboard;\n }\n\n private loadConfigTemplate(\n element,\n widgetConfig: ContextWidgetConfig,\n onlyDeviceSelector = false\n ) {\n const { settings } = widgetConfig;\n const scope = this.ng1Injector.get('$rootScope').$new(true);\n\n scope.settings = { ...settings, ...settings.ng1 };\n scope.options = widgetConfig.options;\n scope.config = widgetConfig;\n scope.forms = {};\n scope.rootId = settings.context.id;\n scope.dashboard = get(widgetConfig, 'settings.dashboardMo');\n\n let configCmp = '';\n if (!onlyDeviceSelector) {\n if (widgetConfig.settings.configComponent) {\n configCmp = `<c8y-ui-component component-name=\"'${widgetConfig.settings.configComponent}'\" config=\"config\"></c8y-ui-component>`;\n } else if (widgetConfig.settings.configTemplateUrl) {\n configCmp = `<ng-include src=\"'${widgetConfig.settings.configTemplateUrl}'\"></ng-include>`;\n }\n }\n\n element.innerHTML = `\n <ng-form name=\"forms.componentForm\">\n <div class=\"form-group m-0\"\n ng-if=\"!settings.noDeviceTarget\"\n ng-style=\"{height: settings.hideTarget && '0', overflow: 'hidden'}\"\n >\n </div>\n ${configCmp}\n </ng-form>`;\n\n scope.$watch('forms.componentForm.$invalid', formStatus => {\n this.contextDashboardService.formDisabled = formStatus;\n });\n this.compile(element)(scope);\n this.contextDashboardService.formDisabled = scope.forms.componentForm.$invalid;\n\n return scope;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n OnInit,\n OnDestroy,\n Optional\n} from '@angular/core';\nimport { DashboardBridgeService } from './dashboard-bridge.service';\nimport { OnBeforeSave, WidgetsDashboardComponent } from '@c8y/ngx-components';\nimport { debounceTime, merge, Subscription } from 'rxjs';\n\n@Component({\n selector: 'c8y-widget-legacy',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class WidgetComponent implements OnInit, OnDestroy, OnBeforeSave {\n ng1Scope;\n config;\n alerts;\n private resizeSubscription?: Subscription;\n private readonly DEBOUNCE_TIME_UNTIL_WIDGET_HAS_SNAPPED = 400;\n\n constructor(\n @Optional() private dashboard: WidgetsDashboardComponent,\n private dashboardBridgeService: DashboardBridgeService,\n private el: ElementRef\n ) {}\n\n onBeforeSave(): boolean {\n this.ng1Scope.$broadcast('saveWidget');\n return true;\n }\n\n async ngOnInit() {\n if (this.config) {\n if (this.config.child) {\n this.config.child.alerts = this.alerts;\n }\n this.ng1Scope = await this.dashboardBridgeService.instantiateComponent(\n this.config,\n this.el.nativeElement\n );\n if (this.dashboard) {\n this.resizeSubscription = merge(this.dashboard.onChangeDashboard, this.dashboard.onResize)\n .pipe(debounceTime(this.DEBOUNCE_TIME_UNTIL_WIDGET_HAS_SNAPPED))\n .subscribe(() => {\n this.ng1Scope.$broadcast('dashboardResize');\n });\n }\n }\n }\n\n ngOnDestroy(): void {\n if (this.ng1Scope) {\n this.ng1Scope.$destroy();\n }\n if (this.resizeSubscription) {\n this.resizeSubscription.unsubscribe();\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, OnInit, OnDestroy } from '@angular/core';\nimport { DashboardBridgeService } from './dashboard-bridge.service';\n\n@Component({\n selector: 'c8y-device-selector-legacy',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LegacyDeviceSelectorComponent implements OnInit, OnDestroy {\n ng1Scope;\n config;\n\n constructor(\n private dashboardBridgeService: DashboardBridgeService,\n private el: ElementRef\n ) {}\n\n async ngOnInit() {\n this.ng1Scope = this.dashboardBridgeService.instantiateDeviceSelector(\n this.el.nativeElement,\n this.config\n );\n }\n\n ngOnDestroy(): void {\n if (this.ng1Scope) {\n this.ng1Scope.$destroy();\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n DynamicComponentDefinition,\n DynamicDatapointsResolver,\n DynamicManagedObjectResolver\n} from '@c8y/ngx-components';\nimport { DashboardBridgeService } from './dashboard-bridge.service';\nimport { WidgetComponent } from './widget.component';\nimport { LegacyDeviceSelectorComponent } from './device-selector.component';\nimport { of, Observable } from 'rxjs';\nimport { shareReplay, switchMap, take } from 'rxjs/operators';\n\n@Injectable()\nexport class Ng1ComponentFactoryService {\n private components$: Observable<DynamicComponentDefinition[]>;\n constructor(private bridge: DashboardBridgeService) {\n this.components$ = of(1).pipe(\n switchMap(() => this.getComponents()),\n shareReplay(1),\n take(1)\n );\n }\n\n get() {\n return this.components$;\n }\n\n private async getComponents(): Promise<DynamicComponentDefinition[]> {\n const ng1Components = await this.bridge.ng1Components.list();\n const components: DynamicComponentDefinition[] = ng1Components.map(cmp => {\n const resolve = {};\n if (cmp.options?.datapointAttributes && Array.isArray(cmp.options?.datapointAttributes)) {\n cmp.options?.datapointAttributes.forEach(\n attribute => (resolve[attribute] = DynamicDatapointsResolver as any)\n );\n }\n if (\n cmp.options?.managedObjectAttributes &&\n Array.isArray(cmp.options?.managedObjectAttributes)\n ) {\n cmp.options?.managedObjectAttributes.forEach(\n attribute => (resolve[attribute] = DynamicManagedObjectResolver as any)\n );\n }\n const data = {\n settings: {\n ...cmp.options,\n configTemplateUrl: cmp.configTemplateUrl,\n widgetComponent: cmp.widgetComponent,\n configComponent: cmp.configComponent,\n transformConfigWithContext:\n cmp.transformConfigWithContext || cmp.componentTransformConfigWithContext,\n upgrade: true\n }\n } as any;\n data.settings.templateUrl = cmp.templateUrl; // workaround as in object it creates build error\n data.displaySettings = cmp.displaySettings;\n\n return {\n id: cmp.name,\n label: cmp.nameDisplay || cmp.name,\n description: cmp.description,\n component: WidgetComponent,\n configComponent: WidgetComponent,\n previewImage: cmp.previewImage,\n errorStrategy: cmp.errorStrategy,\n resolve,\n data\n } as DynamicComponentDefinition;\n });\n\n // add the device selector legacy component\n components.push({\n id: 'device.selector.legacy',\n label: 'Device selector',\n description: '',\n data: { settings: { noNewWidgets: true, upgrade: true } },\n component: LegacyDeviceSelectorComponent\n });\n\n return components;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { Ng1ComponentFactoryService } from './component.factory';\nimport { WidgetComponent } from './widget.component';\nimport { LegacyDeviceSelectorComponent } from './device-selector.component';\nimport { C8yTranslateModule, hookComponent } from '@c8y/ngx-components';\nimport { AssetSelectorModule } from '@c8y/ngx-components/assets-navigator';\n\n@NgModule({\n declarations: [LegacyDeviceSelectorComponent, WidgetComponent],\n imports: [CommonModule, C8yTranslateModule, AssetSelectorModule],\n providers: [hookComponent(Ng1ComponentFactoryService)]\n})\nexport class DashboardUpgradeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["map","i1.BridgeService","merge","debounceTime","i1","i2.DashboardBridgeService","i1.DashboardBridgeService"],"mappings":"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"}
@@ -1,4 +1,11 @@
1
1
  const cockpitWidgetsExports = [
2
+ {
3
+ name: 'Widgets: Radial Gauge widget',
4
+ module: 'radialGaugeWidgetProviders',
5
+ path: '@c8y/ngx-components/widgets/definitions/radial-gauge',
6
+ description: 'Radial gauge widget',
7
+ scope: 'self'
8
+ },
2
9
  {
3
10
  name: 'Widgets: KPI widget',
4
11
  module: 'kpiWidgetProviders',