@bizdoc/core 3.0.7 → 3.2.3

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 (653) hide show
  1. package/assets/themes/brown.min.css +1 -1
  2. package/assets/themes/dark.min.css +1 -1
  3. package/assets/themes/deep-purple-light-blue.min.css +1 -1
  4. package/assets/themes/deep-purple-teal.min.css +1 -1
  5. package/assets/themes/default.min.css +26 -16
  6. package/assets/themes/green.min.css +1 -1
  7. package/assets/themes/indigo-amber.min.css +1 -1
  8. package/assets/themes/indigo.min.css +1 -1
  9. package/esm2022/bizdoc-core.mjs +1 -1
  10. package/esm2022/lib/admin/admin-dismiss.service.mjs +4 -4
  11. package/esm2022/lib/admin/admin-menu.component.mjs +4 -4
  12. package/esm2022/lib/admin/architecture/cube-axes-filter.component.mjs +10 -10
  13. package/esm2022/lib/admin/architecture/declarations.mjs +3 -2
  14. package/esm2022/lib/admin/architecture/designer-element.component.mjs +25 -22
  15. package/esm2022/lib/admin/architecture/designer-privileges.component.mjs +5 -5
  16. package/esm2022/lib/admin/architecture/designer.base.mjs +11 -14
  17. package/esm2022/lib/admin/architecture/designer.component.mjs +8 -7
  18. package/esm2022/lib/admin/architecture/elements/action.component.mjs +4 -5
  19. package/esm2022/lib/admin/architecture/elements/analysis-view.component.mjs +4 -4
  20. package/esm2022/lib/admin/architecture/elements/analysis-widget.component.mjs +4 -4
  21. package/esm2022/lib/admin/architecture/elements/anomaly-rule.component.mjs +4 -4
  22. package/esm2022/lib/admin/architecture/elements/attribute.component.mjs +4 -5
  23. package/esm2022/lib/admin/architecture/elements/box-form.component.mjs +4 -4
  24. package/esm2022/lib/admin/architecture/elements/configuration-datasource.component.mjs +4 -4
  25. package/esm2022/lib/admin/architecture/elements/control.component.mjs +4 -7
  26. package/esm2022/lib/admin/architecture/elements/cube-index-utility.component.mjs +4 -4
  27. package/esm2022/lib/admin/architecture/elements/cube-view.component.mjs +4 -4
  28. package/esm2022/lib/admin/architecture/elements/cube.component.mjs +14 -15
  29. package/esm2022/lib/admin/architecture/elements/document-state-widget.component.mjs +5 -7
  30. package/esm2022/lib/admin/architecture/elements/documents-report.component.mjs +4 -4
  31. package/esm2022/lib/admin/architecture/elements/documents-widget.component.mjs +4 -4
  32. package/esm2022/lib/admin/architecture/elements/explore-view.component.mjs +4 -4
  33. package/esm2022/lib/admin/architecture/elements/folder.component.mjs +4 -5
  34. package/esm2022/lib/admin/architecture/elements/form-invite.dialog.mjs +8 -10
  35. package/esm2022/lib/admin/architecture/elements/form.component.mjs +12 -13
  36. package/esm2022/lib/admin/architecture/elements/guide.component.mjs +4 -5
  37. package/esm2022/lib/admin/architecture/elements/job.component.mjs +4 -5
  38. package/esm2022/lib/admin/architecture/elements/matrix-view.component.mjs +5 -5
  39. package/esm2022/lib/admin/architecture/elements/node.component.mjs +4 -4
  40. package/esm2022/lib/admin/architecture/elements/parallel-view.component.mjs +4 -4
  41. package/esm2022/lib/admin/architecture/elements/performance-report.component.mjs +4 -4
  42. package/esm2022/lib/admin/architecture/elements/performance-widget.component.mjs +4 -4
  43. package/esm2022/lib/admin/architecture/elements/pivot-view.component.mjs +4 -4
  44. package/esm2022/lib/admin/architecture/elements/policy.component.mjs +4 -4
  45. package/esm2022/lib/admin/architecture/elements/report.component.mjs +4 -5
  46. package/esm2022/lib/admin/architecture/elements/return-to-role-action.component.mjs +4 -4
  47. package/esm2022/lib/admin/architecture/elements/role.component.mjs +4 -5
  48. package/esm2022/lib/admin/architecture/elements/rule.component.mjs +4 -4
  49. package/esm2022/lib/admin/architecture/elements/source.component.mjs +4 -4
  50. package/esm2022/lib/admin/architecture/elements/state.component.mjs +4 -5
  51. package/esm2022/lib/admin/architecture/elements/sum-view.component.mjs +4 -4
  52. package/esm2022/lib/admin/architecture/elements/tasks-report.component.mjs +4 -4
  53. package/esm2022/lib/admin/architecture/elements/type.component.mjs +6 -7
  54. package/esm2022/lib/admin/architecture/elements/usage-report.component.mjs +5 -5
  55. package/esm2022/lib/admin/architecture/elements/utility.component.mjs +4 -4
  56. package/esm2022/lib/admin/architecture/elements/view.component.mjs +4 -4
  57. package/esm2022/lib/admin/architecture/elements/widget.component.mjs +4 -5
  58. package/esm2022/lib/admin/architecture/icon-picker.component.mjs +11 -6
  59. package/esm2022/lib/admin/core/ace.input.mjs +14 -13
  60. package/esm2022/lib/admin/core/color-picker.input.mjs +4 -4
  61. package/esm2022/lib/admin/core/localized-string.component.mjs +7 -6
  62. package/esm2022/lib/admin/core/search.input.mjs +5 -5
  63. package/esm2022/lib/admin/diff/configuration-diff.component.mjs +7 -6
  64. package/esm2022/lib/admin/document-trace/document-trace.component.mjs +18 -12
  65. package/esm2022/lib/admin/document-trace/reassign.dialog.mjs +4 -4
  66. package/esm2022/lib/admin/document-trace/timeline.mjs +1 -1
  67. package/esm2022/lib/admin/document-trace/trace-element.component.mjs +5 -5
  68. package/esm2022/lib/admin/form/designer/box-designer.component.mjs +7 -7
  69. package/esm2022/lib/admin/form/designer/declarations.mjs +1 -1
  70. package/esm2022/lib/admin/form/designer/design-control.component.mjs +4 -4
  71. package/esm2022/lib/admin/form/designer/properties.component.mjs +5 -5
  72. package/esm2022/lib/admin/form/designer/section.component.mjs +4 -4
  73. package/esm2022/lib/admin/form/designer/settings.component.mjs +4 -4
  74. package/esm2022/lib/admin/form/form.resolve.service.mjs +4 -4
  75. package/esm2022/lib/admin/form/workflow/node-ref.mjs +1 -1
  76. package/esm2022/lib/admin/form/workflow/node.component.mjs +34 -34
  77. package/esm2022/lib/admin/form/workflow/role-node.component.mjs +4 -4
  78. package/esm2022/lib/admin/form/workflow/workflow.component.mjs +33 -33
  79. package/esm2022/lib/admin/indices/manage-cube-index.component.mjs +8 -8
  80. package/esm2022/lib/admin/patterns/patterns.component.mjs +4 -4
  81. package/esm2022/lib/admin/permissions/permissions.component.mjs +4 -4
  82. package/esm2022/lib/admin/positions/positions-popup.component.mjs +7 -6
  83. package/esm2022/lib/admin/positions/positions.component.mjs +8 -8
  84. package/esm2022/lib/admin/profiler/outofoffice.component.mjs +5 -5
  85. package/esm2022/lib/admin/profiler/profiler.component.mjs +6 -6
  86. package/esm2022/lib/admin/system.service.mjs +15 -11
  87. package/esm2022/lib/admin/utility-ref.mjs +7 -5
  88. package/esm2022/lib/admin/utility-wrapper.component.mjs +4 -4
  89. package/esm2022/lib/admin/utility.pane.component.mjs +4 -4
  90. package/esm2022/lib/app.component.mjs +7 -7
  91. package/esm2022/lib/bizdoc.module.mjs +5 -5
  92. package/esm2022/lib/browse/browse-items.component.mjs +34 -33
  93. package/esm2022/lib/browse/browse.mobile.component.mjs +11 -8
  94. package/esm2022/lib/browse/browse.pane.component.mjs +9 -9
  95. package/esm2022/lib/browse/expanded-item/expanded-item.component.mjs +11 -11
  96. package/esm2022/lib/browse/filter/filter.component.mjs +27 -39
  97. package/esm2022/lib/browse/folders-menu.component.mjs +4 -4
  98. package/esm2022/lib/chat/chat-info.mjs +9 -8
  99. package/esm2022/lib/chat/chat.mobile.component.mjs +4 -4
  100. package/esm2022/lib/chat/chat.service.mjs +6 -6
  101. package/esm2022/lib/chat/contacts.component.mjs +9 -8
  102. package/esm2022/lib/chat/contacts.pane.component.mjs +4 -4
  103. package/esm2022/lib/chat/conversation.component.mjs +7 -7
  104. package/esm2022/lib/chat/conversation.pane.component.mjs +4 -4
  105. package/esm2022/lib/compose/action/action-picker.component.mjs +6 -9
  106. package/esm2022/lib/compose/action/action-ref.mjs +1 -1
  107. package/esm2022/lib/compose/action/action.base.mjs +1 -1
  108. package/esm2022/lib/compose/action/action.dialog.mjs +5 -5
  109. package/esm2022/lib/compose/action/action.pane.dialog.exp.mjs +7 -7
  110. package/esm2022/lib/compose/action/assign-action.component.mjs +4 -4
  111. package/esm2022/lib/compose/action/moveto-action.component.mjs +5 -5
  112. package/esm2022/lib/compose/action/return-action.component.mjs +4 -4
  113. package/esm2022/lib/compose/attachments/attachments.component.mjs +4 -4
  114. package/esm2022/lib/compose/attachments/preview/attachment-preview.component.mjs +4 -4
  115. package/esm2022/lib/compose/attachments/progress-button.directive.mjs +4 -4
  116. package/esm2022/lib/compose/box/box.component.mjs +4 -4
  117. package/esm2022/lib/compose/box/control.component.mjs +4 -4
  118. package/esm2022/lib/compose/box/row.component.mjs +4 -4
  119. package/esm2022/lib/compose/can-deactivate-changes.service.mjs +4 -4
  120. package/esm2022/lib/compose/comments/comment.component.mjs +17 -14
  121. package/esm2022/lib/compose/comments/comments.component.mjs +6 -6
  122. package/esm2022/lib/compose/comments/comments.pane.component.mjs +5 -5
  123. package/esm2022/lib/compose/comments/edit-comment.component.mjs +4 -4
  124. package/esm2022/lib/compose/comments/edits.component.mjs +4 -4
  125. package/esm2022/lib/compose/comments/quick-comment.component.exp.mjs +5 -5
  126. package/esm2022/lib/compose/comments/votes.component.mjs +4 -4
  127. package/esm2022/lib/compose/compose-resolve.service.mjs +4 -4
  128. package/esm2022/lib/compose/compose.mobile.component.mjs +8 -8
  129. package/esm2022/lib/compose/compose.pane.component.mjs +11 -11
  130. package/esm2022/lib/compose/copy/copy.dialog.mjs +4 -4
  131. package/esm2022/lib/compose/dismiss.service.mjs +4 -4
  132. package/esm2022/lib/compose/document-resolve.service.mjs +7 -7
  133. package/esm2022/lib/compose/document-resolver.service.mjs +4 -4
  134. package/esm2022/lib/compose/document.component.mjs +4 -4
  135. package/esm2022/lib/compose/document.mobile.component.mjs +4 -4
  136. package/esm2022/lib/compose/document.pane.component.mjs +4 -4
  137. package/esm2022/lib/compose/events/events.component.mjs +4 -4
  138. package/esm2022/lib/compose/form-ref.mjs +1 -1
  139. package/esm2022/lib/compose/form-selector/form-selector.sheet.mjs +4 -4
  140. package/esm2022/lib/compose/form.component.mjs +58 -22
  141. package/esm2022/lib/compose/new-menu.component.mjs +7 -6
  142. package/esm2022/lib/compose/overlay.component.exp.mjs +4 -4
  143. package/esm2022/lib/compose/privilage.directive.mjs +7 -7
  144. package/esm2022/lib/compose/recipient-resolver.service.mjs +4 -4
  145. package/esm2022/lib/compose/state.component.mjs +4 -4
  146. package/esm2022/lib/compose/tag/tags.component.mjs +4 -4
  147. package/esm2022/lib/compose/trace/flow.component.mjs +16 -17
  148. package/esm2022/lib/compose/trace/people.component.mjs +14 -9
  149. package/esm2022/lib/compose/trace/trace.base.mjs +6 -7
  150. package/esm2022/lib/compose/trace/trace.component.mjs +5 -5
  151. package/esm2022/lib/compose/trace/trace.pane.component.mjs +4 -4
  152. package/esm2022/lib/compose/version-compare/version-compare.component.mjs +5 -4
  153. package/esm2022/lib/compose/version-compare/version-compare.directive.mjs +14 -14
  154. package/esm2022/lib/compose/version-compare/version.pane.component.mjs +4 -4
  155. package/esm2022/lib/core/account.service.mjs +4 -4
  156. package/esm2022/lib/core/animated-icon/animated-icon.directive.mjs +4 -4
  157. package/esm2022/lib/core/animations.mjs +1 -1
  158. package/esm2022/lib/core/authentication.mjs +1 -4
  159. package/esm2022/lib/core/avatar/avatar.component.mjs +52 -43
  160. package/esm2022/lib/core/base.mjs +1 -1
  161. package/esm2022/lib/core/checkbox.mjs +4 -4
  162. package/esm2022/lib/core/colors.mjs +1 -1
  163. package/esm2022/lib/core/component-factory-resolver.mjs +5 -5
  164. package/esm2022/lib/core/configuration.mjs +1 -1
  165. package/esm2022/lib/core/datasource.service.mjs +4 -4
  166. package/esm2022/lib/core/decorators.mjs +1 -1
  167. package/esm2022/lib/core/document-factory.service.mjs +4 -11
  168. package/esm2022/lib/core/fields/address.designer.mjs +4 -4
  169. package/esm2022/lib/core/fields/address.field.mjs +4 -4
  170. package/esm2022/lib/core/fields/autocomplete.field.mjs +7 -7
  171. package/esm2022/lib/core/fields/axes-picker.designer.mjs +4 -4
  172. package/esm2022/lib/core/fields/axes-picker.field.mjs +4 -4
  173. package/esm2022/lib/core/fields/checkbox.designer.mjs +4 -4
  174. package/esm2022/lib/core/fields/checkbox.field.mjs +4 -4
  175. package/esm2022/lib/core/fields/checklist.designer.mjs +4 -4
  176. package/esm2022/lib/core/fields/checklist.field.mjs +4 -4
  177. package/esm2022/lib/core/fields/date-range.designer.mjs +4 -4
  178. package/esm2022/lib/core/fields/date-range.field.mjs +4 -4
  179. package/esm2022/lib/core/fields/date.designer.mjs +4 -4
  180. package/esm2022/lib/core/fields/date.field.mjs +4 -4
  181. package/esm2022/lib/core/fields/expression.field.mjs +7 -7
  182. package/esm2022/lib/core/fields/file.designer.mjs +4 -4
  183. package/esm2022/lib/core/fields/file.field.mjs +4 -4
  184. package/esm2022/lib/core/fields/html.designer.mjs +4 -4
  185. package/esm2022/lib/core/fields/html.field.mjs +4 -4
  186. package/esm2022/lib/core/fields/input.designer.mjs +4 -4
  187. package/esm2022/lib/core/fields/input.field.mjs +4 -4
  188. package/esm2022/lib/core/fields/localized-string.field.mjs +7 -7
  189. package/esm2022/lib/core/fields/numeric.designer.mjs +4 -4
  190. package/esm2022/lib/core/fields/numeric.field.mjs +4 -4
  191. package/esm2022/lib/core/fields/options.base.mjs +8 -8
  192. package/esm2022/lib/core/fields/options.component.mjs +4 -4
  193. package/esm2022/lib/core/fields/radio-button.designer.mjs +4 -4
  194. package/esm2022/lib/core/fields/radio-button.field.mjs +4 -4
  195. package/esm2022/lib/core/fields/select.designer.mjs +4 -4
  196. package/esm2022/lib/core/fields/select.field.mjs +4 -4
  197. package/esm2022/lib/core/fields/signature.designer.mjs +4 -4
  198. package/esm2022/lib/core/fields/signature.field.mjs +4 -4
  199. package/esm2022/lib/core/fields/switch.field.mjs +4 -4
  200. package/esm2022/lib/core/fields/tags.designer.mjs +4 -4
  201. package/esm2022/lib/core/fields/tags.field.mjs +4 -4
  202. package/esm2022/lib/core/fields/textarea.designer.mjs +4 -4
  203. package/esm2022/lib/core/fields/textarea.field.mjs +4 -4
  204. package/esm2022/lib/core/fields/time.designer.mjs +4 -4
  205. package/esm2022/lib/core/fields/time.field.mjs +4 -4
  206. package/esm2022/lib/core/fields/timespan.field.mjs +7 -7
  207. package/esm2022/lib/core/fields/yesno.designer.mjs +4 -4
  208. package/esm2022/lib/core/fields/yesno.field.mjs +4 -4
  209. package/esm2022/lib/core/firebase.service.mjs +1 -1
  210. package/esm2022/lib/core/functions.mjs +4 -1
  211. package/esm2022/lib/core/guide/guide.component.mjs +4 -4
  212. package/esm2022/lib/core/guide/guide.service.mjs +11 -7
  213. package/esm2022/lib/core/guide/help-tip.component.mjs +5 -5
  214. package/esm2022/lib/core/http.interceptor.mjs +6 -6
  215. package/esm2022/lib/core/hub.service.mjs +4 -4
  216. package/esm2022/lib/core/identity/identity.component.mjs +4 -4
  217. package/esm2022/lib/core/info/attachment-info.service.mjs +4 -4
  218. package/esm2022/lib/core/info/document-info.service.mjs +4 -4
  219. package/esm2022/lib/core/info/location-info.component.mjs +4 -4
  220. package/esm2022/lib/core/info/map-info.mjs +4 -4
  221. package/esm2022/lib/core/inputs/address.input.mjs +4 -4
  222. package/esm2022/lib/core/inputs/auto-complete.input.mjs +7 -6
  223. package/esm2022/lib/core/inputs/combination-picker-body.mjs +10 -12
  224. package/esm2022/lib/core/inputs/combination-picker.mjs +5 -6
  225. package/esm2022/lib/core/inputs/combination-pool.mjs +6 -5
  226. package/esm2022/lib/core/inputs/file.input.mjs +29 -23
  227. package/esm2022/lib/core/inputs/select.input.mjs +4 -4
  228. package/esm2022/lib/core/inputs/signature.input.mjs +4 -4
  229. package/esm2022/lib/core/inputs/time-picker.mjs +7 -7
  230. package/esm2022/lib/core/inputs/timespan.input.mjs +7 -7
  231. package/esm2022/lib/core/layout.component.mjs +11 -5
  232. package/esm2022/lib/core/lottie-animation.exp.mjs +49 -0
  233. package/esm2022/lib/core/mailbox.service.mjs +20 -14
  234. package/esm2022/lib/core/models.mjs +2 -1
  235. package/esm2022/lib/core/none.component.mjs +4 -4
  236. package/esm2022/lib/core/pipes/action.pipe.mjs +4 -4
  237. package/esm2022/lib/core/pipes/calendar.pipe.mjs +4 -4
  238. package/esm2022/lib/core/pipes/date-format.pipe.mjs +4 -4
  239. package/esm2022/lib/core/pipes/daterange.pipe.mjs +7 -7
  240. package/esm2022/lib/core/pipes/difference.pipe.mjs +4 -4
  241. package/esm2022/lib/core/pipes/duration-format.pipe.mjs +4 -4
  242. package/esm2022/lib/core/pipes/duration.pipe.mjs +4 -4
  243. package/esm2022/lib/core/pipes/filter.pipe.mjs +25 -0
  244. package/esm2022/lib/core/pipes/form.pipe.mjs +4 -4
  245. package/esm2022/lib/core/pipes/join.pipe.mjs +4 -4
  246. package/esm2022/lib/core/pipes/localized-string.pipe.mjs +4 -4
  247. package/esm2022/lib/core/pipes/role.pipe.mjs +4 -4
  248. package/esm2022/lib/core/pipes/sanitize-html.pipe.mjs +4 -4
  249. package/esm2022/lib/core/pipes/sort.pipe.mjs +8 -30
  250. package/esm2022/lib/core/pipes/state.pipe.mjs +4 -4
  251. package/esm2022/lib/core/pipes/time-ago.pipe.mjs +4 -4
  252. package/esm2022/lib/core/pipes/to-now.pipe.mjs +4 -4
  253. package/esm2022/lib/core/pipes/translate.pipe.mjs +10 -10
  254. package/esm2022/lib/core/pipes/type-value.pipe.mjs +4 -4
  255. package/esm2022/lib/core/pipes/user-name.pipe.mjs +4 -4
  256. package/esm2022/lib/core/popup/popup-ref.mjs +1 -1
  257. package/esm2022/lib/core/popup/popup.component.mjs +4 -4
  258. package/esm2022/lib/core/popup/popup.service.mjs +7 -5
  259. package/esm2022/lib/core/popup/tooltip.directive.mjs +10 -11
  260. package/esm2022/lib/core/prompt/ask/ask.dialog.mjs +4 -4
  261. package/esm2022/lib/core/prompt/mask/mask.component.mjs +4 -4
  262. package/esm2022/lib/core/prompt.service.mjs +6 -6
  263. package/esm2022/lib/core/router.mjs +9 -9
  264. package/esm2022/lib/core/save-changes.dialog.mjs +4 -4
  265. package/esm2022/lib/core/session.service.mjs +47 -36
  266. package/esm2022/lib/core/slots/pane-ref.mjs +2 -2
  267. package/esm2022/lib/core/slots/router.directive.mjs +4 -4
  268. package/esm2022/lib/core/slots/router.service.mjs +6 -5
  269. package/esm2022/lib/core/slots/slots.component.mjs +25 -22
  270. package/esm2022/lib/core/sticky-toolbar.exp.mjs +9 -6
  271. package/esm2022/lib/core/tagging/documents.component.mjs +4 -4
  272. package/esm2022/lib/core/tagging/edit-input.component.mjs +16 -13
  273. package/esm2022/lib/core/tagging/emoji.component.mjs +4 -4
  274. package/esm2022/lib/core/tagging/tagging-item.directive.mjs +4 -4
  275. package/esm2022/lib/core/tagging/tagging.component-base.mjs +4 -4
  276. package/esm2022/lib/core/tagging/tagging.directive.mjs +5 -5
  277. package/esm2022/lib/core/tagging/tagging.pipe.mjs +4 -4
  278. package/esm2022/lib/core/tagging/users.component.mjs +5 -5
  279. package/esm2022/lib/core/translate.service.mjs +5 -4
  280. package/esm2022/lib/core/translations.mjs +8 -6
  281. package/esm2022/lib/core/virtual-tabs.component.exp.mjs +7 -7
  282. package/esm2022/lib/core/window-title.service.mjs +14 -6
  283. package/esm2022/lib/cube/accum/accum.component.mjs +4 -4
  284. package/esm2022/lib/cube/chart/chart.component.mjs +8 -7
  285. package/esm2022/lib/cube/cube-info.service.mjs +13 -10
  286. package/esm2022/lib/cube/cube-menu.component.mjs +4 -4
  287. package/esm2022/lib/cube/cube-view.component.mjs +5 -5
  288. package/esm2022/lib/cube/cube.service.mjs +21 -19
  289. package/esm2022/lib/cube/declarations.mjs +1 -1
  290. package/esm2022/lib/cube/explore/document-item.component.mjs +4 -4
  291. package/esm2022/lib/cube/explore/explore-item.component.mjs +4 -4
  292. package/esm2022/lib/cube/explore/explore-items.component.mjs +8 -8
  293. package/esm2022/lib/cube/explore/explore.pane.component.mjs +5 -5
  294. package/esm2022/lib/cube/explore/item-resolver.service.mjs +7 -7
  295. package/esm2022/lib/cube/explore/item.pane.component.mjs +5 -5
  296. package/esm2022/lib/cube/filter/filter-tags.component.exp.mjs +4 -4
  297. package/esm2022/lib/cube/filter/filter.component.mjs +14 -13
  298. package/esm2022/lib/cube/grid/grid.component.mjs +9 -8
  299. package/esm2022/lib/cube/matrix/matrix.base.mjs +20 -18
  300. package/esm2022/lib/cube/matrix/matrix.mobile.component.mjs +4 -4
  301. package/esm2022/lib/cube/matrix/matrix.pane.component.mjs +5 -5
  302. package/esm2022/lib/cube/matrix/popup.component.mjs +4 -4
  303. package/esm2022/lib/cube/matrix/table.component.mjs +9 -8
  304. package/esm2022/lib/cube/parallel/item.mjs +1 -2
  305. package/esm2022/lib/cube/parallel/parallel.component.mjs +5 -5
  306. package/esm2022/lib/cube/pivot/pivot.component.mjs +16 -7
  307. package/esm2022/lib/cube/spreadsheet/spreadsheet.component.mjs +6 -6
  308. package/esm2022/lib/cube/spreadsheet/spreadsheet.container.exp.mjs +4 -4
  309. package/esm2022/lib/cube/sum/sum.component.mjs +19 -18
  310. package/esm2022/lib/cube/view-base.mjs +5 -5
  311. package/esm2022/lib/cube/view.mobile.component.mjs +5 -5
  312. package/esm2022/lib/cube/view.pane.component.mjs +4 -4
  313. package/esm2022/lib/dashboard/actions/actions.widget.mjs +7 -6
  314. package/esm2022/lib/dashboard/cube/accum-cube.widget.mjs +4 -8
  315. package/esm2022/lib/dashboard/cube/compare.widget.mjs +5 -7
  316. package/esm2022/lib/dashboard/cube/cube-analysis.base.mjs +8 -6
  317. package/esm2022/lib/dashboard/cube/cube-analysis.widget.mjs +4 -4
  318. package/esm2022/lib/dashboard/cube/cube-chart.widget.mjs +5 -4
  319. package/esm2022/lib/dashboard/cube/document-state.widget.mjs +6 -5
  320. package/esm2022/lib/dashboard/cube/documents.widget.mjs +4 -4
  321. package/esm2022/lib/dashboard/cube/filter/filter.component.mjs +4 -4
  322. package/esm2022/lib/dashboard/dashboard.component.mjs +4 -4
  323. package/esm2022/lib/dashboard/dashboard.pane.component.mjs +4 -4
  324. package/esm2022/lib/dashboard/recents/recents.widget.mjs +13 -16
  325. package/esm2022/lib/dashboard/score/activity.widget.mjs +6 -5
  326. package/esm2022/lib/dashboard/score/compare-groups.widget.mjs +12 -5
  327. package/esm2022/lib/dashboard/score/peers-performance.widget.mjs +9 -8
  328. package/esm2022/lib/dashboard/score/pending-results.widget.mjs +4 -4
  329. package/esm2022/lib/dashboard/score/personal-score.widget.mjs +19 -18
  330. package/esm2022/lib/dashboard/widget-item.component.mjs +4 -4
  331. package/esm2022/lib/dashboard/widget-ref.mjs +1 -1
  332. package/esm2022/lib/designer.module.mjs +5 -5
  333. package/esm2022/lib/desktop.module.mjs +8 -12
  334. package/esm2022/lib/home/about/about.dialog.mjs +5 -5
  335. package/esm2022/lib/home/home-base.component.mjs +18 -10
  336. package/esm2022/lib/home/home.desktop.component.mjs +14 -24
  337. package/esm2022/lib/home/home.mobile.component.mjs +29 -32
  338. package/esm2022/lib/home/notifications/notifications.component.mjs +21 -23
  339. package/esm2022/lib/home/outofoffice/outofoffice.component.mjs +9 -9
  340. package/esm2022/lib/home/sign/sign.component.mjs +20 -24
  341. package/esm2022/lib/impersonate/impersonate.component.mjs +36 -34
  342. package/esm2022/lib/mobile.module.mjs +8 -11
  343. package/esm2022/lib/modules/chart.module.mjs +13 -11
  344. package/esm2022/lib/modules/circular-gauge.module.mjs +9 -7
  345. package/esm2022/lib/modules/date.adapter.mjs +1 -1
  346. package/esm2022/lib/modules/datepicker.intl.mjs +4 -4
  347. package/esm2022/lib/modules/dayjs.module.mjs +5 -5
  348. package/esm2022/lib/modules/diagram.module.mjs +9 -7
  349. package/esm2022/lib/modules/gantt.module.mjs +11 -9
  350. package/esm2022/lib/modules/grid.module.mjs +9 -7
  351. package/esm2022/lib/modules/linear-gauge.module.mjs +5 -5
  352. package/esm2022/lib/modules/material.module.mjs +5 -5
  353. package/esm2022/lib/modules/paginator.intl.mjs +4 -4
  354. package/esm2022/lib/modules/pivot.module.mjs +9 -7
  355. package/esm2022/lib/modules/schedule.module.mjs +9 -7
  356. package/esm2022/lib/modules/spreadsheet.module.mjs +5 -5
  357. package/esm2022/lib/modules/stepper.intl.mjs +4 -4
  358. package/esm2022/lib/modules/texteditor.module.mjs +7 -6
  359. package/esm2022/lib/notifications/filter.component.mjs +4 -4
  360. package/esm2022/lib/notifications/notifications-table.component.mjs +6 -7
  361. package/esm2022/lib/notifications/notifications.component-base.mjs +1 -1
  362. package/esm2022/lib/notifications/notifications.mobile.component.mjs +4 -4
  363. package/esm2022/lib/notifications/notifications.pane.component.mjs +4 -4
  364. package/esm2022/lib/notifications/notifications.service.mjs +13 -6
  365. package/esm2022/lib/notifications/types/commented.notification.mjs +4 -4
  366. package/esm2022/lib/notifications/types/cube-anomaly.notification.mjs +4 -4
  367. package/esm2022/lib/notifications/types/escalated.notification.mjs +4 -4
  368. package/esm2022/lib/notifications/types/invite.notification.mjs +4 -4
  369. package/esm2022/lib/notifications/types/liked.notification.mjs +4 -4
  370. package/esm2022/lib/notifications/types/long-running-task.notification.mjs +4 -4
  371. package/esm2022/lib/notifications/types/notification-base.mjs +4 -4
  372. package/esm2022/lib/notifications/types/nudge.notification.mjs +4 -4
  373. package/esm2022/lib/notifications/types/state-changed.notification.mjs +4 -4
  374. package/esm2022/lib/notifications/types/tagged.notification.mjs +4 -4
  375. package/esm2022/lib/notifications/types/text.notification.mjs +4 -4
  376. package/esm2022/lib/notifications/types/upcoming-event.notification.mjs +4 -4
  377. package/esm2022/lib/options/options.component.mjs +91 -49
  378. package/esm2022/lib/options/options.desktop.component.mjs +26 -0
  379. package/esm2022/lib/options/options.mobile.component.mjs +23 -0
  380. package/esm2022/lib/reports/arguments-component.mjs +4 -4
  381. package/esm2022/lib/reports/cube/documents.component.mjs +4 -4
  382. package/esm2022/lib/reports/cube/grid-documents.component.mjs +4 -4
  383. package/esm2022/lib/reports/cube/performance-hilo.component.mjs +5 -5
  384. package/esm2022/lib/reports/cube/performance-wind.component.mjs +4 -4
  385. package/esm2022/lib/reports/cube/table-documents.component.mjs +6 -5
  386. package/esm2022/lib/reports/cube/usage-args.component.mjs +6 -5
  387. package/esm2022/lib/reports/cube/usage-base.mjs +8 -8
  388. package/esm2022/lib/reports/cube/usage-chart.component.mjs +6 -6
  389. package/esm2022/lib/reports/cube/usage-pivot.component.mjs +5 -5
  390. package/esm2022/lib/reports/cube/usage.component.mjs +4 -4
  391. package/esm2022/lib/reports/report-ref.mjs +1 -1
  392. package/esm2022/lib/reports/report-viewer.component.mjs +5 -5
  393. package/esm2022/lib/reports/report.mobile.component.mjs +4 -4
  394. package/esm2022/lib/reports/report.pane.component.mjs +4 -4
  395. package/esm2022/lib/reports/reports-menu.component.mjs +4 -4
  396. package/esm2022/lib/reports/substitution/substitution.component.mjs +4 -4
  397. package/esm2022/lib/reports/table/table-view.component.mjs +4 -4
  398. package/esm2022/lib/reports/tasks/tasks.component.mjs +4 -4
  399. package/esm2022/lib/routes.desktop.mjs +24 -5
  400. package/esm2022/lib/routes.mobile.mjs +12 -2
  401. package/esm2022/lib/scheduler/schedule.component.mjs +5 -5
  402. package/esm2022/lib/scheduler/scheduler.mobile.component.mjs +4 -4
  403. package/esm2022/lib/scheduler/scheduler.pane.component.mjs +4 -4
  404. package/esm2022/lib/search/cube.component.mjs +8 -9
  405. package/esm2022/lib/search/declarations.mjs +1 -1
  406. package/esm2022/lib/search/document.component.mjs +4 -4
  407. package/esm2022/lib/search/guide.component.mjs +4 -4
  408. package/esm2022/lib/search/path.component.mjs +4 -4
  409. package/esm2022/lib/search/search.service.mjs +5 -5
  410. package/esm2022/lib/shared.module.mjs +15 -15
  411. package/esm2022/lib/system.module.mjs +5 -5
  412. package/esm2022/lib/views/cube/chart.component.mjs +4 -4
  413. package/esm2022/lib/views/cube/cube-base.mjs +4 -4
  414. package/esm2022/lib/views/cube/explore.component.mjs +5 -5
  415. package/esm2022/lib/views/cube/matrix.component.mjs +6 -6
  416. package/esm2022/lib/views/cube/parallel.component.mjs +4 -4
  417. package/esm2022/lib/views/cube/pivot.component.mjs +4 -4
  418. package/esm2022/lib/views/cube/sum.component.mjs +4 -4
  419. package/esm2022/lib/views/cube/view.component.mjs +6 -6
  420. package/esm2022/lib/views/document-view-ref.mjs +1 -1
  421. package/esm2022/lib/views/timeline/timeline.component.mjs +7 -8
  422. package/esm2022/lib/views/view-item.component.mjs +4 -4
  423. package/esm2022/lib/views/views.component.mjs +5 -5
  424. package/esm2022/lib/views/views.mobile.component.mjs +6 -6
  425. package/esm2022/lib/views/views.pane.component.mjs +8 -8
  426. package/esm2022/public-api.mjs +4 -3
  427. package/fesm2022/bizdoc-core.mjs +3267 -3149
  428. package/fesm2022/bizdoc-core.mjs.map +1 -1
  429. package/lib/admin/architecture/cube-axes-filter.component.d.ts +4 -1
  430. package/lib/admin/architecture/declarations.d.ts +14 -9
  431. package/lib/admin/architecture/designer-element.component.d.ts +1 -0
  432. package/lib/admin/architecture/designer-privileges.component.d.ts +4 -2
  433. package/lib/admin/architecture/designer.base.d.ts +1 -4
  434. package/lib/admin/architecture/designer.component.d.ts +3 -3
  435. package/lib/admin/architecture/elements/action.component.d.ts +13 -13
  436. package/lib/admin/architecture/elements/analysis-view.component.d.ts +8 -8
  437. package/lib/admin/architecture/elements/analysis-widget.component.d.ts +7 -7
  438. package/lib/admin/architecture/elements/anomaly-rule.component.d.ts +3 -3
  439. package/lib/admin/architecture/elements/attribute.component.d.ts +1 -1
  440. package/lib/admin/architecture/elements/box-form.component.d.ts +5 -5
  441. package/lib/admin/architecture/elements/configuration-datasource.component.d.ts +1 -1
  442. package/lib/admin/architecture/elements/control.component.d.ts +1 -2
  443. package/lib/admin/architecture/elements/cube-index-utility.component.d.ts +3 -4
  444. package/lib/admin/architecture/elements/cube-view.component.d.ts +4 -4
  445. package/lib/admin/architecture/elements/cube.component.d.ts +9 -10
  446. package/lib/admin/architecture/elements/document-state-widget.component.d.ts +3 -6
  447. package/lib/admin/architecture/elements/documents-report.component.d.ts +4 -5
  448. package/lib/admin/architecture/elements/documents-widget.component.d.ts +5 -5
  449. package/lib/admin/architecture/elements/explore-view.component.d.ts +4 -4
  450. package/lib/admin/architecture/elements/folder.component.d.ts +2 -2
  451. package/lib/admin/architecture/elements/form-invite.dialog.d.ts +7 -7
  452. package/lib/admin/architecture/elements/form.component.d.ts +10 -9
  453. package/lib/admin/architecture/elements/guide.component.d.ts +1 -1
  454. package/lib/admin/architecture/elements/matrix-view.component.d.ts +16 -16
  455. package/lib/admin/architecture/elements/parallel-view.component.d.ts +9 -10
  456. package/lib/admin/architecture/elements/performance-report.component.d.ts +2 -3
  457. package/lib/admin/architecture/elements/performance-widget.component.d.ts +4 -5
  458. package/lib/admin/architecture/elements/pivot-view.component.d.ts +9 -10
  459. package/lib/admin/architecture/elements/report.component.d.ts +1 -1
  460. package/lib/admin/architecture/elements/return-to-role-action.component.d.ts +1 -1
  461. package/lib/admin/architecture/elements/role.component.d.ts +4 -4
  462. package/lib/admin/architecture/elements/source.component.d.ts +2 -3
  463. package/lib/admin/architecture/elements/state.component.d.ts +4 -4
  464. package/lib/admin/architecture/elements/sum-view.component.d.ts +7 -8
  465. package/lib/admin/architecture/elements/tasks-report.component.d.ts +4 -4
  466. package/lib/admin/architecture/elements/type.component.d.ts +8 -4
  467. package/lib/admin/architecture/elements/usage-report.component.d.ts +7 -7
  468. package/lib/admin/architecture/elements/widget.component.d.ts +1 -1
  469. package/lib/admin/architecture/icon-picker.component.d.ts +5 -3
  470. package/lib/admin/core/ace.input.d.ts +2 -5
  471. package/lib/admin/core/localized-string.component.d.ts +3 -2
  472. package/lib/admin/document-trace/document-trace.component.d.ts +6 -5
  473. package/lib/admin/document-trace/reassign.dialog.d.ts +2 -2
  474. package/lib/admin/document-trace/timeline.d.ts +2 -2
  475. package/lib/admin/form/designer/box-designer.component.d.ts +13 -13
  476. package/lib/admin/form/designer/section.component.d.ts +5 -5
  477. package/lib/admin/form/workflow/node-ref.d.ts +1 -1
  478. package/lib/admin/form/workflow/node.component.d.ts +3 -2
  479. package/lib/admin/form/workflow/role-node.component.d.ts +11 -11
  480. package/lib/admin/form/workflow/workflow.component.d.ts +9 -11
  481. package/lib/admin/indices/manage-cube-index.component.d.ts +3 -3
  482. package/lib/admin/patterns/patterns.component.d.ts +2 -2
  483. package/lib/admin/positions/positions-popup.component.d.ts +1 -1
  484. package/lib/admin/positions/positions.component.d.ts +6 -6
  485. package/lib/admin/profiler/outofoffice.component.d.ts +15 -15
  486. package/lib/admin/profiler/profiler.component.d.ts +3 -3
  487. package/lib/admin/system.service.d.ts +8 -9
  488. package/lib/admin/utility-ref.d.ts +2 -2
  489. package/lib/browse/browse-items.component.d.ts +6 -7
  490. package/lib/browse/browse.mobile.component.d.ts +2 -2
  491. package/lib/browse/browse.pane.component.d.ts +2 -2
  492. package/lib/browse/filter/filter.component.d.ts +10 -11
  493. package/lib/chat/chat-info.d.ts +1 -1
  494. package/lib/chat/chat.service.d.ts +1 -1
  495. package/lib/chat/conversation.component.d.ts +2 -2
  496. package/lib/compose/action/action.base.d.ts +2 -1
  497. package/lib/compose/action/assign-action.component.d.ts +5 -5
  498. package/lib/compose/action/moveto-action.component.d.ts +3 -3
  499. package/lib/compose/action/return-action.component.d.ts +4 -4
  500. package/lib/compose/box/box.component.d.ts +1 -1
  501. package/lib/compose/comments/comments.component.d.ts +4 -4
  502. package/lib/compose/compose.mobile.component.d.ts +5 -5
  503. package/lib/compose/compose.pane.component.d.ts +3 -3
  504. package/lib/compose/copy/copy.dialog.d.ts +1 -1
  505. package/lib/compose/form-ref.d.ts +5 -5
  506. package/lib/compose/form.component.d.ts +36 -2
  507. package/lib/compose/new-menu.component.d.ts +2 -1
  508. package/lib/compose/privilage.directive.d.ts +1 -1
  509. package/lib/compose/tag/tags.component.d.ts +1 -1
  510. package/lib/compose/trace/flow.component.d.ts +1 -0
  511. package/lib/compose/trace/people.component.d.ts +5 -2
  512. package/lib/compose/trace/trace.base.d.ts +1 -1
  513. package/lib/compose/version-compare/version-compare.directive.d.ts +1 -1
  514. package/lib/core/account.service.d.ts +1 -1
  515. package/lib/core/authentication.d.ts +2 -2
  516. package/lib/core/avatar/avatar.component.d.ts +13 -11
  517. package/lib/core/base.d.ts +9 -9
  518. package/lib/core/colors.d.ts +1 -0
  519. package/lib/core/configuration.d.ts +3 -2
  520. package/lib/core/datasource.service.d.ts +1 -1
  521. package/lib/core/document-factory.service.d.ts +0 -1
  522. package/lib/core/fields/address.designer.d.ts +3 -3
  523. package/lib/core/fields/address.field.d.ts +1 -1
  524. package/lib/core/fields/autocomplete.field.d.ts +5 -5
  525. package/lib/core/fields/axes-picker.designer.d.ts +3 -3
  526. package/lib/core/fields/axes-picker.field.d.ts +1 -1
  527. package/lib/core/fields/checkbox.designer.d.ts +2 -2
  528. package/lib/core/fields/checkbox.field.d.ts +1 -1
  529. package/lib/core/fields/checklist.designer.d.ts +4 -4
  530. package/lib/core/fields/checklist.field.d.ts +1 -2
  531. package/lib/core/fields/date-range.designer.d.ts +6 -6
  532. package/lib/core/fields/date-range.field.d.ts +2 -2
  533. package/lib/core/fields/date.designer.d.ts +5 -5
  534. package/lib/core/fields/file.designer.d.ts +3 -3
  535. package/lib/core/fields/html.designer.d.ts +4 -4
  536. package/lib/core/fields/input.designer.d.ts +8 -9
  537. package/lib/core/fields/numeric.designer.d.ts +7 -7
  538. package/lib/core/fields/options.base.d.ts +1 -1
  539. package/lib/core/fields/radio-button.designer.d.ts +3 -3
  540. package/lib/core/fields/radio-button.field.d.ts +2 -3
  541. package/lib/core/fields/select.designer.d.ts +5 -5
  542. package/lib/core/fields/select.field.d.ts +1 -2
  543. package/lib/core/fields/signature.designer.d.ts +2 -2
  544. package/lib/core/fields/switch.field.d.ts +1 -1
  545. package/lib/core/fields/textarea.designer.d.ts +6 -6
  546. package/lib/core/fields/time.designer.d.ts +5 -5
  547. package/lib/core/fields/yesno.designer.d.ts +3 -3
  548. package/lib/core/fields/yesno.field.d.ts +1 -1
  549. package/lib/core/firebase.service.d.ts +1 -1
  550. package/lib/core/functions.d.ts +7 -4
  551. package/lib/core/guide/help-tip.component.d.ts +1 -1
  552. package/lib/core/http.interceptor.d.ts +1 -1
  553. package/lib/core/hub.service.d.ts +2 -2
  554. package/lib/core/inputs/address.input.d.ts +4 -4
  555. package/lib/core/inputs/auto-complete.input.d.ts +4 -4
  556. package/lib/core/inputs/combination-picker-body.d.ts +2 -2
  557. package/lib/core/inputs/file.input.d.ts +4 -4
  558. package/lib/core/inputs/time-picker.d.ts +2 -2
  559. package/lib/core/inputs/timespan.input.d.ts +7 -7
  560. package/lib/core/{lottie-animation.d.ts → lottie-animation.exp.d.ts} +0 -1
  561. package/lib/core/mailbox.service.d.ts +2 -3
  562. package/lib/core/models.d.ts +6 -5
  563. package/lib/core/pipes/filter.pipe.d.ts +7 -0
  564. package/lib/core/pipes/localized-string.pipe.d.ts +1 -1
  565. package/lib/core/pipes/sort.pipe.d.ts +1 -6
  566. package/lib/core/pipes/time-ago.pipe.d.ts +1 -1
  567. package/lib/core/pipes/user-name.pipe.d.ts +1 -1
  568. package/lib/core/popup/popup-ref.d.ts +4 -4
  569. package/lib/core/popup/tooltip.directive.d.ts +2 -3
  570. package/lib/core/router.d.ts +3 -3
  571. package/lib/core/session.service.d.ts +11 -8
  572. package/lib/core/slots/pane-ref.d.ts +16 -16
  573. package/lib/core/slots/router.directive.d.ts +2 -2
  574. package/lib/core/slots/router.service.d.ts +1 -1
  575. package/lib/core/slots/slots.component.d.ts +3 -3
  576. package/lib/core/sticky-toolbar.exp.d.ts +1 -0
  577. package/lib/core/tagging/edit-input.component.d.ts +5 -5
  578. package/lib/core/tagging/emoji.component.d.ts +1 -1
  579. package/lib/core/tagging/tagging.component-base.d.ts +1 -1
  580. package/lib/core/tagging/tagging.directive.d.ts +1 -1
  581. package/lib/core/tagging/tagging.pipe.d.ts +1 -1
  582. package/lib/core/translate.service.d.ts +2 -2
  583. package/lib/core/translations.d.ts +2 -1049
  584. package/lib/core/virtual-tabs.component.exp.d.ts +2 -2
  585. package/lib/core/window-title.service.d.ts +2 -1
  586. package/lib/cube/accum/accum.component.d.ts +1 -1
  587. package/lib/cube/chart/chart.component.d.ts +5 -5
  588. package/lib/cube/cube-info.service.d.ts +1 -1
  589. package/lib/cube/cube.service.d.ts +2 -2
  590. package/lib/cube/declarations.d.ts +3 -3
  591. package/lib/cube/explore/explore-items.component.d.ts +2 -2
  592. package/lib/cube/filter/filter.component.d.ts +1 -1
  593. package/lib/cube/grid/grid.component.d.ts +4 -4
  594. package/lib/cube/matrix/matrix.base.d.ts +9 -8
  595. package/lib/cube/matrix/matrix.pane.component.d.ts +2 -1
  596. package/lib/cube/matrix/table.component.d.ts +3 -3
  597. package/lib/cube/pivot/pivot.component.d.ts +6 -7
  598. package/lib/cube/spreadsheet/spreadsheet.component.d.ts +3 -3
  599. package/lib/cube/sum/sum.component.d.ts +5 -5
  600. package/lib/cube/view-base.d.ts +3 -2
  601. package/lib/cube/view.mobile.component.d.ts +1 -1
  602. package/lib/dashboard/cube/accum-cube.widget.d.ts +0 -1
  603. package/lib/dashboard/cube/cube-analysis.base.d.ts +9 -6
  604. package/lib/dashboard/cube/filter/filter.component.d.ts +3 -2
  605. package/lib/dashboard/recents/recents.widget.d.ts +5 -6
  606. package/lib/dashboard/score/activity.widget.d.ts +1 -0
  607. package/lib/dashboard/score/peers-performance.widget.d.ts +1 -0
  608. package/lib/dashboard/score/personal-score.widget.d.ts +2 -4
  609. package/lib/desktop.module.d.ts +5 -6
  610. package/lib/home/about/about.dialog.d.ts +2 -2
  611. package/lib/home/home-base.component.d.ts +2 -0
  612. package/lib/home/home.desktop.component.d.ts +6 -9
  613. package/lib/home/home.mobile.component.d.ts +4 -6
  614. package/lib/home/notifications/notifications.component.d.ts +3 -5
  615. package/lib/home/outofoffice/outofoffice.component.d.ts +3 -3
  616. package/lib/home/sign/sign.component.d.ts +4 -2
  617. package/lib/impersonate/impersonate.component.d.ts +11 -12
  618. package/lib/mobile.module.d.ts +3 -3
  619. package/lib/modules/chart.module.d.ts +1 -0
  620. package/lib/modules/circular-gauge.module.d.ts +1 -0
  621. package/lib/modules/diagram.module.d.ts +1 -0
  622. package/lib/modules/gantt.module.d.ts +1 -0
  623. package/lib/modules/grid.module.d.ts +1 -0
  624. package/lib/modules/pivot.module.d.ts +1 -0
  625. package/lib/modules/schedule.module.d.ts +1 -0
  626. package/lib/notifications/filter.component.d.ts +2 -2
  627. package/lib/options/options.component.d.ts +54 -31
  628. package/lib/options/options.desktop.component.d.ts +10 -0
  629. package/lib/options/options.mobile.component.d.ts +9 -0
  630. package/lib/reports/arguments-component.d.ts +2 -2
  631. package/lib/reports/cube/performance-hilo.component.d.ts +1 -1
  632. package/lib/reports/cube/performance-wind.component.d.ts +2 -2
  633. package/lib/reports/cube/usage-args.component.d.ts +3 -1
  634. package/lib/reports/cube/usage-base.d.ts +9 -7
  635. package/lib/reports/cube/usage-chart.component.d.ts +1 -1
  636. package/lib/reports/cube/usage-pivot.component.d.ts +1 -1
  637. package/lib/reports/report.mobile.component.d.ts +3 -1
  638. package/lib/search/cube.component.d.ts +1 -1
  639. package/lib/search/declarations.d.ts +2 -2
  640. package/lib/shared.module.d.ts +154 -153
  641. package/lib/views/cube/chart.component.d.ts +2 -2
  642. package/lib/views/cube/cube-base.d.ts +6 -6
  643. package/lib/views/cube/sum.component.d.ts +2 -2
  644. package/lib/views/timeline/timeline.component.d.ts +3 -2
  645. package/lib/views/views.component.d.ts +1 -1
  646. package/package.json +19 -18
  647. package/public-api.d.ts +3 -2
  648. package/assets/themes/readme.md +0 -0
  649. package/esm2022/lib/core/lottie-animation.mjs +0 -48
  650. package/esm2022/lib/home/options/options.component.mjs +0 -97
  651. package/esm2022/lib/options/options.service.mjs +0 -42
  652. package/lib/home/options/options.component.d.ts +0 -45
  653. package/lib/options/options.service.d.ts +0 -14
@@ -1,6 +1,6 @@
1
1
  import { Injectable, Inject } from '@angular/core';
2
2
  import { Loader } from "@googlemaps/js-api-loader";
3
- import { Subject, fromEvent, Observable, of, firstValueFrom } from 'rxjs';
3
+ import { Subject, Observable, firstValueFrom } from 'rxjs';
4
4
  import { tap, map } from 'rxjs/operators';
5
5
  import { HubConnectionState } from '@microsoft/signalr';
6
6
  import dayjs from 'dayjs';
@@ -46,7 +46,7 @@ export class SessionService {
46
46
  this._themeChange = new Subject();
47
47
  this.loaded = this._loaded.asObservable();
48
48
  this.themeChange = this._themeChange.asObservable();
49
- this._firebase = new FirebaseService(this._config ? this._config.firebase : null, this);
49
+ this._firebase = new FirebaseService(this._config ? this._config.firebase : undefined, this);
50
50
  iconRegistry.addSvgIconLiteral('excel', sanitizer.bypassSecurityTrustHtml(EXCEL_ICON));
51
51
  iconRegistry.addSvgIconLiteral('word', sanitizer.bypassSecurityTrustHtml(WORD_ICON));
52
52
  iconRegistry.addSvgIconLiteral('powerpoint', sanitizer.bypassSecurityTrustHtml(POWERPOINT_ICON));
@@ -55,37 +55,34 @@ export class SessionService {
55
55
  get profile() { return this._profile; }
56
56
  get gender() { return this.profile.byId ? this._profile.byGender : this._profile.gender; }
57
57
  get accentPalette() {
58
- const palette = MATERIAL_PALETTES[this.theme.accent];
59
- return this._constructpalette(palette);
58
+ return this._accentpalette;
60
59
  }
61
- _constructpalette(palette) {
60
+ _constructpalette(color) {
61
+ const palette = MATERIAL_PALETTES[color];
62
62
  return [palette['100'], palette['300'], palette['500'], palette['700'], palette['900'],
63
63
  palette['200'], palette['400'], palette['600'], palette['800'], palette['hex'],
64
64
  palette['a100'], palette['a400'], palette['a200'], palette['a700']];
65
65
  }
66
66
  get primeryPalette() {
67
- const palette = MATERIAL_PALETTES[this.theme.primary];
68
- return this._constructpalette(palette);
67
+ return this._primarypalette;
69
68
  }
70
69
  getAccent(mode = 500) {
71
70
  return MATERIAL_PALETTES[this.theme.accent][mode];
72
71
  }
73
- getGrey(mode = 500) {
74
- return MATERIAL_PALETTES['grey'][mode];
75
- }
76
72
  getPrimery(mode = 500) {
77
73
  return MATERIAL_PALETTES[this.theme.primary][mode];
78
74
  }
79
75
  get theme() {
80
76
  if (!this._theme) {
81
77
  const name = localStorage.getItem('theme');
82
- this._theme = name ? this.Themes.find(t => t.name === name) : this.Themes[0];
78
+ this._theme = name ? this.Themes.find(t => t.name === name) :
79
+ this.Themes[0];
83
80
  }
84
81
  return this._theme;
85
82
  }
86
83
  set theme(value) {
87
84
  this._theme = value;
88
- this._changeTheme(value).subscribe(() => this._themeChange.next(value));
85
+ this._changeTheme(value).then(() => this._themeChange.next(value));
89
86
  localStorage.setItem('theme', value.name);
90
87
  }
91
88
  get ok() { return this.profile !== undefined; }
@@ -163,18 +160,18 @@ export class SessionService {
163
160
  this._profile = profile;
164
161
  observe.next();
165
162
  this._loaded.next();
166
- this._profile = profile;
167
163
  };
168
164
  this._http.get('/api/account/refresh').subscribe({
169
165
  next: r => {
170
- if (!this._profile)
171
- this._changeTheme(this.theme).subscribe(() => complete(r));
166
+ if (!this._profile) // 1st time
167
+ this._changeTheme(this.theme).
168
+ then(() => complete(r));
172
169
  else
173
170
  complete(r);
174
171
  this._hub.state !== HubConnectionState.Connected && this._hub.start();
175
172
  this._firebase.state !== FirebaseState.Activated &&
176
173
  this._firebase.activate();
177
- }, error: observe.error
174
+ }, error: observe.error.bind(this)
178
175
  });
179
176
  });
180
177
  }
@@ -190,9 +187,17 @@ export class SessionService {
190
187
  registerDevice(type, token) {
191
188
  return this._http.post('/api/account/registerDevice', { type, token });
192
189
  }
193
- mayImpersonate(search) {
194
- return this._http.put('/api/account/granted', {
195
- search
190
+ /**
191
+ *
192
+ * @param search
193
+ * @returns
194
+ */
195
+ listImpersonate(search) {
196
+ const params = {};
197
+ if (search)
198
+ params['search'] = search;
199
+ return this._http.get('/api/account/granted', {
200
+ params
196
201
  });
197
202
  }
198
203
  impersonate(userId) {
@@ -236,19 +241,25 @@ export class SessionService {
236
241
  * @param theme
237
242
  */
238
243
  _changeTheme(theme) {
239
- let style = document.getElementById('bizdoc-theme');
240
- if (style)
241
- document.body.removeChild(style);
242
- if (theme.name === this.Themes[0].name) {
243
- return of(theme);
244
- }
245
- style = document.createElement('link');
246
- style.id = 'bizdoc-theme';
247
- style.type = 'text/css';
248
- style.rel = 'stylesheet';
249
- style.href = `/assets/themes/${theme.name}.min.css`;
250
- document.body.append(style);
251
- return fromEvent(style, 'load');
244
+ return new Promise((resolve) => {
245
+ this._accentpalette = this._constructpalette(this.theme.accent);
246
+ this._primarypalette = this._constructpalette(this.theme.primary);
247
+ let style = document.getElementById('bizdoc-theme');
248
+ // remove
249
+ if (style)
250
+ document.body.removeChild(style);
251
+ if (theme.name === this.Themes[0].name)
252
+ resolve();
253
+ else {
254
+ style = document.createElement('link');
255
+ style.id = 'bizdoc-theme';
256
+ style.type = 'text/css';
257
+ style.rel = 'stylesheet';
258
+ style.href = `/assets/themes/${theme.name}.min.css`;
259
+ document.body.append(style);
260
+ style.onload = () => resolve();
261
+ }
262
+ });
252
263
  }
253
264
  _loadServiceWorker() {
254
265
  window.addEventListener('load', function () {
@@ -267,14 +278,14 @@ export class SessionService {
267
278
  const maps = loader.importLibrary('maps');
268
279
  return maps;
269
280
  }
270
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SessionService, deps: [{ token: BIZDOC_CONFIG }, { token: i1.HttpClient }, { token: i2.CookieService }, { token: i3.HubService }, { token: i4.MatIconRegistry }, { token: i5.DomSanitizer }], target: i0.ɵɵFactoryTarget.Injectable }); }
271
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SessionService, providedIn: 'root' }); }
281
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: SessionService, deps: [{ token: BIZDOC_CONFIG }, { token: i1.HttpClient }, { token: i2.CookieService }, { token: i3.HubService }, { token: i4.MatIconRegistry }, { token: i5.DomSanitizer }], target: i0.ɵɵFactoryTarget.Injectable }); }
282
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: SessionService, providedIn: 'root' }); }
272
283
  }
273
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SessionService, decorators: [{
284
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: SessionService, decorators: [{
274
285
  type: Injectable,
275
286
  args: [{ providedIn: 'root' }]
276
287
  }], ctorParameters: () => [{ type: undefined, decorators: [{
277
288
  type: Inject,
278
289
  args: [BIZDOC_CONFIG]
279
290
  }] }, { type: i1.HttpClient }, { type: i2.CookieService }, { type: i3.HubService }, { type: i4.MatIconRegistry }, { type: i5.DomSanitizer }] });
280
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicmFyaWVzL2NvcmUvc3JjL2xpYi9jb3JlL3Nlc3Npb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUtuRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4RCxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLGFBQWEsRUFBMkMsTUFBTSx1QkFBdUIsQ0FBQztBQUUvRixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7OztBQUc3QyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDN0IsTUFBTSxFQUFFLE9BQU87SUFDZixNQUFNLEVBQUUsTUFBTTtJQUNkLE1BQU0sRUFBRSxZQUFZO0lBQ3BCLEtBQUssRUFBRSxLQUFLO0NBQ2IsQ0FBQztBQUVGLE1BQU0sVUFBVSxHQUFHLDQ4Q0FBNDhDLEVBQzc5QyxTQUFTLEdBQUcsbS9DQUFtL0MsRUFDLy9DLGVBQWUsR0FBRyx3M0NBQXczQyxFQUMxNEMsUUFBUSxHQUFHLDAxRUFBMDFFLENBQUM7QUFFeDJFLE1BQU0sTUFBTSxHQUFZO0lBQ3RCLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVB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bmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgRGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHsgTWF0SWNvblJlZ2lzdHJ5IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IExvYWRlciB9IGZyb20gXCJAZ29vZ2xlbWFwcy9qcy1hcGktbG9hZGVyXCJcclxuaW1wb3J0IHsgU3ViamVjdCwgZnJvbUV2ZW50LCBPYnNlcnZhYmxlLCBvZiwgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFwLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IEh1YkNvbm5lY3Rpb25TdGF0ZSB9IGZyb20gJ0BtaWNyb3NvZnQvc2lnbmFscic7XHJcbmltcG9ydCB7IENvb2tpZVNlcnZpY2UgfSBmcm9tICduZ3gtY29va2llLXNlcnZpY2UnO1xyXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgeyBCSVpET0NfQ09ORklHLCBCaXpEb2NDb25maWcsIEdvb2dsZU1hcHNTZXR0aW5ncywgVGhlbWUgfSBmcm9tICcuLi9jb3JlL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBQcm9maWxlLCBVc2VySW5mbywgQXZhaWxhYmlsaXR5U3RhdGUsIE9wdGlvbnMsIEdlbmRlciB9IGZyb20gJy4vbW9kZWxzJztcclxuaW1wb3J0IHsgRmlyZWJhc2VTZXJ2aWNlLCBGaXJlYmFzZVN0YXRlIH0gZnJvbSAnLi9maXJlYmFzZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSHViU2VydmljZSB9IGZyb20gJy4vaHViLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNQVRFUklBTF9QQUxFVFRFUyB9IGZyb20gJy4vY29sb3JzJztcclxuaW1wb3J0IHsgTWF0ZXJpYWxNb2RlIH0gZnJvbSAnLi9mdW5jdGlvbnMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IEVYVEVOVElPTl9JQ09OUyA9IHtcclxuICAneGxzeCc6ICdleGNlbCcsXHJcbiAgJ2RvY3gnOiAnd29yZCcsXHJcbiAgJ3BwdHgnOiAncG93ZXJwb2ludCcsXHJcbiAgJ3BkZic6ICdwZGYnXHJcbn07XHJcblxyXG5jb25zdCBFWENFTF9JQ09OID0gJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgNjQgNjRcIj48cGF0aCBkPVwiTTM4LDhIMTkuMzMzNUEyLjMzMzczLDIuMzMzNzMsMCwwLDAsMTcsMTAuMzMzNVYyMEgzOFpcIiBmaWxsPVwiIzIxYTM2NlwiLz48cGF0aCBkPVwiTTU2LjY2NjUsOEgzOFYyMEg1OVYxMC4zMzM1QTIuMzMzNzMsMi4zMzM3MywwLDAsMCw1Ni42NjY1LDhaXCIgZmlsbD1cIiMzM2M0ODFcIi8+PHJlY3QgeD1cIjM4XCIgeT1cIjMyXCIgd2lkdGg9XCIyMVwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIiMxMDdjNDFcIi8+PHBhdGggZD1cIk0zOCw0NFYzMkgxN1Y1My42NjY1QTIuMzMzNzMsMi4zMzM3MywwLDAsMCwxOS4zMzM1LDU2aDM3LjMzM0EyLjMzMzczLDIuMzMzNzMsMCwwLDAsNTksNTMuNjY2NVY0NFpcIiBmaWxsPVwiIzE4NWMzN1wiLz48cmVjdCB4PVwiMTdcIiB5PVwiMjBcIiB3aWR0aD1cIjIxXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwiIzEwN2M0MVwiLz48cmVjdCB4PVwiMzhcIiB5PVwiMjBcIiB3aWR0aD1cIjIxXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwiIzIxYTM2NlwiLz48cGF0aCBkPVwiTTMzLDIwLjMzMDA4VjQ2LjY2OTkyYTEuNzM0NDQsMS43MzQ0NCwwLDAsMS0uMDQuMzk5OUEyLjMxMzc4LDIuMzEzNzgsMCwwLDEsMzAuNjY5OTIsNDlIMTdWMThIMzAuNjY5OTJBMi4zMjYsMi4zMjYsMCwwLDEsMzMsMjAuMzMwMDhaXCIgb3BhY2l0eT1cIjAuMlwiLz48cGF0aCBkPVwiTTM0LDIwLjMzMDA4VjQ0LjY2OTkyQTMuMzYxNzEsMy4zNjE3MSwwLDAsMSwzMC42Njk5Miw0OEgxN1YxN0gzMC42Njk5MkEzLjM0MTc3LDMuMzQxNzcsMCwwLDEsMzQsMjAuMzMwMDhaXCIgb3BhY2l0eT1cIjAuMVwiLz48cGF0aCBkPVwiTTMzLDIwLjMzMDA4VjQ0LjY2OTkyQTIuMzI2LDIuMzI2LDAsMCwxLDMwLjY2OTkyLDQ3SDE3VjE4SDMwLjY2OTkyQTIuMzI2LDIuMzI2LDAsMCwxLDMzLDIwLjMzMDA4WlwiIG9wYWNpdHk9XCIwLjJcIi8+PHBhdGggZD1cIk0zMiwyMC4zMzAwOFY0NC42Njk5MkEyLjMyNiwyLjMyNiwwLDAsMSwyOS42Njk5Miw0N0gxN1YxOEgyOS42Njk5MkEyLjMyNiwyLjMyNiwwLDAsMSwzMiwyMC4zMzAwOFpcIiBvcGFjaXR5PVwiMC4xXCIvPjxyZWN0IHg9XCI0XCIgeT1cIjE4LjAwMDAyXCIgd2lkdGg9XCIyNy45OTk5NlwiIGhlaWdodD1cIjI3Ljk5OTk2XCIgcng9XCIyLjMzMzMzXCIgZmlsbD1cIiMxMDdjNDFcIi8+PHBhdGggZD1cIk0xMS4yMjU2LDM5LjU4MzVsNC45MDc1OS03LjYwNDY1LTQuNDk1MS03LjU2MjM1aDMuNjE3MjRsMi40NTM3OSw0LjgzMzU2cS4zMzgzOS42ODc2My40NjUzOCwxLjAyNTk0aC4wMzE3M3EuMjQzMTgtLjU0OTg0LjUwNzY4LTEuMDY4MjVsMi42MjMtNC43OTEyNUgyNC42NThsLTQuNjExNDUsNy41Miw0LjcyNzc5LDcuNjQ3SDIxLjI0MTc0TDE4LjQwNzE4LDM0LjI3NGE0LjQzMjU1LDQuNDMyNTUsMCwwLDEtLjMzODQ1LS43MDg2NGgtLjA0MjMxYTMuMzQ1LDMuMzQ1LDAsMCwxLS4zMjc4OC42ODc0OUwxNC43NzkzNywzOS41ODM1WlwiIGZpbGw9XCIjZmZmXCIvPjwvc3ZnPicsXHJcbiAgV09SRF9JQ09OID0gJzxzdmcgdmlld0JveD1cIjAgMCA1NjAgNDAwXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxnIGZpbGwtcnVsZT1cIm5vbnplcm9cIj48cGF0aCBkPVwibTM4MC44MjkgMTAzLjc1M2gtMTQ2LjY1OWMtNS4wMjggMC05LjE2NSA0LjEzNy05LjE2NSA5LjE2NXYzOC45NTlsODIuNDk4IDI0LjA2MiA4Mi40OTctMjQuMDYydi0zOC45NTljMC01LjAyOC00LjEzNy05LjE2NS05LjE2NC05LjE2NXpcIiBmaWxsPVwiIzQxYTVlZVwiLz48cGF0aCBkPVwibTM4OS45OTMgMTUxLjg3N2gtMTY0Ljk5NHY0OC4xMjNsODIuNDk3IDI0LjA2MiA4Mi40OTctMjQuMDYyelwiIGZpbGw9XCIjMmI3Y2QzXCIvPjxwYXRoIGQ9XCJtMzg5Ljk5MyAyMDBoLTE2NC45OTR2NDguMTI0bDgyLjQ5NyAyNC4wNjEgODIuNDk3LTI0LjA2MXpcIiBmaWxsPVwiIzE4NWFiZFwiLz48cGF0aCBkPVwibTM4OS45OTMgMjQ4LjEyNGgtMTY0Ljk5NHYzOC45NTljMCA1LjAyNyA0LjEzNiA5LjE2NCA5LjE2MyA5LjE2NGgxNDYuNjZjNS4wMjcgMCA5LjE2NC00LjEzNyA5LjE2NC05LjE2NHpcIiBmaWxsPVwiIzEwM2Y5MVwiLz48cGF0aCBkPVwibTI4NC41ODIgMTM4LjEyN2gtNTkuNTgzdjEzMC42MjFoNTkuNTgzYzUuMDIyLS4wMTUgOS4xNDktNC4xNDMgOS4xNjQtOS4xNjR2LTExMi4yODZjLS4wMTUtNS4wMjEtNC4xNDItOS4xNDktOS4xNjQtOS4xNjR6XCIgZmlsbC1vcGFjaXR5PVwiLjA5ODAzOVwiLz48cGF0aCBkPVwibTI3Ny43MDggMTQ1LjAwMmgtNTIuNzA5djEzMC42MjFoNTIuNzA5YzUuMDIxLS4wMTUgOS4xNDktNC4xNDMgOS4xNjMtOS4xNjV2LTExMi4yODVjLS4wMTQtNS4wMjEtNC4xNDItOS4xNDktOS4xNjMtOS4xNjR6bTAgMGgtNTIuNzA5djExNi44NzFoNTIuNzA5YzUuMDIxLS4wMTUgOS4xNDktNC4xNDMgOS4xNjMtOS4xNjR2LTk4LjUzNmMtLjAxNC01LjAyMS00LjE0Mi05LjE0OS05LjE2My05LjE2NHptLTYuODc1IDBoLTQ1LjgzNHYxMTYuODcxaDQ1LjgzNGM1LjAyMS0uMDE1IDkuMTQ5LTQuMTQzIDkuMTYzLTkuMTY0di05OC41MzZjLS4wMTQtNS4wMjEtNC4xNDItOS4xNDktOS4xNjMtOS4xNjR6XCIgZmlsbC1vcGFjaXR5PVwiLjJcIi8+PHBhdGggZD1cIm0xNzkuMTY0IDE0NS4wMDJoOTEuNjYxYzUuMDI4IDAgOS4xNjUgNC4xMzYgOS4xNjUgOS4xNjR2OTEuNjYyYzAgNS4wMjctNC4xMzcgOS4xNjMtOS4xNjUgOS4xNjNoLTkxLjY2MWMtNS4wMjcgMC05LjE2NC00LjEzNi05LjE2NC05LjE2M3YtOTEuNjYyYzAtNS4wMjggNC4xMzctOS4xNjQgOS4xNjQtOS4xNjR6XCIgZmlsbD1cIiMxODVhYmRcIi8+PHBhdGggZD1cIm0yNTIuMTU0IDIzNC4zNzRoLTEyLjM3NWwtMTQuNDM3LTQ3LjQzNi0xNS4xMjUgNDcuNDM2aC0xMi4zNzRsLTEzLjc1LTY4Ljc0OGgxMi4zNzVsOS42MjQgNDguMTIzIDE0LjQzOC00Ni43NDhoMTAuMzEybDEzLjc1IDQ2Ljc0OCA5LjYyNC00OC4xMjNoMTEuNjg3elwiIGZpbGw9XCIjZmZmXCIvPjwvZz48cGF0aCBkPVwibTE3MCA5MC4wMDRoMjE5Ljk5M3YyMTkuOTkzaC0yMTkuOTkzelwiIGZpbGw9XCJub25lXCIvPjwvc3ZnPicsXHJcbiAgUE9XRVJQT0lOVF9JQ09OID0gJzxzdmcgdmlld0JveD1cIi0wLjEyOTc5MzcyNjk4MDc3Nzg1IDAgMzIuMTUyMzg5MzAxMTc2NzU0IDMyXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjUwMFwiIGhlaWdodD1cIjI0NzhcIj48cGF0aCBkPVwiTTE4IDJBMTQuMDQxIDE0LjA0MSAwIDAgMCA0IDE2bDE3LjczNyAzLjczN3pcIiBmaWxsPVwiI2VkNmM0N1wiLz48cGF0aCBkPVwiTTE4IDJhMTQuMDQxIDE0LjA0MSAwIDAgMSAxNCAxNGwtNyA0Ljc1OEwxOCAxNnpcIiBmaWxsPVwiI2ZmOGY2YlwiLz48cGF0aCBkPVwiTTE4IDMwYTE0LjA0MSAxNC4wNDEgMCAwIDAgMTQtMTRINGExNC4wNDEgMTQuMDQxIDAgMCAwIDE0IDE0elwiIGZpbGw9XCIjZDM1MjMwXCIvPjxwYXRoIGQ9XCJNMTYuNjY2IDdoLTkuMzZhMTMuOTE0IDEzLjkxNCAwIDAgMCAuOTMgMTloOC40M0ExLjMzNyAxLjMzNyAwIDAgMCAxOCAyNC42NjdWOC4zMzNBMS4zMzcgMS4zMzcgMCAwIDAgMTYuNjY2IDd6XCIgb3BhY2l0eT1cIi4xXCIvPjxwYXRoIGQ9XCJNMTUuNjY2IDhINi41NGExMy45MDYgMTMuOTA2IDAgMCAwIDIuODQ1IDE5aDYuMjgyQTEuMzM3IDEuMzM3IDAgMCAwIDE3IDI1LjY2N1Y5LjMzM0ExLjMzNyAxLjMzNyAwIDAgMCAxNS42NjYgOHpcIiBvcGFjaXR5PVwiLjJcIi8+PHBhdGggZD1cIk0xNS42NjYgOEg2LjU0YTEzLjg5IDEzLjg5IDAgMCAwIC43NjYgMTdoOC4zNjFBMS4zMzcgMS4zMzcgMCAwIDAgMTcgMjMuNjY3VjkuMzMzQTEuMzM3IDEuMzM3IDAgMCAwIDE1LjY2NiA4elwiIG9wYWNpdHk9XCIuMlwiLz48cGF0aCBkPVwiTTE0LjY2NiA4SDYuNTRhMTMuODkgMTMuODkgMCAwIDAgLjc2NiAxN2g3LjM2MUExLjMzNyAxLjMzNyAwIDAgMCAxNiAyMy42NjdWOS4zMzNBMS4zMzcgMS4zMzcgMCAwIDAgMTQuNjY2IDh6XCIgb3BhY2l0eT1cIi4yXCIvPjxwYXRoIGQ9XCJNMS4zMzMgOGgxMy4zMzRBMS4zMzMgMS4zMzMgMCAwIDEgMTYgOS4zMzN2MTMuMzM0QTEuMzMzIDEuMzMzIDAgMCAxIDE0LjY2NyAyNEgxLjMzM0ExLjMzMyAxLjMzMyAwIDAgMSAwIDIyLjY2N1Y5LjMzM0ExLjMzMyAxLjMzMyAwIDAgMSAxLjMzMyA4elwiIGZpbGw9XCIjYzQzZTFjXCIvPjxwYXRoIGQ9XCJNNy45OTcgMTFhNC4xNjggNC4xNjggMCAwIDEgMi43NTUuODA1IDIuODc4IDIuODc4IDAgMCAxIC45NTYgMi4zMzEgMi43MjYgMi43MjYgMCAwIDEtLjQ3MyAxLjU4OCAzLjE2NCAzLjE2NCAwIDAgMS0xLjM0NCAxLjE4NiA0LjU3IDQuNTcgMCAwIDEtMi4wMi40MjRoLTEuOTFWMjFINFYxMXpNNS45NiAxNS42ODNoMS42ODdhMi4xOTQgMi4xOTQgMCAwIDAgMS40OTItLjQ0NCAxLjEwNyAxLjEwNyAwIDAgMCAuNTA0LTEuMDI2cTAtMS42NTktMS45MzMtMS42NTlINS45NnpcIiBmaWxsPVwiI2Y5ZjdmN1wiLz48cGF0aCBkPVwiTTAgMGgzMnYzMkgwelwiIGZpbGw9XCJub25lXCIvPjwvc3ZnPicsXHJcbiAgUERGX0lDT04gPSAnPHN2ZyB2ZXJzaW9uPVwiMS4xXCIgdmlld0JveD1cIjAgMCAxNCAxNlwiIHhtbDpzcGFjZT1cInByZXNlcnZlXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxnIHRyYW5zZm9ybT1cIm1hdHJpeCguMDQ1ODkgMCAwIC4wNDU4OSAtLjY2ODc3IC0uNzMzNzkpXCI+PHBvbHlnb24gcG9pbnRzPVwiNTEuNzkxIDM1Ni42NSA1MS43OTEgMjMuOTkgMjA0LjUgMjMuOTkgMjgyLjY1IDEwMi4wNyAyODIuNjUgMzU2LjY1XCIgZmlsbD1cIiNmZmZcIiBzdHJva2Utd2lkdGg9XCIyMTIuNjVcIi8+PHBhdGggZD1cIm0yMDEuMTkgMzEuOTkgNzMuNDYgNzMuMzkzdjI0My4yNmgtMjE0Ljg2di0zMTYuNjZoMTQxLjRtNi42MjMtMTZoLTE2NC4wMnYzNDguNjZoMjQ2Ljg1di0yNjUuOXpcIiBzdHJva2Utd2lkdGg9XCIyMS43OTFcIi8+PC9nPjxnIHRyYW5zZm9ybT1cIm1hdHJpeCguMDQ1ODkgMCAwIC4wNDU4OSAtLjY2ODc3IC0uNzMzNzkpXCI+PHBvbHlnb24gcG9pbnRzPVwiMjgyLjY1IDM1Ni42NSA1MS43OTEgMzU2LjY1IDUxLjc5MSAyMy45OSAyMDQuNSAyMy45OSAyMDYuMzEgMjUuOCAyMDYuMzEgMTAwLjMzIDI4MC45IDEwMC4zMyAyODIuNjUgMTAyLjA3XCIgZmlsbD1cIiNmZmZcIiBzdHJva2Utd2lkdGg9XCIyMTIuNjVcIi8+PHBhdGggZD1cIm0xOTguMzEgMzEuOTl2NzYuMzM3aDc2LjMzN3YyNDAuMzJoLTIxNC44NnYtMzE2LjY2aDEzOC41Mm05LjUtMTZoLTE2NC4wMnYzNDguNjZoMjQ2Ljg1di0yNjUuOWwtNi40My02LjQyNGgtNjkuOTA3di02OS44NDJ6XCIgc3Ryb2tlLXdpZHRoPVwiMjEuNzkxXCIvPjwvZz48ZyB0cmFuc2Zvcm09XCJtYXRyaXgoLjA0NTg5IDAgMCAuMDQ1ODkgLS42Njg3NyAtLjczMzc5KVwiIHN0cm9rZS13aWR0aD1cIjIxLjc5MVwiPjxwb2x5Z29uIHBvaW50cz1cIjI1OC4zMSA4Ny43NSAyMTkuNjQgODcuNzUgMjE5LjY0IDQ4LjY2NyAyNTguMzEgODYuMzhcIi8+XHRcdDxwYXRoIGQ9XCJtMjI3LjY0IDY3LjY0NiAxMi40MSAxMi4xMDRoLTEyLjQxdi0xMi4xMDRtLTUuMDAyLTI3LjIyOWgtMTAuOTk4djU1LjMzM2g1NC42NjZ2LTEyLjc0MnpcIi8+PC9nPjxnIHRyYW5zZm9ybT1cIm1hdHJpeCguMDQ1ODkgMCAwIC4wNDU4OSAtLjY2ODc3IC0uNzMzNzkpXCIgZmlsbD1cIiNlZDFjMjRcIiBzdHJva2Utd2lkdGg9XCIyMTIuNjVcIj48cG9seWdvbiBwb2ludHM9XCIzMTEuODkgMjg0LjQ5IDIyLjU0NCAyODQuNDkgMjIuNTQ0IDE2Ny42OCAzNy4yOTEgMTUyLjk0IDM3LjI5MSAxNzEuNDkgMjk3LjE1IDE3MS40OSAyOTcuMTUgMTUyLjk0IDMxMS44OSAxNjcuNjhcIi8+PHBhdGggZD1cIm0zMDMuNjUgMTY4LjYzIDEuNzQ3IDEuNzQ3djEwNy42MmgtMjc2LjM1di0xMDcuNjJsMS43NDctMS43NDd2OS4zNjJoMjcyLjg1di05LjM2Mm0tMTIuOTk5LTMxLjM4NXYyNy43NDdoLTI0Ni44NnYtMjcuNzQ3bC0yNy43NDcgMjcuNzQ3djEyNmgzMDIuMzV2LTEyNnpcIi8+PC9nPjxyZWN0IHg9XCIxLjcyMTlcIiB5PVwiNy45NTQ0XCIgd2lkdGg9XCIxMC42ODRcIiBoZWlnaHQ9XCI0LjAzMDdcIiBmaWxsPVwibm9uZVwiLz48ZyB0cmFuc2Zvcm09XCJtYXRyaXgoLjA0NTg5IDAgMCAuMDQ1ODkgMS43MjE5IDExLjczMylcIiBmaWxsPVwiI2ZmZlwiIHN0cm9rZS13aWR0aD1cIjIxLjc5MVwiIGFyaWEtbGFiZWw9XCJQREZcIj48cGF0aCBkPVwibTkuMjE2IDB2LTgzLjJoMzAuNDY0cTYuNzg0IDAgMTIuOTI4IDEuNDA4IDYuMTQ0IDEuMjggMTAuNzUyIDQuNjA4IDQuNjA4IDMuMiA3LjI5NiA4LjU3NiAyLjgxNiA1LjI0OCAyLjgxNiAxMy4wNTYgMCA3LjY4LTIuODE2IDEzLjE4NC0yLjY4OCA1LjUwNC03LjI5NiA5LjA4OC00LjYwOCAzLjQ1Ni0xMC42MjQgNS4yNDgtNi4wMTYgMS42NjQtMTIuNTQ0IDEuNjY0aC04Ljk2djI2LjM2OHptMjIuMDE2LTQzLjc3Nmg3LjkzNnE2LjUyOCAwIDkuNi0zLjA3MiAzLjItMy4wNzIgMy4yLTguNzA0dC0zLjQ1Ni03LjkzNi05Ljg1Ni0yLjMwNGgtNy40MjR6XCIvPjxwYXRoIGQ9XCJtODcuMDQgMHYtODMuMmgyNC41NzZxOS40NzIgMCAxNy4yOCAyLjMwNCA3LjkzNiAyLjMwNCAxMy41NjggNy4yOTZ0OC43MDQgMTIuOHEzLjIgNy44MDggMy4yIDE4LjgxNnQtMy4wNzIgMTguOTQ0LTguNzA0IDEzLjA1NnEtNS41MDQgNS4xMi0xMy4xODQgNy41NTItNy41NTIgMi40MzItMTYuNTEyIDIuNDMyem0yMi4wMTYtMTcuNjY0aDEuMjhxNC40OCAwIDguNDQ4LTEuMDI0IDMuOTY4LTEuMTUyIDYuNzg0LTMuODQgMi45NDQtMi42ODggNC42MDgtNy40MjR0MS42NjQtMTIuMDMyLTEuNjY0LTExLjkwNC00LjYwOC03LjE2OHEtMi44MTYtMi41Ni02Ljc4NC0zLjQ1Ni0zLjk2OC0xLjAyNC04LjQ0OC0xLjAyNGgtMS4yOHpcIi8+PHBhdGggZD1cIm0xNjkuMjIgMHYtODMuMmg1NC4yNzJ2MTguNDMyaC0zMi4yNTZ2MTUuODcyaDI3LjY0OHYxOC40MzJoLTI3LjY0OHYzMC40NjR6XCIvPjwvZz48L3N2Zz4nO1xyXG5cclxuY29uc3QgVEhFTUVTOiBUaGVtZVtdID0gW1xyXG4gIHsgbmFtZTogJ2RlZmF1bHQnLCBwcmltYXJ5OiAncHVycGxlJywgY29sb3I6ICdwdXJwbGUnLCBhY2NlbnQ6ICdhbWJlcicsIHRpdGxlOiAnUHVycGxlVGhlbWUnIH0sXHJcbiAgeyBuYW1lOiAnaW5kaWdvJywgcHJpbWFyeTogJ2luZGlnbycsIGNvbG9yOiAnIzNmNTFiNScsIGFjY2VudDogJ3BpbmsnLCB0aXRsZTogJ0luZGlnb1RoZW1lJyB9LFxyXG4gIHsgbmFtZTogJ2dyZWVuJywgcHJpbWFyeTogJ2dyZWVuJywgY29sb3I6ICcjNENBRjUwJywgYWNjZW50OiAnYW1iZXInLCB0aXRsZTogJ0dyZWVuVGhlbWUnIH0sXHJcbiAgeyBuYW1lOiAnZGFyaycsIHByaW1hcnk6ICdkZWVwUHVycGxlJywgY29sb3I6ICcjNDA0MDQxJywgYWNjZW50OiAnYW1iZXInLCBkYXJrOiB0cnVlLCB0aXRsZTogJ0RlZXBUaGVtZScgfSxcclxuICB7IG5hbWU6ICdicm93bicsIHByaW1hcnk6ICdicm93bicsIGNvbG9yOiAnIzc5NTU0OCcsIGFjY2VudDogJ2dyZXknLCB0aXRsZTogJ0dyYXlUaGVtZScgfV07XHJcblxyXG5jb25zdCBTVVBQT1JURURfTEFOR1VBR0VTID0gWydlbicsICdoZScsICdkZScsICdhcicsICdydSddLFxyXG4gIFJUTF9MQU5HVUFMR0VTID0gWydoZScsICdhciddO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFNlc3Npb25Qcm92aWRlckZhY3RvcnkocHJvdmlkZXI6IFNlc3Npb25TZXJ2aWNlKSB7XHJcbiAgcmV0dXJuICgpID0+IHByb3ZpZGVyLnByZXBhcmUoKTtcclxufVxyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFNlc3Npb25TZXJ2aWNlIHtcclxuICBwcmVwYXJlKCkge1xyXG4gICAgKCdzZXJ2aWNlV29ya2VyJyBpbiBuYXZpZ2F0b3IpICYmIHRoaXMuX2xvYWRTZXJ2aWNlV29ya2VyKCk7XHJcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnLm1hcHMgPyB0aGlzLl9sb2FkR29vZ2xlTWFwcygpIDogUHJvbWlzZS5yZXNvbHZlKCk7XHJcbiAgfVxyXG4gIHJlYWRvbmx5IFRoZW1lczogVGhlbWVbXSA9IHRoaXMuX2NvbmZpZy50aGVtZXMgfHwgVEhFTUVTO1xyXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoQklaRE9DX0NPTkZJRykgcHJpdmF0ZSBfY29uZmlnOiBCaXpEb2NDb25maWcsXHJcbiAgICBwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBfY29va2llczogQ29va2llU2VydmljZSxcclxuICAgIHByaXZhdGUgX2h1YjogSHViU2VydmljZSxcclxuICAgIGljb25SZWdpc3RyeTogTWF0SWNvblJlZ2lzdHJ5LFxyXG4gICAgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXJcclxuICApIHtcclxuICAgIGljb25SZWdpc3RyeS5hZGRTdmdJY29uTGl0ZXJhbCgnZXhjZWwnLCBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoRVhDRUxfSUNPTikpO1xyXG4gICAgaWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb25MaXRlcmFsKCd3b3JkJywgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKFdPUkRfSUNPTikpO1xyXG4gICAgaWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb25MaXRlcmFsKCdwb3dlcnBvaW50Jywgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKFBPV0VSUE9JTlRfSUNPTikpO1xyXG4gICAgaWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb25MaXRlcmFsKCdwZGYnLCBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoUERGX0lDT04pKTtcclxuICB9XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfbG9hZGVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IF90aGVtZUNoYW5nZSA9IG5ldyBTdWJqZWN0PFRoZW1lPigpO1xyXG4gIHJlYWRvbmx5IGxvYWRlZCA9IHRoaXMuX2xvYWRlZC5hc09ic2VydmFibGUoKTtcclxuICByZWFkb25seSB0aGVtZUNoYW5nZSA9IHRoaXMuX3RoZW1lQ2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIHByaXZhdGUgX3Byb2ZpbGU6IFByb2ZpbGU7XHJcbiAgcHJpdmF0ZSBfbGFuZzogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2ZpcmViYXNlID0gbmV3IEZpcmViYXNlU2VydmljZSh0aGlzLl9jb25maWcgPyB0aGlzLl9jb25maWcuZmlyZWJhc2UgOiBudWxsLCB0aGlzKTtcclxuICBnZXQgcHJvZmlsZSgpOiBQcm9maWxlIHsgcmV0dXJuIHRoaXMuX3Byb2ZpbGU7IH1cclxuICBnZXQgZ2VuZGVyKCk6IEdlbmRlciB7IHJldHVybiB0aGlzLnByb2ZpbGUuYnlJZCA/IHRoaXMuX3Byb2ZpbGUuYnlHZW5kZXIgOiB0aGlzLl9wcm9maWxlLmdlbmRlcjsgfVxyXG4gIGdldCBhY2NlbnRQYWxldHRlKCk6IHN0cmluZ1tdIHtcclxuICAgIGNvbnN0IHBhbGV0dGUgPSBNQVRFUklBTF9QQUxFVFRFU1t0aGlzLnRoZW1lLmFjY2VudF07XHJcbiAgICByZXR1cm4gdGhpcy5fY29uc3RydWN0cGFsZXR0ZShwYWxldHRlKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfY29uc3RydWN0cGFsZXR0ZShwYWxldHRlOiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmc7IH0pOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gW3BhbGV0dGVbJzEwMCddLCBwYWxldHRlWyczMDAnXSwgcGFsZXR0ZVsnNTAwJ10sIHBhbGV0dGVbJzcwMCddLCBwYWxldHRlWyc5MDAnXSxcclxuICAgIHBhbGV0dGVbJzIwMCddLCBwYWxldHRlWyc0MDAnXSwgcGFsZXR0ZVsnNjAwJ10sIHBhbGV0dGVbJzgwMCddLCBwYWxldHRlWydoZXgnXSxcclxuICAgIHBhbGV0dGVbJ2ExMDAnXSwgcGFsZXR0ZVsnYTQwMCddLCBwYWxldHRlWydhMjAwJ10sIHBhbGV0dGVbJ2E3MDAnXV07XHJcbiAgfVxyXG5cclxuICBnZXQgcHJpbWVyeVBhbGV0dGUoKTogc3RyaW5nW10ge1xyXG4gICAgY29uc3QgcGFsZXR0ZSA9IE1BVEVSSUFMX1BBTEVUVEVTW3RoaXMudGhlbWUucHJpbWFyeV07XHJcbiAgICByZXR1cm4gdGhpcy5fY29uc3RydWN0cGFsZXR0ZShwYWxldHRlKTtcclxuICB9XHJcbiAgZ2V0QWNjZW50KG1vZGU6IE1hdGVyaWFsTW9kZSA9IDUwMCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gTUFURVJJQUxfUEFMRVRURVNbdGhpcy50aGVtZS5hY2NlbnRdW21vZGVdO1xyXG4gIH1cclxuICBnZXRHcmV5KG1vZGU6IE1hdGVyaWFsTW9kZSA9IDUwMCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gTUFURVJJQUxfUEFMRVRURVNbJ2dyZXknXVttb2RlXTtcclxuICB9XHJcbiAgZ2V0UHJpbWVyeShtb2RlOiBNYXRlcmlhbE1vZGUgPSA1MDApOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIE1BVEVSSUFMX1BBTEVUVEVTW3RoaXMudGhlbWUucHJpbWFyeV1bbW9kZV07XHJcbiAgfVxyXG4gIHByaXZhdGUgX3RoZW1lOiBUaGVtZTtcclxuICBnZXQgdGhlbWUoKTogVGhlbWUge1xyXG4gICAgaWYgKCF0aGlzLl90aGVtZSkge1xyXG4gICAgICBjb25zdCBuYW1lID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3RoZW1lJyk7XHJcbiAgICAgIHRoaXMuX3RoZW1lID0gbmFtZSA/IHRoaXMuVGhlbWVzLmZpbmQodCA9PiB0Lm5hbWUgPT09IG5hbWUpIDogdGhpcy5UaGVtZXNbMF07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5fdGhlbWU7XHJcbiAgfVxyXG4gIHNldCB0aGVtZSh2YWx1ZTogVGhlbWUpIHtcclxuICAgIHRoaXMuX3RoZW1lID0gdmFsdWU7XHJcbiAgICB0aGlzLl9jaGFuZ2VUaGVtZSh2YWx1ZSkuc3Vic2NyaWJlKCgpID0+XHJcbiAgICAgIHRoaXMuX3RoZW1lQ2hhbmdlLm5leHQodmFsdWUpKTtcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCd0aGVtZScsIHZhbHVlLm5hbWUpO1xyXG4gIH1cclxuICBnZXQgb2soKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLnByb2ZpbGUgIT09IHVuZGVmaW5lZDsgfVxyXG4gIC8qKiBsYW5ndWFnZSBkaXJlY3Rpb24gKi9cclxuICBnZXQgZGlyZWN0aW9uKCk6IERpcmVjdGlvbiB7XHJcbiAgICByZXR1cm4gUlRMX0xBTkdVQUxHRVMuaW5kZXhPZih0aGlzLmxhbmd1YWdlKSA+IC0xID8gJ3J0bCcgOiAnbHRyJztcclxuICB9XHJcbiAgZ2V0IGludmVyc2UoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXJlY3Rpb24gPT09ICdydGwnO1xyXG4gIH1cclxuICBnZXQgdXNlcklkKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fcHJvZmlsZS5ieUlkIHx8IHRoaXMucHJvZmlsZS51c2VySWQ7XHJcbiAgfVxyXG4gIGdldCBsb2NhbGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5sYW5ndWFnZS5zcGxpdCgnLScpWzBdO1xyXG4gIH1cclxuICBnZXQgbGFuZ3VhZ2UoKTogc3RyaW5nIHtcclxuICAgIGlmICghdGhpcy5fbGFuZylcclxuICAgICAgdGhpcy5fbGFuZyA9IHRoaXMuX2Nvb2tpZXMuZ2V0KCdsYW5nJykgfHwgdGhpcy5fZ2V0QnJvd3NlckxhbmcoKSB8fCBTVVBQT1JURURfTEFOR1VBR0VTWzBdO1xyXG4gICAgcmV0dXJuIHRoaXMuX2xhbmc7XHJcbiAgfVxyXG4gIGdldCBhcmlhKCkgeyByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2FyaWEnKSA9PT0gJzEnIH1cclxuICBzZXQgYXJpYSh2YWw6IGJvb2xlYW4pIHsgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2FyaWEnLCB2YWwgPyAnMScgOiAnMCcpIH1cclxuICBzZXQgbGFuZ3VhZ2UoY29kZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9jb29raWVzLnNldCgnbGFuZycsIGNvZGUsIDM2NSwgJy8nKTtcclxuICB9XHJcbiAgZ2V0IGxhbmd1YWdlcygpOiBzdHJpbmdbXSB7IHJldHVybiB0aGlzLl9jb25maWcubGFuZ3VhZ2VzIHx8IFNVUFBPUlRFRF9MQU5HVUFHRVM7IH1cclxuICBnZXQgaXNJbXBlcnNvbmF0aW5nKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5wcm9maWxlLmJ5SWQgIT09IHVuZGVmaW5lZDsgfVxyXG4gIC8qKiBzeXN0ZW0gYWRtaW4gKi9cclxuICBnZXQgaXNTeXN0ZW0oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm9maWxlLnN5c3RlbTtcclxuICB9XHJcbiAgLyoqIG9ubGluZSBvciBzZXQgaW4gcHJvZmlsZSAqL1xyXG4gIGdldCBzdGF0ZSgpOiBBdmFpbGFiaWxpdHlTdGF0ZSB7XHJcbiAgICByZXR1cm4gdGhpcy5wcm9maWxlLmF2YWlsYWJsZSB8fCAnT25saW5lJztcclxuICB9XHJcbiAgc2V0IHN0YXRlKHZhbHVlOiBBdmFpbGFiaWxpdHlTdGF0ZSkge1xyXG4gICAgdGhpcy5wcm9maWxlLmF2YWlsYWJsZSA9IHZhbHVlID09PSAnT25saW5lJyA/IG51bGwgOiB2YWx1ZTtcclxuICAgIHRoaXMuX2h0dHAucHV0KGAvYXBpL2FjY291bnQvYXZhaWxhYmxlP21vZGU9JHt0aGlzLnByb2ZpbGUuYXZhaWxhYmxlIHx8ICcnfWAsIHt9KS5zdWJzY3JpYmUoKTtcclxuICB9XHJcbiAgaXNJblJvbGUocm9sZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQoJy9hcGkvYWNjb3VudC9pc0luUm9sZScsIHtcclxuICAgICAgcGFyYW1zOiB7IHJvbGUgfSxcclxuICAgICAgcmVzcG9uc2VUeXBlOiAndGV4dCcgYXMgY29uc3RcclxuICAgIH0pLnBpcGUobWFwKHIgPT4gciA9PT0gJ3RydWUnKSk7XHJcbiAgfVxyXG4gIC8qKiAqL1xyXG4gIGdldCBpc091dE9mT2ZmaWNlKCk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMucHJvZmlsZS5vcHRpb25zLm91dE9mT2ZmaWNlO1xyXG4gICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5hY3RpdmUpIHtcclxuICAgICAgY29uc3QgdG9kYXkgPSBkYXlqcygpLnN0YXJ0T2YoJ2RheScpO1xyXG4gICAgICByZXR1cm4gKCFvcHRpb25zLmZyb20gfHwgZGF5anMob3B0aW9ucy5mcm9tKS5zdGFydE9mKCdkYXknKSA8PSB0b2RheSlcclxuICAgICAgICAmJiAoIW9wdGlvbnMudG8gfHwgZGF5anMob3B0aW9ucy50bykuc3RhcnRPZignZGF5JykgPj0gdG9kYXkpO1xyXG4gICAgfVxyXG4gICAgZWxzZSByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gIC8qKiB1cGRhdGUgcHJvZmlsZSAgKi9cclxuICB1cGRhdGUocHJvZmlsZTogT3B0aW9ucyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wdXQoJy9hcGkvYWNjb3VudC91cGRhdGUnLCBwcm9maWxlKS5waXBlKHRhcCgoKSA9PlxyXG4gICAgICBPYmplY3QuYXNzaWduKHRoaXMuX3Byb2ZpbGUub3B0aW9ucywgcHJvZmlsZSkpKTtcclxuICB9XHJcbiAgLyoqIG1hcmsgZ3VpZGUgYXMgdmlzaXRlZCBpbiBwcm9maWxlICovXHJcbiAgZ3VpZGUobmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnB1dChgL2FwaS9hY2NvdW50L2d1aWRlLyR7ZW5jb2RlVVJJQ29tcG9uZW50KG5hbWUpfWAsIHt9LCB7IGhlYWRlcnM6IHsgJ25vLXByb2dyZXNzJzogJ3RydWUnIH0gfSkucGlwZShcclxuICAgICAgdGFwKCgpID0+IHtcclxuICAgICAgICBjb25zdCBndWlkZSA9IHRoaXMuX3Byb2ZpbGUuZ3VpZGVzLmZpbmQoZyA9PiBnLm5hbWUgPT09IG5hbWUpO1xyXG4gICAgICAgIGlmIChndWlkZSkgZ3VpZGUubW9kZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLl9wcm9maWxlLm9wdGlvbnMuZ3VpZGVzLnB1c2gobmFtZSk7XHJcbiAgICAgIH0pKTtcclxuICB9XHJcbiAgLyoqIGdldCBwcm9maWxlICovXHJcbiAgcmVmcmVzaCgpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPGFueT4ob2JzZXJ2ZSA9PiB7XHJcbiAgICAgIGNvbnN0IGNvbXBsZXRlID0gKHByb2ZpbGU6IFByb2ZpbGUpID0+IHtcclxuICAgICAgICB0aGlzLl9wcm9maWxlID0gcHJvZmlsZTtcclxuICAgICAgICBvYnNlcnZlLm5leHQoKTtcclxuICAgICAgICB0aGlzLl9sb2FkZWQubmV4dCgpO1xyXG4gICAgICAgIHRoaXMuX3Byb2ZpbGUgPSBwcm9maWxlO1xyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLl9odHRwLmdldDxQcm9maWxlPignL2FwaS9hY2NvdW50L3JlZnJlc2gnKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IHIgPT4ge1xyXG4gICAgICAgICAgaWYgKCF0aGlzLl9wcm9maWxlKVxyXG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VUaGVtZSh0aGlzLnRoZW1lKS5zdWJzY3JpYmUoKCkgPT4gY29tcGxldGUocikpO1xyXG4gICAgICAgICAgZWxzZSBjb21wbGV0ZShyKTtcclxuICAgICAgICAgIHRoaXMuX2h1Yi5zdGF0ZSAhPT0gSHViQ29ubmVjdGlvblN0YXRlLkNvbm5lY3RlZCAmJiB0aGlzLl9odWIuc3RhcnQoKTtcclxuICAgICAgICAgIHRoaXMuX2ZpcmViYXNlLnN0YXRlICE9PSBGaXJlYmFzZVN0YXRlLkFjdGl2YXRlZCAmJlxyXG4gICAgICAgICAgICB0aGlzLl9maXJlYmFzZS5hY3RpdmF0ZSgpO1xyXG4gICAgICAgIH0sIGVycm9yOiBvYnNlcnZlLmVycm9yXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXRQcm9maWxlRXh0cmE8VCA9IGFueT4obmFtZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8VD4oYC9hcGkvYWNjb3VudC9leHRyYS8ke25hbWV9YCk7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXRQcm9maWxlRXh0cmE8VCA9IGFueT4obmFtZTogc3RyaW5nLCBwcm9maWxlOiBUKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wb3N0KGAvYXBpL2FjY291bnQvZXh0cmEvJHtuYW1lfWAsIHByb2ZpbGUpO1xyXG4gIH1cclxuICBwdWJsaWMgdW5yZWdpc3RlckRldmljZSh0eXBlOiBzdHJpbmcsIHRva2VuOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucG9zdCgnL2FwaS9hY2NvdW50L3VucmVnaXN0ZXJEZXZpY2UnLCB7IHR5cGUsIHRva2VuIH0pO1xyXG4gIH1cclxuICBwdWJsaWMgcmVnaXN0ZXJEZXZpY2UodHlwZTogc3RyaW5nLCB0b2tlbjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnBvc3QoJy9hcGkvYWNjb3VudC9yZWdpc3RlckRldmljZScsIHsgdHlwZSwgdG9rZW4gfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbWF5SW1wZXJzb25hdGUoc2VhcmNoOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFVzZXJJbmZvW10+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnB1dDxVc2VySW5mb1tdPignL2FwaS9hY2NvdW50L2dyYW50ZWQnLCB7XHJcbiAgICAgIHNlYXJjaFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBpbXBlcnNvbmF0ZSh1c2VySWQ6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wb3N0PFByb2ZpbGU+KCcvYXBpL2FjY291bnQvaW1wZXJzb25hdGUnLCB7XHJcbiAgICAgIHVzZXJJZFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBpbmJveFRvdWNoKCkge1xyXG4gICAgcmV0dXJuIGZpcnN0VmFsdWVGcm9tKHRoaXMuX2h0dHAucHV0PFdhdGVybWFya0luZm8+KCcvYXBpL2FjY291bnQvaW5ib3h2aWV3Jywge30sIHsgaGVhZGVyczogeyAnbm8tcHJvZ3Jlc3MnOiAndHJ1ZScgfSB9KS5waXBlKFxyXG4gICAgICB0YXAoZSA9PiB7XHJcbiAgICAgICAgdGhpcy5wcm9maWxlLmluYm94Q291bnQgPSAwO1xyXG4gICAgICAgIHRoaXMucHJvZmlsZS5vcHRpb25zLmluYm94VmlldyA9IGUudGltZTtcclxuICAgICAgfSkpKTtcclxuICB9XHJcbiAgcHVibGljIG5vdGlmaWNhdGlvbnNUb3VjaCgpIHtcclxuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLl9odHRwLnB1dDxXYXRlcm1hcmtJbmZvPignL2FwaS9hY2NvdW50L25vdGlmaWNhdGlvbnNWaWV3Jywge30sIHsgaGVhZGVyczogeyAnbm8tcHJvZ3Jlc3MnOiAndHJ1ZScgfSB9KS5waXBlKHRhcChlID0+IHtcclxuICAgICAgdGhpcy5wcm9maWxlLm5vdGlmaWNhdGlvbnNDb3VudCA9IDA7XHJcbiAgICAgIHRoaXMucHJvZmlsZS5vcHRpb25zLm5vdGlmaWNhdGlvbnNWaWV3ID0gZS50aW1lO1xyXG4gICAgfSkpKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfZ2V0QnJvd3NlckxhbmcoKTogc3RyaW5nIHtcclxuICAgIGxldCBsYW5nID0gbmF2aWdhdG9yLmxhbmd1YWdlO1xyXG4gICAgaWYgKHRoaXMubGFuZ3VhZ2VzLmluZGV4T2YobGFuZykgPiAtMSlcclxuICAgICAgcmV0dXJuIGxhbmc7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5hdmlnYXRvci5sYW5ndWFnZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgbGFuZyA9IG5hdmlnYXRvci5sYW5ndWFnZXNbaV07XHJcbiAgICAgIGlmICh0aGlzLmxhbmd1YWdlcy5pbmRleE9mKGxhbmcpID4gLTEpXHJcbiAgICAgICAgcmV0dXJuIGxhbmc7XHJcbiAgICAgIGlmIChsYW5nLmxlbmd0aCA+IDIpIHtcclxuICAgICAgICBsYW5nID0gbGFuZy5zdWJzdHJpbmcoMCwgMikudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICBpZiAodGhpcy5sYW5ndWFnZXMuaW5kZXhPZihsYW5nKSA+IC0xKVxyXG4gICAgICAgICAgcmV0dXJuIGxhbmc7XHJcbiAgICAgICAgbGFuZyA9IHRoaXMubGFuZ3VhZ2VzLmZpbmQobCA9PiBsLnN0YXJ0c1dpdGgobGFuZykpO1xyXG4gICAgICAgIGlmIChsYW5nKVxyXG4gICAgICAgICAgcmV0dXJuIGxhbmc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gdGhlbWVcclxuICAgKi9cclxuICBwcml2YXRlIF9jaGFuZ2VUaGVtZSh0aGVtZTogVGhlbWUpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgbGV0IHN0eWxlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JpemRvYy10aGVtZScpIGFzIEhUTUxMaW5rRWxlbWVudDtcclxuICAgIGlmIChzdHlsZSlcclxuICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzdHlsZSk7XHJcblxyXG4gICAgaWYgKHRoZW1lLm5hbWUgPT09IHRoaXMuVGhlbWVzWzBdLm5hbWUpIHtcclxuICAgICAgcmV0dXJuIG9mKHRoZW1lKTtcclxuICAgIH1cclxuICAgIHN0eWxlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xyXG4gICAgc3R5bGUuaWQgPSAnYml6ZG9jLXRoZW1lJztcclxuICAgIHN0eWxlLnR5cGUgPSAndGV4dC9jc3MnO1xyXG4gICAgc3R5bGUucmVsID0gJ3N0eWxlc2hlZXQnO1xyXG4gICAgc3R5bGUuaHJlZiA9IGAvYXNzZXRzL3RoZW1lcy8ke3RoZW1lLm5hbWV9Lm1pbi5jc3NgO1xyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmQoc3R5bGUpO1xyXG5cclxuICAgIHJldHVybiBmcm9tRXZlbnQoc3R5bGUsICdsb2FkJyk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2xvYWRTZXJ2aWNlV29ya2VyKCkge1xyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbiAoKSB7XHJcbiAgICAgIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKCcvanMvYXBwLXN3LmpzJykudGhlbihmdW5jdGlvbiAoKSB7XHJcbiAgICAgIH0sIG51bGwpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2xvYWRHb29nbGVNYXBzKCkge1xyXG4gICAgY29uc3QgYXBpS2V5ID0gKHRoaXMuX2NvbmZpZy5tYXBzIGFzIEdvb2dsZU1hcHNTZXR0aW5ncykuYXBpS2V5O1xyXG4gICAgY29uc3QgbG9hZGVyID0gbmV3IExvYWRlcih7XHJcbiAgICAgIGFwaUtleSxcclxuICAgICAgbGlicmFyaWVzOiBbJ3BsYWNlcyddLFxyXG4gICAgICBsYW5ndWFnZTogdGhpcy5sYW5ndWFnZSxcclxuICAgICAgdmVyc2lvbjogJ3dlZWtseScsXHJcbiAgICB9KTtcclxuICAgIGNvbnN0IG1hcHMgPSBsb2FkZXIuaW1wb3J0TGlicmFyeSgnbWFwcycpO1xyXG4gICAgcmV0dXJuIG1hcHM7XHJcbiAgfVxyXG59XHJcbmludGVyZmFjZSBXYXRlcm1hcmtJbmZvIHtcclxuICB0aW1lOiBEYXRlO1xyXG59XHJcbiJdfQ==
291
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9zcmMvbGliL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBS25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFhLFVBQVUsRUFBTSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4RCxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLGFBQWEsRUFBMkMsTUFBTSx1QkFBdUIsQ0FBQztBQUUvRixPQUFPLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7Ozs7OztBQUc3QyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQThCO0lBQ3hELE1BQU0sRUFBRSxPQUFPO0lBQ2YsTUFBTSxFQUFFLE1BQU07SUFDZCxNQUFNLEVBQUUsWUFBWTtJQUNwQixLQUFLLEVBQUUsS0FBSztDQUNiLENBQUM7QUFFRixNQUFNLFVBQVUsR0FBRyw0OENBQTQ4QyxFQUM3OUMsU0FBUyxHQUFHLG0vQ0FBbS9DLEVBQy8vQyxlQUFlLEdBQUcsdzNDQUF3M0MsRUFDMTRDLFFBQVEsR0FBRywwMUVBQTAxRSxDQUFDO0FBRXgyRSxNQUFNLE1BQU0sR0FBWTtJQUN0QixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVB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Q25CLGNBQWM7a0JBRDFCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkFPbkIsTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IE1hdEljb25SZWdpc3RyeSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tIFwiQGdvb2dsZW1hcHMvanMtYXBpLWxvYWRlclwiXHJcbmltcG9ydCB7IFN1YmplY3QsIGZyb21FdmVudCwgT2JzZXJ2YWJsZSwgb2YsIGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRhcCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBIdWJDb25uZWN0aW9uU3RhdGUgfSBmcm9tICdAbWljcm9zb2Z0L3NpZ25hbHInO1xyXG5pbXBvcnQgeyBDb29raWVTZXJ2aWNlIH0gZnJvbSAnbmd4LWNvb2tpZS1zZXJ2aWNlJztcclxuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcclxuaW1wb3J0IHsgQklaRE9DX0NPTkZJRywgQml6RG9jQ29uZmlnLCBHb29nbGVNYXBzU2V0dGluZ3MsIFRoZW1lIH0gZnJvbSAnLi4vY29yZS9jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgUHJvZmlsZSwgVXNlckluZm8sIEF2YWlsYWJpbGl0eVN0YXRlLCBPcHRpb25zLCBHZW5kZXIgfSBmcm9tICcuL21vZGVscyc7XHJcbmltcG9ydCB7IEZpcmViYXNlU2VydmljZSwgRmlyZWJhc2VTdGF0ZSB9IGZyb20gJy4vZmlyZWJhc2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IEh1YlNlcnZpY2UgfSBmcm9tICcuL2h1Yi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTUFURVJJQUxfUEFMRVRURVMgfSBmcm9tICcuL2NvbG9ycyc7XHJcbmltcG9ydCB7IE1hdGVyaWFsTW9kZSB9IGZyb20gJy4vZnVuY3Rpb25zJztcclxuXHJcbmV4cG9ydCBjb25zdCBFWFRFTlRJT05fSUNPTlM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XHJcbiAgJ3hsc3gnOiAnZXhjZWwnLFxyXG4gICdkb2N4JzogJ3dvcmQnLFxyXG4gICdwcHR4JzogJ3Bvd2VycG9pbnQnLFxyXG4gICdwZGYnOiAncGRmJ1xyXG59O1xyXG5cclxuY29uc3QgRVhDRUxfSUNPTiA9ICc8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDY0IDY0XCI+PHBhdGggZD1cIk0zOCw4SDE5LjMzMzVBMi4zMzM3MywyLjMzMzczLDAsMCwwLDE3LDEwLjMzMzVWMjBIMzhaXCIgZmlsbD1cIiMyMWEzNjZcIi8+PHBhdGggZD1cIk01Ni42NjY1LDhIMzhWMjBINTlWMTAuMzMzNUEyLjMzMzczLDIuMzMzNzMsMCwwLDAsNTYuNjY2NSw4WlwiIGZpbGw9XCIjMzNjNDgxXCIvPjxyZWN0IHg9XCIzOFwiIHk9XCIzMlwiIHdpZHRoPVwiMjFcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCIjMTA3YzQxXCIvPjxwYXRoIGQ9XCJNMzgsNDRWMzJIMTdWNTMuNjY2NUEyLjMzMzczLDIuMzMzNzMsMCwwLDAsMTkuMzMzNSw1NmgzNy4zMzNBMi4zMzM3MywyLjMzMzczLDAsMCwwLDU5LDUzLjY2NjVWNDRaXCIgZmlsbD1cIiMxODVjMzdcIi8+PHJlY3QgeD1cIjE3XCIgeT1cIjIwXCIgd2lkdGg9XCIyMVwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIiMxMDdjNDFcIi8+PHJlY3QgeD1cIjM4XCIgeT1cIjIwXCIgd2lkdGg9XCIyMVwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIiMyMWEzNjZcIi8+PHBhdGggZD1cIk0zMywyMC4zMzAwOFY0Ni42Njk5MmExLjczNDQ0LDEuNzM0NDQsMCwwLDEtLjA0LjM5OTlBMi4zMTM3OCwyLjMxMzc4LDAsMCwxLDMwLjY2OTkyLDQ5SDE3VjE4SDMwLjY2OTkyQTIuMzI2LDIuMzI2LDAsMCwxLDMzLDIwLjMzMDA4WlwiIG9wYWNpdHk9XCIwLjJcIi8+PHBhdGggZD1cIk0zNCwyMC4zMzAwOFY0NC42Njk5MkEzLjM2MTcxLDMuMzYxNzEsMCwwLDEsMzAuNjY5OTIsNDhIMTdWMTdIMzAuNjY5OTJBMy4zNDE3NywzLjM0MTc3LDAsMCwxLDM0LDIwLjMzMDA4WlwiIG9wYWNpdHk9XCIwLjFcIi8+PHBhdGggZD1cIk0zMywyMC4zMzAwOFY0NC42Njk5MkEyLjMyNiwyLjMyNiwwLDAsMSwzMC42Njk5Miw0N0gxN1YxOEgzMC42Njk5MkEyLjMyNiwyLjMyNiwwLDAsMSwzMywyMC4zMzAwOFpcIiBvcGFjaXR5PVwiMC4yXCIvPjxwYXRoIGQ9XCJNMzIsMjAuMzMwMDhWNDQuNjY5OTJBMi4zMjYsMi4zMjYsMCwwLDEsMjkuNjY5OTIsNDdIMTdWMThIMjkuNjY5OTJBMi4zMjYsMi4zMjYsMCwwLDEsMzIsMjAuMzMwMDhaXCIgb3BhY2l0eT1cIjAuMVwiLz48cmVjdCB4PVwiNFwiIHk9XCIxOC4wMDAwMlwiIHdpZHRoPVwiMjcuOTk5OTZcIiBoZWlnaHQ9XCIyNy45OTk5NlwiIHJ4PVwiMi4zMzMzM1wiIGZpbGw9XCIjMTA3YzQxXCIvPjxwYXRoIGQ9XCJNMTEuMjI1NiwzOS41ODM1bDQuOTA3NTktNy42MDQ2NS00LjQ5NTEtNy41NjIzNWgzLjYxNzI0bDIuNDUzNzksNC44MzM1NnEuMzM4MzkuNjg3NjMuNDY1MzgsMS4wMjU5NGguMDMxNzNxLjI0MzE4LS41NDk4NC41MDc2OC0xLjA2ODI1bDIuNjIzLTQuNzkxMjVIMjQuNjU4bC00LjYxMTQ1LDcuNTIsNC43Mjc3OSw3LjY0N0gyMS4yNDE3NEwxOC40MDcxOCwzNC4yNzRhNC40MzI1NSw0LjQzMjU1LDAsMCwxLS4zMzg0NS0uNzA4NjRoLS4wNDIzMWEzLjM0NSwzLjM0NSwwLDAsMS0uMzI3ODguNjg3NDlMMTQuNzc5MzcsMzkuNTgzNVpcIiBmaWxsPVwiI2ZmZlwiLz48L3N2Zz4nLFxyXG4gIFdPUkRfSUNPTiA9ICc8c3ZnIHZpZXdCb3g9XCIwIDAgNTYwIDQwMFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48ZyBmaWxsLXJ1bGU9XCJub256ZXJvXCI+PHBhdGggZD1cIm0zODAuODI5IDEwMy43NTNoLTE0Ni42NTljLTUuMDI4IDAtOS4xNjUgNC4xMzctOS4xNjUgOS4xNjV2MzguOTU5bDgyLjQ5OCAyNC4wNjIgODIuNDk3LTI0LjA2MnYtMzguOTU5YzAtNS4wMjgtNC4xMzctOS4xNjUtOS4xNjQtOS4xNjV6XCIgZmlsbD1cIiM0MWE1ZWVcIi8+PHBhdGggZD1cIm0zODkuOTkzIDE1MS44NzdoLTE2NC45OTR2NDguMTIzbDgyLjQ5NyAyNC4wNjIgODIuNDk3LTI0LjA2MnpcIiBmaWxsPVwiIzJiN2NkM1wiLz48cGF0aCBkPVwibTM4OS45OTMgMjAwaC0xNjQuOTk0djQ4LjEyNGw4Mi40OTcgMjQuMDYxIDgyLjQ5Ny0yNC4wNjF6XCIgZmlsbD1cIiMxODVhYmRcIi8+PHBhdGggZD1cIm0zODkuOTkzIDI0OC4xMjRoLTE2NC45OTR2MzguOTU5YzAgNS4wMjcgNC4xMzYgOS4xNjQgOS4xNjMgOS4xNjRoMTQ2LjY2YzUuMDI3IDAgOS4xNjQtNC4xMzcgOS4xNjQtOS4xNjR6XCIgZmlsbD1cIiMxMDNmOTFcIi8+PHBhdGggZD1cIm0yODQuNTgyIDEzOC4xMjdoLTU5LjU4M3YxMzAuNjIxaDU5LjU4M2M1LjAyMi0uMDE1IDkuMTQ5LTQuMTQzIDkuMTY0LTkuMTY0di0xMTIuMjg2Yy0uMDE1LTUuMDIxLTQuMTQyLTkuMTQ5LTkuMTY0LTkuMTY0elwiIGZpbGwtb3BhY2l0eT1cIi4wOTgwMzlcIi8+PHBhdGggZD1cIm0yNzcuNzA4IDE0NS4wMDJoLTUyLjcwOXYxMzAuNjIxaDUyLjcwOWM1LjAyMS0uMDE1IDkuMTQ5LTQuMTQzIDkuMTYzLTkuMTY1di0xMTIuMjg1Yy0uMDE0LTUuMDIxLTQuMTQyLTkuMTQ5LTkuMTYzLTkuMTY0em0wIDBoLTUyLjcwOXYxMTYuODcxaDUyLjcwOWM1LjAyMS0uMDE1IDkuMTQ5LTQuMTQzIDkuMTYzLTkuMTY0di05OC41MzZjLS4wMTQtNS4wMjEtNC4xNDItOS4xNDktOS4xNjMtOS4xNjR6bS02Ljg3NSAwaC00NS44MzR2MTE2Ljg3MWg0NS44MzRjNS4wMjEtLjAxNSA5LjE0OS00LjE0MyA5LjE2My05LjE2NHYtOTguNTM2Yy0uMDE0LTUuMDIxLTQuMTQyLTkuMTQ5LTkuMTYzLTkuMTY0elwiIGZpbGwtb3BhY2l0eT1cIi4yXCIvPjxwYXRoIGQ9XCJtMTc5LjE2NCAxNDUuMDAyaDkxLjY2MWM1LjAyOCAwIDkuMTY1IDQuMTM2IDkuMTY1IDkuMTY0djkxLjY2MmMwIDUuMDI3LTQuMTM3IDkuMTYzLTkuMTY1IDkuMTYzaC05MS42NjFjLTUuMDI3IDAtOS4xNjQtNC4xMzYtOS4xNjQtOS4xNjN2LTkxLjY2MmMwLTUuMDI4IDQuMTM3LTkuMTY0IDkuMTY0LTkuMTY0elwiIGZpbGw9XCIjMTg1YWJkXCIvPjxwYXRoIGQ9XCJtMjUyLjE1NCAyMzQuMzc0aC0xMi4zNzVsLTE0LjQzNy00Ny40MzYtMTUuMTI1IDQ3LjQzNmgtMTIuMzc0bC0xMy43NS02OC43NDhoMTIuMzc1bDkuNjI0IDQ4LjEyMyAxNC40MzgtNDYuNzQ4aDEwLjMxMmwxMy43NSA0Ni43NDggOS42MjQtNDguMTIzaDExLjY4N3pcIiBmaWxsPVwiI2ZmZlwiLz48L2c+PHBhdGggZD1cIm0xNzAgOTAuMDA0aDIxOS45OTN2MjE5Ljk5M2gtMjE5Ljk5M3pcIiBmaWxsPVwibm9uZVwiLz48L3N2Zz4nLFxyXG4gIFBPV0VSUE9JTlRfSUNPTiA9ICc8c3ZnIHZpZXdCb3g9XCItMC4xMjk3OTM3MjY5ODA3Nzc4NSAwIDMyLjE1MjM4OTMwMTE3Njc1NCAzMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI1MDBcIiBoZWlnaHQ9XCIyNDc4XCI+PHBhdGggZD1cIk0xOCAyQTE0LjA0MSAxNC4wNDEgMCAwIDAgNCAxNmwxNy43MzcgMy43Mzd6XCIgZmlsbD1cIiNlZDZjNDdcIi8+PHBhdGggZD1cIk0xOCAyYTE0LjA0MSAxNC4wNDEgMCAwIDEgMTQgMTRsLTcgNC43NThMMTggMTZ6XCIgZmlsbD1cIiNmZjhmNmJcIi8+PHBhdGggZD1cIk0xOCAzMGExNC4wNDEgMTQuMDQxIDAgMCAwIDE0LTE0SDRhMTQuMDQxIDE0LjA0MSAwIDAgMCAxNCAxNHpcIiBmaWxsPVwiI2QzNTIzMFwiLz48cGF0aCBkPVwiTTE2LjY2NiA3aC05LjM2YTEzLjkxNCAxMy45MTQgMCAwIDAgLjkzIDE5aDguNDNBMS4zMzcgMS4zMzcgMCAwIDAgMTggMjQuNjY3VjguMzMzQTEuMzM3IDEuMzM3IDAgMCAwIDE2LjY2NiA3elwiIG9wYWNpdHk9XCIuMVwiLz48cGF0aCBkPVwiTTE1LjY2NiA4SDYuNTRhMTMuOTA2IDEzLjkwNiAwIDAgMCAyLjg0NSAxOWg2LjI4MkExLjMzNyAxLjMzNyAwIDAgMCAxNyAyNS42NjdWOS4zMzNBMS4zMzcgMS4zMzcgMCAwIDAgMTUuNjY2IDh6XCIgb3BhY2l0eT1cIi4yXCIvPjxwYXRoIGQ9XCJNMTUuNjY2IDhINi41NGExMy44OSAxMy44OSAwIDAgMCAuNzY2IDE3aDguMzYxQTEuMzM3IDEuMzM3IDAgMCAwIDE3IDIzLjY2N1Y5LjMzM0ExLjMzNyAxLjMzNyAwIDAgMCAxNS42NjYgOHpcIiBvcGFjaXR5PVwiLjJcIi8+PHBhdGggZD1cIk0xNC42NjYgOEg2LjU0YTEzLjg5IDEzLjg5IDAgMCAwIC43NjYgMTdoNy4zNjFBMS4zMzcgMS4zMzcgMCAwIDAgMTYgMjMuNjY3VjkuMzMzQTEuMzM3IDEuMzM3IDAgMCAwIDE0LjY2NiA4elwiIG9wYWNpdHk9XCIuMlwiLz48cGF0aCBkPVwiTTEuMzMzIDhoMTMuMzM0QTEuMzMzIDEuMzMzIDAgMCAxIDE2IDkuMzMzdjEzLjMzNEExLjMzMyAxLjMzMyAwIDAgMSAxNC42NjcgMjRIMS4zMzNBMS4zMzMgMS4zMzMgMCAwIDEgMCAyMi42NjdWOS4zMzNBMS4zMzMgMS4zMzMgMCAwIDEgMS4zMzMgOHpcIiBmaWxsPVwiI2M0M2UxY1wiLz48cGF0aCBkPVwiTTcuOTk3IDExYTQuMTY4IDQuMTY4IDAgMCAxIDIuNzU1LjgwNSAyLjg3OCAyLjg3OCAwIDAgMSAuOTU2IDIuMzMxIDIuNzI2IDIuNzI2IDAgMCAxLS40NzMgMS41ODggMy4xNjQgMy4xNjQgMCAwIDEtMS4zNDQgMS4xODYgNC41NyA0LjU3IDAgMCAxLTIuMDIuNDI0aC0xLjkxVjIxSDRWMTF6TTUuOTYgMTUuNjgzaDEuNjg3YTIuMTk0IDIuMTk0IDAgMCAwIDEuNDkyLS40NDQgMS4xMDcgMS4xMDcgMCAwIDAgLjUwNC0xLjAyNnEwLTEuNjU5LTEuOTMzLTEuNjU5SDUuOTZ6XCIgZmlsbD1cIiNmOWY3ZjdcIi8+PHBhdGggZD1cIk0wIDBoMzJ2MzJIMHpcIiBmaWxsPVwibm9uZVwiLz48L3N2Zz4nLFxyXG4gIFBERl9JQ09OID0gJzxzdmcgdmVyc2lvbj1cIjEuMVwiIHZpZXdCb3g9XCIwIDAgMTQgMTZcIiB4bWw6c3BhY2U9XCJwcmVzZXJ2ZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48ZyB0cmFuc2Zvcm09XCJtYXRyaXgoLjA0NTg5IDAgMCAuMDQ1ODkgLS42Njg3NyAtLjczMzc5KVwiPjxwb2x5Z29uIHBvaW50cz1cIjUxLjc5MSAzNTYuNjUgNTEuNzkxIDIzLjk5IDIwNC41IDIzLjk5IDI4Mi42NSAxMDIuMDcgMjgyLjY1IDM1Ni42NVwiIGZpbGw9XCIjZmZmXCIgc3Ryb2tlLXdpZHRoPVwiMjEyLjY1XCIvPjxwYXRoIGQ9XCJtMjAxLjE5IDMxLjk5IDczLjQ2IDczLjM5M3YyNDMuMjZoLTIxNC44NnYtMzE2LjY2aDE0MS40bTYuNjIzLTE2aC0xNjQuMDJ2MzQ4LjY2aDI0Ni44NXYtMjY1Ljl6XCIgc3Ryb2tlLXdpZHRoPVwiMjEuNzkxXCIvPjwvZz48ZyB0cmFuc2Zvcm09XCJtYXRyaXgoLjA0NTg5IDAgMCAuMDQ1ODkgLS42Njg3NyAtLjczMzc5KVwiPjxwb2x5Z29uIHBvaW50cz1cIjI4Mi42NSAzNTYuNjUgNTEuNzkxIDM1Ni42NSA1MS43OTEgMjMuOTkgMjA0LjUgMjMuOTkgMjA2LjMxIDI1LjggMjA2LjMxIDEwMC4zMyAyODAuOSAxMDAuMzMgMjgyLjY1IDEwMi4wN1wiIGZpbGw9XCIjZmZmXCIgc3Ryb2tlLXdpZHRoPVwiMjEyLjY1XCIvPjxwYXRoIGQ9XCJtMTk4LjMxIDMxLjk5djc2LjMzN2g3Ni4zMzd2MjQwLjMyaC0yMTQuODZ2LTMxNi42NmgxMzguNTJtOS41LTE2aC0xNjQuMDJ2MzQ4LjY2aDI0Ni44NXYtMjY1LjlsLTYuNDMtNi40MjRoLTY5LjkwN3YtNjkuODQyelwiIHN0cm9rZS13aWR0aD1cIjIxLjc5MVwiLz48L2c+PGcgdHJhbnNmb3JtPVwibWF0cml4KC4wNDU4OSAwIDAgLjA0NTg5IC0uNjY4NzcgLS43MzM3OSlcIiBzdHJva2Utd2lkdGg9XCIyMS43OTFcIj48cG9seWdvbiBwb2ludHM9XCIyNTguMzEgODcuNzUgMjE5LjY0IDg3Ljc1IDIxOS42NCA0OC42NjcgMjU4LjMxIDg2LjM4XCIvPlx0XHQ8cGF0aCBkPVwibTIyNy42NCA2Ny42NDYgMTIuNDEgMTIuMTA0aC0xMi40MXYtMTIuMTA0bS01LjAwMi0yNy4yMjloLTEwLjk5OHY1NS4zMzNoNTQuNjY2di0xMi43NDJ6XCIvPjwvZz48ZyB0cmFuc2Zvcm09XCJtYXRyaXgoLjA0NTg5IDAgMCAuMDQ1ODkgLS42Njg3NyAtLjczMzc5KVwiIGZpbGw9XCIjZWQxYzI0XCIgc3Ryb2tlLXdpZHRoPVwiMjEyLjY1XCI+PHBvbHlnb24gcG9pbnRzPVwiMzExLjg5IDI4NC40OSAyMi41NDQgMjg0LjQ5IDIyLjU0NCAxNjcuNjggMzcuMjkxIDE1Mi45NCAzNy4yOTEgMTcxLjQ5IDI5Ny4xNSAxNzEuNDkgMjk3LjE1IDE1Mi45NCAzMTEuODkgMTY3LjY4XCIvPjxwYXRoIGQ9XCJtMzAzLjY1IDE2OC42MyAxLjc0NyAxLjc0N3YxMDcuNjJoLTI3Ni4zNXYtMTA3LjYybDEuNzQ3LTEuNzQ3djkuMzYyaDI3Mi44NXYtOS4zNjJtLTEyLjk5OS0zMS4zODV2MjcuNzQ3aC0yNDYuODZ2LTI3Ljc0N2wtMjcuNzQ3IDI3Ljc0N3YxMjZoMzAyLjM1di0xMjZ6XCIvPjwvZz48cmVjdCB4PVwiMS43MjE5XCIgeT1cIjcuOTU0NFwiIHdpZHRoPVwiMTAuNjg0XCIgaGVpZ2h0PVwiNC4wMzA3XCIgZmlsbD1cIm5vbmVcIi8+PGcgdHJhbnNmb3JtPVwibWF0cml4KC4wNDU4OSAwIDAgLjA0NTg5IDEuNzIxOSAxMS43MzMpXCIgZmlsbD1cIiNmZmZcIiBzdHJva2Utd2lkdGg9XCIyMS43OTFcIiBhcmlhLWxhYmVsPVwiUERGXCI+PHBhdGggZD1cIm05LjIxNiAwdi04My4yaDMwLjQ2NHE2Ljc4NCAwIDEyLjkyOCAxLjQwOCA2LjE0NCAxLjI4IDEwLjc1MiA0LjYwOCA0LjYwOCAzLjIgNy4yOTYgOC41NzYgMi44MTYgNS4yNDggMi44MTYgMTMuMDU2IDAgNy42OC0yLjgxNiAxMy4xODQtMi42ODggNS41MDQtNy4yOTYgOS4wODgtNC42MDggMy40NTYtMTAuNjI0IDUuMjQ4LTYuMDE2IDEuNjY0LTEyLjU0NCAxLjY2NGgtOC45NnYyNi4zNjh6bTIyLjAxNi00My43NzZoNy45MzZxNi41MjggMCA5LjYtMy4wNzIgMy4yLTMuMDcyIDMuMi04LjcwNHQtMy40NTYtNy45MzYtOS44NTYtMi4zMDRoLTcuNDI0elwiLz48cGF0aCBkPVwibTg3LjA0IDB2LTgzLjJoMjQuNTc2cTkuNDcyIDAgMTcuMjggMi4zMDQgNy45MzYgMi4zMDQgMTMuNTY4IDcuMjk2dDguNzA0IDEyLjhxMy4yIDcuODA4IDMuMiAxOC44MTZ0LTMuMDcyIDE4Ljk0NC04LjcwNCAxMy4wNTZxLTUuNTA0IDUuMTItMTMuMTg0IDcuNTUyLTcuNTUyIDIuNDMyLTE2LjUxMiAyLjQzMnptMjIuMDE2LTE3LjY2NGgxLjI4cTQuNDggMCA4LjQ0OC0xLjAyNCAzLjk2OC0xLjE1MiA2Ljc4NC0zLjg0IDIuOTQ0LTIuNjg4IDQuNjA4LTcuNDI0dDEuNjY0LTEyLjAzMi0xLjY2NC0xMS45MDQtNC42MDgtNy4xNjhxLTIuODE2LTIuNTYtNi43ODQtMy40NTYtMy45NjgtMS4wMjQtOC40NDgtMS4wMjRoLTEuMjh6XCIvPjxwYXRoIGQ9XCJtMTY5LjIyIDB2LTgzLjJoNTQuMjcydjE4LjQzMmgtMzIuMjU2djE1Ljg3MmgyNy42NDh2MTguNDMyaC0yNy42NDh2MzAuNDY0elwiLz48L2c+PC9zdmc+JztcclxuXHJcbmNvbnN0IFRIRU1FUzogVGhlbWVbXSA9IFtcclxuICB7IG5hbWU6ICdkZWZhdWx0JywgcHJpbWFyeTogJ3B1cnBsZScsIGNvbG9yOiAncHVycGxlJywgYWNjZW50OiAnYW1iZXInLCB0aXRsZTogJ1B1cnBsZVRoZW1lJyB9LFxyXG4gIHsgbmFtZTogJ2luZGlnbycsIHByaW1hcnk6ICdpbmRpZ28nLCBjb2xvcjogJyMzZjUxYjUnLCBhY2NlbnQ6ICdwaW5rJywgdGl0bGU6ICdJbmRpZ29UaGVtZScgfSxcclxuICB7IG5hbWU6ICdncmVlbicsIHByaW1hcnk6ICdncmVlbicsIGNvbG9yOiAnIzRDQUY1MCcsIGFjY2VudDogJ2FtYmVyJywgdGl0bGU6ICdHcmVlblRoZW1lJyB9LFxyXG4gIHsgbmFtZTogJ2RhcmsnLCBwcmltYXJ5OiAnZGVlcFB1cnBsZScsIGNvbG9yOiAnIzQwNDA0MScsIGFjY2VudDogJ2FtYmVyJywgZGFyazogdHJ1ZSwgdGl0bGU6ICdEZWVwVGhlbWUnIH0sXHJcbiAgeyBuYW1lOiAnYnJvd24nLCBwcmltYXJ5OiAnYnJvd24nLCBjb2xvcjogJyM3OTU1NDgnLCBhY2NlbnQ6ICdncmV5JywgdGl0bGU6ICdHcmF5VGhlbWUnIH1dO1xyXG5cclxuY29uc3QgU1VQUE9SVEVEX0xBTkdVQUdFUyA9IFsnZW4nLCAnaGUnLCAnZGUnLCAnYXInLCAncnUnXSxcclxuICBSVExfTEFOR1VBTEdFUyA9IFsnaGUnLCAnYXInXTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBTZXNzaW9uUHJvdmlkZXJGYWN0b3J5KHByb3ZpZGVyOiBTZXNzaW9uU2VydmljZSkge1xyXG4gIHJldHVybiAoKSA9PiBwcm92aWRlci5wcmVwYXJlKCk7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBTZXNzaW9uU2VydmljZSB7XHJcbiAgcHJlcGFyZSgpIHtcclxuICAgICgnc2VydmljZVdvcmtlcicgaW4gbmF2aWdhdG9yKSAmJiB0aGlzLl9sb2FkU2VydmljZVdvcmtlcigpO1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5tYXBzID8gdGhpcy5fbG9hZEdvb2dsZU1hcHMoKSA6IFByb21pc2UucmVzb2x2ZSgpO1xyXG4gIH1cclxuICByZWFkb25seSBUaGVtZXM6IFRoZW1lW10gPSB0aGlzLl9jb25maWcudGhlbWVzIHx8IFRIRU1FUztcclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEJJWkRPQ19DT05GSUcpIHByaXZhdGUgX2NvbmZpZzogQml6RG9jQ29uZmlnLFxyXG4gICAgcHJpdmF0ZSBfaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgX2Nvb2tpZXM6IENvb2tpZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9odWI6IEh1YlNlcnZpY2UsXHJcbiAgICBpY29uUmVnaXN0cnk6IE1hdEljb25SZWdpc3RyeSxcclxuICAgIHNhbml0aXplcjogRG9tU2FuaXRpemVyXHJcbiAgKSB7XHJcbiAgICBpY29uUmVnaXN0cnkuYWRkU3ZnSWNvbkxpdGVyYWwoJ2V4Y2VsJywgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKEVYQ0VMX0lDT04pKTtcclxuICAgIGljb25SZWdpc3RyeS5hZGRTdmdJY29uTGl0ZXJhbCgnd29yZCcsIHNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChXT1JEX0lDT04pKTtcclxuICAgIGljb25SZWdpc3RyeS5hZGRTdmdJY29uTGl0ZXJhbCgncG93ZXJwb2ludCcsIHNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChQT1dFUlBPSU5UX0lDT04pKTtcclxuICAgIGljb25SZWdpc3RyeS5hZGRTdmdJY29uTGl0ZXJhbCgncGRmJywgc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKFBERl9JQ09OKSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgX2xvYWRlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfdGhlbWVDaGFuZ2UgPSBuZXcgU3ViamVjdDxUaGVtZT4oKTtcclxuICByZWFkb25seSBsb2FkZWQgPSB0aGlzLl9sb2FkZWQuYXNPYnNlcnZhYmxlKCk7XHJcbiAgcmVhZG9ubHkgdGhlbWVDaGFuZ2UgPSB0aGlzLl90aGVtZUNoYW5nZS5hc09ic2VydmFibGUoKTtcclxuICBwcml2YXRlIF9wcm9maWxlOiBQcm9maWxlO1xyXG4gIHByaXZhdGUgX2xhbmc6IHN0cmluZztcclxuICBwcml2YXRlIF9maXJlYmFzZSA9IG5ldyBGaXJlYmFzZVNlcnZpY2UodGhpcy5fY29uZmlnID8gdGhpcy5fY29uZmlnLmZpcmViYXNlIDogdW5kZWZpbmVkLCB0aGlzKTtcclxuICBnZXQgcHJvZmlsZSgpOiBQcm9maWxlIHsgcmV0dXJuIHRoaXMuX3Byb2ZpbGU7IH1cclxuICBnZXQgZ2VuZGVyKCk6IEdlbmRlciB8IHVuZGVmaW5lZCB7IHJldHVybiB0aGlzLnByb2ZpbGUuYnlJZCA/IHRoaXMuX3Byb2ZpbGUuYnlHZW5kZXIgOiB0aGlzLl9wcm9maWxlLmdlbmRlcjsgfVxyXG4gIHByaXZhdGUgX2FjY2VudHBhbGV0dGU6IHN0cmluZ1tdO1xyXG4gIGdldCBhY2NlbnRQYWxldHRlKCk6IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLl9hY2NlbnRwYWxldHRlO1xyXG4gIH1cclxuICBwcml2YXRlIF9jb25zdHJ1Y3RwYWxldHRlKGNvbG9yOiBzdHJpbmcpOiBzdHJpbmdbXSB7XHJcbiAgICBjb25zdCBwYWxldHRlID0gTUFURVJJQUxfUEFMRVRURVNbY29sb3JdO1xyXG4gICAgcmV0dXJuIFtwYWxldHRlWycxMDAnXSwgcGFsZXR0ZVsnMzAwJ10sIHBhbGV0dGVbJzUwMCddLCBwYWxldHRlWyc3MDAnXSwgcGFsZXR0ZVsnOTAwJ10sXHJcbiAgICBwYWxldHRlWycyMDAnXSwgcGFsZXR0ZVsnNDAwJ10sIHBhbGV0dGVbJzYwMCddLCBwYWxldHRlWyc4MDAnXSwgcGFsZXR0ZVsnaGV4J10sXHJcbiAgICBwYWxldHRlWydhMTAwJ10sIHBhbGV0dGVbJ2E0MDAnXSwgcGFsZXR0ZVsnYTIwMCddLCBwYWxldHRlWydhNzAwJ11dO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcHJpbWFyeXBhbGV0dGU6IHN0cmluZ1tdO1xyXG4gIGdldCBwcmltZXJ5UGFsZXR0ZSgpOiBzdHJpbmdbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcHJpbWFyeXBhbGV0dGU7XHJcbiAgfVxyXG4gIGdldEFjY2VudChtb2RlOiBNYXRlcmlhbE1vZGUgPSA1MDApOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIE1BVEVSSUFMX1BBTEVUVEVTW3RoaXMudGhlbWUuYWNjZW50XVttb2RlXTtcclxuICB9XHJcbiAgZ2V0UHJpbWVyeShtb2RlOiBNYXRlcmlhbE1vZGUgPSA1MDApOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIE1BVEVSSUFMX1BBTEVUVEVTW3RoaXMudGhlbWUucHJpbWFyeV1bbW9kZV07XHJcbiAgfVxyXG4gIHByaXZhdGUgX3RoZW1lOiBUaGVtZTtcclxuICBnZXQgdGhlbWUoKTogVGhlbWUge1xyXG4gICAgaWYgKCF0aGlzLl90aGVtZSkge1xyXG4gICAgICBjb25zdCBuYW1lID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3RoZW1lJyk7XHJcbiAgICAgIHRoaXMuX3RoZW1lID0gbmFtZSA/IHRoaXMuVGhlbWVzLmZpbmQodCA9PiB0Lm5hbWUgPT09IG5hbWUpISA6XHJcbiAgICAgICAgdGhpcy5UaGVtZXNbMF07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5fdGhlbWU7XHJcbiAgfVxyXG4gIHNldCB0aGVtZSh2YWx1ZTogVGhlbWUpIHtcclxuICAgIHRoaXMuX3RoZW1lID0gdmFsdWU7XHJcbiAgICB0aGlzLl9jaGFuZ2VUaGVtZSh2YWx1ZSkudGhlbigoKSA9PlxyXG4gICAgICB0aGlzLl90aGVtZUNoYW5nZS5uZXh0KHZhbHVlKSk7XHJcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndGhlbWUnLCB2YWx1ZS5uYW1lKTtcclxuICB9XHJcbiAgZ2V0IG9rKCk6IGJvb2xlYW4geyByZXR1cm4gdGhpcy5wcm9maWxlICE9PSB1bmRlZmluZWQ7IH1cclxuICAvKiogbGFuZ3VhZ2UgZGlyZWN0aW9uICovXHJcbiAgZ2V0IGRpcmVjdGlvbigpOiBEaXJlY3Rpb24ge1xyXG4gICAgcmV0dXJuIFJUTF9MQU5HVUFMR0VTLmluZGV4T2YodGhpcy5sYW5ndWFnZSkgPiAtMSA/ICdydGwnIDogJ2x0cic7XHJcbiAgfVxyXG4gIGdldCBpbnZlcnNlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZGlyZWN0aW9uID09PSAncnRsJztcclxuICB9XHJcbiAgZ2V0IHVzZXJJZCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Byb2ZpbGUuYnlJZCB8fCB0aGlzLnByb2ZpbGUudXNlcklkO1xyXG4gIH1cclxuICBnZXQgbG9jYWxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2Uuc3BsaXQoJy0nKVswXTtcclxuICB9XHJcbiAgZ2V0IGxhbmd1YWdlKCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRoaXMuX2xhbmcpXHJcbiAgICAgIHRoaXMuX2xhbmcgPSB0aGlzLl9jb29raWVzLmdldCgnbGFuZycpIHx8IHRoaXMuX2dldEJyb3dzZXJMYW5nKCkgfHwgU1VQUE9SVEVEX0xBTkdVQUdFU1swXTtcclxuICAgIHJldHVybiB0aGlzLl9sYW5nO1xyXG4gIH1cclxuICBnZXQgYXJpYSgpIHsgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdhcmlhJykgPT09ICcxJyB9XHJcbiAgc2V0IGFyaWEodmFsOiBib29sZWFuKSB7IGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdhcmlhJywgdmFsID8gJzEnIDogJzAnKSB9XHJcbiAgc2V0IGxhbmd1YWdlKGNvZGU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fY29va2llcy5zZXQoJ2xhbmcnLCBjb2RlLCAzNjUsICcvJyk7XHJcbiAgfVxyXG4gIGdldCBsYW5ndWFnZXMoKTogc3RyaW5nW10geyByZXR1cm4gdGhpcy5fY29uZmlnLmxhbmd1YWdlcyB8fCBTVVBQT1JURURfTEFOR1VBR0VTOyB9XHJcbiAgZ2V0IGlzSW1wZXJzb25hdGluZygpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMucHJvZmlsZS5ieUlkICE9PSB1bmRlZmluZWQ7IH1cclxuICAvKiogc3lzdGVtIGFkbWluICovXHJcbiAgZ2V0IGlzU3lzdGVtKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMucHJvZmlsZS5zeXN0ZW07XHJcbiAgfVxyXG4gIC8qKiBvbmxpbmUgb3Igc2V0IGluIHByb2ZpbGUgKi9cclxuICBnZXQgc3RhdGUoKTogQXZhaWxhYmlsaXR5U3RhdGUge1xyXG4gICAgcmV0dXJuIHRoaXMucHJvZmlsZS5hdmFpbGFibGUgfHwgJ09ubGluZSc7XHJcbiAgfVxyXG4gIHNldCBzdGF0ZSh2YWx1ZTogQXZhaWxhYmlsaXR5U3RhdGUpIHtcclxuICAgIHRoaXMucHJvZmlsZS5hdmFpbGFibGUgPSB2YWx1ZSA9PT0gJ09ubGluZScgPyBudWxsIDogdmFsdWU7XHJcbiAgICB0aGlzLl9odHRwLnB1dChgL2FwaS9hY2NvdW50L2F2YWlsYWJsZT9tb2RlPSR7dGhpcy5wcm9maWxlLmF2YWlsYWJsZSB8fCAnJ31gLCB7fSkuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG4gIGlzSW5Sb2xlKHJvbGU6IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAuZ2V0KCcvYXBpL2FjY291bnQvaXNJblJvbGUnLCB7XHJcbiAgICAgIHBhcmFtczogeyByb2xlIH0sXHJcbiAgICAgIHJlc3BvbnNlVHlwZTogJ3RleHQnIGFzIGNvbnN0XHJcbiAgICB9KS5waXBlKG1hcChyID0+IHIgPT09ICd0cnVlJykpO1xyXG4gIH1cclxuICAvKiogKi9cclxuICBnZXQgaXNPdXRPZk9mZmljZSgpOiBib29sZWFuIHtcclxuICAgIGNvbnN0IG9wdGlvbnMgPSB0aGlzLnByb2ZpbGUub3B0aW9ucy5vdXRPZk9mZmljZTtcclxuICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuYWN0aXZlKSB7XHJcbiAgICAgIGNvbnN0IHRvZGF5ID0gZGF5anMoKS5zdGFydE9mKCdkYXknKTtcclxuICAgICAgcmV0dXJuICghb3B0aW9ucy5mcm9tIHx8IGRheWpzKG9wdGlvbnMuZnJvbSkuc3RhcnRPZignZGF5JykgPD0gdG9kYXkpXHJcbiAgICAgICAgJiYgKCFvcHRpb25zLnRvIHx8IGRheWpzKG9wdGlvbnMudG8pLnN0YXJ0T2YoJ2RheScpID49IHRvZGF5KTtcclxuICAgIH1cclxuICAgIGVsc2UgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuICAvKiogdXBkYXRlIHByb2ZpbGUgICovXHJcbiAgdXBkYXRlKHByb2ZpbGU6IE9wdGlvbnMpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucHV0KCcvYXBpL2FjY291bnQvdXBkYXRlJywgcHJvZmlsZSkucGlwZSh0YXAoKCkgPT5cclxuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLl9wcm9maWxlLm9wdGlvbnMsIHByb2ZpbGUpKSk7XHJcbiAgfVxyXG4gIC8qKiBtYXJrIGd1aWRlIGFzIHZpc2l0ZWQgaW4gcHJvZmlsZSAqL1xyXG4gIGd1aWRlKG5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wdXQoYC9hcGkvYWNjb3VudC9ndWlkZS8ke2VuY29kZVVSSUNvbXBvbmVudChuYW1lKX1gLCB7fSwgeyBoZWFkZXJzOiB7ICduby1wcm9ncmVzcyc6ICd0cnVlJyB9IH0pLnBpcGUoXHJcbiAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgZ3VpZGUgPSB0aGlzLl9wcm9maWxlLmd1aWRlcyEuZmluZChnID0+IGcubmFtZSA9PT0gbmFtZSk7XHJcbiAgICAgICAgaWYgKGd1aWRlKSBndWlkZS5tb2RlID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIHRoaXMuX3Byb2ZpbGUub3B0aW9ucy5ndWlkZXMhLnB1c2gobmFtZSk7XHJcbiAgICAgIH0pKTtcclxuICB9XHJcbiAgLyoqIGdldCBwcm9maWxlICovXHJcbiAgcmVmcmVzaCgpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPGFueT4ob2JzZXJ2ZSA9PiB7XHJcbiAgICAgIGNvbnN0IGNvbXBsZXRlID0gKHByb2ZpbGU6IFByb2ZpbGUpID0+IHtcclxuICAgICAgICB0aGlzLl9wcm9maWxlID0gcHJvZmlsZTtcclxuICAgICAgICBvYnNlcnZlLm5leHQoKTtcclxuICAgICAgICB0aGlzLl9sb2FkZWQubmV4dCgpO1xyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLl9odHRwLmdldDxQcm9maWxlPignL2FwaS9hY2NvdW50L3JlZnJlc2gnKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IHIgPT4ge1xyXG4gICAgICAgICAgaWYgKCF0aGlzLl9wcm9maWxlKSAvLyAxc3QgdGltZVxyXG4gICAgICAgICAgICB0aGlzLl9jaGFuZ2VUaGVtZSh0aGlzLnRoZW1lKS5cclxuICAgICAgICAgICAgICB0aGVuKCgpID0+IGNvbXBsZXRlKHIpKTtcclxuICAgICAgICAgIGVsc2UgY29tcGxldGUocik7XHJcbiAgICAgICAgICB0aGlzLl9odWIuc3RhdGUgIT09IEh1YkNvbm5lY3Rpb25TdGF0ZS5Db25uZWN0ZWQgJiYgdGhpcy5faHViLnN0YXJ0KCk7XHJcbiAgICAgICAgICB0aGlzLl9maXJlYmFzZS5zdGF0ZSAhPT0gRmlyZWJhc2VTdGF0ZS5BY3RpdmF0ZWQgJiZcclxuICAgICAgICAgICAgdGhpcy5fZmlyZWJhc2UuYWN0aXZhdGUoKTtcclxuICAgICAgICB9LCBlcnJvcjogb2JzZXJ2ZS5lcnJvci5iaW5kKHRoaXMpXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXRQcm9maWxlRXh0cmE8VCA9IGFueT4obmFtZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8VD4oYC9hcGkvYWNjb3VudC9leHRyYS8ke25hbWV9YCk7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXRQcm9maWxlRXh0cmE8VCA9IGFueT4obmFtZTogc3RyaW5nLCBwcm9maWxlOiBUKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wb3N0KGAvYXBpL2FjY291bnQvZXh0cmEvJHtuYW1lfWAsIHByb2ZpbGUpO1xyXG4gIH1cclxuICBwdWJsaWMgdW5yZWdpc3RlckRldmljZSh0eXBlOiBzdHJpbmcsIHRva2VuOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2h0dHAucG9zdCgnL2FwaS9hY2NvdW50L3VucmVnaXN0ZXJEZXZpY2UnLCB7IHR5cGUsIHRva2VuIH0pO1xyXG4gIH1cclxuICBwdWJsaWMgcmVnaXN0ZXJEZXZpY2UodHlwZTogc3RyaW5nLCB0b2tlbjogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9odHRwLnBvc3QoJy9hcGkvYWNjb3VudC9yZWdpc3RlckRldmljZScsIHsgdHlwZSwgdG9rZW4gfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSBzZWFyY2hcclxuICAgKiBAcmV0dXJuc1xyXG4gICAqL1xyXG4gIHB1YmxpYyBsaXN0SW1wZXJzb25hdGUoc2VhcmNoPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxVc2VySW5mb1tdPiB7XHJcbiAgICBjb25zdCBwYXJhbXM6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB7fTtcclxuICAgIGlmIChzZWFyY2gpIHBhcmFtc1snc2VhcmNoJ10gPSBzZWFyY2g7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5nZXQ8VXNlckluZm9bXT4oJy9hcGkvYWNjb3VudC9ncmFudGVkJywge1xyXG4gICAgICBwYXJhbXNcclxuICAgIH0pO1xyXG4gIH1cclxuICBwdWJsaWMgaW1wZXJzb25hdGUodXNlcklkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFVzZXJJbmZvPiB7XHJcbiAgICByZXR1cm4gdGhpcy5faHR0cC5wb3N0PFVzZXJJbmZvPignL2FwaS9hY2NvdW50L2ltcGVyc29uYXRlJywge1xyXG4gICAgICB1c2VySWRcclxuICAgIH0pO1xyXG4gIH1cclxuICBwdWJsaWMgaW5ib3hUb3VjaCgpIHtcclxuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLl9odHRwLnB1dDxXYXRlcm1hcmtJbmZvPignL2FwaS9hY2NvdW50L2luYm94dmlldycsIHt9LCB7IGhlYWRlcnM6IHsgJ25vLXByb2dyZXNzJzogJ3RydWUnIH0gfSkucGlwZShcclxuICAgICAgdGFwKGUgPT4ge1xyXG4gICAgICAgIHRoaXMucHJvZmlsZS5pbmJveENvdW50ID0gMDtcclxuICAgICAgICB0aGlzLnByb2ZpbGUub3B0aW9ucy5pbmJveFZpZXcgPSBlLnRpbWU7XHJcbiAgICAgIH0pKSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBub3RpZmljYXRpb25zVG91Y2goKSB7XHJcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20odGhpcy5faHR0cC5wdXQ8V2F0ZXJtYXJrSW5mbz4oJy9hcGkvYWNjb3VudC9ub3RpZmljYXRpb25zVmlldycsIHt9LCB7IGhlYWRlcnM6IHsgJ25vLXByb2dyZXNzJzogJ3RydWUnIH0gfSkucGlwZSh0YXAoZSA9PiB7XHJcbiAgICAgIHRoaXMucHJvZmlsZS5ub3RpZmljYXRpb25zQ291bnQgPSAwO1xyXG4gICAgICB0aGlzLnByb2ZpbGUub3B0aW9ucy5ub3RpZmljYXRpb25zVmlldyA9IGUudGltZTtcclxuICAgIH0pKSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2dldEJyb3dzZXJMYW5nKCk6IHN0cmluZyB8IG51bGwge1xyXG4gICAgbGV0IGxhbmc6IHN0cmluZyB8IHVuZGVmaW5lZCA9IG5hdmlnYXRvci5sYW5ndWFnZTtcclxuICAgIGlmICh0aGlzLmxhbmd1YWdlcy5pbmRleE9mKGxhbmcpID4gLTEpXHJcbiAgICAgIHJldHVybiBsYW5nO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuYXZpZ2F0b3IubGFuZ3VhZ2VzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGxhbmcgPSBuYXZpZ2F0b3IubGFuZ3VhZ2VzW2ldO1xyXG4gICAgICBpZiAodGhpcy5sYW5ndWFnZXMuaW5kZXhPZihsYW5nKSA+IC0xKVxyXG4gICAgICAgIHJldHVybiBsYW5nO1xyXG4gICAgICBpZiAobGFuZy5sZW5ndGggPiAyKSB7XHJcbiAgICAgICAgbGFuZyA9IGxhbmcuc3Vic3RyaW5nKDAsIDIpLnRvTG93ZXJDYXNlKCk7XHJcbiAgICAgICAgaWYgKHRoaXMubGFuZ3VhZ2VzLmluZGV4T2YobGFuZykgPiAtMSlcclxuICAgICAgICAgIHJldHVybiBsYW5nO1xyXG4gICAgICAgIGxhbmcgPSB0aGlzLmxhbmd1YWdlcy5maW5kKGwgPT4gbC5zdGFydHNXaXRoKGxhbmchKSk7XHJcbiAgICAgICAgaWYgKGxhbmcpXHJcbiAgICAgICAgICByZXR1cm4gbGFuZztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFxyXG4gICAqIEBwYXJhbSB0aGVtZVxyXG4gICAqL1xyXG4gIHByaXZhdGUgX2NoYW5nZVRoZW1lKHRoZW1lOiBUaGVtZSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XHJcbiAgICAgIHRoaXMuX2FjY2VudHBhbGV0dGUgPSB0aGlzLl9jb25zdHJ1Y3RwYWxldHRlKHRoaXMudGhlbWUuYWNjZW50KTtcclxuICAgICAgdGhpcy5fcHJpbWFyeXBhbGV0dGUgPSB0aGlzLl9jb25zdHJ1Y3RwYWxldHRlKHRoaXMudGhlbWUucHJpbWFyeSk7XHJcbiAgICAgIGxldCBzdHlsZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdiaXpkb2MtdGhlbWUnKSBhcyBIVE1MTGlua0VsZW1lbnQ7XHJcbiAgICAgIC8vIHJlbW92ZVxyXG4gICAgICBpZiAoc3R5bGUpXHJcbiAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChzdHlsZSk7XHJcbiAgICAgIGlmICh0aGVtZS5uYW1lID09PSB0aGlzLlRoZW1lc1swXS5uYW1lKVxyXG4gICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgc3R5bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XHJcbiAgICAgICAgc3R5bGUuaWQgPSAnYml6ZG9jLXRoZW1lJztcclxuICAgICAgICBzdHlsZS50eXBlID0gJ3RleHQvY3NzJztcclxuICAgICAgICBzdHlsZS5yZWwgPSAnc3R5bGVzaGVldCc7XHJcbiAgICAgICAgc3R5bGUuaHJlZiA9IGAvYXNzZXRzL3RoZW1lcy8ke3RoZW1lLm5hbWV9Lm1pbi5jc3NgO1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kKHN0eWxlKTtcclxuICAgICAgICBzdHlsZS5vbmxvYWQgPSAoKSA9PiByZXNvbHZlKCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIF9sb2FkU2VydmljZVdvcmtlcigpIHtcclxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZnVuY3Rpb24gKCkge1xyXG4gICAgICBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcignL2pzL2FwcC1zdy5qcycpLnRoZW4oZnVuY3Rpb24gKCkge1xyXG4gICAgICB9LCBudWxsKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIF9sb2FkR29vZ2xlTWFwcygpIHtcclxuICAgIGNvbnN0IGFwaUtleSA9ICh0aGlzLl9jb25maWcubWFwcyBhcyBHb29nbGVNYXBzU2V0dGluZ3MpLmFwaUtleTtcclxuICAgIGNvbnN0IGxvYWRlciA9IG5ldyBMb2FkZXIoe1xyXG4gICAgICBhcGlLZXksXHJcbiAgICAgIGxpYnJhcmllczogWydwbGFjZXMnXSxcclxuICAgICAgbGFuZ3VhZ2U6IHRoaXMubGFuZ3VhZ2UsXHJcbiAgICAgIHZlcnNpb246ICd3ZWVrbHknLFxyXG4gICAgfSk7XHJcbiAgICBjb25zdCBtYXBzID0gbG9hZGVyLmltcG9ydExpYnJhcnkoJ21hcHMnKTtcclxuICAgIHJldHVybiBtYXBzO1xyXG4gIH1cclxufVxyXG5pbnRlcmZhY2UgV2F0ZXJtYXJrSW5mbyB7XHJcbiAgdGltZTogRGF0ZTtcclxufVxyXG4iXX0=
@@ -84,7 +84,7 @@ export class PaneRef {
84
84
  ;
85
85
  get parent() { return this._options.parent; }
86
86
  ;
87
- get stretchable() { return this._stretchable; }
87
+ get stretchable() { return this._stretchable === true; }
88
88
  ;
89
89
  set stretchable(val) { this._stretchable = val; }
90
90
  get dialog() { return this._options.dialog; }
@@ -149,4 +149,4 @@ export class PaneRef {
149
149
  this._events$.complete();
150
150
  }
151
151
  }
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZS1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvc2xvdHMvcGFuZS1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBUSxRQUFRLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBYyxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJekUsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLEdBQUcsRUFBRSxTQUFTLEdBQUcsR0FBRyxFQUFFLFFBQVEsR0FBRyxHQUFHLEVBQUUsU0FBUyxHQUFHLEdBQUcsQ0FBQztBQUVoRixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsSUFBSSxjQUFjLENBQWMsT0FBTyxDQUFDLENBQUM7QUFFbkUsTUFBTSxPQUFnQixjQUFjO0lBRTNCLGNBQWM7UUFDbkIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFDOUIsQ0FBQztDQUNGO0FBQ0QsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGNBQWM7Q0FDckQ7QUFDRCxNQUFNLE9BQU8sY0FBZSxTQUFRLGNBQWM7Q0FDakQ7QUFDRCxNQUFNLE9BQWdCLGtCQUE0QixTQUFRLGNBQWM7SUFDdEUsWUFBb0IsS0FBaUI7UUFDbkMsS0FBSyxFQUFFLENBQUM7UUFEVSxVQUFLLEdBQUwsS0FBSyxDQUFZO0lBRXJDLENBQUM7SUFDRCxJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztDQUNGO0FBQ0QsTUFBTSxPQUFPLGVBQWdCLFNBQVEsa0JBQWtCO0NBQ3REO0FBQ0Qsd0JBQXdCO0FBQ3hCLE1BQU0sT0FBTyxlQUFnQixTQUFRLGtCQUFrQjtDQUN0RDtBQUNE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QUNELE1BQU07UUFDSixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xyXG5pbXBvcnQgeyBUeXBlLCBJbmplY3RvciwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QsIGZpbHRlciwgT2JzZXJ2YWJsZSwgbWFwIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgUGFyYW1NYXAsIFBhbmVSb3V0ZSwgT3BlblBvbGljeSB9IGZyb20gXCIuLi9jb25maWd1cmF0aW9uXCI7XHJcbmltcG9ydCB7IERpbWVudGlvbnMgfSBmcm9tIFwiLi4vbW9kZWxzXCI7XHJcblxyXG5leHBvcnQgY29uc3QgUVVFUllfQ0hBUiA9ICc6JywgUEFUSF9DSEFSID0gJzsnLCBBUkdfQ0hBUiA9ICcmJywgUEFORV9DSEFSID0gJ34nO1xyXG5cclxuZXhwb3J0IGNvbnN0IFBBTkVTX0RBVEEgPSBuZXcgSW5qZWN0aW9uVG9rZW48UGFuZVJvdXRlW10+KCdwYW5lcycpO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE5hdmlnYXRpb25CYXNlIHtcclxuICBfcHJldmVudERlZmF1bHQ6IGJvb2xlYW47XHJcbiAgcHVibGljIHByZXZlbnREZWZhdWx0KCkge1xyXG4gICAgdGhpcy5fcHJldmVudERlZmF1bHQgPSB0cnVlO1xyXG4gIH1cclxufVxyXG5leHBvcnQgY2xhc3MgQ29sbGFwc2VOYXZpZ2F0aW9uIGV4dGVuZHMgTmF2aWdhdGlvbkJhc2Uge1xyXG59XHJcbmV4cG9ydCBjbGFzcyBCYWNrTmF2aWdhdGlvbiBleHRlbmRzIE5hdmlnYXRpb25CYXNlIHtcclxufVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTmF2aWdhdGlvblBhbmVCYXNlPFQgPSBhbnk+IGV4dGVuZHMgTmF2aWdhdGlvbkJhc2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3BhbmU6IFBhbmVSZWY8VD4pIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXQgcGFuZSgpOiBQYW5lUmVmPFQ+IHtcclxuICAgIHJldHVybiB0aGlzLl9wYW5lO1xyXG4gIH1cclxufVxyXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvblN0YXJ0IGV4dGVuZHMgTmF2aWdhdGlvblBhbmVCYXNlIHtcclxufVxyXG4vKiogcGFuZSBmdWN1cyBjaGFuZ2UgKi9cclxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25Gb2N1cyBleHRlbmRzIE5hdmlnYXRpb25QYW5lQmFzZSB7XHJcbn1cclxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25FbmQ8VCA9IGFueT4gZXh0ZW5kcyBOYXZpZ2F0aW9uUGFuZUJhc2U8VD4ge1xyXG59XHJcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uTW9kZTxUID0gYW55PiBleHRlbmRzIE5hdmlnYXRpb25QYW5lQmFzZTxUPiB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IG1vZGU6IFBhbmVNb2RlLCBwYW5lOiBQYW5lUmVmPFQ+KSB7XHJcbiAgICBzdXBlcihwYW5lKTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25FeHBhbmQ8VCA9IGFueT4gZXh0ZW5kcyBOYXZpZ2F0aW9uUGFuZUJhc2U8VD4ge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBleHBlbmRlZDogYm9vbGVhbiwgcGFuZTogUGFuZVJlZjxUPikge1xyXG4gICAgc3VwZXIocGFuZSk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uUmVzaXplPFQgPSBhbnk+IGV4dGVuZHMgTmF2aWdhdGlvblBhbmVCYXNlPFQ+IHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgZGltZW50aW9uczogRGltZW50aW9ucywgcGFuZTogUGFuZVJlZjxUPikge1xyXG4gICAgc3VwZXIocGFuZSk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uQ2xvc2U8VCA9IGFueT4gZXh0ZW5kcyBOYXZpZ2F0aW9uUGFuZUJhc2U8VD4ge1xyXG59XHJcbmV4cG9ydCBjbGFzcyBQYXJhbU5hdmlnYXRpb248VCA9IGFueT4gZXh0ZW5kcyBOYXZpZ2F0aW9uUGFuZUJhc2U8VD4ge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBwYXJhbXM6IFBhcmFtTWFwLCBwYW5lOiBQYW5lUmVmPFQ+KSB7XHJcbiAgICBzdXBlcihwYW5lKTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGNsYXNzIFF1ZXJ5UGFyYW1OYXZpZ2F0aW9uPFQgPSBhbnk+IGV4dGVuZHMgTmF2aWdhdGlvblBhbmVCYXNlPFQ+IHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgcXVlcnlQYXJhbXM6IFBhcmFtTWFwLCBwYW5lOiBQYW5lUmVmPFQ+KSB7XHJcbiAgICBzdXBlcihwYW5lKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFBhbmVNb2RlID0gJ3RhYicgfCAncGFuZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBhbmVPcHRpb25zIHtcclxuICB0aXRsZT86IHN0cmluZztcclxuICBncm91cD86IHN0cmluZztcclxuICBoZWxwPzogc3RyaW5nO1xyXG4gIHN0YXRlPzogYW55O1xyXG4gIG9wZW5Qb2xpY3k/OiBPcGVuUG9saWN5O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQYW5lQ29tbWFuZCA9ICdleHBhbmQnIHwgJ2ZvY3VzJyB8ICdjbG9zZScgfCAncmVjeWNsZSc7XHJcbi8qKiAqL1xyXG5leHBvcnQgY2xhc3MgUGFuZVJlZjxDb21wb25lbnRUeXBlID0gYW55LCBEYXRhVHlwZSA9IFBhcmFtTWFwPiB7XHJcbiAgcmVhZG9ubHkgX2NvbW1hbmQkID0gbmV3IFN1YmplY3Q8UGFuZUNvbW1hbmQ+KCk7XHJcbiAgLyoqICovXHJcbiAgcmVhZG9ubHkgX2RhdGEkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYXRhVHlwZT4oe30gYXMgRGF0YVR5cGUpO1xyXG4gIHJlYWRvbmx5IF9wYXJhbXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXJhbU1hcD4oe30pO1xyXG4gIHJlYWRvbmx5IF9xdWVyeVBhcmFtcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFBhcmFtTWFwPih7fSk7XHJcbiAgcmVhZG9ubHkgX2V2ZW50cyQgPSBuZXcgU3ViamVjdDxOYXZpZ2F0aW9uQmFzZT4oKTtcclxuICB0aXRsZTogc3RyaW5nO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgZ3VpZGU/OiBzdHJpbmc7XHJcbiAgcGlubmVkOiBib29sZWFuO1xyXG4gIGJhZGdlPzogbnVtYmVyO1xyXG4gIGFuaW1hdGlvbjogc3RyaW5nO1xyXG4gIGdyb3VwOiBzdHJpbmc7XHJcbiAgaGVscDogc3RyaW5nO1xyXG4gIF9leHBhbmRlZDogYm9vbGVhbjtcclxuICBfaW5zdGFuY2U6IENvbXBvbmVudFR5cGU7XHJcbiAgX3BhdGg6IHN0cmluZztcclxuICBfcXVlcnlTdHJpbmc6IHN0cmluZztcclxuICBfbW9kZTogUGFuZU1vZGU7XHJcbiAgcmVhZG9ubHkgX3BvcnRhbDogQ29tcG9uZW50UG9ydGFsPGFueT47XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3I6IEluamVjdG9yO1xyXG4gIHByaXZhdGUgX2V4cGFuZGFibGU6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfc3RyZXRjaGFibGU6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfdmFsdWU6IGFueTtcclxuICBnZXQgZXhwYW5kYWJsZSgpIHsgcmV0dXJuIHRoaXMuX2V4cGFuZGFibGU7IH1cclxuICBnZXQgaW5qZWN0b3IoKSB7IHJldHVybiB0aGlzLl9pbmplY3RvcjsgfVxyXG4gIGdldCBleHBhbmRlZCgpIHsgcmV0dXJuIHRoaXMuX2V4cGFuZGVkOyB9XHJcbiAgZ2V0IGZ1bGxQYXRoKCkgeyByZXR1cm4gKHRoaXMuX3BhdGggfHwgJycpICsgKHRoaXMuX3F1ZXJ5U3RyaW5nID8gKFFVRVJZX0NIQVIgKyB0aGlzLl9xdWVyeVN0cmluZykgOiAnJykgfVxyXG4gIGdldCBpbnN0YW5jZSgpOiBDb21wb25lbnRUeXBlIHsgcmV0dXJuIHRoaXMuX2luc3RhbmNlOyB9XHJcbiAgZ2V0IGRhdGEoKSB7IHJldHVybiB0aGlzLl9kYXRhJC52YWx1ZTsgfVxyXG4gIGdldCBwYXJhbXMoKSB7IHJldHVybiB0aGlzLl9wYXJhbXMkLnZhbHVlOyB9XHJcbiAgZ2V0IHF1ZXJ5U3RyaW5nKCkgeyByZXR1cm4gdGhpcy5fcXVlcnlTdHJpbmc7IH1cclxuICBnZXQgcXVlcnlQYXJhbXMoKSB7IHJldHVybiB0aGlzLl9xdWVyeVBhcmFtcyQudmFsdWU7IH1cclxuICBwYXJhbXNDaGFuZ2UoKSB7IHJldHVybiB0aGlzLl9wYXJhbXMkLmFzT2JzZXJ2YWJsZSgpOyB9XHJcbiAgcXVlcnlQYXJhbXNDaGFuZ2UoKSB7IHJldHVybiB0aGlzLl9xdWVyeVBhcmFtcyQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICBkYXRhQ2hhbmdlKCkgeyByZXR1cm4gdGhpcy5fZGF0YSQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICByZXNpemVkKCkgeyByZXR1cm4gdGhpcy5fZXZlbnRzJC5waXBlKGZpbHRlcihlID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uUmVzaXplKSkgYXMgT2JzZXJ2YWJsZTxOYXZpZ2F0aW9uUmVzaXplPjsgfVxyXG4gIGNsb3NlaW5nKCkgeyByZXR1cm4gdGhpcy5fZXZlbnRzJC5waXBlKGZpbHRlcihlID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uQ2xvc2UpKSBhcyBPYnNlcnZhYmxlPE5hdmlnYXRpb25DbG9zZT47IH1cclxuICBjbG9zZWQ8VCA9IGFueT4oKSB7IHJldHVybiB0aGlzLl9ldmVudHMkLnBpcGUoZmlsdGVyKGUgPT4gZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25DbG9zZSksIG1hcCgoKSA9PiB0aGlzLl92YWx1ZSkpIGFzIE9ic2VydmFibGU8VD47IH1cclxuICBleHBhbmRlZENoYW5nZSgpIHsgcmV0dXJuIHRoaXMuX2V2ZW50cyQucGlwZShmaWx0ZXIoZSA9PiBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkV4cGFuZCksIG1hcCgoKSA9PiB0aGlzLmV4cGFuZGVkKSk7IH1cclxuICBnZXQgcGF0aCgpIHsgcmV0dXJuIHRoaXMuX3BhdGg7IH07XHJcbiAgZ2V0IG1vZGUoKSB7IHJldHVybiB0aGlzLl9tb2RlOyB9O1xyXG4gIGdldCBwYXJlbnQoKSB7IHJldHVybiB0aGlzLl9vcHRpb25zLnBhcmVudDsgfTtcclxuICBnZXQgc3RyZXRjaGFibGUoKSB7IHJldHVybiB0aGlzLl9zdHJldGNoYWJsZTsgfTtcclxuICBzZXQgc3RyZXRjaGFibGUodmFsOiBib29sZWFuKSB7IHRoaXMuX3N0cmV0Y2hhYmxlID0gdmFsOyB9XHJcbiAgZ2V0IGRpYWxvZygpIHsgcmV0dXJuIHRoaXMuX29wdGlvbnMuZGlhbG9nOyB9O1xyXG4gIGdldCBkaXNtaXNzYWJsZSgpIHsgcmV0dXJuIHRoaXMuX29wdGlvbnMuZGlzbWlzc2FibGU7IH07XHJcbiAgZ2V0IHJvdXRlKCkgeyByZXR1cm4gdGhpcy5fb3B0aW9ucy5yb3V0ZTsgfTtcclxuICBjb25zdHJ1Y3Rvcihjb21wb25lbnQ6IFR5cGU8YW55PixcclxuICAgIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByaXZhdGUgX29wdGlvbnM6IHtcclxuICAgICAgcGF0aD86IHN0cmluZztcclxuICAgICAgcm91dGU/OiBQYW5lUm91dGU7XHJcbiAgICAgIHRpdGxlPzogc3RyaW5nO1xyXG4gICAgICBncm91cD86IHN0cmluZztcclxuICAgICAgZ3VpZGU/OiBzdHJpbmc7XHJcbiAgICAgIGljb24/OiBzdHJpbmc7XHJcbiAgICAgIGFuaW1hdGlvbj86IHN0cmluZztcclxuICAgICAgaGVscD86IHN0cmluZztcclxuICAgICAgbW9kZTogUGFuZU1vZGUsXHJcbiAgICAgIGV4cGFuZGVkPzogYm9vbGVhbjtcclxuICAgICAgZGlhbG9nPzogYm9vbGVhbjtcclxuICAgICAgc3RyZXRjaGFibGU/OiBib29sZWFuO1xyXG4gICAgICBwYXJlbnQ/OiBQYW5lUmVmPGFueT47XHJcbiAgICAgIHF1ZXJ5U3RyaW5nPzogc3RyaW5nO1xyXG4gICAgICBkYXRhPzogRGF0YVR5cGU7XHJcbiAgICAgIHBhcmFtcz86IFBhcmFtTWFwO1xyXG4gICAgICBxdWVyeVBhcmFtcz86IFBhcmFtTWFwO1xyXG4gICAgICBleHBhbmRhYmxlPzogYm9vbGVhbixcclxuICAgICAgZGlzbWlzc2FibGU/OiBib29sZWFuXHJcbiAgICB9KSB7XHJcbiAgICBjb25zdCB7IHN0cmV0Y2hhYmxlLCBtb2RlLCBkYXRhLCBwYXJhbXMsIHF1ZXJ5UGFyYW1zLCBwYXRoLCBxdWVyeVN0cmluZywgdGl0bGUsIGdyb3VwLCBpY29uLCBoZWxwLCBndWlkZSwgYW5pbWF0aW9uLCBleHBhbmRlZCwgZXhwYW5kYWJsZSB9ID0gX29wdGlvbnM7XHJcbiAgICB0aGlzLl9wYXRoID0gcGF0aDtcclxuICAgIHRoaXMuX21vZGUgPSBtb2RlO1xyXG4gICAgdGhpcy5fc3RyZXRjaGFibGUgPSBzdHJldGNoYWJsZTtcclxuICAgIHRoaXMuX2V4cGFuZGVkID0gZXhwYW5kZWQ7XHJcbiAgICB0aGlzLl9xdWVyeVN0cmluZyA9IHF1ZXJ5U3RyaW5nO1xyXG4gICAgdGhpcy5fZXhwYW5kYWJsZSA9IGV4cGFuZGFibGUgIT09IGZhbHNlO1xyXG4gICAgdGhpcy5faW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xyXG4gICAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7IHByb3ZpZGU6IFBhbmVSZWYsIHVzZVZhbHVlOiB0aGlzIH1cclxuICAgICAgXSwgcGFyZW50OiBpbmplY3RvclxyXG4gICAgfSk7XHJcbiAgICB0aGlzLl9wb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKGNvbXBvbmVudCwgbnVsbCwgdGhpcy5faW5qZWN0b3IpO1xyXG4gICAgdGhpcy50aXRsZSA9IHRpdGxlO1xyXG4gICAgdGhpcy5ncm91cCA9IGdyb3VwO1xyXG4gICAgdGhpcy5ndWlkZSA9IGd1aWRlO1xyXG4gICAgdGhpcy5oZWxwID0gaGVscDtcclxuICAgIHRoaXMuaWNvbiA9IGljb247XHJcbiAgICB0aGlzLmFuaW1hdGlvbiA9IGFuaW1hdGlvbjtcclxuICAgIGRhdGEgJiYgdGhpcy5fZGF0YSQubmV4dChkYXRhKTtcclxuICAgIHBhcmFtcyAmJiB0aGlzLl9wYXJhbXMkLm5leHQocGFyYW1zKTtcclxuICAgIHF1ZXJ5UGFyYW1zICYmIHRoaXMuX3F1ZXJ5UGFyYW1zJC5uZXh0KHF1ZXJ5UGFyYW1zKTtcclxuICB9XHJcbiAgZGVjZW5kZW50T2YocGFuZTogUGFuZVJlZjxhbnk+KSB7XHJcbiAgICByZXR1cm4gdGhpcy5wYXJlbnQgPT09IHBhbmUgLy98fFxyXG4gICAgLy8gICh0aGlzLnBhdGggJiYgcGFuZS5wYXRoICYmIHRoaXMucGF0aC5zdGFydHNXaXRoKHBhbmUucGF0aCkpO1xyXG4gIH1cclxuICByZWN5Y2xlKCkge1xyXG4gICAgdGhpcy5fY29tbWFuZCQubmV4dCgncmVjeWNsZScpO1xyXG4gIH1cclxuICBmb2N1cygpIHtcclxuICAgIHRoaXMuX2NvbW1hbmQkLm5leHQoJ2ZvY3VzJyk7XHJcbiAgfVxyXG4gIGNsb3NlKHZhbHVlPykge1xyXG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuX2NvbW1hbmQkLm5leHQoJ2Nsb3NlJyk7XHJcbiAgfVxyXG4gIGV4cGFuZCgpIHtcclxuICAgIHRoaXMuX2NvbW1hbmQkLm5leHQoJ2V4cGFuZCcpO1xyXG4gIH1cclxuICBfZGVzdHJveSgpIHtcclxuICAgIHRoaXMuX2NvbW1hbmQkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLl9kYXRhJC5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5fcGFyYW1zJC5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5fcXVlcnlQYXJhbXMkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLl9ldmVudHMkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZS1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvY29yZS9zbG90cy9wYW5lLXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFRLFFBQVEsRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUl6RSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsR0FBRyxFQUFFLFNBQVMsR0FBRyxHQUFHLEVBQUUsUUFBUSxHQUFHLEdBQUcsRUFBRSxTQUFTLEdBQUcsR0FBRyxDQUFDO0FBRWhGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxJQUFJLGNBQWMsQ0FBYyxPQUFPLENBQUMsQ0FBQztBQUVuRSxNQUFNLE9BQWdCLGNBQWM7SUFFM0IsY0FBYztRQUNuQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztJQUM5QixDQUFDO0NBQ0Y7QUFDRCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsY0FBYztDQUNyRDtBQUNELE1BQU0sT0FBTyxjQUFlLFNBQVEsY0FBYztDQUNqRDtBQUNELE1BQU0sT0FBZ0Isa0JBQTRCLFNBQVEsY0FBYztJQUN0RSxZQUFvQixLQUFpQjtRQUNuQyxLQUFLLEVBQUUsQ0FBQztRQURVLFVBQUssR0FBTCxLQUFLLENBQVk7SUFFckMsQ0FBQztJQUNELElBQVcsSUFBSTtRQUNiLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0NBQ0Y7QUFDRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxrQkFBa0I7Q0FDdEQ7QUFDRCx3QkFBd0I7QUFDeEIsTUFBTSxPQUFPLGVBQWdCLFNBQVEsa0JBQWtCO0NBQ3REO0FBQ0QsTUFBTSxPQUFPLGFBQXVCLFNBQVEsa0JBQXFCO0NBQ2hFO0FBQ0QsTUFBTSxPQUFPLGNBQXdCLFNBQVEsa0JBQXFCO0lBQ2hFLFlBQTRCLElBQWMsRUFBRSxJQUFnQjtRQUMxRCxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFEYyxTQUFJLEdBQUosSUFBSSxDQUFVO0lBRTFDLENBQUM7Q0FDRjtBQUNELE1BQU0sT0FBTyxnQkFBMEIsU0FBUSxrQkFBcUI7SUFDbEUsWUFBNEIsUUFBaUIsRUFBRSxJQUFnQjtRQUM3RCxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFEYyxhQUFRLEdBQVIsUUFBUSxDQUFTO0lBRTdDLENBQUM7Q0FDRjtBQUNELE1BQU0sT0FBTyxnQkFBMEIsU0FBUSxrQkFBcUI7SUFDbEUsWUFBNEIsVUFBc0IsRUFBRSxJQUFnQjtRQUNsRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFEYyxlQUFVLEdBQVYsVUFBVSxDQUFZO0lBRWxELENBQUM7Q0FDRjtBQUNELE1BQU0sT0FBTyxlQUF5QixTQUFRLGtCQUFxQjtDQUNsRTtBQUNELE1BQU0sT0FBTyxlQUF5QixTQUFRLGtCQUFxQjtJQUNqRSxZQUE0QixNQUFnQixFQUFFLElBQWdCO1FBQzVELEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQURjLFdBQU0sR0FBTixNQUFNLENBQVU7SUFFNUMsQ0FBQztDQUNGO0FBQ0QsTUFBTSxPQUFPLG9CQUE4QixTQUFRLGtCQUFxQjtJQUN0RSxZQUE0QixXQUFxQixFQUFFLElBQWdCO1FBQ2pFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQURjLGdCQUFXLEdBQVgsV0FBVyxDQUFVO0lBRWpELENBQUM7Q0FDRjtBQWFELE1BQU07QUFDTixNQUFNLE9BQU8sT0FBTztJQXlCbEIsSUFBSSxVQUFVLEtBQUssT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUM3QyxJQUFJLFFBQVEsS0FBSyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLElBQUksUUFBUSxLQUFLLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDekMsSUFBSSxRQUFRLEtBQUssT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUMxRyxJQUFJLFFBQVEsS0FBb0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN4RCxJQUFJLElBQUksS0FBSyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN4QyxJQUFJLE1BQU0sS0FBSyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUM1QyxJQUFJLFdBQVcsS0FBSyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQy9DLElBQUksV0FBVyxLQUFLLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3RELFlBQVksS0FBSyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3ZELGlCQUFpQixLQUFLLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDakUsVUFBVSxLQUFLLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbkQsT0FBTyxLQUFLLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLGdCQUFnQixDQUFDLENBQWlDLENBQUMsQ0FBQyxDQUFDO0lBQ3BILFFBQVEsS0FBSyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxlQUFlLENBQUMsQ0FBZ0MsQ0FBQyxDQUFDLENBQUM7SUFDbkgsTUFBTSxLQUFjLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLGVBQWUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQWtCLENBQUMsQ0FBQyxDQUFDO0lBQ3BJLGNBQWMsS0FBSyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxnQkFBZ0IsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDckgsSUFBSSxJQUFJLEtBQUssT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDbEMsSUFBSSxJQUFJLEtBQUssT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDbEMsSUFBSSxNQUFNLEtBQUssT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQzlDLElBQUksV0FBVyxLQUFLLE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUN6RCxJQUFJLFdBQVcsQ0FBQyxHQUFZLElBQUksSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzFELElBQUksTUFBTSxLQUFLLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQUEsQ0FBQztJQUM5QyxJQUFJLFdBQVcsS0FBSyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUFBLENBQUM7SUFDeEQsSUFBSSxLQUFLLEtBQUssT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQzVDLFlBQVksU0FBb0IsRUFDOUIsUUFBa0IsRUFDVixRQW9CUDtRQXBCTyxhQUFRLEdBQVIsUUFBUSxDQW9CZjtRQXRFTSxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQWUsQ0FBQztRQUNoRCxNQUFNO1FBQ0csV0FBTSxHQUFHLElBQUksZUFBZSxDQUFXLEVBQWMsQ0FBQyxDQUFDO1FBQ3ZELGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBVyxFQUFFLENBQUMsQ0FBQztRQUM3QyxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBa0IsQ0FBQztRQWtFaEQsTUFBTSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEdBQUcsUUFBUSxDQUFDO1FBQ3ZKLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxLQUFLLEtBQUssQ0FBQztRQUN4QyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDL0IsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2FBQ3JDLEVBQUUsTUFBTSxFQUFFLFFBQVE7U0FDcEIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUMzQixJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsTUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JDLFdBQVcsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBQ0QsV0FBVyxDQUFDLElBQWtCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUEsQ0FBQyxJQUFJO1FBQ2hDLGdFQUFnRTtJQUNsRSxDQUFDO0lBQ0QsT0FBTztRQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUNELEtBQUssQ0FBQyxLQUFXO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUNELE1BQU07UUFDSixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRQb3J0YWwgfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL3BvcnRhbFwiO1xyXG5pbXBvcnQgeyBUeXBlLCBJbmplY3RvciwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIFN1YmplY3QsIGZpbHRlciwgT2JzZXJ2YWJsZSwgbWFwIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgUGFyYW1NYXAsIFBhbmVSb3V0ZSwgT3BlblBvbGljeSB9IGZyb20gXCIuLi9jb25maWd1cmF0aW9uXCI7XHJcbmltcG9ydCB7IERpbWVudGlvbnMgfSBmcm9tIFwiLi4vbW9kZWxzXCI7XHJcblxyXG5leHBvcnQgY29uc3QgUVVFUllfQ0hBUiA9ICc6JywgUEFUSF9DSEFSID0gJzsnLCBBUkdfQ0hBUiA9ICcmJywgUEFORV9DSEFSID0gJ34nO1xyXG5cclxuZXhwb3J0IGNvbnN0IFBBTkVTX0RBVEEgPSBuZXcgSW5qZWN0aW9uVG9rZW48UGFuZVJvdXRlW10+KCdwYW5lcycpO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE5hdmlnYXRpb25CYXNlIHtcclxuICBfcHJldmVudERlZmF1bHQ6IGJvb2xlYW47XHJcbiAgcHVibGljIHByZXZlbnREZWZhdWx0KCkge1xyXG4gICAgdGhpcy5fcHJldmVudERlZmF1bHQgPSB0cnVlO1xyXG4gIH1cclxufVxyXG5leHBvcnQgY2xhc3MgQ29sbGFwc2VOYXZpZ2F0aW9uIGV4dGVuZHMgTmF2aWdhdGlvbkJhc2Uge1xyXG59XHJcbmV4cG9ydCBjbGFzcyBCYWNrTmF2aWdhdGlvbiBleHRlbmRzIE5hdmlnYXRpb25CYXNlIHtcclxufVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTmF2aWdhdGlvblBhbmVCYXNlPFQgPSBhbnk+IGV4dGVuZHMgTmF2aWdhdGlvbkJhc2Uge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3BhbmU6IFBhbmVSZWY8VD4pIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXQgcGFuZSgpOiBQYW5lUmVmPFQ+IHtcclxuICAgIHJldHVybiB0aGlzLl9wYW5lO1xyXG4gIH1cclxufVxyXG5leHBvcnQgY2xhc3MgTmF2aWdhdGlvblN0YXJ0IGV4dGVuZHMgTmF2aWdhdGlvblBhbmVCYXNlIHtcclxufVxyXG4vKiogcGFuZSBmdWN1cyBjaGFuZ2UgKi9cclxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25Gb2N1cyBleHRlbmRzIE5hdmlnYXRpb25QYW5lQmFzZSB7XHJcbn1cclxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25FbmQ8VCA9IGFueT4gZXh0ZW5kcyBOYXZpZ2F0aW9uUGFuZUJhc2U8VD4ge1xyXG59XHJcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uTW9kZTxUID0gYW55PiBleHRlbmRzIE5hdmlnYXRpb25QYW5lQmFzZTxUPiB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IG1vZGU6IFBhbmVNb2RlLCBwYW5lOiBQYW5lUmVmPFQ+KSB7XHJcbiAgICBzdXBlcihwYW5lKTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGNsYXNzIE5hdmlnYXRpb25FeHBhbmQ8VCA9IGFueT4gZXh0ZW5kcyBOYXZpZ2F0aW9uUGFuZUJhc2U8VD4ge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBleHBlbmRlZDogYm9vbGVhbiwgcGFuZTogUGFuZVJlZjxUPikge1xyXG4gICAgc3VwZXIocGFuZSk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uUmVzaXplPFQgPSBhbnk+IGV4dGVuZHMgTmF2aWdhdGlvblBhbmVCYXNlPFQ+IHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgZGltZW50aW9uczogRGltZW50aW9ucywgcGFuZTogUGFuZVJlZjxUPikge1xyXG4gICAgc3VwZXIocGFuZSk7XHJcbiAgfVxyXG59XHJcbmV4cG9ydCBjbGFzcyBOYXZpZ2F0aW9uQ2xvc2U8VCA9IGFueT4gZXh0ZW5kcyBOYXZpZ2F0aW9uUGFuZUJhc2U8VD4ge1xyXG59XHJcbmV4cG9ydCBjbGFzcyBQYXJhbU5hdmlnYXRpb248VCA9IGFueT4gZXh0ZW5kcyBOYXZpZ2F0aW9uUGFuZUJhc2U8VD4ge1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBwYXJhbXM6IFBhcmFtTWFwLCBwYW5lOiBQYW5lUmVmPFQ+KSB7XHJcbiAgICBzdXBlcihwYW5lKTtcclxuICB9XHJcbn1cclxuZXhwb3J0IGNsYXNzIFF1ZXJ5UGFyYW1OYXZpZ2F0aW9uPFQgPSBhbnk+IGV4dGVuZHMgTmF2aWdhdGlvblBhbmVCYXNlPFQ+IHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgcXVlcnlQYXJhbXM6IFBhcmFtTWFwLCBwYW5lOiBQYW5lUmVmPFQ+KSB7XHJcbiAgICBzdXBlcihwYW5lKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFBhbmVNb2RlID0gJ3RhYicgfCAncGFuZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBhbmVPcHRpb25zIHtcclxuICB0aXRsZT86IHN0cmluZztcclxuICBncm91cD86IHN0cmluZztcclxuICBoZWxwPzogc3RyaW5nO1xyXG4gIHN0YXRlPzogYW55O1xyXG4gIG9wZW5Qb2xpY3k/OiBPcGVuUG9saWN5O1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBQYW5lQ29tbWFuZCA9ICdleHBhbmQnIHwgJ2ZvY3VzJyB8ICdjbG9zZScgfCAncmVjeWNsZSc7XHJcbi8qKiAqL1xyXG5leHBvcnQgY2xhc3MgUGFuZVJlZjxDb21wb25lbnRUeXBlID0gYW55LCBEYXRhVHlwZSA9IFBhcmFtTWFwPiB7XHJcbiAgcmVhZG9ubHkgX2NvbW1hbmQkID0gbmV3IFN1YmplY3Q8UGFuZUNvbW1hbmQ+KCk7XHJcbiAgLyoqICovXHJcbiAgcmVhZG9ubHkgX2RhdGEkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYXRhVHlwZT4oe30gYXMgRGF0YVR5cGUpO1xyXG4gIHJlYWRvbmx5IF9wYXJhbXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxQYXJhbU1hcD4oe30pO1xyXG4gIHJlYWRvbmx5IF9xdWVyeVBhcmFtcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFBhcmFtTWFwPih7fSk7XHJcbiAgcmVhZG9ubHkgX2V2ZW50cyQgPSBuZXcgU3ViamVjdDxOYXZpZ2F0aW9uQmFzZT4oKTtcclxuICB0aXRsZT86IHN0cmluZztcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIGd1aWRlPzogc3RyaW5nO1xyXG4gIHBpbm5lZDogYm9vbGVhbjtcclxuICBiYWRnZT86IG51bWJlcjtcclxuICBhbmltYXRpb24/OiBzdHJpbmc7XHJcbiAgZ3JvdXA/OiBzdHJpbmc7XHJcbiAgaGVscD86IHN0cmluZztcclxuICBfZXhwYW5kZWQ/OiBib29sZWFuO1xyXG4gIF9pbnN0YW5jZTogQ29tcG9uZW50VHlwZTtcclxuICBfcGF0aD86IHN0cmluZztcclxuICBfcXVlcnlTdHJpbmc6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBfbW9kZTogUGFuZU1vZGU7XHJcbiAgcmVhZG9ubHkgX3BvcnRhbDogQ29tcG9uZW50UG9ydGFsPGFueT47XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3I6IEluamVjdG9yO1xyXG4gIHByaXZhdGUgX2V4cGFuZGFibGU6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfc3RyZXRjaGFibGU/OiBib29sZWFuO1xyXG4gIHByaXZhdGUgX3ZhbHVlOiBhbnk7XHJcbiAgZ2V0IGV4cGFuZGFibGUoKSB7IHJldHVybiB0aGlzLl9leHBhbmRhYmxlOyB9XHJcbiAgZ2V0IGluamVjdG9yKCkgeyByZXR1cm4gdGhpcy5faW5qZWN0b3I7IH1cclxuICBnZXQgZXhwYW5kZWQoKSB7IHJldHVybiB0aGlzLl9leHBhbmRlZDsgfVxyXG4gIGdldCBmdWxsUGF0aCgpIHsgcmV0dXJuICh0aGlzLl9wYXRoIHx8ICcnKSArICh0aGlzLl9xdWVyeVN0cmluZyA/IChRVUVSWV9DSEFSICsgdGhpcy5fcXVlcnlTdHJpbmcpIDogJycpIH1cclxuICBnZXQgaW5zdGFuY2UoKTogQ29tcG9uZW50VHlwZSB7IHJldHVybiB0aGlzLl9pbnN0YW5jZTsgfVxyXG4gIGdldCBkYXRhKCkgeyByZXR1cm4gdGhpcy5fZGF0YSQudmFsdWU7IH1cclxuICBnZXQgcGFyYW1zKCkgeyByZXR1cm4gdGhpcy5fcGFyYW1zJC52YWx1ZTsgfVxyXG4gIGdldCBxdWVyeVN0cmluZygpIHsgcmV0dXJuIHRoaXMuX3F1ZXJ5U3RyaW5nOyB9XHJcbiAgZ2V0IHF1ZXJ5UGFyYW1zKCkgeyByZXR1cm4gdGhpcy5fcXVlcnlQYXJhbXMkLnZhbHVlOyB9XHJcbiAgcGFyYW1zQ2hhbmdlKCkgeyByZXR1cm4gdGhpcy5fcGFyYW1zJC5hc09ic2VydmFibGUoKTsgfVxyXG4gIHF1ZXJ5UGFyYW1zQ2hhbmdlKCkgeyByZXR1cm4gdGhpcy5fcXVlcnlQYXJhbXMkLmFzT2JzZXJ2YWJsZSgpOyB9XHJcbiAgZGF0YUNoYW5nZSgpIHsgcmV0dXJuIHRoaXMuX2RhdGEkLmFzT2JzZXJ2YWJsZSgpOyB9XHJcbiAgcmVzaXplZCgpIHsgcmV0dXJuIHRoaXMuX2V2ZW50cyQucGlwZShmaWx0ZXIoZSA9PiBlIGluc3RhbmNlb2YgTmF2aWdhdGlvblJlc2l6ZSkpIGFzIE9ic2VydmFibGU8TmF2aWdhdGlvblJlc2l6ZT47IH1cclxuICBjbG9zZWluZygpIHsgcmV0dXJuIHRoaXMuX2V2ZW50cyQucGlwZShmaWx0ZXIoZSA9PiBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkNsb3NlKSkgYXMgT2JzZXJ2YWJsZTxOYXZpZ2F0aW9uQ2xvc2U+OyB9XHJcbiAgY2xvc2VkPFQgPSBhbnk+KCkgeyByZXR1cm4gdGhpcy5fZXZlbnRzJC5waXBlKGZpbHRlcihlID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uQ2xvc2UpLCBtYXAoKCkgPT4gdGhpcy5fdmFsdWUpKSBhcyBPYnNlcnZhYmxlPFQ+OyB9XHJcbiAgZXhwYW5kZWRDaGFuZ2UoKSB7IHJldHVybiB0aGlzLl9ldmVudHMkLnBpcGUoZmlsdGVyKGUgPT4gZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25FeHBhbmQpLCBtYXAoKCkgPT4gdGhpcy5leHBhbmRlZCkpOyB9XHJcbiAgZ2V0IHBhdGgoKSB7IHJldHVybiB0aGlzLl9wYXRoOyB9O1xyXG4gIGdldCBtb2RlKCkgeyByZXR1cm4gdGhpcy5fbW9kZTsgfTtcclxuICBnZXQgcGFyZW50KCkgeyByZXR1cm4gdGhpcy5fb3B0aW9ucy5wYXJlbnQ7IH07XHJcbiAgZ2V0IHN0cmV0Y2hhYmxlKCkgeyByZXR1cm4gdGhpcy5fc3RyZXRjaGFibGUgPT09IHRydWU7IH07XHJcbiAgc2V0IHN0cmV0Y2hhYmxlKHZhbDogYm9vbGVhbikgeyB0aGlzLl9zdHJldGNoYWJsZSA9IHZhbDsgfVxyXG4gIGdldCBkaWFsb2coKSB7IHJldHVybiB0aGlzLl9vcHRpb25zLmRpYWxvZzsgfTtcclxuICBnZXQgZGlzbWlzc2FibGUoKSB7IHJldHVybiB0aGlzLl9vcHRpb25zLmRpc21pc3NhYmxlOyB9O1xyXG4gIGdldCByb3V0ZSgpIHsgcmV0dXJuIHRoaXMuX29wdGlvbnMucm91dGU7IH07XHJcbiAgY29uc3RydWN0b3IoY29tcG9uZW50OiBUeXBlPGFueT4sXHJcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgICBwcml2YXRlIF9vcHRpb25zOiB7XHJcbiAgICAgIHBhdGg/OiBzdHJpbmc7XHJcbiAgICAgIHJvdXRlPzogUGFuZVJvdXRlO1xyXG4gICAgICB0aXRsZT86IHN0cmluZztcclxuICAgICAgZ3JvdXA/OiBzdHJpbmc7XHJcbiAgICAgIGd1aWRlPzogc3RyaW5nO1xyXG4gICAgICBpY29uPzogc3RyaW5nO1xyXG4gICAgICBhbmltYXRpb24/OiBzdHJpbmc7XHJcbiAgICAgIGhlbHA/OiBzdHJpbmc7XHJcbiAgICAgIG1vZGU6IFBhbmVNb2RlLFxyXG4gICAgICBleHBhbmRlZD86IGJvb2xlYW47XHJcbiAgICAgIGRpYWxvZz86IGJvb2xlYW47XHJcbiAgICAgIHN0cmV0Y2hhYmxlPzogYm9vbGVhbjtcclxuICAgICAgcGFyZW50PzogUGFuZVJlZjxhbnk+O1xyXG4gICAgICBxdWVyeVN0cmluZz86IHN0cmluZztcclxuICAgICAgZGF0YT86IERhdGFUeXBlO1xyXG4gICAgICBwYXJhbXM/OiBQYXJhbU1hcDtcclxuICAgICAgcXVlcnlQYXJhbXM/OiBQYXJhbU1hcDtcclxuICAgICAgZXhwYW5kYWJsZT86IGJvb2xlYW4sXHJcbiAgICAgIGRpc21pc3NhYmxlPzogYm9vbGVhblxyXG4gICAgfSkge1xyXG4gICAgY29uc3QgeyBzdHJldGNoYWJsZSwgbW9kZSwgZGF0YSwgcGFyYW1zLCBxdWVyeVBhcmFtcywgcGF0aCwgcXVlcnlTdHJpbmcsIHRpdGxlLCBncm91cCwgaWNvbiwgaGVscCwgZ3VpZGUsIGFuaW1hdGlvbiwgZXhwYW5kZWQsIGV4cGFuZGFibGUgfSA9IF9vcHRpb25zO1xyXG4gICAgdGhpcy5fcGF0aCA9IHBhdGg7XHJcbiAgICB0aGlzLl9tb2RlID0gbW9kZTtcclxuICAgIHRoaXMuX3N0cmV0Y2hhYmxlID0gc3RyZXRjaGFibGU7XHJcbiAgICB0aGlzLl9leHBhbmRlZCA9IGV4cGFuZGVkO1xyXG4gICAgdGhpcy5fcXVlcnlTdHJpbmcgPSBxdWVyeVN0cmluZztcclxuICAgIHRoaXMuX2V4cGFuZGFibGUgPSBleHBhbmRhYmxlICE9PSBmYWxzZTtcclxuICAgIHRoaXMuX2luamVjdG9yID0gSW5qZWN0b3IuY3JlYXRlKHtcclxuICAgICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgeyBwcm92aWRlOiBQYW5lUmVmLCB1c2VWYWx1ZTogdGhpcyB9XHJcbiAgICAgIF0sIHBhcmVudDogaW5qZWN0b3JcclxuICAgIH0pO1xyXG4gICAgdGhpcy5fcG9ydGFsID0gbmV3IENvbXBvbmVudFBvcnRhbChjb21wb25lbnQsIG51bGwsIHRoaXMuX2luamVjdG9yKTtcclxuICAgIHRoaXMudGl0bGUgPSB0aXRsZTtcclxuICAgIHRoaXMuZ3JvdXAgPSBncm91cDtcclxuICAgIHRoaXMuZ3VpZGUgPSBndWlkZTtcclxuICAgIHRoaXMuaGVscCA9IGhlbHA7XHJcbiAgICB0aGlzLmljb24gPSBpY29uO1xyXG4gICAgdGhpcy5hbmltYXRpb24gPSBhbmltYXRpb247XHJcbiAgICBkYXRhICYmIHRoaXMuX2RhdGEkLm5leHQoZGF0YSk7XHJcbiAgICBwYXJhbXMgJiYgdGhpcy5fcGFyYW1zJC5uZXh0KHBhcmFtcyk7XHJcbiAgICBxdWVyeVBhcmFtcyAmJiB0aGlzLl9xdWVyeVBhcmFtcyQubmV4dChxdWVyeVBhcmFtcyk7XHJcbiAgfVxyXG4gIGRlY2VuZGVudE9mKHBhbmU6IFBhbmVSZWY8YW55Pikge1xyXG4gICAgcmV0dXJuIHRoaXMucGFyZW50ID09PSBwYW5lIC8vfHxcclxuICAgIC8vICAodGhpcy5wYXRoICYmIHBhbmUucGF0aCAmJiB0aGlzLnBhdGguc3RhcnRzV2l0aChwYW5lLnBhdGgpKTtcclxuICB9XHJcbiAgcmVjeWNsZSgpIHtcclxuICAgIHRoaXMuX2NvbW1hbmQkLm5leHQoJ3JlY3ljbGUnKTtcclxuICB9XHJcbiAgZm9jdXMoKSB7XHJcbiAgICB0aGlzLl9jb21tYW5kJC5uZXh0KCdmb2N1cycpO1xyXG4gIH1cclxuICBjbG9zZSh2YWx1ZT86IGFueSkge1xyXG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuX2NvbW1hbmQkLm5leHQoJ2Nsb3NlJyk7XHJcbiAgfVxyXG4gIGV4cGFuZCgpIHtcclxuICAgIHRoaXMuX2NvbW1hbmQkLm5leHQoJ2V4cGFuZCcpO1xyXG4gIH1cclxuICBfZGVzdHJveSgpIHtcclxuICAgIHRoaXMuX2NvbW1hbmQkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLl9kYXRhJC5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5fcGFyYW1zJC5jb21wbGV0ZSgpO1xyXG4gICAgdGhpcy5fcXVlcnlQYXJhbXMkLmNvbXBsZXRlKCk7XHJcbiAgICB0aGlzLl9ldmVudHMkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -38,10 +38,10 @@ export class SlotRouterDirective {
38
38
  this._destroy.next();
39
39
  this._destroy.complete();
40
40
  }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SlotRouterDirective, deps: [{ token: i0.ElementRef }, { token: i1.PanesRouter }], target: i0.ɵɵFactoryTarget.Directive }); }
42
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", 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 }); }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: SlotRouterDirective, deps: [{ token: i0.ElementRef }, { token: i1.PanesRouter }], target: i0.ɵɵFactoryTarget.Directive }); }
42
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", 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 }); }
43
43
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: SlotRouterDirective, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: SlotRouterDirective, decorators: [{
45
45
  type: Directive,
46
46
  args: [{
47
47
  selector: '[slotRouterLink]',
@@ -65,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImpor
65
65
  type: Input,
66
66
  args: ['slotRouterLinkOptions']
67
67
  }] } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29yZS9zbG90cy9yb3V0ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUczQyxPQUFPLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQWUsTUFBTSxZQUFZLENBQUM7QUFDNUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBUXZDLE1BQU0sT0FDRSxtQkFBbUI7SUFFekIsSUFBVyxJQUFJO1FBQ2IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxJQUNXLElBQUksQ0FBQyxLQUF3QjtRQUN0QyxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFPRCxZQUNVLFFBQWlDLEVBQ2pDLE9BQW9CO1FBRHBCLGFBQVEsR0FBUixRQUFRLENBQXlCO1FBQ2pDLFlBQU8sR0FBUCxPQUFPLENBQWE7UUFSOUIsZ0JBQWdCO1FBQ2UsV0FBTSxHQUFZLFFBQVEsQ0FBQztRQUN6QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBR2pDLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBR2QsQ0FBQztJQUNuQyxRQUFRO1FBQ04sTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDL0QsQ0FBQyxDQUFDLFlBQVksZUFBZSxJQUFJLENBQUMsWUFBWSxlQUFlLElBQUksQ0FBQyxZQUFZLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU07ZUFDcEksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FDdEMsQ0FBQztJQUNKLENBQUM7SUFDTyxPQUFPLENBQUMsR0FBWTtRQUMxQixJQUFJLEdBQUc7WUFDTCxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQzs7WUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUNELFNBQVM7UUFDUCxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDaEcsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs4R0FwQ0ssbUJBQW1CO2tHQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBUDFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsSUFBSSxFQUFFO3dCQUNKLFNBQVMsRUFBRSxhQUFhO3FCQUN6QjtpQkFDRjt5R0FRWSxJQUFJO3NCQURkLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUtRLE1BQU07c0JBQXBDLEtBQUs7dUJBQUMsc0JBQXNCO2dCQUNJLFFBQVE7c0JBQXhDLEtBQUs7dUJBQUMsd0JBQXdCO2dCQUNBLE1BQU07c0JBQXBDLEtBQUs7dUJBQUMsc0JBQXNCO2dCQUNHLE9BQU87c0JBQXRDLEtBQUs7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE9wZW5Qb2xpY3kgfSBmcm9tICcuLi9jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgUGFuZXNSb3V0ZXIgfSBmcm9tICcuL3JvdXRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkZvY3VzLCBOYXZpZ2F0aW9uU3RhcnQsIFBhcmFtTmF2aWdhdGlvbiwgUGFuZU9wdGlvbnMgfSBmcm9tICcuL3BhbmUtcmVmJztcclxuaW1wb3J0IHsgaXNBcnJheSB9IGZyb20gJy4uL2Z1bmN0aW9ucyc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tzbG90Um91dGVyTGlua10nLFxyXG4gIGhvc3Q6IHtcclxuICAgICcoY2xpY2spJzogJ19uYXZpZ2F0ZSgpJ1xyXG4gIH1cclxufSlcclxuZXhwb3J0XHJcbiAgY2xhc3MgU2xvdFJvdXRlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIF9saW5rITogc3RyaW5nW107XHJcbiAgcHVibGljIGdldCBsaW5rKCk6IHN0cmluZyB8IHN0cmluZ1tdIHtcclxuICAgIHJldHVybiB0aGlzLl9saW5rO1xyXG4gIH1cclxuICBASW5wdXQoJ3Nsb3RSb3V0ZXJMaW5rJylcclxuICBwdWJsaWMgc2V0IGxpbmsodmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdKSB7XHJcbiAgICB0aGlzLl9saW5rID0gaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV07XHJcbiAgfVxyXG4gIC8qKiBjc3MgY2xhc3MgKi9cclxuICBASW5wdXQoJ3Nsb3RSb3V0ZXJMaW5rQWN0aXZlJykgYWN0aXZlPzogc3RyaW5nID0gJ2FjdGl2ZSc7XHJcbiAgQElucHV0KCdzbG90Um91dGVyTGlua0Rpc2FibGVkJykgZGlzYWJsZWQ/PSBmYWxzZTtcclxuICBASW5wdXQoJ3Nsb3RSb3V0ZXJMaW5rUG9saWN5JykgcG9saWN5PzogT3BlblBvbGljeTtcclxuICBASW5wdXQoJ3Nsb3RSb3V0ZXJMaW5rT3B0aW9ucycpIG9wdGlvbnM/OiBQYW5lT3B0aW9ucztcclxuICBwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2VsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgcHJpdmF0ZSBfcm91dGVyOiBQYW5lc1JvdXRlcikgeyB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBwYXRoID0gdGhpcy5fbGluay5qb2luKCcvJyk7XHJcbiAgICB0aGlzLl9yb3V0ZXIuZXZlbnRzLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kpKS5zdWJzY3JpYmUoZSA9PlxyXG4gICAgICAoZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCB8fCBlIGluc3RhbmNlb2YgUGFyYW1OYXZpZ2F0aW9uIHx8IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRm9jdXMpICYmIGUucGFuZS5wYXRoICYmIGUucGFuZS5tb2RlID09PSAncGFuZSdcclxuICAgICAgJiYgdGhpcy5fdG9nZ2xlKGUucGFuZS5wYXRoID09PSBwYXRoKVxyXG4gICAgKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBfdG9nZ2xlKHZhbDogYm9vbGVhbikge1xyXG4gICAgaWYgKHZhbClcclxuICAgICAgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQodGhpcy5hY3RpdmUpO1xyXG4gICAgZWxzZSB0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSh0aGlzLmFjdGl2ZSk7XHJcbiAgfVxyXG4gIF9uYXZpZ2F0ZSgpIHtcclxuICAgICF0aGlzLmRpc2FibGVkICYmIHRoaXMuX3JvdXRlci5uYXZpZ2F0ZSh0aGlzLl9saW5rLCB7IHBvbGljeTogdGhpcy5wb2xpY3ksIC4uLnRoaXMub3B0aW9ucyB9KTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9kZXN0cm95Lm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIl19
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi9jb3JlL3Nsb3RzL3JvdXRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBZSxNQUFNLFlBQVksQ0FBQztBQUM1RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7QUFRdkMsTUFBTSxPQUNFLG1CQUFtQjtJQUV6QixJQUFXLElBQUk7UUFDYixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQ1csSUFBSSxDQUFDLEtBQXdCO1FBQ3RDLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQU9ELFlBQ1UsUUFBaUMsRUFDakMsT0FBb0I7UUFEcEIsYUFBUSxHQUFSLFFBQVEsQ0FBeUI7UUFDakMsWUFBTyxHQUFQLE9BQU8sQ0FBYTtRQVI5QixnQkFBZ0I7UUFDZSxXQUFNLEdBQVcsUUFBUSxDQUFDO1FBQ3hCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFHakMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFHZCxDQUFDO0lBQ25DLFFBQVE7UUFDTixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUMvRCxDQUFDLENBQUMsWUFBWSxlQUFlLElBQUksQ0FBQyxZQUFZLGVBQWUsSUFBSSxDQUFDLFlBQVksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTTtlQUNwSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUN0QyxDQUFDO0lBQ0osQ0FBQztJQUNPLE9BQU8sQ0FBQyxHQUFZO1FBQzFCLElBQUksR0FBRztZQUNMLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDOztZQUNwRCxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBQ0QsU0FBUztRQUNQLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzhHQXBDSyxtQkFBbUI7a0dBQW5CLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFQMUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixJQUFJLEVBQUU7d0JBQ0osU0FBUyxFQUFFLGFBQWE7cUJBQ3pCO2lCQUNGO3lHQVFZLElBQUk7c0JBRGQsS0FBSzt1QkFBQyxnQkFBZ0I7Z0JBS1EsTUFBTTtzQkFBcEMsS0FBSzt1QkFBQyxzQkFBc0I7Z0JBQ0ksUUFBUTtzQkFBeEMsS0FBSzt1QkFBQyx3QkFBd0I7Z0JBQ0EsTUFBTTtzQkFBcEMsS0FBSzt1QkFBQyxzQkFBc0I7Z0JBQ0csT0FBTztzQkFBdEMsS0FBSzt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgT3BlblBvbGljeSB9IGZyb20gJy4uL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBQYW5lc1JvdXRlciB9IGZyb20gJy4vcm91dGVyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uRm9jdXMsIE5hdmlnYXRpb25TdGFydCwgUGFyYW1OYXZpZ2F0aW9uLCBQYW5lT3B0aW9ucyB9IGZyb20gJy4vcGFuZS1yZWYnO1xyXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnLi4vZnVuY3Rpb25zJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW3Nsb3RSb3V0ZXJMaW5rXScsXHJcbiAgaG9zdDoge1xyXG4gICAgJyhjbGljayknOiAnX25hdmlnYXRlKCknXHJcbiAgfVxyXG59KVxyXG5leHBvcnRcclxuICBjbGFzcyBTbG90Um91dGVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgX2xpbmshOiBzdHJpbmdbXTtcclxuICBwdWJsaWMgZ2V0IGxpbmsoKTogc3RyaW5nIHwgc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xpbms7XHJcbiAgfVxyXG4gIEBJbnB1dCgnc2xvdFJvdXRlckxpbmsnKVxyXG4gIHB1YmxpYyBzZXQgbGluayh2YWx1ZTogc3RyaW5nIHwgc3RyaW5nW10pIHtcclxuICAgIHRoaXMuX2xpbmsgPSBpc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXTtcclxuICB9XHJcbiAgLyoqIGNzcyBjbGFzcyAqL1xyXG4gIEBJbnB1dCgnc2xvdFJvdXRlckxpbmtBY3RpdmUnKSBhY3RpdmU6IHN0cmluZyA9ICdhY3RpdmUnO1xyXG4gIEBJbnB1dCgnc2xvdFJvdXRlckxpbmtEaXNhYmxlZCcpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCdzbG90Um91dGVyTGlua1BvbGljeScpIHBvbGljeT86IE9wZW5Qb2xpY3k7XHJcbiAgQElucHV0KCdzbG90Um91dGVyTGlua09wdGlvbnMnKSBvcHRpb25zPzogUGFuZU9wdGlvbnM7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBfZGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgIHByaXZhdGUgX3JvdXRlcjogUGFuZXNSb3V0ZXIpIHsgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgY29uc3QgcGF0aCA9IHRoaXMuX2xpbmsuam9pbignLycpO1xyXG4gICAgdGhpcy5fcm91dGVyLmV2ZW50cy5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95KSkuc3Vic2NyaWJlKGUgPT5cclxuICAgICAgKGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQgfHwgZSBpbnN0YW5jZW9mIFBhcmFtTmF2aWdhdGlvbiB8fCBlIGluc3RhbmNlb2YgTmF2aWdhdGlvbkZvY3VzKSAmJiBlLnBhbmUucGF0aCAmJiBlLnBhbmUubW9kZSA9PT0gJ3BhbmUnXHJcbiAgICAgICYmIHRoaXMuX3RvZ2dsZShlLnBhbmUucGF0aCA9PT0gcGF0aClcclxuICAgICk7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3RvZ2dsZSh2YWw6IGJvb2xlYW4pIHtcclxuICAgIGlmICh2YWwpXHJcbiAgICAgIHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKHRoaXMuYWN0aXZlKTtcclxuICAgIGVsc2UgdGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUodGhpcy5hY3RpdmUpO1xyXG4gIH1cclxuICBfbmF2aWdhdGUoKSB7XHJcbiAgICAhdGhpcy5kaXNhYmxlZCAmJiB0aGlzLl9yb3V0ZXIubmF2aWdhdGUodGhpcy5fbGluaywgeyBwb2xpY3k6IHRoaXMucG9saWN5LCAuLi50aGlzLm9wdGlvbnMgfSk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -13,7 +13,8 @@ export class PanesRouter {
13
13
  navigate(commands, options) {
14
14
  return new Promise((resolve, reject) => {
15
15
  this._events$.pipe(filter(e => e instanceof NavigationStart), first()).subscribe({
16
- next: (e) => resolve(e.pane), error: reject
16
+ next: e => resolve(e.pane),
17
+ error: reject
17
18
  });
18
19
  this._navigate$.next(isArray(commands) ?
19
20
  {
@@ -29,11 +30,11 @@ export class PanesRouter {
29
30
  collapse() {
30
31
  this._comm$.next('collapse');
31
32
  }
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PanesRouter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
33
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PanesRouter, providedIn: 'root' }); }
33
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: PanesRouter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
34
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: PanesRouter, providedIn: 'root' }); }
34
35
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: PanesRouter, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: PanesRouter, decorators: [{
36
37
  type: Injectable,
37
38
  args: [{ providedIn: 'root' }]
38
39
  }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvc2xvdHMvcm91dGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUUsZUFBZSxFQUEyQixNQUFNLFlBQVksQ0FBQzs7QUFJdEUsTUFBTSxPQUNFLFdBQVc7SUFGbkI7UUFHVyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQWtCLENBQUM7UUFDekMsV0FBTSxHQUFHLElBQUksT0FBTyxFQUFpQixDQUFDO1FBRXRDLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFHVCxDQUFDO0tBNEIxQjtJQXBCQyxRQUFRLENBQUksUUFBZ0QsRUFBRSxPQUEyQjtRQUN2RixPQUFPLElBQUksT0FBTyxDQUFhLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ2pELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxlQUFlLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFDL0UsSUFBSSxFQUFFLENBQUMsQ0FBa0IsRUFBRSxFQUFFLENBQzNCLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU07YUFDakMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RDO29CQUNFLFFBQVEsRUFBRSxRQUFvQixFQUFFLEdBQUcsT0FBTztpQkFDM0MsQ0FBQyxDQUFDLENBQUM7Z0JBQ0YsU0FBUyxFQUFFLFFBQVEsRUFBRSxHQUFHLE9BQU87YUFDaEMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsTUFBTTtJQUNOLElBQUksTUFBTSxLQUFLLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQSxDQUFDLENBQUM7SUFDcEQsTUFBTTtJQUNOLFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQixDQUFDOzhHQWxDSyxXQUFXO2tIQUFYLFdBQVcsY0FGTyxNQUFNOzsyRkFFeEIsV0FBVztrQkFGbEIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgT3BlblBvbGljeSB9IGZyb20gJy4uL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnLi4vZnVuY3Rpb25zJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBOYXZpZ2F0aW9uQmFzZSwgUGFuZVJlZiB9IGZyb20gJy4vcGFuZS1yZWYnO1xyXG5cclxuZXhwb3J0IHR5cGUgUm91dGVyQ29tbWFuZCA9ICdjb2xsYXBzZSc7XHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydFxyXG4gIGNsYXNzIFBhbmVzUm91dGVyIHtcclxuICByZWFkb25seSBfZXZlbnRzJCA9IG5ldyBTdWJqZWN0PE5hdmlnYXRpb25CYXNlPigpO1xyXG4gIHJlYWRvbmx5IF9jb21tJCA9IG5ldyBTdWJqZWN0PFJvdXRlckNvbW1hbmQ+KCk7XHJcblxyXG4gIHJlYWRvbmx5IF9uYXZpZ2F0ZSQgPSBuZXcgU3ViamVjdDx7XHJcbiAgICBjb21tYW5kcz86IHN0cmluZ1tdLFxyXG4gICAgY29tcG9uZW50PzogQ29tcG9uZW50VHlwZTxhbnk+LFxyXG4gIH0gJiBOYXZpZ2F0aW9uT3B0aW9ucz4oKTtcclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gY29tbWFuZHNcclxuICAgKiBAcGFyYW0gb3B0aW9uc1xyXG4gICAqL1xyXG4gIG5hdmlnYXRlKGNvbW1hbmRzOiAoc3RyaW5nIHwgbnVtYmVyKVtdLCBvcHRpb25zPzogTmF2aWdhdGlvbk9wdGlvbnMpXHJcbiAgbmF2aWdhdGU8VD4oY29tbWFuZHM6IENvbXBvbmVudFR5cGU8VD4sIG9wdGlvbnM/OiBOYXZpZ2F0aW9uT3B0aW9ucyk6IFByb21pc2U8UGFuZVJlZjxUPj5cclxuICBuYXZpZ2F0ZTxUPihjb21tYW5kczogKHN0cmluZyB8IG51bWJlcilbXSB8IENvbXBvbmVudFR5cGU8VD4sIG9wdGlvbnM/OiBOYXZpZ2F0aW9uT3B0aW9ucyk6IFByb21pc2U8UGFuZVJlZjxUPj4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPFBhbmVSZWY8VD4+KChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgdGhpcy5fZXZlbnRzJC5waXBlKGZpbHRlcihlID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpLCBmaXJzdCgpKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChlOiBOYXZpZ2F0aW9uU3RhcnQpID0+XHJcbiAgICAgICAgICByZXNvbHZlKGUucGFuZSksIGVycm9yOiByZWplY3RcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuX25hdmlnYXRlJC5uZXh0KGlzQXJyYXkoY29tbWFuZHMpID9cclxuICAgICAgICB7XHJcbiAgICAgICAgICBjb21tYW5kczogY29tbWFuZHMgYXMgc3RyaW5nW10sIC4uLm9wdGlvbnNcclxuICAgICAgICB9IDoge1xyXG4gICAgICAgICAgY29tcG9uZW50OiBjb21tYW5kcywgLi4ub3B0aW9uc1xyXG4gICAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8qKiAqL1xyXG4gIGdldCBldmVudHMoKSB7IHJldHVybiB0aGlzLl9ldmVudHMkLmFzT2JzZXJ2YWJsZSgpIH1cclxuICAvKiogKi9cclxuICBjb2xsYXBzZSgpIHtcclxuICAgIHRoaXMuX2NvbW0kLm5leHQoJ2NvbGxhcHNlJyk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE5hdmlnYXRpb25PcHRpb25zIHtcclxuICBzdGF0ZT86IGFueTtcclxuICBxdWVyeVBhcmFtcz86IHsgW25hbWU6IHN0cmluZ106IGFueSB9O1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgcGF0aE1vZGU/OiAncmVsYXRpdmUnLFxyXG4gIHJlbGF0aXZlVG8/OiBQYW5lUmVmLFxyXG4gIGFuaW1hdGlvbj86IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZztcclxuICBoZWxwPzogc3RyaW5nO1xyXG4gIGdyb3VwPzogc3RyaW5nO1xyXG4gIGluamVjdG9yPzogSW5qZWN0b3I7XHJcbiAgcG9saWN5PzogT3BlblBvbGljeTtcclxufVxyXG4iXX0=
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL3NyYy9saWIvY29yZS9zbG90cy9yb3V0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBRXJELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxlQUFlLEVBQTJCLE1BQU0sWUFBWSxDQUFDOztBQUl0RSxNQUFNLE9BQ0UsV0FBVztJQUZuQjtRQUdXLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBa0IsQ0FBQztRQUN6QyxXQUFNLEdBQUcsSUFBSSxPQUFPLEVBQWlCLENBQUM7UUFFdEMsZUFBVSxHQUFHLElBQUksT0FBTyxFQUdULENBQUM7S0E2QjFCO0lBckJDLFFBQVEsQ0FBSSxRQUFnRCxFQUFFLE9BQTJCO1FBQ3ZGLE9BQU8sSUFBSSxPQUFPLENBQWEsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDakQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLGVBQWUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUMvRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FDUixPQUFPLENBQUUsQ0FBcUIsQ0FBQyxJQUFJLENBQUM7Z0JBQ3RDLEtBQUssRUFBRSxNQUFNO2FBQ2QsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RDO29CQUNFLFFBQVEsRUFBRSxRQUFvQixFQUFFLEdBQUcsT0FBTztpQkFDM0MsQ0FBQyxDQUFDLENBQUM7Z0JBQ0YsU0FBUyxFQUFFLFFBQVEsRUFBRSxHQUFHLE9BQU87YUFDaEMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsTUFBTTtJQUNOLElBQUksTUFBTSxLQUFLLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQSxDQUFDLENBQUM7SUFDcEQsTUFBTTtJQUNOLFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMvQixDQUFDOzhHQW5DSyxXQUFXO2tIQUFYLFdBQVcsY0FGTyxNQUFNOzsyRkFFeEIsV0FBVztrQkFGbEIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmlsdGVyLCBmaXJzdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgT3BlblBvbGljeSB9IGZyb20gJy4uL2NvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBpc0FycmF5IH0gZnJvbSAnLi4vZnVuY3Rpb25zJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBOYXZpZ2F0aW9uQmFzZSwgUGFuZVJlZiB9IGZyb20gJy4vcGFuZS1yZWYnO1xyXG5cclxuZXhwb3J0IHR5cGUgUm91dGVyQ29tbWFuZCA9ICdjb2xsYXBzZSc7XHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydFxyXG4gIGNsYXNzIFBhbmVzUm91dGVyIHtcclxuICByZWFkb25seSBfZXZlbnRzJCA9IG5ldyBTdWJqZWN0PE5hdmlnYXRpb25CYXNlPigpO1xyXG4gIHJlYWRvbmx5IF9jb21tJCA9IG5ldyBTdWJqZWN0PFJvdXRlckNvbW1hbmQ+KCk7XHJcblxyXG4gIHJlYWRvbmx5IF9uYXZpZ2F0ZSQgPSBuZXcgU3ViamVjdDx7XHJcbiAgICBjb21tYW5kcz86IHN0cmluZ1tdLFxyXG4gICAgY29tcG9uZW50PzogQ29tcG9uZW50VHlwZTxhbnk+LFxyXG4gIH0gJiBOYXZpZ2F0aW9uT3B0aW9ucz4oKTtcclxuICAvKipcclxuICAgKiBcclxuICAgKiBAcGFyYW0gY29tbWFuZHNcclxuICAgKiBAcGFyYW0gb3B0aW9uc1xyXG4gICAqL1xyXG4gIG5hdmlnYXRlPFQ+KGNvbW1hbmRzOiAoc3RyaW5nIHwgbnVtYmVyKVtdLCBvcHRpb25zPzogTmF2aWdhdGlvbk9wdGlvbnMpOiBQcm9taXNlPFBhbmVSZWY8VD4+XHJcbiAgbmF2aWdhdGU8VD4oY29tbWFuZHM6IENvbXBvbmVudFR5cGU8VD4sIG9wdGlvbnM/OiBOYXZpZ2F0aW9uT3B0aW9ucyk6IFByb21pc2U8UGFuZVJlZjxUPj5cclxuICBuYXZpZ2F0ZTxUPihjb21tYW5kczogKHN0cmluZyB8IG51bWJlcilbXSB8IENvbXBvbmVudFR5cGU8VD4sIG9wdGlvbnM/OiBOYXZpZ2F0aW9uT3B0aW9ucyk6IFByb21pc2U8UGFuZVJlZjxUPj4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPFBhbmVSZWY8VD4+KChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgdGhpcy5fZXZlbnRzJC5waXBlKGZpbHRlcihlID0+IGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpLCBmaXJzdCgpKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IGUgPT5cclxuICAgICAgICAgIHJlc29sdmUoKGUgYXMgTmF2aWdhdGlvblN0YXJ0KS5wYW5lKSxcclxuICAgICAgICBlcnJvcjogcmVqZWN0XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLl9uYXZpZ2F0ZSQubmV4dChpc0FycmF5KGNvbW1hbmRzKSA/XHJcbiAgICAgICAge1xyXG4gICAgICAgICAgY29tbWFuZHM6IGNvbW1hbmRzIGFzIHN0cmluZ1tdLCAuLi5vcHRpb25zXHJcbiAgICAgICAgfSA6IHtcclxuICAgICAgICAgIGNvbXBvbmVudDogY29tbWFuZHMsIC4uLm9wdGlvbnNcclxuICAgICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuICAvKiogKi9cclxuICBnZXQgZXZlbnRzKCkgeyByZXR1cm4gdGhpcy5fZXZlbnRzJC5hc09ic2VydmFibGUoKSB9XHJcbiAgLyoqICovXHJcbiAgY29sbGFwc2UoKSB7XHJcbiAgICB0aGlzLl9jb21tJC5uZXh0KCdjb2xsYXBzZScpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBOYXZpZ2F0aW9uT3B0aW9ucyB7XHJcbiAgc3RhdGU/OiBhbnk7XHJcbiAgcXVlcnlQYXJhbXM/OiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfTtcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIHBhdGhNb2RlPzogJ3JlbGF0aXZlJyxcclxuICByZWxhdGl2ZVRvPzogUGFuZVJlZixcclxuICBhbmltYXRpb24/OiBzdHJpbmc7XHJcbiAgdGl0bGU/OiBzdHJpbmc7XHJcbiAgaGVscD86IHN0cmluZztcclxuICBncm91cD86IHN0cmluZztcclxuICBpbmplY3Rvcj86IEluamVjdG9yO1xyXG4gIHBvbGljeT86IE9wZW5Qb2xpY3k7XHJcbn1cclxuIl19