@bizdoc/core 1.9.13 → 1.10.0-next.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 (481) hide show
  1. package/assets/dayjs/locale/af.js +1 -0
  2. package/assets/dayjs/locale/am.js +1 -0
  3. package/assets/dayjs/locale/ar-dz.js +1 -0
  4. package/assets/dayjs/locale/ar-iq.js +1 -0
  5. package/assets/dayjs/locale/ar-kw.js +1 -0
  6. package/assets/dayjs/locale/ar-ly.js +1 -0
  7. package/assets/dayjs/locale/ar-ma.js +1 -0
  8. package/assets/dayjs/locale/ar-sa.js +1 -0
  9. package/assets/dayjs/locale/ar-tn.js +1 -0
  10. package/assets/dayjs/locale/ar.js +1 -0
  11. package/assets/dayjs/locale/az.js +1 -0
  12. package/assets/dayjs/locale/be.js +1 -0
  13. package/assets/dayjs/locale/bg.js +1 -0
  14. package/assets/dayjs/locale/bi.js +1 -0
  15. package/assets/dayjs/locale/bm.js +1 -0
  16. package/assets/dayjs/locale/bn.js +1 -0
  17. package/assets/dayjs/locale/bo.js +1 -0
  18. package/assets/dayjs/locale/br.js +1 -0
  19. package/assets/dayjs/locale/bs.js +1 -0
  20. package/assets/dayjs/locale/ca.js +1 -0
  21. package/assets/dayjs/locale/cs.js +1 -0
  22. package/assets/dayjs/locale/cv.js +1 -0
  23. package/assets/dayjs/locale/cy.js +1 -0
  24. package/assets/dayjs/locale/da.js +1 -0
  25. package/assets/dayjs/locale/de-at.js +1 -0
  26. package/assets/dayjs/locale/de-ch.js +1 -0
  27. package/assets/dayjs/locale/de.js +1 -0
  28. package/assets/dayjs/locale/dv.js +1 -0
  29. package/assets/dayjs/locale/el.js +1 -0
  30. package/assets/dayjs/locale/en-au.js +1 -0
  31. package/assets/dayjs/locale/en-ca.js +1 -0
  32. package/assets/dayjs/locale/en-gb.js +1 -0
  33. package/assets/dayjs/locale/en-ie.js +1 -0
  34. package/assets/dayjs/locale/en-il.js +1 -0
  35. package/assets/dayjs/locale/en-in.js +1 -0
  36. package/assets/dayjs/locale/en-nz.js +1 -0
  37. package/assets/dayjs/locale/en-sg.js +1 -0
  38. package/assets/dayjs/locale/en-tt.js +1 -0
  39. package/assets/dayjs/locale/en.js +1 -0
  40. package/assets/dayjs/locale/eo.js +1 -0
  41. package/assets/dayjs/locale/es-do.js +1 -0
  42. package/assets/dayjs/locale/es-mx.js +1 -0
  43. package/assets/dayjs/locale/es-pr.js +1 -0
  44. package/assets/dayjs/locale/es-us.js +1 -0
  45. package/assets/dayjs/locale/es.js +1 -0
  46. package/assets/dayjs/locale/et.js +1 -0
  47. package/assets/dayjs/locale/eu.js +1 -0
  48. package/assets/dayjs/locale/fa.js +1 -0
  49. package/assets/dayjs/locale/fi.js +1 -0
  50. package/assets/dayjs/locale/fo.js +1 -0
  51. package/assets/dayjs/locale/fr-ca.js +1 -0
  52. package/assets/dayjs/locale/fr-ch.js +1 -0
  53. package/assets/dayjs/locale/fr.js +1 -0
  54. package/assets/dayjs/locale/fy.js +1 -0
  55. package/assets/dayjs/locale/ga.js +1 -0
  56. package/assets/dayjs/locale/gd.js +1 -0
  57. package/assets/dayjs/locale/gl.js +1 -0
  58. package/assets/dayjs/locale/gom-latn.js +1 -0
  59. package/assets/dayjs/locale/gu.js +1 -0
  60. package/assets/dayjs/locale/he.js +1 -0
  61. package/assets/dayjs/locale/hi.js +1 -0
  62. package/assets/dayjs/locale/hr.js +1 -0
  63. package/assets/dayjs/locale/ht.js +1 -0
  64. package/assets/dayjs/locale/hu.js +1 -0
  65. package/assets/dayjs/locale/hy-am.js +1 -0
  66. package/assets/dayjs/locale/id.js +1 -0
  67. package/assets/dayjs/locale/index.d.ts +11 -0
  68. package/assets/dayjs/locale/is.js +1 -0
  69. package/assets/dayjs/locale/it-ch.js +1 -0
  70. package/assets/dayjs/locale/it.js +1 -0
  71. package/assets/dayjs/locale/ja.js +1 -0
  72. package/assets/dayjs/locale/jv.js +1 -0
  73. package/assets/dayjs/locale/ka.js +1 -0
  74. package/assets/dayjs/locale/kk.js +1 -0
  75. package/assets/dayjs/locale/km.js +1 -0
  76. package/assets/dayjs/locale/kn.js +1 -0
  77. package/assets/dayjs/locale/ko.js +1 -0
  78. package/assets/dayjs/locale/ku.js +1 -0
  79. package/assets/dayjs/locale/ky.js +1 -0
  80. package/assets/dayjs/locale/lb.js +1 -0
  81. package/assets/dayjs/locale/lo.js +1 -0
  82. package/assets/dayjs/locale/lt.js +1 -0
  83. package/assets/dayjs/locale/lv.js +1 -0
  84. package/assets/dayjs/locale/me.js +1 -0
  85. package/assets/dayjs/locale/mi.js +1 -0
  86. package/assets/dayjs/locale/mk.js +1 -0
  87. package/assets/dayjs/locale/ml.js +1 -0
  88. package/assets/dayjs/locale/mn.js +1 -0
  89. package/assets/dayjs/locale/mr.js +1 -0
  90. package/assets/dayjs/locale/ms-my.js +1 -0
  91. package/assets/dayjs/locale/ms.js +1 -0
  92. package/assets/dayjs/locale/mt.js +1 -0
  93. package/assets/dayjs/locale/my.js +1 -0
  94. package/assets/dayjs/locale/nb.js +1 -0
  95. package/assets/dayjs/locale/ne.js +1 -0
  96. package/assets/dayjs/locale/nl-be.js +1 -0
  97. package/assets/dayjs/locale/nl.js +1 -0
  98. package/assets/dayjs/locale/nn.js +1 -0
  99. package/assets/dayjs/locale/oc-lnc.js +1 -0
  100. package/assets/dayjs/locale/pa-in.js +1 -0
  101. package/assets/dayjs/locale/pl.js +1 -0
  102. package/assets/dayjs/locale/pt-br.js +1 -0
  103. package/assets/dayjs/locale/pt.js +1 -0
  104. package/assets/dayjs/locale/ro.js +1 -0
  105. package/assets/dayjs/locale/ru.js +1 -0
  106. package/assets/dayjs/locale/rw.js +1 -0
  107. package/assets/dayjs/locale/sd.js +1 -0
  108. package/assets/dayjs/locale/se.js +1 -0
  109. package/assets/dayjs/locale/si.js +1 -0
  110. package/assets/dayjs/locale/sk.js +1 -0
  111. package/assets/dayjs/locale/sl.js +1 -0
  112. package/assets/dayjs/locale/sq.js +1 -0
  113. package/assets/dayjs/locale/sr-cyrl.js +1 -0
  114. package/assets/dayjs/locale/sr.js +1 -0
  115. package/assets/dayjs/locale/ss.js +1 -0
  116. package/assets/dayjs/locale/sv-fi.js +1 -0
  117. package/assets/dayjs/locale/sv.js +1 -0
  118. package/assets/dayjs/locale/sw.js +1 -0
  119. package/assets/dayjs/locale/ta.js +1 -0
  120. package/assets/dayjs/locale/te.js +1 -0
  121. package/assets/dayjs/locale/tet.js +1 -0
  122. package/assets/dayjs/locale/tg.js +1 -0
  123. package/assets/dayjs/locale/th.js +1 -0
  124. package/assets/dayjs/locale/tk.js +1 -0
  125. package/assets/dayjs/locale/tl-ph.js +1 -0
  126. package/assets/dayjs/locale/tlh.js +1 -0
  127. package/assets/dayjs/locale/tr.js +1 -0
  128. package/assets/dayjs/locale/types.d.ts +33 -0
  129. package/assets/dayjs/locale/tzl.js +1 -0
  130. package/assets/dayjs/locale/tzm-latn.js +1 -0
  131. package/assets/dayjs/locale/tzm.js +1 -0
  132. package/assets/dayjs/locale/ug-cn.js +1 -0
  133. package/assets/dayjs/locale/uk.js +1 -0
  134. package/assets/dayjs/locale/ur.js +1 -0
  135. package/assets/dayjs/locale/uz-latn.js +1 -0
  136. package/assets/dayjs/locale/uz.js +1 -0
  137. package/assets/dayjs/locale/vi.js +1 -0
  138. package/assets/dayjs/locale/x-pseudo.js +1 -0
  139. package/assets/dayjs/locale/yo.js +1 -0
  140. package/assets/dayjs/locale/zh-cn.js +1 -0
  141. package/assets/dayjs/locale/zh-hk.js +1 -0
  142. package/assets/dayjs/locale/zh-tw.js +1 -0
  143. package/assets/dayjs/locale/zh.js +1 -0
  144. package/assets/themes/brown.min.css +1 -1
  145. package/assets/themes/dark.min.css +1 -1
  146. package/assets/themes/deep-purple-light-blue.min.css +3 -3
  147. package/assets/themes/default.min.css +1 -1
  148. package/assets/themes/green.min.css +1 -1
  149. package/assets/themes/indigo.min.css +1 -1
  150. package/esm2020/lib/admin/admin-dismiss.service.mjs +3 -3
  151. package/esm2020/lib/admin/admin-menu.component.mjs +3 -3
  152. package/esm2020/lib/admin/core/ace.input.mjs +3 -3
  153. package/esm2020/lib/admin/core/color-picker.input.mjs +3 -3
  154. package/esm2020/lib/admin/core/search.input.mjs +3 -3
  155. package/esm2020/lib/admin/diff/configuration-diff.component.mjs +5 -5
  156. package/esm2020/lib/admin/document-trace/document-trace.component.mjs +9 -10
  157. package/esm2020/lib/admin/document-trace/reassign.dialog.mjs +3 -3
  158. package/esm2020/lib/admin/document-trace/trace-element.component.mjs +4 -4
  159. package/esm2020/lib/admin/form/form.resolve.service.mjs +3 -3
  160. package/esm2020/lib/admin/form/form.service.mjs +3 -3
  161. package/esm2020/lib/admin/form/workflow/node.component.mjs +3 -3
  162. package/esm2020/lib/admin/form/workflow/role-node.component.mjs +3 -3
  163. package/esm2020/lib/admin/form/workflow/workflow.component.mjs +6 -5
  164. package/esm2020/lib/admin/indices/manage-cube-index.component.mjs +3 -3
  165. package/esm2020/lib/admin/patterns/patterns.component.mjs +3 -3
  166. package/esm2020/lib/admin/permissions/permissions.component.mjs +3 -3
  167. package/esm2020/lib/admin/positions/positions-popup.component.mjs +3 -3
  168. package/esm2020/lib/admin/positions/positions.component.mjs +3 -3
  169. package/esm2020/lib/admin/profiler/profiler.component.mjs +10 -10
  170. package/esm2020/lib/admin/utility-wrapper.component.mjs +3 -3
  171. package/esm2020/lib/admin/utility.pane.component.mjs +3 -3
  172. package/esm2020/lib/app.component.mjs +6 -6
  173. package/esm2020/lib/bizdoc.module.mjs +8 -20
  174. package/esm2020/lib/browse/browse-items.component.mjs +13 -8
  175. package/esm2020/lib/browse/browse.mobile.component.mjs +3 -3
  176. package/esm2020/lib/browse/browse.pane.component.mjs +6 -4
  177. package/esm2020/lib/browse/expanded-item/expanded-item.component.mjs +12 -12
  178. package/esm2020/lib/browse/filter/filter.component.mjs +3 -3
  179. package/esm2020/lib/browse/folders-menu.component.mjs +3 -3
  180. package/esm2020/lib/chat/chat-info.mjs +3 -3
  181. package/esm2020/lib/chat/chat.mobile.component.mjs +3 -3
  182. package/esm2020/lib/chat/chat.service.mjs +3 -3
  183. package/esm2020/lib/chat/contacts.component.mjs +9 -8
  184. package/esm2020/lib/chat/contacts.pane.component.mjs +3 -3
  185. package/esm2020/lib/chat/conversation.component.mjs +8 -6
  186. package/esm2020/lib/chat/conversation.pane.component.mjs +3 -3
  187. package/esm2020/lib/compose/action/action-picker.component.mjs +3 -3
  188. package/esm2020/lib/compose/action/action.dialog.mjs +3 -3
  189. package/esm2020/lib/compose/action/action.pane.dialog.mjs +3 -3
  190. package/esm2020/lib/compose/action/assign-action.component.mjs +3 -3
  191. package/esm2020/lib/compose/action/return-action.component.mjs +3 -3
  192. package/esm2020/lib/compose/attachments/attachments.component.mjs +4 -4
  193. package/esm2020/lib/compose/attachments/preview/attachment-preview.component.mjs +3 -3
  194. package/esm2020/lib/compose/attachments/progress-button.directive.mjs +3 -3
  195. package/esm2020/lib/compose/can-deactivate-changes.service.mjs +3 -3
  196. package/esm2020/lib/compose/comments/Comments.pane.component.mjs +3 -3
  197. package/esm2020/lib/compose/comments/comment.component.mjs +6 -5
  198. package/esm2020/lib/compose/comments/comments.component.mjs +3 -3
  199. package/esm2020/lib/compose/comments/edit-comment.component.mjs +3 -3
  200. package/esm2020/lib/compose/comments/edits.component.mjs +4 -4
  201. package/esm2020/lib/compose/comments/quick-comment.component.exp.mjs +3 -3
  202. package/esm2020/lib/compose/comments/votes.component.mjs +6 -5
  203. package/esm2020/lib/compose/compose-resolve.service.mjs +6 -6
  204. package/esm2020/lib/compose/compose.mobile.component.mjs +3 -3
  205. package/esm2020/lib/compose/compose.pane.component.mjs +6 -4
  206. package/esm2020/lib/compose/copy/copy.dialog.mjs +3 -3
  207. package/esm2020/lib/compose/dismiss.service.mjs +3 -3
  208. package/esm2020/lib/compose/document-resolver.service.mjs +3 -3
  209. package/esm2020/lib/compose/document.component.mjs +3 -3
  210. package/esm2020/lib/compose/document.mobile.component.mjs +3 -3
  211. package/esm2020/lib/compose/document.pane.component.mjs +3 -3
  212. package/esm2020/lib/compose/events/events.component.mjs +4 -4
  213. package/esm2020/lib/compose/form-selector/form-selector.sheet.mjs +3 -3
  214. package/esm2020/lib/compose/form.component.mjs +3 -3
  215. package/esm2020/lib/compose/new-menu.component.mjs +3 -3
  216. package/esm2020/lib/compose/privilage.directive.mjs +6 -6
  217. package/esm2020/lib/compose/recipient-resolver.service.mjs +3 -3
  218. package/esm2020/lib/compose/save-changes.dialog.mjs +3 -3
  219. package/esm2020/lib/compose/state.component.mjs +3 -3
  220. package/esm2020/lib/compose/tag/tags.component.mjs +3 -3
  221. package/esm2020/lib/compose/trace/flow.component.mjs +39 -31
  222. package/esm2020/lib/compose/trace/people.component.mjs +3 -3
  223. package/esm2020/lib/compose/trace/trace.base.mjs +6 -7
  224. package/esm2020/lib/compose/trace/trace.component.mjs +10 -10
  225. package/esm2020/lib/compose/trace/trace.pane.component.mjs +3 -3
  226. package/esm2020/lib/compose/version-compare/version-compare.component.mjs +3 -3
  227. package/esm2020/lib/compose/version-compare/version-compare.directive.mjs +9 -9
  228. package/esm2020/lib/compose/version-compare/version.pane.component.mjs +5 -5
  229. package/esm2020/lib/core/NgComponentOutlet.mjs +3 -3
  230. package/esm2020/lib/core/account.service.mjs +3 -3
  231. package/esm2020/lib/core/animated-icon/animated-icon.directive.mjs +3 -3
  232. package/esm2020/lib/core/avatar/avatar.component.mjs +3 -3
  233. package/esm2020/lib/core/component-factory-resolver.mjs +3 -3
  234. package/esm2020/lib/core/controls/address.input.mjs +3 -3
  235. package/esm2020/lib/core/controls/auto-complete.input.mjs +3 -3
  236. package/esm2020/lib/core/controls/combination-picker-body.mjs +3 -3
  237. package/esm2020/lib/core/controls/combination-picker.mjs +3 -3
  238. package/esm2020/lib/core/controls/combination-pool.mjs +3 -3
  239. package/esm2020/lib/core/controls/select.input.mjs +3 -3
  240. package/esm2020/lib/core/controls/time-picker.mjs +3 -3
  241. package/esm2020/lib/core/controls/timespan.input.mjs +3 -3
  242. package/esm2020/lib/core/datasource.service.mjs +3 -3
  243. package/esm2020/lib/core/guide/guide.component.mjs +3 -3
  244. package/esm2020/lib/core/guide/guide.service.mjs +3 -3
  245. package/esm2020/lib/core/http.interceptor.mjs +3 -3
  246. package/esm2020/lib/core/hub.service.mjs +3 -3
  247. package/esm2020/lib/core/identity/identity.component.mjs +3 -3
  248. package/esm2020/lib/core/info/attachment-info.service.mjs +3 -3
  249. package/esm2020/lib/core/info/document-info.service.mjs +3 -3
  250. package/esm2020/lib/core/info/location-info.component.mjs +3 -3
  251. package/esm2020/lib/core/info/map-info.mjs +3 -3
  252. package/esm2020/lib/core/layout/autocomplete.field.mjs +3 -3
  253. package/esm2020/lib/core/layout/checkbox.field.mjs +3 -3
  254. package/esm2020/lib/core/layout/checkbox.mjs +3 -3
  255. package/esm2020/lib/core/layout/date-range.field.mjs +3 -3
  256. package/esm2020/lib/core/layout/date.field.mjs +3 -3
  257. package/esm2020/lib/core/layout/expression.field.mjs +3 -3
  258. package/esm2020/lib/core/layout/html.field.mjs +3 -3
  259. package/esm2020/lib/core/layout/input.base.mjs +3 -3
  260. package/esm2020/lib/core/layout/input.field.mjs +3 -3
  261. package/esm2020/lib/core/layout/layout.component.mjs +3 -3
  262. package/esm2020/lib/core/layout/numeric.field.mjs +3 -3
  263. package/esm2020/lib/core/layout/select.field.mjs +3 -3
  264. package/esm2020/lib/core/layout/switch.field.mjs +3 -3
  265. package/esm2020/lib/core/layout/textarea.field.mjs +3 -3
  266. package/esm2020/lib/core/layout/timespan.field.mjs +3 -3
  267. package/esm2020/lib/core/lottie-animation.mjs +3 -3
  268. package/esm2020/lib/core/mailbox.service.mjs +3 -3
  269. package/esm2020/lib/core/none.component.mjs +3 -3
  270. package/esm2020/lib/core/pipes/action.pipe.mjs +3 -3
  271. package/esm2020/lib/core/pipes/calendar.pipe.mjs +72 -0
  272. package/esm2020/lib/core/pipes/date-format.pipe.mjs +19 -0
  273. package/esm2020/lib/core/pipes/daterange.pipe.mjs +13 -14
  274. package/esm2020/lib/core/pipes/difference.pipe.mjs +15 -0
  275. package/esm2020/lib/core/pipes/duration-format.pipe.mjs +48 -0
  276. package/esm2020/lib/core/pipes/duration.pipe.mjs +13 -42
  277. package/esm2020/lib/core/pipes/form.pipe.mjs +3 -3
  278. package/esm2020/lib/core/pipes/join.pipe.mjs +3 -3
  279. package/esm2020/lib/core/pipes/role.pipe.mjs +3 -3
  280. package/esm2020/lib/core/pipes/sanitize-html.pipe.mjs +3 -3
  281. package/esm2020/lib/core/pipes/sort.pipe.mjs +6 -6
  282. package/esm2020/lib/core/pipes/state.pipe.mjs +3 -3
  283. package/esm2020/lib/core/pipes/time-ago.pipe.mjs +66 -0
  284. package/esm2020/lib/core/pipes/translate.pipe.mjs +3 -3
  285. package/esm2020/lib/core/pipes/type-value.pipe.mjs +3 -3
  286. package/esm2020/lib/core/pipes/user-name.pipe.mjs +3 -3
  287. package/esm2020/lib/core/popup/popup.component.mjs +3 -3
  288. package/esm2020/lib/core/popup/popup.service.mjs +3 -3
  289. package/esm2020/lib/core/popup/tooltip.directive.mjs +6 -6
  290. package/esm2020/lib/core/prompt/ask/ask.dialog.mjs +3 -3
  291. package/esm2020/lib/core/prompt/mask/mask.component.mjs +3 -3
  292. package/esm2020/lib/core/prompt.service.mjs +3 -3
  293. package/esm2020/lib/core/router.mjs +6 -6
  294. package/esm2020/lib/core/session.service.mjs +9 -9
  295. package/esm2020/lib/core/slots/router.directive.mjs +3 -3
  296. package/esm2020/lib/core/slots/router.service.mjs +3 -3
  297. package/esm2020/lib/core/slots/slots.component.mjs +12 -11
  298. package/esm2020/lib/core/tagging/documents.component.mjs +3 -3
  299. package/esm2020/lib/core/tagging/edit-input.component.mjs +9 -8
  300. package/esm2020/lib/core/tagging/emoji.component.mjs +3 -3
  301. package/esm2020/lib/core/tagging/tagging-item.directive.mjs +3 -3
  302. package/esm2020/lib/core/tagging/tagging.component-base.mjs +3 -3
  303. package/esm2020/lib/core/tagging/tagging.directive.mjs +3 -3
  304. package/esm2020/lib/core/tagging/tagging.pipe.mjs +3 -3
  305. package/esm2020/lib/core/tagging/users.component.mjs +3 -3
  306. package/esm2020/lib/core/translate.service.mjs +28 -103
  307. package/esm2020/lib/core/translations.mjs +4 -4
  308. package/esm2020/lib/core/window-title.service.mjs +3 -3
  309. package/esm2020/lib/cube/accum/accum.component.mjs +10 -6
  310. package/esm2020/lib/cube/chart/chart.component.mjs +14 -6
  311. package/esm2020/lib/cube/cube-info.service.mjs +3 -3
  312. package/esm2020/lib/cube/cube-menu.component.mjs +3 -3
  313. package/esm2020/lib/cube/cube-view.component.mjs +24 -18
  314. package/esm2020/lib/cube/cube.service.mjs +5 -5
  315. package/esm2020/lib/cube/declarations.mjs +1 -1
  316. package/esm2020/lib/cube/explore/document-item.component.mjs +3 -3
  317. package/esm2020/lib/cube/explore/explore-item.component.mjs +3 -3
  318. package/esm2020/lib/cube/explore/explore-items.component.mjs +4 -4
  319. package/esm2020/lib/cube/explore/explore.pane.component.mjs +3 -3
  320. package/esm2020/lib/cube/explore/item-resolver.service.mjs +6 -6
  321. package/esm2020/lib/cube/explore/item.pane.component.mjs +3 -3
  322. package/esm2020/lib/cube/filter/filter-tags.component.exp.mjs +3 -3
  323. package/esm2020/lib/cube/filter/filter.component.mjs +3 -3
  324. package/esm2020/lib/cube/grid/grid.component.mjs +6 -7
  325. package/esm2020/lib/cube/grid/spreadsheet.component.mjs +15 -16
  326. package/esm2020/lib/cube/matrix/matrix.base.mjs +3 -3
  327. package/esm2020/lib/cube/matrix/matrix.component.mjs +3 -3
  328. package/esm2020/lib/cube/matrix/matrix.mobile.component.mjs +3 -3
  329. package/esm2020/lib/cube/matrix/matrix.pane.component.mjs +3 -3
  330. package/esm2020/lib/cube/matrix/table.component.mjs +17 -18
  331. package/esm2020/lib/cube/parallel/item.mjs +2 -1
  332. package/esm2020/lib/cube/parallel/parallel.component.mjs +3 -3
  333. package/esm2020/lib/cube/pivot/pivot.component.mjs +19 -14
  334. package/esm2020/lib/cube/sum/sum.component.mjs +5 -5
  335. package/esm2020/lib/cube/view-base.mjs +4 -4
  336. package/esm2020/lib/cube/view.mobile.component.mjs +3 -3
  337. package/esm2020/lib/cube/view.pane.component.mjs +10 -7
  338. package/esm2020/lib/dashboard/actions/actions.widget.mjs +3 -3
  339. package/esm2020/lib/dashboard/cube/accum-cube.widget.mjs +3 -3
  340. package/esm2020/lib/dashboard/cube/cube-analysis.base.mjs +3 -3
  341. package/esm2020/lib/dashboard/cube/cube-analysis.widget.mjs +3 -3
  342. package/esm2020/lib/dashboard/cube/cube-chart.widget.mjs +5 -4
  343. package/esm2020/lib/dashboard/cube/documents.widget.mjs +3 -3
  344. package/esm2020/lib/dashboard/cube/filter/filter.component.mjs +3 -3
  345. package/esm2020/lib/dashboard/dashboard.component.mjs +3 -3
  346. package/esm2020/lib/dashboard/dashboard.pane.component.mjs +3 -3
  347. package/esm2020/lib/dashboard/recents/recents.widget.mjs +3 -3
  348. package/esm2020/lib/dashboard/score/activity.widget.mjs +6 -7
  349. package/esm2020/lib/dashboard/score/compare-departments.widget.mjs +7 -8
  350. package/esm2020/lib/dashboard/score/peers-performance.widget.mjs +7 -8
  351. package/esm2020/lib/dashboard/score/pending-results.widget.mjs +7 -8
  352. package/esm2020/lib/dashboard/score/personal-score.widget.mjs +5 -5
  353. package/esm2020/lib/dashboard/widget-item.component.mjs +3 -3
  354. package/esm2020/lib/desktop.module.mjs +5 -9
  355. package/esm2020/lib/home/about/about.dialog.mjs +8 -9
  356. package/esm2020/lib/home/home-base.component.mjs +3 -3
  357. package/esm2020/lib/home/home.desktop.component.mjs +3 -3
  358. package/esm2020/lib/home/home.mobile.component.mjs +3 -3
  359. package/esm2020/lib/home/notifications/notifications.component.mjs +7 -6
  360. package/esm2020/lib/home/options/options.component.mjs +3 -3
  361. package/esm2020/lib/home/outofoffice/outofoffice.component.mjs +3 -3
  362. package/esm2020/lib/home/search.service.mjs +11 -8
  363. package/esm2020/lib/home/sign/sign.component.mjs +3 -3
  364. package/esm2020/lib/home/tools.component.mjs +3 -3
  365. package/esm2020/lib/impersonate/impersonate.component.mjs +3 -3
  366. package/esm2020/lib/mobile.module.mjs +5 -9
  367. package/esm2020/lib/modules/chart.module.mjs +9 -9
  368. package/esm2020/lib/modules/circular-gauge.module.mjs +4 -4
  369. package/esm2020/lib/modules/date.adapter.mjs +30 -0
  370. package/esm2020/lib/modules/datepicker.intl.mjs +39 -0
  371. package/esm2020/lib/modules/diagram.module.mjs +4 -4
  372. package/esm2020/lib/modules/gantt.module.mjs +17 -0
  373. package/esm2020/lib/modules/grid.module.mjs +4 -4
  374. package/esm2020/lib/modules/material.module.mjs +15 -9
  375. package/esm2020/lib/modules/paginator.intl.mjs +21 -0
  376. package/esm2020/lib/modules/pivot.module.mjs +4 -4
  377. package/esm2020/lib/modules/schedule.module.mjs +4 -4
  378. package/esm2020/lib/modules/spreadsheet.module.mjs +4 -4
  379. package/esm2020/lib/modules/stepper.intl.mjs +17 -0
  380. package/esm2020/lib/modules/texteditor.module.mjs +27 -0
  381. package/esm2020/lib/notifications/filter.component.mjs +3 -3
  382. package/esm2020/lib/notifications/notifications-table.component.mjs +6 -5
  383. package/esm2020/lib/notifications/notifications.mobile.component.mjs +3 -3
  384. package/esm2020/lib/notifications/notifications.pane.component.mjs +3 -3
  385. package/esm2020/lib/notifications/notifications.service.mjs +3 -3
  386. package/esm2020/lib/notifications/types/commented.notification.mjs +3 -3
  387. package/esm2020/lib/notifications/types/cube-anomaly.notification.mjs +3 -3
  388. package/esm2020/lib/notifications/types/escalated.notification.mjs +3 -3
  389. package/esm2020/lib/notifications/types/liked.notification.mjs +3 -3
  390. package/esm2020/lib/notifications/types/long-running-task.notification.mjs +3 -3
  391. package/esm2020/lib/notifications/types/notification-base.mjs +3 -3
  392. package/esm2020/lib/notifications/types/nudge.notification.mjs +6 -7
  393. package/esm2020/lib/notifications/types/state-changed.notification.mjs +3 -3
  394. package/esm2020/lib/notifications/types/tagged.notification.mjs +3 -3
  395. package/esm2020/lib/notifications/types/text.notification.mjs +3 -3
  396. package/esm2020/lib/notifications/types/upcoming-event.notification.mjs +7 -8
  397. package/esm2020/lib/options/options.component.mjs +3 -3
  398. package/esm2020/lib/options/options.service.mjs +3 -3
  399. package/esm2020/lib/reports/arguments-component.mjs +3 -3
  400. package/esm2020/lib/reports/cube/grid-documents.component.mjs +4 -4
  401. package/esm2020/lib/reports/cube/table-documents.component.mjs +3 -3
  402. package/esm2020/lib/reports/cube/usage-args.component.mjs +3 -3
  403. package/esm2020/lib/reports/cube/usage-base.mjs +3 -3
  404. package/esm2020/lib/reports/cube/usage-chart.component.mjs +3 -3
  405. package/esm2020/lib/reports/cube/usage-pivot.component.mjs +3 -3
  406. package/esm2020/lib/reports/report-viewer.component.mjs +3 -3
  407. package/esm2020/lib/reports/report.mobile.component.mjs +3 -3
  408. package/esm2020/lib/reports/report.pane.component.mjs +3 -3
  409. package/esm2020/lib/reports/reports-menu.component.mjs +3 -3
  410. package/esm2020/lib/reports/substitution/substitution.component.mjs +4 -4
  411. package/esm2020/lib/reports/table/table-view.component.mjs +3 -3
  412. package/esm2020/lib/reports/tasks/tasks.component.mjs +3 -3
  413. package/esm2020/lib/routes.mobile.mjs +1 -1
  414. package/esm2020/lib/scheduler/schedule.component.mjs +8 -9
  415. package/esm2020/lib/scheduler/scheduler.mobile.component.mjs +7 -8
  416. package/esm2020/lib/scheduler/scheduler.pane.component.mjs +7 -8
  417. package/esm2020/lib/shared.module.mjs +38 -28
  418. package/esm2020/lib/system.module.mjs +5 -9
  419. package/esm2020/lib/views/cube/chart.component.mjs +3 -3
  420. package/esm2020/lib/views/cube/cube-base.mjs +3 -3
  421. package/esm2020/lib/views/cube/explore.component.mjs +3 -3
  422. package/esm2020/lib/views/cube/matrix.component.mjs +5 -5
  423. package/esm2020/lib/views/cube/parallel.component.mjs +5 -5
  424. package/esm2020/lib/views/cube/pivot.component.mjs +3 -3
  425. package/esm2020/lib/views/cube/sum.component.mjs +5 -5
  426. package/esm2020/lib/views/cube/view.component.mjs +3 -3
  427. package/esm2020/lib/views/timeline/timeline.component.exp.mjs +6 -7
  428. package/esm2020/lib/views/view-item.component.mjs +3 -3
  429. package/esm2020/lib/views/views.component.mjs +3 -3
  430. package/esm2020/lib/views/views.mobile.component.mjs +3 -3
  431. package/esm2020/lib/views/views.pane.component.mjs +3 -3
  432. package/esm2020/public-api.mjs +7 -2
  433. package/fesm2015/bizdoc-core.mjs +1444 -1200
  434. package/fesm2015/bizdoc-core.mjs.map +1 -1
  435. package/fesm2020/bizdoc-core.mjs +1444 -1198
  436. package/fesm2020/bizdoc-core.mjs.map +1 -1
  437. package/lib/admin/diff/configuration-diff.component.d.ts +1 -1
  438. package/lib/bizdoc.module.d.ts +6 -7
  439. package/lib/browse/browse-items.component.d.ts +1 -1
  440. package/lib/chat/conversation.component.d.ts +1 -1
  441. package/lib/compose/trace/flow.component.d.ts +1 -1
  442. package/lib/compose/trace/trace.component.d.ts +1 -1
  443. package/lib/compose/version-compare/version.pane.component.d.ts +1 -1
  444. package/lib/core/pipes/calendar.pipe.d.ts +27 -0
  445. package/lib/core/pipes/date-format.pipe.d.ts +8 -0
  446. package/lib/core/pipes/daterange.pipe.d.ts +1 -1
  447. package/lib/core/pipes/difference.pipe.d.ts +7 -0
  448. package/lib/core/pipes/duration-format.pipe.d.ts +11 -0
  449. package/lib/core/pipes/duration.pipe.d.ts +5 -8
  450. package/lib/core/pipes/time-ago.pipe.d.ts +16 -0
  451. package/lib/core/session.service.d.ts +2 -1
  452. package/lib/core/translate.service.d.ts +2 -56
  453. package/lib/cube/accum/accum.component.d.ts +1 -0
  454. package/lib/cube/chart/chart.component.d.ts +4 -2
  455. package/lib/cube/cube-view.component.d.ts +4 -5
  456. package/lib/cube/declarations.d.ts +1 -0
  457. package/lib/cube/grid/grid.component.d.ts +2 -3
  458. package/lib/cube/grid/spreadsheet.component.d.ts +1 -0
  459. package/lib/cube/matrix/table.component.d.ts +2 -2
  460. package/lib/cube/parallel/item.d.ts +2 -2
  461. package/lib/cube/pivot/pivot.component.d.ts +3 -5
  462. package/lib/cube/sum/sum.component.d.ts +1 -1
  463. package/lib/dashboard/score/peers-performance.widget.d.ts +1 -1
  464. package/lib/dashboard/score/personal-score.widget.d.ts +1 -1
  465. package/lib/desktop.module.d.ts +2 -3
  466. package/lib/home/about/about.dialog.d.ts +2 -1
  467. package/lib/mobile.module.d.ts +2 -3
  468. package/lib/modules/chart.module.d.ts +1 -1
  469. package/lib/modules/date.adapter.d.ts +13 -0
  470. package/lib/modules/datepicker.intl.d.ts +30 -0
  471. package/lib/modules/gantt.module.d.ts +7 -0
  472. package/lib/modules/paginator.intl.d.ts +14 -0
  473. package/lib/modules/stepper.intl.d.ts +10 -0
  474. package/lib/modules/texteditor.module.d.ts +8 -0
  475. package/lib/notifications/types/nudge.notification.d.ts +2 -1
  476. package/lib/notifications/types/upcoming-event.notification.d.ts +2 -1
  477. package/lib/shared.module.d.ts +175 -172
  478. package/lib/system.module.d.ts +4 -5
  479. package/lib/views/cube/matrix.component.d.ts +2 -2
  480. package/package.json +3 -6
  481. package/public-api.d.ts +6 -1
@@ -16,9 +16,9 @@ export class DocumentTaggingComponent extends TaggingComponentBase {
16
16
  this.items = this._mailbox.findAll({ contains: value }, { take: 8 });
17
17
  }
18
18
  }
19
- DocumentTaggingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: DocumentTaggingComponent, deps: [{ token: i1.MailboxService }], target: i0.ɵɵFactoryTarget.Component });
20
- DocumentTaggingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: DocumentTaggingComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div role=\"listbox\" cdkTrapFocus class=\"tag-list\">\r\n <bizdoc-tag-item *ngFor='let item of items | async' [key]='item.number' [value]='item.documentId' [attr.aria-label]='item.number' matRipple>\r\n <div class=\"row\">\r\n <mat-icon>{{item.formId | form : 'icon' }}</mat-icon>\r\n &nbsp;\r\n <div class=\"column\">\r\n <span>{{item.number}}</span>\r\n </div>\r\n </div>\r\n </bizdoc-tag-item>\r\n</div>\r\n", styles: [".tag-list{display:flex;flex-direction:column}.tag-item{cursor:pointer;padding:8px}.tag-item .row{align-items:center}.tag-item.active{background:lightgray}\n"], components: [{ type: i2.TaggingItemDirective, selector: "bizdoc-tag-item", inputs: ["key", "value"], outputs: ["selected"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], pipes: { "async": i4.AsyncPipe, "form": i6.FormPipe } });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: DocumentTaggingComponent, decorators: [{
19
+ DocumentTaggingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DocumentTaggingComponent, deps: [{ token: i1.MailboxService }], target: i0.ɵɵFactoryTarget.Component });
20
+ DocumentTaggingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: DocumentTaggingComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div role=\"listbox\" cdkTrapFocus class=\"tag-list\">\r\n <bizdoc-tag-item *ngFor='let item of items | async' [key]='item.number' [value]='item.documentId' [attr.aria-label]='item.number' matRipple>\r\n <div class=\"row\">\r\n <mat-icon>{{item.formId | form : 'icon' }}</mat-icon>\r\n &nbsp;\r\n <div class=\"column\">\r\n <span>{{item.number}}</span>\r\n </div>\r\n </div>\r\n </bizdoc-tag-item>\r\n</div>\r\n", styles: [".tag-list{display:flex;flex-direction:column}.tag-item{cursor:pointer;padding:8px}.tag-item .row{align-items:center}.tag-item.active{background:lightgray}\n"], components: [{ type: i2.TaggingItemDirective, selector: "bizdoc-tag-item", inputs: ["key", "value"], outputs: ["selected"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], pipes: { "async": i4.AsyncPipe, "form": i6.FormPipe } });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: DocumentTaggingComponent, decorators: [{
22
22
  type: Component,
23
23
  args: [{ template: "<div role=\"listbox\" cdkTrapFocus class=\"tag-list\">\r\n <bizdoc-tag-item *ngFor='let item of items | async' [key]='item.number' [value]='item.documentId' [attr.aria-label]='item.number' matRipple>\r\n <div class=\"row\">\r\n <mat-icon>{{item.formId | form : 'icon' }}</mat-icon>\r\n &nbsp;\r\n <div class=\"column\">\r\n <span>{{item.number}}</span>\r\n </div>\r\n </div>\r\n </bizdoc-tag-item>\r\n</div>\r\n", styles: [".tag-list{display:flex;flex-direction:column}.tag-item{cursor:pointer;padding:8px}.tag-item .row{align-items:center}.tag-item.active{background:lightgray}\n"] }]
24
24
  }], ctorParameters: function () { return [{ type: i1.MailboxService }]; } });
@@ -14,9 +14,10 @@ import * as i5 from "@angular/material/icon";
14
14
  import * as i6 from "@angular/flex-layout/flex";
15
15
  import * as i7 from "@angular/common";
16
16
  import * as i8 from "@angular/material/input";
17
- import * as i9 from "./tagging.directive";
18
- import * as i10 from "../popup/tooltip.directive";
19
- import * as i11 from "../pipes/translate.pipe";
17
+ import * as i9 from "@angular/cdk/text-field";
18
+ import * as i10 from "./tagging.directive";
19
+ import * as i11 from "../popup/tooltip.directive";
20
+ import * as i12 from "../pipes/translate.pipe";
20
21
  RichTextEditor.Inject(Toolbar, HtmlEditor);
21
22
  export const HTML_EXP = /<[\/\w]+>/g;
22
23
  export class EditInputComponent {
@@ -192,11 +193,11 @@ export class EditInputComponent {
192
193
  this._image = null;
193
194
  }
194
195
  }
195
- EditInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: EditInputComponent, deps: [{ token: i1.Popup }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
196
- EditInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: EditInputComponent, selector: "bizdoc-edit-text", inputs: { placeholder: "placeholder", text: "text", image: "image", resource: "resource", disabled: "disabled", autofocus: "autofocus", cache: "cache" }, outputs: { change: "change", onOk: "ok", onFocus: "focus", onBlur: "blur" }, viewQueries: [{ propertyName: "_textElement", first: true, predicate: ["textArea"], descendants: true }, { propertyName: "_rte", first: true, predicate: RichTextEditorComponent, descendants: true }], ngImport: i0, template: "<div fxLayout=\"column\">\r\n <ng-container [ngSwitch]=\"mode\">\r\n <ng-container *ngSwitchCase=\"'html'\">\r\n <ejs-richtexteditor [value]=\"text\"\r\n (change)=\"_htmlChange($event)\"\r\n [toolbarSettings]=\"toolbarSettings\"></ejs-richtexteditor>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <mat-form-field floatLabel=\"never\" fxFlex>\r\n <textarea matInput [autofocus]=\"autofocus\"\r\n [(bizdocTagging)]=\"resource\"\r\n (keydown)=\"_key($event)\"\r\n (input)=\"_textChange($event)\"\r\n [value]=\"text\"\r\n (paste)=\"_paste($event)\"\r\n [matTextareaAutosize]=\"true\"\r\n [matAutosizeMaxRows]=\"20\"\r\n [placeholder]=\"(placeholder || 'TypeHere') | translate\"\r\n (focus)=\"onFocus.emit()\"\r\n (focusout)=\"onBlur.emit()\"\r\n #textArea></textarea>\r\n </mat-form-field>\r\n </ng-container>\r\n </ng-container>\r\n <div fxLayout=\"row\">\r\n <button mat-icon-button (click)=\"_openDocument($event)\" [bizdocTooltip]=\"'Document'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\" [disabled]=\"mode !== 'text'\"><mat-icon>article</mat-icon></button>\r\n <button mat-icon-button (click)=\"_openMention($event)\" [bizdocTooltip]=\"'Mention'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\" [disabled]=\"mode !== 'text'\"><mat-icon>alternate_email</mat-icon></button>\r\n <button mat-icon-button (click)=\"_openEmoji($event)\" [bizdocTooltip]=\"'Emoji'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\" [disabled]=\"mode !== 'text'\"><mat-icon>insert_emoticon</mat-icon></button>\r\n <button mat-icon-button (click)=\"_toggleHtml()\" [bizdocTooltip]=\"'Text'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\"><mat-icon>text_fields</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"_ok()\" [disabled]=\"disabled\" class=\"tool\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">send</mat-icon>\r\n </button>\r\n </div>\r\n</div>\r\n<div *ngIf=\"_image\">\r\n <img [src]=\"'data:image/png;base64,'+ _image\" />\r\n <button mat-icon-button (click)=\"_clearImage()\" [disabled]=\"disabled\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n</div>\r\n", styles: [":host{display:flex;flex-direction:column}.mat-form-field{flex:1 auto;padding:0 8px}.mat-form-field textarea{overflow:hidden}img{max-width:300px}\n"], components: [{ type: i2.RichTextEditorComponent, selector: "ejs-richtexteditor", inputs: ["autoSaveOnIdle", "backgroundColor", "bulletFormatList", "cssClass", "editorMode", "enableAutoUrl", "enableHtmlEncode", "enableHtmlSanitizer", "enablePersistence", "enableResize", "enableRtl", "enableTabKey", "enableXhtml", "enabled", "enterKey", "fileManagerSettings", "floatingToolbarOffset", "fontColor", "fontFamily", "fontSize", "format", "formatter", "height", "htmlAttributes", "iframeSettings", "inlineMode", "insertImageSettings", "keyConfig", "locale", "maxLength", "numberFormatList", "pasteCleanupSettings", "placeholder", "quickToolbarSettings", "readonly", "saveInterval", "shiftEnterKey", "showCharCount", "tableSettings", "toolbarSettings", "undoRedoSteps", "undoRedoTimer", "value", "valueTemplate", "width"], outputs: ["actionBegin", "actionComplete", "afterImageDelete", "afterPasteCleanup", "beforeDialogClose", "beforeDialogOpen", "beforeImageDrop", "beforeImageUpload", "beforePasteCleanup", "beforeQuickToolbarOpen", "beforeSanitizeHtml", "blur", "change", "created", "destroyed", "dialogClose", "dialogOpen", "focus", "imageRemoving", "imageSelected", "imageUploadFailed", "imageUploadSuccess", "imageUploading", "quickToolbarClose", "quickToolbarOpen", "resizeStart", "resizeStop", "resizing", "toolbarClick", "toolbarStatusUpdate", "updatedToolbarStatus", "valueChange"] }, { type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i6.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i7.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i7.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i7.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i6.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i9.TaggingDirective, selector: "[bizdocTagging]", inputs: ["bizdocTagging"], outputs: ["bizdocTaggingChange"] }, { type: i10.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i11.TranslatePipe } });
197
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: EditInputComponent, decorators: [{
196
+ EditInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: EditInputComponent, deps: [{ token: i1.Popup }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
197
+ EditInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: EditInputComponent, selector: "bizdoc-edit-text", inputs: { placeholder: "placeholder", text: "text", image: "image", resource: "resource", disabled: "disabled", autofocus: "autofocus", cache: "cache" }, outputs: { change: "change", onOk: "ok", onFocus: "focus", onBlur: "blur" }, viewQueries: [{ propertyName: "_textElement", first: true, predicate: ["textArea"], descendants: true }, { propertyName: "_rte", first: true, predicate: RichTextEditorComponent, descendants: true }], ngImport: i0, template: "<div fxLayout=\"column\">\r\n <ng-container [ngSwitch]=\"mode\">\r\n <ng-container *ngSwitchCase=\"'html'\">\r\n <ejs-richtexteditor [value]=\"text\"\r\n (change)=\"_htmlChange($event)\"\r\n [toolbarSettings]=\"toolbarSettings\"></ejs-richtexteditor>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <mat-form-field floatLabel=\"never\" fxFlex>\r\n <textarea matInput cdkTextareaAutosize [autofocus]=\"autofocus\"\r\n [(bizdocTagging)]=\"resource\"\r\n (keydown)=\"_key($event)\"\r\n (input)=\"_textChange($event)\"\r\n [value]=\"text\"\r\n (paste)=\"_paste($event)\"\r\n [matTextareaAutosize]=\"true\"\r\n [matAutosizeMaxRows]=\"20\"\r\n [placeholder]=\"(placeholder || 'TypeHere') | translate\"\r\n (focus)=\"onFocus.emit()\"\r\n (focusout)=\"onBlur.emit()\"\r\n #textArea></textarea>\r\n </mat-form-field>\r\n </ng-container>\r\n </ng-container>\r\n <div fxLayout=\"row\">\r\n <button mat-icon-button (click)=\"_openDocument($event)\" [bizdocTooltip]=\"'Document'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\" [disabled]=\"mode !== 'text'\"><mat-icon>article</mat-icon></button>\r\n <button mat-icon-button (click)=\"_openMention($event)\" [bizdocTooltip]=\"'Mention'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\" [disabled]=\"mode !== 'text'\"><mat-icon>alternate_email</mat-icon></button>\r\n <button mat-icon-button (click)=\"_openEmoji($event)\" [bizdocTooltip]=\"'Emoji'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\" [disabled]=\"mode !== 'text'\"><mat-icon>insert_emoticon</mat-icon></button>\r\n <button mat-icon-button (click)=\"_toggleHtml()\" [bizdocTooltip]=\"'Text'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\"><mat-icon>text_fields</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"_ok()\" [disabled]=\"disabled\" class=\"tool\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">send</mat-icon>\r\n </button>\r\n </div>\r\n</div>\r\n<div *ngIf=\"_image\">\r\n <img [src]=\"'data:image/png;base64,'+ _image\" />\r\n <button mat-icon-button (click)=\"_clearImage()\" [disabled]=\"disabled\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n</div>\r\n", styles: [":host{display:flex;flex-direction:column}.mat-form-field{flex:1 auto;padding:0 8px}.mat-form-field textarea{overflow:hidden}img{max-width:300px}\n"], components: [{ type: i2.RichTextEditorComponent, selector: "ejs-richtexteditor", inputs: ["autoSaveOnIdle", "backgroundColor", "bulletFormatList", "cssClass", "editorMode", "enableAutoUrl", "enableHtmlEncode", "enableHtmlSanitizer", "enablePersistence", "enableResize", "enableRtl", "enableTabKey", "enableXhtml", "enabled", "enterKey", "fileManagerSettings", "floatingToolbarOffset", "fontColor", "fontFamily", "fontSize", "format", "formatter", "height", "htmlAttributes", "iframeSettings", "inlineMode", "insertImageSettings", "keyConfig", "locale", "maxLength", "numberFormatList", "pasteCleanupSettings", "placeholder", "quickToolbarSettings", "readonly", "saveInterval", "shiftEnterKey", "showCharCount", "tableSettings", "toolbarSettings", "undoRedoSteps", "undoRedoTimer", "value", "valueTemplate", "width"], outputs: ["actionBegin", "actionComplete", "afterImageDelete", "afterPasteCleanup", "beforeDialogClose", "beforeDialogOpen", "beforeImageDrop", "beforeImageUpload", "beforePasteCleanup", "beforeQuickToolbarOpen", "beforeSanitizeHtml", "blur", "change", "created", "destroyed", "dialogClose", "dialogOpen", "focus", "imageRemoving", "imageSelected", "imageUploadFailed", "imageUploadSuccess", "imageUploading", "quickToolbarClose", "quickToolbarOpen", "resizeStart", "resizeStop", "resizing", "toolbarClick", "toolbarStatusUpdate", "updatedToolbarStatus", "valueChange"] }, { type: i3.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i6.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i7.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i7.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i7.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { type: i6.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i9.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { type: i10.TaggingDirective, selector: "[bizdocTagging]", inputs: ["bizdocTagging"], outputs: ["bizdocTaggingChange"] }, { type: i11.TooltipDirective, selector: "[bizdocTooltip]", inputs: ["bizdocTooltip", "bizdocTooltipTemplate", "bizdocTooltipContext", "bizdocTooltipPosition", "bizdocTooltipDuration", "bizdocTooltipDisabled"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i12.TranslatePipe } });
198
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: EditInputComponent, decorators: [{
198
199
  type: Component,
199
- args: [{ selector: 'bizdoc-edit-text', template: "<div fxLayout=\"column\">\r\n <ng-container [ngSwitch]=\"mode\">\r\n <ng-container *ngSwitchCase=\"'html'\">\r\n <ejs-richtexteditor [value]=\"text\"\r\n (change)=\"_htmlChange($event)\"\r\n [toolbarSettings]=\"toolbarSettings\"></ejs-richtexteditor>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <mat-form-field floatLabel=\"never\" fxFlex>\r\n <textarea matInput [autofocus]=\"autofocus\"\r\n [(bizdocTagging)]=\"resource\"\r\n (keydown)=\"_key($event)\"\r\n (input)=\"_textChange($event)\"\r\n [value]=\"text\"\r\n (paste)=\"_paste($event)\"\r\n [matTextareaAutosize]=\"true\"\r\n [matAutosizeMaxRows]=\"20\"\r\n [placeholder]=\"(placeholder || 'TypeHere') | translate\"\r\n (focus)=\"onFocus.emit()\"\r\n (focusout)=\"onBlur.emit()\"\r\n #textArea></textarea>\r\n </mat-form-field>\r\n </ng-container>\r\n </ng-container>\r\n <div fxLayout=\"row\">\r\n <button mat-icon-button (click)=\"_openDocument($event)\" [bizdocTooltip]=\"'Document'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\" [disabled]=\"mode !== 'text'\"><mat-icon>article</mat-icon></button>\r\n <button mat-icon-button (click)=\"_openMention($event)\" [bizdocTooltip]=\"'Mention'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\" [disabled]=\"mode !== 'text'\"><mat-icon>alternate_email</mat-icon></button>\r\n <button mat-icon-button (click)=\"_openEmoji($event)\" [bizdocTooltip]=\"'Emoji'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\" [disabled]=\"mode !== 'text'\"><mat-icon>insert_emoticon</mat-icon></button>\r\n <button mat-icon-button (click)=\"_toggleHtml()\" [bizdocTooltip]=\"'Text'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\"><mat-icon>text_fields</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"_ok()\" [disabled]=\"disabled\" class=\"tool\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">send</mat-icon>\r\n </button>\r\n </div>\r\n</div>\r\n<div *ngIf=\"_image\">\r\n <img [src]=\"'data:image/png;base64,'+ _image\" />\r\n <button mat-icon-button (click)=\"_clearImage()\" [disabled]=\"disabled\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n</div>\r\n", styles: [":host{display:flex;flex-direction:column}.mat-form-field{flex:1 auto;padding:0 8px}.mat-form-field textarea{overflow:hidden}img{max-width:300px}\n"] }]
200
+ args: [{ selector: 'bizdoc-edit-text', template: "<div fxLayout=\"column\">\r\n <ng-container [ngSwitch]=\"mode\">\r\n <ng-container *ngSwitchCase=\"'html'\">\r\n <ejs-richtexteditor [value]=\"text\"\r\n (change)=\"_htmlChange($event)\"\r\n [toolbarSettings]=\"toolbarSettings\"></ejs-richtexteditor>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <mat-form-field floatLabel=\"never\" fxFlex>\r\n <textarea matInput cdkTextareaAutosize [autofocus]=\"autofocus\"\r\n [(bizdocTagging)]=\"resource\"\r\n (keydown)=\"_key($event)\"\r\n (input)=\"_textChange($event)\"\r\n [value]=\"text\"\r\n (paste)=\"_paste($event)\"\r\n [matTextareaAutosize]=\"true\"\r\n [matAutosizeMaxRows]=\"20\"\r\n [placeholder]=\"(placeholder || 'TypeHere') | translate\"\r\n (focus)=\"onFocus.emit()\"\r\n (focusout)=\"onBlur.emit()\"\r\n #textArea></textarea>\r\n </mat-form-field>\r\n </ng-container>\r\n </ng-container>\r\n <div fxLayout=\"row\">\r\n <button mat-icon-button (click)=\"_openDocument($event)\" [bizdocTooltip]=\"'Document'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\" [disabled]=\"mode !== 'text'\"><mat-icon>article</mat-icon></button>\r\n <button mat-icon-button (click)=\"_openMention($event)\" [bizdocTooltip]=\"'Mention'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\" [disabled]=\"mode !== 'text'\"><mat-icon>alternate_email</mat-icon></button>\r\n <button mat-icon-button (click)=\"_openEmoji($event)\" [bizdocTooltip]=\"'Emoji'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\" [disabled]=\"mode !== 'text'\"><mat-icon>insert_emoticon</mat-icon></button>\r\n <button mat-icon-button (click)=\"_toggleHtml()\" [bizdocTooltip]=\"'Text'|translate\" bizdocTooltipPosition=\"above\" class=\"tool\"><mat-icon>text_fields</mat-icon></button>\r\n <span class=\"divider\"></span>\r\n <button mat-icon-button (click)=\"_ok()\" [disabled]=\"disabled\" class=\"tool\">\r\n <mat-icon class=\"mat-icon-rtl-mirror\">send</mat-icon>\r\n </button>\r\n </div>\r\n</div>\r\n<div *ngIf=\"_image\">\r\n <img [src]=\"'data:image/png;base64,'+ _image\" />\r\n <button mat-icon-button (click)=\"_clearImage()\" [disabled]=\"disabled\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n</div>\r\n", styles: [":host{display:flex;flex-direction:column}.mat-form-field{flex:1 auto;padding:0 8px}.mat-form-field textarea{overflow:hidden}img{max-width:300px}\n"] }]
200
201
  }], ctorParameters: function () { return [{ type: i1.Popup }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { placeholder: [{
201
202
  type: Input
202
203
  }], text: [{
@@ -229,4 +230,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
229
230
  type: ViewChild,
230
231
  args: [RichTextEditorComponent]
231
232
  }] } });
232
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvdGFnZ2luZy9lZGl0LWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29yZS90YWdnaW5nL2VkaXQtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQyxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHOUQsT0FBTyxFQUFtQixVQUFVLEVBQUUsY0FBYyxFQUFFLHVCQUF1QixFQUFFLE9BQU8sRUFBd0IsV0FBVyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFMUssT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFFdkQsY0FBYyxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFFM0MsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQztBQU9yQyxNQUFNLE9BQU8sa0JBQWtCO0lBdUQ3QixZQUFvQixNQUFhLEVBQ3ZCLEdBQXNCO1FBRFosV0FBTSxHQUFOLE1BQU0sQ0FBTztRQUN2QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXZEdkIsb0JBQWUsR0FBRztZQUN6QixLQUFLLEVB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QUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUNyQixDQUFDOzsrR0F0TFUsa0JBQWtCO21HQUFsQixrQkFBa0IsZ2FBc0RsQix1QkFBdUIsZ0RDM0VwQyx3NUVBeUNBOzJGRHBCYSxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0Usa0JBQWtCOzRIQWlCbkIsV0FBVztzQkFBbkIsS0FBSztnQkFJSyxJQUFJO3NCQURkLEtBQUs7Z0JBT0ssS0FBSztzQkFEZixLQUFLO2dCQVFLLFFBQVE7c0JBRGxCLEtBQUs7Z0JBT0csUUFBUTtzQkFBaEIsS0FBSztnQkFNSyxTQUFTO3NCQURuQixLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkFJYSxNQUFNO3NCQUF4QixNQUFNO2dCQUNnQixJQUFJO3NCQUExQixNQUFNO3VCQUFDLElBQUk7Z0JBQ2MsT0FBTztzQkFBaEMsTUFBTTt1QkFBQyxPQUFPO2dCQUNVLE1BQU07c0JBQTlCLE1BQU07dUJBQUMsTUFBTTtnQkFDUyxZQUFZO3NCQUFsQyxTQUFTO3VCQUFDLFVBQVU7Z0JBQ2UsSUFBSTtzQkFBdkMsU0FBUzt1QkFBQyx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBFTlRFUiwgRVNDQVBFIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcclxuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBFbW9qaURhdGEgfSBmcm9tICdAY3RybC9uZ3gtZW1vamktbWFydC9uZ3gtZW1vamknO1xyXG5pbXBvcnQgeyBDaGFuZ2VFdmVudEFyZ3MsIEh0bWxFZGl0b3IsIFJpY2hUZXh0RWRpdG9yLCBSaWNoVGV4dEVkaXRvckNvbXBvbmVudCwgVG9vbGJhciwgVG9vbGJhclNldHRpbmdzTW9kZWwsIFRvb2xiYXJUeXBlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItcmljaHRleHRlZGl0b3InO1xyXG5pbXBvcnQgeyBQb3B1cCB9IGZyb20gJy4uL3BvcHVwL3BvcHVwLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVc2VyVGFnZ2luZ0NvbXBvbmVudCB9IGZyb20gJy4vdXNlcnMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRG9jdW1lbnRUYWdnaW5nQ29tcG9uZW50IH0gZnJvbSAnLi9kb2N1bWVudHMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGFnZ2luZ0NvbXBvbmVudEJhc2UgfSBmcm9tICcuL3RhZ2dpbmcuY29tcG9uZW50LWJhc2UnO1xyXG5pbXBvcnQgeyBFbW9qaUhvc3RDb21wb25lbnQgfSBmcm9tICcuL2Vtb2ppLmNvbXBvbmVudCc7XHJcblxyXG5SaWNoVGV4dEVkaXRvci5JbmplY3QoVG9vbGJhciwgSHRtbEVkaXRvcik7XHJcblxyXG5leHBvcnQgY29uc3QgSFRNTF9FWFAgPSAvPFtcXC9cXHddKz4vZztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYml6ZG9jLWVkaXQtdGV4dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VkaXQtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2VkaXQtaW5wdXQuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRWRpdElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgcmVhZG9ubHkgdG9vbGJhclNldHRpbmdzID0ge1xyXG4gICAgaXRlbXM6IFsnQm9sZCcsICdJdGFsaWMnLCAnVW5kZXJsaW5lJywgJ1N0cmlrZVRocm91Z2gnLFxyXG4gICAgICAnfCcsXHJcbiAgICAgICdGb3JtYXRzJywgJ0FsaWdubWVudHMnLCAnT3JkZXJlZExpc3QnLCAnVW5vcmRlcmVkTGlzdCcsXHJcbiAgICAgICdPdXRkZW50JywgJ0luZGVudCddLFxyXG4gICAgdHlwZTogVG9vbGJhclR5cGUuTXVsdGlSb3dcclxuICB9IGFzIFRvb2xiYXJTZXR0aW5nc01vZGVsO1xyXG4gIHByaXZhdGUgX3RleHQ6IHN0cmluZyA9ICcnO1xyXG4gIHByaXZhdGUgX29yaWdpbmFsVGV4dDogc3RyaW5nO1xyXG4gIHB1YmxpYyBnZXQgdGV4dCgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3RleHQ7XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgLy9AQ29udGVudENoaWxkKCdbZWRpdEhpbnRdJykgaGludD86IE5nVGVtcGxhdGU7XHJcbiAgLy9AQ29udGVudENoaWxkKCdbZWRpdExhYmVsXScpIGxhYmVsPzogTmdUZW1wbGF0ZTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgdGV4dCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9vcmlnaW5hbFRleHQgPSB2YWx1ZTtcclxuICAgIHRoaXMuX3RleHQgPSB2YWx1ZTtcclxuICAgIHRoaXMubW9kZSA9IHZhbHVlICYmIEhUTUxfRVhQLnRlc3QodmFsdWUpID8gJ2h0bWwnIDogJ3RleHQnXHJcbiAgfVxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBpbWFnZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9vcmlnaW5hbEltYWdlID0gdmFsdWU7XHJcbiAgICB0aGlzLl9pbWFnZSA9IHZhbHVlO1xyXG4gIH1cclxuICBtb2RlOiAnaHRtbCcgfCAndGV4dCcgPSAndGV4dCc7XHJcbiAgcHJpdmF0ZSBfcmVzb3VyY2U6IHsgW2tleTogc3RyaW5nXTogYW55OyB9O1xyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGdldCByZXNvdXJjZSgpOiB7IFtrZXk6IHN0cmluZ106IGFueTsgfSB7XHJcbiAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2U7XHJcbiAgfVxyXG4gIHB1YmxpYyBzZXQgcmVzb3VyY2UodmFsdWU6IHsgW2tleTogc3RyaW5nXTogYW55OyB9KSB7XHJcbiAgICB0aGlzLl9yZXNvdXJjZSA9IHZhbHVlO1xyXG4gIH1cclxuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcclxuICBwcml2YXRlIF9hdXRvZm9jdXM6IGJvb2xlYW47XHJcbiAgcHVibGljIGdldCBhdXRvZm9jdXMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fYXV0b2ZvY3VzO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgYXV0b2ZvY3VzKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9hdXRvZm9jdXMgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIGNhY2hlOiBzdHJpbmc7XHJcbiAgX2ltYWdlOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfb3JpZ2luYWxJbWFnZTogc3RyaW5nO1xyXG4gIEBPdXRwdXQoKSByZWFkb25seSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCdvaycpIHJlYWRvbmx5IG9uT2sgPSBuZXcgRXZlbnRFbWl0dGVyPEVkaXRUZXh0RXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgnZm9jdXMnKSByZWFkb25seSBvbkZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoJ2JsdXInKSByZWFkb25seSBvbkJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQFZpZXdDaGlsZCgndGV4dEFyZWEnKSBfdGV4dEVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTFRleHRBcmVhRWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZChSaWNoVGV4dEVkaXRvckNvbXBvbmVudCkgX3J0ZTogUmljaFRleHRFZGl0b3JDb21wb25lbnQ7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfcG9wdXA6IFBvcHVwLFxyXG4gICAgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fdGV4dCkge1xyXG4gICAgICBpZiAodGhpcy5tb2RlID09PSAnaHRtbCcpXHJcbiAgICAgICAgdGhpcy5fcnRlLnZhbHVlID0gdGhpcy5fdGV4dDtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIHRoaXMuX3RleHRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLl90ZXh0O1xyXG4gICAgfVxyXG4gICAgdGhpcy5hdXRvZm9jdXMgJiYgc2V0VGltZW91dCh0aGlzLmZvY3VzLmJpbmQodGhpcykpO1xyXG4gIH1cclxuICBfa2V5KGV2dDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgaWYgKGV2dC5jYW5jZWxCdWJibGUpIHJldHVybjtcclxuICAgIGlmIChldnQud2hpY2ggPT09IEVOVEVSICYmICFldnQuc2hpZnRLZXkpIHtcclxuICAgICAgdGhpcy5fc3VibWl0KCk7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoZXZ0LndoaWNoID09PSBFU0NBUEUpIHtcclxuICAgICAgaWYgKHRoaXMuX3RleHRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgJiYgdGhpcy5fdGV4dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZS5sZW5ndGgpIHtcclxuICAgICAgICB0aGlzLl90ZXh0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gbnVsbDtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgX3N1Ym1pdCgpIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSByZXR1cm47XHJcbiAgICBjb25zdCB0ZXh0ID0gdGhpcy5tb2RlID09PSAndGV4dCcgP1xyXG4gICAgICB0aGlzLl90ZXh0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlLnRyaW0oKVxyXG4gICAgICA6XHJcbiAgICAgIHRoaXMuX3J0ZS52YWx1ZS50cmltKCk7XHJcblxyXG4gICAgaWYgKCh0ZXh0ICYmIHRleHQubGVuZ3RoICYmIHRleHQgIT09IHRoaXMuX29yaWdpbmFsVGV4dCkgfHxcclxuICAgICAgKHRoaXMuX29yaWdpbmFsSW1hZ2UgJiYgdGhpcy5faW1hZ2UgIT09IHRoaXMuX29yaWdpbmFsSW1hZ2UpKVxyXG4gICAgICB0aGlzLm9uT2suZW1pdCh7IHRleHQsIHJlc291cmNlOiB0aGlzLl9yZXNvdXJjZSwgaW1hZ2U6IHRoaXMuX2ltYWdlIH0pO1xyXG4gIH1cclxuICBfdGV4dENoYW5nZShldnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIHRoaXMuX3RleHQgPSAoZXZ0LnNyY0VsZW1lbnQgYXMgSFRNTFRleHRBcmVhRWxlbWVudCkudmFsdWU7XHJcbiAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMuX3RleHQpO1xyXG4gIH1cclxuICBfaHRtbENoYW5nZShldnQ6IENoYW5nZUV2ZW50QXJncykge1xyXG4gICAgdGhpcy5fdGV4dCA9IGV2dC52YWx1ZTtcclxuICAgIHRoaXMuY2hhbmdlLmVtaXQodGhpcy5fdGV4dCk7XHJcbiAgfVxyXG4gIF90b2dnbGVIdG1sKCkge1xyXG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ2h0bWwnKSB7XHJcbiAgICAgIGlmICh0aGlzLl90ZXh0KSB0aGlzLl90ZXh0ID0gdGhpcy5fcnRlLmdldFRleHQoKTtcclxuICAgICAgdGhpcy5tb2RlID0gJ3RleHQnO1xyXG4gICAgfVxyXG4gICAgZWxzZVxyXG4gICAgICB0aGlzLm1vZGUgPSAnaHRtbCc7XHJcbiAgICB0aGlzLl9jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB0aGlzLmZvY3VzKCk7XHJcbiAgfVxyXG4gIF9vaygpIHtcclxuICAgIHRoaXMuX3N1Ym1pdCgpO1xyXG4gICAgdGhpcy5mb2N1cygpO1xyXG4gIH1cclxuICBjbGVhcigpIHtcclxuICAgIHRoaXMuX2ltYWdlID0gbnVsbDtcclxuICAgIHRoaXMuX3Jlc291cmNlID0gbnVsbDtcclxuICAgIHRoaXMuX3RleHQgPSBudWxsO1xyXG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ3RleHQnKVxyXG4gICAgICB0aGlzLl90ZXh0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gbnVsbDtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5fcnRlLnZhbHVlID0gJyc7XHJcbiAgfVxyXG4gIGZvY3VzKCkge1xyXG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ3RleHQnKVxyXG4gICAgICBzZXRUaW1lb3V0KCgpPT4gdGhpcy5fdGV4dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpLCAwKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5fcnRlLmZvY3VzSW4oKTtcclxuICB9XHJcbiAgX29wZW5Eb2N1bWVudChldnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIHRoaXMuX3RhZyhEb2N1bWVudFRhZ2dpbmdDb21wb25lbnQsIGV2dCwgJyMnKTtcclxuICB9XHJcbiAgX3RhZyhjb21wb25lbnQ6IENvbXBvbmVudFR5cGU8VGFnZ2luZ0NvbXBvbmVudEJhc2U8YW55Pj4sIGV2dDogTW91c2VFdmVudCwgcHJlZml4OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHBvcHVwUmVmID0gdGhpcy5fcG9wdXAub3Blbihjb21wb25lbnQsIGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQsIHsgcG9zaXRpb246ICdhYm92ZScgfSk7XHJcbiAgICBwb3B1cFJlZi5vcGVuZWQuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICBlLm9uQmluZCgnJyk7XHJcbiAgICAgIGUuc2VsZWN0ZWQucGlwZSgpLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgICB0aGlzLl90ZXh0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlICs9IHByZWZpeCArIGUua2V5O1xyXG4gICAgICAgIGNvbnN0IGFyZ3MgPSB7fTtcclxuICAgICAgICBhcmdzW2Uua2V5XSA9IGUudmFsdWU7XHJcbiAgICAgICAgaWYgKCF0aGlzLnJlc291cmNlKVxyXG4gICAgICAgICAgdGhpcy5yZXNvdXJjZSA9IGFyZ3M7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLnJlc291cmNlLCBhcmdzKTtcclxuICAgICAgICBwb3B1cFJlZi5jbG9zZSgpO1xyXG4gICAgICAgIHRoaXMuZm9jdXMoKTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgX29wZW5NZW50aW9uKGV2dDogTW91c2VFdmVudCkge1xyXG4gICAgdGhpcy5fdGFnKFVzZXJUYWdnaW5nQ29tcG9uZW50LCBldnQsICdAJyk7XHJcbiAgfVxyXG4gIF9vcGVuRW1vamkoZXZ0OiBNb3VzZUV2ZW50KSB7XHJcbiAgICB0aGlzLl9wb3B1cC5vcGVuKEVtb2ppSG9zdENvbXBvbmVudCwgZXZ0LnRhcmdldCBhcyBIVE1MRWxlbWVudCwgeyBwb3NpdGlvbjogJ2Fib3ZlJyB9KS5jbG9zZWQuXHJcbiAgICAgIHN1YnNjcmliZSgoZTogRW1vamlEYXRhKSA9PiB7XHJcbiAgICAgICAgaWYgKGUpIHtcclxuICAgICAgICAgIHRoaXMuX3RleHRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgKz0gZS5uYXRpdmU7XHJcbiAgICAgICAgICB0aGlzLmZvY3VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgX2FkZEVtb2ppKGV2ZW50KSB7XHJcbiAgICB0aGlzLl90ZXh0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlICs9IGV2ZW50LmVtb2ppLm5hdGl2ZTtcclxuICB9XHJcbiAgX3Bhc3RlKGV2ZW50OiBDbGlwYm9hcmRFdmVudCkge1xyXG4gICAgY29uc3QgeyBpdGVtcyB9ID0gZXZlbnQuY2xpcGJvYXJkRGF0YTtcclxuICAgIGNvbnN0IG1lID0gdGhpcztcclxuICAgIGZvciAobGV0IGluZGV4IGluIGl0ZW1zKSB7XHJcbiAgICAgIGxldCBpdGVtID0gaXRlbXNbaW5kZXhdO1xyXG4gICAgICBpZiAoaXRlbS5raW5kID09PSAnZmlsZScpIHtcclxuICAgICAgICBsZXQgYmxvYiA9IGl0ZW0uZ2V0QXNGaWxlKCk7XHJcbiAgICAgICAgbGV0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XHJcbiAgICAgICAgcmVhZGVyLm9ubG9hZCA9IGZ1bmN0aW9uIChldmVudCkge1xyXG4gICAgICAgICAgY29uc3QgeyByZXN1bHQgfSA9IGV2ZW50LnRhcmdldDtcclxuICAgICAgICAgIG1lLl9pbWFnZSA9IChyZXN1bHQgYXMgc3RyaW5nKS5zdWJzdHIoMjIpO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoYmxvYik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgX2NsZWFySW1hZ2UoKSB7XHJcbiAgICB0aGlzLl9pbWFnZSA9IG51bGw7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEVkaXRUZXh0RXZlbnQge1xyXG4gIGltYWdlPzogc3RyaW5nO1xyXG4gIHRleHQ/OiBzdHJpbmc7XHJcbiAgcmVzb3VyY2U/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xyXG59XHJcbiIsIjxkaXYgZnhMYXlvdXQ9XCJjb2x1bW5cIj5cclxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJtb2RlXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInaHRtbCdcIj5cclxuICAgICAgPGVqcy1yaWNodGV4dGVkaXRvciBbdmFsdWVdPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJfaHRtbENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbGJhclNldHRpbmdzXT1cInRvb2xiYXJTZXR0aW5nc1wiPjwvZWpzLXJpY2h0ZXh0ZWRpdG9yPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+XHJcbiAgICAgIDxtYXQtZm9ybS1maWVsZCBmbG9hdExhYmVsPVwibmV2ZXJcIiBmeEZsZXg+XHJcbiAgICAgICAgPHRleHRhcmVhIG1hdElucHV0IFthdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCJcclxuICAgICAgICAgICAgICAgICAgWyhiaXpkb2NUYWdnaW5nKV09XCJyZXNvdXJjZVwiXHJcbiAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIl9rZXkoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgIChpbnB1dCk9XCJfdGV4dENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAocGFzdGUpPVwiX3Bhc3RlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICBbbWF0VGV4dGFyZWFBdXRvc2l6ZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgW21hdEF1dG9zaXplTWF4Um93c109XCIyMFwiXHJcbiAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCIocGxhY2Vob2xkZXIgfHwgJ1R5cGVIZXJlJykgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAoZm9jdXMpPVwib25Gb2N1cy5lbWl0KClcIlxyXG4gICAgICAgICAgICAgICAgICAoZm9jdXNvdXQpPVwib25CbHVyLmVtaXQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICN0ZXh0QXJlYT48L3RleHRhcmVhPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPGRpdiBmeExheW91dD1cInJvd1wiPlxyXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIl9vcGVuRG9jdW1lbnQoJGV2ZW50KVwiIFtiaXpkb2NUb29sdGlwXT1cIidEb2N1bWVudCd8dHJhbnNsYXRlXCIgYml6ZG9jVG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiBjbGFzcz1cInRvb2xcIiBbZGlzYWJsZWRdPVwibW9kZSAhPT0gJ3RleHQnXCI+PG1hdC1pY29uPmFydGljbGU8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIl9vcGVuTWVudGlvbigkZXZlbnQpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ01lbnRpb24nfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgY2xhc3M9XCJ0b29sXCIgW2Rpc2FibGVkXT1cIm1vZGUgIT09ICd0ZXh0J1wiPjxtYXQtaWNvbj5hbHRlcm5hdGVfZW1haWw8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIl9vcGVuRW1vamkoJGV2ZW50KVwiIFtiaXpkb2NUb29sdGlwXT1cIidFbW9qaSd8dHJhbnNsYXRlXCIgYml6ZG9jVG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiBjbGFzcz1cInRvb2xcIiBbZGlzYWJsZWRdPVwibW9kZSAhPT0gJ3RleHQnXCI+PG1hdC1pY29uPmluc2VydF9lbW90aWNvbjwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiX3RvZ2dsZUh0bWwoKVwiIFtiaXpkb2NUb29sdGlwXT1cIidUZXh0J3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIGNsYXNzPVwidG9vbFwiPjxtYXQtaWNvbj50ZXh0X2ZpZWxkczwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiX29rKClcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBjbGFzcz1cInRvb2xcIj5cclxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tcnRsLW1pcnJvclwiPnNlbmQ8L21hdC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2ICpuZ0lmPVwiX2ltYWdlXCI+XHJcbiAgPGltZyBbc3JjXT1cIidkYXRhOmltYWdlL3BuZztiYXNlNjQsJysgX2ltYWdlXCIgLz5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiX2NsZWFySW1hZ2UoKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cclxuICA8L2J1dHRvbj5cclxuPC9kaXY+XHJcbiJdfQ==
233
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvdGFnZ2luZy9lZGl0LWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcmllcy9jb3JlL3NyYy9saWIvY29yZS90YWdnaW5nL2VkaXQtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQyxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hJLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFHOUQsT0FBTyxFQUFtQixVQUFVLEVBQUUsY0FBYyxFQUFFLHVCQUF1QixFQUFFLE9BQU8sRUFBd0IsV0FBVyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFMUssT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDekQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFakUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7Ozs7Ozs7O0FBRXZELGNBQWMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBRTNDLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxZQUFZLENBQUM7QUFPckMsTUFBTSxPQUFPLGtCQUFrQjtJQXVEN0IsWUFBb0IsTUFBYSxFQUN2QixHQUFzQjtRQURaLFdBQU0sR0FBTixNQUFNLENBQU87UUFDdkIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUF2RHZCLG9CQUFlLEdBQUc7WUFDekIsS0FBSyxF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QUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDckIsQ0FBQzs7K0dBdExVLGtCQUFrQjttR0FBbEIsa0JBQWtCLGdhQXNEbEIsdUJBQXVCLGdEQzNFcEMsNDZFQXlDQTsyRkRwQmEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGtCQUFrQjs0SEFpQm5CLFdBQVc7c0JBQW5CLEtBQUs7Z0JBSUssSUFBSTtzQkFEZCxLQUFLO2dCQU9LLEtBQUs7c0JBRGYsS0FBSztnQkFRSyxRQUFRO3NCQURsQixLQUFLO2dCQU9HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBTUssU0FBUztzQkFEbkIsS0FBSztnQkFLTixLQUFLO3NCQURKLEtBQUs7Z0JBSWEsTUFBTTtzQkFBeEIsTUFBTTtnQkFDZ0IsSUFBSTtzQkFBMUIsTUFBTTt1QkFBQyxJQUFJO2dCQUNjLE9BQU87c0JBQWhDLE1BQU07dUJBQUMsT0FBTztnQkFDVSxNQUFNO3NCQUE5QixNQUFNO3VCQUFDLE1BQU07Z0JBQ1MsWUFBWTtzQkFBbEMsU0FBUzt1QkFBQyxVQUFVO2dCQUNlLElBQUk7c0JBQXZDLFNBQVM7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRU5URVIsIEVTQ0FQRSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XHJcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XHJcbmltcG9ydCB7IENvbXBvbmVudFR5cGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcclxuaW1wb3J0IHsgRW1vamlEYXRhIH0gZnJvbSAnQGN0cmwvbmd4LWVtb2ppLW1hcnQvbmd4LWVtb2ppJztcclxuaW1wb3J0IHsgQ2hhbmdlRXZlbnRBcmdzLCBIdG1sRWRpdG9yLCBSaWNoVGV4dEVkaXRvciwgUmljaFRleHRFZGl0b3JDb21wb25lbnQsIFRvb2xiYXIsIFRvb2xiYXJTZXR0aW5nc01vZGVsLCBUb29sYmFyVHlwZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLXJpY2h0ZXh0ZWRpdG9yJztcclxuaW1wb3J0IHsgUG9wdXAgfSBmcm9tICcuLi9wb3B1cC9wb3B1cC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXNlclRhZ2dpbmdDb21wb25lbnQgfSBmcm9tICcuL3VzZXJzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERvY3VtZW50VGFnZ2luZ0NvbXBvbmVudCB9IGZyb20gJy4vZG9jdW1lbnRzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFRhZ2dpbmdDb21wb25lbnRCYXNlIH0gZnJvbSAnLi90YWdnaW5nLmNvbXBvbmVudC1iYXNlJztcclxuaW1wb3J0IHsgRW1vamlIb3N0Q29tcG9uZW50IH0gZnJvbSAnLi9lbW9qaS5jb21wb25lbnQnO1xyXG5cclxuUmljaFRleHRFZGl0b3IuSW5qZWN0KFRvb2xiYXIsIEh0bWxFZGl0b3IpO1xyXG5cclxuZXhwb3J0IGNvbnN0IEhUTUxfRVhQID0gLzxbXFwvXFx3XSs+L2c7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JpemRvYy1lZGl0LXRleHQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9lZGl0LWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9lZGl0LWlucHV0LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEVkaXRJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIHJlYWRvbmx5IHRvb2xiYXJTZXR0aW5ncyA9IHtcclxuICAgIGl0ZW1zOiBbJ0JvbGQnLCAnSXRhbGljJywgJ1VuZGVybGluZScsICdTdHJpa2VUaHJvdWdoJyxcclxuICAgICAgJ3wnLFxyXG4gICAgICAnRm9ybWF0cycsICdBbGlnbm1lbnRzJywgJ09yZGVyZWRMaXN0JywgJ1Vub3JkZXJlZExpc3QnLFxyXG4gICAgICAnT3V0ZGVudCcsICdJbmRlbnQnXSxcclxuICAgIHR5cGU6IFRvb2xiYXJUeXBlLk11bHRpUm93XHJcbiAgfSBhcyBUb29sYmFyU2V0dGluZ3NNb2RlbDtcclxuICBwcml2YXRlIF90ZXh0OiBzdHJpbmcgPSAnJztcclxuICBwcml2YXRlIF9vcmlnaW5hbFRleHQ6IHN0cmluZztcclxuICBwdWJsaWMgZ2V0IHRleHQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl90ZXh0O1xyXG4gIH1cclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG4gIC8vQENvbnRlbnRDaGlsZCgnW2VkaXRIaW50XScpIGhpbnQ/OiBOZ1RlbXBsYXRlO1xyXG4gIC8vQENvbnRlbnRDaGlsZCgnW2VkaXRMYWJlbF0nKSBsYWJlbD86IE5nVGVtcGxhdGU7XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IHRleHQodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fb3JpZ2luYWxUZXh0ID0gdmFsdWU7XHJcbiAgICB0aGlzLl90ZXh0ID0gdmFsdWU7XHJcbiAgICB0aGlzLm1vZGUgPSB2YWx1ZSAmJiBIVE1MX0VYUC50ZXN0KHZhbHVlKSA/ICdodG1sJyA6ICd0ZXh0J1xyXG4gIH1cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgaW1hZ2UodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fb3JpZ2luYWxJbWFnZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5faW1hZ2UgPSB2YWx1ZTtcclxuICB9XHJcbiAgbW9kZTogJ2h0bWwnIHwgJ3RleHQnID0gJ3RleHQnO1xyXG4gIHByaXZhdGUgX3Jlc291cmNlOiB7IFtrZXk6IHN0cmluZ106IGFueTsgfTtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBnZXQgcmVzb3VyY2UoKTogeyBba2V5OiBzdHJpbmddOiBhbnk7IH0ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Jlc291cmNlO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IHJlc291cmNlKHZhbHVlOiB7IFtrZXk6IHN0cmluZ106IGFueTsgfSkge1xyXG4gICAgdGhpcy5fcmVzb3VyY2UgPSB2YWx1ZTtcclxuICB9XHJcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBfYXV0b2ZvY3VzOiBib29sZWFuO1xyXG4gIHB1YmxpYyBnZXQgYXV0b2ZvY3VzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2F1dG9mb2N1cztcclxuICB9XHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IGF1dG9mb2N1cyh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fYXV0b2ZvY3VzID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICB9XHJcbiAgQElucHV0KClcclxuICBjYWNoZTogc3RyaW5nO1xyXG4gIF9pbWFnZTogc3RyaW5nO1xyXG4gIHByaXZhdGUgX29yaWdpbmFsSW1hZ2U6IHN0cmluZztcclxuICBAT3V0cHV0KCkgcmVhZG9ubHkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgnb2snKSByZWFkb25seSBvbk9rID0gbmV3IEV2ZW50RW1pdHRlcjxFZGl0VGV4dEV2ZW50PigpO1xyXG4gIEBPdXRwdXQoJ2ZvY3VzJykgcmVhZG9ubHkgb25Gb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCdibHVyJykgcmVhZG9ubHkgb25CbHVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBWaWV3Q2hpbGQoJ3RleHRBcmVhJykgX3RleHRFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxUZXh0QXJlYUVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoUmljaFRleHRFZGl0b3JDb21wb25lbnQpIF9ydGU6IFJpY2hUZXh0RWRpdG9yQ29tcG9uZW50O1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX3BvcHVwOiBQb3B1cCxcclxuICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZikgeyB9XHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX3RleHQpIHtcclxuICAgICAgaWYgKHRoaXMubW9kZSA9PT0gJ2h0bWwnKVxyXG4gICAgICAgIHRoaXMuX3J0ZS52YWx1ZSA9IHRoaXMuX3RleHQ7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLl90ZXh0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy5fdGV4dDtcclxuICAgIH1cclxuICAgIHRoaXMuYXV0b2ZvY3VzICYmIHNldFRpbWVvdXQodGhpcy5mb2N1cy5iaW5kKHRoaXMpKTtcclxuICB9XHJcbiAgX2tleShldnQ6IEtleWJvYXJkRXZlbnQpIHtcclxuICAgIGlmIChldnQuY2FuY2VsQnViYmxlKSByZXR1cm47XHJcbiAgICBpZiAoZXZ0LndoaWNoID09PSBFTlRFUiAmJiAhZXZ0LnNoaWZ0S2V5KSB7XHJcbiAgICAgIHRoaXMuX3N1Ym1pdCgpO1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKGV2dC53aGljaCA9PT0gRVNDQVBFKSB7XHJcbiAgICAgIGlmICh0aGlzLl90ZXh0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlICYmIHRoaXMuX3RleHRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUubGVuZ3RoKSB7XHJcbiAgICAgICAgdGhpcy5fdGV4dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IG51bGw7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBwcml2YXRlIF9zdWJtaXQoKSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgY29uc3QgdGV4dCA9IHRoaXMubW9kZSA9PT0gJ3RleHQnID9cclxuICAgICAgdGhpcy5fdGV4dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZS50cmltKClcclxuICAgICAgOlxyXG4gICAgICB0aGlzLl9ydGUudmFsdWUudHJpbSgpO1xyXG5cclxuICAgIGlmICgodGV4dCAmJiB0ZXh0Lmxlbmd0aCAmJiB0ZXh0ICE9PSB0aGlzLl9vcmlnaW5hbFRleHQpIHx8XHJcbiAgICAgICh0aGlzLl9vcmlnaW5hbEltYWdlICYmIHRoaXMuX2ltYWdlICE9PSB0aGlzLl9vcmlnaW5hbEltYWdlKSlcclxuICAgICAgdGhpcy5vbk9rLmVtaXQoeyB0ZXh0LCByZXNvdXJjZTogdGhpcy5fcmVzb3VyY2UsIGltYWdlOiB0aGlzLl9pbWFnZSB9KTtcclxuICB9XHJcbiAgX3RleHRDaGFuZ2UoZXZ0OiBLZXlib2FyZEV2ZW50KSB7XHJcbiAgICB0aGlzLl90ZXh0ID0gKGV2dC5zcmNFbGVtZW50IGFzIEhUTUxUZXh0QXJlYUVsZW1lbnQpLnZhbHVlO1xyXG4gICAgdGhpcy5jaGFuZ2UuZW1pdCh0aGlzLl90ZXh0KTtcclxuICB9XHJcbiAgX2h0bWxDaGFuZ2UoZXZ0OiBDaGFuZ2VFdmVudEFyZ3MpIHtcclxuICAgIHRoaXMuX3RleHQgPSBldnQudmFsdWU7XHJcbiAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMuX3RleHQpO1xyXG4gIH1cclxuICBfdG9nZ2xlSHRtbCgpIHtcclxuICAgIGlmICh0aGlzLm1vZGUgPT09ICdodG1sJykge1xyXG4gICAgICBpZiAodGhpcy5fdGV4dCkgdGhpcy5fdGV4dCA9IHRoaXMuX3J0ZS5nZXRUZXh0KCk7XHJcbiAgICAgIHRoaXMubW9kZSA9ICd0ZXh0JztcclxuICAgIH1cclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5tb2RlID0gJ2h0bWwnO1xyXG4gICAgdGhpcy5fY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgdGhpcy5mb2N1cygpO1xyXG4gIH1cclxuICBfb2soKSB7XHJcbiAgICB0aGlzLl9zdWJtaXQoKTtcclxuICAgIHRoaXMuZm9jdXMoKTtcclxuICB9XHJcbiAgY2xlYXIoKSB7XHJcbiAgICB0aGlzLl9pbWFnZSA9IG51bGw7XHJcbiAgICB0aGlzLl9yZXNvdXJjZSA9IG51bGw7XHJcbiAgICB0aGlzLl90ZXh0ID0gbnVsbDtcclxuICAgIGlmICh0aGlzLm1vZGUgPT09ICd0ZXh0JylcclxuICAgICAgdGhpcy5fdGV4dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSA9IG51bGw7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuX3J0ZS52YWx1ZSA9ICcnO1xyXG4gIH1cclxuICBmb2N1cygpIHtcclxuICAgIGlmICh0aGlzLm1vZGUgPT09ICd0ZXh0JylcclxuICAgICAgc2V0VGltZW91dCgoKT0+IHRoaXMuX3RleHRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKSwgMCk7XHJcbiAgICBlbHNlXHJcbiAgICAgIHRoaXMuX3J0ZS5mb2N1c0luKCk7XHJcbiAgfVxyXG4gIF9vcGVuRG9jdW1lbnQoZXZ0OiBNb3VzZUV2ZW50KSB7XHJcbiAgICB0aGlzLl90YWcoRG9jdW1lbnRUYWdnaW5nQ29tcG9uZW50LCBldnQsICcjJyk7XHJcbiAgfVxyXG4gIF90YWcoY29tcG9uZW50OiBDb21wb25lbnRUeXBlPFRhZ2dpbmdDb21wb25lbnRCYXNlPGFueT4+LCBldnQ6IE1vdXNlRXZlbnQsIHByZWZpeDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBwb3B1cFJlZiA9IHRoaXMuX3BvcHVwLm9wZW4oY29tcG9uZW50LCBldnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50LCB7IHBvc2l0aW9uOiAnYWJvdmUnIH0pO1xyXG4gICAgcG9wdXBSZWYub3BlbmVkLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgZS5vbkJpbmQoJycpO1xyXG4gICAgICBlLnNlbGVjdGVkLnBpcGUoKS5zdWJzY3JpYmUoZSA9PiB7XHJcbiAgICAgICAgdGhpcy5fdGV4dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSArPSBwcmVmaXggKyBlLmtleTtcclxuICAgICAgICBjb25zdCBhcmdzID0ge307XHJcbiAgICAgICAgYXJnc1tlLmtleV0gPSBlLnZhbHVlO1xyXG4gICAgICAgIGlmICghdGhpcy5yZXNvdXJjZSlcclxuICAgICAgICAgIHRoaXMucmVzb3VyY2UgPSBhcmdzO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5yZXNvdXJjZSwgYXJncyk7XHJcbiAgICAgICAgcG9wdXBSZWYuY2xvc2UoKTtcclxuICAgICAgICB0aGlzLmZvY3VzKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIF9vcGVuTWVudGlvbihldnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIHRoaXMuX3RhZyhVc2VyVGFnZ2luZ0NvbXBvbmVudCwgZXZ0LCAnQCcpO1xyXG4gIH1cclxuICBfb3BlbkVtb2ppKGV2dDogTW91c2VFdmVudCkge1xyXG4gICAgdGhpcy5fcG9wdXAub3BlbihFbW9qaUhvc3RDb21wb25lbnQsIGV2dC50YXJnZXQgYXMgSFRNTEVsZW1lbnQsIHsgcG9zaXRpb246ICdhYm92ZScgfSkuY2xvc2VkLlxyXG4gICAgICBzdWJzY3JpYmUoKGU6IEVtb2ppRGF0YSkgPT4ge1xyXG4gICAgICAgIGlmIChlKSB7XHJcbiAgICAgICAgICB0aGlzLl90ZXh0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlICs9IGUubmF0aXZlO1xyXG4gICAgICAgICAgdGhpcy5mb2N1cygpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIF9hZGRFbW9qaShldmVudCkge1xyXG4gICAgdGhpcy5fdGV4dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSArPSBldmVudC5lbW9qaS5uYXRpdmU7XHJcbiAgfVxyXG4gIF9wYXN0ZShldmVudDogQ2xpcGJvYXJkRXZlbnQpIHtcclxuICAgIGNvbnN0IHsgaXRlbXMgfSA9IGV2ZW50LmNsaXBib2FyZERhdGE7XHJcbiAgICBjb25zdCBtZSA9IHRoaXM7XHJcbiAgICBmb3IgKGxldCBpbmRleCBpbiBpdGVtcykge1xyXG4gICAgICBsZXQgaXRlbSA9IGl0ZW1zW2luZGV4XTtcclxuICAgICAgaWYgKGl0ZW0ua2luZCA9PT0gJ2ZpbGUnKSB7XHJcbiAgICAgICAgbGV0IGJsb2IgPSBpdGVtLmdldEFzRmlsZSgpO1xyXG4gICAgICAgIGxldCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICAgIHJlYWRlci5vbmxvYWQgPSBmdW5jdGlvbiAoZXZlbnQpIHtcclxuICAgICAgICAgIGNvbnN0IHsgcmVzdWx0IH0gPSBldmVudC50YXJnZXQ7XHJcbiAgICAgICAgICBtZS5faW1hZ2UgPSAocmVzdWx0IGFzIHN0cmluZykuc3Vic3RyKDIyKTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGJsb2IpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIF9jbGVhckltYWdlKCkge1xyXG4gICAgdGhpcy5faW1hZ2UgPSBudWxsO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFZGl0VGV4dEV2ZW50IHtcclxuICBpbWFnZT86IHN0cmluZztcclxuICB0ZXh0Pzogc3RyaW5nO1xyXG4gIHJlc291cmNlPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcclxufVxyXG4iLCI8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCI+XHJcbiAgPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwibW9kZVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwiJ2h0bWwnXCI+XHJcbiAgICAgIDxlanMtcmljaHRleHRlZGl0b3IgW3ZhbHVlXT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiX2h0bWxDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2xiYXJTZXR0aW5nc109XCJ0b29sYmFyU2V0dGluZ3NcIj48L2Vqcy1yaWNodGV4dGVkaXRvcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQgZmxvYXRMYWJlbD1cIm5ldmVyXCIgZnhGbGV4PlxyXG4gICAgICAgIDx0ZXh0YXJlYSBtYXRJbnB1dCBjZGtUZXh0YXJlYUF1dG9zaXplIFthdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCJcclxuICAgICAgICAgICAgICAgICAgWyhiaXpkb2NUYWdnaW5nKV09XCJyZXNvdXJjZVwiXHJcbiAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cIl9rZXkoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgIChpbnB1dCk9XCJfdGV4dENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAocGFzdGUpPVwiX3Bhc3RlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICBbbWF0VGV4dGFyZWFBdXRvc2l6ZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgW21hdEF1dG9zaXplTWF4Um93c109XCIyMFwiXHJcbiAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCIocGxhY2Vob2xkZXIgfHwgJ1R5cGVIZXJlJykgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAoZm9jdXMpPVwib25Gb2N1cy5lbWl0KClcIlxyXG4gICAgICAgICAgICAgICAgICAoZm9jdXNvdXQpPVwib25CbHVyLmVtaXQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICN0ZXh0QXJlYT48L3RleHRhcmVhPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPGRpdiBmeExheW91dD1cInJvd1wiPlxyXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIl9vcGVuRG9jdW1lbnQoJGV2ZW50KVwiIFtiaXpkb2NUb29sdGlwXT1cIidEb2N1bWVudCd8dHJhbnNsYXRlXCIgYml6ZG9jVG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiBjbGFzcz1cInRvb2xcIiBbZGlzYWJsZWRdPVwibW9kZSAhPT0gJ3RleHQnXCI+PG1hdC1pY29uPmFydGljbGU8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIl9vcGVuTWVudGlvbigkZXZlbnQpXCIgW2JpemRvY1Rvb2x0aXBdPVwiJ01lbnRpb24nfHRyYW5zbGF0ZVwiIGJpemRvY1Rvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCIgY2xhc3M9XCJ0b29sXCIgW2Rpc2FibGVkXT1cIm1vZGUgIT09ICd0ZXh0J1wiPjxtYXQtaWNvbj5hbHRlcm5hdGVfZW1haWw8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIl9vcGVuRW1vamkoJGV2ZW50KVwiIFtiaXpkb2NUb29sdGlwXT1cIidFbW9qaSd8dHJhbnNsYXRlXCIgYml6ZG9jVG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiBjbGFzcz1cInRvb2xcIiBbZGlzYWJsZWRdPVwibW9kZSAhPT0gJ3RleHQnXCI+PG1hdC1pY29uPmluc2VydF9lbW90aWNvbjwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiX3RvZ2dsZUh0bWwoKVwiIFtiaXpkb2NUb29sdGlwXT1cIidUZXh0J3x0cmFuc2xhdGVcIiBiaXpkb2NUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIGNsYXNzPVwidG9vbFwiPjxtYXQtaWNvbj50ZXh0X2ZpZWxkczwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICA8c3BhbiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XHJcbiAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiX29rKClcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBjbGFzcz1cInRvb2xcIj5cclxuICAgICAgPG1hdC1pY29uIGNsYXNzPVwibWF0LWljb24tcnRsLW1pcnJvclwiPnNlbmQ8L21hdC1pY29uPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2ICpuZ0lmPVwiX2ltYWdlXCI+XHJcbiAgPGltZyBbc3JjXT1cIidkYXRhOmltYWdlL3BuZztiYXNlNjQsJysgX2ltYWdlXCIgLz5cclxuICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiX2NsZWFySW1hZ2UoKVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxyXG4gICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cclxuICA8L2J1dHRvbj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -18,12 +18,12 @@ export class EmojiHostComponent {
18
18
  this._ref.close(event.emoji);
19
19
  }
20
20
  }
21
- EmojiHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: EmojiHostComponent, deps: [{ token: i1.PopupRef }, { token: i2.SessionService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
22
- EmojiHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: EmojiHostComponent, selector: "ng-component", ngImport: i0, template: `
21
+ EmojiHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: EmojiHostComponent, deps: [{ token: i1.PopupRef }, { token: i2.SessionService }, { token: i3.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
22
+ EmojiHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: EmojiHostComponent, selector: "ng-component", ngImport: i0, template: `
23
23
  <emoji-mart class="emoji-mart" (emojiClick)="add($event)" [autoFocus]="true" set="twitter"
24
24
  [autoFocus]=true [enableSearch]=false [showPreview]=false [darkMode]=darkMode [color]=color [i18n]=i18n>
25
25
  </emoji-mart>`, isInline: true, components: [{ type: i4.PickerComponent, selector: "emoji-mart", inputs: ["perLine", "totalFrequentLines", "i18n", "style", "title", "emoji", "darkMode", "color", "hideObsolete", "categories", "activeCategories", "set", "skin", "isNative", "emojiSize", "sheetSize", "emojisToShowFilter", "showPreview", "emojiTooltip", "autoFocus", "custom", "hideRecent", "imageUrlFn", "include", "exclude", "notFoundEmoji", "categoriesIcons", "searchIcons", "useButton", "enableFrequentEmojiSort", "enableSearch", "showSingleCategory", "virtualize", "virtualizeOffset", "recent", "backgroundImageFn"], outputs: ["emojiClick", "emojiSelect", "skinChange"] }] });
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: EmojiHostComponent, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: EmojiHostComponent, decorators: [{
27
27
  type: Component,
28
28
  args: [{
29
29
  template: `
@@ -14,9 +14,9 @@ export class TaggingItemDirective {
14
14
  this.selected.unsubscribe();
15
15
  }
16
16
  }
17
- TaggingItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TaggingItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
- TaggingItemDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: TaggingItemDirective, selector: "bizdoc-tag-item", inputs: { key: "key", value: "value" }, outputs: { selected: "selected" }, host: { attributes: { "role": "listitem", "tabindex": "-1" }, listeners: { "click": "selected.emit()" }, properties: { "class.active": "active" }, classAttribute: "tag-item" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TaggingItemDirective, decorators: [{
17
+ TaggingItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TaggingItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
+ TaggingItemDirective.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: TaggingItemDirective, selector: "bizdoc-tag-item", inputs: { key: "key", value: "value" }, outputs: { selected: "selected" }, host: { attributes: { "role": "listitem", "tabindex": "-1" }, listeners: { "click": "selected.emit()" }, properties: { "class.active": "active" }, classAttribute: "tag-item" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TaggingItemDirective, decorators: [{
20
20
  type: Component,
21
21
  args: [{
22
22
  selector: 'bizdoc-tag-item',
@@ -18,9 +18,9 @@ export class TaggingComponentBase {
18
18
  this.selected.unsubscribe();
19
19
  }
20
20
  }
21
- TaggingComponentBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TaggingComponentBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
22
- TaggingComponentBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: TaggingComponentBase, viewQueries: [{ propertyName: "options", predicate: TaggingItemDirective, descendants: true }], ngImport: i0 });
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TaggingComponentBase, decorators: [{
21
+ TaggingComponentBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TaggingComponentBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
22
+ TaggingComponentBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: TaggingComponentBase, viewQueries: [{ propertyName: "options", predicate: TaggingItemDirective, descendants: true }], ngImport: i0 });
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TaggingComponentBase, decorators: [{
24
24
  type: Directive
25
25
  }], propDecorators: { options: [{
26
26
  type: ViewChildren,
@@ -115,9 +115,9 @@ export class TaggingDirective {
115
115
  this._element.nativeElement.selectionStart = position + key.length - (val ? val.length - 1 : 0);
116
116
  }
117
117
  }
118
- TaggingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TaggingDirective, deps: [{ token: i1.MatInput, self: true }, { token: i2.Directionality }, { token: i0.ElementRef }, { token: i3.Overlay }], target: i0.ɵɵFactoryTarget.Directive });
119
- TaggingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: TaggingDirective, selector: "[bizdocTagging]", inputs: { resource: ["bizdocTagging", "resource"] }, outputs: { resourceChange: "bizdocTaggingChange" }, host: { listeners: { "keydown": "_handleKeydown($event)", "input": "_handleInput($event)" } }, ngImport: i0 });
120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TaggingDirective, decorators: [{
118
+ TaggingDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TaggingDirective, deps: [{ token: i1.MatInput, self: true }, { token: i2.Directionality }, { token: i0.ElementRef }, { token: i3.Overlay }], target: i0.ɵɵFactoryTarget.Directive });
119
+ TaggingDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: TaggingDirective, selector: "[bizdocTagging]", inputs: { resource: ["bizdocTagging", "resource"] }, outputs: { resourceChange: "bizdocTaggingChange" }, host: { listeners: { "keydown": "_handleKeydown($event)", "input": "_handleInput($event)" } }, ngImport: i0 });
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TaggingDirective, decorators: [{
121
121
  type: Directive,
122
122
  args: [{
123
123
  selector: '[bizdocTagging]',
@@ -63,9 +63,9 @@ export class TaggingPipe {
63
63
  this._element.nativeElement.removeEventListener('click', this._click.bind(this));
64
64
  }
65
65
  }
66
- TaggingPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TaggingPipe, deps: [{ token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: i2.ChatInfo }, { token: i3.SessionService }, { token: i4.TranslateService }, { token: i5.RouterImpl }], target: i0.ɵɵFactoryTarget.Pipe });
67
- TaggingPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TaggingPipe, name: "taggingHtml" });
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TaggingPipe, decorators: [{
66
+ TaggingPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TaggingPipe, deps: [{ token: i0.ElementRef }, { token: i1.DomSanitizer }, { token: i2.ChatInfo }, { token: i3.SessionService }, { token: i4.TranslateService }, { token: i5.RouterImpl }], target: i0.ɵɵFactoryTarget.Pipe });
67
+ TaggingPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TaggingPipe, name: "taggingHtml" });
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TaggingPipe, decorators: [{
69
69
  type: Pipe,
70
70
  args: [{ name: 'taggingHtml' }]
71
71
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.DomSanitizer }, { type: i2.ChatInfo }, { type: i3.SessionService }, { type: i4.TranslateService }, { type: i5.RouterImpl }]; } });
@@ -23,9 +23,9 @@ export class UserTaggingComponent extends TaggingComponentBase {
23
23
  pipe(map(u => u.filter(u => u.id !== this._me)));
24
24
  }
25
25
  }
26
- UserTaggingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: UserTaggingComponent, deps: [{ token: i1.SessionService }, { token: i2.AccountService }], target: i0.ɵɵFactoryTarget.Component });
27
- UserTaggingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: UserTaggingComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div role=\"listbox\" cdkTrapFocus class=\"tag-list\">\r\n <bizdoc-tag-item *ngFor='let item of items | async' [key]='nice(item.name)' [value]='item.id'\r\n matRipple [attr.aria-label]='item.name'>\r\n <div class=\"row\">\r\n <bizdoc-avatar [person]=item dense [interactive]=\"false\"></bizdoc-avatar>\r\n &nbsp;\r\n <div class=\"column\">\r\n <span>{{item.name}}</span>\r\n <span>{{item.email}}</span>\r\n </div>\r\n </div>\r\n </bizdoc-tag-item>\r\n</div>\r\n", styles: [".tag-list{display:flex;flex-direction:column}.tag-item{cursor:pointer;padding:8px}.tag-item .row{align-items:center}.tag-item.active{background:lightgray}\n"], components: [{ type: i3.TaggingItemDirective, selector: "bizdoc-tag-item", inputs: ["key", "value"], outputs: ["selected"] }, { type: i4.AvatarComponent, selector: "bizdoc-avatar", inputs: ["person", "interactive", "dense"] }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], pipes: { "async": i5.AsyncPipe } });
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: UserTaggingComponent, decorators: [{
26
+ UserTaggingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: UserTaggingComponent, deps: [{ token: i1.SessionService }, { token: i2.AccountService }], target: i0.ɵɵFactoryTarget.Component });
27
+ UserTaggingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.3", type: UserTaggingComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div role=\"listbox\" cdkTrapFocus class=\"tag-list\">\r\n <bizdoc-tag-item *ngFor='let item of items | async' [key]='nice(item.name)' [value]='item.id'\r\n matRipple [attr.aria-label]='item.name'>\r\n <div class=\"row\">\r\n <bizdoc-avatar [person]=item dense [interactive]=\"false\"></bizdoc-avatar>\r\n &nbsp;\r\n <div class=\"column\">\r\n <span>{{item.name}}</span>\r\n <span>{{item.email}}</span>\r\n </div>\r\n </div>\r\n </bizdoc-tag-item>\r\n</div>\r\n", styles: [".tag-list{display:flex;flex-direction:column}.tag-item{cursor:pointer;padding:8px}.tag-item .row{align-items:center}.tag-item.active{background:lightgray}\n"], components: [{ type: i3.TaggingItemDirective, selector: "bizdoc-tag-item", inputs: ["key", "value"], outputs: ["selected"] }, { type: i4.AvatarComponent, selector: "bizdoc-avatar", inputs: ["person", "interactive", "dense"] }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], pipes: { "async": i5.AsyncPipe } });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: UserTaggingComponent, decorators: [{
29
29
  type: Component,
30
30
  args: [{ template: "<div role=\"listbox\" cdkTrapFocus class=\"tag-list\">\r\n <bizdoc-tag-item *ngFor='let item of items | async' [key]='nice(item.name)' [value]='item.id'\r\n matRipple [attr.aria-label]='item.name'>\r\n <div class=\"row\">\r\n <bizdoc-avatar [person]=item dense [interactive]=\"false\"></bizdoc-avatar>\r\n &nbsp;\r\n <div class=\"column\">\r\n <span>{{item.name}}</span>\r\n <span>{{item.email}}</span>\r\n </div>\r\n </div>\r\n </bizdoc-tag-item>\r\n</div>\r\n", styles: [".tag-list{display:flex;flex-direction:column}.tag-item{cursor:pointer;padding:8px}.tag-item .row{align-items:center}.tag-item.active{background:lightgray}\n"] }]
31
31
  }], ctorParameters: function () { return [{ type: i1.SessionService }, { type: i2.AccountService }]; } });
@@ -1,41 +1,33 @@
1
- import { Injectable, Inject } from '@angular/core';
2
- import { NativeDateAdapter } from '@angular/material/core';
3
- import { MatStepperIntl } from '@angular/material/stepper';
4
- import { MatPaginatorIntl } from '@angular/material/paginator';
5
- import { MatDatepickerIntl } from "@angular/material/datepicker";
1
+ import { Injectable } from '@angular/core';
6
2
  import { forkJoin } from 'rxjs';
7
3
  import { tap } from 'rxjs/operators';
8
4
  import { loadCldr, L10n, setCulture } from '@syncfusion/ej2-base';
9
- import { updateLocale } from 'moment';
10
- import * as moment_ from 'moment';
11
- import { BIZDOC_CONFIG } from './configuration';
12
5
  import { SYNCFUSION_L18N, STRINGS } from './translations';
6
+ import dayjs from 'dayjs';
7
+ import 'dayjs/locale/he';
13
8
  import * as i0 from "@angular/core";
14
9
  import * as i1 from "../core/session.service";
15
10
  import * as i2 from "@angular/common/http";
16
- const moment = moment_.default;
17
- const BASE_CULTURE = 'en-US', CLDR_FILES = ['ca-gregorian', 'numbers', 'timeZoneNames'];
11
+ const BASE_CULTURE = 'en-US', CLDR_FILES = ['cldr-data/main/{0}/ca-gregorian.json', 'cldr-data/main/{0}/numbers.json', 'cldr-data/main/{0}/timeZoneNames.json'];
18
12
  L10n.load(SYNCFUSION_L18N);
19
13
  export function TranslateProviderFactory(provider) {
20
14
  return () => provider.cldr(provider.culture, CLDR_FILES);
21
15
  }
22
16
  export class TranslateService {
23
- constructor(_session, config, _http) {
17
+ constructor(_session, _http) {
24
18
  this._session = _session;
25
19
  this._http = _http;
26
20
  TranslateService.resource = STRINGS['en-US'];
27
- if (BASE_CULTURE != _session.language && STRINGS[_session.language])
28
- Object.assign(TranslateService.resource, STRINGS[_session.language]);
29
- const culture = _session.language.split('-')[0];
30
- // moment
31
- updateLocale(culture, {
32
- calendar: {
33
- sameElse: config && config.formats && config.formats.dateTime ? config.formats.dateTime : 'lll'
34
- }
35
- });
36
- // syncfusion
37
- setCulture(culture);
38
- _session.loaded.subscribe(() => this._gender = this._session.profile.byGender || this._session.profile.gender);
21
+ if (BASE_CULTURE != _session.language) {
22
+ STRINGS[_session.language] &&
23
+ Object.assign(TranslateService.resource, STRINGS[_session.language]);
24
+ const culture = _session.language.split('-')[0];
25
+ dayjs.locale(culture);
26
+ // syncfusion
27
+ setCulture(culture);
28
+ }
29
+ ;
30
+ _session.loaded.subscribe(() => this._gender = this._session.gender);
39
31
  }
40
32
  static set(resources) {
41
33
  Object.keys(resources).forEach(k => {
@@ -51,7 +43,7 @@ export class TranslateService {
51
43
  cldr(culture, files) {
52
44
  if (BASE_CULTURE == this._session.language)
53
45
  return Promise.resolve();
54
- const observables = files.map(f => this._http.get(`/assets/i18n/cldr-data/${f.indexOf('/') < 0 ? `main/${culture}/${f}` : f}.json`).pipe(tap(loadCldr)));
46
+ const observables = files.map(f => this._http.get('/assets/i18n/' + f.replace('{0}', culture)).pipe(tap(loadCldr)));
55
47
  return forkJoin(observables).toPromise();
56
48
  }
57
49
  get(key, ...args) {
@@ -87,85 +79,18 @@ export class TranslateService {
87
79
  }
88
80
  }
89
81
  TranslateService.resource = {};
90
- TranslateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TranslateService, deps: [{ token: i1.SessionService }, { token: BIZDOC_CONFIG }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
91
- TranslateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TranslateService, providedIn: 'root' });
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: TranslateService, decorators: [{
82
+ TranslateService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TranslateService, deps: [{ token: i1.SessionService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
83
+ TranslateService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TranslateService, providedIn: 'root' });
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: TranslateService, decorators: [{
93
85
  type: Injectable,
94
86
  args: [{ providedIn: 'root' }]
95
- }], ctorParameters: function () { return [{ type: i1.SessionService }, { type: undefined, decorators: [{
96
- type: Inject,
97
- args: [BIZDOC_CONFIG]
98
- }] }, { type: i2.HttpClient }]; } });
99
- export class AppDateAdapter extends NativeDateAdapter {
100
- format(date, displayFormat) {
101
- return moment(date).format(displayFormat);
102
- }
103
- }
104
- AppDateAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: AppDateAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
105
- AppDateAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: AppDateAdapter });
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: AppDateAdapter, decorators: [{
107
- type: Injectable
108
- }] });
109
- export class StepperIntl extends MatStepperIntl {
110
- constructor(_translate) {
111
- super();
112
- this._translate = _translate;
113
- this.optionalLabel = this._translate.get('Optional');
114
- }
115
- }
116
- StepperIntl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: StepperIntl, deps: [{ token: TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
117
- StepperIntl.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: StepperIntl });
118
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: StepperIntl, decorators: [{
119
- type: Injectable
120
- }], ctorParameters: function () { return [{ type: TranslateService }]; } });
121
- export class PaginatorIntl extends MatPaginatorIntl {
122
- constructor(_translate) {
123
- super();
124
- this._translate = _translate;
125
- this.firstPageLabel = this._translate.get('FirstPage');
126
- this.lastPageLabel = this._translate.get('LastPage');
127
- this.nextPageLabel = this._translate.get('NextPage');
128
- this.previousPageLabel = this._translate.get('PrevPage');
129
- this.getRangeLabel = (_page, _pageSize, _length) => { return ''; };
130
- }
131
- }
132
- PaginatorIntl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: PaginatorIntl, deps: [{ token: TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
133
- PaginatorIntl.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: PaginatorIntl });
134
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: PaginatorIntl, decorators: [{
135
- type: Injectable
136
- }], ctorParameters: function () { return [{ type: TranslateService }]; } });
137
- export class DatepickerIntl extends MatDatepickerIntl {
138
- constructor(_translate) {
139
- super();
140
- this._translate = _translate;
141
- this.calendarLabel = this._translate.get('');
142
- /** A label for the button used to open the calendar popup (used by screen readers). */
143
- this.openCalendarLabel = this._translate.get('');
144
- /** A label for the previous month button (used by screen readers). */
145
- this.prevMonthLabel = this._translate.get('');
146
- /** A label for the next month button (used by screen readers). */
147
- this.nextMonthLabel = this._translate.get('');
148
- /** A label for the previous year button (used by screen readers). */
149
- this.prevYearLabel = this._translate.get('');
150
- /** A label for the next year button (used by screen readers). */
151
- this.nextYearLabel = this._translate.get('');
152
- /** A label for the previous multi-year button (used by screen readers). */
153
- this.prevMultiYearLabel = this._translate.get('');
154
- /** A label for the next multi-year button (used by screen readers). */
155
- this.nextMultiYearLabel = this._translate.get('');
156
- /** A label for the 'switch to month view' button (used by screen readers). */
157
- this.switchToMonthViewLabel = this._translate.get('');
158
- /** A label for the 'switch to year view' button (used by screen readers). */
159
- this.switchToMultiYearViewLabel = this._translate.get('');
160
- }
161
- /** Formats a range of years. */
162
- formatYearRange(start, end) {
163
- return super.formatYearRange(start, end);
164
- }
87
+ }], ctorParameters: function () { return [{ type: i1.SessionService }, { type: i2.HttpClient }]; } });
88
+ function loadScript(url) {
89
+ return new Promise(resolve => {
90
+ const scriptElement = document.createElement('script');
91
+ scriptElement.src = url;
92
+ scriptElement.onload = resolve;
93
+ document.body.appendChild(scriptElement);
94
+ });
165
95
  }
166
- DatepickerIntl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: DatepickerIntl, deps: [{ token: TranslateService }], target: i0.ɵɵFactoryTarget.Injectable });
167
- DatepickerIntl.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: DatepickerIntl });
168
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: DatepickerIntl, decorators: [{
169
- type: Injectable
170
- }], ctorParameters: function () { return [{ type: TranslateService }]; } });
171
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRWpFLE9BQU8sRUFBRSxRQUFRLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDdEMsT0FBTyxLQUFLLE9BQU8sTUFBTSxRQUFRLENBQUM7QUFDbEMsT0FBTyxFQUFFLGFBQWEsRUFBZ0IsTUFBTSxpQkFBaUIsQ0FBQztBQUc5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBSnZCLE1BQU0sTUFBTSxHQUFJLE9BQWUsQ0FBQyxPQUFPLENBQUM7QUFNM0UsTUFBTSxZQUFZLEdBQUcsT0FBTyxFQUFFLFVBQVUsR0FBRyxDQUFDLGNBQWMsRUFBRSxTQUFTLEVBQUUsZUFBZSxDQUFDLENBQUM7QUFFeEYsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUUzQixNQUFNLFVBQVUsd0JBQXdCLENB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Q0FBQyxDQUFDO1FBQ3pDLHFFQUFxRTtRQUNyRSxrQkFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLGlFQUFpRTtRQUNqRSxrQkFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLDJFQUEyRTtRQUMzRSx1QkFBa0IsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3Qyx1RUFBdUU7UUFDdkUsdUJBQWtCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDN0MsOEVBQThFO1FBQzlFLDJCQUFzQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELDZFQUE2RTtRQUM3RSwrQkFBMEIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQVFyRCxDQUFDO0lBUEQsZ0NBQWdDO0lBQ2hDLGVBQWUsQ0FBQyxLQUFhLEVBQUUsR0FBVztRQUN4QyxPQUFPLEtBQUssQ0FBQyxlQUFlLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzNDLENBQUM7OzJHQXZCVSxjQUFjLGtCQXlCTyxnQkFBZ0I7K0dBekJyQyxjQUFjOzJGQUFkLGNBQWM7a0JBRDFCLFVBQVU7MERBMEJ1QixnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmF0aXZlRGF0ZUFkYXB0ZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgTWF0U3RlcHBlckludGwgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zdGVwcGVyJztcclxuaW1wb3J0IHsgTWF0UGFnaW5hdG9ySW50bCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCB7IE1hdERhdGVwaWNrZXJJbnRsIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXJcIjtcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBsb2FkQ2xkciwgTDEwbiwgc2V0Q3VsdHVyZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1iYXNlJztcclxuaW1wb3J0IHsgdXBkYXRlTG9jYWxlIH0gZnJvbSAnbW9tZW50JztcclxuaW1wb3J0ICogYXMgbW9tZW50XyBmcm9tICdtb21lbnQnOyBjb25zdCBtb21lbnQgPSAobW9tZW50XyBhcyBhbnkpLmRlZmF1bHQ7XHJcbmltcG9ydCB7IEJJWkRPQ19DT05GSUcsIEJpekRvY0NvbmZpZyB9IGZyb20gJy4vY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IEdlbmRlciB9IGZyb20gJy4vbW9kZWxzJztcclxuaW1wb3J0IHsgU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9jb3JlL3Nlc3Npb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFNZTkNGVVNJT05fTDE4TiwgU1RSSU5HUyB9IGZyb20gJy4vdHJhbnNsYXRpb25zJztcclxuXHJcbmNvbnN0IEJBU0VfQ1VMVFVSRSA9ICdlbi1VUycsIENMRFJfRklMRVMgPSBbJ2NhLWdyZWdvcmlhbicsICdudW1iZXJzJywgJ3RpbWVab25lTmFtZXMnXTtcclxuXHJcbkwxMG4ubG9hZChTWU5DRlVTSU9OX0wxOE4pO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFRyYW5zbGF0ZVByb3ZpZGVyRmFjdG9yeShwcm92aWRlcjogVHJhbnNsYXRlU2VydmljZSkge1xyXG4gIHJldHVybiAoKSA9PiBwcm92aWRlci5jbGRyKFxyXG4gICAgcHJvdmlkZXIuY3VsdHVyZSxcclxuICAgIENMRFJfRklMRVMpO1xyXG59XHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGVTZXJ2aWNlIHtcclxuICBzdGF0aWMgc2V0KHJlc291cmNlczogeyBbbGFuZzogc3RyaW5nXTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB9KSB7XHJcbiAgICBPYmplY3Qua2V5cyhyZXNvdXJjZXMpLmZvckVhY2goayA9PiB7XHJcbiAgICAgIGlmICghU1RSSU5HU1trXSlcclxuICAgICAgICBTVFJJTkdTW2tdID0gcmVzb3VyY2VzW2tdO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihTVFJJTkdTW2tdLCByZXNvdXJjZXNba10pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHByaXZhdGUgc3RhdGljIHJlc291cmNlOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XHJcbiAgcHJpdmF0ZSBfZ2VuZGVyOiBHZW5kZXI7XHJcbiAgcHVibGljIGdldCBjdWx0dXJlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Nlc3Npb24ubGFuZ3VhZ2Uuc3BsaXQoJy0nKVswXTtcclxuICB9XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfc2Vzc2lvbjogU2Vzc2lvblNlcnZpY2UsXHJcbiAgICBASW5qZWN0KEJJWkRPQ19DT05GSUcpIGNvbmZpZzogQml6RG9jQ29uZmlnLFxyXG4gICAgcHJpdmF0ZSBfaHR0cDogSHR0cENsaWVudCkge1xyXG4gICAgVHJhbnNsYXRlU2VydmljZS5yZXNvdXJjZSA9IFNUUklOR1NbJ2VuLVVTJ107XHJcbiAgICBpZiAoQkFTRV9DVUxUVVJFICE9IF9zZXNzaW9uLmxhbmd1YWdlICYmIFNUUklOR1NbX3Nlc3Npb24ubGFuZ3VhZ2VdKVxyXG4gICAgICBPYmplY3QuYXNzaWduKFRyYW5zbGF0ZVNlcnZpY2UucmVzb3VyY2UsIFNUUklOR1NbX3Nlc3Npb24ubGFuZ3VhZ2VdKTtcclxuICAgIGNvbnN0IGN1bHR1cmUgPSBfc2Vzc2lvbi5sYW5ndWFnZS5zcGxpdCgnLScpWzBdO1xyXG4gICAgLy8gbW9tZW50XHJcbiAgICB1cGRhdGVMb2NhbGUoY3VsdHVyZSwge1xyXG4gICAgICBjYWxlbmRhcjoge1xyXG4gICAgICAgIHNhbWVFbHNlOiBjb25maWcgJiYgY29uZmlnLmZvcm1hdHMgJiYgY29uZmlnLmZvcm1hdHMuZGF0ZVRpbWUgPyBjb25maWcuZm9ybWF0cy5kYXRlVGltZSA6ICdsbGwnXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgLy8gc3luY2Z1c2lvblxyXG4gICAgc2V0Q3VsdHVyZShjdWx0dXJlKTtcclxuICAgIF9zZXNzaW9uLmxvYWRlZC5zdWJzY3JpYmUoKCkgPT5cclxuICAgICAgdGhpcy5fZ2VuZGVyID0gdGhpcy5fc2Vzc2lvbi5wcm9maWxlLmJ5R2VuZGVyIHx8IHRoaXMuX3Nlc3Npb24ucHJvZmlsZS5nZW5kZXIpO1xyXG4gIH1cclxuICBjbGRyKGN1bHR1cmU6IHN0cmluZywgZmlsZXM6IHN0cmluZ1tdKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIGlmIChCQVNFX0NVTFRVUkUgPT0gdGhpcy5fc2Vzc2lvbi5sYW5ndWFnZSlcclxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xyXG5cclxuICAgIGNvbnN0IG9ic2VydmFibGVzOiBPYnNlcnZhYmxlPGFueT5bXSA9IGZpbGVzLm1hcChmID0+XHJcbiAgICAgIHRoaXMuX2h0dHAuZ2V0PGFueT4oYC9hc3NldHMvaTE4bi9jbGRyLWRhdGEvJHtmLmluZGV4T2YoJy8nKSA8IDAgPyBgbWFpbi8ke2N1bHR1cmV9LyR7Zn1gIDogZn0uanNvbmApLnBpcGUodGFwKFxyXG4gICAgICAgIGxvYWRDbGRyXHJcbiAgICAgICkpKTtcclxuXHJcbiAgICByZXR1cm4gZm9ya0pvaW4ob2JzZXJ2YWJsZXMpLnRvUHJvbWlzZSgpO1xyXG4gIH1cclxuICBnZXQoa2V5OiBzdHJpbmcsIC4uLmFyZ3M6IChzdHJpbmcgfCBudW1iZXIpW10pOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2dldChrZXksIHRoaXMuX2dlbmRlciwgYXJncyk7XHJcbiAgfVxyXG4gIHBlcnNvbmFsaXplKGtleTogc3RyaW5nLCBnZW5kZXI6IEdlbmRlciwgLi4uYXJnczogYW55W10pOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2dldChrZXksIGdlbmRlciwgYXJncyk7XHJcbiAgfVxyXG4gIGkxOG4oa2V5OiBzdHJpbmcpIHtcclxuICAgIHJldHVybiBUcmFuc2xhdGVTZXJ2aWNlLnJlc291cmNlW2tleV07XHJcbiAgfVxyXG4gIHByaXZhdGUgX2dldChrZXk6IHN0cmluZywgZ2VuZGVyOiBHZW5kZXIgfCBudWxsLCBhcmdzOiBhbnlbXSkge1xyXG4gICAgbGV0IHN0ciA9IFRyYW5zbGF0ZVNlcnZpY2UucmVzb3VyY2Vba2V5ICsgZ2VuZGVyXSB8fCBUcmFuc2xhdGVTZXJ2aWNlLnJlc291cmNlW2tleV07XHJcbiAgICBpZiAoIXN0cikgcmV0dXJuIGtleTtcclxuICAgIGlmIChhcmdzLmxlbmd0aClcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcmdzLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgIHN0ciA9IHN0ci5yZXBsYWNlKGB7JHtpfX1gLCBhcmdzW2ldKTtcclxuICAgIHJldHVybiBzdHI7XHJcbiAgfVxyXG5cclxuICBqb2luKGl0ZW1zOiBzdHJpbmdbXSwgZGl2aWRlcj86IHN0cmluZyB8IGJvb2xlYW4pOiBzdHJpbmcge1xyXG4gICAgaWYgKGl0ZW1zLmxlbmd0aCA9PT0gMSkgcmV0dXJuIGl0ZW1zWzBdO1xyXG4gICAgZWxzZSBpZiAoZGl2aWRlciA9PT0gZmFsc2UpXHJcbiAgICAgIHJldHVybiBpdGVtcy5qb2luKHRoaXMuY29tbWEpO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIGNvbnN0IG5zID0gaXRlbXMuc2xpY2UoMCwgaXRlbXMubGVuZ3RoIC0gMSkuam9pbih0aGlzLmNvbW1hKTtcclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0KGRpdmlkZXIgYXMgc3RyaW5nIHx8ICdKb2luQW5kJywgbnMsIGl0ZW1zW2l0ZW1zLmxlbmd0aCAtIDFdKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0IGNvbW1hKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXQoJ0pvaW5Db21tYScpO1xyXG4gIH1cclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQXBwRGF0ZUFkYXB0ZXIgZXh0ZW5kcyBOYXRpdmVEYXRlQWRhcHRlciB7XHJcblxyXG4gIGZvcm1hdChkYXRlOiBEYXRlLCBkaXNwbGF5Rm9ybWF0OiBPYmplY3QpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIG1vbWVudChkYXRlKS5mb3JtYXQoZGlzcGxheUZvcm1hdCBhcyBzdHJpbmcpO1xyXG4gIH1cclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgU3RlcHBlckludGwgZXh0ZW5kcyBNYXRTdGVwcGVySW50bCB7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuICBvcHRpb25hbExhYmVsOiBzdHJpbmcgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdPcHRpb25hbCcpO1xyXG59XHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFBhZ2luYXRvckludGwgZXh0ZW5kcyBNYXRQYWdpbmF0b3JJbnRsIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF90cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG4gIGZpcnN0UGFnZUxhYmVsID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnRmlyc3RQYWdlJyk7XHJcbiAgbGFzdFBhZ2VMYWJlbCA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ0xhc3RQYWdlJyk7XHJcbiAgbmV4dFBhZ2VMYWJlbCA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJ05leHRQYWdlJyk7XHJcbiAgcHJldmlvdXNQYWdlTGFiZWwgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCdQcmV2UGFnZScpO1xyXG4gIGdldFJhbmdlTGFiZWwgPSAoX3BhZ2U6IG51bWJlciwgX3BhZ2VTaXplOiBudW1iZXIsIF9sZW5ndGg6IG51bWJlcik6IHN0cmluZyA9PiB7IHJldHVybiAnJyB9XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIERhdGVwaWNrZXJJbnRsIGV4dGVuZHMgTWF0RGF0ZXBpY2tlckludGwge1xyXG4gIGNhbGVuZGFyTGFiZWwgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCcnKTtcclxuICAvKiogQSBsYWJlbCBmb3IgdGhlIGJ1dHRvbiB1c2VkIHRvIG9wZW4gdGhlIGNhbGVuZGFyIHBvcHVwICh1c2VkIGJ5IHNjcmVlbiByZWFkZXJzKS4gKi9cclxuICBvcGVuQ2FsZW5kYXJMYWJlbCA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJycpO1xyXG4gIC8qKiBBIGxhYmVsIGZvciB0aGUgcHJldmlvdXMgbW9udGggYnV0dG9uICh1c2VkIGJ5IHNjcmVlbiByZWFkZXJzKS4gKi9cclxuICBwcmV2TW9udGhMYWJlbCA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJycpO1xyXG4gIC8qKiBBIGxhYmVsIGZvciB0aGUgbmV4dCBtb250aCBidXR0b24gKHVzZWQgYnkgc2NyZWVuIHJlYWRlcnMpLiAqL1xyXG4gIG5leHRNb250aExhYmVsID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnJyk7XHJcbiAgLyoqIEEgbGFiZWwgZm9yIHRoZSBwcmV2aW91cyB5ZWFyIGJ1dHRvbiAodXNlZCBieSBzY3JlZW4gcmVhZGVycykuICovXHJcbiAgcHJldlllYXJMYWJlbCA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJycpO1xyXG4gIC8qKiBBIGxhYmVsIGZvciB0aGUgbmV4dCB5ZWFyIGJ1dHRvbiAodXNlZCBieSBzY3JlZW4gcmVhZGVycykuICovXHJcbiAgbmV4dFllYXJMYWJlbCA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJycpO1xyXG4gIC8qKiBBIGxhYmVsIGZvciB0aGUgcHJldmlvdXMgbXVsdGkteWVhciBidXR0b24gKHVzZWQgYnkgc2NyZWVuIHJlYWRlcnMpLiAqL1xyXG4gIHByZXZNdWx0aVllYXJMYWJlbCA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJycpO1xyXG4gIC8qKiBBIGxhYmVsIGZvciB0aGUgbmV4dCBtdWx0aS15ZWFyIGJ1dHRvbiAodXNlZCBieSBzY3JlZW4gcmVhZGVycykuICovXHJcbiAgbmV4dE11bHRpWWVhckxhYmVsID0gdGhpcy5fdHJhbnNsYXRlLmdldCgnJyk7XHJcbiAgLyoqIEEgbGFiZWwgZm9yIHRoZSAnc3dpdGNoIHRvIG1vbnRoIHZpZXcnIGJ1dHRvbiAodXNlZCBieSBzY3JlZW4gcmVhZGVycykuICovXHJcbiAgc3dpdGNoVG9Nb250aFZpZXdMYWJlbCA9IHRoaXMuX3RyYW5zbGF0ZS5nZXQoJycpO1xyXG4gIC8qKiBBIGxhYmVsIGZvciB0aGUgJ3N3aXRjaCB0byB5ZWFyIHZpZXcnIGJ1dHRvbiAodXNlZCBieSBzY3JlZW4gcmVhZGVycykuICovXHJcbiAgc3dpdGNoVG9NdWx0aVllYXJWaWV3TGFiZWwgPSB0aGlzLl90cmFuc2xhdGUuZ2V0KCcnKTtcclxuICAvKiogRm9ybWF0cyBhIHJhbmdlIG9mIHllYXJzLiAqL1xyXG4gIGZvcm1hdFllYXJSYW5nZShzdGFydDogc3RyaW5nLCBlbmQ6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gc3VwZXIuZm9ybWF0WWVhclJhbmdlKHN0YXJ0LCBlbmQpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxufVxyXG4iXX0=
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJyYXJpZXMvY29yZS9zcmMvbGliL2NvcmUvdHJhbnNsYXRlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsUUFBUSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyQyxPQUFPLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUdsRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLGlCQUFpQixDQUFDOzs7O0FBRXpCLE1BQU0sWUFBWSxHQUFHLE9BQU8sRUFBRSxVQUFVLEdBQUcsQ0FBQyxzQ0FBc0MsRUFBRSxpQ0FBaUMsRUFBRSx1Q0FBdUMsQ0FBQyxDQUFDO0FBRWhLLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFM0IsTUFBTSxVQUFVLHdCQUF3QixDQUFDLFFBQTBCO0lBQ2pFLE9BQU8sR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDeEIsUUFBUSxDQUFDLE9BQU8sRUFDaEIsVUFBVSxDQUFDLENBQUM7QUFDaEIsQ0FBQztBQUVELE1BQU0sT0FBTyxnQkFBZ0I7SUFjM0IsWUFBb0IsUUFBd0IsRUFDbEMsS0FBaUI7UUFEUCxhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUNsQyxVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ3pCLGdCQUFnQixDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0MsSUFBSSxZQUFZLElBQUksUUFBUSxDQUFD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QztRQUN2RCxhQUFhLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUN4QixhQUFhLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQztRQUMvQixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMzQyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBsb2FkQ2xkciwgTDEwbiwgc2V0Q3VsdHVyZSB9IGZyb20gJ0BzeW5jZnVzaW9uL2VqMi1iYXNlJztcclxuaW1wb3J0IHsgR2VuZGVyIH0gZnJvbSAnLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uL2NvcmUvc2Vzc2lvbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU1lOQ0ZVU0lPTl9MMThOLCBTVFJJTkdTIH0gZnJvbSAnLi90cmFuc2xhdGlvbnMnO1xyXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgJ2RheWpzL2xvY2FsZS9oZSc7XHJcblxyXG5jb25zdCBCQVNFX0NVTFRVUkUgPSAnZW4tVVMnLCBDTERSX0ZJTEVTID0gWydjbGRyLWRhdGEvbWFpbi97MH0vY2EtZ3JlZ29yaWFuLmpzb24nLCAnY2xkci1kYXRhL21haW4vezB9L251bWJlcnMuanNvbicsICdjbGRyLWRhdGEvbWFpbi97MH0vdGltZVpvbmVOYW1lcy5qc29uJ107XHJcblxyXG5MMTBuLmxvYWQoU1lOQ0ZVU0lPTl9MMThOKTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBUcmFuc2xhdGVQcm92aWRlckZhY3RvcnkocHJvdmlkZXI6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICByZXR1cm4gKCkgPT4gcHJvdmlkZXIuY2xkcihcclxuICAgIHByb3ZpZGVyLmN1bHR1cmUsXHJcbiAgICBDTERSX0ZJTEVTKTtcclxufVxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRlU2VydmljZSB7XHJcbiAgc3RhdGljIHNldChyZXNvdXJjZXM6IHsgW2xhbmc6IHN0cmluZ106IHsgW2tleTogc3RyaW5nXTogYW55IH0gfSkge1xyXG4gICAgT2JqZWN0LmtleXMocmVzb3VyY2VzKS5mb3JFYWNoKGsgPT4ge1xyXG4gICAgICBpZiAoIVNUUklOR1Nba10pXHJcbiAgICAgICAgU1RSSU5HU1trXSA9IHJlc291cmNlc1trXTtcclxuICAgICAgZWxzZVxyXG4gICAgICAgIE9iamVjdC5hc3NpZ24oU1RSSU5HU1trXSwgcmVzb3VyY2VzW2tdKTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBwcml2YXRlIHN0YXRpYyByZXNvdXJjZTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xyXG4gIHByaXZhdGUgX2dlbmRlcjogR2VuZGVyO1xyXG4gIHB1YmxpYyBnZXQgY3VsdHVyZSgpIHsgXHJcbiAgICByZXR1cm4gdGhpcy5fc2Vzc2lvbi5sYW5ndWFnZS5zcGxpdCgnLScpWzBdO1xyXG4gIH1cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zZXNzaW9uOiBTZXNzaW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgX2h0dHA6IEh0dHBDbGllbnQpIHtcclxuICAgIFRyYW5zbGF0ZVNlcnZpY2UucmVzb3VyY2UgPSBTVFJJTkdTWydlbi1VUyddO1xyXG4gICAgaWYgKEJBU0VfQ1VMVFVSRSAhPSBfc2Vzc2lvbi5sYW5ndWFnZSkge1xyXG4gICAgICBTVFJJTkdTW19zZXNzaW9uLmxhbmd1YWdlXSAmJlxyXG4gICAgICAgIE9iamVjdC5hc3NpZ24oVHJhbnNsYXRlU2VydmljZS5yZXNvdXJjZSwgU1RSSU5HU1tfc2Vzc2lvbi5sYW5ndWFnZV0pXHJcbiAgICAgIGNvbnN0IGN1bHR1cmUgPSBfc2Vzc2lvbi5sYW5ndWFnZS5zcGxpdCgnLScpWzBdO1xyXG4gICAgICBkYXlqcy5sb2NhbGUoY3VsdHVyZSk7XHJcbiAgICAgIC8vIHN5bmNmdXNpb25cclxuICAgICAgc2V0Q3VsdHVyZShjdWx0dXJlKTtcclxuICAgIH07XHJcbiAgICBfc2Vzc2lvbi5sb2FkZWQuc3Vic2NyaWJlKCgpID0+XHJcbiAgICAgIHRoaXMuX2dlbmRlciA9IHRoaXMuX3Nlc3Npb24uZ2VuZGVyKTtcclxuICB9XHJcbiAgY2xkcihjdWx0dXJlOiBzdHJpbmcsIGZpbGVzOiBzdHJpbmdbXSk6IFByb21pc2U8YW55PiB7XHJcbiAgICBpZiAoQkFTRV9DVUxUVVJFID09IHRoaXMuX3Nlc3Npb24ubGFuZ3VhZ2UpXHJcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcclxuXHJcbiAgICBjb25zdCBvYnNlcnZhYmxlczogT2JzZXJ2YWJsZTxhbnk+W10gPSBmaWxlcy5tYXAoZiA9PlxyXG4gICAgICB0aGlzLl9odHRwLmdldDxhbnk+KCcvYXNzZXRzL2kxOG4vJyArIGYucmVwbGFjZSgnezB9JywgY3VsdHVyZSkpLnBpcGUodGFwKFxyXG4gICAgICAgIGxvYWRDbGRyXHJcbiAgICAgICkpKTtcclxuXHJcbiAgICByZXR1cm4gZm9ya0pvaW4ob2JzZXJ2YWJsZXMpLnRvUHJvbWlzZSgpO1xyXG4gIH1cclxuICBnZXQoa2V5OiBzdHJpbmcsIC4uLmFyZ3M6IChzdHJpbmcgfCBudW1iZXIpW10pOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2dldChrZXksIHRoaXMuX2dlbmRlciwgYXJncyk7XHJcbiAgfVxyXG4gIHBlcnNvbmFsaXplKGtleTogc3RyaW5nLCBnZW5kZXI6IEdlbmRlciwgLi4uYXJnczogYW55W10pOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2dldChrZXksIGdlbmRlciwgYXJncyk7XHJcbiAgfVxyXG4gIGkxOG4oa2V5OiBzdHJpbmcpIHtcclxuICAgIHJldHVybiBUcmFuc2xhdGVTZXJ2aWNlLnJlc291cmNlW2tleV07XHJcbiAgfVxyXG4gIHByaXZhdGUgX2dldChrZXk6IHN0cmluZywgZ2VuZGVyOiBHZW5kZXIgfCBudWxsLCBhcmdzOiBhbnlbXSkge1xyXG4gICAgbGV0IHN0ciA9IFRyYW5zbGF0ZVNlcnZpY2UucmVzb3VyY2Vba2V5ICsgZ2VuZGVyXSB8fCBUcmFuc2xhdGVTZXJ2aWNlLnJlc291cmNlW2tleV07XHJcbiAgICBpZiAoIXN0cikgcmV0dXJuIGtleTtcclxuICAgIGlmIChhcmdzLmxlbmd0aClcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcmdzLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgIHN0ciA9IHN0ci5yZXBsYWNlKGB7JHtpfX1gLCBhcmdzW2ldKTtcclxuICAgIHJldHVybiBzdHI7XHJcbiAgfVxyXG5cclxuICBqb2luKGl0ZW1zOiBzdHJpbmdbXSwgZGl2aWRlcj86IHN0cmluZyB8IGJvb2xlYW4pOiBzdHJpbmcge1xyXG4gICAgaWYgKGl0ZW1zLmxlbmd0aCA9PT0gMSkgcmV0dXJuIGl0ZW1zWzBdO1xyXG4gICAgZWxzZSBpZiAoZGl2aWRlciA9PT0gZmFsc2UpXHJcbiAgICAgIHJldHVybiBpdGVtcy5qb2luKHRoaXMuY29tbWEpO1xyXG4gICAgZWxzZSB7XHJcbiAgICAgIGNvbnN0IG5zID0gaXRlbXMuc2xpY2UoMCwgaXRlbXMubGVuZ3RoIC0gMSkuam9pbih0aGlzLmNvbW1hKTtcclxuICAgICAgcmV0dXJuIHRoaXMuZ2V0KGRpdmlkZXIgYXMgc3RyaW5nIHx8ICdKb2luQW5kJywgbnMsIGl0ZW1zW2l0ZW1zLmxlbmd0aCAtIDFdKTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0IGNvbW1hKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXQoJ0pvaW5Db21tYScpO1xyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gbG9hZFNjcmlwdCh1cmwpIHtcclxuICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XHJcbiAgICBjb25zdCBzY3JpcHRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XHJcbiAgICBzY3JpcHRFbGVtZW50LnNyYyA9IHVybDtcclxuICAgIHNjcmlwdEVsZW1lbnQub25sb2FkID0gcmVzb2x2ZTtcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0RWxlbWVudCk7XHJcbiAgfSk7XHJcbn1cclxuIl19