@bizdoc/core 1.16.3 → 1.16.4

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 (1033) hide show
  1. package/bizdoc-core.d.ts.map +1 -0
  2. package/esm2020/lib/admin/admin-dismiss.service.mjs +6 -6
  3. package/esm2020/lib/admin/admin-menu.component.mjs +82 -9
  4. package/esm2020/lib/admin/configuration-designer/cube-axes-filter.component.mjs +248 -0
  5. package/esm2020/lib/admin/configuration-designer/designer-element.component.mjs +192 -29
  6. package/esm2020/lib/admin/configuration-designer/designer.base.mjs +37 -25
  7. package/esm2020/lib/admin/configuration-designer/designer.component.mjs +152 -10
  8. package/esm2020/lib/admin/configuration-designer/elements/action.component.mjs +107 -10
  9. package/esm2020/lib/admin/configuration-designer/elements/analysis-view.component.mjs +447 -7
  10. package/esm2020/lib/admin/configuration-designer/elements/analysis-widget.component.mjs +441 -7
  11. package/esm2020/lib/admin/configuration-designer/elements/anomaly-rule.component.mjs +25 -7
  12. package/esm2020/lib/admin/configuration-designer/elements/box-form.component.mjs +25 -7
  13. package/esm2020/lib/admin/configuration-designer/elements/configuration-datasource.component.mjs +79 -7
  14. package/esm2020/lib/admin/configuration-designer/elements/cube-index-utility.component.mjs +71 -7
  15. package/esm2020/lib/admin/configuration-designer/elements/cube-view.component.mjs +98 -7
  16. package/esm2020/lib/admin/configuration-designer/elements/cube.component.mjs +793 -10
  17. package/esm2020/lib/admin/configuration-designer/elements/documents-report.component.mjs +52 -7
  18. package/esm2020/lib/admin/configuration-designer/elements/documents-widget.component.mjs +55 -10
  19. package/esm2020/lib/admin/configuration-designer/elements/explore-view.component.mjs +73 -7
  20. package/esm2020/lib/admin/configuration-designer/elements/folder.component.mjs +275 -9
  21. package/esm2020/lib/admin/configuration-designer/elements/form.component.mjs +96 -10
  22. package/esm2020/lib/admin/configuration-designer/elements/guide.component.mjs +78 -7
  23. package/esm2020/lib/admin/configuration-designer/elements/matrix-view.component.mjs +293 -8
  24. package/esm2020/lib/admin/configuration-designer/elements/parallel-view.component.mjs +210 -8
  25. package/esm2020/lib/admin/configuration-designer/elements/performance-widget.component.mjs +74 -7
  26. package/esm2020/lib/admin/configuration-designer/elements/pivot-view.component.mjs +162 -8
  27. package/esm2020/lib/admin/configuration-designer/elements/report.component.mjs +58 -7
  28. package/esm2020/lib/admin/configuration-designer/elements/return-to-role-action.component.mjs +40 -7
  29. package/esm2020/lib/admin/configuration-designer/elements/role.component.mjs +70 -8
  30. package/esm2020/lib/admin/configuration-designer/elements/rule.component.mjs +20 -7
  31. package/esm2020/lib/admin/configuration-designer/elements/state.component.mjs +63 -11
  32. package/esm2020/lib/admin/configuration-designer/elements/sum-view.component.mjs +132 -8
  33. package/esm2020/lib/admin/configuration-designer/elements/tasks-report.component.mjs +101 -7
  34. package/esm2020/lib/admin/configuration-designer/elements/type.component.mjs +25 -7
  35. package/esm2020/lib/admin/configuration-designer/elements/usage-report.component.mjs +205 -8
  36. package/esm2020/lib/admin/configuration-designer/elements/utility.component.mjs +24 -7
  37. package/esm2020/lib/admin/configuration-designer/elements/view.component.mjs +22 -7
  38. package/esm2020/lib/admin/configuration-designer/elements/widget.component.mjs +54 -7
  39. package/esm2020/lib/admin/configuration-designer/icon-picker.component.mjs +79 -30
  40. package/esm2020/lib/admin/core/ace.input.mjs +35 -29
  41. package/esm2020/lib/admin/core/color-picker.input.mjs +89 -36
  42. package/esm2020/lib/admin/core/search.input.mjs +23 -13
  43. package/esm2020/lib/admin/diff/configuration-diff.component.mjs +90 -15
  44. package/esm2020/lib/admin/document-trace/document-trace.component.mjs +296 -30
  45. package/esm2020/lib/admin/document-trace/reassign.dialog.mjs +63 -10
  46. package/esm2020/lib/admin/document-trace/trace-element.component.mjs +238 -7
  47. package/esm2020/lib/admin/form/designer/designer.component.mjs +492 -10
  48. package/esm2020/lib/admin/form/form.resolve.service.mjs +6 -6
  49. package/esm2020/lib/admin/form/workflow/node.component.mjs +86 -15
  50. package/esm2020/lib/admin/form/workflow/role-node.component.mjs +152 -13
  51. package/esm2020/lib/admin/form/workflow/workflow.component.mjs +219 -18
  52. package/esm2020/lib/admin/indices/manage-cube-index.component.mjs +160 -13
  53. package/esm2020/lib/admin/patterns/patterns.component.mjs +280 -19
  54. package/esm2020/lib/admin/permissions/permissions.component.mjs +129 -13
  55. package/esm2020/lib/admin/positions/positions-popup.component.mjs +77 -13
  56. package/esm2020/lib/admin/positions/positions.component.mjs +605 -31
  57. package/esm2020/lib/admin/profiler/outofoffice.component.mjs +184 -16
  58. package/esm2020/lib/admin/profiler/profiler.component.mjs +268 -21
  59. package/esm2020/lib/admin/system.service.mjs +6 -6
  60. package/esm2020/lib/admin/utility-wrapper.component.mjs +9 -9
  61. package/esm2020/lib/admin/utility.pane.component.mjs +23 -15
  62. package/esm2020/lib/app.component.mjs +19 -19
  63. package/esm2020/lib/bizdoc.module.mjs +30 -29
  64. package/esm2020/lib/browse/browse-items.component.mjs +629 -40
  65. package/esm2020/lib/browse/browse.mobile.component.mjs +218 -13
  66. package/esm2020/lib/browse/browse.pane.component.mjs +214 -18
  67. package/esm2020/lib/browse/expanded-item/expanded-item.component.mjs +161 -11
  68. package/esm2020/lib/browse/filter/filter.component.mjs +184 -27
  69. package/esm2020/lib/browse/folders-menu.component.mjs +74 -11
  70. package/esm2020/lib/chat/chat-info.mjs +10 -10
  71. package/esm2020/lib/chat/chat.mobile.component.mjs +32 -11
  72. package/esm2020/lib/chat/chat.service.mjs +7 -7
  73. package/esm2020/lib/chat/contacts.component.mjs +134 -15
  74. package/esm2020/lib/chat/contacts.pane.component.mjs +16 -12
  75. package/esm2020/lib/chat/conversation.component.mjs +128 -21
  76. package/esm2020/lib/chat/conversation.pane.component.mjs +13 -9
  77. package/esm2020/lib/compose/action/action-picker.component.mjs +107 -14
  78. package/esm2020/lib/compose/action/action.dialog.mjs +78 -13
  79. package/esm2020/lib/compose/action/action.pane.dialog.exp.mjs +58 -12
  80. package/esm2020/lib/compose/action/assign-action.component.mjs +93 -10
  81. package/esm2020/lib/compose/action/moveto-action.component.mjs +110 -10
  82. package/esm2020/lib/compose/action/return-action.component.mjs +55 -7
  83. package/esm2020/lib/compose/attachments/attachments.component.mjs +140 -13
  84. package/esm2020/lib/compose/attachments/preview/attachment-preview.component.mjs +147 -58
  85. package/esm2020/lib/compose/attachments/progress-button.directive.mjs +9 -9
  86. package/esm2020/lib/compose/box/box.component.mjs +160 -7
  87. package/esm2020/lib/compose/can-deactivate-changes.service.mjs +6 -6
  88. package/esm2020/lib/compose/comments/comment.component.mjs +189 -26
  89. package/esm2020/lib/compose/comments/comments.component.mjs +111 -22
  90. package/esm2020/lib/compose/comments/comments.pane.component.mjs +21 -12
  91. package/esm2020/lib/compose/comments/edit-comment.component.mjs +16 -10
  92. package/esm2020/lib/compose/comments/edits.component.mjs +47 -10
  93. package/esm2020/lib/compose/comments/quick-comment.component.exp.mjs +37 -10
  94. package/esm2020/lib/compose/comments/votes.component.mjs +45 -10
  95. package/esm2020/lib/compose/compose-resolve.service.mjs +11 -11
  96. package/esm2020/lib/compose/compose.mobile.component.mjs +297 -19
  97. package/esm2020/lib/compose/compose.pane.component.mjs +336 -36
  98. package/esm2020/lib/compose/copy/copy.dialog.mjs +58 -7
  99. package/esm2020/lib/compose/dismiss.service.mjs +6 -6
  100. package/esm2020/lib/compose/document-resolver.service.mjs +6 -6
  101. package/esm2020/lib/compose/document.component.mjs +28 -12
  102. package/esm2020/lib/compose/document.mobile.component.mjs +13 -9
  103. package/esm2020/lib/compose/document.pane.component.mjs +13 -9
  104. package/esm2020/lib/compose/events/events.component.mjs +33 -9
  105. package/esm2020/lib/compose/form-selector/form-selector.sheet.mjs +40 -7
  106. package/esm2020/lib/compose/form.component.mjs +119 -40
  107. package/esm2020/lib/compose/new-menu.component.mjs +45 -9
  108. package/esm2020/lib/compose/privilage.directive.mjs +31 -31
  109. package/esm2020/lib/compose/recipient-resolver.service.mjs +6 -6
  110. package/esm2020/lib/compose/state.component.mjs +9 -9
  111. package/esm2020/lib/compose/tag/tags.component.mjs +73 -16
  112. package/esm2020/lib/compose/trace/flow.component.mjs +13 -13
  113. package/esm2020/lib/compose/trace/people.component.mjs +23 -13
  114. package/esm2020/lib/compose/trace/trace.base.mjs +6 -6
  115. package/esm2020/lib/compose/trace/trace.component.mjs +306 -11
  116. package/esm2020/lib/compose/trace/trace.pane.component.mjs +31 -15
  117. package/esm2020/lib/compose/version-compare/version-compare.component.mjs +14 -14
  118. package/esm2020/lib/compose/version-compare/version-compare.directive.mjs +64 -64
  119. package/esm2020/lib/compose/version-compare/version.pane.component.mjs +66 -9
  120. package/esm2020/lib/core/NgComponentOutlet.mjs +18 -18
  121. package/esm2020/lib/core/account.service.mjs +7 -7
  122. package/esm2020/lib/core/animated-icon/animated-icon.directive.mjs +7 -7
  123. package/esm2020/lib/core/avatar/avatar.component.mjs +43 -16
  124. package/esm2020/lib/core/component-factory-resolver.mjs +6 -6
  125. package/esm2020/lib/core/controls/address.input.mjs +74 -45
  126. package/esm2020/lib/core/controls/auto-complete.input.mjs +129 -65
  127. package/esm2020/lib/core/controls/combination-picker-body.mjs +156 -20
  128. package/esm2020/lib/core/controls/combination-picker.mjs +71 -52
  129. package/esm2020/lib/core/controls/combination-pool.mjs +76 -20
  130. package/esm2020/lib/core/controls/file.input.mjs +316 -51
  131. package/esm2020/lib/core/controls/select.input.mjs +115 -59
  132. package/esm2020/lib/core/controls/time-picker.mjs +49 -25
  133. package/esm2020/lib/core/controls/timespan.input.mjs +59 -37
  134. package/esm2020/lib/core/datasource.service.mjs +7 -7
  135. package/esm2020/lib/core/guide/guide.component.mjs +88 -19
  136. package/esm2020/lib/core/guide/guide.service.mjs +10 -10
  137. package/esm2020/lib/core/guide/help-tip.component.mjs +36 -14
  138. package/esm2020/lib/core/http.interceptor.mjs +12 -12
  139. package/esm2020/lib/core/hub.service.mjs +9 -9
  140. package/esm2020/lib/core/identity/identity.component.mjs +38 -16
  141. package/esm2020/lib/core/info/attachment-info.service.mjs +6 -6
  142. package/esm2020/lib/core/info/document-info.service.mjs +6 -6
  143. package/esm2020/lib/core/info/location-info.component.mjs +12 -12
  144. package/esm2020/lib/core/info/map-info.mjs +6 -6
  145. package/esm2020/lib/core/layout/autocomplete.field.mjs +66 -22
  146. package/esm2020/lib/core/layout/checkbox.field.mjs +56 -18
  147. package/esm2020/lib/core/layout/checkbox.mjs +33 -19
  148. package/esm2020/lib/core/layout/date-range.field.mjs +47 -22
  149. package/esm2020/lib/core/layout/date.field.mjs +67 -23
  150. package/esm2020/lib/core/layout/expression.field.mjs +66 -24
  151. package/esm2020/lib/core/layout/file.field.mjs +64 -20
  152. package/esm2020/lib/core/layout/html.field.mjs +60 -18
  153. package/esm2020/lib/core/layout/input.base.mjs +6 -6
  154. package/esm2020/lib/core/layout/input.field.mjs +64 -20
  155. package/esm2020/lib/core/layout/layout.component.mjs +34 -26
  156. package/esm2020/lib/core/layout/numeric.field.mjs +72 -21
  157. package/esm2020/lib/core/layout/select.field.mjs +100 -33
  158. package/esm2020/lib/core/layout/switch.field.mjs +56 -18
  159. package/esm2020/lib/core/layout/textarea.field.mjs +60 -18
  160. package/esm2020/lib/core/layout/timespan.field.mjs +67 -22
  161. package/esm2020/lib/core/lottie-animation.mjs +22 -20
  162. package/esm2020/lib/core/mailbox.service.mjs +7 -7
  163. package/esm2020/lib/core/models.mjs +1 -1
  164. package/esm2020/lib/core/none.component.mjs +39 -17
  165. package/esm2020/lib/core/pipes/action.pipe.mjs +7 -7
  166. package/esm2020/lib/core/pipes/calendar.pipe.mjs +10 -10
  167. package/esm2020/lib/core/pipes/date-format.pipe.mjs +7 -7
  168. package/esm2020/lib/core/pipes/daterange.pipe.mjs +13 -13
  169. package/esm2020/lib/core/pipes/difference.pipe.mjs +7 -7
  170. package/esm2020/lib/core/pipes/duration-format.pipe.mjs +7 -7
  171. package/esm2020/lib/core/pipes/duration.pipe.mjs +7 -7
  172. package/esm2020/lib/core/pipes/form.pipe.mjs +7 -7
  173. package/esm2020/lib/core/pipes/join.pipe.mjs +7 -7
  174. package/esm2020/lib/core/pipes/role.pipe.mjs +7 -7
  175. package/esm2020/lib/core/pipes/sort.pipe.mjs +17 -17
  176. package/esm2020/lib/core/pipes/state.pipe.mjs +7 -7
  177. package/esm2020/lib/core/pipes/time-ago.pipe.mjs +10 -10
  178. package/esm2020/lib/core/pipes/type-value.pipe.mjs +9 -9
  179. package/esm2020/lib/core/pipes/user-name.pipe.mjs +7 -7
  180. package/esm2020/lib/core/popup/popup.component.mjs +26 -13
  181. package/esm2020/lib/core/popup/popup.service.mjs +7 -7
  182. package/esm2020/lib/core/popup/tooltip.directive.mjs +34 -34
  183. package/esm2020/lib/core/prompt/ask/ask.dialog.mjs +34 -10
  184. package/esm2020/lib/core/prompt/mask/mask.component.mjs +18 -10
  185. package/esm2020/lib/core/prompt.service.mjs +7 -7
  186. package/esm2020/lib/core/router.mjs +11 -11
  187. package/esm2020/lib/core/save-changes.dialog.mjs +43 -7
  188. package/esm2020/lib/core/session.service.mjs +10 -10
  189. package/esm2020/lib/core/slots/router.directive.mjs +29 -27
  190. package/esm2020/lib/core/slots/router.service.mjs +7 -7
  191. package/esm2020/lib/core/slots/slots.component.mjs +296 -41
  192. package/esm2020/lib/core/tagging/documents.component.mjs +33 -7
  193. package/esm2020/lib/core/tagging/edit-input.component.mjs +141 -38
  194. package/esm2020/lib/core/tagging/emoji.component.mjs +15 -12
  195. package/esm2020/lib/core/tagging/tagging-item.directive.mjs +31 -23
  196. package/esm2020/lib/core/tagging/tagging.component-base.mjs +14 -9
  197. package/esm2020/lib/core/tagging/tagging.directive.mjs +23 -21
  198. package/esm2020/lib/core/tagging/tagging.pipe.mjs +7 -7
  199. package/esm2020/lib/core/tagging/users.component.mjs +37 -7
  200. package/esm2020/lib/core/translate.service.mjs +7 -7
  201. package/esm2020/lib/core/translations.mjs +4 -1
  202. package/esm2020/lib/core/window-title.service.mjs +10 -10
  203. package/esm2020/lib/cube/accum/accum.component.mjs +41 -39
  204. package/esm2020/lib/cube/chart/chart.component.mjs +47 -45
  205. package/esm2020/lib/cube/cube-info.service.mjs +6 -6
  206. package/esm2020/lib/cube/cube-menu.component.mjs +70 -11
  207. package/esm2020/lib/cube/cube-view.component.mjs +34 -32
  208. package/esm2020/lib/cube/cube.service.mjs +10 -10
  209. package/esm2020/lib/cube/explore/document-item.component.mjs +15 -11
  210. package/esm2020/lib/cube/explore/explore-item.component.mjs +11 -11
  211. package/esm2020/lib/cube/explore/explore-items.component.mjs +167 -37
  212. package/esm2020/lib/cube/explore/explore.pane.component.mjs +65 -12
  213. package/esm2020/lib/cube/explore/item-resolver.service.mjs +11 -11
  214. package/esm2020/lib/cube/explore/item.pane.component.mjs +13 -9
  215. package/esm2020/lib/cube/filter/filter-tags.component.exp.mjs +59 -15
  216. package/esm2020/lib/cube/filter/filter.component.mjs +153 -17
  217. package/esm2020/lib/cube/grid/grid.component.mjs +33 -31
  218. package/esm2020/lib/cube/grid/spreadsheet.component.mjs +39 -37
  219. package/esm2020/lib/cube/matrix/matrix.base.mjs +6 -6
  220. package/esm2020/lib/cube/matrix/matrix.mobile.component.mjs +112 -10
  221. package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +123 -12
  222. package/esm2020/lib/cube/matrix/popup.component.mjs +120 -16
  223. package/esm2020/lib/cube/matrix/table.component.mjs +178 -45
  224. package/esm2020/lib/cube/parallel/parallel.component.mjs +57 -28
  225. package/esm2020/lib/cube/pivot/pivot.component.mjs +43 -40
  226. package/esm2020/lib/cube/sum/sum.component.mjs +238 -32
  227. package/esm2020/lib/cube/view-base.mjs +6 -6
  228. package/esm2020/lib/cube/view.mobile.component.mjs +177 -19
  229. package/esm2020/lib/cube/view.pane.component.mjs +109 -15
  230. package/esm2020/lib/dashboard/actions/actions.widget.mjs +28 -21
  231. package/esm2020/lib/dashboard/cube/accum-cube.widget.mjs +17 -15
  232. package/esm2020/lib/dashboard/cube/compare.widget.mjs +25 -18
  233. package/esm2020/lib/dashboard/cube/cube-analysis.base.mjs +6 -6
  234. package/esm2020/lib/dashboard/cube/cube-analysis.widget.mjs +10 -10
  235. package/esm2020/lib/dashboard/cube/cube-chart.widget.mjs +17 -15
  236. package/esm2020/lib/dashboard/cube/documents.widget.mjs +114 -19
  237. package/esm2020/lib/dashboard/cube/filter/filter.component.mjs +13 -7
  238. package/esm2020/lib/dashboard/dashboard.component.mjs +90 -12
  239. package/esm2020/lib/dashboard/dashboard.pane.component.mjs +9 -7
  240. package/esm2020/lib/dashboard/recents/recents.widget.mjs +164 -19
  241. package/esm2020/lib/dashboard/score/activity.widget.mjs +18 -13
  242. package/esm2020/lib/dashboard/score/compare-groups.widget.mjs +25 -18
  243. package/esm2020/lib/dashboard/score/peers-performance.widget.mjs +26 -19
  244. package/esm2020/lib/dashboard/score/pending-results.widget.mjs +143 -19
  245. package/esm2020/lib/dashboard/score/personal-score.widget.mjs +23 -18
  246. package/esm2020/lib/dashboard/widget-item.component.mjs +17 -15
  247. package/esm2020/lib/desktop.module.mjs +58 -57
  248. package/esm2020/lib/home/about/about.dialog.mjs +97 -7
  249. package/esm2020/lib/home/home-base.component.mjs +6 -6
  250. package/esm2020/lib/home/home.desktop.component.mjs +336 -16
  251. package/esm2020/lib/home/home.mobile.component.mjs +310 -16
  252. package/esm2020/lib/home/notifications/notifications.component.mjs +78 -7
  253. package/esm2020/lib/home/options/options.component.mjs +171 -7
  254. package/esm2020/lib/home/outofoffice/outofoffice.component.mjs +40 -10
  255. package/esm2020/lib/home/search.service.mjs +6 -6
  256. package/esm2020/lib/home/sign/sign.component.mjs +32 -7
  257. package/esm2020/lib/home/tools.component.mjs +87 -13
  258. package/esm2020/lib/impersonate/impersonate.component.mjs +61 -7
  259. package/esm2020/lib/mobile.module.mjs +34 -33
  260. package/esm2020/lib/modules/chart.module.mjs +22 -21
  261. package/esm2020/lib/modules/circular-gauge.module.mjs +13 -12
  262. package/esm2020/lib/modules/datepicker.intl.mjs +6 -6
  263. package/esm2020/lib/modules/dayjs.module.mjs +11 -11
  264. package/esm2020/lib/modules/diagram.module.mjs +24 -23
  265. package/esm2020/lib/modules/gantt.module.mjs +13 -12
  266. package/esm2020/lib/modules/grid.module.mjs +16 -15
  267. package/esm2020/lib/modules/material.module.mjs +87 -86
  268. package/esm2020/lib/modules/paginator.intl.mjs +6 -6
  269. package/esm2020/lib/modules/pivot.module.mjs +17 -16
  270. package/esm2020/lib/modules/schedule.module.mjs +15 -14
  271. package/esm2020/lib/modules/spreadsheet.module.mjs +21 -20
  272. package/esm2020/lib/modules/stepper.intl.mjs +6 -6
  273. package/esm2020/lib/modules/texteditor.module.mjs +19 -18
  274. package/esm2020/lib/notifications/filter.component.mjs +22 -7
  275. package/esm2020/lib/notifications/notifications-table.component.mjs +214 -10
  276. package/esm2020/lib/notifications/notifications.mobile.component.mjs +11 -9
  277. package/esm2020/lib/notifications/notifications.pane.component.mjs +14 -12
  278. package/esm2020/lib/notifications/notifications.service.mjs +6 -6
  279. package/esm2020/lib/notifications/types/commented.notification.mjs +42 -15
  280. package/esm2020/lib/notifications/types/cube-anomaly.notification.mjs +25 -15
  281. package/esm2020/lib/notifications/types/escalated.notification.mjs +24 -12
  282. package/esm2020/lib/notifications/types/liked.notification.mjs +42 -15
  283. package/esm2020/lib/notifications/types/long-running-task.notification.mjs +17 -13
  284. package/esm2020/lib/notifications/types/notification-base.mjs +11 -9
  285. package/esm2020/lib/notifications/types/nudge.notification.mjs +18 -12
  286. package/esm2020/lib/notifications/types/state-changed.notification.mjs +18 -10
  287. package/esm2020/lib/notifications/types/tagged.notification.mjs +26 -14
  288. package/esm2020/lib/notifications/types/text.notification.mjs +14 -10
  289. package/esm2020/lib/notifications/types/upcoming-event.notification.mjs +24 -15
  290. package/esm2020/lib/options/options.component.mjs +350 -25
  291. package/esm2020/lib/options/options.service.mjs +6 -6
  292. package/esm2020/lib/reports/arguments-component.mjs +20 -20
  293. package/esm2020/lib/reports/cube/documents.component.mjs +9 -9
  294. package/esm2020/lib/reports/cube/grid-documents.component.mjs +77 -10
  295. package/esm2020/lib/reports/cube/table-documents.component.mjs +175 -13
  296. package/esm2020/lib/reports/cube/usage-args.component.mjs +13 -7
  297. package/esm2020/lib/reports/cube/usage-base.mjs +6 -6
  298. package/esm2020/lib/reports/cube/usage-chart.component.mjs +15 -13
  299. package/esm2020/lib/reports/cube/usage-pivot.component.mjs +21 -14
  300. package/esm2020/lib/reports/cube/usage.component.mjs +9 -9
  301. package/esm2020/lib/reports/report-viewer.component.mjs +36 -20
  302. package/esm2020/lib/reports/report.mobile.component.mjs +105 -13
  303. package/esm2020/lib/reports/report.pane.component.mjs +92 -15
  304. package/esm2020/lib/reports/reports-menu.component.mjs +40 -11
  305. package/esm2020/lib/reports/substitution/substitution.component.mjs +157 -10
  306. package/esm2020/lib/reports/table/table-view.component.mjs +74 -16
  307. package/esm2020/lib/reports/tasks/tasks.component.mjs +38 -10
  308. package/esm2020/lib/scheduler/schedule.component.mjs +110 -14
  309. package/esm2020/lib/scheduler/scheduler.mobile.component.mjs +15 -9
  310. package/esm2020/lib/scheduler/scheduler.pane.component.mjs +19 -12
  311. package/esm2020/lib/shared.module.mjs +197 -196
  312. package/esm2020/lib/system.module.mjs +64 -62
  313. package/esm2020/lib/views/cube/chart.component.mjs +45 -7
  314. package/esm2020/lib/views/cube/cube-base.mjs +6 -6
  315. package/esm2020/lib/views/cube/explore.component.mjs +128 -7
  316. package/esm2020/lib/views/cube/matrix.component.mjs +164 -10
  317. package/esm2020/lib/views/cube/parallel.component.mjs +20 -7
  318. package/esm2020/lib/views/cube/pivot.component.mjs +20 -7
  319. package/esm2020/lib/views/cube/sum.component.mjs +116 -7
  320. package/esm2020/lib/views/cube/view.component.mjs +137 -10
  321. package/esm2020/lib/views/timeline/timeline.component.exp.mjs +14 -12
  322. package/esm2020/lib/views/view-item.component.mjs +20 -18
  323. package/esm2020/lib/views/views.component.mjs +31 -12
  324. package/esm2020/lib/views/views.mobile.component.mjs +11 -7
  325. package/esm2020/lib/views/views.pane.component.mjs +19 -10
  326. package/fesm2015/bizdoc-core.mjs +25737 -2457
  327. package/fesm2015/bizdoc-core.mjs.map +1 -1
  328. package/fesm2020/bizdoc-core.mjs +24051 -5129
  329. package/fesm2020/bizdoc-core.mjs.map +1 -1
  330. package/index.d.ts +1 -0
  331. package/lib/admin/admin-dismiss.service.d.ts +1 -0
  332. package/lib/admin/admin-dismiss.service.d.ts.map +1 -0
  333. package/lib/admin/admin-menu.component.d.ts +1 -0
  334. package/lib/admin/admin-menu.component.d.ts.map +1 -0
  335. package/lib/admin/configuration-designer/cube-axes-filter.component.d.ts +36 -0
  336. package/lib/admin/configuration-designer/cube-axes-filter.component.d.ts.map +1 -0
  337. package/lib/admin/configuration-designer/designer-element.component.d.ts +6 -2
  338. package/lib/admin/configuration-designer/designer-element.component.d.ts.map +1 -0
  339. package/lib/admin/configuration-designer/designer.base.d.ts +25 -3
  340. package/lib/admin/configuration-designer/designer.base.d.ts.map +1 -0
  341. package/lib/admin/configuration-designer/designer.component.d.ts +1 -0
  342. package/lib/admin/configuration-designer/designer.component.d.ts.map +1 -0
  343. package/lib/admin/configuration-designer/elements/action.component.d.ts +16 -1
  344. package/lib/admin/configuration-designer/elements/action.component.d.ts.map +1 -0
  345. package/lib/admin/configuration-designer/elements/analysis-view.component.d.ts +1 -0
  346. package/lib/admin/configuration-designer/elements/analysis-view.component.d.ts.map +1 -0
  347. package/lib/admin/configuration-designer/elements/analysis-widget.component.d.ts +1 -0
  348. package/lib/admin/configuration-designer/elements/analysis-widget.component.d.ts.map +1 -0
  349. package/lib/admin/configuration-designer/elements/anomaly-rule.component.d.ts +1 -0
  350. package/lib/admin/configuration-designer/elements/anomaly-rule.component.d.ts.map +1 -0
  351. package/lib/admin/configuration-designer/elements/box-form.component.d.ts +1 -0
  352. package/lib/admin/configuration-designer/elements/box-form.component.d.ts.map +1 -0
  353. package/lib/admin/configuration-designer/elements/configuration-datasource.component.d.ts +1 -0
  354. package/lib/admin/configuration-designer/elements/configuration-datasource.component.d.ts.map +1 -0
  355. package/lib/admin/configuration-designer/elements/cube-index-utility.component.d.ts +1 -0
  356. package/lib/admin/configuration-designer/elements/cube-index-utility.component.d.ts.map +1 -0
  357. package/lib/admin/configuration-designer/elements/cube-view.component.d.ts +1 -0
  358. package/lib/admin/configuration-designer/elements/cube-view.component.d.ts.map +1 -0
  359. package/lib/admin/configuration-designer/elements/cube.component.d.ts +1 -0
  360. package/lib/admin/configuration-designer/elements/cube.component.d.ts.map +1 -0
  361. package/lib/admin/configuration-designer/elements/documents-report.component.d.ts +1 -0
  362. package/lib/admin/configuration-designer/elements/documents-report.component.d.ts.map +1 -0
  363. package/lib/admin/configuration-designer/elements/documents-widget.component.d.ts +1 -0
  364. package/lib/admin/configuration-designer/elements/documents-widget.component.d.ts.map +1 -0
  365. package/lib/admin/configuration-designer/elements/explore-view.component.d.ts +1 -0
  366. package/lib/admin/configuration-designer/elements/explore-view.component.d.ts.map +1 -0
  367. package/lib/admin/configuration-designer/elements/folder.component.d.ts +13 -1
  368. package/lib/admin/configuration-designer/elements/folder.component.d.ts.map +1 -0
  369. package/lib/admin/configuration-designer/elements/form.component.d.ts +1 -0
  370. package/lib/admin/configuration-designer/elements/form.component.d.ts.map +1 -0
  371. package/lib/admin/configuration-designer/elements/guide.component.d.ts +1 -0
  372. package/lib/admin/configuration-designer/elements/guide.component.d.ts.map +1 -0
  373. package/lib/admin/configuration-designer/elements/matrix-view.component.d.ts +1 -0
  374. package/lib/admin/configuration-designer/elements/matrix-view.component.d.ts.map +1 -0
  375. package/lib/admin/configuration-designer/elements/parallel-view.component.d.ts +1 -0
  376. package/lib/admin/configuration-designer/elements/parallel-view.component.d.ts.map +1 -0
  377. package/lib/admin/configuration-designer/elements/performance-widget.component.d.ts +1 -0
  378. package/lib/admin/configuration-designer/elements/performance-widget.component.d.ts.map +1 -0
  379. package/lib/admin/configuration-designer/elements/pivot-view.component.d.ts +1 -0
  380. package/lib/admin/configuration-designer/elements/pivot-view.component.d.ts.map +1 -0
  381. package/lib/admin/configuration-designer/elements/report.component.d.ts +1 -0
  382. package/lib/admin/configuration-designer/elements/report.component.d.ts.map +1 -0
  383. package/lib/admin/configuration-designer/elements/return-to-role-action.component.d.ts +1 -0
  384. package/lib/admin/configuration-designer/elements/return-to-role-action.component.d.ts.map +1 -0
  385. package/lib/admin/configuration-designer/elements/role.component.d.ts +3 -0
  386. package/lib/admin/configuration-designer/elements/role.component.d.ts.map +1 -0
  387. package/lib/admin/configuration-designer/elements/rule.component.d.ts +1 -0
  388. package/lib/admin/configuration-designer/elements/rule.component.d.ts.map +1 -0
  389. package/lib/admin/configuration-designer/elements/state.component.d.ts +5 -0
  390. package/lib/admin/configuration-designer/elements/state.component.d.ts.map +1 -0
  391. package/lib/admin/configuration-designer/elements/sum-view.component.d.ts +1 -0
  392. package/lib/admin/configuration-designer/elements/sum-view.component.d.ts.map +1 -0
  393. package/lib/admin/configuration-designer/elements/tasks-report.component.d.ts +1 -0
  394. package/lib/admin/configuration-designer/elements/tasks-report.component.d.ts.map +1 -0
  395. package/lib/admin/configuration-designer/elements/type.component.d.ts +1 -0
  396. package/lib/admin/configuration-designer/elements/type.component.d.ts.map +1 -0
  397. package/lib/admin/configuration-designer/elements/usage-report.component.d.ts +1 -0
  398. package/lib/admin/configuration-designer/elements/usage-report.component.d.ts.map +1 -0
  399. package/lib/admin/configuration-designer/elements/utility.component.d.ts +1 -0
  400. package/lib/admin/configuration-designer/elements/utility.component.d.ts.map +1 -0
  401. package/lib/admin/configuration-designer/elements/view.component.d.ts +1 -0
  402. package/lib/admin/configuration-designer/elements/view.component.d.ts.map +1 -0
  403. package/lib/admin/configuration-designer/elements/widget.component.d.ts +1 -0
  404. package/lib/admin/configuration-designer/elements/widget.component.d.ts.map +1 -0
  405. package/lib/admin/configuration-designer/icon-picker.component.d.ts +1 -0
  406. package/lib/admin/configuration-designer/icon-picker.component.d.ts.map +1 -0
  407. package/lib/admin/core/ace.input.d.ts +1 -0
  408. package/lib/admin/core/ace.input.d.ts.map +1 -0
  409. package/lib/admin/core/color-picker.input.d.ts +1 -0
  410. package/lib/admin/core/color-picker.input.d.ts.map +1 -0
  411. package/lib/admin/core/search.input.d.ts +1 -0
  412. package/lib/admin/core/search.input.d.ts.map +1 -0
  413. package/lib/admin/diff/configuration-diff.component.d.ts +1 -0
  414. package/lib/admin/diff/configuration-diff.component.d.ts.map +1 -0
  415. package/lib/admin/document-trace/document-trace.component.d.ts +1 -0
  416. package/lib/admin/document-trace/document-trace.component.d.ts.map +1 -0
  417. package/lib/admin/document-trace/reassign.dialog.d.ts +1 -0
  418. package/lib/admin/document-trace/reassign.dialog.d.ts.map +1 -0
  419. package/lib/admin/document-trace/timeline.d.ts +1 -0
  420. package/lib/admin/document-trace/timeline.d.ts.map +1 -0
  421. package/lib/admin/document-trace/trace-element.component.d.ts +1 -0
  422. package/lib/admin/document-trace/trace-element.component.d.ts.map +1 -0
  423. package/lib/admin/form/designer/designer.component.d.ts +1 -0
  424. package/lib/admin/form/designer/designer.component.d.ts.map +1 -0
  425. package/lib/admin/form/form.resolve.service.d.ts +1 -0
  426. package/lib/admin/form/form.resolve.service.d.ts.map +1 -0
  427. package/lib/admin/form/workflow/node-ref.d.ts +1 -0
  428. package/lib/admin/form/workflow/node-ref.d.ts.map +1 -0
  429. package/lib/admin/form/workflow/node.component.d.ts +1 -0
  430. package/lib/admin/form/workflow/node.component.d.ts.map +1 -0
  431. package/lib/admin/form/workflow/role-node.component.d.ts +1 -0
  432. package/lib/admin/form/workflow/role-node.component.d.ts.map +1 -0
  433. package/lib/admin/form/workflow/workflow.component.d.ts +1 -0
  434. package/lib/admin/form/workflow/workflow.component.d.ts.map +1 -0
  435. package/lib/admin/indices/manage-cube-index.component.d.ts +1 -0
  436. package/lib/admin/indices/manage-cube-index.component.d.ts.map +1 -0
  437. package/lib/admin/patterns/patterns.component.d.ts +1 -0
  438. package/lib/admin/patterns/patterns.component.d.ts.map +1 -0
  439. package/lib/admin/permissions/permissions.component.d.ts +1 -0
  440. package/lib/admin/permissions/permissions.component.d.ts.map +1 -0
  441. package/lib/admin/positions/positions-popup.component.d.ts +1 -0
  442. package/lib/admin/positions/positions-popup.component.d.ts.map +1 -0
  443. package/lib/admin/positions/positions.component.d.ts +1 -0
  444. package/lib/admin/positions/positions.component.d.ts.map +1 -0
  445. package/lib/admin/profiler/outofoffice.component.d.ts +1 -0
  446. package/lib/admin/profiler/outofoffice.component.d.ts.map +1 -0
  447. package/lib/admin/profiler/profiler.component.d.ts +1 -0
  448. package/lib/admin/profiler/profiler.component.d.ts.map +1 -0
  449. package/lib/admin/system.service.d.ts +1 -0
  450. package/lib/admin/system.service.d.ts.map +1 -0
  451. package/lib/admin/utility-ref.d.ts +1 -0
  452. package/lib/admin/utility-ref.d.ts.map +1 -0
  453. package/lib/admin/utility-wrapper.component.d.ts +1 -0
  454. package/lib/admin/utility-wrapper.component.d.ts.map +1 -0
  455. package/lib/admin/utility.pane.component.d.ts +1 -0
  456. package/lib/admin/utility.pane.component.d.ts.map +1 -0
  457. package/lib/app.component.d.ts +1 -0
  458. package/lib/app.component.d.ts.map +1 -0
  459. package/lib/bizdoc.module.d.ts +1 -0
  460. package/lib/bizdoc.module.d.ts.map +1 -0
  461. package/lib/browse/browse-items.component.d.ts +1 -0
  462. package/lib/browse/browse-items.component.d.ts.map +1 -0
  463. package/lib/browse/browse.mobile.component.d.ts +1 -0
  464. package/lib/browse/browse.mobile.component.d.ts.map +1 -0
  465. package/lib/browse/browse.pane.component.d.ts +1 -0
  466. package/lib/browse/browse.pane.component.d.ts.map +1 -0
  467. package/lib/browse/expanded-item/expanded-item.component.d.ts +1 -0
  468. package/lib/browse/expanded-item/expanded-item.component.d.ts.map +1 -0
  469. package/lib/browse/filter/filter.component.d.ts +1 -0
  470. package/lib/browse/filter/filter.component.d.ts.map +1 -0
  471. package/lib/browse/folders-menu.component.d.ts +1 -0
  472. package/lib/browse/folders-menu.component.d.ts.map +1 -0
  473. package/lib/chat/chat-info.d.ts +1 -0
  474. package/lib/chat/chat-info.d.ts.map +1 -0
  475. package/lib/chat/chat.mobile.component.d.ts +1 -0
  476. package/lib/chat/chat.mobile.component.d.ts.map +1 -0
  477. package/lib/chat/chat.service.d.ts +1 -0
  478. package/lib/chat/chat.service.d.ts.map +1 -0
  479. package/lib/chat/contacts.component.d.ts +1 -0
  480. package/lib/chat/contacts.component.d.ts.map +1 -0
  481. package/lib/chat/contacts.pane.component.d.ts +1 -0
  482. package/lib/chat/contacts.pane.component.d.ts.map +1 -0
  483. package/lib/chat/conversation.component.d.ts +1 -0
  484. package/lib/chat/conversation.component.d.ts.map +1 -0
  485. package/lib/chat/conversation.pane.component.d.ts +1 -0
  486. package/lib/chat/conversation.pane.component.d.ts.map +1 -0
  487. package/lib/compose/action/action-picker.component.d.ts +1 -0
  488. package/lib/compose/action/action-picker.component.d.ts.map +1 -0
  489. package/lib/compose/action/action-ref.d.ts +1 -0
  490. package/lib/compose/action/action-ref.d.ts.map +1 -0
  491. package/lib/compose/action/action.base.d.ts +1 -0
  492. package/lib/compose/action/action.base.d.ts.map +1 -0
  493. package/lib/compose/action/action.dialog.d.ts +1 -0
  494. package/lib/compose/action/action.dialog.d.ts.map +1 -0
  495. package/lib/compose/action/action.pane.dialog.exp.d.ts +1 -0
  496. package/lib/compose/action/action.pane.dialog.exp.d.ts.map +1 -0
  497. package/lib/compose/action/assign-action.component.d.ts +1 -0
  498. package/lib/compose/action/assign-action.component.d.ts.map +1 -0
  499. package/lib/compose/action/moveto-action.component.d.ts +1 -0
  500. package/lib/compose/action/moveto-action.component.d.ts.map +1 -0
  501. package/lib/compose/action/return-action.component.d.ts +1 -0
  502. package/lib/compose/action/return-action.component.d.ts.map +1 -0
  503. package/lib/compose/attachments/attachments.component.d.ts +1 -0
  504. package/lib/compose/attachments/attachments.component.d.ts.map +1 -0
  505. package/lib/compose/attachments/preview/attachment-preview.component.d.ts +1 -0
  506. package/lib/compose/attachments/preview/attachment-preview.component.d.ts.map +1 -0
  507. package/lib/compose/attachments/progress-button.directive.d.ts +1 -0
  508. package/lib/compose/attachments/progress-button.directive.d.ts.map +1 -0
  509. package/lib/compose/box/box.component.d.ts +1 -0
  510. package/lib/compose/box/box.component.d.ts.map +1 -0
  511. package/lib/compose/can-deactivate-changes.service.d.ts +1 -0
  512. package/lib/compose/can-deactivate-changes.service.d.ts.map +1 -0
  513. package/lib/compose/comments/comment.component.d.ts +1 -0
  514. package/lib/compose/comments/comment.component.d.ts.map +1 -0
  515. package/lib/compose/comments/comments.component.d.ts +1 -0
  516. package/lib/compose/comments/comments.component.d.ts.map +1 -0
  517. package/lib/compose/comments/comments.pane.component.d.ts +1 -0
  518. package/lib/compose/comments/comments.pane.component.d.ts.map +1 -0
  519. package/lib/compose/comments/edit-comment.component.d.ts +1 -0
  520. package/lib/compose/comments/edit-comment.component.d.ts.map +1 -0
  521. package/lib/compose/comments/edits.component.d.ts +1 -0
  522. package/lib/compose/comments/edits.component.d.ts.map +1 -0
  523. package/lib/compose/comments/quick-comment.component.exp.d.ts +1 -0
  524. package/lib/compose/comments/quick-comment.component.exp.d.ts.map +1 -0
  525. package/lib/compose/comments/votes.component.d.ts +1 -0
  526. package/lib/compose/comments/votes.component.d.ts.map +1 -0
  527. package/lib/compose/compose-resolve.service.d.ts +1 -0
  528. package/lib/compose/compose-resolve.service.d.ts.map +1 -0
  529. package/lib/compose/compose.mobile.component.d.ts +1 -0
  530. package/lib/compose/compose.mobile.component.d.ts.map +1 -0
  531. package/lib/compose/compose.pane.component.d.ts +1 -0
  532. package/lib/compose/compose.pane.component.d.ts.map +1 -0
  533. package/lib/compose/copy/copy.dialog.d.ts +1 -0
  534. package/lib/compose/copy/copy.dialog.d.ts.map +1 -0
  535. package/lib/compose/dismiss.service.d.ts +1 -0
  536. package/lib/compose/dismiss.service.d.ts.map +1 -0
  537. package/lib/compose/document-resolver.service.d.ts +1 -0
  538. package/lib/compose/document-resolver.service.d.ts.map +1 -0
  539. package/lib/compose/document.component.d.ts +1 -0
  540. package/lib/compose/document.component.d.ts.map +1 -0
  541. package/lib/compose/document.mobile.component.d.ts +1 -0
  542. package/lib/compose/document.mobile.component.d.ts.map +1 -0
  543. package/lib/compose/document.pane.component.d.ts +1 -0
  544. package/lib/compose/document.pane.component.d.ts.map +1 -0
  545. package/lib/compose/events/events.component.d.ts +1 -0
  546. package/lib/compose/events/events.component.d.ts.map +1 -0
  547. package/lib/compose/form-ref.d.ts +1 -0
  548. package/lib/compose/form-ref.d.ts.map +1 -0
  549. package/lib/compose/form-selector/form-selector.sheet.d.ts +1 -0
  550. package/lib/compose/form-selector/form-selector.sheet.d.ts.map +1 -0
  551. package/lib/compose/form.component.d.ts +1 -0
  552. package/lib/compose/form.component.d.ts.map +1 -0
  553. package/lib/compose/new-menu.component.d.ts +1 -0
  554. package/lib/compose/new-menu.component.d.ts.map +1 -0
  555. package/lib/compose/privilage.directive.d.ts +1 -0
  556. package/lib/compose/privilage.directive.d.ts.map +1 -0
  557. package/lib/compose/recipient-resolver.service.d.ts +1 -0
  558. package/lib/compose/recipient-resolver.service.d.ts.map +1 -0
  559. package/lib/compose/state.component.d.ts +1 -0
  560. package/lib/compose/state.component.d.ts.map +1 -0
  561. package/lib/compose/tag/tags.component.d.ts +1 -0
  562. package/lib/compose/tag/tags.component.d.ts.map +1 -0
  563. package/lib/compose/trace/flow.component.d.ts +1 -0
  564. package/lib/compose/trace/flow.component.d.ts.map +1 -0
  565. package/lib/compose/trace/people.component.d.ts +1 -0
  566. package/lib/compose/trace/people.component.d.ts.map +1 -0
  567. package/lib/compose/trace/trace.base.d.ts +1 -0
  568. package/lib/compose/trace/trace.base.d.ts.map +1 -0
  569. package/lib/compose/trace/trace.component.d.ts +1 -0
  570. package/lib/compose/trace/trace.component.d.ts.map +1 -0
  571. package/lib/compose/trace/trace.pane.component.d.ts +1 -0
  572. package/lib/compose/trace/trace.pane.component.d.ts.map +1 -0
  573. package/lib/compose/version-compare/version-compare.component.d.ts +1 -0
  574. package/lib/compose/version-compare/version-compare.component.d.ts.map +1 -0
  575. package/lib/compose/version-compare/version-compare.directive.d.ts +1 -0
  576. package/lib/compose/version-compare/version-compare.directive.d.ts.map +1 -0
  577. package/lib/compose/version-compare/version.pane.component.d.ts +1 -0
  578. package/lib/compose/version-compare/version.pane.component.d.ts.map +1 -0
  579. package/lib/core/NgComponentOutlet.d.ts +1 -0
  580. package/lib/core/NgComponentOutlet.d.ts.map +1 -0
  581. package/lib/core/account.service.d.ts +1 -0
  582. package/lib/core/account.service.d.ts.map +1 -0
  583. package/lib/core/animated-icon/animated-icon.directive.d.ts +1 -0
  584. package/lib/core/animated-icon/animated-icon.directive.d.ts.map +1 -0
  585. package/lib/core/animations.d.ts +1 -0
  586. package/lib/core/animations.d.ts.map +1 -0
  587. package/lib/core/authentication.d.ts +1 -0
  588. package/lib/core/authentication.d.ts.map +1 -0
  589. package/lib/core/avatar/avatar.component.d.ts +1 -0
  590. package/lib/core/avatar/avatar.component.d.ts.map +1 -0
  591. package/lib/core/base.d.ts +1 -0
  592. package/lib/core/base.d.ts.map +1 -0
  593. package/lib/core/colors.d.ts +1 -0
  594. package/lib/core/colors.d.ts.map +1 -0
  595. package/lib/core/component-factory-resolver.d.ts +1 -0
  596. package/lib/core/component-factory-resolver.d.ts.map +1 -0
  597. package/lib/core/configuration.d.ts +1 -0
  598. package/lib/core/configuration.d.ts.map +1 -0
  599. package/lib/core/controls/address.input.d.ts +1 -0
  600. package/lib/core/controls/address.input.d.ts.map +1 -0
  601. package/lib/core/controls/auto-complete.input.d.ts +1 -0
  602. package/lib/core/controls/auto-complete.input.d.ts.map +1 -0
  603. package/lib/core/controls/combination-picker-body.d.ts +1 -0
  604. package/lib/core/controls/combination-picker-body.d.ts.map +1 -0
  605. package/lib/core/controls/combination-picker.d.ts +1 -0
  606. package/lib/core/controls/combination-picker.d.ts.map +1 -0
  607. package/lib/core/controls/combination-pool.d.ts +1 -0
  608. package/lib/core/controls/combination-pool.d.ts.map +1 -0
  609. package/lib/core/controls/file.input.d.ts +1 -0
  610. package/lib/core/controls/file.input.d.ts.map +1 -0
  611. package/lib/core/controls/select.input.d.ts +1 -0
  612. package/lib/core/controls/select.input.d.ts.map +1 -0
  613. package/lib/core/controls/time-picker.d.ts +1 -0
  614. package/lib/core/controls/time-picker.d.ts.map +1 -0
  615. package/lib/core/controls/timespan.input.d.ts +1 -0
  616. package/lib/core/controls/timespan.input.d.ts.map +1 -0
  617. package/lib/core/datasource.service.d.ts +1 -0
  618. package/lib/core/datasource.service.d.ts.map +1 -0
  619. package/lib/core/decorators.d.ts +1 -0
  620. package/lib/core/decorators.d.ts.map +1 -0
  621. package/lib/core/firebase.service.d.ts +1 -0
  622. package/lib/core/firebase.service.d.ts.map +1 -0
  623. package/lib/core/functions.d.ts +1 -0
  624. package/lib/core/functions.d.ts.map +1 -0
  625. package/lib/core/guide/guide.component.d.ts +1 -0
  626. package/lib/core/guide/guide.component.d.ts.map +1 -0
  627. package/lib/core/guide/guide.service.d.ts +1 -0
  628. package/lib/core/guide/guide.service.d.ts.map +1 -0
  629. package/lib/core/guide/help-tip.component.d.ts +1 -0
  630. package/lib/core/guide/help-tip.component.d.ts.map +1 -0
  631. package/lib/core/http.interceptor.d.ts +1 -0
  632. package/lib/core/http.interceptor.d.ts.map +1 -0
  633. package/lib/core/hub.service.d.ts +1 -0
  634. package/lib/core/hub.service.d.ts.map +1 -0
  635. package/lib/core/identity/identity.component.d.ts +1 -0
  636. package/lib/core/identity/identity.component.d.ts.map +1 -0
  637. package/lib/core/info/attachment-info.service.d.ts +1 -0
  638. package/lib/core/info/attachment-info.service.d.ts.map +1 -0
  639. package/lib/core/info/document-info.service.d.ts +1 -0
  640. package/lib/core/info/document-info.service.d.ts.map +1 -0
  641. package/lib/core/info/location-info.component.d.ts +1 -0
  642. package/lib/core/info/location-info.component.d.ts.map +1 -0
  643. package/lib/core/info/map-info.d.ts +1 -0
  644. package/lib/core/info/map-info.d.ts.map +1 -0
  645. package/lib/core/layout/autocomplete.field.d.ts +1 -0
  646. package/lib/core/layout/autocomplete.field.d.ts.map +1 -0
  647. package/lib/core/layout/checkbox.d.ts +1 -0
  648. package/lib/core/layout/checkbox.d.ts.map +1 -0
  649. package/lib/core/layout/checkbox.field.d.ts +1 -0
  650. package/lib/core/layout/checkbox.field.d.ts.map +1 -0
  651. package/lib/core/layout/date-range.field.d.ts +1 -0
  652. package/lib/core/layout/date-range.field.d.ts.map +1 -0
  653. package/lib/core/layout/date.field.d.ts +1 -0
  654. package/lib/core/layout/date.field.d.ts.map +1 -0
  655. package/lib/core/layout/expression.field.d.ts +1 -0
  656. package/lib/core/layout/expression.field.d.ts.map +1 -0
  657. package/lib/core/layout/file.field.d.ts +1 -0
  658. package/lib/core/layout/file.field.d.ts.map +1 -0
  659. package/lib/core/layout/html.field.d.ts +1 -0
  660. package/lib/core/layout/html.field.d.ts.map +1 -0
  661. package/lib/core/layout/input.base.d.ts +1 -0
  662. package/lib/core/layout/input.base.d.ts.map +1 -0
  663. package/lib/core/layout/input.field.d.ts +1 -0
  664. package/lib/core/layout/input.field.d.ts.map +1 -0
  665. package/lib/core/layout/layout.component.d.ts +1 -0
  666. package/lib/core/layout/layout.component.d.ts.map +1 -0
  667. package/lib/core/layout/numeric.field.d.ts +1 -0
  668. package/lib/core/layout/numeric.field.d.ts.map +1 -0
  669. package/lib/core/layout/select.field.d.ts +1 -0
  670. package/lib/core/layout/select.field.d.ts.map +1 -0
  671. package/lib/core/layout/switch.field.d.ts +1 -0
  672. package/lib/core/layout/switch.field.d.ts.map +1 -0
  673. package/lib/core/layout/textarea.field.d.ts +1 -0
  674. package/lib/core/layout/textarea.field.d.ts.map +1 -0
  675. package/lib/core/layout/timespan.field.d.ts +1 -0
  676. package/lib/core/layout/timespan.field.d.ts.map +1 -0
  677. package/lib/core/lottie-animation.d.ts +1 -0
  678. package/lib/core/lottie-animation.d.ts.map +1 -0
  679. package/lib/core/mailbox.service.d.ts +1 -0
  680. package/lib/core/mailbox.service.d.ts.map +1 -0
  681. package/lib/core/models.d.ts +6 -4
  682. package/lib/core/models.d.ts.map +1 -0
  683. package/lib/core/none.component.d.ts +1 -0
  684. package/lib/core/none.component.d.ts.map +1 -0
  685. package/lib/core/pipes/action.pipe.d.ts +1 -0
  686. package/lib/core/pipes/action.pipe.d.ts.map +1 -0
  687. package/lib/core/pipes/calendar.pipe.d.ts +1 -0
  688. package/lib/core/pipes/calendar.pipe.d.ts.map +1 -0
  689. package/lib/core/pipes/date-format.pipe.d.ts +1 -0
  690. package/lib/core/pipes/date-format.pipe.d.ts.map +1 -0
  691. package/lib/core/pipes/daterange.pipe.d.ts +1 -0
  692. package/lib/core/pipes/daterange.pipe.d.ts.map +1 -0
  693. package/lib/core/pipes/difference.pipe.d.ts +1 -0
  694. package/lib/core/pipes/difference.pipe.d.ts.map +1 -0
  695. package/lib/core/pipes/duration-format.pipe.d.ts +1 -0
  696. package/lib/core/pipes/duration-format.pipe.d.ts.map +1 -0
  697. package/lib/core/pipes/duration.pipe.d.ts +1 -0
  698. package/lib/core/pipes/duration.pipe.d.ts.map +1 -0
  699. package/lib/core/pipes/form.pipe.d.ts +1 -0
  700. package/lib/core/pipes/form.pipe.d.ts.map +1 -0
  701. package/lib/core/pipes/join.pipe.d.ts +1 -0
  702. package/lib/core/pipes/join.pipe.d.ts.map +1 -0
  703. package/lib/core/pipes/role.pipe.d.ts +1 -0
  704. package/lib/core/pipes/role.pipe.d.ts.map +1 -0
  705. package/lib/core/pipes/sanitize-html.pipe.d.ts.map +1 -0
  706. package/lib/core/pipes/sort.pipe.d.ts +1 -0
  707. package/lib/core/pipes/sort.pipe.d.ts.map +1 -0
  708. package/lib/core/pipes/state.pipe.d.ts +1 -0
  709. package/lib/core/pipes/state.pipe.d.ts.map +1 -0
  710. package/lib/core/pipes/time-ago.pipe.d.ts +1 -0
  711. package/lib/core/pipes/time-ago.pipe.d.ts.map +1 -0
  712. package/lib/core/pipes/translate.pipe.d.ts.map +1 -0
  713. package/lib/core/pipes/type-value.pipe.d.ts +1 -0
  714. package/lib/core/pipes/type-value.pipe.d.ts.map +1 -0
  715. package/lib/core/pipes/user-name.pipe.d.ts +1 -0
  716. package/lib/core/pipes/user-name.pipe.d.ts.map +1 -0
  717. package/lib/core/popup/popup-ref.d.ts +1 -0
  718. package/lib/core/popup/popup-ref.d.ts.map +1 -0
  719. package/lib/core/popup/popup.component.d.ts +1 -0
  720. package/lib/core/popup/popup.component.d.ts.map +1 -0
  721. package/lib/core/popup/popup.service.d.ts +1 -0
  722. package/lib/core/popup/popup.service.d.ts.map +1 -0
  723. package/lib/core/popup/tooltip.directive.d.ts +1 -0
  724. package/lib/core/popup/tooltip.directive.d.ts.map +1 -0
  725. package/lib/core/prompt/ask/ask.dialog.d.ts +1 -0
  726. package/lib/core/prompt/ask/ask.dialog.d.ts.map +1 -0
  727. package/lib/core/prompt/mask/mask.component.d.ts +1 -0
  728. package/lib/core/prompt/mask/mask.component.d.ts.map +1 -0
  729. package/lib/core/prompt.service.d.ts +1 -0
  730. package/lib/core/prompt.service.d.ts.map +1 -0
  731. package/lib/core/router.d.ts +1 -0
  732. package/lib/core/router.d.ts.map +1 -0
  733. package/lib/core/save-changes.dialog.d.ts +1 -0
  734. package/lib/core/save-changes.dialog.d.ts.map +1 -0
  735. package/lib/core/session.service.d.ts +1 -0
  736. package/lib/core/session.service.d.ts.map +1 -0
  737. package/lib/core/slots/pane-ref.d.ts +1 -0
  738. package/lib/core/slots/pane-ref.d.ts.map +1 -0
  739. package/lib/core/slots/router.directive.d.ts +1 -0
  740. package/lib/core/slots/router.directive.d.ts.map +1 -0
  741. package/lib/core/slots/router.service.d.ts +1 -0
  742. package/lib/core/slots/router.service.d.ts.map +1 -0
  743. package/lib/core/slots/slots.component.d.ts +1 -0
  744. package/lib/core/slots/slots.component.d.ts.map +1 -0
  745. package/lib/core/tagging/documents.component.d.ts +1 -0
  746. package/lib/core/tagging/documents.component.d.ts.map +1 -0
  747. package/lib/core/tagging/edit-input.component.d.ts +1 -0
  748. package/lib/core/tagging/edit-input.component.d.ts.map +1 -0
  749. package/lib/core/tagging/emoji.component.d.ts +1 -0
  750. package/lib/core/tagging/emoji.component.d.ts.map +1 -0
  751. package/lib/core/tagging/tagging-item.directive.d.ts +1 -0
  752. package/lib/core/tagging/tagging-item.directive.d.ts.map +1 -0
  753. package/lib/core/tagging/tagging.component-base.d.ts +1 -0
  754. package/lib/core/tagging/tagging.component-base.d.ts.map +1 -0
  755. package/lib/core/tagging/tagging.directive.d.ts +1 -0
  756. package/lib/core/tagging/tagging.directive.d.ts.map +1 -0
  757. package/lib/core/tagging/tagging.pipe.d.ts +1 -0
  758. package/lib/core/tagging/tagging.pipe.d.ts.map +1 -0
  759. package/lib/core/tagging/users.component.d.ts +1 -0
  760. package/lib/core/tagging/users.component.d.ts.map +1 -0
  761. package/lib/core/translate.service.d.ts +1 -0
  762. package/lib/core/translate.service.d.ts.map +1 -0
  763. package/lib/core/translations.d.ts +4 -0
  764. package/lib/core/translations.d.ts.map +1 -0
  765. package/lib/core/window-title.service.d.ts +1 -0
  766. package/lib/core/window-title.service.d.ts.map +1 -0
  767. package/lib/cube/accum/accum.component.d.ts +1 -0
  768. package/lib/cube/accum/accum.component.d.ts.map +1 -0
  769. package/lib/cube/chart/chart.component.d.ts +1 -0
  770. package/lib/cube/chart/chart.component.d.ts.map +1 -0
  771. package/lib/cube/cube-info.service.d.ts +1 -0
  772. package/lib/cube/cube-info.service.d.ts.map +1 -0
  773. package/lib/cube/cube-menu.component.d.ts +1 -0
  774. package/lib/cube/cube-menu.component.d.ts.map +1 -0
  775. package/lib/cube/cube-view.component.d.ts +1 -0
  776. package/lib/cube/cube-view.component.d.ts.map +1 -0
  777. package/lib/cube/cube.service.d.ts +1 -0
  778. package/lib/cube/cube.service.d.ts.map +1 -0
  779. package/lib/cube/declarations.d.ts +1 -0
  780. package/lib/cube/declarations.d.ts.map +1 -0
  781. package/lib/cube/explore/document-item.component.d.ts +1 -0
  782. package/lib/cube/explore/document-item.component.d.ts.map +1 -0
  783. package/lib/cube/explore/explore-item.component.d.ts +1 -0
  784. package/lib/cube/explore/explore-item.component.d.ts.map +1 -0
  785. package/lib/cube/explore/explore-items.component.d.ts +1 -0
  786. package/lib/cube/explore/explore-items.component.d.ts.map +1 -0
  787. package/lib/cube/explore/explore.pane.component.d.ts +1 -0
  788. package/lib/cube/explore/explore.pane.component.d.ts.map +1 -0
  789. package/lib/cube/explore/item-resolver.service.d.ts +1 -0
  790. package/lib/cube/explore/item-resolver.service.d.ts.map +1 -0
  791. package/lib/cube/explore/item.pane.component.d.ts +1 -0
  792. package/lib/cube/explore/item.pane.component.d.ts.map +1 -0
  793. package/lib/cube/filter/filter-tags.component.exp.d.ts +1 -0
  794. package/lib/cube/filter/filter-tags.component.exp.d.ts.map +1 -0
  795. package/lib/cube/filter/filter.component.d.ts +1 -0
  796. package/lib/cube/filter/filter.component.d.ts.map +1 -0
  797. package/lib/cube/grid/grid.component.d.ts +1 -0
  798. package/lib/cube/grid/grid.component.d.ts.map +1 -0
  799. package/lib/cube/grid/spreadsheet.component.d.ts +1 -0
  800. package/lib/cube/grid/spreadsheet.component.d.ts.map +1 -0
  801. package/lib/cube/matrix/matrix.base.d.ts +1 -0
  802. package/lib/cube/matrix/matrix.base.d.ts.map +1 -0
  803. package/lib/cube/matrix/matrix.mobile.component.d.ts +1 -0
  804. package/lib/cube/matrix/matrix.mobile.component.d.ts.map +1 -0
  805. package/lib/cube/matrix/matrix.pane.component.d.ts +1 -0
  806. package/lib/cube/matrix/matrix.pane.component.d.ts.map +1 -0
  807. package/lib/cube/matrix/popup.component.d.ts +1 -0
  808. package/lib/cube/matrix/popup.component.d.ts.map +1 -0
  809. package/lib/cube/matrix/table.component.d.ts +1 -0
  810. package/lib/cube/matrix/table.component.d.ts.map +1 -0
  811. package/lib/cube/parallel/item.d.ts +1 -0
  812. package/lib/cube/parallel/item.d.ts.map +1 -0
  813. package/lib/cube/parallel/parallel.component.d.ts +1 -0
  814. package/lib/cube/parallel/parallel.component.d.ts.map +1 -0
  815. package/lib/cube/pivot/pivot.component.d.ts +1 -0
  816. package/lib/cube/pivot/pivot.component.d.ts.map +1 -0
  817. package/lib/cube/sum/sum.component.d.ts +1 -0
  818. package/lib/cube/sum/sum.component.d.ts.map +1 -0
  819. package/lib/cube/view-base.d.ts +1 -0
  820. package/lib/cube/view-base.d.ts.map +1 -0
  821. package/lib/cube/view.mobile.component.d.ts +1 -0
  822. package/lib/cube/view.mobile.component.d.ts.map +1 -0
  823. package/lib/cube/view.pane.component.d.ts +1 -0
  824. package/lib/cube/view.pane.component.d.ts.map +1 -0
  825. package/lib/dashboard/actions/actions.widget.d.ts +1 -0
  826. package/lib/dashboard/actions/actions.widget.d.ts.map +1 -0
  827. package/lib/dashboard/cube/accum-cube.widget.d.ts +1 -0
  828. package/lib/dashboard/cube/accum-cube.widget.d.ts.map +1 -0
  829. package/lib/dashboard/cube/compare.widget.d.ts +1 -0
  830. package/lib/dashboard/cube/compare.widget.d.ts.map +1 -0
  831. package/lib/dashboard/cube/cube-analysis.base.d.ts +1 -0
  832. package/lib/dashboard/cube/cube-analysis.base.d.ts.map +1 -0
  833. package/lib/dashboard/cube/cube-analysis.widget.d.ts +1 -0
  834. package/lib/dashboard/cube/cube-analysis.widget.d.ts.map +1 -0
  835. package/lib/dashboard/cube/cube-chart.widget.d.ts +1 -0
  836. package/lib/dashboard/cube/cube-chart.widget.d.ts.map +1 -0
  837. package/lib/dashboard/cube/documents.widget.d.ts +1 -0
  838. package/lib/dashboard/cube/documents.widget.d.ts.map +1 -0
  839. package/lib/dashboard/cube/filter/filter.component.d.ts +1 -0
  840. package/lib/dashboard/cube/filter/filter.component.d.ts.map +1 -0
  841. package/lib/dashboard/dashboard.component.d.ts +1 -0
  842. package/lib/dashboard/dashboard.component.d.ts.map +1 -0
  843. package/lib/dashboard/dashboard.pane.component.d.ts +1 -0
  844. package/lib/dashboard/dashboard.pane.component.d.ts.map +1 -0
  845. package/lib/dashboard/recents/recents.widget.d.ts +1 -0
  846. package/lib/dashboard/recents/recents.widget.d.ts.map +1 -0
  847. package/lib/dashboard/score/activity.widget.d.ts +1 -0
  848. package/lib/dashboard/score/activity.widget.d.ts.map +1 -0
  849. package/lib/dashboard/score/compare-groups.widget.d.ts +1 -0
  850. package/lib/dashboard/score/compare-groups.widget.d.ts.map +1 -0
  851. package/lib/dashboard/score/peers-performance.widget.d.ts +1 -0
  852. package/lib/dashboard/score/peers-performance.widget.d.ts.map +1 -0
  853. package/lib/dashboard/score/pending-results.widget.d.ts +1 -0
  854. package/lib/dashboard/score/pending-results.widget.d.ts.map +1 -0
  855. package/lib/dashboard/score/personal-score.widget.d.ts +1 -0
  856. package/lib/dashboard/score/personal-score.widget.d.ts.map +1 -0
  857. package/lib/dashboard/widget-item.component.d.ts +1 -0
  858. package/lib/dashboard/widget-item.component.d.ts.map +1 -0
  859. package/lib/dashboard/widget-ref.d.ts +1 -0
  860. package/lib/dashboard/widget-ref.d.ts.map +1 -0
  861. package/lib/desktop.module.d.ts +1 -0
  862. package/lib/desktop.module.d.ts.map +1 -0
  863. package/lib/home/about/about.dialog.d.ts +1 -0
  864. package/lib/home/about/about.dialog.d.ts.map +1 -0
  865. package/lib/home/home-base.component.d.ts +1 -0
  866. package/lib/home/home-base.component.d.ts.map +1 -0
  867. package/lib/home/home.desktop.component.d.ts +1 -0
  868. package/lib/home/home.desktop.component.d.ts.map +1 -0
  869. package/lib/home/home.mobile.component.d.ts +1 -0
  870. package/lib/home/home.mobile.component.d.ts.map +1 -0
  871. package/lib/home/notifications/notifications.component.d.ts +1 -0
  872. package/lib/home/notifications/notifications.component.d.ts.map +1 -0
  873. package/lib/home/options/options.component.d.ts +1 -0
  874. package/lib/home/options/options.component.d.ts.map +1 -0
  875. package/lib/home/outofoffice/outofoffice.component.d.ts +1 -0
  876. package/lib/home/outofoffice/outofoffice.component.d.ts.map +1 -0
  877. package/lib/home/search.service.d.ts +1 -0
  878. package/lib/home/search.service.d.ts.map +1 -0
  879. package/lib/home/sign/sign.component.d.ts +1 -0
  880. package/lib/home/sign/sign.component.d.ts.map +1 -0
  881. package/lib/home/tools.component.d.ts +1 -0
  882. package/lib/home/tools.component.d.ts.map +1 -0
  883. package/lib/impersonate/impersonate.component.d.ts +1 -0
  884. package/lib/impersonate/impersonate.component.d.ts.map +1 -0
  885. package/lib/mobile.module.d.ts +1 -0
  886. package/lib/mobile.module.d.ts.map +1 -0
  887. package/lib/modules/chart.module.d.ts +1 -0
  888. package/lib/modules/chart.module.d.ts.map +1 -0
  889. package/lib/modules/circular-gauge.module.d.ts +1 -0
  890. package/lib/modules/circular-gauge.module.d.ts.map +1 -0
  891. package/lib/modules/date.adapter.d.ts +1 -0
  892. package/lib/modules/date.adapter.d.ts.map +1 -0
  893. package/lib/modules/datepicker.intl.d.ts +1 -0
  894. package/lib/modules/datepicker.intl.d.ts.map +1 -0
  895. package/lib/modules/dayjs.module.d.ts +1 -0
  896. package/lib/modules/dayjs.module.d.ts.map +1 -0
  897. package/lib/modules/diagram.module.d.ts +1 -0
  898. package/lib/modules/diagram.module.d.ts.map +1 -0
  899. package/lib/modules/gantt.module.d.ts +1 -0
  900. package/lib/modules/gantt.module.d.ts.map +1 -0
  901. package/lib/modules/grid.module.d.ts +1 -0
  902. package/lib/modules/grid.module.d.ts.map +1 -0
  903. package/lib/modules/material.module.d.ts +1 -0
  904. package/lib/modules/material.module.d.ts.map +1 -0
  905. package/lib/modules/paginator.intl.d.ts +1 -0
  906. package/lib/modules/paginator.intl.d.ts.map +1 -0
  907. package/lib/modules/pivot.module.d.ts +1 -0
  908. package/lib/modules/pivot.module.d.ts.map +1 -0
  909. package/lib/modules/schedule.module.d.ts +1 -0
  910. package/lib/modules/schedule.module.d.ts.map +1 -0
  911. package/lib/modules/spreadsheet.module.d.ts +1 -0
  912. package/lib/modules/spreadsheet.module.d.ts.map +1 -0
  913. package/lib/modules/stepper.intl.d.ts +1 -0
  914. package/lib/modules/stepper.intl.d.ts.map +1 -0
  915. package/lib/modules/texteditor.module.d.ts +1 -0
  916. package/lib/modules/texteditor.module.d.ts.map +1 -0
  917. package/lib/notifications/filter.component.d.ts +1 -0
  918. package/lib/notifications/filter.component.d.ts.map +1 -0
  919. package/lib/notifications/notifications-table.component.d.ts +1 -0
  920. package/lib/notifications/notifications-table.component.d.ts.map +1 -0
  921. package/lib/notifications/notifications.component-base.d.ts +1 -0
  922. package/lib/notifications/notifications.component-base.d.ts.map +1 -0
  923. package/lib/notifications/notifications.mobile.component.d.ts +1 -0
  924. package/lib/notifications/notifications.mobile.component.d.ts.map +1 -0
  925. package/lib/notifications/notifications.pane.component.d.ts +1 -0
  926. package/lib/notifications/notifications.pane.component.d.ts.map +1 -0
  927. package/lib/notifications/notifications.service.d.ts +1 -0
  928. package/lib/notifications/notifications.service.d.ts.map +1 -0
  929. package/lib/notifications/types/commented.notification.d.ts +1 -0
  930. package/lib/notifications/types/commented.notification.d.ts.map +1 -0
  931. package/lib/notifications/types/cube-anomaly.notification.d.ts +1 -0
  932. package/lib/notifications/types/cube-anomaly.notification.d.ts.map +1 -0
  933. package/lib/notifications/types/escalated.notification.d.ts +1 -0
  934. package/lib/notifications/types/escalated.notification.d.ts.map +1 -0
  935. package/lib/notifications/types/liked.notification.d.ts +1 -0
  936. package/lib/notifications/types/liked.notification.d.ts.map +1 -0
  937. package/lib/notifications/types/long-running-task.notification.d.ts +1 -0
  938. package/lib/notifications/types/long-running-task.notification.d.ts.map +1 -0
  939. package/lib/notifications/types/notification-base.d.ts +1 -0
  940. package/lib/notifications/types/notification-base.d.ts.map +1 -0
  941. package/lib/notifications/types/nudge.notification.d.ts +1 -0
  942. package/lib/notifications/types/nudge.notification.d.ts.map +1 -0
  943. package/lib/notifications/types/state-changed.notification.d.ts +1 -0
  944. package/lib/notifications/types/state-changed.notification.d.ts.map +1 -0
  945. package/lib/notifications/types/tagged.notification.d.ts +1 -0
  946. package/lib/notifications/types/tagged.notification.d.ts.map +1 -0
  947. package/lib/notifications/types/text.notification.d.ts +1 -0
  948. package/lib/notifications/types/text.notification.d.ts.map +1 -0
  949. package/lib/notifications/types/upcoming-event.notification.d.ts +1 -0
  950. package/lib/notifications/types/upcoming-event.notification.d.ts.map +1 -0
  951. package/lib/options/options.component.d.ts +1 -0
  952. package/lib/options/options.component.d.ts.map +1 -0
  953. package/lib/options/options.service.d.ts +1 -0
  954. package/lib/options/options.service.d.ts.map +1 -0
  955. package/lib/reports/arguments-component.d.ts +1 -0
  956. package/lib/reports/arguments-component.d.ts.map +1 -0
  957. package/lib/reports/cube/documents.component.d.ts +1 -0
  958. package/lib/reports/cube/documents.component.d.ts.map +1 -0
  959. package/lib/reports/cube/grid-documents.component.d.ts +1 -0
  960. package/lib/reports/cube/grid-documents.component.d.ts.map +1 -0
  961. package/lib/reports/cube/table-documents.component.d.ts +1 -0
  962. package/lib/reports/cube/table-documents.component.d.ts.map +1 -0
  963. package/lib/reports/cube/usage-args.component.d.ts +1 -0
  964. package/lib/reports/cube/usage-args.component.d.ts.map +1 -0
  965. package/lib/reports/cube/usage-base.d.ts +1 -0
  966. package/lib/reports/cube/usage-base.d.ts.map +1 -0
  967. package/lib/reports/cube/usage-chart.component.d.ts +1 -0
  968. package/lib/reports/cube/usage-chart.component.d.ts.map +1 -0
  969. package/lib/reports/cube/usage-pivot.component.d.ts +1 -0
  970. package/lib/reports/cube/usage-pivot.component.d.ts.map +1 -0
  971. package/lib/reports/cube/usage.component.d.ts +1 -0
  972. package/lib/reports/cube/usage.component.d.ts.map +1 -0
  973. package/lib/reports/report-ref.d.ts +1 -0
  974. package/lib/reports/report-ref.d.ts.map +1 -0
  975. package/lib/reports/report-viewer.component.d.ts +1 -0
  976. package/lib/reports/report-viewer.component.d.ts.map +1 -0
  977. package/lib/reports/report.mobile.component.d.ts +1 -0
  978. package/lib/reports/report.mobile.component.d.ts.map +1 -0
  979. package/lib/reports/report.pane.component.d.ts +1 -0
  980. package/lib/reports/report.pane.component.d.ts.map +1 -0
  981. package/lib/reports/reports-menu.component.d.ts +1 -0
  982. package/lib/reports/reports-menu.component.d.ts.map +1 -0
  983. package/lib/reports/substitution/substitution.component.d.ts +1 -0
  984. package/lib/reports/substitution/substitution.component.d.ts.map +1 -0
  985. package/lib/reports/table/table-view.component.d.ts +1 -0
  986. package/lib/reports/table/table-view.component.d.ts.map +1 -0
  987. package/lib/reports/tasks/tasks.component.d.ts +1 -0
  988. package/lib/reports/tasks/tasks.component.d.ts.map +1 -0
  989. package/lib/routes.desktop.d.ts +1 -0
  990. package/lib/routes.desktop.d.ts.map +1 -0
  991. package/lib/routes.mobile.d.ts +1 -0
  992. package/lib/routes.mobile.d.ts.map +1 -0
  993. package/lib/scheduler/schedule.component.d.ts +1 -0
  994. package/lib/scheduler/schedule.component.d.ts.map +1 -0
  995. package/lib/scheduler/scheduler.mobile.component.d.ts +1 -0
  996. package/lib/scheduler/scheduler.mobile.component.d.ts.map +1 -0
  997. package/lib/scheduler/scheduler.pane.component.d.ts +1 -0
  998. package/lib/scheduler/scheduler.pane.component.d.ts.map +1 -0
  999. package/lib/shared.module.d.ts +1 -0
  1000. package/lib/shared.module.d.ts.map +1 -0
  1001. package/lib/system.module.d.ts +51 -49
  1002. package/lib/system.module.d.ts.map +1 -0
  1003. package/lib/views/cube/chart.component.d.ts +1 -0
  1004. package/lib/views/cube/chart.component.d.ts.map +1 -0
  1005. package/lib/views/cube/cube-base.d.ts +1 -0
  1006. package/lib/views/cube/cube-base.d.ts.map +1 -0
  1007. package/lib/views/cube/explore.component.d.ts +1 -0
  1008. package/lib/views/cube/explore.component.d.ts.map +1 -0
  1009. package/lib/views/cube/matrix.component.d.ts +1 -0
  1010. package/lib/views/cube/matrix.component.d.ts.map +1 -0
  1011. package/lib/views/cube/parallel.component.d.ts +1 -0
  1012. package/lib/views/cube/parallel.component.d.ts.map +1 -0
  1013. package/lib/views/cube/pivot.component.d.ts +1 -0
  1014. package/lib/views/cube/pivot.component.d.ts.map +1 -0
  1015. package/lib/views/cube/sum.component.d.ts +4 -3
  1016. package/lib/views/cube/sum.component.d.ts.map +1 -0
  1017. package/lib/views/cube/view.component.d.ts +1 -0
  1018. package/lib/views/cube/view.component.d.ts.map +1 -0
  1019. package/lib/views/document-view-ref.d.ts +1 -0
  1020. package/lib/views/document-view-ref.d.ts.map +1 -0
  1021. package/lib/views/timeline/timeline.component.exp.d.ts +1 -0
  1022. package/lib/views/timeline/timeline.component.exp.d.ts.map +1 -0
  1023. package/lib/views/view-item.component.d.ts +1 -0
  1024. package/lib/views/view-item.component.d.ts.map +1 -0
  1025. package/lib/views/views.component.d.ts +1 -0
  1026. package/lib/views/views.component.d.ts.map +1 -0
  1027. package/lib/views/views.mobile.component.d.ts +1 -0
  1028. package/lib/views/views.mobile.component.d.ts.map +1 -0
  1029. package/lib/views/views.pane.component.d.ts +1 -0
  1030. package/lib/views/views.pane.component.d.ts.map +1 -0
  1031. package/package.json +1 -1
  1032. package/public-api.d.ts +1 -0
  1033. package/public-api.d.ts.map +1 -0
@@ -41,6 +41,209 @@ import * as i27 from "../../core/pipes/difference.pipe";
41
41
  import * as i28 from "../../core/pipes/duration.pipe";
42
42
  import * as i29 from "../../core/pipes/role.pipe";
43
43
  import * as i30 from "../../core/pipes/translate.pipe";
44
+ const _c0 = ["activity"];
45
+ const _c1 = ["assignTpl"];
46
+ function ProfilerComponent_mat_option_6_Template(rf, ctx) { if (rf & 1) {
47
+ i0.ɵɵelementStart(0, "mat-option", 10)(1, "span");
48
+ i0.ɵɵtext(2);
49
+ i0.ɵɵelementEnd()();
50
+ } if (rf & 2) {
51
+ const u_r7 = ctx.$implicit;
52
+ i0.ɵɵproperty("value", u_r7);
53
+ i0.ɵɵadvance(2);
54
+ i0.ɵɵtextInterpolate(u_r7.name);
55
+ } }
56
+ function ProfilerComponent_div_13_table_33_tr_6_Template(rf, ctx) { if (rf & 1) {
57
+ const _r14 = i0.ɵɵgetCurrentView();
58
+ i0.ɵɵelementStart(0, "tr", 23)(1, "td", 26)(2, "a", 27);
59
+ i0.ɵɵlistener("click", function ProfilerComponent_div_13_table_33_tr_6_Template_a_click_2_listener() { const restoredCtx = i0.ɵɵrestoreView(_r14); const r_r12 = restoredCtx.$implicit; const ctx_r13 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r13.trace(r_r12.id)); });
60
+ i0.ɵɵtext(3);
61
+ i0.ɵɵelementEnd()();
62
+ i0.ɵɵelementStart(4, "td", 26);
63
+ i0.ɵɵtext(5);
64
+ i0.ɵɵpipe(6, "amDuration");
65
+ i0.ɵɵpipe(7, "amDifference");
66
+ i0.ɵɵelementEnd()();
67
+ } if (rf & 2) {
68
+ const r_r12 = ctx.$implicit;
69
+ i0.ɵɵadvance(3);
70
+ i0.ɵɵtextInterpolate(r_r12.number);
71
+ i0.ɵɵadvance(2);
72
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(6, 2, i0.ɵɵpipeBind3(7, 5, r_r12.received, null, "s"), "s"));
73
+ } }
74
+ function ProfilerComponent_div_13_table_33_Template(rf, ctx) { if (rf & 1) {
75
+ i0.ɵɵelementStart(0, "table", 22)(1, "thead")(2, "tr", 23);
76
+ i0.ɵɵelement(3, "td", 24)(4, "td", 24);
77
+ i0.ɵɵelementEnd()();
78
+ i0.ɵɵelementStart(5, "tbody");
79
+ i0.ɵɵtemplate(6, ProfilerComponent_div_13_table_33_tr_6_Template, 8, 9, "tr", 25);
80
+ i0.ɵɵelementEnd()();
81
+ } if (rf & 2) {
82
+ const ctx_r9 = i0.ɵɵnextContext(2);
83
+ i0.ɵɵadvance(6);
84
+ i0.ɵɵproperty("ngForOf", ctx_r9.data.pending);
85
+ } }
86
+ function ProfilerComponent_div_13_table_40_tr_1_Template(rf, ctx) { if (rf & 1) {
87
+ const _r18 = i0.ɵɵgetCurrentView();
88
+ i0.ɵɵelementStart(0, "tr", 23)(1, "td", 26);
89
+ i0.ɵɵtext(2);
90
+ i0.ɵɵelementEnd();
91
+ i0.ɵɵelementStart(3, "td", 26);
92
+ i0.ɵɵtext(4);
93
+ i0.ɵɵpipe(5, "role");
94
+ i0.ɵɵelementEnd();
95
+ i0.ɵɵelementStart(6, "td", 26)(7, "button", 6);
96
+ i0.ɵɵlistener("click", function ProfilerComponent_div_13_table_40_tr_1_Template_button_click_7_listener() { const restoredCtx = i0.ɵɵrestoreView(_r18); const p_r16 = restoredCtx.$implicit; const ctx_r17 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r17.reassign(p_r16)); });
97
+ i0.ɵɵpipe(8, "translate");
98
+ i0.ɵɵelementStart(9, "mat-icon");
99
+ i0.ɵɵtext(10, "swap_horiz");
100
+ i0.ɵɵelementEnd()()()();
101
+ } if (rf & 2) {
102
+ const p_r16 = ctx.$implicit;
103
+ i0.ɵɵadvance(2);
104
+ i0.ɵɵtextInterpolate(p_r16.value);
105
+ i0.ɵɵadvance(2);
106
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 3, p_r16.role));
107
+ i0.ɵɵadvance(3);
108
+ i0.ɵɵproperty("bizdocTooltip", i0.ɵɵpipeBind1(8, 5, "Reassign"));
109
+ } }
110
+ function ProfilerComponent_div_13_table_40_Template(rf, ctx) { if (rf & 1) {
111
+ i0.ɵɵelementStart(0, "table", 22);
112
+ i0.ɵɵtemplate(1, ProfilerComponent_div_13_table_40_tr_1_Template, 11, 7, "tr", 25);
113
+ i0.ɵɵelementEnd();
114
+ } if (rf & 2) {
115
+ const ctx_r10 = i0.ɵɵnextContext(2);
116
+ i0.ɵɵadvance(1);
117
+ i0.ɵɵproperty("ngForOf", ctx_r10.data.positions);
118
+ } }
119
+ function ProfilerComponent_div_13_Template(rf, ctx) { if (rf & 1) {
120
+ const _r20 = i0.ɵɵgetCurrentView();
121
+ i0.ɵɵelementStart(0, "div", 11)(1, "mat-card", 12)(2, "mat-card-header")(3, "mat-card-title")(4, "span");
122
+ i0.ɵɵtext(5);
123
+ i0.ɵɵelementEnd()()();
124
+ i0.ɵɵelementStart(6, "mat-card-content");
125
+ i0.ɵɵelement(7, "br");
126
+ i0.ɵɵelementEnd();
127
+ i0.ɵɵelementStart(8, "mat-card-actions")(9, "button", 13);
128
+ i0.ɵɵlistener("click", function ProfilerComponent_div_13_Template_button_click_9_listener() { i0.ɵɵrestoreView(_r20); const ctx_r19 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r19.chat()); });
129
+ i0.ɵɵpipe(10, "translate");
130
+ i0.ɵɵelementStart(11, "mat-icon");
131
+ i0.ɵɵtext(12, "chat");
132
+ i0.ɵɵelementEnd()();
133
+ i0.ɵɵelement(13, "span", 5);
134
+ i0.ɵɵelementStart(14, "button", 14);
135
+ i0.ɵɵlistener("click", function ProfilerComponent_div_13_Template_button_click_14_listener() { i0.ɵɵrestoreView(_r20); const ctx_r21 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r21.settings()); });
136
+ i0.ɵɵpipe(15, "translate");
137
+ i0.ɵɵelementStart(16, "mat-icon");
138
+ i0.ɵɵtext(17, "settings");
139
+ i0.ɵɵelementEnd()()()();
140
+ i0.ɵɵelementStart(18, "mat-card", 15)(19, "mat-card-header")(20, "mat-card-title");
141
+ i0.ɵɵtext(21);
142
+ i0.ɵɵpipe(22, "translate");
143
+ i0.ɵɵelementEnd()();
144
+ i0.ɵɵelementStart(23, "mat-card-content")(24, "ejs-chart", 16, 17);
145
+ i0.ɵɵlistener("tooltipRender", function ProfilerComponent_div_13_Template_ejs_chart_tooltipRender_24_listener($event) { i0.ɵɵrestoreView(_r20); const ctx_r22 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r22.tooltipRender($event)); })("pointClick", function ProfilerComponent_div_13_Template_ejs_chart_pointClick_24_listener($event) { i0.ɵɵrestoreView(_r20); const ctx_r23 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r23.pointClick($event)); });
146
+ i0.ɵɵelement(26, "e-series-collection");
147
+ i0.ɵɵelementEnd()()();
148
+ i0.ɵɵelementStart(27, "mat-card", 18)(28, "mat-card-header")(29, "mat-card-title");
149
+ i0.ɵɵtext(30);
150
+ i0.ɵɵpipe(31, "translate");
151
+ i0.ɵɵelementEnd()();
152
+ i0.ɵɵelementStart(32, "mat-card-content");
153
+ i0.ɵɵtemplate(33, ProfilerComponent_div_13_table_33_Template, 7, 1, "table", 19);
154
+ i0.ɵɵelementEnd()();
155
+ i0.ɵɵelementStart(34, "mat-card", 20)(35, "mat-card-header")(36, "mat-card-title");
156
+ i0.ɵɵtext(37);
157
+ i0.ɵɵpipe(38, "translate");
158
+ i0.ɵɵelementEnd()();
159
+ i0.ɵɵelementStart(39, "mat-card-content");
160
+ i0.ɵɵtemplate(40, ProfilerComponent_div_13_table_40_Template, 2, 1, "table", 19);
161
+ i0.ɵɵelementEnd();
162
+ i0.ɵɵelementStart(41, "mat-card-actions");
163
+ i0.ɵɵelement(42, "span", 5);
164
+ i0.ɵɵelementStart(43, "button", 21);
165
+ i0.ɵɵlistener("click", function ProfilerComponent_div_13_Template_button_click_43_listener() { i0.ɵɵrestoreView(_r20); const ctx_r24 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r24.reassign()); });
166
+ i0.ɵɵpipe(44, "translate");
167
+ i0.ɵɵelementStart(45, "mat-icon");
168
+ i0.ɵɵtext(46, "swap_horiz");
169
+ i0.ɵɵelementEnd()()()()();
170
+ } if (rf & 2) {
171
+ const ctx_r2 = i0.ɵɵnextContext();
172
+ const _r5 = i0.ɵɵreference(17);
173
+ i0.ɵɵadvance(5);
174
+ i0.ɵɵtextInterpolate(ctx_r2.data.info.name);
175
+ i0.ɵɵadvance(4);
176
+ i0.ɵɵproperty("bizdocTooltip", i0.ɵɵpipeBind1(10, 21, "Chat"))("disabled", !ctx_r2.data);
177
+ i0.ɵɵadvance(5);
178
+ i0.ɵɵproperty("bizdocTooltip", i0.ɵɵpipeBind1(15, 23, "Settings"))("disabled", !ctx_r2.data);
179
+ i0.ɵɵadvance(7);
180
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(22, 25, "Activity"), " ");
181
+ i0.ɵɵadvance(3);
182
+ i0.ɵɵproperty("primaryXAxis", ctx_r2.primaryXAxis)("primaryYAxis", ctx_r2.primaryYAxis)("zoomSettings", ctx_r2.zoomSettings)("tooltip", ctx_r2.tooltip)("palettes", ctx_r2.palettes)("theme", ctx_r2.theme)("border", ctx_r2.border);
183
+ i0.ɵɵadvance(6);
184
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(31, 27, "Pending"), " ");
185
+ i0.ɵɵadvance(3);
186
+ i0.ɵɵproperty("ngIf", ctx_r2.data.pending.length)("ngIfElse", _r5);
187
+ i0.ɵɵadvance(4);
188
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(38, 29, "Positions"), " ");
189
+ i0.ɵɵadvance(3);
190
+ i0.ɵɵproperty("ngIf", ctx_r2.data.positions.length)("ngIfElse", _r5);
191
+ i0.ɵɵadvance(3);
192
+ i0.ɵɵproperty("bizdocTooltip", i0.ɵɵpipeBind1(44, 31, "ReassignAll"))("disabled", !ctx_r2.data || !ctx_r2.data.positions.length);
193
+ } }
194
+ function ProfilerComponent_ng_template_14_mat_option_8_Template(rf, ctx) { if (rf & 1) {
195
+ i0.ɵɵelementStart(0, "mat-option", 10);
196
+ i0.ɵɵtext(1);
197
+ i0.ɵɵelementEnd();
198
+ } if (rf & 2) {
199
+ const u_r26 = ctx.$implicit;
200
+ i0.ɵɵproperty("value", u_r26.id);
201
+ i0.ɵɵadvance(1);
202
+ i0.ɵɵtextInterpolate(u_r26.name);
203
+ } }
204
+ function ProfilerComponent_ng_template_14_Template(rf, ctx) { if (rf & 1) {
205
+ i0.ɵɵelementStart(0, "h2", 28);
206
+ i0.ɵɵtext(1);
207
+ i0.ɵɵpipe(2, "translate");
208
+ i0.ɵɵelementEnd();
209
+ i0.ɵɵelementStart(3, "mat-dialog-content")(4, "form", 29)(5, "mat-form-field")(6, "mat-select", 30);
210
+ i0.ɵɵpipe(7, "translate");
211
+ i0.ɵɵtemplate(8, ProfilerComponent_ng_template_14_mat_option_8_Template, 2, 2, "mat-option", 4);
212
+ i0.ɵɵpipe(9, "async");
213
+ i0.ɵɵelementEnd()()()();
214
+ i0.ɵɵelementStart(10, "mat-dialog-actions")(11, "button", 31);
215
+ i0.ɵɵtext(12);
216
+ i0.ɵɵpipe(13, "translate");
217
+ i0.ɵɵelementEnd();
218
+ i0.ɵɵelementStart(14, "button", 32);
219
+ i0.ɵɵtext(15);
220
+ i0.ɵɵpipe(16, "translate");
221
+ i0.ɵɵelementEnd()();
222
+ } if (rf & 2) {
223
+ const ctx_r4 = i0.ɵɵnextContext();
224
+ i0.ɵɵadvance(1);
225
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 8, "Reassign"));
226
+ i0.ɵɵadvance(5);
227
+ i0.ɵɵpropertyInterpolate("placeholder", i0.ɵɵpipeBind1(7, 10, "Who"));
228
+ i0.ɵɵproperty("formControl", ctx_r4.who);
229
+ i0.ɵɵadvance(2);
230
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(9, 12, ctx_r4.assignable$));
231
+ i0.ɵɵadvance(3);
232
+ i0.ɵɵproperty("mat-dialog-close", ctx_r4.who.value)("disabled", !ctx_r4.who.valid);
233
+ i0.ɵɵadvance(1);
234
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 14, "OK"));
235
+ i0.ɵɵadvance(3);
236
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(16, 16, "Cancel"));
237
+ } }
238
+ function ProfilerComponent_ng_template_16_Template(rf, ctx) { if (rf & 1) {
239
+ i0.ɵɵelementStart(0, "span", 33);
240
+ i0.ɵɵtext(1);
241
+ i0.ɵɵpipe(2, "translate");
242
+ i0.ɵɵelementEnd();
243
+ } if (rf & 2) {
244
+ i0.ɵɵadvance(1);
245
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 1, "None"));
246
+ } }
44
247
  let ProfilerComponent = class ProfilerComponent {
45
248
  /** ctor */
46
249
  constructor(_sb, _utilityRef, _session, _dialog, _documentInfo, media, _chat, _guide, _router, _cd, _pane, _translate, _accounts, _fb) {
@@ -254,29 +457,73 @@ let ProfilerComponent = class ProfilerComponent {
254
457
  this._destroy.complete();
255
458
  }
256
459
  };
257
- ProfilerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ProfilerComponent, deps: [{ token: i1.PromptService }, { token: i2.UtilityRef }, { token: i3.SessionService }, { token: i4.MatDialog }, { token: i5.DocumentInfo }, { token: i6.MediaObserver }, { token: i7.ChatInfo }, { token: i8.GuideService }, { token: i9.PanesRouter }, { token: i0.ChangeDetectorRef }, { token: i10.PaneRef }, { token: i11.TranslateService }, { token: i12.AccountService }, { token: i13.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
258
- ProfilerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.3", type: ProfilerComponent, selector: "ng-component", host: { listeners: { "window:keydown.f1": "guide($event)" }, classAttribute: "pane" }, viewQueries: [{ propertyName: "chart", first: true, predicate: ["activity"], descendants: true }, { propertyName: "chartElement", first: true, predicate: ["activity"], descendants: true, read: ElementRef }, { propertyName: "assignTpl", first: true, predicate: ["assignTpl"], descendants: true }], ngImport: i0, template: "<mat-toolbar>\r\n <mat-icon (click)=\"null\" class=\"mat-icon-rtl-mirror\">search</mat-icon>\r\n <input matInput type=\"search\" [matAutocomplete]=\"auto\" [formControl]=\"search\" data-help=\"search\" width=\"20\" />\r\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"userDisplay\"\r\n (optionSelected)=\"change($event)\">\r\n <mat-option *ngFor=\"let u of users$ | async\" [value]=\"u\">\r\n <span>{{u.name}}</span>\r\n </mat-option>\r\n </mat-autocomplete>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\"><mat-icon>help_outline</mat-icon></button>\r\n</mat-toolbar>\r\n<div *ngIf=\"data\" fxLayout=\"row wrap\">\r\n <!-- info -->\r\n <mat-card fxFlex>\r\n <mat-card-header>\r\n <mat-card-title>\r\n <span>{{data.info.name}}</span>\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <br />\r\n </mat-card-content>\r\n <mat-card-actions>\r\n <button mat-icon-button (click)=\"chat()\" [bizdocTooltip]=\"'Chat' | translate\" [disabled]=\"!data\"><mat-icon>chat</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"settings()\" [bizdocTooltip]=\"'Settings' | translate\" [disabled]=\"!data\" data-help=\"settings\"><mat-icon>settings</mat-icon></button>\r\n </mat-card-actions>\r\n </mat-card>\r\n <mat-card fxFlex data-help=\"activity\">\r\n <mat-card-header>\r\n <mat-card-title>\r\n {{'Activity' | translate}}\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <ejs-chart #activity [primaryXAxis]=\"primaryXAxis\" [primaryYAxis]=\"primaryYAxis\" [zoomSettings]=\"zoomSettings\" [tooltip]='tooltip' (tooltipRender)=\"tooltipRender($event)\" [palettes]=\"palettes\" background=\"transparent\" [theme]='theme' [border]=\"border\" (pointClick)=\"pointClick($event)\">\r\n <e-series-collection>\r\n </e-series-collection>\r\n </ejs-chart>\r\n </mat-card-content>\r\n </mat-card>\r\n <!-- pending -->\r\n <mat-card fxFlex data-help=\"pending\">\r\n <mat-card-header>\r\n <mat-card-title>\r\n {{'Pending' | translate}}\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <table class=\"mat-table\" *ngIf=\"data.pending.length; else none\">\r\n <thead>\r\n <tr class=\"mat-row\">\r\n <td class=\"mat-header-cell\"></td>\r\n <td class=\"mat-header-cell\"></td>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let r of data.pending\" class=\"mat-row\">\r\n <td class=\"mat-cell\"><a (click)=\"trace(r.id)\">{{r.number}}</a></td>\r\n <td class=\"mat-cell\">{{ r.received | amDifference : null : 's' | amDuration : 's'}}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </mat-card-content>\r\n </mat-card>\r\n <!-- positions -->\r\n <mat-card fxFlex data-help=\"positions\">\r\n <mat-card-header>\r\n <mat-card-title>\r\n {{'Positions' | translate}}\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <table class=\"mat-table\" *ngIf=\"data.positions.length; else none\">\r\n <tr *ngFor=\"let p of data.positions\" class=\"mat-row\">\r\n <td class=\"mat-cell\">{{p.value }}</td>\r\n <td class=\"mat-cell\">{{p.role | role}}</td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"reassign(p)\" [bizdocTooltip]=\"'Reassign' | translate\"><mat-icon>swap_horiz</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n </mat-card-content>\r\n <mat-card-actions>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"reassign()\" [bizdocTooltip]=\"'ReassignAll' | translate\" [disabled]=\"!data || !data.positions.length\" data-help=\"reassign\"><mat-icon>swap_horiz</mat-icon></button>\r\n </mat-card-actions>\r\n </mat-card>\r\n</div>\r\n<!-- assign dialog -->\r\n<ng-template #assignTpl>\r\n <h2 mat-dialog-title>{{'Reassign' | translate }}</h2>\r\n <mat-dialog-content>\r\n <form autocomplete=\"off\" fxLayout=\"column\">\r\n <mat-form-field>\r\n <mat-select placeholder=\"{{'Who' | translate}}\" [formControl]=\"who\" required>\r\n <mat-option *ngFor=\"let u of assignable$ | async\" [value]=\"u.id\">{{u.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n </mat-dialog-content>\r\n <mat-dialog-actions>\r\n <button mat-button [mat-dialog-close]=\"who.value\" color=\"primary\" [disabled]=\"!who.valid\">{{'OK' | translate}}</button>\r\n <button mat-button mat-dialog-close>{{'Cancel' | translate}}</button>\r\n </mat-dialog-actions>\r\n</ng-template>\r\n<ng-template #none>\r\n <span class=\"mat-body-2\">{{'None' | translate }}</span>\r\n</ng-template>\r\n", styles: [":host{min-width:560px;display:block}.mat-card{margin:5px}.mat-card:hover{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}.mat-table{width:100%}\n"], dependencies: [{ kind: "directive", type: i14.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i14.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i13.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i13.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i13.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i13.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i13.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i13.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i15.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i15.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i16.ChartComponent, selector: "ejs-chart", inputs: ["allowExport", "allowMultiSelection", "annotations", "axes", "background", "backgroundImage", "border", "chartArea", "columns", "crosshair", "currencyCode", "dataSource", "description", "enableAnimation", "enableAutoIntervalOnBothAxis", "enableCanvas", "enableExport", "enablePersistence", "enableRtl", "enableSideBySidePlacement", "height", "highlightColor", "highlightMode", "highlightPattern", "indicators", "isMultiSelect", "isTransposed", "legendSettings", "locale", "margin", "palettes", "primaryXAxis", "primaryYAxis", "rangeColorSettings", "rows", "selectedDataIndexes", "selectionMode", "selectionPattern", "series", "subTitle", "subTitleStyle", "tabIndex", "theme", "title", "titleStyle", "tooltip", "useGroupingSeparator", "width", "zoomSettings"], outputs: ["afterExport", "animationComplete", "annotationRender", "axisLabelClick", "axisLabelRender", "axisMultiLabelRender", "axisRangeCalculated", "beforeExport", "beforePrint", "beforeResize", "chartDoubleClick", "chartMouseClick", "chartMouseDown", "chartMouseLeave", "chartMouseMove", "chartMouseUp", "drag", "dragComplete", "dragEnd", "dragStart", "legendClick", "legendRender", "load", "loaded", "multiLevelLabelClick", "onZooming", "pointClick", "pointDoubleClick", "pointMove", "pointRender", "resized", "scrollChanged", "scrollEnd", "scrollStart", "selectionComplete", "seriesRender", "sharedTooltipRender", "textRender", "tooltipRender", "zoomComplete", "dataSourceChange"] }, { kind: "directive", type: i16.SeriesCollectionDirective, selector: "ej-chart>e-series-collection" }, { kind: "component", type: i17.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "component", type: i17.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i17.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "directive", type: i17.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "directive", type: i17.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i4.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i4.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i4.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i18.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i19.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i19.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i20.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i21.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i22.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i23.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i24.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i25.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i26.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i14.AsyncPipe, name: "async" }, { kind: "pipe", type: i27.DifferencePipe, name: "amDifference" }, { kind: "pipe", type: i28.DurationPipe, name: "amDuration" }, { kind: "pipe", type: i29.RolePipe, name: "role" }, { kind: "pipe", type: i30.TranslatePipe, name: "translate" }] });
460
+ ProfilerComponent.ɵfac = function ProfilerComponent_Factory(t) { return new (t || ProfilerComponent)(i0.ɵɵdirectiveInject(i1.PromptService), i0.ɵɵdirectiveInject(i2.UtilityRef), i0.ɵɵdirectiveInject(i3.SessionService), i0.ɵɵdirectiveInject(i4.MatDialog), i0.ɵɵdirectiveInject(i5.DocumentInfo), i0.ɵɵdirectiveInject(i6.MediaObserver), i0.ɵɵdirectiveInject(i7.ChatInfo), i0.ɵɵdirectiveInject(i8.GuideService), i0.ɵɵdirectiveInject(i9.PanesRouter), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i10.PaneRef), i0.ɵɵdirectiveInject(i11.TranslateService), i0.ɵɵdirectiveInject(i12.AccountService), i0.ɵɵdirectiveInject(i13.FormBuilder)); };
461
+ ProfilerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ProfilerComponent, selectors: [["ng-component"]], viewQuery: function ProfilerComponent_Query(rf, ctx) { if (rf & 1) {
462
+ i0.ɵɵviewQuery(_c0, 5);
463
+ i0.ɵɵviewQuery(_c0, 5, ElementRef);
464
+ i0.ɵɵviewQuery(_c1, 5);
465
+ } if (rf & 2) {
466
+ let _t;
467
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.chart = _t.first);
468
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.chartElement = _t.first);
469
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.assignTpl = _t.first);
470
+ } }, hostAttrs: [1, "pane"], hostBindings: function ProfilerComponent_HostBindings(rf, ctx) { if (rf & 1) {
471
+ i0.ɵɵlistener("keydown.f1", function ProfilerComponent_keydown_f1_HostBindingHandler($event) { return ctx.guide($event); }, false, i0.ɵɵresolveWindow);
472
+ } }, decls: 18, vars: 10, consts: [[1, "mat-icon-rtl-mirror", 3, "click"], ["matInput", "", "type", "search", "data-help", "search", "width", "20", 3, "matAutocomplete", "formControl"], [3, "displayWith", "optionSelected"], ["auto", "matAutocomplete"], [3, "value", 4, "ngFor", "ngForOf"], [1, "divider"], ["mat-icon-button", "", 3, "bizdocTooltip", "click"], ["fxLayout", "row wrap", 4, "ngIf"], ["assignTpl", ""], ["none", ""], [3, "value"], ["fxLayout", "row wrap"], ["fxFlex", ""], ["mat-icon-button", "", 3, "bizdocTooltip", "disabled", "click"], ["mat-icon-button", "", "data-help", "settings", 3, "bizdocTooltip", "disabled", "click"], ["fxFlex", "", "data-help", "activity"], ["background", "transparent", 3, "primaryXAxis", "primaryYAxis", "zoomSettings", "tooltip", "palettes", "theme", "border", "tooltipRender", "pointClick"], ["activity", ""], ["fxFlex", "", "data-help", "pending"], ["class", "mat-table", 4, "ngIf", "ngIfElse"], ["fxFlex", "", "data-help", "positions"], ["mat-icon-button", "", "data-help", "reassign", 3, "bizdocTooltip", "disabled", "click"], [1, "mat-table"], [1, "mat-row"], [1, "mat-header-cell"], ["class", "mat-row", 4, "ngFor", "ngForOf"], [1, "mat-cell"], [3, "click"], ["mat-dialog-title", ""], ["autocomplete", "off", "fxLayout", "column"], ["required", "", 3, "placeholder", "formControl"], ["mat-button", "", "color", "primary", 3, "mat-dialog-close", "disabled"], ["mat-button", "", "mat-dialog-close", ""], [1, "mat-body-2"]], template: function ProfilerComponent_Template(rf, ctx) { if (rf & 1) {
473
+ i0.ɵɵelementStart(0, "mat-toolbar")(1, "mat-icon", 0);
474
+ i0.ɵɵlistener("click", function ProfilerComponent_Template_mat_icon_click_1_listener() { return null; });
475
+ i0.ɵɵtext(2, "search");
476
+ i0.ɵɵelementEnd();
477
+ i0.ɵɵelement(3, "input", 1);
478
+ i0.ɵɵelementStart(4, "mat-autocomplete", 2, 3);
479
+ i0.ɵɵlistener("optionSelected", function ProfilerComponent_Template_mat_autocomplete_optionSelected_4_listener($event) { return ctx.change($event); });
480
+ i0.ɵɵtemplate(6, ProfilerComponent_mat_option_6_Template, 3, 2, "mat-option", 4);
481
+ i0.ɵɵpipe(7, "async");
482
+ i0.ɵɵelementEnd();
483
+ i0.ɵɵelement(8, "span", 5);
484
+ i0.ɵɵelementStart(9, "button", 6);
485
+ i0.ɵɵlistener("click", function ProfilerComponent_Template_button_click_9_listener() { return ctx.guide(); });
486
+ i0.ɵɵpipe(10, "translate");
487
+ i0.ɵɵelementStart(11, "mat-icon");
488
+ i0.ɵɵtext(12, "help_outline");
489
+ i0.ɵɵelementEnd()()();
490
+ i0.ɵɵtemplate(13, ProfilerComponent_div_13_Template, 47, 33, "div", 7);
491
+ i0.ɵɵtemplate(14, ProfilerComponent_ng_template_14_Template, 17, 18, "ng-template", null, 8, i0.ɵɵtemplateRefExtractor);
492
+ i0.ɵɵtemplate(16, ProfilerComponent_ng_template_16_Template, 3, 3, "ng-template", null, 9, i0.ɵɵtemplateRefExtractor);
493
+ } if (rf & 2) {
494
+ const _r0 = i0.ɵɵreference(5);
495
+ i0.ɵɵadvance(3);
496
+ i0.ɵɵproperty("matAutocomplete", _r0)("formControl", ctx.search);
497
+ i0.ɵɵadvance(1);
498
+ i0.ɵɵproperty("displayWith", ctx.userDisplay);
499
+ i0.ɵɵadvance(2);
500
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(7, 6, ctx.users$));
501
+ i0.ɵɵadvance(3);
502
+ i0.ɵɵproperty("bizdocTooltip", i0.ɵɵpipeBind1(10, 8, "Help"));
503
+ i0.ɵɵadvance(4);
504
+ i0.ɵɵproperty("ngIf", ctx.data);
505
+ } }, dependencies: [i14.NgForOf, i14.NgIf, i13.ɵNgNoValidate, i13.DefaultValueAccessor, i13.NgControlStatus, i13.NgControlStatusGroup, i13.RequiredValidator, i13.FormControlDirective, i15.DefaultLayoutDirective, i15.DefaultFlexDirective, i16.ChartComponent, i16.SeriesCollectionDirective, i17.MatCard, i17.MatCardHeader, i17.MatCardContent, i17.MatCardTitle, i17.MatCardActions, i4.MatDialogClose, i4.MatDialogTitle, i4.MatDialogContent, i4.MatDialogActions, i18.MatToolbar, i19.MatAutocomplete, i19.MatAutocompleteTrigger, i20.MatOption, i21.MatFormField, i22.MatSelect, i23.MatButton, i24.MatInput, i25.MatIcon, i26.TooltipDirective, i14.AsyncPipe, i27.DifferencePipe, i28.DurationPipe, i29.RolePipe, i30.TranslatePipe], styles: ["[_nghost-%COMP%]{min-width:560px;display:block}.mat-card[_ngcontent-%COMP%]{margin:5px}.mat-card[_ngcontent-%COMP%]:hover{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}.mat-table[_ngcontent-%COMP%]{width:100%}"] });
259
506
  ProfilerComponent = __decorate([
260
507
  BizDoc({ selector: 'bizdoc-user-profiler' })
261
508
  /** component*/
262
509
  ], ProfilerComponent);
263
510
  export { ProfilerComponent };
264
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: ProfilerComponent, decorators: [{
265
- type: Component,
266
- args: [{ host: {
267
- class: 'pane'
268
- }, entryComponents: [ProfileSettingsDialog], template: "<mat-toolbar>\r\n <mat-icon (click)=\"null\" class=\"mat-icon-rtl-mirror\">search</mat-icon>\r\n <input matInput type=\"search\" [matAutocomplete]=\"auto\" [formControl]=\"search\" data-help=\"search\" width=\"20\" />\r\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"userDisplay\"\r\n (optionSelected)=\"change($event)\">\r\n <mat-option *ngFor=\"let u of users$ | async\" [value]=\"u\">\r\n <span>{{u.name}}</span>\r\n </mat-option>\r\n </mat-autocomplete>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\"><mat-icon>help_outline</mat-icon></button>\r\n</mat-toolbar>\r\n<div *ngIf=\"data\" fxLayout=\"row wrap\">\r\n <!-- info -->\r\n <mat-card fxFlex>\r\n <mat-card-header>\r\n <mat-card-title>\r\n <span>{{data.info.name}}</span>\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <br />\r\n </mat-card-content>\r\n <mat-card-actions>\r\n <button mat-icon-button (click)=\"chat()\" [bizdocTooltip]=\"'Chat' | translate\" [disabled]=\"!data\"><mat-icon>chat</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"settings()\" [bizdocTooltip]=\"'Settings' | translate\" [disabled]=\"!data\" data-help=\"settings\"><mat-icon>settings</mat-icon></button>\r\n </mat-card-actions>\r\n </mat-card>\r\n <mat-card fxFlex data-help=\"activity\">\r\n <mat-card-header>\r\n <mat-card-title>\r\n {{'Activity' | translate}}\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <ejs-chart #activity [primaryXAxis]=\"primaryXAxis\" [primaryYAxis]=\"primaryYAxis\" [zoomSettings]=\"zoomSettings\" [tooltip]='tooltip' (tooltipRender)=\"tooltipRender($event)\" [palettes]=\"palettes\" background=\"transparent\" [theme]='theme' [border]=\"border\" (pointClick)=\"pointClick($event)\">\r\n <e-series-collection>\r\n </e-series-collection>\r\n </ejs-chart>\r\n </mat-card-content>\r\n </mat-card>\r\n <!-- pending -->\r\n <mat-card fxFlex data-help=\"pending\">\r\n <mat-card-header>\r\n <mat-card-title>\r\n {{'Pending' | translate}}\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <table class=\"mat-table\" *ngIf=\"data.pending.length; else none\">\r\n <thead>\r\n <tr class=\"mat-row\">\r\n <td class=\"mat-header-cell\"></td>\r\n <td class=\"mat-header-cell\"></td>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let r of data.pending\" class=\"mat-row\">\r\n <td class=\"mat-cell\"><a (click)=\"trace(r.id)\">{{r.number}}</a></td>\r\n <td class=\"mat-cell\">{{ r.received | amDifference : null : 's' | amDuration : 's'}}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </mat-card-content>\r\n </mat-card>\r\n <!-- positions -->\r\n <mat-card fxFlex data-help=\"positions\">\r\n <mat-card-header>\r\n <mat-card-title>\r\n {{'Positions' | translate}}\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <table class=\"mat-table\" *ngIf=\"data.positions.length; else none\">\r\n <tr *ngFor=\"let p of data.positions\" class=\"mat-row\">\r\n <td class=\"mat-cell\">{{p.value }}</td>\r\n <td class=\"mat-cell\">{{p.role | role}}</td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"reassign(p)\" [bizdocTooltip]=\"'Reassign' | translate\"><mat-icon>swap_horiz</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n </mat-card-content>\r\n <mat-card-actions>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"reassign()\" [bizdocTooltip]=\"'ReassignAll' | translate\" [disabled]=\"!data || !data.positions.length\" data-help=\"reassign\"><mat-icon>swap_horiz</mat-icon></button>\r\n </mat-card-actions>\r\n </mat-card>\r\n</div>\r\n<!-- assign dialog -->\r\n<ng-template #assignTpl>\r\n <h2 mat-dialog-title>{{'Reassign' | translate }}</h2>\r\n <mat-dialog-content>\r\n <form autocomplete=\"off\" fxLayout=\"column\">\r\n <mat-form-field>\r\n <mat-select placeholder=\"{{'Who' | translate}}\" [formControl]=\"who\" required>\r\n <mat-option *ngFor=\"let u of assignable$ | async\" [value]=\"u.id\">{{u.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n </mat-dialog-content>\r\n <mat-dialog-actions>\r\n <button mat-button [mat-dialog-close]=\"who.value\" color=\"primary\" [disabled]=\"!who.valid\">{{'OK' | translate}}</button>\r\n <button mat-button mat-dialog-close>{{'Cancel' | translate}}</button>\r\n </mat-dialog-actions>\r\n</ng-template>\r\n<ng-template #none>\r\n <span class=\"mat-body-2\">{{'None' | translate }}</span>\r\n</ng-template>\r\n", styles: [":host{min-width:560px;display:block}.mat-card{margin:5px}.mat-card:hover{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}.mat-table{width:100%}\n"] }]
269
- }], ctorParameters: function () { return [{ type: i1.PromptService }, { type: i2.UtilityRef }, { type: i3.SessionService }, { type: i4.MatDialog }, { type: i5.DocumentInfo }, { type: i6.MediaObserver }, { type: i7.ChatInfo }, { type: i8.GuideService }, { type: i9.PanesRouter }, { type: i0.ChangeDetectorRef }, { type: i10.PaneRef }, { type: i11.TranslateService }, { type: i12.AccountService }, { type: i13.FormBuilder }]; }, propDecorators: { chart: [{
270
- type: ViewChild,
271
- args: ['activity']
272
- }], chartElement: [{
273
- type: ViewChild,
274
- args: ['activity', { read: ElementRef }]
275
- }], assignTpl: [{
276
- type: ViewChild,
277
- args: ['assignTpl']
278
- }], guide: [{
279
- type: HostListener,
280
- args: ['window:keydown.f1', ['$event']]
281
- }] } });
282
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9wcm9maWxlci9wcm9maWxlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL3Byb2ZpbGVyL3Byb2ZpbGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBa0MsVUFBVSxFQUFFLFlBQVksRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDbEksT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3pELE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR2hFLE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBbUIsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFZcEUsaUJBQWlCLFNBQWpCLGlCQUFpQjtJQXFENUIsV0FBVztJQUNYLFlBQW9CLEdBQWtCLEVBQzVC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Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIE9uSW5pdCwgT25EZXN0cm95LCBUZW1wbGF0ZVJlZiwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XHJcbmltcG9ydCB7IENPTU1BLCBFTlRFUiwgU0VNSUNPTE9OIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcclxuaW1wb3J0IHsgTWVkaWFPYnNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcclxuaW1wb3J0IHsgQXhpc01vZGVsLCBCb3JkZXJNb2RlbCwgQ2hhcnRDb21wb25lbnQsIElQb2ludEV2ZW50QXJncywgSVRvb2x0aXBSZW5kZXJFdmVudEFyZ3MsIExlZ2VuZFNlcmllc01vZGVsLCBNYXJrZXJPcHRpb25zTW9kZWwsIFNlcmllc01vZGVsLCBUb29sdGlwU2V0dGluZ3NNb2RlbCwgWm9vbVNldHRpbmdzTW9kZWwgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1jaGFydHMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCwgZGVib3VuY2VUaW1lLCBzd2l0Y2hNYXAsIGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgeyBpc09iamVjdCB9IGZyb20gJy4uLy4uL2NvcmUvZnVuY3Rpb25zJztcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgR3JhbnRTZXR0aW5ncywgR3VpZGVTdGVwLCBPdXRPZk9mZmljZVNldHRpbmdzLCBVc2VySW5mbyB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgVXRpbGl0eVJlZiB9IGZyb20gJy4uL3V0aWxpdHktcmVmJztcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvYWNjb3VudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRG9jdW1lbnRJbmZvIH0gZnJvbSAnLi4vLi4vY29yZS9pbmZvL2RvY3VtZW50LWluZm8uc2VydmljZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHdWlkZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2d1aWRlL2d1aWRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEZPTlRfRkFNSUxZIH0gZnJvbSAnLi4vLi4vY29yZS9jb2xvcnMnO1xyXG5pbXBvcnQgeyBQYW5lc1JvdXRlciB9IGZyb20gJy4uLy4uL2NvcmUvc2xvdHMvcm91dGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDaGF0SW5mbyB9IGZyb20gJy4uLy4uL2NoYXQvY2hhdC1pbmZvJztcclxuaW1wb3J0IHsgUGFuZVJlZiB9IGZyb20gJy4uLy4uL2NvcmUvc2xvdHMvcGFuZS1yZWYnO1xyXG5pbXBvcnQgeyBPcGVuUG9saWN5IH0gZnJvbSAnLi4vLi4vY29yZS9jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgUHJvZmlsZVNldHRpbmdzRGlhbG9nLCBPdXRPZk9mZmljZURhdGEgfSBmcm9tICcuL291dG9mb2ZmaWNlLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZmlsZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Byb2ZpbGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgaG9zdDoge1xyXG4gICAgY2xhc3M6ICdwYW5lJ1xyXG4gIH0sXHJcbiAgZW50cnlDb21wb25lbnRzOiBbUHJvZmlsZVNldHRpbmdzRGlhbG9nXVxyXG59KVxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdiaXpkb2MtdXNlci1wcm9maWxlcicgfSlcclxuLyoqIGNvbXBvbmVudCovXHJcbmV4cG9ydCBjbGFzcyBQcm9maWxlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICByZWFkb25seSBzZWFyY2ggPSB0aGlzLl9mYi5jb250cm9sKG51bGwpO1xyXG4gIEBWaWV3Q2hpbGQoJ2FjdGl2aXR5JykgY2hhcnQ6IENoYXJ0Q29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ2FjdGl2aXR5JywgeyByZWFkOiBFbGVtZW50UmVmIH0pIGNoYXJ0RWxlbWVudDogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdhc3NpZ25UcGwnKSBhc3NpZ25UcGw6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgcmVhZG9ubHkgd2hvID0gdGhpcy5fZmIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICByZWFkb25seSBwcmltYXJ5WEF4aXMgPSB7XHJcbiAgICB2YWx1ZVR5cGU6ICdEYXRlVGltZScsXHJcbiAgICBsYWJlbEZvcm1hdDogJ01NTSBkZCcsXHJcbiAgICBsYWJlbFN0eWxlOiB7XHJcbiAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICB9XHJcbiAgfSBhcyBBeGlzTW9kZWw7XHJcbiAgcmVhZG9ubHkgcHJpbWFyeVlBeGlzID0ge1xyXG4gICAgbGFiZWxTdHlsZToge1xyXG4gICAgICBzaXplOiAnMHB4J1xyXG4gICAgfSxcclxuICB9IGFzIEF4aXNNb2RlbDtcclxuICByZWFkb25seSB6b29tU2V0dGluZ3M6IFpvb21TZXR0aW5nc01vZGVsID0ge1xyXG4gICAgZW5hYmxlTW91c2VXaGVlbFpvb21pbmc6IHRydWUsXHJcbiAgICBlbmFibGVQaW5jaFpvb21pbmc6IHRydWUsXHJcbiAgICB0b29sYmFySXRlbXM6IFtdLFxyXG4gICAgZW5hYmxlU2VsZWN0aW9uWm9vbWluZzogZmFsc2UsXHJcbiAgICBlbmFibGVTY3JvbGxiYXI6IHRydWVcclxuICB9O1xyXG4gIHJlYWRvbmx5IHRvb2x0aXA6IFRvb2x0aXBTZXR0aW5nc01vZGVsID0ge1xyXG4gICAgZW5hYmxlOiB0cnVlLFxyXG4gICAgc2hhcmVkOiB0cnVlLFxyXG4gICAgdGV4dFN0eWxlOiB7XHJcbiAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICB9XHJcbiAgfTtcclxuICByZWFkb25seSBsZWdlbmQ6IExlZ2VuZFNlcmllc01vZGVsID0ge1xyXG4gICAgdmlzaWJsZTogZmFsc2UsXHJcbiAgICB0ZXh0U3R5bGU6IHtcclxuICAgICAgZm9udEZhbWlseTogRk9OVF9GQU1JTFlcclxuICAgIH1cclxuICB9O1xyXG4gIHJlYWRvbmx5IGJvcmRlciA9IHsgd2lkdGg6IDAgfSBhcyBCb3JkZXJNb2RlbDtcclxuICByZWFkb25seSBtYXJrZXI6IE1hcmtlck9wdGlvbnNNb2RlbCA9IHtcclxuICAgIHZpc2libGU6IHRydWUsXHJcbiAgICB3aWR0aDogMTAsXHJcbiAgICBoZWlnaHQ6IDEwXHJcbiAgfVxyXG4gIHVzZXJzJDogT2JzZXJ2YWJsZTxVc2VySW5mb1tdPjtcclxuICBhc3NpZ25hYmxlJDogT2JzZXJ2YWJsZTxVc2VySW5mb1tdPjtcclxuICBwYWxldHRlczogc3RyaW5nW10gPSB0aGlzLl9zZXNzaW9uLmFjY2VudFBhbGV0dGU7XHJcbiAgdGhlbWU6ICdNYXRlcmlhbCcgfCAnTWF0ZXJpYWxEYXJrJyA9IHRoaXMuX3Nlc3Npb24udGhlbWUuZGFyayA/ICdNYXRlcmlhbERhcmsnIDogJ01hdGVyaWFsJztcclxuICBkYXRhOiBQcm9maWxlSW5mbztcclxuICBjb2xzID0gMjtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICByZWFkb25seSBzZXBhcmF0b3JLZXlzQ29kZXM6IG51bWJlcltdID0gW0VOVEVSLCBDT01NQSwgU0VNSUNPTE9OXTtcclxuICAgIHByaXZhdGUgX3VzZXJJZDogc3RyaW5nO1xyXG4gIC8qKiBjdG9yICovXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF91dGlsaXR5UmVmOiBVdGlsaXR5UmVmPGJvb2xlYW4sIFByb2ZpbGVyTW9kZWwsIFByb2ZpbGVJbmZvLCBzdHJpbmc+LFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgX2RvY3VtZW50SW5mbzogRG9jdW1lbnRJbmZvLFxyXG4gICAgbWVkaWE6IE1lZGlhT2JzZXJ2ZXIsXHJcbiAgICBwcml2YXRlIF9jaGF0OiBDaGF0SW5mbyxcclxuICAgIHByaXZhdGUgX2d1aWRlOiBHdWlkZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFBhbmVzUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfcGFuZTogUGFuZVJlZjxQcm9maWxlckNvbXBvbmVudD4sXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9hY2NvdW50czogQWNjb3VudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9mYjogRm9ybUJ1aWxkZXIpIHtcclxuICAgIG1lZGlhLm1lZGlhJC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKG0gPT4gdGhpcy5jb2xzID0gbS5tcUFsaWFzID09PSAnc20nIHx8IG0ubXFBbGlhcyA9PT0gJ3htJyA/IDEgOiAyKTtcclxuICAgIF9zZXNzaW9uLnRoZW1lQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUodCA9PiB7XHJcbiAgICAgIHRoaXMudGhlbWUgPSB0LmRhcmsgPyAnTWF0ZXJpYWxEYXJrJyA6ICdNYXRlcmlhbCc7XHJcbiAgICAgIHRoaXMucGFsZXR0ZXMgPSBfc2Vzc2lvbi5hY2NlbnRQYWxldHRlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcGFuZS5xdWVyeVBhcmFtc0NoYW5nZS5zdWJzY3JpYmUocCA9PiB7XHJcbiAgICAgIGNvbnN0IHsgdXNlcklkIH0gPSBwO1xyXG4gICAgICB1c2VySWQgJiYgdGhpcy5fb3Blbih1c2VySWQpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9wYW5lLnJlc2l6ZWQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNoYXJ0Py5jaGFydFJlc2l6ZSgpKTtcclxuICAgIHRoaXMudXNlcnMkID0gdGhpcy5zZWFyY2gudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpLFxyXG4gICAgICBkZWJvdW5jZVRpbWUoMjUwKSwgXHJcbiAgICAgIGZpbHRlcih2ID0+ICFpc09iamVjdCh2KSksXHJcbiAgICAgIHN3aXRjaE1hcCh2ID0+IHRoaXMuX2FjY291bnRzLmZpbmRBbGwodikpKTtcclxuICB9XHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmtleWRvd24uZjEnLCBbJyRldmVudCddKVxyXG4gIGd1aWRlKGV2dD86IEV2ZW50IHwgS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgY29uc3Qgc3RlcHM6IEd1aWRlU3RlcFtdID0gW107XHJcbiAgICBpZiAodGhpcy5kYXRhKSB7XHJcbiAgICAgIHN0ZXBzLnB1c2goe1xyXG4gICAgICAgIHNlbGVjdG9yOiAnW2RhdGEtaGVscD1zZXR0aW5nc10nLFxyXG4gICAgICAgIGNvbnRlbnQ6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ091dE9mT2ZmaWNlSGVscCcpXHJcbiAgICAgIH0pO1xyXG4gICAgICBPYmplY3Qua2V5cyh0aGlzLmRhdGEuYWN0aXZpdHkpLmxlbmd0aCAmJlxyXG4gICAgICAgIHN0ZXBzLnB1c2goe1xyXG4gICAgICAgICAgc2VsZWN0b3I6ICdbZGF0YS1oZWxwPWFjdGl2aXR5XScsXHJcbiAgICAgICAgICBjb250ZW50OiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdBY3Rpdml0eUhlbHAnKVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB0aGlzLmRhdGEucGVuZGluZy5sZW5ndGggJiZcclxuICAgICAgICBzdGVwcy5wdXNoKHtcclxuICAgICAgICAgIHNlbGVjdG9yOiAnW2RhdGEtaGVscD1wZW5kaW5nXScsXHJcbiAgICAgICAgICBjb250ZW50OiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdQZW5kaW5nSGVscCcpXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIHRoaXMuZGF0YS5wb3NpdGlvbnMubGVuZ3RoICYmXHJcbiAgICAgICAgc3RlcHMucHVzaCh7XHJcbiAgICAgICAgICBzZWxlY3RvcjogJ1tkYXRhLWhlbHA9cG9zaXRpb25zXScsXHJcbiAgICAgICAgICBjb250ZW50OiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdQb3NpdGlvbnNIZWxwJylcclxuICAgICAgICB9KTtcclxuICAgICAgc3RlcHMucHVzaCh7XHJcbiAgICAgICAgc2VsZWN0b3I6ICdbZGF0YS1oZWxwPXJlYXNzaWduXScsXHJcbiAgICAgICAgY29udGVudDogdGhpcy5fdHJhbnNsYXRlLmdldCgnUmVhc3NpZ25IZWxwJylcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHN0ZXBzLnB1c2goe1xyXG4gICAgICBzZWxlY3RvcjogJ1tkYXRhLWhlbHA9c2VhcmNoXScsXHJcbiAgICAgIHBvc2l0aW9uOiAnQmVsb3cnLFxyXG4gICAgICBjb250ZW50OiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdQcm9maWxlclNlYXJjaEhlbHAnKVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9ndWlkZS5zdGFydCh7XHJcbiAgICAgIG5hbWU6ICdwcm9maWxlcicsXHJcbiAgICAgIHN0ZXBzXHJcbiAgICB9KTtcclxuICAgIGV2dCAmJiBldnQucHJldmVudERlZmF1bHQoKTtcclxuICB9XHJcbiAgY2hhbmdlKGV2dDogTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCkge1xyXG4gICAgY29uc3QgeyBpZDogdXNlcklkIH0gPSBldnQub3B0aW9uLnZhbHVlO1xyXG4gICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFtdLCB7IHF1ZXJ5UGFyYW1zOiB7IHVzZXJJZCB9IH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gdXNlcklkXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfb3Blbih1c2VySWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5fdXNlcklkID0gdXNlcklkO1xyXG4gICAgdGhpcy5fdXRpbGl0eVJlZi5wb3B1bGF0ZSh1c2VySWQpLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgdGhpcy5kYXRhID0gZTtcclxuICAgICAgdGhpcy5zZWFyY2gucmVzZXQobnVsbCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIHdoaWxlICh0aGlzLmNoYXJ0LnNlcmllcy5sZW5ndGgpXHJcbiAgICAgICAgdGhpcy5jaGFydD8ucmVtb3ZlU2VyaWVzKDApO1xyXG4gICAgICB0aGlzLmNoYXJ0Py5hZGRTZXJpZXModGhpcy5fc2VyaWVzKCkpO1xyXG4gICAgfSwgKCkgPT4gdGhpcy5fc2IuZXJyb3IoKSk7XHJcbiAgfVxyXG4gIC8qKiAqL1xyXG4gIHByaXZhdGUgX3NlcmllcygpOiBTZXJpZXNNb2RlbFtdIHtcclxuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLmRhdGEuYWN0aXZpdHkpLm1hcChhID0+IHtcclxuICAgICAgY29uc3QgbG9nID0gdGhpcy5kYXRhLmFjdGl2aXR5W2FdO1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHR5cGU6ICdTY2F0dGVyJyxcclxuICAgICAgICBuYW1lOiB0aGlzLl9hY3Rpb25OYW1lKGEpLFxyXG4gICAgICAgIHhOYW1lOiAndGltZScsXHJcbiAgICAgICAgeU5hbWU6ICdkdXJhdGlvbicsXHJcbiAgICAgICAgZGF0YVNvdXJjZTogbG9nLm1hcChsID0+IHtcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGlkOiBsLmlkLFxyXG4gICAgICAgICAgICB0aW1lOiBuZXcgRGF0ZShsLnRpbWUpLFxyXG4gICAgICAgICAgICBkdXJhdGlvbjogbC5kdXJhdGlvblxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9KVxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9hY3Rpb25OYW1lKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBhY3Rpb24gPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuYWN0aW9ucy5maW5kKGEgPT4gYS5uYW1lID09PSBuYW1lKTtcclxuICAgIHJldHVybiBhY3Rpb24gPyBhY3Rpb24ucGFzdCB8fCBhY3Rpb24udGl0bGUgOiBuYW1lO1xyXG4gIH1cclxuICBwb2ludENsaWNrKGV2dDogSVBvaW50RXZlbnRBcmdzKSB7XHJcbiAgICBjb25zdCB7IGlkIH0gPSBldnQuc2VyaWVzLmRhdGFTb3VyY2VbZXZ0LnBvaW50SW5kZXhdO1xyXG4gICAgdGhpcy5fZG9jdW1lbnRJbmZvLm9wZW4oaWQpO1xyXG4gIH1cclxuICB1c2VyRGlzcGxheShpdGVtOiBVc2VySW5mbykge1xyXG4gICAgcmV0dXJuIGl0ZW0gPyBpdGVtLm5hbWUgOiBudWxsO1xyXG4gIH1cclxuICB0cmFjZShpZDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydhZG1pbicsICd1dGlsaXRpZXMnLCAnZG9jdW1lbnQtdHJhY2UnXSwge1xyXG4gICAgICBxdWVyeVBhcmFtczogeyBkb2N1bWVudElkOiBpZC5lbmNvZGVJZCgpIH0sXHJcbiAgICAgIHBvbGljeTogT3BlblBvbGljeS5EZWZlciB8IE9wZW5Qb2xpY3kuUGlubmFibGVcclxuICAgIH0pO1xyXG4gIH1cclxuICBjaGF0KCkge1xyXG4gICAgdGhpcy5fY2hhdC5vcGVuKHRoaXMuX3VzZXJJZCk7XHJcbiAgfVxyXG4gIHJlYXNzaWduKHBvc2l0aW9uPzogUG9zaXRpb25JbmZvKSB7XHJcbiAgICB0aGlzLmFzc2lnbmFibGUkID0gdGhpcy5fYWNjb3VudHMuZmluZEFsbCgpLnBpcGUobWFwKHUgPT4gdS5maWx0ZXIodSA9PiB1LmlkICE9PSB0aGlzLl91c2VySWQpKSk7XHJcbiAgICB0aGlzLl9kaWFsb2cub3Blbih0aGlzLmFzc2lnblRwbCwge30pLmFmdGVyQ2xvc2VkKCkuXHJcbiAgICAgIHN1YnNjcmliZSh1ID0+XHJcbiAgICAgICAgdSAmJiB0aGlzLl9yZWFzc2lnbih1LCBwb3NpdGlvbilcclxuICAgICAgKTtcclxuICB9XHJcbiAgc2V0dGluZ3MoKSB7XHJcbiAgICB0aGlzLl9kaWFsb2cub3BlbihQcm9maWxlU2V0dGluZ3NEaWFsb2csIHtcclxuICAgICAgY2xvc2VPbk5hdmlnYXRpb246IHRydWUsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICB1c2VySWQ6IHRoaXMuX3VzZXJJZCxcclxuICAgICAgICBncmFudEFjY2VzczogdGhpcy5kYXRhLmdyYW50QWNjZXNzLFxyXG4gICAgICAgIG91dE9mT2ZmaWNlOiB0aGlzLmRhdGEub3V0T2ZPZmZpY2VcclxuICAgICAgfSBhcyBPdXRPZk9mZmljZURhdGFcclxuICAgIH0pLmFmdGVyQ2xvc2VkKCkuXHJcbiAgICAgIHN1YnNjcmliZSh2ID0+XHJcbiAgICAgICAgdiAmJiB0aGlzLl91dGlsaXR5UmVmLmV4ZWN1dGUoe1xyXG4gICAgICAgICAgb3V0T2ZPZmZpY2U6IHYub3V0T2ZPZmZpY2UsXHJcbiAgICAgICAgICBncmFudEFjY2Vzczogdi5ncmFudEFjY2VzcyxcclxuICAgICAgICAgIHVzZXJJZDogdGhpcy5fdXNlcklkXHJcbiAgICAgICAgfSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5kYXRhLCB2KTtcclxuICAgICAgICAgIHRoaXMuX3NiLnRvYXN0KCdDaGFuZ2VzU2F2ZWQnKTtcclxuICAgICAgICB9LCAoKSA9PlxyXG4gICAgICAgICAgdGhpcy5fc2IuZXJyb3IoKSkpO1xyXG4gIH1cclxuICAvKiogKi9cclxuICBwcml2YXRlIF9yZWFzc2lnbih3aG86IHN0cmluZywgcG9zaXRpb24/OiBQb3NpdGlvbkluZm8pIHtcclxuICAgIHRoaXMuX3V0aWxpdHlSZWYuZXhlY3V0ZSh7IHJlYXNzaWduOiB7IHdobywgLi4ucG9zaXRpb24gfSwgdXNlcklkOiB0aGlzLl91c2VySWQgfSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5fc2IudG9hc3QoJ0Fzc2lnbmVkJyk7XHJcbiAgICAgIGlmIChwb3NpdGlvbilcclxuICAgICAgICB0aGlzLmRhdGEucG9zaXRpb25zLnJlbW92ZShwb3NpdGlvbik7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLmRhdGEucG9zaXRpb25zID0gW107XHJcbiAgICB9LCAoKSA9PlxyXG4gICAgICB0aGlzLl9zYi5lcnJvcigpKTtcclxuICB9XHJcbiAgdG9vbHRpcFJlbmRlcihlOiBJVG9vbHRpcFJlbmRlckV2ZW50QXJncykge1xyXG4gICAgZS50ZXh0ID0gYCR7ZGF5anMuZHVyYXRpb24oZS5wb2ludC55IGFzIG51bWJlciwgJ3MnKS5odW1hbml6ZSgpfWA7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcblxyXG5pbnRlcmZhY2UgUHJvZmlsZUluZm8ge1xyXG4gIG91dE9mT2ZmaWNlOiBPdXRPZk9mZmljZVNldHRpbmdzO1xyXG4gIGdyYW50QWNjZXNzOiBHcmFudFNldHRpbmdzO1xyXG4gIHBvc2l0aW9uczogUG9zaXRpb25JbmZvW107XHJcbiAgYWN0aXZpdHk6IHtcclxuICAgIFthY3Rpb246IHN0cmluZ106IHtcclxuICAgICAgaWQ6IG51bWJlcjtcclxuICAgICAgLyoqIHNlY29uZHMgKi9cclxuICAgICAgZHVyYXRpb246IG51bWJlcjtcclxuICAgICAgbnVtYmVyOiBzdHJpbmc7XHJcbiAgICAgIHRpbWU6IERhdGU7XHJcbiAgICB9W11cclxuICB9O1xyXG4gIHBlbmRpbmc6IHtcclxuICAgIGlkOiBudW1iZXI7XHJcbiAgICByZWNlaXZlZDogRGF0ZTtcclxuICAgIG51bWJlcjogc3RyaW5nO1xyXG4gIH1bXTtcclxuICBpbmZvOiBVc2VySW5mbztcclxufVxyXG5pbnRlcmZhY2UgUG9zaXRpb25JbmZvIHtcclxuICB0eXBlOiBzdHJpbmc7XHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgdmFsdWU6IHN0cmluZztcclxuICByb2xlOiBzdHJpbmc7XHJcbn1cclxuaW50ZXJmYWNlIFByb2ZpbGVyTW9kZWwge1xyXG4gIG91dE9mT2ZmaWNlPzogT3V0T2ZPZmZpY2VTZXR0aW5ncztcclxuICBncmFudEFjY2Vzcz86IEdyYW50U2V0dGluZ3M7XHJcbiAgdXNlcklkOiBzdHJpbmc7XHJcbiAgcmVhc3NpZ24/OiB7XHJcbiAgICB3aG86IHN0cmluZztcclxuICAgIHJvbGU/OiBzdHJpbmc7XHJcbiAgICBrZXk/OiBhbnk7XHJcbiAgfVxyXG59XHJcblxyXG4iLCI8bWF0LXRvb2xiYXI+XHJcbiAgPG1hdC1pY29uIChjbGljayk9XCJudWxsXCIgY2xhc3M9XCJtYXQtaWNvbi1ydGwtbWlycm9yXCI+c2VhcmNoPC9tYXQtaWNvbj5cclxuICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInNlYXJjaFwiIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiIFtmb3JtQ29udHJvbF09XCJzZWFyY2hcIiBkYXRhLWhlbHA9XCJzZWFyY2hcIiB3aWR0aD1cIjIwXCIgLz5cclxuICA8bWF0LWF1dG9jb21wbGV0ZSAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiIFtkaXNwbGF5V2l0aF09XCJ1c2VyRGlzcGxheVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9wdGlvblNlbGVjdGVkKT1cImNoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdSBvZiB1c2VycyQgfCBhc3luY1wiIFt2YWx1ZV09XCJ1XCI+XHJcbiAgICAgIDxzcGFuPnt7dS5uYW1lfX08L3NwYW4+XHJcbiAgICA8L21hdC1vcHRpb24+XHJcbiAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZ3VpZGUoKVwiIFtiaXpkb2NUb29sdGlwXT1cIidIZWxwJyB8IHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5oZWxwX291dGxpbmU8L21hdC1pY29uPjwvYnV0dG9uPlxyXG48L21hdC10b29sYmFyPlxyXG48ZGl2ICpuZ0lmPVwiZGF0YVwiIGZ4TGF5b3V0PVwicm93IHdyYXBcIj5cclxuICA8IS0tIGluZm8gLS0+XHJcbiAgPG1hdC1jYXJkIGZ4RmxleD5cclxuICAgIDxtYXQtY2FyZC1oZWFkZXI+XHJcbiAgICAgIDxtYXQtY2FyZC10aXRsZT5cclxuICAgICAgICA8c3Bhbj57e2RhdGEuaW5mby5uYW1lfX08L3NwYW4+XHJcbiAgICAgIDwvbWF0LWNhcmQtdGl0bGU+XHJcbiAgICA8L21hdC1jYXJkLWhlYWRlcj5cclxuICAgIDxtYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICA8YnIgLz5cclxuICAgIDwvbWF0LWNhcmQtY29udGVudD5cclxuICAgIDxtYXQtY2FyZC1hY3Rpb25zPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiY2hhdCgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0NoYXQnIHwgdHJhbnNsYXRlXCIgW2Rpc2FibGVkXT1cIiFkYXRhXCI+PG1hdC1pY29uPmNoYXQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJzZXR0aW5ncygpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1NldHRpbmdzJyB8IHRyYW5zbGF0ZVwiIFtkaXNhYmxlZF09XCIhZGF0YVwiIGRhdGEtaGVscD1cInNldHRpbmdzXCI+PG1hdC1pY29uPnNldHRpbmdzPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cclxuICA8L21hdC1jYXJkPlxyXG4gIDxtYXQtY2FyZCBmeEZsZXggZGF0YS1oZWxwPVwiYWN0aXZpdHlcIj5cclxuICAgIDxtYXQtY2FyZC1oZWFkZXI+XHJcbiAgICAgIDxtYXQtY2FyZC10aXRsZT5cclxuICAgICAgICB7eydBY3Rpdml0eScgfCB0cmFuc2xhdGV9fVxyXG4gICAgICA8L21hdC1jYXJkLXRpdGxlPlxyXG4gICAgPC9tYXQtY2FyZC1oZWFkZXI+XHJcbiAgICA8bWF0LWNhcmQtY29udGVudD5cclxuICAgICAgPGVqcy1jaGFydCAjYWN0aXZpdHkgW3ByaW1hcnlYQXhpc109XCJwcmltYXJ5WEF4aXNcIiBbcHJpbWFyeVlBeGlzXT1cInByaW1hcnlZQXhpc1wiIFt6b29tU2V0dGluZ3NdPVwiem9vbVNldHRpbmdzXCIgW3Rvb2x0aXBdPSd0b29sdGlwJyAodG9vbHRpcFJlbmRlcik9XCJ0b29sdGlwUmVuZGVyKCRldmVudClcIiBbcGFsZXR0ZXNdPVwicGFsZXR0ZXNcIiBiYWNrZ3JvdW5kPVwidHJhbnNwYXJlbnRcIiBbdGhlbWVdPSd0aGVtZScgW2JvcmRlcl09XCJib3JkZXJcIiAocG9pbnRDbGljayk9XCJwb2ludENsaWNrKCRldmVudClcIj5cclxuICAgICAgICA8ZS1zZXJpZXMtY29sbGVjdGlvbj5cclxuICAgICAgICA8L2Utc2VyaWVzLWNvbGxlY3Rpb24+XHJcbiAgICAgIDwvZWpzLWNoYXJ0PlxyXG4gICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gIDwvbWF0LWNhcmQ+XHJcbiAgPCEtLSBwZW5kaW5nIC0tPlxyXG4gIDxtYXQtY2FyZCBmeEZsZXggZGF0YS1oZWxwPVwicGVuZGluZ1wiPlxyXG4gICAgPG1hdC1jYXJkLWhlYWRlcj5cclxuICAgICAgPG1hdC1jYXJkLXRpdGxlPlxyXG4gICAgICAgIHt7J1BlbmRpbmcnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgPC9tYXQtY2FyZC10aXRsZT5cclxuICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxyXG4gICAgPG1hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgIDx0YWJsZSBjbGFzcz1cIm1hdC10YWJsZVwiICpuZ0lmPVwiZGF0YS5wZW5kaW5nLmxlbmd0aDsgZWxzZSBub25lXCI+XHJcbiAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgPHRyIGNsYXNzPVwibWF0LXJvd1wiPlxyXG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJtYXQtaGVhZGVyLWNlbGxcIj48L3RkPlxyXG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJtYXQtaGVhZGVyLWNlbGxcIj48L3RkPlxyXG4gICAgICAgICAgPC90cj5cclxuICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgciBvZiBkYXRhLnBlbmRpbmdcIiBjbGFzcz1cIm1hdC1yb3dcIj5cclxuICAgICAgICAgICAgPHRkIGNsYXNzPVwibWF0LWNlbGxcIj48YSAoY2xpY2spPVwidHJhY2Uoci5pZClcIj57e3IubnVtYmVyfX08L2E+PC90ZD5cclxuICAgICAgICAgICAgPHRkIGNsYXNzPVwibWF0LWNlbGxcIj57eyByLnJlY2VpdmVkIHwgYW1EaWZmZXJlbmNlIDogbnVsbCA6ICdzJyB8IGFtRHVyYXRpb24gOiAncyd9fTwvdGQ+XHJcbiAgICAgICAgICA8L3RyPlxyXG4gICAgICAgIDwvdGJvZHk+XHJcbiAgICAgIDwvdGFibGU+XHJcbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgPC9tYXQtY2FyZD5cclxuICA8IS0tIHBvc2l0aW9ucyAtLT5cclxuICA8bWF0LWNhcmQgZnhGbGV4IGRhdGEtaGVscD1cInBvc2l0aW9uc1wiPlxyXG4gICAgPG1hdC1jYXJkLWhlYWRlcj5cclxuICAgICAgPG1hdC1jYXJkLXRpdGxlPlxyXG4gICAgICAgIHt7J1Bvc2l0aW9ucycgfCB0cmFuc2xhdGV9fVxyXG4gICAgICA8L21hdC1jYXJkLXRpdGxlPlxyXG4gICAgPC9tYXQtY2FyZC1oZWFkZXI+XHJcbiAgICA8bWF0LWNhcmQtY29udGVudD5cclxuICAgICAgPHRhYmxlIGNsYXNzPVwibWF0LXRhYmxlXCIgKm5nSWY9XCJkYXRhLnBvc2l0aW9ucy5sZW5ndGg7IGVsc2Ugbm9uZVwiPlxyXG4gICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcCBvZiBkYXRhLnBvc2l0aW9uc1wiIGNsYXNzPVwibWF0LXJvd1wiPlxyXG4gICAgICAgICAgPHRkIGNsYXNzPVwibWF0LWNlbGxcIj57e3AudmFsdWUgfX08L3RkPlxyXG4gICAgICAgICAgPHRkIGNsYXNzPVwibWF0LWNlbGxcIj57e3Aucm9sZSB8IHJvbGV9fTwvdGQ+XHJcbiAgICAgICAgICA8dGQgY2xhc3M9XCJtYXQtY2VsbFwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwicmVhc3NpZ24ocClcIiBbYml6ZG9jVG9vbHRpcF09XCInUmVhc3NpZ24nIHwgdHJhbnNsYXRlXCI+PG1hdC1pY29uPnN3YXBfaG9yaXo8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICAgICAgPC90ZD5cclxuICAgICAgICA8L3RyPlxyXG4gICAgICA8L3RhYmxlPlxyXG4gICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgPG1hdC1jYXJkLWFjdGlvbnM+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInJlYXNzaWduKClcIiBbYml6ZG9jVG9vbHRpcF09XCInUmVhc3NpZ25BbGwnIHwgdHJhbnNsYXRlXCIgW2Rpc2FibGVkXT1cIiFkYXRhIHx8ICFkYXRhLnBvc2l0aW9ucy5sZW5ndGhcIiBkYXRhLWhlbHA9XCJyZWFzc2lnblwiPjxtYXQtaWNvbj5zd2FwX2hvcml6PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cclxuICA8L21hdC1jYXJkPlxyXG48L2Rpdj5cclxuPCEtLSBhc3NpZ24gZGlhbG9nIC0tPlxyXG48bmctdGVtcGxhdGUgI2Fzc2lnblRwbD5cclxuICA8aDIgbWF0LWRpYWxvZy10aXRsZT57eydSZWFzc2lnbicgfCB0cmFuc2xhdGUgfX08L2gyPlxyXG4gIDxtYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgICA8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBmeExheW91dD1cImNvbHVtblwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPG1hdC1zZWxlY3QgcGxhY2Vob2xkZXI9XCJ7eydXaG8nIHwgdHJhbnNsYXRlfX1cIiBbZm9ybUNvbnRyb2xdPVwid2hvXCIgcmVxdWlyZWQ+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdSBvZiBhc3NpZ25hYmxlJCB8IGFzeW5jXCIgW3ZhbHVlXT1cInUuaWRcIj57e3UubmFtZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZm9ybT5cclxuICA8L21hdC1kaWFsb2ctY29udGVudD5cclxuICA8bWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIFttYXQtZGlhbG9nLWNsb3NlXT1cIndoby52YWx1ZVwiIGNvbG9yPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCIhd2hvLnZhbGlkXCI+e3snT0snIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBtYXQtZGlhbG9nLWNsb3NlPnt7J0NhbmNlbCcgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gIDwvbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI25vbmU+XHJcbiAgPHNwYW4gY2xhc3M9XCJtYXQtYm9keS0yXCI+e3snTm9uZScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
511
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ProfilerComponent, [{
512
+ type: Component,
513
+ args: [{ host: {
514
+ class: 'pane'
515
+ }, entryComponents: [ProfileSettingsDialog], template: "<mat-toolbar>\r\n <mat-icon (click)=\"null\" class=\"mat-icon-rtl-mirror\">search</mat-icon>\r\n <input matInput type=\"search\" [matAutocomplete]=\"auto\" [formControl]=\"search\" data-help=\"search\" width=\"20\" />\r\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"userDisplay\"\r\n (optionSelected)=\"change($event)\">\r\n <mat-option *ngFor=\"let u of users$ | async\" [value]=\"u\">\r\n <span>{{u.name}}</span>\r\n </mat-option>\r\n </mat-autocomplete>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\"><mat-icon>help_outline</mat-icon></button>\r\n</mat-toolbar>\r\n<div *ngIf=\"data\" fxLayout=\"row wrap\">\r\n <!-- info -->\r\n <mat-card fxFlex>\r\n <mat-card-header>\r\n <mat-card-title>\r\n <span>{{data.info.name}}</span>\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <br />\r\n </mat-card-content>\r\n <mat-card-actions>\r\n <button mat-icon-button (click)=\"chat()\" [bizdocTooltip]=\"'Chat' | translate\" [disabled]=\"!data\"><mat-icon>chat</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"settings()\" [bizdocTooltip]=\"'Settings' | translate\" [disabled]=\"!data\" data-help=\"settings\"><mat-icon>settings</mat-icon></button>\r\n </mat-card-actions>\r\n </mat-card>\r\n <mat-card fxFlex data-help=\"activity\">\r\n <mat-card-header>\r\n <mat-card-title>\r\n {{'Activity' | translate}}\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <ejs-chart #activity [primaryXAxis]=\"primaryXAxis\" [primaryYAxis]=\"primaryYAxis\" [zoomSettings]=\"zoomSettings\" [tooltip]='tooltip' (tooltipRender)=\"tooltipRender($event)\" [palettes]=\"palettes\" background=\"transparent\" [theme]='theme' [border]=\"border\" (pointClick)=\"pointClick($event)\">\r\n <e-series-collection>\r\n </e-series-collection>\r\n </ejs-chart>\r\n </mat-card-content>\r\n </mat-card>\r\n <!-- pending -->\r\n <mat-card fxFlex data-help=\"pending\">\r\n <mat-card-header>\r\n <mat-card-title>\r\n {{'Pending' | translate}}\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <table class=\"mat-table\" *ngIf=\"data.pending.length; else none\">\r\n <thead>\r\n <tr class=\"mat-row\">\r\n <td class=\"mat-header-cell\"></td>\r\n <td class=\"mat-header-cell\"></td>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let r of data.pending\" class=\"mat-row\">\r\n <td class=\"mat-cell\"><a (click)=\"trace(r.id)\">{{r.number}}</a></td>\r\n <td class=\"mat-cell\">{{ r.received | amDifference : null : 's' | amDuration : 's'}}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </mat-card-content>\r\n </mat-card>\r\n <!-- positions -->\r\n <mat-card fxFlex data-help=\"positions\">\r\n <mat-card-header>\r\n <mat-card-title>\r\n {{'Positions' | translate}}\r\n </mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <table class=\"mat-table\" *ngIf=\"data.positions.length; else none\">\r\n <tr *ngFor=\"let p of data.positions\" class=\"mat-row\">\r\n <td class=\"mat-cell\">{{p.value }}</td>\r\n <td class=\"mat-cell\">{{p.role | role}}</td>\r\n <td class=\"mat-cell\">\r\n <button mat-icon-button (click)=\"reassign(p)\" [bizdocTooltip]=\"'Reassign' | translate\"><mat-icon>swap_horiz</mat-icon></button>\r\n </td>\r\n </tr>\r\n </table>\r\n </mat-card-content>\r\n <mat-card-actions>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"reassign()\" [bizdocTooltip]=\"'ReassignAll' | translate\" [disabled]=\"!data || !data.positions.length\" data-help=\"reassign\"><mat-icon>swap_horiz</mat-icon></button>\r\n </mat-card-actions>\r\n </mat-card>\r\n</div>\r\n<!-- assign dialog -->\r\n<ng-template #assignTpl>\r\n <h2 mat-dialog-title>{{'Reassign' | translate }}</h2>\r\n <mat-dialog-content>\r\n <form autocomplete=\"off\" fxLayout=\"column\">\r\n <mat-form-field>\r\n <mat-select placeholder=\"{{'Who' | translate}}\" [formControl]=\"who\" required>\r\n <mat-option *ngFor=\"let u of assignable$ | async\" [value]=\"u.id\">{{u.name}}</mat-option>\r\n </mat-select>\r\n </mat-form-field>\r\n </form>\r\n </mat-dialog-content>\r\n <mat-dialog-actions>\r\n <button mat-button [mat-dialog-close]=\"who.value\" color=\"primary\" [disabled]=\"!who.valid\">{{'OK' | translate}}</button>\r\n <button mat-button mat-dialog-close>{{'Cancel' | translate}}</button>\r\n </mat-dialog-actions>\r\n</ng-template>\r\n<ng-template #none>\r\n <span class=\"mat-body-2\">{{'None' | translate }}</span>\r\n</ng-template>\r\n", styles: [":host{min-width:560px;display:block}.mat-card{margin:5px}.mat-card:hover{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}.mat-table{width:100%}\n"] }]
516
+ }], function () { return [{ type: i1.PromptService }, { type: i2.UtilityRef }, { type: i3.SessionService }, { type: i4.MatDialog }, { type: i5.DocumentInfo }, { type: i6.MediaObserver }, { type: i7.ChatInfo }, { type: i8.GuideService }, { type: i9.PanesRouter }, { type: i0.ChangeDetectorRef }, { type: i10.PaneRef }, { type: i11.TranslateService }, { type: i12.AccountService }, { type: i13.FormBuilder }]; }, { chart: [{
517
+ type: ViewChild,
518
+ args: ['activity']
519
+ }], chartElement: [{
520
+ type: ViewChild,
521
+ args: ['activity', { read: ElementRef }]
522
+ }], assignTpl: [{
523
+ type: ViewChild,
524
+ args: ['assignTpl']
525
+ }], guide: [{
526
+ type: HostListener,
527
+ args: ['window:keydown.f1', ['$event']]
528
+ }] }); })();
529
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZmlsZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9hZG1pbi9wcm9maWxlci9wcm9maWxlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL3Byb2ZpbGVyL3Byb2ZpbGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBa0MsVUFBVSxFQUFFLFlBQVksRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDbEksT0FBTyxFQUFlLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3pELE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR2hFLE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQVMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFJaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBbUIsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNwQjdFLHNDQUF5RCxXQUFBO0lBQ2pELFlBQVU7SUFBQSxpQkFBTyxFQUFBOzs7SUFEb0IsNEJB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QUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIE9uSW5pdCwgT25EZXN0cm95LCBUZW1wbGF0ZVJlZiwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBDaGFuZ2VEZXRlY3RvclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XHJcbmltcG9ydCB7IENPTU1BLCBFTlRFUiwgU0VNSUNPTE9OIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcclxuaW1wb3J0IHsgTWVkaWFPYnNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcclxuaW1wb3J0IHsgQXhpc01vZGVsLCBCb3JkZXJNb2RlbCwgQ2hhcnRDb21wb25lbnQsIElQb2ludEV2ZW50QXJncywgSVRvb2x0aXBSZW5kZXJFdmVudEFyZ3MsIExlZ2VuZFNlcmllc01vZGVsLCBNYXJrZXJPcHRpb25zTW9kZWwsIFNlcmllc01vZGVsLCBUb29sdGlwU2V0dGluZ3NNb2RlbCwgWm9vbVNldHRpbmdzTW9kZWwgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1jaGFydHMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCwgZGVib3VuY2VUaW1lLCBzd2l0Y2hNYXAsIGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgeyBpc09iamVjdCB9IGZyb20gJy4uLy4uL2NvcmUvZnVuY3Rpb25zJztcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgR3JhbnRTZXR0aW5ncywgR3VpZGVTdGVwLCBPdXRPZk9mZmljZVNldHRpbmdzLCBVc2VySW5mbyB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgVXRpbGl0eVJlZiB9IGZyb20gJy4uL3V0aWxpdHktcmVmJztcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvYWNjb3VudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRG9jdW1lbnRJbmZvIH0gZnJvbSAnLi4vLi4vY29yZS9pbmZvL2RvY3VtZW50LWluZm8uc2VydmljZSc7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBHdWlkZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL2d1aWRlL2d1aWRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEZPTlRfRkFNSUxZIH0gZnJvbSAnLi4vLi4vY29yZS9jb2xvcnMnO1xyXG5pbXBvcnQgeyBQYW5lc1JvdXRlciB9IGZyb20gJy4uLy4uL2NvcmUvc2xvdHMvcm91dGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDaGF0SW5mbyB9IGZyb20gJy4uLy4uL2NoYXQvY2hhdC1pbmZvJztcclxuaW1wb3J0IHsgUGFuZVJlZiB9IGZyb20gJy4uLy4uL2NvcmUvc2xvdHMvcGFuZS1yZWYnO1xyXG5pbXBvcnQgeyBPcGVuUG9saWN5IH0gZnJvbSAnLi4vLi4vY29yZS9jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgUHJvZmlsZVNldHRpbmdzRGlhbG9nLCBPdXRPZk9mZmljZURhdGEgfSBmcm9tICcuL291dG9mb2ZmaWNlLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZmlsZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Byb2ZpbGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgaG9zdDoge1xyXG4gICAgY2xhc3M6ICdwYW5lJ1xyXG4gIH0sXHJcbiAgZW50cnlDb21wb25lbnRzOiBbUHJvZmlsZVNldHRpbmdzRGlhbG9nXVxyXG59KVxyXG5AQml6RG9jKHsgc2VsZWN0b3I6ICdiaXpkb2MtdXNlci1wcm9maWxlcicgfSlcclxuLyoqIGNvbXBvbmVudCovXHJcbmV4cG9ydCBjbGFzcyBQcm9maWxlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICByZWFkb25seSBzZWFyY2ggPSB0aGlzLl9mYi5jb250cm9sKG51bGwpO1xyXG4gIEBWaWV3Q2hpbGQoJ2FjdGl2aXR5JykgY2hhcnQ6IENoYXJ0Q29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ2FjdGl2aXR5JywgeyByZWFkOiBFbGVtZW50UmVmIH0pIGNoYXJ0RWxlbWVudDogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdhc3NpZ25UcGwnKSBhc3NpZ25UcGw6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgcmVhZG9ubHkgd2hvID0gdGhpcy5fZmIuY29udHJvbChudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICByZWFkb25seSBwcmltYXJ5WEF4aXMgPSB7XHJcbiAgICB2YWx1ZVR5cGU6ICdEYXRlVGltZScsXHJcbiAgICBsYWJlbEZvcm1hdDogJ01NTSBkZCcsXHJcbiAgICBsYWJlbFN0eWxlOiB7XHJcbiAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICB9XHJcbiAgfSBhcyBBeGlzTW9kZWw7XHJcbiAgcmVhZG9ubHkgcHJpbWFyeVlBeGlzID0ge1xyXG4gICAgbGFiZWxTdHlsZToge1xyXG4gICAgICBzaXplOiAnMHB4J1xyXG4gICAgfSxcclxuICB9IGFzIEF4aXNNb2RlbDtcclxuICByZWFkb25seSB6b29tU2V0dGluZ3M6IFpvb21TZXR0aW5nc01vZGVsID0ge1xyXG4gICAgZW5hYmxlTW91c2VXaGVlbFpvb21pbmc6IHRydWUsXHJcbiAgICBlbmFibGVQaW5jaFpvb21pbmc6IHRydWUsXHJcbiAgICB0b29sYmFySXRlbXM6IFtdLFxyXG4gICAgZW5hYmxlU2VsZWN0aW9uWm9vbWluZzogZmFsc2UsXHJcbiAgICBlbmFibGVTY3JvbGxiYXI6IHRydWVcclxuICB9O1xyXG4gIHJlYWRvbmx5IHRvb2x0aXA6IFRvb2x0aXBTZXR0aW5nc01vZGVsID0ge1xyXG4gICAgZW5hYmxlOiB0cnVlLFxyXG4gICAgc2hhcmVkOiB0cnVlLFxyXG4gICAgdGV4dFN0eWxlOiB7XHJcbiAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgICB9XHJcbiAgfTtcclxuICByZWFkb25seSBsZWdlbmQ6IExlZ2VuZFNlcmllc01vZGVsID0ge1xyXG4gICAgdmlzaWJsZTogZmFsc2UsXHJcbiAgICB0ZXh0U3R5bGU6IHtcclxuICAgICAgZm9udEZhbWlseTogRk9OVF9GQU1JTFlcclxuICAgIH1cclxuICB9O1xyXG4gIHJlYWRvbmx5IGJvcmRlciA9IHsgd2lkdGg6IDAgfSBhcyBCb3JkZXJNb2RlbDtcclxuICByZWFkb25seSBtYXJrZXI6IE1hcmtlck9wdGlvbnNNb2RlbCA9IHtcclxuICAgIHZpc2libGU6IHRydWUsXHJcbiAgICB3aWR0aDogMTAsXHJcbiAgICBoZWlnaHQ6IDEwXHJcbiAgfVxyXG4gIHVzZXJzJDogT2JzZXJ2YWJsZTxVc2VySW5mb1tdPjtcclxuICBhc3NpZ25hYmxlJDogT2JzZXJ2YWJsZTxVc2VySW5mb1tdPjtcclxuICBwYWxldHRlczogc3RyaW5nW10gPSB0aGlzLl9zZXNzaW9uLmFjY2VudFBhbGV0dGU7XHJcbiAgdGhlbWU6ICdNYXRlcmlhbCcgfCAnTWF0ZXJpYWxEYXJrJyA9IHRoaXMuX3Nlc3Npb24udGhlbWUuZGFyayA/ICdNYXRlcmlhbERhcmsnIDogJ01hdGVyaWFsJztcclxuICBkYXRhOiBQcm9maWxlSW5mbztcclxuICBjb2xzID0gMjtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICByZWFkb25seSBzZXBhcmF0b3JLZXlzQ29kZXM6IG51bWJlcltdID0gW0VOVEVSLCBDT01NQSwgU0VNSUNPTE9OXTtcclxuICAgIHByaXZhdGUgX3VzZXJJZDogc3RyaW5nO1xyXG4gIC8qKiBjdG9yICovXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfc2I6IFByb21wdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF91dGlsaXR5UmVmOiBVdGlsaXR5UmVmPGJvb2xlYW4sIFByb2ZpbGVyTW9kZWwsIFByb2ZpbGVJbmZvLCBzdHJpbmc+LFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgX2RvY3VtZW50SW5mbzogRG9jdW1lbnRJbmZvLFxyXG4gICAgbWVkaWE6IE1lZGlhT2JzZXJ2ZXIsXHJcbiAgICBwcml2YXRlIF9jaGF0OiBDaGF0SW5mbyxcclxuICAgIHByaXZhdGUgX2d1aWRlOiBHdWlkZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFBhbmVzUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfcGFuZTogUGFuZVJlZjxQcm9maWxlckNvbXBvbmVudD4sXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9hY2NvdW50czogQWNjb3VudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9mYjogRm9ybUJ1aWxkZXIpIHtcclxuICAgIG1lZGlhLm1lZGlhJC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKG0gPT4gdGhpcy5jb2xzID0gbS5tcUFsaWFzID09PSAnc20nIHx8IG0ubXFBbGlhcyA9PT0gJ3htJyA/IDEgOiAyKTtcclxuICAgIF9zZXNzaW9uLnRoZW1lQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUodCA9PiB7XHJcbiAgICAgIHRoaXMudGhlbWUgPSB0LmRhcmsgPyAnTWF0ZXJpYWxEYXJrJyA6ICdNYXRlcmlhbCc7XHJcbiAgICAgIHRoaXMucGFsZXR0ZXMgPSBfc2Vzc2lvbi5hY2NlbnRQYWxldHRlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fcGFuZS5xdWVyeVBhcmFtc0NoYW5nZS5zdWJzY3JpYmUocCA9PiB7XHJcbiAgICAgIGNvbnN0IHsgdXNlcklkIH0gPSBwO1xyXG4gICAgICB1c2VySWQgJiYgdGhpcy5fb3Blbih1c2VySWQpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9wYW5lLnJlc2l6ZWQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNoYXJ0Py5jaGFydFJlc2l6ZSgpKTtcclxuICAgIHRoaXMudXNlcnMkID0gdGhpcy5zZWFyY2gudmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpLFxyXG4gICAgICBkZWJvdW5jZVRpbWUoMjUwKSwgXHJcbiAgICAgIGZpbHRlcih2ID0+ICFpc09iamVjdCh2KSksXHJcbiAgICAgIHN3aXRjaE1hcCh2ID0+IHRoaXMuX2FjY291bnRzLmZpbmRBbGwodikpKTtcclxuICB9XHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OmtleWRvd24uZjEnLCBbJyRldmVudCddKVxyXG4gIGd1aWRlKGV2dD86IEV2ZW50IHwgS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgY29uc3Qgc3RlcHM6IEd1aWRlU3RlcFtdID0gW107XHJcbiAgICBpZiAodGhpcy5kYXRhKSB7XHJcbiAgICAgIHN0ZXBzLnB1c2goe1xyXG4gICAgICAgIHNlbGVjdG9yOiAnW2RhdGEtaGVscD1zZXR0aW5nc10nLFxyXG4gICAgICAgIGNvbnRlbnQ6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ091dE9mT2ZmaWNlSGVscCcpXHJcbiAgICAgIH0pO1xyXG4gICAgICBPYmplY3Qua2V5cyh0aGlzLmRhdGEuYWN0aXZpdHkpLmxlbmd0aCAmJlxyXG4gICAgICAgIHN0ZXBzLnB1c2goe1xyXG4gICAgICAgICAgc2VsZWN0b3I6ICdbZGF0YS1oZWxwPWFjdGl2aXR5XScsXHJcbiAgICAgICAgICBjb250ZW50OiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdBY3Rpdml0eUhlbHAnKVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB0aGlzLmRhdGEucGVuZGluZy5sZW5ndGggJiZcclxuICAgICAgICBzdGVwcy5wdXNoKHtcclxuICAgICAgICAgIHNlbGVjdG9yOiAnW2RhdGEtaGVscD1wZW5kaW5nXScsXHJcbiAgICAgICAgICBjb250ZW50OiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdQZW5kaW5nSGVscCcpXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIHRoaXMuZGF0YS5wb3NpdGlvbnMubGVuZ3RoICYmXHJcbiAgICAgICAgc3RlcHMucHVzaCh7XHJcbiAgICAgICAgICBzZWxlY3RvcjogJ1tkYXRhLWhlbHA9cG9zaXRpb25zXScsXHJcbiAgICAgICAgICBjb250ZW50OiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdQb3NpdGlvbnNIZWxwJylcclxuICAgICAgICB9KTtcclxuICAgICAgc3RlcHMucHVzaCh7XHJcbiAgICAgICAgc2VsZWN0b3I6ICdbZGF0YS1oZWxwPXJlYXNzaWduXScsXHJcbiAgICAgICAgY29udGVudDogdGhpcy5fdHJhbnNsYXRlLmdldCgnUmVhc3NpZ25IZWxwJylcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHN0ZXBzLnB1c2goe1xyXG4gICAgICBzZWxlY3RvcjogJ1tkYXRhLWhlbHA9c2VhcmNoXScsXHJcbiAgICAgIHBvc2l0aW9uOiAnQmVsb3cnLFxyXG4gICAgICBjb250ZW50OiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdQcm9maWxlclNlYXJjaEhlbHAnKVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9ndWlkZS5zdGFydCh7XHJcbiAgICAgIG5hbWU6ICdwcm9maWxlcicsXHJcbiAgICAgIHN0ZXBzXHJcbiAgICB9KTtcclxuICAgIGV2dCAmJiBldnQucHJldmVudERlZmF1bHQoKTtcclxuICB9XHJcbiAgY2hhbmdlKGV2dDogTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCkge1xyXG4gICAgY29uc3QgeyBpZDogdXNlcklkIH0gPSBldnQub3B0aW9uLnZhbHVlO1xyXG4gICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFtdLCB7IHF1ZXJ5UGFyYW1zOiB7IHVzZXJJZCB9IH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gdXNlcklkXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfb3Blbih1c2VySWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5fdXNlcklkID0gdXNlcklkO1xyXG4gICAgdGhpcy5fdXRpbGl0eVJlZi5wb3B1bGF0ZSh1c2VySWQpLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgdGhpcy5kYXRhID0gZTtcclxuICAgICAgdGhpcy5zZWFyY2gucmVzZXQobnVsbCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIHdoaWxlICh0aGlzLmNoYXJ0LnNlcmllcy5sZW5ndGgpXHJcbiAgICAgICAgdGhpcy5jaGFydD8ucmVtb3ZlU2VyaWVzKDApO1xyXG4gICAgICB0aGlzLmNoYXJ0Py5hZGRTZXJpZXModGhpcy5fc2VyaWVzKCkpO1xyXG4gICAgfSwgKCkgPT4gdGhpcy5fc2IuZXJyb3IoKSk7XHJcbiAgfVxyXG4gIC8qKiAqL1xyXG4gIHByaXZhdGUgX3NlcmllcygpOiBTZXJpZXNNb2RlbFtdIHtcclxuICAgIHJldHVybiBPYmplY3Qua2V5cyh0aGlzLmRhdGEuYWN0aXZpdHkpLm1hcChhID0+IHtcclxuICAgICAgY29uc3QgbG9nID0gdGhpcy5kYXRhLmFjdGl2aXR5W2FdO1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHR5cGU6ICdTY2F0dGVyJyxcclxuICAgICAgICBuYW1lOiB0aGlzLl9hY3Rpb25OYW1lKGEpLFxyXG4gICAgICAgIHhOYW1lOiAndGltZScsXHJcbiAgICAgICAgeU5hbWU6ICdkdXJhdGlvbicsXHJcbiAgICAgICAgZGF0YVNvdXJjZTogbG9nLm1hcChsID0+IHtcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIGlkOiBsLmlkLFxyXG4gICAgICAgICAgICB0aW1lOiBuZXcgRGF0ZShsLnRpbWUpLFxyXG4gICAgICAgICAgICBkdXJhdGlvbjogbC5kdXJhdGlvblxyXG4gICAgICAgICAgfTtcclxuICAgICAgICB9KVxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9hY3Rpb25OYW1lKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBhY3Rpb24gPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuYWN0aW9ucy5maW5kKGEgPT4gYS5uYW1lID09PSBuYW1lKTtcclxuICAgIHJldHVybiBhY3Rpb24gPyBhY3Rpb24ucGFzdCB8fCBhY3Rpb24udGl0bGUgOiBuYW1lO1xyXG4gIH1cclxuICBwb2ludENsaWNrKGV2dDogSVBvaW50RXZlbnRBcmdzKSB7XHJcbiAgICBjb25zdCB7IGlkIH0gPSBldnQuc2VyaWVzLmRhdGFTb3VyY2VbZXZ0LnBvaW50SW5kZXhdO1xyXG4gICAgdGhpcy5fZG9jdW1lbnRJbmZvLm9wZW4oaWQpO1xyXG4gIH1cclxuICB1c2VyRGlzcGxheShpdGVtOiBVc2VySW5mbykge1xyXG4gICAgcmV0dXJuIGl0ZW0gPyBpdGVtLm5hbWUgOiBudWxsO1xyXG4gIH1cclxuICB0cmFjZShpZDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9yb3V0ZXIubmF2aWdhdGUoWydhZG1pbicsICd1dGlsaXRpZXMnLCAnZG9jdW1lbnQtdHJhY2UnXSwge1xyXG4gICAgICBxdWVyeVBhcmFtczogeyBkb2N1bWVudElkOiBpZC5lbmNvZGVJZCgpIH0sXHJcbiAgICAgIHBvbGljeTogT3BlblBvbGljeS5EZWZlciB8IE9wZW5Qb2xpY3kuUGlubmFibGVcclxuICAgIH0pO1xyXG4gIH1cclxuICBjaGF0KCkge1xyXG4gICAgdGhpcy5fY2hhdC5vcGVuKHRoaXMuX3VzZXJJZCk7XHJcbiAgfVxyXG4gIHJlYXNzaWduKHBvc2l0aW9uPzogUG9zaXRpb25JbmZvKSB7XHJcbiAgICB0aGlzLmFzc2lnbmFibGUkID0gdGhpcy5fYWNjb3VudHMuZmluZEFsbCgpLnBpcGUobWFwKHUgPT4gdS5maWx0ZXIodSA9PiB1LmlkICE9PSB0aGlzLl91c2VySWQpKSk7XHJcbiAgICB0aGlzLl9kaWFsb2cub3Blbih0aGlzLmFzc2lnblRwbCwge30pLmFmdGVyQ2xvc2VkKCkuXHJcbiAgICAgIHN1YnNjcmliZSh1ID0+XHJcbiAgICAgICAgdSAmJiB0aGlzLl9yZWFzc2lnbih1LCBwb3NpdGlvbilcclxuICAgICAgKTtcclxuICB9XHJcbiAgc2V0dGluZ3MoKSB7XHJcbiAgICB0aGlzLl9kaWFsb2cub3BlbihQcm9maWxlU2V0dGluZ3NEaWFsb2csIHtcclxuICAgICAgY2xvc2VPbk5hdmlnYXRpb246IHRydWUsXHJcbiAgICAgIGRhdGE6IHtcclxuICAgICAgICB1c2VySWQ6IHRoaXMuX3VzZXJJZCxcclxuICAgICAgICBncmFudEFjY2VzczogdGhpcy5kYXRhLmdyYW50QWNjZXNzLFxyXG4gICAgICAgIG91dE9mT2ZmaWNlOiB0aGlzLmRhdGEub3V0T2ZPZmZpY2VcclxuICAgICAgfSBhcyBPdXRPZk9mZmljZURhdGFcclxuICAgIH0pLmFmdGVyQ2xvc2VkKCkuXHJcbiAgICAgIHN1YnNjcmliZSh2ID0+XHJcbiAgICAgICAgdiAmJiB0aGlzLl91dGlsaXR5UmVmLmV4ZWN1dGUoe1xyXG4gICAgICAgICAgb3V0T2ZPZmZpY2U6IHYub3V0T2ZPZmZpY2UsXHJcbiAgICAgICAgICBncmFudEFjY2Vzczogdi5ncmFudEFjY2VzcyxcclxuICAgICAgICAgIHVzZXJJZDogdGhpcy5fdXNlcklkXHJcbiAgICAgICAgfSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5kYXRhLCB2KTtcclxuICAgICAgICAgIHRoaXMuX3NiLnRvYXN0KCdDaGFuZ2VzU2F2ZWQnKTtcclxuICAgICAgICB9LCAoKSA9PlxyXG4gICAgICAgICAgdGhpcy5fc2IuZXJyb3IoKSkpO1xyXG4gIH1cclxuICAvKiogKi9cclxuICBwcml2YXRlIF9yZWFzc2lnbih3aG86IHN0cmluZywgcG9zaXRpb24/OiBQb3NpdGlvbkluZm8pIHtcclxuICAgIHRoaXMuX3V0aWxpdHlSZWYuZXhlY3V0ZSh7IHJlYXNzaWduOiB7IHdobywgLi4ucG9zaXRpb24gfSwgdXNlcklkOiB0aGlzLl91c2VySWQgfSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5fc2IudG9hc3QoJ0Fzc2lnbmVkJyk7XHJcbiAgICAgIGlmIChwb3NpdGlvbilcclxuICAgICAgICB0aGlzLmRhdGEucG9zaXRpb25zLnJlbW92ZShwb3NpdGlvbik7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLmRhdGEucG9zaXRpb25zID0gW107XHJcbiAgICB9LCAoKSA9PlxyXG4gICAgICB0aGlzLl9zYi5lcnJvcigpKTtcclxuICB9XHJcbiAgdG9vbHRpcFJlbmRlcihlOiBJVG9vbHRpcFJlbmRlckV2ZW50QXJncykge1xyXG4gICAgZS50ZXh0ID0gYCR7ZGF5anMuZHVyYXRpb24oZS5wb2ludC55IGFzIG51bWJlciwgJ3MnKS5odW1hbml6ZSgpfWA7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcblxyXG5pbnRlcmZhY2UgUHJvZmlsZUluZm8ge1xyXG4gIG91dE9mT2ZmaWNlOiBPdXRPZk9mZmljZVNldHRpbmdzO1xyXG4gIGdyYW50QWNjZXNzOiBHcmFudFNldHRpbmdzO1xyXG4gIHBvc2l0aW9uczogUG9zaXRpb25JbmZvW107XHJcbiAgYWN0aXZpdHk6IHtcclxuICAgIFthY3Rpb246IHN0cmluZ106IHtcclxuICAgICAgaWQ6IG51bWJlcjtcclxuICAgICAgLyoqIHNlY29uZHMgKi9cclxuICAgICAgZHVyYXRpb246IG51bWJlcjtcclxuICAgICAgbnVtYmVyOiBzdHJpbmc7XHJcbiAgICAgIHRpbWU6IERhdGU7XHJcbiAgICB9W11cclxuICB9O1xyXG4gIHBlbmRpbmc6IHtcclxuICAgIGlkOiBudW1iZXI7XHJcbiAgICByZWNlaXZlZDogRGF0ZTtcclxuICAgIG51bWJlcjogc3RyaW5nO1xyXG4gIH1bXTtcclxuICBpbmZvOiBVc2VySW5mbztcclxufVxyXG5pbnRlcmZhY2UgUG9zaXRpb25JbmZvIHtcclxuICB0eXBlOiBzdHJpbmc7XHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgdmFsdWU6IHN0cmluZztcclxuICByb2xlOiBzdHJpbmc7XHJcbn1cclxuaW50ZXJmYWNlIFByb2ZpbGVyTW9kZWwge1xyXG4gIG91dE9mT2ZmaWNlPzogT3V0T2ZPZmZpY2VTZXR0aW5ncztcclxuICBncmFudEFjY2Vzcz86IEdyYW50U2V0dGluZ3M7XHJcbiAgdXNlcklkOiBzdHJpbmc7XHJcbiAgcmVhc3NpZ24/OiB7XHJcbiAgICB3aG86IHN0cmluZztcclxuICAgIHJvbGU/OiBzdHJpbmc7XHJcbiAgICBrZXk/OiBhbnk7XHJcbiAgfVxyXG59XHJcblxyXG4iLCI8bWF0LXRvb2xiYXI+XHJcbiAgPG1hdC1pY29uIChjbGljayk9XCJudWxsXCIgY2xhc3M9XCJtYXQtaWNvbi1ydGwtbWlycm9yXCI+c2VhcmNoPC9tYXQtaWNvbj5cclxuICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cInNlYXJjaFwiIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiIFtmb3JtQ29udHJvbF09XCJzZWFyY2hcIiBkYXRhLWhlbHA9XCJzZWFyY2hcIiB3aWR0aD1cIjIwXCIgLz5cclxuICA8bWF0LWF1dG9jb21wbGV0ZSAjYXV0bz1cIm1hdEF1dG9jb21wbGV0ZVwiIFtkaXNwbGF5V2l0aF09XCJ1c2VyRGlzcGxheVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9wdGlvblNlbGVjdGVkKT1cImNoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdSBvZiB1c2VycyQgfCBhc3luY1wiIFt2YWx1ZV09XCJ1XCI+XHJcbiAgICAgIDxzcGFuPnt7dS5uYW1lfX08L3NwYW4+XHJcbiAgICA8L21hdC1vcHRpb24+XHJcbiAgPC9tYXQtYXV0b2NvbXBsZXRlPlxyXG4gIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiZ3VpZGUoKVwiIFtiaXpkb2NUb29sdGlwXT1cIidIZWxwJyB8IHRyYW5zbGF0ZVwiPjxtYXQtaWNvbj5oZWxwX291dGxpbmU8L21hdC1pY29uPjwvYnV0dG9uPlxyXG48L21hdC10b29sYmFyPlxyXG48ZGl2ICpuZ0lmPVwiZGF0YVwiIGZ4TGF5b3V0PVwicm93IHdyYXBcIj5cclxuICA8IS0tIGluZm8gLS0+XHJcbiAgPG1hdC1jYXJkIGZ4RmxleD5cclxuICAgIDxtYXQtY2FyZC1oZWFkZXI+XHJcbiAgICAgIDxtYXQtY2FyZC10aXRsZT5cclxuICAgICAgICA8c3Bhbj57e2RhdGEuaW5mby5uYW1lfX08L3NwYW4+XHJcbiAgICAgIDwvbWF0LWNhcmQtdGl0bGU+XHJcbiAgICA8L21hdC1jYXJkLWhlYWRlcj5cclxuICAgIDxtYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICA8YnIgLz5cclxuICAgIDwvbWF0LWNhcmQtY29udGVudD5cclxuICAgIDxtYXQtY2FyZC1hY3Rpb25zPlxyXG4gICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiY2hhdCgpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ0NoYXQnIHwgdHJhbnNsYXRlXCIgW2Rpc2FibGVkXT1cIiFkYXRhXCI+PG1hdC1pY29uPmNoYXQ8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICAgIDxidXR0b24gbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJzZXR0aW5ncygpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ1NldHRpbmdzJyB8IHRyYW5zbGF0ZVwiIFtkaXNhYmxlZF09XCIhZGF0YVwiIGRhdGEtaGVscD1cInNldHRpbmdzXCI+PG1hdC1pY29uPnNldHRpbmdzPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cclxuICA8L21hdC1jYXJkPlxyXG4gIDxtYXQtY2FyZCBmeEZsZXggZGF0YS1oZWxwPVwiYWN0aXZpdHlcIj5cclxuICAgIDxtYXQtY2FyZC1oZWFkZXI+XHJcbiAgICAgIDxtYXQtY2FyZC10aXRsZT5cclxuICAgICAgICB7eydBY3Rpdml0eScgfCB0cmFuc2xhdGV9fVxyXG4gICAgICA8L21hdC1jYXJkLXRpdGxlPlxyXG4gICAgPC9tYXQtY2FyZC1oZWFkZXI+XHJcbiAgICA8bWF0LWNhcmQtY29udGVudD5cclxuICAgICAgPGVqcy1jaGFydCAjYWN0aXZpdHkgW3ByaW1hcnlYQXhpc109XCJwcmltYXJ5WEF4aXNcIiBbcHJpbWFyeVlBeGlzXT1cInByaW1hcnlZQXhpc1wiIFt6b29tU2V0dGluZ3NdPVwiem9vbVNldHRpbmdzXCIgW3Rvb2x0aXBdPSd0b29sdGlwJyAodG9vbHRpcFJlbmRlcik9XCJ0b29sdGlwUmVuZGVyKCRldmVudClcIiBbcGFsZXR0ZXNdPVwicGFsZXR0ZXNcIiBiYWNrZ3JvdW5kPVwidHJhbnNwYXJlbnRcIiBbdGhlbWVdPSd0aGVtZScgW2JvcmRlcl09XCJib3JkZXJcIiAocG9pbnRDbGljayk9XCJwb2ludENsaWNrKCRldmVudClcIj5cclxuICAgICAgICA8ZS1zZXJpZXMtY29sbGVjdGlvbj5cclxuICAgICAgICA8L2Utc2VyaWVzLWNvbGxlY3Rpb24+XHJcbiAgICAgIDwvZWpzLWNoYXJ0PlxyXG4gICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gIDwvbWF0LWNhcmQ+XHJcbiAgPCEtLSBwZW5kaW5nIC0tPlxyXG4gIDxtYXQtY2FyZCBmeEZsZXggZGF0YS1oZWxwPVwicGVuZGluZ1wiPlxyXG4gICAgPG1hdC1jYXJkLWhlYWRlcj5cclxuICAgICAgPG1hdC1jYXJkLXRpdGxlPlxyXG4gICAgICAgIHt7J1BlbmRpbmcnIHwgdHJhbnNsYXRlfX1cclxuICAgICAgPC9tYXQtY2FyZC10aXRsZT5cclxuICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxyXG4gICAgPG1hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgIDx0YWJsZSBjbGFzcz1cIm1hdC10YWJsZVwiICpuZ0lmPVwiZGF0YS5wZW5kaW5nLmxlbmd0aDsgZWxzZSBub25lXCI+XHJcbiAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgPHRyIGNsYXNzPVwibWF0LXJvd1wiPlxyXG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJtYXQtaGVhZGVyLWNlbGxcIj48L3RkPlxyXG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJtYXQtaGVhZGVyLWNlbGxcIj48L3RkPlxyXG4gICAgICAgICAgPC90cj5cclxuICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgciBvZiBkYXRhLnBlbmRpbmdcIiBjbGFzcz1cIm1hdC1yb3dcIj5cclxuICAgICAgICAgICAgPHRkIGNsYXNzPVwibWF0LWNlbGxcIj48YSAoY2xpY2spPVwidHJhY2Uoci5pZClcIj57e3IubnVtYmVyfX08L2E+PC90ZD5cclxuICAgICAgICAgICAgPHRkIGNsYXNzPVwibWF0LWNlbGxcIj57eyByLnJlY2VpdmVkIHwgYW1EaWZmZXJlbmNlIDogbnVsbCA6ICdzJyB8IGFtRHVyYXRpb24gOiAncyd9fTwvdGQ+XHJcbiAgICAgICAgICA8L3RyPlxyXG4gICAgICAgIDwvdGJvZHk+XHJcbiAgICAgIDwvdGFibGU+XHJcbiAgICA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgPC9tYXQtY2FyZD5cclxuICA8IS0tIHBvc2l0aW9ucyAtLT5cclxuICA8bWF0LWNhcmQgZnhGbGV4IGRhdGEtaGVscD1cInBvc2l0aW9uc1wiPlxyXG4gICAgPG1hdC1jYXJkLWhlYWRlcj5cclxuICAgICAgPG1hdC1jYXJkLXRpdGxlPlxyXG4gICAgICAgIHt7J1Bvc2l0aW9ucycgfCB0cmFuc2xhdGV9fVxyXG4gICAgICA8L21hdC1jYXJkLXRpdGxlPlxyXG4gICAgPC9tYXQtY2FyZC1oZWFkZXI+XHJcbiAgICA8bWF0LWNhcmQtY29udGVudD5cclxuICAgICAgPHRhYmxlIGNsYXNzPVwibWF0LXRhYmxlXCIgKm5nSWY9XCJkYXRhLnBvc2l0aW9ucy5sZW5ndGg7IGVsc2Ugbm9uZVwiPlxyXG4gICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgcCBvZiBkYXRhLnBvc2l0aW9uc1wiIGNsYXNzPVwibWF0LXJvd1wiPlxyXG4gICAgICAgICAgPHRkIGNsYXNzPVwibWF0LWNlbGxcIj57e3AudmFsdWUgfX08L3RkPlxyXG4gICAgICAgICAgPHRkIGNsYXNzPVwibWF0LWNlbGxcIj57e3Aucm9sZSB8IHJvbGV9fTwvdGQ+XHJcbiAgICAgICAgICA8dGQgY2xhc3M9XCJtYXQtY2VsbFwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwicmVhc3NpZ24ocClcIiBbYml6ZG9jVG9vbHRpcF09XCInUmVhc3NpZ24nIHwgdHJhbnNsYXRlXCI+PG1hdC1pY29uPnN3YXBfaG9yaXo8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICAgICAgPC90ZD5cclxuICAgICAgICA8L3RyPlxyXG4gICAgICA8L3RhYmxlPlxyXG4gICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgPG1hdC1jYXJkLWFjdGlvbnM+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cclxuICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cInJlYXNzaWduKClcIiBbYml6ZG9jVG9vbHRpcF09XCInUmVhc3NpZ25BbGwnIHwgdHJhbnNsYXRlXCIgW2Rpc2FibGVkXT1cIiFkYXRhIHx8ICFkYXRhLnBvc2l0aW9ucy5sZW5ndGhcIiBkYXRhLWhlbHA9XCJyZWFzc2lnblwiPjxtYXQtaWNvbj5zd2FwX2hvcml6PC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgIDwvbWF0LWNhcmQtYWN0aW9ucz5cclxuICA8L21hdC1jYXJkPlxyXG48L2Rpdj5cclxuPCEtLSBhc3NpZ24gZGlhbG9nIC0tPlxyXG48bmctdGVtcGxhdGUgI2Fzc2lnblRwbD5cclxuICA8aDIgbWF0LWRpYWxvZy10aXRsZT57eydSZWFzc2lnbicgfCB0cmFuc2xhdGUgfX08L2gyPlxyXG4gIDxtYXQtZGlhbG9nLWNvbnRlbnQ+XHJcbiAgICA8Zm9ybSBhdXRvY29tcGxldGU9XCJvZmZcIiBmeExheW91dD1cImNvbHVtblwiPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPG1hdC1zZWxlY3QgcGxhY2Vob2xkZXI9XCJ7eydXaG8nIHwgdHJhbnNsYXRlfX1cIiBbZm9ybUNvbnRyb2xdPVwid2hvXCIgcmVxdWlyZWQ+XHJcbiAgICAgICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgdSBvZiBhc3NpZ25hYmxlJCB8IGFzeW5jXCIgW3ZhbHVlXT1cInUuaWRcIj57e3UubmFtZX19PC9tYXQtb3B0aW9uPlxyXG4gICAgICAgIDwvbWF0LXNlbGVjdD5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvZm9ybT5cclxuICA8L21hdC1kaWFsb2ctY29udGVudD5cclxuICA8bWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIFttYXQtZGlhbG9nLWNsb3NlXT1cIndoby52YWx1ZVwiIGNvbG9yPVwicHJpbWFyeVwiIFtkaXNhYmxlZF09XCIhd2hvLnZhbGlkXCI+e3snT0snIHwgdHJhbnNsYXRlfX08L2J1dHRvbj5cclxuICAgIDxidXR0b24gbWF0LWJ1dHRvbiBtYXQtZGlhbG9nLWNsb3NlPnt7J0NhbmNlbCcgfCB0cmFuc2xhdGV9fTwvYnV0dG9uPlxyXG4gIDwvbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI25vbmU+XHJcbiAgPHNwYW4gY2xhc3M9XCJtYXQtYm9keS0yXCI+e3snTm9uZScgfCB0cmFuc2xhdGUgfX08L3NwYW4+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
@@ -52,9 +52,9 @@ export class SystemService {
52
52
  }
53
53
  }
54
54
  SystemService._cache = {};
55
- SystemService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: SystemService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
56
- SystemService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: SystemService });
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.3", ngImport: i0, type: SystemService, decorators: [{
58
- type: Injectable
59
- }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL3N5c3RlbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLFdBQVcsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFHN0MsTUFBTSxPQUFPLGFBQWE7SUE2Q3hCLFlBQW9CLEtBQWlCO1FBQWpCLFVBQUssR0FBTCxLQUFLLENBQVk7SUFFckMsQ0FBQztJQTlDRCxLQUFLLENBQUMsSUFBVTtRQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQVcsd0JBQXdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBQ0QsV0FBVyxDQUFDLElBQVk7UUFDdEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUlELE9BQU8sQ0FBQyxPQUFnRjtRQUN0RixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDO1lBQ25CLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxPQUFPLENBQUM7YUFDeEI7WUFDSCxJQUFJLE9BQU8sQ0FBQyxNQUFNO2dCQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ3RELElBQUksT0FBTyxDQUFDLE1BQU07Z0JBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDdEQsSUFBSSxPQUFPLENBQUMsS0FBSztnQkFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzNFLElBQUksT0FBTyxDQUFDLEdBQUc7Z0JBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN0RTtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQWlCLDBCQUEwQixFQUFFO1lBQ2hFLE1BQU07U0FDUCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsS0FBSztRQUNILE9BQU8sYUFBYSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFTLDZCQUE2QixDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBQ0QsS0FBSyxDQUFDLE1BQWU7UUFDbkIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBYyx3QkFBd0IsRUFBRTtZQUMzRCxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLElBQUksRUFBRTtTQUNuQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNkLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUMxQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsSUFBSSxDQUFDLElBQVk7UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFXLG9CQUFvQixJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFDRCxJQUFJLENBQUMsSUFBWTtRQUNmLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQU8sb0JBQW9CLElBQUksRUFBRSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELElBQUksQ0FBQyxJQUFVO1FBQ2IsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFTLG9CQUFvQixJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQy9FLENBQUM7O0FBckNjLG9CQUFNLEdBQUcsRUFBRyxDQUFBOzBHQVBoQixhQUFhOzhHQUFiLGFBQWE7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgc2hhcmVSZXBsYXksIHRhcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBGb3JtLCBSb2xlIH0gZnJvbSAnLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBpc1N0cmluZyB9IGZyb20gJy4uL2NvcmUvZnVuY3Rpb25zJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFN5c3RlbVNlcnZpY2Uge1xyXG4gIHJ1bGVzKGFyZ3M/OiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldCA8IFJ1bGVbXT4oYC9hcGkvc3lzdGVtL2Zvcm0vcnVsZXNgLCB7IHBhcmFtczogYXJncyB9KTtcclxuICB9XHJcbiAgc3luY2hyaW5pemUobmFtZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wb3N0KGAvYXBpL3N5c3RlbS9jdWJlLyR7bmFtZX0vc3luY2hyb25pemVgLCB7fSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgc3RhdGljIF9jYWNoZSA9IHt9O1xyXG4gIGZpbmRBbGwob3B0aW9uczogeyBzZWFyY2g/OiBzdHJpbmcsIHN0YXJ0PzogRGF0ZSwgZW5kPzogRGF0ZSwgZm9ybUlkPzogc3RyaW5nIH0pXHJcbiAgZmluZEFsbChzZWFyY2g/OiBzdHJpbmcpXHJcbiAgZmluZEFsbChvcHRpb25zOiBzdHJpbmcgfCB7IHNlYXJjaD86IHN0cmluZywgc3RhcnQ/OiBEYXRlLCBlbmQ/OiBEYXRlLCBmb3JtSWQ/OiBzdHJpbmcgfSk6IE9ic2VydmFibGU8RG9jdW1lbnRJbmZvW10+IHtcclxuICAgIGNvbnN0IHBhcmFtcyA9IHt9O1xyXG4gICAgaWYgKGlzU3RyaW5nKG9wdGlvbnMpKVxyXG4gICAgICBwYXJhbXNbJ3NlYXJjaCddID0gb3B0aW9ucztcclxuICAgIGVsc2Uge1xyXG4gICAgICBpZiAob3B0aW9ucy5zZWFyY2gpIHBhcmFtc1snc2VhcmNoJ10gPSBvcHRpb25zLnNlYXJjaDtcclxuICAgICAgaWYgKG9wdGlvbnMuZm9ybUlkKSBwYXJhbXNbJ2Zvcm1JZCddID0gb3B0aW9ucy5mb3JtSWQ7XHJcbiAgICAgIGlmIChvcHRpb25zLnN0YXJ0KSBwYXJhbXNbJ3N0YXJ0J10gPSBuZXcgRGF0ZShvcHRpb25zLnN0YXJ0KS50b0lTT1N0cmluZygpO1xyXG4gICAgICBpZiAob3B0aW9ucy5lbmQpIHBhcmFtc1snZW5kJ10gPSBuZXcgRGF0ZShvcHRpb25zLmVuZCkudG9JU09TdHJpbmcoKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDxEb2N1bWVudEluZm9bXT4oJy9hcGkvc3lzdGVtL2Zvcm0vZmluZEFsbCcsIHtcclxuICAgICAgcGFyYW1zXHJcbiAgICB9KTtcclxuICB9XHJcbiAgcm9sZXMoKTogT2JzZXJ2YWJsZTxSb2xlW10+IHtcclxuICAgIHJldHVybiBTeXN0ZW1TZXJ2aWNlLl9jYWNoZVsncm9sZXMnXSB8fCAoU3lzdGVtU2VydmljZS5fY2FjaGVbJ3JvbGVzJ10gPVxyXG4gICAgICB0aGlzLl9odHRwLmdldDxSb2xlW10+KCcvYXBpL3N5c3RlbS9wb3NpdGlvbnMvcm9sZXMnKS5waXBlKHNoYXJlUmVwbGF5KCkpKTtcclxuICB9XHJcbiAgcmFuZ2UoZm9ybUlkPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxSYW5nZUluZm9bXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0PFJhbmdlSW5mb1tdPignL2FwaS9zeXN0ZW0vZm9ybS9yYW5nZScsIHtcclxuICAgICAgcGFyYW1zOiB7IGZvcm1JZDogZm9ybUlkIHx8IG51bGwgfVxyXG4gICAgfSkucGlwZSh0YXAociA9PlxyXG4gICAgICByLmZvckVhY2gocCA9PiBwLmRhdGUgPSBuZXcgRGF0ZShwLmRhdGUpKVxyXG4gICAgKSk7XHJcbiAgfVxyXG4gIGN1YmUobmFtZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8Q3ViZUluZm8+KGAvYXBpL3N5c3RlbS9jdWJlLyR7bmFtZX1gKTtcclxuICB9XHJcbiAgZm9ybShuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEZvcm0+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDxGb3JtPihgL2FwaS9zeXN0ZW0vZm9ybS8ke25hbWV9YCk7XHJcbiAgfVxyXG4gIHNhdmUoZm9ybTogRm9ybSk6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcbiAgICBjb25zdCB7IHdvcmtmbG93IH0gPSBmb3JtO1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucHV0PG51bWJlcj4oYC9hcGkvc3lzdGVtL2Zvcm0vJHtmb3JtLm5hbWV9YCwgeyB3b3JrZmxvdyB9KTtcclxuICB9XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfaHR0cDogSHR0cENsaWVudCkge1xyXG5cclxuICB9XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBSYW5nZUluZm8ge1xyXG4gIGNvdW50OiBudW1iZXI7XHJcbiAgZGF0ZTogRGF0ZTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50SW5mbyB7XHJcbiAgaWQ6IG51bWJlcjtcclxuICBudW1iZXI6IHN0cmluZztcclxuICBzdWJqZWN0OiBzdHJpbmc7XHJcbiAgc3RhdGVJZDogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3ViZUluZm8geyB9XHJcbmludGVyZmFjZSBSdWxlIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxufVxyXG4iXX0=
55
+ SystemService.ɵfac = function SystemService_Factory(t) { return new (t || SystemService)(i0.ɵɵinject(i1.HttpClient)); };
56
+ SystemService.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: SystemService, factory: SystemService.ɵfac });
57
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SystemService, [{
58
+ type: Injectable
59
+ }], function () { return [{ type: i1.HttpClient }]; }, null); })();
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2FkbWluL3N5c3RlbS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLFdBQVcsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7QUFHN0MsTUFBTSxPQUFPLGFBQWE7SUE2Q3hCLFlBQW9CLEtBQWlCO1FBQWpCLFVBQUssR0FBTCxLQUFLLENBQVk7SUFFckMsQ0FBQztJQTlDRCxLQUFLLENBQUMsSUFBVTtRQUNkLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQVcsd0JBQXdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM5RSxDQUFDO0lBQ0QsV0FBVyxDQUFDLElBQVk7UUFDdEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsSUFBSSxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUlELE9BQU8sQ0FBQyxPQUFnRjtRQUN0RixNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbEIsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDO1lBQ25CLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxPQUFPLENBQUM7YUFDeEI7WUFDSCxJQUFJLE9BQU8sQ0FBQyxNQUFNO2dCQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ3RELElBQUksT0FBTyxDQUFDLE1BQU07Z0JBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7WUFDdEQsSUFBSSxPQUFPLENBQUMsS0FBSztnQkFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzNFLElBQUksT0FBTyxDQUFDLEdBQUc7Z0JBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN0RTtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQWlCLDBCQUEwQixFQUFFO1lBQ2hFLE1BQU07U0FDUCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsS0FBSztRQUNILE9BQU8sYUFBYSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ3BFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFTLDZCQUE2QixDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBQ0QsS0FBSyxDQUFDLE1BQWU7UUFDbkIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBYyx3QkFBd0IsRUFBRTtZQUMzRCxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLElBQUksRUFBRTtTQUNuQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNkLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUMxQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsSUFBSSxDQUFDLElBQVk7UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFXLG9CQUFvQixJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFDRCxJQUFJLENBQUMsSUFBWTtRQUNmLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQU8sb0JBQW9CLElBQUksRUFBRSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUNELElBQUksQ0FBQyxJQUFVO1FBQ2IsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFTLG9CQUFvQixJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQy9FLENBQUM7O0FBckNjLG9CQUFNLEdBQUcsRUFBRyxDQUFBOzBFQVBoQixhQUFhO21FQUFiLGFBQWEsV0FBYixhQUFhO3VGQUFiLGFBQWE7Y0FEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgc2hhcmVSZXBsYXksIHRhcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBGb3JtLCBSb2xlIH0gZnJvbSAnLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBpc1N0cmluZyB9IGZyb20gJy4uL2NvcmUvZnVuY3Rpb25zJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFN5c3RlbVNlcnZpY2Uge1xyXG4gIHJ1bGVzKGFyZ3M/OiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldCA8IFJ1bGVbXT4oYC9hcGkvc3lzdGVtL2Zvcm0vcnVsZXNgLCB7IHBhcmFtczogYXJncyB9KTtcclxuICB9XHJcbiAgc3luY2hyaW5pemUobmFtZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wb3N0KGAvYXBpL3N5c3RlbS9jdWJlLyR7bmFtZX0vc3luY2hyb25pemVgLCB7fSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgc3RhdGljIF9jYWNoZSA9IHt9O1xyXG4gIGZpbmRBbGwob3B0aW9uczogeyBzZWFyY2g/OiBzdHJpbmcsIHN0YXJ0PzogRGF0ZSwgZW5kPzogRGF0ZSwgZm9ybUlkPzogc3RyaW5nIH0pXHJcbiAgZmluZEFsbChzZWFyY2g/OiBzdHJpbmcpXHJcbiAgZmluZEFsbChvcHRpb25zOiBzdHJpbmcgfCB7IHNlYXJjaD86IHN0cmluZywgc3RhcnQ/OiBEYXRlLCBlbmQ/OiBEYXRlLCBmb3JtSWQ/OiBzdHJpbmcgfSk6IE9ic2VydmFibGU8RG9jdW1lbnRJbmZvW10+IHtcclxuICAgIGNvbnN0IHBhcmFtcyA9IHt9O1xyXG4gICAgaWYgKGlzU3RyaW5nKG9wdGlvbnMpKVxyXG4gICAgICBwYXJhbXNbJ3NlYXJjaCddID0gb3B0aW9ucztcclxuICAgIGVsc2Uge1xyXG4gICAgICBpZiAob3B0aW9ucy5zZWFyY2gpIHBhcmFtc1snc2VhcmNoJ10gPSBvcHRpb25zLnNlYXJjaDtcclxuICAgICAgaWYgKG9wdGlvbnMuZm9ybUlkKSBwYXJhbXNbJ2Zvcm1JZCddID0gb3B0aW9ucy5mb3JtSWQ7XHJcbiAgICAgIGlmIChvcHRpb25zLnN0YXJ0KSBwYXJhbXNbJ3N0YXJ0J10gPSBuZXcgRGF0ZShvcHRpb25zLnN0YXJ0KS50b0lTT1N0cmluZygpO1xyXG4gICAgICBpZiAob3B0aW9ucy5lbmQpIHBhcmFtc1snZW5kJ10gPSBuZXcgRGF0ZShvcHRpb25zLmVuZCkudG9JU09TdHJpbmcoKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDxEb2N1bWVudEluZm9bXT4oJy9hcGkvc3lzdGVtL2Zvcm0vZmluZEFsbCcsIHtcclxuICAgICAgcGFyYW1zXHJcbiAgICB9KTtcclxuICB9XHJcbiAgcm9sZXMoKTogT2JzZXJ2YWJsZTxSb2xlW10+IHtcclxuICAgIHJldHVybiBTeXN0ZW1TZXJ2aWNlLl9jYWNoZVsncm9sZXMnXSB8fCAoU3lzdGVtU2VydmljZS5fY2FjaGVbJ3JvbGVzJ10gPVxyXG4gICAgICB0aGlzLl9odHRwLmdldDxSb2xlW10+KCcvYXBpL3N5c3RlbS9wb3NpdGlvbnMvcm9sZXMnKS5waXBlKHNoYXJlUmVwbGF5KCkpKTtcclxuICB9XHJcbiAgcmFuZ2UoZm9ybUlkPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxSYW5nZUluZm9bXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0PFJhbmdlSW5mb1tdPignL2FwaS9zeXN0ZW0vZm9ybS9yYW5nZScsIHtcclxuICAgICAgcGFyYW1zOiB7IGZvcm1JZDogZm9ybUlkIHx8IG51bGwgfVxyXG4gICAgfSkucGlwZSh0YXAociA9PlxyXG4gICAgICByLmZvckVhY2gocCA9PiBwLmRhdGUgPSBuZXcgRGF0ZShwLmRhdGUpKVxyXG4gICAgKSk7XHJcbiAgfVxyXG4gIGN1YmUobmFtZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8Q3ViZUluZm8+KGAvYXBpL3N5c3RlbS9jdWJlLyR7bmFtZX1gKTtcclxuICB9XHJcbiAgZm9ybShuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEZvcm0+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldDxGb3JtPihgL2FwaS9zeXN0ZW0vZm9ybS8ke25hbWV9YCk7XHJcbiAgfVxyXG4gIHNhdmUoZm9ybTogRm9ybSk6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcbiAgICBjb25zdCB7IHdvcmtmbG93IH0gPSBmb3JtO1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucHV0PG51bWJlcj4oYC9hcGkvc3lzdGVtL2Zvcm0vJHtmb3JtLm5hbWV9YCwgeyB3b3JrZmxvdyB9KTtcclxuICB9XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfaHR0cDogSHR0cENsaWVudCkge1xyXG5cclxuICB9XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBSYW5nZUluZm8ge1xyXG4gIGNvdW50OiBudW1iZXI7XHJcbiAgZGF0ZTogRGF0ZTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIERvY3VtZW50SW5mbyB7XHJcbiAgaWQ6IG51bWJlcjtcclxuICBudW1iZXI6IHN0cmluZztcclxuICBzdWJqZWN0OiBzdHJpbmc7XHJcbiAgc3RhdGVJZDogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3ViZUluZm8geyB9XHJcbmludGVyZmFjZSBSdWxlIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdGl0bGU6IHN0cmluZztcclxufVxyXG4iXX0=