primeng 15.2.1 → 15.4.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 (1141) hide show
  1. package/README.md +1 -2
  2. package/accordion/accordion.d.ts +5 -2
  3. package/api/message.d.ts +1 -0
  4. package/autocomplete/autocomplete.d.ts +14 -6
  5. package/badge/badge.d.ts +4 -2
  6. package/baseicon/baseicon.d.ts +14 -0
  7. package/{gmap → baseicon}/index.d.ts +1 -1
  8. package/baseicon/public_api.d.ts +1 -0
  9. package/blockui/blockui.d.ts +5 -3
  10. package/breadcrumb/breadcrumb.d.ts +10 -4
  11. package/button/button.d.ts +23 -2
  12. package/calendar/calendar.d.ts +22 -7
  13. package/carousel/carousel.d.ts +10 -2
  14. package/cascadeselect/cascadeselect.d.ts +9 -2
  15. package/chart/chart.d.ts +3 -1
  16. package/checkbox/checkbox.d.ts +8 -3
  17. package/chip/chip.d.ts +9 -4
  18. package/chips/chips.d.ts +7 -2
  19. package/colorpicker/colorpicker.d.ts +4 -1
  20. package/confirmdialog/confirmdialog.d.ts +8 -3
  21. package/confirmpopup/confirmpopup.d.ts +16 -8
  22. package/contextmenu/contextmenu.d.ts +15 -9
  23. package/dataview/dataview.d.ts +7 -1
  24. package/defer/defer.d.ts +4 -1
  25. package/dialog/dialog.d.ts +18 -9
  26. package/dom/domhandler.d.ts +1 -0
  27. package/dragdrop/dragdrop.d.ts +9 -7
  28. package/dropdown/dropdown.d.ts +7 -1
  29. package/dynamicdialog/dialogservice.d.ts +2 -1
  30. package/dynamicdialog/dynamicdialog.d.ts +15 -9
  31. package/esm2020/accordion/accordion.mjs +40 -17
  32. package/esm2020/animate/animate.mjs +7 -7
  33. package/esm2020/api/confirmationservice.mjs +3 -3
  34. package/esm2020/api/contextmenuservice.mjs +3 -3
  35. package/esm2020/api/filterservice.mjs +3 -3
  36. package/esm2020/api/message.mjs +1 -1
  37. package/esm2020/api/messageservice.mjs +3 -3
  38. package/esm2020/api/overlayservice.mjs +3 -3
  39. package/esm2020/api/primengconfig.mjs +3 -3
  40. package/esm2020/api/shared.mjs +13 -13
  41. package/esm2020/api/treedragdropservice.mjs +3 -3
  42. package/esm2020/autocomplete/autocomplete.mjs +90 -35
  43. package/esm2020/autofocus/autofocus.mjs +7 -7
  44. package/esm2020/avatar/avatar.mjs +7 -7
  45. package/esm2020/avatargroup/avatargroup.mjs +7 -7
  46. package/esm2020/badge/badge.mjs +25 -20
  47. package/esm2020/baseicon/baseicon.mjs +41 -0
  48. package/esm2020/{lightbox/primeng-lightbox.mjs → baseicon/primeng-baseicon.mjs} +1 -1
  49. package/esm2020/{lightbox → baseicon}/public_api.mjs +2 -2
  50. package/esm2020/blockui/blockui.mjs +21 -17
  51. package/esm2020/breadcrumb/breadcrumb.mjs +51 -20
  52. package/esm2020/button/button.mjs +101 -65
  53. package/esm2020/calendar/calendar.mjs +135 -57
  54. package/esm2020/card/card.mjs +7 -7
  55. package/esm2020/carousel/carousel.mjs +67 -25
  56. package/esm2020/cascadeselect/cascadeselect.mjs +62 -20
  57. package/esm2020/chart/chart.mjs +30 -23
  58. package/esm2020/checkbox/checkbox.mjs +46 -15
  59. package/esm2020/chip/chip.mjs +48 -16
  60. package/esm2020/chips/chips.mjs +47 -19
  61. package/esm2020/colorpicker/colorpicker.mjs +30 -20
  62. package/esm2020/confirmdialog/confirmdialog.mjs +70 -30
  63. package/esm2020/confirmpopup/confirmpopup.mjs +59 -30
  64. package/esm2020/contextmenu/contextmenu.mjs +65 -36
  65. package/esm2020/dataview/dataview.mjs +46 -21
  66. package/esm2020/defer/defer.mjs +36 -25
  67. package/esm2020/dialog/dialog.mjs +120 -66
  68. package/esm2020/divider/divider.mjs +7 -7
  69. package/esm2020/dock/dock.mjs +7 -7
  70. package/esm2020/dom/domhandler.mjs +10 -3
  71. package/esm2020/dragdrop/dragdrop.mjs +25 -27
  72. package/esm2020/dropdown/dropdown.mjs +67 -20
  73. package/esm2020/dynamicdialog/dialogservice.mjs +13 -8
  74. package/esm2020/dynamicdialog/dynamicdialog.mjs +72 -52
  75. package/esm2020/dynamicdialog/dynamicdialogcontent.mjs +3 -3
  76. package/esm2020/editor/editor.mjs +7 -7
  77. package/esm2020/fieldset/fieldset.mjs +42 -12
  78. package/esm2020/fileupload/fileupload.mjs +142 -34
  79. package/esm2020/focustrap/focustrap.mjs +7 -7
  80. package/esm2020/galleria/galleria.mjs +109 -52
  81. package/esm2020/icons/angledoubledown/angledoubledown.mjs +35 -0
  82. package/esm2020/icons/angledoubledown/primeng-icons-angledoubledown.mjs +5 -0
  83. package/esm2020/icons/angledoubledown/public_api.mjs +2 -0
  84. package/esm2020/icons/angledoubleleft/angledoubleleft.mjs +35 -0
  85. package/esm2020/icons/angledoubleleft/primeng-icons-angledoubleleft.mjs +5 -0
  86. package/esm2020/icons/angledoubleleft/public_api.mjs +2 -0
  87. package/esm2020/icons/angledoubleright/angledoubleright.mjs +35 -0
  88. package/esm2020/icons/angledoubleright/primeng-icons-angledoubleright.mjs +5 -0
  89. package/esm2020/icons/angledoubleright/public_api.mjs +2 -0
  90. package/esm2020/icons/angledoubleup/angledoubleup.mjs +35 -0
  91. package/esm2020/icons/angledoubleup/primeng-icons-angledoubleup.mjs +5 -0
  92. package/esm2020/icons/angledoubleup/public_api.mjs +2 -0
  93. package/esm2020/icons/angledown/angledown.mjs +31 -0
  94. package/esm2020/icons/angledown/primeng-icons-angledown.mjs +5 -0
  95. package/esm2020/icons/angledown/public_api.mjs +2 -0
  96. package/esm2020/icons/angleleft/angleleft.mjs +31 -0
  97. package/esm2020/icons/angleleft/primeng-icons-angleleft.mjs +5 -0
  98. package/esm2020/icons/angleleft/public_api.mjs +2 -0
  99. package/esm2020/icons/angleright/angleright.mjs +31 -0
  100. package/esm2020/icons/angleright/primeng-icons-angleright.mjs +5 -0
  101. package/esm2020/icons/angleright/public_api.mjs +2 -0
  102. package/esm2020/icons/angleup/angleup.mjs +31 -0
  103. package/esm2020/icons/angleup/primeng-icons-angleup.mjs +5 -0
  104. package/esm2020/icons/angleup/public_api.mjs +2 -0
  105. package/esm2020/icons/arrowdown/arrowdown.mjs +49 -0
  106. package/esm2020/icons/arrowdown/primeng-icons-arrowdown.mjs +5 -0
  107. package/esm2020/icons/arrowdown/public_api.mjs +2 -0
  108. package/esm2020/icons/arrowdownleft/arrowdownleft.mjs +31 -0
  109. package/esm2020/icons/arrowdownleft/primeng-icons-arrowdownleft.mjs +5 -0
  110. package/esm2020/icons/arrowdownleft/public_api.mjs +2 -0
  111. package/esm2020/icons/arrowdownright/arrowdownright.mjs +31 -0
  112. package/esm2020/icons/arrowdownright/primeng-icons-arrowdownright.mjs +5 -0
  113. package/esm2020/icons/arrowdownright/public_api.mjs +2 -0
  114. package/esm2020/icons/arrowleft/arrowleft.mjs +49 -0
  115. package/esm2020/icons/arrowleft/primeng-icons-arrowleft.mjs +5 -0
  116. package/esm2020/icons/arrowleft/public_api.mjs +2 -0
  117. package/esm2020/icons/arrowright/arrowright.mjs +35 -0
  118. package/esm2020/icons/arrowright/primeng-icons-arrowright.mjs +5 -0
  119. package/esm2020/icons/arrowright/public_api.mjs +2 -0
  120. package/esm2020/icons/arrowup/arrowup.mjs +49 -0
  121. package/esm2020/icons/arrowup/primeng-icons-arrowup.mjs +5 -0
  122. package/esm2020/icons/arrowup/public_api.mjs +2 -0
  123. package/esm2020/icons/ban/ban.mjs +45 -0
  124. package/esm2020/icons/ban/primeng-icons-ban.mjs +5 -0
  125. package/esm2020/icons/ban/public_api.mjs +2 -0
  126. package/esm2020/icons/bars/bars.mjs +35 -0
  127. package/esm2020/icons/bars/primeng-icons-bars.mjs +5 -0
  128. package/esm2020/icons/bars/public_api.mjs +2 -0
  129. package/esm2020/icons/calendar/calendar.mjs +31 -0
  130. package/esm2020/icons/calendar/primeng-icons-calendar.mjs +5 -0
  131. package/esm2020/icons/calendar/public_api.mjs +2 -0
  132. package/esm2020/icons/caretleft/caretleft.mjs +31 -0
  133. package/esm2020/icons/caretleft/primeng-icons-caretleft.mjs +5 -0
  134. package/esm2020/icons/caretleft/public_api.mjs +2 -0
  135. package/esm2020/icons/caretright/caretright.mjs +31 -0
  136. package/esm2020/icons/caretright/primeng-icons-caretright.mjs +5 -0
  137. package/esm2020/icons/caretright/public_api.mjs +2 -0
  138. package/esm2020/icons/check/check.mjs +31 -0
  139. package/esm2020/icons/check/primeng-icons-check.mjs +5 -0
  140. package/esm2020/icons/check/public_api.mjs +2 -0
  141. package/esm2020/icons/chevrondown/chevrondown.mjs +31 -0
  142. package/esm2020/icons/chevrondown/primeng-icons-chevrondown.mjs +5 -0
  143. package/esm2020/icons/chevrondown/public_api.mjs +2 -0
  144. package/esm2020/icons/chevronleft/chevronleft.mjs +31 -0
  145. package/esm2020/icons/chevronleft/primeng-icons-chevronleft.mjs +5 -0
  146. package/esm2020/icons/chevronleft/public_api.mjs +2 -0
  147. package/esm2020/icons/chevronright/chevronright.mjs +31 -0
  148. package/esm2020/icons/chevronright/primeng-icons-chevronright.mjs +5 -0
  149. package/esm2020/icons/chevronright/public_api.mjs +2 -0
  150. package/esm2020/icons/chevronup/chevronup.mjs +31 -0
  151. package/esm2020/icons/chevronup/primeng-icons-chevronup.mjs +5 -0
  152. package/esm2020/icons/chevronup/public_api.mjs +2 -0
  153. package/esm2020/icons/exclamationtriangle/exclamationtriangle.mjs +61 -0
  154. package/esm2020/icons/exclamationtriangle/primeng-icons-exclamationtriangle.mjs +5 -0
  155. package/esm2020/icons/exclamationtriangle/public_api.mjs +2 -0
  156. package/esm2020/icons/eye/eye.mjs +35 -0
  157. package/esm2020/icons/eye/primeng-icons-eye.mjs +5 -0
  158. package/esm2020/icons/eye/public_api.mjs +2 -0
  159. package/esm2020/icons/eyeslash/eyeslash.mjs +49 -0
  160. package/esm2020/icons/eyeslash/primeng-icons-eyeslash.mjs +5 -0
  161. package/esm2020/icons/eyeslash/public_api.mjs +2 -0
  162. package/esm2020/icons/filter/filter.mjs +45 -0
  163. package/esm2020/icons/filter/primeng-icons-filter.mjs +5 -0
  164. package/esm2020/icons/filter/public_api.mjs +2 -0
  165. package/esm2020/icons/filterslash/filterslash.mjs +49 -0
  166. package/esm2020/icons/filterslash/primeng-icons-filterslash.mjs +5 -0
  167. package/esm2020/icons/filterslash/public_api.mjs +2 -0
  168. package/esm2020/icons/home/home.mjs +49 -0
  169. package/esm2020/icons/home/primeng-icons-home.mjs +5 -0
  170. package/esm2020/icons/home/public_api.mjs +2 -0
  171. package/esm2020/icons/infocircle/infocircle.mjs +49 -0
  172. package/esm2020/icons/infocircle/primeng-icons-infocircle.mjs +5 -0
  173. package/esm2020/icons/infocircle/public_api.mjs +2 -0
  174. package/esm2020/icons/minus/minus.mjs +32 -0
  175. package/esm2020/icons/minus/primeng-icons-minus.mjs +5 -0
  176. package/esm2020/icons/minus/public_api.mjs +2 -0
  177. package/esm2020/icons/pencil/pencil.mjs +45 -0
  178. package/esm2020/icons/pencil/primeng-icons-pencil.mjs +5 -0
  179. package/esm2020/icons/pencil/public_api.mjs +2 -0
  180. package/esm2020/icons/plus/plus.mjs +45 -0
  181. package/esm2020/icons/plus/primeng-icons-plus.mjs +5 -0
  182. package/esm2020/icons/plus/public_api.mjs +2 -0
  183. package/esm2020/icons/refresh/primeng-icons-refresh.mjs +5 -0
  184. package/esm2020/icons/refresh/public_api.mjs +2 -0
  185. package/esm2020/icons/refresh/refresh.mjs +49 -0
  186. package/esm2020/icons/search/primeng-icons-search.mjs +5 -0
  187. package/esm2020/icons/search/public_api.mjs +2 -0
  188. package/esm2020/icons/search/search.mjs +49 -0
  189. package/esm2020/icons/searchminus/primeng-icons-searchminus.mjs +5 -0
  190. package/esm2020/icons/searchminus/public_api.mjs +2 -0
  191. package/esm2020/icons/searchminus/searchminus.mjs +49 -0
  192. package/esm2020/icons/searchplus/primeng-icons-searchplus.mjs +5 -0
  193. package/esm2020/icons/searchplus/public_api.mjs +2 -0
  194. package/esm2020/icons/searchplus/searchplus.mjs +49 -0
  195. package/esm2020/icons/sortalt/primeng-icons-sortalt.mjs +5 -0
  196. package/esm2020/icons/sortalt/public_api.mjs +2 -0
  197. package/esm2020/icons/sortalt/sortalt.mjs +57 -0
  198. package/esm2020/icons/sortamountdown/primeng-icons-sortamountdown.mjs +5 -0
  199. package/esm2020/icons/sortamountdown/public_api.mjs +2 -0
  200. package/esm2020/icons/sortamountdown/sortamountdown.mjs +85 -0
  201. package/esm2020/icons/sortamountupalt/primeng-icons-sortamountupalt.mjs +5 -0
  202. package/esm2020/icons/sortamountupalt/public_api.mjs +2 -0
  203. package/esm2020/icons/sortamountupalt/sortamountupalt.mjs +85 -0
  204. package/esm2020/icons/spinner/primeng-icons-spinner.mjs +5 -0
  205. package/esm2020/icons/spinner/public_api.mjs +2 -0
  206. package/esm2020/icons/spinner/spinner.mjs +45 -0
  207. package/esm2020/icons/star/primeng-icons-star.mjs +5 -0
  208. package/esm2020/icons/star/public_api.mjs +2 -0
  209. package/esm2020/icons/star/star.mjs +45 -0
  210. package/esm2020/icons/starfill/primeng-icons-starfill.mjs +5 -0
  211. package/esm2020/icons/starfill/public_api.mjs +2 -0
  212. package/esm2020/icons/starfill/starfill.mjs +45 -0
  213. package/esm2020/icons/thlarge/primeng-icons-thlarge.mjs +5 -0
  214. package/esm2020/icons/thlarge/public_api.mjs +2 -0
  215. package/esm2020/icons/thlarge/thlarge.mjs +49 -0
  216. package/esm2020/icons/times/primeng-icons-times.mjs +5 -0
  217. package/esm2020/icons/times/public_api.mjs +2 -0
  218. package/esm2020/icons/times/times.mjs +31 -0
  219. package/esm2020/icons/timescircle/primeng-icons-timescircle.mjs +5 -0
  220. package/esm2020/icons/timescircle/public_api.mjs +2 -0
  221. package/esm2020/icons/timescircle/timescircle.mjs +49 -0
  222. package/esm2020/icons/trash/primeng-icons-trash.mjs +5 -0
  223. package/esm2020/icons/trash/public_api.mjs +2 -0
  224. package/esm2020/icons/trash/trash.mjs +49 -0
  225. package/esm2020/icons/undo/primeng-icons-undo.mjs +5 -0
  226. package/esm2020/icons/undo/public_api.mjs +2 -0
  227. package/esm2020/icons/undo/undo.mjs +49 -0
  228. package/esm2020/icons/upload/primeng-icons-upload.mjs +5 -0
  229. package/esm2020/icons/upload/public_api.mjs +2 -0
  230. package/esm2020/icons/upload/upload.mjs +49 -0
  231. package/esm2020/icons/windowmaximize/primeng-icons-windowmaximize.mjs +5 -0
  232. package/esm2020/icons/windowmaximize/public_api.mjs +2 -0
  233. package/esm2020/icons/windowmaximize/windowmaximize.mjs +49 -0
  234. package/esm2020/icons/windowminimize/primeng-icons-windowminimize.mjs +5 -0
  235. package/esm2020/icons/windowminimize/public_api.mjs +2 -0
  236. package/esm2020/icons/windowminimize/windowminimize.mjs +49 -0
  237. package/esm2020/image/image.mjs +63 -28
  238. package/esm2020/inplace/inplace.mjs +36 -19
  239. package/esm2020/inputmask/inputmask.mjs +66 -25
  240. package/esm2020/inputnumber/inputnumber.mjs +136 -44
  241. package/esm2020/inputswitch/inputswitch.mjs +7 -7
  242. package/esm2020/inputtext/inputtext.mjs +7 -7
  243. package/esm2020/inputtextarea/inputtextarea.mjs +7 -7
  244. package/esm2020/keyfilter/keyfilter.mjs +27 -14
  245. package/esm2020/knob/knob.mjs +33 -26
  246. package/esm2020/listbox/listbox.mjs +50 -16
  247. package/esm2020/megamenu/megamenu.mjs +57 -27
  248. package/esm2020/menu/menu.mjs +32 -22
  249. package/esm2020/menubar/menubar.mjs +106 -52
  250. package/esm2020/message/message.mjs +27 -34
  251. package/esm2020/messages/messages.mjs +41 -23
  252. package/esm2020/multiselect/multiselect.mjs +124 -32
  253. package/esm2020/orderlist/orderlist.mjs +117 -54
  254. package/esm2020/organizationchart/organizationchart.mjs +35 -16
  255. package/esm2020/overlay/overlay.mjs +23 -16
  256. package/esm2020/overlaypanel/overlaypanel.mjs +69 -43
  257. package/esm2020/paginator/paginator.mjs +69 -19
  258. package/esm2020/panel/panel.mjs +41 -14
  259. package/esm2020/panelmenu/panelmenu.mjs +106 -26
  260. package/esm2020/password/password.mjs +146 -72
  261. package/esm2020/picklist/picklist.mjs +279 -98
  262. package/esm2020/progressbar/progressbar.mjs +7 -7
  263. package/esm2020/progressspinner/progressspinner.mjs +7 -7
  264. package/esm2020/radiobutton/radiobutton.mjs +10 -10
  265. package/esm2020/rating/rating.mjs +45 -35
  266. package/esm2020/ripple/ripple.mjs +43 -30
  267. package/esm2020/scroller/scroller.mjs +47 -34
  268. package/esm2020/scrollpanel/scrollpanel.mjs +83 -42
  269. package/esm2020/scrolltop/scrolltop.mjs +66 -33
  270. package/esm2020/selectbutton/selectbutton.mjs +7 -7
  271. package/esm2020/sidebar/sidebar.mjs +40 -27
  272. package/esm2020/skeleton/skeleton.mjs +7 -7
  273. package/esm2020/slidemenu/slidemenu.mjs +112 -53
  274. package/esm2020/slider/slider.mjs +52 -40
  275. package/esm2020/speeddial/speeddial.mjs +48 -34
  276. package/esm2020/spinner/spinner.mjs +7 -7
  277. package/esm2020/splitbutton/splitbutton.mjs +22 -12
  278. package/esm2020/splitter/splitter.mjs +49 -38
  279. package/esm2020/steps/steps.mjs +7 -7
  280. package/esm2020/styleclass/styleclass.mjs +7 -7
  281. package/esm2020/table/table.mjs +516 -244
  282. package/esm2020/tabmenu/tabmenu.mjs +40 -22
  283. package/esm2020/tabview/tabview.mjs +85 -31
  284. package/esm2020/tag/tag.mjs +38 -14
  285. package/esm2020/terminal/terminal.mjs +7 -7
  286. package/esm2020/terminal/terminalservice.mjs +3 -3
  287. package/esm2020/tieredmenu/tieredmenu.mjs +69 -33
  288. package/esm2020/timeline/timeline.mjs +7 -7
  289. package/esm2020/toast/toast.mjs +62 -28
  290. package/esm2020/togglebutton/togglebutton.mjs +7 -7
  291. package/esm2020/toolbar/toolbar.mjs +7 -7
  292. package/esm2020/tooltip/tooltip.mjs +35 -29
  293. package/esm2020/tree/tree.mjs +110 -27
  294. package/esm2020/treeselect/treeselect.mjs +88 -18
  295. package/esm2020/treetable/treetable.mjs +382 -167
  296. package/esm2020/tristatecheckbox/tristatecheckbox.mjs +68 -18
  297. package/esm2020/virtualscroller/virtualscroller.mjs +7 -7
  298. package/fesm2015/primeng-accordion.mjs +39 -16
  299. package/fesm2015/primeng-accordion.mjs.map +1 -1
  300. package/fesm2015/primeng-animate.mjs +7 -7
  301. package/fesm2015/primeng-api.mjs +34 -34
  302. package/fesm2015/primeng-autocomplete.mjs +91 -34
  303. package/fesm2015/primeng-autocomplete.mjs.map +1 -1
  304. package/fesm2015/primeng-autofocus.mjs +7 -7
  305. package/fesm2015/primeng-avatar.mjs +7 -7
  306. package/fesm2015/primeng-avatargroup.mjs +7 -7
  307. package/fesm2015/primeng-badge.mjs +26 -19
  308. package/fesm2015/primeng-badge.mjs.map +1 -1
  309. package/fesm2015/primeng-baseicon.mjs +49 -0
  310. package/fesm2015/primeng-baseicon.mjs.map +1 -0
  311. package/fesm2015/primeng-blockui.mjs +22 -16
  312. package/fesm2015/primeng-blockui.mjs.map +1 -1
  313. package/fesm2015/primeng-breadcrumb.mjs +50 -19
  314. package/fesm2015/primeng-breadcrumb.mjs.map +1 -1
  315. package/fesm2015/primeng-button.mjs +102 -64
  316. package/fesm2015/primeng-button.mjs.map +1 -1
  317. package/fesm2015/primeng-calendar.mjs +136 -56
  318. package/fesm2015/primeng-calendar.mjs.map +1 -1
  319. package/fesm2015/primeng-card.mjs +7 -7
  320. package/fesm2015/primeng-carousel.mjs +66 -24
  321. package/fesm2015/primeng-carousel.mjs.map +1 -1
  322. package/fesm2015/primeng-cascadeselect.mjs +61 -19
  323. package/fesm2015/primeng-cascadeselect.mjs.map +1 -1
  324. package/fesm2015/primeng-chart.mjs +31 -22
  325. package/fesm2015/primeng-chart.mjs.map +1 -1
  326. package/fesm2015/primeng-checkbox.mjs +45 -14
  327. package/fesm2015/primeng-checkbox.mjs.map +1 -1
  328. package/fesm2015/primeng-chip.mjs +47 -15
  329. package/fesm2015/primeng-chip.mjs.map +1 -1
  330. package/fesm2015/primeng-chips.mjs +48 -18
  331. package/fesm2015/primeng-chips.mjs.map +1 -1
  332. package/fesm2015/primeng-colorpicker.mjs +31 -19
  333. package/fesm2015/primeng-colorpicker.mjs.map +1 -1
  334. package/fesm2015/primeng-confirmdialog.mjs +71 -29
  335. package/fesm2015/primeng-confirmdialog.mjs.map +1 -1
  336. package/fesm2015/primeng-confirmpopup.mjs +60 -29
  337. package/fesm2015/primeng-confirmpopup.mjs.map +1 -1
  338. package/fesm2015/primeng-contextmenu.mjs +66 -35
  339. package/fesm2015/primeng-contextmenu.mjs.map +1 -1
  340. package/fesm2015/primeng-dataview.mjs +45 -20
  341. package/fesm2015/primeng-dataview.mjs.map +1 -1
  342. package/fesm2015/primeng-defer.mjs +37 -24
  343. package/fesm2015/primeng-defer.mjs.map +1 -1
  344. package/fesm2015/primeng-dialog.mjs +121 -65
  345. package/fesm2015/primeng-dialog.mjs.map +1 -1
  346. package/fesm2015/primeng-divider.mjs +7 -7
  347. package/fesm2015/primeng-dock.mjs +7 -7
  348. package/fesm2015/primeng-dom.mjs +9 -2
  349. package/fesm2015/primeng-dom.mjs.map +1 -1
  350. package/fesm2015/primeng-dragdrop.mjs +24 -26
  351. package/fesm2015/primeng-dragdrop.mjs.map +1 -1
  352. package/fesm2015/primeng-dropdown.mjs +66 -19
  353. package/fesm2015/primeng-dropdown.mjs.map +1 -1
  354. package/fesm2015/primeng-dynamicdialog.mjs +89 -61
  355. package/fesm2015/primeng-dynamicdialog.mjs.map +1 -1
  356. package/fesm2015/primeng-editor.mjs +7 -7
  357. package/fesm2015/primeng-fieldset.mjs +41 -11
  358. package/fesm2015/primeng-fieldset.mjs.map +1 -1
  359. package/fesm2015/primeng-fileupload.mjs +143 -33
  360. package/fesm2015/primeng-fileupload.mjs.map +1 -1
  361. package/fesm2015/primeng-focustrap.mjs +7 -7
  362. package/fesm2015/primeng-galleria.mjs +112 -51
  363. package/fesm2015/primeng-galleria.mjs.map +1 -1
  364. package/fesm2015/primeng-icons-angledoubledown.mjs +43 -0
  365. package/fesm2015/primeng-icons-angledoubledown.mjs.map +1 -0
  366. package/fesm2015/primeng-icons-angledoubleleft.mjs +43 -0
  367. package/fesm2015/primeng-icons-angledoubleleft.mjs.map +1 -0
  368. package/fesm2015/primeng-icons-angledoubleright.mjs +43 -0
  369. package/fesm2015/primeng-icons-angledoubleright.mjs.map +1 -0
  370. package/fesm2015/primeng-icons-angledoubleup.mjs +43 -0
  371. package/fesm2015/primeng-icons-angledoubleup.mjs.map +1 -0
  372. package/fesm2015/primeng-icons-angledown.mjs +39 -0
  373. package/fesm2015/primeng-icons-angledown.mjs.map +1 -0
  374. package/fesm2015/primeng-icons-angleleft.mjs +39 -0
  375. package/fesm2015/primeng-icons-angleleft.mjs.map +1 -0
  376. package/fesm2015/primeng-icons-angleright.mjs +39 -0
  377. package/fesm2015/primeng-icons-angleright.mjs.map +1 -0
  378. package/fesm2015/primeng-icons-angleup.mjs +39 -0
  379. package/fesm2015/primeng-icons-angleup.mjs.map +1 -0
  380. package/fesm2015/primeng-icons-arrowdown.mjs +57 -0
  381. package/fesm2015/primeng-icons-arrowdown.mjs.map +1 -0
  382. package/fesm2015/primeng-icons-arrowdownleft.mjs +39 -0
  383. package/fesm2015/primeng-icons-arrowdownleft.mjs.map +1 -0
  384. package/fesm2015/primeng-icons-arrowdownright.mjs +39 -0
  385. package/fesm2015/primeng-icons-arrowdownright.mjs.map +1 -0
  386. package/fesm2015/primeng-icons-arrowleft.mjs +57 -0
  387. package/fesm2015/primeng-icons-arrowleft.mjs.map +1 -0
  388. package/fesm2015/primeng-icons-arrowright.mjs +43 -0
  389. package/fesm2015/primeng-icons-arrowright.mjs.map +1 -0
  390. package/fesm2015/primeng-icons-arrowup.mjs +57 -0
  391. package/fesm2015/primeng-icons-arrowup.mjs.map +1 -0
  392. package/fesm2015/primeng-icons-ban.mjs +53 -0
  393. package/fesm2015/primeng-icons-ban.mjs.map +1 -0
  394. package/fesm2015/primeng-icons-bars.mjs +43 -0
  395. package/fesm2015/primeng-icons-bars.mjs.map +1 -0
  396. package/fesm2015/primeng-icons-calendar.mjs +39 -0
  397. package/fesm2015/primeng-icons-calendar.mjs.map +1 -0
  398. package/fesm2015/primeng-icons-caretleft.mjs +39 -0
  399. package/fesm2015/primeng-icons-caretleft.mjs.map +1 -0
  400. package/fesm2015/primeng-icons-caretright.mjs +39 -0
  401. package/fesm2015/primeng-icons-caretright.mjs.map +1 -0
  402. package/fesm2015/primeng-icons-check.mjs +39 -0
  403. package/fesm2015/primeng-icons-check.mjs.map +1 -0
  404. package/fesm2015/primeng-icons-chevrondown.mjs +39 -0
  405. package/fesm2015/primeng-icons-chevrondown.mjs.map +1 -0
  406. package/fesm2015/primeng-icons-chevronleft.mjs +39 -0
  407. package/fesm2015/primeng-icons-chevronleft.mjs.map +1 -0
  408. package/fesm2015/primeng-icons-chevronright.mjs +39 -0
  409. package/fesm2015/primeng-icons-chevronright.mjs.map +1 -0
  410. package/fesm2015/primeng-icons-chevronup.mjs +39 -0
  411. package/fesm2015/primeng-icons-chevronup.mjs.map +1 -0
  412. package/fesm2015/primeng-icons-exclamationtriangle.mjs +69 -0
  413. package/fesm2015/primeng-icons-exclamationtriangle.mjs.map +1 -0
  414. package/fesm2015/primeng-icons-eye.mjs +43 -0
  415. package/fesm2015/primeng-icons-eye.mjs.map +1 -0
  416. package/fesm2015/primeng-icons-eyeslash.mjs +57 -0
  417. package/fesm2015/primeng-icons-eyeslash.mjs.map +1 -0
  418. package/fesm2015/primeng-icons-filter.mjs +53 -0
  419. package/fesm2015/primeng-icons-filter.mjs.map +1 -0
  420. package/fesm2015/primeng-icons-filterslash.mjs +57 -0
  421. package/fesm2015/primeng-icons-filterslash.mjs.map +1 -0
  422. package/fesm2015/primeng-icons-home.mjs +57 -0
  423. package/fesm2015/primeng-icons-home.mjs.map +1 -0
  424. package/fesm2015/primeng-icons-infocircle.mjs +57 -0
  425. package/fesm2015/primeng-icons-infocircle.mjs.map +1 -0
  426. package/fesm2015/primeng-icons-minus.mjs +40 -0
  427. package/fesm2015/primeng-icons-minus.mjs.map +1 -0
  428. package/fesm2015/primeng-icons-pencil.mjs +53 -0
  429. package/fesm2015/primeng-icons-pencil.mjs.map +1 -0
  430. package/fesm2015/primeng-icons-plus.mjs +53 -0
  431. package/fesm2015/primeng-icons-plus.mjs.map +1 -0
  432. package/fesm2015/primeng-icons-refresh.mjs +57 -0
  433. package/fesm2015/primeng-icons-refresh.mjs.map +1 -0
  434. package/fesm2015/primeng-icons-search.mjs +57 -0
  435. package/fesm2015/primeng-icons-search.mjs.map +1 -0
  436. package/fesm2015/primeng-icons-searchminus.mjs +57 -0
  437. package/fesm2015/primeng-icons-searchminus.mjs.map +1 -0
  438. package/fesm2015/primeng-icons-searchplus.mjs +57 -0
  439. package/fesm2015/primeng-icons-searchplus.mjs.map +1 -0
  440. package/fesm2015/primeng-icons-sortalt.mjs +65 -0
  441. package/fesm2015/primeng-icons-sortalt.mjs.map +1 -0
  442. package/fesm2015/primeng-icons-sortamountdown.mjs +93 -0
  443. package/fesm2015/primeng-icons-sortamountdown.mjs.map +1 -0
  444. package/fesm2015/primeng-icons-sortamountupalt.mjs +93 -0
  445. package/fesm2015/primeng-icons-sortamountupalt.mjs.map +1 -0
  446. package/fesm2015/primeng-icons-spinner.mjs +53 -0
  447. package/fesm2015/primeng-icons-spinner.mjs.map +1 -0
  448. package/fesm2015/primeng-icons-star.mjs +53 -0
  449. package/fesm2015/primeng-icons-star.mjs.map +1 -0
  450. package/fesm2015/primeng-icons-starfill.mjs +53 -0
  451. package/fesm2015/primeng-icons-starfill.mjs.map +1 -0
  452. package/fesm2015/primeng-icons-thlarge.mjs +57 -0
  453. package/fesm2015/primeng-icons-thlarge.mjs.map +1 -0
  454. package/fesm2015/primeng-icons-times.mjs +39 -0
  455. package/fesm2015/primeng-icons-times.mjs.map +1 -0
  456. package/fesm2015/primeng-icons-timescircle.mjs +57 -0
  457. package/fesm2015/primeng-icons-timescircle.mjs.map +1 -0
  458. package/fesm2015/primeng-icons-trash.mjs +57 -0
  459. package/fesm2015/primeng-icons-trash.mjs.map +1 -0
  460. package/fesm2015/primeng-icons-undo.mjs +57 -0
  461. package/fesm2015/primeng-icons-undo.mjs.map +1 -0
  462. package/fesm2015/primeng-icons-upload.mjs +57 -0
  463. package/fesm2015/primeng-icons-upload.mjs.map +1 -0
  464. package/fesm2015/primeng-icons-windowmaximize.mjs +57 -0
  465. package/fesm2015/primeng-icons-windowmaximize.mjs.map +1 -0
  466. package/fesm2015/primeng-icons-windowminimize.mjs +57 -0
  467. package/fesm2015/primeng-icons-windowminimize.mjs.map +1 -0
  468. package/fesm2015/primeng-image.mjs +64 -27
  469. package/fesm2015/primeng-image.mjs.map +1 -1
  470. package/fesm2015/primeng-inplace.mjs +35 -18
  471. package/fesm2015/primeng-inplace.mjs.map +1 -1
  472. package/fesm2015/primeng-inputmask.mjs +67 -24
  473. package/fesm2015/primeng-inputmask.mjs.map +1 -1
  474. package/fesm2015/primeng-inputnumber.mjs +137 -43
  475. package/fesm2015/primeng-inputnumber.mjs.map +1 -1
  476. package/fesm2015/primeng-inputswitch.mjs +7 -7
  477. package/fesm2015/primeng-inputtext.mjs +7 -7
  478. package/fesm2015/primeng-inputtextarea.mjs +7 -7
  479. package/fesm2015/primeng-keyfilter.mjs +28 -13
  480. package/fesm2015/primeng-keyfilter.mjs.map +1 -1
  481. package/fesm2015/primeng-knob.mjs +34 -25
  482. package/fesm2015/primeng-knob.mjs.map +1 -1
  483. package/fesm2015/primeng-listbox.mjs +49 -15
  484. package/fesm2015/primeng-listbox.mjs.map +1 -1
  485. package/fesm2015/primeng-megamenu.mjs +58 -26
  486. package/fesm2015/primeng-megamenu.mjs.map +1 -1
  487. package/fesm2015/primeng-menu.mjs +33 -21
  488. package/fesm2015/primeng-menu.mjs.map +1 -1
  489. package/fesm2015/primeng-menubar.mjs +109 -51
  490. package/fesm2015/primeng-menubar.mjs.map +1 -1
  491. package/fesm2015/primeng-message.mjs +26 -33
  492. package/fesm2015/primeng-message.mjs.map +1 -1
  493. package/fesm2015/primeng-messages.mjs +40 -22
  494. package/fesm2015/primeng-messages.mjs.map +1 -1
  495. package/fesm2015/primeng-multiselect.mjs +123 -31
  496. package/fesm2015/primeng-multiselect.mjs.map +1 -1
  497. package/fesm2015/primeng-orderlist.mjs +118 -53
  498. package/fesm2015/primeng-orderlist.mjs.map +1 -1
  499. package/fesm2015/primeng-organizationchart.mjs +34 -15
  500. package/fesm2015/primeng-organizationchart.mjs.map +1 -1
  501. package/fesm2015/primeng-overlay.mjs +22 -15
  502. package/fesm2015/primeng-overlay.mjs.map +1 -1
  503. package/fesm2015/primeng-overlaypanel.mjs +70 -42
  504. package/fesm2015/primeng-overlaypanel.mjs.map +1 -1
  505. package/fesm2015/primeng-paginator.mjs +69 -20
  506. package/fesm2015/primeng-paginator.mjs.map +1 -1
  507. package/fesm2015/primeng-panel.mjs +40 -13
  508. package/fesm2015/primeng-panel.mjs.map +1 -1
  509. package/fesm2015/primeng-panelmenu.mjs +105 -25
  510. package/fesm2015/primeng-panelmenu.mjs.map +1 -1
  511. package/fesm2015/primeng-password.mjs +149 -71
  512. package/fesm2015/primeng-password.mjs.map +1 -1
  513. package/fesm2015/primeng-picklist.mjs +280 -97
  514. package/fesm2015/primeng-picklist.mjs.map +1 -1
  515. package/fesm2015/primeng-progressbar.mjs +7 -7
  516. package/fesm2015/primeng-progressspinner.mjs +7 -7
  517. package/fesm2015/primeng-radiobutton.mjs +10 -10
  518. package/fesm2015/primeng-rating.mjs +44 -34
  519. package/fesm2015/primeng-rating.mjs.map +1 -1
  520. package/fesm2015/primeng-ripple.mjs +42 -29
  521. package/fesm2015/primeng-ripple.mjs.map +1 -1
  522. package/fesm2015/primeng-scroller.mjs +48 -33
  523. package/fesm2015/primeng-scroller.mjs.map +1 -1
  524. package/fesm2015/primeng-scrollpanel.mjs +84 -41
  525. package/fesm2015/primeng-scrollpanel.mjs.map +1 -1
  526. package/fesm2015/primeng-scrolltop.mjs +67 -32
  527. package/fesm2015/primeng-scrolltop.mjs.map +1 -1
  528. package/fesm2015/primeng-selectbutton.mjs +7 -7
  529. package/fesm2015/primeng-sidebar.mjs +41 -26
  530. package/fesm2015/primeng-sidebar.mjs.map +1 -1
  531. package/fesm2015/primeng-skeleton.mjs +7 -7
  532. package/fesm2015/primeng-slidemenu.mjs +114 -53
  533. package/fesm2015/primeng-slidemenu.mjs.map +1 -1
  534. package/fesm2015/primeng-slider.mjs +53 -39
  535. package/fesm2015/primeng-slider.mjs.map +1 -1
  536. package/fesm2015/primeng-speeddial.mjs +49 -33
  537. package/fesm2015/primeng-speeddial.mjs.map +1 -1
  538. package/fesm2015/primeng-spinner.mjs +7 -7
  539. package/fesm2015/primeng-splitbutton.mjs +21 -11
  540. package/fesm2015/primeng-splitbutton.mjs.map +1 -1
  541. package/fesm2015/primeng-splitter.mjs +50 -37
  542. package/fesm2015/primeng-splitter.mjs.map +1 -1
  543. package/fesm2015/primeng-steps.mjs +7 -7
  544. package/fesm2015/primeng-styleclass.mjs +7 -7
  545. package/fesm2015/primeng-table.mjs +523 -243
  546. package/fesm2015/primeng-table.mjs.map +1 -1
  547. package/fesm2015/primeng-tabmenu.mjs +41 -21
  548. package/fesm2015/primeng-tabmenu.mjs.map +1 -1
  549. package/fesm2015/primeng-tabview.mjs +86 -31
  550. package/fesm2015/primeng-tabview.mjs.map +1 -1
  551. package/fesm2015/primeng-tag.mjs +36 -14
  552. package/fesm2015/primeng-tag.mjs.map +1 -1
  553. package/fesm2015/primeng-terminal.mjs +10 -11
  554. package/fesm2015/primeng-tieredmenu.mjs +73 -33
  555. package/fesm2015/primeng-tieredmenu.mjs.map +1 -1
  556. package/fesm2015/primeng-timeline.mjs +7 -8
  557. package/fesm2015/primeng-toast.mjs +63 -28
  558. package/fesm2015/primeng-toast.mjs.map +1 -1
  559. package/fesm2015/primeng-togglebutton.mjs +7 -8
  560. package/fesm2015/primeng-toolbar.mjs +7 -8
  561. package/fesm2015/primeng-tooltip.mjs +36 -28
  562. package/fesm2015/primeng-tooltip.mjs.map +1 -1
  563. package/fesm2015/primeng-tree.mjs +109 -27
  564. package/fesm2015/primeng-tree.mjs.map +1 -1
  565. package/fesm2015/primeng-treeselect.mjs +87 -18
  566. package/fesm2015/primeng-treeselect.mjs.map +1 -1
  567. package/fesm2015/primeng-treetable.mjs +389 -167
  568. package/fesm2015/primeng-treetable.mjs.map +1 -1
  569. package/fesm2015/primeng-tristatecheckbox.mjs +67 -17
  570. package/fesm2015/primeng-tristatecheckbox.mjs.map +1 -1
  571. package/fesm2015/primeng-virtualscroller.mjs +7 -8
  572. package/fesm2020/primeng-accordion.mjs +39 -16
  573. package/fesm2020/primeng-accordion.mjs.map +1 -1
  574. package/fesm2020/primeng-animate.mjs +7 -7
  575. package/fesm2020/primeng-api.mjs +34 -34
  576. package/fesm2020/primeng-autocomplete.mjs +89 -34
  577. package/fesm2020/primeng-autocomplete.mjs.map +1 -1
  578. package/fesm2020/primeng-autofocus.mjs +7 -7
  579. package/fesm2020/primeng-avatar.mjs +7 -7
  580. package/fesm2020/primeng-avatargroup.mjs +7 -7
  581. package/fesm2020/primeng-badge.mjs +24 -19
  582. package/fesm2020/primeng-badge.mjs.map +1 -1
  583. package/fesm2020/primeng-baseicon.mjs +49 -0
  584. package/fesm2020/primeng-baseicon.mjs.map +1 -0
  585. package/fesm2020/primeng-blockui.mjs +20 -16
  586. package/fesm2020/primeng-blockui.mjs.map +1 -1
  587. package/fesm2020/primeng-breadcrumb.mjs +50 -19
  588. package/fesm2020/primeng-breadcrumb.mjs.map +1 -1
  589. package/fesm2020/primeng-button.mjs +100 -64
  590. package/fesm2020/primeng-button.mjs.map +1 -1
  591. package/fesm2020/primeng-calendar.mjs +134 -56
  592. package/fesm2020/primeng-calendar.mjs.map +1 -1
  593. package/fesm2020/primeng-card.mjs +7 -7
  594. package/fesm2020/primeng-carousel.mjs +66 -24
  595. package/fesm2020/primeng-carousel.mjs.map +1 -1
  596. package/fesm2020/primeng-cascadeselect.mjs +61 -19
  597. package/fesm2020/primeng-cascadeselect.mjs.map +1 -1
  598. package/fesm2020/primeng-chart.mjs +29 -22
  599. package/fesm2020/primeng-chart.mjs.map +1 -1
  600. package/fesm2020/primeng-checkbox.mjs +45 -14
  601. package/fesm2020/primeng-checkbox.mjs.map +1 -1
  602. package/fesm2020/primeng-chip.mjs +47 -15
  603. package/fesm2020/primeng-chip.mjs.map +1 -1
  604. package/fesm2020/primeng-chips.mjs +46 -18
  605. package/fesm2020/primeng-chips.mjs.map +1 -1
  606. package/fesm2020/primeng-colorpicker.mjs +29 -19
  607. package/fesm2020/primeng-colorpicker.mjs.map +1 -1
  608. package/fesm2020/primeng-confirmdialog.mjs +69 -29
  609. package/fesm2020/primeng-confirmdialog.mjs.map +1 -1
  610. package/fesm2020/primeng-confirmpopup.mjs +58 -29
  611. package/fesm2020/primeng-confirmpopup.mjs.map +1 -1
  612. package/fesm2020/primeng-contextmenu.mjs +64 -35
  613. package/fesm2020/primeng-contextmenu.mjs.map +1 -1
  614. package/fesm2020/primeng-dataview.mjs +45 -20
  615. package/fesm2020/primeng-dataview.mjs.map +1 -1
  616. package/fesm2020/primeng-defer.mjs +35 -24
  617. package/fesm2020/primeng-defer.mjs.map +1 -1
  618. package/fesm2020/primeng-dialog.mjs +119 -65
  619. package/fesm2020/primeng-dialog.mjs.map +1 -1
  620. package/fesm2020/primeng-divider.mjs +7 -7
  621. package/fesm2020/primeng-dock.mjs +7 -7
  622. package/fesm2020/primeng-dom.mjs +9 -2
  623. package/fesm2020/primeng-dom.mjs.map +1 -1
  624. package/fesm2020/primeng-dragdrop.mjs +24 -26
  625. package/fesm2020/primeng-dragdrop.mjs.map +1 -1
  626. package/fesm2020/primeng-dropdown.mjs +66 -19
  627. package/fesm2020/primeng-dropdown.mjs.map +1 -1
  628. package/fesm2020/primeng-dynamicdialog.mjs +85 -61
  629. package/fesm2020/primeng-dynamicdialog.mjs.map +1 -1
  630. package/fesm2020/primeng-editor.mjs +7 -7
  631. package/fesm2020/primeng-fieldset.mjs +41 -11
  632. package/fesm2020/primeng-fieldset.mjs.map +1 -1
  633. package/fesm2020/primeng-fileupload.mjs +141 -33
  634. package/fesm2020/primeng-fileupload.mjs.map +1 -1
  635. package/fesm2020/primeng-focustrap.mjs +7 -7
  636. package/fesm2020/primeng-galleria.mjs +108 -51
  637. package/fesm2020/primeng-galleria.mjs.map +1 -1
  638. package/fesm2020/primeng-icons-angledoubledown.mjs +43 -0
  639. package/fesm2020/primeng-icons-angledoubledown.mjs.map +1 -0
  640. package/fesm2020/primeng-icons-angledoubleleft.mjs +43 -0
  641. package/fesm2020/primeng-icons-angledoubleleft.mjs.map +1 -0
  642. package/fesm2020/primeng-icons-angledoubleright.mjs +43 -0
  643. package/fesm2020/primeng-icons-angledoubleright.mjs.map +1 -0
  644. package/fesm2020/primeng-icons-angledoubleup.mjs +43 -0
  645. package/fesm2020/primeng-icons-angledoubleup.mjs.map +1 -0
  646. package/fesm2020/primeng-icons-angledown.mjs +39 -0
  647. package/fesm2020/primeng-icons-angledown.mjs.map +1 -0
  648. package/fesm2020/primeng-icons-angleleft.mjs +39 -0
  649. package/fesm2020/primeng-icons-angleleft.mjs.map +1 -0
  650. package/fesm2020/primeng-icons-angleright.mjs +39 -0
  651. package/fesm2020/primeng-icons-angleright.mjs.map +1 -0
  652. package/fesm2020/primeng-icons-angleup.mjs +39 -0
  653. package/fesm2020/primeng-icons-angleup.mjs.map +1 -0
  654. package/fesm2020/primeng-icons-arrowdown.mjs +57 -0
  655. package/fesm2020/primeng-icons-arrowdown.mjs.map +1 -0
  656. package/fesm2020/primeng-icons-arrowdownleft.mjs +39 -0
  657. package/fesm2020/primeng-icons-arrowdownleft.mjs.map +1 -0
  658. package/fesm2020/primeng-icons-arrowdownright.mjs +39 -0
  659. package/fesm2020/primeng-icons-arrowdownright.mjs.map +1 -0
  660. package/fesm2020/primeng-icons-arrowleft.mjs +57 -0
  661. package/fesm2020/primeng-icons-arrowleft.mjs.map +1 -0
  662. package/fesm2020/primeng-icons-arrowright.mjs +43 -0
  663. package/fesm2020/primeng-icons-arrowright.mjs.map +1 -0
  664. package/fesm2020/primeng-icons-arrowup.mjs +57 -0
  665. package/fesm2020/primeng-icons-arrowup.mjs.map +1 -0
  666. package/fesm2020/primeng-icons-ban.mjs +53 -0
  667. package/fesm2020/primeng-icons-ban.mjs.map +1 -0
  668. package/fesm2020/primeng-icons-bars.mjs +43 -0
  669. package/fesm2020/primeng-icons-bars.mjs.map +1 -0
  670. package/fesm2020/primeng-icons-calendar.mjs +39 -0
  671. package/fesm2020/primeng-icons-calendar.mjs.map +1 -0
  672. package/fesm2020/primeng-icons-caretleft.mjs +39 -0
  673. package/fesm2020/primeng-icons-caretleft.mjs.map +1 -0
  674. package/fesm2020/primeng-icons-caretright.mjs +39 -0
  675. package/fesm2020/primeng-icons-caretright.mjs.map +1 -0
  676. package/fesm2020/primeng-icons-check.mjs +39 -0
  677. package/fesm2020/primeng-icons-check.mjs.map +1 -0
  678. package/fesm2020/primeng-icons-chevrondown.mjs +39 -0
  679. package/fesm2020/primeng-icons-chevrondown.mjs.map +1 -0
  680. package/fesm2020/primeng-icons-chevronleft.mjs +39 -0
  681. package/fesm2020/primeng-icons-chevronleft.mjs.map +1 -0
  682. package/fesm2020/primeng-icons-chevronright.mjs +39 -0
  683. package/fesm2020/primeng-icons-chevronright.mjs.map +1 -0
  684. package/fesm2020/primeng-icons-chevronup.mjs +39 -0
  685. package/fesm2020/primeng-icons-chevronup.mjs.map +1 -0
  686. package/fesm2020/primeng-icons-exclamationtriangle.mjs +69 -0
  687. package/fesm2020/primeng-icons-exclamationtriangle.mjs.map +1 -0
  688. package/fesm2020/primeng-icons-eye.mjs +43 -0
  689. package/fesm2020/primeng-icons-eye.mjs.map +1 -0
  690. package/fesm2020/primeng-icons-eyeslash.mjs +57 -0
  691. package/fesm2020/primeng-icons-eyeslash.mjs.map +1 -0
  692. package/fesm2020/primeng-icons-filter.mjs +53 -0
  693. package/fesm2020/primeng-icons-filter.mjs.map +1 -0
  694. package/fesm2020/primeng-icons-filterslash.mjs +57 -0
  695. package/fesm2020/primeng-icons-filterslash.mjs.map +1 -0
  696. package/fesm2020/primeng-icons-home.mjs +57 -0
  697. package/fesm2020/primeng-icons-home.mjs.map +1 -0
  698. package/fesm2020/primeng-icons-infocircle.mjs +57 -0
  699. package/fesm2020/primeng-icons-infocircle.mjs.map +1 -0
  700. package/fesm2020/primeng-icons-minus.mjs +40 -0
  701. package/fesm2020/primeng-icons-minus.mjs.map +1 -0
  702. package/fesm2020/primeng-icons-pencil.mjs +53 -0
  703. package/fesm2020/primeng-icons-pencil.mjs.map +1 -0
  704. package/fesm2020/primeng-icons-plus.mjs +53 -0
  705. package/fesm2020/primeng-icons-plus.mjs.map +1 -0
  706. package/fesm2020/primeng-icons-refresh.mjs +57 -0
  707. package/fesm2020/primeng-icons-refresh.mjs.map +1 -0
  708. package/fesm2020/primeng-icons-search.mjs +57 -0
  709. package/fesm2020/primeng-icons-search.mjs.map +1 -0
  710. package/fesm2020/primeng-icons-searchminus.mjs +57 -0
  711. package/fesm2020/primeng-icons-searchminus.mjs.map +1 -0
  712. package/fesm2020/primeng-icons-searchplus.mjs +57 -0
  713. package/fesm2020/primeng-icons-searchplus.mjs.map +1 -0
  714. package/fesm2020/primeng-icons-sortalt.mjs +65 -0
  715. package/fesm2020/primeng-icons-sortalt.mjs.map +1 -0
  716. package/fesm2020/primeng-icons-sortamountdown.mjs +93 -0
  717. package/fesm2020/primeng-icons-sortamountdown.mjs.map +1 -0
  718. package/fesm2020/primeng-icons-sortamountupalt.mjs +93 -0
  719. package/fesm2020/primeng-icons-sortamountupalt.mjs.map +1 -0
  720. package/fesm2020/primeng-icons-spinner.mjs +53 -0
  721. package/fesm2020/primeng-icons-spinner.mjs.map +1 -0
  722. package/fesm2020/primeng-icons-star.mjs +53 -0
  723. package/fesm2020/primeng-icons-star.mjs.map +1 -0
  724. package/fesm2020/primeng-icons-starfill.mjs +53 -0
  725. package/fesm2020/primeng-icons-starfill.mjs.map +1 -0
  726. package/fesm2020/primeng-icons-thlarge.mjs +57 -0
  727. package/fesm2020/primeng-icons-thlarge.mjs.map +1 -0
  728. package/fesm2020/primeng-icons-times.mjs +39 -0
  729. package/fesm2020/primeng-icons-times.mjs.map +1 -0
  730. package/fesm2020/primeng-icons-timescircle.mjs +57 -0
  731. package/fesm2020/primeng-icons-timescircle.mjs.map +1 -0
  732. package/fesm2020/primeng-icons-trash.mjs +57 -0
  733. package/fesm2020/primeng-icons-trash.mjs.map +1 -0
  734. package/fesm2020/primeng-icons-undo.mjs +57 -0
  735. package/fesm2020/primeng-icons-undo.mjs.map +1 -0
  736. package/fesm2020/primeng-icons-upload.mjs +57 -0
  737. package/fesm2020/primeng-icons-upload.mjs.map +1 -0
  738. package/fesm2020/primeng-icons-windowmaximize.mjs +57 -0
  739. package/fesm2020/primeng-icons-windowmaximize.mjs.map +1 -0
  740. package/fesm2020/primeng-icons-windowminimize.mjs +57 -0
  741. package/fesm2020/primeng-icons-windowminimize.mjs.map +1 -0
  742. package/fesm2020/primeng-image.mjs +62 -27
  743. package/fesm2020/primeng-image.mjs.map +1 -1
  744. package/fesm2020/primeng-inplace.mjs +35 -18
  745. package/fesm2020/primeng-inplace.mjs.map +1 -1
  746. package/fesm2020/primeng-inputmask.mjs +65 -24
  747. package/fesm2020/primeng-inputmask.mjs.map +1 -1
  748. package/fesm2020/primeng-inputnumber.mjs +135 -43
  749. package/fesm2020/primeng-inputnumber.mjs.map +1 -1
  750. package/fesm2020/primeng-inputswitch.mjs +7 -7
  751. package/fesm2020/primeng-inputtext.mjs +7 -7
  752. package/fesm2020/primeng-inputtextarea.mjs +7 -7
  753. package/fesm2020/primeng-keyfilter.mjs +26 -13
  754. package/fesm2020/primeng-keyfilter.mjs.map +1 -1
  755. package/fesm2020/primeng-knob.mjs +32 -25
  756. package/fesm2020/primeng-knob.mjs.map +1 -1
  757. package/fesm2020/primeng-listbox.mjs +49 -15
  758. package/fesm2020/primeng-listbox.mjs.map +1 -1
  759. package/fesm2020/primeng-megamenu.mjs +56 -26
  760. package/fesm2020/primeng-megamenu.mjs.map +1 -1
  761. package/fesm2020/primeng-menu.mjs +31 -21
  762. package/fesm2020/primeng-menu.mjs.map +1 -1
  763. package/fesm2020/primeng-menubar.mjs +105 -51
  764. package/fesm2020/primeng-menubar.mjs.map +1 -1
  765. package/fesm2020/primeng-message.mjs +26 -33
  766. package/fesm2020/primeng-message.mjs.map +1 -1
  767. package/fesm2020/primeng-messages.mjs +40 -22
  768. package/fesm2020/primeng-messages.mjs.map +1 -1
  769. package/fesm2020/primeng-multiselect.mjs +123 -31
  770. package/fesm2020/primeng-multiselect.mjs.map +1 -1
  771. package/fesm2020/primeng-orderlist.mjs +116 -53
  772. package/fesm2020/primeng-orderlist.mjs.map +1 -1
  773. package/fesm2020/primeng-organizationchart.mjs +34 -15
  774. package/fesm2020/primeng-organizationchart.mjs.map +1 -1
  775. package/fesm2020/primeng-overlay.mjs +22 -15
  776. package/fesm2020/primeng-overlay.mjs.map +1 -1
  777. package/fesm2020/primeng-overlaypanel.mjs +68 -42
  778. package/fesm2020/primeng-overlaypanel.mjs.map +1 -1
  779. package/fesm2020/primeng-paginator.mjs +69 -20
  780. package/fesm2020/primeng-paginator.mjs.map +1 -1
  781. package/fesm2020/primeng-panel.mjs +40 -13
  782. package/fesm2020/primeng-panel.mjs.map +1 -1
  783. package/fesm2020/primeng-panelmenu.mjs +105 -25
  784. package/fesm2020/primeng-panelmenu.mjs.map +1 -1
  785. package/fesm2020/primeng-password.mjs +145 -71
  786. package/fesm2020/primeng-password.mjs.map +1 -1
  787. package/fesm2020/primeng-picklist.mjs +278 -97
  788. package/fesm2020/primeng-picklist.mjs.map +1 -1
  789. package/fesm2020/primeng-progressbar.mjs +7 -7
  790. package/fesm2020/primeng-progressspinner.mjs +7 -7
  791. package/fesm2020/primeng-radiobutton.mjs +10 -10
  792. package/fesm2020/primeng-rating.mjs +44 -34
  793. package/fesm2020/primeng-rating.mjs.map +1 -1
  794. package/fesm2020/primeng-ripple.mjs +42 -29
  795. package/fesm2020/primeng-ripple.mjs.map +1 -1
  796. package/fesm2020/primeng-scroller.mjs +46 -33
  797. package/fesm2020/primeng-scroller.mjs.map +1 -1
  798. package/fesm2020/primeng-scrollpanel.mjs +82 -41
  799. package/fesm2020/primeng-scrollpanel.mjs.map +1 -1
  800. package/fesm2020/primeng-scrolltop.mjs +65 -32
  801. package/fesm2020/primeng-scrolltop.mjs.map +1 -1
  802. package/fesm2020/primeng-selectbutton.mjs +7 -7
  803. package/fesm2020/primeng-sidebar.mjs +39 -26
  804. package/fesm2020/primeng-sidebar.mjs.map +1 -1
  805. package/fesm2020/primeng-skeleton.mjs +7 -7
  806. package/fesm2020/primeng-slidemenu.mjs +112 -53
  807. package/fesm2020/primeng-slidemenu.mjs.map +1 -1
  808. package/fesm2020/primeng-slider.mjs +51 -39
  809. package/fesm2020/primeng-slider.mjs.map +1 -1
  810. package/fesm2020/primeng-speeddial.mjs +47 -33
  811. package/fesm2020/primeng-speeddial.mjs.map +1 -1
  812. package/fesm2020/primeng-spinner.mjs +7 -7
  813. package/fesm2020/primeng-splitbutton.mjs +21 -11
  814. package/fesm2020/primeng-splitbutton.mjs.map +1 -1
  815. package/fesm2020/primeng-splitter.mjs +48 -37
  816. package/fesm2020/primeng-splitter.mjs.map +1 -1
  817. package/fesm2020/primeng-steps.mjs +7 -7
  818. package/fesm2020/primeng-styleclass.mjs +7 -7
  819. package/fesm2020/primeng-table.mjs +515 -243
  820. package/fesm2020/primeng-table.mjs.map +1 -1
  821. package/fesm2020/primeng-tabmenu.mjs +39 -21
  822. package/fesm2020/primeng-tabmenu.mjs.map +1 -1
  823. package/fesm2020/primeng-tabview.mjs +84 -31
  824. package/fesm2020/primeng-tabview.mjs.map +1 -1
  825. package/fesm2020/primeng-tag.mjs +36 -14
  826. package/fesm2020/primeng-tag.mjs.map +1 -1
  827. package/fesm2020/primeng-terminal.mjs +10 -11
  828. package/fesm2020/primeng-tieredmenu.mjs +69 -33
  829. package/fesm2020/primeng-tieredmenu.mjs.map +1 -1
  830. package/fesm2020/primeng-timeline.mjs +7 -8
  831. package/fesm2020/primeng-toast.mjs +61 -28
  832. package/fesm2020/primeng-toast.mjs.map +1 -1
  833. package/fesm2020/primeng-togglebutton.mjs +7 -8
  834. package/fesm2020/primeng-toolbar.mjs +7 -8
  835. package/fesm2020/primeng-tooltip.mjs +34 -28
  836. package/fesm2020/primeng-tooltip.mjs.map +1 -1
  837. package/fesm2020/primeng-tree.mjs +109 -27
  838. package/fesm2020/primeng-tree.mjs.map +1 -1
  839. package/fesm2020/primeng-treeselect.mjs +87 -18
  840. package/fesm2020/primeng-treeselect.mjs.map +1 -1
  841. package/fesm2020/primeng-treetable.mjs +381 -167
  842. package/fesm2020/primeng-treetable.mjs.map +1 -1
  843. package/fesm2020/primeng-tristatecheckbox.mjs +67 -17
  844. package/fesm2020/primeng-tristatecheckbox.mjs.map +1 -1
  845. package/fesm2020/primeng-virtualscroller.mjs +7 -8
  846. package/fieldset/fieldset.d.ts +6 -2
  847. package/fileupload/fileupload.d.ts +13 -3
  848. package/galleria/galleria.d.ts +22 -5
  849. package/icons/angledoubledown/angledoubledown.d.ts +6 -0
  850. package/icons/angledoubledown/index.d.ts +5 -0
  851. package/icons/angledoubledown/public_api.d.ts +1 -0
  852. package/icons/angledoubleleft/angledoubleleft.d.ts +6 -0
  853. package/icons/angledoubleleft/index.d.ts +5 -0
  854. package/icons/angledoubleleft/public_api.d.ts +1 -0
  855. package/icons/angledoubleright/angledoubleright.d.ts +6 -0
  856. package/icons/angledoubleright/index.d.ts +5 -0
  857. package/icons/angledoubleright/public_api.d.ts +1 -0
  858. package/icons/angledoubleup/angledoubleup.d.ts +6 -0
  859. package/icons/angledoubleup/index.d.ts +5 -0
  860. package/icons/angledoubleup/public_api.d.ts +1 -0
  861. package/icons/angledown/angledown.d.ts +6 -0
  862. package/icons/angledown/index.d.ts +5 -0
  863. package/icons/angledown/public_api.d.ts +1 -0
  864. package/icons/angleleft/angleleft.d.ts +6 -0
  865. package/icons/angleleft/index.d.ts +5 -0
  866. package/icons/angleleft/public_api.d.ts +1 -0
  867. package/icons/angleright/angleright.d.ts +6 -0
  868. package/icons/angleright/index.d.ts +5 -0
  869. package/icons/angleright/public_api.d.ts +1 -0
  870. package/icons/angleup/angleup.d.ts +6 -0
  871. package/icons/angleup/index.d.ts +5 -0
  872. package/icons/angleup/public_api.d.ts +1 -0
  873. package/icons/arrowdown/arrowdown.d.ts +6 -0
  874. package/icons/arrowdown/index.d.ts +5 -0
  875. package/icons/arrowdown/public_api.d.ts +1 -0
  876. package/icons/arrowdownleft/arrowdownleft.d.ts +6 -0
  877. package/icons/arrowdownleft/index.d.ts +5 -0
  878. package/icons/arrowdownleft/public_api.d.ts +1 -0
  879. package/icons/arrowdownright/arrowdownright.d.ts +6 -0
  880. package/icons/arrowdownright/index.d.ts +5 -0
  881. package/icons/arrowdownright/public_api.d.ts +1 -0
  882. package/icons/arrowleft/arrowleft.d.ts +6 -0
  883. package/icons/arrowleft/index.d.ts +5 -0
  884. package/icons/arrowleft/public_api.d.ts +1 -0
  885. package/icons/arrowright/arrowright.d.ts +6 -0
  886. package/icons/arrowright/index.d.ts +5 -0
  887. package/icons/arrowright/public_api.d.ts +1 -0
  888. package/icons/arrowup/arrowup.d.ts +6 -0
  889. package/icons/arrowup/index.d.ts +5 -0
  890. package/icons/arrowup/public_api.d.ts +1 -0
  891. package/icons/ban/ban.d.ts +6 -0
  892. package/{captcha → icons/ban}/index.d.ts +1 -1
  893. package/icons/ban/public_api.d.ts +1 -0
  894. package/icons/bars/bars.d.ts +6 -0
  895. package/icons/bars/index.d.ts +5 -0
  896. package/icons/bars/public_api.d.ts +1 -0
  897. package/icons/calendar/calendar.d.ts +6 -0
  898. package/icons/calendar/index.d.ts +5 -0
  899. package/icons/calendar/public_api.d.ts +1 -0
  900. package/icons/caretleft/caretleft.d.ts +6 -0
  901. package/icons/caretleft/index.d.ts +5 -0
  902. package/icons/caretleft/public_api.d.ts +1 -0
  903. package/icons/caretright/caretright.d.ts +6 -0
  904. package/icons/caretright/index.d.ts +5 -0
  905. package/icons/caretright/public_api.d.ts +1 -0
  906. package/icons/check/check.d.ts +6 -0
  907. package/icons/check/index.d.ts +5 -0
  908. package/icons/check/public_api.d.ts +1 -0
  909. package/icons/chevrondown/chevrondown.d.ts +6 -0
  910. package/icons/chevrondown/index.d.ts +5 -0
  911. package/icons/chevrondown/public_api.d.ts +1 -0
  912. package/icons/chevronleft/chevronleft.d.ts +6 -0
  913. package/icons/chevronleft/index.d.ts +5 -0
  914. package/icons/chevronleft/public_api.d.ts +1 -0
  915. package/icons/chevronright/chevronright.d.ts +6 -0
  916. package/icons/chevronright/index.d.ts +5 -0
  917. package/icons/chevronright/public_api.d.ts +1 -0
  918. package/icons/chevronup/chevronup.d.ts +6 -0
  919. package/icons/chevronup/index.d.ts +5 -0
  920. package/icons/chevronup/public_api.d.ts +1 -0
  921. package/icons/exclamationtriangle/exclamationtriangle.d.ts +6 -0
  922. package/icons/exclamationtriangle/index.d.ts +5 -0
  923. package/icons/exclamationtriangle/public_api.d.ts +1 -0
  924. package/icons/eye/eye.d.ts +6 -0
  925. package/{lightbox → icons/eye}/index.d.ts +1 -1
  926. package/icons/eye/public_api.d.ts +1 -0
  927. package/icons/eyeslash/eyeslash.d.ts +6 -0
  928. package/icons/eyeslash/index.d.ts +5 -0
  929. package/icons/eyeslash/public_api.d.ts +1 -0
  930. package/icons/filter/filter.d.ts +6 -0
  931. package/icons/filter/index.d.ts +5 -0
  932. package/icons/filter/public_api.d.ts +1 -0
  933. package/icons/filterslash/filterslash.d.ts +6 -0
  934. package/icons/filterslash/index.d.ts +5 -0
  935. package/icons/filterslash/public_api.d.ts +1 -0
  936. package/icons/home/home.d.ts +6 -0
  937. package/icons/home/index.d.ts +5 -0
  938. package/icons/home/public_api.d.ts +1 -0
  939. package/icons/infocircle/index.d.ts +5 -0
  940. package/icons/infocircle/infocircle.d.ts +6 -0
  941. package/icons/infocircle/public_api.d.ts +1 -0
  942. package/icons/minus/index.d.ts +5 -0
  943. package/icons/minus/minus.d.ts +6 -0
  944. package/icons/minus/public_api.d.ts +1 -0
  945. package/icons/pencil/index.d.ts +5 -0
  946. package/icons/pencil/pencil.d.ts +6 -0
  947. package/icons/pencil/public_api.d.ts +1 -0
  948. package/icons/plus/index.d.ts +5 -0
  949. package/icons/plus/plus.d.ts +6 -0
  950. package/icons/plus/public_api.d.ts +1 -0
  951. package/icons/refresh/index.d.ts +5 -0
  952. package/icons/refresh/public_api.d.ts +1 -0
  953. package/icons/refresh/refresh.d.ts +6 -0
  954. package/icons/search/index.d.ts +5 -0
  955. package/icons/search/public_api.d.ts +1 -0
  956. package/icons/search/search.d.ts +6 -0
  957. package/icons/searchminus/index.d.ts +5 -0
  958. package/icons/searchminus/public_api.d.ts +1 -0
  959. package/icons/searchminus/searchminus.d.ts +6 -0
  960. package/icons/searchplus/index.d.ts +5 -0
  961. package/icons/searchplus/public_api.d.ts +1 -0
  962. package/icons/searchplus/searchplus.d.ts +6 -0
  963. package/icons/sortalt/index.d.ts +5 -0
  964. package/icons/sortalt/public_api.d.ts +1 -0
  965. package/icons/sortalt/sortalt.d.ts +6 -0
  966. package/icons/sortamountdown/index.d.ts +5 -0
  967. package/icons/sortamountdown/public_api.d.ts +1 -0
  968. package/icons/sortamountdown/sortamountdown.d.ts +6 -0
  969. package/icons/sortamountupalt/index.d.ts +5 -0
  970. package/icons/sortamountupalt/public_api.d.ts +1 -0
  971. package/icons/sortamountupalt/sortamountupalt.d.ts +6 -0
  972. package/icons/spinner/index.d.ts +5 -0
  973. package/icons/spinner/public_api.d.ts +1 -0
  974. package/icons/spinner/spinner.d.ts +6 -0
  975. package/icons/star/index.d.ts +5 -0
  976. package/icons/star/public_api.d.ts +1 -0
  977. package/icons/star/star.d.ts +6 -0
  978. package/icons/starfill/index.d.ts +5 -0
  979. package/icons/starfill/public_api.d.ts +1 -0
  980. package/icons/starfill/starfill.d.ts +6 -0
  981. package/icons/thlarge/index.d.ts +5 -0
  982. package/icons/thlarge/public_api.d.ts +1 -0
  983. package/icons/thlarge/thlarge.d.ts +6 -0
  984. package/icons/times/index.d.ts +5 -0
  985. package/icons/times/public_api.d.ts +1 -0
  986. package/icons/times/times.d.ts +6 -0
  987. package/icons/timescircle/index.d.ts +5 -0
  988. package/icons/timescircle/public_api.d.ts +1 -0
  989. package/icons/timescircle/timescircle.d.ts +6 -0
  990. package/icons/trash/index.d.ts +5 -0
  991. package/icons/trash/public_api.d.ts +1 -0
  992. package/icons/trash/trash.d.ts +6 -0
  993. package/icons/undo/index.d.ts +5 -0
  994. package/icons/undo/public_api.d.ts +1 -0
  995. package/icons/undo/undo.d.ts +6 -0
  996. package/icons/upload/index.d.ts +5 -0
  997. package/icons/upload/public_api.d.ts +1 -0
  998. package/icons/upload/upload.d.ts +6 -0
  999. package/icons/windowmaximize/index.d.ts +5 -0
  1000. package/icons/windowmaximize/public_api.d.ts +1 -0
  1001. package/icons/windowmaximize/windowmaximize.d.ts +6 -0
  1002. package/icons/windowminimize/index.d.ts +5 -0
  1003. package/icons/windowminimize/public_api.d.ts +1 -0
  1004. package/icons/windowminimize/windowminimize.d.ts +6 -0
  1005. package/image/image.d.ts +14 -2
  1006. package/inplace/inplace.d.ts +3 -1
  1007. package/inputmask/inputmask.d.ts +11 -4
  1008. package/inputnumber/inputnumber.d.ts +15 -5
  1009. package/keyfilter/keyfilter.d.ts +3 -1
  1010. package/knob/knob.d.ts +8 -6
  1011. package/listbox/listbox.d.ts +5 -1
  1012. package/megamenu/megamenu.d.ts +8 -3
  1013. package/menu/menu.d.ts +7 -4
  1014. package/menubar/menubar.d.ts +15 -5
  1015. package/message/message.d.ts +5 -1
  1016. package/messages/messages.d.ts +6 -1
  1017. package/multiselect/multiselect.d.ts +14 -2
  1018. package/orderlist/orderlist.d.ts +16 -3
  1019. package/organizationchart/organizationchart.d.ts +5 -2
  1020. package/overlay/overlay.d.ts +3 -3
  1021. package/overlaypanel/overlaypanel.d.ts +11 -6
  1022. package/package.json +425 -26
  1023. package/paginator/paginator.d.ts +14 -4
  1024. package/panel/panel.d.ts +4 -1
  1025. package/panelmenu/panelmenu.d.ts +14 -5
  1026. package/password/password.d.ts +22 -12
  1027. package/picklist/picklist.d.ts +37 -4
  1028. package/rating/rating.d.ts +5 -2
  1029. package/resources/components/autocomplete/autocomplete.css +1 -1
  1030. package/resources/components/chip/chip.css +4 -1
  1031. package/resources/components/common/common.css +34 -0
  1032. package/resources/components/contextmenu/contextmenu.css +5 -1
  1033. package/resources/components/image/image.css +5 -1
  1034. package/resources/components/inputtext/inputtext.css +3 -1
  1035. package/resources/components/megamenu/megamenu.css +4 -1
  1036. package/resources/components/menubar/menubar.css +5 -1
  1037. package/resources/components/multiselect/multiselect.css +0 -4
  1038. package/resources/components/rating/rating.css +4 -1
  1039. package/resources/components/scroller/scroller.css +1 -1
  1040. package/resources/components/sidebar/sidebar.css +1 -0
  1041. package/resources/components/slidemenu/slidemenu.css +6 -1
  1042. package/resources/components/tabmenu/tabmenu.css +1 -1
  1043. package/resources/primeng.css +36 -1
  1044. package/resources/primeng.min.css +1 -1
  1045. package/resources/themes/arya-blue/theme.css +96 -9
  1046. package/resources/themes/arya-green/theme.css +96 -9
  1047. package/resources/themes/arya-orange/theme.css +96 -9
  1048. package/resources/themes/arya-purple/theme.css +96 -9
  1049. package/resources/themes/bootstrap4-dark-blue/theme.css +96 -9
  1050. package/resources/themes/bootstrap4-dark-purple/theme.css +96 -9
  1051. package/resources/themes/bootstrap4-light-blue/theme.css +96 -9
  1052. package/resources/themes/bootstrap4-light-purple/theme.css +96 -9
  1053. package/resources/themes/fluent-light/theme.css +96 -9
  1054. package/resources/themes/lara-dark-blue/theme.css +96 -9
  1055. package/resources/themes/lara-dark-indigo/theme.css +96 -9
  1056. package/resources/themes/lara-dark-purple/theme.css +96 -9
  1057. package/resources/themes/lara-dark-teal/theme.css +96 -9
  1058. package/resources/themes/lara-light-blue/theme.css +103 -16
  1059. package/resources/themes/lara-light-indigo/theme.css +103 -16
  1060. package/resources/themes/lara-light-purple/theme.css +103 -16
  1061. package/resources/themes/lara-light-teal/theme.css +103 -16
  1062. package/resources/themes/luna-amber/theme.css +110 -23
  1063. package/resources/themes/luna-blue/theme.css +110 -23
  1064. package/resources/themes/luna-green/theme.css +110 -23
  1065. package/resources/themes/luna-pink/theme.css +110 -23
  1066. package/resources/themes/md-dark-deeppurple/theme.css +218 -134
  1067. package/resources/themes/md-dark-indigo/theme.css +218 -134
  1068. package/resources/themes/md-light-deeppurple/theme.css +100 -16
  1069. package/resources/themes/md-light-indigo/theme.css +100 -16
  1070. package/resources/themes/mdc-dark-deeppurple/theme.css +218 -134
  1071. package/resources/themes/mdc-dark-indigo/theme.css +218 -134
  1072. package/resources/themes/mdc-light-deeppurple/theme.css +100 -16
  1073. package/resources/themes/mdc-light-indigo/theme.css +100 -16
  1074. package/resources/themes/mira/theme.css +100 -17
  1075. package/resources/themes/nano/theme.css +96 -9
  1076. package/resources/themes/nova/theme.css +96 -9
  1077. package/resources/themes/nova-accent/theme.css +96 -9
  1078. package/resources/themes/nova-alt/theme.css +96 -9
  1079. package/resources/themes/rhea/theme.css +96 -9
  1080. package/resources/themes/saga-blue/theme.css +96 -9
  1081. package/resources/themes/saga-green/theme.css +96 -9
  1082. package/resources/themes/saga-orange/theme.css +96 -9
  1083. package/resources/themes/saga-purple/theme.css +96 -9
  1084. package/resources/themes/soho-dark/theme.css +146 -62
  1085. package/resources/themes/soho-light/theme.css +99 -15
  1086. package/resources/themes/tailwind-light/theme.css +126 -44
  1087. package/resources/themes/vela-blue/theme.css +96 -9
  1088. package/resources/themes/vela-green/theme.css +96 -9
  1089. package/resources/themes/vela-orange/theme.css +96 -9
  1090. package/resources/themes/vela-purple/theme.css +96 -9
  1091. package/resources/themes/viva-dark/theme.css +100 -17
  1092. package/resources/themes/viva-light/theme.css +100 -17
  1093. package/ripple/ripple.d.ts +8 -5
  1094. package/scroller/scroller.d.ts +8 -4
  1095. package/scrollpanel/scrollpanel.d.ts +15 -2
  1096. package/scrolltop/scrolltop.d.ts +15 -5
  1097. package/sidebar/sidebar.d.ts +8 -5
  1098. package/slidemenu/slidemenu.d.ts +25 -10
  1099. package/slider/slider.d.ts +5 -3
  1100. package/speeddial/speeddial.d.ts +8 -4
  1101. package/splitbutton/splitbutton.d.ts +3 -1
  1102. package/splitter/splitter.d.ts +10 -6
  1103. package/table/table.d.ts +58 -24
  1104. package/tabmenu/tabmenu.d.ts +7 -2
  1105. package/tabview/tabview.d.ts +13 -3
  1106. package/tag/tag.d.ts +7 -2
  1107. package/tieredmenu/tieredmenu.d.ts +20 -10
  1108. package/toast/toast.d.ts +11 -4
  1109. package/tooltip/tooltip.d.ts +2 -1
  1110. package/tree/tree.d.ts +11 -1
  1111. package/treeselect/treeselect.d.ts +11 -1
  1112. package/treetable/treetable.d.ts +50 -19
  1113. package/tristatecheckbox/tristatecheckbox.d.ts +10 -3
  1114. package/captcha/captcha.d.ts +0 -35
  1115. package/captcha/public_api.d.ts +0 -1
  1116. package/esm2020/captcha/captcha.mjs +0 -130
  1117. package/esm2020/captcha/primeng-captcha.mjs +0 -5
  1118. package/esm2020/captcha/public_api.mjs +0 -2
  1119. package/esm2020/gmap/gmap.mjs +0 -186
  1120. package/esm2020/gmap/primeng-gmap.mjs +0 -5
  1121. package/esm2020/gmap/public_api.mjs +0 -2
  1122. package/esm2020/lightbox/lightbox.mjs +0 -274
  1123. package/fesm2015/primeng-captcha.mjs +0 -138
  1124. package/fesm2015/primeng-captcha.mjs.map +0 -1
  1125. package/fesm2015/primeng-gmap.mjs +0 -194
  1126. package/fesm2015/primeng-gmap.mjs.map +0 -1
  1127. package/fesm2015/primeng-lightbox.mjs +0 -282
  1128. package/fesm2015/primeng-lightbox.mjs.map +0 -1
  1129. package/fesm2020/primeng-captcha.mjs +0 -138
  1130. package/fesm2020/primeng-captcha.mjs.map +0 -1
  1131. package/fesm2020/primeng-gmap.mjs +0 -194
  1132. package/fesm2020/primeng-gmap.mjs.map +0 -1
  1133. package/fesm2020/primeng-lightbox.mjs +0 -282
  1134. package/fesm2020/primeng-lightbox.mjs.map +0 -1
  1135. package/gmap/gmap.d.ts +0 -37
  1136. package/gmap/public_api.d.ts +0 -1
  1137. package/lightbox/lightbox.d.ts +0 -52
  1138. package/lightbox/public_api.d.ts +0 -1
  1139. package/resources/components/lightbox/images/loading.gif +0 -0
  1140. package/resources/components/lightbox/lightbox.css +0 -64
  1141. package/resources/images/loading.gif +0 -0
@@ -3,6 +3,9 @@ import { CommonModule } from '@angular/common';
3
3
  import { ObjectUtils } from 'primeng/utils';
4
4
  import { Header, Footer, PrimeTemplate, SharedModule, TranslationKeys } from 'primeng/api';
5
5
  import { PaginatorModule } from 'primeng/paginator';
6
+ import { SpinnerIcon } from 'primeng/icons/spinner';
7
+ import { ThLargeIcon } from 'primeng/icons/thlarge';
8
+ import { BarsIcon } from 'primeng/icons/bars';
6
9
  import * as i0 from "@angular/core";
7
10
  import * as i1 from "primeng/api";
8
11
  import * as i2 from "@angular/common";
@@ -24,7 +27,6 @@ export class DataView {
24
27
  this.onLazyLoad = new EventEmitter();
25
28
  this.gridStyleClass = '';
26
29
  this.trackBy = (index, item) => item;
27
- this.loadingIcon = 'pi pi-spinner';
28
30
  this.first = 0;
29
31
  this.onPage = new EventEmitter();
30
32
  this.onSort = new EventEmitter();
@@ -91,6 +93,15 @@ export class DataView {
91
93
  case 'footer':
92
94
  this.footerTemplate = item.template;
93
95
  break;
96
+ case 'loadingicon':
97
+ this.loadingIconTemplate = item.template;
98
+ break;
99
+ case 'listicon':
100
+ this.listIconTemplate = item.template;
101
+ break;
102
+ case 'gridicon':
103
+ this.gridIconTemplate = item.template;
104
+ break;
94
105
  }
95
106
  });
96
107
  this.updateItemTemplate();
@@ -200,12 +211,16 @@ export class DataView {
200
211
  }
201
212
  }
202
213
  }
203
- DataView.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DataView, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FilterService }, { token: i1.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
204
- DataView.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: DataView, selector: "p-dataView", inputs: { paginator: "paginator", rows: "rows", totalRecords: "totalRecords", pageLinks: "pageLinks", rowsPerPageOptions: "rowsPerPageOptions", paginatorPosition: "paginatorPosition", alwaysShowPaginator: "alwaysShowPaginator", paginatorDropdownAppendTo: "paginatorDropdownAppendTo", paginatorDropdownScrollHeight: "paginatorDropdownScrollHeight", currentPageReportTemplate: "currentPageReportTemplate", showCurrentPageReport: "showCurrentPageReport", showJumpToPageDropdown: "showJumpToPageDropdown", showFirstLastIcon: "showFirstLastIcon", showPageLinks: "showPageLinks", lazy: "lazy", emptyMessage: "emptyMessage", style: "style", styleClass: "styleClass", gridStyleClass: "gridStyleClass", trackBy: "trackBy", filterBy: "filterBy", filterLocale: "filterLocale", loading: "loading", loadingIcon: "loadingIcon", first: "first", sortField: "sortField", sortOrder: "sortOrder", value: "value", layout: "layout" }, outputs: { onLazyLoad: "onLazyLoad", onPage: "onPage", onSort: "onSort", onChangeLayout: "onChangeLayout" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "header", first: true, predicate: Header, descendants: true }, { propertyName: "footer", first: true, predicate: Footer, descendants: true }, { propertyName: "templates", predicate: PrimeTemplate }], usesOnChanges: true, ngImport: i0, template: `
214
+ DataView.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DataView, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FilterService }, { token: i1.PrimeNGConfig }], target: i0.ɵɵFactoryTarget.Component });
215
+ DataView.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", type: DataView, selector: "p-dataView", inputs: { paginator: "paginator", rows: "rows", totalRecords: "totalRecords", pageLinks: "pageLinks", rowsPerPageOptions: "rowsPerPageOptions", paginatorPosition: "paginatorPosition", alwaysShowPaginator: "alwaysShowPaginator", paginatorDropdownAppendTo: "paginatorDropdownAppendTo", paginatorDropdownScrollHeight: "paginatorDropdownScrollHeight", currentPageReportTemplate: "currentPageReportTemplate", showCurrentPageReport: "showCurrentPageReport", showJumpToPageDropdown: "showJumpToPageDropdown", showFirstLastIcon: "showFirstLastIcon", showPageLinks: "showPageLinks", lazy: "lazy", emptyMessage: "emptyMessage", style: "style", styleClass: "styleClass", gridStyleClass: "gridStyleClass", trackBy: "trackBy", filterBy: "filterBy", filterLocale: "filterLocale", loading: "loading", loadingIcon: "loadingIcon", first: "first", sortField: "sortField", sortOrder: "sortOrder", value: "value", layout: "layout" }, outputs: { onLazyLoad: "onLazyLoad", onPage: "onPage", onSort: "onSort", onChangeLayout: "onChangeLayout" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "header", first: true, predicate: Header, descendants: true }, { propertyName: "footer", first: true, predicate: Footer, descendants: true }, { propertyName: "templates", predicate: PrimeTemplate }], usesOnChanges: true, ngImport: i0, template: `
205
216
  <div [ngClass]="{ 'p-dataview p-component': true, 'p-dataview-list': layout === 'list', 'p-dataview-grid': layout === 'grid' }" [ngStyle]="style" [class]="styleClass">
206
217
  <div class="p-dataview-loading" *ngIf="loading">
207
218
  <div class="p-dataview-loading-overlay p-component-overlay">
208
- <i [class]="'p-dataview-loading-icon pi-spin ' + loadingIcon"></i>
219
+ <i *ngIf="loadingIcon" [class]="'p-dataview-loading-icon pi-spin ' + loadingIcon"></i>
220
+ <ng-container *ngIf="!loadingIcon">
221
+ <SpinnerIcon *ngIf="!loadingIconTemplate" [spin]="true" [styleClass]="'p-dataview-loading-icon'"/>
222
+ <ng-template *ngTemplateOutlet="loadingIconTemplate"></ng-template>
223
+ </ng-container>
209
224
  </div>
210
225
  </div>
211
226
  <div class="p-dataview-header" *ngIf="header || headerTemplate">
@@ -274,14 +289,18 @@ DataView.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.
274
289
  <ng-container *ngTemplateOutlet="footerTemplate"></ng-container>
275
290
  </div>
276
291
  </div>
277
- `, isInline: true, styles: [".p-dataview{position:relative}.p-dataview .p-dataview-loading-overlay{position:absolute;display:flex;align-items:center;justify-content:center;z-index:2}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.Paginator, selector: "p-paginator", inputs: ["pageLinkSize", "style", "styleClass", "alwaysShow", "templateLeft", "templateRight", "dropdownAppendTo", "dropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showFirstLastIcon", "totalRecords", "rows", "rowsPerPageOptions", "showJumpToPageDropdown", "showJumpToPageInput", "showPageLinks", "dropdownItemTemplate", "first"], outputs: ["onPageChange"] }, { kind: "pipe", type: i2.SlicePipe, name: "slice" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
278
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DataView, decorators: [{
292
+ `, isInline: true, styles: [".p-dataview{position:relative}.p-dataview .p-dataview-loading-overlay{position:absolute;display:flex;align-items:center;justify-content:center;z-index:2}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i2.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgForOf; }), selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i0.forwardRef(function () { return i3.Paginator; }), selector: "p-paginator", inputs: ["pageLinkSize", "style", "styleClass", "alwaysShow", "templateLeft", "templateRight", "dropdownAppendTo", "dropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showFirstLastIcon", "totalRecords", "rows", "rowsPerPageOptions", "showJumpToPageDropdown", "showJumpToPageInput", "showPageLinks", "dropdownItemTemplate", "first"], outputs: ["onPageChange"] }, { kind: "component", type: i0.forwardRef(function () { return SpinnerIcon; }), selector: "SpinnerIcon" }, { kind: "pipe", type: i0.forwardRef(function () { return i2.SlicePipe; }), name: "slice" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
293
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DataView, decorators: [{
279
294
  type: Component,
280
295
  args: [{ selector: 'p-dataView', template: `
281
296
  <div [ngClass]="{ 'p-dataview p-component': true, 'p-dataview-list': layout === 'list', 'p-dataview-grid': layout === 'grid' }" [ngStyle]="style" [class]="styleClass">
282
297
  <div class="p-dataview-loading" *ngIf="loading">
283
298
  <div class="p-dataview-loading-overlay p-component-overlay">
284
- <i [class]="'p-dataview-loading-icon pi-spin ' + loadingIcon"></i>
299
+ <i *ngIf="loadingIcon" [class]="'p-dataview-loading-icon pi-spin ' + loadingIcon"></i>
300
+ <ng-container *ngIf="!loadingIcon">
301
+ <SpinnerIcon *ngIf="!loadingIconTemplate" [spin]="true" [styleClass]="'p-dataview-loading-icon'"/>
302
+ <ng-template *ngTemplateOutlet="loadingIconTemplate"></ng-template>
303
+ </ng-container>
285
304
  </div>
286
305
  </div>
287
306
  <div class="p-dataview-header" *ngIf="header || headerTemplate">
@@ -438,26 +457,32 @@ export class DataViewLayoutOptions {
438
457
  event.preventDefault();
439
458
  }
440
459
  }
441
- DataViewLayoutOptions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DataViewLayoutOptions, deps: [{ token: DataView }], target: i0.ɵɵFactoryTarget.Component });
442
- DataViewLayoutOptions.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.2", type: DataViewLayoutOptions, selector: "p-dataViewLayoutOptions", inputs: { style: "style", styleClass: "styleClass" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
460
+ DataViewLayoutOptions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DataViewLayoutOptions, deps: [{ token: DataView }], target: i0.ɵɵFactoryTarget.Component });
461
+ DataViewLayoutOptions.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.4", type: DataViewLayoutOptions, selector: "p-dataViewLayoutOptions", inputs: { style: "style", styleClass: "styleClass" }, host: { classAttribute: "p-element" }, ngImport: i0, template: `
443
462
  <div [ngClass]="'p-dataview-layout-options p-selectbutton p-buttonset'" [ngStyle]="style" [class]="styleClass">
444
463
  <button type="button" class="p-button p-button-icon-only" [ngClass]="{ 'p-highlight': dv.layout === 'list' }" (click)="changeLayout($event, 'list')" (keydown.enter)="changeLayout($event, 'list')">
445
- <i class="pi pi-bars"></i></button
464
+ <BarsIcon *ngIf="!dv.listIconTemplate"/>
465
+ <ng-template *ngTemplateOutlet="dv.listIconTemplate"></ng-template>
466
+ </button
446
467
  ><button type="button" class="p-button p-button-icon-only" [ngClass]="{ 'p-highlight': dv.layout === 'grid' }" (click)="changeLayout($event, 'grid')" (keydown.enter)="changeLayout($event, 'grid')">
447
- <i class="pi pi-th-large"></i>
468
+ <ThLargeIcon *ngIf="!dv.gridIconTemplate"/>
469
+ <ng-template *ngTemplateOutlet="dv.gridIconTemplate"></ng-template>
448
470
  </button>
449
471
  </div>
450
- `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], encapsulation: i0.ViewEncapsulation.None });
451
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DataViewLayoutOptions, decorators: [{
472
+ `, isInline: true, dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i2.NgClass; }), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgStyle; }), selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i0.forwardRef(function () { return BarsIcon; }), selector: "BarsIcon" }, { kind: "component", type: i0.forwardRef(function () { return ThLargeIcon; }), selector: "ThLargeIcon" }], encapsulation: i0.ViewEncapsulation.None });
473
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DataViewLayoutOptions, decorators: [{
452
474
  type: Component,
453
475
  args: [{
454
476
  selector: 'p-dataViewLayoutOptions',
455
477
  template: `
456
478
  <div [ngClass]="'p-dataview-layout-options p-selectbutton p-buttonset'" [ngStyle]="style" [class]="styleClass">
457
479
  <button type="button" class="p-button p-button-icon-only" [ngClass]="{ 'p-highlight': dv.layout === 'list' }" (click)="changeLayout($event, 'list')" (keydown.enter)="changeLayout($event, 'list')">
458
- <i class="pi pi-bars"></i></button
480
+ <BarsIcon *ngIf="!dv.listIconTemplate"/>
481
+ <ng-template *ngTemplateOutlet="dv.listIconTemplate"></ng-template>
482
+ </button
459
483
  ><button type="button" class="p-button p-button-icon-only" [ngClass]="{ 'p-highlight': dv.layout === 'grid' }" (click)="changeLayout($event, 'grid')" (keydown.enter)="changeLayout($event, 'grid')">
460
- <i class="pi pi-th-large"></i>
484
+ <ThLargeIcon *ngIf="!dv.gridIconTemplate"/>
485
+ <ng-template *ngTemplateOutlet="dv.gridIconTemplate"></ng-template>
461
486
  </button>
462
487
  </div>
463
488
  `,
@@ -473,15 +498,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
473
498
  }] } });
474
499
  export class DataViewModule {
475
500
  }
476
- DataViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DataViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
477
- DataViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.2", ngImport: i0, type: DataViewModule, declarations: [DataView, DataViewLayoutOptions], imports: [CommonModule, SharedModule, PaginatorModule], exports: [DataView, SharedModule, DataViewLayoutOptions] });
478
- DataViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DataViewModule, imports: [CommonModule, SharedModule, PaginatorModule, SharedModule] });
479
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DataViewModule, decorators: [{
501
+ DataViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DataViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
502
+ DataViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.4", ngImport: i0, type: DataViewModule, declarations: [DataView, DataViewLayoutOptions], imports: [CommonModule, SharedModule, PaginatorModule, SpinnerIcon, BarsIcon, ThLargeIcon], exports: [DataView, SharedModule, DataViewLayoutOptions] });
503
+ DataViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DataViewModule, imports: [CommonModule, SharedModule, PaginatorModule, SpinnerIcon, BarsIcon, ThLargeIcon, SharedModule] });
504
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DataViewModule, decorators: [{
480
505
  type: NgModule,
481
506
  args: [{
482
- imports: [CommonModule, SharedModule, PaginatorModule],
507
+ imports: [CommonModule, SharedModule, PaginatorModule, SpinnerIcon, BarsIcon, ThLargeIcon],
483
508
  exports: [DataView, SharedModule, DataViewLayoutOptions],
484
509
  declarations: [DataView, DataViewLayoutOptions]
485
510
  }]
486
511
  }] });
487
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZGF0YXZpZXcvZGF0YXZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFFBQVEsRUFDUixTQUFTLEVBSVQsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osWUFBWSxFQUNaLGVBQWUsRUFLZix1QkFBdUIsRUFFdkIsaUJBQWlCLEVBRXBCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQWlCLGVBQWUsRUFBaUIsTUFBTSxhQUFhLENBQUM7QUFDekgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7OztBQXVGcEQsTUFBTSxPQUFPLFFBQVE7SUFpSGpCLFlBQW1CLEVBQWMsRUFBUyxFQUFxQixFQUFTLGFBQTRCLEVBQVMsTUFBcUI7UUFBL0csT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFTLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQVMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBMUd6SCxjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBSXRCLHNCQUFpQixHQUFXLFFBQVEsQ0FBQztRQUVyQyx3QkFBbUIsR0FBWSxJQUFJLENBQUM7UUFJcEMsa0NBQTZCLEdBQVcsT0FBTyxDQUFDO1FBRWhELDhCQUF5QixHQUFXLCtCQUErQixDQUFDO1FBTXBFLHNCQUFpQixHQUFZLElBQUksQ0FBQztRQUVsQyxrQkFBYSxHQUFZLElBQUksQ0FBQztRQUk5QixpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUV6QixlQUFVLEdBQXNCLElBQUksWUFB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QUFpQixDQUFDLElBQUk7b0JBQ3JDLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsV0FBVztxQkFDckI7aUJBQ0o7NEZBRVksS0FBSztzQkFBYixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7O0FBY1YsTUFBTSxPQUFPLGNBQWM7OzJHQUFkLGNBQWM7NEdBQWQsY0FBYyxpQkFyVmQsUUFBUSxFQW9VUixxQkFBcUIsYUFhcEIsWUFBWSxFQUFFLFlBQVksRUFBRSxlQUFlLGFBalY1QyxRQUFRLEVBa1ZHLFlBQVksRUFkdkIscUJBQXFCOzRHQWlCckIsY0FBYyxZQUpiLFlBQVksRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUNqQyxZQUFZOzJGQUd2QixjQUFjO2tCQUwxQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsZUFBZSxDQUFDO29CQUN0RCxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLHFCQUFxQixDQUFDO29CQUN4RCxZQUFZLEVBQUUsQ0FBQyxRQUFRLEVBQUUscUJBQXFCLENBQUM7aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBOZ01vZHVsZSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBPbkluaXQsXG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgUXVlcnlMaXN0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIE9uRGVzdHJveVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBPYmplY3RVdGlscyB9IGZyb20gJ3ByaW1lbmcvdXRpbHMnO1xuaW1wb3J0IHsgSGVhZGVyLCBGb290ZXIsIFByaW1lVGVtcGxhdGUsIFNoYXJlZE1vZHVsZSwgRmlsdGVyU2VydmljZSwgVHJhbnNsYXRpb25LZXlzLCBQcmltZU5HQ29uZmlnIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgUGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9wYWdpbmF0b3InO1xuaW1wb3J0IHsgQmxvY2thYmxlVUkgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwLWRhdGFWaWV3JyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsgJ3AtZGF0YXZpZXcgcC1jb21wb25lbnQnOiB0cnVlLCAncC1kYXRhdmlldy1saXN0JzogbGF5b3V0ID09PSAnbGlzdCcsICdwLWRhdGF2aWV3LWdyaWQnOiBsYXlvdXQgPT09ICdncmlkJyB9XCIgW25nU3R5bGVdPVwic3R5bGVcIiBbY2xhc3NdPVwic3R5bGVDbGFzc1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtZGF0YXZpZXctbG9hZGluZ1wiICpuZ0lmPVwibG9hZGluZ1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWRhdGF2aWV3LWxvYWRpbmctb3ZlcmxheSBwLWNvbXBvbmVudC1vdmVybGF5XCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIFtjbGFzc109XCIncC1kYXRhdmlldy1sb2FkaW5nLWljb24gcGktc3BpbiAnICsgbG9hZGluZ0ljb25cIj48L2k+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWRhdGF2aWV3LWhlYWRlclwiICpuZ0lmPVwiaGVhZGVyIHx8IGhlYWRlclRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwicC1oZWFkZXJcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImhlYWRlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxwLXBhZ2luYXRvclxuICAgICAgICAgICAgICAgIFtyb3dzXT1cInJvd3NcIlxuICAgICAgICAgICAgICAgIFtmaXJzdF09XCJmaXJzdFwiXG4gICAgICAgICAgICAgICAgW3RvdGFsUmVjb3Jkc109XCJ0b3RhbFJlY29yZHNcIlxuICAgICAgICAgICAgICAgIFtwYWdlTGlua1NpemVdPVwicGFnZUxpbmtzXCJcbiAgICAgICAgICAgICAgICBbYWx3YXlzU2hvd109XCJhbHdheXNTaG93UGFnaW5hdG9yXCJcbiAgICAgICAgICAgICAgICAob25QYWdlQ2hhbmdlKT1cInBhZ2luYXRlKCRldmVudClcIlxuICAgICAgICAgICAgICAgIHN0eWxlQ2xhc3M9XCJwLXBhZ2luYXRvci10b3BcIlxuICAgICAgICAgICAgICAgIFtyb3dzUGVyUGFnZU9wdGlvbnNdPVwicm93c1BlclBhZ2VPcHRpb25zXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInBhZ2luYXRvciAmJiAocGFnaW5hdG9yUG9zaXRpb24gPT09ICd0b3AnIHx8IHBhZ2luYXRvclBvc2l0aW9uID09ICdib3RoJylcIlxuICAgICAgICAgICAgICAgIFtkcm9wZG93bkFwcGVuZFRvXT1cInBhZ2luYXRvckRyb3Bkb3duQXBwZW5kVG9cIlxuICAgICAgICAgICAgICAgIFtkcm9wZG93blNjcm9sbEhlaWdodF09XCJwYWdpbmF0b3JEcm9wZG93blNjcm9sbEhlaWdodFwiXG4gICAgICAgICAgICAgICAgW3RlbXBsYXRlTGVmdF09XCJwYWdpbmF0b3JMZWZ0VGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZVJpZ2h0XT1cInBhZ2luYXRvclJpZ2h0VGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgIFtjdXJyZW50UGFnZVJlcG9ydFRlbXBsYXRlXT1cImN1cnJlbnRQYWdlUmVwb3J0VGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgIFtzaG93Rmlyc3RMYXN0SWNvbl09XCJzaG93Rmlyc3RMYXN0SWNvblwiXG4gICAgICAgICAgICAgICAgW2Ryb3Bkb3duSXRlbVRlbXBsYXRlXT1cInBhZ2luYXRvckRyb3Bkb3duSXRlbVRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICBbc2hvd0N1cnJlbnRQYWdlUmVwb3J0XT1cInNob3dDdXJyZW50UGFnZVJlcG9ydFwiXG4gICAgICAgICAgICAgICAgW3Nob3dKdW1wVG9QYWdlRHJvcGRvd25dPVwic2hvd0p1bXBUb1BhZ2VEcm9wZG93blwiXG4gICAgICAgICAgICAgICAgW3Nob3dQYWdlTGlua3NdPVwic2hvd1BhZ2VMaW5rc1wiXG4gICAgICAgICAgICA+PC9wLXBhZ2luYXRvcj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWRhdGF2aWV3LWNvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1ncmlkIHAtbm9ndXR0ZXIgZ3JpZCBncmlkLW5vZ3V0dGVyXCIgW25nQ2xhc3NdPVwiZ3JpZFN0eWxlQ2xhc3NcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nRm9yIGxldC1yb3dEYXRhIGxldC1yb3dJbmRleD1cImluZGV4XCIgW25nRm9yT2ZdPVwicGFnaW5hdG9yID8gKGZpbHRlcmVkVmFsdWUgfHwgdmFsdWUgfCBzbGljZTogKGxhenkgPyAwIDogZmlyc3QpOihsYXp5ID8gMCA6IGZpcnN0KSArIHJvd3MpIDogZmlsdGVyZWRWYWx1ZSB8fCB2YWx1ZVwiIFtuZ0ZvclRyYWNrQnldPVwidHJhY2tCeVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1UZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IHJvd0RhdGEsIHJvd0luZGV4OiByb3dJbmRleCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpc0VtcHR5KCkgJiYgIWxvYWRpbmdcIiBjbGFzcz1cInAtY29sIGNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtZGF0YXZpZXctZW1wdHltZXNzYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFlbXB0eU1lc3NhZ2VUZW1wbGF0ZTsgZWxzZSBlbXB0eUZpbHRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBlbXB0eU1lc3NhZ2VMYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgI2VtcHR5RmlsdGVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZW1wdHlNZXNzYWdlVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPHAtcGFnaW5hdG9yXG4gICAgICAgICAgICAgICAgW3Jvd3NdPVwicm93c1wiXG4gICAgICAgICAgICAgICAgW2ZpcnN0XT1cImZpcnN0XCJcbiAgICAgICAgICAgICAgICBbdG90YWxSZWNvcmRzXT1cInRvdGFsUmVjb3Jkc1wiXG4gICAgICAgICAgICAgICAgW3BhZ2VMaW5rU2l6ZV09XCJwYWdlTGlua3NcIlxuICAgICAgICAgICAgICAgIFthbHdheXNTaG93XT1cImFsd2F5c1Nob3dQYWdpbmF0b3JcIlxuICAgICAgICAgICAgICAgIChvblBhZ2VDaGFuZ2UpPVwicGFnaW5hdGUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgc3R5bGVDbGFzcz1cInAtcGFnaW5hdG9yLWJvdHRvbVwiXG4gICAgICAgICAgICAgICAgW3Jvd3NQZXJQYWdlT3B0aW9uc109XCJyb3dzUGVyUGFnZU9wdGlvbnNcIlxuICAgICAgICAgICAgICAgICpuZ0lmPVwicGFnaW5hdG9yICYmIChwYWdpbmF0b3JQb3NpdGlvbiA9PT0gJ2JvdHRvbScgfHwgcGFnaW5hdG9yUG9zaXRpb24gPT0gJ2JvdGgnKVwiXG4gICAgICAgICAgICAgICAgW2Ryb3Bkb3duQXBwZW5kVG9dPVwicGFnaW5hdG9yRHJvcGRvd25BcHBlbmRUb1wiXG4gICAgICAgICAgICAgICAgW2Ryb3Bkb3duU2Nyb2xsSGVpZ2h0XT1cInBhZ2luYXRvckRyb3Bkb3duU2Nyb2xsSGVpZ2h0XCJcbiAgICAgICAgICAgICAgICBbdGVtcGxhdGVMZWZ0XT1cInBhZ2luYXRvckxlZnRUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgW3RlbXBsYXRlUmlnaHRdPVwicGFnaW5hdG9yUmlnaHRUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgW2N1cnJlbnRQYWdlUmVwb3J0VGVtcGxhdGVdPVwiY3VycmVudFBhZ2VSZXBvcnRUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgW3Nob3dGaXJzdExhc3RJY29uXT1cInNob3dGaXJzdExhc3RJY29uXCJcbiAgICAgICAgICAgICAgICBbZHJvcGRvd25JdGVtVGVtcGxhdGVdPVwicGFnaW5hdG9yRHJvcGRvd25JdGVtVGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgIFtzaG93Q3VycmVudFBhZ2VSZXBvcnRdPVwic2hvd0N1cnJlbnRQYWdlUmVwb3J0XCJcbiAgICAgICAgICAgICAgICBbc2hvd0p1bXBUb1BhZ2VEcm9wZG93bl09XCJzaG93SnVtcFRvUGFnZURyb3Bkb3duXCJcbiAgICAgICAgICAgICAgICBbc2hvd1BhZ2VMaW5rc109XCJzaG93UGFnZUxpbmtzXCJcbiAgICAgICAgICAgID48L3AtcGFnaW5hdG9yPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtZGF0YXZpZXctZm9vdGVyXCIgKm5nSWY9XCJmb290ZXIgfHwgZm9vdGVyVGVtcGxhdGVcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJwLWZvb3RlclwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9vdGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICBgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGF0YXZpZXcuY3NzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3AtZWxlbWVudCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIERhdGFWaWV3IGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3ksIEJsb2NrYWJsZVVJLCBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpIHBhZ2luYXRvcjogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIHJvd3M6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpIHRvdGFsUmVjb3JkczogbnVtYmVyO1xuXG4gICAgQElucHV0KCkgcGFnZUxpbmtzOiBudW1iZXIgPSA1O1xuXG4gICAgQElucHV0KCkgcm93c1BlclBhZ2VPcHRpb25zOiBhbnlbXTtcblxuICAgIEBJbnB1dCgpIHBhZ2luYXRvclBvc2l0aW9uOiBzdHJpbmcgPSAnYm90dG9tJztcblxuICAgIEBJbnB1dCgpIGFsd2F5c1Nob3dQYWdpbmF0b3I6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgQElucHV0KCkgcGFnaW5hdG9yRHJvcGRvd25BcHBlbmRUbzogYW55O1xuXG4gICAgQElucHV0KCkgcGFnaW5hdG9yRHJvcGRvd25TY3JvbGxIZWlnaHQ6IHN0cmluZyA9ICcyMDBweCc7XG5cbiAgICBASW5wdXQoKSBjdXJyZW50UGFnZVJlcG9ydFRlbXBsYXRlOiBzdHJpbmcgPSAne2N1cnJlbnRQYWdlfSBvZiB7dG90YWxQYWdlc30nO1xuXG4gICAgQElucHV0KCkgc2hvd0N1cnJlbnRQYWdlUmVwb3J0OiBib29sZWFuO1xuXG4gICAgQElucHV0KCkgc2hvd0p1bXBUb1BhZ2VEcm9wZG93bjogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIHNob3dGaXJzdExhc3RJY29uOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpIHNob3dQYWdlTGlua3M6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgQElucHV0KCkgbGF6eTogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIGVtcHR5TWVzc2FnZTogc3RyaW5nID0gJyc7XG5cbiAgICBAT3V0cHV0KCkgb25MYXp5TG9hZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBASW5wdXQoKSBzdHlsZTogYW55O1xuXG4gICAgQElucHV0KCkgc3R5bGVDbGFzczogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgZ3JpZFN0eWxlQ2xhc3M6IHN0cmluZyA9ICcnO1xuXG4gICAgQElucHV0KCkgdHJhY2tCeTogRnVuY3Rpb24gPSAoaW5kZXg6IG51bWJlciwgaXRlbTogYW55KSA9PiBpdGVtO1xuXG4gICAgQElucHV0KCkgZmlsdGVyQnk6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGZpbHRlckxvY2FsZTogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgbG9hZGluZzogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIGxvYWRpbmdJY29uOiBzdHJpbmcgPSAncGkgcGktc3Bpbm5lcic7XG5cbiAgICBASW5wdXQoKSBmaXJzdDogbnVtYmVyID0gMDtcblxuICAgIEBJbnB1dCgpIHNvcnRGaWVsZDogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgc29ydE9yZGVyOiBudW1iZXI7XG5cbiAgICBASW5wdXQoKSB2YWx1ZTogYW55W107XG5cbiAgICBAT3V0cHV0KCkgb25QYWdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKSBvblNvcnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQE91dHB1dCgpIG9uQ2hhbmdlTGF5b3V0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBDb250ZW50Q2hpbGQoSGVhZGVyKSBoZWFkZXI7XG5cbiAgICBAQ29udGVudENoaWxkKEZvb3RlcikgZm9vdGVyO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihQcmltZVRlbXBsYXRlKSB0ZW1wbGF0ZXM6IFF1ZXJ5TGlzdDxhbnk+O1xuXG4gICAgX3ZhbHVlOiBhbnlbXTtcblxuICAgIGxpc3RJdGVtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBncmlkSXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgaXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgaGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBlbXB0eU1lc3NhZ2VUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIGZvb3RlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgcGFnaW5hdG9yTGVmdFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgcGFnaW5hdG9yUmlnaHRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIHBhZ2luYXRvckRyb3Bkb3duSXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgZmlsdGVyZWRWYWx1ZTogYW55W107XG5cbiAgICBmaWx0ZXJWYWx1ZTogc3RyaW5nO1xuXG4gICAgaW5pdGlhbGl6ZWQ6IGJvb2xlYW47XG5cbiAgICBfbGF5b3V0OiBzdHJpbmcgPSAnbGlzdCc7XG5cbiAgICB0cmFuc2xhdGlvblN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgQElucHV0KCkgZ2V0IGxheW91dCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5fbGF5b3V0O1xuICAgIH1cblxuICAgIHNldCBsYXlvdXQobGF5b3V0OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fbGF5b3V0ID0gbGF5b3V0O1xuXG4gICAgICAgIGlmICh0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZUxheW91dChsYXlvdXQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IocHVibGljIGVsOiBFbGVtZW50UmVmLCBwdWJsaWMgY2Q6IENoYW5nZURldGVjdG9yUmVmLCBwdWJsaWMgZmlsdGVyU2VydmljZTogRmlsdGVyU2VydmljZSwgcHVibGljIGNvbmZpZzogUHJpbWVOR0NvbmZpZykge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5sYXp5KSB7XG4gICAgICAgICAgICB0aGlzLm9uTGF6eUxvYWQuZW1pdCh0aGlzLmNyZWF0ZUxhenlMb2FkTWV0YWRhdGEoKSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnRyYW5zbGF0aW9uU3Vic2NyaXB0aW9uID0gdGhpcy5jb25maWcudHJhbnNsYXRpb25PYnNlcnZlci5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKHNpbXBsZUNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKHNpbXBsZUNoYW5nZXMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuX3ZhbHVlID0gc2ltcGxlQ2hhbmdlcy52YWx1ZS5jdXJyZW50VmFsdWU7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVRvdGFsUmVjb3JkcygpO1xuXG4gICAgICAgICAgICBpZiAoIXRoaXMubGF6eSAmJiB0aGlzLmhhc0ZpbHRlcigpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXIodGhpcy5maWx0ZXJWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2ltcGxlQ2hhbmdlcy5zb3J0RmllbGQgfHwgc2ltcGxlQ2hhbmdlcy5zb3J0T3JkZXIpIHtcbiAgICAgICAgICAgIC8vYXZvaWQgdHJpZ2dlcmluZyBsYXp5IGxvYWQgcHJpb3IgdG8gbGF6eSBpbml0aWFsaXphdGlvbiBhdCBvbkluaXRcbiAgICAgICAgICAgIGlmICghdGhpcy5sYXp5IHx8IHRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNvcnQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgc3dpdGNoIChpdGVtLmdldFR5cGUoKSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ2xpc3RJdGVtJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5saXN0SXRlbVRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlICdncmlkSXRlbSc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3JpZEl0ZW1UZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAncGFnaW5hdG9ybGVmdCc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFnaW5hdG9yTGVmdFRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlICdwYWdpbmF0b3JyaWdodCc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFnaW5hdG9yUmlnaHRUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAncGFnaW5hdG9yZHJvcGRvd25pdGVtJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYWdpbmF0b3JEcm9wZG93bkl0ZW1UZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnZW1wdHknOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVtcHR5TWVzc2FnZVRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlICdoZWFkZXInOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmhlYWRlclRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlICdmb290ZXInOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmZvb3RlclRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudXBkYXRlSXRlbVRlbXBsYXRlKCk7XG4gICAgfVxuXG4gICAgdXBkYXRlSXRlbVRlbXBsYXRlKCkge1xuICAgICAgICBzd2l0Y2ggKHRoaXMubGF5b3V0KSB7XG4gICAgICAgICAgICBjYXNlICdsaXN0JzpcbiAgICAgICAgICAgICAgICB0aGlzLml0ZW1UZW1wbGF0ZSA9IHRoaXMubGlzdEl0ZW1UZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAnZ3JpZCc6XG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtVGVtcGxhdGUgPSB0aGlzLmdyaWRJdGVtVGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjaGFuZ2VMYXlvdXQobGF5b3V0OiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fbGF5b3V0ID0gbGF5b3V0O1xuICAgICAgICB0aGlzLm9uQ2hhbmdlTGF5b3V0LmVtaXQoe1xuICAgICAgICAgICAgbGF5b3V0OiB0aGlzLmxheW91dFxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy51cGRhdGVJdGVtVGVtcGxhdGUoKTtcblxuICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHVwZGF0ZVRvdGFsUmVjb3JkcygpIHtcbiAgICAgICAgdGhpcy50b3RhbFJlY29yZHMgPSB0aGlzLmxhenkgPyB0aGlzLnRvdGFsUmVjb3JkcyA6IHRoaXMuX3ZhbHVlID8gdGhpcy5fdmFsdWUubGVuZ3RoIDogMDtcbiAgICB9XG5cbiAgICBwYWdpbmF0ZShldmVudCkge1xuICAgICAgICB0aGlzLmZpcnN0ID0gZXZlbnQuZmlyc3Q7XG4gICAgICAgIHRoaXMucm93cyA9IGV2ZW50LnJvd3M7XG5cbiAgICAgICAgaWYgKHRoaXMubGF6eSkge1xuICAgICAgICAgICAgdGhpcy5vbkxhenlMb2FkLmVtaXQodGhpcy5jcmVhdGVMYXp5TG9hZE1ldGFkYXRhKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vblBhZ2UuZW1pdCh7XG4gICAgICAgICAgICBmaXJzdDogdGhpcy5maXJzdCxcbiAgICAgICAgICAgIHJvd3M6IHRoaXMucm93c1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzb3J0KCkge1xuICAgICAgICB0aGlzLmZpcnN0ID0gMDtcblxuICAgICAgICBpZiAodGhpcy5sYXp5KSB7XG4gICAgICAgICAgICB0aGlzLm9uTGF6eUxvYWQuZW1pdCh0aGlzLmNyZWF0ZUxhenlMb2FkTWV0YWRhdGEoKSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZS5zb3J0KChkYXRhMSwgZGF0YTIpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgdmFsdWUxID0gT2JqZWN0VXRpbHMucmVzb2x2ZUZpZWxkRGF0YShkYXRhMSwgdGhpcy5zb3J0RmllbGQpO1xuICAgICAgICAgICAgICAgIGxldCB2YWx1ZTIgPSBPYmplY3RVdGlscy5yZXNvbHZlRmllbGREYXRhKGRhdGEyLCB0aGlzLnNvcnRGaWVsZCk7XG4gICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IG51bGw7XG5cbiAgICAgICAgICAgICAgICBpZiAodmFsdWUxID09IG51bGwgJiYgdmFsdWUyICE9IG51bGwpIHJlc3VsdCA9IC0xO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHZhbHVlMSAhPSBudWxsICYmIHZhbHVlMiA9PSBudWxsKSByZXN1bHQgPSAxO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHZhbHVlMSA9PSBudWxsICYmIHZhbHVlMiA9PSBudWxsKSByZXN1bHQgPSAwO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHR5cGVvZiB2YWx1ZTEgPT09ICdzdHJpbmcnICYmIHR5cGVvZiB2YWx1ZTIgPT09ICdzdHJpbmcnKSByZXN1bHQgPSB2YWx1ZTEubG9jYWxlQ29tcGFyZSh2YWx1ZTIpO1xuICAgICAgICAgICAgICAgIGVsc2UgcmVzdWx0ID0gdmFsdWUxIDwgdmFsdWUyID8gLTEgOiB2YWx1ZTEgPiB2YWx1ZTIgPyAxIDogMDtcblxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNvcnRPcmRlciAqIHJlc3VsdDtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5oYXNGaWx0ZXIoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyKHRoaXMuZmlsdGVyVmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vblNvcnQuZW1pdCh7XG4gICAgICAgICAgICBzb3J0RmllbGQ6IHRoaXMuc29ydEZpZWxkLFxuICAgICAgICAgICAgc29ydE9yZGVyOiB0aGlzLnNvcnRPcmRlclxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBpc0VtcHR5KCkge1xuICAgICAgICBsZXQgZGF0YSA9IHRoaXMuZmlsdGVyZWRWYWx1ZSB8fCB0aGlzLnZhbHVlO1xuICAgICAgICByZXR1cm4gZGF0YSA9PSBudWxsIHx8IGRhdGEubGVuZ3RoID09IDA7XG4gICAgfVxuXG4gICAgY3JlYXRlTGF6eUxvYWRNZXRhZGF0YSgpOiBhbnkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZmlyc3Q6IHRoaXMuZmlyc3QsXG4gICAgICAgICAgICByb3dzOiB0aGlzLnJvd3MsXG4gICAgICAgICAgICBzb3J0RmllbGQ6IHRoaXMuc29ydEZpZWxkLFxuICAgICAgICAgICAgc29ydE9yZGVyOiB0aGlzLnNvcnRPcmRlclxuICAgICAgICB9O1xuICAgIH1cblxuICAgIGdldEJsb2NrYWJsZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNoaWxkcmVuWzBdO1xuICAgIH1cblxuICAgIGdldCBlbXB0eU1lc3NhZ2VMYWJlbCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5lbXB0eU1lc3NhZ2UgfHwgdGhpcy5jb25maWcuZ2V0VHJhbnNsYXRpb24oVHJhbnNsYXRpb25LZXlzLkVNUFRZX01FU1NBR0UpO1xuICAgIH1cblxuICAgIGZpbHRlcihmaWx0ZXI6IHN0cmluZywgZmlsdGVyTWF0Y2hNb2RlOiBzdHJpbmcgPSAnY29udGFpbnMnKSB7XG4gICAgICAgIHRoaXMuZmlsdGVyVmFsdWUgPSBmaWx0ZXI7XG5cbiAgICAgICAgaWYgKHRoaXMudmFsdWUgJiYgdGhpcy52YWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIGxldCBzZWFyY2hGaWVsZHMgPSB0aGlzLmZpbHRlckJ5LnNwbGl0KCcsJyk7XG4gICAgICAgICAgICB0aGlzLmZpbHRlcmVkVmFsdWUgPSB0aGlzLmZpbHRlclNlcnZpY2UuZmlsdGVyKHRoaXMudmFsdWUsIHNlYXJjaEZpZWxkcywgZmlsdGVyLCBmaWx0ZXJNYXRjaE1vZGUsIHRoaXMuZmlsdGVyTG9jYWxlKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuZmlsdGVyZWRWYWx1ZS5sZW5ndGggPT09IHRoaXMudmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJlZFZhbHVlID0gbnVsbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMucGFnaW5hdG9yKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5maXJzdCA9IDA7XG4gICAgICAgICAgICAgICAgdGhpcy50b3RhbFJlY29yZHMgPSB0aGlzLmZpbHRlcmVkVmFsdWUgPyB0aGlzLmZpbHRlcmVkVmFsdWUubGVuZ3RoIDogdGhpcy52YWx1ZSA/IHRoaXMudmFsdWUubGVuZ3RoIDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGhhc0ZpbHRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyVmFsdWUgJiYgdGhpcy5maWx0ZXJWYWx1ZS50cmltKCkubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMudHJhbnNsYXRpb25TdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRpb25TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwLWRhdGFWaWV3TGF5b3V0T3B0aW9ucycsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCIncC1kYXRhdmlldy1sYXlvdXQtb3B0aW9ucyBwLXNlbGVjdGJ1dHRvbiBwLWJ1dHRvbnNldCdcIiBbbmdTdHlsZV09XCJzdHlsZVwiIFtjbGFzc109XCJzdHlsZUNsYXNzXCI+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInAtYnV0dG9uIHAtYnV0dG9uLWljb24tb25seVwiIFtuZ0NsYXNzXT1cInsgJ3AtaGlnaGxpZ2h0JzogZHYubGF5b3V0ID09PSAnbGlzdCcgfVwiIChjbGljayk9XCJjaGFuZ2VMYXlvdXQoJGV2ZW50LCAnbGlzdCcpXCIgKGtleWRvd24uZW50ZXIpPVwiY2hhbmdlTGF5b3V0KCRldmVudCwgJ2xpc3QnKVwiPlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwicGkgcGktYmFyc1wiPjwvaT48L2J1dHRvblxuICAgICAgICAgICAgPjxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwicC1idXR0b24gcC1idXR0b24taWNvbi1vbmx5XCIgW25nQ2xhc3NdPVwieyAncC1oaWdobGlnaHQnOiBkdi5sYXlvdXQgPT09ICdncmlkJyB9XCIgKGNsaWNrKT1cImNoYW5nZUxheW91dCgkZXZlbnQsICdncmlkJylcIiAoa2V5ZG93bi5lbnRlcik9XCJjaGFuZ2VMYXlvdXQoJGV2ZW50LCAnZ3JpZCcpXCI+XG4gICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS10aC1sYXJnZVwiPjwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICBgLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3AtZWxlbWVudCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIERhdGFWaWV3TGF5b3V0T3B0aW9ucyB7XG4gICAgQElucHV0KCkgc3R5bGU6IGFueTtcblxuICAgIEBJbnB1dCgpIHN0eWxlQ2xhc3M6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBkdjogRGF0YVZpZXcpIHt9XG5cbiAgICBjaGFuZ2VMYXlvdXQoZXZlbnQ6IEV2ZW50LCBsYXlvdXQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLmR2LmNoYW5nZUxheW91dChsYXlvdXQpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn1cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2hhcmVkTW9kdWxlLCBQYWdpbmF0b3JNb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtEYXRhVmlldywgU2hhcmVkTW9kdWxlLCBEYXRhVmlld0xheW91dE9wdGlvbnNdLFxuICAgIGRlY2xhcmF0aW9uczogW0RhdGFWaWV3LCBEYXRhVmlld0xheW91dE9wdGlvbnNdXG59KVxuZXhwb3J0IGNsYXNzIERhdGFWaWV3TW9kdWxlIHt9XG4iXX0=
512
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXZpZXcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZGF0YXZpZXcvZGF0YXZpZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFFBQVEsRUFDUixTQUFTLEVBSVQsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osWUFBWSxFQUNaLGVBQWUsRUFLZix1QkFBdUIsRUFFdkIsaUJBQWlCLEVBRXBCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQWlCLGVBQWUsRUFBaUIsTUFBTSxhQUFhLENBQUM7QUFDekgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7OztBQXlGOUMsTUFBTSxPQUFPLFFBQVE7SUF1SGpCLFlBQW1CLEVBQWMsRUFBUyxFQUFxQixFQUFTLGFBQTRCLEVBQVMsTUFBcUI7UUFBL0csT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFTLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQVMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFBUyxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBaEh6SCxjQUFTLEdBQVcsQ0FBQyxDQUFDO1FBSXRCLHNCQUFpQixHQUFXLFFBQVEsQ0FBQztRQUVyQyx3QkFBbUIsR0FBWSxJQUFJLENBQUM7UUFJcEMsa0NBQTZCLEdBQVcsT0FBTyxDQUFDO1FBRWhELDhCQUF5QixHQUFXLCtCQUErQixDQUFDO1FBTXBFLHNCQUFpQixHQUFZLElBQUksQ0FBQztRQUVsQyxrQkFBYSxHQUFZLElBQUksQ0FBQztRQUk5QixpQkFBWSxHQUFXLEVBQUUsQ0FBQztRQUV6QixlQUFVLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFNcEQsbUJBQWMsR0FBVyxFQUFFLENBQUM7UUFFNUIsWUFBTyxHQUFhLENBQUMsS0FBYSxFQUFFLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDO1FBVXZELFVBQUssR0FBVyxDQUFDLENBQUM7UUFRakIsV0FBTSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRS9DLFdBQU0sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUvQyxtQkFBYyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBd0NqRSxZQUFPLEdBQVcsTUFBTSxDQUFDO0lBZ0I0RyxDQUFDO0lBWnRJLElBQWEsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsTUFBYztRQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUV0QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUM3QjtJQUNMLENBQUM7SUFJRCxRQUFRO1FBQ0osSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQztTQUN2RDtRQUVELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDMUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMzQixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzVCLENBQUM7SUFFRCxXQUFXLENBQUMsYUFBNEI7UUFDcEMsSUFBSSxhQUFhLENBQUMsS0FBSyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUM7WUFDL0MsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFFMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFO2dCQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUNqQztTQUNKO1FBRUQsSUFBSSxhQUFhLENBQUMsU0FBUyxJQUFJLGFBQWEsQ0FBQyxTQUFTLEVBQUU7WUFDcEQsbUVBQW1FO1lBQ25FLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUNmO1NBQ0o7SUFDTCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUM1QixRQUFRLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDcEIsS0FBSyxVQUFVO29CQUNYLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO29CQUN0QyxNQUFNO2dCQUVWLEtBQUssVUFBVTtvQkFDWCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztvQkFDdEMsTUFBTTtnQkFFVixLQUFLLGVBQWU7b0JBQ2hCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO29CQUMzQyxNQUFNO2dCQUVWLEtBQUssZ0JBQWdCO29CQUNqQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztvQkFDNUMsTUFBTTtnQkFFVixLQUFLLHVCQUF1QjtvQkFDeEIsSUFBSSxDQUFDLDZCQUE2QixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7b0JBQ25ELE1BQU07Z0JBRVYsS0FBSyxPQUFPO29CQUNSLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO29CQUMxQyxNQUFNO2dCQUVWLEtBQUssUUFBUTtvQkFDVCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7b0JBQ3BDLE1BQU07Z0JBRVYsS0FBSyxRQUFRO29CQUNULElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztvQkFDcEMsTUFBTTtnQkFFVixLQUFLLGFBQWE7b0JBQ2QsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7b0JBQ3pDLE1BQU07Z0JBRVYsS0FBSyxVQUFVO29CQUNYLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO29CQUN0QyxNQUFNO2dCQUVWLEtBQUssVUFBVTtvQkFDWCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztvQkFDdEMsTUFBTTthQUNiO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsa0JBQWtCO1FBQ2QsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2pCLEtBQUssTUFBTTtnQkFDUCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDMUMsTUFBTTtZQUVWLEtBQUssTUFBTTtnQkFDUCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDMUMsTUFBTTtTQUNiO0lBQ0wsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFjO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO1lBQ3JCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtTQUN0QixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUUxQixJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFLO1FBQ1YsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztRQUV2QixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDWCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZEO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDYixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1NBQ2xCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxJQUFJO1FBQ0EsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFFZixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDWCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO1NBQ3ZEO2FBQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ25CLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUM3QixJQUFJLE1BQU0sR0FBRyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDakUsSUFBSSxNQUFNLEdBQUcsV0FBVyxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7Z0JBQ2pFLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQztnQkFFbEIsSUFBSSxNQUFNLElBQUksSUFBSSxJQUFJLE1BQU0sSUFBSSxJQUFJO29CQUFFLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztxQkFDN0MsSUFBSSxNQUFNLElBQUksSUFBSSxJQUFJLE1BQU0sSUFBSSxJQUFJO29CQUFFLE1BQU0sR0FBRyxDQUFDLENBQUM7cUJBQ2pELElBQUksTUFBTSxJQUFJLElBQUksSUFBSSxNQUFNLElBQUksSUFBSTtvQkFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDO3FCQUNqRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRO29CQUFFLE1BQU0sR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDOztvQkFDcEcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFFN0QsT0FBTyxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQztZQUNuQyxDQUFDLENBQUMsQ0FBQztZQUVILElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFO2dCQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQzthQUNqQztTQUNKO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDYixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1NBQzVCLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQzVDLE9BQU8sSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsc0JBQXNCO1FBQ2xCLE9BQU87WUFDSCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztTQUM1QixDQUFDO0lBQ04sQ0FBQztJQUVELG1CQUFtQjtRQUNmLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNqQixPQUFPLElBQUksQ0FBQyxZQUFZLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzFGLENBQUM7SUFFRCxNQUFNLENBQUMsTUFBYyxFQUFFLGtCQUEwQixVQUFVO1FBQ3ZELElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDO1FBRTFCLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNqQyxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBRXJILElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7Z0JBQ2pELElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO2FBQzdCO1lBRUQsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO2dCQUNoQixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFDZixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzNHO1lBRUQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUMxQjtJQUNMLENBQUM7SUFFRCxTQUFTO1FBQ0wsT0FBTyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFO1lBQzlCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUM5QztJQUNMLENBQUM7O3FHQW5VUSxRQUFRO3lGQUFSLFFBQVEsNG5DQWlFSCxNQUFNLHlFQUVOLE1BQU0sK0RBRUgsYUFBYSxrREExSnBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQTZFVCxvL0NBOFdzRCxXQUFXOzJGQXRXekQsUUFBUTtrQkF2RnBCLFNBQVM7K0JBQ0ksWUFBWSxZQUNaOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQTZFVCxtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUUvQjt3QkFDRixLQUFLLEVBQUUsV0FBVztxQkFDckI7eUxBR1EsU0FBUztzQkFBakIsS0FBSztnQkFFRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBRUcsbUJBQW1CO3NCQUEzQixLQUFLO2dCQUVHLHlCQUF5QjtzQkFBakMsS0FBSztnQkFFRyw2QkFBNkI7c0JBQXJDLEtBQUs7Z0JBRUcseUJBQXlCO3NCQUFqQyxLQUFLO2dCQUVHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFFRyxzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBRUcsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFFRSxLQUFLO3NCQUFiLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFFRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLE9BQU87c0JBQWYsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsT0FBTztzQkFBZixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFRyxLQUFLO3NCQUFiLEtBQUs7Z0JBRUksTUFBTTtzQkFBZixNQUFNO2dCQUVHLE1BQU07c0JBQWYsTUFBTTtnQkFFRyxjQUFjO3NCQUF2QixNQUFNO2dCQUVlLE1BQU07c0JBQTNCLFlBQVk7dUJBQUMsTUFBTTtnQkFFRSxNQUFNO3NCQUEzQixZQUFZO3VCQUFDLE1BQU07Z0JBRVksU0FBUztzQkFBeEMsZUFBZTt1QkFBQyxhQUFhO2dCQXNDakIsTUFBTTtzQkFBbEIsS0FBSzs7QUE4T1YsTUFBTSxPQUFPLHFCQUFxQjtJQUs5QixZQUFtQixFQUFZO1FBQVosT0FBRSxHQUFGLEVBQUUsQ0FBVTtJQUFHLENBQUM7SUFFbkMsWUFBWSxDQUFDLEtBQVksRUFBRSxNQUFjO1FBQ3JDLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUMzQixDQUFDOztrSEFWUSxxQkFBcUI7c0dBQXJCLHFCQUFxQiw0SkFqQnBCOzs7Ozs7Ozs7OztLQVdULHlyQkFtQm1FLFFBQVEsNEZBQUUsV0FBVzsyRkFiaEYscUJBQXFCO2tCQW5CakMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7O0tBV1Q7b0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsV0FBVztxQkFDckI7aUJBQ0o7NEZBRVksS0FBSztzQkFBYixLQUFLO2dCQUVHLFVBQVU7c0JBQWxCLEtBQUs7O0FBY1YsTUFBTSxPQUFPLGNBQWM7OzJHQUFkLGNBQWM7NEdBQWQsY0FBYyxpQkExV2QsUUFBUSxFQXlWUixxQkFBcUIsYUFhcEIsWUFBWSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxXQUFXLGFBdFdoRixRQUFRLEVBdVdHLFlBQVksRUFkdkIscUJBQXFCOzRHQWlCckIsY0FBYyxZQUpiLFlBQVksRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUNyRSxZQUFZOzJGQUd2QixjQUFjO2tCQUwxQixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsV0FBVyxDQUFDO29CQUMxRixPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFLHFCQUFxQixDQUFDO29CQUN4RCxZQUFZLEVBQUUsQ0FBQyxRQUFRLEVBQUUscUJBQXFCLENBQUM7aUJBQ2xEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBOZ01vZHVsZSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBPbkluaXQsXG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgUXVlcnlMaXN0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIE9uQ2hhbmdlcyxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIE9uRGVzdHJveVxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBPYmplY3RVdGlscyB9IGZyb20gJ3ByaW1lbmcvdXRpbHMnO1xuaW1wb3J0IHsgSGVhZGVyLCBGb290ZXIsIFByaW1lVGVtcGxhdGUsIFNoYXJlZE1vZHVsZSwgRmlsdGVyU2VydmljZSwgVHJhbnNsYXRpb25LZXlzLCBQcmltZU5HQ29uZmlnIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgUGFnaW5hdG9yTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9wYWdpbmF0b3InO1xuaW1wb3J0IHsgQmxvY2thYmxlVUkgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNwaW5uZXJJY29uIH0gZnJvbSAncHJpbWVuZy9pY29ucy9zcGlubmVyJztcbmltcG9ydCB7IFRoTGFyZ2VJY29uIH0gZnJvbSAncHJpbWVuZy9pY29ucy90aGxhcmdlJztcbmltcG9ydCB7IEJhcnNJY29uIH0gZnJvbSAncHJpbWVuZy9pY29ucy9iYXJzJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdwLWRhdGFWaWV3JyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8ZGl2IFtuZ0NsYXNzXT1cInsgJ3AtZGF0YXZpZXcgcC1jb21wb25lbnQnOiB0cnVlLCAncC1kYXRhdmlldy1saXN0JzogbGF5b3V0ID09PSAnbGlzdCcsICdwLWRhdGF2aWV3LWdyaWQnOiBsYXlvdXQgPT09ICdncmlkJyB9XCIgW25nU3R5bGVdPVwic3R5bGVcIiBbY2xhc3NdPVwic3R5bGVDbGFzc1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtZGF0YXZpZXctbG9hZGluZ1wiICpuZ0lmPVwibG9hZGluZ1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWRhdGF2aWV3LWxvYWRpbmctb3ZlcmxheSBwLWNvbXBvbmVudC1vdmVybGF5XCI+XG4gICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwibG9hZGluZ0ljb25cIiBbY2xhc3NdPVwiJ3AtZGF0YXZpZXctbG9hZGluZy1pY29uIHBpLXNwaW4gJyArIGxvYWRpbmdJY29uXCI+PC9pPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxvYWRpbmdJY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U3Bpbm5lckljb24gKm5nSWY9XCIhbG9hZGluZ0ljb25UZW1wbGF0ZVwiIFtzcGluXT1cInRydWVcIiBbc3R5bGVDbGFzc109XCIncC1kYXRhdmlldy1sb2FkaW5nLWljb24nXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwibG9hZGluZ0ljb25UZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1kYXRhdmlldy1oZWFkZXJcIiAqbmdJZj1cImhlYWRlciB8fCBoZWFkZXJUZW1wbGF0ZVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInAtaGVhZGVyXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8cC1wYWdpbmF0b3JcbiAgICAgICAgICAgICAgICBbcm93c109XCJyb3dzXCJcbiAgICAgICAgICAgICAgICBbZmlyc3RdPVwiZmlyc3RcIlxuICAgICAgICAgICAgICAgIFt0b3RhbFJlY29yZHNdPVwidG90YWxSZWNvcmRzXCJcbiAgICAgICAgICAgICAgICBbcGFnZUxpbmtTaXplXT1cInBhZ2VMaW5rc1wiXG4gICAgICAgICAgICAgICAgW2Fsd2F5c1Nob3ddPVwiYWx3YXlzU2hvd1BhZ2luYXRvclwiXG4gICAgICAgICAgICAgICAgKG9uUGFnZUNoYW5nZSk9XCJwYWdpbmF0ZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBzdHlsZUNsYXNzPVwicC1wYWdpbmF0b3ItdG9wXCJcbiAgICAgICAgICAgICAgICBbcm93c1BlclBhZ2VPcHRpb25zXT1cInJvd3NQZXJQYWdlT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJwYWdpbmF0b3IgJiYgKHBhZ2luYXRvclBvc2l0aW9uID09PSAndG9wJyB8fCBwYWdpbmF0b3JQb3NpdGlvbiA9PSAnYm90aCcpXCJcbiAgICAgICAgICAgICAgICBbZHJvcGRvd25BcHBlbmRUb109XCJwYWdpbmF0b3JEcm9wZG93bkFwcGVuZFRvXCJcbiAgICAgICAgICAgICAgICBbZHJvcGRvd25TY3JvbGxIZWlnaHRdPVwicGFnaW5hdG9yRHJvcGRvd25TY3JvbGxIZWlnaHRcIlxuICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZUxlZnRdPVwicGFnaW5hdG9yTGVmdFRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICBbdGVtcGxhdGVSaWdodF09XCJwYWdpbmF0b3JSaWdodFRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICBbY3VycmVudFBhZ2VSZXBvcnRUZW1wbGF0ZV09XCJjdXJyZW50UGFnZVJlcG9ydFRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICBbc2hvd0ZpcnN0TGFzdEljb25dPVwic2hvd0ZpcnN0TGFzdEljb25cIlxuICAgICAgICAgICAgICAgIFtkcm9wZG93bkl0ZW1UZW1wbGF0ZV09XCJwYWdpbmF0b3JEcm9wZG93bkl0ZW1UZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgW3Nob3dDdXJyZW50UGFnZVJlcG9ydF09XCJzaG93Q3VycmVudFBhZ2VSZXBvcnRcIlxuICAgICAgICAgICAgICAgIFtzaG93SnVtcFRvUGFnZURyb3Bkb3duXT1cInNob3dKdW1wVG9QYWdlRHJvcGRvd25cIlxuICAgICAgICAgICAgICAgIFtzaG93UGFnZUxpbmtzXT1cInNob3dQYWdlTGlua3NcIlxuICAgICAgICAgICAgPjwvcC1wYWdpbmF0b3I+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1kYXRhdmlldy1jb250ZW50XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtZ3JpZCBwLW5vZ3V0dGVyIGdyaWQgZ3JpZC1ub2d1dHRlclwiIFtuZ0NsYXNzXT1cImdyaWRTdHlsZUNsYXNzXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtcm93RGF0YSBsZXQtcm93SW5kZXg9XCJpbmRleFwiIFtuZ0Zvck9mXT1cInBhZ2luYXRvciA/IChmaWx0ZXJlZFZhbHVlIHx8IHZhbHVlIHwgc2xpY2U6IChsYXp5ID8gMCA6IGZpcnN0KToobGF6eSA/IDAgOiBmaXJzdCkgKyByb3dzKSA6IGZpbHRlcmVkVmFsdWUgfHwgdmFsdWVcIiBbbmdGb3JUcmFja0J5XT1cInRyYWNrQnlcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiByb3dEYXRhLCByb3dJbmRleDogcm93SW5kZXggfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNFbXB0eSgpICYmICFsb2FkaW5nXCIgY2xhc3M9XCJwLWNvbCBjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWRhdGF2aWV3LWVtcHR5bWVzc2FnZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZW1wdHlNZXNzYWdlVGVtcGxhdGU7IGVsc2UgZW1wdHlGaWx0ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZW1wdHlNZXNzYWdlTGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICNlbXB0eUZpbHRlciAqbmdUZW1wbGF0ZU91dGxldD1cImVtcHR5TWVzc2FnZVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxwLXBhZ2luYXRvclxuICAgICAgICAgICAgICAgIFtyb3dzXT1cInJvd3NcIlxuICAgICAgICAgICAgICAgIFtmaXJzdF09XCJmaXJzdFwiXG4gICAgICAgICAgICAgICAgW3RvdGFsUmVjb3Jkc109XCJ0b3RhbFJlY29yZHNcIlxuICAgICAgICAgICAgICAgIFtwYWdlTGlua1NpemVdPVwicGFnZUxpbmtzXCJcbiAgICAgICAgICAgICAgICBbYWx3YXlzU2hvd109XCJhbHdheXNTaG93UGFnaW5hdG9yXCJcbiAgICAgICAgICAgICAgICAob25QYWdlQ2hhbmdlKT1cInBhZ2luYXRlKCRldmVudClcIlxuICAgICAgICAgICAgICAgIHN0eWxlQ2xhc3M9XCJwLXBhZ2luYXRvci1ib3R0b21cIlxuICAgICAgICAgICAgICAgIFtyb3dzUGVyUGFnZU9wdGlvbnNdPVwicm93c1BlclBhZ2VPcHRpb25zXCJcbiAgICAgICAgICAgICAgICAqbmdJZj1cInBhZ2luYXRvciAmJiAocGFnaW5hdG9yUG9zaXRpb24gPT09ICdib3R0b20nIHx8IHBhZ2luYXRvclBvc2l0aW9uID09ICdib3RoJylcIlxuICAgICAgICAgICAgICAgIFtkcm9wZG93bkFwcGVuZFRvXT1cInBhZ2luYXRvckRyb3Bkb3duQXBwZW5kVG9cIlxuICAgICAgICAgICAgICAgIFtkcm9wZG93blNjcm9sbEhlaWdodF09XCJwYWdpbmF0b3JEcm9wZG93blNjcm9sbEhlaWdodFwiXG4gICAgICAgICAgICAgICAgW3RlbXBsYXRlTGVmdF09XCJwYWdpbmF0b3JMZWZ0VGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgIFt0ZW1wbGF0ZVJpZ2h0XT1cInBhZ2luYXRvclJpZ2h0VGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgIFtjdXJyZW50UGFnZVJlcG9ydFRlbXBsYXRlXT1cImN1cnJlbnRQYWdlUmVwb3J0VGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgIFtzaG93Rmlyc3RMYXN0SWNvbl09XCJzaG93Rmlyc3RMYXN0SWNvblwiXG4gICAgICAgICAgICAgICAgW2Ryb3Bkb3duSXRlbVRlbXBsYXRlXT1cInBhZ2luYXRvckRyb3Bkb3duSXRlbVRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICBbc2hvd0N1cnJlbnRQYWdlUmVwb3J0XT1cInNob3dDdXJyZW50UGFnZVJlcG9ydFwiXG4gICAgICAgICAgICAgICAgW3Nob3dKdW1wVG9QYWdlRHJvcGRvd25dPVwic2hvd0p1bXBUb1BhZ2VEcm9wZG93blwiXG4gICAgICAgICAgICAgICAgW3Nob3dQYWdlTGlua3NdPVwic2hvd1BhZ2VMaW5rc1wiXG4gICAgICAgICAgICA+PC9wLXBhZ2luYXRvcj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWRhdGF2aWV3LWZvb3RlclwiICpuZ0lmPVwiZm9vdGVyIHx8IGZvb3RlclRlbXBsYXRlXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwicC1mb290ZXJcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgYCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIHN0eWxlVXJsczogWycuL2RhdGF2aWV3LmNzcyddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdwLWVsZW1lbnQnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBEYXRhVmlldyBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95LCBCbG9ja2FibGVVSSwgT25DaGFuZ2VzIHtcbiAgICBASW5wdXQoKSBwYWdpbmF0b3I6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSByb3dzOiBudW1iZXI7XG5cbiAgICBASW5wdXQoKSB0b3RhbFJlY29yZHM6IG51bWJlcjtcblxuICAgIEBJbnB1dCgpIHBhZ2VMaW5rczogbnVtYmVyID0gNTtcblxuICAgIEBJbnB1dCgpIHJvd3NQZXJQYWdlT3B0aW9uczogYW55W107XG5cbiAgICBASW5wdXQoKSBwYWdpbmF0b3JQb3NpdGlvbjogc3RyaW5nID0gJ2JvdHRvbSc7XG5cbiAgICBASW5wdXQoKSBhbHdheXNTaG93UGFnaW5hdG9yOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpIHBhZ2luYXRvckRyb3Bkb3duQXBwZW5kVG86IGFueTtcblxuICAgIEBJbnB1dCgpIHBhZ2luYXRvckRyb3Bkb3duU2Nyb2xsSGVpZ2h0OiBzdHJpbmcgPSAnMjAwcHgnO1xuXG4gICAgQElucHV0KCkgY3VycmVudFBhZ2VSZXBvcnRUZW1wbGF0ZTogc3RyaW5nID0gJ3tjdXJyZW50UGFnZX0gb2Yge3RvdGFsUGFnZXN9JztcblxuICAgIEBJbnB1dCgpIHNob3dDdXJyZW50UGFnZVJlcG9ydDogYm9vbGVhbjtcblxuICAgIEBJbnB1dCgpIHNob3dKdW1wVG9QYWdlRHJvcGRvd246IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSBzaG93Rmlyc3RMYXN0SWNvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgICBASW5wdXQoKSBzaG93UGFnZUxpbmtzOiBib29sZWFuID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpIGxhenk6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSBlbXB0eU1lc3NhZ2U6IHN0cmluZyA9ICcnO1xuXG4gICAgQE91dHB1dCgpIG9uTGF6eUxvYWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQElucHV0KCkgc3R5bGU6IGFueTtcblxuICAgIEBJbnB1dCgpIHN0eWxlQ2xhc3M6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGdyaWRTdHlsZUNsYXNzOiBzdHJpbmcgPSAnJztcblxuICAgIEBJbnB1dCgpIHRyYWNrQnk6IEZ1bmN0aW9uID0gKGluZGV4OiBudW1iZXIsIGl0ZW06IGFueSkgPT4gaXRlbTtcblxuICAgIEBJbnB1dCgpIGZpbHRlckJ5OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSBmaWx0ZXJMb2NhbGU6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSBsb2FkaW5nSWNvbjogc3RyaW5nO1xuXG4gICAgQElucHV0KCkgZmlyc3Q6IG51bWJlciA9IDA7XG5cbiAgICBASW5wdXQoKSBzb3J0RmllbGQ6IHN0cmluZztcblxuICAgIEBJbnB1dCgpIHNvcnRPcmRlcjogbnVtYmVyO1xuXG4gICAgQElucHV0KCkgdmFsdWU6IGFueVtdO1xuXG4gICAgQE91dHB1dCgpIG9uUGFnZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAT3V0cHV0KCkgb25Tb3J0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAgIEBPdXRwdXQoKSBvbkNoYW5nZUxheW91dDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAQ29udGVudENoaWxkKEhlYWRlcikgaGVhZGVyO1xuXG4gICAgQENvbnRlbnRDaGlsZChGb290ZXIpIGZvb3RlcjtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oUHJpbWVUZW1wbGF0ZSkgdGVtcGxhdGVzOiBRdWVyeUxpc3Q8YW55PjtcblxuICAgIF92YWx1ZTogYW55W107XG5cbiAgICBsaXN0SXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgZ3JpZEl0ZW1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIGl0ZW1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIGhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgZW1wdHlNZXNzYWdlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBmb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIHBhZ2luYXRvckxlZnRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIHBhZ2luYXRvclJpZ2h0VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBwYWdpbmF0b3JEcm9wZG93bkl0ZW1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIGxvYWRpbmdJY29uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBsaXN0SWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgZ3JpZEljb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIGZpbHRlcmVkVmFsdWU6IGFueVtdO1xuXG4gICAgZmlsdGVyVmFsdWU6IHN0cmluZztcblxuICAgIGluaXRpYWxpemVkOiBib29sZWFuO1xuXG4gICAgX2xheW91dDogc3RyaW5nID0gJ2xpc3QnO1xuXG4gICAgdHJhbnNsYXRpb25TdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIEBJbnB1dCgpIGdldCBsYXlvdXQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xheW91dDtcbiAgICB9XG5cbiAgICBzZXQgbGF5b3V0KGxheW91dDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2xheW91dCA9IGxheW91dDtcblxuICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkge1xuICAgICAgICAgICAgdGhpcy5jaGFuZ2VMYXlvdXQobGF5b3V0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbDogRWxlbWVudFJlZiwgcHVibGljIGNkOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHVibGljIGZpbHRlclNlcnZpY2U6IEZpbHRlclNlcnZpY2UsIHB1YmxpYyBjb25maWc6IFByaW1lTkdDb25maWcpIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMubGF6eSkge1xuICAgICAgICAgICAgdGhpcy5vbkxhenlMb2FkLmVtaXQodGhpcy5jcmVhdGVMYXp5TG9hZE1ldGFkYXRhKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy50cmFuc2xhdGlvblN1YnNjcmlwdGlvbiA9IHRoaXMuY29uZmlnLnRyYW5zbGF0aW9uT2JzZXJ2ZXIuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhzaW1wbGVDaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGlmIChzaW1wbGVDaGFuZ2VzLnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHNpbXBsZUNoYW5nZXMudmFsdWUuY3VycmVudFZhbHVlO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVUb3RhbFJlY29yZHMoKTtcblxuICAgICAgICAgICAgaWYgKCF0aGlzLmxhenkgJiYgdGhpcy5oYXNGaWx0ZXIoKSkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyKHRoaXMuZmlsdGVyVmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNpbXBsZUNoYW5nZXMuc29ydEZpZWxkIHx8IHNpbXBsZUNoYW5nZXMuc29ydE9yZGVyKSB7XG4gICAgICAgICAgICAvL2F2b2lkIHRyaWdnZXJpbmcgbGF6eSBsb2FkIHByaW9yIHRvIGxhenkgaW5pdGlhbGl6YXRpb24gYXQgb25Jbml0XG4gICAgICAgICAgICBpZiAoIXRoaXMubGF6eSB8fCB0aGlzLmluaXRpYWxpemVkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zb3J0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMudGVtcGxhdGVzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIHN3aXRjaCAoaXRlbS5nZXRUeXBlKCkpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdsaXN0SXRlbSc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1UZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnZ3JpZEl0ZW0nOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdyaWRJdGVtVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ3BhZ2luYXRvcmxlZnQnOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhZ2luYXRvckxlZnRUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAncGFnaW5hdG9ycmlnaHQnOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhZ2luYXRvclJpZ2h0VGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ3BhZ2luYXRvcmRyb3Bkb3duaXRlbSc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFnaW5hdG9yRHJvcGRvd25JdGVtVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ2VtcHR5JzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbXB0eU1lc3NhZ2VUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnaGVhZGVyJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oZWFkZXJUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnZm9vdGVyJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5mb290ZXJUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnbG9hZGluZ2ljb24nOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmdJY29uVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ2xpc3RpY29uJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5saXN0SWNvblRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlICdncmlkaWNvbic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ3JpZEljb25UZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnVwZGF0ZUl0ZW1UZW1wbGF0ZSgpO1xuICAgIH1cblxuICAgIHVwZGF0ZUl0ZW1UZW1wbGF0ZSgpIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLmxheW91dCkge1xuICAgICAgICAgICAgY2FzZSAnbGlzdCc6XG4gICAgICAgICAgICAgICAgdGhpcy5pdGVtVGVtcGxhdGUgPSB0aGlzLmxpc3RJdGVtVGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ2dyaWQnOlxuICAgICAgICAgICAgICAgIHRoaXMuaXRlbVRlbXBsYXRlID0gdGhpcy5ncmlkSXRlbVRlbXBsYXRlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2hhbmdlTGF5b3V0KGxheW91dDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2xheW91dCA9IGxheW91dDtcbiAgICAgICAgdGhpcy5vbkNoYW5nZUxheW91dC5lbWl0KHtcbiAgICAgICAgICAgIGxheW91dDogdGhpcy5sYXlvdXRcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMudXBkYXRlSXRlbVRlbXBsYXRlKCk7XG5cbiAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICB1cGRhdGVUb3RhbFJlY29yZHMoKSB7XG4gICAgICAgIHRoaXMudG90YWxSZWNvcmRzID0gdGhpcy5sYXp5ID8gdGhpcy50b3RhbFJlY29yZHMgOiB0aGlzLl92YWx1ZSA/IHRoaXMuX3ZhbHVlLmxlbmd0aCA6IDA7XG4gICAgfVxuXG4gICAgcGFnaW5hdGUoZXZlbnQpIHtcbiAgICAgICAgdGhpcy5maXJzdCA9IGV2ZW50LmZpcnN0O1xuICAgICAgICB0aGlzLnJvd3MgPSBldmVudC5yb3dzO1xuXG4gICAgICAgIGlmICh0aGlzLmxhenkpIHtcbiAgICAgICAgICAgIHRoaXMub25MYXp5TG9hZC5lbWl0KHRoaXMuY3JlYXRlTGF6eUxvYWRNZXRhZGF0YSgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub25QYWdlLmVtaXQoe1xuICAgICAgICAgICAgZmlyc3Q6IHRoaXMuZmlyc3QsXG4gICAgICAgICAgICByb3dzOiB0aGlzLnJvd3NcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgc29ydCgpIHtcbiAgICAgICAgdGhpcy5maXJzdCA9IDA7XG5cbiAgICAgICAgaWYgKHRoaXMubGF6eSkge1xuICAgICAgICAgICAgdGhpcy5vbkxhenlMb2FkLmVtaXQodGhpcy5jcmVhdGVMYXp5TG9hZE1ldGFkYXRhKCkpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUuc29ydCgoZGF0YTEsIGRhdGEyKSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IHZhbHVlMSA9IE9iamVjdFV0aWxzLnJlc29sdmVGaWVsZERhdGEoZGF0YTEsIHRoaXMuc29ydEZpZWxkKTtcbiAgICAgICAgICAgICAgICBsZXQgdmFsdWUyID0gT2JqZWN0VXRpbHMucmVzb2x2ZUZpZWxkRGF0YShkYXRhMiwgdGhpcy5zb3J0RmllbGQpO1xuICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSBudWxsO1xuXG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlMSA9PSBudWxsICYmIHZhbHVlMiAhPSBudWxsKSByZXN1bHQgPSAtMTtcbiAgICAgICAgICAgICAgICBlbHNlIGlmICh2YWx1ZTEgIT0gbnVsbCAmJiB2YWx1ZTIgPT0gbnVsbCkgcmVzdWx0ID0gMTtcbiAgICAgICAgICAgICAgICBlbHNlIGlmICh2YWx1ZTEgPT0gbnVsbCAmJiB2YWx1ZTIgPT0gbnVsbCkgcmVzdWx0ID0gMDtcbiAgICAgICAgICAgICAgICBlbHNlIGlmICh0eXBlb2YgdmFsdWUxID09PSAnc3RyaW5nJyAmJiB0eXBlb2YgdmFsdWUyID09PSAnc3RyaW5nJykgcmVzdWx0ID0gdmFsdWUxLmxvY2FsZUNvbXBhcmUodmFsdWUyKTtcbiAgICAgICAgICAgICAgICBlbHNlIHJlc3VsdCA9IHZhbHVlMSA8IHZhbHVlMiA/IC0xIDogdmFsdWUxID4gdmFsdWUyID8gMSA6IDA7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zb3J0T3JkZXIgKiByZXN1bHQ7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuaGFzRmlsdGVyKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZpbHRlcih0aGlzLmZpbHRlclZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub25Tb3J0LmVtaXQoe1xuICAgICAgICAgICAgc29ydEZpZWxkOiB0aGlzLnNvcnRGaWVsZCxcbiAgICAgICAgICAgIHNvcnRPcmRlcjogdGhpcy5zb3J0T3JkZXJcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaXNFbXB0eSgpIHtcbiAgICAgICAgbGV0IGRhdGEgPSB0aGlzLmZpbHRlcmVkVmFsdWUgfHwgdGhpcy52YWx1ZTtcbiAgICAgICAgcmV0dXJuIGRhdGEgPT0gbnVsbCB8fCBkYXRhLmxlbmd0aCA9PSAwO1xuICAgIH1cblxuICAgIGNyZWF0ZUxhenlMb2FkTWV0YWRhdGEoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGZpcnN0OiB0aGlzLmZpcnN0LFxuICAgICAgICAgICAgcm93czogdGhpcy5yb3dzLFxuICAgICAgICAgICAgc29ydEZpZWxkOiB0aGlzLnNvcnRGaWVsZCxcbiAgICAgICAgICAgIHNvcnRPcmRlcjogdGhpcy5zb3J0T3JkZXJcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBnZXRCbG9ja2FibGVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWwubmF0aXZlRWxlbWVudC5jaGlsZHJlblswXTtcbiAgICB9XG5cbiAgICBnZXQgZW1wdHlNZXNzYWdlTGFiZWwoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZW1wdHlNZXNzYWdlIHx8IHRoaXMuY29uZmlnLmdldFRyYW5zbGF0aW9uKFRyYW5zbGF0aW9uS2V5cy5FTVBUWV9NRVNTQUdFKTtcbiAgICB9XG5cbiAgICBmaWx0ZXIoZmlsdGVyOiBzdHJpbmcsIGZpbHRlck1hdGNoTW9kZTogc3RyaW5nID0gJ2NvbnRhaW5zJykge1xuICAgICAgICB0aGlzLmZpbHRlclZhbHVlID0gZmlsdGVyO1xuXG4gICAgICAgIGlmICh0aGlzLnZhbHVlICYmIHRoaXMudmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICBsZXQgc2VhcmNoRmllbGRzID0gdGhpcy5maWx0ZXJCeS5zcGxpdCgnLCcpO1xuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZFZhbHVlID0gdGhpcy5maWx0ZXJTZXJ2aWNlLmZpbHRlcih0aGlzLnZhbHVlLCBzZWFyY2hGaWVsZHMsIGZpbHRlciwgZmlsdGVyTWF0Y2hNb2RlLCB0aGlzLmZpbHRlckxvY2FsZSk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmZpbHRlcmVkVmFsdWUubGVuZ3RoID09PSB0aGlzLnZhbHVlLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyZWRWYWx1ZSA9IG51bGw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnBhZ2luYXRvcikge1xuICAgICAgICAgICAgICAgIHRoaXMuZmlyc3QgPSAwO1xuICAgICAgICAgICAgICAgIHRoaXMudG90YWxSZWNvcmRzID0gdGhpcy5maWx0ZXJlZFZhbHVlID8gdGhpcy5maWx0ZXJlZFZhbHVlLmxlbmd0aCA6IHRoaXMudmFsdWUgPyB0aGlzLnZhbHVlLmxlbmd0aCA6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoYXNGaWx0ZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlclZhbHVlICYmIHRoaXMuZmlsdGVyVmFsdWUudHJpbSgpLmxlbmd0aCA+IDA7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLnRyYW5zbGF0aW9uU3Vic2NyaXB0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnRyYW5zbGF0aW9uU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncC1kYXRhVmlld0xheW91dE9wdGlvbnMnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxkaXYgW25nQ2xhc3NdPVwiJ3AtZGF0YXZpZXctbGF5b3V0LW9wdGlvbnMgcC1zZWxlY3RidXR0b24gcC1idXR0b25zZXQnXCIgW25nU3R5bGVdPVwic3R5bGVcIiBbY2xhc3NdPVwic3R5bGVDbGFzc1wiPlxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJwLWJ1dHRvbiBwLWJ1dHRvbi1pY29uLW9ubHlcIiBbbmdDbGFzc109XCJ7ICdwLWhpZ2hsaWdodCc6IGR2LmxheW91dCA9PT0gJ2xpc3QnIH1cIiAoY2xpY2spPVwiY2hhbmdlTGF5b3V0KCRldmVudCwgJ2xpc3QnKVwiIChrZXlkb3duLmVudGVyKT1cImNoYW5nZUxheW91dCgkZXZlbnQsICdsaXN0JylcIj5cbiAgICAgICAgICAgICAgICA8QmFyc0ljb24gKm5nSWY9XCIhZHYubGlzdEljb25UZW1wbGF0ZVwiLz5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkdi5saXN0SWNvblRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvYnV0dG9uXG4gICAgICAgICAgICA+PGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJwLWJ1dHRvbiBwLWJ1dHRvbi1pY29uLW9ubHlcIiBbbmdDbGFzc109XCJ7ICdwLWhpZ2hsaWdodCc6IGR2LmxheW91dCA9PT0gJ2dyaWQnIH1cIiAoY2xpY2spPVwiY2hhbmdlTGF5b3V0KCRldmVudCwgJ2dyaWQnKVwiIChrZXlkb3duLmVudGVyKT1cImNoYW5nZUxheW91dCgkZXZlbnQsICdncmlkJylcIj5cbiAgICAgICAgICAgICAgICA8VGhMYXJnZUljb24gKm5nSWY9XCIhZHYuZ3JpZEljb25UZW1wbGF0ZVwiLz5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkdi5ncmlkSWNvblRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICBgLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3AtZWxlbWVudCdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIERhdGFWaWV3TGF5b3V0T3B0aW9ucyB7XG4gICAgQElucHV0KCkgc3R5bGU6IGFueTtcblxuICAgIEBJbnB1dCgpIHN0eWxlQ2xhc3M6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBkdjogRGF0YVZpZXcpIHt9XG5cbiAgICBjaGFuZ2VMYXlvdXQoZXZlbnQ6IEV2ZW50LCBsYXlvdXQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLmR2LmNoYW5nZUxheW91dChsYXlvdXQpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cbn1cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2hhcmVkTW9kdWxlLCBQYWdpbmF0b3JNb2R1bGUsIFNwaW5uZXJJY29uLCBCYXJzSWNvbiwgVGhMYXJnZUljb25dLFxuICAgIGV4cG9ydHM6IFtEYXRhVmlldywgU2hhcmVkTW9kdWxlLCBEYXRhVmlld0xheW91dE9wdGlvbnNdLFxuICAgIGRlY2xhcmF0aW9uczogW0RhdGFWaWV3LCBEYXRhVmlld0xheW91dE9wdGlvbnNdXG59KVxuZXhwb3J0IGNsYXNzIERhdGFWaWV3TW9kdWxlIHt9XG4iXX0=
@@ -1,26 +1,31 @@
1
- import { NgModule, Directive, TemplateRef, EventEmitter, Output, ContentChild } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
1
+ import { NgModule, Directive, TemplateRef, EventEmitter, Output, ContentChild, Inject, PLATFORM_ID } from '@angular/core';
2
+ import { CommonModule, DOCUMENT, isPlatformBrowser } from '@angular/common';
3
3
  import * as i0 from "@angular/core";
4
4
  export class DeferredLoader {
5
- constructor(el, renderer, viewContainer, cd) {
5
+ constructor(document, platformId, el, renderer, viewContainer, cd) {
6
+ this.document = document;
7
+ this.platformId = platformId;
6
8
  this.el = el;
7
9
  this.renderer = renderer;
8
10
  this.viewContainer = viewContainer;
9
11
  this.cd = cd;
10
12
  this.onLoad = new EventEmitter();
13
+ this.window = this.document.defaultView;
11
14
  }
12
15
  ngAfterViewInit() {
13
- if (this.shouldLoad()) {
14
- this.load();
15
- }
16
- if (!this.isLoaded()) {
17
- this.documentScrollListener = this.renderer.listen('window', 'scroll', () => {
18
- if (this.shouldLoad()) {
19
- this.load();
20
- this.documentScrollListener();
21
- this.documentScrollListener = null;
22
- }
23
- });
16
+ if (isPlatformBrowser(this.platformId)) {
17
+ if (this.shouldLoad()) {
18
+ this.load();
19
+ }
20
+ if (!this.isLoaded()) {
21
+ this.documentScrollListener = this.renderer.listen(this.window, 'scroll', () => {
22
+ if (this.shouldLoad()) {
23
+ this.load();
24
+ this.documentScrollListener();
25
+ this.documentScrollListener = null;
26
+ }
27
+ });
28
+ }
24
29
  }
25
30
  }
26
31
  shouldLoad() {
@@ -29,7 +34,7 @@ export class DeferredLoader {
29
34
  }
30
35
  else {
31
36
  let rect = this.el.nativeElement.getBoundingClientRect();
32
- let docElement = document.documentElement;
37
+ let docElement = this.document.documentElement;
33
38
  let winHeight = docElement.clientHeight;
34
39
  return winHeight >= rect.top;
35
40
  }
@@ -40,7 +45,7 @@ export class DeferredLoader {
40
45
  this.cd.detectChanges();
41
46
  }
42
47
  isLoaded() {
43
- return this.view != null;
48
+ return this.view != null && isPlatformBrowser(this.platformId);
44
49
  }
45
50
  ngOnDestroy() {
46
51
  this.view = null;
@@ -49,9 +54,9 @@ export class DeferredLoader {
49
54
  }
50
55
  }
51
56
  }
52
- DeferredLoader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DeferredLoader, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
53
- DeferredLoader.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: DeferredLoader, selector: "[pDefer]", outputs: { onLoad: "onLoad" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0 });
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DeferredLoader, decorators: [{
57
+ DeferredLoader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DeferredLoader, deps: [{ token: DOCUMENT }, { token: PLATFORM_ID }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
58
+ DeferredLoader.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.4", type: DeferredLoader, selector: "[pDefer]", outputs: { onLoad: "onLoad" }, host: { classAttribute: "p-element" }, queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0 });
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DeferredLoader, decorators: [{
55
60
  type: Directive,
56
61
  args: [{
57
62
  selector: '[pDefer]',
@@ -59,7 +64,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
59
64
  class: 'p-element'
60
65
  }
61
66
  }]
62
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { onLoad: [{
67
+ }], ctorParameters: function () { return [{ type: Document, decorators: [{
68
+ type: Inject,
69
+ args: [DOCUMENT]
70
+ }] }, { type: undefined, decorators: [{
71
+ type: Inject,
72
+ args: [PLATFORM_ID]
73
+ }] }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { onLoad: [{
63
74
  type: Output
64
75
  }], template: [{
65
76
  type: ContentChild,
@@ -67,10 +78,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
67
78
  }] } });
68
79
  export class DeferModule {
69
80
  }
70
- DeferModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DeferModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
71
- DeferModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.2", ngImport: i0, type: DeferModule, declarations: [DeferredLoader], imports: [CommonModule], exports: [DeferredLoader] });
72
- DeferModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DeferModule, imports: [CommonModule] });
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: DeferModule, decorators: [{
81
+ DeferModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DeferModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
82
+ DeferModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.4", ngImport: i0, type: DeferModule, declarations: [DeferredLoader], imports: [CommonModule], exports: [DeferredLoader] });
83
+ DeferModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DeferModule, imports: [CommonModule] });
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: DeferModule, decorators: [{
74
85
  type: NgModule,
75
86
  args: [{
76
87
  imports: [CommonModule],
@@ -78,4 +89,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
78
89
  declarations: [DeferredLoader]
79
90
  }]
80
91
  }] });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZGVmZXIvZGVmZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQXdDLFdBQVcsRUFBZ0QsWUFBWSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzVNLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFRL0MsTUFBTSxPQUFPLGNBQWM7SUFTdkIsWUFBbUIsRUFBYyxFQUFTLFFBQW1CLEVBQVMsYUFBK0IsRUFBVSxFQUFxQjtRQUFqSCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFTLGtCQUFhLEdBQWIsYUFBYSxDQUFrQjtRQUFVLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBUjFILFdBQU0sR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQVE4RSxDQUFDO0lBRXhJLGVBQWU7UUFDWCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDZjtRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDbEIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFO2dCQUN4RSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRTtvQkFDbkIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO29CQUNaLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO29CQUM5QixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO2lCQUN0QztZQUNMLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2pCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO2FBQU07WUFDSCxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ3pELElBQUksVUFBVSxHQUFHLFFBQVEsQ0FBQyxlQUFlLENBQUM7WUFDMUMsSUFBSSxTQUFTLEdBQUcsVUFBVSxDQUFDLFlBQVksQ0FBQztZQUV4QyxPQUFPLFNBQVMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ2hDO0lBQ0wsQ0FBQztJQUVELElBQUk7UUFDQSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsUUFBUTtRQUNKLE9BQU8sSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7SUFDN0IsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUVqQixJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRTtZQUM3QixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztTQUNqQztJQUNMLENBQUM7OzJHQXZEUSxjQUFjOytGQUFkLGNBQWMsNEpBR1QsV0FBVzsyRkFIaEIsY0FBYztrQkFOMUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsVUFBVTtvQkFDcEIsSUFBSSxFQUFFO3dCQUNGLEtBQUssRUFBRSxXQUFXO3FCQUNyQjtpQkFDSjt3TEFFYSxNQUFNO3NCQUFmLE1BQU07Z0JBRW9CLFFBQVE7c0JBQWxDLFlBQVk7dUJBQUMsV0FBVzs7QUE0RDdCLE1BQU0sT0FBTyxXQUFXOzt3R0FBWCxXQUFXO3lHQUFYLFdBQVcsaUJBL0RYLGNBQWMsYUEyRGIsWUFBWSxhQTNEYixjQUFjO3lHQStEZCxXQUFXLFlBSlYsWUFBWTsyRkFJYixXQUFXO2tCQUx2QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDO29CQUN6QixZQUFZLEVBQUUsQ0FBQyxjQUFjLENBQUM7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBUZW1wbGF0ZVJlZiwgRW1iZWRkZWRWaWV3UmVmLCBWaWV3Q29udGFpbmVyUmVmLCBSZW5kZXJlcjIsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBDb250ZW50Q2hpbGQsIENoYW5nZURldGVjdG9yUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1twRGVmZXJdJyxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAncC1lbGVtZW50J1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgRGVmZXJyZWRMb2FkZXIgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICAgIEBPdXRwdXQoKSBvbkxvYWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICAgQENvbnRlbnRDaGlsZChUZW1wbGF0ZVJlZikgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICBkb2N1bWVudFNjcm9sbExpc3RlbmVyOiBGdW5jdGlvbjtcblxuICAgIHZpZXc6IEVtYmVkZGVkVmlld1JlZjxhbnk+O1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGVsOiBFbGVtZW50UmVmLCBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHVibGljIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBpZiAodGhpcy5zaG91bGRMb2FkKCkpIHtcbiAgICAgICAgICAgIHRoaXMubG9hZCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzTG9hZGVkKCkpIHtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRTY3JvbGxMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKCd3aW5kb3cnLCAnc2Nyb2xsJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLnNob3VsZExvYWQoKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmxvYWQoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudFNjcm9sbExpc3RlbmVyKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRTY3JvbGxMaXN0ZW5lciA9IG51bGw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzaG91bGRMb2FkKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5pc0xvYWRlZCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsZXQgcmVjdCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGxldCBkb2NFbGVtZW50ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICAgICAgICAgICAgbGV0IHdpbkhlaWdodCA9IGRvY0VsZW1lbnQuY2xpZW50SGVpZ2h0O1xuXG4gICAgICAgICAgICByZXR1cm4gd2luSGVpZ2h0ID49IHJlY3QudG9wO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbG9hZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52aWV3ID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlKTtcbiAgICAgICAgdGhpcy5vbkxvYWQuZW1pdCgpO1xuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICBpc0xvYWRlZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmlldyAhPSBudWxsO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnZpZXcgPSBudWxsO1xuXG4gICAgICAgIGlmICh0aGlzLmRvY3VtZW50U2Nyb2xsTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRTY3JvbGxMaXN0ZW5lcigpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtEZWZlcnJlZExvYWRlcl0sXG4gICAgZGVjbGFyYXRpb25zOiBbRGVmZXJyZWRMb2FkZXJdXG59KVxuZXhwb3J0IGNsYXNzIERlZmVyTW9kdWxlIHt9XG4iXX0=
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvZGVmZXIvZGVmZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQXdDLFdBQVcsRUFBZ0QsWUFBWSxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQXFCLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDak8sT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFTNUUsTUFBTSxPQUFPLGNBQWM7SUFXdkIsWUFBc0MsUUFBa0IsRUFBK0IsVUFBZSxFQUFTLEVBQWMsRUFBUyxRQUFtQixFQUFTLGFBQStCLEVBQVUsRUFBcUI7UUFBMUwsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUErQixlQUFVLEdBQVYsVUFBVSxDQUFLO1FBQVMsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFTLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBUyxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQVZ0TixXQUFNLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFXckQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQXFCLENBQUM7SUFDdEQsQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNwQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRTtnQkFDbkIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ2Y7WUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNsQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFO29CQUMzRSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRTt3QkFDbkIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO3dCQUNaLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO3dCQUM5QixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO3FCQUN0QztnQkFDTCxDQUFDLENBQUMsQ0FBQzthQUNOO1NBQ0o7SUFDTCxDQUFDO0lBRUQsVUFBVTtRQUNOLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ2pCLE9BQU8sS0FBSyxDQUFDO1NBQ2hCO2FBQU07WUFDSCxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ3pELElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDO1lBQy9DLElBQUksU0FBUyxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUM7WUFFeEMsT0FBTyxTQUFTLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQztTQUNoQztJQUNMLENBQUM7SUFFRCxJQUFJO1FBQ0EsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELFFBQVE7UUFDSixPQUFPLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuRSxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBRWpCLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQzdCLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1NBQ2pDO0lBQ0wsQ0FBQzs7MkdBN0RRLGNBQWMsa0JBV0gsUUFBUSxhQUFzQyxXQUFXOytGQVhwRSxjQUFjLDRKQUdULFdBQVc7MkZBSGhCLGNBQWM7a0JBTjFCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLElBQUksRUFBRTt3QkFDRixLQUFLLEVBQUUsV0FBVztxQkFDckI7aUJBQ0o7OzBCQVlnQixNQUFNOzJCQUFDLFFBQVE7OzBCQUErQixNQUFNOzJCQUFDLFdBQVc7NEpBVm5FLE1BQU07c0JBQWYsTUFBTTtnQkFFb0IsUUFBUTtzQkFBbEMsWUFBWTt1QkFBQyxXQUFXOztBQWtFN0IsTUFBTSxPQUFPLFdBQVc7O3dHQUFYLFdBQVc7eUdBQVgsV0FBVyxpQkFyRVgsY0FBYyxhQWlFYixZQUFZLGFBakViLGNBQWM7eUdBcUVkLFdBQVcsWUFKVixZQUFZOzJGQUliLFdBQVc7a0JBTHZCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQyxjQUFjLENBQUM7b0JBQ3pCLFlBQVksRUFBRSxDQUFDLGNBQWMsQ0FBQztpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIFRlbXBsYXRlUmVmLCBFbWJlZGRlZFZpZXdSZWYsIFZpZXdDb250YWluZXJSZWYsIFJlbmRlcmVyMiwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIENvbnRlbnRDaGlsZCwgQ2hhbmdlRGV0ZWN0b3JSZWYsIEluamVjdCwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgRE9DVU1FTlQsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERvbUhhbmRsZXIgfSBmcm9tICdwcmltZW5nL2RvbSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3BEZWZlcl0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgY2xhc3M6ICdwLWVsZW1lbnQnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBEZWZlcnJlZExvYWRlciBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG4gICAgQE91dHB1dCgpIG9uTG9hZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAQ29udGVudENoaWxkKFRlbXBsYXRlUmVmKSB0ZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIGRvY3VtZW50U2Nyb2xsTGlzdGVuZXI6IEZ1bmN0aW9uO1xuXG4gICAgdmlldzogRW1iZWRkZWRWaWV3UmVmPGFueT47XG5cbiAgICB3aW5kb3c6IFdpbmRvdztcblxuICAgIGNvbnN0cnVjdG9yKEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LCBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IGFueSwgcHVibGljIGVsOiBFbGVtZW50UmVmLCBwdWJsaWMgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHVibGljIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgICAgIHRoaXMud2luZG93ID0gdGhpcy5kb2N1bWVudC5kZWZhdWx0VmlldyBhcyBXaW5kb3c7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuc2hvdWxkTG9hZCgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghdGhpcy5pc0xvYWRlZCgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudFNjcm9sbExpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4odGhpcy53aW5kb3csICdzY3JvbGwnLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnNob3VsZExvYWQoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2FkKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRvY3VtZW50U2Nyb2xsTGlzdGVuZXIoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRTY3JvbGxMaXN0ZW5lciA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNob3VsZExvYWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmlzTG9hZGVkKCkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxldCByZWN0ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgICAgICAgbGV0IGRvY0VsZW1lbnQgPSB0aGlzLmRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgICAgICAgICAgIGxldCB3aW5IZWlnaHQgPSBkb2NFbGVtZW50LmNsaWVudEhlaWdodDtcblxuICAgICAgICAgICAgcmV0dXJuIHdpbkhlaWdodCA+PSByZWN0LnRvcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxvYWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmlldyA9IHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZSk7XG4gICAgICAgIHRoaXMub25Mb2FkLmVtaXQoKTtcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuXG4gICAgaXNMb2FkZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnZpZXcgIT0gbnVsbCAmJiBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnZpZXcgPSBudWxsO1xuXG4gICAgICAgIGlmICh0aGlzLmRvY3VtZW50U2Nyb2xsTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRTY3JvbGxMaXN0ZW5lcigpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtEZWZlcnJlZExvYWRlcl0sXG4gICAgZGVjbGFyYXRpb25zOiBbRGVmZXJyZWRMb2FkZXJdXG59KVxuZXhwb3J0IGNsYXNzIERlZmVyTW9kdWxlIHt9XG4iXX0=