primeng 16.0.0-rc.1 → 16.0.0

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 (884) hide show
  1. package/accordion/accordion.d.ts +140 -31
  2. package/accordion/accordion.interface.d.ts +49 -0
  3. package/accordion/public_api.d.ts +1 -0
  4. package/animate/animate.d.ts +15 -3
  5. package/api/blockableui.d.ts +7 -0
  6. package/api/confirmaeventtype.d.ts +3 -0
  7. package/api/confirmation.d.ts +67 -0
  8. package/api/confirmationservice.d.ts +17 -0
  9. package/api/contextmenuservice.d.ts +3 -2
  10. package/api/filtermetadata.d.ts +13 -0
  11. package/api/filterservice.d.ts +1 -20
  12. package/api/lazyloadevent.d.ts +33 -1
  13. package/api/lazyloadmeta.d.ts +19 -0
  14. package/api/megamenuitem.d.ts +90 -0
  15. package/api/menuitem.d.ts +136 -19
  16. package/api/message.d.ts +4 -0
  17. package/api/messageservice.d.ts +19 -0
  18. package/api/overlayoptions.d.ts +138 -0
  19. package/api/public_api.d.ts +4 -0
  20. package/api/scrolleroptions.d.ts +116 -0
  21. package/api/selectitem.d.ts +4 -0
  22. package/api/selectitemgroup.d.ts +4 -0
  23. package/api/shared.d.ts +2 -2
  24. package/api/sortevent.d.ts +4 -0
  25. package/api/sortmeta.d.ts +4 -0
  26. package/api/tablestate.d.ts +41 -1
  27. package/api/tooltipoptions.d.ts +63 -0
  28. package/api/translation.d.ts +4 -0
  29. package/api/treenode.d.ts +65 -7
  30. package/api/treenodedragevent.d.ts +19 -0
  31. package/api/treetablenode.d.ts +36 -0
  32. package/autocomplete/autocomplete.d.ts +373 -96
  33. package/autocomplete/autocomplete.interface.d.ts +134 -0
  34. package/autocomplete/public_api.d.ts +1 -0
  35. package/autofocus/autofocus.d.ts +9 -1
  36. package/avatar/avatar.d.ts +48 -9
  37. package/avatargroup/avatargroup.d.ts +16 -2
  38. package/badge/badge.d.ts +65 -14
  39. package/blockui/blockui.d.ts +33 -9
  40. package/blockui/blockui.interface.d.ts +11 -0
  41. package/blockui/public_api.d.ts +1 -0
  42. package/breadcrumb/breadcrumb.d.ts +44 -12
  43. package/breadcrumb/breadcrumb.interface.d.ts +27 -0
  44. package/breadcrumb/public_api.d.ts +1 -0
  45. package/button/button.d.ts +117 -23
  46. package/button/button.interface.d.ts +19 -0
  47. package/button/public_api.d.ts +1 -0
  48. package/calendar/calendar.d.ts +458 -153
  49. package/calendar/calendar.interface.d.ts +192 -0
  50. package/calendar/public_api.d.ts +1 -0
  51. package/card/card.d.ts +36 -14
  52. package/card/card.interface.d.ts +27 -0
  53. package/card/public_api.d.ts +1 -0
  54. package/carousel/carousel.d.ts +126 -32
  55. package/carousel/carousel.interface.d.ts +63 -0
  56. package/carousel/public_api.d.ts +1 -0
  57. package/cascadeselect/cascadeselect.d.ts +213 -71
  58. package/cascadeselect/cascadeselect.interface.d.ts +92 -0
  59. package/cascadeselect/public_api.d.ts +1 -0
  60. package/chart/chart.d.ts +45 -9
  61. package/checkbox/checkbox.d.ts +108 -22
  62. package/checkbox/checkbox.interface.d.ts +26 -0
  63. package/checkbox/public_api.d.ts +1 -0
  64. package/chip/chip.d.ts +59 -14
  65. package/chip/chip.interface.d.ts +15 -0
  66. package/chip/public_api.d.ts +1 -0
  67. package/chips/chips.d.ts +128 -25
  68. package/chips/chips.interface.d.ts +58 -0
  69. package/chips/public_api.d.ts +1 -0
  70. package/colorpicker/colorpicker.d.ts +138 -44
  71. package/colorpicker/colorpicker.interface.d.ts +15 -0
  72. package/colorpicker/public_api.d.ts +1 -0
  73. package/confirmdialog/confirmdialog.d.ts +176 -43
  74. package/confirmdialog/confirmdialog.interface.d.ts +23 -0
  75. package/confirmdialog/public_api.d.ts +1 -0
  76. package/confirmpopup/confirmpopup.d.ts +60 -17
  77. package/confirmpopup/confirmpopup.interface.d.ts +15 -0
  78. package/confirmpopup/public_api.d.ts +1 -0
  79. package/contextmenu/contextmenu.d.ts +87 -36
  80. package/dataview/dataview.d.ts +198 -52
  81. package/dataview/dataview.interface.d.ts +183 -0
  82. package/dataview/public_api.d.ts +1 -0
  83. package/defer/defer.d.ts +15 -5
  84. package/dialog/dialog.d.ts +245 -56
  85. package/dialog/dialog.interface.d.ts +31 -0
  86. package/dialog/public_api.d.ts +1 -0
  87. package/divider/divider.d.ts +32 -6
  88. package/dock/dock.d.ts +38 -11
  89. package/dock/dock.interface.d.ts +19 -0
  90. package/dock/public_api.d.ts +1 -0
  91. package/dragdrop/dragdrop.d.ts +78 -26
  92. package/dropdown/dropdown.d.ts +435 -136
  93. package/dropdown/dropdown.interface.d.ts +154 -0
  94. package/dropdown/public_api.d.ts +1 -0
  95. package/dynamicdialog/dialogservice.d.ts +11 -0
  96. package/dynamicdialog/dynamicdialog-config.d.ts +91 -2
  97. package/dynamicdialog/dynamicdialog-ref.d.ts +70 -0
  98. package/dynamicdialog/dynamicdialog.d.ts +22 -21
  99. package/editor/editor.d.ts +77 -17
  100. package/editor/editor.interface.d.ts +64 -0
  101. package/editor/public_api.d.ts +1 -0
  102. package/esm2022/accordion/accordion.interface.mjs +2 -0
  103. package/esm2022/accordion/accordion.mjs +142 -42
  104. package/esm2022/accordion/public_api.mjs +2 -1
  105. package/esm2022/animate/animate.mjs +20 -8
  106. package/esm2022/api/blockableui.mjs +1 -1
  107. package/esm2022/api/confirmaeventtype.mjs +4 -1
  108. package/esm2022/api/confirmation.mjs +1 -1
  109. package/esm2022/api/confirmationservice.mjs +21 -4
  110. package/esm2022/api/contextmenuservice.mjs +4 -4
  111. package/esm2022/api/filtermetadata.mjs +1 -1
  112. package/esm2022/api/filterservice.mjs +4 -4
  113. package/esm2022/api/lazyloadevent.mjs +1 -1
  114. package/esm2022/api/lazyloadmeta.mjs +2 -0
  115. package/esm2022/api/megamenuitem.mjs +1 -1
  116. package/esm2022/api/menuitem.mjs +1 -1
  117. package/esm2022/api/message.mjs +1 -1
  118. package/esm2022/api/messageservice.mjs +23 -4
  119. package/esm2022/api/overlayoptions.mjs +1 -1
  120. package/esm2022/api/overlayservice.mjs +4 -4
  121. package/esm2022/api/primengconfig.mjs +4 -4
  122. package/esm2022/api/public_api.mjs +5 -1
  123. package/esm2022/api/scrolleroptions.mjs +2 -0
  124. package/esm2022/api/selectitem.mjs +1 -1
  125. package/esm2022/api/selectitemgroup.mjs +1 -1
  126. package/esm2022/api/shared.mjs +15 -16
  127. package/esm2022/api/sortevent.mjs +1 -1
  128. package/esm2022/api/sortmeta.mjs +1 -1
  129. package/esm2022/api/tablestate.mjs +1 -1
  130. package/esm2022/api/tooltipoptions.mjs +2 -0
  131. package/esm2022/api/translation.mjs +1 -1
  132. package/esm2022/api/treedragdropservice.mjs +3 -3
  133. package/esm2022/api/treenode.mjs +1 -1
  134. package/esm2022/api/treenodedragevent.mjs +1 -1
  135. package/esm2022/api/treetablenode.mjs +2 -0
  136. package/esm2022/autocomplete/autocomplete.interface.mjs +2 -0
  137. package/esm2022/autocomplete/autocomplete.mjs +345 -75
  138. package/esm2022/autocomplete/public_api.mjs +2 -1
  139. package/esm2022/autofocus/autofocus.mjs +16 -8
  140. package/esm2022/avatar/avatar.mjs +46 -9
  141. package/esm2022/avatargroup/avatargroup.mjs +20 -8
  142. package/esm2022/badge/badge.mjs +91 -39
  143. package/esm2022/baseicon/baseicon.mjs +3 -3
  144. package/esm2022/blockui/blockui.interface.mjs +2 -0
  145. package/esm2022/blockui/blockui.mjs +48 -24
  146. package/esm2022/blockui/public_api.mjs +2 -1
  147. package/esm2022/breadcrumb/breadcrumb.interface.mjs +2 -0
  148. package/esm2022/breadcrumb/breadcrumb.mjs +41 -12
  149. package/esm2022/breadcrumb/public_api.mjs +2 -1
  150. package/esm2022/button/button.interface.mjs +2 -0
  151. package/esm2022/button/button.mjs +127 -36
  152. package/esm2022/button/public_api.mjs +2 -1
  153. package/esm2022/calendar/calendar.interface.mjs +2 -0
  154. package/esm2022/calendar/calendar.mjs +476 -156
  155. package/esm2022/calendar/public_api.mjs +2 -1
  156. package/esm2022/card/card.interface.mjs +2 -0
  157. package/esm2022/card/card.mjs +30 -10
  158. package/esm2022/card/public_api.mjs +2 -1
  159. package/esm2022/carousel/carousel.interface.mjs +2 -0
  160. package/esm2022/carousel/carousel.mjs +101 -15
  161. package/esm2022/carousel/public_api.mjs +2 -1
  162. package/esm2022/cascadeselect/cascadeselect.interface.mjs +2 -0
  163. package/esm2022/cascadeselect/cascadeselect.mjs +174 -40
  164. package/esm2022/cascadeselect/public_api.mjs +2 -1
  165. package/esm2022/chart/chart.mjs +56 -20
  166. package/esm2022/checkbox/checkbox.interface.mjs +2 -0
  167. package/esm2022/checkbox/checkbox.mjs +93 -12
  168. package/esm2022/checkbox/public_api.mjs +2 -1
  169. package/esm2022/chip/chip.interface.mjs +2 -0
  170. package/esm2022/chip/chip.mjs +53 -11
  171. package/esm2022/chip/public_api.mjs +2 -1
  172. package/esm2022/chips/chips.interface.mjs +2 -0
  173. package/esm2022/chips/chips.mjs +106 -9
  174. package/esm2022/chips/public_api.mjs +2 -1
  175. package/esm2022/colorpicker/colorpicker.interface.mjs +2 -0
  176. package/esm2022/colorpicker/colorpicker.mjs +82 -17
  177. package/esm2022/colorpicker/public_api.mjs +2 -1
  178. package/esm2022/confirmdialog/confirmdialog.interface.mjs +2 -0
  179. package/esm2022/confirmdialog/confirmdialog.mjs +153 -20
  180. package/esm2022/confirmdialog/public_api.mjs +2 -1
  181. package/esm2022/confirmpopup/confirmpopup.interface.mjs +2 -0
  182. package/esm2022/confirmpopup/confirmpopup.mjs +89 -47
  183. package/esm2022/confirmpopup/public_api.mjs +2 -1
  184. package/esm2022/contextmenu/contextmenu.mjs +96 -42
  185. package/esm2022/dataview/dataview.interface.mjs +2 -0
  186. package/esm2022/dataview/dataview.mjs +168 -28
  187. package/esm2022/dataview/public_api.mjs +2 -1
  188. package/esm2022/defer/defer.mjs +19 -10
  189. package/esm2022/dialog/dialog.interface.mjs +2 -0
  190. package/esm2022/dialog/dialog.mjs +281 -93
  191. package/esm2022/dialog/public_api.mjs +2 -1
  192. package/esm2022/divider/divider.mjs +35 -11
  193. package/esm2022/dock/dock.interface.mjs +2 -0
  194. package/esm2022/dock/dock.mjs +35 -11
  195. package/esm2022/dock/public_api.mjs +2 -1
  196. package/esm2022/dom/domhandler.mjs +2 -2
  197. package/esm2022/dragdrop/dragdrop.mjs +69 -18
  198. package/esm2022/dropdown/dropdown.interface.mjs +2 -0
  199. package/esm2022/dropdown/dropdown.mjs +394 -102
  200. package/esm2022/dropdown/public_api.mjs +2 -1
  201. package/esm2022/dynamicdialog/dialogservice.mjs +15 -4
  202. package/esm2022/dynamicdialog/dynamicdialog-config.mjs +86 -1
  203. package/esm2022/dynamicdialog/dynamicdialog-ref.mjs +71 -1
  204. package/esm2022/dynamicdialog/dynamicdialog.mjs +11 -11
  205. package/esm2022/dynamicdialog/dynamicdialogcontent.mjs +3 -3
  206. package/esm2022/editor/editor.interface.mjs +2 -0
  207. package/esm2022/editor/editor.mjs +91 -35
  208. package/esm2022/editor/public_api.mjs +2 -1
  209. package/esm2022/fieldset/fieldset.interface.mjs +2 -0
  210. package/esm2022/fieldset/fieldset.mjs +65 -21
  211. package/esm2022/fieldset/public_api.mjs +2 -1
  212. package/esm2022/fileupload/fileupload.interface.mjs +2 -0
  213. package/esm2022/fileupload/fileupload.mjs +223 -25
  214. package/esm2022/fileupload/public_api.mjs +2 -1
  215. package/esm2022/focustrap/focustrap.mjs +17 -9
  216. package/esm2022/galleria/galleria.interface.mjs +2 -0
  217. package/esm2022/galleria/galleria.mjs +155 -37
  218. package/esm2022/galleria/public_api.mjs +2 -1
  219. package/esm2022/icons/angledoubledown/angledoubledown.mjs +3 -3
  220. package/esm2022/icons/angledoubleleft/angledoubleleft.mjs +3 -3
  221. package/esm2022/icons/angledoubleright/angledoubleright.mjs +3 -3
  222. package/esm2022/icons/angledoubleup/angledoubleup.mjs +3 -3
  223. package/esm2022/icons/angledown/angledown.mjs +3 -3
  224. package/esm2022/icons/angleleft/angleleft.mjs +3 -3
  225. package/esm2022/icons/angleright/angleright.mjs +3 -3
  226. package/esm2022/icons/angleup/angleup.mjs +3 -3
  227. package/esm2022/icons/arrowdown/arrowdown.mjs +13 -8
  228. package/esm2022/icons/arrowdownleft/arrowdownleft.mjs +3 -3
  229. package/esm2022/icons/arrowdownright/arrowdownright.mjs +3 -3
  230. package/esm2022/icons/arrowleft/arrowleft.mjs +13 -8
  231. package/esm2022/icons/arrowright/arrowright.mjs +3 -3
  232. package/esm2022/icons/arrowup/arrowup.mjs +13 -8
  233. package/esm2022/icons/ban/ban.mjs +13 -8
  234. package/esm2022/icons/bars/bars.mjs +3 -3
  235. package/esm2022/icons/calendar/calendar.mjs +3 -3
  236. package/esm2022/icons/caretleft/caretleft.mjs +3 -3
  237. package/esm2022/icons/caretright/caretright.mjs +3 -3
  238. package/esm2022/icons/check/check.mjs +3 -3
  239. package/esm2022/icons/chevrondown/chevrondown.mjs +3 -3
  240. package/esm2022/icons/chevronleft/chevronleft.mjs +3 -3
  241. package/esm2022/icons/chevronright/chevronright.mjs +3 -3
  242. package/esm2022/icons/chevronup/chevronup.mjs +3 -3
  243. package/esm2022/icons/exclamationtriangle/exclamationtriangle.mjs +13 -8
  244. package/esm2022/icons/eye/eye.mjs +3 -3
  245. package/esm2022/icons/eyeslash/eyeslash.mjs +13 -8
  246. package/esm2022/icons/filter/filter.mjs +13 -8
  247. package/esm2022/icons/filterslash/filterslash.mjs +13 -8
  248. package/esm2022/icons/home/home.mjs +13 -8
  249. package/esm2022/icons/infocircle/infocircle.mjs +13 -8
  250. package/esm2022/icons/minus/minus.mjs +3 -3
  251. package/esm2022/icons/pencil/pencil.mjs +13 -8
  252. package/esm2022/icons/plus/plus.mjs +13 -8
  253. package/esm2022/icons/refresh/refresh.mjs +13 -8
  254. package/esm2022/icons/search/search.mjs +13 -8
  255. package/esm2022/icons/searchminus/searchminus.mjs +13 -8
  256. package/esm2022/icons/searchplus/searchplus.mjs +13 -8
  257. package/esm2022/icons/sortalt/sortalt.mjs +13 -8
  258. package/esm2022/icons/sortamountdown/sortamountdown.mjs +13 -8
  259. package/esm2022/icons/sortamountupalt/sortamountupalt.mjs +13 -8
  260. package/esm2022/icons/spinner/spinner.mjs +13 -8
  261. package/esm2022/icons/star/star.mjs +13 -8
  262. package/esm2022/icons/starfill/starfill.mjs +13 -8
  263. package/esm2022/icons/thlarge/thlarge.mjs +13 -8
  264. package/esm2022/icons/times/times.mjs +3 -3
  265. package/esm2022/icons/timescircle/timescircle.mjs +13 -8
  266. package/esm2022/icons/trash/trash.mjs +13 -8
  267. package/esm2022/icons/undo/undo.mjs +13 -8
  268. package/esm2022/icons/upload/upload.mjs +13 -8
  269. package/esm2022/icons/windowmaximize/windowmaximize.mjs +13 -8
  270. package/esm2022/icons/windowminimize/windowminimize.mjs +13 -8
  271. package/esm2022/image/image.interface.mjs +2 -0
  272. package/esm2022/image/image.mjs +81 -16
  273. package/esm2022/image/public_api.mjs +2 -1
  274. package/esm2022/inplace/inplace.interface.mjs +2 -0
  275. package/esm2022/inplace/inplace.mjs +76 -24
  276. package/esm2022/inplace/public_api.mjs +2 -1
  277. package/esm2022/inputmask/inputmask.interface.mjs +2 -0
  278. package/esm2022/inputmask/inputmask.mjs +169 -41
  279. package/esm2022/inputmask/public_api.mjs +2 -1
  280. package/esm2022/inputnumber/inputnumber.interface.mjs +2 -0
  281. package/esm2022/inputnumber/inputnumber.mjs +243 -43
  282. package/esm2022/inputnumber/public_api.mjs +2 -1
  283. package/esm2022/inputswitch/inputswitch.interface.mjs +2 -0
  284. package/esm2022/inputswitch/inputswitch.mjs +61 -8
  285. package/esm2022/inputswitch/public_api.mjs +2 -1
  286. package/esm2022/inputtext/inputtext.mjs +9 -9
  287. package/esm2022/inputtextarea/inputtextarea.mjs +21 -8
  288. package/esm2022/keyfilter/keyfilter.mjs +34 -17
  289. package/esm2022/knob/knob.mjs +90 -18
  290. package/esm2022/listbox/listbox.interface.mjs +2 -0
  291. package/esm2022/listbox/listbox.mjs +154 -27
  292. package/esm2022/listbox/public_api.mjs +2 -1
  293. package/esm2022/megamenu/megamenu.interface.mjs +2 -0
  294. package/esm2022/megamenu/megamenu.mjs +33 -13
  295. package/esm2022/megamenu/public_api.mjs +2 -1
  296. package/esm2022/menu/menu.mjs +80 -22
  297. package/esm2022/menubar/menubar.interface.mjs +2 -0
  298. package/esm2022/menubar/menubar.mjs +71 -34
  299. package/esm2022/menubar/public_api.mjs +2 -1
  300. package/esm2022/message/message.mjs +34 -10
  301. package/esm2022/messages/messages.interface.mjs +2 -0
  302. package/esm2022/messages/messages.mjs +68 -19
  303. package/esm2022/messages/public_api.mjs +2 -1
  304. package/esm2022/multiselect/multiselect.interface.mjs +2 -0
  305. package/esm2022/multiselect/multiselect.mjs +351 -63
  306. package/esm2022/multiselect/public_api.mjs +2 -1
  307. package/esm2022/orderlist/orderlist.interface.mjs +2 -0
  308. package/esm2022/orderlist/orderlist.mjs +142 -38
  309. package/esm2022/orderlist/public_api.mjs +2 -1
  310. package/esm2022/organizationchart/organizationchart.interface.mjs +2 -0
  311. package/esm2022/organizationchart/organizationchart.mjs +71 -14
  312. package/esm2022/organizationchart/public_api.mjs +2 -1
  313. package/esm2022/overlay/overlay.mjs +123 -9
  314. package/esm2022/overlaypanel/overlaypanel.mjs +86 -14
  315. package/esm2022/paginator/paginator.interface.mjs +2 -0
  316. package/esm2022/paginator/paginator.mjs +117 -22
  317. package/esm2022/paginator/public_api.mjs +2 -1
  318. package/esm2022/panel/panel.interface.mjs +2 -0
  319. package/esm2022/panel/panel.mjs +86 -20
  320. package/esm2022/panel/public_api.mjs +2 -1
  321. package/esm2022/panelmenu/panelmenu.interface.mjs +2 -0
  322. package/esm2022/panelmenu/panelmenu.mjs +43 -19
  323. package/esm2022/panelmenu/public_api.mjs +2 -1
  324. package/esm2022/password/password.mjs +156 -24
  325. package/esm2022/picklist/picklist.interface.mjs +2 -0
  326. package/esm2022/picklist/picklist.mjs +218 -16
  327. package/esm2022/picklist/public_api.mjs +2 -1
  328. package/esm2022/progressbar/progressbar.mjs +43 -11
  329. package/esm2022/progressspinner/progressspinner.mjs +36 -12
  330. package/esm2022/radiobutton/public_api.mjs +2 -1
  331. package/esm2022/radiobutton/radiobutton.interface.mjs +2 -0
  332. package/esm2022/radiobutton/radiobutton.mjs +82 -11
  333. package/esm2022/rating/public_api.mjs +2 -1
  334. package/esm2022/rating/rating.interface.mjs +2 -0
  335. package/esm2022/rating/rating.mjs +70 -22
  336. package/esm2022/ripple/ripple.mjs +16 -12
  337. package/esm2022/scroller/public_api.mjs +2 -1
  338. package/esm2022/scroller/scroller.interface.mjs +2 -0
  339. package/esm2022/scroller/scroller.mjs +141 -20
  340. package/esm2022/scrollpanel/public_api.mjs +2 -1
  341. package/esm2022/scrollpanel/scrollpanel.interface.mjs +2 -0
  342. package/esm2022/scrollpanel/scrollpanel.mjs +34 -13
  343. package/esm2022/scrolltop/public_api.mjs +2 -1
  344. package/esm2022/scrolltop/scrolltop.interface.mjs +2 -0
  345. package/esm2022/scrolltop/scrolltop.mjs +48 -12
  346. package/esm2022/selectbutton/public_api.mjs +2 -1
  347. package/esm2022/selectbutton/selectbutton.interface.mjs +2 -0
  348. package/esm2022/selectbutton/selectbutton.mjs +68 -10
  349. package/esm2022/sidebar/public_api.mjs +2 -1
  350. package/esm2022/sidebar/sidebar.interface.mjs +2 -0
  351. package/esm2022/sidebar/sidebar.mjs +127 -50
  352. package/esm2022/skeleton/skeleton.mjs +47 -11
  353. package/esm2022/slidemenu/public_api.mjs +2 -1
  354. package/esm2022/slidemenu/slidemenu.interface.mjs +2 -0
  355. package/esm2022/slidemenu/slidemenu.mjs +113 -31
  356. package/esm2022/slider/public_api.mjs +2 -1
  357. package/esm2022/slider/slider.interface.mjs +2 -0
  358. package/esm2022/slider/slider.mjs +74 -15
  359. package/esm2022/speeddial/public_api.mjs +2 -1
  360. package/esm2022/speeddial/speeddial.interface.mjs +2 -0
  361. package/esm2022/speeddial/speeddial.mjs +124 -18
  362. package/esm2022/spinner/spinner.mjs +7 -7
  363. package/esm2022/splitbutton/public_api.mjs +2 -1
  364. package/esm2022/splitbutton/splitbutton.interface.mjs +2 -0
  365. package/esm2022/splitbutton/splitbutton.mjs +92 -18
  366. package/esm2022/splitter/public_api.mjs +2 -1
  367. package/esm2022/splitter/splitter.interface.mjs +2 -0
  368. package/esm2022/splitter/splitter.mjs +78 -24
  369. package/esm2022/steps/steps.mjs +38 -9
  370. package/esm2022/styleclass/styleclass.mjs +54 -10
  371. package/esm2022/table/public_api.mjs +2 -1
  372. package/esm2022/table/table.interface.mjs +2 -0
  373. package/esm2022/table/table.mjs +690 -220
  374. package/esm2022/tabmenu/public_api.mjs +2 -1
  375. package/esm2022/tabmenu/tabmenu.interface.mjs +2 -0
  376. package/esm2022/tabmenu/tabmenu.mjs +52 -20
  377. package/esm2022/tabview/public_api.mjs +2 -1
  378. package/esm2022/tabview/tabview.interface.mjs +2 -0
  379. package/esm2022/tabview/tabview.mjs +199 -101
  380. package/esm2022/tag/public_api.mjs +2 -1
  381. package/esm2022/tag/tag.interface.mjs +2 -0
  382. package/esm2022/tag/tag.mjs +43 -15
  383. package/esm2022/terminal/terminal.mjs +28 -8
  384. package/esm2022/terminal/terminalservice.mjs +3 -3
  385. package/esm2022/tieredmenu/public_api.mjs +2 -1
  386. package/esm2022/tieredmenu/tieredmenu.interface.mjs +2 -0
  387. package/esm2022/tieredmenu/tieredmenu.mjs +94 -23
  388. package/esm2022/timeline/public_api.mjs +2 -1
  389. package/esm2022/timeline/timeline.interface.mjs +2 -0
  390. package/esm2022/timeline/timeline.mjs +32 -8
  391. package/esm2022/toast/public_api.mjs +2 -1
  392. package/esm2022/toast/toast.interface.mjs +2 -0
  393. package/esm2022/toast/toast.mjs +96 -36
  394. package/esm2022/togglebutton/public_api.mjs +2 -1
  395. package/esm2022/togglebutton/togglebutton.interface.mjs +2 -0
  396. package/esm2022/togglebutton/togglebutton.mjs +65 -12
  397. package/esm2022/toolbar/public_api.mjs +2 -1
  398. package/esm2022/toolbar/toolbar.interface.mjs +2 -0
  399. package/esm2022/toolbar/toolbar.mjs +20 -8
  400. package/esm2022/tooltip/tooltip.mjs +99 -15
  401. package/esm2022/tree/public_api.mjs +2 -1
  402. package/esm2022/tree/tree.interface.mjs +2 -0
  403. package/esm2022/tree/tree.mjs +262 -43
  404. package/esm2022/treeselect/public_api.mjs +2 -1
  405. package/esm2022/treeselect/treeselect.interface.mjs +2 -0
  406. package/esm2022/treeselect/treeselect.mjs +221 -53
  407. package/esm2022/treetable/public_api.mjs +2 -1
  408. package/esm2022/treetable/treetable.interface.mjs +2 -0
  409. package/esm2022/treetable/treetable.mjs +506 -155
  410. package/esm2022/tristatecheckbox/public_api.mjs +2 -1
  411. package/esm2022/tristatecheckbox/tristatecheckbox.interface.mjs +2 -0
  412. package/esm2022/tristatecheckbox/tristatecheckbox.mjs +61 -8
  413. package/esm2022/ts-helpers/primeng-ts-helpers.mjs +5 -0
  414. package/esm2022/ts-helpers/public_api.mjs +2 -0
  415. package/esm2022/ts-helpers/ts-helpers.mjs +2 -0
  416. package/esm2022/virtualscroller/public_api.mjs +2 -1
  417. package/esm2022/virtualscroller/virtualscroller.interface.mjs +2 -0
  418. package/esm2022/virtualscroller/virtualscroller.mjs +52 -11
  419. package/fesm2022/primeng-accordion.mjs +140 -40
  420. package/fesm2022/primeng-accordion.mjs.map +1 -1
  421. package/fesm2022/primeng-animate.mjs +19 -7
  422. package/fesm2022/primeng-animate.mjs.map +1 -1
  423. package/fesm2022/primeng-api.mjs +73 -34
  424. package/fesm2022/primeng-api.mjs.map +1 -1
  425. package/fesm2022/primeng-autocomplete.mjs +345 -75
  426. package/fesm2022/primeng-autocomplete.mjs.map +1 -1
  427. package/fesm2022/primeng-autofocus.mjs +15 -7
  428. package/fesm2022/primeng-autofocus.mjs.map +1 -1
  429. package/fesm2022/primeng-avatar.mjs +46 -9
  430. package/fesm2022/primeng-avatar.mjs.map +1 -1
  431. package/fesm2022/primeng-avatargroup.mjs +19 -7
  432. package/fesm2022/primeng-avatargroup.mjs.map +1 -1
  433. package/fesm2022/primeng-badge.mjs +90 -38
  434. package/fesm2022/primeng-badge.mjs.map +1 -1
  435. package/fesm2022/primeng-baseicon.mjs +3 -3
  436. package/fesm2022/primeng-blockui.mjs +48 -24
  437. package/fesm2022/primeng-blockui.mjs.map +1 -1
  438. package/fesm2022/primeng-breadcrumb.mjs +42 -13
  439. package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
  440. package/fesm2022/primeng-button.mjs +126 -35
  441. package/fesm2022/primeng-button.mjs.map +1 -1
  442. package/fesm2022/primeng-calendar.mjs +475 -155
  443. package/fesm2022/primeng-calendar.mjs.map +1 -1
  444. package/fesm2022/primeng-card.mjs +29 -9
  445. package/fesm2022/primeng-card.mjs.map +1 -1
  446. package/fesm2022/primeng-carousel.mjs +100 -14
  447. package/fesm2022/primeng-carousel.mjs.map +1 -1
  448. package/fesm2022/primeng-cascadeselect.mjs +173 -39
  449. package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
  450. package/fesm2022/primeng-chart.mjs +55 -19
  451. package/fesm2022/primeng-chart.mjs.map +1 -1
  452. package/fesm2022/primeng-checkbox.mjs +93 -12
  453. package/fesm2022/primeng-checkbox.mjs.map +1 -1
  454. package/fesm2022/primeng-chip.mjs +53 -11
  455. package/fesm2022/primeng-chip.mjs.map +1 -1
  456. package/fesm2022/primeng-chips.mjs +105 -8
  457. package/fesm2022/primeng-chips.mjs.map +1 -1
  458. package/fesm2022/primeng-colorpicker.mjs +81 -16
  459. package/fesm2022/primeng-colorpicker.mjs.map +1 -1
  460. package/fesm2022/primeng-confirmdialog.mjs +151 -18
  461. package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
  462. package/fesm2022/primeng-confirmpopup.mjs +89 -47
  463. package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
  464. package/fesm2022/primeng-contextmenu.mjs +94 -40
  465. package/fesm2022/primeng-contextmenu.mjs.map +1 -1
  466. package/fesm2022/primeng-dataview.mjs +167 -27
  467. package/fesm2022/primeng-dataview.mjs.map +1 -1
  468. package/fesm2022/primeng-defer.mjs +18 -9
  469. package/fesm2022/primeng-defer.mjs.map +1 -1
  470. package/fesm2022/primeng-dialog.mjs +281 -93
  471. package/fesm2022/primeng-dialog.mjs.map +1 -1
  472. package/fesm2022/primeng-divider.mjs +34 -10
  473. package/fesm2022/primeng-divider.mjs.map +1 -1
  474. package/fesm2022/primeng-dock.mjs +35 -11
  475. package/fesm2022/primeng-dock.mjs.map +1 -1
  476. package/fesm2022/primeng-dom.mjs +1 -1
  477. package/fesm2022/primeng-dom.mjs.map +1 -1
  478. package/fesm2022/primeng-dragdrop.mjs +68 -17
  479. package/fesm2022/primeng-dragdrop.mjs.map +1 -1
  480. package/fesm2022/primeng-dropdown.mjs +394 -102
  481. package/fesm2022/primeng-dropdown.mjs.map +1 -1
  482. package/fesm2022/primeng-dynamicdialog.mjs +180 -14
  483. package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
  484. package/fesm2022/primeng-editor.mjs +90 -35
  485. package/fesm2022/primeng-editor.mjs.map +1 -1
  486. package/fesm2022/primeng-fieldset.mjs +64 -20
  487. package/fesm2022/primeng-fieldset.mjs.map +1 -1
  488. package/fesm2022/primeng-fileupload.mjs +222 -24
  489. package/fesm2022/primeng-fileupload.mjs.map +1 -1
  490. package/fesm2022/primeng-focustrap.mjs +16 -8
  491. package/fesm2022/primeng-focustrap.mjs.map +1 -1
  492. package/fesm2022/primeng-galleria.mjs +155 -37
  493. package/fesm2022/primeng-galleria.mjs.map +1 -1
  494. package/fesm2022/primeng-icons-angledoubledown.mjs +3 -3
  495. package/fesm2022/primeng-icons-angledoubleleft.mjs +3 -3
  496. package/fesm2022/primeng-icons-angledoubleright.mjs +3 -3
  497. package/fesm2022/primeng-icons-angledoubleup.mjs +3 -3
  498. package/fesm2022/primeng-icons-angledown.mjs +3 -3
  499. package/fesm2022/primeng-icons-angleleft.mjs +3 -3
  500. package/fesm2022/primeng-icons-angleright.mjs +3 -3
  501. package/fesm2022/primeng-icons-angleup.mjs +3 -3
  502. package/fesm2022/primeng-icons-arrowdown.mjs +12 -7
  503. package/fesm2022/primeng-icons-arrowdown.mjs.map +1 -1
  504. package/fesm2022/primeng-icons-arrowdownleft.mjs +3 -3
  505. package/fesm2022/primeng-icons-arrowdownright.mjs +3 -3
  506. package/fesm2022/primeng-icons-arrowleft.mjs +12 -7
  507. package/fesm2022/primeng-icons-arrowleft.mjs.map +1 -1
  508. package/fesm2022/primeng-icons-arrowright.mjs +3 -3
  509. package/fesm2022/primeng-icons-arrowup.mjs +12 -7
  510. package/fesm2022/primeng-icons-arrowup.mjs.map +1 -1
  511. package/fesm2022/primeng-icons-ban.mjs +12 -7
  512. package/fesm2022/primeng-icons-ban.mjs.map +1 -1
  513. package/fesm2022/primeng-icons-bars.mjs +3 -3
  514. package/fesm2022/primeng-icons-calendar.mjs +3 -3
  515. package/fesm2022/primeng-icons-caretleft.mjs +3 -3
  516. package/fesm2022/primeng-icons-caretright.mjs +3 -3
  517. package/fesm2022/primeng-icons-check.mjs +3 -3
  518. package/fesm2022/primeng-icons-chevrondown.mjs +3 -3
  519. package/fesm2022/primeng-icons-chevronleft.mjs +3 -3
  520. package/fesm2022/primeng-icons-chevronright.mjs +3 -3
  521. package/fesm2022/primeng-icons-chevronup.mjs +3 -3
  522. package/fesm2022/primeng-icons-exclamationtriangle.mjs +12 -7
  523. package/fesm2022/primeng-icons-exclamationtriangle.mjs.map +1 -1
  524. package/fesm2022/primeng-icons-eye.mjs +3 -3
  525. package/fesm2022/primeng-icons-eyeslash.mjs +12 -7
  526. package/fesm2022/primeng-icons-eyeslash.mjs.map +1 -1
  527. package/fesm2022/primeng-icons-filter.mjs +12 -7
  528. package/fesm2022/primeng-icons-filter.mjs.map +1 -1
  529. package/fesm2022/primeng-icons-filterslash.mjs +12 -7
  530. package/fesm2022/primeng-icons-filterslash.mjs.map +1 -1
  531. package/fesm2022/primeng-icons-home.mjs +12 -7
  532. package/fesm2022/primeng-icons-home.mjs.map +1 -1
  533. package/fesm2022/primeng-icons-infocircle.mjs +12 -7
  534. package/fesm2022/primeng-icons-infocircle.mjs.map +1 -1
  535. package/fesm2022/primeng-icons-minus.mjs +3 -3
  536. package/fesm2022/primeng-icons-pencil.mjs +12 -7
  537. package/fesm2022/primeng-icons-pencil.mjs.map +1 -1
  538. package/fesm2022/primeng-icons-plus.mjs +12 -7
  539. package/fesm2022/primeng-icons-plus.mjs.map +1 -1
  540. package/fesm2022/primeng-icons-refresh.mjs +12 -7
  541. package/fesm2022/primeng-icons-refresh.mjs.map +1 -1
  542. package/fesm2022/primeng-icons-search.mjs +12 -7
  543. package/fesm2022/primeng-icons-search.mjs.map +1 -1
  544. package/fesm2022/primeng-icons-searchminus.mjs +12 -7
  545. package/fesm2022/primeng-icons-searchminus.mjs.map +1 -1
  546. package/fesm2022/primeng-icons-searchplus.mjs +12 -7
  547. package/fesm2022/primeng-icons-searchplus.mjs.map +1 -1
  548. package/fesm2022/primeng-icons-sortalt.mjs +12 -7
  549. package/fesm2022/primeng-icons-sortalt.mjs.map +1 -1
  550. package/fesm2022/primeng-icons-sortamountdown.mjs +12 -7
  551. package/fesm2022/primeng-icons-sortamountdown.mjs.map +1 -1
  552. package/fesm2022/primeng-icons-sortamountupalt.mjs +12 -7
  553. package/fesm2022/primeng-icons-sortamountupalt.mjs.map +1 -1
  554. package/fesm2022/primeng-icons-spinner.mjs +12 -7
  555. package/fesm2022/primeng-icons-spinner.mjs.map +1 -1
  556. package/fesm2022/primeng-icons-star.mjs +12 -7
  557. package/fesm2022/primeng-icons-star.mjs.map +1 -1
  558. package/fesm2022/primeng-icons-starfill.mjs +12 -7
  559. package/fesm2022/primeng-icons-starfill.mjs.map +1 -1
  560. package/fesm2022/primeng-icons-thlarge.mjs +12 -7
  561. package/fesm2022/primeng-icons-thlarge.mjs.map +1 -1
  562. package/fesm2022/primeng-icons-times.mjs +3 -3
  563. package/fesm2022/primeng-icons-timescircle.mjs +12 -7
  564. package/fesm2022/primeng-icons-timescircle.mjs.map +1 -1
  565. package/fesm2022/primeng-icons-trash.mjs +12 -7
  566. package/fesm2022/primeng-icons-trash.mjs.map +1 -1
  567. package/fesm2022/primeng-icons-undo.mjs +12 -7
  568. package/fesm2022/primeng-icons-undo.mjs.map +1 -1
  569. package/fesm2022/primeng-icons-upload.mjs +12 -7
  570. package/fesm2022/primeng-icons-upload.mjs.map +1 -1
  571. package/fesm2022/primeng-icons-windowmaximize.mjs +12 -7
  572. package/fesm2022/primeng-icons-windowmaximize.mjs.map +1 -1
  573. package/fesm2022/primeng-icons-windowminimize.mjs +12 -7
  574. package/fesm2022/primeng-icons-windowminimize.mjs.map +1 -1
  575. package/fesm2022/primeng-image.mjs +80 -15
  576. package/fesm2022/primeng-image.mjs.map +1 -1
  577. package/fesm2022/primeng-inplace.mjs +76 -24
  578. package/fesm2022/primeng-inplace.mjs.map +1 -1
  579. package/fesm2022/primeng-inputmask.mjs +169 -41
  580. package/fesm2022/primeng-inputmask.mjs.map +1 -1
  581. package/fesm2022/primeng-inputnumber.mjs +243 -43
  582. package/fesm2022/primeng-inputnumber.mjs.map +1 -1
  583. package/fesm2022/primeng-inputswitch.mjs +60 -7
  584. package/fesm2022/primeng-inputswitch.mjs.map +1 -1
  585. package/fesm2022/primeng-inputtext.mjs +8 -8
  586. package/fesm2022/primeng-inputtext.mjs.map +1 -1
  587. package/fesm2022/primeng-inputtextarea.mjs +20 -7
  588. package/fesm2022/primeng-inputtextarea.mjs.map +1 -1
  589. package/fesm2022/primeng-keyfilter.mjs +33 -16
  590. package/fesm2022/primeng-keyfilter.mjs.map +1 -1
  591. package/fesm2022/primeng-knob.mjs +89 -17
  592. package/fesm2022/primeng-knob.mjs.map +1 -1
  593. package/fesm2022/primeng-listbox.mjs +153 -26
  594. package/fesm2022/primeng-listbox.mjs.map +1 -1
  595. package/fesm2022/primeng-megamenu.mjs +33 -13
  596. package/fesm2022/primeng-megamenu.mjs.map +1 -1
  597. package/fesm2022/primeng-menu.mjs +79 -21
  598. package/fesm2022/primeng-menu.mjs.map +1 -1
  599. package/fesm2022/primeng-menubar.mjs +72 -35
  600. package/fesm2022/primeng-menubar.mjs.map +1 -1
  601. package/fesm2022/primeng-message.mjs +34 -10
  602. package/fesm2022/primeng-message.mjs.map +1 -1
  603. package/fesm2022/primeng-messages.mjs +69 -20
  604. package/fesm2022/primeng-messages.mjs.map +1 -1
  605. package/fesm2022/primeng-multiselect.mjs +350 -62
  606. package/fesm2022/primeng-multiselect.mjs.map +1 -1
  607. package/fesm2022/primeng-orderlist.mjs +141 -37
  608. package/fesm2022/primeng-orderlist.mjs.map +1 -1
  609. package/fesm2022/primeng-organizationchart.mjs +70 -13
  610. package/fesm2022/primeng-organizationchart.mjs.map +1 -1
  611. package/fesm2022/primeng-overlay.mjs +122 -8
  612. package/fesm2022/primeng-overlay.mjs.map +1 -1
  613. package/fesm2022/primeng-overlaypanel.mjs +85 -13
  614. package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
  615. package/fesm2022/primeng-paginator.mjs +116 -21
  616. package/fesm2022/primeng-paginator.mjs.map +1 -1
  617. package/fesm2022/primeng-panel.mjs +85 -19
  618. package/fesm2022/primeng-panel.mjs.map +1 -1
  619. package/fesm2022/primeng-panelmenu.mjs +43 -19
  620. package/fesm2022/primeng-panelmenu.mjs.map +1 -1
  621. package/fesm2022/primeng-password.mjs +156 -24
  622. package/fesm2022/primeng-password.mjs.map +1 -1
  623. package/fesm2022/primeng-picklist.mjs +217 -15
  624. package/fesm2022/primeng-picklist.mjs.map +1 -1
  625. package/fesm2022/primeng-progressbar.mjs +42 -10
  626. package/fesm2022/primeng-progressbar.mjs.map +1 -1
  627. package/fesm2022/primeng-progressspinner.mjs +36 -12
  628. package/fesm2022/primeng-progressspinner.mjs.map +1 -1
  629. package/fesm2022/primeng-radiobutton.mjs +81 -10
  630. package/fesm2022/primeng-radiobutton.mjs.map +1 -1
  631. package/fesm2022/primeng-rating.mjs +70 -22
  632. package/fesm2022/primeng-rating.mjs.map +1 -1
  633. package/fesm2022/primeng-ripple.mjs +15 -11
  634. package/fesm2022/primeng-ripple.mjs.map +1 -1
  635. package/fesm2022/primeng-scroller.mjs +141 -20
  636. package/fesm2022/primeng-scroller.mjs.map +1 -1
  637. package/fesm2022/primeng-scrollpanel.mjs +34 -13
  638. package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
  639. package/fesm2022/primeng-scrolltop.mjs +48 -12
  640. package/fesm2022/primeng-scrolltop.mjs.map +1 -1
  641. package/fesm2022/primeng-selectbutton.mjs +67 -9
  642. package/fesm2022/primeng-selectbutton.mjs.map +1 -1
  643. package/fesm2022/primeng-sidebar.mjs +126 -49
  644. package/fesm2022/primeng-sidebar.mjs.map +1 -1
  645. package/fesm2022/primeng-skeleton.mjs +47 -11
  646. package/fesm2022/primeng-skeleton.mjs.map +1 -1
  647. package/fesm2022/primeng-slidemenu.mjs +113 -31
  648. package/fesm2022/primeng-slidemenu.mjs.map +1 -1
  649. package/fesm2022/primeng-slider.mjs +73 -14
  650. package/fesm2022/primeng-slider.mjs.map +1 -1
  651. package/fesm2022/primeng-speeddial.mjs +124 -18
  652. package/fesm2022/primeng-speeddial.mjs.map +1 -1
  653. package/fesm2022/primeng-spinner.mjs +7 -7
  654. package/fesm2022/primeng-splitbutton.mjs +92 -18
  655. package/fesm2022/primeng-splitbutton.mjs.map +1 -1
  656. package/fesm2022/primeng-splitter.mjs +77 -23
  657. package/fesm2022/primeng-splitter.mjs.map +1 -1
  658. package/fesm2022/primeng-steps.mjs +38 -9
  659. package/fesm2022/primeng-steps.mjs.map +1 -1
  660. package/fesm2022/primeng-styleclass.mjs +53 -9
  661. package/fesm2022/primeng-styleclass.mjs.map +1 -1
  662. package/fesm2022/primeng-table.mjs +689 -219
  663. package/fesm2022/primeng-table.mjs.map +1 -1
  664. package/fesm2022/primeng-tabmenu.mjs +51 -19
  665. package/fesm2022/primeng-tabmenu.mjs.map +1 -1
  666. package/fesm2022/primeng-tabview.mjs +200 -102
  667. package/fesm2022/primeng-tabview.mjs.map +1 -1
  668. package/fesm2022/primeng-tag.mjs +42 -13
  669. package/fesm2022/primeng-tag.mjs.map +1 -1
  670. package/fesm2022/primeng-terminal.mjs +30 -10
  671. package/fesm2022/primeng-terminal.mjs.map +1 -1
  672. package/fesm2022/primeng-tieredmenu.mjs +95 -24
  673. package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
  674. package/fesm2022/primeng-timeline.mjs +31 -7
  675. package/fesm2022/primeng-timeline.mjs.map +1 -1
  676. package/fesm2022/primeng-toast.mjs +97 -36
  677. package/fesm2022/primeng-toast.mjs.map +1 -1
  678. package/fesm2022/primeng-togglebutton.mjs +64 -11
  679. package/fesm2022/primeng-togglebutton.mjs.map +1 -1
  680. package/fesm2022/primeng-toolbar.mjs +19 -7
  681. package/fesm2022/primeng-toolbar.mjs.map +1 -1
  682. package/fesm2022/primeng-tooltip.mjs +98 -14
  683. package/fesm2022/primeng-tooltip.mjs.map +1 -1
  684. package/fesm2022/primeng-tree.mjs +261 -42
  685. package/fesm2022/primeng-tree.mjs.map +1 -1
  686. package/fesm2022/primeng-treeselect.mjs +221 -53
  687. package/fesm2022/primeng-treeselect.mjs.map +1 -1
  688. package/fesm2022/primeng-treetable.mjs +505 -154
  689. package/fesm2022/primeng-treetable.mjs.map +1 -1
  690. package/fesm2022/primeng-tristatecheckbox.mjs +60 -7
  691. package/fesm2022/primeng-tristatecheckbox.mjs.map +1 -1
  692. package/fesm2022/primeng-ts-helpers.mjs +4 -0
  693. package/fesm2022/primeng-ts-helpers.mjs.map +1 -0
  694. package/fesm2022/primeng-virtualscroller.mjs +52 -11
  695. package/fesm2022/primeng-virtualscroller.mjs.map +1 -1
  696. package/fieldset/fieldset.d.ts +66 -17
  697. package/fieldset/fieldset.interface.d.ts +46 -0
  698. package/fieldset/public_api.d.ts +1 -0
  699. package/fileupload/fileupload.d.ts +260 -58
  700. package/fileupload/fileupload.interface.d.ts +156 -0
  701. package/fileupload/public_api.d.ts +1 -0
  702. package/focustrap/focustrap.d.ts +9 -1
  703. package/galleria/galleria.d.ts +189 -63
  704. package/galleria/galleria.interface.d.ts +97 -0
  705. package/galleria/public_api.d.ts +1 -0
  706. package/icons/arrowdown/arrowdown.d.ts +4 -1
  707. package/icons/arrowleft/arrowleft.d.ts +2 -0
  708. package/icons/arrowup/arrowup.d.ts +2 -0
  709. package/icons/ban/ban.d.ts +2 -0
  710. package/icons/exclamationtriangle/exclamationtriangle.d.ts +4 -1
  711. package/icons/eyeslash/eyeslash.d.ts +2 -0
  712. package/icons/filter/filter.d.ts +2 -0
  713. package/icons/filterslash/filterslash.d.ts +2 -0
  714. package/icons/home/home.d.ts +2 -0
  715. package/icons/infocircle/infocircle.d.ts +2 -0
  716. package/icons/pencil/pencil.d.ts +2 -0
  717. package/icons/plus/plus.d.ts +2 -0
  718. package/icons/refresh/refresh.d.ts +2 -0
  719. package/icons/search/search.d.ts +2 -0
  720. package/icons/searchminus/searchminus.d.ts +2 -0
  721. package/icons/searchplus/searchplus.d.ts +2 -0
  722. package/icons/sortalt/sortalt.d.ts +2 -0
  723. package/icons/sortamountdown/sortamountdown.d.ts +2 -0
  724. package/icons/sortamountupalt/sortamountupalt.d.ts +2 -0
  725. package/icons/spinner/spinner.d.ts +2 -0
  726. package/icons/star/star.d.ts +2 -0
  727. package/icons/starfill/starfill.d.ts +2 -0
  728. package/icons/thlarge/thlarge.d.ts +2 -0
  729. package/icons/timescircle/timescircle.d.ts +2 -0
  730. package/icons/trash/trash.d.ts +2 -0
  731. package/icons/undo/undo.d.ts +2 -0
  732. package/icons/upload/upload.d.ts +2 -0
  733. package/icons/windowmaximize/windowmaximize.d.ts +2 -0
  734. package/icons/windowminimize/windowminimize.d.ts +2 -0
  735. package/image/image.d.ts +93 -23
  736. package/image/image.interface.d.ts +31 -0
  737. package/image/public_api.d.ts +1 -0
  738. package/inplace/inplace.d.ts +71 -16
  739. package/inplace/inplace.interface.d.ts +19 -0
  740. package/inplace/public_api.d.ts +1 -0
  741. package/inputmask/inputmask.d.ts +190 -58
  742. package/inputmask/inputmask.interface.d.ts +19 -0
  743. package/inputmask/public_api.d.ts +1 -0
  744. package/inputnumber/inputnumber.d.ts +277 -84
  745. package/inputnumber/inputnumber.interface.d.ts +38 -0
  746. package/inputnumber/public_api.d.ts +1 -0
  747. package/inputswitch/inputswitch.d.ts +65 -13
  748. package/inputswitch/inputswitch.interface.d.ts +15 -0
  749. package/inputswitch/public_api.d.ts +1 -0
  750. package/inputtext/inputtext.d.ts +3 -2
  751. package/inputtextarea/inputtextarea.d.ts +22 -9
  752. package/keyfilter/keyfilter.d.ts +24 -7
  753. package/knob/knob.d.ts +94 -23
  754. package/listbox/listbox.d.ts +191 -62
  755. package/listbox/listbox.interface.d.ts +126 -0
  756. package/listbox/public_api.d.ts +1 -0
  757. package/megamenu/megamenu.d.ts +36 -13
  758. package/megamenu/megamenu.interface.d.ts +19 -0
  759. package/megamenu/public_api.d.ts +1 -0
  760. package/menu/menu.d.ts +82 -18
  761. package/menubar/menubar.d.ts +68 -29
  762. package/menubar/menubar.interface.d.ts +23 -0
  763. package/menubar/public_api.d.ts +1 -0
  764. package/message/message.d.ts +30 -4
  765. package/messages/messages.d.ts +63 -12
  766. package/messages/messages.interface.d.ts +11 -0
  767. package/messages/public_api.d.ts +1 -0
  768. package/multiselect/multiselect.d.ts +424 -128
  769. package/multiselect/multiselect.interface.d.ts +204 -0
  770. package/multiselect/public_api.d.ts +1 -0
  771. package/orderlist/orderlist.d.ts +156 -50
  772. package/orderlist/orderlist.interface.d.ts +110 -0
  773. package/orderlist/public_api.d.ts +1 -0
  774. package/organizationchart/organizationchart.d.ts +77 -19
  775. package/organizationchart/organizationchart.interface.d.ts +59 -0
  776. package/organizationchart/public_api.d.ts +1 -0
  777. package/overlay/overlay.d.ts +145 -19
  778. package/overlaypanel/overlaypanel.d.ts +95 -20
  779. package/package.json +183 -177
  780. package/paginator/paginator.d.ts +130 -30
  781. package/paginator/paginator.interface.d.ts +33 -0
  782. package/paginator/public_api.d.ts +1 -0
  783. package/panel/panel.d.ts +96 -27
  784. package/panel/panel.interface.d.ts +58 -0
  785. package/panel/public_api.d.ts +1 -0
  786. package/panelmenu/panelmenu.d.ts +45 -19
  787. package/panelmenu/panelmenu.interface.d.ts +11 -0
  788. package/panelmenu/public_api.d.ts +1 -0
  789. package/password/password.d.ts +202 -56
  790. package/picklist/picklist.d.ts +294 -92
  791. package/picklist/picklist.interface.d.ts +242 -0
  792. package/picklist/public_api.d.ts +1 -0
  793. package/progressbar/progressbar.d.ts +39 -5
  794. package/progressspinner/progressspinner.d.ts +29 -3
  795. package/radiobutton/public_api.d.ts +1 -0
  796. package/radiobutton/radiobutton.d.ts +97 -22
  797. package/radiobutton/radiobutton.interface.d.ts +15 -0
  798. package/rating/public_api.d.ts +1 -0
  799. package/rating/rating.d.ts +83 -22
  800. package/rating/rating.interface.d.ts +34 -0
  801. package/resources/components/button/button.css +1 -0
  802. package/resources/primeng.css +1 -0
  803. package/resources/primeng.min.css +1 -1
  804. package/ripple/ripple.d.ts +7 -2
  805. package/scroller/public_api.d.ts +1 -0
  806. package/scroller/scroller.d.ts +194 -92
  807. package/scroller/scroller.interface.d.ts +177 -0
  808. package/scrollpanel/public_api.d.ts +1 -0
  809. package/scrollpanel/scrollpanel.d.ts +45 -21
  810. package/scrollpanel/scrollpanel.interface.d.ts +11 -0
  811. package/scrolltop/public_api.d.ts +1 -0
  812. package/scrolltop/scrolltop.d.ts +50 -12
  813. package/scrolltop/scrolltop.interface.d.ts +18 -0
  814. package/selectbutton/public_api.d.ts +1 -0
  815. package/selectbutton/selectbutton.d.ts +73 -14
  816. package/selectbutton/selectbutton.interface.d.ts +45 -0
  817. package/sidebar/public_api.d.ts +1 -0
  818. package/sidebar/sidebar.d.ts +104 -24
  819. package/sidebar/sidebar.interface.d.ts +23 -0
  820. package/skeleton/skeleton.d.ts +47 -5
  821. package/slidemenu/public_api.d.ts +1 -0
  822. package/slidemenu/slidemenu.d.ts +118 -33
  823. package/slidemenu/slidemenu.interface.d.ts +15 -0
  824. package/slider/public_api.d.ts +1 -0
  825. package/slider/slider.d.ts +99 -37
  826. package/slider/slider.interface.d.ts +38 -0
  827. package/speeddial/public_api.d.ts +1 -0
  828. package/speeddial/speeddial.d.ts +145 -33
  829. package/speeddial/speeddial.interface.d.ts +11 -0
  830. package/splitbutton/public_api.d.ts +1 -0
  831. package/splitbutton/splitbutton.d.ts +102 -24
  832. package/splitbutton/splitbutton.interface.d.ts +15 -0
  833. package/splitter/public_api.d.ts +1 -0
  834. package/splitter/splitter.d.ts +91 -30
  835. package/splitter/splitter.interface.d.ts +34 -0
  836. package/steps/steps.d.ts +38 -7
  837. package/styleclass/styleclass.d.ts +62 -17
  838. package/table/public_api.d.ts +1 -0
  839. package/table/table.d.ts +804 -319
  840. package/table/table.interface.d.ts +606 -0
  841. package/tabmenu/public_api.d.ts +1 -0
  842. package/tabmenu/tabmenu.d.ts +53 -18
  843. package/tabmenu/tabmenu.interface.d.ts +32 -0
  844. package/tabview/public_api.d.ts +1 -0
  845. package/tabview/tabview.d.ts +159 -54
  846. package/tabview/tabview.interface.d.ts +49 -0
  847. package/tag/public_api.d.ts +1 -0
  848. package/tag/tag.d.ts +42 -10
  849. package/tag/tag.interface.d.ts +11 -0
  850. package/terminal/terminal.d.ts +26 -4
  851. package/tieredmenu/public_api.d.ts +1 -0
  852. package/tieredmenu/tieredmenu.d.ts +103 -34
  853. package/tieredmenu/tieredmenu.interface.d.ts +11 -0
  854. package/timeline/public_api.d.ts +1 -0
  855. package/timeline/timeline.d.ts +35 -8
  856. package/timeline/timeline.interface.d.ts +43 -0
  857. package/toast/public_api.d.ts +1 -0
  858. package/toast/toast.d.ts +93 -28
  859. package/toast/toast.interface.d.ts +40 -0
  860. package/togglebutton/public_api.d.ts +1 -0
  861. package/togglebutton/togglebutton.d.ts +65 -11
  862. package/togglebutton/togglebutton.interface.d.ts +15 -0
  863. package/toolbar/public_api.d.ts +1 -0
  864. package/toolbar/toolbar.d.ts +21 -7
  865. package/toolbar/toolbar.interface.d.ts +19 -0
  866. package/tooltip/tooltip.d.ts +123 -46
  867. package/tree/public_api.d.ts +1 -0
  868. package/tree/tree.d.ts +320 -100
  869. package/tree/tree.interface.d.ts +193 -0
  870. package/treeselect/public_api.d.ts +1 -0
  871. package/treeselect/treeselect.d.ts +262 -74
  872. package/treeselect/treeselect.interface.d.ts +108 -0
  873. package/treetable/public_api.d.ts +1 -0
  874. package/treetable/treetable.d.ts +591 -230
  875. package/treetable/treetable.interface.d.ts +465 -0
  876. package/tristatecheckbox/public_api.d.ts +1 -0
  877. package/tristatecheckbox/tristatecheckbox.d.ts +75 -17
  878. package/tristatecheckbox/tristatecheckbox.interface.d.ts +30 -0
  879. package/ts-helpers/index.d.ts +5 -0
  880. package/ts-helpers/public_api.d.ts +1 -0
  881. package/ts-helpers/ts-helpers.d.ts +4 -0
  882. package/virtualscroller/public_api.d.ts +1 -0
  883. package/virtualscroller/virtualscroller.d.ts +64 -18
  884. package/virtualscroller/virtualscroller.interface.d.ts +72 -0
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL3RvYXN0L3RvYXN0LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1lc3NhZ2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBUb2FzdCB9IGZyb20gJy4vdG9hc3QnO1xuXG4vKipcbiAqIERlZmluZXMgdmFsaWQgdGVtcGxhdGVzIGluIFRvYXN0LlxuICogQGdyb3VwIFRlbXBsYXRlc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFRvYXN0VGVtcGxhdGVzIHtcbiAgICAvKipcbiAgICAgKiBDdXN0b20gdGVtcGxhdGUgb2YgbWVzc2FnZS5cbiAgICAgKi9cbiAgICBtZXNzYWdlKGNvbnRleHQ6IHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIERhdGEgb2YgdGhlIG1lc3NhZ2UuXG4gICAgICAgICAqL1xuICAgICAgICAkaW1wbGljaXQ6IGFueTtcbiAgICB9KTogVGVtcGxhdGVSZWY8eyAkaW1wbGljaXQ6IGFueSB9Pjtcbn1cbi8qKlxuICogQ3VzdG9tIGNsb3NlIGV2ZW50LlxuICogQHNlZSB7QGxpbmsgVG9hc3Qub25DbG9zZX1cbiAqIEBncm91cCBFdmVudHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUb2FzdENsb3NlRXZlbnQge1xuICAgIC8qKlxuICAgICAqIE1lc3NhZ2Ugb2YgdGhlIGNsb3NlZCBlbGVtZW50LlxuICAgICAqL1xuICAgIG1lc3NhZ2U6IE1lc3NhZ2U7XG59XG4vKipcbiAqIEN1c3RvbSBjbG9zZSBldmVudC5cbiAqIEBzZWUge0BsaW5rIFRvYXN0SXRlbS5vbkNsb3NlfVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRvYXN0SXRlbUNsb3NlRXZlbnQgZXh0ZW5kcyBUb2FzdENsb3NlRXZlbnQge1xuICAgIC8qKlxuICAgICAqIEluZGV4IG9mIHRoZSBjbG9zZWQgZWxlbWVudC5cbiAgICAgKi9cbiAgICBpbmRleDogbnVtYmVyO1xufVxuIl19
@@ -1,15 +1,14 @@
1
- import { NgModule, Component, Input, Output, ViewChild, EventEmitter, ContentChildren, ChangeDetectionStrategy, ViewEncapsulation, Inject } from '@angular/core';
1
+ import { animate, animateChild, query, state, style, transition, trigger } from '@angular/animations';
2
2
  import { CommonModule, DOCUMENT } from '@angular/common';
3
+ import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Inject, Input, NgModule, Output, ViewChild, ViewEncapsulation } from '@angular/core';
3
4
  import { PrimeTemplate, SharedModule } from 'primeng/api';
4
- import { ObjectUtils, UniqueComponentId } from 'primeng/utils';
5
- import { RippleModule } from 'primeng/ripple';
6
- import { trigger, state, style, transition, animate, query, animateChild } from '@angular/animations';
7
- import { ZIndexUtils } from 'primeng/utils';
8
5
  import { CheckIcon } from 'primeng/icons/check';
9
- import { InfoCircleIcon } from 'primeng/icons/infocircle';
10
- import { TimesCircleIcon } from 'primeng/icons/timescircle';
11
6
  import { ExclamationTriangleIcon } from 'primeng/icons/exclamationtriangle';
7
+ import { InfoCircleIcon } from 'primeng/icons/infocircle';
12
8
  import { TimesIcon } from 'primeng/icons/times';
9
+ import { TimesCircleIcon } from 'primeng/icons/timescircle';
10
+ import { RippleModule } from 'primeng/ripple';
11
+ import { ObjectUtils, UniqueComponentId, ZIndexUtils } from 'primeng/utils';
13
12
  import * as i0 from "@angular/core";
14
13
  import * as i1 from "@angular/common";
15
14
  import * as i2 from "primeng/ripple";
@@ -33,14 +32,14 @@ class ToastItem {
33
32
  this.initTimeout();
34
33
  }
35
34
  initTimeout() {
36
- if (!this.message.sticky) {
35
+ if (!this.message?.sticky) {
37
36
  this.zone.runOutsideAngular(() => {
38
37
  this.timeout = setTimeout(() => {
39
38
  this.onClose.emit({
40
39
  index: this.index,
41
40
  message: this.message
42
41
  });
43
- }, this.message.life || 3000);
42
+ }, this.message?.life || 3000);
44
43
  });
45
44
  }
46
45
  }
@@ -67,18 +66,18 @@ class ToastItem {
67
66
  ngOnDestroy() {
68
67
  this.clearTimeout();
69
68
  }
70
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ToastItem, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
71
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: ToastItem, selector: "p-toastItem", inputs: { message: "message", index: "index", template: "template", showTransformOptions: "showTransformOptions", hideTransformOptions: "hideTransformOptions", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions" }, outputs: { onClose: "onClose" }, host: { classAttribute: "p-element" }, viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: `
69
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ToastItem, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
70
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: ToastItem, selector: "p-toastItem", inputs: { message: "message", index: "index", template: "template", showTransformOptions: "showTransformOptions", hideTransformOptions: "hideTransformOptions", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions" }, outputs: { onClose: "onClose" }, host: { classAttribute: "p-element" }, viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: `
72
71
  <div
73
72
  #container
74
- [attr.id]="message.id"
75
- [class]="message.styleClass"
76
- [ngClass]="['p-toast-message-' + message.severity, 'p-toast-message']"
73
+ [attr.id]="message?.id"
74
+ [class]="message?.styleClass"
75
+ [ngClass]="['p-toast-message-' + message?.severity, 'p-toast-message']"
77
76
  [@messageState]="{ value: 'visible', params: { showTransformParams: showTransformOptions, hideTransformParams: hideTransformOptions, showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }"
78
77
  (mouseenter)="onMouseEnter()"
79
78
  (mouseleave)="onMouseLeave()"
80
79
  >
81
- <div class="p-toast-message-content" role="alert" aria-live="assertive" aria-atomic="true" [ngClass]="message.contentStyleClass">
80
+ <div class="p-toast-message-content" role="alert" aria-live="assertive" aria-atomic="true" [ngClass]="message?.contentStyleClass">
82
81
  <ng-container *ngIf="!template">
83
82
  <span *ngIf="message.icon" [class]="'p-toast-message-icon pi ' + message.icon"></span>
84
83
  <span class="p-toast-message-icon" *ngIf="!message.icon">
@@ -95,7 +94,7 @@ class ToastItem {
95
94
  </div>
96
95
  </ng-container>
97
96
  <ng-container *ngTemplateOutlet="template; context: { $implicit: message }"></ng-container>
98
- <button type="button" class="p-toast-icon-close p-link" (click)="onCloseIconClick($event)" (keydown.enter)="onCloseIconClick($event)" *ngIf="message.closable !== false" pRipple>
97
+ <button type="button" class="p-toast-icon-close p-link" (click)="onCloseIconClick($event)" (keydown.enter)="onCloseIconClick($event)" *ngIf="message?.closable !== false" pRipple>
99
98
  <span *ngIf="message.closeIcon" [class]="'p-toast-message-icon pi ' + message.closeIcon"></span>
100
99
  <TimesIcon *ngIf="!message.closeIcon" [styleClass]="'p-toast-icon-close-icon'" />
101
100
  </button>
@@ -119,21 +118,21 @@ class ToastItem {
119
118
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
120
119
  }
121
120
  export { ToastItem };
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ToastItem, decorators: [{
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ToastItem, decorators: [{
123
122
  type: Component,
124
123
  args: [{
125
124
  selector: 'p-toastItem',
126
125
  template: `
127
126
  <div
128
127
  #container
129
- [attr.id]="message.id"
130
- [class]="message.styleClass"
131
- [ngClass]="['p-toast-message-' + message.severity, 'p-toast-message']"
128
+ [attr.id]="message?.id"
129
+ [class]="message?.styleClass"
130
+ [ngClass]="['p-toast-message-' + message?.severity, 'p-toast-message']"
132
131
  [@messageState]="{ value: 'visible', params: { showTransformParams: showTransformOptions, hideTransformParams: hideTransformOptions, showTransitionParams: showTransitionOptions, hideTransitionParams: hideTransitionOptions } }"
133
132
  (mouseenter)="onMouseEnter()"
134
133
  (mouseleave)="onMouseLeave()"
135
134
  >
136
- <div class="p-toast-message-content" role="alert" aria-live="assertive" aria-atomic="true" [ngClass]="message.contentStyleClass">
135
+ <div class="p-toast-message-content" role="alert" aria-live="assertive" aria-atomic="true" [ngClass]="message?.contentStyleClass">
137
136
  <ng-container *ngIf="!template">
138
137
  <span *ngIf="message.icon" [class]="'p-toast-message-icon pi ' + message.icon"></span>
139
138
  <span class="p-toast-message-icon" *ngIf="!message.icon">
@@ -150,7 +149,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
150
149
  </div>
151
150
  </ng-container>
152
151
  <ng-container *ngTemplateOutlet="template; context: { $implicit: message }"></ng-container>
153
- <button type="button" class="p-toast-icon-close p-link" (click)="onCloseIconClick($event)" (keydown.enter)="onCloseIconClick($event)" *ngIf="message.closable !== false" pRipple>
152
+ <button type="button" class="p-toast-icon-close p-link" (click)="onCloseIconClick($event)" (keydown.enter)="onCloseIconClick($event)" *ngIf="message?.closable !== false" pRipple>
154
153
  <span *ngIf="message.closeIcon" [class]="'p-toast-message-icon pi ' + message.closeIcon"></span>
155
154
  <TimesIcon *ngIf="!message.closeIcon" [styleClass]="'p-toast-icon-close-icon'" />
156
155
  </button>
@@ -199,25 +198,86 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
199
198
  type: ViewChild,
200
199
  args: ['container']
201
200
  }] } });
201
+ /**
202
+ * Toast is used to display messages in an overlay.
203
+ * @group Components
204
+ */
202
205
  class Toast {
203
206
  document;
204
207
  renderer;
205
208
  messageService;
206
209
  cd;
207
210
  config;
211
+ /**
212
+ * Key of the message in case message is targeted to a specific toast component.
213
+ * @group Props
214
+ */
208
215
  key;
216
+ /**
217
+ * Whether to automatically manage layering.
218
+ * @group Props
219
+ */
209
220
  autoZIndex = true;
221
+ /**
222
+ * Base zIndex value to use in layering.
223
+ * @group Props
224
+ */
210
225
  baseZIndex = 0;
226
+ /**
227
+ * Inline style of the component.
228
+ * @group Props
229
+ */
211
230
  style;
231
+ /**
232
+ * Inline class of the component.
233
+ * @group Props
234
+ */
212
235
  styleClass;
236
+ /**
237
+ * Position of the toast in viewport.
238
+ * @group Props
239
+ */
213
240
  position = 'top-right';
241
+ /**
242
+ * It does not add the new message if there is already a toast displayed with the same content
243
+ * @group Props
244
+ */
214
245
  preventOpenDuplicates = false;
246
+ /**
247
+ * Displays only once a message with the same content.
248
+ * @group Props
249
+ */
215
250
  preventDuplicates = false;
251
+ /**
252
+ * Transform options of the show animation.
253
+ * @group Props
254
+ */
216
255
  showTransformOptions = 'translateY(100%)';
256
+ /**
257
+ * Transform options of the hide animation.
258
+ * @group Props
259
+ */
217
260
  hideTransformOptions = 'translateY(-100%)';
261
+ /**
262
+ * Transition options of the show animation.
263
+ * @group Props
264
+ */
218
265
  showTransitionOptions = '300ms ease-out';
266
+ /**
267
+ * Transition options of the hide animation.
268
+ * @group Props
269
+ */
219
270
  hideTransitionOptions = '250ms ease-in';
271
+ /**
272
+ * Object literal to define styles per screen size.
273
+ * @group Props
274
+ */
220
275
  breakpoints;
276
+ /**
277
+ * Callback to invoke when a message is closed.
278
+ * @param {ToastCloseEvent} event - custom close event.
279
+ * @group Emits
280
+ */
221
281
  onClose = new EventEmitter();
222
282
  containerViewChild;
223
283
  templates;
@@ -290,7 +350,7 @@ class Toast {
290
350
  }) != null);
291
351
  }
292
352
  ngAfterContentInit() {
293
- this.templates.forEach((item) => {
353
+ this.templates?.forEach((item) => {
294
354
  switch (item.getType()) {
295
355
  case 'message':
296
356
  this.template = item.template;
@@ -302,7 +362,7 @@ class Toast {
302
362
  });
303
363
  }
304
364
  onMessageClose(event) {
305
- this.messages.splice(event.index, 1);
365
+ this.messages?.splice(event.index, 1);
306
366
  this.onClose.emit({
307
367
  message: event.message
308
368
  });
@@ -310,16 +370,16 @@ class Toast {
310
370
  }
311
371
  onAnimationStart(event) {
312
372
  if (event.fromState === 'void') {
313
- this.renderer.setAttribute(this.containerViewChild.nativeElement, this.id, '');
314
- if (this.autoZIndex && this.containerViewChild.nativeElement.style.zIndex === '') {
315
- ZIndexUtils.set('modal', this.containerViewChild.nativeElement, this.baseZIndex || this.config.zIndex.modal);
373
+ this.renderer.setAttribute(this.containerViewChild?.nativeElement, this.id, '');
374
+ if (this.autoZIndex && this.containerViewChild?.nativeElement.style.zIndex === '') {
375
+ ZIndexUtils.set('modal', this.containerViewChild?.nativeElement, this.baseZIndex || this.config.zIndex.modal);
316
376
  }
317
377
  }
318
378
  }
319
379
  onAnimationEnd(event) {
320
380
  if (event.toState === 'void') {
321
381
  if (this.autoZIndex && ObjectUtils.isEmpty(this.messages)) {
322
- ZIndexUtils.clear(this.containerViewChild.nativeElement);
382
+ ZIndexUtils.clear(this.containerViewChild?.nativeElement);
323
383
  }
324
384
  }
325
385
  }
@@ -363,8 +423,8 @@ class Toast {
363
423
  }
364
424
  this.destroyStyle();
365
425
  }
366
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: Toast, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i3.MessageService }, { token: i0.ChangeDetectorRef }, { token: i3.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
367
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: Toast, selector: "p-toast", inputs: { key: "key", autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", style: "style", styleClass: "styleClass", position: "position", preventOpenDuplicates: "preventOpenDuplicates", preventDuplicates: "preventDuplicates", showTransformOptions: "showTransformOptions", hideTransformOptions: "hideTransformOptions", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", breakpoints: "breakpoints" }, outputs: { onClose: "onClose" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: `
426
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: Toast, deps: [{ token: DOCUMENT }, { token: i0.Renderer2 }, { token: i3.MessageService }, { token: i0.ChangeDetectorRef }, { token: i3.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
427
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: Toast, selector: "p-toast", inputs: { key: "key", autoZIndex: "autoZIndex", baseZIndex: "baseZIndex", style: "style", styleClass: "styleClass", position: "position", preventOpenDuplicates: "preventOpenDuplicates", preventDuplicates: "preventDuplicates", showTransformOptions: "showTransformOptions", hideTransformOptions: "hideTransformOptions", showTransitionOptions: "showTransitionOptions", hideTransitionOptions: "hideTransitionOptions", breakpoints: "breakpoints" }, outputs: { onClose: "onClose" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "templates", predicate: PrimeTemplate }], viewQueries: [{ propertyName: "containerViewChild", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: `
368
428
  <div #container [ngClass]="'p-toast p-component p-toast-' + position" [ngStyle]="style" [class]="styleClass">
369
429
  <p-toastItem
370
430
  *ngFor="let msg of messages; let i = index"
@@ -384,7 +444,7 @@ class Toast {
384
444
  `, isInline: true, styles: [".p-toast{position:fixed;width:25rem}.p-toast-message{overflow:hidden}.p-toast-message-content{display:flex;align-items:flex-start}.p-toast-message-text{flex:1 1 auto}.p-toast-top-right{top:20px;right:20px}.p-toast-top-left{top:20px;left:20px}.p-toast-bottom-left{bottom:20px;left:20px}.p-toast-bottom-right{bottom:20px;right:20px}.p-toast-top-center{top:20px;left:50%;transform:translate(-50%)}.p-toast-bottom-center{bottom:20px;left:50%;transform:translate(-50%)}.p-toast-center{left:50%;top:50%;min-width:20vw;transform:translate(-50%,-50%)}.p-toast-icon-close{display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.p-toast-icon-close.p-link{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ToastItem, selector: "p-toastItem", inputs: ["message", "index", "template", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onClose"] }], animations: [trigger('toastAnimation', [transition(':enter, :leave', [query('@*', animateChild())])])], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
385
445
  }
386
446
  export { Toast };
387
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: Toast, decorators: [{
447
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: Toast, decorators: [{
388
448
  type: Component,
389
449
  args: [{ selector: 'p-toast', template: `
390
450
  <div #container [ngClass]="'p-toast p-component p-toast-' + position" [ngStyle]="style" [class]="styleClass">
@@ -445,12 +505,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
445
505
  args: [PrimeTemplate]
446
506
  }] } });
447
507
  class ToastModule {
448
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ToastModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
449
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: ToastModule, declarations: [Toast, ToastItem], imports: [CommonModule, RippleModule, CheckIcon, InfoCircleIcon, TimesCircleIcon, ExclamationTriangleIcon, TimesIcon], exports: [Toast, SharedModule] });
450
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ToastModule, imports: [CommonModule, RippleModule, CheckIcon, InfoCircleIcon, TimesCircleIcon, ExclamationTriangleIcon, TimesIcon, SharedModule] });
508
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ToastModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
509
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.2", ngImport: i0, type: ToastModule, declarations: [Toast, ToastItem], imports: [CommonModule, RippleModule, CheckIcon, InfoCircleIcon, TimesCircleIcon, ExclamationTriangleIcon, TimesIcon], exports: [Toast, SharedModule] });
510
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ToastModule, imports: [CommonModule, RippleModule, CheckIcon, InfoCircleIcon, TimesCircleIcon, ExclamationTriangleIcon, TimesIcon, SharedModule] });
451
511
  }
452
512
  export { ToastModule };
453
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: ToastModule, decorators: [{
513
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: ToastModule, decorators: [{
454
514
  type: NgModule,
455
515
  args: [{
456
516
  imports: [CommonModule, RippleModule, CheckIcon, InfoCircleIcon, TimesCircleIcon, ExclamationTriangleIcon, TimesIcon],
@@ -458,4 +518,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImpor
458
518
  declarations: [Toast, ToastItem]
459
519
  }]
460
520
  }] });
461
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvdG9hc3QvdG9hc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFFBQVEsRUFDUixTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFNTixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFHZix1QkFBdUIsRUFHdkIsaUJBQWlCLEVBRWpCLE1BQU0sRUFDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBR3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFELE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxZQUFZLEVBQWtCLE1BQU0scUJBQXFCLENBQUM7QUFDdEgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7O0FBRWhELE1BZ0VhLFNBQVM7SUFxQkU7SUFwQlgsT0FBTyxDQUFVO0lBRWpCLEtBQUssQ0FBUztJQUVkLFFBQVEsQ0FBbUI7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O29CQUM5QixZQUFZLEVBQUUsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDO2lCQUNuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgTmdNb2R1bGUsXG4gICAgQ29tcG9uZW50LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBPbkluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIE9uRGVzdHJveSxcbiAgICBFbGVtZW50UmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIFF1ZXJ5TGlzdCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBOZ1pvbmUsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG4gICAgUmVuZGVyZXIyLFxuICAgIEluamVjdFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTWVzc2FnZSwgUHJpbWVOR0NvbmZpZyB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IERvbUhhbmRsZXIgfSBmcm9tICdwcmltZW5nL2RvbSc7XG5pbXBvcnQgeyBQcmltZVRlbXBsYXRlLCBTaGFyZWRNb2R1bGUgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IE9iamVjdFV0aWxzLCBVbmlxdWVDb21wb25lbnRJZCB9IGZyb20gJ3ByaW1lbmcvdXRpbHMnO1xuaW1wb3J0IHsgUmlwcGxlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9yaXBwbGUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0cmlnZ2VyLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIGFuaW1hdGUsIHF1ZXJ5LCBhbmltYXRlQ2hpbGQsIEFuaW1hdGlvbkV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBaSW5kZXhVdGlscyB9IGZyb20gJ3ByaW1lbmcvdXRpbHMnO1xuaW1wb3J0IHsgQ2hlY2tJY29uIH0gZnJvbSAncHJpbWVuZy9pY29ucy9jaGVjayc7XG5pbXBvcnQgeyBJbmZvQ2lyY2xlSWNvbiB9IGZyb20gJ3ByaW1lbmcvaWNvbnMvaW5mb2NpcmNsZSc7XG5pbXBvcnQgeyBUaW1lc0NpcmNsZUljb24gfSBmcm9tICdwcmltZW5nL2ljb25zL3RpbWVzY2lyY2xlJztcbmltcG9ydCB7IEV4Y2xhbWF0aW9uVHJpYW5nbGVJY29uIH0gZnJvbSAncHJpbWVuZy9pY29ucy9leGNsYW1hdGlvbnRyaWFuZ2xlJztcbmltcG9ydCB7IFRpbWVzSWNvbiB9IGZyb20gJ3ByaW1lbmcvaWNvbnMvdGltZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3AtdG9hc3RJdGVtJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAjY29udGFpbmVyXG4gICAgICAgICAgICBbYXR0ci5pZF09XCJtZXNzYWdlLmlkXCJcbiAgICAgICAgICAgIFtjbGFzc109XCJtZXNzYWdlLnN0eWxlQ2xhc3NcIlxuICAgICAgICAgICAgW25nQ2xhc3NdPVwiWydwLXRvYXN0LW1lc3NhZ2UtJyArIG1lc3NhZ2Uuc2V2ZXJpdHksICdwLXRvYXN0LW1lc3NhZ2UnXVwiXG4gICAgICAgICAgICBbQG1lc3NhZ2VTdGF0ZV09XCJ7IHZhbHVlOiAndmlzaWJsZScsIHBhcmFtczogeyBzaG93VHJhbnNmb3JtUGFyYW1zOiBzaG93VHJhbnNmb3JtT3B0aW9ucywgaGlkZVRyYW5zZm9ybVBhcmFtczogaGlkZVRyYW5zZm9ybU9wdGlvbnMsIHNob3dUcmFuc2l0aW9uUGFyYW1zOiBzaG93VHJhbnNpdGlvbk9wdGlvbnMsIGhpZGVUcmFuc2l0aW9uUGFyYW1zOiBoaWRlVHJhbnNpdGlvbk9wdGlvbnMgfSB9XCJcbiAgICAgICAgICAgIChtb3VzZWVudGVyKT1cIm9uTW91c2VFbnRlcigpXCJcbiAgICAgICAgICAgIChtb3VzZWxlYXZlKT1cIm9uTW91c2VMZWF2ZSgpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtdG9hc3QtbWVzc2FnZS1jb250ZW50XCIgcm9sZT1cImFsZXJ0XCIgYXJpYS1saXZlPVwiYXNzZXJ0aXZlXCIgYXJpYS1hdG9taWM9XCJ0cnVlXCIgW25nQ2xhc3NdPVwibWVzc2FnZS5jb250ZW50U3R5bGVDbGFzc1wiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhdGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJtZXNzYWdlLmljb25cIiBbY2xhc3NdPVwiJ3AtdG9hc3QtbWVzc2FnZS1pY29uIHBpICcgKyBtZXNzYWdlLmljb25cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC10b2FzdC1tZXNzYWdlLWljb25cIiAqbmdJZj1cIiFtZXNzYWdlLmljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPENoZWNrSWNvbiAqbmdJZj1cIm1lc3NhZ2Uuc2V2ZXJpdHkgPT09ICdzdWNjZXNzJ1wiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEluZm9DaXJjbGVJY29uICpuZ0lmPVwibWVzc2FnZS5zZXZlcml0eSA9PT0gJ2luZm8nXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGltZXNDaXJjbGVJY29uICpuZ0lmPVwibWVzc2FnZS5zZXZlcml0eSA9PT0gJ2Vycm9yJ1wiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEV4Y2xhbWF0aW9uVHJpYW5nbGVJY29uICpuZ0lmPVwibWVzc2FnZS5zZXZlcml0eSA9PT0gJ3dhcm4nXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLXRvYXN0LW1lc3NhZ2UtdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtdG9hc3Qtc3VtbWFyeVwiPnt7IG1lc3NhZ2Uuc3VtbWFyeSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtdG9hc3QtZGV0YWlsXCI+e3sgbWVzc2FnZS5kZXRhaWwgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogbWVzc2FnZSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJwLXRvYXN0LWljb24tY2xvc2UgcC1saW5rXCIgKGNsaWNrKT1cIm9uQ2xvc2VJY29uQ2xpY2soJGV2ZW50KVwiIChrZXlkb3duLmVudGVyKT1cIm9uQ2xvc2VJY29uQ2xpY2soJGV2ZW50KVwiICpuZ0lmPVwibWVzc2FnZS5jbG9zYWJsZSAhPT0gZmFsc2VcIiBwUmlwcGxlPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm1lc3NhZ2UuY2xvc2VJY29uXCIgW2NsYXNzXT1cIidwLXRvYXN0LW1lc3NhZ2UtaWNvbiBwaSAnICsgbWVzc2FnZS5jbG9zZUljb25cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxUaW1lc0ljb24gKm5nSWY9XCIhbWVzc2FnZS5jbG9zZUljb25cIiBbc3R5bGVDbGFzc109XCIncC10b2FzdC1pY29uLWNsb3NlLWljb24nXCIgLz5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICBgLFxuICAgIGFuaW1hdGlvbnM6IFtcbiAgICAgICAgdHJpZ2dlcignbWVzc2FnZVN0YXRlJywgW1xuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ3Zpc2libGUnLFxuICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgwKScsXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDFcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gKicsIFtzdHlsZSh7IHRyYW5zZm9ybTogJ3t7c2hvd1RyYW5zZm9ybVBhcmFtc319Jywgb3BhY2l0eTogMCB9KSwgYW5pbWF0ZSgne3tzaG93VHJhbnNpdGlvblBhcmFtc319JyldKSxcbiAgICAgICAgICAgIHRyYW5zaXRpb24oJyogPT4gdm9pZCcsIFtcbiAgICAgICAgICAgICAgICBhbmltYXRlKFxuICAgICAgICAgICAgICAgICAgICAne3toaWRlVHJhbnNpdGlvblBhcmFtc319JyxcbiAgICAgICAgICAgICAgICAgICAgc3R5bGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAwLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3t7aGlkZVRyYW5zZm9ybVBhcmFtc319J1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIF0pXG4gICAgICAgIF0pXG4gICAgXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdwLWVsZW1lbnQnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdEl0ZW0gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIG1lc3NhZ2U6IE1lc3NhZ2U7XG5cbiAgICBASW5wdXQoKSBpbmRleDogbnVtYmVyO1xuXG4gICAgQElucHV0KCkgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBASW5wdXQoKSBzaG93VHJhbnNmb3JtT3B0aW9uczogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgaGlkZVRyYW5zZm9ybU9wdGlvbnM6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIHNob3dUcmFuc2l0aW9uT3B0aW9uczogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgaGlkZVRyYW5zaXRpb25PcHRpb25zOiBzdHJpbmc7XG5cbiAgICBAT3V0cHV0KCkgb25DbG9zZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAVmlld0NoaWxkKCdjb250YWluZXInKSBjb250YWluZXJWaWV3Q2hpbGQ6IEVsZW1lbnRSZWY7XG5cbiAgICB0aW1lb3V0OiBhbnk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHpvbmU6IE5nWm9uZSkge31cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5pbml0VGltZW91dCgpO1xuICAgIH1cblxuICAgIGluaXRUaW1lb3V0KCkge1xuICAgICAgICBpZiAoIXRoaXMubWVzc2FnZS5zdGlja3kpIHtcbiAgICAgICAgICAgIHRoaXMuem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy50aW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25DbG9zZS5lbWl0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4OiB0aGlzLmluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogdGhpcy5tZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0sIHRoaXMubWVzc2FnZS5saWZlIHx8IDMwMDApO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjbGVhclRpbWVvdXQoKSB7XG4gICAgICAgIGlmICh0aGlzLnRpbWVvdXQpIHtcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXQpO1xuICAgICAgICAgICAgdGhpcy50aW1lb3V0ID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uTW91c2VFbnRlcigpIHtcbiAgICAgICAgdGhpcy5jbGVhclRpbWVvdXQoKTtcbiAgICB9XG5cbiAgICBvbk1vdXNlTGVhdmUoKSB7XG4gICAgICAgIHRoaXMuaW5pdFRpbWVvdXQoKTtcbiAgICB9XG5cbiAgICBvbkNsb3NlSWNvbkNsaWNrKGV2ZW50KSB7XG4gICAgICAgIHRoaXMuY2xlYXJUaW1lb3V0KCk7XG5cbiAgICAgICAgdGhpcy5vbkNsb3NlLmVtaXQoe1xuICAgICAgICAgICAgaW5kZXg6IHRoaXMuaW5kZXgsXG4gICAgICAgICAgICBtZXNzYWdlOiB0aGlzLm1lc3NhZ2VcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5jbGVhclRpbWVvdXQoKTtcbiAgICB9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncC10b2FzdCcsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdiAjY29udGFpbmVyIFtuZ0NsYXNzXT1cIidwLXRvYXN0IHAtY29tcG9uZW50IHAtdG9hc3QtJyArIHBvc2l0aW9uXCIgW25nU3R5bGVdPVwic3R5bGVcIiBbY2xhc3NdPVwic3R5bGVDbGFzc1wiPlxuICAgICAgICAgICAgPHAtdG9hc3RJdGVtXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG1zZyBvZiBtZXNzYWdlczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgICAgICAgICAgW21lc3NhZ2VdPVwibXNnXCJcbiAgICAgICAgICAgICAgICBbaW5kZXhdPVwiaVwiXG4gICAgICAgICAgICAgICAgKG9uQ2xvc2UpPVwib25NZXNzYWdlQ2xvc2UoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgW3RlbXBsYXRlXT1cInRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICBAdG9hc3RBbmltYXRpb25cbiAgICAgICAgICAgICAgICAoQHRvYXN0QW5pbWF0aW9uLnN0YXJ0KT1cIm9uQW5pbWF0aW9uU3RhcnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKEB0b2FzdEFuaW1hdGlvbi5kb25lKT1cIm9uQW5pbWF0aW9uRW5kKCRldmVudClcIlxuICAgICAgICAgICAgICAgIFtzaG93VHJhbnNmb3JtT3B0aW9uc109XCJzaG93VHJhbnNmb3JtT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgW2hpZGVUcmFuc2Zvcm1PcHRpb25zXT1cImhpZGVUcmFuc2Zvcm1PcHRpb25zXCJcbiAgICAgICAgICAgICAgICBbc2hvd1RyYW5zaXRpb25PcHRpb25zXT1cInNob3dUcmFuc2l0aW9uT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgW2hpZGVUcmFuc2l0aW9uT3B0aW9uc109XCJoaWRlVHJhbnNpdGlvbk9wdGlvbnNcIlxuICAgICAgICAgICAgPjwvcC10b2FzdEl0ZW0+XG4gICAgICAgIDwvZGl2PlxuICAgIGAsXG4gICAgYW5pbWF0aW9uczogW3RyaWdnZXIoJ3RvYXN0QW5pbWF0aW9uJywgW3RyYW5zaXRpb24oJzplbnRlciwgOmxlYXZlJywgW3F1ZXJ5KCdAKicsIGFuaW1hdGVDaGlsZCgpKV0pXSldLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgc3R5bGVVcmxzOiBbJy4vdG9hc3QuY3NzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3AtZWxlbWVudCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0IGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpIGtleTogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgYXV0b1pJbmRleDogYm9vbGVhbiA9IHRydWU7XG5cbiAgICBASW5wdXQoKSBiYXNlWkluZGV4OiBudW1iZXIgPSAwO1xuXG4gICAgQElucHV0KCkgc3R5bGU6IGFueTtcblxuICAgIEBJbnB1dCgpIHN0eWxlQ2xhc3M6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIHBvc2l0aW9uOiBzdHJpbmcgPSAndG9wLXJpZ2h0JztcblxuICAgIEBJbnB1dCgpIHByZXZlbnRPcGVuRHVwbGljYXRlczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgcHJldmVudER1cGxpY2F0ZXM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIHNob3dUcmFuc2Zvcm1PcHRpb25zOiBzdHJpbmcgPSAndHJhbnNsYXRlWSgxMDAlKSc7XG5cbiAgICBASW5wdXQoKSBoaWRlVHJhbnNmb3JtT3B0aW9uczogc3RyaW5nID0gJ3RyYW5zbGF0ZVkoLTEwMCUpJztcblxuICAgIEBJbnB1dCgpIHNob3dUcmFuc2l0aW9uT3B0aW9uczogc3RyaW5nID0gJzMwMG1zIGVhc2Utb3V0JztcblxuICAgIEBJbnB1dCgpIGhpZGVUcmFuc2l0aW9uT3B0aW9uczogc3RyaW5nID0gJzI1MG1zIGVhc2UtaW4nO1xuXG4gICAgQElucHV0KCkgYnJlYWtwb2ludHM6IGFueTtcblxuICAgIEBPdXRwdXQoKSBvbkNsb3NlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicpIGNvbnRhaW5lclZpZXdDaGlsZDogRWxlbWVudFJlZjtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oUHJpbWVUZW1wbGF0ZSkgdGVtcGxhdGVzOiBRdWVyeUxpc3Q8YW55PjtcblxuICAgIG1lc3NhZ2VTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIGNsZWFyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBtZXNzYWdlczogTWVzc2FnZVtdO1xuXG4gICAgbWVzc2FnZXNBcmNoaWV2ZTogTWVzc2FnZVtdO1xuXG4gICAgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCwgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLCBwdWJsaWMgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLCBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHVibGljIGNvbmZpZzogUHJpbWVOR0NvbmZpZykge31cblxuICAgIHN0eWxlRWxlbWVudDogYW55O1xuXG4gICAgaWQ6IHN0cmluZyA9IFVuaXF1ZUNvbXBvbmVudElkKCk7XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlU3Vic2NyaXB0aW9uID0gdGhpcy5tZXNzYWdlU2VydmljZS5tZXNzYWdlT2JzZXJ2ZXIuc3Vic2NyaWJlKChtZXNzYWdlcykgPT4ge1xuICAgICAgICAgICAgaWYgKG1lc3NhZ2VzKSB7XG4gICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobWVzc2FnZXMpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkTWVzc2FnZXMgPSBtZXNzYWdlcy5maWx0ZXIoKG0pID0+IHRoaXMuY2FuQWRkKG0pKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGQoZmlsdGVyZWRNZXNzYWdlcyk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNhbkFkZChtZXNzYWdlcykpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGQoW21lc3NhZ2VzXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmNsZWFyU3Vic2NyaXB0aW9uID0gdGhpcy5tZXNzYWdlU2VydmljZS5jbGVhck9ic2VydmVyLnN1YnNjcmliZSgoa2V5KSA9PiB7XG4gICAgICAgICAgICBpZiAoa2V5KSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMua2V5ID09PSBrZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlcyA9IG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VzID0gbnVsbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBpZiAodGhpcy5icmVha3BvaW50cykge1xuICAgICAgICAgICAgdGhpcy5jcmVhdGVTdHlsZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYWRkKG1lc3NhZ2VzOiBNZXNzYWdlW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlcyA9IHRoaXMubWVzc2FnZXMgPyBbLi4udGhpcy5tZXNzYWdlcywgLi4ubWVzc2FnZXNdIDogWy4uLm1lc3NhZ2VzXTtcblxuICAgICAgICBpZiAodGhpcy5wcmV2ZW50RHVwbGljYXRlcykge1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlc0FyY2hpZXZlID0gdGhpcy5tZXNzYWdlc0FyY2hpZXZlID8gWy4uLnRoaXMubWVzc2FnZXNBcmNoaWV2ZSwgLi4ubWVzc2FnZXNdIDogWy4uLm1lc3NhZ2VzXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgY2FuQWRkKG1lc3NhZ2U6IE1lc3NhZ2UpOiBib29sZWFuIHtcbiAgICAgICAgbGV0IGFsbG93ID0gdGhpcy5rZXkgPT09IG1lc3NhZ2Uua2V5O1xuXG4gICAgICAgIGlmIChhbGxvdyAmJiB0aGlzLnByZXZlbnRPcGVuRHVwbGljYXRlcykge1xuICAgICAgICAgICAgYWxsb3cgPSAhdGhpcy5jb250YWluc01lc3NhZ2UodGhpcy5tZXNzYWdlcywgbWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYWxsb3cgJiYgdGhpcy5wcmV2ZW50RHVwbGljYXRlcykge1xuICAgICAgICAgICAgYWxsb3cgPSAhdGhpcy5jb250YWluc01lc3NhZ2UodGhpcy5tZXNzYWdlc0FyY2hpZXZlLCBtZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhbGxvdztcbiAgICB9XG5cbiAgICBjb250YWluc01lc3NhZ2UoY29sbGVjdGlvbjogTWVzc2FnZVtdLCBtZXNzYWdlOiBNZXNzYWdlKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghY29sbGVjdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIGNvbGxlY3Rpb24uZmluZCgobSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBtLnN1bW1hcnkgPT09IG1lc3NhZ2Uuc3VtbWFyeSAmJiBtLmRldGFpbCA9PSBtZXNzYWdlLmRldGFpbCAmJiBtLnNldmVyaXR5ID09PSBtZXNzYWdlLnNldmVyaXR5O1xuICAgICAgICAgICAgfSkgIT0gbnVsbFxuICAgICAgICApO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgc3dpdGNoIChpdGVtLmdldFR5cGUoKSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ21lc3NhZ2UnOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uTWVzc2FnZUNsb3NlKGV2ZW50KSB7XG4gICAgICAgIHRoaXMubWVzc2FnZXMuc3BsaWNlKGV2ZW50LmluZGV4LCAxKTtcblxuICAgICAgICB0aGlzLm9uQ2xvc2UuZW1pdCh7XG4gICAgICAgICAgICBtZXNzYWdlOiBldmVudC5tZXNzYWdlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIG9uQW5pbWF0aW9uU3RhcnQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudC5mcm9tU3RhdGUgPT09ICd2b2lkJykge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5jb250YWluZXJWaWV3Q2hpbGQubmF0aXZlRWxlbWVudCwgdGhpcy5pZCwgJycpO1xuICAgICAgICAgICAgaWYgKHRoaXMuYXV0b1pJbmRleCAmJiB0aGlzLmNvbnRhaW5lclZpZXdDaGlsZC5uYXRpdmVFbGVtZW50LnN0eWxlLnpJbmRleCA9PT0gJycpIHtcbiAgICAgICAgICAgICAgICBaSW5kZXhVdGlscy5zZXQoJ21vZGFsJywgdGhpcy5jb250YWluZXJWaWV3Q2hpbGQubmF0aXZlRWxlbWVudCwgdGhpcy5iYXNlWkluZGV4IHx8IHRoaXMuY29uZmlnLnpJbmRleC5tb2RhbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09ICd2b2lkJykge1xuICAgICAgICAgICAgaWYgKHRoaXMuYXV0b1pJbmRleCAmJiBPYmplY3RVdGlscy5pc0VtcHR5KHRoaXMubWVzc2FnZXMpKSB7XG4gICAgICAgICAgICAgICAgWkluZGV4VXRpbHMuY2xlYXIodGhpcy5jb250YWluZXJWaWV3Q2hpbGQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjcmVhdGVTdHlsZSgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnN0eWxlRWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5zdHlsZUVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gICAgICAgICAgICB0aGlzLnN0eWxlRWxlbWVudC50eXBlID0gJ3RleHQvY3NzJztcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5kb2N1bWVudC5oZWFkLCB0aGlzLnN0eWxlRWxlbWVudCk7XG4gICAgICAgICAgICBsZXQgaW5uZXJIVE1MID0gJyc7XG4gICAgICAgICAgICBmb3IgKGxldCBicmVha3BvaW50IGluIHRoaXMuYnJlYWtwb2ludHMpIHtcbiAgICAgICAgICAgICAgICBsZXQgYnJlYWtwb2ludFN0eWxlID0gJyc7XG4gICAgICAgICAgICAgICAgZm9yIChsZXQgc3R5bGVQcm9wIGluIHRoaXMuYnJlYWtwb2ludHNbYnJlYWtwb2ludF0pIHtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWtwb2ludFN0eWxlICs9IHN0eWxlUHJvcCArICc6JyArIHRoaXMuYnJlYWtwb2ludHNbYnJlYWtwb2ludF1bc3R5bGVQcm9wXSArICcgIWltcG9ydGFudDsnO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbm5lckhUTUwgKz0gYFxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAke2JyZWFrcG9pbnR9KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAucC10b2FzdFske3RoaXMuaWR9XSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAke2JyZWFrcG9pbnRTdHlsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkodGhpcy5zdHlsZUVsZW1lbnQsICdpbm5lckhUTUwnLCBpbm5lckhUTUwpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGVzdHJveVN0eWxlKCkge1xuICAgICAgICBpZiAodGhpcy5zdHlsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5kb2N1bWVudC5oZWFkLCB0aGlzLnN0eWxlRWxlbWVudCk7XG4gICAgICAgICAgICB0aGlzLnN0eWxlRWxlbWVudCA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMubWVzc2FnZVN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jb250YWluZXJWaWV3Q2hpbGQgJiYgdGhpcy5hdXRvWkluZGV4KSB7XG4gICAgICAgICAgICBaSW5kZXhVdGlscy5jbGVhcih0aGlzLmNvbnRhaW5lclZpZXdDaGlsZC5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNsZWFyU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRlc3Ryb3lTdHlsZSgpO1xuICAgIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSaXBwbGVNb2R1bGUsIENoZWNrSWNvbiwgSW5mb0NpcmNsZUljb24sIFRpbWVzQ2lyY2xlSWNvbiwgRXhjbGFtYXRpb25UcmlhbmdsZUljb24sIFRpbWVzSWNvbl0sXG4gICAgZXhwb3J0czogW1RvYXN0LCBTaGFyZWRNb2R1bGVdLFxuICAgIGRlY2xhcmF0aW9uczogW1RvYXN0LCBUb2FzdEl0ZW1dXG59KVxuZXhwb3J0IGNsYXNzIFRvYXN0TW9kdWxlIHt9XG4iXX0=
521
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvdG9hc3QvdG9hc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFrQixPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0SCxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFHSCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBSVIsTUFBTSxFQUlOLFNBQVMsRUFDVCxpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUEwQyxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7O0FBSTVFLE1BZ0VhLFNBQVM7SUFxQkU7SUFwQlgsT0FBTyxDQUE2QjtJQUVwQyxLQUFLLENBQTRCO0lBRWpDLFFBQVEsQ0FBK0I7SUFFdkMsb0JBQW9CLENBQXFCO0lBRXpDLG9C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QUdwQixXQUFXOzJGQUFYLFdBQVc7a0JBTHZCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSx1QkFBdUIsRUFBRSxTQUFTLENBQUM7b0JBQ3JILE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUM7b0JBQzlCLFlBQVksRUFBRSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUM7aUJBQ25DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5pbWF0aW9uRXZlbnQsIGFuaW1hdGUsIGFuaW1hdGVDaGlsZCwgcXVlcnksIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBOZ01vZHVsZSxcbiAgICBOZ1pvbmUsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFJlbmRlcmVyMixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG4gICAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZXNzYWdlLCBNZXNzYWdlU2VydmljZSwgUHJpbWVOR0NvbmZpZywgUHJpbWVUZW1wbGF0ZSwgU2hhcmVkTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgQ2hlY2tJY29uIH0gZnJvbSAncHJpbWVuZy9pY29ucy9jaGVjayc7XG5pbXBvcnQgeyBFeGNsYW1hdGlvblRyaWFuZ2xlSWNvbiB9IGZyb20gJ3ByaW1lbmcvaWNvbnMvZXhjbGFtYXRpb250cmlhbmdsZSc7XG5pbXBvcnQgeyBJbmZvQ2lyY2xlSWNvbiB9IGZyb20gJ3ByaW1lbmcvaWNvbnMvaW5mb2NpcmNsZSc7XG5pbXBvcnQgeyBUaW1lc0ljb24gfSBmcm9tICdwcmltZW5nL2ljb25zL3RpbWVzJztcbmltcG9ydCB7IFRpbWVzQ2lyY2xlSWNvbiB9IGZyb20gJ3ByaW1lbmcvaWNvbnMvdGltZXNjaXJjbGUnO1xuaW1wb3J0IHsgUmlwcGxlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9yaXBwbGUnO1xuaW1wb3J0IHsgT2JqZWN0VXRpbHMsIFVuaXF1ZUNvbXBvbmVudElkLCBaSW5kZXhVdGlscyB9IGZyb20gJ3ByaW1lbmcvdXRpbHMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUb2FzdENsb3NlRXZlbnQsIFRvYXN0SXRlbUNsb3NlRXZlbnQgfSBmcm9tICcuL3RvYXN0LmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncC10b2FzdEl0ZW0nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICNjb250YWluZXJcbiAgICAgICAgICAgIFthdHRyLmlkXT1cIm1lc3NhZ2U/LmlkXCJcbiAgICAgICAgICAgIFtjbGFzc109XCJtZXNzYWdlPy5zdHlsZUNsYXNzXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cIlsncC10b2FzdC1tZXNzYWdlLScgKyBtZXNzYWdlPy5zZXZlcml0eSwgJ3AtdG9hc3QtbWVzc2FnZSddXCJcbiAgICAgICAgICAgIFtAbWVzc2FnZVN0YXRlXT1cInsgdmFsdWU6ICd2aXNpYmxlJywgcGFyYW1zOiB7IHNob3dUcmFuc2Zvcm1QYXJhbXM6IHNob3dUcmFuc2Zvcm1PcHRpb25zLCBoaWRlVHJhbnNmb3JtUGFyYW1zOiBoaWRlVHJhbnNmb3JtT3B0aW9ucywgc2hvd1RyYW5zaXRpb25QYXJhbXM6IHNob3dUcmFuc2l0aW9uT3B0aW9ucywgaGlkZVRyYW5zaXRpb25QYXJhbXM6IGhpZGVUcmFuc2l0aW9uT3B0aW9ucyB9IH1cIlxuICAgICAgICAgICAgKG1vdXNlZW50ZXIpPVwib25Nb3VzZUVudGVyKClcIlxuICAgICAgICAgICAgKG1vdXNlbGVhdmUpPVwib25Nb3VzZUxlYXZlKClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC10b2FzdC1tZXNzYWdlLWNvbnRlbnRcIiByb2xlPVwiYWxlcnRcIiBhcmlhLWxpdmU9XCJhc3NlcnRpdmVcIiBhcmlhLWF0b21pYz1cInRydWVcIiBbbmdDbGFzc109XCJtZXNzYWdlPy5jb250ZW50U3R5bGVDbGFzc1wiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhdGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJtZXNzYWdlLmljb25cIiBbY2xhc3NdPVwiJ3AtdG9hc3QtbWVzc2FnZS1pY29uIHBpICcgKyBtZXNzYWdlLmljb25cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC10b2FzdC1tZXNzYWdlLWljb25cIiAqbmdJZj1cIiFtZXNzYWdlLmljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPENoZWNrSWNvbiAqbmdJZj1cIm1lc3NhZ2Uuc2V2ZXJpdHkgPT09ICdzdWNjZXNzJ1wiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEluZm9DaXJjbGVJY29uICpuZ0lmPVwibWVzc2FnZS5zZXZlcml0eSA9PT0gJ2luZm8nXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGltZXNDaXJjbGVJY29uICpuZ0lmPVwibWVzc2FnZS5zZXZlcml0eSA9PT0gJ2Vycm9yJ1wiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEV4Y2xhbWF0aW9uVHJpYW5nbGVJY29uICpuZ0lmPVwibWVzc2FnZS5zZXZlcml0eSA9PT0gJ3dhcm4nXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLXRvYXN0LW1lc3NhZ2UtdGV4dFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtdG9hc3Qtc3VtbWFyeVwiPnt7IG1lc3NhZ2Uuc3VtbWFyeSB9fTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtdG9hc3QtZGV0YWlsXCI+e3sgbWVzc2FnZS5kZXRhaWwgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogbWVzc2FnZSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJwLXRvYXN0LWljb24tY2xvc2UgcC1saW5rXCIgKGNsaWNrKT1cIm9uQ2xvc2VJY29uQ2xpY2soJGV2ZW50KVwiIChrZXlkb3duLmVudGVyKT1cIm9uQ2xvc2VJY29uQ2xpY2soJGV2ZW50KVwiICpuZ0lmPVwibWVzc2FnZT8uY2xvc2FibGUgIT09IGZhbHNlXCIgcFJpcHBsZT5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJtZXNzYWdlLmNsb3NlSWNvblwiIFtjbGFzc109XCIncC10b2FzdC1tZXNzYWdlLWljb24gcGkgJyArIG1lc3NhZ2UuY2xvc2VJY29uXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8VGltZXNJY29uICpuZ0lmPVwiIW1lc3NhZ2UuY2xvc2VJY29uXCIgW3N0eWxlQ2xhc3NdPVwiJ3AtdG9hc3QtaWNvbi1jbG9zZS1pY29uJ1wiIC8+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgYCxcbiAgICBhbmltYXRpb25zOiBbXG4gICAgICAgIHRyaWdnZXIoJ21lc3NhZ2VTdGF0ZScsIFtcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICd2aXNpYmxlJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknLFxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IConLCBbc3R5bGUoeyB0cmFuc2Zvcm06ICd7e3Nob3dUcmFuc2Zvcm1QYXJhbXN9fScsIG9wYWNpdHk6IDAgfSksIGFuaW1hdGUoJ3t7c2hvd1RyYW5zaXRpb25QYXJhbXN9fScpXSksXG4gICAgICAgICAgICB0cmFuc2l0aW9uKCcqID0+IHZvaWQnLCBbXG4gICAgICAgICAgICAgICAgYW5pbWF0ZShcbiAgICAgICAgICAgICAgICAgICAgJ3t7aGlkZVRyYW5zaXRpb25QYXJhbXN9fScsXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAsXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICd7e2hpZGVUcmFuc2Zvcm1QYXJhbXN9fSdcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICBdKVxuICAgICAgICBdKVxuICAgIF0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAncC1lbGVtZW50J1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVG9hc3RJdGVtIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBASW5wdXQoKSBtZXNzYWdlOiBNZXNzYWdlIHwgbnVsbCB8IHVuZGVmaW5lZDtcblxuICAgIEBJbnB1dCgpIGluZGV4OiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4gICAgQElucHV0KCkgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICBASW5wdXQoKSBzaG93VHJhbnNmb3JtT3B0aW9uczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgQElucHV0KCkgaGlkZVRyYW5zZm9ybU9wdGlvbnM6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAgIEBJbnB1dCgpIHNob3dUcmFuc2l0aW9uT3B0aW9uczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgQElucHV0KCkgaGlkZVRyYW5zaXRpb25PcHRpb25zOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICBAT3V0cHV0KCkgb25DbG9zZTogRXZlbnRFbWl0dGVyPFRvYXN0SXRlbUNsb3NlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQFZpZXdDaGlsZCgnY29udGFpbmVyJykgY29udGFpbmVyVmlld0NoaWxkOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gICAgdGltZW91dDogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB6b25lOiBOZ1pvbmUpIHt9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMuaW5pdFRpbWVvdXQoKTtcbiAgICB9XG5cbiAgICBpbml0VGltZW91dCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLm1lc3NhZ2U/LnN0aWNreSkge1xuICAgICAgICAgICAgdGhpcy56b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkNsb3NlLmVtaXQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg6IDxudW1iZXI+dGhpcy5pbmRleCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IDxNZXNzYWdlPnRoaXMubWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9LCB0aGlzLm1lc3NhZ2U/LmxpZmUgfHwgMzAwMCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNsZWFyVGltZW91dCgpIHtcbiAgICAgICAgaWYgKHRoaXMudGltZW91dCkge1xuICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dCk7XG4gICAgICAgICAgICB0aGlzLnRpbWVvdXQgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Nb3VzZUVudGVyKCkge1xuICAgICAgICB0aGlzLmNsZWFyVGltZW91dCgpO1xuICAgIH1cblxuICAgIG9uTW91c2VMZWF2ZSgpIHtcbiAgICAgICAgdGhpcy5pbml0VGltZW91dCgpO1xuICAgIH1cblxuICAgIG9uQ2xvc2VJY29uQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIHRoaXMuY2xlYXJUaW1lb3V0KCk7XG5cbiAgICAgICAgdGhpcy5vbkNsb3NlLmVtaXQoe1xuICAgICAgICAgICAgaW5kZXg6IDxudW1iZXI+dGhpcy5pbmRleCxcbiAgICAgICAgICAgIG1lc3NhZ2U6IDxNZXNzYWdlPnRoaXMubWVzc2FnZVxuICAgICAgICB9KTtcblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLmNsZWFyVGltZW91dCgpO1xuICAgIH1cbn1cbi8qKlxuICogVG9hc3QgaXMgdXNlZCB0byBkaXNwbGF5IG1lc3NhZ2VzIGluIGFuIG92ZXJsYXkuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3AtdG9hc3QnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxkaXYgI2NvbnRhaW5lciBbbmdDbGFzc109XCIncC10b2FzdCBwLWNvbXBvbmVudCBwLXRvYXN0LScgKyBwb3NpdGlvblwiIFtuZ1N0eWxlXT1cInN0eWxlXCIgW2NsYXNzXT1cInN0eWxlQ2xhc3NcIj5cbiAgICAgICAgICAgIDxwLXRvYXN0SXRlbVxuICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBtc2cgb2YgbWVzc2FnZXM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgICAgICAgIFttZXNzYWdlXT1cIm1zZ1wiXG4gICAgICAgICAgICAgICAgW2luZGV4XT1cImlcIlxuICAgICAgICAgICAgICAgIChvbkNsb3NlKT1cIm9uTWVzc2FnZUNsb3NlKCRldmVudClcIlxuICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZV09XCJ0ZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgQHRvYXN0QW5pbWF0aW9uXG4gICAgICAgICAgICAgICAgKEB0b2FzdEFuaW1hdGlvbi5zdGFydCk9XCJvbkFuaW1hdGlvblN0YXJ0KCRldmVudClcIlxuICAgICAgICAgICAgICAgIChAdG9hc3RBbmltYXRpb24uZG9uZSk9XCJvbkFuaW1hdGlvbkVuZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBbc2hvd1RyYW5zZm9ybU9wdGlvbnNdPVwic2hvd1RyYW5zZm9ybU9wdGlvbnNcIlxuICAgICAgICAgICAgICAgIFtoaWRlVHJhbnNmb3JtT3B0aW9uc109XCJoaWRlVHJhbnNmb3JtT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgW3Nob3dUcmFuc2l0aW9uT3B0aW9uc109XCJzaG93VHJhbnNpdGlvbk9wdGlvbnNcIlxuICAgICAgICAgICAgICAgIFtoaWRlVHJhbnNpdGlvbk9wdGlvbnNdPVwiaGlkZVRyYW5zaXRpb25PcHRpb25zXCJcbiAgICAgICAgICAgID48L3AtdG9hc3RJdGVtPlxuICAgICAgICA8L2Rpdj5cbiAgICBgLFxuICAgIGFuaW1hdGlvbnM6IFt0cmlnZ2VyKCd0b2FzdEFuaW1hdGlvbicsIFt0cmFuc2l0aW9uKCc6ZW50ZXIsIDpsZWF2ZScsIFtxdWVyeSgnQConLCBhbmltYXRlQ2hpbGQoKSldKV0pXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0eWxlVXJsczogWycuL3RvYXN0LmNzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdwLWVsZW1lbnQnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgICAvKipcbiAgICAgKiBLZXkgb2YgdGhlIG1lc3NhZ2UgaW4gY2FzZSBtZXNzYWdlIGlzIHRhcmdldGVkIHRvIGEgc3BlY2lmaWMgdG9hc3QgY29tcG9uZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGtleTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gYXV0b21hdGljYWxseSBtYW5hZ2UgbGF5ZXJpbmcuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgYXV0b1pJbmRleDogYm9vbGVhbiA9IHRydWU7XG4gICAgLyoqXG4gICAgICogQmFzZSB6SW5kZXggdmFsdWUgdG8gdXNlIGluIGxheWVyaW5nLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGJhc2VaSW5kZXg6IG51bWJlciA9IDA7XG4gICAgLyoqXG4gICAgICogSW5saW5lIHN0eWxlIG9mIHRoZSBjb21wb25lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc3R5bGU6IHsgW2tsYXNzOiBzdHJpbmddOiBhbnkgfSB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogSW5saW5lIGNsYXNzIG9mIHRoZSBjb21wb25lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc3R5bGVDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uIG9mIHRoZSB0b2FzdCBpbiB2aWV3cG9ydC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwb3NpdGlvbjogJ3RvcC1sZWZ0JyB8ICd0b3AtY2VudGVyJyB8ICd0b3AtcmlnaHQnIHwgJ2JvdHRvbS1sZWZ0JyB8ICdib3R0b20tY2VudGVyJyB8ICdib3R0b20tcmlnaHQnIHwgJ2NlbnRlcicgPSAndG9wLXJpZ2h0JztcbiAgICAvKipcbiAgICAgKiBJdCBkb2VzIG5vdCBhZGQgdGhlIG5ldyBtZXNzYWdlIGlmIHRoZXJlIGlzIGFscmVhZHkgYSB0b2FzdCBkaXNwbGF5ZWQgd2l0aCB0aGUgc2FtZSBjb250ZW50XG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgcHJldmVudE9wZW5EdXBsaWNhdGVzOiBib29sZWFuID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogRGlzcGxheXMgb25seSBvbmNlIGEgbWVzc2FnZSB3aXRoIHRoZSBzYW1lIGNvbnRlbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgcHJldmVudER1cGxpY2F0ZXM6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICAvKipcbiAgICAgKiBUcmFuc2Zvcm0gb3B0aW9ucyBvZiB0aGUgc2hvdyBhbmltYXRpb24uXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc2hvd1RyYW5zZm9ybU9wdGlvbnM6IHN0cmluZyA9ICd0cmFuc2xhdGVZKDEwMCUpJztcbiAgICAvKipcbiAgICAgKiBUcmFuc2Zvcm0gb3B0aW9ucyBvZiB0aGUgaGlkZSBhbmltYXRpb24uXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgaGlkZVRyYW5zZm9ybU9wdGlvbnM6IHN0cmluZyA9ICd0cmFuc2xhdGVZKC0xMDAlKSc7XG4gICAgLyoqXG4gICAgICogVHJhbnNpdGlvbiBvcHRpb25zIG9mIHRoZSBzaG93IGFuaW1hdGlvbi5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzaG93VHJhbnNpdGlvbk9wdGlvbnM6IHN0cmluZyA9ICczMDBtcyBlYXNlLW91dCc7XG4gICAgLyoqXG4gICAgICogVHJhbnNpdGlvbiBvcHRpb25zIG9mIHRoZSBoaWRlIGFuaW1hdGlvbi5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBoaWRlVHJhbnNpdGlvbk9wdGlvbnM6IHN0cmluZyA9ICcyNTBtcyBlYXNlLWluJztcbiAgICAvKipcbiAgICAgKiBPYmplY3QgbGl0ZXJhbCB0byBkZWZpbmUgc3R5bGVzIHBlciBzY3JlZW4gc2l6ZS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBicmVha3BvaW50czogeyBba2V5OiBzdHJpbmddOiBhbnkgfSB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugd2hlbiBhIG1lc3NhZ2UgaXMgY2xvc2VkLlxuICAgICAqIEBwYXJhbSB7VG9hc3RDbG9zZUV2ZW50fSBldmVudCAtIGN1c3RvbSBjbG9zZSBldmVudC5cbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgb25DbG9zZTogRXZlbnRFbWl0dGVyPFRvYXN0Q2xvc2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFRvYXN0Q2xvc2VFdmVudD4oKTtcblxuICAgIEBWaWV3Q2hpbGQoJ2NvbnRhaW5lcicpIGNvbnRhaW5lclZpZXdDaGlsZDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oUHJpbWVUZW1wbGF0ZSkgdGVtcGxhdGVzOiBRdWVyeUxpc3Q8UHJpbWVUZW1wbGF0ZT4gfCB1bmRlZmluZWQ7XG5cbiAgICBtZXNzYWdlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfCB1bmRlZmluZWQ7XG5cbiAgICBjbGVhclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gICAgbWVzc2FnZXM6IE1lc3NhZ2VbXSB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbiAgICBtZXNzYWdlc0FyY2hpZXZlOiBNZXNzYWdlW10gfCB1bmRlZmluZWQ7XG5cbiAgICB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIHB1YmxpYyBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLCBwdWJsaWMgY29uZmlnOiBQcmltZU5HQ29uZmlnKSB7fVxuXG4gICAgc3R5bGVFbGVtZW50OiBhbnk7XG5cbiAgICBpZDogc3RyaW5nID0gVW5pcXVlQ29tcG9uZW50SWQoKTtcblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTdWJzY3JpcHRpb24gPSB0aGlzLm1lc3NhZ2VTZXJ2aWNlLm1lc3NhZ2VPYnNlcnZlci5zdWJzY3JpYmUoKG1lc3NhZ2VzKSA9PiB7XG4gICAgICAgICAgICBpZiAobWVzc2FnZXMpIHtcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShtZXNzYWdlcykpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyZWRNZXNzYWdlcyA9IG1lc3NhZ2VzLmZpbHRlcigobSkgPT4gdGhpcy5jYW5BZGQobSkpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZChmaWx0ZXJlZE1lc3NhZ2VzKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuY2FuQWRkKG1lc3NhZ2VzKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZChbbWVzc2FnZXNdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY2xlYXJTdWJzY3JpcHRpb24gPSB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmNsZWFyT2JzZXJ2ZXIuc3Vic2NyaWJlKChrZXkpID0+IHtcbiAgICAgICAgICAgIGlmIChrZXkpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5rZXkgPT09IGtleSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VzID0gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZXMgPSBudWxsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIGlmICh0aGlzLmJyZWFrcG9pbnRzKSB7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZVN0eWxlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhZGQobWVzc2FnZXM6IE1lc3NhZ2VbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLm1lc3NhZ2VzID0gdGhpcy5tZXNzYWdlcyA/IFsuLi50aGlzLm1lc3NhZ2VzLCAuLi5tZXNzYWdlc10gOiBbLi4ubWVzc2FnZXNdO1xuXG4gICAgICAgIGlmICh0aGlzLnByZXZlbnREdXBsaWNhdGVzKSB7XG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VzQXJjaGlldmUgPSB0aGlzLm1lc3NhZ2VzQXJjaGlldmUgPyBbLi4udGhpcy5tZXNzYWdlc0FyY2hpZXZlLCAuLi5tZXNzYWdlc10gOiBbLi4ubWVzc2FnZXNdO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBjYW5BZGQobWVzc2FnZTogTWVzc2FnZSk6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgYWxsb3cgPSB0aGlzLmtleSA9PT0gbWVzc2FnZS5rZXk7XG5cbiAgICAgICAgaWYgKGFsbG93ICYmIHRoaXMucHJldmVudE9wZW5EdXBsaWNhdGVzKSB7XG4gICAgICAgICAgICBhbGxvdyA9ICF0aGlzLmNvbnRhaW5zTWVzc2FnZSh0aGlzLm1lc3NhZ2VzISwgbWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYWxsb3cgJiYgdGhpcy5wcmV2ZW50RHVwbGljYXRlcykge1xuICAgICAgICAgICAgYWxsb3cgPSAhdGhpcy5jb250YWluc01lc3NhZ2UodGhpcy5tZXNzYWdlc0FyY2hpZXZlISwgbWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYWxsb3c7XG4gICAgfVxuXG4gICAgY29udGFpbnNNZXNzYWdlKGNvbGxlY3Rpb246IE1lc3NhZ2VbXSwgbWVzc2FnZTogTWVzc2FnZSk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIWNvbGxlY3Rpb24pIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBjb2xsZWN0aW9uLmZpbmQoKG0pID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbS5zdW1tYXJ5ID09PSBtZXNzYWdlLnN1bW1hcnkgJiYgbS5kZXRhaWwgPT0gbWVzc2FnZS5kZXRhaWwgJiYgbS5zZXZlcml0eSA9PT0gbWVzc2FnZS5zZXZlcml0eTtcbiAgICAgICAgICAgIH0pICE9IG51bGxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMudGVtcGxhdGVzPy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBzd2l0Y2ggKGl0ZW0uZ2V0VHlwZSgpKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnbWVzc2FnZSc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25NZXNzYWdlQ2xvc2UoZXZlbnQ6IFRvYXN0SXRlbUNsb3NlRXZlbnQpIHtcbiAgICAgICAgdGhpcy5tZXNzYWdlcz8uc3BsaWNlKGV2ZW50LmluZGV4LCAxKTtcblxuICAgICAgICB0aGlzLm9uQ2xvc2UuZW1pdCh7XG4gICAgICAgICAgICBtZXNzYWdlOiBldmVudC5tZXNzYWdlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIG9uQW5pbWF0aW9uU3RhcnQoZXZlbnQ6IEFuaW1hdGlvbkV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudC5mcm9tU3RhdGUgPT09ICd2b2lkJykge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRBdHRyaWJ1dGUodGhpcy5jb250YWluZXJWaWV3Q2hpbGQ/Lm5hdGl2ZUVsZW1lbnQsIHRoaXMuaWQsICcnKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmF1dG9aSW5kZXggJiYgdGhpcy5jb250YWluZXJWaWV3Q2hpbGQ/Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuekluZGV4ID09PSAnJykge1xuICAgICAgICAgICAgICAgIFpJbmRleFV0aWxzLnNldCgnbW9kYWwnLCB0aGlzLmNvbnRhaW5lclZpZXdDaGlsZD8ubmF0aXZlRWxlbWVudCwgdGhpcy5iYXNlWkluZGV4IHx8IHRoaXMuY29uZmlnLnpJbmRleC5tb2RhbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50LnRvU3RhdGUgPT09ICd2b2lkJykge1xuICAgICAgICAgICAgaWYgKHRoaXMuYXV0b1pJbmRleCAmJiBPYmplY3RVdGlscy5pc0VtcHR5KHRoaXMubWVzc2FnZXMpKSB7XG4gICAgICAgICAgICAgICAgWkluZGV4VXRpbHMuY2xlYXIodGhpcy5jb250YWluZXJWaWV3Q2hpbGQ/Lm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgY3JlYXRlU3R5bGUoKSB7XG4gICAgICAgIGlmICghdGhpcy5zdHlsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuc3R5bGVFbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzdHlsZScpO1xuICAgICAgICAgICAgdGhpcy5zdHlsZUVsZW1lbnQudHlwZSA9ICd0ZXh0L2Nzcyc7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZG9jdW1lbnQuaGVhZCwgdGhpcy5zdHlsZUVsZW1lbnQpO1xuICAgICAgICAgICAgbGV0IGlubmVySFRNTCA9ICcnO1xuICAgICAgICAgICAgZm9yIChsZXQgYnJlYWtwb2ludCBpbiB0aGlzLmJyZWFrcG9pbnRzKSB7XG4gICAgICAgICAgICAgICAgbGV0IGJyZWFrcG9pbnRTdHlsZSA9ICcnO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IHN0eWxlUHJvcCBpbiB0aGlzLmJyZWFrcG9pbnRzW2JyZWFrcG9pbnRdKSB7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrcG9pbnRTdHlsZSArPSBzdHlsZVByb3AgKyAnOicgKyB0aGlzLmJyZWFrcG9pbnRzW2JyZWFrcG9pbnRdW3N0eWxlUHJvcF0gKyAnICFpbXBvcnRhbnQ7JztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaW5uZXJIVE1MICs9IGBcbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHticmVha3BvaW50fSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLnAtdG9hc3RbJHt0aGlzLmlkfV0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgJHticmVha3BvaW50U3R5bGV9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBgO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFByb3BlcnR5KHRoaXMuc3R5bGVFbGVtZW50LCAnaW5uZXJIVE1MJywgaW5uZXJIVE1MKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRlc3Ryb3lTdHlsZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuc3R5bGVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMuZG9jdW1lbnQuaGVhZCwgdGhpcy5zdHlsZUVsZW1lbnQpO1xuICAgICAgICAgICAgdGhpcy5zdHlsZUVsZW1lbnQgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLm1lc3NhZ2VTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY29udGFpbmVyVmlld0NoaWxkICYmIHRoaXMuYXV0b1pJbmRleCkge1xuICAgICAgICAgICAgWkluZGV4VXRpbHMuY2xlYXIodGhpcy5jb250YWluZXJWaWV3Q2hpbGQubmF0aXZlRWxlbWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jbGVhclN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy5jbGVhclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kZXN0cm95U3R5bGUoKTtcbiAgICB9XG59XG5cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUmlwcGxlTW9kdWxlLCBDaGVja0ljb24sIEluZm9DaXJjbGVJY29uLCBUaW1lc0NpcmNsZUljb24sIEV4Y2xhbWF0aW9uVHJpYW5nbGVJY29uLCBUaW1lc0ljb25dLFxuICAgIGV4cG9ydHM6IFtUb2FzdCwgU2hhcmVkTW9kdWxlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtUb2FzdCwgVG9hc3RJdGVtXVxufSlcbmV4cG9ydCBjbGFzcyBUb2FzdE1vZHVsZSB7fVxuIl19
@@ -1,2 +1,3 @@
1
1
  export * from './togglebutton';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy90b2dnbGVidXR0b24vcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90b2dnbGVidXR0b24nO1xuIl19
2
+ export * from './togglebutton.interface';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy90b2dnbGVidXR0b24vcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3RvZ2dsZWJ1dHRvbic7XG5leHBvcnQgKiBmcm9tICcuL3RvZ2dsZWJ1dHRvbi5pbnRlcmZhY2UnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlYnV0dG9uLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy90b2dnbGVidXR0b24vdG9nZ2xlYnV0dG9uLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVG9nZ2xlQnV0dG9uIH0gZnJvbSAnLi90b2dnbGVidXR0b24nO1xuLyoqXG4gKiBDdXN0b20gY2hhbmdlIGV2ZW50LlxuICogQHNlZSB7QGxpbmsgVG9nZ2xlQnV0dG9uLm9uQ2hhbmdlfVxuICogQGdyb3VwIEV2ZW50c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFRvZ2dsZUJ1dHRvbkNoYW5nZUV2ZW50IHtcbiAgICAvKipcbiAgICAgKiBCcm93c2VyIGV2ZW50LlxuICAgICAqL1xuICAgIG9yaWdpbmFsRXZlbnQ6IEV2ZW50O1xuICAgIC8qKlxuICAgICAqIEJvb2xlYW4gdmFsdWUgdG8gcmVwcmVzZW50IGNoZWNrZWQgc3RhdGUuXG4gICAgICovXG4gICAgY2hlY2tlZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbn1cbiJdfQ==