@bizdoc/core 2.2.3 → 2.3.5

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 (410) hide show
  1. package/assets/bizdoc-schema.json +6 -0
  2. package/assets/system/hibob.svg +7 -0
  3. package/esm2022/lib/admin/admin-dismiss.service.mjs +3 -3
  4. package/esm2022/lib/admin/admin-menu.component.mjs +3 -3
  5. package/esm2022/lib/admin/architecture/cube-axes-filter.component.mjs +3 -3
  6. package/esm2022/lib/admin/architecture/designer-element.component.mjs +15 -15
  7. package/esm2022/lib/admin/architecture/designer-privileges.component.mjs +3 -3
  8. package/esm2022/lib/admin/architecture/designer.base.mjs +9 -9
  9. package/esm2022/lib/admin/architecture/designer.component.mjs +3 -3
  10. package/esm2022/lib/admin/architecture/elements/action.component.mjs +3 -3
  11. package/esm2022/lib/admin/architecture/elements/analysis-view.component.mjs +3 -3
  12. package/esm2022/lib/admin/architecture/elements/analysis-widget.component.mjs +3 -3
  13. package/esm2022/lib/admin/architecture/elements/anomaly-rule.component.mjs +3 -3
  14. package/esm2022/lib/admin/architecture/elements/attribute.component.mjs +3 -3
  15. package/esm2022/lib/admin/architecture/elements/box-form.component.mjs +3 -3
  16. package/esm2022/lib/admin/architecture/elements/configuration-datasource.component.mjs +3 -3
  17. package/esm2022/lib/admin/architecture/elements/control.component.mjs +3 -3
  18. package/esm2022/lib/admin/architecture/elements/cube-index-utility.component.mjs +3 -3
  19. package/esm2022/lib/admin/architecture/elements/cube-view.component.mjs +3 -3
  20. package/esm2022/lib/admin/architecture/elements/cube.component.mjs +3 -3
  21. package/esm2022/lib/admin/architecture/elements/document-state-widget.component.mjs +3 -3
  22. package/esm2022/lib/admin/architecture/elements/documents-report.component.mjs +3 -3
  23. package/esm2022/lib/admin/architecture/elements/documents-widget.component.mjs +3 -3
  24. package/esm2022/lib/admin/architecture/elements/explore-view.component.mjs +3 -3
  25. package/esm2022/lib/admin/architecture/elements/folder.component.mjs +3 -3
  26. package/esm2022/lib/admin/architecture/elements/form-invite.dialog.mjs +3 -3
  27. package/esm2022/lib/admin/architecture/elements/form.component.mjs +4 -4
  28. package/esm2022/lib/admin/architecture/elements/guide.component.mjs +3 -3
  29. package/esm2022/lib/admin/architecture/elements/job.component.mjs +3 -3
  30. package/esm2022/lib/admin/architecture/elements/matrix-view.component.mjs +3 -3
  31. package/esm2022/lib/admin/architecture/elements/node.component.mjs +3 -3
  32. package/esm2022/lib/admin/architecture/elements/parallel-view.component.mjs +3 -3
  33. package/esm2022/lib/admin/architecture/elements/performance-report.component.mjs +3 -3
  34. package/esm2022/lib/admin/architecture/elements/performance-widget.component.mjs +3 -3
  35. package/esm2022/lib/admin/architecture/elements/pivot-view.component.mjs +3 -3
  36. package/esm2022/lib/admin/architecture/elements/policy.component.mjs +3 -3
  37. package/esm2022/lib/admin/architecture/elements/report.component.mjs +3 -3
  38. package/esm2022/lib/admin/architecture/elements/return-to-role-action.component.mjs +3 -3
  39. package/esm2022/lib/admin/architecture/elements/role.component.mjs +3 -3
  40. package/esm2022/lib/admin/architecture/elements/rule.component.mjs +3 -3
  41. package/esm2022/lib/admin/architecture/elements/source.component.mjs +3 -3
  42. package/esm2022/lib/admin/architecture/elements/state.component.mjs +3 -3
  43. package/esm2022/lib/admin/architecture/elements/sum-view.component.mjs +3 -3
  44. package/esm2022/lib/admin/architecture/elements/tasks-report.component.mjs +3 -3
  45. package/esm2022/lib/admin/architecture/elements/type.component.mjs +3 -3
  46. package/esm2022/lib/admin/architecture/elements/usage-report.component.mjs +3 -3
  47. package/esm2022/lib/admin/architecture/elements/utility.component.mjs +3 -3
  48. package/esm2022/lib/admin/architecture/elements/view.component.mjs +3 -3
  49. package/esm2022/lib/admin/architecture/elements/widget.component.mjs +3 -3
  50. package/esm2022/lib/admin/architecture/icon-picker.component.mjs +3 -3
  51. package/esm2022/lib/admin/core/ace.input.mjs +3 -3
  52. package/esm2022/lib/admin/core/color-picker.input.mjs +3 -3
  53. package/esm2022/lib/admin/core/localized-string.component.mjs +3 -3
  54. package/esm2022/lib/admin/core/search.input.mjs +3 -3
  55. package/esm2022/lib/admin/diff/configuration-diff.component.mjs +3 -3
  56. package/esm2022/lib/admin/document-trace/document-trace.component.mjs +6 -6
  57. package/esm2022/lib/admin/document-trace/reassign.dialog.mjs +3 -3
  58. package/esm2022/lib/admin/document-trace/trace-element.component.mjs +3 -3
  59. package/esm2022/lib/admin/form/designer/box-designer.component.mjs +6 -6
  60. package/esm2022/lib/admin/form/designer/properties.component.mjs +3 -3
  61. package/esm2022/lib/admin/form/designer/section.component.mjs +3 -3
  62. package/esm2022/lib/admin/form/designer/settings.component.mjs +3 -3
  63. package/esm2022/lib/admin/form/form.resolve.service.mjs +3 -3
  64. package/esm2022/lib/admin/form/workflow/node.component.mjs +4 -4
  65. package/esm2022/lib/admin/form/workflow/role-node.component.mjs +3 -3
  66. package/esm2022/lib/admin/form/workflow/workflow.component.mjs +5 -5
  67. package/esm2022/lib/admin/indices/manage-cube-index.component.mjs +3 -3
  68. package/esm2022/lib/admin/patterns/patterns.component.mjs +3 -3
  69. package/esm2022/lib/admin/permissions/permissions.component.mjs +3 -3
  70. package/esm2022/lib/admin/positions/positions-popup.component.mjs +3 -3
  71. package/esm2022/lib/admin/positions/positions.component.mjs +3 -3
  72. package/esm2022/lib/admin/profiler/outofoffice.component.mjs +3 -3
  73. package/esm2022/lib/admin/profiler/profiler.component.mjs +3 -3
  74. package/esm2022/lib/admin/system.service.mjs +3 -3
  75. package/esm2022/lib/admin/utility-wrapper.component.mjs +3 -3
  76. package/esm2022/lib/admin/utility.pane.component.mjs +3 -3
  77. package/esm2022/lib/app.component.mjs +6 -6
  78. package/esm2022/lib/bizdoc.module.mjs +4 -4
  79. package/esm2022/lib/browse/browse-items.component.mjs +3 -3
  80. package/esm2022/lib/browse/browse.mobile.component.mjs +3 -3
  81. package/esm2022/lib/browse/browse.pane.component.mjs +3 -3
  82. package/esm2022/lib/browse/expanded-item/expanded-item.component.mjs +3 -3
  83. package/esm2022/lib/browse/filter/filter.component.mjs +3 -3
  84. package/esm2022/lib/browse/folders-menu.component.mjs +3 -3
  85. package/esm2022/lib/chat/chat-info.mjs +3 -3
  86. package/esm2022/lib/chat/chat.mobile.component.mjs +3 -3
  87. package/esm2022/lib/chat/chat.service.mjs +3 -3
  88. package/esm2022/lib/chat/contacts.component.mjs +6 -6
  89. package/esm2022/lib/chat/contacts.pane.component.mjs +3 -3
  90. package/esm2022/lib/chat/conversation.component.mjs +3 -3
  91. package/esm2022/lib/chat/conversation.pane.component.mjs +3 -3
  92. package/esm2022/lib/compose/action/action-picker.component.mjs +3 -3
  93. package/esm2022/lib/compose/action/action.dialog.mjs +3 -3
  94. package/esm2022/lib/compose/action/action.pane.dialog.exp.mjs +3 -3
  95. package/esm2022/lib/compose/action/assign-action.component.mjs +3 -3
  96. package/esm2022/lib/compose/action/moveto-action.component.mjs +3 -3
  97. package/esm2022/lib/compose/action/return-action.component.mjs +3 -3
  98. package/esm2022/lib/compose/attachments/attachments.component.mjs +3 -3
  99. package/esm2022/lib/compose/attachments/preview/attachment-preview.component.mjs +3 -3
  100. package/esm2022/lib/compose/attachments/progress-button.directive.mjs +3 -3
  101. package/esm2022/lib/compose/box/box.component.mjs +3 -3
  102. package/esm2022/lib/compose/box/control.component.mjs +3 -3
  103. package/esm2022/lib/compose/box/row.component.mjs +3 -3
  104. package/esm2022/lib/compose/can-deactivate-changes.service.mjs +3 -3
  105. package/esm2022/lib/compose/comments/comment.component.mjs +3 -3
  106. package/esm2022/lib/compose/comments/comments.component.mjs +3 -3
  107. package/esm2022/lib/compose/comments/comments.pane.component.mjs +3 -3
  108. package/esm2022/lib/compose/comments/edit-comment.component.mjs +3 -3
  109. package/esm2022/lib/compose/comments/edits.component.mjs +3 -3
  110. package/esm2022/lib/compose/comments/quick-comment.component.exp.mjs +3 -3
  111. package/esm2022/lib/compose/comments/votes.component.mjs +3 -3
  112. package/esm2022/lib/compose/compose-resolve.service.mjs +6 -6
  113. package/esm2022/lib/compose/compose.mobile.component.mjs +3 -3
  114. package/esm2022/lib/compose/compose.pane.component.mjs +3 -3
  115. package/esm2022/lib/compose/copy/copy.dialog.mjs +3 -3
  116. package/esm2022/lib/compose/dismiss.service.mjs +3 -3
  117. package/esm2022/lib/compose/document-resolver.service.mjs +3 -3
  118. package/esm2022/lib/compose/document.component.mjs +3 -3
  119. package/esm2022/lib/compose/document.mobile.component.mjs +3 -3
  120. package/esm2022/lib/compose/document.pane.component.mjs +3 -3
  121. package/esm2022/lib/compose/events/events.component.mjs +3 -3
  122. package/esm2022/lib/compose/form-selector/form-selector.sheet.mjs +3 -3
  123. package/esm2022/lib/compose/form.component.mjs +3 -3
  124. package/esm2022/lib/compose/new-menu.component.mjs +3 -3
  125. package/esm2022/lib/compose/privilage.directive.mjs +6 -6
  126. package/esm2022/lib/compose/recipient-resolver.service.mjs +3 -3
  127. package/esm2022/lib/compose/state.component.mjs +3 -3
  128. package/esm2022/lib/compose/tag/tags.component.mjs +3 -3
  129. package/esm2022/lib/compose/trace/flow.component.mjs +3 -3
  130. package/esm2022/lib/compose/trace/people.component.mjs +3 -3
  131. package/esm2022/lib/compose/trace/trace.base.mjs +3 -3
  132. package/esm2022/lib/compose/trace/trace.component.mjs +3 -3
  133. package/esm2022/lib/compose/trace/trace.pane.component.mjs +3 -3
  134. package/esm2022/lib/compose/version-compare/version-compare.component.mjs +3 -3
  135. package/esm2022/lib/compose/version-compare/version-compare.directive.mjs +9 -9
  136. package/esm2022/lib/compose/version-compare/version.pane.component.mjs +3 -3
  137. package/esm2022/lib/core/account.service.mjs +3 -3
  138. package/esm2022/lib/core/animated-icon/animated-icon.directive.mjs +3 -3
  139. package/esm2022/lib/core/avatar/avatar.component.mjs +3 -3
  140. package/esm2022/lib/core/checkbox.mjs +3 -3
  141. package/esm2022/lib/core/component-factory-resolver.mjs +3 -3
  142. package/esm2022/lib/core/datasource.service.mjs +3 -3
  143. package/esm2022/lib/core/fields/address.designer.mjs +3 -3
  144. package/esm2022/lib/core/fields/address.field.mjs +3 -3
  145. package/esm2022/lib/core/fields/autocomplete.field.mjs +6 -6
  146. package/esm2022/lib/core/fields/checkbox.designer.mjs +3 -3
  147. package/esm2022/lib/core/fields/checkbox.field.mjs +3 -3
  148. package/esm2022/lib/core/fields/checklist.designer.mjs +3 -3
  149. package/esm2022/lib/core/fields/checklist.field.mjs +3 -3
  150. package/esm2022/lib/core/fields/date-range.designer.mjs +3 -3
  151. package/esm2022/lib/core/fields/date-range.field.mjs +3 -3
  152. package/esm2022/lib/core/fields/date.designer.mjs +3 -3
  153. package/esm2022/lib/core/fields/date.field.mjs +3 -3
  154. package/esm2022/lib/core/fields/expression.field.mjs +6 -6
  155. package/esm2022/lib/core/fields/file.designer.mjs +3 -3
  156. package/esm2022/lib/core/fields/file.field.mjs +3 -3
  157. package/esm2022/lib/core/fields/html.designer.mjs +3 -3
  158. package/esm2022/lib/core/fields/html.field.mjs +3 -3
  159. package/esm2022/lib/core/fields/input.designer.mjs +3 -3
  160. package/esm2022/lib/core/fields/input.field.mjs +3 -3
  161. package/esm2022/lib/core/fields/localized-string.field.mjs +6 -6
  162. package/esm2022/lib/core/fields/numeric.designer.mjs +3 -3
  163. package/esm2022/lib/core/fields/numeric.field.mjs +3 -3
  164. package/esm2022/lib/core/fields/options.base.mjs +6 -6
  165. package/esm2022/lib/core/fields/options.component.mjs +3 -3
  166. package/esm2022/lib/core/fields/radio-button.designer.mjs +3 -3
  167. package/esm2022/lib/core/fields/radio-button.field.mjs +3 -3
  168. package/esm2022/lib/core/fields/select.designer.mjs +3 -3
  169. package/esm2022/lib/core/fields/select.field.mjs +3 -3
  170. package/esm2022/lib/core/fields/signature.designer.mjs +3 -3
  171. package/esm2022/lib/core/fields/signature.field.mjs +4 -4
  172. package/esm2022/lib/core/fields/switch.field.mjs +3 -3
  173. package/esm2022/lib/core/fields/tags.designer.mjs +28 -0
  174. package/esm2022/lib/core/fields/tags.field.mjs +53 -0
  175. package/esm2022/lib/core/fields/textarea.designer.mjs +3 -3
  176. package/esm2022/lib/core/fields/textarea.field.mjs +3 -3
  177. package/esm2022/lib/core/fields/time.designer.mjs +3 -3
  178. package/esm2022/lib/core/fields/time.field.mjs +3 -3
  179. package/esm2022/lib/core/fields/timespan.field.mjs +6 -6
  180. package/esm2022/lib/core/fields/yesno.designer.mjs +3 -3
  181. package/esm2022/lib/core/fields/yesno.field.mjs +3 -3
  182. package/esm2022/lib/core/guide/guide.component.mjs +3 -3
  183. package/esm2022/lib/core/guide/guide.service.mjs +3 -3
  184. package/esm2022/lib/core/guide/help-tip.component.mjs +3 -3
  185. package/esm2022/lib/core/http.interceptor.mjs +3 -3
  186. package/esm2022/lib/core/hub.service.mjs +3 -3
  187. package/esm2022/lib/core/identity/identity.component.mjs +3 -3
  188. package/esm2022/lib/core/info/attachment-info.service.mjs +3 -3
  189. package/esm2022/lib/core/info/document-info.service.mjs +3 -3
  190. package/esm2022/lib/core/info/location-info.component.mjs +3 -3
  191. package/esm2022/lib/core/info/map-info.mjs +3 -3
  192. package/esm2022/lib/core/inputs/address.input.mjs +3 -3
  193. package/esm2022/lib/core/inputs/auto-complete.input.mjs +3 -3
  194. package/esm2022/lib/core/inputs/combination-picker-body.mjs +3 -3
  195. package/esm2022/lib/core/inputs/combination-picker.mjs +3 -3
  196. package/esm2022/lib/core/inputs/combination-pool.mjs +3 -3
  197. package/esm2022/lib/core/inputs/file.input.mjs +3 -3
  198. package/esm2022/lib/core/inputs/select.input.mjs +3 -3
  199. package/esm2022/lib/core/inputs/signature.input.mjs +4 -4
  200. package/esm2022/lib/core/inputs/time-picker.mjs +3 -3
  201. package/esm2022/lib/core/inputs/timespan.input.mjs +3 -3
  202. package/esm2022/lib/core/layout.component.mjs +5 -5
  203. package/esm2022/lib/core/lottie-animation.mjs +3 -3
  204. package/esm2022/lib/core/mailbox.service.mjs +3 -3
  205. package/esm2022/lib/core/none.component.mjs +3 -3
  206. package/esm2022/lib/core/pipes/action.pipe.mjs +3 -3
  207. package/esm2022/lib/core/pipes/calendar.pipe.mjs +3 -3
  208. package/esm2022/lib/core/pipes/date-format.pipe.mjs +3 -3
  209. package/esm2022/lib/core/pipes/daterange.pipe.mjs +6 -6
  210. package/esm2022/lib/core/pipes/difference.pipe.mjs +3 -3
  211. package/esm2022/lib/core/pipes/duration-format.pipe.mjs +3 -3
  212. package/esm2022/lib/core/pipes/duration.pipe.mjs +3 -3
  213. package/esm2022/lib/core/pipes/form.pipe.mjs +3 -3
  214. package/esm2022/lib/core/pipes/join.pipe.mjs +3 -3
  215. package/esm2022/lib/core/pipes/localized-string.pipe.mjs +3 -3
  216. package/esm2022/lib/core/pipes/role.pipe.mjs +3 -3
  217. package/esm2022/lib/core/pipes/sanitize-html.pipe.mjs +3 -3
  218. package/esm2022/lib/core/pipes/sort.pipe.mjs +6 -6
  219. package/esm2022/lib/core/pipes/state.pipe.mjs +3 -3
  220. package/esm2022/lib/core/pipes/time-ago.pipe.mjs +6 -6
  221. package/esm2022/lib/core/pipes/translate.pipe.mjs +9 -9
  222. package/esm2022/lib/core/pipes/type-value.pipe.mjs +3 -3
  223. package/esm2022/lib/core/pipes/user-name.pipe.mjs +3 -3
  224. package/esm2022/lib/core/popup/popup.component.mjs +3 -3
  225. package/esm2022/lib/core/popup/popup.service.mjs +3 -3
  226. package/esm2022/lib/core/popup/tooltip.directive.mjs +6 -6
  227. package/esm2022/lib/core/prompt/ask/ask.dialog.mjs +3 -3
  228. package/esm2022/lib/core/prompt/mask/mask.component.mjs +3 -3
  229. package/esm2022/lib/core/prompt.service.mjs +3 -3
  230. package/esm2022/lib/core/router.mjs +6 -6
  231. package/esm2022/lib/core/save-changes.dialog.mjs +3 -3
  232. package/esm2022/lib/core/session.service.mjs +3 -3
  233. package/esm2022/lib/core/slots/router.directive.mjs +3 -3
  234. package/esm2022/lib/core/slots/router.service.mjs +4 -4
  235. package/esm2022/lib/core/slots/slots.component.mjs +3 -3
  236. package/esm2022/lib/core/tagging/documents.component.mjs +3 -3
  237. package/esm2022/lib/core/tagging/edit-input.component.mjs +3 -3
  238. package/esm2022/lib/core/tagging/emoji.component.mjs +3 -3
  239. package/esm2022/lib/core/tagging/tagging-item.directive.mjs +3 -3
  240. package/esm2022/lib/core/tagging/tagging.component-base.mjs +3 -3
  241. package/esm2022/lib/core/tagging/tagging.directive.mjs +3 -3
  242. package/esm2022/lib/core/tagging/tagging.pipe.mjs +3 -3
  243. package/esm2022/lib/core/tagging/users.component.mjs +3 -3
  244. package/esm2022/lib/core/translate.service.mjs +3 -3
  245. package/esm2022/lib/core/window-title.service.mjs +3 -3
  246. package/esm2022/lib/cube/accum/accum.component.mjs +5 -5
  247. package/esm2022/lib/cube/chart/chart.component.mjs +5 -5
  248. package/esm2022/lib/cube/cube-info.service.mjs +3 -3
  249. package/esm2022/lib/cube/cube-menu.component.mjs +3 -3
  250. package/esm2022/lib/cube/cube-view.component.mjs +3 -3
  251. package/esm2022/lib/cube/cube.service.mjs +3 -3
  252. package/esm2022/lib/cube/explore/document-item.component.mjs +3 -3
  253. package/esm2022/lib/cube/explore/explore-item.component.mjs +3 -3
  254. package/esm2022/lib/cube/explore/explore-items.component.mjs +3 -3
  255. package/esm2022/lib/cube/explore/explore.pane.component.mjs +3 -3
  256. package/esm2022/lib/cube/explore/item-resolver.service.mjs +6 -6
  257. package/esm2022/lib/cube/explore/item.pane.component.mjs +3 -3
  258. package/esm2022/lib/cube/filter/filter-tags.component.exp.mjs +3 -3
  259. package/esm2022/lib/cube/filter/filter.component.mjs +3 -3
  260. package/esm2022/lib/cube/grid/grid.component.mjs +5 -5
  261. package/esm2022/lib/cube/grid/spreadsheet.component.mjs +5 -5
  262. package/esm2022/lib/cube/matrix/matrix.base.mjs +3 -3
  263. package/esm2022/lib/cube/matrix/matrix.mobile.component.mjs +3 -3
  264. package/esm2022/lib/cube/matrix/matrix.pane.component.mjs +3 -3
  265. package/esm2022/lib/cube/matrix/popup.component.mjs +3 -3
  266. package/esm2022/lib/cube/matrix/table.component.mjs +3 -3
  267. package/esm2022/lib/cube/parallel/item.mjs +1 -1
  268. package/esm2022/lib/cube/parallel/parallel.component.mjs +5 -5
  269. package/esm2022/lib/cube/pivot/pivot.component.mjs +4 -4
  270. package/esm2022/lib/cube/sum/sum.component.mjs +3 -3
  271. package/esm2022/lib/cube/view-base.mjs +3 -3
  272. package/esm2022/lib/cube/view.mobile.component.mjs +3 -3
  273. package/esm2022/lib/cube/view.pane.component.mjs +3 -3
  274. package/esm2022/lib/dashboard/actions/actions.widget.mjs +7 -10
  275. package/esm2022/lib/dashboard/cube/accum-cube.widget.mjs +5 -5
  276. package/esm2022/lib/dashboard/cube/compare.widget.mjs +3 -3
  277. package/esm2022/lib/dashboard/cube/cube-analysis.base.mjs +3 -3
  278. package/esm2022/lib/dashboard/cube/cube-analysis.widget.mjs +3 -3
  279. package/esm2022/lib/dashboard/cube/cube-chart.widget.mjs +5 -5
  280. package/esm2022/lib/dashboard/cube/document-state.widget.mjs +5 -5
  281. package/esm2022/lib/dashboard/cube/documents.widget.mjs +3 -3
  282. package/esm2022/lib/dashboard/cube/filter/filter.component.mjs +3 -3
  283. package/esm2022/lib/dashboard/dashboard.component.mjs +3 -3
  284. package/esm2022/lib/dashboard/dashboard.pane.component.mjs +3 -3
  285. package/esm2022/lib/dashboard/recents/recents.widget.mjs +3 -3
  286. package/esm2022/lib/dashboard/score/activity.widget.mjs +3 -3
  287. package/esm2022/lib/dashboard/score/compare-groups.widget.mjs +5 -5
  288. package/esm2022/lib/dashboard/score/peers-performance.widget.mjs +6 -9
  289. package/esm2022/lib/dashboard/score/pending-results.widget.mjs +3 -3
  290. package/esm2022/lib/dashboard/score/personal-score.widget.mjs +7 -10
  291. package/esm2022/lib/dashboard/widget-item.component.mjs +3 -3
  292. package/esm2022/lib/designer.module.mjs +11 -10
  293. package/esm2022/lib/desktop.module.mjs +4 -4
  294. package/esm2022/lib/home/about/about.dialog.mjs +3 -3
  295. package/esm2022/lib/home/home-base.component.mjs +3 -3
  296. package/esm2022/lib/home/home.desktop.component.mjs +3 -3
  297. package/esm2022/lib/home/home.mobile.component.mjs +3 -3
  298. package/esm2022/lib/home/notifications/notifications.component.mjs +3 -3
  299. package/esm2022/lib/home/options/options.component.mjs +3 -3
  300. package/esm2022/lib/home/outofoffice/outofoffice.component.mjs +3 -3
  301. package/esm2022/lib/home/sign/sign.component.mjs +3 -3
  302. package/esm2022/lib/home/tools.component.mjs +3 -3
  303. package/esm2022/lib/impersonate/impersonate.component.mjs +3 -3
  304. package/esm2022/lib/mobile.module.mjs +4 -4
  305. package/esm2022/lib/modules/chart.module.mjs +4 -4
  306. package/esm2022/lib/modules/circular-gauge.module.mjs +4 -4
  307. package/esm2022/lib/modules/datepicker.intl.mjs +3 -3
  308. package/esm2022/lib/modules/dayjs.module.mjs +4 -4
  309. package/esm2022/lib/modules/diagram.module.mjs +4 -4
  310. package/esm2022/lib/modules/gantt.module.mjs +4 -4
  311. package/esm2022/lib/modules/grid.module.mjs +4 -4
  312. package/esm2022/lib/modules/linear-gauge.module.mjs +4 -4
  313. package/esm2022/lib/modules/material.module.mjs +4 -4
  314. package/esm2022/lib/modules/paginator.intl.mjs +3 -3
  315. package/esm2022/lib/modules/pivot.module.mjs +4 -4
  316. package/esm2022/lib/modules/schedule.module.mjs +4 -4
  317. package/esm2022/lib/modules/spreadsheet.module.mjs +4 -4
  318. package/esm2022/lib/modules/stepper.intl.mjs +3 -3
  319. package/esm2022/lib/modules/texteditor.module.mjs +4 -4
  320. package/esm2022/lib/notifications/filter.component.mjs +3 -3
  321. package/esm2022/lib/notifications/notifications-table.component.mjs +3 -3
  322. package/esm2022/lib/notifications/notifications.mobile.component.mjs +3 -3
  323. package/esm2022/lib/notifications/notifications.pane.component.mjs +3 -3
  324. package/esm2022/lib/notifications/notifications.service.mjs +3 -3
  325. package/esm2022/lib/notifications/types/commented.notification.mjs +3 -3
  326. package/esm2022/lib/notifications/types/cube-anomaly.notification.mjs +3 -3
  327. package/esm2022/lib/notifications/types/escalated.notification.mjs +3 -3
  328. package/esm2022/lib/notifications/types/invite.notification.mjs +3 -3
  329. package/esm2022/lib/notifications/types/liked.notification.mjs +3 -3
  330. package/esm2022/lib/notifications/types/long-running-task.notification.mjs +3 -3
  331. package/esm2022/lib/notifications/types/notification-base.mjs +3 -3
  332. package/esm2022/lib/notifications/types/nudge.notification.mjs +3 -3
  333. package/esm2022/lib/notifications/types/state-changed.notification.mjs +3 -3
  334. package/esm2022/lib/notifications/types/tagged.notification.mjs +3 -3
  335. package/esm2022/lib/notifications/types/text.notification.mjs +3 -3
  336. package/esm2022/lib/notifications/types/upcoming-event.notification.mjs +3 -3
  337. package/esm2022/lib/options/options.component.mjs +3 -3
  338. package/esm2022/lib/options/options.service.mjs +3 -3
  339. package/esm2022/lib/reports/arguments-component.mjs +3 -3
  340. package/esm2022/lib/reports/cube/documents.component.mjs +3 -3
  341. package/esm2022/lib/reports/cube/grid-documents.component.mjs +3 -3
  342. package/esm2022/lib/reports/cube/role-performance.component.mjs +5 -5
  343. package/esm2022/lib/reports/cube/table-documents.component.mjs +3 -3
  344. package/esm2022/lib/reports/cube/usage-args.component.mjs +3 -3
  345. package/esm2022/lib/reports/cube/usage-base.mjs +3 -3
  346. package/esm2022/lib/reports/cube/usage-chart.component.mjs +3 -3
  347. package/esm2022/lib/reports/cube/usage-pivot.component.mjs +3 -3
  348. package/esm2022/lib/reports/cube/usage.component.mjs +3 -3
  349. package/esm2022/lib/reports/report-viewer.component.mjs +3 -3
  350. package/esm2022/lib/reports/report.mobile.component.mjs +3 -3
  351. package/esm2022/lib/reports/report.pane.component.mjs +3 -3
  352. package/esm2022/lib/reports/reports-menu.component.mjs +3 -3
  353. package/esm2022/lib/reports/substitution/substitution.component.mjs +3 -3
  354. package/esm2022/lib/reports/table/table-view.component.mjs +3 -3
  355. package/esm2022/lib/reports/tasks/tasks.component.mjs +3 -3
  356. package/esm2022/lib/scheduler/schedule.component.mjs +4 -4
  357. package/esm2022/lib/scheduler/scheduler.mobile.component.mjs +3 -3
  358. package/esm2022/lib/scheduler/scheduler.pane.component.mjs +3 -3
  359. package/esm2022/lib/search/cube.component.mjs +3 -3
  360. package/esm2022/lib/search/document.component.mjs +3 -3
  361. package/esm2022/lib/search/guide.component.mjs +3 -3
  362. package/esm2022/lib/search/path.component.mjs +3 -3
  363. package/esm2022/lib/search/search.service.mjs +3 -3
  364. package/esm2022/lib/shared.module.mjs +11 -9
  365. package/esm2022/lib/system.module.mjs +4 -4
  366. package/esm2022/lib/views/cube/chart.component.mjs +3 -3
  367. package/esm2022/lib/views/cube/cube-base.mjs +3 -3
  368. package/esm2022/lib/views/cube/explore.component.mjs +3 -3
  369. package/esm2022/lib/views/cube/matrix.component.mjs +3 -3
  370. package/esm2022/lib/views/cube/parallel.component.mjs +4 -4
  371. package/esm2022/lib/views/cube/pivot.component.mjs +3 -3
  372. package/esm2022/lib/views/cube/sum.component.mjs +3 -3
  373. package/esm2022/lib/views/cube/view.component.mjs +3 -3
  374. package/esm2022/lib/views/timeline/timeline.component.exp.mjs +7 -7
  375. package/esm2022/lib/views/view-item.component.mjs +3 -3
  376. package/esm2022/lib/views/views.component.mjs +3 -3
  377. package/esm2022/lib/views/views.mobile.component.mjs +3 -3
  378. package/esm2022/lib/views/views.pane.component.mjs +3 -3
  379. package/esm2022/public-api.mjs +2 -1
  380. package/fesm2022/bizdoc-core.mjs +1319 -1266
  381. package/fesm2022/bizdoc-core.mjs.map +1 -1
  382. package/lib/admin/architecture/elements/form.component.d.ts +1 -1
  383. package/lib/admin/document-trace/document-trace.component.d.ts +2 -2
  384. package/lib/admin/form/workflow/node.component.d.ts +1 -1
  385. package/lib/admin/form/workflow/workflow.component.d.ts +1 -1
  386. package/lib/core/fields/signature.field.d.ts +1 -1
  387. package/lib/core/fields/tags.designer.d.ts +11 -0
  388. package/lib/core/fields/tags.field.d.ts +26 -0
  389. package/lib/core/inputs/signature.input.d.ts +1 -1
  390. package/lib/cube/accum/accum.component.d.ts +1 -1
  391. package/lib/cube/chart/chart.component.d.ts +1 -2
  392. package/lib/cube/grid/grid.component.d.ts +1 -1
  393. package/lib/cube/grid/spreadsheet.component.d.ts +1 -1
  394. package/lib/cube/parallel/item.d.ts +1 -1
  395. package/lib/cube/parallel/parallel.component.d.ts +1 -1
  396. package/lib/cube/pivot/pivot.component.d.ts +2 -3
  397. package/lib/dashboard/actions/actions.widget.d.ts +1 -1
  398. package/lib/dashboard/cube/accum-cube.widget.d.ts +1 -1
  399. package/lib/dashboard/cube/cube-chart.widget.d.ts +1 -1
  400. package/lib/dashboard/cube/document-state.widget.d.ts +1 -1
  401. package/lib/dashboard/score/peers-performance.widget.d.ts +1 -2
  402. package/lib/dashboard/score/personal-score.widget.d.ts +1 -2
  403. package/lib/designer.module.d.ts +9 -8
  404. package/lib/reports/cube/role-performance.component.d.ts +1 -1
  405. package/lib/scheduler/schedule.component.d.ts +1 -1
  406. package/lib/shared.module.d.ts +120 -119
  407. package/lib/views/cube/parallel.component.d.ts +1 -1
  408. package/lib/views/timeline/timeline.component.exp.d.ts +2 -2
  409. package/package.json +17 -16
  410. package/public-api.d.ts +1 -0
@@ -78,8 +78,8 @@ let CubeDocumentMatrixComponent = class CubeDocumentMatrixComponent extends Cube
78
78
  this.pattern = null;
79
79
  this.title = null;
80
80
  }
81
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: CubeDocumentMatrixComponent, deps: [{ token: i1.DocumentViewRef }, { token: i2.RouterImpl }, { token: i3.CubeService }, { token: i4.SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
82
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: CubeDocumentMatrixComponent, selector: "ng-component", host: { classAttribute: "view" }, viewQueries: [{ propertyName: "table", first: true, predicate: CubeMatrixComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"hasdata; else none\">\r\n <div class=\"nav-toolbar\">\r\n <ng-container *ngIf=\"alternate\">\r\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #cmenu>\r\n <button mat-menu-item *ngFor=\"let a of alternate\"\r\n (click)=\"switchTo(a)\">\r\n {{a.title}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n <span class=\"divider\"></span>\r\n <!-- title -->\r\n <button mat-icon-button [matMenuTriggerFor]=\"patternsMenu\" *ngIf=\"patterns && patterns.length\" [bizdocTooltip]=\"'Pattern'|translate\" [attr.aria-label]=\"'Pattern'|translate\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #patternsMenu xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{axes[f.name] | typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n </div>\r\n <div class=\"loading-view\" *ngIf=\"loading\">\r\n <mat-spinner color=\"accent\"></mat-spinner>\r\n </div>\r\n <bizdoc-cube-matrix [cube]=\"cube.name\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=\"sum\"\r\n [filters]=\"axes\" [scope]=\"scope\" class=\"table\"\r\n (explore)='explore($event)' [(loading)]=\"loading\"></bizdoc-cube-matrix>\r\n</ng-container>\r\n<ng-template #none>\r\n <bizdoc-none icon=\"insert_chart_outlined\" subtitle=\"NothingHere\"></bizdoc-none>\r\n</ng-template>\r\n", styles: [".table{padding:0 8px}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i9.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i9.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i10.CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: ["seriesTotalLabel", "xAxisTotalLabel", "cube", "xAxis", "series", "indices", "indexAt", "placeAt", "scope", "sum", "filters", "loading", "interactive"], outputs: ["explore", "loadingChange"] }, { kind: "component", type: i11.NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }, { kind: "directive", type: i12.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i13.TypeValuePipe, name: "typeValue" }, { kind: "pipe", type: i14.TranslatePipe, name: "translate" }] }); }
81
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CubeDocumentMatrixComponent, deps: [{ token: i1.DocumentViewRef }, { token: i2.RouterImpl }, { token: i3.CubeService }, { token: i4.SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
82
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: CubeDocumentMatrixComponent, selector: "ng-component", host: { classAttribute: "view" }, viewQueries: [{ propertyName: "table", first: true, predicate: CubeMatrixComponent, descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"hasdata; else none\">\r\n <div class=\"nav-toolbar\">\r\n <ng-container *ngIf=\"alternate\">\r\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #cmenu>\r\n <button mat-menu-item *ngFor=\"let a of alternate\"\r\n (click)=\"switchTo(a)\">\r\n {{a.title}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n <span class=\"divider\"></span>\r\n <!-- title -->\r\n <button mat-icon-button [matMenuTriggerFor]=\"patternsMenu\" *ngIf=\"patterns && patterns.length\" [bizdocTooltip]=\"'Pattern'|translate\" [attr.aria-label]=\"'Pattern'|translate\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #patternsMenu xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{axes[f.name] | typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n </div>\r\n <div class=\"loading-view\" *ngIf=\"loading\">\r\n <mat-spinner color=\"accent\"></mat-spinner>\r\n </div>\r\n <bizdoc-cube-matrix [cube]=\"cube.name\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=\"sum\"\r\n [filters]=\"axes\" [scope]=\"scope\" class=\"table\"\r\n (explore)='explore($event)' [(loading)]=\"loading\"></bizdoc-cube-matrix>\r\n</ng-container>\r\n<ng-template #none>\r\n <bizdoc-none icon=\"insert_chart_outlined\" subtitle=\"NothingHere\"></bizdoc-none>\r\n</ng-template>\r\n", styles: [".table{padding:0 8px}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i9.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i9.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i10.CubeMatrixComponent, selector: "bizdoc-cube-matrix", inputs: ["seriesTotalLabel", "xAxisTotalLabel", "cube", "xAxis", "series", "indices", "indexAt", "placeAt", "scope", "sum", "filters", "loading", "interactive"], outputs: ["explore", "loadingChange"] }, { kind: "component", type: i11.NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }, { kind: "directive", type: i12.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i13.TypeValuePipe, name: "typeValue" }, { kind: "pipe", type: i14.TranslatePipe, name: "translate" }] }); }
83
83
  };
84
84
  CubeDocumentMatrixComponent = __decorate([
85
85
  BizDoc({
@@ -87,7 +87,7 @@ CubeDocumentMatrixComponent = __decorate([
87
87
  })
88
88
  ], CubeDocumentMatrixComponent);
89
89
  export { CubeDocumentMatrixComponent };
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: CubeDocumentMatrixComponent, decorators: [{
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CubeDocumentMatrixComponent, decorators: [{
91
91
  type: Component,
92
92
  args: [{ host: { class: 'view' }, template: "<ng-container *ngIf=\"hasdata; else none\">\r\n <div class=\"nav-toolbar\">\r\n <ng-container *ngIf=\"alternate\">\r\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #cmenu>\r\n <button mat-menu-item *ngFor=\"let a of alternate\"\r\n (click)=\"switchTo(a)\">\r\n {{a.title}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n <span class=\"divider\"></span>\r\n <!-- title -->\r\n <button mat-icon-button [matMenuTriggerFor]=\"patternsMenu\" *ngIf=\"patterns && patterns.length\" [bizdocTooltip]=\"'Pattern'|translate\" [attr.aria-label]=\"'Pattern'|translate\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #patternsMenu xPosition=\"before\">\r\n <!-- patterns -->\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">{{p.title}}</button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"reset()\" [disabled]=\"!pattern\" [bizdocTooltip]=\"'Clear' | translate\">\r\n <mat-icon>clear_all</mat-icon>\r\n </button>\r\n <!-- filters -->\r\n <ng-container *ngFor=\"let f of filters\">\r\n <button mat-button [matMenuTriggerFor]=\"fmenu\">{{axes[f.name] | typeValue : f.dataType | async}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #fmenu xPosition=\"before\">\r\n <button mat-menu-item *ngFor=\"let kv of sources[f.name] | async\"\r\n (click)=\"filter(f.name, kv.key, kv.value)\">\r\n {{kv.value}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n </div>\r\n <div class=\"loading-view\" *ngIf=\"loading\">\r\n <mat-spinner color=\"accent\"></mat-spinner>\r\n </div>\r\n <bizdoc-cube-matrix [cube]=\"cube.name\" [xAxis]=\"xAxis\" [series]=\"series\" [indices]=\"indices\" [sum]=\"sum\"\r\n [filters]=\"axes\" [scope]=\"scope\" class=\"table\"\r\n (explore)='explore($event)' [(loading)]=\"loading\"></bizdoc-cube-matrix>\r\n</ng-container>\r\n<ng-template #none>\r\n <bizdoc-none icon=\"insert_chart_outlined\" subtitle=\"NothingHere\"></bizdoc-none>\r\n</ng-template>\r\n", styles: [".table{padding:0 8px}\n"] }]
93
93
  }], ctorParameters: () => [{ type: i1.DocumentViewRef }, { type: i2.RouterImpl }, { type: i3.CubeService }, { type: i4.SessionService }], propDecorators: { table: [{
@@ -38,8 +38,8 @@ let CubeParallelViewComponent = class CubeParallelViewComponent extends CubeBase
38
38
  state: { index: evt.index }
39
39
  });
40
40
  }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: CubeParallelViewComponent, deps: [{ token: i1.DocumentViewRef }, { token: i2.RouterImpl }, { token: i3.CubeService }, { token: i4.SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
42
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: CubeParallelViewComponent, selector: "ng-component", host: { classAttribute: "view" }, usesInheritance: true, ngImport: i0, template: "<bizdoc-cube-parallel *ngIf=hasdata\r\n [cube]=\"cube.name\"\r\n [xAxis]=\"xAxis\"\r\n [series]=\"series\"\r\n [indices]=\"indices\"\r\n [filters]=\"axes\"\r\n [chartType]=\"chartType\"\r\n [scope]=\"scope\"\r\n [size]=\"size\"\r\n (explore)=\"explore($event)\"></bizdoc-cube-parallel>\r\n", styles: [":host{padding:8px}.element{display:flex;flex-direction:column;align-items:center;flex:1 1 auto}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.CubeParallelComponent, selector: "bizdoc-cube-parallel", inputs: ["filters", "xAxis", "series", "indices", "cube", "size", "chartType", "scope", "palettes"], outputs: ["explore"] }] }); }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CubeParallelViewComponent, deps: [{ token: i1.DocumentViewRef }, { token: i2.RouterImpl }, { token: i3.CubeService }, { token: i4.SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
42
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: CubeParallelViewComponent, selector: "ng-component", host: { classAttribute: "view" }, usesInheritance: true, ngImport: i0, template: "<bizdoc-cube-parallel *ngIf=hasdata\r\n [cube]=\"cube.name\"\r\n [xAxis]=\"xAxis\"\r\n [series]=\"series\"\r\n [indices]=\"indices\"\r\n [filters]=\"axes\"\r\n [chartType]=\"chartType\"\r\n [scope]=\"scope\"\r\n [size]=\"size\"\r\n (explore)=\"explore($event)\"></bizdoc-cube-parallel>\r\n", styles: [":host{padding:8px}.element{display:flex;flex-direction:column;align-items:center;flex:1 1 auto}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.CubeParallelComponent, selector: "bizdoc-cube-parallel", inputs: ["filters", "xAxis", "series", "indices", "cube", "size", "chartType", "scope", "palettes"], outputs: ["explore"] }] }); }
43
43
  };
44
44
  CubeParallelViewComponent = __decorate([
45
45
  BizDoc({
@@ -47,8 +47,8 @@ CubeParallelViewComponent = __decorate([
47
47
  })
48
48
  ], CubeParallelViewComponent);
49
49
  export { CubeParallelViewComponent };
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: CubeParallelViewComponent, decorators: [{
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CubeParallelViewComponent, decorators: [{
51
51
  type: Component,
52
52
  args: [{ host: { class: 'view' }, template: "<bizdoc-cube-parallel *ngIf=hasdata\r\n [cube]=\"cube.name\"\r\n [xAxis]=\"xAxis\"\r\n [series]=\"series\"\r\n [indices]=\"indices\"\r\n [filters]=\"axes\"\r\n [chartType]=\"chartType\"\r\n [scope]=\"scope\"\r\n [size]=\"size\"\r\n (explore)=\"explore($event)\"></bizdoc-cube-parallel>\r\n", styles: [":host{padding:8px}.element{display:flex;flex-direction:column;align-items:center;flex:1 1 auto}\n"] }]
53
53
  }], ctorParameters: () => [{ type: i1.DocumentViewRef }, { type: i2.RouterImpl }, { type: i3.CubeService }, { type: i4.SessionService }] });
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWxsZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi92aWV3cy9jdWJlL3BhcmFsbGVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvdmlld3MvY3ViZS9wYXJhbGxlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFLL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7QUFjckMsSUFBTSx5QkFBeUIsR0FBL0IsTUFBTSx5QkFBMEIsU0FBUSxRQUErQjtJQU12RSxZQUFZLE9BQStDLEVBQ2pELE9BQW1CLEVBQzNCLE9BQW9CLEVBQ3BCLE9BQXVCO1FBQ3ZCLEtBQUssQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBSHpCLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFJM0IsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUNyQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFDRCxVQUFVO1FBQ1IsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxNQUFNO1lBQUUsTUFBTSx3Q0FBd0MsQ0FBQztRQUN0RSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xCLE1BQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFDRDs7O1NBR0s7SUFDTCxPQUFPLENBQUMsR0FBaUI7UUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQ3ZEO1lBQ0UsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLFdBQVcsRUFBRSxHQUFHLENBQUMsSUFBSTtZQUNyQixLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssRUFBRTtTQUM1QixDQUFDLENBQUM7SUFDUCxDQUFDOzhHQW5DSyx5QkFBeUI7a0dBQXpCLHlCQUF5Qiw2R0NyQmpDLGdlQVVBOztBRFdRLHlCQUF5QjtJQUpoQyxNQUFNLENBQUM7UUFDTixRQUFRLEVBQUUsc0JBQXNCO0tBQ2pDLENBQUM7R0FFTSx5QkFBeUIsQ0FvQ2hDOzsyRkFwQ08seUJBQXlCO2tCQVRoQyxTQUFTOzJCQUVGLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTcGFya2xpbmVUeXBlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItY2hhcnRzJztcclxuaW1wb3J0IHsgQml6RG9jIH0gZnJvbSAnLi4vLi4vY29yZS9kZWNvcmF0b3JzJztcclxuaW1wb3J0IHsgUm91dGVySW1wbCB9IGZyb20gJy4uLy4uL2NvcmUvcm91dGVyJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEN1YmVTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY3ViZS9jdWJlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEb2N1bWVudFZpZXdSZWYgfSBmcm9tICcuLi9kb2N1bWVudC12aWV3LXJlZic7XHJcbmltcG9ydCB7IEN1YmVCYXNlIH0gZnJvbSAnLi9jdWJlLWJhc2UnO1xyXG5pbXBvcnQgeyBFeHBsb3JlRXZlbnQgfSBmcm9tICcuLi8uLi9jdWJlL3BhcmFsbGVsL3BhcmFsbGVsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNjb3BlVHlwZSB9IGZyb20gJy4uLy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IEF4ZXNNYXAgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vcGFyYWxsZWwuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGhvc3Q6IHsgY2xhc3M6ICd2aWV3JyB9LFxyXG4gIHN0eWxlVXJsczogWydwYXJhbGxlbC5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbkBCaXpEb2Moe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLXBhcmFsbGVsLXZpZXcnXHJcbn0pXHJcbmV4cG9ydFxyXG4gIGNsYXNzIEN1YmVQYXJhbGxlbFZpZXdDb21wb25lbnQgZXh0ZW5kcyBDdWJlQmFzZTxQYXJhbGxlbFNldHRpbmdzTW9kZWw+IHtcclxuICB4QXhpczogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgc2VyaWVzPzogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgaW5kaWNlcz86IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gIGNoYXJ0VHlwZT86IFNwYXJrbGluZVR5cGU7XHJcbiAgc2l6ZSA6bnVtYmVyO1xyXG4gIGNvbnN0cnVjdG9yKHZpZXdSZWY6IERvY3VtZW50Vmlld1JlZjxQYXJhbGxlbFNldHRpbmdzTW9kZWw+LFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXJJbXBsLFxyXG4gICAgc2VydmljZTogQ3ViZVNlcnZpY2UsXHJcbiAgICBzZXNzaW9uOiBTZXNzaW9uU2VydmljZSkge1xyXG4gICAgc3VwZXIodmlld1JlZiwgc2VydmljZSwgc2Vzc2lvbik7XHJcbiAgICB0aGlzLnNpemUgPSB2aWV3UmVmLmRpbWVudGlvbnMud2lkdGg7XHJcbiAgICB2aWV3UmVmLnJlc2l6ZS5zdWJzY3JpYmUoZCA9PiB0aGlzLnNpemUgPSBkLndpZHRoKTtcclxuICB9XHJcbiAgb25WaWV3QmluZCgpIHtcclxuICAgIGNvbnN0IHsgY2hhcnRUeXBlLCB4QXhpcywgc2VyaWVzLCBpbmRpY2VzIH0gPSB0aGlzLl92aWV3UmVmLm9wdGlvbnM7XHJcbiAgICBpZiAoIXhBeGlzIHx8ICFzZXJpZXMpIHRocm93ICdwYXJhbGxlbCB2aWV3IHJlcXVpcmVzIHNlcmllcyBvciB4QXhpcyc7XHJcbiAgICB0aGlzLl9kcm9wKHhBeGlzKTtcclxuICAgIHNlcmllcyAmJiB0aGlzLl9kcm9wKHNlcmllcyk7XHJcbiAgICB0aGlzLnhBeGlzID0geEF4aXM7XHJcbiAgICB0aGlzLnNlcmllcyA9IHNlcmllcztcclxuICAgIHRoaXMuaW5kaWNlcyA9IGluZGljZXM7XHJcbiAgICB0aGlzLmNoYXJ0VHlwZSA9IGNoYXJ0VHlwZTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIGV2dFxyXG4gICAgICovXHJcbiAgZXhwbG9yZShldnQ6IEV4cGxvcmVFdmVudCkge1xyXG4gICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnY3ViZScsIHRoaXMuY3ViZS5uYW1lLCAnZXhwbG9yZSddLFxyXG4gICAgICB7XHJcbiAgICAgICAgZ3JvdXA6IHRoaXMuZ3JvdXAsXHJcbiAgICAgICAgcXVlcnlQYXJhbXM6IGV2dC5heGVzLFxyXG4gICAgICAgIHN0YXRlOiB7IGluZGV4OiBldnQuaW5kZXggfVxyXG4gICAgICB9KTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBQYXJhbGxlbFNldHRpbmdzTW9kZWwge1xyXG4gIGFnZ3JlZ2F0ZT86IHN0cmluZ1tdO1xyXG4gIHhBeGlzOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICBzZXJpZXM6IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gIGluZGljZXM/OiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICBjaGFydFR5cGU/OiBTcGFya2xpbmVUeXBlO1xyXG4gIGN1YmU/OiBzdHJpbmc7XHJcbiAgZmlsdGVyczogQXhlc01hcDtcclxuICBzY29wZTogU2NvcGVUeXBlO1xyXG59XHJcbiIsIjxiaXpkb2MtY3ViZS1wYXJhbGxlbCAqbmdJZj1oYXNkYXRhXHJcbiAgICAgICAgICAgICAgICAgICAgICBbY3ViZV09XCJjdWJlLm5hbWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3hBeGlzXT1cInhBeGlzXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtzZXJpZXNdPVwic2VyaWVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtpbmRpY2VzXT1cImluZGljZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2ZpbHRlcnNdPVwiYXhlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbY2hhcnRUeXBlXT1cImNoYXJ0VHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbc2NvcGVdPVwic2NvcGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3NpemVdPVwic2l6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAoZXhwbG9yZSk9XCJleHBsb3JlKCRldmVudClcIj48L2JpemRvYy1jdWJlLXBhcmFsbGVsPlxyXG4iXX0=
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYWxsZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi92aWV3cy9jdWJlL3BhcmFsbGVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvdmlld3MvY3ViZS9wYXJhbGxlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFLL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7Ozs7QUFjckMsSUFBTSx5QkFBeUIsR0FBL0IsTUFBTSx5QkFBMEIsU0FBUSxRQUErQjtJQU12RSxZQUFZLE9BQStDLEVBQ2pELE9BQW1CLEVBQzNCLE9BQW9CLEVBQ3BCLE9BQXVCO1FBQ3ZCLEtBQUssQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBSHpCLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFJM0IsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUNyQyxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFDRCxVQUFVO1FBQ1IsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxNQUFNO1lBQUUsTUFBTSx3Q0FBd0MsQ0FBQztRQUN0RSxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xCLE1BQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFDRDs7O1NBR0s7SUFDTCxPQUFPLENBQUMsR0FBaUI7UUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQ3ZEO1lBQ0UsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLFdBQVcsRUFBRSxHQUFHLENBQUMsSUFBSTtZQUNyQixLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssRUFBRTtTQUM1QixDQUFDLENBQUM7SUFDUCxDQUFDOzhHQW5DSyx5QkFBeUI7a0dBQXpCLHlCQUF5Qiw2R0NyQmpDLGdlQVVBOztBRFdRLHlCQUF5QjtJQUpoQyxNQUFNLENBQUM7UUFDTixRQUFRLEVBQUUsc0JBQXNCO0tBQ2pDLENBQUM7R0FFTSx5QkFBeUIsQ0FvQ2hDOzsyRkFwQ08seUJBQXlCO2tCQVRoQyxTQUFTOzJCQUVGLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTcGFya2xpbmVUeXBlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWNoYXJ0cyc7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IFJvdXRlckltcGwgfSBmcm9tICcuLi8uLi9jb3JlL3JvdXRlcic7XHJcbmltcG9ydCB7IFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vY29yZS9zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDdWJlU2VydmljZSB9IGZyb20gJy4uLy4uL2N1YmUvY3ViZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRG9jdW1lbnRWaWV3UmVmIH0gZnJvbSAnLi4vZG9jdW1lbnQtdmlldy1yZWYnO1xyXG5pbXBvcnQgeyBDdWJlQmFzZSB9IGZyb20gJy4vY3ViZS1iYXNlJztcclxuaW1wb3J0IHsgRXhwbG9yZUV2ZW50IH0gZnJvbSAnLi4vLi4vY3ViZS9wYXJhbGxlbC9wYXJhbGxlbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTY29wZVR5cGUgfSBmcm9tICcuLi8uLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBBeGVzTWFwIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BhcmFsbGVsLmNvbXBvbmVudC5odG1sJyxcclxuICBob3N0OiB7IGNsYXNzOiAndmlldycgfSxcclxuICBzdHlsZVVybHM6IFsncGFyYWxsZWwuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5AQml6RG9jKHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1wYXJhbGxlbC12aWV3J1xyXG59KVxyXG5leHBvcnRcclxuICBjbGFzcyBDdWJlUGFyYWxsZWxWaWV3Q29tcG9uZW50IGV4dGVuZHMgQ3ViZUJhc2U8UGFyYWxsZWxTZXR0aW5nc01vZGVsPiB7XHJcbiAgeEF4aXM6IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gIHNlcmllcz86IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gIGluZGljZXM/OiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICBjaGFydFR5cGU/OiBTcGFya2xpbmVUeXBlO1xyXG4gIHNpemUgOm51bWJlcjtcclxuICBjb25zdHJ1Y3Rvcih2aWV3UmVmOiBEb2N1bWVudFZpZXdSZWY8UGFyYWxsZWxTZXR0aW5nc01vZGVsPixcclxuICAgIHByaXZhdGUgX3JvdXRlcjogUm91dGVySW1wbCxcclxuICAgIHNlcnZpY2U6IEN1YmVTZXJ2aWNlLFxyXG4gICAgc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UpIHtcclxuICAgIHN1cGVyKHZpZXdSZWYsIHNlcnZpY2UsIHNlc3Npb24pO1xyXG4gICAgdGhpcy5zaXplID0gdmlld1JlZi5kaW1lbnRpb25zLndpZHRoO1xyXG4gICAgdmlld1JlZi5yZXNpemUuc3Vic2NyaWJlKGQgPT4gdGhpcy5zaXplID0gZC53aWR0aCk7XHJcbiAgfVxyXG4gIG9uVmlld0JpbmQoKSB7XHJcbiAgICBjb25zdCB7IGNoYXJ0VHlwZSwgeEF4aXMsIHNlcmllcywgaW5kaWNlcyB9ID0gdGhpcy5fdmlld1JlZi5vcHRpb25zO1xyXG4gICAgaWYgKCF4QXhpcyB8fCAhc2VyaWVzKSB0aHJvdyAncGFyYWxsZWwgdmlldyByZXF1aXJlcyBzZXJpZXMgb3IgeEF4aXMnO1xyXG4gICAgdGhpcy5fZHJvcCh4QXhpcyk7XHJcbiAgICBzZXJpZXMgJiYgdGhpcy5fZHJvcChzZXJpZXMpO1xyXG4gICAgdGhpcy54QXhpcyA9IHhBeGlzO1xyXG4gICAgdGhpcy5zZXJpZXMgPSBzZXJpZXM7XHJcbiAgICB0aGlzLmluZGljZXMgPSBpbmRpY2VzO1xyXG4gICAgdGhpcy5jaGFydFR5cGUgPSBjaGFydFR5cGU7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSBldnRcclxuICAgICAqL1xyXG4gIGV4cGxvcmUoZXZ0OiBFeHBsb3JlRXZlbnQpIHtcclxuICAgIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZShbJ2N1YmUnLCB0aGlzLmN1YmUubmFtZSwgJ2V4cGxvcmUnXSxcclxuICAgICAge1xyXG4gICAgICAgIGdyb3VwOiB0aGlzLmdyb3VwLFxyXG4gICAgICAgIHF1ZXJ5UGFyYW1zOiBldnQuYXhlcyxcclxuICAgICAgICBzdGF0ZTogeyBpbmRleDogZXZ0LmluZGV4IH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgUGFyYWxsZWxTZXR0aW5nc01vZGVsIHtcclxuICBhZ2dyZWdhdGU/OiBzdHJpbmdbXTtcclxuICB4QXhpczogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgc2VyaWVzOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICBpbmRpY2VzPzogc3RyaW5nIHwgc3RyaW5nW107XHJcbiAgY2hhcnRUeXBlPzogU3BhcmtsaW5lVHlwZTtcclxuICBjdWJlPzogc3RyaW5nO1xyXG4gIGZpbHRlcnM6IEF4ZXNNYXA7XHJcbiAgc2NvcGU6IFNjb3BlVHlwZTtcclxufVxyXG4iLCI8Yml6ZG9jLWN1YmUtcGFyYWxsZWwgKm5nSWY9aGFzZGF0YVxyXG4gICAgICAgICAgICAgICAgICAgICAgW2N1YmVdPVwiY3ViZS5uYW1lXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFt4QXhpc109XCJ4QXhpc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbc2VyaWVzXT1cInNlcmllc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbaW5kaWNlc109XCJpbmRpY2VzXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtmaWx0ZXJzXT1cImF4ZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW2NoYXJ0VHlwZV09XCJjaGFydFR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3Njb3BlXT1cInNjb3BlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtzaXplXT1cInNpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGV4cGxvcmUpPVwiZXhwbG9yZSgkZXZlbnQpXCI+PC9iaXpkb2MtY3ViZS1wYXJhbGxlbD5cclxuIl19
@@ -35,8 +35,8 @@ let CubePivotViewComponent = class CubePivotViewComponent extends CubeBase {
35
35
  state: { index }
36
36
  });
37
37
  }
38
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: CubePivotViewComponent, deps: [{ token: i1.SessionService }, { token: i2.DocumentViewRef }, { token: i3.CubeService }, { token: i4.RouterImpl }], target: i0.ɵɵFactoryTarget.Component }); }
39
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: CubePivotViewComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-cube-pivot *ngIf=\"hasdata\"\r\n [xAxis]=\"xAxis\"\r\n [series]=\"series\"\r\n [cube]=\"cube.name\"\r\n [filters]=\"axes\"\r\n [chartType]=\"chartType\"\r\n [width]=\"width\"\r\n (explore)=\"explore($event)\"></bizdoc-cube-pivot>\r\n", dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.CubePivotComponent, selector: "bizdoc-cube-pivot", inputs: ["width", "height", "cube", "xAxis", "yAxis", "series", "indices", "filters", "chartType", "indicesChartType", "palettes", "loading"], outputs: ["explore", "loadingChange"] }] }); }
38
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CubePivotViewComponent, deps: [{ token: i1.SessionService }, { token: i2.DocumentViewRef }, { token: i3.CubeService }, { token: i4.RouterImpl }], target: i0.ɵɵFactoryTarget.Component }); }
39
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: CubePivotViewComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<bizdoc-cube-pivot *ngIf=\"hasdata\"\r\n [xAxis]=\"xAxis\"\r\n [series]=\"series\"\r\n [cube]=\"cube.name\"\r\n [filters]=\"axes\"\r\n [chartType]=\"chartType\"\r\n [width]=\"width\"\r\n (explore)=\"explore($event)\"></bizdoc-cube-pivot>\r\n", dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.CubePivotComponent, selector: "bizdoc-cube-pivot", inputs: ["width", "height", "cube", "xAxis", "yAxis", "series", "indices", "filters", "chartType", "indicesChartType", "palettes", "loading"], outputs: ["explore", "loadingChange"] }] }); }
40
40
  };
41
41
  CubePivotViewComponent = __decorate([
42
42
  BizDoc({
@@ -44,7 +44,7 @@ CubePivotViewComponent = __decorate([
44
44
  })
45
45
  ], CubePivotViewComponent);
46
46
  export { CubePivotViewComponent };
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: CubePivotViewComponent, decorators: [{
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CubePivotViewComponent, decorators: [{
48
48
  type: Component,
49
49
  args: [{ template: "<bizdoc-cube-pivot *ngIf=\"hasdata\"\r\n [xAxis]=\"xAxis\"\r\n [series]=\"series\"\r\n [cube]=\"cube.name\"\r\n [filters]=\"axes\"\r\n [chartType]=\"chartType\"\r\n [width]=\"width\"\r\n (explore)=\"explore($event)\"></bizdoc-cube-pivot>\r\n" }]
50
50
  }], ctorParameters: () => [{ type: i1.SessionService }, { type: i2.DocumentViewRef }, { type: i3.CubeService }, { type: i4.RouterImpl }] });
@@ -48,8 +48,8 @@ let CubeDocumentSumComponent = class CubeDocumentSumComponent extends CubeBase {
48
48
  } : null
49
49
  });
50
50
  }
51
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: CubeDocumentSumComponent, deps: [{ token: i1.DocumentViewRef }, { token: i2.RouterImpl }, { token: i3.CubeService }, { token: i4.SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
52
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: CubeDocumentSumComponent, selector: "ng-component", host: { classAttribute: "view" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"hasdata\">\r\n <div class=\"nav-toolbar\" *ngIf=\"alternate || selectedAxis\">\r\n <span class=\"divider\"></span>\r\n <ng-container *ngIf=\"alternate\">\r\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #cmenu>\r\n <button mat-menu-item *ngFor=\"let a of alternate\"\r\n (click)=\"switchTo(a)\">\r\n {{a.title}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectedAxis\">\r\n <button mat-button [matMenuTriggerFor]=\"amenu\">{{selectedAxis| typeValue: primaryAxis.dataType | async }} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #amenu>\r\n <button mat-menu-item *ngFor=\"let a of originalAxes[primaryAxis.name]\"\r\n (click)=\"switchAxis(a)\">\r\n {{a | typeValue: primaryAxis.dataType | async}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n </div>\r\n <div class=\"loading-view\" *ngIf=\"loading\">\r\n <mat-spinner color=\"accent\"></mat-spinner>\r\n </div>\r\n <bizdoc-cube-sum [xAxis]=\"primaryAxis.name\" [filters]=\"axes\" [parentAxis]=\"parentAxis\"\r\n [scope]=\"scope\" [periodPolicy]=\"periodPolicy\"\r\n [indices]=\"indices\" [cube]=\"cube.name\"\r\n (explore)=\"explore($event)\"></bizdoc-cube-sum>\r\n</ng-container>\r\n", styles: [":host{padding:0 8px}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i9.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i9.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i10.CubeSumComponent, selector: "bizdoc-cube-sum", inputs: ["xAxis", "periodPolicy", "parentAxis", "filters", "cube", "indices", "scope"], outputs: ["explore"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i11.TypeValuePipe, name: "typeValue" }] }); }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CubeDocumentSumComponent, deps: [{ token: i1.DocumentViewRef }, { token: i2.RouterImpl }, { token: i3.CubeService }, { token: i4.SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
52
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: CubeDocumentSumComponent, selector: "ng-component", host: { classAttribute: "view" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"hasdata\">\r\n <div class=\"nav-toolbar\" *ngIf=\"alternate || selectedAxis\">\r\n <span class=\"divider\"></span>\r\n <ng-container *ngIf=\"alternate\">\r\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #cmenu>\r\n <button mat-menu-item *ngFor=\"let a of alternate\"\r\n (click)=\"switchTo(a)\">\r\n {{a.title}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectedAxis\">\r\n <button mat-button [matMenuTriggerFor]=\"amenu\">{{selectedAxis| typeValue: primaryAxis.dataType | async }} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #amenu>\r\n <button mat-menu-item *ngFor=\"let a of originalAxes[primaryAxis.name]\"\r\n (click)=\"switchAxis(a)\">\r\n {{a | typeValue: primaryAxis.dataType | async}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n </div>\r\n <div class=\"loading-view\" *ngIf=\"loading\">\r\n <mat-spinner color=\"accent\"></mat-spinner>\r\n </div>\r\n <bizdoc-cube-sum [xAxis]=\"primaryAxis.name\" [filters]=\"axes\" [parentAxis]=\"parentAxis\"\r\n [scope]=\"scope\" [periodPolicy]=\"periodPolicy\"\r\n [indices]=\"indices\" [cube]=\"cube.name\"\r\n (explore)=\"explore($event)\"></bizdoc-cube-sum>\r\n</ng-container>\r\n", styles: [":host{padding:0 8px}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i9.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i9.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i10.CubeSumComponent, selector: "bizdoc-cube-sum", inputs: ["xAxis", "periodPolicy", "parentAxis", "filters", "cube", "indices", "scope"], outputs: ["explore"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }, { kind: "pipe", type: i11.TypeValuePipe, name: "typeValue" }] }); }
53
53
  };
54
54
  CubeDocumentSumComponent = __decorate([
55
55
  BizDoc({
@@ -57,7 +57,7 @@ CubeDocumentSumComponent = __decorate([
57
57
  })
58
58
  ], CubeDocumentSumComponent);
59
59
  export { CubeDocumentSumComponent };
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: CubeDocumentSumComponent, decorators: [{
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CubeDocumentSumComponent, decorators: [{
61
61
  type: Component,
62
62
  args: [{ host: { class: 'view' }, template: "<ng-container *ngIf=\"hasdata\">\r\n <div class=\"nav-toolbar\" *ngIf=\"alternate || selectedAxis\">\r\n <span class=\"divider\"></span>\r\n <ng-container *ngIf=\"alternate\">\r\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #cmenu>\r\n <button mat-menu-item *ngFor=\"let a of alternate\"\r\n (click)=\"switchTo(a)\">\r\n {{a.title}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n <ng-container *ngIf=\"selectedAxis\">\r\n <button mat-button [matMenuTriggerFor]=\"amenu\">{{selectedAxis| typeValue: primaryAxis.dataType | async }} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #amenu>\r\n <button mat-menu-item *ngFor=\"let a of originalAxes[primaryAxis.name]\"\r\n (click)=\"switchAxis(a)\">\r\n {{a | typeValue: primaryAxis.dataType | async}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n </div>\r\n <div class=\"loading-view\" *ngIf=\"loading\">\r\n <mat-spinner color=\"accent\"></mat-spinner>\r\n </div>\r\n <bizdoc-cube-sum [xAxis]=\"primaryAxis.name\" [filters]=\"axes\" [parentAxis]=\"parentAxis\"\r\n [scope]=\"scope\" [periodPolicy]=\"periodPolicy\"\r\n [indices]=\"indices\" [cube]=\"cube.name\"\r\n (explore)=\"explore($event)\"></bizdoc-cube-sum>\r\n</ng-container>\r\n", styles: [":host{padding:0 8px}\n"] }]
63
63
  }], ctorParameters: () => [{ type: i1.DocumentViewRef }, { type: i2.RouterImpl }, { type: i3.CubeService }, { type: i4.SessionService }] });
@@ -83,8 +83,8 @@ let CubeDocumentViewComponent = class CubeDocumentViewComponent extends CubeBase
83
83
  evt && evt.preventDefault();
84
84
  }
85
85
  }
86
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: CubeDocumentViewComponent, deps: [{ token: i1.SessionService }, { token: i2.DocumentViewRef }, { token: i3.CubeService }, { token: i4.Popup }, { token: i5.RouterImpl }, { token: i6.GuideService }], target: i0.ɵɵFactoryTarget.Component }); }
87
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: CubeDocumentViewComponent, selector: "ng-component", host: { classAttribute: "view" }, viewQueries: [{ propertyName: "viewPane", first: true, predicate: CubeViewComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"hasdata; else none\">\r\n <div class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"view.guide\"><mat-icon>help_outline</mat-icon></button>\r\n <ng-container *ngIf=\"alternate\">\r\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #cmenu>\r\n <button mat-menu-item *ngFor=\"let a of alternate\"\r\n (click)=\"switchTo(a)\">\r\n {{a.title}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #pmenu>\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">\r\n {{p.title}}\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"filterToggle($event)\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon>filter_list</mat-icon></button>\r\n </div>\r\n <div class=\"loading-view\" *ngIf=\"loading\">\r\n <mat-spinner color=\"accent\"></mat-spinner>\r\n </div>\r\n <bizdoc-cube-view [filters]=\"axes\" #vp\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube\"\r\n [view]=\"view\"\r\n (loading)=\"loading = $event\"></bizdoc-cube-view>\r\n</ng-container>\r\n<ng-template #none>\r\n <bizdoc-none icon=\"equalizer\" subtitle=\"NothingHere\"></bizdoc-none>\r\n</ng-template>\r\n", styles: [":host{display:flex;flex-direction:column;height:100%;min-height:220px}:host ::ng-deep .cube-view{flex:1 auto}\n"], dependencies: [{ kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i9.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i9.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i11.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i11.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i11.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i12.NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }, { kind: "component", type: i13.CubeViewComponent, selector: "bizdoc-cube-view", inputs: ["filters", "cube", "view", "loading"], outputs: ["explore", "loadingChange"] }, { kind: "directive", type: i14.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i15.TranslatePipe, name: "translate" }] }); }
86
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CubeDocumentViewComponent, deps: [{ token: i1.SessionService }, { token: i2.DocumentViewRef }, { token: i3.CubeService }, { token: i4.Popup }, { token: i5.RouterImpl }, { token: i6.GuideService }], target: i0.ɵɵFactoryTarget.Component }); }
87
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: CubeDocumentViewComponent, selector: "ng-component", host: { classAttribute: "view" }, viewQueries: [{ propertyName: "viewPane", first: true, predicate: CubeViewComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"hasdata; else none\">\r\n <div class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"view.guide\"><mat-icon>help_outline</mat-icon></button>\r\n <ng-container *ngIf=\"alternate\">\r\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #cmenu>\r\n <button mat-menu-item *ngFor=\"let a of alternate\"\r\n (click)=\"switchTo(a)\">\r\n {{a.title}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #pmenu>\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">\r\n {{p.title}}\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"filterToggle($event)\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon>filter_list</mat-icon></button>\r\n </div>\r\n <div class=\"loading-view\" *ngIf=\"loading\">\r\n <mat-spinner color=\"accent\"></mat-spinner>\r\n </div>\r\n <bizdoc-cube-view [filters]=\"axes\" #vp\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube\"\r\n [view]=\"view\"\r\n (loading)=\"loading = $event\"></bizdoc-cube-view>\r\n</ng-container>\r\n<ng-template #none>\r\n <bizdoc-none icon=\"equalizer\" subtitle=\"NothingHere\"></bizdoc-none>\r\n</ng-template>\r\n", styles: [":host{display:flex;flex-direction:column;height:100%;min-height:220px}:host ::ng-deep .cube-view{flex:1 auto}\n"], dependencies: [{ kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i9.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i9.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i11.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i11.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i11.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i12.NoneComponent, selector: "bizdoc-none", inputs: ["title", "subtitle", "icon"] }, { kind: "component", type: i13.CubeViewComponent, selector: "bizdoc-cube-view", inputs: ["filters", "cube", "view", "loading"], outputs: ["explore", "loadingChange"] }, { kind: "directive", type: i14.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { kind: "pipe", type: i15.TranslatePipe, name: "translate" }] }); }
88
88
  };
89
89
  CubeDocumentViewComponent = __decorate([
90
90
  BizDoc({
@@ -92,7 +92,7 @@ CubeDocumentViewComponent = __decorate([
92
92
  })
93
93
  ], CubeDocumentViewComponent);
94
94
  export { CubeDocumentViewComponent };
95
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: CubeDocumentViewComponent, decorators: [{
95
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: CubeDocumentViewComponent, decorators: [{
96
96
  type: Component,
97
97
  args: [{ host: { class: 'view' }, template: "<ng-container *ngIf=\"hasdata; else none\">\r\n <div class=\"nav-toolbar\">\r\n <button mat-icon-button (click)=\"guide()\" [bizdocTooltip]=\"'Help' | translate\" *ngIf=\"view.guide\"><mat-icon>help_outline</mat-icon></button>\r\n <ng-container *ngIf=\"alternate\">\r\n <button mat-button [matMenuTriggerFor]=\"cmenu\">{{cube.title}} <mat-icon>arrow_drop_down</mat-icon></button>\r\n <mat-menu #cmenu>\r\n <button mat-menu-item *ngFor=\"let a of alternate\"\r\n (click)=\"switchTo(a)\">\r\n {{a.title}}\r\n </button>\r\n </mat-menu>\r\n </ng-container>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button [matMenuTriggerFor]=\"pmenu\" [bizdocTooltip]=\"'Patterns' | translate\" [disabled]=\"!patterns?.length\" data-help=\"pattern\"><mat-icon [class.filled]=\"pattern\">filter_alt</mat-icon></button>\r\n <mat-menu #pmenu>\r\n <button mat-menu-item *ngFor=\"let p of patterns\" (click)=\"patternChange(p)\">\r\n {{p.title}}\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button (click)=\"clearFilter()\" [bizdocTooltip]=\"'Clear' | translate\" [disabled]=\"!anyFilters\"><mat-icon>clear_all</mat-icon></button>\r\n <button mat-icon-button (click)=\"filterToggle($event)\" [bizdocTooltip]=\"'Filter' | translate\" [disabled]=\"!anyAxes\" data-help=\"filter\"><mat-icon>filter_list</mat-icon></button>\r\n </div>\r\n <div class=\"loading-view\" *ngIf=\"loading\">\r\n <mat-spinner color=\"accent\"></mat-spinner>\r\n </div>\r\n <bizdoc-cube-view [filters]=\"axes\" #vp\r\n (explore)=\"explore($event)\"\r\n [cube]=\"cube\"\r\n [view]=\"view\"\r\n (loading)=\"loading = $event\"></bizdoc-cube-view>\r\n</ng-container>\r\n<ng-template #none>\r\n <bizdoc-none icon=\"equalizer\" subtitle=\"NothingHere\"></bizdoc-none>\r\n</ng-template>\r\n", styles: [":host{display:flex;flex-direction:column;height:100%;min-height:220px}:host ::ng-deep .cube-view{flex:1 auto}\n"] }]
98
98
  }], ctorParameters: () => [{ type: i1.SessionService }, { type: i2.DocumentViewRef }, { type: i3.CubeService }, { type: i4.Popup }, { type: i5.RouterImpl }, { type: i6.GuideService }], propDecorators: { viewPane: [{
@@ -1,11 +1,11 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { Component, Inject, HostBinding } from '@angular/core';
3
- import { forkJoin, catchError } from 'rxjs';
3
+ import dayjs from 'dayjs';
4
4
  import { tap, map } from 'rxjs/operators';
5
+ import { forkJoin, catchError } from 'rxjs';
6
+ import { DayMarkersService, Gantt, SelectionService } from '@syncfusion/ej2-angular-gantt';
5
7
  import { BIZDOC_CONFIG } from '../../core/configuration';
6
8
  import { BizDoc } from '../../core/decorators';
7
- import { DayMarkersService, Gantt, SelectionService } from '@syncfusion/ej2-angular-gantt';
8
- import dayjs from 'dayjs';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "../../core/prompt.service";
11
11
  import * as i2 from "../document-view-ref";
@@ -313,15 +313,15 @@ let TimelineViewComponent = class TimelineViewComponent {
313
313
  _compare(task) {
314
314
  this._router.navigate(['mailbox/d', this.item.documentId.encodeId(), 'version', task.time.valueOf().encodeId()], { state: { item: this.item } });
315
315
  }
316
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TimelineViewComponent, deps: [{ token: i1.PromptService }, { token: i2.DocumentViewRef }, { token: BIZDOC_CONFIG }, { token: i3.AccountService }, { token: i4.SessionService }, { token: i5.TranslateService }, { token: i6.RouterImpl }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
317
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: TimelineViewComponent, selector: "bizdoc-timeline", host: { properties: { "dir": "this.dir" }, classAttribute: "view" }, providers: [SelectionService, DayMarkersService], ngImport: i0, template: '', isInline: true, styles: [":host{padding:8px}:host ::ng-deep .e-split-bar{display:none!important}\n"] }); }
316
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TimelineViewComponent, deps: [{ token: i1.PromptService }, { token: i2.DocumentViewRef }, { token: BIZDOC_CONFIG }, { token: i3.AccountService }, { token: i4.SessionService }, { token: i5.TranslateService }, { token: i6.RouterImpl }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
317
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: TimelineViewComponent, selector: "bizdoc-timeline", host: { properties: { "dir": "this.dir" }, classAttribute: "view" }, providers: [SelectionService, DayMarkersService], ngImport: i0, template: '', isInline: true, styles: [":host{padding:8px}:host ::ng-deep .e-split-bar{display:none!important}\n"] }); }
318
318
  };
319
319
  TimelineViewComponent = __decorate([
320
320
  BizDoc({ selector: 'bizdoc-timeline' })
321
321
  /** timeline-view component*/
322
322
  ], TimelineViewComponent);
323
323
  export { TimelineViewComponent };
324
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: TimelineViewComponent, decorators: [{
324
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: TimelineViewComponent, decorators: [{
325
325
  type: Component,
326
326
  args: [{ selector: 'bizdoc-timeline', template: '', host: { class: 'view' }, providers: [SelectionService, DayMarkersService], styles: [":host{padding:8px}:host ::ng-deep .e-split-bar{display:none!important}\n"] }]
327
327
  }], ctorParameters: () => [{ type: i1.PromptService }, { type: i2.DocumentViewRef }, { type: undefined, decorators: [{
@@ -330,4 +330,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
330
330
  }] }, { type: i3.AccountService }, { type: i4.SessionService }, { type: i5.TranslateService }, { type: i6.RouterImpl }, { type: i0.ElementRef }], propDecorators: { dir: [{
331
331
  type: HostBinding
332
332
  }] } });
333
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuY29tcG9uZW50LmV4cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvdmlld3MvdGltZWxpbmUvdGltZWxpbmUuY29tcG9uZW50LmV4cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBSy9ELE9BQU8sRUFBYyxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHMUMsT0FBTyxFQUFnQixhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDL0MsT0FBTyxFQUFlLGlCQUFpQixFQUF5QyxLQUFLLEVBQWdFLGdCQUFnQixFQUF5RixNQUFNLCtCQUErQixDQUFDO0FBS3BTLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQzs7Ozs7Ozs7QUFXbkIsSUFBTSxxQkFBcUIsR0FBM0IsTUFBTSxxQkFBcUI7SUFXaEMseUJBQXlCO0lBQ3pCLFlBQ1UsR0FBa0IsRUFDMUIsT0FBaUMsRUFDVixNQUFvQixFQUNuQyxNQUFzQixFQUN0QixRQUF3QixFQUN4QixVQUE0QixFQUM1QixPQUFtQixFQUNuQixRQUFvQjtRQVBwQixRQUFHLEdBQUgsR0FBRyxDQUFlO1FBR2xCLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsYUFBUSxHQUFSLFFBQVEsQ0FBWTtRQWpCckIsUUFBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO1FB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Q2pCLEVBQUUsUUFFTixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsYUFDWixDQUFDLGdCQUFnQixFQUFFLGlCQUFpQixDQUFDOzswQkFtQjdDLE1BQU07MkJBQUMsYUFBYTtvTEFaZCxHQUFHO3NCQURYLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvYWNjb3VudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZm9ya0pvaW4sIGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFwLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IERvY3VtZW50Vmlld0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvcmUvYmFzZSc7XHJcbmltcG9ydCB7IENoYWluLCBEb2N1bWVudE1vZGVsIH0gZnJvbSAnLi4vLi4vY29yZS9tb2RlbHMnO1xyXG5pbXBvcnQgeyBCaXpEb2NDb25maWcsIEJJWkRPQ19DT05GSUcgfSBmcm9tICcuLi8uLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBCaXpEb2MgfSBmcm9tICcuLi8uLi9jb3JlL2RlY29yYXRvcnMnO1xyXG5pbXBvcnQgeyBDb2x1bW5Nb2RlbCwgRGF5TWFya2Vyc1NlcnZpY2UsIERheVdvcmtpbmdUaW1lTW9kZWwsIEV2ZW50TWFya2VyTW9kZWwsIEdhbnR0LCBIb2xpZGF5TW9kZWwsIElRdWVyeVRhc2tiYXJJbmZvRXZlbnRBcmdzLCBMYWJlbFNldHRpbmdzTW9kZWwsIFNlbGVjdGlvblNlcnZpY2UsIFNlbGVjdGlvblNldHRpbmdzTW9kZWwsIFNwbGl0dGVyU2V0dGluZ3NNb2RlbCwgVGFza0ZpZWxkc01vZGVsLCBUaW1lbGluZVNldHRpbmdzTW9kZWwgfSBmcm9tICdAc3luY2Z1c2lvbi9lajItYW5ndWxhci1nYW50dCc7XHJcbmltcG9ydCB7IEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVySW1wbCB9IGZyb20gJy4uLy4uL2NvcmUvcm91dGVyJztcclxuaW1wb3J0IHsgRG9jdW1lbnRWaWV3UmVmIH0gZnJvbSAnLi4vZG9jdW1lbnQtdmlldy1yZWYnO1xyXG5pbXBvcnQgeyBNYWlsYm94U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvbWFpbGJveC5zZXJ2aWNlJztcclxuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLXRpbWVsaW5lJyxcclxuICB0ZW1wbGF0ZTogJycsXHJcbiAgc3R5bGVVcmxzOiBbJ3RpbWVsaW5lLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgaG9zdDogeyBjbGFzczogJ3ZpZXcnIH0sXHJcbiAgcHJvdmlkZXJzOiBbU2VsZWN0aW9uU2VydmljZSwgRGF5TWFya2Vyc1NlcnZpY2VdXHJcbn0pXHJcbkBCaXpEb2MoeyBzZWxlY3RvcjogJ2JpemRvYy10aW1lbGluZScgfSlcclxuLyoqIHRpbWVsaW5lLXZpZXcgY29tcG9uZW50Ki9cclxuZXhwb3J0IGNsYXNzIFRpbWVsaW5lVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIERvY3VtZW50Vmlld0NvbXBvbmVudCB7XHJcbiAgZGF0YTogVGFza1tdO1xyXG4gIEBIb3N0QmluZGluZygpXHJcbiAgcmVhZG9ubHkgZGlyID0gdGhpcy5fc2Vzc2lvbi5kaXJlY3Rpb247XHJcbiAgcmVhZG9ubHkgbG9jYWxlID0gdGhpcy5fc2Vzc2lvbi5sYW5ndWFnZTtcclxuICBpdGVtOiBEb2N1bWVudE1vZGVsPGFueT47XHJcbiAgZ2FudHQ6IEdhbnR0O1xyXG4gIGRhdGVGb3JtYXQ6IHN0cmluZztcclxuICBob2xpZGF5czogSG9saWRheU1vZGVsW107XHJcbiAgd2lkdGg6IG51bWJlciA9IDA7XHJcbiAgcmVhZG9ubHkgc2VsZWN0aW9uU2V0dGluZ3MgPSB7fSBhcyBTZWxlY3Rpb25TZXR0aW5nc01vZGVsO1xyXG4gIC8qKiB0aW1lbGluZS12aWV3IGN0b3IgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3BzOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgdmlld1JlZjogRG9jdW1lbnRWaWV3UmVmPE9wdGlvbnM+LFxyXG4gICAgQEluamVjdChCSVpET0NfQ09ORklHKSBjb25maWc6IEJpekRvY0NvbmZpZyxcclxuICAgIHByaXZhdGUgX3VzZXJzOiBBY2NvdW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXJJbXBsLFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZikge1xyXG4gICAgdGhpcy5jb2x1bW5zID0gW1xyXG4gICAgICB7IGZpZWxkOiAndGl0bGUnLCBoZWFkZXJUZXh0OiBfdHJhbnNsYXRlLmdldCgnVGFzaycpIH0sXHJcbiAgICAgIHsgZmllbGQ6ICduYW1lJywgaGVhZGVyVGV4dDogX3RyYW5zbGF0ZS5nZXQoJ1dobycpIH0sXHJcbiAgICAgIHsgZmllbGQ6ICd0aW1lJywgaGVhZGVyVGV4dDogX3RyYW5zbGF0ZS5nZXQoJ1doZW4nKSB9XHJcbiAgICBdO1xyXG4gICAgdGhpcy5kYXRlRm9ybWF0ID0gY29uZmlnICYmIGNvbmZpZy5mb3JtYXRzICYmIGNvbmZpZy5mb3JtYXRzLmRhdGVUaW1lIHx8ICdNTU1NIGQsIHl5eXkgaGg6bW0nO1xyXG4gICAgdGhpcy5ob2xpZGF5cyA9IF9zZXNzaW9uLnByb2ZpbGUuaG9saWRheXMgJiZcclxuICAgICAgX3Nlc3Npb24ucHJvZmlsZS5ob2xpZGF5cy5tYXAoaCA9PiAoeyBmcm9tOiBoLnN0YXJ0RGF0ZSwgdG86IGguZnJvbURhdGUsIGxhYmVsOiBoLnRpdGxlIH0pKVxyXG4gICAgdmlld1JlZi5yZXNpemUuc3Vic2NyaWJlKGQgPT4ge1xyXG4gICAgICB0aGlzLndpZHRoID0gZC53aWR0aCAtIDE2O1xyXG4gICAgICBpZiAodGhpcy5nYW50dCkge1xyXG4gICAgICAgIHRoaXMuZ2FudHQud2lkdGggPSBkLndpZHRoIC0gMTY7XHJcbiAgICAgICAgdGhpcy5nYW50dC53aW5kb3dSZXNpemUoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG9uQmluZChtb2RlbDogRG9jdW1lbnRNb2RlbDxhbnk+KSB7XHJcbiAgICB0aGlzLml0ZW0gPSBtb2RlbDtcclxuICAgIHRoaXMuX3ByZXBhcmUobW9kZWwpLnN1YnNjcmliZSh0YXNrcyA9PiB7XHJcbiAgICAgIHRoaXMuX2RyYXcodGFza3MpO1xyXG4gICAgICAvL3RoaXMuZ2FudHQuc2Nyb2xsVG9EYXRlKG5ldyBEYXRlKCkudG9TdHJpbmcoKSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZHJhdyh0YXNrczogVGFza1tdKSB7XHJcbiAgICB0aGlzLmdhbnR0ICYmIHRoaXMuZ2FudHQuZGVzdHJveSgpO1xyXG4gICAgdGhpcy5nYW50dCA9IG5ldyBHYW50dCh7XHJcbiAgICAgIGRhdGFTb3VyY2U6IHRhc2tzLFxyXG4gICAgICBxdWVyeVRhc2tiYXJJbmZvOiB0aGlzLnF1ZXJ5VGFza2JhckluZm8uYmluZCh0aGlzKSxcclxuICAgICAgdGFza0ZpZWxkczogdGhpcy50YXNrRmllbGRzLFxyXG4gICAgICBjb2x1bW5zOiB0aGlzLmNvbHVtbnMsXHJcbiAgICAgIGVuYWJsZVJ0bDogdGhpcy5fc2Vzc2lvbi5pbnZlcnNlLFxyXG4gICAgICAvLyAgdGltZWxpbmVTZXR0aW5nczogdGhpcy50aW1lbGluZVNldHRpbmdzLFxyXG4gICAgICBsYWJlbFNldHRpbmdzOiB0aGlzLmxhYmVsU2V0dGluZ3MsXHJcbiAgICAgIGV2ZW50TWFya2VyczogdGhpcy5ldmVudE1hcmtlcnMsXHJcbiAgICAgIHJlYWRPbmx5OiB0cnVlLFxyXG4gICAgICBzZWxlY3Rpb25TZXR0aW5nczogdGhpcy5zZWxlY3Rpb25TZXR0aW5ncyxcclxuICAgICAgYWxsb3dTZWxlY3Rpb246IHRydWUsXHJcbiAgICAgIGRhdGVGb3JtYXQ6IHRoaXMuZGF0ZUZvcm1hdCxcclxuICAgICAgdG9vbHRpcFNldHRpbmdzOiB0aGlzLnRvb2x0aXBTZXR0aW5ncyxcclxuICAgICAgLy90aW1lbGluZVNldHRpbmdzOiB7fSxcclxuICAgICAgcm93U2VsZWN0aW5nOiB0aGlzLnJvd1NlbGVjdGluZy5iaW5kKHRoaXMpLFxyXG4gICAgICBob2xpZGF5czogdGhpcy5ob2xpZGF5cyxcclxuICAgICAgLy8gIGluY2x1ZGVXZWVrZW5kOiB0cnVlLFxyXG4gICAgICBzcGxpdHRlclNldHRpbmdzOiB0aGlzLnNwbGl0dGVyU2V0dGluZ3MsXHJcbiAgICAgIC8vICBkdXJhdGlvblVuaXQ6ICdIb3VyJyxcclxuICAgICAgdGFza2JhckhlaWdodDogMzAsXHJcbiAgICAgIHJvd0hlaWdodDogNDAsXHJcbiAgICAgIHdpZHRoOiB0aGlzLndpZHRoXHJcbiAgICAgIC8vICBkYXlXb3JraW5nVGltZTogdGhpcy5kYXlXb3JraW5nVGltZVxyXG4gICAgfSwgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50KVxyXG4gICAgdGhpcy5jb2x1bW5zLmZvckVhY2goYyA9PlxyXG4gICAgICB0aGlzLmdhbnR0LmhpZGVDb2x1bW4oYy5maWVsZClcclxuICAgIClcclxuICB9XHJcbiAgcXVlcnlUYXNrYmFySW5mbyhldnQ6IElRdWVyeVRhc2tiYXJJbmZvRXZlbnRBcmdzKSB7XHJcbiAgICBldnQudGFza2JhckJnQ29sb3IgPSB0aGlzLl9zZXNzaW9uLmdldEFjY2VudCgpO1xyXG4gIH1cclxuICBwcml2YXRlIF9wcmVwYXJlKG1vZGVsOiBEb2N1bWVudE1vZGVsPGFueT4pOiBPYnNlcnZhYmxlPFRhc2tbXT4ge1xyXG4gICAgY29uc3QgcHJvbWlzc2VzOiBPYnNlcnZhYmxlPGFueT5bXSA9IFtdO1xyXG4gICAgbGV0IGkgPSAwO1xyXG4gICAgY29uc3QgdGFza3M6IFRhc2tbXSA9IFtdO1xyXG5cclxuICAgIC8vY29uc3Qgb2JzZXJ2YWJsZSA9IHRoaXMuX21haWxib3gudGltZWxpbmUobW9kZWwuZG9jdW1lbnRJZCkucGlwZSh0YXAodCA9PiB7XHJcbiAgICAvL30pKVxyXG5cclxuICAgIGNvbnN0IHByb2Nlc3MgPSAobW9kZWw6IERvY3VtZW50TW9kZWwpID0+IHtcclxuICAgICAgbW9kZWwubG9nLmZvckVhY2gobCA9PiB7XHJcbiAgICAgICAgbGV0IHRhc2s6IFRhc2s7XHJcbiAgICAgICAgc3dpdGNoIChsLnR5cGUpIHtcclxuICAgICAgICAgIGNhc2UgJ1N1Ym1pdCc6XHJcbiAgICAgICAgICAgIHRoaXMuZXZlbnRNYXJrZXJzLnB1c2goe1xyXG4gICAgICAgICAgICAgIGRheTogbmV3IERhdGUobC50aW1lKSxcclxuICAgICAgICAgICAgICBsYWJlbDogdGhpcy5fdHJhbnNsYXRlLmdldCgnU3VibWl0aW9uJylcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIGNhc2UgJ1N0YXRlQ2hhbmdlJzpcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLnN0YXRlcy5maW5kKHMgPT4gcy5uYW1lID09PSBsLnN0YXRlKTtcclxuICAgICAgICAgICAgICB0YXNrID0ge1xyXG4gICAgICAgICAgICAgICAgaWQ6IGkrKyxcclxuICAgICAgICAgICAgICAgIHR5cGU6IGwudHlwZSxcclxuICAgICAgICAgICAgICAgIG5vZGVJZDogbC5ub2RlSWQsXHJcbiAgICAgICAgICAgICAgICB0aW1lOiBuZXcgRGF0ZShsLnRpbWUpLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IHN0YXRlID8gc3RhdGUucGFzdCB8fCBzdGF0ZS50aXRsZSA6IGwuc3RhdGVcclxuICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgIGlmIChsLmR1cmF0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICB0YXNrLmVuZGluZyA9IG5ldyBEYXRlKHRhc2sudGltZS52YWx1ZU9mKCkgKyBsLmR1cmF0aW9uICogMTAwMCk7XHJcbiAgICAgICAgICAgICAgICB0YXNrLmR1cmF0aW9uID0gbC5kdXJhdGlvbiAqIDEwMDA7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIHRhc2suZW5kaW5nID0gbW9kZWwuY29tcGxldGVkID8gbmV3IERhdGUobC50aW1lKSA6IG5ldyBEYXRlKCk7XHJcbiAgICAgICAgICAgICAgdGFza3MucHVzaCh0YXNrKTtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgY2FzZSAnTW9kZWxDaGFuZ2UnOlxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdGFzayA9IHtcclxuICAgICAgICAgICAgICAgIGlkOiBpKyssXHJcbiAgICAgICAgICAgICAgICB0eXBlOiBsLnR5cGUsXHJcbiAgICAgICAgICAgICAgICBub2RlSWQ6IGwubm9kZUlkLFxyXG4gICAgICAgICAgICAgICAgdGltZTogbmV3IERhdGUobC50aW1lKSxcclxuICAgICAgICAgICAgICAgIHRpdGxlOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdFZGl0ZWQnKVxyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgaWYgKGwuZHVyYXRpb24pIHtcclxuICAgICAgICAgICAgICAgIHRhc2suZW5kaW5nID0gbmV3IERhdGUodGFzay50aW1lLnZhbHVlT2YoKSArIGwuZHVyYXRpb24gKiAxMDAwKTtcclxuICAgICAgICAgICAgICAgIHRhc2suZHVyYXRpb24gPSBsLmR1cmF0aW9uICogMTAwMDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgZWxzZSB0YXNrLmVuZGluZyA9IG5ldyBEYXRlKCk7XHJcblxyXG4gICAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gdGFza3MuZmluZCh0ID0+IHQudHlwZSA9PT0gJ1N0YXRlQ2hhbmdlJyAmJiB0LnRpbWUgPD0gdGFzay50aW1lICYmICghdC5lbmRpbmcgfHwgdC5lbmRpbmcgPj0gdGFzay5lbmRpbmcpKTtcclxuICAgICAgICAgICAgICBpZiAoc3RhdGUpIHtcclxuICAgICAgICAgICAgICAgIGlmICghc3RhdGUuc3VidGFza3MpIHN0YXRlLnN1YnRhc2tzID0gW107XHJcbiAgICAgICAgICAgICAgICBzdGF0ZS5zdWJ0YXNrcy5wdXNoKHRhc2spO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICB0YXNrcy5wdXNoKHRhc2spO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICBjYXNlICdBY3Rpb25UYWtlbic6XHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBjb25zdCBhY3Rpb24gPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuYWN0aW9ucy5maW5kKGEgPT4gYS5uYW1lID09PSBsLmFjdGlvbik7XHJcbiAgICAgICAgICAgICAgaWYgKGwuYWN0aW9uID09PSAnZGVsZXRlJykgcmV0dXJuO1xyXG4gICAgICAgICAgICAgIGNvbnN0IHRpbWUgPSBkYXlqcyhsLnRpbWUpO1xyXG4gICAgICAgICAgICAgIHRhc2sgPSB7XHJcbiAgICAgICAgICAgICAgICBpZDogaSsrLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogbC50eXBlLFxyXG4gICAgICAgICAgICAgICAgbm9kZUlkOiBsLm5vZGVJZCxcclxuICAgICAgICAgICAgICAgIGVuZGluZzogdGltZS50b0RhdGUoKSxcclxuICAgICAgICAgICAgICAgIHRpbWU6IHRpbWUuYWRkKC0gbC5kdXJhdGlvbiwgJ3MnKS50b0RhdGUoKSxcclxuICAgICAgICAgICAgICAgIGR1cmF0aW9uOiBsLmR1cmF0aW9uICogMTAwMCxcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBhY3Rpb24gPyBhY3Rpb24ucGFzdCB8fCBhY3Rpb24udGl0bGUgOiBsLmFjdGlvblxyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgaWYgKGwubm9kZUlkKSB7XHJcbiAgICAgICAgICAgICAgICBtb2RlbC53b3JrZmxvdy5jb25uZWN0b3JzLmZpbHRlcihjID0+IGMudGFyZ2V0SWQgPT09IGwubm9kZUlkKS5mb3JFYWNoKGMgPT4ge1xyXG4gICAgICAgICAgICAgICAgICBjb25zdCBkZXBlbmRlbmNpZXMgPSB0YXNrcy5maWx0ZXIobCA9PiBsLm5vZGVJZCA9PT0gYy5zb3VyY2VJZCkubWFwKGwgPT4gYEZTJHtsLmlkfWApO1xyXG4gICAgICAgICAgICAgICAgICBpZiAoZGVwZW5kZW5jaWVzLmxlbmd0aCkgdGFzay5kZXBlbmRlbmNpZXMgPSBkZXBlbmRlbmNpZXMuam9pbignLCcpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gdGFza3MuZmluZCh0ID0+IHQudHlwZSA9PT0gJ1N0YXRlQ2hhbmdlJyAmJiB0LnRpbWUgPD0gdGFzay50aW1lICYmICghdC5lbmRpbmcgfHwgdC5lbmRpbmcgPj0gdGFzay5lbmRpbmcpKTtcclxuICAgICAgICAgICAgICBpZiAoc3RhdGUpIHtcclxuICAgICAgICAgICAgICAgIGlmICghc3RhdGUuc3VidGFza3MpIHN0YXRlLnN1YnRhc2tzID0gW107XHJcbiAgICAgICAgICAgICAgICBzdGF0ZS5zdWJ0YXNrcy5wdXNoKHRhc2spO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICB0YXNrcy5wdXNoKHRhc2spO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChsLmJ5SWQpIHtcclxuICAgICAgICAgIGNvbnN0IHdobyA9IHRoaXMuX3VzZXJzLmdldChsLnVzZXJJZCksXHJcbiAgICAgICAgICAgIGJ5ID0gdGhpcy5fdXNlcnMuZ2V0KGwuYnlJZCk7XHJcbiAgICAgICAgICBjb25zdCBwcm9taXNlID0gZm9ya0pvaW4oW3dobywgYnldKS5waXBlKHRhcChucyA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IFt3aG8sIGJ5XSA9IG5zO1xyXG4gICAgICAgICAgICB0YXNrLm5hbWUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdCeScsIHdoby5uYW1lLCBieS5uYW1lKTtcclxuICAgICAgICAgICAgLy8gICAgaWYgKGwucm9sZSkge1xyXG4gICAgICAgICAgICAvLyAgICAgICAgY29uc3Qgcm9sZSA9IHRoaXMuc2Vzc2lvbi5wcm9maWxlLnJvbGVzLmZpbmQobyA9PiBvLm5hbWUgPT09IGwucm9sZSk7XHJcbiAgICAgICAgICAgIC8vICAgICAgICBpZiAocm9sZSkgdGFzay5uYW1lICs9IGAsICR7cm9sZS5uYW1lfWA7XHJcbiAgICAgICAgICAgIC8vICAgIH1cclxuICAgICAgICAgIH0pLCBjYXRjaEVycm9yKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fcHMuZXJyb3IoKTtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCk7XHJcbiAgICAgICAgICB9KSk7XHJcblxyXG4gICAgICAgICAgcHJvbWlzc2VzLnB1c2gocHJvbWlzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGwudXNlcklkKSB7XHJcbiAgICAgICAgICBjb25zdCBwcm9taXNlID0gdGhpcy5fdXNlcnMuZ2V0KGwudXNlcklkKS5waXBlKHRhcCh1ID0+IHtcclxuICAgICAgICAgICAgdGFzay5uYW1lID0gdS5uYW1lO1xyXG4gICAgICAgICAgICAvLyAgICBpZiAobC5yb2xlKSB7XHJcbiAgICAgICAgICAgIC8vICAgICAgICBjb25zdCByb2xlID0gdGhpcy5zZXNzaW9uLnByb2ZpbGUucm9sZXMuZmluZChvID0+IG8ubmFtZSA9PT0gbC5yb2xlKTtcclxuICAgICAgICAgICAgLy8gICAgICAgIGlmIChyb2xlKSB0YXNrLm5hbWUgKz0gYCwgJHtyb2xlLm5hbWV9YDtcclxuICAgICAgICAgICAgLy8gICAgfVxyXG4gICAgICAgICAgfSksIGNhdGNoRXJyb3IoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9wcy5lcnJvcigpO1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoKTtcclxuICAgICAgICAgIH0pKTtcclxuICAgICAgICAgIHByb21pc3Nlcy5wdXNoKHByb21pc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIG1vZGVsLmV2ZW50cy5mb3JFYWNoKGUgPT4ge1xyXG4gICAgICAgIHRoaXMuZXZlbnRNYXJrZXJzLnB1c2goe1xyXG4gICAgICAgICAgZGF5OiBuZXcgRGF0ZShlLnN0YXJ0aW5nKSxcclxuICAgICAgICAgIGxhYmVsOiBlLnRpdGxlXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgICBtb2RlbC5yZWNpcGllbnRzLmZvckVhY2gociA9PiB7XHJcbiAgICAgICAgaWYgKCFyLnBlbmRpbmcpXHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgY29uc3QgdGFzazogVGFzayA9IHtcclxuICAgICAgICAgIGlkOiBpKyssXHJcbiAgICAgICAgICB0eXBlOiAncGVuZGluZycsXHJcbiAgICAgICAgICB0aW1lOiBuZXcgRGF0ZShyLnJlY2VpdmVkKSxcclxuICAgICAgICAgIHRpdGxlOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdJc1BlbmRpbmcnKVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgaWYgKHIuc3Vic3RpdHV0ZUlkKSB7XHJcbiAgICAgICAgICBjb25zdCBieSA9IHRoaXMuX3VzZXJzLmdldChyLnN1YnN0aXR1dGVJZCk7XHJcbiAgICAgICAgICBjb25zdCB3aG8gPSB0aGlzLl91c2Vycy5nZXQoci51c2VySWQpO1xyXG4gICAgICAgICAgY29uc3QgcHJvbWlzZSA9IGZvcmtKb2luKFt3aG8sIGJ5XSkucGlwZSh0YXAodSA9PiB7XHJcbiAgICAgICAgICAgIHRhc2submFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1dob1N1YnN0aXR1dGluZycsIHVbMF0ubmFtZSwgdVsxXS5uYW1lKTtcclxuICAgICAgICAgICAgaWYgKHVbMF0ucm9sZSlcclxuICAgICAgICAgICAgICB0YXNrLm5hbWUgKz0gYCwgJHt1WzBdLnJvbGV9YDtcclxuICAgICAgICAgICAgaWYgKHIucm9sZSkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IHJvbGUgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUucm9sZXMuZmluZChvID0+IG8ubmFtZSA9PT0gci5yb2xlKTtcclxuICAgICAgICAgICAgICBpZiAocm9sZSkgdGFzay5uYW1lICs9IGAsICR7cm9sZS5uYW1lfWA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pLCBjYXRjaEVycm9yKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fcHMuZXJyb3IoKTtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCk7XHJcbiAgICAgICAgICB9KSk7XHJcblxyXG4gICAgICAgICAgcHJvbWlzc2VzLnB1c2gocHJvbWlzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuX3VzZXJzLmdldChyLnVzZXJJZCkucGlwZSh0YXAodSA9PiB7XHJcbiAgICAgICAgICAgIHRhc2submFtZSA9IHUubmFtZTtcclxuICAgICAgICAgICAgaWYgKHUucm9sZSlcclxuICAgICAgICAgICAgICB0YXNrLm5hbWUgKz0gYCwgJHt1LnJvbGV9YDtcclxuICAgICAgICAgICAgZWxzZSBpZiAoci5yb2xlKSB7XHJcbiAgICAgICAgICAgICAgY29uc3Qgcm9sZSA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5yb2xlcy5maW5kKG8gPT4gby5uYW1lID09PSByLnJvbGUpO1xyXG4gICAgICAgICAgICAgIGlmIChyb2xlKSB0YXNrLm5hbWUgKz0gYCwgJHtyb2xlLm5hbWV9YDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSksIGNhdGNoRXJyb3IoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9wcy5lcnJvcigpO1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoKTtcclxuICAgICAgICAgIH0pKTtcclxuICAgICAgICAgIHByb21pc3Nlcy5wdXNoKHByb21pc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoci5ub2RlSWQpIHtcclxuICAgICAgICAgIG1vZGVsLndvcmtmbG93LmNvbm5lY3RvcnMuZmlsdGVyKGMgPT4gYy50YXJnZXRJZCA9PT0gci5ub2RlSWQpLmZvckVhY2goYyA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHByZWRlY2Vzc29ycyA9IHRhc2tzLmZpbHRlcihsID0+IGwubm9kZUlkID09PSBjLnNvdXJjZUlkKS5tYXAobCA9PiBsLmlkKTtcclxuICAgICAgICAgICAgaWYgKHByZWRlY2Vzc29ycy5sZW5ndGgpIHRhc2suZGVwZW5kZW5jaWVzID0gcHJlZGVjZXNzb3JzLmpvaW4oJywnKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBzdGF0ZSA9IHRhc2tzLmZpbmQodCA9PiB0LnR5cGUgPT09ICdTdGF0ZUNoYW5nZScgJiYgdC50aW1lIDw9IHRhc2sudGltZSAmJiAoIXQuZW5kaW5nIHx8IHQuZW5kaW5nID49IHRhc2sudGltZSkpO1xyXG4gICAgICAgIGlmIChzdGF0ZSkge1xyXG4gICAgICAgICAgaWYgKCFzdGF0ZS5zdWJ0YXNrcykgc3RhdGUuc3VidGFza3MgPSBbXTtcclxuICAgICAgICAgIHN0YXRlLnN1YnRhc2tzLnB1c2godGFzayk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHRhc2tzLnB1c2godGFzayk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcHJvY2Vzcyhtb2RlbCk7XHJcbiAgICByZXR1cm4gZm9ya0pvaW4ocHJvbWlzc2VzKS5cclxuICAgICAgcGlwZShtYXAoKCkgPT4gdGFza3Muc29ydCgodDAsIHQxKSA9PiB0MC50aW1lID4gdDEudGltZSA/IDEgOiAtMSkpKTtcclxuICB9XHJcbiAgcm93U2VsZWN0aW5nKHIpIHtcclxuICAgIGlmIChyLmRhdGEudGFza0RhdGEudHlwZSA9PT0gJ01vZGVsQ2hhbmdlJylcclxuICAgICAgdGhpcy5fY29tcGFyZShyLmRhdGEpO1xyXG4gIH1cclxuICBwdWJsaWMgX2NvbXBhcmUodGFzazogVGFzaykge1xyXG4gICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnbWFpbGJveC9kJywgdGhpcy5pdGVtLmRvY3VtZW50SWQuZW5jb2RlSWQoKSwgJ3ZlcnNpb24nLCB0YXNrLnRpbWUudmFsdWVPZigpLmVuY29kZUlkKCldLCB7IHN0YXRlOiB7IGl0ZW06IHRoaXMuaXRlbSB9IH0pXHJcbiAgfVxyXG4gIHJlYWRvbmx5IHRhc2tGaWVsZHM6IFRhc2tGaWVsZHNNb2RlbCA9IHtcclxuICAgIGlkOiAnaWQnLFxyXG4gICAgbmFtZTogJ3RpdGxlJyxcclxuICAgIHN0YXJ0RGF0ZTogJ3RpbWUnLFxyXG4gICAgZW5kRGF0ZTogJ2VuZGluZycsXHJcbiAgICBkdXJhdGlvbjogJ2R1cmF0aW9uJyxcclxuICAgIGRlcGVuZGVuY3k6ICdkZXBlbmRlbmNpZXMnLFxyXG4gICAgY2hpbGQ6ICdzdWJ0YXNrcydcclxuICB9O1xyXG4gIGNvbHVtbnM6IENvbHVtbk1vZGVsW107XHJcbiAgcmVhZG9ubHkgdG9vbHRpcFNldHRpbmdzID0geyBzaG93VG9vbHRpcDogZmFsc2UgfTtcclxuICByZWFkb25seSB0aW1lbGluZVNldHRpbmdzOiBUaW1lbGluZVNldHRpbmdzTW9kZWwgPSB7XHJcbiAgICB0aW1lbGluZVVuaXRTaXplOiA2MCxcclxuICAgIHRvcFRpZXI6IHtcclxuICAgICAgZm9ybWF0OiAnTU1NIGRkLCB5eXl5JyxcclxuICAgICAgdW5pdDogJ0RheScsXHJcbiAgICB9LFxyXG4gICAgYm90dG9tVGllcjoge1xyXG4gICAgICB1bml0OiAnSG91cicsXHJcbiAgICAgIGZvcm1hdDogJ2gubW0gYSdcclxuICAgIH1cclxuICB9O1xyXG4gIHJlYWRvbmx5IGV2ZW50TWFya2VyczogRXZlbnRNYXJrZXJNb2RlbFtdID0gW1xyXG4gIF07XHJcbiAgcHVibGljIGxhYmVsU2V0dGluZ3M6IExhYmVsU2V0dGluZ3NNb2RlbCA9IHtcclxuICAgIHJpZ2h0TGFiZWw6ICduYW1lJywgbGVmdExhYmVsOiAndGl0bGUnXHJcbiAgfTtcclxuICBwdWJsaWMgc3BsaXR0ZXJTZXR0aW5nczogU3BsaXR0ZXJTZXR0aW5nc01vZGVsID0ge1xyXG4gICAgY29sdW1uSW5kZXg6IDMsXHJcbiAgICB2aWV3OiAnQ2hhcnQnLFxyXG4gICAgc2VwYXJhdG9yU2l6ZTogMFxyXG4gIH07XHJcbiAgcHVibGljIGRheVdvcmtpbmdUaW1lOiBEYXlXb3JraW5nVGltZU1vZGVsW10gPSBbeyBmcm9tOiAwLCB0bzogMjQgfV07XHJcbn1cclxuaW50ZXJmYWNlIFRhc2sge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgdHlwZTogc3RyaW5nO1xyXG4gIG5vZGVJZD86IHN0cmluZztcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIHRpbWU6IERhdGU7XHJcbiAgZW5kaW5nPzogRGF0ZTtcclxuICBkdXJhdGlvbj86IG51bWJlcjtcclxuICBzdWJ0YXNrcz86IFRhc2tbXTtcclxuICBkZXBlbmRlbmNpZXM/OiBzdHJpbmc7XHJcbiAgaW5kaWNhdG9ycz86IGFueVtdLFxyXG59XHJcbmludGVyZmFjZSBPcHRpb25zIHtcclxuXHJcbn1cclxuIl19
333
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuY29tcG9uZW50LmV4cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvdmlld3MvdGltZWxpbmUvdGltZWxpbmUuY29tcG9uZW50LmV4cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQzNFLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFDLE9BQU8sRUFBYyxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hELE9BQU8sRUFBZSxpQkFBaUIsRUFBeUMsS0FBSyxFQUFnRSxnQkFBZ0IsRUFBeUYsTUFBTSwrQkFBK0IsQ0FBQztBQU9wUyxPQUFPLEVBQWdCLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7Ozs7QUFheEMsSUFBTSxxQkFBcUIsR0FBM0IsTUFBTSxxQkFBcUI7SUFXaEMseUJBQXlCO0lBQ3pCLFlBQ1UsR0FBa0IsRUFDMUIsT0FBaUMsRUFDVixNQUFvQixFQUNuQyxNQUFzQixFQUN0QixRQUF3QixFQUN4QixVQUE0QixFQUM1QixPQUFtQixFQUNuQixRQUFvQjtRQVBwQixRQUFHLEdBQUgsR0FBRyxDQUFlO1FBR2xCLFdBQU0sR0FBTixNQUFNLENBQWdCO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3hCLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBQzVCLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsYUFBUSxHQUFSLFFBQVEsQ0FBWTtRQWpCckIsUUFBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDO1FB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Q2pCLEVBQUUsUUFFTixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsYUFDWixDQUFDLGdCQUFnQixFQUFFLGlCQUFpQixDQUFDOzswQkFtQjdDLE1BQU07MkJBQUMsYUFBYTtvTEFaZCxHQUFHO3NCQURYLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgSG9zdEJpbmRpbmcsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcclxuaW1wb3J0IHsgdGFwLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGZvcmtKb2luLCBjYXRjaEVycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IENvbHVtbk1vZGVsLCBEYXlNYXJrZXJzU2VydmljZSwgRGF5V29ya2luZ1RpbWVNb2RlbCwgRXZlbnRNYXJrZXJNb2RlbCwgR2FudHQsIEhvbGlkYXlNb2RlbCwgSVF1ZXJ5VGFza2JhckluZm9FdmVudEFyZ3MsIExhYmVsU2V0dGluZ3NNb2RlbCwgU2VsZWN0aW9uU2VydmljZSwgU2VsZWN0aW9uU2V0dGluZ3NNb2RlbCwgU3BsaXR0ZXJTZXR0aW5nc01vZGVsLCBUYXNrRmllbGRzTW9kZWwsIFRpbWVsaW5lU2V0dGluZ3NNb2RlbCB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWdhbnR0JztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb3JlL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUHJvbXB0U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvcHJvbXB0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBY2NvdW50U2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUvYWNjb3VudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRG9jdW1lbnRWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29yZS9iYXNlJztcclxuaW1wb3J0IHsgQ2hhaW4sIERvY3VtZW50TW9kZWwgfSBmcm9tICcuLi8uLi9jb3JlL21vZGVscyc7XHJcbmltcG9ydCB7IEJpekRvY0NvbmZpZywgQklaRE9DX0NPTkZJRyB9IGZyb20gJy4uLy4uL2NvcmUvY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IEJpekRvYyB9IGZyb20gJy4uLy4uL2NvcmUvZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IFJvdXRlckltcGwgfSBmcm9tICcuLi8uLi9jb3JlL3JvdXRlcic7XHJcbmltcG9ydCB7IERvY3VtZW50Vmlld1JlZiB9IGZyb20gJy4uL2RvY3VtZW50LXZpZXctcmVmJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLXRpbWVsaW5lJyxcclxuICB0ZW1wbGF0ZTogJycsXHJcbiAgc3R5bGVVcmxzOiBbJ3RpbWVsaW5lLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgaG9zdDogeyBjbGFzczogJ3ZpZXcnIH0sXHJcbiAgcHJvdmlkZXJzOiBbU2VsZWN0aW9uU2VydmljZSwgRGF5TWFya2Vyc1NlcnZpY2VdXHJcbn0pXHJcbkBCaXpEb2MoeyBzZWxlY3RvcjogJ2JpemRvYy10aW1lbGluZScgfSlcclxuLyoqIHRpbWVsaW5lLXZpZXcgY29tcG9uZW50Ki9cclxuZXhwb3J0IGNsYXNzIFRpbWVsaW5lVmlld0NvbXBvbmVudCBpbXBsZW1lbnRzIERvY3VtZW50Vmlld0NvbXBvbmVudCB7XHJcbiAgZGF0YTogVGFza1tdO1xyXG4gIEBIb3N0QmluZGluZygpXHJcbiAgcmVhZG9ubHkgZGlyID0gdGhpcy5fc2Vzc2lvbi5kaXJlY3Rpb247XHJcbiAgcmVhZG9ubHkgbG9jYWxlID0gdGhpcy5fc2Vzc2lvbi5sYW5ndWFnZTtcclxuICBpdGVtOiBEb2N1bWVudE1vZGVsPGFueT47XHJcbiAgZ2FudHQ6IEdhbnR0O1xyXG4gIGRhdGVGb3JtYXQ6IHN0cmluZztcclxuICBob2xpZGF5czogSG9saWRheU1vZGVsW107XHJcbiAgd2lkdGg6IG51bWJlciA9IDA7XHJcbiAgcmVhZG9ubHkgc2VsZWN0aW9uU2V0dGluZ3MgPSB7fSBhcyBTZWxlY3Rpb25TZXR0aW5nc01vZGVsO1xyXG4gIC8qKiB0aW1lbGluZS12aWV3IGN0b3IgKi9cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX3BzOiBQcm9tcHRTZXJ2aWNlLFxyXG4gICAgdmlld1JlZjogRG9jdW1lbnRWaWV3UmVmPE9wdGlvbnM+LFxyXG4gICAgQEluamVjdChCSVpET0NfQ09ORklHKSBjb25maWc6IEJpekRvY0NvbmZpZyxcclxuICAgIHByaXZhdGUgX3VzZXJzOiBBY2NvdW50U2VydmljZSxcclxuICAgIHByaXZhdGUgX3Nlc3Npb246IFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXJJbXBsLFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZikge1xyXG4gICAgdGhpcy5jb2x1bW5zID0gW1xyXG4gICAgICB7IGZpZWxkOiAndGl0bGUnLCBoZWFkZXJUZXh0OiBfdHJhbnNsYXRlLmdldCgnVGFzaycpIH0sXHJcbiAgICAgIHsgZmllbGQ6ICduYW1lJywgaGVhZGVyVGV4dDogX3RyYW5zbGF0ZS5nZXQoJ1dobycpIH0sXHJcbiAgICAgIHsgZmllbGQ6ICd0aW1lJywgaGVhZGVyVGV4dDogX3RyYW5zbGF0ZS5nZXQoJ1doZW4nKSB9XHJcbiAgICBdO1xyXG4gICAgdGhpcy5kYXRlRm9ybWF0ID0gY29uZmlnICYmIGNvbmZpZy5mb3JtYXRzICYmIGNvbmZpZy5mb3JtYXRzLmRhdGVUaW1lIHx8ICdNTU1NIGQsIHl5eXkgaGg6bW0nO1xyXG4gICAgdGhpcy5ob2xpZGF5cyA9IF9zZXNzaW9uLnByb2ZpbGUuaG9saWRheXMgJiZcclxuICAgICAgX3Nlc3Npb24ucHJvZmlsZS5ob2xpZGF5cy5tYXAoaCA9PiAoeyBmcm9tOiBoLnN0YXJ0RGF0ZSwgdG86IGguZnJvbURhdGUsIGxhYmVsOiBoLnRpdGxlIH0pKVxyXG4gICAgdmlld1JlZi5yZXNpemUuc3Vic2NyaWJlKGQgPT4ge1xyXG4gICAgICB0aGlzLndpZHRoID0gZC53aWR0aCAtIDE2O1xyXG4gICAgICBpZiAodGhpcy5nYW50dCkge1xyXG4gICAgICAgIHRoaXMuZ2FudHQud2lkdGggPSBkLndpZHRoIC0gMTY7XHJcbiAgICAgICAgdGhpcy5nYW50dC53aW5kb3dSZXNpemUoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG9uQmluZChtb2RlbDogRG9jdW1lbnRNb2RlbDxhbnk+KSB7XHJcbiAgICB0aGlzLml0ZW0gPSBtb2RlbDtcclxuICAgIHRoaXMuX3ByZXBhcmUobW9kZWwpLnN1YnNjcmliZSh0YXNrcyA9PiB7XHJcbiAgICAgIHRoaXMuX2RyYXcodGFza3MpO1xyXG4gICAgICAvL3RoaXMuZ2FudHQuc2Nyb2xsVG9EYXRlKG5ldyBEYXRlKCkudG9TdHJpbmcoKSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZHJhdyh0YXNrczogVGFza1tdKSB7XHJcbiAgICB0aGlzLmdhbnR0ICYmIHRoaXMuZ2FudHQuZGVzdHJveSgpO1xyXG4gICAgdGhpcy5nYW50dCA9IG5ldyBHYW50dCh7XHJcbiAgICAgIGRhdGFTb3VyY2U6IHRhc2tzLFxyXG4gICAgICBxdWVyeVRhc2tiYXJJbmZvOiB0aGlzLnF1ZXJ5VGFza2JhckluZm8uYmluZCh0aGlzKSxcclxuICAgICAgdGFza0ZpZWxkczogdGhpcy50YXNrRmllbGRzLFxyXG4gICAgICBjb2x1bW5zOiB0aGlzLmNvbHVtbnMsXHJcbiAgICAgIGVuYWJsZVJ0bDogdGhpcy5fc2Vzc2lvbi5pbnZlcnNlLFxyXG4gICAgICAvLyAgdGltZWxpbmVTZXR0aW5nczogdGhpcy50aW1lbGluZVNldHRpbmdzLFxyXG4gICAgICBsYWJlbFNldHRpbmdzOiB0aGlzLmxhYmVsU2V0dGluZ3MsXHJcbiAgICAgIGV2ZW50TWFya2VyczogdGhpcy5ldmVudE1hcmtlcnMsXHJcbiAgICAgIHJlYWRPbmx5OiB0cnVlLFxyXG4gICAgICBzZWxlY3Rpb25TZXR0aW5nczogdGhpcy5zZWxlY3Rpb25TZXR0aW5ncyxcclxuICAgICAgYWxsb3dTZWxlY3Rpb246IHRydWUsXHJcbiAgICAgIGRhdGVGb3JtYXQ6IHRoaXMuZGF0ZUZvcm1hdCxcclxuICAgICAgdG9vbHRpcFNldHRpbmdzOiB0aGlzLnRvb2x0aXBTZXR0aW5ncyxcclxuICAgICAgLy90aW1lbGluZVNldHRpbmdzOiB7fSxcclxuICAgICAgcm93U2VsZWN0aW5nOiB0aGlzLnJvd1NlbGVjdGluZy5iaW5kKHRoaXMpLFxyXG4gICAgICBob2xpZGF5czogdGhpcy5ob2xpZGF5cyxcclxuICAgICAgLy8gIGluY2x1ZGVXZWVrZW5kOiB0cnVlLFxyXG4gICAgICBzcGxpdHRlclNldHRpbmdzOiB0aGlzLnNwbGl0dGVyU2V0dGluZ3MsXHJcbiAgICAgIC8vICBkdXJhdGlvblVuaXQ6ICdIb3VyJyxcclxuICAgICAgdGFza2JhckhlaWdodDogMzAsXHJcbiAgICAgIHJvd0hlaWdodDogNDAsXHJcbiAgICAgIHdpZHRoOiB0aGlzLndpZHRoXHJcbiAgICAgIC8vICBkYXlXb3JraW5nVGltZTogdGhpcy5kYXlXb3JraW5nVGltZVxyXG4gICAgfSwgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50KVxyXG4gICAgdGhpcy5jb2x1bW5zLmZvckVhY2goYyA9PlxyXG4gICAgICB0aGlzLmdhbnR0LmhpZGVDb2x1bW4oYy5maWVsZClcclxuICAgIClcclxuICB9XHJcbiAgcXVlcnlUYXNrYmFySW5mbyhldnQ6IElRdWVyeVRhc2tiYXJJbmZvRXZlbnRBcmdzKSB7XHJcbiAgICBldnQudGFza2JhckJnQ29sb3IgPSB0aGlzLl9zZXNzaW9uLmdldEFjY2VudCgpO1xyXG4gIH1cclxuICBwcml2YXRlIF9wcmVwYXJlKG1vZGVsOiBEb2N1bWVudE1vZGVsPGFueT4pOiBPYnNlcnZhYmxlPFRhc2tbXT4ge1xyXG4gICAgY29uc3QgcHJvbWlzc2VzOiBPYnNlcnZhYmxlPGFueT5bXSA9IFtdO1xyXG4gICAgbGV0IGkgPSAwO1xyXG4gICAgY29uc3QgdGFza3M6IFRhc2tbXSA9IFtdO1xyXG5cclxuICAgIC8vY29uc3Qgb2JzZXJ2YWJsZSA9IHRoaXMuX21haWxib3gudGltZWxpbmUobW9kZWwuZG9jdW1lbnRJZCkucGlwZSh0YXAodCA9PiB7XHJcbiAgICAvL30pKVxyXG5cclxuICAgIGNvbnN0IHByb2Nlc3MgPSAobW9kZWw6IERvY3VtZW50TW9kZWwpID0+IHtcclxuICAgICAgbW9kZWwubG9nLmZvckVhY2gobCA9PiB7XHJcbiAgICAgICAgbGV0IHRhc2s6IFRhc2s7XHJcbiAgICAgICAgc3dpdGNoIChsLnR5cGUpIHtcclxuICAgICAgICAgIGNhc2UgJ1N1Ym1pdCc6XHJcbiAgICAgICAgICAgIHRoaXMuZXZlbnRNYXJrZXJzLnB1c2goe1xyXG4gICAgICAgICAgICAgIGRheTogbmV3IERhdGUobC50aW1lKSxcclxuICAgICAgICAgICAgICBsYWJlbDogdGhpcy5fdHJhbnNsYXRlLmdldCgnU3VibWl0aW9uJylcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgIGNhc2UgJ1N0YXRlQ2hhbmdlJzpcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLnN0YXRlcy5maW5kKHMgPT4gcy5uYW1lID09PSBsLnN0YXRlKTtcclxuICAgICAgICAgICAgICB0YXNrID0ge1xyXG4gICAgICAgICAgICAgICAgaWQ6IGkrKyxcclxuICAgICAgICAgICAgICAgIHR5cGU6IGwudHlwZSxcclxuICAgICAgICAgICAgICAgIG5vZGVJZDogbC5ub2RlSWQsXHJcbiAgICAgICAgICAgICAgICB0aW1lOiBuZXcgRGF0ZShsLnRpbWUpLFxyXG4gICAgICAgICAgICAgICAgdGl0bGU6IHN0YXRlID8gc3RhdGUucGFzdCB8fCBzdGF0ZS50aXRsZSA6IGwuc3RhdGVcclxuICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgIGlmIChsLmR1cmF0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICB0YXNrLmVuZGluZyA9IG5ldyBEYXRlKHRhc2sudGltZS52YWx1ZU9mKCkgKyBsLmR1cmF0aW9uICogMTAwMCk7XHJcbiAgICAgICAgICAgICAgICB0YXNrLmR1cmF0aW9uID0gbC5kdXJhdGlvbiAqIDEwMDA7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIHRhc2suZW5kaW5nID0gbW9kZWwuY29tcGxldGVkID8gbmV3IERhdGUobC50aW1lKSA6IG5ldyBEYXRlKCk7XHJcbiAgICAgICAgICAgICAgdGFza3MucHVzaCh0YXNrKTtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgY2FzZSAnTW9kZWxDaGFuZ2UnOlxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdGFzayA9IHtcclxuICAgICAgICAgICAgICAgIGlkOiBpKyssXHJcbiAgICAgICAgICAgICAgICB0eXBlOiBsLnR5cGUsXHJcbiAgICAgICAgICAgICAgICBub2RlSWQ6IGwubm9kZUlkLFxyXG4gICAgICAgICAgICAgICAgdGltZTogbmV3IERhdGUobC50aW1lKSxcclxuICAgICAgICAgICAgICAgIHRpdGxlOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdFZGl0ZWQnKVxyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgaWYgKGwuZHVyYXRpb24pIHtcclxuICAgICAgICAgICAgICAgIHRhc2suZW5kaW5nID0gbmV3IERhdGUodGFzay50aW1lLnZhbHVlT2YoKSArIGwuZHVyYXRpb24gKiAxMDAwKTtcclxuICAgICAgICAgICAgICAgIHRhc2suZHVyYXRpb24gPSBsLmR1cmF0aW9uICogMTAwMDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgZWxzZSB0YXNrLmVuZGluZyA9IG5ldyBEYXRlKCk7XHJcblxyXG4gICAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gdGFza3MuZmluZCh0ID0+IHQudHlwZSA9PT0gJ1N0YXRlQ2hhbmdlJyAmJiB0LnRpbWUgPD0gdGFzay50aW1lICYmICghdC5lbmRpbmcgfHwgdC5lbmRpbmcgPj0gdGFzay5lbmRpbmcpKTtcclxuICAgICAgICAgICAgICBpZiAoc3RhdGUpIHtcclxuICAgICAgICAgICAgICAgIGlmICghc3RhdGUuc3VidGFza3MpIHN0YXRlLnN1YnRhc2tzID0gW107XHJcbiAgICAgICAgICAgICAgICBzdGF0ZS5zdWJ0YXNrcy5wdXNoKHRhc2spO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICB0YXNrcy5wdXNoKHRhc2spO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICBjYXNlICdBY3Rpb25UYWtlbic6XHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBjb25zdCBhY3Rpb24gPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUuYWN0aW9ucy5maW5kKGEgPT4gYS5uYW1lID09PSBsLmFjdGlvbik7XHJcbiAgICAgICAgICAgICAgaWYgKGwuYWN0aW9uID09PSAnZGVsZXRlJykgcmV0dXJuO1xyXG4gICAgICAgICAgICAgIGNvbnN0IHRpbWUgPSBkYXlqcyhsLnRpbWUpO1xyXG4gICAgICAgICAgICAgIHRhc2sgPSB7XHJcbiAgICAgICAgICAgICAgICBpZDogaSsrLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogbC50eXBlLFxyXG4gICAgICAgICAgICAgICAgbm9kZUlkOiBsLm5vZGVJZCxcclxuICAgICAgICAgICAgICAgIGVuZGluZzogdGltZS50b0RhdGUoKSxcclxuICAgICAgICAgICAgICAgIHRpbWU6IHRpbWUuYWRkKC0gbC5kdXJhdGlvbiwgJ3MnKS50b0RhdGUoKSxcclxuICAgICAgICAgICAgICAgIGR1cmF0aW9uOiBsLmR1cmF0aW9uICogMTAwMCxcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBhY3Rpb24gPyBhY3Rpb24ucGFzdCB8fCBhY3Rpb24udGl0bGUgOiBsLmFjdGlvblxyXG4gICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgaWYgKGwubm9kZUlkKSB7XHJcbiAgICAgICAgICAgICAgICBtb2RlbC53b3JrZmxvdy5jb25uZWN0b3JzLmZpbHRlcihjID0+IGMudGFyZ2V0SWQgPT09IGwubm9kZUlkKS5mb3JFYWNoKGMgPT4ge1xyXG4gICAgICAgICAgICAgICAgICBjb25zdCBkZXBlbmRlbmNpZXMgPSB0YXNrcy5maWx0ZXIobCA9PiBsLm5vZGVJZCA9PT0gYy5zb3VyY2VJZCkubWFwKGwgPT4gYEZTJHtsLmlkfWApO1xyXG4gICAgICAgICAgICAgICAgICBpZiAoZGVwZW5kZW5jaWVzLmxlbmd0aCkgdGFzay5kZXBlbmRlbmNpZXMgPSBkZXBlbmRlbmNpZXMuam9pbignLCcpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gdGFza3MuZmluZCh0ID0+IHQudHlwZSA9PT0gJ1N0YXRlQ2hhbmdlJyAmJiB0LnRpbWUgPD0gdGFzay50aW1lICYmICghdC5lbmRpbmcgfHwgdC5lbmRpbmcgPj0gdGFzay5lbmRpbmcpKTtcclxuICAgICAgICAgICAgICBpZiAoc3RhdGUpIHtcclxuICAgICAgICAgICAgICAgIGlmICghc3RhdGUuc3VidGFza3MpIHN0YXRlLnN1YnRhc2tzID0gW107XHJcbiAgICAgICAgICAgICAgICBzdGF0ZS5zdWJ0YXNrcy5wdXNoKHRhc2spO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICB0YXNrcy5wdXNoKHRhc2spO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChsLmJ5SWQpIHtcclxuICAgICAgICAgIGNvbnN0IHdobyA9IHRoaXMuX3VzZXJzLmdldChsLnVzZXJJZCksXHJcbiAgICAgICAgICAgIGJ5ID0gdGhpcy5fdXNlcnMuZ2V0KGwuYnlJZCk7XHJcbiAgICAgICAgICBjb25zdCBwcm9taXNlID0gZm9ya0pvaW4oW3dobywgYnldKS5waXBlKHRhcChucyA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IFt3aG8sIGJ5XSA9IG5zO1xyXG4gICAgICAgICAgICB0YXNrLm5hbWUgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdCeScsIHdoby5uYW1lLCBieS5uYW1lKTtcclxuICAgICAgICAgICAgLy8gICAgaWYgKGwucm9sZSkge1xyXG4gICAgICAgICAgICAvLyAgICAgICAgY29uc3Qgcm9sZSA9IHRoaXMuc2Vzc2lvbi5wcm9maWxlLnJvbGVzLmZpbmQobyA9PiBvLm5hbWUgPT09IGwucm9sZSk7XHJcbiAgICAgICAgICAgIC8vICAgICAgICBpZiAocm9sZSkgdGFzay5uYW1lICs9IGAsICR7cm9sZS5uYW1lfWA7XHJcbiAgICAgICAgICAgIC8vICAgIH1cclxuICAgICAgICAgIH0pLCBjYXRjaEVycm9yKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fcHMuZXJyb3IoKTtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCk7XHJcbiAgICAgICAgICB9KSk7XHJcblxyXG4gICAgICAgICAgcHJvbWlzc2VzLnB1c2gocHJvbWlzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKGwudXNlcklkKSB7XHJcbiAgICAgICAgICBjb25zdCBwcm9taXNlID0gdGhpcy5fdXNlcnMuZ2V0KGwudXNlcklkKS5waXBlKHRhcCh1ID0+IHtcclxuICAgICAgICAgICAgdGFzay5uYW1lID0gdS5uYW1lO1xyXG4gICAgICAgICAgICAvLyAgICBpZiAobC5yb2xlKSB7XHJcbiAgICAgICAgICAgIC8vICAgICAgICBjb25zdCByb2xlID0gdGhpcy5zZXNzaW9uLnByb2ZpbGUucm9sZXMuZmluZChvID0+IG8ubmFtZSA9PT0gbC5yb2xlKTtcclxuICAgICAgICAgICAgLy8gICAgICAgIGlmIChyb2xlKSB0YXNrLm5hbWUgKz0gYCwgJHtyb2xlLm5hbWV9YDtcclxuICAgICAgICAgICAgLy8gICAgfVxyXG4gICAgICAgICAgfSksIGNhdGNoRXJyb3IoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9wcy5lcnJvcigpO1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoKTtcclxuICAgICAgICAgIH0pKTtcclxuICAgICAgICAgIHByb21pc3Nlcy5wdXNoKHByb21pc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIG1vZGVsLmV2ZW50cy5mb3JFYWNoKGUgPT4ge1xyXG4gICAgICAgIHRoaXMuZXZlbnRNYXJrZXJzLnB1c2goe1xyXG4gICAgICAgICAgZGF5OiBuZXcgRGF0ZShlLnN0YXJ0aW5nKSxcclxuICAgICAgICAgIGxhYmVsOiBlLnRpdGxlXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgICBtb2RlbC5yZWNpcGllbnRzLmZvckVhY2gociA9PiB7XHJcbiAgICAgICAgaWYgKCFyLnBlbmRpbmcpXHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgY29uc3QgdGFzazogVGFzayA9IHtcclxuICAgICAgICAgIGlkOiBpKyssXHJcbiAgICAgICAgICB0eXBlOiAncGVuZGluZycsXHJcbiAgICAgICAgICB0aW1lOiBuZXcgRGF0ZShyLnJlY2VpdmVkKSxcclxuICAgICAgICAgIHRpdGxlOiB0aGlzLl90cmFuc2xhdGUuZ2V0KCdJc1BlbmRpbmcnKVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgaWYgKHIuc3Vic3RpdHV0ZUlkKSB7XHJcbiAgICAgICAgICBjb25zdCBieSA9IHRoaXMuX3VzZXJzLmdldChyLnN1YnN0aXR1dGVJZCk7XHJcbiAgICAgICAgICBjb25zdCB3aG8gPSB0aGlzLl91c2Vycy5nZXQoci51c2VySWQpO1xyXG4gICAgICAgICAgY29uc3QgcHJvbWlzZSA9IGZvcmtKb2luKFt3aG8sIGJ5XSkucGlwZSh0YXAodSA9PiB7XHJcbiAgICAgICAgICAgIHRhc2submFtZSA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ1dob1N1YnN0aXR1dGluZycsIHVbMF0ubmFtZSwgdVsxXS5uYW1lKTtcclxuICAgICAgICAgICAgaWYgKHVbMF0ucm9sZSlcclxuICAgICAgICAgICAgICB0YXNrLm5hbWUgKz0gYCwgJHt1WzBdLnJvbGV9YDtcclxuICAgICAgICAgICAgaWYgKHIucm9sZSkge1xyXG4gICAgICAgICAgICAgIGNvbnN0IHJvbGUgPSB0aGlzLl9zZXNzaW9uLnByb2ZpbGUucm9sZXMuZmluZChvID0+IG8ubmFtZSA9PT0gci5yb2xlKTtcclxuICAgICAgICAgICAgICBpZiAocm9sZSkgdGFzay5uYW1lICs9IGAsICR7cm9sZS5uYW1lfWA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pLCBjYXRjaEVycm9yKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fcHMuZXJyb3IoKTtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCk7XHJcbiAgICAgICAgICB9KSk7XHJcblxyXG4gICAgICAgICAgcHJvbWlzc2VzLnB1c2gocHJvbWlzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuX3VzZXJzLmdldChyLnVzZXJJZCkucGlwZSh0YXAodSA9PiB7XHJcbiAgICAgICAgICAgIHRhc2submFtZSA9IHUubmFtZTtcclxuICAgICAgICAgICAgaWYgKHUucm9sZSlcclxuICAgICAgICAgICAgICB0YXNrLm5hbWUgKz0gYCwgJHt1LnJvbGV9YDtcclxuICAgICAgICAgICAgZWxzZSBpZiAoci5yb2xlKSB7XHJcbiAgICAgICAgICAgICAgY29uc3Qgcm9sZSA9IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5yb2xlcy5maW5kKG8gPT4gby5uYW1lID09PSByLnJvbGUpO1xyXG4gICAgICAgICAgICAgIGlmIChyb2xlKSB0YXNrLm5hbWUgKz0gYCwgJHtyb2xlLm5hbWV9YDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSksIGNhdGNoRXJyb3IoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9wcy5lcnJvcigpO1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoKTtcclxuICAgICAgICAgIH0pKTtcclxuICAgICAgICAgIHByb21pc3Nlcy5wdXNoKHByb21pc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoci5ub2RlSWQpIHtcclxuICAgICAgICAgIG1vZGVsLndvcmtmbG93LmNvbm5lY3RvcnMuZmlsdGVyKGMgPT4gYy50YXJnZXRJZCA9PT0gci5ub2RlSWQpLmZvckVhY2goYyA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHByZWRlY2Vzc29ycyA9IHRhc2tzLmZpbHRlcihsID0+IGwubm9kZUlkID09PSBjLnNvdXJjZUlkKS5tYXAobCA9PiBsLmlkKTtcclxuICAgICAgICAgICAgaWYgKHByZWRlY2Vzc29ycy5sZW5ndGgpIHRhc2suZGVwZW5kZW5jaWVzID0gcHJlZGVjZXNzb3JzLmpvaW4oJywnKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBzdGF0ZSA9IHRhc2tzLmZpbmQodCA9PiB0LnR5cGUgPT09ICdTdGF0ZUNoYW5nZScgJiYgdC50aW1lIDw9IHRhc2sudGltZSAmJiAoIXQuZW5kaW5nIHx8IHQuZW5kaW5nID49IHRhc2sudGltZSkpO1xyXG4gICAgICAgIGlmIChzdGF0ZSkge1xyXG4gICAgICAgICAgaWYgKCFzdGF0ZS5zdWJ0YXNrcykgc3RhdGUuc3VidGFza3MgPSBbXTtcclxuICAgICAgICAgIHN0YXRlLnN1YnRhc2tzLnB1c2godGFzayk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIHRhc2tzLnB1c2godGFzayk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgcHJvY2Vzcyhtb2RlbCk7XHJcbiAgICByZXR1cm4gZm9ya0pvaW4ocHJvbWlzc2VzKS5cclxuICAgICAgcGlwZShtYXAoKCkgPT4gdGFza3Muc29ydCgodDAsIHQxKSA9PiB0MC50aW1lID4gdDEudGltZSA/IDEgOiAtMSkpKTtcclxuICB9XHJcbiAgcm93U2VsZWN0aW5nKHIpIHtcclxuICAgIGlmIChyLmRhdGEudGFza0RhdGEudHlwZSA9PT0gJ01vZGVsQ2hhbmdlJylcclxuICAgICAgdGhpcy5fY29tcGFyZShyLmRhdGEpO1xyXG4gIH1cclxuICBwdWJsaWMgX2NvbXBhcmUodGFzazogVGFzaykge1xyXG4gICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKFsnbWFpbGJveC9kJywgdGhpcy5pdGVtLmRvY3VtZW50SWQuZW5jb2RlSWQoKSwgJ3ZlcnNpb24nLCB0YXNrLnRpbWUudmFsdWVPZigpLmVuY29kZUlkKCldLCB7IHN0YXRlOiB7IGl0ZW06IHRoaXMuaXRlbSB9IH0pXHJcbiAgfVxyXG4gIHJlYWRvbmx5IHRhc2tGaWVsZHM6IFRhc2tGaWVsZHNNb2RlbCA9IHtcclxuICAgIGlkOiAnaWQnLFxyXG4gICAgbmFtZTogJ3RpdGxlJyxcclxuICAgIHN0YXJ0RGF0ZTogJ3RpbWUnLFxyXG4gICAgZW5kRGF0ZTogJ2VuZGluZycsXHJcbiAgICBkdXJhdGlvbjogJ2R1cmF0aW9uJyxcclxuICAgIGRlcGVuZGVuY3k6ICdkZXBlbmRlbmNpZXMnLFxyXG4gICAgY2hpbGQ6ICdzdWJ0YXNrcydcclxuICB9O1xyXG4gIGNvbHVtbnM6IENvbHVtbk1vZGVsW107XHJcbiAgcmVhZG9ubHkgdG9vbHRpcFNldHRpbmdzID0geyBzaG93VG9vbHRpcDogZmFsc2UgfTtcclxuICByZWFkb25seSB0aW1lbGluZVNldHRpbmdzOiBUaW1lbGluZVNldHRpbmdzTW9kZWwgPSB7XHJcbiAgICB0aW1lbGluZVVuaXRTaXplOiA2MCxcclxuICAgIHRvcFRpZXI6IHtcclxuICAgICAgZm9ybWF0OiAnTU1NIGRkLCB5eXl5JyxcclxuICAgICAgdW5pdDogJ0RheScsXHJcbiAgICB9LFxyXG4gICAgYm90dG9tVGllcjoge1xyXG4gICAgICB1bml0OiAnSG91cicsXHJcbiAgICAgIGZvcm1hdDogJ2gubW0gYSdcclxuICAgIH1cclxuICB9O1xyXG4gIHJlYWRvbmx5IGV2ZW50TWFya2VyczogRXZlbnRNYXJrZXJNb2RlbFtdID0gW1xyXG4gIF07XHJcbiAgcHVibGljIGxhYmVsU2V0dGluZ3M6IExhYmVsU2V0dGluZ3NNb2RlbCA9IHtcclxuICAgIHJpZ2h0TGFiZWw6ICduYW1lJywgbGVmdExhYmVsOiAndGl0bGUnXHJcbiAgfTtcclxuICBwdWJsaWMgc3BsaXR0ZXJTZXR0aW5nczogU3BsaXR0ZXJTZXR0aW5nc01vZGVsID0ge1xyXG4gICAgY29sdW1uSW5kZXg6IDMsXHJcbiAgICB2aWV3OiAnQ2hhcnQnLFxyXG4gICAgc2VwYXJhdG9yU2l6ZTogMFxyXG4gIH07XHJcbiAgcHVibGljIGRheVdvcmtpbmdUaW1lOiBEYXlXb3JraW5nVGltZU1vZGVsW10gPSBbeyBmcm9tOiAwLCB0bzogMjQgfV07XHJcbn1cclxuaW50ZXJmYWNlIFRhc2sge1xyXG4gIGlkOiBudW1iZXI7XHJcbiAgdHlwZTogc3RyaW5nO1xyXG4gIG5vZGVJZD86IHN0cmluZztcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIHRpbWU6IERhdGU7XHJcbiAgZW5kaW5nPzogRGF0ZTtcclxuICBkdXJhdGlvbj86IG51bWJlcjtcclxuICBzdWJ0YXNrcz86IFRhc2tbXTtcclxuICBkZXBlbmRlbmNpZXM/OiBzdHJpbmc7XHJcbiAgaW5kaWNhdG9ycz86IGFueVtdLFxyXG59XHJcbmludGVyZmFjZSBPcHRpb25zIHtcclxuXHJcbn1cclxuIl19
@@ -45,10 +45,10 @@ export class ViewItemComponent {
45
45
  this._destroy.next();
46
46
  this._destroy.complete();
47
47
  }
48
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ViewItemComponent, deps: [{ token: i1.HttpClient }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i2.BizDocComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: ViewItemComponent, selector: "bizdoc-document-view-item", inputs: { model: "model", view: "view" }, host: { listeners: { "window:resize": "resize()" } }, ngImport: i0, template: '', isInline: true }); }
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ViewItemComponent, deps: [{ token: i1.HttpClient }, { token: i0.ViewContainerRef }, { token: i0.Injector }, { token: i2.BizDocComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component }); }
49
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: ViewItemComponent, selector: "bizdoc-document-view-item", inputs: { model: "model", view: "view" }, host: { listeners: { "window:resize": "resize()" } }, ngImport: i0, template: '', isInline: true }); }
50
50
  }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ViewItemComponent, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: ViewItemComponent, decorators: [{
52
52
  type: Component,
53
53
  args: [{
54
54
  selector: 'bizdoc-document-view-item',
@@ -18,10 +18,10 @@ export class DocumentViewsComponent {
18
18
  resize() {
19
19
  this.components.forEach(c => c.resize());
20
20
  }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: DocumentViewsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: DocumentViewsComponent, selector: "bizdoc-document-views", inputs: { model: "model" }, viewQueries: [{ propertyName: "components", predicate: ViewItemComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngFor=\"let v of views; let last = last;\">\r\n <bizdoc-document-view-item [model]=\"model\" [view]=\"v\" #view></bizdoc-document-view-item>\r\n <!--<hr *ngIf=\"!view.hidden && !last\" />-->\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-direction:column}hr{opacity:.4;margin:4px 8px}:host ::ng-deep .nav-toolbar{display:flex;flex-direction:row}:host ::ng-deep .view{display:flex;flex-direction:column;position:relative}:host ::ng-deep .loading-view{position:absolute;width:100%;height:100%;text-align:-webkit-center}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.ViewItemComponent, selector: "bizdoc-document-view-item", inputs: ["model", "view"] }] }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DocumentViewsComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SessionService }], target: i0.ɵɵFactoryTarget.Component }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: DocumentViewsComponent, selector: "bizdoc-document-views", inputs: { model: "model" }, viewQueries: [{ propertyName: "components", predicate: ViewItemComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngFor=\"let v of views; let last = last;\">\r\n <bizdoc-document-view-item [model]=\"model\" [view]=\"v\" #view></bizdoc-document-view-item>\r\n <!--<hr *ngIf=\"!view.hidden && !last\" />-->\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-direction:column}hr{opacity:.4;margin:4px 8px}:host ::ng-deep .nav-toolbar{display:flex;flex-direction:row}:host ::ng-deep .view{display:flex;flex-direction:column;position:relative}:host ::ng-deep .loading-view{position:absolute;width:100%;height:100%;text-align:-webkit-center}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3.ViewItemComponent, selector: "bizdoc-document-view-item", inputs: ["model", "view"] }] }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: DocumentViewsComponent, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DocumentViewsComponent, decorators: [{
25
25
  type: Component,
26
26
  args: [{ selector: 'bizdoc-document-views', template: "<ng-container *ngFor=\"let v of views; let last = last;\">\r\n <bizdoc-document-view-item [model]=\"model\" [view]=\"v\" #view></bizdoc-document-view-item>\r\n <!--<hr *ngIf=\"!view.hidden && !last\" />-->\r\n</ng-container>\r\n", styles: [":host{display:flex;flex-direction:column}hr{opacity:.4;margin:4px 8px}:host ::ng-deep .nav-toolbar{display:flex;flex-direction:row}:host ::ng-deep .view{display:flex;flex-direction:column;position:relative}:host ::ng-deep .loading-view{position:absolute;width:100%;height:100%;text-align:-webkit-center}\n"] }]
27
27
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.SessionService }], propDecorators: { components: [{
@@ -10,10 +10,10 @@ export class DocumentViewMobileComponent {
10
10
  title.set(`#${this.model.number}`);
11
11
  });
12
12
  }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: DocumentViewMobileComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.WindowTitleService }], target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: DocumentViewMobileComponent, selector: "ng-component", ngImport: i0, template: '<bizdoc-document-views [model]=model></bizdoc-document-views>', isInline: true, dependencies: [{ kind: "component", type: i3.DocumentViewsComponent, selector: "bizdoc-document-views", inputs: ["model"] }] }); }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DocumentViewMobileComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.WindowTitleService }], target: i0.ɵɵFactoryTarget.Component }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: DocumentViewMobileComponent, selector: "ng-component", ngImport: i0, template: '<bizdoc-document-views [model]=model></bizdoc-document-views>', isInline: true, dependencies: [{ kind: "component", type: i3.DocumentViewsComponent, selector: "bizdoc-document-views", inputs: ["model"] }] }); }
15
15
  }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: DocumentViewMobileComponent, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DocumentViewMobileComponent, decorators: [{
17
17
  type: Component,
18
18
  args: [{ template: '<bizdoc-document-views [model]=model></bizdoc-document-views>' }]
19
19
  }], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i2.WindowTitleService }] });
@@ -16,10 +16,10 @@ export class DocumentViewPaneComponent {
16
16
  });
17
17
  pane.resized().subscribe(() => this.views.resize());
18
18
  }
19
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: DocumentViewPaneComponent, deps: [{ token: i1.SessionService }, { token: i2.TranslateService }, { token: i3.PaneRef }], target: i0.ɵɵFactoryTarget.Component }); }
20
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: DocumentViewPaneComponent, selector: "ng-component", viewQueries: [{ propertyName: "views", first: true, predicate: DocumentViewsComponent, descendants: true }], ngImport: i0, template: '<bizdoc-document-views [model]=model></bizdoc-document-views>', isInline: true, styles: [":host{min-width:450px;flex-grow:1}\n"], dependencies: [{ kind: "component", type: i4.DocumentViewsComponent, selector: "bizdoc-document-views", inputs: ["model"] }] }); }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DocumentViewPaneComponent, deps: [{ token: i1.SessionService }, { token: i2.TranslateService }, { token: i3.PaneRef }], target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: DocumentViewPaneComponent, selector: "ng-component", viewQueries: [{ propertyName: "views", first: true, predicate: DocumentViewsComponent, descendants: true }], ngImport: i0, template: '<bizdoc-document-views [model]=model></bizdoc-document-views>', isInline: true, styles: [":host{min-width:450px;flex-grow:1}\n"], dependencies: [{ kind: "component", type: i4.DocumentViewsComponent, selector: "bizdoc-document-views", inputs: ["model"] }] }); }
21
21
  }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: DocumentViewPaneComponent, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: DocumentViewPaneComponent, decorators: [{
23
23
  type: Component,
24
24
  args: [{ template: '<bizdoc-document-views [model]=model></bizdoc-document-views>', styles: [":host{min-width:450px;flex-grow:1}\n"] }]
25
25
  }], ctorParameters: () => [{ type: i1.SessionService }, { type: i2.TranslateService }, { type: i3.PaneRef }], propDecorators: { views: [{