@bizdoc/core 2.3.41 → 2.3.42

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 (393) hide show
  1. package/assets/themes/brown.min.css +1 -1
  2. package/assets/themes/dark.min.css +1 -1
  3. package/assets/themes/deep-purple-light-blue.min.css +6 -6
  4. package/assets/themes/deep-purple-teal.min.css +1 -1
  5. package/assets/themes/default.min.css +5 -5
  6. package/assets/themes/green.min.css +1 -1
  7. package/assets/themes/indigo.min.css +1 -1
  8. package/esm2022/lib/admin/admin-dismiss.service.mjs +3 -3
  9. package/esm2022/lib/admin/admin-menu.component.mjs +3 -3
  10. package/esm2022/lib/admin/architecture/cube-axes-filter.component.mjs +3 -3
  11. package/esm2022/lib/admin/architecture/designer-element.component.mjs +15 -15
  12. package/esm2022/lib/admin/architecture/designer-privileges.component.mjs +3 -3
  13. package/esm2022/lib/admin/architecture/designer.base.mjs +9 -9
  14. package/esm2022/lib/admin/architecture/designer.component.mjs +3 -3
  15. package/esm2022/lib/admin/architecture/elements/action.component.mjs +3 -3
  16. package/esm2022/lib/admin/architecture/elements/analysis-view.component.mjs +3 -3
  17. package/esm2022/lib/admin/architecture/elements/analysis-widget.component.mjs +3 -3
  18. package/esm2022/lib/admin/architecture/elements/anomaly-rule.component.mjs +3 -3
  19. package/esm2022/lib/admin/architecture/elements/attribute.component.mjs +3 -3
  20. package/esm2022/lib/admin/architecture/elements/box-form.component.mjs +3 -3
  21. package/esm2022/lib/admin/architecture/elements/configuration-datasource.component.mjs +3 -3
  22. package/esm2022/lib/admin/architecture/elements/control.component.mjs +3 -3
  23. package/esm2022/lib/admin/architecture/elements/cube-index-utility.component.mjs +3 -3
  24. package/esm2022/lib/admin/architecture/elements/cube-view.component.mjs +3 -3
  25. package/esm2022/lib/admin/architecture/elements/cube.component.mjs +3 -3
  26. package/esm2022/lib/admin/architecture/elements/document-state-widget.component.mjs +3 -3
  27. package/esm2022/lib/admin/architecture/elements/documents-report.component.mjs +3 -3
  28. package/esm2022/lib/admin/architecture/elements/documents-widget.component.mjs +3 -3
  29. package/esm2022/lib/admin/architecture/elements/explore-view.component.mjs +3 -3
  30. package/esm2022/lib/admin/architecture/elements/folder.component.mjs +3 -3
  31. package/esm2022/lib/admin/architecture/elements/form-invite.dialog.mjs +3 -3
  32. package/esm2022/lib/admin/architecture/elements/form.component.mjs +3 -3
  33. package/esm2022/lib/admin/architecture/elements/guide.component.mjs +3 -3
  34. package/esm2022/lib/admin/architecture/elements/job.component.mjs +3 -3
  35. package/esm2022/lib/admin/architecture/elements/matrix-view.component.mjs +3 -3
  36. package/esm2022/lib/admin/architecture/elements/node.component.mjs +3 -3
  37. package/esm2022/lib/admin/architecture/elements/parallel-view.component.mjs +3 -3
  38. package/esm2022/lib/admin/architecture/elements/performance-report.component.mjs +3 -3
  39. package/esm2022/lib/admin/architecture/elements/performance-widget.component.mjs +3 -3
  40. package/esm2022/lib/admin/architecture/elements/pivot-view.component.mjs +3 -3
  41. package/esm2022/lib/admin/architecture/elements/policy.component.mjs +3 -3
  42. package/esm2022/lib/admin/architecture/elements/report.component.mjs +3 -3
  43. package/esm2022/lib/admin/architecture/elements/return-to-role-action.component.mjs +3 -3
  44. package/esm2022/lib/admin/architecture/elements/role.component.mjs +3 -3
  45. package/esm2022/lib/admin/architecture/elements/rule.component.mjs +3 -3
  46. package/esm2022/lib/admin/architecture/elements/source.component.mjs +3 -3
  47. package/esm2022/lib/admin/architecture/elements/state.component.mjs +3 -3
  48. package/esm2022/lib/admin/architecture/elements/sum-view.component.mjs +3 -3
  49. package/esm2022/lib/admin/architecture/elements/tasks-report.component.mjs +3 -3
  50. package/esm2022/lib/admin/architecture/elements/type.component.mjs +3 -3
  51. package/esm2022/lib/admin/architecture/elements/usage-report.component.mjs +3 -3
  52. package/esm2022/lib/admin/architecture/elements/utility.component.mjs +3 -3
  53. package/esm2022/lib/admin/architecture/elements/view.component.mjs +3 -3
  54. package/esm2022/lib/admin/architecture/elements/widget.component.mjs +3 -3
  55. package/esm2022/lib/admin/architecture/icon-picker.component.mjs +3 -3
  56. package/esm2022/lib/admin/core/ace.input.mjs +3 -3
  57. package/esm2022/lib/admin/core/color-picker.input.mjs +3 -3
  58. package/esm2022/lib/admin/core/localized-string.component.mjs +3 -3
  59. package/esm2022/lib/admin/core/search.input.mjs +3 -3
  60. package/esm2022/lib/admin/diff/configuration-diff.component.mjs +3 -3
  61. package/esm2022/lib/admin/document-trace/document-trace.component.mjs +3 -3
  62. package/esm2022/lib/admin/document-trace/reassign.dialog.mjs +3 -3
  63. package/esm2022/lib/admin/document-trace/trace-element.component.mjs +3 -3
  64. package/esm2022/lib/admin/form/designer/box-designer.component.mjs +3 -3
  65. package/esm2022/lib/admin/form/designer/design-control.component.mjs +3 -3
  66. package/esm2022/lib/admin/form/designer/properties.component.mjs +3 -3
  67. package/esm2022/lib/admin/form/designer/section.component.mjs +3 -3
  68. package/esm2022/lib/admin/form/designer/settings.component.mjs +3 -3
  69. package/esm2022/lib/admin/form/form.resolve.service.mjs +3 -3
  70. package/esm2022/lib/admin/form/workflow/node.component.mjs +3 -3
  71. package/esm2022/lib/admin/form/workflow/role-node.component.mjs +3 -3
  72. package/esm2022/lib/admin/form/workflow/workflow.component.mjs +3 -3
  73. package/esm2022/lib/admin/indices/manage-cube-index.component.mjs +3 -3
  74. package/esm2022/lib/admin/patterns/patterns.component.mjs +3 -3
  75. package/esm2022/lib/admin/permissions/permissions.component.mjs +3 -3
  76. package/esm2022/lib/admin/positions/positions-popup.component.mjs +3 -3
  77. package/esm2022/lib/admin/positions/positions.component.mjs +3 -3
  78. package/esm2022/lib/admin/profiler/outofoffice.component.mjs +3 -3
  79. package/esm2022/lib/admin/profiler/profiler.component.mjs +3 -3
  80. package/esm2022/lib/admin/system.service.mjs +3 -3
  81. package/esm2022/lib/admin/utility-wrapper.component.mjs +3 -3
  82. package/esm2022/lib/admin/utility.pane.component.mjs +3 -3
  83. package/esm2022/lib/app.component.mjs +6 -6
  84. package/esm2022/lib/bizdoc.module.mjs +4 -4
  85. package/esm2022/lib/browse/browse-items.component.mjs +3 -3
  86. package/esm2022/lib/browse/browse.mobile.component.mjs +3 -3
  87. package/esm2022/lib/browse/browse.pane.component.mjs +3 -3
  88. package/esm2022/lib/browse/expanded-item/expanded-item.component.mjs +3 -3
  89. package/esm2022/lib/browse/filter/filter.component.mjs +3 -3
  90. package/esm2022/lib/browse/folders-menu.component.mjs +3 -3
  91. package/esm2022/lib/chat/chat-info.mjs +3 -3
  92. package/esm2022/lib/chat/chat.mobile.component.mjs +3 -3
  93. package/esm2022/lib/chat/chat.service.mjs +3 -3
  94. package/esm2022/lib/chat/contacts.component.mjs +8 -8
  95. package/esm2022/lib/chat/contacts.pane.component.mjs +3 -3
  96. package/esm2022/lib/chat/conversation.component.mjs +5 -5
  97. package/esm2022/lib/chat/conversation.pane.component.mjs +5 -5
  98. package/esm2022/lib/compose/action/action-picker.component.mjs +3 -3
  99. package/esm2022/lib/compose/action/action.dialog.mjs +3 -3
  100. package/esm2022/lib/compose/action/action.pane.dialog.exp.mjs +3 -3
  101. package/esm2022/lib/compose/action/assign-action.component.mjs +3 -3
  102. package/esm2022/lib/compose/action/moveto-action.component.mjs +3 -3
  103. package/esm2022/lib/compose/action/return-action.component.mjs +3 -3
  104. package/esm2022/lib/compose/attachments/attachments.component.mjs +3 -3
  105. package/esm2022/lib/compose/attachments/preview/attachment-preview.component.mjs +3 -3
  106. package/esm2022/lib/compose/attachments/progress-button.directive.mjs +3 -3
  107. package/esm2022/lib/compose/box/box.component.mjs +3 -3
  108. package/esm2022/lib/compose/box/control.component.mjs +3 -3
  109. package/esm2022/lib/compose/box/row.component.mjs +3 -3
  110. package/esm2022/lib/compose/can-deactivate-changes.service.mjs +3 -3
  111. package/esm2022/lib/compose/comments/comment.component.mjs +3 -3
  112. package/esm2022/lib/compose/comments/comments.component.mjs +5 -5
  113. package/esm2022/lib/compose/comments/comments.pane.component.mjs +3 -3
  114. package/esm2022/lib/compose/comments/edit-comment.component.mjs +5 -5
  115. package/esm2022/lib/compose/comments/edits.component.mjs +3 -3
  116. package/esm2022/lib/compose/comments/quick-comment.component.exp.mjs +5 -5
  117. package/esm2022/lib/compose/comments/votes.component.mjs +3 -3
  118. package/esm2022/lib/compose/compose-resolve.service.mjs +6 -6
  119. package/esm2022/lib/compose/compose.mobile.component.mjs +3 -3
  120. package/esm2022/lib/compose/compose.pane.component.mjs +3 -3
  121. package/esm2022/lib/compose/copy/copy.dialog.mjs +3 -3
  122. package/esm2022/lib/compose/dismiss.service.mjs +3 -3
  123. package/esm2022/lib/compose/document-resolver.service.mjs +3 -3
  124. package/esm2022/lib/compose/document.component.mjs +3 -3
  125. package/esm2022/lib/compose/document.mobile.component.mjs +3 -3
  126. package/esm2022/lib/compose/document.pane.component.mjs +3 -3
  127. package/esm2022/lib/compose/events/events.component.mjs +3 -3
  128. package/esm2022/lib/compose/form-selector/form-selector.sheet.mjs +3 -3
  129. package/esm2022/lib/compose/form.component.mjs +3 -3
  130. package/esm2022/lib/compose/new-menu.component.mjs +3 -3
  131. package/esm2022/lib/compose/privilage.directive.mjs +6 -6
  132. package/esm2022/lib/compose/recipient-resolver.service.mjs +3 -3
  133. package/esm2022/lib/compose/state.component.mjs +3 -3
  134. package/esm2022/lib/compose/tag/tags.component.mjs +3 -3
  135. package/esm2022/lib/compose/trace/flow.component.mjs +3 -3
  136. package/esm2022/lib/compose/trace/people.component.mjs +3 -3
  137. package/esm2022/lib/compose/trace/trace.base.mjs +3 -3
  138. package/esm2022/lib/compose/trace/trace.component.mjs +3 -3
  139. package/esm2022/lib/compose/trace/trace.pane.component.mjs +3 -3
  140. package/esm2022/lib/compose/version-compare/version-compare.component.mjs +3 -3
  141. package/esm2022/lib/compose/version-compare/version-compare.directive.mjs +9 -9
  142. package/esm2022/lib/compose/version-compare/version.pane.component.mjs +3 -3
  143. package/esm2022/lib/core/account.service.mjs +3 -3
  144. package/esm2022/lib/core/animated-icon/animated-icon.directive.mjs +3 -3
  145. package/esm2022/lib/core/avatar/avatar.component.mjs +3 -3
  146. package/esm2022/lib/core/checkbox.mjs +3 -3
  147. package/esm2022/lib/core/component-factory-resolver.mjs +3 -3
  148. package/esm2022/lib/core/datasource.service.mjs +3 -3
  149. package/esm2022/lib/core/fields/address.designer.mjs +3 -3
  150. package/esm2022/lib/core/fields/address.field.mjs +3 -3
  151. package/esm2022/lib/core/fields/autocomplete.field.mjs +6 -6
  152. package/esm2022/lib/core/fields/checkbox.designer.mjs +3 -3
  153. package/esm2022/lib/core/fields/checkbox.field.mjs +3 -3
  154. package/esm2022/lib/core/fields/checklist.designer.mjs +3 -3
  155. package/esm2022/lib/core/fields/checklist.field.mjs +3 -3
  156. package/esm2022/lib/core/fields/date-range.designer.mjs +3 -3
  157. package/esm2022/lib/core/fields/date-range.field.mjs +3 -3
  158. package/esm2022/lib/core/fields/date.designer.mjs +3 -3
  159. package/esm2022/lib/core/fields/date.field.mjs +3 -3
  160. package/esm2022/lib/core/fields/expression.field.mjs +6 -6
  161. package/esm2022/lib/core/fields/file.designer.mjs +3 -3
  162. package/esm2022/lib/core/fields/file.field.mjs +3 -3
  163. package/esm2022/lib/core/fields/html.designer.mjs +3 -3
  164. package/esm2022/lib/core/fields/html.field.mjs +3 -3
  165. package/esm2022/lib/core/fields/input.designer.mjs +3 -3
  166. package/esm2022/lib/core/fields/input.field.mjs +3 -3
  167. package/esm2022/lib/core/fields/localized-string.field.mjs +6 -6
  168. package/esm2022/lib/core/fields/numeric.designer.mjs +3 -3
  169. package/esm2022/lib/core/fields/numeric.field.mjs +3 -3
  170. package/esm2022/lib/core/fields/options.base.mjs +6 -6
  171. package/esm2022/lib/core/fields/options.component.mjs +3 -3
  172. package/esm2022/lib/core/fields/radio-button.designer.mjs +3 -3
  173. package/esm2022/lib/core/fields/radio-button.field.mjs +3 -3
  174. package/esm2022/lib/core/fields/select.designer.mjs +3 -3
  175. package/esm2022/lib/core/fields/select.field.mjs +3 -3
  176. package/esm2022/lib/core/fields/signature.designer.mjs +3 -3
  177. package/esm2022/lib/core/fields/signature.field.mjs +3 -3
  178. package/esm2022/lib/core/fields/switch.field.mjs +3 -3
  179. package/esm2022/lib/core/fields/tags.designer.mjs +3 -3
  180. package/esm2022/lib/core/fields/tags.field.mjs +3 -3
  181. package/esm2022/lib/core/fields/textarea.designer.mjs +3 -3
  182. package/esm2022/lib/core/fields/textarea.field.mjs +3 -3
  183. package/esm2022/lib/core/fields/time.designer.mjs +3 -3
  184. package/esm2022/lib/core/fields/time.field.mjs +3 -3
  185. package/esm2022/lib/core/fields/timespan.field.mjs +6 -6
  186. package/esm2022/lib/core/fields/yesno.designer.mjs +3 -3
  187. package/esm2022/lib/core/fields/yesno.field.mjs +3 -3
  188. package/esm2022/lib/core/guide/guide.component.mjs +3 -3
  189. package/esm2022/lib/core/guide/guide.service.mjs +3 -3
  190. package/esm2022/lib/core/guide/help-tip.component.mjs +3 -3
  191. package/esm2022/lib/core/http.interceptor.mjs +3 -3
  192. package/esm2022/lib/core/hub.service.mjs +3 -3
  193. package/esm2022/lib/core/identity/identity.component.mjs +3 -3
  194. package/esm2022/lib/core/info/attachment-info.service.mjs +3 -3
  195. package/esm2022/lib/core/info/document-info.service.mjs +3 -3
  196. package/esm2022/lib/core/info/location-info.component.mjs +3 -3
  197. package/esm2022/lib/core/info/map-info.mjs +3 -3
  198. package/esm2022/lib/core/inputs/address.input.mjs +3 -3
  199. package/esm2022/lib/core/inputs/auto-complete.input.mjs +3 -3
  200. package/esm2022/lib/core/inputs/combination-picker-body.mjs +3 -3
  201. package/esm2022/lib/core/inputs/combination-picker.mjs +3 -3
  202. package/esm2022/lib/core/inputs/combination-pool.mjs +3 -3
  203. package/esm2022/lib/core/inputs/file.input.mjs +3 -3
  204. package/esm2022/lib/core/inputs/select.input.mjs +3 -3
  205. package/esm2022/lib/core/inputs/signature.input.mjs +3 -3
  206. package/esm2022/lib/core/inputs/time-picker.mjs +3 -3
  207. package/esm2022/lib/core/inputs/timespan.input.mjs +3 -3
  208. package/esm2022/lib/core/layout.component.mjs +3 -3
  209. package/esm2022/lib/core/lottie-animation.mjs +3 -3
  210. package/esm2022/lib/core/mailbox.service.mjs +3 -3
  211. package/esm2022/lib/core/none.component.mjs +3 -3
  212. package/esm2022/lib/core/pipes/action.pipe.mjs +3 -3
  213. package/esm2022/lib/core/pipes/calendar.pipe.mjs +3 -3
  214. package/esm2022/lib/core/pipes/date-format.pipe.mjs +3 -3
  215. package/esm2022/lib/core/pipes/daterange.pipe.mjs +6 -6
  216. package/esm2022/lib/core/pipes/difference.pipe.mjs +3 -3
  217. package/esm2022/lib/core/pipes/duration-format.pipe.mjs +3 -3
  218. package/esm2022/lib/core/pipes/duration.pipe.mjs +3 -3
  219. package/esm2022/lib/core/pipes/form.pipe.mjs +3 -3
  220. package/esm2022/lib/core/pipes/join.pipe.mjs +3 -3
  221. package/esm2022/lib/core/pipes/localized-string.pipe.mjs +3 -3
  222. package/esm2022/lib/core/pipes/role.pipe.mjs +3 -3
  223. package/esm2022/lib/core/pipes/sanitize-html.pipe.mjs +3 -3
  224. package/esm2022/lib/core/pipes/sort.pipe.mjs +9 -9
  225. package/esm2022/lib/core/pipes/state.pipe.mjs +3 -3
  226. package/esm2022/lib/core/pipes/time-ago.pipe.mjs +6 -6
  227. package/esm2022/lib/core/pipes/translate.pipe.mjs +9 -9
  228. package/esm2022/lib/core/pipes/type-value.pipe.mjs +3 -3
  229. package/esm2022/lib/core/pipes/user-name.pipe.mjs +3 -3
  230. package/esm2022/lib/core/popup/popup.component.mjs +3 -3
  231. package/esm2022/lib/core/popup/popup.service.mjs +3 -3
  232. package/esm2022/lib/core/popup/tooltip.directive.mjs +6 -6
  233. package/esm2022/lib/core/prompt/ask/ask.dialog.mjs +3 -3
  234. package/esm2022/lib/core/prompt/mask/mask.component.mjs +3 -3
  235. package/esm2022/lib/core/prompt.service.mjs +3 -3
  236. package/esm2022/lib/core/router.mjs +6 -6
  237. package/esm2022/lib/core/save-changes.dialog.mjs +3 -3
  238. package/esm2022/lib/core/session.service.mjs +3 -3
  239. package/esm2022/lib/core/slots/router.directive.mjs +3 -3
  240. package/esm2022/lib/core/slots/router.service.mjs +3 -3
  241. package/esm2022/lib/core/slots/slots.component.mjs +6 -6
  242. package/esm2022/lib/core/sticky-toolbar.exp.mjs +3 -3
  243. package/esm2022/lib/core/tagging/documents.component.mjs +3 -3
  244. package/esm2022/lib/core/tagging/edit-input.component.mjs +5 -5
  245. package/esm2022/lib/core/tagging/emoji.component.mjs +3 -3
  246. package/esm2022/lib/core/tagging/tagging-item.directive.mjs +3 -3
  247. package/esm2022/lib/core/tagging/tagging.component-base.mjs +3 -3
  248. package/esm2022/lib/core/tagging/tagging.directive.mjs +3 -3
  249. package/esm2022/lib/core/tagging/tagging.pipe.mjs +3 -3
  250. package/esm2022/lib/core/tagging/users.component.mjs +3 -3
  251. package/esm2022/lib/core/translate.service.mjs +3 -3
  252. package/esm2022/lib/core/translations.mjs +7 -1
  253. package/esm2022/lib/core/virtual-tabs.component.exp.mjs +6 -6
  254. package/esm2022/lib/core/window-title.service.mjs +3 -3
  255. package/esm2022/lib/cube/accum/accum.component.mjs +3 -3
  256. package/esm2022/lib/cube/chart/chart.component.mjs +3 -3
  257. package/esm2022/lib/cube/cube-info.service.mjs +3 -3
  258. package/esm2022/lib/cube/cube-menu.component.mjs +3 -3
  259. package/esm2022/lib/cube/cube-view.component.mjs +3 -3
  260. package/esm2022/lib/cube/cube.service.mjs +3 -3
  261. package/esm2022/lib/cube/explore/document-item.component.mjs +3 -3
  262. package/esm2022/lib/cube/explore/explore-item.component.mjs +3 -3
  263. package/esm2022/lib/cube/explore/explore-items.component.mjs +3 -3
  264. package/esm2022/lib/cube/explore/explore.pane.component.mjs +3 -3
  265. package/esm2022/lib/cube/explore/item-resolver.service.mjs +6 -6
  266. package/esm2022/lib/cube/explore/item.pane.component.mjs +3 -3
  267. package/esm2022/lib/cube/filter/filter-tags.component.exp.mjs +3 -3
  268. package/esm2022/lib/cube/filter/filter.component.mjs +3 -3
  269. package/esm2022/lib/cube/grid/grid.component.mjs +3 -3
  270. package/esm2022/lib/cube/matrix/matrix.base.mjs +3 -3
  271. package/esm2022/lib/cube/matrix/matrix.mobile.component.mjs +3 -3
  272. package/esm2022/lib/cube/matrix/matrix.pane.component.mjs +3 -3
  273. package/esm2022/lib/cube/matrix/popup.component.mjs +3 -3
  274. package/esm2022/lib/cube/matrix/table.component.mjs +3 -3
  275. package/esm2022/lib/cube/parallel/parallel.component.mjs +3 -3
  276. package/esm2022/lib/cube/pivot/pivot.component.mjs +3 -3
  277. package/esm2022/lib/cube/spreadsheet/spreadsheet.component.mjs +3 -3
  278. package/esm2022/lib/cube/spreadsheet/spreadsheet.container.exp.mjs +3 -3
  279. package/esm2022/lib/cube/sum/sum.component.mjs +3 -3
  280. package/esm2022/lib/cube/view-base.mjs +3 -3
  281. package/esm2022/lib/cube/view.mobile.component.mjs +3 -3
  282. package/esm2022/lib/cube/view.pane.component.mjs +3 -3
  283. package/esm2022/lib/dashboard/actions/actions.widget.mjs +3 -3
  284. package/esm2022/lib/dashboard/cube/accum-cube.widget.mjs +3 -3
  285. package/esm2022/lib/dashboard/cube/compare.widget.mjs +3 -3
  286. package/esm2022/lib/dashboard/cube/cube-analysis.base.mjs +3 -3
  287. package/esm2022/lib/dashboard/cube/cube-analysis.widget.mjs +3 -3
  288. package/esm2022/lib/dashboard/cube/cube-chart.widget.mjs +3 -3
  289. package/esm2022/lib/dashboard/cube/document-state.widget.mjs +3 -3
  290. package/esm2022/lib/dashboard/cube/documents.widget.mjs +3 -3
  291. package/esm2022/lib/dashboard/cube/filter/filter.component.mjs +3 -3
  292. package/esm2022/lib/dashboard/dashboard.component.mjs +3 -3
  293. package/esm2022/lib/dashboard/dashboard.pane.component.mjs +3 -3
  294. package/esm2022/lib/dashboard/recents/recents.widget.mjs +3 -3
  295. package/esm2022/lib/dashboard/score/activity.widget.mjs +3 -3
  296. package/esm2022/lib/dashboard/score/compare-groups.widget.mjs +3 -3
  297. package/esm2022/lib/dashboard/score/peers-performance.widget.mjs +3 -3
  298. package/esm2022/lib/dashboard/score/pending-results.widget.mjs +3 -3
  299. package/esm2022/lib/dashboard/score/personal-score.widget.mjs +3 -3
  300. package/esm2022/lib/dashboard/widget-item.component.mjs +3 -3
  301. package/esm2022/lib/designer.module.mjs +4 -4
  302. package/esm2022/lib/desktop.module.mjs +4 -4
  303. package/esm2022/lib/home/about/about.dialog.mjs +3 -3
  304. package/esm2022/lib/home/home-base.component.mjs +3 -3
  305. package/esm2022/lib/home/home.desktop.component.mjs +3 -3
  306. package/esm2022/lib/home/home.mobile.component.mjs +3 -3
  307. package/esm2022/lib/home/notifications/notifications.component.mjs +3 -3
  308. package/esm2022/lib/home/options/options.component.mjs +3 -3
  309. package/esm2022/lib/home/outofoffice/outofoffice.component.mjs +3 -3
  310. package/esm2022/lib/home/sign/sign.component.mjs +3 -3
  311. package/esm2022/lib/impersonate/impersonate.component.mjs +3 -3
  312. package/esm2022/lib/mobile.module.mjs +4 -4
  313. package/esm2022/lib/modules/chart.module.mjs +4 -4
  314. package/esm2022/lib/modules/circular-gauge.module.mjs +4 -4
  315. package/esm2022/lib/modules/datepicker.intl.mjs +3 -3
  316. package/esm2022/lib/modules/dayjs.module.mjs +4 -4
  317. package/esm2022/lib/modules/diagram.module.mjs +4 -4
  318. package/esm2022/lib/modules/gantt.module.mjs +4 -4
  319. package/esm2022/lib/modules/grid.module.mjs +4 -4
  320. package/esm2022/lib/modules/linear-gauge.module.mjs +4 -4
  321. package/esm2022/lib/modules/material.module.mjs +4 -4
  322. package/esm2022/lib/modules/paginator.intl.mjs +3 -3
  323. package/esm2022/lib/modules/pivot.module.mjs +4 -4
  324. package/esm2022/lib/modules/schedule.module.mjs +4 -4
  325. package/esm2022/lib/modules/spreadsheet.module.mjs +4 -4
  326. package/esm2022/lib/modules/stepper.intl.mjs +3 -3
  327. package/esm2022/lib/modules/texteditor.module.mjs +4 -4
  328. package/esm2022/lib/notifications/filter.component.mjs +3 -3
  329. package/esm2022/lib/notifications/notifications-table.component.mjs +3 -3
  330. package/esm2022/lib/notifications/notifications.mobile.component.mjs +3 -3
  331. package/esm2022/lib/notifications/notifications.pane.component.mjs +3 -3
  332. package/esm2022/lib/notifications/notifications.service.mjs +3 -3
  333. package/esm2022/lib/notifications/types/commented.notification.mjs +3 -3
  334. package/esm2022/lib/notifications/types/cube-anomaly.notification.mjs +3 -3
  335. package/esm2022/lib/notifications/types/escalated.notification.mjs +3 -3
  336. package/esm2022/lib/notifications/types/invite.notification.mjs +3 -3
  337. package/esm2022/lib/notifications/types/liked.notification.mjs +3 -3
  338. package/esm2022/lib/notifications/types/long-running-task.notification.mjs +3 -3
  339. package/esm2022/lib/notifications/types/notification-base.mjs +3 -3
  340. package/esm2022/lib/notifications/types/nudge.notification.mjs +3 -3
  341. package/esm2022/lib/notifications/types/state-changed.notification.mjs +3 -3
  342. package/esm2022/lib/notifications/types/tagged.notification.mjs +3 -3
  343. package/esm2022/lib/notifications/types/text.notification.mjs +3 -3
  344. package/esm2022/lib/notifications/types/upcoming-event.notification.mjs +3 -3
  345. package/esm2022/lib/options/options.component.mjs +3 -3
  346. package/esm2022/lib/options/options.service.mjs +3 -3
  347. package/esm2022/lib/reports/arguments-component.mjs +3 -3
  348. package/esm2022/lib/reports/cube/documents.component.mjs +3 -3
  349. package/esm2022/lib/reports/cube/grid-documents.component.mjs +3 -3
  350. package/esm2022/lib/reports/cube/performance-hilo.component.mjs +126 -50
  351. package/esm2022/lib/reports/cube/performance-wind.component.mjs +8 -10
  352. package/esm2022/lib/reports/cube/table-documents.component.mjs +3 -3
  353. package/esm2022/lib/reports/cube/usage-args.component.mjs +3 -3
  354. package/esm2022/lib/reports/cube/usage-base.mjs +3 -3
  355. package/esm2022/lib/reports/cube/usage-chart.component.mjs +3 -3
  356. package/esm2022/lib/reports/cube/usage-pivot.component.mjs +3 -3
  357. package/esm2022/lib/reports/cube/usage.component.mjs +3 -3
  358. package/esm2022/lib/reports/report-viewer.component.mjs +3 -3
  359. package/esm2022/lib/reports/report.mobile.component.mjs +3 -3
  360. package/esm2022/lib/reports/report.pane.component.mjs +3 -3
  361. package/esm2022/lib/reports/reports-menu.component.mjs +3 -3
  362. package/esm2022/lib/reports/substitution/substitution.component.mjs +3 -3
  363. package/esm2022/lib/reports/table/table-view.component.mjs +3 -3
  364. package/esm2022/lib/reports/tasks/tasks.component.mjs +3 -3
  365. package/esm2022/lib/scheduler/schedule.component.mjs +3 -3
  366. package/esm2022/lib/scheduler/scheduler.mobile.component.mjs +3 -3
  367. package/esm2022/lib/scheduler/scheduler.pane.component.mjs +3 -3
  368. package/esm2022/lib/search/cube.component.mjs +3 -3
  369. package/esm2022/lib/search/document.component.mjs +3 -3
  370. package/esm2022/lib/search/guide.component.mjs +3 -3
  371. package/esm2022/lib/search/path.component.mjs +3 -3
  372. package/esm2022/lib/search/search.service.mjs +3 -3
  373. package/esm2022/lib/shared.module.mjs +4 -4
  374. package/esm2022/lib/system.module.mjs +4 -4
  375. package/esm2022/lib/views/cube/chart.component.mjs +3 -3
  376. package/esm2022/lib/views/cube/cube-base.mjs +3 -3
  377. package/esm2022/lib/views/cube/explore.component.mjs +3 -3
  378. package/esm2022/lib/views/cube/matrix.component.mjs +3 -3
  379. package/esm2022/lib/views/cube/parallel.component.mjs +3 -3
  380. package/esm2022/lib/views/cube/pivot.component.mjs +3 -3
  381. package/esm2022/lib/views/cube/sum.component.mjs +3 -3
  382. package/esm2022/lib/views/cube/view.component.mjs +3 -3
  383. package/esm2022/lib/views/timeline/timeline.component.mjs +3 -3
  384. package/esm2022/lib/views/view-item.component.mjs +3 -3
  385. package/esm2022/lib/views/views.component.mjs +3 -3
  386. package/esm2022/lib/views/views.mobile.component.mjs +3 -3
  387. package/esm2022/lib/views/views.pane.component.mjs +3 -3
  388. package/fesm2022/bizdoc-core.mjs +1374 -1295
  389. package/fesm2022/bizdoc-core.mjs.map +1 -1
  390. package/lib/core/translations.d.ts +6 -0
  391. package/lib/reports/cube/performance-hilo.component.d.ts +18 -11
  392. package/lib/reports/cube/performance-wind.component.d.ts +2 -2
  393. package/package.json +10 -10
@@ -32,10 +32,10 @@ export class OptionsService {
32
32
  oRef.attach(portal);
33
33
  oRef.backdropClick().subscribe(() => oRef.dispose());
34
34
  }
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: OptionsService, deps: [{ token: i1.Directionality }, { token: i2.Overlay }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
36
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: OptionsService }); }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: OptionsService, deps: [{ token: i1.Directionality }, { token: i2.Overlay }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
36
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: OptionsService }); }
37
37
  }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: OptionsService, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: OptionsService, decorators: [{
39
39
  type: Injectable
40
40
  }], ctorParameters: () => [{ type: i1.Directionality }, { type: i2.Overlay }, { type: i0.Injector }] });
41
41
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9vcHRpb25zL29wdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFXLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQTBCLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7O0FBRzdGLE1BQU0sT0FBTyxjQUFjO0lBQ3pCLFlBQW9CLElBQW9CLEVBQzlCLFFBQWlCLEVBQ2pCLFNBQW1CO1FBRlQsU0FBSSxHQUFKLElBQUksQ0FBZ0I7UUFDOUIsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixjQUFTLEdBQVQsU0FBUyxDQUFVO0lBQzdCLENBQUM7SUFDRCxJQUFJLENBQUMsT0FBb0I7UUFDdkIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDM0YsTUFBTSxNQUFNLEdBQUcsSUFBSSxhQUFhLENBQUM7WUFDL0IsZ0JBQWdCLEVBQUUsUUFBUTtZQUMxQixXQUFXLEVBQUUsSUFBSTtZQUNqQixtQkFBbUIsRUFBRSxJQUFJO1lBQ3pCLFVBQVUsRUFBRSxZQUFZO1lBQ3hCLGFBQWEsRUFBRSwyQkFBMkI7WUFDMUMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztTQUMzQixDQUFDLENBQUM7UUFFSCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQy9CLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsRUFBRTtnQkFDdkUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7YUFDeEMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVM7U0FDMUIsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDOzhHQTFCVSxjQUFjO2tIQUFkLGNBQWM7OzJGQUFkLGNBQWM7a0JBRDFCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPdmVybGF5UmVmLCBPdmVybGF5LCBPdmVybGF5Q29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBEaXJlY3Rpb25hbGl0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcclxuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7IE9wdGlvblR5cGUsIE9wdGlvbkRhdGEsIE9QVElPTl9QQU5FTCwgT3B0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vb3B0aW9ucy5jb21wb25lbnQnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgT3B0aW9uc1NlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RpcjogRGlyZWN0aW9uYWxpdHksXHJcbiAgICBwcml2YXRlIF9vdmVybGF5OiBPdmVybGF5LFxyXG4gICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yKSB7XHJcbiAgfVxyXG4gIG9wZW4oc2VjdGlvbj86IE9wdGlvblR5cGUpIHtcclxuICAgIGNvbnN0IHBvc2l0aW9uID0gdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLmNlbnRlckhvcml6b250YWxseSgpLmNlbnRlclZlcnRpY2FsbHkoKTtcclxuICAgIGNvbnN0IGNvbmZpZyA9IG5ldyBPdmVybGF5Q29uZmlnKHtcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogcG9zaXRpb24sXHJcbiAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxyXG4gICAgICBkaXNwb3NlT25OYXZpZ2F0aW9uOiB0cnVlLFxyXG4gICAgICBwYW5lbENsYXNzOiAnaG9tZS1wYW5lbCcsXHJcbiAgICAgIGJhY2tkcm9wQ2xhc3M6ICdjZGstb3ZlcmxheS1kYXJrLWJhY2tkcm9wJyxcclxuICAgICAgZGlyZWN0aW9uOiB0aGlzLl9kaXIudmFsdWVcclxuICAgIH0pO1xyXG5cclxuICAgIGNvbnN0IG9SZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZShjb25maWcpO1xyXG4gICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7IHByb3ZpZGU6IE9QVElPTl9QQU5FTCwgdXNlVmFsdWU6IHsgc2VjdGlvbjogc2VjdGlvbiB9IGFzIE9wdGlvbkRhdGEgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IE92ZXJsYXlSZWYsIHVzZVZhbHVlOiBvUmVmIH0sXHJcbiAgICAgIF0sIHBhcmVudDogdGhpcy5faW5qZWN0b3JcclxuICAgIH0pO1xyXG4gICAgY29uc3QgcG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChPcHRpb25zQ29tcG9uZW50LCBudWxsLCBpbmplY3Rvcik7XHJcbiAgICBvUmVmLmF0dGFjaChwb3J0YWwpO1xyXG4gICAgb1JlZi5iYWNrZHJvcENsaWNrKCkuc3Vic2NyaWJlKCgpID0+IG9SZWYuZGlzcG9zZSgpKTtcclxuICB9XHJcbn1cclxuIl19
@@ -58,10 +58,10 @@ export class ReportArgumentsComponent {
58
58
  this._destroy.next();
59
59
  this._destroy.complete();
60
60
  }
61
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ReportArgumentsComponent, deps: [{ token: i0.Injector }, { token: i0.ViewContainerRef }, { token: i1.BizDocComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component }); }
62
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: ReportArgumentsComponent, selector: "bizdoc-report-arguments", inputs: { reportRef: "reportRef", template: "template", arguments: "arguments", args: "args" }, outputs: { argsChange: "argsChange" }, ngImport: i0, template: '', isInline: true }); }
61
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ReportArgumentsComponent, deps: [{ token: i0.Injector }, { token: i0.ViewContainerRef }, { token: i1.BizDocComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component }); }
62
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: ReportArgumentsComponent, selector: "bizdoc-report-arguments", inputs: { reportRef: "reportRef", template: "template", arguments: "arguments", args: "args" }, outputs: { argsChange: "argsChange" }, ngImport: i0, template: '', isInline: true }); }
63
63
  }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: ReportArgumentsComponent, decorators: [{
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: ReportArgumentsComponent, decorators: [{
65
65
  type: Component,
66
66
  args: [{
67
67
  selector: 'bizdoc-report-arguments',
@@ -20,8 +20,8 @@ let CubeDocumentsComponent = class CubeDocumentsComponent {
20
20
  // else comp = CubeDocumentsTableComponent;
21
21
  this._instance = this._vc.createComponent(comp, { injector: this._injector }).instance;
22
22
  }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: CubeDocumentsComponent, deps: [{ token: i0.Injector }, { token: i1.ReportRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
24
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: CubeDocumentsComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true }); }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CubeDocumentsComponent, deps: [{ token: i0.Injector }, { token: i1.ReportRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
24
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: CubeDocumentsComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true }); }
25
25
  };
26
26
  CubeDocumentsComponent = __decorate([
27
27
  BizDoc({
@@ -29,7 +29,7 @@ CubeDocumentsComponent = __decorate([
29
29
  })
30
30
  ], CubeDocumentsComponent);
31
31
  export { CubeDocumentsComponent };
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: CubeDocumentsComponent, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CubeDocumentsComponent, decorators: [{
33
33
  type: Component,
34
34
  args: [{
35
35
  template: ''
@@ -59,10 +59,10 @@ export class CubeDocumentsGridComponent {
59
59
  this._destroy.next();
60
60
  this._destroy.complete();
61
61
  }
62
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: CubeDocumentsGridComponent, deps: [{ token: i1.ReportRef }, { token: i2.DocumentInfo }, { token: i3.SessionService }, { token: i4.AccountService }, { token: i5.CubeService }], target: i0.ɵɵFactoryTarget.Component }); }
63
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: CubeDocumentsGridComponent, selector: "ng-component", viewQueries: [{ propertyName: "grid", first: true, predicate: GridComponent, descendants: true }], ngImport: i0, template: "<ejs-grid [dataSource]=\"dataSource\" (rowSelected)=\"rowSelected($event)\"\r\n [pageSettings]=pageSettings\r\n [allowPaging]=false\r\n [enableHover]=false\r\n [enableAdaptiveUI]=true\r\n [enableStickyHeader]=true\r\n [allowExcelExport]=true\r\n [height]=height\r\n [allowGrouping]=true\r\n [allowSorting]=true\r\n [groupSettings]=groupSettings>\r\n <e-columns>\r\n <e-column field=\"number\" [headerText]=\"'Number'|translate\"></e-column>\r\n <e-column field=\"subject\" [headerText]=\"'Subject'|translate\"></e-column>\r\n <e-column field=\"stateId\" [headerText]=\"'Status'|translate\">\r\n <ng-template #template let-data>{{data.stateId | state}}</ng-template>\r\n </e-column>\r\n <e-column field=\"date\" [headerText]=\"'Date'|translate\">\r\n <ng-template #template let-data>{{data.date | amDateFormat: 'lll'}}</ng-template>\r\n </e-column>\r\n <e-column field=\"formId\" [headerText]=\"'Form'|translate\">\r\n <ng-template #template let-data>{{data.formId | form}}</ng-template>\r\n </e-column>\r\n <e-column field=\"userName\" [headerText]=\"'Name'|translate\">\r\n </e-column>\r\n <!--<e-column *ngFor=\"let a of cube.axes\" [field]=\"a.name\" [headerText]=\"a.title|translate\">\r\n </e-column>-->\r\n <e-column field=\"total\" [headerText]=\"'Value'|translate\" textAlign=\"Right\" [format]=\"valueFormat\">\r\n </e-column>\r\n </e-columns>\r\n</ejs-grid>\r\n", dependencies: [{ kind: "directive", type: i6.ColumnDirective, selector: "ejs-gantt>e-columns>e-column", inputs: ["allowEditing", "allowFiltering", "allowReordering", "allowResizing", "allowSorting", "clipMode", "customAttributes", "disableHtmlEncode", "displayAsCheckBox", "edit", "editType", "field", "filter", "format", "formatter", "headerTemplate", "headerText", "headerTextAlign", "hideAtMedia", "isPrimaryKey", "maxWidth", "minWidth", "sortComparer", "template", "textAlign", "type", "validationRules", "valueAccessor", "visible", "width"] }, { kind: "directive", type: i6.ColumnsDirective, selector: "ejs-gantt>e-columns" }, { kind: "directive", type: i7.ColumnDirective, selector: "e-columns>e-column", inputs: ["border", "width"] }, { kind: "directive", type: i7.ColumnsDirective, selector: "ejs-chart>e-columns" }, { kind: "component", type: i8.GridComponent, selector: "ejs-grid", inputs: ["aggregates", "allowExcelExport", "allowFiltering", "allowGrouping", "allowKeyboard", "allowMultiSorting", "allowPaging", "allowPdfExport", "allowReordering", "allowResizing", "allowRowDragAndDrop", "allowSelection", "allowSorting", "allowTextWrap", "autoFit", "childGrid", "clipMode", "columnChooserSettings", "columnMenuItems", "columnQueryMode", "columns", "contextMenuItems", "cssClass", "currencyCode", "currentAction", "currentViewData", "dataSource", "detailTemplate", "editSettings", "ej2StatePersistenceVersion", "emptyRecordTemplate", "enableAdaptiveUI", "enableAltRow", "enableAutoFill", "enableColumnVirtualization", "enableHeaderFocus", "enableHover", "enableHtmlSanitizer", "enableImmutableMode", "enableInfiniteScrolling", "enablePersistence", "enableRtl", "enableStickyHeader", "enableVirtualMaskRow", "enableVirtualization", "exportGrids", "filterSettings", "frozenColumns", "frozenRows", "gridLines", "groupSettings", "height", "hierarchyPrintMode", "infiniteScrollSettings", "loadingIndicator", "locale", "pageSettings", "pagerTemplate", "parentDetails", "printMode", "query", "queryString", "resizeSettings", "rowDropSettings", "rowHeight", "rowRenderingMode", "rowTemplate", "searchSettings", "selectedRowIndex", "selectionSettings", "showColumnChooser", "showColumnMenu", "showHider", "sortSettings", "textWrapSettings", "toolbar", "toolbarTemplate", "width"], outputs: ["actionBegin", "actionComplete", "actionFailure", "batchAdd", "batchCancel", "batchDelete", "beforeAutoFill", "beforeBatchAdd", "beforeBatchDelete", "beforeBatchSave", "beforeCopy", "beforeDataBound", "beforeExcelExport", "beforeOpenAdaptiveDialog", "beforeOpenColumnChooser", "beforePaste", "beforePdfExport", "beforePrint", "beginEdit", "cellDeselected", "cellDeselecting", "cellEdit", "cellSave", "cellSaved", "cellSelected", "cellSelecting", "checkBoxChange", "columnDataStateChange", "columnDeselected", "columnDeselecting", "columnDrag", "columnDragStart", "columnDrop", "columnMenuClick", "columnMenuOpen", "columnSelected", "columnSelecting", "commandClick", "contextMenuClick", "contextMenuOpen", "created", "dataBound", "dataSourceChanged", "dataStateChange", "destroyed", "detailDataBound", "excelAggregateQueryCellInfo", "excelExportComplete", "excelHeaderQueryCellInfo", "excelQueryCellInfo", "exportDetailDataBound", "exportDetailTemplate", "exportGroupCaption", "headerCellInfo", "keyPressed", "lazyLoadGroupCollapse", "lazyLoadGroupExpand", "load", "pdfAggregateQueryCellInfo", "pdfExportComplete", "pdfHeaderQueryCellInfo", "pdfQueryCellInfo", "printComplete", "queryCellInfo", "recordClick", "recordDoubleClick", "resizeStart", "resizeStop", "resizing", "rowDataBound", "rowDeselected", "rowDeselecting", "rowDrag", "rowDragStart", "rowDragStartHelper", "rowDrop", "rowSelected", "rowSelecting", "toolbarClick", "dataSourceChange"] }, { kind: "directive", type: i8.ColumnDirective, selector: "ejs-grid>e-columns>e-column", inputs: ["allowEditing", "allowFiltering", "allowGrouping", "allowReordering", "allowResizing", "allowSearching", "allowSorting", "autoFit", "clipMode", "columns", "commands", "customAttributes", "dataSource", "defaultValue", "disableHtmlEncode", "displayAsCheckBox", "edit", "editTemplate", "editType", "enableGroupByFormat", "field", "filter", "filterBarTemplate", "filterTemplate", "foreignKeyField", "foreignKeyValue", "format", "formatter", "freeze", "headerTemplate", "headerText", "headerTextAlign", "headerValueAccessor", "hideAtMedia", "index", "isFrozen", "isIdentity", "isPrimaryKey", "lockColumn", "maxWidth", "minWidth", "showColumnMenu", "showInColumnChooser", "sortComparer", "template", "textAlign", "type", "uid", "validationRules", "valueAccessor", "visible", "width"] }, { kind: "directive", type: i8.ColumnsDirective, selector: "ejs-grid>e-columns" }, { kind: "directive", type: i8.AggregateColumnDirective, selector: "ejs-grid>e-aggregates>e-aggregate>e-columns>e-column", inputs: ["columnName", "customAggregate", "field", "footerTemplate", "format", "groupCaptionTemplate", "groupFooterTemplate", "type"] }, { kind: "directive", type: i8.AggregateColumnsDirective, selector: "ejs-grid>e-aggregates>e-aggregate>e-columns" }, { kind: "directive", type: i9.ColumnDirective, selector: "e-columns>e-column", inputs: ["customWidth", "format", "hidden", "index", "isLocked", "validation", "width"] }, { kind: "directive", type: i9.ColumnsDirective, selector: "e-sheet>e-columns" }, { kind: "directive", type: i10.ColumnDirective, selector: "e-columns>e-column", inputs: ["allowDrag", "allowDrop", "allowToggle", "headerText", "isExpanded", "keyField", "maxCount", "minCount", "showAddButton", "showItemCount", "template", "transitionColumns"] }, { kind: "directive", type: i10.ColumnsDirective, selector: "ejs-kanban>e-columns" }, { kind: "pipe", type: i11.DateFormatPipe, name: "amDateFormat" }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }, { kind: "pipe", type: i13.StatePipe, name: "state" }, { kind: "pipe", type: i14.FormPipe, name: "form" }] }); }
62
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CubeDocumentsGridComponent, deps: [{ token: i1.ReportRef }, { token: i2.DocumentInfo }, { token: i3.SessionService }, { token: i4.AccountService }, { token: i5.CubeService }], target: i0.ɵɵFactoryTarget.Component }); }
63
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: CubeDocumentsGridComponent, selector: "ng-component", viewQueries: [{ propertyName: "grid", first: true, predicate: GridComponent, descendants: true }], ngImport: i0, template: "<ejs-grid [dataSource]=\"dataSource\" (rowSelected)=\"rowSelected($event)\"\r\n [pageSettings]=pageSettings\r\n [allowPaging]=false\r\n [enableHover]=false\r\n [enableAdaptiveUI]=true\r\n [enableStickyHeader]=true\r\n [allowExcelExport]=true\r\n [height]=height\r\n [allowGrouping]=true\r\n [allowSorting]=true\r\n [groupSettings]=groupSettings>\r\n <e-columns>\r\n <e-column field=\"number\" [headerText]=\"'Number'|translate\"></e-column>\r\n <e-column field=\"subject\" [headerText]=\"'Subject'|translate\"></e-column>\r\n <e-column field=\"stateId\" [headerText]=\"'Status'|translate\">\r\n <ng-template #template let-data>{{data.stateId | state}}</ng-template>\r\n </e-column>\r\n <e-column field=\"date\" [headerText]=\"'Date'|translate\">\r\n <ng-template #template let-data>{{data.date | amDateFormat: 'lll'}}</ng-template>\r\n </e-column>\r\n <e-column field=\"formId\" [headerText]=\"'Form'|translate\">\r\n <ng-template #template let-data>{{data.formId | form}}</ng-template>\r\n </e-column>\r\n <e-column field=\"userName\" [headerText]=\"'Name'|translate\">\r\n </e-column>\r\n <!--<e-column *ngFor=\"let a of cube.axes\" [field]=\"a.name\" [headerText]=\"a.title|translate\">\r\n </e-column>-->\r\n <e-column field=\"total\" [headerText]=\"'Value'|translate\" textAlign=\"Right\" [format]=\"valueFormat\">\r\n </e-column>\r\n </e-columns>\r\n</ejs-grid>\r\n", dependencies: [{ kind: "directive", type: i6.ColumnDirective, selector: "ejs-gantt>e-columns>e-column", inputs: ["allowEditing", "allowFiltering", "allowReordering", "allowResizing", "allowSorting", "clipMode", "customAttributes", "disableHtmlEncode", "displayAsCheckBox", "edit", "editType", "field", "filter", "format", "formatter", "headerTemplate", "headerText", "headerTextAlign", "hideAtMedia", "isPrimaryKey", "maxWidth", "minWidth", "sortComparer", "template", "textAlign", "type", "validationRules", "valueAccessor", "visible", "width"] }, { kind: "directive", type: i6.ColumnsDirective, selector: "ejs-gantt>e-columns" }, { kind: "directive", type: i7.ColumnDirective, selector: "e-columns>e-column", inputs: ["border", "width"] }, { kind: "directive", type: i7.ColumnsDirective, selector: "ejs-chart>e-columns" }, { kind: "component", type: i8.GridComponent, selector: "ejs-grid", inputs: ["aggregates", "allowExcelExport", "allowFiltering", "allowGrouping", "allowKeyboard", "allowMultiSorting", "allowPaging", "allowPdfExport", "allowReordering", "allowResizing", "allowRowDragAndDrop", "allowSelection", "allowSorting", "allowTextWrap", "autoFit", "childGrid", "clipMode", "columnChooserSettings", "columnMenuItems", "columnQueryMode", "columns", "contextMenuItems", "cssClass", "currencyCode", "currentAction", "currentViewData", "dataSource", "detailTemplate", "editSettings", "ej2StatePersistenceVersion", "emptyRecordTemplate", "enableAdaptiveUI", "enableAltRow", "enableAutoFill", "enableColumnVirtualization", "enableHeaderFocus", "enableHover", "enableHtmlSanitizer", "enableImmutableMode", "enableInfiniteScrolling", "enablePersistence", "enableRtl", "enableStickyHeader", "enableVirtualMaskRow", "enableVirtualization", "exportGrids", "filterSettings", "frozenColumns", "frozenRows", "gridLines", "groupSettings", "height", "hierarchyPrintMode", "infiniteScrollSettings", "loadingIndicator", "locale", "pageSettings", "pagerTemplate", "parentDetails", "printMode", "query", "queryString", "resizeSettings", "rowDropSettings", "rowHeight", "rowRenderingMode", "rowTemplate", "searchSettings", "selectedRowIndex", "selectionSettings", "showColumnChooser", "showColumnMenu", "showHider", "sortSettings", "textWrapSettings", "toolbar", "toolbarTemplate", "width"], outputs: ["actionBegin", "actionComplete", "actionFailure", "batchAdd", "batchCancel", "batchDelete", "beforeAutoFill", "beforeBatchAdd", "beforeBatchDelete", "beforeBatchSave", "beforeCopy", "beforeDataBound", "beforeExcelExport", "beforeOpenAdaptiveDialog", "beforeOpenColumnChooser", "beforePaste", "beforePdfExport", "beforePrint", "beginEdit", "cellDeselected", "cellDeselecting", "cellEdit", "cellSave", "cellSaved", "cellSelected", "cellSelecting", "checkBoxChange", "columnDataStateChange", "columnDeselected", "columnDeselecting", "columnDrag", "columnDragStart", "columnDrop", "columnMenuClick", "columnMenuOpen", "columnSelected", "columnSelecting", "commandClick", "contextMenuClick", "contextMenuOpen", "created", "dataBound", "dataSourceChanged", "dataStateChange", "destroyed", "detailDataBound", "excelAggregateQueryCellInfo", "excelExportComplete", "excelHeaderQueryCellInfo", "excelQueryCellInfo", "exportDetailDataBound", "exportDetailTemplate", "exportGroupCaption", "headerCellInfo", "keyPressed", "lazyLoadGroupCollapse", "lazyLoadGroupExpand", "load", "pdfAggregateQueryCellInfo", "pdfExportComplete", "pdfHeaderQueryCellInfo", "pdfQueryCellInfo", "printComplete", "queryCellInfo", "recordClick", "recordDoubleClick", "resizeStart", "resizeStop", "resizing", "rowDataBound", "rowDeselected", "rowDeselecting", "rowDrag", "rowDragStart", "rowDragStartHelper", "rowDrop", "rowSelected", "rowSelecting", "toolbarClick", "dataSourceChange"] }, { kind: "directive", type: i8.ColumnDirective, selector: "ejs-grid>e-columns>e-column", inputs: ["allowEditing", "allowFiltering", "allowGrouping", "allowReordering", "allowResizing", "allowSearching", "allowSorting", "autoFit", "clipMode", "columns", "commands", "customAttributes", "dataSource", "defaultValue", "disableHtmlEncode", "displayAsCheckBox", "edit", "editTemplate", "editType", "enableGroupByFormat", "field", "filter", "filterBarTemplate", "filterTemplate", "foreignKeyField", "foreignKeyValue", "format", "formatter", "freeze", "headerTemplate", "headerText", "headerTextAlign", "headerValueAccessor", "hideAtMedia", "index", "isFrozen", "isIdentity", "isPrimaryKey", "lockColumn", "maxWidth", "minWidth", "showColumnMenu", "showInColumnChooser", "sortComparer", "template", "textAlign", "type", "uid", "validationRules", "valueAccessor", "visible", "width"] }, { kind: "directive", type: i8.ColumnsDirective, selector: "ejs-grid>e-columns" }, { kind: "directive", type: i8.AggregateColumnDirective, selector: "ejs-grid>e-aggregates>e-aggregate>e-columns>e-column", inputs: ["columnName", "customAggregate", "field", "footerTemplate", "format", "groupCaptionTemplate", "groupFooterTemplate", "type"] }, { kind: "directive", type: i8.AggregateColumnsDirective, selector: "ejs-grid>e-aggregates>e-aggregate>e-columns" }, { kind: "directive", type: i9.ColumnDirective, selector: "e-columns>e-column", inputs: ["customWidth", "format", "hidden", "index", "isLocked", "validation", "width"] }, { kind: "directive", type: i9.ColumnsDirective, selector: "e-sheet>e-columns" }, { kind: "directive", type: i10.ColumnDirective, selector: "e-columns>e-column", inputs: ["allowDrag", "allowDrop", "allowToggle", "headerText", "isExpanded", "keyField", "maxCount", "minCount", "showAddButton", "showItemCount", "template", "transitionColumns"] }, { kind: "directive", type: i10.ColumnsDirective, selector: "ejs-kanban>e-columns" }, { kind: "pipe", type: i11.DateFormatPipe, name: "amDateFormat" }, { kind: "pipe", type: i12.TranslatePipe, name: "translate" }, { kind: "pipe", type: i13.StatePipe, name: "state" }, { kind: "pipe", type: i14.FormPipe, name: "form" }] }); }
64
64
  }
65
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: CubeDocumentsGridComponent, decorators: [{
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: CubeDocumentsGridComponent, decorators: [{
66
66
  type: Component,
67
67
  args: [{ template: "<ejs-grid [dataSource]=\"dataSource\" (rowSelected)=\"rowSelected($event)\"\r\n [pageSettings]=pageSettings\r\n [allowPaging]=false\r\n [enableHover]=false\r\n [enableAdaptiveUI]=true\r\n [enableStickyHeader]=true\r\n [allowExcelExport]=true\r\n [height]=height\r\n [allowGrouping]=true\r\n [allowSorting]=true\r\n [groupSettings]=groupSettings>\r\n <e-columns>\r\n <e-column field=\"number\" [headerText]=\"'Number'|translate\"></e-column>\r\n <e-column field=\"subject\" [headerText]=\"'Subject'|translate\"></e-column>\r\n <e-column field=\"stateId\" [headerText]=\"'Status'|translate\">\r\n <ng-template #template let-data>{{data.stateId | state}}</ng-template>\r\n </e-column>\r\n <e-column field=\"date\" [headerText]=\"'Date'|translate\">\r\n <ng-template #template let-data>{{data.date | amDateFormat: 'lll'}}</ng-template>\r\n </e-column>\r\n <e-column field=\"formId\" [headerText]=\"'Form'|translate\">\r\n <ng-template #template let-data>{{data.formId | form}}</ng-template>\r\n </e-column>\r\n <e-column field=\"userName\" [headerText]=\"'Name'|translate\">\r\n </e-column>\r\n <!--<e-column *ngFor=\"let a of cube.axes\" [field]=\"a.name\" [headerText]=\"a.title|translate\">\r\n </e-column>-->\r\n <e-column field=\"total\" [headerText]=\"'Value'|translate\" textAlign=\"Right\" [format]=\"valueFormat\">\r\n </e-column>\r\n </e-columns>\r\n</ejs-grid>\r\n" }]
68
68
  }], ctorParameters: () => [{ type: i1.ReportRef }, { type: i2.DocumentInfo }, { type: i3.SessionService }, { type: i4.AccountService }, { type: i5.CubeService }], propDecorators: { grid: [{
@@ -3,10 +3,11 @@ import { Component } from '@angular/core';
3
3
  import { Subject, startWith, takeUntil } from 'rxjs';
4
4
  /// <reference path="./node_modules/dayjs/plugin/duration.d.ts" />
5
5
  import dayjs from 'dayjs';
6
+ import { Chart } from '@syncfusion/ej2-angular-charts';
7
+ //import { CircularGauge, GaugeTheme, IAxisLabelRenderEventArgs, ITooltipRenderEventArgs, LegendSettingsModel, RangeModel, TooltipSettingsModel } from '@syncfusion/ej2-angular-circulargauge';
8
+ import { Workbook } from '@syncfusion/ej2-excel-export';
6
9
  import { BizDoc } from '../../core/decorators';
7
10
  import { FONT_FAMILY } from '../../core/colors';
8
- //import { CircularGauge, GaugeTheme, IAxisLabelRenderEventArgs, ITooltipRenderEventArgs, LegendSettingsModel, RangeModel, TooltipSettingsModel } from '@syncfusion/ej2-angular-circulargauge';
9
- import { Chart } from '@syncfusion/ej2-angular-charts';
10
11
  import * as i0 from "@angular/core";
11
12
  import * as i1 from "../../core/account.service";
12
13
  import * as i2 from "../../core/session.service";
@@ -22,9 +23,28 @@ let PerformanceHiloComponent = class PerformanceHiloComponent {
22
23
  this.titleStyle = {
23
24
  fontFamily: FONT_FAMILY
24
25
  };
26
+ this.primaryYAxis = {
27
+ stripLines: [{
28
+ text: this._translate.get('Standard'),
29
+ textStyle: {
30
+ fontFamily: FONT_FAMILY,
31
+ },
32
+ opacity: .8,
33
+ }]
34
+ };
35
+ this.primaryXAxis = {
36
+ valueType: 'Category'
37
+ };
38
+ this.tooltip = { enable: true };
39
+ this.enableRtl = this._session.inverse;
40
+ //readonly legendSettings: LegendSettingsModel = {};
25
41
  this._destroy = new Subject();
26
42
  _session.themeChange.pipe(takeUntil(this._destroy), startWith(_session.theme)).subscribe(t => {
27
- //this.theme = t.dark ? 'Material3Dark' : 'Material3';
43
+ this.theme = t.dark ? 'Material3Dark' : 'Material3';
44
+ this.palettes = [
45
+ this._session.getAccent(),
46
+ this._session.getPrimery()
47
+ ];
28
48
  //this.gauge && this._draw();
29
49
  this.chart && this._draw();
30
50
  });
@@ -32,34 +52,36 @@ let PerformanceHiloComponent = class PerformanceHiloComponent {
32
52
  onBind(data) {
33
53
  //this.gauge?.destroy();
34
54
  this.chart?.destroy();
55
+ this.data = null;
35
56
  if (!data.length)
36
57
  return;
37
58
  let accumStd = 0, countStd = 0, accumDuration = 0;
38
- this.maxStd = 0, this.minStd = 0, this.maxDuration = 0, this.minDuration = data[0].durationLow;
59
+ this.standardMax = 0, this.standardMin = 0, this.durationMax = 0, this.durationMin = data[0].durationLow;
39
60
  data.forEach(e => {
40
61
  if (e.standardAvg) {
41
- if (e.standardHigh > this.maxStd)
42
- this.maxStd = e.standardHigh;
43
- if (e.standardLow < this.minStd || this.minStd === 0)
44
- this.minStd = e.standardLow;
62
+ if (e.standardHigh > this.standardMax)
63
+ this.standardMax = e.standardHigh;
64
+ if (e.standardLow < this.standardMin || this.standardMin === 0)
65
+ this.standardMin = e.standardLow;
45
66
  countStd++;
46
67
  accumStd += e.standardAvg;
47
68
  }
48
69
  accumDuration += e.durationAvg;
49
- if (e.durationHigh > this.maxDuration)
50
- this.maxDuration = e.durationHigh;
51
- if (e.durationLow < this.minDuration)
52
- this.minDuration = e.durationLow;
70
+ if (e.durationHigh > this.durationMax)
71
+ this.durationMax = e.durationHigh;
72
+ if (e.durationLow < this.durationMin)
73
+ this.durationMin = e.durationLow;
53
74
  });
54
- this.stdAvg = countStd ? accumStd / countStd : 0,
75
+ this.standardAvg = countStd ? accumStd / countStd : 0,
55
76
  this.durationAvg = accumDuration / data.length;
56
77
  this._accounts.getAll(data.map(e => e.userId)).
57
78
  subscribe(users => {
58
79
  this.data = data.map((d, i) => {
59
- const durationDev = d.durationAvg / this.durationAvg, standardDev = this.stdAvg ? d.durationAvg / this.stdAvg : 0;
80
+ let durationDev = d.durationAvg / this.durationAvg, standardDev = d.standardAvg ?
81
+ d.durationAvg / d.standardAvg : 0;
60
82
  return ({
61
- durationDev,
62
- standardDev,
83
+ durationDev: Math.round(durationDev > 1 ? (durationDev - 1) * 100 : -durationDev * 100),
84
+ standardDev: Math.round(standardDev > 1 ? (standardDev - 1) * 100 : -standardDev * 100),
63
85
  ...d,
64
86
  name: users[i].name,
65
87
  values: [d.standardHigh, d.durationHigh, d.durationAvg, d.durationLow, d.standardLow]
@@ -69,15 +91,79 @@ let PerformanceHiloComponent = class PerformanceHiloComponent {
69
91
  });
70
92
  }
71
93
  onExport() {
72
- this.chart?.export('XLSX', this._reportRef.name);
94
+ const book = new Workbook({
95
+ worksheets: [
96
+ {
97
+ enableRtl: this._session.inverse,
98
+ name: this._translate.get('SheetN', 1),
99
+ columns: [
100
+ { index: 1, width: 250 },
101
+ { index: 2, width: 150 },
102
+ { index: 3, width: 150 },
103
+ ],
104
+ rows: [{
105
+ index: 1,
106
+ cells: [{
107
+ index: 1,
108
+ type: 'text',
109
+ value: this._translate.get('Name'),
110
+ bold: true
111
+ }, {
112
+ index: 2,
113
+ type: 'time',
114
+ value: this._translate.get('Duration'),
115
+ bold: true
116
+ }, {
117
+ index: 3,
118
+ type: 'text',
119
+ value: this._translate.get('Deviation'),
120
+ bold: true
121
+ },
122
+ ]
123
+ }, ...this.data.map((r, i) => ({
124
+ index: 2 + i,
125
+ cells: [
126
+ {
127
+ type: 'text',
128
+ index: 1,
129
+ value: r.name,
130
+ style: {
131
+ hAlign: 'left'
132
+ }
133
+ },
134
+ {
135
+ type: 'text',
136
+ index: 2,
137
+ value: dayjs.duration(r.durationAvg, 's').format('DD:HH:mm'),
138
+ style: {
139
+ hAlign: 'right',
140
+ }
141
+ },
142
+ {
143
+ type: 'number',
144
+ index: 3,
145
+ value: r.durationDev,
146
+ style: {
147
+ hAlign: 'right',
148
+ }
149
+ }
150
+ ]
151
+ }))],
152
+ },
153
+ ],
154
+ }, 'xlsx');
155
+ book.save(`${this._reportRef.name}.xlsx`);
73
156
  }
74
157
  _draw() {
75
158
  this.chart?.destroy();
76
159
  //const colors = this._session.accentPalette;
160
+ //while(this.palette.length< data.length)
161
+ //this.palette.push([...colors]);
77
162
  //this.gauge?.destroy();
163
+ //this.title = this._translate.get('AverageValue', dayjs.duration(this.durationAvg, 'seconds').format('DD:HH:mm'));
78
164
  //this.gauge = new CircularGauge({
79
165
  // theme: this.theme,
80
- // title: this._translate.get('AverageValue', dayjs.duration(this.durationAvg, 'seconds').format('DD:HH:mm')),
166
+ // title: this.title,
81
167
  // titleStyle: this.titleStyle,
82
168
  // tooltip: this.tooltip,
83
169
  // axes: [{
@@ -94,33 +180,23 @@ let PerformanceHiloComponent = class PerformanceHiloComponent {
94
180
  // startWidth: 3,
95
181
  // endWidth: 3,
96
182
  // start: this.minDuration,
97
- // end: this.stdAvg ? Math.floor(e.durationAvg / this.stdAvg) : Math.floor(e.durationAvg / this.durationAvg),
98
- // color: colors[Math.floor((i + 9) / i)]
183
+ // end: this.stdAvg ? Math.floor(e.durationAvg / this.standardAvg) : Math.floor(e.durationAvg / this.durationAvg),
184
+ // color: this.accentPalette[Math.floor((i + 9) / i)]
99
185
  // } as RangeModel))
100
186
  // }],
101
187
  // tooltipRender: this.tooltipRender.bind(this),
102
188
  // legendSettings: this.legendSettings,
103
- // enableRtl: this._session.inverse,
189
+ // enableRtl: this.enableRtl,
104
190
  // height: '100%',
105
191
  //},
106
192
  // this._elementRef.nativeElement);
193
+ const [stripLine] = this.primaryYAxis.stripLines;
194
+ stripLine.start = this.standardMin,
195
+ stripLine.end = this.standardMax;
107
196
  this.chart = new Chart({
108
- primaryYAxis: {
109
- stripLines: [{
110
- text: this._translate.get('Standard'),
111
- textStyle: {
112
- fontFamily: FONT_FAMILY,
113
- },
114
- opacity: .8,
115
- start: this.minStd,
116
- end: this.maxStd,
117
- }]
118
- },
119
- primaryXAxis: {
120
- valueType: 'Category'
121
- },
122
- tooltip: { enable: true },
123
- tooltipRender: this.tooltipRender.bind(this),
197
+ primaryYAxis: this.primaryYAxis,
198
+ primaryXAxis: this.primaryXAxis,
199
+ tooltip: this.tooltip,
124
200
  series: [{
125
201
  type: 'BoxAndWhisker',
126
202
  dataSource: this.data,
@@ -129,6 +205,7 @@ let PerformanceHiloComponent = class PerformanceHiloComponent {
129
205
  xName: 'name',
130
206
  yName: 'values'
131
207
  }, {
208
+ name: this._translate.get('Average'),
132
209
  type: 'Spline',
133
210
  dataSource: this.data,
134
211
  xName: 'name',
@@ -138,10 +215,10 @@ let PerformanceHiloComponent = class PerformanceHiloComponent {
138
215
  }],
139
216
  height: '100%',
140
217
  axisLabelRender: this.axisLabelRender.bind(this),
218
+ tooltipRender: this.tooltipRender.bind(this),
141
219
  enableExport: true,
142
- palettes: [
143
- this._session.getAccent(), this._session.getPrimery()
144
- ]
220
+ enableRtl: this.enableRtl,
221
+ palettes: this.palettes
145
222
  }, this._elementRef.nativeElement);
146
223
  }
147
224
  axisLabelRender(evt) {
@@ -151,15 +228,14 @@ let PerformanceHiloComponent = class PerformanceHiloComponent {
151
228
  tooltipRender(evt) {
152
229
  //evt.content = dayjs.duration(evt.range.end, 's').humanize();// 'DD:HH:mm'
153
230
  if (evt.data.seriesIndex === 0) {
154
- const [standardHigh, durationHigh, durationAvg, durationLow, standardLow] = evt.point.y;
155
- evt.text = dayjs.duration(durationHigh, 's').format('DD:HH:mm');
156
- if (standardHigh) {
157
- const deviation = Math.round(this.data[evt.data.pointIndex].standardDev);
231
+ const [standardHigh, durationHigh, durationAvg, durationLow, standardLow] = evt.point.y, { standardDev, durationDev } = this.data[evt.data.pointIndex];
232
+ evt.text = dayjs.duration(durationAvg, 's').
233
+ format('DD:HH:mm');
234
+ const deviation = Math.round(standardHigh ? standardDev : durationDev);
235
+ if (deviation !== 0)
158
236
  evt.text += ` ${deviation}%`;
159
- }
160
237
  }
161
238
  else {
162
- evt.headerText = this._translate.get('Average');
163
239
  evt.text = dayjs.duration(evt.data.pointY, 's').format('DD:HH:mm');
164
240
  }
165
241
  }
@@ -168,8 +244,8 @@ let PerformanceHiloComponent = class PerformanceHiloComponent {
168
244
  this.chart?.destroy();
169
245
  this._destroy.next();
170
246
  }
171
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: PerformanceHiloComponent, deps: [{ token: i0.ElementRef }, { token: i1.AccountService }, { token: i2.SessionService }, { token: i3.TranslateService }, { token: i4.ReportRef }], target: i0.ɵɵFactoryTarget.Component }); }
172
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.2", type: PerformanceHiloComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true, styles: [":host{flex:1}\n"] }); }
247
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: PerformanceHiloComponent, deps: [{ token: i0.ElementRef }, { token: i1.AccountService }, { token: i2.SessionService }, { token: i3.TranslateService }, { token: i4.ReportRef }], target: i0.ɵɵFactoryTarget.Component }); }
248
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: PerformanceHiloComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true, styles: [":host{flex:1}\n"] }); }
173
249
  };
174
250
  PerformanceHiloComponent = __decorate([
175
251
  BizDoc({
@@ -177,8 +253,8 @@ PerformanceHiloComponent = __decorate([
177
253
  })
178
254
  ], PerformanceHiloComponent);
179
255
  export { PerformanceHiloComponent };
180
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.2", ngImport: i0, type: PerformanceHiloComponent, decorators: [{
256
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: PerformanceHiloComponent, decorators: [{
181
257
  type: Component,
182
258
  args: [{ template: '', styles: [":host{flex:1}\n"] }]
183
259
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.AccountService }, { type: i2.SessionService }, { type: i3.TranslateService }, { type: i4.ReportRef }] });
184
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZm9ybWFuY2UtaGlsby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL3JlcG9ydHMvY3ViZS9wZXJmb3JtYW5jZS1oaWxvLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JELGtFQUFrRTtBQUNsRSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBTS9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoRCwrTEFBK0w7QUFDL0wsT0FBTyxFQUFFLEtBQUssRUFBc0QsTUFBTSxnQ0FBZ0MsQ0FBQzs7Ozs7O0FBVXBHLElBQU0sd0JBQXdCLEdBQTlCLE1BQU0sd0JBQXdCO0lBaUJuQyxZQUNVLFdBQXVDLEVBQ3ZDLFNBQXlCLEVBQ3pCLFFBQXdCLEVBQ3hCLFVBQTRCLEVBQzFCLFVBQStDO1FBSmpELGdCQUFXLEdBQVgsV0FBVyxDQUE0QjtRQUN2QyxjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQUN6QixhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUN4QixlQUFVLEdBQVYsVUFBVSxDQUFrQjtRQUMxQixlQUFVLEdBQVYsVUFBVSxDQUFxQztRQVpsRCxlQUFVLEdBQUc7WUFDcEIsVUFBVSxFQUFFLFdBQVc7U0FDeEIsQ0FBQztRQUNlLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBVzlDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFL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LHdCQUF3QjtJQUhwQyxNQUFNLENBQUM7UUFDTixRQUFRLEVBQUUseUJBQXlCO0tBQ3BDLENBQUM7R0FDVyx3QkFBd0IsQ0EwS3BDOzsyRkExS1ksd0JBQXdCO2tCQVBwQyxTQUFTOytCQUNFLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBzdGFydFdpdGgsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi9ub2RlX21vZHVsZXMvZGF5anMvcGx1Z2luL2R1cmF0aW9uLmQudHNcIiAvPlxyXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMnO1xyXG5pbXBvcnQgeyBSZXBvcnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb3JlL2Jhc2UnO1xyXG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvYWNjb3VudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEF4ZXNNYXAsIFVzZXJJbmZvIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS90cmFuc2xhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IEZPTlRfRkFNSUxZIH0gZnJvbSAnLi4vLi4vY29yZS9jb2xvcnMnO1xyXG4vL2ltcG9ydCB7IENpcmN1bGFyR2F1Z2UsIEdhdWdlVGhlbWUsIElBeGlzTGFiZWxSZW5kZXJFdmVudEFyZ3MsIElUb29sdGlwUmVuZGVyRXZlbnRBcmdzLCBMZWdlbmRTZXR0aW5nc01vZGVsLCBSYW5nZU1vZGVsLCBUb29sdGlwU2V0dGluZ3NNb2RlbCB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWNpcmN1bGFyZ2F1Z2UnO1xyXG5pbXBvcnQgeyBDaGFydCwgSUF4aXNMYWJlbFJlbmRlckV2ZW50QXJncywgSVRvb2x0aXBSZW5kZXJFdmVudEFyZ3MgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1jaGFydHMnO1xyXG5pbXBvcnQgeyBSZXBvcnRSZWYgfSBmcm9tICcuLi9yZXBvcnQtcmVmJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiAnJyxcclxuICBzdHlsZXM6IGA6aG9zdCB7ZmxleDogMX1gXHJcbn0pXHJcbkBCaXpEb2Moe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLXBlcmZvcm1hbmNlLWhpbG8nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQZXJmb3JtYW5jZUhpbG9Db21wb25lbnQgaW1wbGVtZW50cyBSZXBvcnRDb21wb25lbnQ8TW9kZWw+LCBPbkRlc3Ryb3kge1xyXG4gIC8vdGhlbWU6IEdhdWdlVGhlbWU7XHJcbiAgLy9nYXVnZTogQ2lyY3VsYXJHYXVnZTtcclxuICBkdXJhdGlvbkF2ZzogbnVtYmVyO1xyXG4gIHN0ZEF2ZzogbnVtYmVyO1xyXG4gIG1heFN0ZDogbnVtYmVyO1xyXG4gIG1pblN0ZDogbnVtYmVyO1xyXG4gIG1pbkR1cmF0aW9uOiBudW1iZXI7XHJcbiAgbWF4RHVyYXRpb246IG51bWJlcjtcclxuICBkYXRhOiBJdGVtW107XHJcbiAgcmVhZG9ubHkgdGl0bGVTdHlsZSA9IHtcclxuICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZXHJcbiAgfTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAvL3JlYWRvbmx5IGxlZ2VuZFNldHRpbmdzOiBMZWdlbmRTZXR0aW5nc01vZGVsID0ge307XHJcbiAgLy9yZWFkb25seSB0b29sdGlwOiBUb29sdGlwU2V0dGluZ3NNb2RlbCA9IHt9O1xyXG4gIGNoYXJ0OiBDaGFydDtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+LFxyXG4gICAgcHJpdmF0ZSBfYWNjb3VudHM6IEFjY291bnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICAgIHByaXZhdGUgX3JlcG9ydFJlZjogUmVwb3J0UmVmPFBlcmZvcm1hbmNlU2V0dGluZ3NNb2RlbD5cclxuICApIHtcclxuICAgIF9zZXNzaW9uLnRoZW1lQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpLCBzdGFydFdpdGgoX3Nlc3Npb24udGhlbWUpKS5zdWJzY3JpYmUodCA9PiB7XHJcbiAgICAgIC8vdGhpcy50aGVtZSA9IHQuZGFyayA/ICdNYXRlcmlhbDNEYXJrJyA6ICdNYXRlcmlhbDMnO1xyXG4gICAgICAvL3RoaXMuZ2F1Z2UgJiYgdGhpcy5fZHJhdygpO1xyXG4gICAgICB0aGlzLmNoYXJ0ICYmIHRoaXMuX2RyYXcoKTtcclxuICAgIH0pXHJcbiAgfVxyXG4gIG9uQmluZChkYXRhOiBNb2RlbFtdKSB7XHJcbiAgICAvL3RoaXMuZ2F1Z2U/LmRlc3Ryb3koKTtcclxuICAgIHRoaXMuY2hhcnQ/LmRlc3Ryb3koKTtcclxuICAgIGlmICghZGF0YS5sZW5ndGgpIHJldHVybjtcclxuICAgIGxldCBhY2N1bVN0ZCA9IDAsIGNvdW50U3RkID0gMCwgYWNjdW1EdXJhdGlvbiA9IDA7XHJcbiAgICB0aGlzLm1heFN0ZCA9IDAsIHRoaXMubWluU3RkID0gMCwgdGhpcy5tYXhEdXJhdGlvbiA9IDAsIHRoaXMubWluRHVyYXRpb24gPSBkYXRhWzBdLmR1cmF0aW9uTG93O1xyXG4gICAgZGF0YS5mb3JFYWNoKGUgPT4ge1xyXG4gICAgICBpZiAoZS5zdGFuZGFyZEF2Zykge1xyXG4gICAgICAgIGlmIChlLnN0YW5kYXJkSGlnaCA+IHRoaXMubWF4U3RkKVxyXG4gICAgICAgICAgdGhpcy5tYXhTdGQgPSBlLnN0YW5kYXJkSGlnaDtcclxuICAgICAgICBpZiAoZS5zdGFuZGFyZExvdyA8IHRoaXMubWluU3RkIHx8IHRoaXMubWluU3RkID09PSAwKVxyXG4gICAgICAgICAgdGhpcy5taW5TdGQgPSBlLnN0YW5kYXJkTG93O1xyXG4gICAgICAgIGNvdW50U3RkKys7XHJcbiAgICAgICAgYWNjdW1TdGQgKz0gZS5zdGFuZGFyZEF2ZztcclxuICAgICAgfVxyXG4gICAgICBhY2N1bUR1cmF0aW9uICs9IGUuZHVyYXRpb25Bdmc7XHJcbiAgICAgIGlmIChlLmR1cmF0aW9uSGlnaCA+IHRoaXMubWF4RHVyYXRpb24pXHJcbiAgICAgICAgdGhpcy5tYXhEdXJhdGlvbiA9IGUuZHVyYXRpb25IaWdoO1xyXG4gICAgICBpZiAoZS5kdXJhdGlvbkxvdyA8IHRoaXMubWluRHVyYXRpb24pXHJcbiAgICAgICAgdGhpcy5taW5EdXJhdGlvbiA9IGUuZHVyYXRpb25Mb3c7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc3RkQXZnID0gY291bnRTdGQgPyBhY2N1bVN0ZCAvIGNvdW50U3RkIDogMCxcclxuICAgICAgdGhpcy5kdXJhdGlvbkF2ZyA9IGFjY3VtRHVyYXRpb24gLyBkYXRhLmxlbmd0aDtcclxuICAgIHRoaXMuX2FjY291bnRzLmdldEFsbChkYXRhLm1hcChlID0+IGUudXNlcklkKSkuXHJcbiAgICAgIHN1YnNjcmliZSh1c2VycyA9PiB7XHJcbiAgICAgICAgdGhpcy5kYXRhID0gZGF0YS5tYXAoKGQsIGkpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGR1cmF0aW9uRGV2ID0gZC5kdXJhdGlvbkF2ZyAvIHRoaXMuZHVyYXRpb25BdmcsXHJcbiAgICAgICAgICAgIHN0YW5kYXJkRGV2ID0gdGhpcy5zdGRBdmcgPyBkLmR1cmF0aW9uQXZnIC8gdGhpcy5zdGRBdmcgOiAwO1xyXG5cclxuICAgICAgICAgIHJldHVybiAoe1xyXG4gICAgICAgICAgICBkdXJhdGlvbkRldixcclxuICAgICAgICAgICAgc3RhbmRhcmREZXYsXHJcbiAgICAgICAgICAgIC4uLmQsXHJcbiAgICAgICAgICAgIG5hbWU6IHVzZXJzW2ldLm5hbWUsXHJcbiAgICAgICAgICAgIHZhbHVlczogW2Quc3RhbmRhcmRIaWdoLCBkLmR1cmF0aW9uSGlnaCwgZC5kdXJhdGlvbkF2ZywgZC5kdXJhdGlvbkxvdywgZC5zdGFuZGFyZExvd11cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuX2RyYXcoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIG9uRXhwb3J0KCkge1xyXG4gICAgdGhpcy5jaGFydD8uZXhwb3J0KCdYTFNYJywgdGhpcy5fcmVwb3J0UmVmLm5hbWUpO1xyXG4gIH1cclxuICBwcml2YXRlIF9kcmF3KCkge1xyXG4gICAgdGhpcy5jaGFydD8uZGVzdHJveSgpO1xyXG4gICAgLy9jb25zdCBjb2xvcnMgPSB0aGlzLl9zZXNzaW9uLmFjY2VudFBhbGV0dGU7XHJcbiAgICAvL3RoaXMuZ2F1Z2U/LmRlc3Ryb3koKTtcclxuICAgIC8vdGhpcy5nYXVnZSA9IG5ldyBDaXJjdWxhckdhdWdlKHtcclxuICAgIC8vICB0aGVtZTogdGhpcy50aGVtZSxcclxuICAgIC8vICB0aXRsZTogdGhpcy5fdHJhbnNsYXRlLmdldCgnQXZlcmFnZVZhbHVlJywgZGF5anMuZHVyYXRpb24odGhpcy5kdXJhdGlvbkF2ZywgJ3NlY29uZHMnKS5mb3JtYXQoJ0REOkhIOm1tJykpLFxyXG4gICAgLy8gIHRpdGxlU3R5bGU6IHRoaXMudGl0bGVTdHlsZSxcclxuICAgIC8vICB0b29sdGlwOiB0aGlzLnRvb2x0aXAsXHJcbiAgICAvLyAgYXhlczogW3tcclxuICAgIC8vICAgIHN0YXJ0QW5nbGU6IDI3MCxcclxuICAgIC8vICAgIGVuZEFuZ2xlOiA5MCxcclxuICAgIC8vICAgIHBvaW50ZXJzOiBbe1xyXG4gICAgLy8gICAgICB0ZXh0OiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdTdGFuZGFyZCcpLFxyXG4gICAgLy8gICAgICBjb2xvcjogdGhpcy5fc2Vzc2lvbi5nZXRQcmltZXJ5KCksXHJcbiAgICAvLyAgICAgIHZhbHVlOiB0aGlzLnN0ZEF2Z1xyXG4gICAgLy8gICAgfV0sXHJcbiAgICAvLyAgICByYW5nZXM6IHRoaXMuZGF0YS5tYXAoKGUsIGkpID0+ICh7XHJcbiAgICAvLyAgICAgIGxlZ2VuZFRleHQ6IGUubmFtZSxcclxuICAgIC8vICAgICAgcmFkaXVzOiBgJHsxMDAgLSBpICogNX0lYCxcclxuICAgIC8vICAgICAgc3RhcnRXaWR0aDogMyxcclxuICAgIC8vICAgICAgZW5kV2lkdGg6IDMsXHJcbiAgICAvLyAgICAgIHN0YXJ0OiB0aGlzLm1pbkR1cmF0aW9uLFxyXG4gICAgLy8gICAgICBlbmQ6IHRoaXMuc3RkQXZnID8gTWF0aC5mbG9vcihlLmR1cmF0aW9uQXZnIC8gdGhpcy5zdGRBdmcpIDogTWF0aC5mbG9vcihlLmR1cmF0aW9uQXZnIC8gdGhpcy5kdXJhdGlvbkF2ZyksXHJcbiAgICAvLyAgICAgIGNvbG9yOiBjb2xvcnNbTWF0aC5mbG9vcigoaSArIDkpIC8gaSldXHJcbiAgICAvLyAgICB9IGFzIFJhbmdlTW9kZWwpKVxyXG4gICAgLy8gIH1dLFxyXG4gICAgLy8gIHRvb2x0aXBSZW5kZXI6IHRoaXMudG9vbHRpcFJlbmRlci5iaW5kKHRoaXMpLFxyXG4gICAgLy8gIGxlZ2VuZFNldHRpbmdzOiB0aGlzLmxlZ2VuZFNldHRpbmdzLFxyXG4gICAgLy8gIGVuYWJsZVJ0bDogdGhpcy5fc2Vzc2lvbi5pbnZlcnNlLFxyXG4gICAgLy8gIGhlaWdodDogJzEwMCUnLFxyXG4gICAgLy99LFxyXG4gICAgLy8gIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgICB0aGlzLmNoYXJ0ID0gbmV3IENoYXJ0KHtcclxuICAgICAgcHJpbWFyeVlBeGlzOiB7XHJcbiAgICAgICAgc3RyaXBMaW5lczogW3tcclxuICAgICAgICAgIHRleHQ6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1N0YW5kYXJkJyksXHJcbiAgICAgICAgICB0ZXh0U3R5bGU6IHtcclxuICAgICAgICAgICAgZm9udEZhbWlseTogRk9OVF9GQU1JTFksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgb3BhY2l0eTogLjgsXHJcbiAgICAgICAgICBzdGFydDogdGhpcy5taW5TdGQsXHJcbiAgICAgICAgICBlbmQ6IHRoaXMubWF4U3RkLFxyXG4gICAgICAgIH1dXHJcbiAgICAgIH0sXHJcbiAgICAgIHByaW1hcnlYQXhpczoge1xyXG4gICAgICAgIHZhbHVlVHlwZTogJ0NhdGVnb3J5J1xyXG4gICAgICB9LFxyXG4gICAgICB0b29sdGlwOiB7IGVuYWJsZTogdHJ1ZSB9LFxyXG4gICAgICB0b29sdGlwUmVuZGVyOiB0aGlzLnRvb2x0aXBSZW5kZXIuYmluZCh0aGlzKSxcclxuICAgICAgc2VyaWVzOiBbe1xyXG4gICAgICAgIHR5cGU6ICdCb3hBbmRXaGlza2VyJyxcclxuICAgICAgICBkYXRhU291cmNlOiB0aGlzLmRhdGEsXHJcbiAgICAgICAgYm94UGxvdE1vZGU6ICdOb3JtYWwnLFxyXG4gICAgICAgIGVuYWJsZVRvb2x0aXA6IHRydWUsXHJcbiAgICAgICAgeE5hbWU6ICduYW1lJyxcclxuICAgICAgICB5TmFtZTogJ3ZhbHVlcydcclxuICAgICAgfSwge1xyXG4gICAgICAgIHR5cGU6ICdTcGxpbmUnLFxyXG4gICAgICAgIGRhdGFTb3VyY2U6IHRoaXMuZGF0YSxcclxuICAgICAgICB4TmFtZTogJ25hbWUnLFxyXG4gICAgICAgIHdpZHRoOiAzLFxyXG4gICAgICAgIGRhc2hBcnJheTogJzMgMicsXHJcbiAgICAgICAgeU5hbWU6ICdkdXJhdGlvbkF2ZycsXHJcbiAgICAgIH1dLFxyXG4gICAgICBoZWlnaHQ6ICcxMDAlJyxcclxuICAgICAgYXhpc0xhYmVsUmVuZGVyOiB0aGlzLmF4aXNMYWJlbFJlbmRlci5iaW5kKHRoaXMpLFxyXG4gICAgICBlbmFibGVFeHBvcnQ6IHRydWUsXHJcbiAgICAgIHBhbGV0dGVzOiBbXHJcbiAgICAgICAgdGhpcy5fc2Vzc2lvbi5nZXRBY2NlbnQoKSwgdGhpcy5fc2Vzc2lvbi5nZXRQcmltZXJ5KCldXHJcbiAgICB9LFxyXG4gICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxuICBheGlzTGFiZWxSZW5kZXIoZXZ0OiBJQXhpc0xhYmVsUmVuZGVyRXZlbnRBcmdzKSB7XHJcbiAgICBpZiAoZXZ0LmF4aXMubmFtZSA9PT0gJ3ByaW1hcnlZQXhpcycpXHJcbiAgICAgIGV2dC50ZXh0ID0gZGF5anMuZHVyYXRpb24oZXZ0LnZhbHVlLCAncycpLmh1bWFuaXplKCk7Ly8gJ0REOkhIOm1tJ1xyXG4gIH1cclxuICB0b29sdGlwUmVuZGVyKGV2dDogSVRvb2x0aXBSZW5kZXJFdmVudEFyZ3MpIHtcclxuICAgIC8vZXZ0LmNvbnRlbnQgPSBkYXlqcy5kdXJhdGlvbihldnQucmFuZ2UuZW5kLCAncycpLmh1bWFuaXplKCk7Ly8gJ0REOkhIOm1tJ1xyXG4gICAgaWYgKGV2dC5kYXRhLnNlcmllc0luZGV4ID09PSAwKSB7XHJcbiAgICAgIGNvbnN0IFtzdGFuZGFyZEhpZ2gsIGR1cmF0aW9uSGlnaCwgZHVyYXRpb25BdmcsIGR1cmF0aW9uTG93LCBzdGFuZGFyZExvd10gPSBldnQucG9pbnQueSBhcyBudW1iZXJbXTtcclxuICAgICAgZXZ0LnRleHQgPSBkYXlqcy5kdXJhdGlvbihkdXJhdGlvbkhpZ2gsICdzJykuZm9ybWF0KCdERDpISDptbScpO1xyXG4gICAgICBpZiAoc3RhbmRhcmRIaWdoKSB7XHJcbiAgICAgICAgY29uc3QgZGV2aWF0aW9uID0gTWF0aC5yb3VuZCh0aGlzLmRhdGFbZXZ0LmRhdGEucG9pbnRJbmRleF0uc3RhbmRhcmREZXYpO1xyXG4gICAgICAgIGV2dC50ZXh0ICs9IGAgJHtkZXZpYXRpb259JWBcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIGV2dC5oZWFkZXJUZXh0ID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnQXZlcmFnZScpO1xyXG4gICAgICBldnQudGV4dCA9IGRheWpzLmR1cmF0aW9uKGV2dC5kYXRhLnBvaW50WSBhcyBhbnksICdzJykuZm9ybWF0KCdERDpISDptbScpO1xyXG4gICAgfVxyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIC8vdGhpcy5nYXVnZT8uZGVzdHJveSgpO1xyXG4gICAgdGhpcy5jaGFydD8uZGVzdHJveSgpO1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgfVxyXG59XHJcblxyXG5pbnRlcmZhY2UgTW9kZWwge1xyXG4gIHVzZXJJZDogc3RyaW5nO1xyXG4gIHN0YW5kYXJkQXZnOiBudW1iZXI7XHJcbiAgc3RhbmRhcmRIaWdoOiBudW1iZXI7XHJcbiAgc3RhbmRhcmRMb3c6IG51bWJlcjtcclxuICBkdXJhdGlvbkF2ZzogbnVtYmVyO1xyXG4gIGR1cmF0aW9uSGlnaDogbnVtYmVyO1xyXG4gIGR1cmF0aW9uTG93OiBudW1iZXI7XHJcbn1cclxudHlwZSBJdGVtID0gTW9kZWwgJiB7XHJcbiAgc3RhbmRhcmREZXY/OiBudW1iZXI7XHJcbiAgZHVyYXRpb25EZXY6IG51bWJlcjtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdmFsdWVzOiBudW1iZXJbXVxyXG59O1xyXG5pbnRlcmZhY2UgUGVyZm9ybWFuY2VTZXR0aW5nc01vZGVsIHtcclxuICBjdWJlPzogc3RyaW5nO1xyXG4gIGZpbHRlcnM/OiBBeGVzTWFwO1xyXG59XHJcbiJdfQ==
260
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVyZm9ybWFuY2UtaGlsby5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL3JlcG9ydHMvY3ViZS9wZXJmb3JtYW5jZS1oaWxvLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBeUIsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JELGtFQUFrRTtBQUNsRSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFhLEtBQUssRUFBZ0csTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoSywrTEFBK0w7QUFDL0wsT0FBTyxFQUFFLFFBQVEsRUFBMEIsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFNL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7QUFVekMsSUFBTSx3QkFBd0IsR0FBOUIsTUFBTSx3QkFBd0I7SUFpQ25DLFlBQ1UsV0FBdUMsRUFDdkMsU0FBeUIsRUFDekIsUUFBd0IsRUFDeEIsVUFBNEIsRUFDNUIsVUFBK0M7UUFKL0MsZ0JBQVcsR0FBWCxXQUFXLENBQTRCO1FBQ3ZDLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBQ3pCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLGVBQVUsR0FBVixVQUFVLENBQXFDO1FBM0JoRCxlQUFVLEdBQUc7WUFDcEIsVUFBVSxFQUFFLFdBQVc7U0FDeEIsQ0FBQztRQUNPLGlCQUFZLEdBQUc7WUFDdEIsVUFBVSxFQUFFLENBQUM7b0JBQ1gsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLFVB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QUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDdkUsSUFBSSxTQUFTLEtBQUssQ0FBQztnQkFDakIsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLFNBQVMsR0FBRyxDQUFBO1FBQ2hDLENBQUM7YUFDSSxDQUFDO1lBQ0osR0FBRyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBYSxFQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM1RSxDQUFDO0lBQ0gsQ0FBQztJQUNELFdBQVc7UUFDVCx3QkFBd0I7UUFDeEIsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7OEdBNVBVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLG9EQU56QixFQUFFOztBQU1ELHdCQUF3QjtJQUhwQyxNQUFNLENBQUM7UUFDTixRQUFRLEVBQUUseUJBQXlCO0tBQ3BDLENBQUM7R0FDVyx3QkFBd0IsQ0E2UHBDOzsyRkE3UFksd0JBQXdCO2tCQVBwQyxTQUFTOytCQUNFLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBzdGFydFdpdGgsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi9ub2RlX21vZHVsZXMvZGF5anMvcGx1Z2luL2R1cmF0aW9uLmQudHNcIiAvPlxyXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgeyBBeGlzTW9kZWwsIENoYXJ0LCBJQXhpc0xhYmVsUmVuZGVyRXZlbnRBcmdzLCBJVG9vbHRpcFJlbmRlckV2ZW50QXJncywgU2VyaWVzVG9vbHRpcE1vZGVsLCBUb29sdGlwU2V0dGluZ3NNb2RlbCB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWNoYXJ0cyc7XHJcbi8vaW1wb3J0IHsgQ2lyY3VsYXJHYXVnZSwgR2F1Z2VUaGVtZSwgSUF4aXNMYWJlbFJlbmRlckV2ZW50QXJncywgSVRvb2x0aXBSZW5kZXJFdmVudEFyZ3MsIExlZ2VuZFNldHRpbmdzTW9kZWwsIFJhbmdlTW9kZWwsIFRvb2x0aXBTZXR0aW5nc01vZGVsIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItY2lyY3VsYXJnYXVnZSc7XHJcbmltcG9ydCB7IFdvcmtib29rLCBXb3Jrc2hlZXQsIFJvdywgQ29sdW1uIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWV4Y2VsLWV4cG9ydCc7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IFJlcG9ydENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZSc7XHJcbmltcG9ydCB7IEFjY291bnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9hY2NvdW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXhlc01hcCB9IGZyb20gJy4uLy4uL2NvcmUvbW9kZWxzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGT05UX0ZBTUlMWSB9IGZyb20gJy4uLy4uL2NvcmUvY29sb3JzJztcclxuaW1wb3J0IHsgUmVwb3J0UmVmIH0gZnJvbSAnLi4vcmVwb3J0LXJlZic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogJycsXHJcbiAgc3R5bGVzOiBgOmhvc3Qge2ZsZXg6IDF9YFxyXG59KVxyXG5AQml6RG9jKHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1wZXJmb3JtYW5jZS1oaWxvJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUGVyZm9ybWFuY2VIaWxvQ29tcG9uZW50IGltcGxlbWVudHMgUmVwb3J0Q29tcG9uZW50PERhdGFNb2RlbD4sIE9uRGVzdHJveSB7XHJcbiAgdGhlbWU6ICdNYXRlcmlhbDNEYXJrJyB8ICdNYXRlcmlhbDMnO1xyXG4gIGNoYXJ0OiBDaGFydDtcclxuICAvL2dhdWdlOiBDaXJjdWxhckdhdWdlO1xyXG4gIHN0YW5kYXJkTWluOiBudW1iZXI7XHJcbiAgc3RhbmRhcmRBdmc6IG51bWJlcjtcclxuICBzdGFuZGFyZE1heDogbnVtYmVyO1xyXG4gIGR1cmF0aW9uTWluOiBudW1iZXI7XHJcbiAgZHVyYXRpb25Bdmc6IG51bWJlcjtcclxuICBkdXJhdGlvbk1heDogbnVtYmVyO1xyXG4gIGRhdGE6IEl0ZW1bXTtcclxuICByZWFkb25seSB0aXRsZVN0eWxlID0ge1xyXG4gICAgZm9udEZhbWlseTogRk9OVF9GQU1JTFlcclxuICB9O1xyXG4gIHJlYWRvbmx5IHByaW1hcnlZQXhpcyA9IHtcclxuICAgIHN0cmlwTGluZXM6IFt7XHJcbiAgICAgIHRleHQ6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1N0YW5kYXJkJyksXHJcbiAgICAgIHRleHRTdHlsZToge1xyXG4gICAgICAgIGZvbnRGYW1pbHk6IEZPTlRfRkFNSUxZLFxyXG4gICAgICB9LFxyXG4gICAgICBvcGFjaXR5OiAuOCxcclxuICAgIH1dXHJcbiAgfSBhcyBBeGlzTW9kZWw7XHJcbiAgcmVhZG9ubHkgcHJpbWFyeVhBeGlzID0ge1xyXG4gICAgdmFsdWVUeXBlOiAnQ2F0ZWdvcnknXHJcbiAgfSBhcyBBeGlzTW9kZWw7XHJcbiAgcmVhZG9ubHkgdG9vbHRpcCA9IHsgZW5hYmxlOiB0cnVlIH0gYXMgVG9vbHRpcFNldHRpbmdzTW9kZWw7XHJcbiAgcmVhZG9ubHkgZW5hYmxlUnRsID0gdGhpcy5fc2Vzc2lvbi5pbnZlcnNlO1xyXG4gIHBhbGV0dGVzOiBzdHJpbmdbXTtcclxuXHJcbiAgLy9yZWFkb25seSBsZWdlbmRTZXR0aW5nczogTGVnZW5kU2V0dGluZ3NNb2RlbCA9IHt9O1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PixcclxuICAgIHByaXZhdGUgX2FjY291bnRzOiBBY2NvdW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcmVwb3J0UmVmOiBSZXBvcnRSZWY8UGVyZm9ybWFuY2VTZXR0aW5nc01vZGVsPlxyXG4gICkge1xyXG4gICAgX3Nlc3Npb24udGhlbWVDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSksIHN0YXJ0V2l0aChfc2Vzc2lvbi50aGVtZSkpLnN1YnNjcmliZSh0ID0+IHtcclxuICAgICAgdGhpcy50aGVtZSA9IHQuZGFyayA/ICdNYXRlcmlhbDNEYXJrJyA6ICdNYXRlcmlhbDMnO1xyXG4gICAgICB0aGlzLnBhbGV0dGVzID0gW1xyXG4gICAgICAgIHRoaXMuX3Nlc3Npb24uZ2V0QWNjZW50KCksXHJcbiAgICAgICAgdGhpcy5fc2Vzc2lvbi5nZXRQcmltZXJ5KClcclxuICAgICAgXTtcclxuICAgICAgLy90aGlzLmdhdWdlICYmIHRoaXMuX2RyYXcoKTtcclxuICAgICAgdGhpcy5jaGFydCAmJiB0aGlzLl9kcmF3KCk7XHJcbiAgICB9KVxyXG4gIH1cclxuICBvbkJpbmQoZGF0YTogRGF0YU1vZGVsW10pIHtcclxuICAgIC8vdGhpcy5nYXVnZT8uZGVzdHJveSgpO1xyXG4gICAgdGhpcy5jaGFydD8uZGVzdHJveSgpO1xyXG4gICAgdGhpcy5kYXRhID0gbnVsbDtcclxuICAgIGlmICghZGF0YS5sZW5ndGgpIHJldHVybjtcclxuICAgIGxldCBhY2N1bVN0ZCA9IDAsIGNvdW50U3RkID0gMCwgYWNjdW1EdXJhdGlvbiA9IDA7XHJcbiAgICB0aGlzLnN0YW5kYXJkTWF4ID0gMCwgdGhpcy5zdGFuZGFyZE1pbiA9IDAsIHRoaXMuZHVyYXRpb25NYXggPSAwLCB0aGlzLmR1cmF0aW9uTWluID0gZGF0YVswXS5kdXJhdGlvbkxvdztcclxuICAgIGRhdGEuZm9yRWFjaChlID0+IHtcclxuICAgICAgaWYgKGUuc3RhbmRhcmRBdmcpIHtcclxuICAgICAgICBpZiAoZS5zdGFuZGFyZEhpZ2ggPiB0aGlzLnN0YW5kYXJkTWF4KVxyXG4gICAgICAgICAgdGhpcy5zdGFuZGFyZE1heCA9IGUuc3RhbmRhcmRIaWdoO1xyXG4gICAgICAgIGlmIChlLnN0YW5kYXJkTG93IDwgdGhpcy5zdGFuZGFyZE1pbiB8fCB0aGlzLnN0YW5kYXJkTWluID09PSAwKVxyXG4gICAgICAgICAgdGhpcy5zdGFuZGFyZE1pbiA9IGUuc3RhbmRhcmRMb3c7XHJcbiAgICAgICAgY291bnRTdGQrKztcclxuICAgICAgICBhY2N1bVN0ZCArPSBlLnN0YW5kYXJkQXZnO1xyXG4gICAgICB9XHJcbiAgICAgIGFjY3VtRHVyYXRpb24gKz0gZS5kdXJhdGlvbkF2ZztcclxuICAgICAgaWYgKGUuZHVyYXRpb25IaWdoID4gdGhpcy5kdXJhdGlvbk1heClcclxuICAgICAgICB0aGlzLmR1cmF0aW9uTWF4ID0gZS5kdXJhdGlvbkhpZ2g7XHJcbiAgICAgIGlmIChlLmR1cmF0aW9uTG93IDwgdGhpcy5kdXJhdGlvbk1pbilcclxuICAgICAgICB0aGlzLmR1cmF0aW9uTWluID0gZS5kdXJhdGlvbkxvdztcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zdGFuZGFyZEF2ZyA9IGNvdW50U3RkID8gYWNjdW1TdGQgLyBjb3VudFN0ZCA6IDAsXHJcbiAgICAgIHRoaXMuZHVyYXRpb25BdmcgPSBhY2N1bUR1cmF0aW9uIC8gZGF0YS5sZW5ndGg7XHJcbiAgICB0aGlzLl9hY2NvdW50cy5nZXRBbGwoZGF0YS5tYXAoZSA9PiBlLnVzZXJJZCkpLlxyXG4gICAgICBzdWJzY3JpYmUodXNlcnMgPT4ge1xyXG4gICAgICAgIHRoaXMuZGF0YSA9IGRhdGEubWFwKChkLCBpKSA9PiB7XHJcbiAgICAgICAgICBsZXQgZHVyYXRpb25EZXYgPSBkLmR1cmF0aW9uQXZnIC8gdGhpcy5kdXJhdGlvbkF2ZyxcclxuICAgICAgICAgICAgc3RhbmRhcmREZXYgPSBkLnN0YW5kYXJkQXZnID9cclxuICAgICAgICAgICAgICBkLmR1cmF0aW9uQXZnIC8gZC5zdGFuZGFyZEF2ZyA6IDA7XHJcblxyXG4gICAgICAgICAgcmV0dXJuICh7XHJcbiAgICAgICAgICAgIGR1cmF0aW9uRGV2OiBNYXRoLnJvdW5kKGR1cmF0aW9uRGV2ID4gMSA/IChkdXJhdGlvbkRldiAtIDEpICogMTAwIDogLSBkdXJhdGlvbkRldiAqIDEwMCksXHJcbiAgICAgICAgICAgIHN0YW5kYXJkRGV2OiBNYXRoLnJvdW5kKHN0YW5kYXJkRGV2ID4gMSA/IChzdGFuZGFyZERldiAtIDEpICogMTAwIDogLSBzdGFuZGFyZERldiAqIDEwMCksXHJcbiAgICAgICAgICAgIC4uLmQsXHJcbiAgICAgICAgICAgIG5hbWU6IHVzZXJzW2ldLm5hbWUsXHJcbiAgICAgICAgICAgIHZhbHVlczogW2Quc3RhbmRhcmRIaWdoLCBkLmR1cmF0aW9uSGlnaCwgZC5kdXJhdGlvbkF2ZywgZC5kdXJhdGlvbkxvdywgZC5zdGFuZGFyZExvd11cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuX2RyYXcoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIG9uRXhwb3J0KCkge1xyXG4gICAgY29uc3QgYm9vayA9IG5ldyBXb3JrYm9vayhcclxuICAgICAge1xyXG4gICAgICAgIHdvcmtzaGVldHM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgZW5hYmxlUnRsOiB0aGlzLl9zZXNzaW9uLmludmVyc2UsXHJcbiAgICAgICAgICAgIG5hbWU6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1NoZWV0TicsIDEpLFxyXG4gICAgICAgICAgICBjb2x1bW5zOiBbXHJcbiAgICAgICAgICAgICAgeyBpbmRleDogMSwgd2lkdGg6IDI1MCB9IGFzIENvbHVtbixcclxuICAgICAgICAgICAgICB7IGluZGV4OiAyLCB3aWR0aDogMTUwIH0gYXMgQ29sdW1uLFxyXG4gICAgICAgICAgICAgIHsgaW5kZXg6IDMsIHdpZHRoOiAxNTAgfSBhcyBDb2x1bW4sXHJcbiAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIHJvd3M6IFt7XHJcbiAgICAgICAgICAgICAgaW5kZXg6IDEsXHJcbiAgICAgICAgICAgICAgY2VsbHM6IFt7XHJcbiAgICAgICAgICAgICAgICBpbmRleDogMSxcclxuICAgICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdOYW1lJyksXHJcbiAgICAgICAgICAgICAgICBib2xkOiB0cnVlXHJcbiAgICAgICAgICAgICAgfSwge1xyXG4gICAgICAgICAgICAgICAgaW5kZXg6IDIsXHJcbiAgICAgICAgICAgICAgICB0eXBlOiAndGltZScsXHJcbiAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5fdHJhbnNsYXRlLmdldCgnRHVyYXRpb24nKSxcclxuICAgICAgICAgICAgICAgIGJvbGQ6IHRydWVcclxuICAgICAgICAgICAgICB9LCB7XHJcbiAgICAgICAgICAgICAgICBpbmRleDogMyxcclxuICAgICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcclxuICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdEZXZpYXRpb24nKSxcclxuICAgICAgICAgICAgICAgIGJvbGQ6IHRydWVcclxuICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgIF1cclxuICAgICAgICAgICAgfSBhcyBSb3csIC4uLnRoaXMuZGF0YS5tYXAoKHIsIGkpID0+IChcclxuICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBpbmRleDogMiArIGksXHJcbiAgICAgICAgICAgICAgICBjZWxsczogW1xyXG4gICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxyXG4gICAgICAgICAgICAgICAgICAgIGluZGV4OiAxLFxyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiByLm5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgIGhBbGlnbjogJ2xlZnQnXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxyXG4gICAgICAgICAgICAgICAgICAgIGluZGV4OiAyLFxyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBkYXlqcy5kdXJhdGlvbihyLmR1cmF0aW9uQXZnLCAncycpLmZvcm1hdCgnREQ6SEg6bW0nKSxcclxuICAgICAgICAgICAgICAgICAgICBzdHlsZToge1xyXG4gICAgICAgICAgICAgICAgICAgICAgaEFsaWduOiAncmlnaHQnLFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxyXG4gICAgICAgICAgICAgICAgICAgIGluZGV4OiAzLFxyXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiByLmR1cmF0aW9uRGV2LFxyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBoQWxpZ246ICdyaWdodCcsXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9XVxyXG4gICAgICAgICAgICAgIH0gYXMgUm93XHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICAgKV0sXHJcbiAgICAgICAgICB9IGFzIFdvcmtzaGVldCxcclxuICAgICAgICBdLFxyXG4gICAgICB9LFxyXG4gICAgICAneGxzeCdcclxuICAgICk7XHJcbiAgICBib29rLnNhdmUoYCR7dGhpcy5fcmVwb3J0UmVmLm5hbWV9Lnhsc3hgKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZHJhdygpIHtcclxuICAgIHRoaXMuY2hhcnQ/LmRlc3Ryb3koKTtcclxuICAgIC8vY29uc3QgY29sb3JzID0gdGhpcy5fc2Vzc2lvbi5hY2NlbnRQYWxldHRlO1xyXG4gICAgLy93aGlsZSh0aGlzLnBhbGV0dGUubGVuZ3RoPCBkYXRhLmxlbmd0aClcclxuICAgIC8vdGhpcy5wYWxldHRlLnB1c2goWy4uLmNvbG9yc10pO1xyXG4gICAgLy90aGlzLmdhdWdlPy5kZXN0cm95KCk7XHJcbiAgICAvL3RoaXMudGl0bGUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdBdmVyYWdlVmFsdWUnLCBkYXlqcy5kdXJhdGlvbih0aGlzLmR1cmF0aW9uQXZnLCAnc2Vjb25kcycpLmZvcm1hdCgnREQ6SEg6bW0nKSk7XHJcbiAgICAvL3RoaXMuZ2F1Z2UgPSBuZXcgQ2lyY3VsYXJHYXVnZSh7XHJcbiAgICAvLyAgdGhlbWU6IHRoaXMudGhlbWUsXHJcbiAgICAvLyAgdGl0bGU6IHRoaXMudGl0bGUsXHJcbiAgICAvLyAgdGl0bGVTdHlsZTogdGhpcy50aXRsZVN0eWxlLFxyXG4gICAgLy8gIHRvb2x0aXA6IHRoaXMudG9vbHRpcCxcclxuICAgIC8vICBheGVzOiBbe1xyXG4gICAgLy8gICAgc3RhcnRBbmdsZTogMjcwLFxyXG4gICAgLy8gICAgZW5kQW5nbGU6IDkwLFxyXG4gICAgLy8gICAgcG9pbnRlcnM6IFt7XHJcbiAgICAvLyAgICAgIHRleHQ6IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1N0YW5kYXJkJyksXHJcbiAgICAvLyAgICAgIGNvbG9yOiB0aGlzLl9zZXNzaW9uLmdldFByaW1lcnkoKSxcclxuICAgIC8vICAgICAgdmFsdWU6IHRoaXMuc3RkQXZnXHJcbiAgICAvLyAgICB9XSxcclxuICAgIC8vICAgIHJhbmdlczogdGhpcy5kYXRhLm1hcCgoZSwgaSkgPT4gKHtcclxuICAgIC8vICAgICAgbGVnZW5kVGV4dDogZS5uYW1lLFxyXG4gICAgLy8gICAgICByYWRpdXM6IGAkezEwMCAtIGkgKiA1fSVgLFxyXG4gICAgLy8gICAgICBzdGFydFdpZHRoOiAzLFxyXG4gICAgLy8gICAgICBlbmRXaWR0aDogMyxcclxuICAgIC8vICAgICAgc3RhcnQ6IHRoaXMubWluRHVyYXRpb24sXHJcbiAgICAvLyAgICAgIGVuZDogdGhpcy5zdGRBdmcgPyBNYXRoLmZsb29yKGUuZHVyYXRpb25BdmcgLyB0aGlzLnN0YW5kYXJkQXZnKSA6IE1hdGguZmxvb3IoZS5kdXJhdGlvbkF2ZyAvIHRoaXMuZHVyYXRpb25BdmcpLFxyXG4gICAgLy8gICAgICBjb2xvcjogdGhpcy5hY2NlbnRQYWxldHRlW01hdGguZmxvb3IoKGkgKyA5KSAvIGkpXVxyXG4gICAgLy8gICAgfSBhcyBSYW5nZU1vZGVsKSlcclxuICAgIC8vICB9XSxcclxuICAgIC8vICB0b29sdGlwUmVuZGVyOiB0aGlzLnRvb2x0aXBSZW5kZXIuYmluZCh0aGlzKSxcclxuICAgIC8vICBsZWdlbmRTZXR0aW5nczogdGhpcy5sZWdlbmRTZXR0aW5ncyxcclxuICAgIC8vICBlbmFibGVSdGw6IHRoaXMuZW5hYmxlUnRsLFxyXG4gICAgLy8gIGhlaWdodDogJzEwMCUnLFxyXG4gICAgLy99LFxyXG4gICAgLy8gIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgICBjb25zdCBbc3RyaXBMaW5lXSA9IHRoaXMucHJpbWFyeVlBeGlzLnN0cmlwTGluZXM7XHJcbiAgICBzdHJpcExpbmUuc3RhcnQgPSB0aGlzLnN0YW5kYXJkTWluLFxyXG4gICAgICBzdHJpcExpbmUuZW5kID0gdGhpcy5zdGFuZGFyZE1heDtcclxuICAgIHRoaXMuY2hhcnQgPSBuZXcgQ2hhcnQoe1xyXG4gICAgICBwcmltYXJ5WUF4aXM6IHRoaXMucHJpbWFyeVlBeGlzLFxyXG4gICAgICBwcmltYXJ5WEF4aXM6IHRoaXMucHJpbWFyeVhBeGlzLFxyXG4gICAgICB0b29sdGlwOiB0aGlzLnRvb2x0aXAsXHJcbiAgICAgIHNlcmllczogW3tcclxuICAgICAgICB0eXBlOiAnQm94QW5kV2hpc2tlcicsXHJcbiAgICAgICAgZGF0YVNvdXJjZTogdGhpcy5kYXRhLFxyXG4gICAgICAgIGJveFBsb3RNb2RlOiAnTm9ybWFsJyxcclxuICAgICAgICBlbmFibGVUb29sdGlwOiB0cnVlLFxyXG4gICAgICAgIHhOYW1lOiAnbmFtZScsXHJcbiAgICAgICAgeU5hbWU6ICd2YWx1ZXMnXHJcbiAgICAgIH0sIHtcclxuICAgICAgICBuYW1lOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdBdmVyYWdlJyksXHJcbiAgICAgICAgdHlwZTogJ1NwbGluZScsXHJcbiAgICAgICAgZGF0YVNvdXJjZTogdGhpcy5kYXRhLFxyXG4gICAgICAgIHhOYW1lOiAnbmFtZScsXHJcbiAgICAgICAgd2lkdGg6IDMsXHJcbiAgICAgICAgZGFzaEFycmF5OiAnMyAyJyxcclxuICAgICAgICB5TmFtZTogJ2R1cmF0aW9uQXZnJyxcclxuICAgICAgfV0sXHJcbiAgICAgIGhlaWdodDogJzEwMCUnLFxyXG4gICAgICBheGlzTGFiZWxSZW5kZXI6IHRoaXMuYXhpc0xhYmVsUmVuZGVyLmJpbmQodGhpcyksXHJcbiAgICAgIHRvb2x0aXBSZW5kZXI6IHRoaXMudG9vbHRpcFJlbmRlci5iaW5kKHRoaXMpLFxyXG4gICAgICBlbmFibGVFeHBvcnQ6IHRydWUsXHJcbiAgICAgIGVuYWJsZVJ0bDogdGhpcy5lbmFibGVSdGwsXHJcbiAgICAgIHBhbGV0dGVzOiB0aGlzLnBhbGV0dGVzXHJcbiAgICB9LFxyXG4gICAgICB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xyXG4gIH1cclxuICBheGlzTGFiZWxSZW5kZXIoZXZ0OiBJQXhpc0xhYmVsUmVuZGVyRXZlbnRBcmdzKSB7XHJcbiAgICBpZiAoZXZ0LmF4aXMubmFtZSA9PT0gJ3ByaW1hcnlZQXhpcycpXHJcbiAgICAgIGV2dC50ZXh0ID0gZGF5anMuZHVyYXRpb24oZXZ0LnZhbHVlLCAncycpLmh1bWFuaXplKCk7Ly8gJ0REOkhIOm1tJ1xyXG4gIH1cclxuICB0b29sdGlwUmVuZGVyKGV2dDogSVRvb2x0aXBSZW5kZXJFdmVudEFyZ3MpIHtcclxuICAgIC8vZXZ0LmNvbnRlbnQgPSBkYXlqcy5kdXJhdGlvbihldnQucmFuZ2UuZW5kLCAncycpLmh1bWFuaXplKCk7Ly8gJ0REOkhIOm1tJ1xyXG4gICAgaWYgKGV2dC5kYXRhLnNlcmllc0luZGV4ID09PSAwKSB7XHJcbiAgICAgIGNvbnN0IFtzdGFuZGFyZEhpZ2gsIGR1cmF0aW9uSGlnaCwgZHVyYXRpb25BdmcsIGR1cmF0aW9uTG93LCBzdGFuZGFyZExvd10gPSBldnQucG9pbnQueSBhcyBudW1iZXJbXSxcclxuICAgICAgICB7IHN0YW5kYXJkRGV2LCBkdXJhdGlvbkRldiB9ID0gdGhpcy5kYXRhW2V2dC5kYXRhLnBvaW50SW5kZXhdO1xyXG4gICAgICBldnQudGV4dCA9IGRheWpzLmR1cmF0aW9uKGR1cmF0aW9uQXZnLCAncycpLlxyXG4gICAgICAgIGZvcm1hdCgnREQ6SEg6bW0nKTtcclxuICAgICAgY29uc3QgZGV2aWF0aW9uID0gTWF0aC5yb3VuZChzdGFuZGFyZEhpZ2ggPyBzdGFuZGFyZERldiA6IGR1cmF0aW9uRGV2KTtcclxuICAgICAgaWYgKGRldmlhdGlvbiAhPT0gMClcclxuICAgICAgICBldnQudGV4dCArPSBgICR7ZGV2aWF0aW9ufSVgXHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgZXZ0LnRleHQgPSBkYXlqcy5kdXJhdGlvbihldnQuZGF0YS5wb2ludFkgYXMgYW55LCAncycpLmZvcm1hdCgnREQ6SEg6bW0nKTtcclxuICAgIH1cclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAvL3RoaXMuZ2F1Z2U/LmRlc3Ryb3koKTtcclxuICAgIHRoaXMuY2hhcnQ/LmRlc3Ryb3koKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kubmV4dCgpO1xyXG4gIH1cclxufVxyXG5cclxuaW50ZXJmYWNlIERhdGFNb2RlbCB7XHJcbiAgdXNlcklkOiBzdHJpbmc7XHJcbiAgc3RhbmRhcmRBdmc6IG51bWJlcjtcclxuICBzdGFuZGFyZEhpZ2g6IG51bWJlcjtcclxuICBzdGFuZGFyZExvdzogbnVtYmVyO1xyXG4gIGR1cmF0aW9uQXZnOiBudW1iZXI7XHJcbiAgZHVyYXRpb25IaWdoOiBudW1iZXI7XHJcbiAgZHVyYXRpb25Mb3c6IG51bWJlcjtcclxufVxyXG50eXBlIEl0ZW0gPSBEYXRhTW9kZWwgJiB7XHJcbiAgc3RhbmRhcmREZXY/OiBudW1iZXI7XHJcbiAgZHVyYXRpb25EZXY6IG51bWJlcjtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdmFsdWVzOiBudW1iZXJbXVxyXG59O1xyXG5pbnRlcmZhY2UgUGVyZm9ybWFuY2VTZXR0aW5nc01vZGVsIHtcclxuICBjdWJlPzogc3RyaW5nO1xyXG4gIGZpbHRlcnM/OiBBeGVzTWFwO1xyXG59XHJcbiJdfQ==