@bizdoc/core 1.14.0-next.1 → 1.14.0-next.12

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 (324) hide show
  1. package/assets/themes/brown.min.css +83 -0
  2. package/assets/themes/dark.min.css +1 -0
  3. package/assets/themes/deep-purple-light-blue.min.css +90 -0
  4. package/assets/themes/deep-purple-teal.min.css +90 -0
  5. package/assets/themes/default.min.css +90 -0
  6. package/assets/themes/green.min.css +83 -0
  7. package/assets/themes/indigo.min.css +83 -0
  8. package/esm2020/lib/admin/admin-dismiss.service.mjs +3 -3
  9. package/esm2020/lib/admin/admin-menu.component.mjs +3 -3
  10. package/esm2020/lib/admin/core/ace.input.mjs +3 -3
  11. package/esm2020/lib/admin/core/color-picker.input.mjs +3 -3
  12. package/esm2020/lib/admin/core/search.input.mjs +3 -3
  13. package/esm2020/lib/admin/diff/configuration-diff.component.mjs +5 -5
  14. package/esm2020/lib/admin/document-trace/document-trace.component.mjs +121 -60
  15. package/esm2020/lib/admin/document-trace/reassign.dialog.mjs +3 -3
  16. package/esm2020/lib/admin/document-trace/trace-element.component.mjs +53 -35
  17. package/esm2020/lib/admin/form/form.resolve.service.mjs +3 -3
  18. package/esm2020/lib/admin/form/form.service.mjs +23 -6
  19. package/esm2020/lib/admin/form/workflow/node.component.mjs +3 -3
  20. package/esm2020/lib/admin/form/workflow/role-node.component.mjs +3 -3
  21. package/esm2020/lib/admin/form/workflow/workflow.component.mjs +3 -3
  22. package/esm2020/lib/admin/indices/manage-cube-index.component.mjs +3 -3
  23. package/esm2020/lib/admin/patterns/patterns.component.mjs +3 -3
  24. package/esm2020/lib/admin/permissions/permissions.component.mjs +3 -3
  25. package/esm2020/lib/admin/positions/positions-popup.component.mjs +3 -3
  26. package/esm2020/lib/admin/positions/positions.component.mjs +3 -3
  27. package/esm2020/lib/admin/profiler/profiler.component.mjs +3 -3
  28. package/esm2020/lib/admin/utility-wrapper.component.mjs +3 -3
  29. package/esm2020/lib/admin/utility.pane.component.mjs +3 -3
  30. package/esm2020/lib/app.component.mjs +6 -6
  31. package/esm2020/lib/bizdoc.module.mjs +7 -5
  32. package/esm2020/lib/browse/browse-items.component.mjs +10 -12
  33. package/esm2020/lib/browse/browse.mobile.component.mjs +3 -3
  34. package/esm2020/lib/browse/browse.pane.component.mjs +3 -3
  35. package/esm2020/lib/browse/expanded-item/expanded-item.component.mjs +3 -3
  36. package/esm2020/lib/browse/filter/filter.component.mjs +3 -3
  37. package/esm2020/lib/browse/folders-menu.component.mjs +3 -3
  38. package/esm2020/lib/chat/chat-info.mjs +3 -3
  39. package/esm2020/lib/chat/chat.mobile.component.mjs +3 -3
  40. package/esm2020/lib/chat/chat.service.mjs +3 -3
  41. package/esm2020/lib/chat/contacts.component.mjs +6 -6
  42. package/esm2020/lib/chat/contacts.pane.component.mjs +3 -3
  43. package/esm2020/lib/chat/conversation.component.mjs +5 -5
  44. package/esm2020/lib/chat/conversation.pane.component.mjs +3 -3
  45. package/esm2020/lib/compose/action/action-picker.component.mjs +3 -3
  46. package/esm2020/lib/compose/action/action.dialog.mjs +3 -3
  47. package/esm2020/lib/compose/action/action.pane.dialog.exp.mjs +3 -3
  48. package/esm2020/lib/compose/action/assign-action.component.mjs +3 -3
  49. package/esm2020/lib/compose/action/moveto-action.component.mjs +3 -3
  50. package/esm2020/lib/compose/action/return-action.component.mjs +3 -3
  51. package/esm2020/lib/compose/attachments/attachments.component.mjs +3 -3
  52. package/esm2020/lib/compose/attachments/preview/attachment-preview.component.mjs +3 -3
  53. package/esm2020/lib/compose/attachments/progress-button.directive.mjs +3 -3
  54. package/esm2020/lib/compose/can-deactivate-changes.service.mjs +5 -5
  55. package/esm2020/lib/compose/comments/Comments.pane.component.mjs +3 -3
  56. package/esm2020/lib/compose/comments/comment.component.mjs +3 -3
  57. package/esm2020/lib/compose/comments/comments.component.mjs +3 -3
  58. package/esm2020/lib/compose/comments/edit-comment.component.mjs +3 -3
  59. package/esm2020/lib/compose/comments/edits.component.mjs +3 -3
  60. package/esm2020/lib/compose/comments/quick-comment.component.exp.mjs +3 -3
  61. package/esm2020/lib/compose/comments/votes.component.mjs +3 -3
  62. package/esm2020/lib/compose/compose-resolve.service.mjs +6 -6
  63. package/esm2020/lib/compose/compose.mobile.component.mjs +5 -5
  64. package/esm2020/lib/compose/compose.pane.component.mjs +9 -6
  65. package/esm2020/lib/compose/copy/copy.dialog.mjs +3 -3
  66. package/esm2020/lib/compose/dismiss.service.mjs +5 -5
  67. package/esm2020/lib/compose/document-resolver.service.mjs +3 -3
  68. package/esm2020/lib/compose/document.component.mjs +3 -3
  69. package/esm2020/lib/compose/document.mobile.component.mjs +3 -3
  70. package/esm2020/lib/compose/document.pane.component.mjs +3 -3
  71. package/esm2020/lib/compose/events/events.component.mjs +3 -3
  72. package/esm2020/lib/compose/form-selector/form-selector.sheet.mjs +3 -3
  73. package/esm2020/lib/compose/form.component.mjs +40 -31
  74. package/esm2020/lib/compose/new-menu.component.mjs +3 -3
  75. package/esm2020/lib/compose/privilage.directive.mjs +6 -6
  76. package/esm2020/lib/compose/recipient-resolver.service.mjs +3 -3
  77. package/esm2020/lib/compose/save-changes.dialog.mjs +3 -3
  78. package/esm2020/lib/compose/state.component.mjs +3 -3
  79. package/esm2020/lib/compose/tag/tags.component.mjs +5 -5
  80. package/esm2020/lib/compose/trace/flow.component.mjs +3 -3
  81. package/esm2020/lib/compose/trace/people.component.mjs +3 -3
  82. package/esm2020/lib/compose/trace/trace.base.mjs +3 -3
  83. package/esm2020/lib/compose/trace/trace.component.mjs +6 -6
  84. package/esm2020/lib/compose/trace/trace.pane.component.mjs +3 -3
  85. package/esm2020/lib/compose/version-compare/version-compare.component.mjs +3 -3
  86. package/esm2020/lib/compose/version-compare/version-compare.directive.mjs +9 -9
  87. package/esm2020/lib/compose/version-compare/version.pane.component.mjs +6 -6
  88. package/esm2020/lib/core/NgComponentOutlet.mjs +3 -3
  89. package/esm2020/lib/core/account.service.mjs +3 -3
  90. package/esm2020/lib/core/animated-icon/animated-icon.directive.mjs +3 -3
  91. package/esm2020/lib/core/avatar/avatar.component.mjs +3 -3
  92. package/esm2020/lib/core/base.mjs +1 -1
  93. package/esm2020/lib/core/component-factory-resolver.mjs +4 -4
  94. package/esm2020/lib/core/configuration.mjs +6 -5
  95. package/esm2020/lib/core/controls/address.input.mjs +20 -7
  96. package/esm2020/lib/core/controls/auto-complete.input.mjs +3 -3
  97. package/esm2020/lib/core/controls/combination-picker-body.mjs +5 -5
  98. package/esm2020/lib/core/controls/combination-picker.mjs +3 -3
  99. package/esm2020/lib/core/controls/combination-pool.mjs +3 -3
  100. package/esm2020/lib/core/controls/file.input.mjs +3 -3
  101. package/esm2020/lib/core/controls/select.input.mjs +3 -3
  102. package/esm2020/lib/core/controls/time-picker.mjs +3 -3
  103. package/esm2020/lib/core/controls/timespan.input.mjs +3 -3
  104. package/esm2020/lib/core/datasource.service.mjs +3 -3
  105. package/esm2020/lib/core/functions.mjs +21 -16
  106. package/esm2020/lib/core/guide/guide.component.mjs +3 -3
  107. package/esm2020/lib/core/guide/guide.service.mjs +3 -3
  108. package/esm2020/lib/core/http.interceptor.mjs +3 -3
  109. package/esm2020/lib/core/hub.service.mjs +3 -3
  110. package/esm2020/lib/core/identity/identity.component.mjs +3 -3
  111. package/esm2020/lib/core/info/attachment-info.service.mjs +3 -3
  112. package/esm2020/lib/core/info/document-info.service.mjs +3 -3
  113. package/esm2020/lib/core/info/location-info.component.mjs +3 -3
  114. package/esm2020/lib/core/info/map-info.mjs +3 -3
  115. package/esm2020/lib/core/layout/autocomplete.field.mjs +3 -3
  116. package/esm2020/lib/core/layout/checkbox.field.mjs +3 -3
  117. package/esm2020/lib/core/layout/checkbox.mjs +3 -3
  118. package/esm2020/lib/core/layout/date-range.field.mjs +3 -3
  119. package/esm2020/lib/core/layout/date.field.mjs +3 -3
  120. package/esm2020/lib/core/layout/expression.field.mjs +3 -3
  121. package/esm2020/lib/core/layout/file.field.mjs +3 -3
  122. package/esm2020/lib/core/layout/html.field.mjs +3 -3
  123. package/esm2020/lib/core/layout/input.base.mjs +3 -3
  124. package/esm2020/lib/core/layout/input.field.mjs +3 -3
  125. package/esm2020/lib/core/layout/layout.component.mjs +3 -3
  126. package/esm2020/lib/core/layout/numeric.field.mjs +3 -3
  127. package/esm2020/lib/core/layout/select.field.mjs +3 -3
  128. package/esm2020/lib/core/layout/switch.field.mjs +3 -3
  129. package/esm2020/lib/core/layout/textarea.field.mjs +3 -3
  130. package/esm2020/lib/core/layout/timespan.field.mjs +3 -3
  131. package/esm2020/lib/core/lottie-animation.mjs +3 -3
  132. package/esm2020/lib/core/mailbox.service.mjs +10 -10
  133. package/esm2020/lib/core/none.component.mjs +3 -3
  134. package/esm2020/lib/core/pipes/action.pipe.mjs +3 -3
  135. package/esm2020/lib/core/pipes/calendar.pipe.mjs +3 -3
  136. package/esm2020/lib/core/pipes/date-format.pipe.mjs +3 -3
  137. package/esm2020/lib/core/pipes/daterange.pipe.mjs +6 -6
  138. package/esm2020/lib/core/pipes/difference.pipe.mjs +3 -3
  139. package/esm2020/lib/core/pipes/duration-format.pipe.mjs +3 -3
  140. package/esm2020/lib/core/pipes/duration.pipe.mjs +3 -3
  141. package/esm2020/lib/core/pipes/form.pipe.mjs +3 -3
  142. package/esm2020/lib/core/pipes/join.pipe.mjs +3 -3
  143. package/esm2020/lib/core/pipes/role.pipe.mjs +3 -3
  144. package/esm2020/lib/core/pipes/sanitize-html.pipe.mjs +3 -3
  145. package/esm2020/lib/core/pipes/sort.pipe.mjs +6 -6
  146. package/esm2020/lib/core/pipes/state.pipe.mjs +3 -3
  147. package/esm2020/lib/core/pipes/time-ago.pipe.mjs +3 -3
  148. package/esm2020/lib/core/pipes/translate.pipe.mjs +6 -6
  149. package/esm2020/lib/core/pipes/type-value.pipe.mjs +3 -3
  150. package/esm2020/lib/core/pipes/user-name.pipe.mjs +3 -3
  151. package/esm2020/lib/core/popup/popup.component.mjs +3 -3
  152. package/esm2020/lib/core/popup/popup.service.mjs +3 -3
  153. package/esm2020/lib/core/popup/tooltip.directive.mjs +6 -6
  154. package/esm2020/lib/core/prompt/ask/ask.dialog.mjs +3 -3
  155. package/esm2020/lib/core/prompt/mask/mask.component.mjs +3 -3
  156. package/esm2020/lib/core/prompt.service.mjs +3 -3
  157. package/esm2020/lib/core/router.mjs +6 -6
  158. package/esm2020/lib/core/session.service.mjs +20 -9
  159. package/esm2020/lib/core/slots/pane-ref.mjs +4 -1
  160. package/esm2020/lib/core/slots/router.directive.mjs +3 -3
  161. package/esm2020/lib/core/slots/router.service.mjs +4 -7
  162. package/esm2020/lib/core/slots/slots.component.mjs +122 -81
  163. package/esm2020/lib/core/tagging/documents.component.mjs +3 -3
  164. package/esm2020/lib/core/tagging/edit-input.component.mjs +3 -3
  165. package/esm2020/lib/core/tagging/emoji.component.mjs +3 -3
  166. package/esm2020/lib/core/tagging/tagging-item.directive.mjs +3 -3
  167. package/esm2020/lib/core/tagging/tagging.component-base.mjs +3 -3
  168. package/esm2020/lib/core/tagging/tagging.directive.mjs +3 -3
  169. package/esm2020/lib/core/tagging/tagging.pipe.mjs +3 -3
  170. package/esm2020/lib/core/tagging/users.component.mjs +3 -3
  171. package/esm2020/lib/core/translate.service.mjs +8 -8
  172. package/esm2020/lib/core/translations.mjs +9 -3
  173. package/esm2020/lib/core/window-title.service.mjs +3 -3
  174. package/esm2020/lib/cube/accum/accum.component.mjs +4 -4
  175. package/esm2020/lib/cube/chart/chart.component.mjs +4 -4
  176. package/esm2020/lib/cube/cube-info.service.mjs +3 -3
  177. package/esm2020/lib/cube/cube-menu.component.mjs +3 -3
  178. package/esm2020/lib/cube/cube-view.component.mjs +3 -3
  179. package/esm2020/lib/cube/cube.service.mjs +3 -3
  180. package/esm2020/lib/cube/explore/document-item.component.mjs +3 -3
  181. package/esm2020/lib/cube/explore/explore-item.component.mjs +3 -3
  182. package/esm2020/lib/cube/explore/explore-items.component.mjs +3 -3
  183. package/esm2020/lib/cube/explore/explore.pane.component.mjs +5 -5
  184. package/esm2020/lib/cube/explore/item-resolver.service.mjs +6 -6
  185. package/esm2020/lib/cube/explore/item.pane.component.mjs +3 -3
  186. package/esm2020/lib/cube/filter/filter-tags.component.exp.mjs +3 -3
  187. package/esm2020/lib/cube/filter/filter.component.mjs +3 -3
  188. package/esm2020/lib/cube/grid/grid.component.mjs +3 -3
  189. package/esm2020/lib/cube/grid/spreadsheet.component.mjs +3 -3
  190. package/esm2020/lib/cube/matrix/matrix.base.mjs +3 -3
  191. package/esm2020/lib/cube/matrix/matrix.mobile.component.mjs +3 -3
  192. package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +6 -6
  193. package/esm2020/lib/cube/matrix/popup.component.mjs +3 -3
  194. package/esm2020/lib/cube/matrix/table.component.mjs +3 -3
  195. package/esm2020/lib/cube/parallel/parallel.component.mjs +5 -5
  196. package/esm2020/lib/cube/pivot/pivot.component.mjs +17 -20
  197. package/esm2020/lib/cube/sum/sum.component.mjs +3 -3
  198. package/esm2020/lib/cube/view-base.mjs +3 -3
  199. package/esm2020/lib/cube/view.mobile.component.mjs +3 -3
  200. package/esm2020/lib/cube/view.pane.component.mjs +8 -4
  201. package/esm2020/lib/dashboard/actions/actions.widget.mjs +3 -3
  202. package/esm2020/lib/dashboard/cube/accum-cube.widget.mjs +3 -3
  203. package/esm2020/lib/dashboard/cube/compare.widget.mjs +3 -3
  204. package/esm2020/lib/dashboard/cube/cube-analysis.base.mjs +3 -3
  205. package/esm2020/lib/dashboard/cube/cube-analysis.widget.mjs +3 -3
  206. package/esm2020/lib/dashboard/cube/cube-chart.widget.mjs +3 -3
  207. package/esm2020/lib/dashboard/cube/documents.widget.mjs +3 -3
  208. package/esm2020/lib/dashboard/cube/filter/filter.component.mjs +3 -3
  209. package/esm2020/lib/dashboard/dashboard.component.mjs +3 -3
  210. package/esm2020/lib/dashboard/dashboard.pane.component.mjs +3 -3
  211. package/esm2020/lib/dashboard/recents/recents.widget.mjs +5 -5
  212. package/esm2020/lib/dashboard/score/activity.widget.mjs +3 -3
  213. package/esm2020/lib/dashboard/score/compare-groups.widget.mjs +3 -3
  214. package/esm2020/lib/dashboard/score/peers-performance.widget.mjs +3 -3
  215. package/esm2020/lib/dashboard/score/pending-results.widget.mjs +3 -3
  216. package/esm2020/lib/dashboard/score/personal-score.widget.mjs +18 -14
  217. package/esm2020/lib/dashboard/widget-item.component.mjs +3 -3
  218. package/esm2020/lib/desktop.module.mjs +4 -4
  219. package/esm2020/lib/home/about/about.dialog.mjs +3 -3
  220. package/esm2020/lib/home/home-base.component.mjs +3 -3
  221. package/esm2020/lib/home/home.desktop.component.mjs +9 -15
  222. package/esm2020/lib/home/home.mobile.component.mjs +3 -3
  223. package/esm2020/lib/home/notifications/notifications.component.mjs +3 -3
  224. package/esm2020/lib/home/options/options.component.mjs +3 -3
  225. package/esm2020/lib/home/outofoffice/outofoffice.component.mjs +3 -3
  226. package/esm2020/lib/home/search.service.mjs +3 -3
  227. package/esm2020/lib/home/sign/sign.component.mjs +3 -3
  228. package/esm2020/lib/home/tools.component.mjs +3 -3
  229. package/esm2020/lib/impersonate/impersonate.component.mjs +3 -3
  230. package/esm2020/lib/mobile.module.mjs +4 -4
  231. package/esm2020/lib/modules/chart.module.mjs +15 -13
  232. package/esm2020/lib/modules/circular-gauge.module.mjs +4 -4
  233. package/esm2020/lib/modules/datepicker.intl.mjs +3 -3
  234. package/esm2020/lib/modules/dayjs.module.mjs +4 -4
  235. package/esm2020/lib/modules/diagram.module.mjs +7 -7
  236. package/esm2020/lib/modules/gantt.module.mjs +4 -4
  237. package/esm2020/lib/modules/grid.module.mjs +4 -4
  238. package/esm2020/lib/modules/material.module.mjs +4 -4
  239. package/esm2020/lib/modules/paginator.intl.mjs +3 -3
  240. package/esm2020/lib/modules/pivot.module.mjs +7 -6
  241. package/esm2020/lib/modules/schedule.module.mjs +4 -4
  242. package/esm2020/lib/modules/spreadsheet.module.mjs +8 -6
  243. package/esm2020/lib/modules/stepper.intl.mjs +3 -3
  244. package/esm2020/lib/modules/texteditor.module.mjs +7 -7
  245. package/esm2020/lib/notifications/filter.component.mjs +3 -3
  246. package/esm2020/lib/notifications/notifications-table.component.mjs +3 -3
  247. package/esm2020/lib/notifications/notifications.mobile.component.mjs +3 -3
  248. package/esm2020/lib/notifications/notifications.pane.component.mjs +3 -3
  249. package/esm2020/lib/notifications/notifications.service.mjs +3 -3
  250. package/esm2020/lib/notifications/types/commented.notification.mjs +3 -3
  251. package/esm2020/lib/notifications/types/cube-anomaly.notification.mjs +3 -3
  252. package/esm2020/lib/notifications/types/escalated.notification.mjs +3 -3
  253. package/esm2020/lib/notifications/types/liked.notification.mjs +3 -3
  254. package/esm2020/lib/notifications/types/long-running-task.notification.mjs +3 -3
  255. package/esm2020/lib/notifications/types/notification-base.mjs +5 -5
  256. package/esm2020/lib/notifications/types/nudge.notification.mjs +3 -3
  257. package/esm2020/lib/notifications/types/state-changed.notification.mjs +3 -3
  258. package/esm2020/lib/notifications/types/tagged.notification.mjs +3 -3
  259. package/esm2020/lib/notifications/types/text.notification.mjs +3 -3
  260. package/esm2020/lib/notifications/types/upcoming-event.notification.mjs +3 -3
  261. package/esm2020/lib/options/options.component.mjs +3 -3
  262. package/esm2020/lib/options/options.service.mjs +3 -3
  263. package/esm2020/lib/reports/arguments-component.mjs +3 -3
  264. package/esm2020/lib/reports/cube/documents.component.mjs +3 -3
  265. package/esm2020/lib/reports/cube/grid-documents.component.mjs +3 -3
  266. package/esm2020/lib/reports/cube/table-documents.component.mjs +3 -3
  267. package/esm2020/lib/reports/cube/usage-args.component.mjs +3 -3
  268. package/esm2020/lib/reports/cube/usage-base.mjs +3 -3
  269. package/esm2020/lib/reports/cube/usage-chart.component.mjs +3 -3
  270. package/esm2020/lib/reports/cube/usage-pivot.component.mjs +5 -6
  271. package/esm2020/lib/reports/cube/usage.component.mjs +3 -3
  272. package/esm2020/lib/reports/report-viewer.component.mjs +3 -3
  273. package/esm2020/lib/reports/report.mobile.component.mjs +3 -3
  274. package/esm2020/lib/reports/report.pane.component.mjs +3 -3
  275. package/esm2020/lib/reports/reports-menu.component.mjs +3 -3
  276. package/esm2020/lib/reports/substitution/substitution.component.mjs +3 -3
  277. package/esm2020/lib/reports/table/table-view.component.mjs +3 -3
  278. package/esm2020/lib/reports/tasks/tasks.component.mjs +3 -3
  279. package/esm2020/lib/routes.desktop.mjs +18 -18
  280. package/esm2020/lib/scheduler/schedule.component.mjs +3 -3
  281. package/esm2020/lib/scheduler/scheduler.mobile.component.mjs +3 -3
  282. package/esm2020/lib/scheduler/scheduler.pane.component.mjs +3 -3
  283. package/esm2020/lib/shared.module.mjs +8 -6
  284. package/esm2020/lib/system.module.mjs +4 -4
  285. package/esm2020/lib/views/cube/chart.component.mjs +3 -3
  286. package/esm2020/lib/views/cube/cube-base.mjs +3 -3
  287. package/esm2020/lib/views/cube/explore.component.mjs +3 -3
  288. package/esm2020/lib/views/cube/matrix.component.mjs +3 -3
  289. package/esm2020/lib/views/cube/parallel.component.mjs +3 -3
  290. package/esm2020/lib/views/cube/pivot.component.mjs +3 -3
  291. package/esm2020/lib/views/cube/sum.component.mjs +3 -3
  292. package/esm2020/lib/views/cube/view.component.mjs +3 -3
  293. package/esm2020/lib/views/timeline/timeline.component.exp.mjs +3 -3
  294. package/esm2020/lib/views/view-item.component.mjs +9 -13
  295. package/esm2020/lib/views/views.component.mjs +3 -3
  296. package/esm2020/lib/views/views.mobile.component.mjs +3 -3
  297. package/esm2020/lib/views/views.pane.component.mjs +3 -3
  298. package/esm2020/public-api.mjs +1 -1
  299. package/fesm2015/bizdoc-core.mjs +1393 -1220
  300. package/fesm2015/bizdoc-core.mjs.map +1 -1
  301. package/fesm2020/bizdoc-core.mjs +1368 -1194
  302. package/fesm2020/bizdoc-core.mjs.map +1 -1
  303. package/lib/admin/document-trace/document-trace.component.d.ts +33 -18
  304. package/lib/admin/document-trace/trace-element.component.d.ts +22 -8
  305. package/lib/admin/form/form.service.d.ts +19 -2
  306. package/lib/browse/browse-items.component.d.ts +0 -1
  307. package/lib/compose/compose.pane.component.d.ts +1 -0
  308. package/lib/compose/form.component.d.ts +7 -3
  309. package/lib/core/base.d.ts +3 -3
  310. package/lib/core/component-factory-resolver.d.ts +1 -1
  311. package/lib/core/configuration.d.ts +6 -5
  312. package/lib/core/controls/address.input.d.ts +5 -3
  313. package/lib/core/functions.d.ts +7 -3
  314. package/lib/core/mailbox.service.d.ts +1 -1
  315. package/lib/core/session.service.d.ts +3 -1
  316. package/lib/core/slots/pane-ref.d.ts +9 -6
  317. package/lib/core/slots/router.service.d.ts +2 -1
  318. package/lib/core/slots/slots.component.d.ts +29 -8
  319. package/lib/core/translations.d.ts +6 -0
  320. package/lib/home/home.desktop.component.d.ts +3 -3
  321. package/lib/modules/chart.module.d.ts +1 -1
  322. package/lib/views/view-item.component.d.ts +2 -4
  323. package/package.json +15 -16
  324. package/public-api.d.ts +1 -1
@@ -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.3.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.3.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.3.0", ngImport: i0, type: PopupComponent, decorators: [{
25
+ PopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", 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.3.1", 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.3.1", 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.3.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.3.0", ngImport: i0, type: Popup, providedIn: 'root' });
144
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: Popup, decorators: [{
142
+ Popup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", 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.3.1", ngImport: i0, type: Popup, providedIn: 'root' });
144
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", 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.3.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.3.0", type: TooltipComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: TooltipComponent, decorators: [{
12
+ TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", 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.3.1", type: TooltipComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", 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.3.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.3.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.3.0", ngImport: i0, type: TooltipDirective, decorators: [{
58
+ TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", 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.3.1", 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.3.1", 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.3.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.3.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.3.0", ngImport: i0, type: AskDialog, decorators: [{
20
+ AskDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", 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.3.1", 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.3.1", 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.3.0", ngImport: i0, type: MaskComponent, deps: [{ token: MASK_DATA }], target: i0.ɵɵFactoryTarget.Component });
13
- MaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.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.3.0", ngImport: i0, type: MaskComponent, decorators: [{
12
+ MaskComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: MaskComponent, deps: [{ token: MASK_DATA }], target: i0.ɵɵFactoryTarget.Component });
13
+ MaskComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", 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.3.1", 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.3.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.3.0", ngImport: i0, type: PromptService, providedIn: 'root' });
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: PromptService, decorators: [{
80
+ PromptService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", 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.3.1", ngImport: i0, type: PromptService, providedIn: 'root' });
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", 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.3.0", ngImport: i0, type: PaneRouter, deps: [{ token: i1.PanesRouter }], target: i0.ɵɵFactoryTarget.Injectable });
17
- PaneRouter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: PaneRouter });
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: PaneRouter, decorators: [{
16
+ PaneRouter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: PaneRouter, deps: [{ token: i1.PanesRouter }], target: i0.ɵɵFactoryTarget.Injectable });
17
+ PaneRouter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: PaneRouter });
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", 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.3.0", ngImport: i0, type: NgRouter, deps: [{ token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
31
- NgRouter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NgRouter });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: NgRouter, decorators: [{
30
+ NgRouter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: NgRouter, deps: [{ token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable });
31
+ NgRouter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: NgRouter });
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", 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==
@@ -18,6 +18,9 @@ const THEMES = [
18
18
  { name: 'brown', primary: 'brown', color: '#795548', accent: 'grey' }
19
19
  ];
20
20
  const SUPPORTED_LANGUAGES = ['en', 'he', 'de', 'ar', 'ru'], RTL_LANGUALGES = ['he', 'ar'];
21
+ export function SessionProviderFactory(provider) {
22
+ return () => provider.prepare();
23
+ }
21
24
  export class SessionService {
22
25
  constructor(_config, _http, _cookies, _hub) {
23
26
  this._config = _config;
@@ -31,7 +34,12 @@ export class SessionService {
31
34
  this.themeChange = this._themeChange.asObservable();
32
35
  this._firebase = new FirebaseService(this._config ? this._config.firebase : null, this);
33
36
  ('serviceWorker' in navigator) && this._loadSw();
34
- _config && _config.maps && this._loadMaps();
37
+ }
38
+ prepare() {
39
+ const promisses = [];
40
+ if (this._config.maps)
41
+ promisses.push(this._googleMaps());
42
+ return Promise.all(promisses);
35
43
  }
36
44
  get profile() { return this._profile; }
37
45
  get gender() { return this.profile.byId ? this._profile.byGender : this._profile.gender; }
@@ -226,20 +234,23 @@ export class SessionService {
226
234
  }, null);
227
235
  });
228
236
  }
229
- _loadMaps() {
237
+ _googleMaps() {
230
238
  const apiKey = this._config.maps.apiKey;
231
- const script = document.createElement('script');
232
- script.src = `https://maps.googleapis.com/maps/api/js?key=${apiKey}&libraries=places&language=${this.language}`;
233
- document.head.append(script);
239
+ return new Promise((resolve, reject) => {
240
+ const script = document.createElement('script');
241
+ script.src = `https://maps.googleapis.com/maps/api/js?key=${apiKey}&libraries=places&language=${this.language}`;
242
+ script.addEventListener('load', resolve, {});
243
+ document.head.append(script);
244
+ });
234
245
  }
235
246
  }
236
- SessionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: SessionService, deps: [{ token: BIZDOC_CONFIG }, { token: i1.HttpClient }, { token: i2.CookieService }, { token: i3.HubService }], target: i0.ɵɵFactoryTarget.Injectable });
237
- SessionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: SessionService, providedIn: 'root' });
238
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: SessionService, decorators: [{
247
+ SessionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SessionService, deps: [{ token: BIZDOC_CONFIG }, { token: i1.HttpClient }, { token: i2.CookieService }, { token: i3.HubService }], target: i0.ɵɵFactoryTarget.Injectable });
248
+ SessionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SessionService, providedIn: 'root' });
249
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SessionService, decorators: [{
239
250
  type: Injectable,
240
251
  args: [{ providedIn: 'root' }]
241
252
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
242
253
  type: Inject,
243
254
  args: [BIZDOC_CONFIG]
244
255
  }] }, { type: i1.HttpClient }, { type: i2.CookieService }, { type: i3.HubService }]; } });
245
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL3Nlc3Npb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFeEQsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxhQUFhLEVBQTJDLE1BQU0sdUJBQXVCLENBQUM7QUFFL0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7O0FBRzdDLE1BQU0sTUFBTSxHQUFZO0lBQ3RCLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRTtJQUN4RSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUU7SUFDdkUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFO0lBQ3RFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUss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QUNPLFNBQVM7UUFDZixNQUFNLE1BQU0sR0FBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQTJCLENBQUMsTUFBTSxDQUFDO1FBQ2hFLE1BQU0sTUFBTSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDaEQsTUFBTSxDQUFDLEdBQUcsR0FBRywrQ0FBK0MsTUFBTSw4QkFBOEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hILFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQy9CLENBQUM7OzJHQTlOVSxjQUFjLGtCQUVMLGFBQWE7K0dBRnRCLGNBQWMsY0FERCxNQUFNOzJGQUNuQixjQUFjO2tCQUQxQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBR25CLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBEaXJlY3Rpb24gfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIGZyb21FdmVudCwgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFwLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEh1YkNvbm5lY3Rpb25TdGF0ZSB9IGZyb20gJ0BtaWNyb3NvZnQvc2lnbmFscic7XHJcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnO1xyXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgeyBCSVpET0NfQ09ORklHLCBCaXpEb2NDb25maWcsIEdvb2dsZU1hcHNTZXR0aW5ncywgVGhlbWUgfSBmcm9tICcuLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBQcm9maWxlLCBVc2VySW5mbywgQXZhaWxhYmlsaXR5U3RhdGUsIE9wdGlvbnMsIEdlbmRlciB9IGZyb20gJy4vbW9kZWxzJztcclxuaW1wb3J0IHsgRmlyZWJhc2VTZXJ2aWNlLCBGaXJlYmFzZVN0YXRlIH0gZnJvbSAnLi9maXJlYmFzZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSHViU2VydmljZSB9IGZyb20gJy4vaHViLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNQVRFUklBTF9QQUxFVFRFUyB9IGZyb20gJy4vY29sb3JzJztcclxuaW1wb3J0IHsgTWF0ZXJpYWxNb2RlIH0gZnJvbSAnLi9mdW5jdGlvbnMnO1xyXG5cclxuY29uc3QgVEhFTUVTOiBUaGVtZVtdID0gW1xyXG4gIHsgbmFtZTogJ2RlZmF1bHQnLCBwcmltYXJ5OiAncHVycGxlJywgY29sb3I6ICdwdXJwbGUnLCBhY2NlbnQ6ICdhbWJlcicgfSxcclxuICB7IG5hbWU6ICdpbmRpZ28nLCBwcmltYXJ5OiAnaW5kaWdvJywgY29sb3I6ICcjM2Y1MWI1JywgYWNjZW50OiAncGluaycgfSxcclxuICB7IG5hbWU6ICdncmVlbicsIHByaW1hcnk6ICdncmVlbicsIGNvbG9yOiAnIzRDQUY1MCcsIGFjY2VudDogJ2FtYmVyJyB9LFxyXG4gIHsgbmFtZTogJ2RhcmsnLCBwcmltYXJ5OiAnZGVlcFB1cnBsZScsIGNvbG9yOiAnIzQwNDA0MScsIGFjY2VudDogJ2FtYmVyJywgZGFyazogdHJ1ZSB9LFxyXG4gIHsgbmFtZTogJ2Jyb3duJywgcHJpbWFyeTogJ2Jyb3duJywgY29sb3I6ICcjNzk1NTQ4JywgYWNjZW50OiAnZ3JleScgfV07XHJcblxyXG5jb25zdCBTVVBQT1JURURfTEFOR1VBR0VTID0gWydlbicsICdoZScsICdkZScsICdhcicsICdydSddLFxyXG4gIFJUTF9MQU5HVUFMR0VTID0gWydoZScsICdhciddO1xyXG5cclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBTZXNzaW9uU2VydmljZSB7XHJcbiAgcmVhZG9ubHkgVGhlbWVzOiBUaGVtZVtdID0gdGhpcy5fY29uZmlnLnRoZW1lcyB8fCBUSEVNRVM7XHJcbiAgY29uc3RydWN0b3IoQEluamVjdChCSVpET0NfQ09ORklHKSBwcml2YXRlIF9jb25maWc6IEJpekRvY0NvbmZpZyxcclxuICAgIHByaXZhdGUgX2h0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIF9jb29raWVzOiBDb29raWVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfaHViOiBIdWJTZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgKCdzZXJ2aWNlV29ya2VyJyBpbiBuYXZpZ2F0b3IpICYmIHRoaXMuX2xvYWRTdygpO1xyXG4gICAgX2NvbmZpZyAmJiBfY29uZmlnLm1hcHMgJiYgdGhpcy5fbG9hZE1hcHMoKTtcclxuICB9XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfbG9hZGVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF90aGVtZUNoYW5nZSA9IG5ldyBTdWJqZWN0PFRoZW1lPigpO1xyXG4gIHJlYWRvbmx5IGxvYWRlZCA9IHRoaXMuX2xvYWRlZC5hc09ic2VydmFibGUoKTtcclxuICByZWFkb25seSB0aGVtZUNoYW5nZSA9IHRoaXMuX3RoZW1lQ2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIHByaXZhdGUgX3Byb2ZpbGU6IFByb2ZpbGU7XHJcbiAgcHJpdmF0ZSBfbGFuZzogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2ZpcmViYXNlID0gbmV3IEZpcmViYXNlU2VydmljZSh0aGlzLl9jb25maWcgPyB0aGlzLl9jb25maWcuZmlyZWJhc2UgOiBudWxsLCB0aGlzKTtcclxuICBnZXQgcHJvZmlsZSgpOiBQcm9maWxlIHsgcmV0dXJuIHRoaXMuX3Byb2ZpbGU7IH1cclxuICBnZXQgZ2VuZGVyKCk6IEdlbmRlciB7IHJldHVybiB0aGlzLnByb2ZpbGUuYnlJZCA/IHRoaXMuX3Byb2ZpbGUuYnlHZW5kZXIgOiB0aGlzLl9wcm9maWxlLmdlbmRlcjsgfVxyXG4gIGdldCBhY2NlbnRQYWxldHRlKCk6IHN0cmluZ1tdIHtcclxuICAgIGNvbnN0IHBhbGV0dGUgPSBNQVRFUklBTF9QQUxFVFRFU1t0aGlzLnRoZW1lLmFjY2VudF07XHJcbiAgICByZXR1cm4gdGhpcy5fY29uc3RydWN0cGFsZXR0ZShwYWxldHRlKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfY29uc3RydWN0cGFsZXR0ZShwYWxldHRlOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmc7IH0pOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gW3BhbGV0dGVbJzEwMCddLCBwYWxldHRlWyczMDAnXSwgcGFsZXR0ZVsnNTAwJ10sIHBhbGV0dGVbJzcwMCddLCBwYWxldHRlWyc5MDAnXSxcclxuICAgIHBhbGV0dGVbJzIwMCddLCBwYWxldHRlWyc0MDAnXSwgcGFsZXR0ZVsnNjAwJ10sIHBhbGV0dGVbJzgwMCddLCBwYWxldHRlWydoZXgnXSxcclxuICAgIHBhbGV0dGVbJ2ExMDAnXSwgcGFsZXR0ZVsnYTQwMCddLCBwYWxldHRlWydhMjAwJ10sIHBhbGV0dGVbJ2E3MDAnXV07XHJcbiAgfVxyXG5cclxuICBnZXQgcHJpbWVyeVBhbGV0dGUoKTogc3RyaW5nW10ge1xyXG4gICAgY29uc3QgcGFsZXR0ZSA9IE1BVEVSSUFMX1BBTEVUVEVTW3RoaXMudGhlbWUucHJpbWFyeV07XHJcbiAgICByZXR1cm4gdGhpcy5fY29uc3RydWN0cGFsZXR0ZShwYWxldHRlKTtcclxuICB9XHJcbiAgZ2V0QWNjZW50KG1vZGU6IE1hdGVyaWFsTW9kZSA9IDUwMCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gTUFURVJJQUxfUEFMRVRURVNbdGhpcy50aGVtZS5hY2NlbnRdW21vZGVdO1xyXG4gIH1cclxuICBnZXRQcmltZXJ5KG1vZGU6IE1hdGVyaWFsTW9kZSA9IDUwMCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gTUFURVJJQUxfUEFMRVRURVNbdGhpcy50aGVtZS5wcmltYXJ5XVttb2RlXTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfdGhlbWU6IFRoZW1lO1xyXG4gIGdldCB0aGVtZSgpOiBUaGVtZSB7XHJcbiAgICBpZiAoIXRoaXMuX3RoZW1lKSB7XHJcbiAgICAgIGNvbnN0IG5hbWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndGhlbWUnKTtcclxuICAgICAgdGhpcy5fdGhlbWUgPSBuYW1lID8gdGhpcy5UaGVtZXMuZmluZCh0ID0+IHQubmFtZSA9PT0gbmFtZSkgOiB0aGlzLlRoZW1lc1swXTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl90aGVtZTtcclxuICB9XHJcbiAgc2V0IHRoZW1lKHZhbHVlOiBUaGVtZSkge1xyXG4gICAgdGhpcy5fdGhlbWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuX2NoYW5nZVRoZW1lKHZhbHVlKS5zdWJzY3JpYmUoKCkgPT5cclxuICAgICAgdGhpcy5fdGhlbWVDaGFuZ2UubmV4dCh2YWx1ZSkpO1xyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3RoZW1lJywgdmFsdWUubmFtZSk7XHJcbiAgfVxyXG4gIGdldCBvaygpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMucHJvZmlsZSAhPT0gdW5kZWZpbmVkOyB9XHJcbiAgLyoqIGxhbmd1YWdlIGRpcmVjdGlvbiAqL1xyXG4gIGdldCBkaXJlY3Rpb24oKTogRGlyZWN0aW9uIHtcclxuICAgIHJldHVybiBSVExfTEFOR1VBTEdFUy5pbmRleE9mKHRoaXMubGFuZ3VhZ2UpID4gLTEgPyAncnRsJyA6ICdsdHInO1xyXG4gIH1cclxuICBnZXQgaW52ZXJzZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmRpcmVjdGlvbiA9PT0gJ3J0bCc7XHJcbiAgfVxyXG4gIGdldCB1c2VySWQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9wcm9maWxlLmJ5SWQgfHwgdGhpcy5wcm9maWxlLnVzZXJJZDtcclxuICB9XHJcbiAgZ2V0IGxvY2FsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmxhbmd1YWdlLnNwbGl0KCctJylbMF07XHJcbiAgfVxyXG4gIGdldCBsYW5ndWFnZSgpOiBzdHJpbmcge1xyXG4gICAgaWYgKCF0aGlzLl9sYW5nKVxyXG4gICAgICB0aGlzLl9sYW5nID0gdGhpcy5fY29va2llcy5nZXQoJ2xhbmcnKSB8fCB0aGlzLl9nZXRCcm93c2VyTGFuZygpIHx8IFNVUFBPUlRFRF9MQU5HVUFHRVNbMF07XHJcbiAgICByZXR1cm4gdGhpcy5fbGFuZztcclxuICB9XHJcbiAgZ2V0IGFyaWEoKSB7IHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnYXJpYScpID09PSAnMScgfVxyXG4gIHNldCBhcmlhKHZhbDogYm9vbGVhbikgeyBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnYXJpYScsIHZhbCA/ICcxJyA6ICcwJykgfVxyXG4gIHNldCBsYW5ndWFnZShjb2RlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2Nvb2tpZXMuc2V0KCdsYW5nJywgY29kZSwgMzY1LCAnLycpO1xyXG4gIH1cclxuICBnZXQgbGFuZ3VhZ2VzKCk6IHN0cmluZ1tdIHsgcmV0dXJuIHRoaXMuX2NvbmZpZy5sYW5ndWFnZXMgfHwgU1VQUE9SVEVEX0xBTkdVQUdFUzsgfVxyXG4gIGdldCBpc0ltcGVyc29uYXRpbmcoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLnByb2ZpbGUuYnlJZCAhPT0gdW5kZWZpbmVkOyB9XHJcbiAgLyoqIHN5c3RlbSBhZG1pbiAqL1xyXG4gIGdldCBpc1N5c3RlbSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnByb2ZpbGUuc3lzdGVtO1xyXG4gIH1cclxuICAvKiogb25saW5lIG9yIHNldCBpbiBwcm9maWxlICovXHJcbiAgZ2V0IHN0YXRlKCk6IEF2YWlsYWJpbGl0eVN0YXRlIHtcclxuICAgIHJldHVybiB0aGlzLnByb2ZpbGUuYXZhaWxhYmxlIHx8ICdPbmxpbmUnO1xyXG4gIH1cclxuICBzZXQgc3RhdGUodmFsdWU6IEF2YWlsYWJpbGl0eVN0YXRlKSB7XHJcbiAgICB0aGlzLnByb2ZpbGUuYXZhaWxhYmxlID0gdmFsdWUgPT09ICdPbmxpbmUnID8gbnVsbCA6IHZhbHVlO1xyXG4gICAgdGhpcy5faHR0cC5wdXQoYC9hcGkvYWNjb3VudC9hdmFpbGFibGU/bW9kZT0ke3RoaXMucHJvZmlsZS5hdmFpbGFibGUgfHwgJyd9YCwge30pLnN1YnNjcmliZSgpO1xyXG4gIH1cclxuICBpc0luUm9sZShyb2xlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldChgL2FwaS9hY2NvdW50L2lzSW5Sb2xlP3JvbGU9JHtyb2xlfWAsIHtcclxuICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCcgYXMgY29uc3RcclxuICAgIH0pLnBpcGUobWFwKHIgPT4gciA9PT0gJ3RydWUnKSk7XHJcbiAgfVxyXG4gIC8qKiAqL1xyXG4gIGdldCBpc091dE9mT2ZmaWNlKCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMucHJvZmlsZS5vcHRpb25zLm91dE9mT2ZmaWNlO1xyXG4gICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5hY3RpdmUpIHtcclxuICAgICAgY29uc3QgdG9kYXkgPSBkYXlqcygpLnN0YXJ0T2YoJ2RheScpO1xyXG4gICAgICByZXR1cm4gKCFvcHRpb25zLmZyb20gfHwgZGF5anMob3B0aW9ucy5mcm9tKS5zdGFydE9mKCdkYXknKSA8PSB0b2RheSlcclxuICAgICAgICAmJiAoIW9wdGlvbnMudG8gfHwgZGF5anMob3B0aW9ucy50bykuc3RhcnRPZignZGF5JykgPj0gdG9kYXkpO1xyXG4gICAgfVxyXG4gICAgZWxzZSByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIC8qKiB1cGRhdGUgcHJvZmlsZSAgKi9cclxuICB1cGRhdGUocHJvZmlsZTogT3B0aW9ucyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wdXQoJy9hcGkvYWNjb3VudC91cGRhdGUnLCBwcm9maWxlKS5waXBlKHRhcCgoKSA9PlxyXG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMuX3Byb2ZpbGUub3B0aW9ucywgcHJvZmlsZSkpKTtcclxuICB9XHJcbiAgLyoqIG1hcmsgZ3VpZGUgYXMgdmlzaXRlZCBpbiBwcm9maWxlICovXHJcbiAgZ3VpZGUobmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnB1dChgL2FwaS9hY2NvdW50L2d1aWRlLyR7bmFtZX1gLCB7fSwgeyBoZWFkZXJzOiB7ICduby1wcm9ncmVzcyc6ICd0cnVlJyB9IH0pLnBpcGUoXHJcbiAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZ3VpZGUgPSB0aGlzLl9wcm9maWxlLmd1aWRlcy5maW5kKGcgPT4gZy5uYW1lID09PSBuYW1lKTtcclxuICAgICAgICBpZiAoZ3VpZGUpIGd1aWRlLm1vZGUgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgdGhpcy5fcHJvZmlsZS5vcHRpb25zLmd1aWRlcy5wdXNoKG5hbWUpO1xyXG4gICAgICB9KSk7XHJcbiAgfVxyXG4gIC8qKiBnZXQgcHJvZmlsZSAqL1xyXG4gIHJlZnJlc2goKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxhbnk+KG9ic2VydmUgPT4ge1xyXG4gICAgICB0aGlzLl9odHRwLmdldDxQcm9maWxlPignL2FwaS9hY2NvdW50L3JlZnJlc2gnKS5zdWJzY3JpYmUociA9PiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9wcm9maWxlKVxyXG4gICAgICAgICAgdGhpcy5fY2hhbmdlVGhlbWUodGhpcy50aGVtZSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fcHJvZmlsZSA9IHI7XHJcbiAgICAgICAgICAgIG9ic2VydmUubmV4dCgpO1xyXG4gICAgICAgICAgICB0aGlzLl9sb2FkZWQubmV4dCgpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9wcm9maWxlID0gcjtcclxuICAgICAgICAgIG9ic2VydmUubmV4dCgpO1xyXG4gICAgICAgICAgdGhpcy5fbG9hZGVkLm5leHQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5faHViLnN0YXRlICE9PSBIdWJDb25uZWN0aW9uU3RhdGUuQ29ubmVjdGVkICYmIHRoaXMuX2h1Yi5zdGFydCgpO1xyXG4gICAgICAgIHRoaXMuX2ZpcmViYXNlLnN0YXRlICE9PSBGaXJlYmFzZVN0YXRlLkFjdGl2YXRlZCAmJlxyXG4gICAgICAgICAgdGhpcy5fZmlyZWJhc2UuYWN0aXZhdGUoKTtcclxuICAgICAgfSwgKCkgPT4gb2JzZXJ2ZS5lcnJvcigpKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBwdWJsaWMgdW5yZWdpc3RlckRldmljZSh0eXBlOiBzdHJpbmcsIHRva2VuOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucG9zdCgnL2FwaS9hY2NvdW50L3VucmVnaXN0ZXJEZXZpY2UnLCB7IHR5cGUsIHRva2VuIH0pO1xyXG4gIH1cclxuICBwdWJsaWMgcmVnaXN0ZXJEZXZpY2UodHlwZTogc3RyaW5nLCB0b2tlbjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnBvc3QoJy9hcGkvYWNjb3VudC9yZWdpc3RlckRldmljZScsIHsgdHlwZSwgdG9rZW4gfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbWF5SW1wZXJzb25hdGUoc2VhcmNoOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFVzZXJJbmZvW10+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnB1dDxVc2VySW5mb1tdPignL2FwaS9hY2NvdW50L2dyYW50ZWQnLCB7XHJcbiAgICAgIHNlYXJjaFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBpbXBlcnNvbmF0ZSh1c2VySWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wb3N0PFByb2ZpbGU+KCcvYXBpL2FjY291bnQvaW1wZXJzb25hdGUnLCB7XHJcbiAgICAgIHVzZXJJZFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBpbmJveFRvdWNoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucHV0PFdhdGVybWFya0luZm8+KCcvYXBpL2FjY291bnQvaW5ib3h2aWV3Jywge30sIHsgaGVhZGVyczogeyAnbm8tcHJvZ3Jlc3MnOiAndHJ1ZScgfSB9KS5waXBlKFxyXG4gICAgICB0YXAoZSA9PiB7XHJcbiAgICAgICAgdGhpcy5wcm9maWxlLmluYm94Q291bnQgPSAwO1xyXG4gICAgICAgIHRoaXMucHJvZmlsZS5vcHRpb25zLmluYm94VmlldyA9IGUudGltZTtcclxuICAgICAgfSkpLnRvUHJvbWlzZSgpO1xyXG4gIH1cclxuICBwdWJsaWMgbm90aWZpY2F0aW9uc1RvdWNoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucHV0PFdhdGVybWFya0luZm8+KCcvYXBpL2FjY291bnQvbm90aWZpY2F0aW9uc1ZpZXcnLCB7fSwgeyBoZWFkZXJzOiB7ICduby1wcm9ncmVzcyc6ICd0cnVlJyB9IH0pLnBpcGUodGFwKGUgPT4ge1xyXG4gICAgICB0aGlzLnByb2ZpbGUubm90aWZpY2F0aW9uc0NvdW50ID0gMDtcclxuICAgICAgdGhpcy5wcm9maWxlLm9wdGlvbnMubm90aWZpY2F0aW9uc1ZpZXcgPSBlLnRpbWU7XHJcbiAgICB9KSkudG9Qcm9taXNlKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2dldEJyb3dzZXJMYW5nKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgbGFuZyA9IG5hdmlnYXRvci5sYW5ndWFnZTtcclxuICAgIGlmICh0aGlzLmxhbmd1YWdlcy5pbmRleE9mKGxhbmcpID4gLTEpXHJcbiAgICAgIHJldHVybiBsYW5nO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuYXZpZ2F0b3IubGFuZ3VhZ2VzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGxhbmcgPSBuYXZpZ2F0b3IubGFuZ3VhZ2VzW2ldO1xyXG4gICAgICBpZiAodGhpcy5sYW5ndWFnZXMuaW5kZXhPZihsYW5nKSA+IC0xKVxyXG4gICAgICAgIHJldHVybiBsYW5nO1xyXG4gICAgICBpZiAobGFuZy5sZW5ndGggPiAyKSB7XHJcbiAgICAgICAgbGFuZyA9IGxhbmcuc3Vic3RyaW5nKDAsIDIpLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgaWYgKHRoaXMubGFuZ3VhZ2VzLmluZGV4T2YobGFuZykgPiAtMSlcclxuICAgICAgICAgIHJldHVybiBsYW5nO1xyXG4gICAgICAgIGxhbmcgPSB0aGlzLmxhbmd1YWdlcy5maW5kKGwgPT4gbC5zdGFydHNXaXRoKGxhbmcpKTtcclxuICAgICAgICBpZiAobGFuZylcclxuICAgICAgICAgIHJldHVybiBsYW5nO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHRoZW1lXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfY2hhbmdlVGhlbWUodGhlbWU6IFRoZW1lKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGxldCBzdHlsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiaXpkb2MtdGhlbWUnKSBhcyBIVE1MTGlua0VsZW1lbnQ7XHJcbiAgICBpZiAoc3R5bGUpXHJcbiAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoc3R5bGUpO1xyXG5cclxuICAgIGlmICh0aGVtZS5uYW1lID09PSB0aGlzLlRoZW1lc1swXS5uYW1lKSB7XHJcbiAgICAgIHJldHVybiBvZih0aGVtZSk7XHJcbiAgICB9XHJcbiAgICBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcclxuICAgIHN0eWxlLmlkID0gJ2JpemRvYy10aGVtZSc7XHJcbiAgICBzdHlsZS50eXBlID0gJ3RleHQvY3NzJztcclxuICAgIHN0eWxlLnJlbCA9ICdzdHlsZXNoZWV0JztcclxuICAgIHN0eWxlLmhyZWYgPSBgL2Fzc2V0cy90aGVtZXMvJHt0aGVtZS5uYW1lfS5taW4uY3NzYDtcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kKHN0eWxlKTtcclxuXHJcbiAgICByZXR1cm4gZnJvbUV2ZW50KHN0eWxlLCAnbG9hZCcpO1xyXG4gIH1cclxuICBwcml2YXRlIF9sb2FkU3coKSB7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uICgpIHtcclxuICAgICAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoJy9qcy9hcHAtc3cuanMnKS50aGVuKGZ1bmN0aW9uICgpIHtcclxuICAgICAgfSwgbnVsbCk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfbG9hZE1hcHMoKSB7XHJcbiAgICBjb25zdCBhcGlLZXkgPSAodGhpcy5fY29uZmlnLm1hcHMgYXMgR29vZ2xlTWFwc1NldHRpbmdzKS5hcGlLZXk7XHJcbiAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcclxuICAgIHNjcmlwdC5zcmMgPSBgaHR0cHM6Ly9tYXBzLmdvb2dsZWFwaXMuY29tL21hcHMvYXBpL2pzP2tleT0ke2FwaUtleX0mbGlicmFyaWVzPXBsYWNlcyZsYW5ndWFnZT0ke3RoaXMubGFuZ3VhZ2V9YDtcclxuICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kKHNjcmlwdCk7XHJcbiAgfVxyXG59XHJcbmludGVyZmFjZSBXYXRlcm1hcmtJbmZvIHtcclxuICB0aW1lOiBEYXRlO1xyXG59XHJcbiJdfQ==
256
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL3Nlc3Npb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUduRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFeEQsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxhQUFhLEVBQTJDLE1BQU0sdUJBQXVCLENBQUM7QUFFL0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVwRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7O0FBRzdDLE1BQU0sTUFBTSxHQUFZO0lBQ3RCLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRTtJQUN4RSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUU7SUFDdkUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFO0lBQ3RFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUss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NUIsT0FBTyxTQUFTLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFDTyxPQUFPO1FBQ2IsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRTtZQUM5QixTQUFTLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDdkQsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ1gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ08sV0FBVztRQUNqQixNQUFNLE1BQU0sR0FBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQTJCLENBQUMsTUFBTSxDQUFDO1FBQ2hFLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUNoRCxNQUFNLENBQUMsR0FBRyxHQUFHLCtDQUErQyxNQUFNLDhCQUE4QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEgsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDN0MsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDL0IsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzsyR0F0T1UsY0FBYyxrQkFRTCxhQUFhOytHQVJ0QixjQUFjLGNBREQsTUFBTTsyRkFDbkIsY0FBYztrQkFEMUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OzBCQVNuQixNQUFNOzJCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgRGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBmcm9tRXZlbnQsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRhcCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBIdWJDb25uZWN0aW9uU3RhdGUgfSBmcm9tICdAbWljcm9zb2Z0L3NpZ25hbHInO1xyXG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnbmd4LWNvb2tpZS1zZXJ2aWNlJztcclxuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcclxuaW1wb3J0IHsgQklaRE9DX0NPTkZJRywgQml6RG9jQ29uZmlnLCBHb29nbGVNYXBzU2V0dGluZ3MsIFRoZW1lIH0gZnJvbSAnLi4vY29yZS9jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgUHJvZmlsZSwgVXNlckluZm8sIEF2YWlsYWJpbGl0eVN0YXRlLCBPcHRpb25zLCBHZW5kZXIgfSBmcm9tICcuL21vZGVscyc7XHJcbmltcG9ydCB7IEZpcmViYXNlU2VydmljZSwgRmlyZWJhc2VTdGF0ZSB9IGZyb20gJy4vZmlyZWJhc2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEh1YlNlcnZpY2UgfSBmcm9tICcuL2h1Yi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTUFURVJJQUxfUEFMRVRURVMgfSBmcm9tICcuL2NvbG9ycyc7XHJcbmltcG9ydCB7IE1hdGVyaWFsTW9kZSB9IGZyb20gJy4vZnVuY3Rpb25zJztcclxuXHJcbmNvbnN0IFRIRU1FUzogVGhlbWVbXSA9IFtcclxuICB7IG5hbWU6ICdkZWZhdWx0JywgcHJpbWFyeTogJ3B1cnBsZScsIGNvbG9yOiAncHVycGxlJywgYWNjZW50OiAnYW1iZXInIH0sXHJcbiAgeyBuYW1lOiAnaW5kaWdvJywgcHJpbWFyeTogJ2luZGlnbycsIGNvbG9yOiAnIzNmNTFiNScsIGFjY2VudDogJ3BpbmsnIH0sXHJcbiAgeyBuYW1lOiAnZ3JlZW4nLCBwcmltYXJ5OiAnZ3JlZW4nLCBjb2xvcjogJyM0Q0FGNTAnLCBhY2NlbnQ6ICdhbWJlcicgfSxcclxuICB7IG5hbWU6ICdkYXJrJywgcHJpbWFyeTogJ2RlZXBQdXJwbGUnLCBjb2xvcjogJyM0MDQwNDEnLCBhY2NlbnQ6ICdhbWJlcicsIGRhcms6IHRydWUgfSxcclxuICB7IG5hbWU6ICdicm93bicsIHByaW1hcnk6ICdicm93bicsIGNvbG9yOiAnIzc5NTU0OCcsIGFjY2VudDogJ2dyZXknIH1dO1xyXG5cclxuY29uc3QgU1VQUE9SVEVEX0xBTkdVQUdFUyA9IFsnZW4nLCAnaGUnLCAnZGUnLCAnYXInLCAncnUnXSxcclxuICBSVExfTEFOR1VBTEdFUyA9IFsnaGUnLCAnYXInXTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBTZXNzaW9uUHJvdmlkZXJGYWN0b3J5KHByb3ZpZGVyOiBTZXNzaW9uU2VydmljZSkge1xyXG4gIHJldHVybiAoKSA9PiBwcm92aWRlci5wcmVwYXJlKCk7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBTZXNzaW9uU2VydmljZSB7XHJcbiAgcHJlcGFyZSgpIHtcclxuICAgIGNvbnN0IHByb21pc3NlcyA9IFtdO1xyXG4gICAgaWYgKHRoaXMuX2NvbmZpZy5tYXBzKVxyXG4gICAgICBwcm9taXNzZXMucHVzaCh0aGlzLl9nb29nbGVNYXBzKCkpO1xyXG4gICAgcmV0dXJuIFByb21pc2UuYWxsKHByb21pc3Nlcyk7XHJcbiAgfVxyXG4gIHJlYWRvbmx5IFRoZW1lczogVGhlbWVbXSA9IHRoaXMuX2NvbmZpZy50aGVtZXMgfHwgVEhFTUVTO1xyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQklaRE9DX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnOiBCaXpEb2NDb25maWcsXHJcbiAgICBwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBfY29va2llczogQ29va2llU2VydmljZSxcclxuICAgIHByaXZhdGUgX2h1YjogSHViU2VydmljZSxcclxuICApIHtcclxuICAgICgnc2VydmljZVdvcmtlcicgaW4gbmF2aWdhdG9yKSAmJiB0aGlzLl9sb2FkU3coKTtcclxuICB9XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfbG9hZGVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF90aGVtZUNoYW5nZSA9IG5ldyBTdWJqZWN0PFRoZW1lPigpO1xyXG4gIHJlYWRvbmx5IGxvYWRlZCA9IHRoaXMuX2xvYWRlZC5hc09ic2VydmFibGUoKTtcclxuICByZWFkb25seSB0aGVtZUNoYW5nZSA9IHRoaXMuX3RoZW1lQ2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIHByaXZhdGUgX3Byb2ZpbGU6IFByb2ZpbGU7XHJcbiAgcHJpdmF0ZSBfbGFuZzogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2ZpcmViYXNlID0gbmV3IEZpcmViYXNlU2VydmljZSh0aGlzLl9jb25maWcgPyB0aGlzLl9jb25maWcuZmlyZWJhc2UgOiBudWxsLCB0aGlzKTtcclxuICBnZXQgcHJvZmlsZSgpOiBQcm9maWxlIHsgcmV0dXJuIHRoaXMuX3Byb2ZpbGU7IH1cclxuICBnZXQgZ2VuZGVyKCk6IEdlbmRlciB7IHJldHVybiB0aGlzLnByb2ZpbGUuYnlJZCA/IHRoaXMuX3Byb2ZpbGUuYnlHZW5kZXIgOiB0aGlzLl9wcm9maWxlLmdlbmRlcjsgfVxyXG4gIGdldCBhY2NlbnRQYWxldHRlKCk6IHN0cmluZ1tdIHtcclxuICAgIGNvbnN0IHBhbGV0dGUgPSBNQVRFUklBTF9QQUxFVFRFU1t0aGlzLnRoZW1lLmFjY2VudF07XHJcbiAgICByZXR1cm4gdGhpcy5fY29uc3RydWN0cGFsZXR0ZShwYWxldHRlKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfY29uc3RydWN0cGFsZXR0ZShwYWxldHRlOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmc7IH0pOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gW3BhbGV0dGVbJzEwMCddLCBwYWxldHRlWyczMDAnXSwgcGFsZXR0ZVsnNTAwJ10sIHBhbGV0dGVbJzcwMCddLCBwYWxldHRlWyc5MDAnXSxcclxuICAgIHBhbGV0dGVbJzIwMCddLCBwYWxldHRlWyc0MDAnXSwgcGFsZXR0ZVsnNjAwJ10sIHBhbGV0dGVbJzgwMCddLCBwYWxldHRlWydoZXgnXSxcclxuICAgIHBhbGV0dGVbJ2ExMDAnXSwgcGFsZXR0ZVsnYTQwMCddLCBwYWxldHRlWydhMjAwJ10sIHBhbGV0dGVbJ2E3MDAnXV07XHJcbiAgfVxyXG5cclxuICBnZXQgcHJpbWVyeVBhbGV0dGUoKTogc3RyaW5nW10ge1xyXG4gICAgY29uc3QgcGFsZXR0ZSA9IE1BVEVSSUFMX1BBTEVUVEVTW3RoaXMudGhlbWUucHJpbWFyeV07XHJcbiAgICByZXR1cm4gdGhpcy5fY29uc3RydWN0cGFsZXR0ZShwYWxldHRlKTtcclxuICB9XHJcbiAgZ2V0QWNjZW50KG1vZGU6IE1hdGVyaWFsTW9kZSA9IDUwMCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gTUFURVJJQUxfUEFMRVRURVNbdGhpcy50aGVtZS5hY2NlbnRdW21vZGVdO1xyXG4gIH1cclxuICBnZXRQcmltZXJ5KG1vZGU6IE1hdGVyaWFsTW9kZSA9IDUwMCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gTUFURVJJQUxfUEFMRVRURVNbdGhpcy50aGVtZS5wcmltYXJ5XVttb2RlXTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfdGhlbWU6IFRoZW1lO1xyXG4gIGdldCB0aGVtZSgpOiBUaGVtZSB7XHJcbiAgICBpZiAoIXRoaXMuX3RoZW1lKSB7XHJcbiAgICAgIGNvbnN0IG5hbWUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndGhlbWUnKTtcclxuICAgICAgdGhpcy5fdGhlbWUgPSBuYW1lID8gdGhpcy5UaGVtZXMuZmluZCh0ID0+IHQubmFtZSA9PT0gbmFtZSkgOiB0aGlzLlRoZW1lc1swXTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLl90aGVtZTtcclxuICB9XHJcbiAgc2V0IHRoZW1lKHZhbHVlOiBUaGVtZSkge1xyXG4gICAgdGhpcy5fdGhlbWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuX2NoYW5nZVRoZW1lKHZhbHVlKS5zdWJzY3JpYmUoKCkgPT5cclxuICAgICAgdGhpcy5fdGhlbWVDaGFuZ2UubmV4dCh2YWx1ZSkpO1xyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3RoZW1lJywgdmFsdWUubmFtZSk7XHJcbiAgfVxyXG4gIGdldCBvaygpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMucHJvZmlsZSAhPT0gdW5kZWZpbmVkOyB9XHJcbiAgLyoqIGxhbmd1YWdlIGRpcmVjdGlvbiAqL1xyXG4gIGdldCBkaXJlY3Rpb24oKTogRGlyZWN0aW9uIHtcclxuICAgIHJldHVybiBSVExfTEFOR1VBTEdFUy5pbmRleE9mKHRoaXMubGFuZ3VhZ2UpID4gLTEgPyAncnRsJyA6ICdsdHInO1xyXG4gIH1cclxuICBnZXQgaW52ZXJzZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmRpcmVjdGlvbiA9PT0gJ3J0bCc7XHJcbiAgfVxyXG4gIGdldCB1c2VySWQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9wcm9maWxlLmJ5SWQgfHwgdGhpcy5wcm9maWxlLnVzZXJJZDtcclxuICB9XHJcbiAgZ2V0IGxvY2FsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmxhbmd1YWdlLnNwbGl0KCctJylbMF07XHJcbiAgfVxyXG4gIGdldCBsYW5ndWFnZSgpOiBzdHJpbmcge1xyXG4gICAgaWYgKCF0aGlzLl9sYW5nKVxyXG4gICAgICB0aGlzLl9sYW5nID0gdGhpcy5fY29va2llcy5nZXQoJ2xhbmcnKSB8fCB0aGlzLl9nZXRCcm93c2VyTGFuZygpIHx8IFNVUFBPUlRFRF9MQU5HVUFHRVNbMF07XHJcbiAgICByZXR1cm4gdGhpcy5fbGFuZztcclxuICB9XHJcbiAgZ2V0IGFyaWEoKSB7IHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnYXJpYScpID09PSAnMScgfVxyXG4gIHNldCBhcmlhKHZhbDogYm9vbGVhbikgeyBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnYXJpYScsIHZhbCA/ICcxJyA6ICcwJykgfVxyXG4gIHNldCBsYW5ndWFnZShjb2RlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2Nvb2tpZXMuc2V0KCdsYW5nJywgY29kZSwgMzY1LCAnLycpO1xyXG4gIH1cclxuICBnZXQgbGFuZ3VhZ2VzKCk6IHN0cmluZ1tdIHsgcmV0dXJuIHRoaXMuX2NvbmZpZy5sYW5ndWFnZXMgfHwgU1VQUE9SVEVEX0xBTkdVQUdFUzsgfVxyXG4gIGdldCBpc0ltcGVyc29uYXRpbmcoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLnByb2ZpbGUuYnlJZCAhPT0gdW5kZWZpbmVkOyB9XHJcbiAgLyoqIHN5c3RlbSBhZG1pbiAqL1xyXG4gIGdldCBpc1N5c3RlbSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnByb2ZpbGUuc3lzdGVtO1xyXG4gIH1cclxuICAvKiogb25saW5lIG9yIHNldCBpbiBwcm9maWxlICovXHJcbiAgZ2V0IHN0YXRlKCk6IEF2YWlsYWJpbGl0eVN0YXRlIHtcclxuICAgIHJldHVybiB0aGlzLnByb2ZpbGUuYXZhaWxhYmxlIHx8ICdPbmxpbmUnO1xyXG4gIH1cclxuICBzZXQgc3RhdGUodmFsdWU6IEF2YWlsYWJpbGl0eVN0YXRlKSB7XHJcbiAgICB0aGlzLnByb2ZpbGUuYXZhaWxhYmxlID0gdmFsdWUgPT09ICdPbmxpbmUnID8gbnVsbCA6IHZhbHVlO1xyXG4gICAgdGhpcy5faHR0cC5wdXQoYC9hcGkvYWNjb3VudC9hdmFpbGFibGU/bW9kZT0ke3RoaXMucHJvZmlsZS5hdmFpbGFibGUgfHwgJyd9YCwge30pLnN1YnNjcmliZSgpO1xyXG4gIH1cclxuICBpc0luUm9sZShyb2xlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLmdldChgL2FwaS9hY2NvdW50L2lzSW5Sb2xlP3JvbGU9JHtyb2xlfWAsIHtcclxuICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCcgYXMgY29uc3RcclxuICAgIH0pLnBpcGUobWFwKHIgPT4gciA9PT0gJ3RydWUnKSk7XHJcbiAgfVxyXG4gIC8qKiAqL1xyXG4gIGdldCBpc091dE9mT2ZmaWNlKCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMucHJvZmlsZS5vcHRpb25zLm91dE9mT2ZmaWNlO1xyXG4gICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5hY3RpdmUpIHtcclxuICAgICAgY29uc3QgdG9kYXkgPSBkYXlqcygpLnN0YXJ0T2YoJ2RheScpO1xyXG4gICAgICByZXR1cm4gKCFvcHRpb25zLmZyb20gfHwgZGF5anMob3B0aW9ucy5mcm9tKS5zdGFydE9mKCdkYXknKSA8PSB0b2RheSlcclxuICAgICAgICAmJiAoIW9wdGlvbnMudG8gfHwgZGF5anMob3B0aW9ucy50bykuc3RhcnRPZignZGF5JykgPj0gdG9kYXkpO1xyXG4gICAgfVxyXG4gICAgZWxzZSByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIC8qKiB1cGRhdGUgcHJvZmlsZSAgKi9cclxuICB1cGRhdGUocHJvZmlsZTogT3B0aW9ucyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wdXQoJy9hcGkvYWNjb3VudC91cGRhdGUnLCBwcm9maWxlKS5waXBlKHRhcCgoKSA9PlxyXG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMuX3Byb2ZpbGUub3B0aW9ucywgcHJvZmlsZSkpKTtcclxuICB9XHJcbiAgLyoqIG1hcmsgZ3VpZGUgYXMgdmlzaXRlZCBpbiBwcm9maWxlICovXHJcbiAgZ3VpZGUobmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnB1dChgL2FwaS9hY2NvdW50L2d1aWRlLyR7bmFtZX1gLCB7fSwgeyBoZWFkZXJzOiB7ICduby1wcm9ncmVzcyc6ICd0cnVlJyB9IH0pLnBpcGUoXHJcbiAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZ3VpZGUgPSB0aGlzLl9wcm9maWxlLmd1aWRlcy5maW5kKGcgPT4gZy5uYW1lID09PSBuYW1lKTtcclxuICAgICAgICBpZiAoZ3VpZGUpIGd1aWRlLm1vZGUgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgdGhpcy5fcHJvZmlsZS5vcHRpb25zLmd1aWRlcy5wdXNoKG5hbWUpO1xyXG4gICAgICB9KSk7XHJcbiAgfVxyXG4gIC8qKiBnZXQgcHJvZmlsZSAqL1xyXG4gIHJlZnJlc2goKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxhbnk+KG9ic2VydmUgPT4ge1xyXG4gICAgICB0aGlzLl9odHRwLmdldDxQcm9maWxlPignL2FwaS9hY2NvdW50L3JlZnJlc2gnKS5zdWJzY3JpYmUociA9PiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9wcm9maWxlKVxyXG4gICAgICAgICAgdGhpcy5fY2hhbmdlVGhlbWUodGhpcy50aGVtZSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fcHJvZmlsZSA9IHI7XHJcbiAgICAgICAgICAgIG9ic2VydmUubmV4dCgpO1xyXG4gICAgICAgICAgICB0aGlzLl9sb2FkZWQubmV4dCgpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLl9wcm9maWxlID0gcjtcclxuICAgICAgICAgIG9ic2VydmUubmV4dCgpO1xyXG4gICAgICAgICAgdGhpcy5fbG9hZGVkLm5leHQoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5faHViLnN0YXRlICE9PSBIdWJDb25uZWN0aW9uU3RhdGUuQ29ubmVjdGVkICYmIHRoaXMuX2h1Yi5zdGFydCgpO1xyXG4gICAgICAgIHRoaXMuX2ZpcmViYXNlLnN0YXRlICE9PSBGaXJlYmFzZVN0YXRlLkFjdGl2YXRlZCAmJlxyXG4gICAgICAgICAgdGhpcy5fZmlyZWJhc2UuYWN0aXZhdGUoKTtcclxuICAgICAgfSwgKCkgPT4gb2JzZXJ2ZS5lcnJvcigpKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBwdWJsaWMgdW5yZWdpc3RlckRldmljZSh0eXBlOiBzdHJpbmcsIHRva2VuOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucG9zdCgnL2FwaS9hY2NvdW50L3VucmVnaXN0ZXJEZXZpY2UnLCB7IHR5cGUsIHRva2VuIH0pO1xyXG4gIH1cclxuICBwdWJsaWMgcmVnaXN0ZXJEZXZpY2UodHlwZTogc3RyaW5nLCB0b2tlbjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnBvc3QoJy9hcGkvYWNjb3VudC9yZWdpc3RlckRldmljZScsIHsgdHlwZSwgdG9rZW4gfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbWF5SW1wZXJzb25hdGUoc2VhcmNoOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFVzZXJJbmZvW10+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnB1dDxVc2VySW5mb1tdPignL2FwaS9hY2NvdW50L2dyYW50ZWQnLCB7XHJcbiAgICAgIHNlYXJjaFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBpbXBlcnNvbmF0ZSh1c2VySWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wb3N0PFByb2ZpbGU+KCcvYXBpL2FjY291bnQvaW1wZXJzb25hdGUnLCB7XHJcbiAgICAgIHVzZXJJZFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBpbmJveFRvdWNoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucHV0PFdhdGVybWFya0luZm8+KCcvYXBpL2FjY291bnQvaW5ib3h2aWV3Jywge30sIHsgaGVhZGVyczogeyAnbm8tcHJvZ3Jlc3MnOiAndHJ1ZScgfSB9KS5waXBlKFxyXG4gICAgICB0YXAoZSA9PiB7XHJcbiAgICAgICAgdGhpcy5wcm9maWxlLmluYm94Q291bnQgPSAwO1xyXG4gICAgICAgIHRoaXMucHJvZmlsZS5vcHRpb25zLmluYm94VmlldyA9IGUudGltZTtcclxuICAgICAgfSkpLnRvUHJvbWlzZSgpO1xyXG4gIH1cclxuICBwdWJsaWMgbm90aWZpY2F0aW9uc1RvdWNoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucHV0PFdhdGVybWFya0luZm8+KCcvYXBpL2FjY291bnQvbm90aWZpY2F0aW9uc1ZpZXcnLCB7fSwgeyBoZWFkZXJzOiB7ICduby1wcm9ncmVzcyc6ICd0cnVlJyB9IH0pLnBpcGUodGFwKGUgPT4ge1xyXG4gICAgICB0aGlzLnByb2ZpbGUubm90aWZpY2F0aW9uc0NvdW50ID0gMDtcclxuICAgICAgdGhpcy5wcm9maWxlLm9wdGlvbnMubm90aWZpY2F0aW9uc1ZpZXcgPSBlLnRpbWU7XHJcbiAgICB9KSkudG9Qcm9taXNlKCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2dldEJyb3dzZXJMYW5nKCk6IHN0cmluZyB7XHJcbiAgICBsZXQgbGFuZyA9IG5hdmlnYXRvci5sYW5ndWFnZTtcclxuICAgIGlmICh0aGlzLmxhbmd1YWdlcy5pbmRleE9mKGxhbmcpID4gLTEpXHJcbiAgICAgIHJldHVybiBsYW5nO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuYXZpZ2F0b3IubGFuZ3VhZ2VzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGxhbmcgPSBuYXZpZ2F0b3IubGFuZ3VhZ2VzW2ldO1xyXG4gICAgICBpZiAodGhpcy5sYW5ndWFnZXMuaW5kZXhPZihsYW5nKSA+IC0xKVxyXG4gICAgICAgIHJldHVybiBsYW5nO1xyXG4gICAgICBpZiAobGFuZy5sZW5ndGggPiAyKSB7XHJcbiAgICAgICAgbGFuZyA9IGxhbmcuc3Vic3RyaW5nKDAsIDIpLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgaWYgKHRoaXMubGFuZ3VhZ2VzLmluZGV4T2YobGFuZykgPiAtMSlcclxuICAgICAgICAgIHJldHVybiBsYW5nO1xyXG4gICAgICAgIGxhbmcgPSB0aGlzLmxhbmd1YWdlcy5maW5kKGwgPT4gbC5zdGFydHNXaXRoKGxhbmcpKTtcclxuICAgICAgICBpZiAobGFuZylcclxuICAgICAgICAgIHJldHVybiBsYW5nO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogXHJcbiAgICogQHBhcmFtIHRoZW1lXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBfY2hhbmdlVGhlbWUodGhlbWU6IFRoZW1lKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIGxldCBzdHlsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiaXpkb2MtdGhlbWUnKSBhcyBIVE1MTGlua0VsZW1lbnQ7XHJcbiAgICBpZiAoc3R5bGUpXHJcbiAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoc3R5bGUpO1xyXG5cclxuICAgIGlmICh0aGVtZS5uYW1lID09PSB0aGlzLlRoZW1lc1swXS5uYW1lKSB7XHJcbiAgICAgIHJldHVybiBvZih0aGVtZSk7XHJcbiAgICB9XHJcbiAgICBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcclxuICAgIHN0eWxlLmlkID0gJ2JpemRvYy10aGVtZSc7XHJcbiAgICBzdHlsZS50eXBlID0gJ3RleHQvY3NzJztcclxuICAgIHN0eWxlLnJlbCA9ICdzdHlsZXNoZWV0JztcclxuICAgIHN0eWxlLmhyZWYgPSBgL2Fzc2V0cy90aGVtZXMvJHt0aGVtZS5uYW1lfS5taW4uY3NzYDtcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kKHN0eWxlKTtcclxuXHJcbiAgICByZXR1cm4gZnJvbUV2ZW50KHN0eWxlLCAnbG9hZCcpO1xyXG4gIH1cclxuICBwcml2YXRlIF9sb2FkU3coKSB7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uICgpIHtcclxuICAgICAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIoJy9qcy9hcHAtc3cuanMnKS50aGVuKGZ1bmN0aW9uICgpIHtcclxuICAgICAgfSwgbnVsbCk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZ29vZ2xlTWFwcygpIHtcclxuICAgIGNvbnN0IGFwaUtleSA9ICh0aGlzLl9jb25maWcubWFwcyBhcyBHb29nbGVNYXBzU2V0dGluZ3MpLmFwaUtleTtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIGNvbnN0IHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xyXG4gICAgICBzY3JpcHQuc3JjID0gYGh0dHBzOi8vbWFwcy5nb29nbGVhcGlzLmNvbS9tYXBzL2FwaS9qcz9rZXk9JHthcGlLZXl9JmxpYnJhcmllcz1wbGFjZXMmbGFuZ3VhZ2U9JHt0aGlzLmxhbmd1YWdlfWA7XHJcbiAgICAgIHNjcmlwdC5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgcmVzb2x2ZSwge30pO1xyXG4gICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZChzY3JpcHQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbmludGVyZmFjZSBXYXRlcm1hcmtJbmZvIHtcclxuICB0aW1lOiBEYXRlO1xyXG59XHJcbiJdfQ==
@@ -90,6 +90,9 @@ export class PaneRef {
90
90
  ;
91
91
  get parent() { return this._options.parent; }
92
92
  ;
93
+ get stretch() { return this._options.stretch; }
94
+ ;
95
+ set stretch(val) { this._options.stretch = val; }
93
96
  get dialog() { return this._options.dialog; }
94
97
  ;
95
98
  get dismissable() { return this._options.dismissable; }
@@ -122,4 +125,4 @@ export class PaneRef {
122
125
  this._mode$.complete();
123
126
  }
124
127
  }
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZS1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvc2xvdHMvcGFuZS1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFrQixjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJaEQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLEdBQUcsRUFBRSxTQUFTLEdBQUcsR0FBRyxFQUFFLFFBQVEsR0FBRyxHQUFHLEVBQUUsU0FBUyxHQUFHLEdBQUcsQ0FBQztBQUVoRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQWMsT0FBTyxDQUFDLENBQUM7QUFFbkUsTUFBTSxPQUFnQixjQUFjO0NBQUk7QUFDeEMsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGNBQWM7Q0FDckQ7QUFDRCxNQUFNLE9BQU8sY0FBZSxTQUFRLGNBQWM7Q0FDakQ7QUFDRCxNQUFNLE9BQWdCLGtCQUFtQixTQUFRLGNBQWM7SUFDN0QsWUFBb0IsS0FBbUI7UUFDckMsS0FBSyxFQUFFLENBQUM7UUFEVSxVQUFLLEdBQUwsS0FBSyxDQUFjO0lBRXZDLENBQUM7SUFDRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztDQUNGO0FBQ0QsTUFBTSxPQUFPLGVBQWdCLFNBQVEsa0JBQWtCO0NBQ3REO0FBQ0QsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGtCQUFrQjtDQUN6RDtBQUNELE1BQU0sT0FBTyxhQUFjLFNBQVEsa0JBQWtCO0NBQ3BEO0FBQ0QsTUFBTSxPQUFPLGVBQWdCLFNBQVEsa0JBQWtCO0lBQ3JELFlBQTRCLE1BQWdCLEVBQUUsSUFBa0I7UUFDOUQsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRGMsV0FBTSxHQUFOLE1BQU0sQ0FBVTtJQUU1QyxDQUFDO0NBQ0Y7QUFDRCxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsa0JBQWtCO0lBQzFELFlBQTRCLFdBQXFCLEVBQUUsSUFBa0I7UUFDbkUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRGMsZ0JBQVcsR0FBWCxXQUFXLENBQVU7SUFFakQsQ0FBQztDQUNGO0FBWUQsTUFBTSxPQUFPLE9BQU87SUFpRGxCLFlBQW1CLFNBQW9CLEVBQ3JDLElBQW9CLEVBQ1osUUFrQlA7UUFwQmdCLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFFN0IsYUFBUSxHQUFSLFFBQVEsQ0FrQmY7UUFwRU0sV0FBTSxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFDeEMsTUFBTTtRQUNHLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBVyxFQUFFLENBQUMsQ0FBQztRQUMzQyxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQVcsRUFBRSxDQUFDLENBQUM7UUFDN0Msa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBVyxFQUFFLENBQUMsQ0FBQztRQUNsRCxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQWEsRUFBUyxDQUFDLENBQUM7UUFnQi9ELGVBQVUsR0FBRyxJQUFJLENBQUM7UUFnRGhCLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsR0FBRyxRQUFRLENBQUM7UUFDdEksSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztRQUNoQyxJQUFJLFVBQVUsS0FBSyxLQUFLO1lBQUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkIsTUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JDLFdBQVcsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBOURELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUNELElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxJQUFXLGdCQUFnQjtRQUN6QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUNELElBQUksUUFBUSxLQUFLLE9BQU8sSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBQ2xHLElBQUksUUFBUSxLQUFRLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDNUMsSUFBSSxJQUFJLEtBQVUsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDN0MsSUFBSSxVQUFVLEtBQUssT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN2RCxJQUFJLE1BQU0sS0FBZSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN0RCxJQUFJLE1BQU0sS0FBSyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3JELElBQUksWUFBWSxLQUFLLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDM0QsSUFBSSxXQUFXLEtBQUssT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUMvQyxJQUFJLFdBQVcsS0FBSyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN0RCxJQUFJLGlCQUFpQixLQUFLLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDckUsSUFBSSxJQUFJLEtBQUssT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDbEMsSUFBSSxVQUFVLEtBQUssT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDeEQsSUFBSSxJQUFJLEtBQUssT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQ3pDLElBQUksTUFBTSxLQUFLLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUM5QyxJQUFJLE1BQU0sS0FBSyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDOUMsSUFBSSxXQUFXLEtBQUssT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQ3hELElBQUksS0FBSyxLQUFLLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQXNDNUMsV0FBVyxDQUFDLElBQWtCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUEsQ0FBQyxJQUFJO1FBQ2hDLGdFQUFnRTtJQUNsRSxDQUFDO0lBQ0QsT0FBTztRQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFDRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUNELEtBQUs7UUFDSCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ0QsTUFBTTtRQUNKLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xyXG5pbXBvcnQgeyBUeXBlLCBJbmplY3RvciwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBQYXJhbU1hcCwgUGFuZVJvdXRlLCBPcGVuUG9saWN5IH0gZnJvbSBcIi4uL2NvbmZpZ3VyYXRpb25cIjtcclxuaW1wb3J0IHsgRGltZW50aW9ucyB9IGZyb20gXCIuLi9tb2RlbHNcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBRVUVSWV9DSEFSID0gJzonLCBQQVRIX0NIQVIgPSAnOycsIEFSR19DSEFSID0gJyYnLCBQQU5FX0NIQVIgPSAnfic7XHJcblxyXG5leHBvcnQgY29uc3QgUEFORVNfREFUQSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxQYW5lUm91dGVbXT4oJ3BhbmVzJyk7XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTmF2aWdhdGlvbkJhc2UgeyB9XHJcbmV4cG9ydCBjbGFzcyBDb2xsYXBzZU5hdmlnYXRpb24gZXh0ZW5kcyBOYXZpZ2F0aW9uQmFzZSB7XHJcbn1cclxuZXhwb3J0IGNsYXNzIEJhY2tOYXZpZ2F0aW9uIGV4dGVuZHMgTmF2aWdhdGlvbkJhc2Uge1xyXG59XHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOYXZpZ2F0aW9uUGFuZUJhc2UgZXh0ZW5kcyBOYXZpZ2F0aW9uQmFzZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfcGFuZTogUGFuZVJlZjxhbnk+KSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0IHBhbmUoKTogUGFuZVJlZjxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9wYW5lO1xyXG4gIH1cclxufVxyXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvblN0YXJ0IGV4dGVuZHMgTmF2aWdhdGlvblBhbmVCYXNlIHtcclxufVxyXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvblNlbGVjdGVkIGV4dGVuZHMgTmF2aWdhdGlvblBhbmVCYXNlIHtcclxufVxyXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvbkVuZCBleHRlbmRzIE5hdmlnYXRpb25QYW5lQmFzZSB7XHJcbn1cclxuZXhwb3J0IGNsYXNzIFBhcmFtTmF2aWdhdGlvbiBleHRlbmRzIE5hdmlnYXRpb25QYW5lQmFzZSB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHBhcmFtczogUGFyYW1NYXAsIHNsb3Q6IFBhbmVSZWY8YW55Pikge1xyXG4gICAgc3VwZXIoc2xvdCk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBjbGFzcyBRdWVyeVBhcmFtTmF2aWdhdGlvbiBleHRlbmRzIE5hdmlnYXRpb25QYW5lQmFzZSB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHF1ZXJ5UGFyYW1zOiBQYXJhbU1hcCwgc2xvdDogUGFuZVJlZjxhbnk+KSB7XHJcbiAgICBzdXBlcihzbG90KTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGFuZU9wdGlvbnMge1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIGdyb3VwPzogc3RyaW5nO1xyXG4gIGhlbHA/OiBzdHJpbmc7XHJcbiAgc3RhdGU/OiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfTtcclxuICBvcGVuUG9saWN5PzogT3BlblBvbGljeTtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUGFuZUFjdGlvbiA9ICdleHBhbmQnIHwgJ2ZvY3VzJyB8ICdjbG9zZSc7XHJcblxyXG5leHBvcnQgY2xhc3MgUGFuZVJlZjxUID0gYW55PiB7XHJcbiAgcmVhZG9ubHkgX2NvbW0kID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gIC8qKiAqL1xyXG4gIHJlYWRvbmx5IF9kYXRhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UGFyYW1NYXA+KHt9KTtcclxuICByZWFkb25seSBfcGFyYW1zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UGFyYW1NYXA+KHt9KTtcclxuICByZWFkb25seSBfcXVlcnlQYXJhbXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXJhbU1hcD4oe30pO1xyXG4gIHJlYWRvbmx5IF9yZXNpemUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEaW1lbnRpb25zPih7fSBhcyBhbnkpO1xyXG4gIF9mdWxsc2NyZWVuJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xyXG4gIF9tb2RlJDogQmVoYXZpb3JTdWJqZWN0PCd0YWInIHwgJ3BhbmUnPjtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgZ3VpZGU/OiBzdHJpbmc7XHJcbiAgX2luc3RhbmNlOiBUO1xyXG4gIF9wYXRoOiBzdHJpbmc7XHJcbiAgX3F1ZXJ5U3RyaW5nOiBzdHJpbmc7XHJcbiAgX2luamVjdG9yOiBJbmplY3RvcjtcclxuICBfcG9ydGFsOiBDb21wb25lbnRQb3J0YWw8VD47XHJcbiAgcGlubmVkOiBib29sZWFuO1xyXG4gIGJhZGdlPzogbnVtYmVyO1xyXG4gIGFuaW1hdGlvbjogc3RyaW5nO1xyXG4gIGdyb3VwOiBzdHJpbmc7XHJcbiAgaGVscDogc3RyaW5nO1xyXG4gIGV4cGFuZGFibGUgPSB0cnVlO1xyXG4gIHB1YmxpYyBnZXQgaW5qZWN0b3IoKTogSW5qZWN0b3Ige1xyXG4gICAgcmV0dXJuIHRoaXMuX2luamVjdG9yO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0IGZ1bGxzY3JlZW4oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZnVsbHNjcmVlbiQudmFsdWU7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXQgZnVsbHNjcmVlbkNoYW5nZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9mdWxsc2NyZWVuJC5hc09ic2VydmFibGUoKTtcclxuICB9XHJcbiAgZ2V0IGZ1bGxQYXRoKCkgeyByZXR1cm4gdGhpcy5fcGF0aCArICh0aGlzLl9xdWVyeVN0cmluZyA/IChRVUVSWV9DSEFSICsgdGhpcy5fcXVlcnlTdHJpbmcpIDogJycpIH1cclxuICBnZXQgaW5zdGFuY2UoKTogVCB7IHJldHVybiB0aGlzLl9pbnN0YW5jZTsgfVxyXG4gIGdldCBkYXRhKCk6IGFueSB7IHJldHVybiB0aGlzLl9kYXRhJC52YWx1ZTsgfVxyXG4gIGdldCBkYXRhQ2hhbmdlKCkgeyByZXR1cm4gdGhpcy5fZGF0YSQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICBnZXQgcGFyYW1zKCk6IFBhcmFtTWFwIHsgcmV0dXJuIHRoaXMuX3BhcmFtcyQudmFsdWU7IH1cclxuICBnZXQgcmVzaXplKCkgeyByZXR1cm4gdGhpcy5fcmVzaXplJC5hc09ic2VydmFibGUoKTsgfVxyXG4gIGdldCBwYXJhbXNDaGFuZ2UoKSB7IHJldHVybiB0aGlzLl9wYXJhbXMkLmFzT2JzZXJ2YWJsZSgpOyB9XHJcbiAgZ2V0IHF1ZXJ5U3RyaW5nKCkgeyByZXR1cm4gdGhpcy5fcXVlcnlTdHJpbmc7IH1cclxuICBnZXQgcXVlcnlQYXJhbXMoKSB7IHJldHVybiB0aGlzLl9xdWVyeVBhcmFtcyQudmFsdWU7IH1cclxuICBnZXQgcXVlcnlQYXJhbXNDaGFuZ2UoKSB7IHJldHVybiB0aGlzLl9xdWVyeVBhcmFtcyQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICBnZXQgcGF0aCgpIHsgcmV0dXJuIHRoaXMuX3BhdGg7IH07XHJcbiAgZ2V0IG1vZGVDaGFuZ2UoKSB7IHJldHVybiB0aGlzLl9tb2RlJC5hc09ic2VydmFibGUoKTsgfTtcclxuICBnZXQgbW9kZSgpIHsgcmV0dXJuIHRoaXMuX21vZGUkLnZhbHVlOyB9O1xyXG4gIGdldCBwYXJlbnQoKSB7IHJldHVybiB0aGlzLl9vcHRpb25zLnBhcmVudDsgfTtcclxuICBnZXQgZGlhbG9nKCkgeyByZXR1cm4gdGhpcy5fb3B0aW9ucy5kaWFsb2c7IH07XHJcbiAgZ2V0IGRpc21pc3NhYmxlKCkgeyByZXR1cm4gdGhpcy5fb3B0aW9ucy5kaXNtaXNzYWJsZTsgfTtcclxuICBnZXQgcm91dGUoKSB7IHJldHVybiB0aGlzLl9vcHRpb25zLnJvdXRlOyB9O1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjb21wb25lbnQ6IFR5cGU8YW55PixcclxuICAgIG1vZGU6ICd0YWInIHwgJ3BhbmUnLFxyXG4gICAgcHJpdmF0ZSBfb3B0aW9uczoge1xyXG4gICAgICBwYXRoPzogc3RyaW5nO1xyXG4gICAgICByb3V0ZT86IFBhbmVSb3V0ZTtcclxuICAgICAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgICAgIGdyb3VwPzogc3RyaW5nO1xyXG4gICAgICBndWlkZT86IHN0cmluZztcclxuICAgICAgaWNvbj86IHN0cmluZztcclxuICAgICAgYW5pbWF0aW9uPzogc3RyaW5nO1xyXG4gICAgICBoZWxwPzogc3RyaW5nO1xyXG4gICAgICBmdWxsc2NyZWVuPzogYm9vbGVhbjtcclxuICAgICAgZGlhbG9nPzogYm9vbGVhbjtcclxuICAgICAgcGFyZW50PzogUGFuZVJlZjxhbnk+O1xyXG4gICAgICBxdWVyeVN0cmluZz86IHN0cmluZztcclxuICAgICAgZGF0YT86IFBhcmFtTWFwO1xyXG4gICAgICBwYXJhbXM/OiBQYXJhbU1hcDtcclxuICAgICAgcXVlcnlQYXJhbXM/OiBQYXJhbU1hcDtcclxuICAgICAgZXhwYW5kYWJsZT86IGJvb2xlYW4sXHJcbiAgICAgIGRpc21pc3NhYmxlPzogYm9vbGVhblxyXG4gICAgfSkge1xyXG4gICAgY29uc3QgeyBkYXRhLCBwYXJhbXMsIHF1ZXJ5UGFyYW1zLCBwYXRoLCBxdWVyeVN0cmluZywgdGl0bGUsIGdyb3VwLCBpY29uLCBoZWxwLCBndWlkZSwgYW5pbWF0aW9uLCBmdWxsc2NyZWVuLCBleHBhbmRhYmxlIH0gPSBfb3B0aW9ucztcclxuICAgIHRoaXMuX21vZGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdChtb2RlKTtcclxuICAgIHRoaXMuX2Z1bGxzY3JlZW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdChmdWxsc2NyZWVuKTtcclxuICAgIHRoaXMuX3BhdGggPSBwYXRoIHx8ICcnO1xyXG4gICAgdGhpcy50aXRsZSA9IHRpdGxlO1xyXG4gICAgdGhpcy5ncm91cCA9IGdyb3VwO1xyXG4gICAgdGhpcy5ndWlkZSA9IGd1aWRlO1xyXG4gICAgdGhpcy5oZWxwID0gaGVscDtcclxuICAgIHRoaXMuaWNvbiA9IGljb247XHJcbiAgICB0aGlzLmFuaW1hdGlvbiA9IGFuaW1hdGlvbjtcclxuICAgIHRoaXMuX3F1ZXJ5U3RyaW5nID0gcXVlcnlTdHJpbmc7XHJcbiAgICBpZiAoZXhwYW5kYWJsZSA9PT0gZmFsc2UpIHRoaXMuZXhwYW5kYWJsZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5fZGF0YSQubmV4dChkYXRhKTtcclxuICAgIHBhcmFtcyAmJiB0aGlzLl9wYXJhbXMkLm5leHQocGFyYW1zKTtcclxuICAgIHF1ZXJ5UGFyYW1zICYmIHRoaXMuX3F1ZXJ5UGFyYW1zJC5uZXh0KHF1ZXJ5UGFyYW1zKTtcclxuICB9XHJcbiAgZGVjZW5kZW50T2YocGFuZTogUGFuZVJlZjxhbnk+KSB7XHJcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQgPT09IHBhbmUgLy98fFxyXG4gICAgLy8gICh0aGlzLnBhdGggJiYgcGFuZS5wYXRoICYmIHRoaXMucGF0aC5zdGFydHNXaXRoKHBhbmUucGF0aCkpO1xyXG4gIH1cclxuICByZWZyZXNoKCkge1xyXG4gICAgdGhpcy5fY29tbSQubmV4dCgncmVmcmVzaCcpO1xyXG4gIH1cclxuICBmb2N1cygpIHtcclxuICAgIHRoaXMuX2NvbW0kLm5leHQoJ2ZvY3VzJyk7XHJcbiAgfVxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5fY29tbSQubmV4dCgnY2xvc2UnKTtcclxuICB9XHJcbiAgZXhwYW5kKCkge1xyXG4gICAgdGhpcy5fY29tbSQubmV4dCgnZXhwYW5kJyk7XHJcbiAgfVxyXG4gIF9kZXN0cm95KCkge1xyXG4gICAgdGhpcy5fY29tbSQuY29tcGxldGUoKTtcclxuICAgIHRoaXMuX2RhdGEkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLl9wYXJhbXMkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLl9yZXNpemUkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLl9xdWVyeVBhcmFtcyQuY29tcGxldGUoKTtcclxuICAgIHRoaXMuX2Z1bGxzY3JlZW4kLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLl9tb2RlJC5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZS1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvc2xvdHMvcGFuZS1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFrQixjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJaEQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLEdBQUcsRUFBRSxTQUFTLEdBQUcsR0FBRyxFQUFFLFFBQVEsR0FBRyxHQUFHLEVBQUUsU0FBUyxHQUFHLEdBQUcsQ0FBQztBQUVoRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQWMsT0FBTyxDQUFDLENBQUM7QUFFbkUsTUFBTSxPQUFnQixjQUFjO0NBQUk7QUFDeEMsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGNBQWM7Q0FDckQ7QUFDRCxNQUFNLE9BQU8sY0FBZSxTQUFRLGNBQWM7Q0FDakQ7QUFDRCxNQUFNLE9BQWdCLGtCQUFtQixTQUFRLGNBQWM7SUFDN0QsWUFBb0IsS0FBbUI7UUFDckMsS0FBSyxFQUFFLENBQUM7UUFEVSxVQUFLLEdBQUwsS0FBSyxDQUFjO0lBRXZDLENBQUM7SUFDRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztDQUNGO0FBQ0QsTUFBTSxPQUFPLGVBQWdCLFNBQVEsa0JBQWtCO0NBQ3REO0FBQ0QsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGtCQUFrQjtDQUN6RDtBQUNELE1BQU0sT0FBTyxhQUFjLFNBQVEsa0JBQWtCO0NBQ3BEO0FBQ0QsTUFBTSxPQUFPLGVBQWdCLFNBQVEsa0JBQWtCO0lBQ3JELFlBQTRCLE1BQWdCLEVBQUUsSUFBa0I7UUFDOUQsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRGMsV0FBTSxHQUFO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QUFZLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xyXG5pbXBvcnQgeyBUeXBlLCBJbmplY3RvciwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBQYXJhbU1hcCwgUGFuZVJvdXRlLCBPcGVuUG9saWN5IH0gZnJvbSBcIi4uL2NvbmZpZ3VyYXRpb25cIjtcclxuaW1wb3J0IHsgRGltZW50aW9ucyB9IGZyb20gXCIuLi9tb2RlbHNcIjtcclxuXHJcbmV4cG9ydCBjb25zdCBRVUVSWV9DSEFSID0gJzonLCBQQVRIX0NIQVIgPSAnOycsIEFSR19DSEFSID0gJyYnLCBQQU5FX0NIQVIgPSAnfic7XHJcblxyXG5leHBvcnQgY29uc3QgUEFORVNfREFUQSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxQYW5lUm91dGVbXT4oJ3BhbmVzJyk7XHJcblxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTmF2aWdhdGlvbkJhc2UgeyB9XHJcbmV4cG9ydCBjbGFzcyBDb2xsYXBzZU5hdmlnYXRpb24gZXh0ZW5kcyBOYXZpZ2F0aW9uQmFzZSB7XHJcbn1cclxuZXhwb3J0IGNsYXNzIEJhY2tOYXZpZ2F0aW9uIGV4dGVuZHMgTmF2aWdhdGlvbkJhc2Uge1xyXG59XHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOYXZpZ2F0aW9uUGFuZUJhc2UgZXh0ZW5kcyBOYXZpZ2F0aW9uQmFzZSB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfcGFuZTogUGFuZVJlZjxhbnk+KSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0IHBhbmUoKTogUGFuZVJlZjxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9wYW5lO1xyXG4gIH1cclxufVxyXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvblN0YXJ0IGV4dGVuZHMgTmF2aWdhdGlvblBhbmVCYXNlIHtcclxufVxyXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvblNlbGVjdGVkIGV4dGVuZHMgTmF2aWdhdGlvblBhbmVCYXNlIHtcclxufVxyXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvbkVuZCBleHRlbmRzIE5hdmlnYXRpb25QYW5lQmFzZSB7XHJcbn1cclxuZXhwb3J0IGNsYXNzIFBhcmFtTmF2aWdhdGlvbiBleHRlbmRzIE5hdmlnYXRpb25QYW5lQmFzZSB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHBhcmFtczogUGFyYW1NYXAsIHNsb3Q6IFBhbmVSZWY8YW55Pikge1xyXG4gICAgc3VwZXIoc2xvdCk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBjbGFzcyBRdWVyeVBhcmFtTmF2aWdhdGlvbiBleHRlbmRzIE5hdmlnYXRpb25QYW5lQmFzZSB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHF1ZXJ5UGFyYW1zOiBQYXJhbU1hcCwgc2xvdDogUGFuZVJlZjxhbnk+KSB7XHJcbiAgICBzdXBlcihzbG90KTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGFuZU9wdGlvbnMge1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIGdyb3VwPzogc3RyaW5nO1xyXG4gIGhlbHA/OiBzdHJpbmc7XHJcbiAgc3RhdGU/OiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfTtcclxuICBvcGVuUG9saWN5PzogT3BlblBvbGljeTtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUGFuZUFjdGlvbiA9ICdleHBhbmQnIHwgJ2ZvY3VzJyB8ICdjbG9zZScgfCAncmVmcmVzaCc7XHJcblxyXG5leHBvcnQgY2xhc3MgUGFuZVJlZjxUID0gYW55PiB7XHJcbiAgcmVhZG9ubHkgX2NvbW0kID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gIC8qKiAqL1xyXG4gIHJlYWRvbmx5IF9kYXRhJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UGFyYW1NYXA+KHt9KTtcclxuICByZWFkb25seSBfcGFyYW1zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8UGFyYW1NYXA+KHt9KTtcclxuICByZWFkb25seSBfcXVlcnlQYXJhbXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXJhbU1hcD4oe30pO1xyXG4gIHJlYWRvbmx5IF9yZXNpemUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEaW1lbnRpb25zPih7fSBhcyBhbnkpO1xyXG4gIF9mdWxsc2NyZWVuJDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+O1xyXG4gIF9tb2RlJDogQmVoYXZpb3JTdWJqZWN0PCd0YWInIHwgJ3BhbmUnPjtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgZ3VpZGU/OiBzdHJpbmc7XHJcbiAgcGlubmVkOiBib29sZWFuO1xyXG4gIGJhZGdlPzogbnVtYmVyO1xyXG4gIGFuaW1hdGlvbjogc3RyaW5nO1xyXG4gIGdyb3VwOiBzdHJpbmc7XHJcbiAgaGVscDogc3RyaW5nO1xyXG4gIGV4cGFuZGFibGUgPSB0cnVlO1xyXG4gIF9pbnN0YW5jZTogVDtcclxuICBfcGF0aDogc3RyaW5nO1xyXG4gIF9xdWVyeVN0cmluZzogc3RyaW5nO1xyXG4gIF9pbmplY3RvcjogSW5qZWN0b3I7XHJcbiAgX3BvcnRhbDogQ29tcG9uZW50UG9ydGFsPFQ+O1xyXG4gIHB1YmxpYyBnZXQgaW5qZWN0b3IoKTogSW5qZWN0b3Ige1xyXG4gICAgcmV0dXJuIHRoaXMuX2luamVjdG9yO1xyXG4gIH1cclxuICBwdWJsaWMgZ2V0IGZ1bGxzY3JlZW4oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZnVsbHNjcmVlbiQudmFsdWU7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXQgZnVsbHNjcmVlbkNoYW5nZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9mdWxsc2NyZWVuJC5hc09ic2VydmFibGUoKTtcclxuICB9XHJcbiAgZ2V0IGZ1bGxQYXRoKCkgeyByZXR1cm4gdGhpcy5fcGF0aCArICh0aGlzLl9xdWVyeVN0cmluZyA/IChRVUVSWV9DSEFSICsgdGhpcy5fcXVlcnlTdHJpbmcpIDogJycpIH1cclxuICBnZXQgaW5zdGFuY2UoKTogVCB7IHJldHVybiB0aGlzLl9pbnN0YW5jZTsgfVxyXG4gIGdldCBkYXRhKCk6IGFueSB7IHJldHVybiB0aGlzLl9kYXRhJC52YWx1ZTsgfVxyXG4gIGdldCBkYXRhQ2hhbmdlKCkgeyByZXR1cm4gdGhpcy5fZGF0YSQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICBnZXQgcGFyYW1zKCk6IFBhcmFtTWFwIHsgcmV0dXJuIHRoaXMuX3BhcmFtcyQudmFsdWU7IH1cclxuICBnZXQgcmVzaXplKCkgeyByZXR1cm4gdGhpcy5fcmVzaXplJC5hc09ic2VydmFibGUoKTsgfVxyXG4gIGdldCBwYXJhbXNDaGFuZ2UoKSB7IHJldHVybiB0aGlzLl9wYXJhbXMkLmFzT2JzZXJ2YWJsZSgpOyB9XHJcbiAgZ2V0IHF1ZXJ5U3RyaW5nKCkgeyByZXR1cm4gdGhpcy5fcXVlcnlTdHJpbmc7IH1cclxuICBnZXQgcXVlcnlQYXJhbXMoKSB7IHJldHVybiB0aGlzLl9xdWVyeVBhcmFtcyQudmFsdWU7IH1cclxuICBnZXQgcXVlcnlQYXJhbXNDaGFuZ2UoKSB7IHJldHVybiB0aGlzLl9xdWVyeVBhcmFtcyQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICBnZXQgcGF0aCgpIHsgcmV0dXJuIHRoaXMuX3BhdGg7IH07XHJcbiAgZ2V0IG1vZGVDaGFuZ2UoKSB7IHJldHVybiB0aGlzLl9tb2RlJC5hc09ic2VydmFibGUoKTsgfTtcclxuICBnZXQgbW9kZSgpIHsgcmV0dXJuIHRoaXMuX21vZGUkLnZhbHVlOyB9O1xyXG4gIGdldCBwYXJlbnQoKSB7IHJldHVybiB0aGlzLl9vcHRpb25zLnBhcmVudDsgfTtcclxuICBnZXQgc3RyZXRjaCgpIHsgcmV0dXJuIHRoaXMuX29wdGlvbnMuc3RyZXRjaDsgfTtcclxuICBzZXQgc3RyZXRjaCh2YWw6IGJvb2xlYW4pIHsgdGhpcy5fb3B0aW9ucy5zdHJldGNoID0gdmFsOyB9XHJcbiAgZ2V0IGRpYWxvZygpIHsgcmV0dXJuIHRoaXMuX29wdGlvbnMuZGlhbG9nOyB9O1xyXG4gIGdldCBkaXNtaXNzYWJsZSgpIHsgcmV0dXJuIHRoaXMuX29wdGlvbnMuZGlzbWlzc2FibGU7IH07XHJcbiAgZ2V0IHJvdXRlKCkgeyByZXR1cm4gdGhpcy5fb3B0aW9ucy5yb3V0ZTsgfTtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29tcG9uZW50OiBUeXBlPGFueT4sXHJcbiAgICBtb2RlOiAndGFiJyB8ICdwYW5lJyxcclxuICAgIHByaXZhdGUgX29wdGlvbnM6IHtcclxuICAgICAgcGF0aD86IHN0cmluZztcclxuICAgICAgcm91dGU/OiBQYW5lUm91dGU7XHJcbiAgICAgIHRpdGxlPzogc3RyaW5nO1xyXG4gICAgICBncm91cD86IHN0cmluZztcclxuICAgICAgZ3VpZGU/OiBzdHJpbmc7XHJcbiAgICAgIGljb24/OiBzdHJpbmc7XHJcbiAgICAgIGFuaW1hdGlvbj86IHN0cmluZztcclxuICAgICAgaGVscD86IHN0cmluZztcclxuICAgICAgZnVsbHNjcmVlbj86IGJvb2xlYW47XHJcbiAgICAgIGRpYWxvZz86IGJvb2xlYW47XHJcbiAgICAgIHN0cmV0Y2g/OiBib29sZWFuO1xyXG4gICAgICBwYXJlbnQ/OiBQYW5lUmVmPGFueT47XHJcbiAgICAgIHF1ZXJ5U3RyaW5nPzogc3RyaW5nO1xyXG4gICAgICBkYXRhPzogUGFyYW1NYXA7XHJcbiAgICAgIHBhcmFtcz86IFBhcmFtTWFwO1xyXG4gICAgICBxdWVyeVBhcmFtcz86IFBhcmFtTWFwO1xyXG4gICAgICBleHBhbmRhYmxlPzogYm9vbGVhbixcclxuICAgICAgZGlzbWlzc2FibGU/OiBib29sZWFuXHJcbiAgICB9KSB7XHJcbiAgICBjb25zdCB7IGRhdGEsIHBhcmFtcywgcXVlcnlQYXJhbXMsIHBhdGgsIHF1ZXJ5U3RyaW5nLCB0aXRsZSwgZ3JvdXAsIGljb24sIGhlbHAsIGd1aWRlLCBhbmltYXRpb24sIGZ1bGxzY3JlZW4sIGV4cGFuZGFibGUgfSA9IF9vcHRpb25zO1xyXG4gICAgdGhpcy5fbW9kZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG1vZGUpO1xyXG4gICAgdGhpcy5fZnVsbHNjcmVlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZ1bGxzY3JlZW4pO1xyXG4gICAgdGhpcy5fcGF0aCA9IHBhdGggfHwgJyc7XHJcbiAgICB0aGlzLnRpdGxlID0gdGl0bGU7XHJcbiAgICB0aGlzLmdyb3VwID0gZ3JvdXA7XHJcbiAgICB0aGlzLmd1aWRlID0gZ3VpZGU7XHJcbiAgICB0aGlzLmhlbHAgPSBoZWxwO1xyXG4gICAgdGhpcy5pY29uID0gaWNvbjtcclxuICAgIHRoaXMuYW5pbWF0aW9uID0gYW5pbWF0aW9uO1xyXG4gICAgdGhpcy5fcXVlcnlTdHJpbmcgPSBxdWVyeVN0cmluZztcclxuICAgIGlmIChleHBhbmRhYmxlID09PSBmYWxzZSkgdGhpcy5leHBhbmRhYmxlID0gZmFsc2U7XHJcbiAgICB0aGlzLl9kYXRhJC5uZXh0KGRhdGEpO1xyXG4gICAgcGFyYW1zICYmIHRoaXMuX3BhcmFtcyQubmV4dChwYXJhbXMpO1xyXG4gICAgcXVlcnlQYXJhbXMgJiYgdGhpcy5fcXVlcnlQYXJhbXMkLm5leHQocXVlcnlQYXJhbXMpO1xyXG4gIH1cclxuICBkZWNlbmRlbnRPZihwYW5lOiBQYW5lUmVmPGFueT4pIHtcclxuICAgIHJldHVybiB0aGlzLnBhcmVudCA9PT0gcGFuZSAvL3x8XHJcbiAgICAvLyAgKHRoaXMucGF0aCAmJiBwYW5lLnBhdGggJiYgdGhpcy5wYXRoLnN0YXJ0c1dpdGgocGFuZS5wYXRoKSk7XHJcbiAgfVxyXG4gIHJlZnJlc2goKSB7XHJcbiAgICB0aGlzLl9jb21tJC5uZXh0KCdyZWZyZXNoJyk7XHJcbiAgfVxyXG4gIGZvY3VzKCkge1xyXG4gICAgdGhpcy5fY29tbSQubmV4dCgnZm9jdXMnKTtcclxuICB9XHJcbiAgY2xvc2UoKSB7XHJcbiAgICB0aGlzLl9jb21tJC5uZXh0KCdjbG9zZScpO1xyXG4gIH1cclxuICBleHBhbmQoKSB7XHJcbiAgICB0aGlzLl9jb21tJC5uZXh0KCdleHBhbmQnKTtcclxuICB9XHJcbiAgX2Rlc3Ryb3koKSB7XHJcbiAgICB0aGlzLl9jb21tJC5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5fZGF0YSQuY29tcGxldGUoKTtcclxuICAgIHRoaXMuX3BhcmFtcyQuY29tcGxldGUoKTtcclxuICAgIHRoaXMuX3Jlc2l6ZSQuY29tcGxldGUoKTtcclxuICAgIHRoaXMuX3F1ZXJ5UGFyYW1zJC5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5fZnVsbHNjcmVlbiQuY29tcGxldGUoKTtcclxuICAgIHRoaXMuX21vZGUkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -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.3.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.3.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.3.0", ngImport: i0, type: SlotRouterDirective, decorators: [{
44
+ SlotRouterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", 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.3.1", 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.3.1", ngImport: i0, type: SlotRouterDirective, decorators: [{
47
47
  type: Directive,
48
48
  args: [{
49
49
  selector: '[slotRouterLink]',
@@ -13,9 +13,6 @@ export class PanesRouter {
13
13
  get active() {
14
14
  return this._active;
15
15
  }
16
- //replace(url: string) {
17
- // history.pushState({}, '', url);
18
- //}
19
16
  navigate(commands, options) {
20
17
  return new Promise((resolve, reject) => {
21
18
  this._events$.pipe(filter(e => e instanceof NavigationStart), first()).subscribe((e) => resolve(e.pane), reject);
@@ -27,10 +24,10 @@ export class PanesRouter {
27
24
  this._comm$.next('collapse');
28
25
  }
29
26
  }
30
- PanesRouter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: PanesRouter, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
31
- PanesRouter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: PanesRouter, providedIn: 'root' });
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.0", ngImport: i0, type: PanesRouter, decorators: [{
27
+ PanesRouter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: PanesRouter, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
28
+ PanesRouter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: PanesRouter, providedIn: 'root' });
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: PanesRouter, decorators: [{
33
30
  type: Injectable,
34
31
  args: [{ providedIn: 'root' }]
35
32
  }], ctorParameters: function () { return []; } });
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvc2xvdHMvcm91dGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUUsZUFBZSxFQUEyQixNQUFNLFlBQVksQ0FBQzs7QUFHdEUsTUFBTSxPQUNFLFdBQVc7SUFZakI7UUFYUyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQWtCLENBQUM7UUFDekMsV0FBTSxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFNL0IsZUFBVSxHQUFHLElBQUksT0FBTyxFQUdULENBQUM7SUFHekIsQ0FBQztJQVZELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBU0Qsd0JBQXdCO0lBQ3hCLG1DQUFtQztJQUNuQyxHQUFHO0lBQ0gsUUFBUSxDQUFDLFFBQW9DLEVBQUUsT0FBMkI7UUFDeEUsT0FBTyxJQUFJLE9BQU8sQ0FBZSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNuRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksZUFBZSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFrQixFQUFFLEVBQUUsQ0FDdEcsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDM0csQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsSUFBSSxNQUFNLEtBQUssT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFBLENBQUMsQ0FBQztJQUNwRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7d0dBNUJLLFdBQVc7NEdBQVgsV0FBVyxjQUZPLE1BQU07MkZBRXhCLFdBQVc7a0JBRmxCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgT3BlblBvbGljeSB9IGZyb20gJy4uL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnLi4vZnVuY3Rpb25zJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBOYXZpZ2F0aW9uQmFzZSwgUGFuZVJlZiB9IGZyb20gJy4vcGFuZS1yZWYnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0XHJcbiAgY2xhc3MgUGFuZXNSb3V0ZXIge1xyXG4gIHJlYWRvbmx5IF9ldmVudHMkID0gbmV3IFN1YmplY3Q8TmF2aWdhdGlvbkJhc2U+KCk7XHJcbiAgcmVhZG9ubHkgX2NvbW0kID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gIF9hY3RpdmU6IFBhbmVSZWY7XHJcbiAgcHVibGljIGdldCBhY3RpdmUoKTogUGFuZVJlZiB7XHJcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlO1xyXG4gIH1cclxuXHJcbiAgcmVhZG9ubHkgX25hdmlnYXRlJCA9IG5ldyBTdWJqZWN0PHtcclxuICAgIGNvbW1hbmRzPzogYW55W10sXHJcbiAgICBjb21wb25lbnQ/OiBDb21wb25lbnRUeXBlPGFueT4sXHJcbiAgfSAmIE5hdmlnYXRpb25PcHRpb25zPigpO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICkge1xyXG4gIH1cclxuICAvL3JlcGxhY2UodXJsOiBzdHJpbmcpIHtcclxuICAvLyAgaGlzdG9yeS5wdXNoU3RhdGUoe30sICcnLCB1cmwpO1xyXG4gIC8vfVxyXG4gIG5hdmlnYXRlKGNvbW1hbmRzOiBhbnlbXSB8IENvbXBvbmVudFR5cGU8YW55Piwgb3B0aW9ucz86IE5hdmlnYXRpb25PcHRpb25zKSB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2U8UGFuZVJlZjxhbnk+PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgIHRoaXMuX2V2ZW50cyQucGlwZShmaWx0ZXIoZSA9PiBlIGluc3RhbmNlb2YgTmF2aWdhdGlvblN0YXJ0KSwgZmlyc3QoKSkuc3Vic2NyaWJlKChlOiBOYXZpZ2F0aW9uU3RhcnQpID0+XHJcbiAgICAgICAgcmVzb2x2ZShlLnBhbmUpLCByZWplY3QpO1xyXG4gICAgICB0aGlzLl9uYXZpZ2F0ZSQubmV4dChpc0FycmF5KGNvbW1hbmRzKSA/IHsgY29tbWFuZHMsIC4uLm9wdGlvbnMgfSA6IHsgY29tcG9uZW50OiBjb21tYW5kcywgLi4ub3B0aW9ucyB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBnZXQgZXZlbnRzKCkgeyByZXR1cm4gdGhpcy5fZXZlbnRzJC5hc09ic2VydmFibGUoKSB9XHJcbiAgY29sbGFwc2UoKSB7XHJcbiAgICB0aGlzLl9jb21tJC5uZXh0KCdjb2xsYXBzZScpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0aW9uT3B0aW9ucyB7XHJcbiAgc3RhdGU/OiBhbnk7XHJcbiAgcXVlcnlQYXJhbXM/OiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfTtcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIHBhdGhNb2RlPzogJ3JlbGF0aXZlJyxcclxuICByZWxhdGl2ZVRvPzogUGFuZVJlZixcclxuICBhbmltYXRpb24/OiBzdHJpbmc7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgaGVscD86IHN0cmluZztcclxuICBncm91cD86IHN0cmluZztcclxuICBwb2xpY3k/OiBPcGVuUG9saWN5O1xyXG4gIGV4cGFuZGFibGU/OiBib29sZWFuO1xyXG59XHJcbiJdfQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvc2xvdHMvcm91dGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUUsZUFBZSxFQUEyQixNQUFNLFlBQVksQ0FBQzs7QUFHdEUsTUFBTSxPQUNFLFdBQVc7SUFZakI7UUFYUyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQWtCLENBQUM7UUFDekMsV0FBTSxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFNL0IsZUFBVSxHQUFHLElBQUksT0FBTyxFQUdULENBQUM7SUFHekIsQ0FBQztJQVZELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBY0QsUUFBUSxDQUFJLFFBQWdELEVBQUUsT0FBMkI7UUFDdkYsT0FBTyxJQUFJLE9BQU8sQ0FBYSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNqRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksZUFBZSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFrQixFQUFFLEVBQUUsQ0FDdEcsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDM0csQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsSUFBSSxNQUFNLEtBQUssT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFBLENBQUMsQ0FBQztJQUNwRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0IsQ0FBQzs7d0dBOUJLLFdBQVc7NEdBQVgsV0FBVyxjQUZPLE1BQU07MkZBRXhCLFdBQVc7a0JBRmxCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgT3BlblBvbGljeSB9IGZyb20gJy4uL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnLi4vZnVuY3Rpb25zJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBOYXZpZ2F0aW9uQmFzZSwgUGFuZVJlZiB9IGZyb20gJy4vcGFuZS1yZWYnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0XHJcbiAgY2xhc3MgUGFuZXNSb3V0ZXIge1xyXG4gIHJlYWRvbmx5IF9ldmVudHMkID0gbmV3IFN1YmplY3Q8TmF2aWdhdGlvbkJhc2U+KCk7XHJcbiAgcmVhZG9ubHkgX2NvbW0kID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gIF9hY3RpdmU6IFBhbmVSZWY7XHJcbiAgcHVibGljIGdldCBhY3RpdmUoKTogUGFuZVJlZiB7XHJcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlO1xyXG4gIH1cclxuXHJcbiAgcmVhZG9ubHkgX25hdmlnYXRlJCA9IG5ldyBTdWJqZWN0PHtcclxuICAgIGNvbW1hbmRzPzogYW55W10sXHJcbiAgICBjb21wb25lbnQ/OiBDb21wb25lbnRUeXBlPGFueT4sXHJcbiAgfSAmIE5hdmlnYXRpb25PcHRpb25zPigpO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICkge1xyXG4gIH1cclxuICAvL3JlcGxhY2UodXJsOiBzdHJpbmcpIHtcclxuICAvLyAgaGlzdG9yeS5wdXNoU3RhdGUoe30sICcnLCB1cmwpO1xyXG4gIC8vfVxyXG4gIG5hdmlnYXRlKGNvbW1hbmRzOiAoc3RyaW5nfG51bWJlcilbXSAsIG9wdGlvbnM/OiBOYXZpZ2F0aW9uT3B0aW9ucykgXHJcbiAgbmF2aWdhdGU8VD4oY29tbWFuZHM6IENvbXBvbmVudFR5cGU8VD4sIG9wdGlvbnM/OiBOYXZpZ2F0aW9uT3B0aW9ucylcclxuICBuYXZpZ2F0ZTxUPihjb21tYW5kczogKHN0cmluZyB8IG51bWJlcilbXSB8IENvbXBvbmVudFR5cGU8VD4sIG9wdGlvbnM/OiBOYXZpZ2F0aW9uT3B0aW9ucyk6IFByb21pc2U8UGFuZVJlZjxUPj4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPFBhbmVSZWY8VD4+KChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgdGhpcy5fZXZlbnRzJC5waXBlKGZpbHRlcihlID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpLCBmaXJzdCgpKS5zdWJzY3JpYmUoKGU6IE5hdmlnYXRpb25TdGFydCkgPT5cclxuICAgICAgICByZXNvbHZlKGUucGFuZSksIHJlamVjdCk7XHJcbiAgICAgIHRoaXMuX25hdmlnYXRlJC5uZXh0KGlzQXJyYXkoY29tbWFuZHMpID8geyBjb21tYW5kcywgLi4ub3B0aW9ucyB9IDogeyBjb21wb25lbnQ6IGNvbW1hbmRzLCAuLi5vcHRpb25zIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGdldCBldmVudHMoKSB7IHJldHVybiB0aGlzLl9ldmVudHMkLmFzT2JzZXJ2YWJsZSgpIH1cclxuICBjb2xsYXBzZSgpIHtcclxuICAgIHRoaXMuX2NvbW0kLm5leHQoJ2NvbGxhcHNlJyk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE5hdmlnYXRpb25PcHRpb25zIHtcclxuICBzdGF0ZT86IGFueTtcclxuICBxdWVyeVBhcmFtcz86IHsgW25hbWU6IHN0cmluZ106IGFueSB9O1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgcGF0aE1vZGU/OiAncmVsYXRpdmUnLFxyXG4gIHJlbGF0aXZlVG8/OiBQYW5lUmVmLFxyXG4gIGFuaW1hdGlvbj86IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZztcclxuICBoZWxwPzogc3RyaW5nO1xyXG4gIGdyb3VwPzogc3RyaW5nO1xyXG4gIHBvbGljeT86IE9wZW5Qb2xpY3k7XHJcbiAgZXhwYW5kYWJsZT86IGJvb2xlYW47XHJcbn1cclxuIl19