@bizdoc/core 1.10.0-next.8 → 1.10.2

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 (301) hide show
  1. package/esm2020/lib/admin/admin-dismiss.service.mjs +3 -3
  2. package/esm2020/lib/admin/admin-menu.component.mjs +3 -3
  3. package/esm2020/lib/admin/core/ace.input.mjs +3 -3
  4. package/esm2020/lib/admin/core/color-picker.input.mjs +3 -3
  5. package/esm2020/lib/admin/core/search.input.mjs +3 -3
  6. package/esm2020/lib/admin/diff/configuration-diff.component.mjs +5 -5
  7. package/esm2020/lib/admin/document-trace/document-trace.component.mjs +3 -3
  8. package/esm2020/lib/admin/document-trace/reassign.dialog.mjs +3 -3
  9. package/esm2020/lib/admin/document-trace/trace-element.component.mjs +3 -3
  10. package/esm2020/lib/admin/form/form.resolve.service.mjs +3 -3
  11. package/esm2020/lib/admin/form/form.service.mjs +3 -3
  12. package/esm2020/lib/admin/form/workflow/node.component.mjs +3 -3
  13. package/esm2020/lib/admin/form/workflow/role-node.component.mjs +3 -3
  14. package/esm2020/lib/admin/form/workflow/workflow.component.mjs +10 -10
  15. package/esm2020/lib/admin/indices/manage-cube-index.component.mjs +3 -3
  16. package/esm2020/lib/admin/patterns/patterns.component.mjs +3 -3
  17. package/esm2020/lib/admin/permissions/permissions.component.mjs +3 -3
  18. package/esm2020/lib/admin/positions/positions-popup.component.mjs +3 -3
  19. package/esm2020/lib/admin/positions/positions.component.mjs +3 -3
  20. package/esm2020/lib/admin/profiler/profiler.component.mjs +3 -3
  21. package/esm2020/lib/admin/utility-wrapper.component.mjs +3 -3
  22. package/esm2020/lib/admin/utility.pane.component.mjs +3 -3
  23. package/esm2020/lib/app.component.mjs +6 -6
  24. package/esm2020/lib/bizdoc.module.mjs +4 -4
  25. package/esm2020/lib/browse/browse-items.component.mjs +6 -5
  26. package/esm2020/lib/browse/browse.mobile.component.mjs +3 -3
  27. package/esm2020/lib/browse/browse.pane.component.mjs +3 -3
  28. package/esm2020/lib/browse/expanded-item/expanded-item.component.mjs +3 -3
  29. package/esm2020/lib/browse/filter/filter.component.mjs +4 -4
  30. package/esm2020/lib/browse/folders-menu.component.mjs +3 -3
  31. package/esm2020/lib/chat/chat-info.mjs +3 -3
  32. package/esm2020/lib/chat/chat.mobile.component.mjs +3 -3
  33. package/esm2020/lib/chat/chat.service.mjs +3 -3
  34. package/esm2020/lib/chat/contacts.component.mjs +6 -6
  35. package/esm2020/lib/chat/contacts.pane.component.mjs +3 -3
  36. package/esm2020/lib/chat/conversation.component.mjs +3 -3
  37. package/esm2020/lib/chat/conversation.pane.component.mjs +3 -3
  38. package/esm2020/lib/compose/action/action-picker.component.mjs +3 -3
  39. package/esm2020/lib/compose/action/action.dialog.mjs +3 -3
  40. package/esm2020/lib/compose/action/action.pane.dialog.mjs +3 -3
  41. package/esm2020/lib/compose/action/assign-action.component.mjs +3 -3
  42. package/esm2020/lib/compose/action/return-action.component.mjs +3 -3
  43. package/esm2020/lib/compose/attachments/attachments.component.mjs +3 -3
  44. package/esm2020/lib/compose/attachments/preview/attachment-preview.component.mjs +3 -3
  45. package/esm2020/lib/compose/attachments/progress-button.directive.mjs +3 -3
  46. package/esm2020/lib/compose/can-deactivate-changes.service.mjs +3 -3
  47. package/esm2020/lib/compose/comments/Comments.pane.component.mjs +3 -3
  48. package/esm2020/lib/compose/comments/comment.component.mjs +3 -3
  49. package/esm2020/lib/compose/comments/comments.component.mjs +3 -3
  50. package/esm2020/lib/compose/comments/edit-comment.component.mjs +3 -3
  51. package/esm2020/lib/compose/comments/edits.component.mjs +3 -3
  52. package/esm2020/lib/compose/comments/quick-comment.component.exp.mjs +3 -3
  53. package/esm2020/lib/compose/comments/votes.component.mjs +3 -3
  54. package/esm2020/lib/compose/compose-resolve.service.mjs +6 -6
  55. package/esm2020/lib/compose/compose.mobile.component.mjs +13 -8
  56. package/esm2020/lib/compose/compose.pane.component.mjs +19 -19
  57. package/esm2020/lib/compose/copy/copy.dialog.mjs +3 -3
  58. package/esm2020/lib/compose/dismiss.service.mjs +3 -3
  59. package/esm2020/lib/compose/document-resolver.service.mjs +3 -3
  60. package/esm2020/lib/compose/document.component.mjs +3 -3
  61. package/esm2020/lib/compose/document.mobile.component.mjs +3 -3
  62. package/esm2020/lib/compose/document.pane.component.mjs +3 -3
  63. package/esm2020/lib/compose/events/events.component.mjs +3 -3
  64. package/esm2020/lib/compose/form-selector/form-selector.sheet.mjs +3 -3
  65. package/esm2020/lib/compose/form.component.mjs +3 -3
  66. package/esm2020/lib/compose/new-menu.component.mjs +3 -3
  67. package/esm2020/lib/compose/privilage.directive.mjs +6 -6
  68. package/esm2020/lib/compose/recipient-resolver.service.mjs +3 -3
  69. package/esm2020/lib/compose/save-changes.dialog.mjs +3 -3
  70. package/esm2020/lib/compose/state.component.mjs +3 -3
  71. package/esm2020/lib/compose/tag/tags.component.mjs +3 -3
  72. package/esm2020/lib/compose/trace/flow.component.mjs +15 -15
  73. package/esm2020/lib/compose/trace/people.component.mjs +3 -3
  74. package/esm2020/lib/compose/trace/trace.base.mjs +3 -3
  75. package/esm2020/lib/compose/trace/trace.component.mjs +8 -10
  76. package/esm2020/lib/compose/trace/trace.pane.component.mjs +3 -3
  77. package/esm2020/lib/compose/version-compare/version-compare.component.mjs +3 -3
  78. package/esm2020/lib/compose/version-compare/version-compare.directive.mjs +9 -9
  79. package/esm2020/lib/compose/version-compare/version.pane.component.mjs +3 -3
  80. package/esm2020/lib/core/NgComponentOutlet.mjs +3 -3
  81. package/esm2020/lib/core/account.service.mjs +3 -3
  82. package/esm2020/lib/core/animated-icon/animated-icon.directive.mjs +3 -3
  83. package/esm2020/lib/core/avatar/avatar.component.mjs +3 -3
  84. package/esm2020/lib/core/component-factory-resolver.mjs +3 -3
  85. package/esm2020/lib/core/configuration.mjs +1 -1
  86. package/esm2020/lib/core/controls/address.input.mjs +3 -3
  87. package/esm2020/lib/core/controls/auto-complete.input.mjs +3 -3
  88. package/esm2020/lib/core/controls/combination-picker-body.mjs +3 -3
  89. package/esm2020/lib/core/controls/combination-picker.mjs +3 -3
  90. package/esm2020/lib/core/controls/combination-pool.mjs +3 -3
  91. package/esm2020/lib/core/controls/select.input.mjs +5 -5
  92. package/esm2020/lib/core/controls/time-picker.mjs +3 -3
  93. package/esm2020/lib/core/controls/timespan.input.mjs +3 -3
  94. package/esm2020/lib/core/datasource.service.mjs +3 -3
  95. package/esm2020/lib/core/guide/guide.component.mjs +3 -3
  96. package/esm2020/lib/core/guide/guide.service.mjs +3 -3
  97. package/esm2020/lib/core/http.interceptor.mjs +3 -3
  98. package/esm2020/lib/core/hub.service.mjs +3 -3
  99. package/esm2020/lib/core/identity/identity.component.mjs +3 -3
  100. package/esm2020/lib/core/info/attachment-info.service.mjs +3 -3
  101. package/esm2020/lib/core/info/document-info.service.mjs +3 -3
  102. package/esm2020/lib/core/info/location-info.component.mjs +3 -3
  103. package/esm2020/lib/core/info/map-info.mjs +3 -3
  104. package/esm2020/lib/core/layout/autocomplete.field.mjs +3 -3
  105. package/esm2020/lib/core/layout/checkbox.field.mjs +3 -3
  106. package/esm2020/lib/core/layout/checkbox.mjs +3 -3
  107. package/esm2020/lib/core/layout/date-range.field.mjs +3 -3
  108. package/esm2020/lib/core/layout/date.field.mjs +3 -3
  109. package/esm2020/lib/core/layout/expression.field.mjs +3 -3
  110. package/esm2020/lib/core/layout/html.field.mjs +3 -3
  111. package/esm2020/lib/core/layout/input.base.mjs +3 -3
  112. package/esm2020/lib/core/layout/input.field.mjs +3 -3
  113. package/esm2020/lib/core/layout/layout.component.mjs +3 -3
  114. package/esm2020/lib/core/layout/numeric.field.mjs +3 -3
  115. package/esm2020/lib/core/layout/select.field.mjs +3 -3
  116. package/esm2020/lib/core/layout/switch.field.mjs +3 -3
  117. package/esm2020/lib/core/layout/textarea.field.mjs +3 -3
  118. package/esm2020/lib/core/layout/timespan.field.mjs +3 -3
  119. package/esm2020/lib/core/lottie-animation.mjs +3 -3
  120. package/esm2020/lib/core/mailbox.service.mjs +3 -3
  121. package/esm2020/lib/core/models.mjs +1 -1
  122. package/esm2020/lib/core/none.component.mjs +3 -3
  123. package/esm2020/lib/core/pipes/action.pipe.mjs +3 -3
  124. package/esm2020/lib/core/pipes/calendar.pipe.mjs +3 -3
  125. package/esm2020/lib/core/pipes/date-format.pipe.mjs +3 -3
  126. package/esm2020/lib/core/pipes/daterange.pipe.mjs +6 -6
  127. package/esm2020/lib/core/pipes/difference.pipe.mjs +3 -3
  128. package/esm2020/lib/core/pipes/duration-format.pipe.mjs +3 -3
  129. package/esm2020/lib/core/pipes/duration.pipe.mjs +3 -3
  130. package/esm2020/lib/core/pipes/form.pipe.mjs +3 -3
  131. package/esm2020/lib/core/pipes/join.pipe.mjs +3 -3
  132. package/esm2020/lib/core/pipes/role.pipe.mjs +3 -3
  133. package/esm2020/lib/core/pipes/sanitize-html.pipe.mjs +3 -3
  134. package/esm2020/lib/core/pipes/sort.pipe.mjs +6 -6
  135. package/esm2020/lib/core/pipes/state.pipe.mjs +3 -3
  136. package/esm2020/lib/core/pipes/time-ago.pipe.mjs +3 -3
  137. package/esm2020/lib/core/pipes/translate.pipe.mjs +6 -6
  138. package/esm2020/lib/core/pipes/type-value.pipe.mjs +3 -3
  139. package/esm2020/lib/core/pipes/user-name.pipe.mjs +3 -3
  140. package/esm2020/lib/core/popup/popup.component.mjs +3 -3
  141. package/esm2020/lib/core/popup/popup.service.mjs +3 -3
  142. package/esm2020/lib/core/popup/tooltip.directive.mjs +6 -6
  143. package/esm2020/lib/core/prompt/ask/ask.dialog.mjs +3 -3
  144. package/esm2020/lib/core/prompt/mask/mask.component.mjs +3 -3
  145. package/esm2020/lib/core/prompt.service.mjs +3 -3
  146. package/esm2020/lib/core/router.mjs +6 -6
  147. package/esm2020/lib/core/session.service.mjs +13 -8
  148. package/esm2020/lib/core/slots/pane-ref.mjs +1 -1
  149. package/esm2020/lib/core/slots/router.directive.mjs +3 -3
  150. package/esm2020/lib/core/slots/router.service.mjs +3 -3
  151. package/esm2020/lib/core/slots/slots.component.mjs +4 -4
  152. package/esm2020/lib/core/tagging/documents.component.mjs +3 -3
  153. package/esm2020/lib/core/tagging/edit-input.component.mjs +3 -3
  154. package/esm2020/lib/core/tagging/emoji.component.mjs +3 -3
  155. package/esm2020/lib/core/tagging/tagging-item.directive.mjs +3 -3
  156. package/esm2020/lib/core/tagging/tagging.component-base.mjs +3 -3
  157. package/esm2020/lib/core/tagging/tagging.directive.mjs +3 -3
  158. package/esm2020/lib/core/tagging/tagging.pipe.mjs +3 -3
  159. package/esm2020/lib/core/tagging/users.component.mjs +3 -3
  160. package/esm2020/lib/core/translate.service.mjs +3 -3
  161. package/esm2020/lib/core/window-title.service.mjs +3 -3
  162. package/esm2020/lib/cube/accum/accum.component.mjs +5 -6
  163. package/esm2020/lib/cube/chart/chart.component.mjs +6 -6
  164. package/esm2020/lib/cube/cube-info.service.mjs +6 -6
  165. package/esm2020/lib/cube/cube-menu.component.mjs +3 -3
  166. package/esm2020/lib/cube/cube-view.component.mjs +3 -3
  167. package/esm2020/lib/cube/cube.service.mjs +32 -9
  168. package/esm2020/lib/cube/explore/document-item.component.mjs +3 -3
  169. package/esm2020/lib/cube/explore/explore-item.component.mjs +3 -3
  170. package/esm2020/lib/cube/explore/explore-items.component.mjs +3 -3
  171. package/esm2020/lib/cube/explore/explore.pane.component.mjs +3 -3
  172. package/esm2020/lib/cube/explore/item-resolver.service.mjs +6 -6
  173. package/esm2020/lib/cube/explore/item.pane.component.mjs +3 -3
  174. package/esm2020/lib/cube/filter/filter-tags.component.exp.mjs +3 -3
  175. package/esm2020/lib/cube/filter/filter.component.mjs +3 -3
  176. package/esm2020/lib/cube/grid/grid.component.mjs +3 -3
  177. package/esm2020/lib/cube/grid/spreadsheet.component.mjs +5 -5
  178. package/esm2020/lib/cube/matrix/matrix.base.mjs +3 -3
  179. package/esm2020/lib/cube/matrix/matrix.component.mjs +3 -3
  180. package/esm2020/lib/cube/matrix/matrix.mobile.component.mjs +3 -3
  181. package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +6 -5
  182. package/esm2020/lib/cube/matrix/table.component.mjs +154 -105
  183. package/esm2020/lib/cube/parallel/parallel.component.mjs +3 -3
  184. package/esm2020/lib/cube/pivot/pivot.component.mjs +6 -6
  185. package/esm2020/lib/cube/sum/sum.component.mjs +5 -5
  186. package/esm2020/lib/cube/view-base.mjs +7 -6
  187. package/esm2020/lib/cube/view.mobile.component.mjs +3 -3
  188. package/esm2020/lib/cube/view.pane.component.mjs +3 -3
  189. package/esm2020/lib/dashboard/actions/actions.widget.mjs +3 -3
  190. package/esm2020/lib/dashboard/cube/accum-cube.widget.mjs +5 -6
  191. package/esm2020/lib/dashboard/cube/cube-analysis.base.mjs +3 -3
  192. package/esm2020/lib/dashboard/cube/cube-analysis.widget.mjs +3 -3
  193. package/esm2020/lib/dashboard/cube/cube-chart.widget.mjs +5 -6
  194. package/esm2020/lib/dashboard/cube/documents.widget.mjs +3 -3
  195. package/esm2020/lib/dashboard/cube/filter/filter.component.mjs +3 -3
  196. package/esm2020/lib/dashboard/dashboard.component.mjs +3 -3
  197. package/esm2020/lib/dashboard/dashboard.pane.component.mjs +3 -3
  198. package/esm2020/lib/dashboard/recents/recents.widget.mjs +18 -13
  199. package/esm2020/lib/dashboard/score/activity.widget.mjs +3 -3
  200. package/esm2020/lib/dashboard/score/compare-departments.widget.mjs +15 -9
  201. package/esm2020/lib/dashboard/score/peers-performance.widget.mjs +3 -3
  202. package/esm2020/lib/dashboard/score/pending-results.widget.mjs +3 -3
  203. package/esm2020/lib/dashboard/score/personal-score.widget.mjs +3 -3
  204. package/esm2020/lib/dashboard/widget-item.component.mjs +3 -3
  205. package/esm2020/lib/desktop.module.mjs +4 -4
  206. package/esm2020/lib/home/about/about.dialog.mjs +3 -3
  207. package/esm2020/lib/home/home-base.component.mjs +5 -4
  208. package/esm2020/lib/home/home.desktop.component.mjs +5 -5
  209. package/esm2020/lib/home/home.mobile.component.mjs +5 -5
  210. package/esm2020/lib/home/notifications/notifications.component.mjs +3 -3
  211. package/esm2020/lib/home/options/options.component.mjs +3 -3
  212. package/esm2020/lib/home/outofoffice/outofoffice.component.mjs +3 -3
  213. package/esm2020/lib/home/search.service.mjs +3 -3
  214. package/esm2020/lib/home/sign/sign.component.mjs +3 -3
  215. package/esm2020/lib/home/tools.component.mjs +3 -3
  216. package/esm2020/lib/impersonate/impersonate.component.mjs +3 -3
  217. package/esm2020/lib/mobile.module.mjs +4 -4
  218. package/esm2020/lib/modules/chart.module.mjs +8 -6
  219. package/esm2020/lib/modules/circular-gauge.module.mjs +4 -4
  220. package/esm2020/lib/modules/date.adapter.mjs +3 -3
  221. package/esm2020/lib/modules/datepicker.intl.mjs +3 -3
  222. package/esm2020/lib/modules/diagram.module.mjs +4 -4
  223. package/esm2020/lib/modules/gantt.module.mjs +4 -4
  224. package/esm2020/lib/modules/grid.module.mjs +4 -4
  225. package/esm2020/lib/modules/material.module.mjs +4 -4
  226. package/esm2020/lib/modules/paginator.intl.mjs +3 -3
  227. package/esm2020/lib/modules/pivot.module.mjs +4 -4
  228. package/esm2020/lib/modules/schedule.module.mjs +4 -4
  229. package/esm2020/lib/modules/spreadsheet.module.mjs +4 -4
  230. package/esm2020/lib/modules/stepper.intl.mjs +3 -3
  231. package/esm2020/lib/modules/texteditor.module.mjs +4 -4
  232. package/esm2020/lib/notifications/filter.component.mjs +3 -3
  233. package/esm2020/lib/notifications/notifications-table.component.mjs +3 -3
  234. package/esm2020/lib/notifications/notifications.mobile.component.mjs +3 -3
  235. package/esm2020/lib/notifications/notifications.pane.component.mjs +3 -3
  236. package/esm2020/lib/notifications/notifications.service.mjs +3 -3
  237. package/esm2020/lib/notifications/types/commented.notification.mjs +3 -3
  238. package/esm2020/lib/notifications/types/cube-anomaly.notification.mjs +3 -3
  239. package/esm2020/lib/notifications/types/escalated.notification.mjs +3 -3
  240. package/esm2020/lib/notifications/types/liked.notification.mjs +3 -3
  241. package/esm2020/lib/notifications/types/long-running-task.notification.mjs +3 -3
  242. package/esm2020/lib/notifications/types/notification-base.mjs +3 -3
  243. package/esm2020/lib/notifications/types/nudge.notification.mjs +3 -3
  244. package/esm2020/lib/notifications/types/state-changed.notification.mjs +3 -3
  245. package/esm2020/lib/notifications/types/tagged.notification.mjs +3 -3
  246. package/esm2020/lib/notifications/types/text.notification.mjs +3 -3
  247. package/esm2020/lib/notifications/types/upcoming-event.notification.mjs +3 -3
  248. package/esm2020/lib/options/options.component.mjs +3 -3
  249. package/esm2020/lib/options/options.service.mjs +3 -3
  250. package/esm2020/lib/reports/arguments-component.mjs +3 -3
  251. package/esm2020/lib/reports/cube/grid-documents.component.mjs +3 -3
  252. package/esm2020/lib/reports/cube/table-documents.component.mjs +3 -3
  253. package/esm2020/lib/reports/cube/usage-args.component.mjs +3 -3
  254. package/esm2020/lib/reports/cube/usage-base.mjs +3 -3
  255. package/esm2020/lib/reports/cube/usage-chart.component.mjs +3 -3
  256. package/esm2020/lib/reports/cube/usage-pivot.component.mjs +3 -3
  257. package/esm2020/lib/reports/report-viewer.component.mjs +3 -3
  258. package/esm2020/lib/reports/report.mobile.component.mjs +3 -3
  259. package/esm2020/lib/reports/report.pane.component.mjs +3 -3
  260. package/esm2020/lib/reports/reports-menu.component.mjs +3 -3
  261. package/esm2020/lib/reports/substitution/substitution.component.mjs +3 -3
  262. package/esm2020/lib/reports/table/table-view.component.mjs +3 -3
  263. package/esm2020/lib/reports/tasks/tasks.component.mjs +3 -3
  264. package/esm2020/lib/scheduler/schedule.component.mjs +3 -3
  265. package/esm2020/lib/scheduler/scheduler.mobile.component.mjs +3 -3
  266. package/esm2020/lib/scheduler/scheduler.pane.component.mjs +3 -3
  267. package/esm2020/lib/shared.module.mjs +7 -5
  268. package/esm2020/lib/system.module.mjs +4 -4
  269. package/esm2020/lib/views/cube/chart.component.mjs +3 -3
  270. package/esm2020/lib/views/cube/cube-base.mjs +3 -3
  271. package/esm2020/lib/views/cube/explore.component.mjs +3 -3
  272. package/esm2020/lib/views/cube/matrix.component.mjs +3 -3
  273. package/esm2020/lib/views/cube/parallel.component.mjs +3 -3
  274. package/esm2020/lib/views/cube/pivot.component.mjs +3 -3
  275. package/esm2020/lib/views/cube/sum.component.mjs +3 -3
  276. package/esm2020/lib/views/cube/view.component.mjs +3 -3
  277. package/esm2020/lib/views/timeline/timeline.component.exp.mjs +3 -3
  278. package/esm2020/lib/views/view-item.component.mjs +3 -3
  279. package/esm2020/lib/views/views.component.mjs +3 -3
  280. package/esm2020/lib/views/views.mobile.component.mjs +3 -3
  281. package/esm2020/lib/views/views.pane.component.mjs +3 -3
  282. package/esm2020/public-api.mjs +1 -1
  283. package/fesm2015/bizdoc-core.mjs +4495 -4437
  284. package/fesm2015/bizdoc-core.mjs.map +1 -1
  285. package/fesm2020/bizdoc-core.mjs +4539 -4487
  286. package/fesm2020/bizdoc-core.mjs.map +1 -1
  287. package/lib/browse/browse-items.component.d.ts +1 -0
  288. package/lib/browse/filter/filter.component.d.ts +1 -1
  289. package/lib/compose/compose.mobile.component.d.ts +3 -1
  290. package/lib/compose/compose.pane.component.d.ts +3 -1
  291. package/lib/core/configuration.d.ts +3 -0
  292. package/lib/core/models.d.ts +1 -1
  293. package/lib/core/session.service.d.ts +1 -0
  294. package/lib/core/slots/pane-ref.d.ts +0 -1
  295. package/lib/cube/cube-info.service.d.ts +1 -0
  296. package/lib/cube/matrix/matrix.pane.component.d.ts +1 -0
  297. package/lib/cube/matrix/table.component.d.ts +21 -7
  298. package/lib/dashboard/recents/recents.widget.d.ts +3 -1
  299. package/lib/home/home-base.component.d.ts +1 -0
  300. package/package.json +24 -24
  301. package/public-api.d.ts +1 -1
@@ -16,9 +16,9 @@ export class FormPipe {
16
16
  return `_${value}`;
17
17
  }
18
18
  }
19
- FormPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FormPipe, deps: [{ token: i1.SessionService }], target: i0.ɵɵFactoryTarget.Pipe });
20
- FormPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FormPipe, name: "form" });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FormPipe, decorators: [{
19
+ FormPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: FormPipe, deps: [{ token: i1.SessionService }], target: i0.ɵɵFactoryTarget.Pipe });
20
+ FormPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: FormPipe, name: "form" });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: FormPipe, decorators: [{
22
22
  type: Pipe,
23
23
  args: [{ name: 'form' }]
24
24
  }], ctorParameters: function () { return [{ type: i1.SessionService }]; } });
@@ -9,9 +9,9 @@ export class JoinPipe {
9
9
  return this._translate.join(value);
10
10
  }
11
11
  }
12
- JoinPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: JoinPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
13
- JoinPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: JoinPipe, name: "join" });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: JoinPipe, decorators: [{
12
+ JoinPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: JoinPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
13
+ JoinPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: JoinPipe, name: "join" });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: JoinPipe, decorators: [{
15
15
  type: Pipe,
16
16
  args: [{ name: 'join' }]
17
17
  }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
@@ -16,9 +16,9 @@ export class RolePipe {
16
16
  return `_${value}`;
17
17
  }
18
18
  }
19
- RolePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: RolePipe, deps: [{ token: i1.SessionService }], target: i0.ɵɵFactoryTarget.Pipe });
20
- RolePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: RolePipe, name: "role" });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: RolePipe, decorators: [{
19
+ RolePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: RolePipe, deps: [{ token: i1.SessionService }], target: i0.ɵɵFactoryTarget.Pipe });
20
+ RolePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: RolePipe, name: "role" });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: RolePipe, decorators: [{
22
22
  type: Pipe,
23
23
  args: [{ name: 'role' }]
24
24
  }], ctorParameters: function () { return [{ type: i1.SessionService }]; } });
@@ -9,9 +9,9 @@ export class SanitizeHtmlPipe {
9
9
  return value ? this._sanitizer.bypassSecurityTrustHtml(value) : '';
10
10
  }
11
11
  }
12
- SanitizeHtmlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SanitizeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
13
- SanitizeHtmlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SanitizeHtmlPipe, name: "sanitizeHtml" });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SanitizeHtmlPipe, decorators: [{
12
+ SanitizeHtmlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: SanitizeHtmlPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
13
+ SanitizeHtmlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: SanitizeHtmlPipe, name: "sanitizeHtml" });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: SanitizeHtmlPipe, decorators: [{
15
15
  type: Pipe,
16
16
  args: [{ name: 'sanitizeHtml' }]
17
17
  }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
@@ -19,9 +19,9 @@ export class ArraySortPipe {
19
19
  return array;
20
20
  }
21
21
  }
22
- ArraySortPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ArraySortPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
23
- ArraySortPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ArraySortPipe, name: "sort" });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ArraySortPipe, decorators: [{
22
+ ArraySortPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: ArraySortPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
23
+ ArraySortPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: ArraySortPipe, name: "sort" });
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: ArraySortPipe, decorators: [{
25
25
  type: Pipe,
26
26
  args: [{
27
27
  name: "sort"
@@ -37,9 +37,9 @@ export class FilterPipe {
37
37
  return array.filter(i => i[field].toLowerCase().indexOf(value) > -1);
38
38
  }
39
39
  }
40
- FilterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
41
- FilterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FilterPipe, name: "filter" });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: FilterPipe, decorators: [{
40
+ FilterPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: FilterPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
41
+ FilterPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: FilterPipe, name: "filter" });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: FilterPipe, decorators: [{
43
43
  type: Pipe,
44
44
  args: [{
45
45
  name: "filter"
@@ -16,9 +16,9 @@ export class StatePipe {
16
16
  return `_${value}`;
17
17
  }
18
18
  }
19
- StatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StatePipe, deps: [{ token: i1.SessionService }], target: i0.ɵɵFactoryTarget.Pipe });
20
- StatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StatePipe, name: "state" });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: StatePipe, decorators: [{
19
+ StatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: StatePipe, deps: [{ token: i1.SessionService }], target: i0.ɵɵFactoryTarget.Pipe });
20
+ StatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: StatePipe, name: "state" });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: StatePipe, decorators: [{
22
22
  type: Pipe,
23
23
  args: [{ name: 'state' }]
24
24
  }], ctorParameters: function () { return [{ type: i1.SessionService }]; } });
@@ -39,9 +39,9 @@ export class TimeAgoPipe {
39
39
  }
40
40
  }
41
41
  }
42
- TimeAgoPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TimeAgoPipe, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Pipe });
43
- TimeAgoPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TimeAgoPipe, name: "amTimeAgo", pure: false });
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TimeAgoPipe, decorators: [{
42
+ TimeAgoPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: TimeAgoPipe, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Pipe });
43
+ TimeAgoPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: TimeAgoPipe, name: "amTimeAgo", pure: false });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: TimeAgoPipe, decorators: [{
45
45
  type: Pipe,
46
46
  args: [{
47
47
  name: 'amTimeAgo',
@@ -14,9 +14,9 @@ export class TranslatePipe {
14
14
  return str;
15
15
  }
16
16
  }
17
- TranslatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TranslatePipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
18
- TranslatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TranslatePipe, name: "translate" });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TranslatePipe, decorators: [{
17
+ TranslatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: TranslatePipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe });
18
+ TranslatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: TranslatePipe, name: "translate" });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: TranslatePipe, decorators: [{
20
20
  type: Pipe,
21
21
  args: [{ name: 'translate' }]
22
22
  }], ctorParameters: function () { return [{ type: i1.TranslateService }]; } });
@@ -29,9 +29,9 @@ export class TranslateDirective {
29
29
  this._elementRef.nativeElement.innerHTML = this._translate.get(this._elementRef.nativeElement.innerText);
30
30
  }
31
31
  }
32
- TranslateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TranslateDirective, deps: [{ token: i0.ElementRef }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Directive });
33
- TranslateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: TranslateDirective, selector: "[i18n]", ngImport: i0 });
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TranslateDirective, decorators: [{
32
+ TranslateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: TranslateDirective, deps: [{ token: i0.ElementRef }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Directive });
33
+ TranslateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: TranslateDirective, selector: "[i18n]", ngImport: i0 });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: TranslateDirective, decorators: [{
35
35
  type: Directive,
36
36
  args: [{ selector: '[i18n]' }]
37
37
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.TranslateService }]; } });
@@ -31,9 +31,9 @@ export class TypeValuePipe {
31
31
  }));
32
32
  }
33
33
  }
34
- TypeValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TypeValuePipe, deps: [{ token: i1.TranslateService }, { token: i2.DatasourceService }], target: i0.ɵɵFactoryTarget.Pipe });
35
- TypeValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TypeValuePipe, name: "typeValue" });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TypeValuePipe, decorators: [{
34
+ TypeValuePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: TypeValuePipe, deps: [{ token: i1.TranslateService }, { token: i2.DatasourceService }], target: i0.ɵɵFactoryTarget.Pipe });
35
+ TypeValuePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: TypeValuePipe, name: "typeValue" });
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: TypeValuePipe, decorators: [{
37
37
  type: Pipe,
38
38
  args: [{
39
39
  name: 'typeValue',
@@ -12,9 +12,9 @@ export class UserNamePipe {
12
12
  return subject;
13
13
  }
14
14
  }
15
- UserNamePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: UserNamePipe, deps: [{ token: i1.AccountService }], target: i0.ɵɵFactoryTarget.Pipe });
16
- UserNamePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: UserNamePipe, name: "userName" });
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: UserNamePipe, decorators: [{
15
+ UserNamePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: UserNamePipe, deps: [{ token: i1.AccountService }], target: i0.ɵɵFactoryTarget.Pipe });
16
+ UserNamePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: UserNamePipe, name: "userName" });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: UserNamePipe, decorators: [{
18
18
  type: Pipe,
19
19
  args: [{ name: 'userName' }]
20
20
  }], ctorParameters: function () { return [{ type: i1.AccountService }]; } });
@@ -22,9 +22,9 @@ export class PopupComponent {
22
22
  this._ref._opened.next(this._instance);
23
23
  }
24
24
  }
25
- PopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PopupComponent, deps: [{ token: POPUP_DATA }, { token: i1.PopupRef }, { token: i0.Injector }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
26
- PopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: PopupComponent, selector: "bizdoc-popup", viewQueries: [{ propertyName: "_container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div class=\"popup-content\">\r\n <ng-container #container></ng-container>\r\n</div>\r\n<div class=\"tooltip-container\">\r\n <div class=\"tooltip\"></div>\r\n</div>\r\n" });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PopupComponent, decorators: [{
25
+ PopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: PopupComponent, deps: [{ token: POPUP_DATA }, { token: i1.PopupRef }, { token: i0.Injector }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Component });
26
+ PopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.0", type: PopupComponent, selector: "bizdoc-popup", viewQueries: [{ propertyName: "_container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: "<div class=\"popup-content\">\r\n <ng-container #container></ng-container>\r\n</div>\r\n<div class=\"tooltip-container\">\r\n <div class=\"tooltip\"></div>\r\n</div>\r\n" });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: PopupComponent, decorators: [{
28
28
  type: Component,
29
29
  args: [{ selector: 'bizdoc-popup', template: "<div class=\"popup-content\">\r\n <ng-container #container></ng-container>\r\n</div>\r\n<div class=\"tooltip-container\">\r\n <div class=\"tooltip\"></div>\r\n</div>\r\n" }]
30
30
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -139,9 +139,9 @@ export class Popup {
139
139
  return pRef;
140
140
  }
141
141
  }
142
- Popup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Popup, deps: [{ token: i1.Overlay }, { token: i2.SessionService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
143
- Popup.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Popup, providedIn: 'root' });
144
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Popup, decorators: [{
142
+ Popup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: Popup, deps: [{ token: i1.Overlay }, { token: i2.SessionService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
143
+ Popup.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: Popup, providedIn: 'root' });
144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: Popup, decorators: [{
145
145
  type: Injectable,
146
146
  args: [{ providedIn: 'root' }]
147
147
  }], ctorParameters: function () { return [{ type: i1.Overlay }, { type: i2.SessionService }, { type: i0.Injector }]; } });
@@ -9,9 +9,9 @@ export class TooltipComponent {
9
9
  _element.nativeElement.innerHTML = _data;
10
10
  }
11
11
  }
12
- TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TooltipComponent, deps: [{ token: POPUP_DATA }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
13
- TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: TooltipComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TooltipComponent, decorators: [{
12
+ TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: TooltipComponent, deps: [{ token: POPUP_DATA }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
13
+ TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.0", type: TooltipComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: TooltipComponent, decorators: [{
15
15
  type: Component,
16
16
  args: [{ template: '' }]
17
17
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -55,9 +55,9 @@ export class TooltipDirective {
55
55
  }
56
56
  }
57
57
  TooltipDirective._active = [];
58
- TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TooltipDirective, deps: [{ token: i0.ElementRef }, { token: i1.Popup }], target: i0.ɵɵFactoryTarget.Directive });
59
- TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: { content: ["bizdocTooltip", "content"], template: ["bizdocTooltipTemplate", "template"], context: ["bizdocTooltipContext", "context"], position: ["bizdocTooltipPosition", "position"], duration: ["bizdocTooltipDuration", "duration"], disabled: ["bizdocTooltipDisabled", "disabled"] }, ngImport: i0 });
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TooltipDirective, decorators: [{
58
+ TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: TooltipDirective, deps: [{ token: i0.ElementRef }, { token: i1.Popup }], target: i0.ɵɵFactoryTarget.Directive });
59
+ TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: TooltipDirective, selector: "[bizdocTooltip]", inputs: { content: ["bizdocTooltip", "content"], template: ["bizdocTooltipTemplate", "template"], context: ["bizdocTooltipContext", "context"], position: ["bizdocTooltipPosition", "position"], duration: ["bizdocTooltipDuration", "duration"], disabled: ["bizdocTooltipDisabled", "disabled"] }, ngImport: i0 });
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: TooltipDirective, decorators: [{
61
61
  type: Directive,
62
62
  args: [{ selector: '[bizdocTooltip]' }]
63
63
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.Popup }]; }, propDecorators: { content: [{
@@ -17,9 +17,9 @@ export class AskDialog {
17
17
  });
18
18
  }
19
19
  }
20
- AskDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AskDialog, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
21
- AskDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: AskDialog, selector: "bizdoc-ask", ngImport: i0, template: "<h2 mat-dialog-title>{{title}}</h2>\r\n<mat-dialog-content class=\"mat-body\">{{content}}</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <button mat-button [mat-dialog-close]=\"true\" [color]=\"color\">{{ok}}</button>\r\n <button mat-button mat-dialog-close>{{cancel}}</button>\r\n</mat-dialog-actions>\r\n", components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }] });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: AskDialog, decorators: [{
20
+ AskDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: AskDialog, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
21
+ AskDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.0", type: AskDialog, selector: "bizdoc-ask", ngImport: i0, template: "<h2 mat-dialog-title>{{title}}</h2>\r\n<mat-dialog-content class=\"mat-body\">{{content}}</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <button mat-button [mat-dialog-close]=\"true\" [color]=\"color\">{{ok}}</button>\r\n <button mat-button mat-dialog-close>{{cancel}}</button>\r\n</mat-dialog-actions>\r\n", components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i3.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i3.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i3.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i3.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }] });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: AskDialog, decorators: [{
23
23
  type: Component,
24
24
  args: [{ selector: 'bizdoc-ask', template: "<h2 mat-dialog-title>{{title}}</h2>\r\n<mat-dialog-content class=\"mat-body\">{{content}}</mat-dialog-content>\r\n<mat-dialog-actions>\r\n <button mat-button [mat-dialog-close]=\"true\" [color]=\"color\">{{ok}}</button>\r\n <button mat-button mat-dialog-close>{{cancel}}</button>\r\n</mat-dialog-actions>\r\n" }]
25
25
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -9,9 +9,9 @@ export class MaskComponent {
9
9
  this.resource = resource;
10
10
  }
11
11
  }
12
- MaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MaskComponent, deps: [{ token: MASK_DATA }], target: i0.ɵɵFactoryTarget.Component });
13
- MaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: MaskComponent, selector: "bizdoc-mask", ngImport: i0, template: "<h1 class=\"mat-display-2\">{{resource|translate}}</h1>\r\n", styles: [":host{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#fff;padding:2em;opacity:.8;display:flex;flex-direction:row;place-content:center center;align-items:center}\n"], pipes: { "translate": i1.TranslatePipe } });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: MaskComponent, decorators: [{
12
+ MaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: MaskComponent, deps: [{ token: MASK_DATA }], target: i0.ɵɵFactoryTarget.Component });
13
+ MaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.0", type: MaskComponent, selector: "bizdoc-mask", ngImport: i0, template: "<h1 class=\"mat-display-2\">{{resource|translate}}</h1>\r\n", styles: [":host{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#fff;padding:2em;opacity:.8;display:flex;flex-direction:row;place-content:center center;align-items:center}\n"], pipes: { "translate": i1.TranslatePipe } });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: MaskComponent, decorators: [{
15
15
  type: Component,
16
16
  args: [{ selector: 'bizdoc-mask', template: "<h1 class=\"mat-display-2\">{{resource|translate}}</h1>\r\n", styles: [":host{position:absolute;top:0;right:0;bottom:0;left:0;background-color:#fff;padding:2em;opacity:.8;display:flex;flex-direction:row;place-content:center center;align-items:center}\n"] }]
17
17
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -77,9 +77,9 @@ export class PromptService {
77
77
  return oRef;
78
78
  }
79
79
  }
80
- PromptService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PromptService, deps: [{ token: i1.MatDialog }, { token: i2.MatSnackBar }, { token: i0.Injector }, { token: i3.Overlay }, { token: i4.TranslateService }, { token: i5.SessionService }], target: i0.ɵɵFactoryTarget.Injectable });
81
- PromptService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PromptService, providedIn: 'root' });
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PromptService, decorators: [{
80
+ PromptService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: PromptService, deps: [{ token: i1.MatDialog }, { token: i2.MatSnackBar }, { token: i0.Injector }, { token: i3.Overlay }, { token: i4.TranslateService }, { token: i5.SessionService }], target: i0.ɵɵFactoryTarget.Injectable });
81
+ PromptService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: PromptService, providedIn: 'root' });
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: PromptService, decorators: [{
83
83
  type: Injectable,
84
84
  args: [{ providedIn: 'root' }]
85
85
  }], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.MatSnackBar }, { type: i0.Injector }, { type: i3.Overlay }, { type: i4.TranslateService }, { type: i5.SessionService }]; } });
@@ -13,9 +13,9 @@ export class PaneRouter extends RouterImpl {
13
13
  this._router.navigate(commands, extra);
14
14
  }
15
15
  }
16
- PaneRouter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PaneRouter, deps: [{ token: i1.PanesRouter }], target: i0.ɵɵFactoryTarget.Injectable });
17
- PaneRouter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PaneRouter });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PaneRouter, decorators: [{
16
+ PaneRouter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: PaneRouter, deps: [{ token: i1.PanesRouter }], target: i0.ɵɵFactoryTarget.Injectable });
17
+ PaneRouter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: PaneRouter });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: PaneRouter, decorators: [{
19
19
  type: Injectable
20
20
  }], ctorParameters: function () { return [{ type: i1.PanesRouter }]; } });
21
21
  export class NgRouter extends RouterImpl {
@@ -27,9 +27,9 @@ export class NgRouter extends RouterImpl {
27
27
  this._router.navigate(commands, extra);
28
28
  }
29
29
  }
30
- NgRouter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NgRouter, deps: [{ token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
31
- NgRouter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NgRouter });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: NgRouter, decorators: [{
30
+ NgRouter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: NgRouter, deps: [{ token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
31
+ NgRouter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: NgRouter });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: NgRouter, decorators: [{
33
33
  type: Injectable
34
34
  }], ctorParameters: function () { return [{ type: i2.Router }]; } });
35
35
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL3JvdXRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBSTNDLE1BQU0sT0FBZ0IsVUFBVTtDQUUvQjtBQUVELE1BQU0sT0FBTyxVQUFXLFNBQVEsVUFBVTtJQUN4QyxZQUNVLE9BQW9CO1FBRTVCLEtBQUssRUFBRSxDQUFDO1FBRkEsWUFBTyxHQUFQLE9BQU8sQ0FBYTtJQUc5QixDQUFDO0lBQ0QsUUFBUSxDQUFDLFFBQWtCLEVBQUUsS0FBTTtRQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQzs7dUdBUlUsVUFBVTsyR0FBVixVQUFVOzJGQUFWLFVBQVU7a0JBRHRCLFVBQVU7O0FBWVgsTUFBTSxPQUFPLFFBQVMsU0FBUSxVQUFVO0lBQ3RDLFlBQ1UsT0FBZTtRQUVyQixLQUFLLEVBQUUsQ0FBQztRQUZGLFlBQU8sR0FBUCxPQUFPLENBQVE7SUFHekIsQ0FBQztJQUNELFFBQVEsQ0FBQyxRQUFrQixFQUFFLEtBQU07UUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7O3FHQVJVLFFBQVE7eUdBQVIsUUFBUTsyRkFBUixRQUFRO2tCQURwQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgUGFuZXNSb3V0ZXIgfSBmcm9tIFwiLi9zbG90cy9yb3V0ZXIuc2VydmljZVwiO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJvdXRlckltcGwge1xyXG4gIGFic3RyYWN0IG5hdmlnYXRlKGNvbW1hbmRzOiAoc3RyaW5nfG51bWJlcilbXSwgZXh0cmE/KTtcclxufVxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBQYW5lUm91dGVyIGV4dGVuZHMgUm91dGVySW1wbCB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFBhbmVzUm91dGVyXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuICBuYXZpZ2F0ZShjb21tYW5kczogc3RyaW5nW10sIGV4dHJhPykge1xyXG4gICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKGNvbW1hbmRzLCBleHRyYSk7XHJcbiAgfVxyXG59XHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE5nUm91dGVyIGV4dGVuZHMgUm91dGVySW1wbCB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlclxyXG4gICkge1xyXG4gICAgICBzdXBlcigpO1xyXG4gIH1cclxuICBuYXZpZ2F0ZShjb21tYW5kczogc3RyaW5nW10sIGV4dHJhPykge1xyXG4gICAgdGhpcy5fcm91dGVyLm5hdmlnYXRlKGNvbW1hbmRzLCBleHRyYSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -36,12 +36,17 @@ export class SessionService {
36
36
  get profile() { return this._profile; }
37
37
  get gender() { return this._profile.byGender || this._profile.gender; }
38
38
  get accentPalette() {
39
- return Object.values(MATERIAL_PALETTES[this.theme.accent]).
40
- slice(1);
39
+ const palette = MATERIAL_PALETTES[this.theme.accent];
40
+ return this._constructpalette(palette);
41
+ }
42
+ _constructpalette(palette) {
43
+ return [palette['100'], palette['300'], palette['500'], palette['700'], palette['900'],
44
+ palette['200'], palette['400'], palette['600'], palette['800'], palette['hex'],
45
+ palette['a100'], palette['a400'], palette['a200'], palette['a700']];
41
46
  }
42
47
  get primeryPalette() {
43
- return Object.values(MATERIAL_PALETTES[this.theme.primary]).
44
- slice(1);
48
+ const palette = MATERIAL_PALETTES[this.theme.primary];
49
+ return this._constructpalette(palette);
45
50
  }
46
51
  getAccent(mode = 500) {
47
52
  return MATERIAL_PALETTES[this.theme.accent][mode];
@@ -222,13 +227,13 @@ export class SessionService {
222
227
  document.head.append(script);
223
228
  }
224
229
  }
225
- SessionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SessionService, deps: [{ token: BIZDOC_CONFIG }, { token: i1.HttpClient }, { token: i2.CookieService }, { token: i3.HubService }], target: i0.ɵɵFactoryTarget.Injectable });
226
- SessionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SessionService, providedIn: 'root' });
227
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SessionService, decorators: [{
230
+ SessionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: SessionService, deps: [{ token: BIZDOC_CONFIG }, { token: i1.HttpClient }, { token: i2.CookieService }, { token: i3.HubService }], target: i0.ɵɵFactoryTarget.Injectable });
231
+ SessionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: SessionService, providedIn: 'root' });
232
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: SessionService, decorators: [{
228
233
  type: Injectable,
229
234
  args: [{ providedIn: 'root' }]
230
235
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
231
236
  type: Inject,
232
237
  args: [BIZDOC_CONFIG]
233
238
  }] }, { type: i1.HttpClient }, { type: i2.CookieService }, { type: i3.HubService }]; } });
234
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL3Nlc3Npb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4RCxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLGFBQWEsRUFBMkMsTUFBTSx1QkFBdUIsQ0FBQztBQUUvRixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7QUFHN0MsTUFBTSxNQUFNLEdBQVk7SUFDdEIsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFO0lBQ3hFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRTtJQUN2RSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUU7SUFDdEUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFNBQVMs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QU0sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFDTyxPQUFPO1FBQ2IsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRTtZQUM5QixTQUFTLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDdkQsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ08sU0FBUztRQUNmLE1BQU0sTUFBTSxHQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBMkIsQ0FBQyxNQUFNLENBQUM7UUFDaEUsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxNQUFNLENBQUMsR0FBRyxHQUFHLCtDQUErQyxNQUFNLDhCQUE4QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDaEgsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7MkdBbE5VLGNBQWMsa0JBRUwsYUFBYTsrR0FGdEIsY0FBYyxjQURELE1BQU07MkZBQ25CLGNBQWM7a0JBRDFCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFHbkIsTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcclxuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50LCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEh1YkNvbm5lY3Rpb25TdGF0ZSB9IGZyb20gJ0BtaWNyb3NvZnQvc2lnbmFscic7XHJcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnO1xyXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgeyBCSVpET0NfQ09ORklHLCBCaXpEb2NDb25maWcsIEdvb2dsZU1hcHNTZXR0aW5ncywgVGhlbWUgfSBmcm9tICcuLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBQcm9maWxlLCBVc2VySW5mbywgQXZhaWxhYmlsaXR5U3RhdGUsIE9wdGlvbnMsIEdlbmRlciB9IGZyb20gJy4vbW9kZWxzJztcclxuaW1wb3J0IHsgRmlyZWJhc2VTZXJ2aWNlLCBGaXJlYmFzZVN0YXRlIH0gZnJvbSAnLi9maXJlYmFzZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSHViU2VydmljZSB9IGZyb20gJy4vaHViLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNQVRFUklBTF9QQUxFVFRFUyB9IGZyb20gJy4vY29sb3JzJztcclxuaW1wb3J0IHsgTWF0ZXJpYWxNb2RlIH0gZnJvbSAnLi9mdW5jdGlvbnMnO1xyXG5cclxuY29uc3QgVEhFTUVTOiBUaGVtZVtdID0gW1xyXG4gIHsgbmFtZTogJ2RlZmF1bHQnLCBwcmltYXJ5OiAncHVycGxlJywgY29sb3I6ICdwdXJwbGUnLCBhY2NlbnQ6ICdhbWJlcicgfSxcclxuICB7IG5hbWU6ICdpbmRpZ28nLCBwcmltYXJ5OiAnaW5kaWdvJywgY29sb3I6ICcjM2Y1MWI1JywgYWNjZW50OiAncGluaycgfSxcclxuICB7IG5hbWU6ICdncmVlbicsIHByaW1hcnk6ICdncmVlbicsIGNvbG9yOiAnIzRDQUY1MCcsIGFjY2VudDogJ2FtYmVyJyB9LFxyXG4gIHsgbmFtZTogJ2RhcmsnLCBwcmltYXJ5OiAnZGVlcFB1cnBsZScsIGNvbG9yOiAnIzQwNDA0MScsIGFjY2VudDogJ2FtYmVyJywgZGFyazogdHJ1ZSB9LFxyXG4gIHsgbmFtZTogJ2Jyb3duJywgcHJpbWFyeTogJ2Jyb3duJywgY29sb3I6ICcjNzk1NTQ4JywgYWNjZW50OiAnZ3JleScgfV07XHJcblxyXG5jb25zdCBTVVBQT1JURURfTEFOR1VBR0VTID0gWydlbi1VUycsICdoZS1JTCcsICdkZS1ERSddLCBSVExfTEFOR1VBTEdFUyA9IFsnaGUtSUwnXTtcclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgU2Vzc2lvblNlcnZpY2Uge1xyXG4gIHJlYWRvbmx5IFRoZW1lczogVGhlbWVbXSA9IHRoaXMuX2NvbmZpZy50aGVtZXMgfHwgVEhFTUVTO1xyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQklaRE9DX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnOiBCaXpEb2NDb25maWcsXHJcbiAgICBwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBfY29va2llczogQ29va2llU2VydmljZSxcclxuICAgIHByaXZhdGUgX2h1YjogSHViU2VydmljZSxcclxuICApIHtcclxuICAgICgnc2VydmljZVdvcmtlcicgaW4gbmF2aWdhdG9yKSAmJiB0aGlzLl9sb2FkU3coKTtcclxuICAgIF9jb25maWcgJiYgX2NvbmZpZy5tYXBzICYmIHRoaXMuX2xvYWRNYXBzKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2xvYWRlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfdGhlbWVDaGFuZ2UgPSBuZXcgU3ViamVjdDxUaGVtZT4oKTtcclxuICByZWFkb25seSBsb2FkZWQgPSB0aGlzLl9sb2FkZWQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgcmVhZG9ubHkgdGhlbWVDaGFuZ2UgPSB0aGlzLl90aGVtZUNoYW5nZS5hc09ic2VydmFibGUoKTtcclxuICBwcml2YXRlIF9wcm9maWxlOiBQcm9maWxlO1xyXG4gIHByaXZhdGUgX2xhbmc6IHN0cmluZztcclxuICBwcml2YXRlIF9maXJlYmFzZSA9IG5ldyBGaXJlYmFzZVNlcnZpY2UodGhpcy5fY29uZmlnID8gdGhpcy5fY29uZmlnLmZpcmViYXNlIDogbnVsbCwgdGhpcyk7XHJcbiAgZ2V0IHByb2ZpbGUoKTogUHJvZmlsZSB7IHJldHVybiB0aGlzLl9wcm9maWxlOyB9XHJcbiAgZ2V0IGdlbmRlcigpOiBHZW5kZXIgeyByZXR1cm4gdGhpcy5fcHJvZmlsZS5ieUdlbmRlciB8fCB0aGlzLl9wcm9maWxlLmdlbmRlcjsgfVxyXG4gIGdldCBhY2NlbnRQYWxldHRlKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiBPYmplY3QudmFsdWVzKE1BVEVSSUFMX1BBTEVUVEVTW3RoaXMudGhlbWUuYWNjZW50XSkuXHJcbiAgICAgIHNsaWNlKDEpO1xyXG4gIH1cclxuICBnZXQgcHJpbWVyeVBhbGV0dGUoKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoTUFURVJJQUxfUEFMRVRURVNbdGhpcy50aGVtZS5wcmltYXJ5XSkuXHJcbiAgICAgIHNsaWNlKDEpO1xyXG4gIH1cclxuICBnZXRBY2NlbnQobW9kZTogTWF0ZXJpYWxNb2RlID0gNTAwKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBNQVRFUklBTF9QQUxFVFRFU1t0aGlzLnRoZW1lLmFjY2VudF1bbW9kZV07XHJcbiAgfVxyXG4gIGdldFByaW1lcnkobW9kZTogTWF0ZXJpYWxNb2RlID0gNTAwKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBNQVRFUklBTF9QQUxFVFRFU1t0aGlzLnRoZW1lLnByaW1hcnldW21vZGVdO1xyXG4gIH1cclxuICBwcml2YXRlIF90aGVtZTogVGhlbWU7XHJcbiAgZ2V0IHRoZW1lKCk6IFRoZW1lIHtcclxuICAgIGlmICghdGhpcy5fdGhlbWUpIHtcclxuICAgICAgY29uc3QgbmFtZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd0aGVtZScpO1xyXG4gICAgICB0aGlzLl90aGVtZSA9IG5hbWUgPyB0aGlzLlRoZW1lcy5maW5kKHQgPT4gdC5uYW1lID09PSBuYW1lKSA6IHRoaXMuVGhlbWVzWzBdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuX3RoZW1lO1xyXG4gIH1cclxuICBzZXQgdGhlbWUodmFsdWU6IFRoZW1lKSB7XHJcbiAgICB0aGlzLl90aGVtZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5fY2hhbmdlVGhlbWUodmFsdWUpLnN1YnNjcmliZSgoKSA9PlxyXG4gICAgICB0aGlzLl90aGVtZUNoYW5nZS5uZXh0KHZhbHVlKSk7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndGhlbWUnLCB2YWx1ZS5uYW1lKTtcclxuICB9XHJcbiAgZ2V0IG9rKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5wcm9maWxlICE9PSB1bmRlZmluZWQ7IH1cclxuICAvKiogbGFuZ3VhZ2UgZGlyZWN0aW9uICovXHJcbiAgZ2V0IGRpcmVjdGlvbigpOiBEaXJlY3Rpb24ge1xyXG4gICAgcmV0dXJuIFJUTF9MQU5HVUFMR0VTLmluZGV4T2YodGhpcy5sYW5ndWFnZSkgPiAtMSA/ICdydGwnIDogJ2x0cic7XHJcbiAgfVxyXG4gIGdldCBpbnZlcnNlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uID09PSAncnRsJztcclxuICB9XHJcbiAgZ2V0IHVzZXJJZCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Byb2ZpbGUuYnlJZCB8fCB0aGlzLnByb2ZpbGUudXNlcklkO1xyXG4gIH1cclxuICBnZXQgbGFuZ3VhZ2UoKTogc3RyaW5nIHtcclxuICAgIGlmICghdGhpcy5fbGFuZykge1xyXG4gICAgICB0aGlzLl9sYW5nID0gdGhpcy5fY29va2llcy5nZXQoJ2xhbmcnKTtcclxuICAgICAgaWYgKCF0aGlzLl9sYW5nKSB7XHJcbiAgICAgICAgdGhpcy5fbGFuZyA9IHRoaXMuX2dldEJyb3dzZXJMYW5nKCkgfHwgJ2VuLVVTJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuX2xhbmc7XHJcbiAgfVxyXG4gIGdldCBhcmlhKCkgeyByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2FyaWEnKSA9PT0gJzEnIH1cclxuICBzZXQgYXJpYSh2YWw6IGJvb2xlYW4pIHsgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2FyaWEnLCB2YWwgPyAnMScgOiAnMCcpIH1cclxuICBzZXQgbGFuZ3VhZ2UoY29kZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9jb29raWVzLnNldCgnbGFuZycsIGNvZGUsIDM2NSwgJy8nKTtcclxuICB9XHJcbiAgZ2V0IGxhbmd1YWdlcygpOiBzdHJpbmdbXSB7IHJldHVybiB0aGlzLl9jb25maWcubGFuZ3VhZ2VzID8gdGhpcy5fY29uZmlnLmxhbmd1YWdlcyA6IFNVUFBPUlRFRF9MQU5HVUFHRVM7IH1cclxuICBnZXQgaXNJbXBlcnNvbmF0aW5nKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5wcm9maWxlLmJ5SWQgIT09IHVuZGVmaW5lZDsgfVxyXG4gIC8qKiBzeXN0ZW0gYWRtaW4gKi9cclxuICBnZXQgaXNTeXN0ZW0oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm9maWxlLnN5c3RlbTtcclxuICB9XHJcbiAgLyoqIG9ubGluZSBvciBzZXQgaW4gcHJvZmlsZSAqL1xyXG4gIGdldCBzdGF0ZSgpOiBBdmFpbGFiaWxpdHlTdGF0ZSB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm9maWxlLmF2YWlsYWJsZSB8fCAnT25saW5lJztcclxuICB9XHJcbiAgc2V0IHN0YXRlKHZhbHVlOiBBdmFpbGFiaWxpdHlTdGF0ZSkge1xyXG4gICAgdGhpcy5wcm9maWxlLmF2YWlsYWJsZSA9IHZhbHVlID09PSAnT25saW5lJyA/IG51bGwgOiB2YWx1ZTtcclxuICAgIHRoaXMuX2h0dHAucHV0KGAvYXBpL2FjY291bnQvYXZhaWxhYmxlP21vZGU9JHt0aGlzLnByb2ZpbGUuYXZhaWxhYmxlIHx8ICcnfWAsIHt9KS5zdWJzY3JpYmUoKTtcclxuICB9XHJcbiAgLyoqICovXHJcbiAgZ2V0IGlzT3V0T2ZPZmZpY2UoKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5wcm9maWxlLm9wdGlvbnMub3V0T2ZPZmZpY2U7XHJcbiAgICBpZiAob3B0aW9ucyAmJiBvcHRpb25zLmFjdGl2ZSkge1xyXG4gICAgICBjb25zdCB0b2RheSA9IGRheWpzKCkuc3RhcnRPZignZGF5Jyk7XHJcbiAgICAgIHJldHVybiAoIW9wdGlvbnMuZnJvbSB8fCBkYXlqcyhvcHRpb25zLmZyb20pLnN0YXJ0T2YoJ2RheScpIDw9IHRvZGF5KVxyXG4gICAgICAgICYmICghb3B0aW9ucy50byB8fCBkYXlqcyhvcHRpb25zLnRvKS5zdGFydE9mKCdkYXknKSA+PSB0b2RheSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHJldHVybiBmYWxzZTtcclxuICB9XHJcbiAgLyoqIHVwZGF0ZSBwcm9maWxlICAqL1xyXG4gIHVwZGF0ZShwcm9maWxlOiBPcHRpb25zKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnB1dCgnL2FwaS9hY2NvdW50L3VwZGF0ZScsIHByb2ZpbGUpLnBpcGUodGFwKCgpID0+XHJcbiAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5fcHJvZmlsZS5vcHRpb25zLCBwcm9maWxlKSkpO1xyXG4gIH1cclxuICAvKiogbWFyayBndWlkZSBhcyB2aXNpdGVkIGluIHByb2ZpbGUgKi9cclxuICBndWlkZShuYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucHV0KGAvYXBpL2FjY291bnQvZ3VpZGUvJHtuYW1lfWAsIHt9LCB7IGhlYWRlcnM6IHsgJ25vLXByb2dyZXNzJzogJ3RydWUnIH0gfSkucGlwZShcclxuICAgICAgdGFwKCgpID0+IHtcclxuICAgICAgICBjb25zdCBndWlkZSA9IHRoaXMuX3Byb2ZpbGUuZ3VpZGVzLmZpbmQoZyA9PiBnLm5hbWUgPT09IG5hbWUpO1xyXG4gICAgICAgIGlmIChndWlkZSkgZ3VpZGUubW9kZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLl9wcm9maWxlLm9wdGlvbnMuZ3VpZGVzLnB1c2gobmFtZSk7XHJcbiAgICAgIH0pKTtcclxuICB9XHJcbiAgLyoqIGdldCBwcm9maWxlICovXHJcbiAgcmVmcmVzaCgpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPGFueT4ob2JzZXJ2ZSA9PiB7XHJcbiAgICAgIHRoaXMuX2h0dHAuZ2V0PFByb2ZpbGU+KCcvYXBpL2FjY291bnQvcmVmcmVzaCcpLnN1YnNjcmliZShyID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMuX3Byb2ZpbGUpXHJcbiAgICAgICAgICB0aGlzLl9jaGFuZ2VUaGVtZSh0aGlzLnRoZW1lKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9wcm9maWxlID0gcjtcclxuICAgICAgICAgICAgb2JzZXJ2ZS5uZXh0KCk7XHJcbiAgICAgICAgICAgIHRoaXMuX2xvYWRlZC5uZXh0KCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuX3Byb2ZpbGUgPSByO1xyXG4gICAgICAgICAgb2JzZXJ2ZS5uZXh0KCk7XHJcbiAgICAgICAgICB0aGlzLl9sb2FkZWQubmV4dCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLl9odWIuc3RhdGUgIT09IEh1YkNvbm5lY3Rpb25TdGF0ZS5Db25uZWN0ZWQgJiYgdGhpcy5faHViLnN0YXJ0KCk7XHJcbiAgICAgICAgdGhpcy5fZmlyZWJhc2Uuc3RhdGUgIT09IEZpcmViYXNlU3RhdGUuQWN0aXZhdGVkICYmXHJcbiAgICAgICAgICB0aGlzLl9maXJlYmFzZS5hY3RpdmF0ZSgpO1xyXG4gICAgICB9LCAoKSA9PiBvYnNlcnZlLmVycm9yKCkpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHB1YmxpYyB1bnJlZ2lzdGVyRGV2aWNlKHR5cGU6IHN0cmluZywgdG9rZW46IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wb3N0KCcvYXBpL2FjY291bnQvdW5yZWdpc3RlckRldmljZScsIHsgdHlwZSwgdG9rZW4gfSk7XHJcbiAgfVxyXG4gIHB1YmxpYyByZWdpc3RlckRldmljZSh0eXBlOiBzdHJpbmcsIHRva2VuOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucG9zdCgnL2FwaS9hY2NvdW50L3JlZ2lzdGVyRGV2aWNlJywgeyB0eXBlLCB0b2tlbiB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBtYXlJbXBlcnNvbmF0ZShzZWFyY2g6IHN0cmluZyk6IE9ic2VydmFibGU8VXNlckluZm9bXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucHV0PFVzZXJJbmZvW10+KCcvYXBpL2FjY291bnQvZ3JhbnRlZCcsIHtcclxuICAgICAgc2VhcmNoXHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHVibGljIGltcGVyc29uYXRlKHVzZXJJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnBvc3Q8UHJvZmlsZT4oJy9hcGkvYWNjb3VudC9pbXBlcnNvbmF0ZScsIHtcclxuICAgICAgdXNlcklkXHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHVibGljIGluYm94VG91Y2goKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wdXQ8V2F0ZXJtYXJrSW5mbz4oJy9hcGkvYWNjb3VudC9pbmJveHZpZXcnLCB7fSwgeyBoZWFkZXJzOiB7ICduby1wcm9ncmVzcyc6ICd0cnVlJyB9IH0pLnBpcGUoXHJcbiAgICAgIHRhcChlID0+IHtcclxuICAgICAgICB0aGlzLnByb2ZpbGUuaW5ib3hDb3VudCA9IDA7XHJcbiAgICAgICAgdGhpcy5wcm9maWxlLm9wdGlvbnMuaW5ib3hWaWV3ID0gZS50aW1lO1xyXG4gICAgICB9KSkudG9Qcm9taXNlKCk7XHJcbiAgfVxyXG4gIHB1YmxpYyBub3RpZmljYXRpb25zVG91Y2goKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wdXQ8V2F0ZXJtYXJrSW5mbz4oJy9hcGkvYWNjb3VudC9ub3RpZmljYXRpb25zVmlldycsIHt9LCB7IGhlYWRlcnM6IHsgJ25vLXByb2dyZXNzJzogJ3RydWUnIH0gfSkucGlwZSh0YXAoZSA9PiB7XHJcbiAgICAgIHRoaXMucHJvZmlsZS5ub3RpZmljYXRpb25zQ291bnQgPSAwO1xyXG4gICAgICB0aGlzLnByb2ZpbGUub3B0aW9ucy5ub3RpZmljYXRpb25zVmlldyA9IGUudGltZTtcclxuICAgIH0pKS50b1Byb21pc2UoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZ2V0QnJvd3NlckxhbmcoKTogc3RyaW5nIHtcclxuICAgIGxldCBsYW5nID0gbmF2aWdhdG9yLmxhbmd1YWdlO1xyXG4gICAgaWYgKHRoaXMubGFuZ3VhZ2VzLmluZGV4T2YobGFuZykgPiAtMSlcclxuICAgICAgcmV0dXJuIGxhbmc7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5hdmlnYXRvci5sYW5ndWFnZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgbGFuZyA9IG5hdmlnYXRvci5sYW5ndWFnZXNbaV07XHJcbiAgICAgIGlmICh0aGlzLmxhbmd1YWdlcy5pbmRleE9mKGxhbmcpID4gLTEpXHJcbiAgICAgICAgcmV0dXJuIGxhbmc7XHJcbiAgICB9XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5hdmlnYXRvci5sYW5ndWFnZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgY29uc3QgY3VsdHVyZSA9IG5hdmlnYXRvci5sYW5ndWFnZXNbaV0uc3Vic3RyaW5nKDAsIDIpLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgIGNvbnN0IGxhbmd1YWdlID0gdGhpcy5sYW5ndWFnZXMuZmluZChsID0+IGwuc3RhcnRzV2l0aChjdWx0dXJlKSk7XHJcbiAgICAgIGlmIChsYW5ndWFnZSlcclxuICAgICAgICByZXR1cm4gbGFuZ3VhZ2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHRoZW1lXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfY2hhbmdlVGhlbWUodGhlbWU6IFRoZW1lKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGxldCBzdHlsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiaXpkb2MtdGhlbWUnKSBhcyBIVE1MTGlua0VsZW1lbnQ7XHJcbiAgICBpZiAoc3R5bGUpXHJcbiAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoc3R5bGUpO1xyXG5cclxuICAgIGlmICh0aGVtZS5uYW1lID09PSB0aGlzLlRoZW1lc1swXS5uYW1lKSB7XHJcbiAgICAgIHJldHVybiBvZih0aGVtZSk7XHJcbiAgICB9XHJcbiAgICBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcclxuICAgIHN0eWxlLmlkID0gJ2JpemRvYy10aGVtZSc7XHJcbiAgICBzdHlsZS50eXBlID0gJ3RleHQvY3NzJztcclxuICAgIHN0eWxlLnJlbCA9ICdzdHlsZXNoZWV0JztcclxuICAgIHN0eWxlLmhyZWYgPSBgL2Fzc2V0cy90aGVtZXMvJHt0aGVtZS5uYW1lfS5taW4uY3NzYDtcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kKHN0eWxlKTtcclxuXHJcbiAgICByZXR1cm4gZnJvbUV2ZW50KHN0eWxlLCAnbG9hZCcpO1xyXG4gIH1cclxuICBwcml2YXRlIF9sb2FkU3coKSB7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uICgpIHtcclxuICAgICAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoJy9qcy9hcHAtc3cuanMnKS50aGVuKGZ1bmN0aW9uICgpIHtcclxuICAgICAgfSwgbnVsbCk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfbG9hZE1hcHMoKSB7XHJcbiAgICBjb25zdCBhcGlLZXkgPSAodGhpcy5fY29uZmlnLm1hcHMgYXMgR29vZ2xlTWFwc1NldHRpbmdzKS5hcGlLZXk7XHJcbiAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcclxuICAgIHNjcmlwdC5zcmMgPSBgaHR0cHM6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2pzP2tleT0ke2FwaUtleX0mbGlicmFyaWVzPXBsYWNlcyZsYW5ndWFnZT0ke3RoaXMubGFuZ3VhZ2V9YDtcclxuICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kKHNjcmlwdCk7XHJcbiAgfVxyXG59XHJcbmludGVyZmFjZSBXYXRlcm1hcmtJbmZvIHtcclxuICB0aW1lOiBEYXRlO1xyXG59XHJcbiJdfQ==
239
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL3Nlc3Npb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4RCxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLGFBQWEsRUFBMkMsTUFBTSx1QkFBdUIsQ0FBQztBQUUvRixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7QUFHN0MsTUFBTSxNQUFNLEdBQVk7SUFDdEIsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFO0lBQ3hFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRTtJQUN2RSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUU7SUFDdEUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLFNBQVMs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R0FGdEIsY0FBYyxjQURELE1BQU07MkZBQ25CLGNBQWM7a0JBRDFCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFHbkIsTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcclxuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50LCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEh1YkNvbm5lY3Rpb25TdGF0ZSB9IGZyb20gJ0BtaWNyb3NvZnQvc2lnbmFscic7XHJcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnO1xyXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgeyBCSVpET0NfQ09ORklHLCBCaXpEb2NDb25maWcsIEdvb2dsZU1hcHNTZXR0aW5ncywgVGhlbWUgfSBmcm9tICcuLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBQcm9maWxlLCBVc2VySW5mbywgQXZhaWxhYmlsaXR5U3RhdGUsIE9wdGlvbnMsIEdlbmRlciB9IGZyb20gJy4vbW9kZWxzJztcclxuaW1wb3J0IHsgRmlyZWJhc2VTZXJ2aWNlLCBGaXJlYmFzZVN0YXRlIH0gZnJvbSAnLi9maXJlYmFzZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSHViU2VydmljZSB9IGZyb20gJy4vaHViLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNQVRFUklBTF9QQUxFVFRFUyB9IGZyb20gJy4vY29sb3JzJztcclxuaW1wb3J0IHsgTWF0ZXJpYWxNb2RlIH0gZnJvbSAnLi9mdW5jdGlvbnMnO1xyXG5cclxuY29uc3QgVEhFTUVTOiBUaGVtZVtdID0gW1xyXG4gIHsgbmFtZTogJ2RlZmF1bHQnLCBwcmltYXJ5OiAncHVycGxlJywgY29sb3I6ICdwdXJwbGUnLCBhY2NlbnQ6ICdhbWJlcicgfSxcclxuICB7IG5hbWU6ICdpbmRpZ28nLCBwcmltYXJ5OiAnaW5kaWdvJywgY29sb3I6ICcjM2Y1MWI1JywgYWNjZW50OiAncGluaycgfSxcclxuICB7IG5hbWU6ICdncmVlbicsIHByaW1hcnk6ICdncmVlbicsIGNvbG9yOiAnIzRDQUY1MCcsIGFjY2VudDogJ2FtYmVyJyB9LFxyXG4gIHsgbmFtZTogJ2RhcmsnLCBwcmltYXJ5OiAnZGVlcFB1cnBsZScsIGNvbG9yOiAnIzQwNDA0MScsIGFjY2VudDogJ2FtYmVyJywgZGFyazogdHJ1ZSB9LFxyXG4gIHsgbmFtZTogJ2Jyb3duJywgcHJpbWFyeTogJ2Jyb3duJywgY29sb3I6ICcjNzk1NTQ4JywgYWNjZW50OiAnZ3JleScgfV07XHJcblxyXG5jb25zdCBTVVBQT1JURURfTEFOR1VBR0VTID0gWydlbi1VUycsICdoZS1JTCcsICdkZS1ERSddLCBSVExfTEFOR1VBTEdFUyA9IFsnaGUtSUwnXTtcclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgU2Vzc2lvblNlcnZpY2Uge1xyXG4gIHJlYWRvbmx5IFRoZW1lczogVGhlbWVbXSA9IHRoaXMuX2NvbmZpZy50aGVtZXMgfHwgVEhFTUVTO1xyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQklaRE9DX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnOiBCaXpEb2NDb25maWcsXHJcbiAgICBwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBfY29va2llczogQ29va2llU2VydmljZSxcclxuICAgIHByaXZhdGUgX2h1YjogSHViU2VydmljZSxcclxuICApIHtcclxuICAgICgnc2VydmljZVdvcmtlcicgaW4gbmF2aWdhdG9yKSAmJiB0aGlzLl9sb2FkU3coKTtcclxuICAgIF9jb25maWcgJiYgX2NvbmZpZy5tYXBzICYmIHRoaXMuX2xvYWRNYXBzKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2xvYWRlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfdGhlbWVDaGFuZ2UgPSBuZXcgU3ViamVjdDxUaGVtZT4oKTtcclxuICByZWFkb25seSBsb2FkZWQgPSB0aGlzLl9sb2FkZWQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgcmVhZG9ubHkgdGhlbWVDaGFuZ2UgPSB0aGlzLl90aGVtZUNoYW5nZS5hc09ic2VydmFibGUoKTtcclxuICBwcml2YXRlIF9wcm9maWxlOiBQcm9maWxlO1xyXG4gIHByaXZhdGUgX2xhbmc6IHN0cmluZztcclxuICBwcml2YXRlIF9maXJlYmFzZSA9IG5ldyBGaXJlYmFzZVNlcnZpY2UodGhpcy5fY29uZmlnID8gdGhpcy5fY29uZmlnLmZpcmViYXNlIDogbnVsbCwgdGhpcyk7XHJcbiAgZ2V0IHByb2ZpbGUoKTogUHJvZmlsZSB7IHJldHVybiB0aGlzLl9wcm9maWxlOyB9XHJcbiAgZ2V0IGdlbmRlcigpOiBHZW5kZXIgeyByZXR1cm4gdGhpcy5fcHJvZmlsZS5ieUdlbmRlciB8fCB0aGlzLl9wcm9maWxlLmdlbmRlcjsgfVxyXG4gIGdldCBhY2NlbnRQYWxldHRlKCk6IHN0cmluZ1tdIHtcclxuICAgIGNvbnN0IHBhbGV0dGUgPSBNQVRFUklBTF9QQUxFVFRFU1t0aGlzLnRoZW1lLmFjY2VudF07XHJcbiAgICByZXR1cm4gdGhpcy5fY29uc3RydWN0cGFsZXR0ZShwYWxldHRlKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfY29uc3RydWN0cGFsZXR0ZShwYWxldHRlOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmc7IH0pOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gW3BhbGV0dGVbJzEwMCddLCBwYWxldHRlWyczMDAnXSwgcGFsZXR0ZVsnNTAwJ10sIHBhbGV0dGVbJzcwMCddLCBwYWxldHRlWyc5MDAnXSxcclxuICAgIHBhbGV0dGVbJzIwMCddLCBwYWxldHRlWyc0MDAnXSwgcGFsZXR0ZVsnNjAwJ10sIHBhbGV0dGVbJzgwMCddLCBwYWxldHRlWydoZXgnXSxcclxuICAgIHBhbGV0dGVbJ2ExMDAnXSwgcGFsZXR0ZVsnYTQwMCddLCBwYWxldHRlWydhMjAwJ10sIHBhbGV0dGVbJ2E3MDAnXV07XHJcbiAgfVxyXG5cclxuICBnZXQgcHJpbWVyeVBhbGV0dGUoKTogc3RyaW5nW10ge1xyXG4gICAgY29uc3QgcGFsZXR0ZSA9IE1BVEVSSUFMX1BBTEVUVEVTW3RoaXMudGhlbWUucHJpbWFyeV07XHJcbiAgICByZXR1cm4gdGhpcy5fY29uc3RydWN0cGFsZXR0ZShwYWxldHRlKTtcclxuICB9XHJcbiAgZ2V0QWNjZW50KG1vZGU6IE1hdGVyaWFsTW9kZSA9IDUwMCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gTUFURVJJQUxfUEFMRVRURVNbdGhpcy50aGVtZS5hY2NlbnRdW21vZGVdO1xyXG4gIH1cclxuICBnZXRQcmltZXJ5KG1vZGU6IE1hdGVyaWFsTW9kZSA9IDUwMCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gTUFURVJJQUxfUEFMRVRURVNbdGhpcy50aGVtZS5wcmltYXJ5XVttb2RlXTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfdGhlbWU6IFRoZW1lO1xyXG4gIGdldCB0aGVtZSgpOiBUaGVtZSB7XHJcbiAgICBpZiAoIXRoaXMuX3RoZW1lKSB7XHJcbiAgICAgIGNvbnN0IG5hbWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndGhlbWUnKTtcclxuICAgICAgdGhpcy5fdGhlbWUgPSBuYW1lID8gdGhpcy5UaGVtZXMuZmluZCh0ID0+IHQubmFtZSA9PT0gbmFtZSkgOiB0aGlzLlRoZW1lc1swXTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl90aGVtZTtcclxuICB9XHJcbiAgc2V0IHRoZW1lKHZhbHVlOiBUaGVtZSkge1xyXG4gICAgdGhpcy5fdGhlbWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuX2NoYW5nZVRoZW1lKHZhbHVlKS5zdWJzY3JpYmUoKCkgPT5cclxuICAgICAgdGhpcy5fdGhlbWVDaGFuZ2UubmV4dCh2YWx1ZSkpO1xyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3RoZW1lJywgdmFsdWUubmFtZSk7XHJcbiAgfVxyXG4gIGdldCBvaygpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMucHJvZmlsZSAhPT0gdW5kZWZpbmVkOyB9XHJcbiAgLyoqIGxhbmd1YWdlIGRpcmVjdGlvbiAqL1xyXG4gIGdldCBkaXJlY3Rpb24oKTogRGlyZWN0aW9uIHtcclxuICAgIHJldHVybiBSVExfTEFOR1VBTEdFUy5pbmRleE9mKHRoaXMubGFuZ3VhZ2UpID4gLTEgPyAncnRsJyA6ICdsdHInO1xyXG4gIH1cclxuICBnZXQgaW52ZXJzZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmRpcmVjdGlvbiA9PT0gJ3J0bCc7XHJcbiAgfVxyXG4gIGdldCB1c2VySWQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9wcm9maWxlLmJ5SWQgfHwgdGhpcy5wcm9maWxlLnVzZXJJZDtcclxuICB9XHJcbiAgZ2V0IGxhbmd1YWdlKCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRoaXMuX2xhbmcpIHtcclxuICAgICAgdGhpcy5fbGFuZyA9IHRoaXMuX2Nvb2tpZXMuZ2V0KCdsYW5nJyk7XHJcbiAgICAgIGlmICghdGhpcy5fbGFuZykge1xyXG4gICAgICAgIHRoaXMuX2xhbmcgPSB0aGlzLl9nZXRCcm93c2VyTGFuZygpIHx8ICdlbi1VUyc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl9sYW5nO1xyXG4gIH1cclxuICBnZXQgYXJpYSgpIHsgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdhcmlhJykgPT09ICcxJyB9XHJcbiAgc2V0IGFyaWEodmFsOiBib29sZWFuKSB7IGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdhcmlhJywgdmFsID8gJzEnIDogJzAnKSB9XHJcbiAgc2V0IGxhbmd1YWdlKGNvZGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fY29va2llcy5zZXQoJ2xhbmcnLCBjb2RlLCAzNjUsICcvJyk7XHJcbiAgfVxyXG4gIGdldCBsYW5ndWFnZXMoKTogc3RyaW5nW10geyByZXR1cm4gdGhpcy5fY29uZmlnLmxhbmd1YWdlcyA/IHRoaXMuX2NvbmZpZy5sYW5ndWFnZXMgOiBTVVBQT1JURURfTEFOR1VBR0VTOyB9XHJcbiAgZ2V0IGlzSW1wZXJzb25hdGluZygpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMucHJvZmlsZS5ieUlkICE9PSB1bmRlZmluZWQ7IH1cclxuICAvKiogc3lzdGVtIGFkbWluICovXHJcbiAgZ2V0IGlzU3lzdGVtKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucHJvZmlsZS5zeXN0ZW07XHJcbiAgfVxyXG4gIC8qKiBvbmxpbmUgb3Igc2V0IGluIHByb2ZpbGUgKi9cclxuICBnZXQgc3RhdGUoKTogQXZhaWxhYmlsaXR5U3RhdGUge1xyXG4gICAgcmV0dXJuIHRoaXMucHJvZmlsZS5hdmFpbGFibGUgfHwgJ09ubGluZSc7XHJcbiAgfVxyXG4gIHNldCBzdGF0ZSh2YWx1ZTogQXZhaWxhYmlsaXR5U3RhdGUpIHtcclxuICAgIHRoaXMucHJvZmlsZS5hdmFpbGFibGUgPSB2YWx1ZSA9PT0gJ09ubGluZScgPyBudWxsIDogdmFsdWU7XHJcbiAgICB0aGlzLl9odHRwLnB1dChgL2FwaS9hY2NvdW50L2F2YWlsYWJsZT9tb2RlPSR7dGhpcy5wcm9maWxlLmF2YWlsYWJsZSB8fCAnJ31gLCB7fSkuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG4gIC8qKiAqL1xyXG4gIGdldCBpc091dE9mT2ZmaWNlKCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMucHJvZmlsZS5vcHRpb25zLm91dE9mT2ZmaWNlO1xyXG4gICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5hY3RpdmUpIHtcclxuICAgICAgY29uc3QgdG9kYXkgPSBkYXlqcygpLnN0YXJ0T2YoJ2RheScpO1xyXG4gICAgICByZXR1cm4gKCFvcHRpb25zLmZyb20gfHwgZGF5anMob3B0aW9ucy5mcm9tKS5zdGFydE9mKCdkYXknKSA8PSB0b2RheSlcclxuICAgICAgICAmJiAoIW9wdGlvbnMudG8gfHwgZGF5anMob3B0aW9ucy50bykuc3RhcnRPZignZGF5JykgPj0gdG9kYXkpO1xyXG4gICAgfVxyXG4gICAgZWxzZSByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIC8qKiB1cGRhdGUgcHJvZmlsZSAgKi9cclxuICB1cGRhdGUocHJvZmlsZTogT3B0aW9ucyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wdXQoJy9hcGkvYWNjb3VudC91cGRhdGUnLCBwcm9maWxlKS5waXBlKHRhcCgoKSA9PlxyXG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMuX3Byb2ZpbGUub3B0aW9ucywgcHJvZmlsZSkpKTtcclxuICB9XHJcbiAgLyoqIG1hcmsgZ3VpZGUgYXMgdmlzaXRlZCBpbiBwcm9maWxlICovXHJcbiAgZ3VpZGUobmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnB1dChgL2FwaS9hY2NvdW50L2d1aWRlLyR7bmFtZX1gLCB7fSwgeyBoZWFkZXJzOiB7ICduby1wcm9ncmVzcyc6ICd0cnVlJyB9IH0pLnBpcGUoXHJcbiAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZ3VpZGUgPSB0aGlzLl9wcm9maWxlLmd1aWRlcy5maW5kKGcgPT4gZy5uYW1lID09PSBuYW1lKTtcclxuICAgICAgICBpZiAoZ3VpZGUpIGd1aWRlLm1vZGUgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgdGhpcy5fcHJvZmlsZS5vcHRpb25zLmd1aWRlcy5wdXNoKG5hbWUpO1xyXG4gICAgICB9KSk7XHJcbiAgfVxyXG4gIC8qKiBnZXQgcHJvZmlsZSAqL1xyXG4gIHJlZnJlc2goKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxhbnk+KG9ic2VydmUgPT4ge1xyXG4gICAgICB0aGlzLl9odHRwLmdldDxQcm9maWxlPignL2FwaS9hY2NvdW50L3JlZnJlc2gnKS5zdWJzY3JpYmUociA9PiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9wcm9maWxlKVxyXG4gICAgICAgICAgdGhpcy5fY2hhbmdlVGhlbWUodGhpcy50aGVtZSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fcHJvZmlsZSA9IHI7XHJcbiAgICAgICAgICAgIG9ic2VydmUubmV4dCgpO1xyXG4gICAgICAgICAgICB0aGlzLl9sb2FkZWQubmV4dCgpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9wcm9maWxlID0gcjtcclxuICAgICAgICAgIG9ic2VydmUubmV4dCgpO1xyXG4gICAgICAgICAgdGhpcy5fbG9hZGVkLm5leHQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5faHViLnN0YXRlICE9PSBIdWJDb25uZWN0aW9uU3RhdGUuQ29ubmVjdGVkICYmIHRoaXMuX2h1Yi5zdGFydCgpO1xyXG4gICAgICAgIHRoaXMuX2ZpcmViYXNlLnN0YXRlICE9PSBGaXJlYmFzZVN0YXRlLkFjdGl2YXRlZCAmJlxyXG4gICAgICAgICAgdGhpcy5fZmlyZWJhc2UuYWN0aXZhdGUoKTtcclxuICAgICAgfSwgKCkgPT4gb2JzZXJ2ZS5lcnJvcigpKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBwdWJsaWMgdW5yZWdpc3RlckRldmljZSh0eXBlOiBzdHJpbmcsIHRva2VuOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucG9zdCgnL2FwaS9hY2NvdW50L3VucmVnaXN0ZXJEZXZpY2UnLCB7IHR5cGUsIHRva2VuIH0pO1xyXG4gIH1cclxuICBwdWJsaWMgcmVnaXN0ZXJEZXZpY2UodHlwZTogc3RyaW5nLCB0b2tlbjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnBvc3QoJy9hcGkvYWNjb3VudC9yZWdpc3RlckRldmljZScsIHsgdHlwZSwgdG9rZW4gfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbWF5SW1wZXJzb25hdGUoc2VhcmNoOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFVzZXJJbmZvW10+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnB1dDxVc2VySW5mb1tdPignL2FwaS9hY2NvdW50L2dyYW50ZWQnLCB7XHJcbiAgICAgIHNlYXJjaFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBpbXBlcnNvbmF0ZSh1c2VySWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wb3N0PFByb2ZpbGU+KCcvYXBpL2FjY291bnQvaW1wZXJzb25hdGUnLCB7XHJcbiAgICAgIHVzZXJJZFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBpbmJveFRvdWNoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucHV0PFdhdGVybWFya0luZm8+KCcvYXBpL2FjY291bnQvaW5ib3h2aWV3Jywge30sIHsgaGVhZGVyczogeyAnbm8tcHJvZ3Jlc3MnOiAndHJ1ZScgfSB9KS5waXBlKFxyXG4gICAgICB0YXAoZSA9PiB7XHJcbiAgICAgICAgdGhpcy5wcm9maWxlLmluYm94Q291bnQgPSAwO1xyXG4gICAgICAgIHRoaXMucHJvZmlsZS5vcHRpb25zLmluYm94VmlldyA9IGUudGltZTtcclxuICAgICAgfSkpLnRvUHJvbWlzZSgpO1xyXG4gIH1cclxuICBwdWJsaWMgbm90aWZpY2F0aW9uc1RvdWNoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucHV0PFdhdGVybWFya0luZm8+KCcvYXBpL2FjY291bnQvbm90aWZpY2F0aW9uc1ZpZXcnLCB7fSwgeyBoZWFkZXJzOiB7ICduby1wcm9ncmVzcyc6ICd0cnVlJyB9IH0pLnBpcGUodGFwKGUgPT4ge1xyXG4gICAgICB0aGlzLnByb2ZpbGUubm90aWZpY2F0aW9uc0NvdW50ID0gMDtcclxuICAgICAgdGhpcy5wcm9maWxlLm9wdGlvbnMubm90aWZpY2F0aW9uc1ZpZXcgPSBlLnRpbWU7XHJcbiAgICB9KSkudG9Qcm9taXNlKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2dldEJyb3dzZXJMYW5nKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgbGFuZyA9IG5hdmlnYXRvci5sYW5ndWFnZTtcclxuICAgIGlmICh0aGlzLmxhbmd1YWdlcy5pbmRleE9mKGxhbmcpID4gLTEpXHJcbiAgICAgIHJldHVybiBsYW5nO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuYXZpZ2F0b3IubGFuZ3VhZ2VzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGxhbmcgPSBuYXZpZ2F0b3IubGFuZ3VhZ2VzW2ldO1xyXG4gICAgICBpZiAodGhpcy5sYW5ndWFnZXMuaW5kZXhPZihsYW5nKSA+IC0xKVxyXG4gICAgICAgIHJldHVybiBsYW5nO1xyXG4gICAgfVxyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuYXZpZ2F0b3IubGFuZ3VhZ2VzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGN1bHR1cmUgPSBuYXZpZ2F0b3IubGFuZ3VhZ2VzW2ldLnN1YnN0cmluZygwLCAyKS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICBjb25zdCBsYW5ndWFnZSA9IHRoaXMubGFuZ3VhZ2VzLmZpbmQobCA9PiBsLnN0YXJ0c1dpdGgoY3VsdHVyZSkpO1xyXG4gICAgICBpZiAobGFuZ3VhZ2UpXHJcbiAgICAgICAgcmV0dXJuIGxhbmd1YWdlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB0aGVtZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2NoYW5nZVRoZW1lKHRoZW1lOiBUaGVtZSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBsZXQgc3R5bGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYml6ZG9jLXRoZW1lJykgYXMgSFRNTExpbmtFbGVtZW50O1xyXG4gICAgaWYgKHN0eWxlKVxyXG4gICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHN0eWxlKTtcclxuXHJcbiAgICBpZiAodGhlbWUubmFtZSA9PT0gdGhpcy5UaGVtZXNbMF0ubmFtZSkge1xyXG4gICAgICByZXR1cm4gb2YodGhlbWUpO1xyXG4gICAgfVxyXG4gICAgc3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XHJcbiAgICBzdHlsZS5pZCA9ICdiaXpkb2MtdGhlbWUnO1xyXG4gICAgc3R5bGUudHlwZSA9ICd0ZXh0L2Nzcyc7XHJcbiAgICBzdHlsZS5yZWwgPSAnc3R5bGVzaGVldCc7XHJcbiAgICBzdHlsZS5ocmVmID0gYC9hc3NldHMvdGhlbWVzLyR7dGhlbWUubmFtZX0ubWluLmNzc2A7XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZChzdHlsZSk7XHJcblxyXG4gICAgcmV0dXJuIGZyb21FdmVudChzdHlsZSwgJ2xvYWQnKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfbG9hZFN3KCkge1xyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKCcvanMvYXBwLXN3LmpzJykudGhlbihmdW5jdGlvbiAoKSB7XHJcbiAgICAgIH0sIG51bGwpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2xvYWRNYXBzKCkge1xyXG4gICAgY29uc3QgYXBpS2V5ID0gKHRoaXMuX2NvbmZpZy5tYXBzIGFzIEdvb2dsZU1hcHNTZXR0aW5ncykuYXBpS2V5O1xyXG4gICAgY29uc3Qgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XHJcbiAgICBzY3JpcHQuc3JjID0gYGh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS9qcz9rZXk9JHthcGlLZXl9JmxpYnJhcmllcz1wbGFjZXMmbGFuZ3VhZ2U9JHt0aGlzLmxhbmd1YWdlfWA7XHJcbiAgICBkb2N1bWVudC5oZWFkLmFwcGVuZChzY3JpcHQpO1xyXG4gIH1cclxufVxyXG5pbnRlcmZhY2UgV2F0ZXJtYXJrSW5mbyB7XHJcbiAgdGltZTogRGF0ZTtcclxufVxyXG4iXX0=
@@ -120,4 +120,4 @@ export class PaneRef {
120
120
  this._mode$.complete();
121
121
  }
122
122
  }
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZS1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvc2xvdHMvcGFuZS1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFrQixjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJaEQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLEdBQUcsRUFBRSxTQUFTLEdBQUcsR0FBRyxFQUFFLFFBQVEsR0FBRyxHQUFHLEVBQUUsU0FBUyxHQUFHLEdBQUcsQ0FBQztBQUVoRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQWMsT0FBTyxDQUFDLENBQUM7QUFFbkUsTUFBTSxPQUFnQixjQUFjO0NBQUk7QUFDeEMsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGNBQWM7Q0FDckQ7QUFDRCxNQUFNLE9BQU8sY0FBZSxTQUFRLGNBQWM7Q0FDakQ7QUFDRCxNQUFNLE9BQWdCLGtCQUFtQixTQUFRLGNBQWM7SUFDN0QsWUFBb0IsS0FBbUI7UUFDckMsS0FBSyxFQUFFLENBQUM7UUFEVSxVQUFLLEdBQUwsS0FBSyxDQUFjO0lBRXZDLENBQUM7SUFDRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztDQUNGO0FBQ0QsTUFBTSxPQUFPLGVBQWdCLFNBQVEsa0JBQWtCO0NBQ3REO0FBQ0QsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGtCQUFrQjtDQUN6RDtBQUNELE1BQU0sT0FBTyxhQUFjLFNBQVEsa0JBQWtCO0NBQ3BEO0FBQ0QsTUFBTSxPQUFPLGVBQWdCLFNBQVEsa0JBQWtCO0lBQ3JELFlBQTRCLE1BQWdCLEVBQUUsSUFBa0I7UUFDOUQsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRGMsV0FBTSxHQUFO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T0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFBQSxDQUFDO0lBcUM1QyxXQUFXLENBQUMsSUFBa0I7UUFDNUIsT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQSxDQUFDLElBQUk7UUFDaEMsZ0VBQWdFO0lBQ2xFLENBQUM7SUFDRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNELEtBQUs7UUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ0QsS0FBSztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDRCxNQUFNO1FBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XHJcbmltcG9ydCB7IFR5cGUsIEluamVjdG9yLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IFBhcmFtTWFwLCBQYW5lUm91dGUsIE9wZW5Qb2xpY3kgfSBmcm9tIFwiLi4vY29uZmlndXJhdGlvblwiO1xyXG5pbXBvcnQgeyBEaW1lbnRpb25zIH0gZnJvbSBcIi4uL21vZGVsc1wiO1xyXG5cclxuZXhwb3J0IGNvbnN0IFFVRVJZX0NIQVIgPSAnOicsIFBBVEhfQ0hBUiA9ICc7JywgQVJHX0NIQVIgPSAnJicsIFBBTkVfQ0hBUiA9ICd+JztcclxuXHJcbmV4cG9ydCBjb25zdCBQQU5FU19EQVRBID0gbmV3IEluamVjdGlvblRva2VuPFBhbmVSb3V0ZVtdPigncGFuZXMnKTtcclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOYXZpZ2F0aW9uQmFzZSB7IH1cclxuZXhwb3J0IGNsYXNzIENvbGxhcHNlTmF2aWdhdGlvbiBleHRlbmRzIE5hdmlnYXRpb25CYXNlIHtcclxufVxyXG5leHBvcnQgY2xhc3MgQmFja05hdmlnYXRpb24gZXh0ZW5kcyBOYXZpZ2F0aW9uQmFzZSB7XHJcbn1cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE5hdmlnYXRpb25QYW5lQmFzZSBleHRlbmRzIE5hdmlnYXRpb25CYXNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9wYW5lOiBQYW5lUmVmPGFueT4pIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXQgcGFuZSgpOiBQYW5lUmVmPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3BhbmU7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uU3RhcnQgZXh0ZW5kcyBOYXZpZ2F0aW9uUGFuZUJhc2Uge1xyXG59XHJcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uU2VsZWN0ZWQgZXh0ZW5kcyBOYXZpZ2F0aW9uUGFuZUJhc2Uge1xyXG59XHJcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uRW5kIGV4dGVuZHMgTmF2aWdhdGlvblBhbmVCYXNlIHtcclxufVxyXG5leHBvcnQgY2xhc3MgUGFyYW1OYXZpZ2F0aW9uIGV4dGVuZHMgTmF2aWdhdGlvblBhbmVCYXNlIHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgcGFyYW1zOiBQYXJhbU1hcCwgc2xvdDogUGFuZVJlZjxhbnk+KSB7XHJcbiAgICBzdXBlcihzbG90KTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGNsYXNzIFF1ZXJ5UGFyYW1OYXZpZ2F0aW9uIGV4dGVuZHMgTmF2aWdhdGlvblBhbmVCYXNlIHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgcXVlcnlQYXJhbXM6IFBhcmFtTWFwLCBzbG90OiBQYW5lUmVmPGFueT4pIHtcclxuICAgIHN1cGVyKHNsb3QpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYW5lT3B0aW9ucyB7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgZ3JvdXA/OiBzdHJpbmc7XHJcbiAgaGVscD86IHN0cmluZztcclxuICBzdGF0ZT86IHsgW25hbWU6IHN0cmluZ106IGFueSB9O1xyXG4gIG9wZW5Qb2xpY3k/OiBPcGVuUG9saWN5O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQYW5lQWN0aW9uID0gJ2V4cGFuZCcgfCAnZm9jdXMnIHwgJ2Nsb3NlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBQYW5lUmVmPFQgPSBhbnk+IHtcclxuICByZWFkb25seSBfY29tbSQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcbiAgLyoqICovXHJcbiAgcmVhZG9ubHkgX2RhdGEkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXJhbU1hcD4oe30pO1xyXG4gIHJlYWRvbmx5IF9wYXJhbXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXJhbU1hcD4oe30pO1xyXG4gIHJlYWRvbmx5IF9xdWVyeVBhcmFtcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFBhcmFtTWFwPih7fSk7XHJcbiAgcmVhZG9ubHkgX3Jlc2l6ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERpbWVudGlvbnM+KHt9IGFzIGFueSk7XHJcbiAgX2Z1bGxzY3JlZW4kOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XHJcbiAgX21vZGUkOiBCZWhhdmlvclN1YmplY3Q8J3RhYicgfCAncGFuZSc+O1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgaWNvbj86IHN0cmluZztcclxuICBndWlkZT86IHN0cmluZztcclxuICBfaW5zdGFuY2U6IFQ7XHJcbiAgX3BhdGg6IHN0cmluZztcclxuICBfcXVlcnlTdHJpbmc6IHN0cmluZztcclxuICBfaW5qZWN0b3I6IEluamVjdG9yO1xyXG4gIF9wb3J0YWw6IENvbXBvbmVudFBvcnRhbDxUPjtcclxuICB3aWR0aDogc3RyaW5nO1xyXG4gIHBpbm5lZDogYm9vbGVhbjtcclxuICBiYWRnZT86IG51bWJlcjtcclxuICBhbmltYXRpb246IHN0cmluZztcclxuICBncm91cDogc3RyaW5nO1xyXG4gIGhlbHA6IHN0cmluZztcclxuICBleHBhbmRhYmxlID0gdHJ1ZTtcclxuICBwdWJsaWMgZ2V0IGluamVjdG9yKCk6IEluamVjdG9yIHtcclxuICAgIHJldHVybiB0aGlzLl9pbmplY3RvcjtcclxuICB9XHJcbiAgcHVibGljIGdldCBmdWxsc2NyZWVuKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Z1bGxzY3JlZW4kLnZhbHVlO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0IGZ1bGxzY3JlZW5DaGFuZ2UoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZnVsbHNjcmVlbiQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG4gIGdldCBmdWxsUGF0aCgpIHsgcmV0dXJuIHRoaXMuX3BhdGggKyAodGhpcy5fcXVlcnlTdHJpbmcgPyAoUVVFUllfQ0hBUiArIHRoaXMuX3F1ZXJ5U3RyaW5nKSA6ICcnKSB9XHJcbiAgZ2V0IGluc3RhbmNlKCk6IFQgeyByZXR1cm4gdGhpcy5faW5zdGFuY2U7IH1cclxuICBnZXQgZGF0YSgpOiBhbnkgeyByZXR1cm4gdGhpcy5fZGF0YSQudmFsdWU7IH1cclxuICBnZXQgZGF0YUNoYW5nZSgpIHsgcmV0dXJuIHRoaXMuX2RhdGEkLmFzT2JzZXJ2YWJsZSgpOyB9XHJcbiAgZ2V0IHBhcmFtcygpOiBQYXJhbU1hcCB7IHJldHVybiB0aGlzLl9wYXJhbXMkLnZhbHVlOyB9XHJcbiAgZ2V0IHJlc2l6ZSgpIHsgcmV0dXJuIHRoaXMuX3Jlc2l6ZSQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICBnZXQgcGFyYW1zQ2hhbmdlKCkgeyByZXR1cm4gdGhpcy5fcGFyYW1zJC5hc09ic2VydmFibGUoKTsgfVxyXG4gIGdldCBxdWVyeVN0cmluZygpIHsgcmV0dXJuIHRoaXMuX3F1ZXJ5U3RyaW5nOyB9XHJcbiAgZ2V0IHF1ZXJ5UGFyYW1zKCkgeyByZXR1cm4gdGhpcy5fcXVlcnlQYXJhbXMkLnZhbHVlOyB9XHJcbiAgZ2V0IHF1ZXJ5UGFyYW1zQ2hhbmdlKCkgeyByZXR1cm4gdGhpcy5fcXVlcnlQYXJhbXMkLmFzT2JzZXJ2YWJsZSgpOyB9XHJcbiAgZ2V0IHBhdGgoKSB7IHJldHVybiB0aGlzLl9wYXRoOyB9O1xyXG4gIGdldCBtb2RlQ2hhbmdlKCkgeyByZXR1cm4gdGhpcy5fbW9kZSQuYXNPYnNlcnZhYmxlKCk7IH07XHJcbiAgZ2V0IG1vZGUoKSB7IHJldHVybiB0aGlzLl9tb2RlJC52YWx1ZTsgfTtcclxuICBnZXQgcGFyZW50KCkgeyByZXR1cm4gdGhpcy5fb3B0aW9ucy5wYXJlbnQ7IH07XHJcbiAgZ2V0IGRpYWxvZygpIHsgcmV0dXJuIHRoaXMuX29wdGlvbnMuZGlhbG9nOyB9O1xyXG4gIGdldCByb3V0ZSgpIHsgcmV0dXJuIHRoaXMuX29wdGlvbnMucm91dGU7IH07XHJcbiAgY29uc3RydWN0b3IocHVibGljIGNvbXBvbmVudDogVHlwZTxhbnk+LFxyXG4gICAgbW9kZTogJ3RhYicgfCAncGFuZScsXHJcbiAgICBwcml2YXRlIF9vcHRpb25zOiB7XHJcbiAgICAgIHBhdGg/OiBzdHJpbmc7XHJcbiAgICAgIHJvdXRlPzogUGFuZVJvdXRlO1xyXG4gICAgICB0aXRsZT86IHN0cmluZztcclxuICAgICAgZ3JvdXA/OiBzdHJpbmc7XHJcbiAgICAgIGd1aWRlPzogc3RyaW5nO1xyXG4gICAgICBpY29uPzogc3RyaW5nO1xyXG4gICAgICBhbmltYXRpb24/OiBzdHJpbmc7XHJcbiAgICAgIGhlbHA/OiBzdHJpbmc7XHJcbiAgICAgIGZ1bGxzY3JlZW4/OiBib29sZWFuO1xyXG4gICAgICBkaWFsb2c/OiBib29sZWFuO1xyXG4gICAgICBwYXJlbnQ/OiBQYW5lUmVmPGFueT47XHJcbiAgICAgIHF1ZXJ5U3RyaW5nPzogc3RyaW5nO1xyXG4gICAgICBkYXRhPzogUGFyYW1NYXA7XHJcbiAgICAgIHBhcmFtcz86IFBhcmFtTWFwO1xyXG4gICAgICBxdWVyeVBhcmFtcz86IFBhcmFtTWFwO1xyXG4gICAgICBleHBhbmRhYmxlPzogYm9vbGVhblxyXG4gICAgfSkge1xyXG4gICAgY29uc3QgeyBkYXRhLCBwYXJhbXMsIHF1ZXJ5UGFyYW1zLCBwYXRoLCBxdWVyeVN0cmluZywgdGl0bGUsIGdyb3VwLCBpY29uLCBoZWxwLCBndWlkZSwgYW5pbWF0aW9uLCBmdWxsc2NyZWVuLCBleHBhbmRhYmxlIH0gPSBfb3B0aW9ucztcclxuICAgIHRoaXMuX21vZGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdChtb2RlKTtcclxuICAgIHRoaXMuX2Z1bGxzY3JlZW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdChmdWxsc2NyZWVuKTtcclxuICAgIHRoaXMuX3BhdGggPSBwYXRoIHx8ICcnO1xyXG4gICAgdGhpcy50aXRsZSA9IHRpdGxlO1xyXG4gICAgdGhpcy5ncm91cCA9IGdyb3VwO1xyXG4gICAgdGhpcy5ndWlkZSA9IGd1aWRlO1xyXG4gICAgdGhpcy5oZWxwID0gaGVscDtcclxuICAgIHRoaXMuaWNvbiA9IGljb247XHJcbiAgICB0aGlzLmFuaW1hdGlvbiA9IGFuaW1hdGlvbjtcclxuICAgIHRoaXMuX3F1ZXJ5U3RyaW5nID0gcXVlcnlTdHJpbmc7XHJcbiAgICBpZiAoZXhwYW5kYWJsZSA9PT0gZmFsc2UpIHRoaXMuZXhwYW5kYWJsZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5fZGF0YSQubmV4dChkYXRhKTtcclxuICAgIHBhcmFtcyAmJiB0aGlzLl9wYXJhbXMkLm5leHQocGFyYW1zKTtcclxuICAgIHF1ZXJ5UGFyYW1zICYmIHRoaXMuX3F1ZXJ5UGFyYW1zJC5uZXh0KHF1ZXJ5UGFyYW1zKTtcclxuICB9XHJcbiAgZGVjZW5kZW50T2YocGFuZTogUGFuZVJlZjxhbnk+KSB7XHJcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQgPT09IHBhbmUgLy98fFxyXG4gICAgLy8gICh0aGlzLnBhdGggJiYgcGFuZS5wYXRoICYmIHRoaXMucGF0aC5zdGFydHNXaXRoKHBhbmUucGF0aCkpO1xyXG4gIH1cclxuICByZWZyZXNoKCkge1xyXG4gICAgdGhpcy5fY29tbSQubmV4dCgncmVmcmVzaCcpO1xyXG4gIH1cclxuICBmb2N1cygpIHtcclxuICAgIHRoaXMuX2NvbW0kLm5leHQoJ2ZvY3VzJyk7XHJcbiAgfVxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5fY29tbSQubmV4dCgnY2xvc2UnKTtcclxuICB9XHJcbiAgZXhwYW5kKCkge1xyXG4gICAgdGhpcy5fY29tbSQubmV4dCgnZXhwYW5kJyk7XHJcbiAgfVxyXG4gIF9kZXN0cm95KCkge1xyXG4gICAgdGhpcy5fY29tbSQuY29tcGxldGUoKTtcclxuICAgIHRoaXMuX2RhdGEkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLl9wYXJhbXMkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLl9yZXNpemUkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLl9xdWVyeVBhcmFtcyQuY29tcGxldGUoKTtcclxuICAgIHRoaXMuX2Z1bGxzY3JlZW4kLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLl9tb2RlJC5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZS1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvc2xvdHMvcGFuZS1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFrQixjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJaEQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLEdBQUcsRUFBRSxTQUFTLEdBQUcsR0FBRyxFQUFFLFFBQVEsR0FBRyxHQUFHLEVBQUUsU0FBUyxHQUFHLEdBQUcsQ0FBQztBQUVoRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQWMsT0FBTyxDQUFDLENBQUM7QUFFbkUsTUFBTSxPQUFnQixjQUFjO0NBQUk7QUFDeEMsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGNBQWM7Q0FDckQ7QUFDRCxNQUFNLE9BQU8sY0FBZSxTQUFRLGNBQWM7Q0FDakQ7QUFDRCxNQUFNLE9BQWdCLGtCQUFtQixTQUFRLGNBQWM7SUFDN0QsWUFBb0IsS0FBbUI7UUFDckMsS0FBSyxFQUFFLENBQUM7UUFEVSxVQUFLLEdBQUwsS0FBSyxDQUFjO0lBRXZDLENBQUM7SUFDRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztDQUNGO0FBQ0QsTUFBTSxPQUFPLGVBQWdCLFNBQVEsa0JBQWtCO0NBQ3REO0FBQ0QsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGtCQUFrQjtDQUN6RDtBQUNELE1BQU0sT0FBTyxhQUFjLFNBQVEsa0JBQWtCO0NBQ3BEO0FBQ0QsTUFBTSxPQUFPLGVBQWdCLFNBQVEsa0JBQWtCO0lBQ3JELFlBQTRCLE1BQWdCLEVBQUUsSUFBa0I7UUFDOUQsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRGMsV0FBTSxHQUFO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T0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFBQSxDQUFDO0lBcUM1QyxXQUFXLENBQUMsSUFBa0I7UUFDNUIsT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQSxDQUFDLElBQUk7UUFDaEMsZ0VBQWdFO0lBQ2xFLENBQUM7SUFDRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNELEtBQUs7UUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ0QsS0FBSztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDRCxNQUFNO1FBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUNELFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3pCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFBvcnRhbCB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XHJcbmltcG9ydCB7IFR5cGUsIEluamVjdG9yLCBJbmplY3Rpb25Ub2tlbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IFBhcmFtTWFwLCBQYW5lUm91dGUsIE9wZW5Qb2xpY3kgfSBmcm9tIFwiLi4vY29uZmlndXJhdGlvblwiO1xyXG5pbXBvcnQgeyBEaW1lbnRpb25zIH0gZnJvbSBcIi4uL21vZGVsc1wiO1xyXG5cclxuZXhwb3J0IGNvbnN0IFFVRVJZX0NIQVIgPSAnOicsIFBBVEhfQ0hBUiA9ICc7JywgQVJHX0NIQVIgPSAnJicsIFBBTkVfQ0hBUiA9ICd+JztcclxuXHJcbmV4cG9ydCBjb25zdCBQQU5FU19EQVRBID0gbmV3IEluamVjdGlvblRva2VuPFBhbmVSb3V0ZVtdPigncGFuZXMnKTtcclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOYXZpZ2F0aW9uQmFzZSB7IH1cclxuZXhwb3J0IGNsYXNzIENvbGxhcHNlTmF2aWdhdGlvbiBleHRlbmRzIE5hdmlnYXRpb25CYXNlIHtcclxufVxyXG5leHBvcnQgY2xhc3MgQmFja05hdmlnYXRpb24gZXh0ZW5kcyBOYXZpZ2F0aW9uQmFzZSB7XHJcbn1cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE5hdmlnYXRpb25QYW5lQmFzZSBleHRlbmRzIE5hdmlnYXRpb25CYXNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9wYW5lOiBQYW5lUmVmPGFueT4pIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXQgcGFuZSgpOiBQYW5lUmVmPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3BhbmU7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uU3RhcnQgZXh0ZW5kcyBOYXZpZ2F0aW9uUGFuZUJhc2Uge1xyXG59XHJcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uU2VsZWN0ZWQgZXh0ZW5kcyBOYXZpZ2F0aW9uUGFuZUJhc2Uge1xyXG59XHJcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uRW5kIGV4dGVuZHMgTmF2aWdhdGlvblBhbmVCYXNlIHtcclxufVxyXG5leHBvcnQgY2xhc3MgUGFyYW1OYXZpZ2F0aW9uIGV4dGVuZHMgTmF2aWdhdGlvblBhbmVCYXNlIHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgcGFyYW1zOiBQYXJhbU1hcCwgc2xvdDogUGFuZVJlZjxhbnk+KSB7XHJcbiAgICBzdXBlcihzbG90KTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGNsYXNzIFF1ZXJ5UGFyYW1OYXZpZ2F0aW9uIGV4dGVuZHMgTmF2aWdhdGlvblBhbmVCYXNlIHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgcXVlcnlQYXJhbXM6IFBhcmFtTWFwLCBzbG90OiBQYW5lUmVmPGFueT4pIHtcclxuICAgIHN1cGVyKHNsb3QpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYW5lT3B0aW9ucyB7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgZ3JvdXA/OiBzdHJpbmc7XHJcbiAgaGVscD86IHN0cmluZztcclxuICBzdGF0ZT86IHsgW25hbWU6IHN0cmluZ106IGFueSB9O1xyXG4gIG9wZW5Qb2xpY3k/OiBPcGVuUG9saWN5O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQYW5lQWN0aW9uID0gJ2V4cGFuZCcgfCAnZm9jdXMnIHwgJ2Nsb3NlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBQYW5lUmVmPFQgPSBhbnk+IHtcclxuICByZWFkb25seSBfY29tbSQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcbiAgLyoqICovXHJcbiAgcmVhZG9ubHkgX2RhdGEkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXJhbU1hcD4oe30pO1xyXG4gIHJlYWRvbmx5IF9wYXJhbXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXJhbU1hcD4oe30pO1xyXG4gIHJlYWRvbmx5IF9xdWVyeVBhcmFtcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFBhcmFtTWFwPih7fSk7XHJcbiAgcmVhZG9ubHkgX3Jlc2l6ZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERpbWVudGlvbnM+KHt9IGFzIGFueSk7XHJcbiAgX2Z1bGxzY3JlZW4kOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47XHJcbiAgX21vZGUkOiBCZWhhdmlvclN1YmplY3Q8J3RhYicgfCAncGFuZSc+O1xyXG4gIHRpdGxlOiBzdHJpbmc7XHJcbiAgaWNvbj86IHN0cmluZztcclxuICBndWlkZT86IHN0cmluZztcclxuICBfaW5zdGFuY2U6IFQ7XHJcbiAgX3BhdGg6IHN0cmluZztcclxuICBfcXVlcnlTdHJpbmc6IHN0cmluZztcclxuICBfaW5qZWN0b3I6IEluamVjdG9yO1xyXG4gIF9wb3J0YWw6IENvbXBvbmVudFBvcnRhbDxUPjtcclxuICBwaW5uZWQ6IGJvb2xlYW47XHJcbiAgYmFkZ2U/OiBudW1iZXI7XHJcbiAgYW5pbWF0aW9uOiBzdHJpbmc7XHJcbiAgZ3JvdXA6IHN0cmluZztcclxuICBoZWxwOiBzdHJpbmc7XHJcbiAgZXhwYW5kYWJsZSA9IHRydWU7XHJcbiAgcHVibGljIGdldCBpbmplY3RvcigpOiBJbmplY3RvciB7XHJcbiAgICByZXR1cm4gdGhpcy5faW5qZWN0b3I7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXQgZnVsbHNjcmVlbigpIHtcclxuICAgIHJldHVybiB0aGlzLl9mdWxsc2NyZWVuJC52YWx1ZTtcclxuICB9XHJcbiAgcHVibGljIGdldCBmdWxsc2NyZWVuQ2hhbmdlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Z1bGxzY3JlZW4kLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuICBnZXQgZnVsbFBhdGgoKSB7IHJldHVybiB0aGlzLl9wYXRoICsgKHRoaXMuX3F1ZXJ5U3RyaW5nID8gKFFVRVJZX0NIQVIgKyB0aGlzLl9xdWVyeVN0cmluZykgOiAnJykgfVxyXG4gIGdldCBpbnN0YW5jZSgpOiBUIHsgcmV0dXJuIHRoaXMuX2luc3RhbmNlOyB9XHJcbiAgZ2V0IGRhdGEoKTogYW55IHsgcmV0dXJuIHRoaXMuX2RhdGEkLnZhbHVlOyB9XHJcbiAgZ2V0IGRhdGFDaGFuZ2UoKSB7IHJldHVybiB0aGlzLl9kYXRhJC5hc09ic2VydmFibGUoKTsgfVxyXG4gIGdldCBwYXJhbXMoKTogUGFyYW1NYXAgeyByZXR1cm4gdGhpcy5fcGFyYW1zJC52YWx1ZTsgfVxyXG4gIGdldCByZXNpemUoKSB7IHJldHVybiB0aGlzLl9yZXNpemUkLmFzT2JzZXJ2YWJsZSgpOyB9XHJcbiAgZ2V0IHBhcmFtc0NoYW5nZSgpIHsgcmV0dXJuIHRoaXMuX3BhcmFtcyQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICBnZXQgcXVlcnlTdHJpbmcoKSB7IHJldHVybiB0aGlzLl9xdWVyeVN0cmluZzsgfVxyXG4gIGdldCBxdWVyeVBhcmFtcygpIHsgcmV0dXJuIHRoaXMuX3F1ZXJ5UGFyYW1zJC52YWx1ZTsgfVxyXG4gIGdldCBxdWVyeVBhcmFtc0NoYW5nZSgpIHsgcmV0dXJuIHRoaXMuX3F1ZXJ5UGFyYW1zJC5hc09ic2VydmFibGUoKTsgfVxyXG4gIGdldCBwYXRoKCkgeyByZXR1cm4gdGhpcy5fcGF0aDsgfTtcclxuICBnZXQgbW9kZUNoYW5nZSgpIHsgcmV0dXJuIHRoaXMuX21vZGUkLmFzT2JzZXJ2YWJsZSgpOyB9O1xyXG4gIGdldCBtb2RlKCkgeyByZXR1cm4gdGhpcy5fbW9kZSQudmFsdWU7IH07XHJcbiAgZ2V0IHBhcmVudCgpIHsgcmV0dXJuIHRoaXMuX29wdGlvbnMucGFyZW50OyB9O1xyXG4gIGdldCBkaWFsb2coKSB7IHJldHVybiB0aGlzLl9vcHRpb25zLmRpYWxvZzsgfTtcclxuICBnZXQgcm91dGUoKSB7IHJldHVybiB0aGlzLl9vcHRpb25zLnJvdXRlOyB9O1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjb21wb25lbnQ6IFR5cGU8YW55PixcclxuICAgIG1vZGU6ICd0YWInIHwgJ3BhbmUnLFxyXG4gICAgcHJpdmF0ZSBfb3B0aW9uczoge1xyXG4gICAgICBwYXRoPzogc3RyaW5nO1xyXG4gICAgICByb3V0ZT86IFBhbmVSb3V0ZTtcclxuICAgICAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgICAgIGdyb3VwPzogc3RyaW5nO1xyXG4gICAgICBndWlkZT86IHN0cmluZztcclxuICAgICAgaWNvbj86IHN0cmluZztcclxuICAgICAgYW5pbWF0aW9uPzogc3RyaW5nO1xyXG4gICAgICBoZWxwPzogc3RyaW5nO1xyXG4gICAgICBmdWxsc2NyZWVuPzogYm9vbGVhbjtcclxuICAgICAgZGlhbG9nPzogYm9vbGVhbjtcclxuICAgICAgcGFyZW50PzogUGFuZVJlZjxhbnk+O1xyXG4gICAgICBxdWVyeVN0cmluZz86IHN0cmluZztcclxuICAgICAgZGF0YT86IFBhcmFtTWFwO1xyXG4gICAgICBwYXJhbXM/OiBQYXJhbU1hcDtcclxuICAgICAgcXVlcnlQYXJhbXM/OiBQYXJhbU1hcDtcclxuICAgICAgZXhwYW5kYWJsZT86IGJvb2xlYW5cclxuICAgIH0pIHtcclxuICAgIGNvbnN0IHsgZGF0YSwgcGFyYW1zLCBxdWVyeVBhcmFtcywgcGF0aCwgcXVlcnlTdHJpbmcsIHRpdGxlLCBncm91cCwgaWNvbiwgaGVscCwgZ3VpZGUsIGFuaW1hdGlvbiwgZnVsbHNjcmVlbiwgZXhwYW5kYWJsZSB9ID0gX29wdGlvbnM7XHJcbiAgICB0aGlzLl9tb2RlJCA9IG5ldyBCZWhhdmlvclN1YmplY3QobW9kZSk7XHJcbiAgICB0aGlzLl9mdWxsc2NyZWVuJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZnVsbHNjcmVlbik7XHJcbiAgICB0aGlzLl9wYXRoID0gcGF0aCB8fCAnJztcclxuICAgIHRoaXMudGl0bGUgPSB0aXRsZTtcclxuICAgIHRoaXMuZ3JvdXAgPSBncm91cDtcclxuICAgIHRoaXMuZ3VpZGUgPSBndWlkZTtcclxuICAgIHRoaXMuaGVscCA9IGhlbHA7XHJcbiAgICB0aGlzLmljb24gPSBpY29uO1xyXG4gICAgdGhpcy5hbmltYXRpb24gPSBhbmltYXRpb247XHJcbiAgICB0aGlzLl9xdWVyeVN0cmluZyA9IHF1ZXJ5U3RyaW5nO1xyXG4gICAgaWYgKGV4cGFuZGFibGUgPT09IGZhbHNlKSB0aGlzLmV4cGFuZGFibGUgPSBmYWxzZTtcclxuICAgIHRoaXMuX2RhdGEkLm5leHQoZGF0YSk7XHJcbiAgICBwYXJhbXMgJiYgdGhpcy5fcGFyYW1zJC5uZXh0KHBhcmFtcyk7XHJcbiAgICBxdWVyeVBhcmFtcyAmJiB0aGlzLl9xdWVyeVBhcmFtcyQubmV4dChxdWVyeVBhcmFtcyk7XHJcbiAgfVxyXG4gIGRlY2VuZGVudE9mKHBhbmU6IFBhbmVSZWY8YW55Pikge1xyXG4gICAgcmV0dXJuIHRoaXMucGFyZW50ID09PSBwYW5lIC8vfHxcclxuICAgIC8vICAodGhpcy5wYXRoICYmIHBhbmUucGF0aCAmJiB0aGlzLnBhdGguc3RhcnRzV2l0aChwYW5lLnBhdGgpKTtcclxuICB9XHJcbiAgcmVmcmVzaCgpIHtcclxuICAgIHRoaXMuX2NvbW0kLm5leHQoJ3JlZnJlc2gnKTtcclxuICB9XHJcbiAgZm9jdXMoKSB7XHJcbiAgICB0aGlzLl9jb21tJC5uZXh0KCdmb2N1cycpO1xyXG4gIH1cclxuICBjbG9zZSgpIHtcclxuICAgIHRoaXMuX2NvbW0kLm5leHQoJ2Nsb3NlJyk7XHJcbiAgfVxyXG4gIGV4cGFuZCgpIHtcclxuICAgIHRoaXMuX2NvbW0kLm5leHQoJ2V4cGFuZCcpO1xyXG4gIH1cclxuICBfZGVzdHJveSgpIHtcclxuICAgIHRoaXMuX2NvbW0kLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLl9kYXRhJC5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5fcGFyYW1zJC5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5fcmVzaXplJC5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5fcXVlcnlQYXJhbXMkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLl9mdWxsc2NyZWVuJC5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5fbW9kZSQuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIl19
@@ -41,9 +41,9 @@ export class SlotRouterDirective {
41
41
  this._destroy.complete();
42
42
  }
43
43
  }
44
- SlotRouterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SlotRouterDirective, deps: [{ token: i0.ElementRef }, { token: i1.PanesRouter }], target: i0.ɵɵFactoryTarget.Directive });
45
- SlotRouterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: SlotRouterDirective, selector: "[slotRouterLink]", inputs: { link: ["slotRouterLink", "link"], active: ["slotRouterLinkActive", "active"], disabled: ["slotRouterLinkDisabled", "disabled"], policy: ["slotRouterLinkPolicy", "policy"], options: ["slotRouterLinkOptions", "options"] }, host: { listeners: { "click": "_navigate()" } }, ngImport: i0 });
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: SlotRouterDirective, decorators: [{
44
+ SlotRouterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: SlotRouterDirective, deps: [{ token: i0.ElementRef }, { token: i1.PanesRouter }], target: i0.ɵɵFactoryTarget.Directive });
45
+ SlotRouterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: SlotRouterDirective, selector: "[slotRouterLink]", inputs: { link: ["slotRouterLink", "link"], active: ["slotRouterLinkActive", "active"], disabled: ["slotRouterLinkDisabled", "disabled"], policy: ["slotRouterLinkPolicy", "policy"], options: ["slotRouterLinkOptions", "options"] }, host: { listeners: { "click": "_navigate()" } }, ngImport: i0 });
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: SlotRouterDirective, decorators: [{
47
47
  type: Directive,
48
48
  args: [{
49
49
  selector: '[slotRouterLink]',
@@ -39,9 +39,9 @@ export class PanesRouter {
39
39
  this._comm$.next('collapse');
40
40
  }
41
41
  }
42
- PanesRouter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PanesRouter, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
43
- PanesRouter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PanesRouter, providedIn: 'root' });
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: PanesRouter, decorators: [{
42
+ PanesRouter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: PanesRouter, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
43
+ PanesRouter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: PanesRouter, providedIn: 'root' });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: PanesRouter, decorators: [{
45
45
  type: Injectable,
46
46
  args: [{ providedIn: 'root' }]
47
47
  }], ctorParameters: function () { return []; } });