@sbb-esta/lyne-elements-dev 5.0.0-next.3-dev.1779349365 → 5.0.0-next.3-dev.1779440997

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 (873) hide show
  1. package/accordion/accordion.component.js +1 -1
  2. package/accordion.js +1 -1
  3. package/accordion.pure.js +1 -1
  4. package/action-group/action-group.component.js +1 -1
  5. package/action-group.js +1 -1
  6. package/action-group.pure.js +1 -1
  7. package/alert/alert/alert.component.js +1 -1
  8. package/alert/alert-group/alert-group.component.js +1 -1
  9. package/alert.js +2 -2
  10. package/alert.pure.js +2 -2
  11. package/autocomplete/autocomplete-base-element.js +1 -1
  12. package/autocomplete/autocomplete.component.js +1 -1
  13. package/autocomplete.js +1 -1
  14. package/autocomplete.pure.js +1 -1
  15. package/{block-link-common-B1E38xKe.js → block-link-common-C_rUmc2u.js} +1 -1
  16. package/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
  17. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  18. package/breadcrumb.js +2 -2
  19. package/breadcrumb.pure.js +2 -2
  20. package/button/common/button-common.js +1 -1
  21. package/button/mini-button-group/mini-button-group.component.js +1 -1
  22. package/button/mini-button-link/mini-button-link.component.js +1 -1
  23. package/button.js +3 -3
  24. package/button.pure.js +3 -3
  25. package/calendar/calendar/calendar.component.js +1 -1
  26. package/calendar/calendar-day/calendar-day.component.js +1 -1
  27. package/calendar/common/calendar-cell-base-element.js +1 -1
  28. package/{calendar.component-BhUyyFtR.js → calendar.component-DKKptbyy.js} +1 -1
  29. package/calendar.js +3 -3
  30. package/calendar.pure.js +3 -3
  31. package/card/card/card.component.js +1 -1
  32. package/card/card-badge/card-badge.component.js +1 -1
  33. package/card/common/card-action-common.js +1 -1
  34. package/card.js +3 -3
  35. package/card.pure.js +3 -3
  36. package/carousel/carousel/carousel.component.js +1 -1
  37. package/carousel/carousel-item/carousel-item.component.js +1 -1
  38. package/carousel/carousel-list/carousel-list.component.js +1 -1
  39. package/carousel.js +3 -3
  40. package/carousel.pure.js +3 -3
  41. package/checkbox/checkbox.component.js +1 -1
  42. package/checkbox/common/checkbox-common.js +1 -1
  43. package/{checkbox.component-PkHijotV.js → checkbox.component-DNVief0q.js} +1 -1
  44. package/checkbox.js +2 -2
  45. package/checkbox.pure.js +2 -2
  46. package/chip/chip/chip.component.js +1 -1
  47. package/chip/chip-group/chip-group.component.js +1 -1
  48. package/chip-label/chip-label.component.js +1 -1
  49. package/chip-label.js +1 -1
  50. package/chip-label.pure.js +1 -1
  51. package/chip.js +2 -2
  52. package/chip.pure.js +2 -2
  53. package/clock/clock.component.js +1 -1
  54. package/clock.js +1 -1
  55. package/clock.pure.js +1 -1
  56. package/container/container/container.component.js +1 -1
  57. package/container/sticky-bar/sticky-bar.component.js +1 -1
  58. package/container.js +2 -2
  59. package/container.pure.js +2 -2
  60. package/core/base-elements/action-base-element.js +1 -1
  61. package/core/base-elements/element.js +1 -1
  62. package/core/base-elements/open-close-base-element.js +1 -1
  63. package/core/base-elements/selection-group-base-element.js +1 -1
  64. package/core/controllers/media-matchers-controller.js +1 -1
  65. package/core/mixins/panel-mixin.js +1 -1
  66. package/core/styles/styles.js +1 -1
  67. package/core.js +4 -4
  68. package/date-input/date-input.component.js +1 -1
  69. package/date-input.js +1 -1
  70. package/date-input.pure.js +1 -1
  71. package/datepicker/common/datepicker-button.js +1 -1
  72. package/datepicker.js +1 -1
  73. package/datepicker.pure.js +1 -1
  74. package/development/accordion/accordion.component.js +1 -1
  75. package/development/{accordion.component-xx7XabDY.js → accordion.component-pI5XM-iT.js} +1 -1
  76. package/development/accordion.js +1 -1
  77. package/development/accordion.pure.js +1 -1
  78. package/development/action-group/action-group.component.js +1 -1
  79. package/development/{action-group.component-wgXPpkQe.js → action-group.component-pe0c2zni.js} +1 -1
  80. package/development/action-group.js +1 -1
  81. package/development/action-group.pure.js +1 -1
  82. package/development/alert/alert/alert.component.js +1 -1
  83. package/development/alert/alert-group/alert-group.component.js +1 -1
  84. package/development/{alert-group.component-w5PbU_4C.js → alert-group.component-DYmA3spO.js} +1 -1
  85. package/development/{alert.component-Dzm5z0jh.js → alert.component-Cq0IPcfk.js} +1 -1
  86. package/development/alert.js +2 -2
  87. package/development/alert.pure.js +2 -2
  88. package/development/autocomplete/autocomplete-base-element.js +1 -1
  89. package/development/autocomplete/autocomplete.component.js +1 -1
  90. package/development/{autocomplete-base-element-D1b0RA_u.js → autocomplete-base-element-DtwUdjCd.js} +1 -1
  91. package/development/autocomplete.js +1 -1
  92. package/development/autocomplete.pure.js +1 -1
  93. package/development/{block-link-common-DNvRfeay.js → block-link-common-C0XzZIvS.js} +2 -2
  94. package/development/breadcrumb/breadcrumb/breadcrumb.component.js +1 -1
  95. package/development/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  96. package/development/{breadcrumb-group.component-DvY1hq51.js → breadcrumb-group.component-mofwnLS1.js} +1 -1
  97. package/development/{breadcrumb.component-D6Cd2FPo.js → breadcrumb.component-B3XsV_Aq.js} +1 -1
  98. package/development/breadcrumb.js +2 -2
  99. package/development/breadcrumb.pure.js +2 -2
  100. package/development/button/common/button-common.js +1 -1
  101. package/development/button/mini-button-group/mini-button-group.component.js +1 -1
  102. package/development/button/mini-button-link/mini-button-link.component.js +1 -1
  103. package/development/{button-common-C-A7Dulr.js → button-common-DvuYiiku.js} +1 -1
  104. package/development/button.js +3 -3
  105. package/development/button.pure.js +3 -3
  106. package/development/calendar/calendar/calendar.component.js +1 -1
  107. package/development/calendar/calendar-day/calendar-day.component.js +1 -1
  108. package/development/calendar/common/calendar-cell-base-element.js +1 -1
  109. package/development/{calendar-cell-base-element-mWRSDeWc.js → calendar-cell-base-element-D_CTwDn9.js} +1 -1
  110. package/development/{calendar-day.component-BHvdRxll.js → calendar-day.component-Bux4ezpg.js} +1 -1
  111. package/development/{calendar.component-DnC8Zkdk.js → calendar.component-NvMN01yi.js} +2 -2
  112. package/development/calendar.js +3 -3
  113. package/development/calendar.pure.js +3 -3
  114. package/development/card/card/card.component.js +1 -1
  115. package/development/card/card-badge/card-badge.component.js +1 -1
  116. package/development/card/common/card-action-common.js +1 -1
  117. package/development/{card-action-common-zS5iNz23.js → card-action-common-Dr-EX0gr.js} +1 -1
  118. package/development/{card-badge.component-CEfJdJBs.js → card-badge.component-CENJTZ4g.js} +1 -1
  119. package/development/{card.component-CL2gHoyP.js → card.component-CVAgqDNK.js} +1 -1
  120. package/development/card.js +3 -3
  121. package/development/card.pure.js +3 -3
  122. package/development/carousel/carousel/carousel.component.js +1 -1
  123. package/development/carousel/carousel-item/carousel-item.component.js +1 -1
  124. package/development/carousel/carousel-list/carousel-list.component.js +1 -1
  125. package/development/{carousel-item.component-nuo7jAt3.js → carousel-item.component-DjDAg-DC.js} +1 -1
  126. package/development/{carousel-list.component-B8PUREwS.js → carousel-list.component-BLY3JfDq.js} +1 -1
  127. package/development/{carousel.component-D_KIJ9Bb.js → carousel.component-CD2_hauh.js} +1 -1
  128. package/development/carousel.js +3 -3
  129. package/development/carousel.pure.js +3 -3
  130. package/development/checkbox/checkbox.component.js +1 -1
  131. package/development/checkbox/common/checkbox-common.js +1 -1
  132. package/development/{checkbox-common-225vizTc.js → checkbox-common-o3Su1McS.js} +1 -1
  133. package/development/{checkbox.component-DiNnV2_Y.js → checkbox.component-6zr36eQq.js} +2 -2
  134. package/development/checkbox.js +2 -2
  135. package/development/checkbox.pure.js +2 -2
  136. package/development/chip/chip/chip.component.js +1 -1
  137. package/development/chip/chip-group/chip-group.component.js +1 -1
  138. package/development/{chip-group.component-CVizDsAz.js → chip-group.component-BY025VTb.js} +1 -1
  139. package/development/chip-label/chip-label.component.js +1 -1
  140. package/development/{chip-label.component-DHHNtvTt.js → chip-label.component-D8Il3pvk.js} +1 -1
  141. package/development/chip-label.js +1 -1
  142. package/development/chip-label.pure.js +1 -1
  143. package/development/{chip.component-Uuf3tGFz.js → chip.component-C2VmHfZa.js} +1 -1
  144. package/development/chip.js +2 -2
  145. package/development/chip.pure.js +2 -2
  146. package/development/clock/clock.component.js +1 -1
  147. package/development/{clock.component-DcM1WFTN.js → clock.component-CyCPrufS.js} +1 -1
  148. package/development/clock.js +1 -1
  149. package/development/clock.pure.js +1 -1
  150. package/development/{compact-paginator.component-m8MASSB7.js → compact-paginator.component-CKHS0U1v.js} +1 -1
  151. package/development/container/container/container.component.js +1 -1
  152. package/development/container/sticky-bar/sticky-bar.component.js +1 -1
  153. package/development/{container.component-D1Qgp4HW.js → container.component-Ctdd3D-A.js} +1 -1
  154. package/development/container.js +2 -2
  155. package/development/container.pure.js +2 -2
  156. package/development/core/base-elements/action-base-element.js +1 -1
  157. package/development/core/base-elements/element.js +1 -1
  158. package/development/core/base-elements/open-close-base-element.js +1 -1
  159. package/development/core/base-elements/selection-group-base-element.js +1 -1
  160. package/development/core/controllers/media-matchers-controller.js +1 -1
  161. package/development/core/mixins/panel-mixin.js +1 -1
  162. package/development/core/styles/styles.js +1 -1
  163. package/development/core.js +4 -4
  164. package/development/date-input/date-input.component.js +1 -1
  165. package/development/{date-input.component-HxRyCudr.js → date-input.component-Cy7m1ocL.js} +1 -1
  166. package/development/date-input.js +1 -1
  167. package/development/date-input.pure.js +1 -1
  168. package/development/datepicker/common/datepicker-button.js +1 -1
  169. package/development/{datepicker-button-Bb76EBYH.js → datepicker-button-BvBQB6Sv.js} +1 -1
  170. package/development/datepicker.js +1 -1
  171. package/development/datepicker.pure.js +1 -1
  172. package/development/dialog/dialog/dialog.component.js +1 -1
  173. package/development/dialog/dialog-actions/dialog-actions.component.js +1 -1
  174. package/development/dialog/dialog-close-button/dialog-close-button.component.js +1 -1
  175. package/development/dialog/dialog-content/dialog-content.component.js +1 -1
  176. package/development/dialog/dialog-title/dialog-title.component.js +1 -1
  177. package/development/{dialog-actions.component-e0ZTTUin.js → dialog-actions.component-Dyzg7z-B.js} +1 -1
  178. package/development/{dialog-close-button.component-Idc00dB9.js → dialog-close-button.component-dgLnsaLx.js} +1 -1
  179. package/development/{dialog-content.component-CThU7Z8A.js → dialog-content.component-DDtVV0Lh.js} +1 -1
  180. package/development/{dialog-title.component-0uNsUR2C.js → dialog-title.component-DyItyahT.js} +1 -1
  181. package/development/{dialog.component-cZ3SAujq.js → dialog.component-B1Tke2ym.js} +1 -1
  182. package/development/dialog.js +5 -5
  183. package/development/dialog.pure.js +5 -5
  184. package/development/divider/divider.component.js +1 -1
  185. package/development/{divider.component-Ck_0vISe.js → divider.component-CYP23U4q.js} +1 -1
  186. package/development/divider.js +1 -1
  187. package/development/divider.pure.js +1 -1
  188. package/development/{element-BAsBayf5.js → element-BS28ba7w.js} +1 -1
  189. package/development/{error.component-WCkiwM7_.js → error.component-Bp7ztvQB.js} +1 -1
  190. package/development/expansion-panel/expansion-panel/expansion-panel.component.js +1 -1
  191. package/development/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +1 -1
  192. package/development/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
  193. package/development/{expansion-panel-content.component-Bs0pYNJO.js → expansion-panel-content.component-CKhGtjji.js} +1 -1
  194. package/development/{expansion-panel-header.component-gg5A_7Pz.js → expansion-panel-header.component-Do3pLbzs.js} +1 -1
  195. package/development/{expansion-panel.component-DcFrWkIt.js → expansion-panel.component-BnbRiLrk.js} +1 -1
  196. package/development/expansion-panel.js +3 -3
  197. package/development/expansion-panel.pure.js +3 -3
  198. package/development/file-selector/common/file-selector-common.js +1 -1
  199. package/development/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  200. package/development/{file-selector-common-Dd0S0qE3.js → file-selector-common-CCvgN1G2.js} +1 -1
  201. package/development/{file-selector-dropzone.component-DWLdqMmI.js → file-selector-dropzone.component-BeqSG2IM.js} +1 -1
  202. package/development/file-selector.js +2 -2
  203. package/development/file-selector.pure.js +2 -2
  204. package/development/flip-card/flip-card/flip-card.component.js +1 -1
  205. package/development/flip-card/flip-card-details/flip-card-details.component.js +1 -1
  206. package/development/flip-card/flip-card-summary/flip-card-summary.component.js +1 -1
  207. package/development/{flip-card-details.component-BYv_W66a.js → flip-card-details.component-RJ43uhma.js} +1 -1
  208. package/development/{flip-card-summary.component-jLNjJUNl.js → flip-card-summary.component-D9zMzU8m.js} +1 -1
  209. package/development/{flip-card.component-MmiS-x-W.js → flip-card.component-CAsfIcvt.js} +1 -1
  210. package/development/flip-card.js +3 -3
  211. package/development/flip-card.pure.js +3 -3
  212. package/development/footer/footer.component.js +1 -1
  213. package/development/{footer.component-K2bWizjw.js → footer.component-DJH7E5aO.js} +1 -1
  214. package/development/footer.js +1 -1
  215. package/development/footer.pure.js +1 -1
  216. package/development/form-field/error/error.component.js +1 -1
  217. package/development/form-field/form-field/form-field.component.js +1 -1
  218. package/development/form-field/hint/hint.component.js +1 -1
  219. package/development/{form-field.component-BzjbIwnz.js → form-field.component-YM-Z5aZf.js} +1 -1
  220. package/development/form-field.js +3 -3
  221. package/development/form-field.pure.js +3 -3
  222. package/development/header/common/header-action-common.js +1 -1
  223. package/development/header/header/header.component.js +1 -1
  224. package/development/header/header-environment/header-environment.component.js +1 -1
  225. package/development/{header-action-common-BYB-HYtn.js → header-action-common-CDiEhWa0.js} +1 -1
  226. package/development/{header-environment.component-CIyxQwkQ.js → header-environment.component--4YEZyKq.js} +1 -1
  227. package/development/{header.component-C4e7CNql.js → header.component-B43X03Jg.js} +1 -1
  228. package/development/header.js +3 -3
  229. package/development/header.pure.js +3 -3
  230. package/development/{hint.component-BB9QLGGx.js → hint.component-CdM71SNj.js} +1 -1
  231. package/development/icon/icon-base.js +1 -1
  232. package/development/icon/icon.component.js +1 -1
  233. package/development/{icon-base-DrBHy9BT.js → icon-base-Cz7F4MJ9.js} +1 -1
  234. package/development/icon-sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
  235. package/development/icon-sidebar/icon-sidebar-container/icon-sidebar-container.component.js +1 -1
  236. package/development/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
  237. package/development/{icon-sidebar-container.component-CM94Spwy.js → icon-sidebar-container.component-G8wyj1Sb.js} +1 -1
  238. package/development/{icon-sidebar-content.component-BP9W5ZxR.js → icon-sidebar-content.component-D1VPTNhO.js} +1 -1
  239. package/development/{icon-sidebar.component-B68P2aNh.js → icon-sidebar.component-DLlCKweu.js} +1 -1
  240. package/development/icon-sidebar.js +3 -3
  241. package/development/icon-sidebar.pure.js +3 -3
  242. package/development/icon.js +1 -1
  243. package/development/icon.pure.js +1 -1
  244. package/development/image/image.component.js +1 -1
  245. package/development/{image.component-EfSMgHI_.js → image.component-DoRIca5y.js} +5 -16
  246. package/development/image.js +1 -1
  247. package/development/image.pure.js +1 -1
  248. package/development/{inline-link-common-BV6oAtAA.js → inline-link-common-CXYyREBi.js} +2 -2
  249. package/development/journey-header/journey-header.component.js +1 -1
  250. package/development/{journey-header.component-CA4juz9x.js → journey-header.component-tBukBhVq.js} +1 -1
  251. package/development/journey-header.js +1 -1
  252. package/development/journey-header.pure.js +1 -1
  253. package/development/lead-container/lead-container.component.js +1 -1
  254. package/development/{lead-container.component-C_mFeq1B.js → lead-container.component-D93DLU_J.js} +1 -1
  255. package/development/lead-container.js +1 -1
  256. package/development/lead-container.pure.js +1 -1
  257. package/development/link/common/block-link-common.js +1 -1
  258. package/development/link/common/inline-link-common.js +1 -1
  259. package/development/link/common/link-common.js +1 -1
  260. package/development/{link-common-2RGn9Qz_.js → link-common-DWTP-lFX.js} +1 -1
  261. package/development/link-list/common/link-list-base.js +1 -1
  262. package/development/link-list/link-list.component.js +1 -1
  263. package/development/link-list-anchor/link-list-anchor.component.js +1 -1
  264. package/development/{link-list-anchor.component-BMtCbCRD.js → link-list-anchor.component-9C1H5KXX.js} +1 -1
  265. package/development/link-list-anchor.js +1 -1
  266. package/development/link-list-anchor.pure.js +1 -1
  267. package/development/{link-list-base-CKT3c8yW.js → link-list-base-CaPkNR_V.js} +1 -1
  268. package/development/{link-list.component-CLxhjWR7.js → link-list.component-By_lSSYE.js} +2 -2
  269. package/development/link-list.js +2 -2
  270. package/development/link-list.pure.js +2 -2
  271. package/development/link.js +3 -3
  272. package/development/link.pure.js +3 -3
  273. package/development/loading-indicator/loading-indicator.component.js +1 -1
  274. package/development/loading-indicator-circle/loading-indicator-circle.component.js +1 -1
  275. package/development/{loading-indicator-circle.component-Cfjw5vyz.js → loading-indicator-circle.component-CudNN1Z6.js} +1 -1
  276. package/development/loading-indicator-circle.js +1 -1
  277. package/development/loading-indicator-circle.pure.js +1 -1
  278. package/development/{loading-indicator.component-By2VaLCf.js → loading-indicator.component-sEdpEBpx.js} +1 -1
  279. package/development/loading-indicator.js +1 -1
  280. package/development/loading-indicator.pure.js +1 -1
  281. package/development/logo/logo.component.js +1 -1
  282. package/development/{logo.component-DYKgAgq0.js → logo.component-SqyPA1M-.js} +1 -1
  283. package/development/logo.js +1 -1
  284. package/development/logo.pure.js +1 -1
  285. package/development/map-container/map-container.component.js +1 -1
  286. package/development/{map-container.component-D0UVTolK.js → map-container.component-N-e2oBnd.js} +1 -1
  287. package/development/map-container.js +1 -1
  288. package/development/map-container.pure.js +1 -1
  289. package/development/menu/common/menu-action-common.js +1 -1
  290. package/development/menu/menu/menu.component.js +1 -1
  291. package/development/{menu-action-common-DL4t4_-J.js → menu-action-common-BUIJFq1R.js} +1 -1
  292. package/development/{menu.component-3qEIFutc.js → menu.component-B3uWxwbt.js} +1 -1
  293. package/development/menu.js +2 -2
  294. package/development/menu.pure.js +2 -2
  295. package/development/message/message.component.js +1 -1
  296. package/development/{message.component-BJ-84a0B.js → message.component-BrqWVCJV.js} +1 -1
  297. package/development/message.js +1 -1
  298. package/development/message.pure.js +1 -1
  299. package/development/{mini-button-group.component-C88pIaaL.js → mini-button-group.component-C2KcpK5c.js} +1 -1
  300. package/development/{mini-button-link.component-kpRsi8I2.js → mini-button-link.component-BHaNYXk0.js} +1 -1
  301. package/development/mini-calendar/mini-calendar/mini-calendar.component.js +1 -1
  302. package/development/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +1 -1
  303. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +1 -1
  304. package/development/{mini-calendar-day.component-BLkJ12Bw.js → mini-calendar-day.component-UG6wpckK.js} +1 -1
  305. package/development/{mini-calendar-month.component-D8XjjLmN.js → mini-calendar-month.component-GE-cmXxP.js} +1 -1
  306. package/development/{mini-calendar.component-BOk8JovO.js → mini-calendar.component-DQ_zxELt.js} +1 -1
  307. package/development/mini-calendar.js +3 -3
  308. package/development/mini-calendar.pure.js +3 -3
  309. package/development/navigation/common/navigation-action-common.js +1 -1
  310. package/development/navigation/navigation/navigation.component.js +1 -1
  311. package/development/navigation/navigation-list/navigation-list.component.js +1 -1
  312. package/development/navigation/navigation-marker/navigation-marker.component.js +1 -1
  313. package/development/navigation/navigation-section/navigation-section.component.js +1 -1
  314. package/development/{navigation-action-common-wrzPCkMT.js → navigation-action-common-BdJOaItd.js} +1 -1
  315. package/development/{navigation-list.component-CU-SGC8c.js → navigation-list.component-CWOSnwgm.js} +1 -1
  316. package/development/{navigation-marker.component-CTk9U0kA.js → navigation-marker.component-D3Vbe1dH.js} +1 -1
  317. package/development/{navigation-section.component-iaypc6yQ.js → navigation-section.component-DhMQspKb.js} +1 -1
  318. package/development/{navigation.component-Bu1wVUNx.js → navigation.component-BOBqdfXo.js} +1 -1
  319. package/development/navigation.js +5 -5
  320. package/development/navigation.pure.js +5 -5
  321. package/development/notification/notification.component.js +1 -1
  322. package/development/{notification.component-BiJSo7Pl.js → notification.component-BlWGjgrP.js} +1 -1
  323. package/development/notification.js +1 -1
  324. package/development/notification.pure.js +1 -1
  325. package/development/{optgroup-base-element-BzfcJgxG.js → optgroup-base-element--G8myprb.js} +1 -1
  326. package/development/option/optgroup/optgroup-base-element.js +1 -1
  327. package/development/option/optgroup/optgroup.component.js +1 -1
  328. package/development/option/option/option.component.js +1 -1
  329. package/development/option/option-hint/option-hint.component.js +1 -1
  330. package/development/option/option-styles.js +1 -1
  331. package/development/{option-hint.component-DPfgcpVn.js → option-hint.component-DyCue4gx.js} +1 -1
  332. package/development/{option-styles-IEQgVpCe.js → option-styles-CTdAvJu3.js} +1 -1
  333. package/development/{option.component-ImZLdB0V.js → option.component-BSHq97Of.js} +1 -1
  334. package/development/option.js +4 -4
  335. package/development/option.pure.js +4 -4
  336. package/development/overlay/overlay.component.js +1 -1
  337. package/development/{overlay.component-DywhKxO1.js → overlay.component-D_BLhfdG.js} +1 -1
  338. package/development/overlay.js +1 -1
  339. package/development/overlay.pure.js +1 -1
  340. package/development/paginator/common/paginator-common.js +1 -1
  341. package/development/paginator/compact-paginator/compact-paginator.component.js +1 -1
  342. package/development/paginator/paginator/paginator.component.js +1 -1
  343. package/development/{paginator-common-CRchtcXc.js → paginator-common-B9EN1Fjx.js} +1 -1
  344. package/development/{paginator.component-B8y5tVCL.js → paginator.component-DisPJ2Qa.js} +4 -4
  345. package/development/paginator.js +3 -3
  346. package/development/paginator.pure.js +3 -3
  347. package/development/{panel-mixin-DPybe45K.js → panel-mixin-Da_cHQn-.js} +1 -1
  348. package/development/popover/popover.component.js +1 -1
  349. package/development/{popover.component-Ds4fNNsq.js → popover.component-DtIhw37L.js} +1 -1
  350. package/development/popover.js +1 -1
  351. package/development/popover.pure.js +1 -1
  352. package/development/radio-button/common/radio-button-common.js +1 -1
  353. package/development/radio-button/radio-button.component.js +1 -1
  354. package/development/{radio-button-common-BS05acqM.js → radio-button-common-BaGYHkpD.js} +1 -1
  355. package/development/{radio-button.component-BUSzf7Eq.js → radio-button.component-CmQGrMHr.js} +2 -2
  356. package/development/radio-button.js +2 -2
  357. package/development/radio-button.pure.js +2 -2
  358. package/development/{sbb-tokens-bg2elLoF.js → sbb-tokens-DGQJTWqa.js} +1 -1
  359. package/development/select/select.component.js +1 -1
  360. package/development/{select.component-o-3HlzOK.js → select.component-3S8E6UwN.js} +1 -1
  361. package/development/select.js +1 -1
  362. package/development/select.pure.js +1 -1
  363. package/development/selection-action-panel/selection-action-panel.component.js +1 -1
  364. package/development/{selection-action-panel.component-C3UlmLkJ.js → selection-action-panel.component-pd9B6lRD.js} +1 -1
  365. package/development/selection-action-panel.js +1 -1
  366. package/development/selection-action-panel.pure.js +1 -1
  367. package/development/selection-expansion-panel/selection-expansion-panel.component.js +1 -1
  368. package/development/{selection-expansion-panel.component-4Ron8XNy.js → selection-expansion-panel.component-Dtfnz1AE.js} +1 -1
  369. package/development/selection-expansion-panel.js +1 -1
  370. package/development/selection-expansion-panel.pure.js +1 -1
  371. package/development/{selection-group-base-element-B3vOsN1Q.js → selection-group-base-element-govDKjsE.js} +2 -2
  372. package/development/sidebar/sidebar/sidebar.component.js +1 -1
  373. package/development/sidebar/sidebar-close-button/sidebar-close-button.component.js +1 -1
  374. package/development/sidebar/sidebar-container/sidebar-container.component.js +1 -1
  375. package/development/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  376. package/development/sidebar/sidebar-title/sidebar-title.component.js +1 -1
  377. package/development/{sidebar-close-button.component-ByQtC65O.js → sidebar-close-button.component-tkbcoR-I.js} +1 -1
  378. package/development/{sidebar-container.component-BmavabUg.js → sidebar-container.component-CbE9878W.js} +1 -1
  379. package/development/{sidebar-content.component-DcsIIWpz.js → sidebar-content.component-CBfaiAsJ.js} +1 -1
  380. package/development/{sidebar-title.component-DgJdkoiE.js → sidebar-title.component-ZKarv4Mz.js} +1 -1
  381. package/development/{sidebar.component-BszwyJQa.js → sidebar.component-Cmkn9X-M.js} +1 -1
  382. package/development/sidebar.js +5 -5
  383. package/development/sidebar.pure.js +5 -5
  384. package/development/signet/signet.component.js +1 -1
  385. package/development/{signet.component-DXLTVjJS.js → signet.component--kuRWLGw.js} +1 -1
  386. package/development/signet.js +1 -1
  387. package/development/signet.pure.js +1 -1
  388. package/development/skiplink-list/skiplink-list.component.js +1 -1
  389. package/development/{skiplink-list.component-BC8rpyf9.js → skiplink-list.component-Cpyo7JAH.js} +1 -1
  390. package/development/skiplink-list.js +1 -1
  391. package/development/skiplink-list.pure.js +1 -1
  392. package/development/slider/slider.component.js +1 -1
  393. package/development/{slider.component-Dz4Nl2ZL.js → slider.component-C4SpkHDK.js} +1 -1
  394. package/development/slider.js +1 -1
  395. package/development/slider.pure.js +1 -1
  396. package/development/status/status.component.js +1 -1
  397. package/development/{status.component-thSGiOrl.js → status.component-DnnX98xP.js} +1 -1
  398. package/development/status.js +1 -1
  399. package/development/status.pure.js +1 -1
  400. package/development/{step-label.component-CpdXVv32.js → step-label.component-i13wQWJJ.js} +1 -1
  401. package/development/{step.component-CfA-kmt1.js → step.component-lTLpcOUh.js} +1 -1
  402. package/development/stepper/step/step.component.js +1 -1
  403. package/development/stepper/step-label/step-label.component.js +1 -1
  404. package/development/stepper/stepper/stepper.component.js +1 -1
  405. package/development/{stepper.component-2yRFnnju.js → stepper.component-DBE685VL.js} +1 -1
  406. package/development/stepper.js +3 -3
  407. package/development/stepper.pure.js +3 -3
  408. package/development/{sticky-bar.component-DZpy1gBU.js → sticky-bar.component-BEhV0azF.js} +1 -1
  409. package/development/{styles-D8h0fqb5.js → styles-AtR8n_N4.js} +1 -1
  410. package/development/{styles-BmvNZZle.js → styles-BTV2MyrZ.js} +1 -1
  411. package/development/{tab-group.component-DhcfjVxe.js → tab-group.component-DBg6I8W7.js} +1 -1
  412. package/development/{tab-label.component-B7YEhR1C.js → tab-label.component-QHzOZ28y.js} +1 -1
  413. package/development/{tab-nav-bar.component-DrZ1U7lM.js → tab-nav-bar.component-DC4Ba7w2.js} +1 -1
  414. package/development/{tab.component-COn1G0XA.js → tab.component-Bsdzs7P2.js} +1 -1
  415. package/development/table/table-wrapper/table-wrapper.component.js +1 -1
  416. package/development/{table-wrapper.component-9Lst6dT2.js → table-wrapper.component-Cqc9PHZl.js} +1 -1
  417. package/development/table.js +1 -1
  418. package/development/table.pure.js +1 -1
  419. package/development/tabs/common/styles.js +1 -1
  420. package/development/tabs/tab/tab.component.js +1 -1
  421. package/development/tabs/tab-group/tab-group.component.js +1 -1
  422. package/development/tabs/tab-label/tab-label.component.js +1 -1
  423. package/development/tabs/tab-nav-bar/tab-nav-bar.component.js +1 -1
  424. package/development/tabs.js +5 -5
  425. package/development/tabs.pure.js +5 -5
  426. package/development/tag/tag/tag.component.js +1 -1
  427. package/development/tag/tag-group/tag-group.component.js +1 -1
  428. package/development/{tag-group.component-OQ3sxhZI.js → tag-group.component-jSgluqL-.js} +1 -1
  429. package/development/{tag.component-DWOPDWwe.js → tag.component-D6YowucW.js} +1 -1
  430. package/development/tag.js +2 -2
  431. package/development/tag.pure.js +2 -2
  432. package/development/teaser/teaser.component.js +1 -1
  433. package/development/teaser-hero/teaser-hero.component.js +1 -1
  434. package/development/{teaser-hero.component-Cp42iJGt.js → teaser-hero.component-d0iLCgA7.js} +1 -1
  435. package/development/teaser-hero.js +1 -1
  436. package/development/teaser-hero.pure.js +1 -1
  437. package/development/teaser-panel/teaser-panel.component.js +1 -1
  438. package/development/{teaser-panel.component-ptDalUEe.js → teaser-panel.component-CXT3l9-M.js} +1 -1
  439. package/development/teaser-panel.js +1 -1
  440. package/development/teaser-panel.pure.js +1 -1
  441. package/development/teaser-product/common/teaser-product-common.js +1 -1
  442. package/development/teaser-product/teaser-product/teaser-product.component.js +1 -1
  443. package/development/{teaser-product-common-DxBw-__I.js → teaser-product-common-DfbpBlTk.js} +1 -1
  444. package/development/{teaser-product.component-CPj4vJ2V.js → teaser-product.component-Cv9PR0lo.js} +1 -1
  445. package/development/teaser-product.js +2 -2
  446. package/development/teaser-product.pure.js +2 -2
  447. package/development/{teaser.component-Dgrc2jh8.js → teaser.component-BGnmuXOI.js} +1 -1
  448. package/development/teaser.js +1 -1
  449. package/development/teaser.pure.js +1 -1
  450. package/development/time-input/time-input.component.js +1 -1
  451. package/development/{time-input.component-BFjDAfbv.js → time-input.component-CGPW3RCw.js} +1 -1
  452. package/development/time-input.js +1 -1
  453. package/development/time-input.pure.js +1 -1
  454. package/development/timetable-form/timetable-form/timetable-form.component.js +1 -1
  455. package/development/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
  456. package/development/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
  457. package/development/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
  458. package/development/{timetable-form-details.component-BFmuJ8-6.js → timetable-form-details.component-HPb8xks3.js} +1 -1
  459. package/development/{timetable-form-field.component-DD04XyA0.js → timetable-form-field.component-DxUpCWe0.js} +1 -1
  460. package/development/{timetable-form-swap-button.component-DphGegO6.js → timetable-form-swap-button.component-BT63vkZr.js} +1 -1
  461. package/development/{timetable-form.component-EIr4B4mA.js → timetable-form.component-DcvKOLvm.js} +1 -1
  462. package/development/timetable-form.js +4 -4
  463. package/development/timetable-form.pure.js +4 -4
  464. package/development/timetable-occupancy/timetable-occupancy.component.js +1 -1
  465. package/development/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
  466. package/development/{timetable-occupancy-icon.component-vsXoAiKz.js → timetable-occupancy-icon.component-Bsct9zga.js} +1 -1
  467. package/development/timetable-occupancy-icon.js +1 -1
  468. package/development/timetable-occupancy-icon.pure.js +1 -1
  469. package/development/{timetable-occupancy.component-B0zY0RnI.js → timetable-occupancy.component-62YNjs5z.js} +1 -1
  470. package/development/timetable-occupancy.js +1 -1
  471. package/development/timetable-occupancy.pure.js +1 -1
  472. package/development/title/title-base.js +1 -1
  473. package/development/title/title.component.js +1 -1
  474. package/development/{title-base-CPAVrsQ9.js → title-base-DPAFIjFK.js} +1 -1
  475. package/development/{title.component-DCg9U2CK.js → title.component-BSrkZhnI.js} +2 -2
  476. package/development/title.js +2 -2
  477. package/development/title.pure.js +2 -2
  478. package/development/toast/toast.component.js +1 -1
  479. package/development/{toast.component-TvSfu5nl.js → toast.component-DowxkGr4.js} +1 -1
  480. package/development/toast.js +1 -1
  481. package/development/toast.pure.js +1 -1
  482. package/development/toggle/toggle/toggle.component.js +1 -1
  483. package/development/toggle/toggle-option/toggle-option.component.js +1 -1
  484. package/development/toggle-check/toggle-check.component.js +1 -1
  485. package/development/{toggle-check.component-CbGa5-8I.js → toggle-check.component--On4AuVo.js} +1 -1
  486. package/development/toggle-check.js +1 -1
  487. package/development/toggle-check.pure.js +1 -1
  488. package/development/{toggle-option.component-BxGnhJFH.js → toggle-option.component-CZY7xnrX.js} +1 -1
  489. package/development/{toggle.component-Q68IDQWX.js → toggle.component-D3IbJqAH.js} +1 -1
  490. package/development/toggle.js +2 -2
  491. package/development/toggle.pure.js +2 -2
  492. package/development/tooltip/tooltip.component.js +1 -1
  493. package/development/{tooltip.component-Baoh6M8V.js → tooltip.component-BE8BlKzE.js} +1 -1
  494. package/development/tooltip.js +1 -1
  495. package/development/tooltip.pure.js +1 -1
  496. package/development/train/train/train.component.js +1 -1
  497. package/development/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  498. package/development/train/train-formation/train-formation.component.js +1 -1
  499. package/development/train/train-wagon-common.js +1 -1
  500. package/development/{train-blocked-passage.component-C7ve-a1E.js → train-blocked-passage.component-BGCuXvjt.js} +1 -1
  501. package/development/{train-formation.component-DQ_hLKNv.js → train-formation.component-XGatA4-S.js} +1 -1
  502. package/development/{train-wagon-common-CdckItEt.js → train-wagon-common-4dC995mT.js} +1 -1
  503. package/development/{train.component-Bi74L6C7.js → train.component-CX1HEDwX.js} +1 -1
  504. package/development/train.js +4 -4
  505. package/development/train.pure.js +4 -4
  506. package/development/visual-checkbox/visual-checkbox.component.js +1 -1
  507. package/development/{visual-checkbox.component-B4_iHcsX.js → visual-checkbox.component-EpRxoteZ.js} +1 -1
  508. package/development/visual-checkbox.js +1 -1
  509. package/development/visual-checkbox.pure.js +1 -1
  510. package/dialog/dialog/dialog.component.js +1 -1
  511. package/dialog/dialog-actions/dialog-actions.component.js +1 -1
  512. package/dialog/dialog-close-button/dialog-close-button.component.js +1 -1
  513. package/dialog/dialog-content/dialog-content.component.js +1 -1
  514. package/dialog/dialog-title/dialog-title.component.js +1 -1
  515. package/dialog.js +5 -5
  516. package/dialog.pure.js +5 -5
  517. package/divider/divider.component.js +1 -1
  518. package/divider.js +1 -1
  519. package/divider.pure.js +1 -1
  520. package/expansion-panel/expansion-panel/expansion-panel.component.js +1 -1
  521. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +1 -1
  522. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
  523. package/expansion-panel.js +3 -3
  524. package/expansion-panel.pure.js +3 -3
  525. package/file-selector/common/file-selector-common.js +1 -1
  526. package/file-selector/file-selector-dropzone/file-selector-dropzone.component.js +1 -1
  527. package/file-selector.js +2 -2
  528. package/file-selector.pure.js +2 -2
  529. package/flip-card/flip-card/flip-card.component.js +1 -1
  530. package/flip-card/flip-card-details/flip-card-details.component.js +1 -1
  531. package/flip-card/flip-card-summary/flip-card-summary.component.js +1 -1
  532. package/flip-card.js +3 -3
  533. package/flip-card.pure.js +3 -3
  534. package/footer/footer.component.js +1 -1
  535. package/footer.js +1 -1
  536. package/footer.pure.js +1 -1
  537. package/form-field/error/error.component.js +1 -1
  538. package/form-field/form-field/form-field.component.js +1 -1
  539. package/form-field/hint/hint.component.js +1 -1
  540. package/form-field.js +3 -3
  541. package/form-field.pure.js +3 -3
  542. package/header/common/header-action-common.js +1 -1
  543. package/header/header/header.component.js +1 -1
  544. package/header/header-environment/header-environment.component.js +1 -1
  545. package/header.js +3 -3
  546. package/header.pure.js +3 -3
  547. package/icon/icon-base.js +1 -1
  548. package/icon/icon.component.js +1 -1
  549. package/icon-sidebar/icon-sidebar/icon-sidebar.component.js +1 -1
  550. package/icon-sidebar/icon-sidebar-container/icon-sidebar-container.component.js +1 -1
  551. package/icon-sidebar/icon-sidebar-content/icon-sidebar-content.component.js +1 -1
  552. package/icon-sidebar.js +3 -3
  553. package/icon-sidebar.pure.js +3 -3
  554. package/icon.js +1 -1
  555. package/icon.pure.js +1 -1
  556. package/image/image.component.js +1 -1
  557. package/{image.component-BSSyfPru.js → image.component-K7sre7oE.js} +1 -1
  558. package/image.js +1 -1
  559. package/image.pure.js +1 -1
  560. package/{inline-link-common-O650N_pm.js → inline-link-common-D0sat0cr.js} +1 -1
  561. package/journey-header/journey-header.component.js +1 -1
  562. package/journey-header.js +1 -1
  563. package/journey-header.pure.js +1 -1
  564. package/lead-container/lead-container.component.js +1 -1
  565. package/lead-container.js +1 -1
  566. package/lead-container.pure.js +1 -1
  567. package/link/common/block-link-common.js +1 -1
  568. package/link/common/inline-link-common.js +1 -1
  569. package/link/common/link-common.js +1 -1
  570. package/link-list/common/link-list-base.js +1 -1
  571. package/link-list/link-list.component.js +1 -1
  572. package/link-list-anchor/link-list-anchor.component.js +1 -1
  573. package/link-list-anchor.js +1 -1
  574. package/link-list-anchor.pure.js +1 -1
  575. package/{link-list.component-Dg-7TBPC.js → link-list.component-bTG45ml0.js} +1 -1
  576. package/link-list.js +2 -2
  577. package/link-list.pure.js +2 -2
  578. package/link.js +3 -3
  579. package/link.pure.js +3 -3
  580. package/loading-indicator/loading-indicator.component.js +1 -1
  581. package/loading-indicator-circle/loading-indicator-circle.component.js +1 -1
  582. package/loading-indicator-circle.js +1 -1
  583. package/loading-indicator-circle.pure.js +1 -1
  584. package/loading-indicator.js +1 -1
  585. package/loading-indicator.pure.js +1 -1
  586. package/logo/logo.component.js +1 -1
  587. package/logo.js +1 -1
  588. package/logo.pure.js +1 -1
  589. package/map-container/map-container.component.js +1 -1
  590. package/map-container.js +1 -1
  591. package/map-container.pure.js +1 -1
  592. package/menu/common/menu-action-common.js +1 -1
  593. package/menu/menu/menu.component.js +1 -1
  594. package/menu.js +2 -2
  595. package/menu.pure.js +2 -2
  596. package/message/message.component.js +1 -1
  597. package/message.js +1 -1
  598. package/message.pure.js +1 -1
  599. package/mini-calendar/mini-calendar/mini-calendar.component.js +1 -1
  600. package/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +1 -1
  601. package/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +1 -1
  602. package/mini-calendar.js +3 -3
  603. package/mini-calendar.pure.js +3 -3
  604. package/navigation/common/navigation-action-common.js +1 -1
  605. package/navigation/navigation/navigation.component.js +1 -1
  606. package/navigation/navigation-list/navigation-list.component.js +1 -1
  607. package/navigation/navigation-marker/navigation-marker.component.js +1 -1
  608. package/navigation/navigation-section/navigation-section.component.js +1 -1
  609. package/navigation.js +5 -5
  610. package/navigation.pure.js +5 -5
  611. package/notification/notification.component.js +1 -1
  612. package/notification.js +1 -1
  613. package/notification.pure.js +1 -1
  614. package/option/optgroup/optgroup-base-element.js +1 -1
  615. package/option/optgroup/optgroup.component.js +1 -1
  616. package/option/option/option.component.js +1 -1
  617. package/option/option-hint/option-hint.component.js +1 -1
  618. package/option/option-styles.js +1 -1
  619. package/option.js +4 -4
  620. package/option.pure.js +4 -4
  621. package/overlay/overlay.component.js +1 -1
  622. package/overlay.js +1 -1
  623. package/overlay.pure.js +1 -1
  624. package/package.json +2 -2
  625. package/paginator/common/paginator-common.js +1 -1
  626. package/paginator/compact-paginator/compact-paginator.component.js +1 -1
  627. package/paginator/paginator/paginator.component.js +1 -1
  628. package/{paginator.component-Dk1xDHgW.js → paginator.component-buCkeyDv.js} +3 -3
  629. package/paginator.js +3 -3
  630. package/paginator.pure.js +3 -3
  631. package/popover/popover.component.js +1 -1
  632. package/popover.js +1 -1
  633. package/popover.pure.js +1 -1
  634. package/radio-button/common/radio-button-common.js +1 -1
  635. package/radio-button/radio-button.component.js +1 -1
  636. package/{radio-button.component-DXLKxjst.js → radio-button.component-DznnXJCN.js} +1 -1
  637. package/radio-button.js +2 -2
  638. package/radio-button.pure.js +2 -2
  639. package/select/select.component.js +1 -1
  640. package/select.js +1 -1
  641. package/select.pure.js +1 -1
  642. package/selection-action-panel/selection-action-panel.component.js +1 -1
  643. package/selection-action-panel.js +1 -1
  644. package/selection-action-panel.pure.js +1 -1
  645. package/selection-expansion-panel/selection-expansion-panel.component.js +1 -1
  646. package/selection-expansion-panel.js +1 -1
  647. package/selection-expansion-panel.pure.js +1 -1
  648. package/{selection-group-base-element-CehwzW8Y.js → selection-group-base-element-BcEQ5-ML.js} +1 -1
  649. package/sidebar/sidebar/sidebar.component.js +1 -1
  650. package/sidebar/sidebar-close-button/sidebar-close-button.component.js +1 -1
  651. package/sidebar/sidebar-container/sidebar-container.component.js +1 -1
  652. package/sidebar/sidebar-content/sidebar-content.component.js +1 -1
  653. package/sidebar/sidebar-title/sidebar-title.component.js +1 -1
  654. package/sidebar.js +5 -5
  655. package/sidebar.pure.js +5 -5
  656. package/signet/signet.component.js +1 -1
  657. package/signet.js +1 -1
  658. package/signet.pure.js +1 -1
  659. package/skiplink-list/skiplink-list.component.js +1 -1
  660. package/skiplink-list.js +1 -1
  661. package/skiplink-list.pure.js +1 -1
  662. package/slider/slider.component.js +1 -1
  663. package/slider.js +1 -1
  664. package/slider.pure.js +1 -1
  665. package/status/status.component.js +1 -1
  666. package/status.js +1 -1
  667. package/status.pure.js +1 -1
  668. package/stepper/step/step.component.js +1 -1
  669. package/stepper/step-label/step-label.component.js +1 -1
  670. package/stepper/stepper/stepper.component.js +1 -1
  671. package/stepper.js +3 -3
  672. package/stepper.pure.js +3 -3
  673. package/table/table-wrapper/table-wrapper.component.js +1 -1
  674. package/table.js +1 -1
  675. package/table.pure.js +1 -1
  676. package/tabs/common/styles.js +1 -1
  677. package/tabs/tab/tab.component.js +1 -1
  678. package/tabs/tab-group/tab-group.component.js +1 -1
  679. package/tabs/tab-label/tab-label.component.js +1 -1
  680. package/tabs/tab-nav-bar/tab-nav-bar.component.js +1 -1
  681. package/tabs.js +5 -5
  682. package/tabs.pure.js +5 -5
  683. package/tag/tag/tag.component.js +1 -1
  684. package/tag/tag-group/tag-group.component.js +1 -1
  685. package/tag.js +2 -2
  686. package/tag.pure.js +2 -2
  687. package/teaser/teaser.component.js +1 -1
  688. package/teaser-hero/teaser-hero.component.js +1 -1
  689. package/teaser-hero.js +1 -1
  690. package/teaser-hero.pure.js +1 -1
  691. package/teaser-panel/teaser-panel.component.js +1 -1
  692. package/teaser-panel.js +1 -1
  693. package/teaser-panel.pure.js +1 -1
  694. package/teaser-product/common/teaser-product-common.js +1 -1
  695. package/teaser-product/teaser-product/teaser-product.component.js +1 -1
  696. package/teaser-product.js +2 -2
  697. package/teaser-product.pure.js +2 -2
  698. package/teaser.js +1 -1
  699. package/teaser.pure.js +1 -1
  700. package/time-input/time-input.component.js +1 -1
  701. package/time-input.js +1 -1
  702. package/time-input.pure.js +1 -1
  703. package/timetable-form/timetable-form/timetable-form.component.js +1 -1
  704. package/timetable-form/timetable-form-details/timetable-form-details.component.js +1 -1
  705. package/timetable-form/timetable-form-field/timetable-form-field.component.js +1 -1
  706. package/timetable-form/timetable-form-swap-button/timetable-form-swap-button.component.js +1 -1
  707. package/timetable-form.js +4 -4
  708. package/timetable-form.pure.js +4 -4
  709. package/timetable-occupancy/timetable-occupancy.component.js +1 -1
  710. package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
  711. package/timetable-occupancy-icon.js +1 -1
  712. package/timetable-occupancy-icon.pure.js +1 -1
  713. package/timetable-occupancy.js +1 -1
  714. package/timetable-occupancy.pure.js +1 -1
  715. package/title/title-base.js +1 -1
  716. package/title/title.component.js +1 -1
  717. package/{title.component-DTnG8op9.js → title.component-BZ0nVpam.js} +1 -1
  718. package/title.js +2 -2
  719. package/title.pure.js +2 -2
  720. package/toast/toast.component.js +1 -1
  721. package/toast.js +1 -1
  722. package/toast.pure.js +1 -1
  723. package/toggle/toggle/toggle.component.js +1 -1
  724. package/toggle/toggle-option/toggle-option.component.js +1 -1
  725. package/toggle-check/toggle-check.component.js +1 -1
  726. package/toggle-check.js +1 -1
  727. package/toggle-check.pure.js +1 -1
  728. package/toggle.js +2 -2
  729. package/toggle.pure.js +2 -2
  730. package/tooltip/tooltip.component.js +1 -1
  731. package/tooltip.js +1 -1
  732. package/tooltip.pure.js +1 -1
  733. package/train/train/train.component.js +1 -1
  734. package/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  735. package/train/train-formation/train-formation.component.js +1 -1
  736. package/train/train-wagon-common.js +1 -1
  737. package/train.js +4 -4
  738. package/train.pure.js +4 -4
  739. package/visual-checkbox/visual-checkbox.component.js +1 -1
  740. package/visual-checkbox.js +1 -1
  741. package/visual-checkbox.pure.js +1 -1
  742. /package/{accordion.component-DbuSYzV1.js → accordion.component-ClJHZh_N.js} +0 -0
  743. /package/{action-group.component-BMYAFyHh.js → action-group.component-Dg11Ug4A.js} +0 -0
  744. /package/{alert-group.component-BqJ6B49z.js → alert-group.component-Ck1kYZb4.js} +0 -0
  745. /package/{alert.component-DN7sW2NC.js → alert.component-B8EGWmcc.js} +0 -0
  746. /package/{autocomplete-base-element-k9uIbFBu.js → autocomplete-base-element-CLMoJtJb.js} +0 -0
  747. /package/{breadcrumb-group.component-a49dItu9.js → breadcrumb-group.component-FLbOLqwi.js} +0 -0
  748. /package/{breadcrumb.component-Kk1U6Iju.js → breadcrumb.component-CC8MxtJj.js} +0 -0
  749. /package/{button-common-BQdNXKwl.js → button-common-Br6zOEgv.js} +0 -0
  750. /package/{calendar-cell-base-element-CUG1qYFb.js → calendar-cell-base-element-Dq7Ap5n-.js} +0 -0
  751. /package/{calendar-day.component-CcZymuSD.js → calendar-day.component-Caf2w9lS.js} +0 -0
  752. /package/{card-action-common-BNdGcJl-.js → card-action-common-DRSSDHqY.js} +0 -0
  753. /package/{card-badge.component-BLAK_y8x.js → card-badge.component-B-uJVrxT.js} +0 -0
  754. /package/{card.component-WUQRK9jT.js → card.component-Bwuv9ur1.js} +0 -0
  755. /package/{carousel-item.component-B6WmZPkW.js → carousel-item.component-DRfpza-9.js} +0 -0
  756. /package/{carousel-list.component-CnZehdy6.js → carousel-list.component-7mbfkw4K.js} +0 -0
  757. /package/{carousel.component-ZrkGeJgZ.js → carousel.component-B6XqR3Bc.js} +0 -0
  758. /package/{checkbox-common-gaaFKApr.js → checkbox-common-Dz5PUD9H.js} +0 -0
  759. /package/{chip-group.component-BIP7c2G0.js → chip-group.component-DKF_Z2QU.js} +0 -0
  760. /package/{chip-label.component-BLbhqUAp.js → chip-label.component-DVUxt7Sk.js} +0 -0
  761. /package/{chip.component-gcvF3pEX.js → chip.component-SLuNizyV.js} +0 -0
  762. /package/{clock.component-Cqrl999I.js → clock.component-gnEqkZ4T.js} +0 -0
  763. /package/{compact-paginator.component-B-8gf_qD.js → compact-paginator.component-CmPlZsd4.js} +0 -0
  764. /package/{container.component-sQtiqWxT.js → container.component-DJgFIJ0b.js} +0 -0
  765. /package/{date-input.component-aFuUH3N_.js → date-input.component-Cb3wWbFC.js} +0 -0
  766. /package/{datepicker-button-CuoZoC6e.js → datepicker-button-D8t6_DBS.js} +0 -0
  767. /package/{dialog-actions.component-DxmjSvd-.js → dialog-actions.component-CHFJ8HjT.js} +0 -0
  768. /package/{dialog-close-button.component-B8troaaQ.js → dialog-close-button.component-CV55ej8Q.js} +0 -0
  769. /package/{dialog-content.component-Chfg-IY1.js → dialog-content.component-D7SeDETW.js} +0 -0
  770. /package/{dialog-title.component-BbcbQXjp.js → dialog-title.component-DP7l1zQE.js} +0 -0
  771. /package/{dialog.component-D3G0AX4Y.js → dialog.component-Bs62s2eB.js} +0 -0
  772. /package/{divider.component-WsZcNUnN.js → divider.component-wL7Cw3YB.js} +0 -0
  773. /package/{element-C7t5_1gu.js → element-CvshSA3k.js} +0 -0
  774. /package/{error.component-D9Tu2YIl.js → error.component-D0rmgyFk.js} +0 -0
  775. /package/{expansion-panel-content.component-WG1cwhjd.js → expansion-panel-content.component-Dm761peO.js} +0 -0
  776. /package/{expansion-panel-header.component-CnUqRql_.js → expansion-panel-header.component-Cli4Qy1p.js} +0 -0
  777. /package/{expansion-panel.component-CRyZ5x6U.js → expansion-panel.component-kyVRxBRu.js} +0 -0
  778. /package/{file-selector-common-BNGnjK__.js → file-selector-common-Bk347JZN.js} +0 -0
  779. /package/{file-selector-dropzone.component-sE_fofSq.js → file-selector-dropzone.component-CywJG8KU.js} +0 -0
  780. /package/{flip-card-details.component-BgOeJ53R.js → flip-card-details.component-D4C0Fde7.js} +0 -0
  781. /package/{flip-card-summary.component-D5cKgj47.js → flip-card-summary.component-ZvTeHtPV.js} +0 -0
  782. /package/{flip-card.component-ZsA_kDPS.js → flip-card.component-CtUxr9yF.js} +0 -0
  783. /package/{footer.component-DsIoOLu-.js → footer.component-x4yuXpWV.js} +0 -0
  784. /package/{form-field.component-BKWzdNHT.js → form-field.component-eH2C_qPG.js} +0 -0
  785. /package/{header-action-common-B-eRBjSz.js → header-action-common-CWn80TJo.js} +0 -0
  786. /package/{header-environment.component-B0VYZh7C.js → header-environment.component-Diy44YpD.js} +0 -0
  787. /package/{header.component-TU3e89pY.js → header.component-DgWfgTse.js} +0 -0
  788. /package/{hint.component-DTKfI9tq.js → hint.component-BZZJXuHG.js} +0 -0
  789. /package/{icon-base-CCpB1w3b.js → icon-base-CK1oqnO4.js} +0 -0
  790. /package/{icon-sidebar-container.component-CDBkiGlz.js → icon-sidebar-container.component-CYVyqKnZ.js} +0 -0
  791. /package/{icon-sidebar-content.component-CN4Que2a.js → icon-sidebar-content.component-C5ZspZQk.js} +0 -0
  792. /package/{icon-sidebar.component-DA2cmcyy.js → icon-sidebar.component-BkqYbGHz.js} +0 -0
  793. /package/{journey-header.component-CXyULeHJ.js → journey-header.component-Ct9LmhWY.js} +0 -0
  794. /package/{lead-container.component-CdfHJFFN.js → lead-container.component-Fv9F5Yh4.js} +0 -0
  795. /package/{link-common-ezSu7e9c.js → link-common-C4Jbge1L.js} +0 -0
  796. /package/{link-list-anchor.component-Bjz_EKvE.js → link-list-anchor.component-as1bjNH1.js} +0 -0
  797. /package/{link-list-base-C12PTC8e.js → link-list-base-Dgu0yeTL.js} +0 -0
  798. /package/{loading-indicator-circle.component-CSU2Ludy.js → loading-indicator-circle.component-BSdKx0eK.js} +0 -0
  799. /package/{loading-indicator.component-DxyhIaFo.js → loading-indicator.component-B2cGE1Mj.js} +0 -0
  800. /package/{logo.component-DVMNS8Op.js → logo.component-BOxQbVu9.js} +0 -0
  801. /package/{map-container.component-DyJBA3qj.js → map-container.component-bI8Gb4I8.js} +0 -0
  802. /package/{menu-action-common-DakEXPg7.js → menu-action-common-_iII6n1T.js} +0 -0
  803. /package/{menu.component-CqXsI5Cg.js → menu.component-CqXIRQq2.js} +0 -0
  804. /package/{message.component-CORYX4KP.js → message.component-BpQ4ikV6.js} +0 -0
  805. /package/{mini-button-group.component-DWayyUpK.js → mini-button-group.component-C-pJ_J-1.js} +0 -0
  806. /package/{mini-button-link.component-B8HmvVCg.js → mini-button-link.component-MBesHG--.js} +0 -0
  807. /package/{mini-calendar-day.component-CVYqN3Yn.js → mini-calendar-day.component-UvIp06lc.js} +0 -0
  808. /package/{mini-calendar-month.component-DbiqMOH8.js → mini-calendar-month.component-BZV7QSlC.js} +0 -0
  809. /package/{mini-calendar.component-BKzbqHim.js → mini-calendar.component-B6EGO9bp.js} +0 -0
  810. /package/{navigation-action-common-CBlB5vk9.js → navigation-action-common-DSPULZFe.js} +0 -0
  811. /package/{navigation-list.component-C5y3ohH0.js → navigation-list.component-Bkmh_wqm.js} +0 -0
  812. /package/{navigation-marker.component-VbvKu1TR.js → navigation-marker.component-CCXJWsN1.js} +0 -0
  813. /package/{navigation-section.component-Bmh4Xtrm.js → navigation-section.component-c4XBLFsl.js} +0 -0
  814. /package/{navigation.component-DKJujMqj.js → navigation.component-pRBja4z3.js} +0 -0
  815. /package/{notification.component-CDGtGwRv.js → notification.component-IRuswhzC.js} +0 -0
  816. /package/{optgroup-base-element-CBxsRPUF.js → optgroup-base-element-BbxwRc0x.js} +0 -0
  817. /package/{option-hint.component-NSxCKXEy.js → option-hint.component-CUf2d2d5.js} +0 -0
  818. /package/{option-styles-DcD5grSB.js → option-styles-czjdmUjA.js} +0 -0
  819. /package/{option.component-BgcpoHWM.js → option.component-9AlEwsE3.js} +0 -0
  820. /package/{overlay.component-OSLtja0_.js → overlay.component-BvoOK_O-.js} +0 -0
  821. /package/{paginator-common-C0Kn9ibe.js → paginator-common-Xiv6UZlo.js} +0 -0
  822. /package/{panel-mixin-XQXElTGt.js → panel-mixin-CG-f0J6K.js} +0 -0
  823. /package/{popover.component-Bm-bx-Hs.js → popover.component-DrLx8J07.js} +0 -0
  824. /package/{radio-button-common-D7jL7eB3.js → radio-button-common-OaxGvaS9.js} +0 -0
  825. /package/{sbb-tokens-BBic3kP6.js → sbb-tokens-C-MoUcho.js} +0 -0
  826. /package/{select.component-CDv5tSW6.js → select.component-Drb7KsP3.js} +0 -0
  827. /package/{selection-action-panel.component-Ba7N1Hgt.js → selection-action-panel.component-m13MKp44.js} +0 -0
  828. /package/{selection-expansion-panel.component-BL1FPfPM.js → selection-expansion-panel.component-BMI-n5Xc.js} +0 -0
  829. /package/{sidebar-close-button.component-CLjOpBM2.js → sidebar-close-button.component-BoOFzuBn.js} +0 -0
  830. /package/{sidebar-container.component-8filIF5E.js → sidebar-container.component-BFm6HnIu.js} +0 -0
  831. /package/{sidebar-content.component-DMdjHDdq.js → sidebar-content.component-DFLqVK-O.js} +0 -0
  832. /package/{sidebar-title.component-DaIkBNY9.js → sidebar-title.component-4B18yGLO.js} +0 -0
  833. /package/{sidebar.component-D_HLDNnq.js → sidebar.component-VL6TFd9H.js} +0 -0
  834. /package/{signet.component-6q3GxORI.js → signet.component-DoXHpxDU.js} +0 -0
  835. /package/{skiplink-list.component-ClGb1J_H.js → skiplink-list.component-Cc6QNvVU.js} +0 -0
  836. /package/{slider.component-BMkoF1l1.js → slider.component-DANx27eH.js} +0 -0
  837. /package/{status.component-DMfZTgzz.js → status.component-Cg671ic2.js} +0 -0
  838. /package/{step-label.component-CjNZYk5b.js → step-label.component-olqRA-s7.js} +0 -0
  839. /package/{step.component-BCkwsZdk.js → step.component-CcjV_283.js} +0 -0
  840. /package/{stepper.component-mq66fR06.js → stepper.component-CqClDxL6.js} +0 -0
  841. /package/{sticky-bar.component-DtXeRUqi.js → sticky-bar.component-DBSVB1lE.js} +0 -0
  842. /package/{styles-DV41ClRb.js → styles-Cx8wGnh9.js} +0 -0
  843. /package/{styles-DWm_OYpV.js → styles-DGAxTLMz.js} +0 -0
  844. /package/{tab-group.component-MEm2W7QR.js → tab-group.component-Dx0xldWI.js} +0 -0
  845. /package/{tab-label.component-BqznCfW8.js → tab-label.component-BYssa8XI.js} +0 -0
  846. /package/{tab-nav-bar.component-CRC6xnaX.js → tab-nav-bar.component-7j-RCq7p.js} +0 -0
  847. /package/{tab.component-DPwbvqp4.js → tab.component-C5xxMwwX.js} +0 -0
  848. /package/{table-wrapper.component-LzYuAVPb.js → table-wrapper.component-BzmzJJim.js} +0 -0
  849. /package/{tag-group.component-wnzXwLPf.js → tag-group.component-ByRxy8UG.js} +0 -0
  850. /package/{tag.component-zGPaopTo.js → tag.component-BrKoQeIW.js} +0 -0
  851. /package/{teaser-hero.component-BlhffYux.js → teaser-hero.component-BNV8sgb6.js} +0 -0
  852. /package/{teaser-panel.component-BCbKgXVt.js → teaser-panel.component-Bfhra0zG.js} +0 -0
  853. /package/{teaser-product-common-C_lgMbyC.js → teaser-product-common-D7kWWxU-.js} +0 -0
  854. /package/{teaser-product.component-CQIXu7sq.js → teaser-product.component-DHu47PGd.js} +0 -0
  855. /package/{teaser.component-D9z78Eny.js → teaser.component-CkIii0_d.js} +0 -0
  856. /package/{time-input.component-CLHEoWze.js → time-input.component-DTMCclRN.js} +0 -0
  857. /package/{timetable-form-details.component-DJ3oPkQP.js → timetable-form-details.component-BTRh4w9g.js} +0 -0
  858. /package/{timetable-form-field.component-6s8_sz9h.js → timetable-form-field.component-BPKgSLQb.js} +0 -0
  859. /package/{timetable-form-swap-button.component-BY2m2_k9.js → timetable-form-swap-button.component-DgUiFKbA.js} +0 -0
  860. /package/{timetable-form.component-Swe8BX7g.js → timetable-form.component-Crq-rb5Z.js} +0 -0
  861. /package/{timetable-occupancy-icon.component-C44eSFOM.js → timetable-occupancy-icon.component-9RhBPwBN.js} +0 -0
  862. /package/{timetable-occupancy.component-CIkq1cT7.js → timetable-occupancy.component-B040dznI.js} +0 -0
  863. /package/{title-base-B1xzk7Zb.js → title-base-DWrwrsx4.js} +0 -0
  864. /package/{toast.component-Ew5vuGXf.js → toast.component-Lbh5sa_U.js} +0 -0
  865. /package/{toggle-check.component-Ce-klZJB.js → toggle-check.component-BNGDAvXJ.js} +0 -0
  866. /package/{toggle-option.component-BdMfGuA-.js → toggle-option.component-UXno4hFd.js} +0 -0
  867. /package/{toggle.component-ySmrXvjA.js → toggle.component-Cz3OnOMI.js} +0 -0
  868. /package/{tooltip.component-ihyNBI7f.js → tooltip.component-BLzyft0C.js} +0 -0
  869. /package/{train-blocked-passage.component-UnNCmspZ.js → train-blocked-passage.component-Bk_YvTRh.js} +0 -0
  870. /package/{train-formation.component-CYqdWnkL.js → train-formation.component-Di5d_G5x.js} +0 -0
  871. /package/{train-wagon-common-C1Py1D01.js → train-wagon-common-HuRuHdNZ.js} +0 -0
  872. /package/{train.component-DRLUjuXY.js → train.component-Dwp6ltDo.js} +0 -0
  873. /package/{visual-checkbox.component-JmGORoDU.js → visual-checkbox.component-CPIhZcmN.js} +0 -0
@@ -391,4 +391,4 @@ var SbbElement = class extends LitElement {
391
391
  //#endregion
392
392
  export { ɵstateController as a, removeAriaElements as i, SbbSlottedChangeEvent as n, appendAriaElements as r, SbbElement as t };
393
393
 
394
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1CQXNCYXlmNS5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9iYXNlLWVsZW1lbnRzL2VsZW1lbnQuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9iYXNlLWVsZW1lbnRzL2VsZW1lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vc3R5bGVzL21peGlucy9oZWxwZXJzJztcblxuQGluY2x1ZGUgaGVscGVycy5ib3gtc2l6aW5nO1xuIiwiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgdHlwZSBDU1NSZXN1bHRPck5hdGl2ZSxcbiAgaXNTZXJ2ZXIsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBSZWFjdGl2ZUNvbnRyb2xsZXIsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZWxlbWVudC5zY3NzP2lubGluZSc7XG5cbi8vIE1vc3Qgb2Ygb3VyIHRhcmdldCBicm93c2VycyBzdXBwb3J0IHRoZSA6c3RhdGUoKSBwc2V1ZG8gY2xhc3MsIGJ1dCBub3QgYWxsIG9mIHRoZW0uXG4vLyBXZSBwYXRjaCB0aGUgc3RhdGVzIHByb3BlcnR5IG9mIHRoZSBlbGVtZW50IGludGVybmFscyB0byB1c2UgYXR0cmlidXRlcyBpbnN0ZWFkLFxuLy8gaWYgOnN0YXRlKCkgaXMgbm90IHN1cHBvcnRlZC5cbi8vIE5vdGUgdGhhdCBmb3IgU1NSLCB0aGUgc3RhdGVzIHByb3BlcnR5IGlzIGEgc2ltcGxlIFNldCwgaW1wbGVtZW50ZWQgaW4gTGl0IFNTUi5cbnR5cGUgQ3VzdG9tU3RhdGVTZXRJbnRlcmZhY2UgPSBDdXN0b21TdGF0ZVNldDtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmNvbnN0IEN1c3RvbVN0YXRlU2V0UG9seWZpbGw6IChuZXcgKGhvc3Q6IExpdEVsZW1lbnQpID0+IEN1c3RvbVN0YXRlU2V0SW50ZXJmYWNlKSB8IG51bGwgPVxuICBpc1NlcnZlciB8fCAhQ1NTLnN1cHBvcnRzKCdzZWxlY3Rvcig6c3RhdGUobG9hZGluZykpJylcbiAgICA/IGNsYXNzIEN1c3RvbVN0YXRlU2V0XG4gICAgICAgIGV4dGVuZHMgU2V0PHN0cmluZz5cbiAgICAgICAgaW1wbGVtZW50cyBDdXN0b21TdGF0ZVNldEludGVyZmFjZSwgUmVhY3RpdmVDb250cm9sbGVyXG4gICAgICB7XG4gICAgICAgIHByaXZhdGUgX2FwcGxpZWQgPSBpc1NlcnZlcjtcblxuICAgICAgICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBfaG9zdDogTGl0RWxlbWVudCkge1xuICAgICAgICAgIHN1cGVyKCk7XG4gICAgICAgICAgdGhpcy5faG9zdC5hZGRDb250cm9sbGVyKHRoaXMpO1xuICAgICAgICAgIGlmICghaXNTZXJ2ZXIpIHtcbiAgICAgICAgICAgIC8vIFdlIHdhbnQgdG8gYXBwbHkgdGhlIGF0dHJpYnV0ZXMgYXMgZWFybHkgYXMgcG9zc2libGUgd2hpY2ggY2FuXG4gICAgICAgICAgICAvLyBlaXRoZXIgYmUgdmlhIHRoaXMgUHJvbWlzZS5yZXNvbHZlKCkgb3IgdGhlIGNvbm5lY3RlZENhbGxiYWNrKCkuXG4gICAgICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHRoaXMuX2FwcGx5U3RhdGVzKCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSBhZGQoc3RhdGU6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICAgIGlmICh0aGlzLl9hcHBsaWVkKSB7XG4gICAgICAgICAgICB0aGlzLl90b2dnbGVTdGF0ZShzdGF0ZSwgdHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBzdXBlci5hZGQoc3RhdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIG92ZXJyaWRlIGRlbGV0ZShzdGF0ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgICAgdGhpcy5fdG9nZ2xlU3RhdGUoc3RhdGUsIGZhbHNlKTtcbiAgICAgICAgICByZXR1cm4gc3VwZXIuZGVsZXRlKHN0YXRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSBjbGVhcigpOiB2b2lkIHtcbiAgICAgICAgICB0aGlzLmZvckVhY2goKHN0YXRlKSA9PiB0aGlzLmRlbGV0ZShzdGF0ZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIGhvc3RDb25uZWN0ZWQoKTogdm9pZCB7XG4gICAgICAgICAgdGhpcy5fYXBwbHlTdGF0ZXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHByaXZhdGUgX3RvZ2dsZVN0YXRlKHN0YXRlOiBzdHJpbmcsIGVuYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgICB0aGlzLl9ob3N0LnRvZ2dsZUF0dHJpYnV0ZShgc3RhdGUtLSR7c3RhdGV9YCwgZW5hYmxlZCk7XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlIF9hcHBseVN0YXRlcygpOiB2b2lkIHtcbiAgICAgICAgICBpZiAodGhpcy5fYXBwbGllZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9hcHBsaWVkID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmZvckVhY2goKHN0YXRlKSA9PiB0aGlzLl90b2dnbGVTdGF0ZShzdGF0ZSwgdHJ1ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgOiBudWxsO1xuXG5pZiAoIWlzU2VydmVyKSB7XG4gIC8vIFRoaXMgaXMgYSBwb2x5ZmlsbCBmb3IgdGhlIGFyaWEgZWxlbWVudHMgcHJvcGVydGllcyBvbiBFbGVtZW50SW50ZXJuYWxzIGFuZCBFbGVtZW50LlxuICBsZXQgbmV4dElkID0gMDtcbiAgY29uc3QgcmVzb2x2ZUhvc3QgPSAob3JpZ2luOiBFbGVtZW50SW50ZXJuYWxzIHwgRWxlbWVudCk6IEVsZW1lbnQgPT5cbiAgICBvcmlnaW4uc2hhZG93Um9vdD8uaG9zdCA/P1xuICAgIChvcmlnaW4gaW5zdGFuY2VvZiBFbGVtZW50XG4gICAgICA/IG9yaWdpblxuICAgICAgOiAoKCkgPT4ge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIHJlc29sdmUgcmVsYXRlZCBlbGVtZW50ISBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4uJyk7XG4gICAgICAgIH0pKCkpO1xuICBjb25zdCBvYnNlcnZlck9wdGlvbnM6IE11dGF0aW9uT2JzZXJ2ZXJJbml0ID0geyBhdHRyaWJ1dGVzOiB0cnVlLCBhdHRyaWJ1dGVGaWx0ZXI6IFsnaWQnXSB9O1xuICBjb25zdCBhc3NpZ25FbGVtZW50ID0gKFxuICAgIGhvc3Q6IEVsZW1lbnQsXG4gICAgYXR0cmlidXRlOiBzdHJpbmcsXG4gICAgZWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEVsZW1lbnQ+LFxuICApOiB2b2lkID0+IHtcbiAgICAvLyBJbiBjYXNlIGJvdGggRWxlbWVudCBhbmQgRWxlbWVudEludGVybmFscyBwcm9wZXJ0aWVzIGFyZSBzZXQsXG4gICAgLy8gdGhlIGVsZW1lbnQgcmVmZXJlbmNlIGZyb20gRWxlbWVudCBoYXMgcHJpb3JpdHkuXG4gICAgY29uc3QgYWN0aXZlRWxlbWVudCA9IGVsZW1lbnRzW0VsZW1lbnQubmFtZV0gPz8gZWxlbWVudHNbRWxlbWVudEludGVybmFscy5uYW1lXTtcbiAgICBob3N0LnNldEF0dHJpYnV0ZShhdHRyaWJ1dGUsIChhY3RpdmVFbGVtZW50LmlkIHx8PSBgYXJpYS1yZWYtJHtuZXh0SWQrK31gKSk7XG4gIH07XG4gIGNvbnN0IGFzc2lnbkVsZW1lbnRzID0gKFxuICAgIGhvc3Q6IEVsZW1lbnQsXG4gICAgYXR0cmlidXRlOiBzdHJpbmcsXG4gICAgZWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEVsZW1lbnRbXT4sXG4gICk6IHZvaWQgPT4ge1xuICAgIC8vIEluIGNhc2UgYm90aCBFbGVtZW50IGFuZCBFbGVtZW50SW50ZXJuYWxzIHByb3BlcnRpZXMgYXJlIHNldCxcbiAgICAvLyB3ZSBjb21iaW5lIHRoZSBlbGVtZW50IHJlZmVyZW5jZXMuXG4gICAgaG9zdC5zZXRBdHRyaWJ1dGUoXG4gICAgICBhdHRyaWJ1dGUsXG4gICAgICBPYmplY3QudmFsdWVzKGVsZW1lbnRzKVxuICAgICAgICAucmVkdWNlKChjdXJyZW50LCBuZXh0KSA9PiBjdXJyZW50LmNvbmNhdChuZXh0KSlcbiAgICAgICAgLmZpbHRlcigodiwgaSwgYSkgPT4gYS5pbmRleE9mKHYpID09PSBpKVxuICAgICAgICAubWFwKChlKSA9PiBlLmlkIHx8IChlLmlkID0gYGFyaWEtcmVmLSR7bmV4dElkKyt9YCkpXG4gICAgICAgIC5qb2luKCcgJyksXG4gICAgKTtcbiAgfTtcblxuICBmb3IgKGNvbnN0IHR5cGUgb2YgW0VsZW1lbnRJbnRlcm5hbHMsIEVsZW1lbnRdKSB7XG4gICAgY29uc3QgcHJvdG90eXBlID0gdHlwZS5wcm90b3R5cGU7XG4gICAgaWYgKCEoJ2FyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCcgaW4gcHJvdG90eXBlKSkge1xuICAgICAgY29uc3QgYXR0cmlidXRlID0gJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCc7XG4gICAgICBjb25zdCBzdG9yYWdlID0gbmV3IFdlYWtNYXA8XG4gICAgICAgIEVsZW1lbnQsXG4gICAgICAgIHsgZWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEVsZW1lbnQ+OyBvYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlciB9XG4gICAgICA+KCk7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG90eXBlLCAnYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50Jywge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGdldCh0aGlzOiBFbGVtZW50SW50ZXJuYWxzIHwgRWxlbWVudCk6IEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgICBjb25zdCBob3N0ID0gcmVzb2x2ZUhvc3QodGhpcyk7XG4gICAgICAgICAgY29uc3QgaWQgPSBob3N0LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGUpPy5zcGxpdCgvXFxzKy8pWzBdID8/IG51bGw7XG4gICAgICAgICAgcmV0dXJuIGlkXG4gICAgICAgICAgICA/ICgoaG9zdC5nZXRSb290Tm9kZSgpIGFzIERvY3VtZW50IHwgU2hhZG93Um9vdCkuZ2V0RWxlbWVudEJ5SWQ/LihpZCkgPz8gbnVsbClcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0KHRoaXM6IEVsZW1lbnRJbnRlcm5hbHMgfCBFbGVtZW50LCB2YWx1ZTogRWxlbWVudCB8IG51bGwpIHtcbiAgICAgICAgICBpZiAodmFsdWUgIT09IG51bGwgJiYgISh2YWx1ZSBpbnN0YW5jZW9mIEVsZW1lbnQpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICAgICAgICBgRmFpbGVkIHRvIHNldCB0aGUgJ2FyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCcgcHJvcGVydHkgb24gJyR7dHlwZS5uYW1lfSc6IEZhaWxlZCB0byBjb252ZXJ0IHZhbHVlIHRvICdFbGVtZW50Jy5gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBob3N0ID0gcmVzb2x2ZUhvc3QodGhpcyk7XG4gICAgICAgICAgY29uc3QgZW50cnkgPSBzdG9yYWdlLmdldChob3N0KTtcbiAgICAgICAgICBlbnRyeT8ub2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgICAgICBkZWxldGUgZW50cnkuZWxlbWVudHNbdHlwZS5uYW1lXTtcbiAgICAgICAgICAgICAgaWYgKCFPYmplY3Qua2V5cyhlbnRyeSkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgc3RvcmFnZS5kZWxldGUoaG9zdCk7XG4gICAgICAgICAgICAgICAgaG9zdC5yZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBlbnRyeS5vYnNlcnZlci5vYnNlcnZlKE9iamVjdC52YWx1ZXMoZW50cnkuZWxlbWVudHMpWzBdLCBvYnNlcnZlck9wdGlvbnMpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmICghZW50cnkpIHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzOiBSZWNvcmQ8c3RyaW5nLCBFbGVtZW50PiA9IHsgW3R5cGUubmFtZV06IHZhbHVlIH07XG4gICAgICAgICAgICBhc3NpZ25FbGVtZW50KGhvc3QsIGF0dHJpYnV0ZSwgZWxlbWVudHMpO1xuICAgICAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiBhc3NpZ25FbGVtZW50KGhvc3QsIGF0dHJpYnV0ZSwgZWxlbWVudHMpKTtcbiAgICAgICAgICAgIG9ic2VydmVyLm9ic2VydmUodmFsdWUsIG9ic2VydmVyT3B0aW9ucyk7XG4gICAgICAgICAgICBzdG9yYWdlLnNldChob3N0LCB7IGVsZW1lbnRzLCBvYnNlcnZlciB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZW50cnkuZWxlbWVudHNbdHlwZS5uYW1lXSA9IHZhbHVlO1xuICAgICAgICAgICAgYXNzaWduRWxlbWVudChob3N0LCBhdHRyaWJ1dGUsIGVudHJ5LmVsZW1lbnRzKTtcbiAgICAgICAgICAgIE9iamVjdC52YWx1ZXMoZW50cnkuZWxlbWVudHMpLmZvckVhY2goKGUpID0+XG4gICAgICAgICAgICAgIGVudHJ5Lm9ic2VydmVyLm9ic2VydmUoZSwgb2JzZXJ2ZXJPcHRpb25zKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBbXG4gICAgICAnYXJpYUNvbnRyb2xzRWxlbWVudHMnLFxuICAgICAgJ2FyaWFEZXNjcmliZWRCeUVsZW1lbnRzJyxcbiAgICAgICdhcmlhRGV0YWlsc0VsZW1lbnRzJyxcbiAgICAgICdhcmlhRXJyb3JNZXNzYWdlRWxlbWVudHMnLFxuICAgICAgJ2FyaWFMYWJlbGxlZEJ5RWxlbWVudHMnLFxuICAgICAgJ2FyaWFPd25zRWxlbWVudHMnLFxuICAgIF0pIHtcbiAgICAgIGlmICghKHByb3BlcnR5IGluIHByb3RvdHlwZSkpIHtcbiAgICAgICAgY29uc3Qgc3RvcmFnZSA9IG5ldyBXZWFrTWFwPFxuICAgICAgICAgIEVsZW1lbnQsXG4gICAgICAgICAgeyBlbGVtZW50czogUmVjb3JkPHN0cmluZywgRWxlbWVudFtdPjsgb2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXIgfVxuICAgICAgICA+KCk7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IGBhcmlhLSR7cHJvcGVydHkuc2xpY2UoNCwgLTgpLnRvTG93ZXJDYXNlKCl9YDtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvdHlwZSwgcHJvcGVydHksIHtcbiAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICBnZXQodGhpczogRWxlbWVudEludGVybmFscyB8IEVsZW1lbnQpOiByZWFkb25seSBFbGVtZW50W10gfCBudWxsIHtcbiAgICAgICAgICAgIGNvbnN0IGhvc3QgPSByZXNvbHZlSG9zdCh0aGlzKTtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzID0gaG9zdFxuICAgICAgICAgICAgICAuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSlcbiAgICAgICAgICAgICAgPy5zcGxpdCgvXFxzKy8pXG4gICAgICAgICAgICAgIC5maWx0ZXIoKHYsIGksIGEpID0+IGEuaW5kZXhPZih2KSA9PT0gaSlcbiAgICAgICAgICAgICAgLm1hcCgoaWQpID0+IChob3N0LmdldFJvb3ROb2RlKCkgYXMgRG9jdW1lbnQgfCBTaGFkb3dSb290KS5nZXRFbGVtZW50QnlJZD8uKGlkKSlcbiAgICAgICAgICAgICAgLmZpbHRlcigoZSkgPT4gZSBpbnN0YW5jZW9mIEVsZW1lbnQpO1xuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnRzPy5sZW5ndGggPyBPYmplY3QuZnJlZXplKGVsZW1lbnRzKSA6IG51bGw7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXQodGhpczogRWxlbWVudEludGVybmFscyB8IEVsZW1lbnQsIHZhbHVlOiBFbGVtZW50W10pIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgKCFBcnJheS5pc0FycmF5KHZhbHVlKSB8fCB2YWx1ZS5zb21lKChlbGVtZW50KSA9PiAhKGVsZW1lbnQgaW5zdGFuY2VvZiBFbGVtZW50KSkpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgICAgICAgICBgRmFpbGVkIHRvIHNldCB0aGUgJyR7cHJvcGVydHl9JyBwcm9wZXJ0eSBvbiAnJHt0eXBlLm5hbWV9JzogRmFpbGVkIHRvIGNvbnZlcnQgdmFsdWUgdG8gJ0VsZW1lbnQnLmAsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGhvc3QgPSByZXNvbHZlSG9zdCh0aGlzKTtcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWU/LmZpbHRlcigodiwgaSwgYSkgPT4gYS5pbmRleE9mKHYpID09PSBpKSA/PyBudWxsO1xuICAgICAgICAgICAgY29uc3QgZW50cnkgPSBzdG9yYWdlLmdldChob3N0KTtcbiAgICAgICAgICAgIGVudHJ5Py5vYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBlbnRyeS5lbGVtZW50c1t0eXBlLm5hbWVdO1xuICAgICAgICAgICAgICAgIGlmICghT2JqZWN0LmtleXMoZW50cnkuZWxlbWVudHMpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgc3RvcmFnZS5kZWxldGUoaG9zdCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIE9iamVjdC52YWx1ZXMoZW50cnkuZWxlbWVudHMpXG4gICAgICAgICAgICAgICAgICAgIC5yZWR1Y2UoKGN1cnJlbnQsIG5leHQpID0+IGN1cnJlbnQuY29uY2F0KG5leHQpKVxuICAgICAgICAgICAgICAgICAgICAuZm9yRWFjaCgoZSkgPT4gZW50cnkub2JzZXJ2ZXIub2JzZXJ2ZShlLCBvYnNlcnZlck9wdGlvbnMpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIWVudHJ5KSB7XG4gICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzOiBSZWNvcmQ8c3RyaW5nLCBFbGVtZW50W10+ID0geyBbdHlwZS5uYW1lXTogdmFsdWUgfTtcbiAgICAgICAgICAgICAgYXNzaWduRWxlbWVudHMoaG9zdCwgYXR0cmlidXRlLCBlbGVtZW50cyk7XG4gICAgICAgICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT5cbiAgICAgICAgICAgICAgICBhc3NpZ25FbGVtZW50cyhob3N0LCBhdHRyaWJ1dGUsIGVsZW1lbnRzKSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgdmFsdWUuZm9yRWFjaCgoZWxlbWVudCkgPT4gb2JzZXJ2ZXIub2JzZXJ2ZShlbGVtZW50LCBvYnNlcnZlck9wdGlvbnMpKTtcbiAgICAgICAgICAgICAgc3RvcmFnZS5zZXQoaG9zdCwgeyBlbGVtZW50cywgb2JzZXJ2ZXIgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBlbnRyeS5lbGVtZW50c1t0eXBlLm5hbWVdID0gdmFsdWU7XG4gICAgICAgICAgICAgIGFzc2lnbkVsZW1lbnRzKGhvc3QsIGF0dHJpYnV0ZSwgZW50cnkuZWxlbWVudHMpO1xuICAgICAgICAgICAgICBPYmplY3QudmFsdWVzKGVudHJ5LmVsZW1lbnRzKVxuICAgICAgICAgICAgICAgIC5yZWR1Y2UoKGN1cnJlbnQsIG5leHQpID0+IGN1cnJlbnQuY29uY2F0KG5leHQpKVxuICAgICAgICAgICAgICAgIC5mb3JFYWNoKChlKSA9PiBlbnRyeS5vYnNlcnZlci5vYnNlcnZlKGUsIG9ic2VydmVyT3B0aW9ucykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5jb25zdCBhdHRhY2hlZEVsZW1lbnRJbnRlcm5hbHMgPSBuZXcgV2Vha01hcDxFbGVtZW50LCBFbGVtZW50SW50ZXJuYWxzPigpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNiYlN0YXRlQ29udHJvbGxlciB7XG4gIGFkZCh2YWx1ZTogc3RyaW5nKTogdGhpcztcbiAgZGVsZXRlKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuO1xuICBoYXModmFsdWU6IHN0cmluZyk6IGJvb2xlYW47XG4gIHRvZ2dsZSh2YWx1ZTogc3RyaW5nLCBmb3JjZT86IGJvb2xlYW4pOiB2b2lkO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBzdGF0ZSBjb250cm9sbGVyIGZvciB0aGUgZ2l2ZW4gZWxlbWVudC5cbiAqIE5PVCBJTlRFTkRFRCBUTyBCRSBVU0VEIEJZIENPTlNVTUVSUyFcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gybVzdGF0ZUNvbnRyb2xsZXIoZWxlbWVudDogRWxlbWVudCk6IFNiYlN0YXRlQ29udHJvbGxlcjtcbmV4cG9ydCBmdW5jdGlvbiDJtXN0YXRlQ29udHJvbGxlcihlbGVtZW50OiBFbGVtZW50IHwgdW5kZWZpbmVkIHwgbnVsbCk6IFNiYlN0YXRlQ29udHJvbGxlciB8IG51bGw7XG5leHBvcnQgZnVuY3Rpb24gybVzdGF0ZUNvbnRyb2xsZXIoZWxlbWVudDogRWxlbWVudCB8IHVuZGVmaW5lZCB8IG51bGwpOiBTYmJTdGF0ZUNvbnRyb2xsZXIgfCBudWxsIHtcbiAgaWYgKCFlbGVtZW50KSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3Qgc3RhdGVzID0gYXR0YWNoZWRFbGVtZW50SW50ZXJuYWxzLmdldChlbGVtZW50KT8uc3RhdGVzO1xuICBjb25zdCB0b2dnbGU6IFNiYlN0YXRlQ29udHJvbGxlclsndG9nZ2xlJ10gPSBmdW5jdGlvbiAodGhpczogU2JiU3RhdGVDb250cm9sbGVyLCB2YWx1ZSwgZm9yY2UpIHtcbiAgICBpZiAoZm9yY2UgfHwgKGZvcmNlICE9PSBmYWxzZSAmJiAhdGhpcy5oYXModmFsdWUpKSkge1xuICAgICAgdGhpcy5hZGQodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlbGV0ZSh2YWx1ZSk7XG4gICAgfVxuICB9O1xuICBpZiAoc3RhdGVzKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFkZCh2YWx1ZSkge1xuICAgICAgICBzdGF0ZXMuYWRkKHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9LFxuICAgICAgZGVsZXRlOiAodmFsdWUpID0+IHN0YXRlcy5kZWxldGUodmFsdWUpLFxuICAgICAgaGFzOiAodmFsdWUpID0+IHN0YXRlcy5oYXModmFsdWUpLFxuICAgICAgdG9nZ2xlLFxuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgLy8gSWYgbm8gRWxlbWVudEludGVybmFscyBpcyBhdHRhY2hlZCwgd2UgZmFsbCBiYWNrIHRvIHVzaW5nIGF0dHJpYnV0ZXMuIEUuZy4gZm9yIHRyaWdnZXJzLlxuICAgIHJldHVybiB7XG4gICAgICBhZGQodmFsdWUpIHtcbiAgICAgICAgZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoYHN0YXRlLS0ke3ZhbHVlfWAsIHRydWUpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH0sXG4gICAgICBkZWxldGU6ICh2YWx1ZSkgPT4gZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoYHN0YXRlLS0ke3ZhbHVlfWAsIGZhbHNlKSxcbiAgICAgIGhhczogKHZhbHVlKSA9PiBlbGVtZW50Lmhhc0F0dHJpYnV0ZShgc3RhdGUtLSR7dmFsdWV9YCksXG4gICAgICB0b2dnbGUsXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgU2JiU2xvdHRlZENoYW5nZUV2ZW50IGV4dGVuZHMgRXZlbnQge1xuICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHNsb3Q6IEhUTUxTbG90RWxlbWVudCkge1xuICAgIHN1cGVyKCdzbG90dGVkY2hhbmdlJywgeyBjb21wb3NlZDogdHJ1ZSB9KTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNiYlByb3BlcnR5VmFsdWVzIHtcbiAgb2xkVmFsdWU/OiB1bmtub3duO1xuICB2YWx1ZT86IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2JiUmVhY3RpdmVDb250cm9sbGVyIGV4dGVuZHMgUmVhY3RpdmVDb250cm9sbGVyIHtcbiAgaG9zdFByb3BlcnR5VXBkYXRlPyhcbiAgICBuYW1lOiBQcm9wZXJ0eUtleSxcbiAgICB2YWx1ZXM/OiBTYmJQcm9wZXJ0eVZhbHVlcyxcbiAgICBvcHRpb25zPzogUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgKTogdm9pZDtcbn1cblxuLyoqXG4gKiBBcHBlbmRzIHRoZSBnaXZlbiBlbGVtZW50cyB0byB0aGUgZ2l2ZW4gYXJpYSB2YWx1ZSBhbmQgcmV0dXJucyB0aGVcbiAqIGNvbWJpbmVkIHZhbHVlIGFzIGEgbmV3IGFycmF5IG9yIG51bGwsIGlmIGJvdGggdmFsdWVzIHdlcmUgZW1wdHkuXG4gKi9cbmV4cG9ydCBjb25zdCBhcHBlbmRBcmlhRWxlbWVudHMgPSAoXG4gIGFyaWFWYWx1ZTogcmVhZG9ubHkgRWxlbWVudFtdIHwgbnVsbCxcbiAgLi4ubmV3RWxlbWVudHM6IChFbGVtZW50IHwgbnVsbClbXVxuKTogRWxlbWVudFtdIHwgbnVsbCA9PiB7XG4gIGNvbnN0IGVsZW1lbnRzID0gbmV3RWxlbWVudHMuZmlsdGVyKCh2KTogdiBpcyBFbGVtZW50ID0+ICEhdik7XG4gIHJldHVybiBhcmlhVmFsdWU/Lmxlbmd0aCA/IGFyaWFWYWx1ZS5jb25jYXQoZWxlbWVudHMpIDogbmV3RWxlbWVudHMubGVuZ3RoID8gZWxlbWVudHMgOiBudWxsO1xufTtcblxuLyoqXG4gKiBSZW1vdmVzIHRoZSBnaXZlbiBlbGVtZW50cyBmcm9tIHRoZSBnaXZlbiBhcmlhIHZhbHVlIGFuZCByZXR1cm5zXG4gKiB0aGUgcmVtYWluaW5nIGVsZW1lbnRzIGFzIGEgbmV3IGFycmF5IG9yIG51bGwsIGlmIHRoZSByZXN1bHQgaXMgZW1wdHkuXG4gKi9cbmV4cG9ydCBjb25zdCByZW1vdmVBcmlhRWxlbWVudHMgPSAoXG4gIGFyaWFWYWx1ZTogcmVhZG9ubHkgRWxlbWVudFtdIHwgbnVsbCxcbiAgLi4ucmVtb3ZhYmxlRWxlbWVudHM6IChFbGVtZW50IHwgbnVsbClbXVxuKTogRWxlbWVudFtdIHwgbnVsbCA9PiB7XG4gIHJlbW92YWJsZUVsZW1lbnRzID0gcmVtb3ZhYmxlRWxlbWVudHMuZmlsdGVyKCh2KSA9PiAhIXYpO1xuICBjb25zdCBlbGVtZW50cyA9IGFyaWFWYWx1ZT8uZmlsdGVyKCh2KSA9PiAhcmVtb3ZhYmxlRWxlbWVudHMuaW5jbHVkZXModikpID8/IG51bGw7XG4gIHJldHVybiBlbGVtZW50cz8ubGVuZ3RoID8gZWxlbWVudHMgOiBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgU2JiRWxlbWVudFR5cGUgPSB0eXBlb2YgU2JiRWxlbWVudDtcblxuZXhwb3J0IGludGVyZmFjZSBTYmJFbGVtZW50Q29uc3RydWN0b3Ige1xuICBlbGVtZW50RGVwZW5kZW5jaWVzPzogU2JiRWxlbWVudFR5cGVbXTtcbiAgcm9sZT86IEVsZW1lbnRJbnRlcm5hbHNbJ3JvbGUnXTtcbn1cblxuLyoqXG4gKiBBIGJhc2UgY2xhc3MgZm9yIGFsbCBTQkIgZWxlbWVudHMuXG4gKiBJbmNsdWRlcyBhdHRhY2hpbmcgRWxlbWVudEludGVybmFscywgaGFuZGxpbmcgaHlkcmF0aW9uLCBhbmQgbWFuYWdpbmcgc3RhdGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJFbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgWydfJHNiYkVsZW1lbnQkJ10gPSB0cnVlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBzdGF0aWMgZWxlbWVudERlcGVuZGVuY2llcz86IFNiYkVsZW1lbnRUeXBlW107XG4gIHB1YmxpYyBzdGF0aWMgcm9sZT86IEVsZW1lbnRJbnRlcm5hbHNbJ3JvbGUnXTtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3Vuc2FmZUNTUyhzdHlsZSldO1xuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGludGVybmFsczogRWxlbWVudEludGVybmFscyA9IHRoaXMuYXR0YWNoSW50ZXJuYWxzKCk7XG5cbiAgcHJpdmF0ZSBfY29udHJvbGxlcnM/OiBTZXQ8U2JiUmVhY3RpdmVDb250cm9sbGVyPjtcbiAgcHJpdmF0ZSBfaHlkcmF0aW9uUmVxdWlyZWQ6IGJvb2xlYW47XG4gIHByaXZhdGUgX2h5ZHJhdGlvbkNvbXBsZXRlID0gbmV3IFByb21pc2U8Ym9vbGVhbj4oXG4gICAgKHJlc29sdmUpID0+ICh0aGlzLl9yZXNvbHZlSHlkcmF0aW9uID0gcmVzb2x2ZSksXG4gICk7XG4gIHByaXZhdGUgX3Jlc29sdmVIeWRyYXRpb24hOiAoaHlkcmF0aW9uUmVxdWlyZWQ6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHByaXZhdGUgX3RleHRPYnNlcnZlcj86IE11dGF0aW9uT2JzZXJ2ZXI7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZWxlbWVudCBoYXMgY29tcGxldGVkIGh5ZHJhdGlvbi5cbiAgICogVGhlIFByb21pc2UgdmFsdWUgaXMgYSBib29sZWFuIHRoYXQgaXMgYHRydWVgIGlmIHRoZSBlbGVtZW50IHJlcXVpcmVkIGh5ZHJhdGlvblxuICAgKiBhbmQgYGZhbHNlYCBpZiBub3QuXG4gICAqXG4gICAqIEByZXR1cm4gQSBwcm9taXNlIG9mIGEgYm9vbGVhbiB0aGF0IHJlc29sdmVzIHRvIHRydWUgb25jZSB0aGUgaHlkcmF0aW9uIGNvbXBsZXRlZC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZ2V0IGh5ZHJhdGlvbkNvbXBsZXRlKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9oeWRyYXRpb25Db21wbGV0ZTtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHdoZXRoZXIgaHlkcmF0aW9uIGlzIHJlcXVpcmVkIGFuZCBub3QgY29tcGxldGVkLiAqL1xuICBwcm90ZWN0ZWQgZ2V0IGh5ZHJhdGlvblJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9oeWRyYXRpb25SZXF1aXJlZDtcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGF0dGFjaGVkRWxlbWVudEludGVybmFscy5zZXQodGhpcywgdGhpcy5pbnRlcm5hbHMpO1xuICAgIGlmIChDdXN0b21TdGF0ZVNldFBvbHlmaWxsKSB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcy5pbnRlcm5hbHMsICdzdGF0ZXMnLCB7XG4gICAgICAgIHZhbHVlOiBuZXcgQ3VzdG9tU3RhdGVTZXRQb2x5ZmlsbCh0aGlzKSxcbiAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBXZSB1c2UgdGhlIEN1c3RvbVN0YXRlU2V0IHBvbHlmaWxsIGluIFNTUiwgd2hpY2ggcmVuZGVycyB0aGUgc3RhdGUgYXMgYXR0cmlidXRlc1xuICAgICAgLy8gd2hpY2ggY2FuIGJlIHRyYW5zZmVycmVkIHRvIGNsaWVudCBzaWRlLCB3aGVyZSB3ZSBjYW4gdGhlbiBjb252ZXJ0IFtzdGF0ZS0tKl1cbiAgICAgIC8vIGF0dHJpYnV0ZXMgdG8gaW50ZXJuYWwgc3RhdGUuXG4gICAgICBmb3IgKGNvbnN0IG5hbWUgb2YgdGhpcy5nZXRBdHRyaWJ1dGVOYW1lcygpLmZpbHRlcigobikgPT4gbi5zdGFydHNXaXRoKCdzdGF0ZS0tJykpKSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQobmFtZS5zbGljZSg3KSk7XG4gICAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKG5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCByb2xlID0gKHRoaXMuY29uc3RydWN0b3IgYXMgU2JiRWxlbWVudENvbnN0cnVjdG9yKS5yb2xlO1xuICAgIGlmIChyb2xlKSB7XG4gICAgICB0aGlzLmludGVybmFscy5yb2xlID0gcm9sZTtcbiAgICB9XG5cbiAgICAvLyBDaGVjayB3aGV0aGVyIGh5ZHJhdGlvbiBpcyBuZWVkZWQgYnkgY2hlY2tpbmcgd2hldGhlciB0aGUgc2hhZG93IHJvb3RcbiAgICAvLyBpcyBhdmFpbGFibGUgZHVyaW5nIGNvbnN0cnVjdGlvbi91cGdyYWRlIHBoYXNlLlxuICAgIHRoaXMuX2h5ZHJhdGlvblJlcXVpcmVkID0gISF0aGlzLnNoYWRvd1Jvb3Q7XG4gICAgaWYgKCF0aGlzLl9oeWRyYXRpb25SZXF1aXJlZCkge1xuICAgICAgdGhpcy5fcmVzb2x2ZUh5ZHJhdGlvbihmYWxzZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIER1cmluZyBoeWRyYXRpb24gcGhhc2UsIHdlIHdhbnQgdG8gc3VwcHJlc3Mgc2xvdGNoYW5nZSBldmVudHMgYXMgdGhleVxuICAgICAgLy8gY2FuIGNhdXNlIHJlbmRlciBkaWZmZXJlbmNlcywgd2hpY2ggd291bGQgYnJlYWsgaHlkcmF0aW9uLiBBZnRlclxuICAgICAgLy8gaHlkcmF0aW9uIGlzIGNvbXBsZXRlLCB3ZSBkaXNwYXRjaCBhIG1hbnVhbCBzbG90Y2hhbmdlIGV2ZW50LCBpZiB0aGVyZVxuICAgICAgLy8gYXJlIGVsZW1lbnRzIGFzc2lnbmVkIHRvIGEgc2xvdC5cbiAgICAgIGNvbnN0IHN1cHByZXNzU2xvdGNoYW5nZUV2ZW50ID0gKGV2ZW50OiBFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAodGhpcy5faHlkcmF0aW9uUmVxdWlyZWQpIHtcbiAgICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIGNvbnN0IGV2ZW50T3B0aW9uczogRXZlbnRMaXN0ZW5lck9wdGlvbnMgPSB7IGNhcHR1cmU6IHRydWUgfTtcbiAgICAgIGNvbnN0IHNsb3RzID0gdGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yQWxsKCdzbG90Jyk7XG4gICAgICBpZiAoc2xvdHM/Lmxlbmd0aCkge1xuICAgICAgICBzbG90cy5mb3JFYWNoKChzbG90KSA9PlxuICAgICAgICAgIHNsb3QuYWRkRXZlbnRMaXN0ZW5lcignc2xvdGNoYW5nZScsIHN1cHByZXNzU2xvdGNoYW5nZUV2ZW50LCBldmVudE9wdGlvbnMpLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmh5ZHJhdGlvbkNvbXBsZXRlLnRoZW4oKCkgPT5cbiAgICAgICAgICBzbG90cy5mb3JFYWNoKChzbG90KSA9PiB7XG4gICAgICAgICAgICBzbG90LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Nsb3RjaGFuZ2UnLCBzdXBwcmVzc1Nsb3RjaGFuZ2VFdmVudCwgZXZlbnRPcHRpb25zKTtcbiAgICAgICAgICAgIGlmIChzbG90LmFzc2lnbmVkTm9kZXMoKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgICAgICAgICAgICBzbG90LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdzbG90Y2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogUmVnaXN0ZXIgdGhlIGN1c3RvbSBlbGVtZW50IGluIHRoZSBnbG9iYWwgQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5LiAqL1xuICBwdWJsaWMgc3RhdGljIGRlZmluZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZWxlbWVudE5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRoZSBzdGF0aWMgcHJvcGVydHkgXCJlbGVtZW50TmFtZVwiIGlzIG5vdCBkZWZpbmVkIG9uICR7dGhpcy5uYW1lfS4gUGxlYXNlIGRlZmluZSBpdCB0byByZWdpc3RlciB0aGUgY3VzdG9tIGVsZW1lbnQuYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgZWxlbWVudENsYXNzID0gY3VzdG9tRWxlbWVudHMuZ2V0KHRoaXMuZWxlbWVudE5hbWUpO1xuICAgIGlmICghZWxlbWVudENsYXNzKSB7XG4gICAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUodGhpcy5lbGVtZW50TmFtZSwgdGhpcyBhcyB1bmtub3duIGFzIEN1c3RvbUVsZW1lbnRDb25zdHJ1Y3Rvcik7XG5cbiAgICAgIGNvbnN0IGVsZW1lbnREZXBlbmRlbmNpZXM6IFNiYkVsZW1lbnRUeXBlW10gPSBbXTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdGhpcy1hbGlhc1xuICAgICAgbGV0IGN0b3I6IFNiYkVsZW1lbnRUeXBlID0gdGhpcztcbiAgICAgIHdoaWxlIChjdG9yWydfJHNiYkVsZW1lbnQkJ10pIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY3Rvci5lbGVtZW50RGVwZW5kZW5jaWVzKSkge1xuICAgICAgICAgIGVsZW1lbnREZXBlbmRlbmNpZXMucHVzaCguLi5jdG9yLmVsZW1lbnREZXBlbmRlbmNpZXMpO1xuICAgICAgICB9XG4gICAgICAgIGN0b3IgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoY3Rvcik7XG4gICAgICB9XG4gICAgICBuZXcgU2V0KGVsZW1lbnREZXBlbmRlbmNpZXMpLmZvckVhY2goKGRlcGVuZGVuY3kpID0+IGRlcGVuZGVuY3kuZGVmaW5lKCkpO1xuICAgIH0gZWxzZSBpZiAoaW1wb3J0Lm1ldGEuZW52LkRFViAmJiBlbGVtZW50Q2xhc3MgIT09IHRoaXMpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYFRoZSBjdXN0b20gZWxlbWVudCB3aXRoIG5hbWUgXCIke3RoaXMuZWxlbWVudE5hbWV9XCIgaXMgYWxyZWFkeSBkZWZpbmVkLiBTa2lwcGluZy5gLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ29sbGVjdHMgYHN0eWxlc2AgZnJvbSBldmVyeSBjbGFzcyBpbiB0aGUgcHJvdG90eXBlIGNoYWluICh1c2luZyBgT2JqZWN0Lmhhc093bmApXG4gICAqIGFuZCBtZXJnZXMgdGhlbSBpbiB0b3AtZG93biBvcmRlci4gVGhpcyBtZWFucyBlYWNoIGNsYXNzL21peGluIG9ubHkgbmVlZHMgdG8gZGVjbGFyZVxuICAgKiBpdHMgKipvd24qKiBzdHlsZXMg4oCUIHRoZXJlIGlzIG5vIG5lZWQgdG8gcmVmZXJlbmNlIGBzdXBlci5zdHlsZXNgLlxuICAgKlxuICAgKiBMaXQncyBkZWZhdWx0IGJlaGF2aW91ciBhbHJlYWR5IHdhbGtzIHRoZSBjaGFpbiwgYnV0IGZhaWxzIGZvciBtaXhpbnMgd2hlcmVcbiAgICogYHN1cGVyLnN0eWxlc2AgcmVzb2x2ZXMgdG8gdGhlIHdyb25nIGNsYXNzLiBUaGlzIG92ZXJyaWRlIGZpeGVzIHRoYXQuXG4gICAqL1xuICBwcm90ZWN0ZWQgc3RhdGljIG92ZXJyaWRlIGZpbmFsaXplU3R5bGVzKF9zdHlsZXM6IENTU1Jlc3VsdEdyb3VwKTogQ1NTUmVzdWx0T3JOYXRpdmVbXSB7XG4gICAgY29uc3QgY29sbGVjdGVkOiBDU1NSZXN1bHRHcm91cFtdID0gW107XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG4gICAgbGV0IGN0b3I6IHR5cGVvZiBTYmJFbGVtZW50IHwgbnVsbCA9IHRoaXM7XG4gICAgd2hpbGUgKGN0b3IgJiYgY3RvciAhPT0gTGl0RWxlbWVudCkge1xuICAgICAgaWYgKE9iamVjdC5oYXNPd24oY3RvciwgJ3N0eWxlcycpICYmIGN0b3Iuc3R5bGVzKSB7XG4gICAgICAgIGNvbGxlY3RlZC51bnNoaWZ0KGN0b3Iuc3R5bGVzKTtcbiAgICAgIH1cbiAgICAgIGN0b3IgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoY3RvcikgYXMgdHlwZW9mIFNiYkVsZW1lbnQgfCBudWxsO1xuICAgIH1cbiAgICAvLyBDYWxsIExpdEVsZW1lbnQuZmluYWxpemVTdHlsZXMgd2hpY2ggaGFuZGxlcyBkZWR1cCAmIGFkb3B0aW9uXG4gICAgcmV0dXJuIHN1cGVyLmZpbmFsaXplU3R5bGVzKGNvbGxlY3RlZCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY3JlYXRlUmVuZGVyUm9vdCgpOiBIVE1MRWxlbWVudCB8IERvY3VtZW50RnJhZ21lbnQge1xuICAgIGNvbnN0IHJvb3QgPSBzdXBlci5jcmVhdGVSZW5kZXJSb290KCk7XG4gICAgdGhpcy5zaGFkb3dSb290Py5hZGRFdmVudExpc3RlbmVyKCdzbG90Y2hhbmdlJywgKGUpID0+XG4gICAgICB0aGlzLl9zbG90Y2hhbmdlSGFuZGxlcihlLCBlLnRhcmdldCBhcyBIVE1MU2xvdEVsZW1lbnQpLFxuICAgICk7XG4gICAgdGhpcy5zaGFkb3dSb290Py5hZGRFdmVudExpc3RlbmVyKCdzbG90dGVkY2hhbmdlJywgKGUpID0+IHRoaXMuX3Nsb3RjaGFuZ2VIYW5kbGVyKGUsIGUuc2xvdCksIHtcbiAgICAgIGNhcHR1cmU6IHRydWUsXG4gICAgfSk7XG4gICAgdGhpcy5zaGFkb3dSb290XG4gICAgICA/LnF1ZXJ5U2VsZWN0b3JBbGw/Lignc2xvdCcpXG4gICAgICAuZm9yRWFjaCgoc2xvdCkgPT4gdGhpcy5faGFuZGxlU2xvdENoYW5nZUZvclNsb3R0ZWRTdGF0ZShzbG90KSk7XG5cbiAgICByZXR1cm4gcm9vdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBgUmVhY3RpdmVDb250cm9sbGVyYCB0byBwYXJ0aWNpcGF0ZSBpbiB0aGUgZWxlbWVudCdzIHJlYWN0aXZlXG4gICAqIHVwZGF0ZSBjeWNsZS4gVGhlIGVsZW1lbnQgYXV0b21hdGljYWxseSBjYWxscyBpbnRvIGFueSByZWdpc3RlcmVkXG4gICAqIGNvbnRyb2xsZXJzIGR1cmluZyBpdHMgbGlmZWN5Y2xlIGNhbGxiYWNrcy5cbiAgICpcbiAgICogSWYgdGhlIGVsZW1lbnQgaXMgY29ubmVjdGVkIHdoZW4gYGFkZENvbnRyb2xsZXIoKWAgaXMgY2FsbGVkLCB0aGVcbiAgICogY29udHJvbGxlcidzIGBob3N0Q29ubmVjdGVkKClgIGNhbGxiYWNrIHdpbGwgYmUgaW1tZWRpYXRlbHkgY2FsbGVkLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGFkZENvbnRyb2xsZXIoY29udHJvbGxlcjogU2JiUmVhY3RpdmVDb250cm9sbGVyKTogdm9pZCB7XG4gICAgc3VwZXIuYWRkQ29udHJvbGxlcihjb250cm9sbGVyKTtcbiAgICAodGhpcy5fY29udHJvbGxlcnMgPz89IG5ldyBTZXQoKSkuYWRkKGNvbnRyb2xsZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgYSBgUmVhY3RpdmVDb250cm9sbGVyYCBmcm9tIHRoZSBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHJlbW92ZUNvbnRyb2xsZXIoY29udHJvbGxlcjogU2JiUmVhY3RpdmVDb250cm9sbGVyKTogdm9pZCB7XG4gICAgc3VwZXIucmVtb3ZlQ29udHJvbGxlcihjb250cm9sbGVyKTtcbiAgICB0aGlzLl9jb250cm9sbGVycz8uZGVsZXRlKGNvbnRyb2xsZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcXVlc3RzIGFuIHVwZGF0ZSB3aGljaCBpcyBwcm9jZXNzZWQgYXN5bmNocm9ub3VzbHkuIFRoaXMgc2hvdWxkIGJlIGNhbGxlZFxuICAgKiB3aGVuIGFuIGVsZW1lbnQgc2hvdWxkIHVwZGF0ZSBiYXNlZCBvbiBzb21lIHN0YXRlIG5vdCB0cmlnZ2VyZWQgYnkgc2V0dGluZ1xuICAgKiBhIHJlYWN0aXZlIHByb3BlcnR5LiBJbiB0aGlzIGNhc2UsIHBhc3Mgbm8gYXJndW1lbnRzLiBJdCBzaG91bGQgYWxzbyBiZVxuICAgKiBjYWxsZWQgd2hlbiBtYW51YWxseSBpbXBsZW1lbnRpbmcgYSBwcm9wZXJ0eSBzZXR0ZXIuIEluIHRoaXMgY2FzZSwgcGFzcyB0aGVcbiAgICogcHJvcGVydHkgYG5hbWVgIGFuZCBgb2xkVmFsdWVgIHRvIGVuc3VyZSB0aGF0IGFueSBjb25maWd1cmVkIHByb3BlcnR5XG4gICAqIG9wdGlvbnMgYXJlIGhvbm9yZWQuXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lIG5hbWUgb2YgcmVxdWVzdGluZyBwcm9wZXJ0eVxuICAgKiBAcGFyYW0gb2xkVmFsdWUgb2xkIHZhbHVlIG9mIHJlcXVlc3RpbmcgcHJvcGVydHlcbiAgICogQHBhcmFtIG9wdGlvbnMgcHJvcGVydHkgb3B0aW9ucyB0byB1c2UgaW5zdGVhZCBvZiB0aGUgcHJldmlvdXNseVxuICAgKiAgICAgY29uZmlndXJlZCBvcHRpb25zXG4gICAqIEBwYXJhbSB1c2VOZXdWYWx1ZSBpZiB0cnVlLCB0aGUgbmV3VmFsdWUgYXJndW1lbnQgaXMgdXNlZCBpbnN0ZWFkIG9mXG4gICAqICAgICByZWFkaW5nIHRoZSBwcm9wZXJ0eSB2YWx1ZS4gVGhpcyBpcyBpbXBvcnRhbnQgdG8gdXNlIGlmIHRoZSByZWFjdGl2ZVxuICAgKiAgICAgcHJvcGVydHkgaXMgYSBzdGFuZGFyZCBwcml2YXRlIGFjY2Vzc29yLCBhcyBvcHBvc2VkIHRvIGEgcGxhaW5cbiAgICogICAgIHByb3BlcnR5LCBzaW5jZSBwcml2YXRlIG1lbWJlcnMgY2FuJ3QgYmUgZHluYW1pY2FsbHkgcmVhZCBieSBuYW1lLlxuICAgKiBAcGFyYW0gbmV3VmFsdWUgdGhlIG5ldyB2YWx1ZSBvZiB0aGUgcHJvcGVydHkuIFRoaXMgaXMgb25seSB1c2VkIGlmXG4gICAqICAgICBgdXNlTmV3VmFsdWVgIGlzIHRydWUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVxdWVzdFVwZGF0ZShcbiAgICBuYW1lPzogUHJvcGVydHlLZXksXG4gICAgb2xkVmFsdWU/OiB1bmtub3duLFxuICAgIG9wdGlvbnM/OiBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICAgIHVzZU5ld1ZhbHVlPzogYm9vbGVhbixcbiAgICBuZXdWYWx1ZT86IHVua25vd24sXG4gICk6IHZvaWQge1xuICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMsIHVzZU5ld1ZhbHVlLCBuZXdWYWx1ZSk7XG4gICAgaWYgKG5hbWUpIHtcbiAgICAgIGNvbnN0IHZhbHVlczogU2JiUHJvcGVydHlWYWx1ZXMgPSB7XG4gICAgICAgIG9sZFZhbHVlLFxuICAgICAgICB2YWx1ZTogdXNlTmV3VmFsdWUgPyBuZXdWYWx1ZSA6IHRoaXNbbmFtZSBhcyBrZXlvZiB0aGlzXSxcbiAgICAgIH07XG4gICAgICB0aGlzLl9jb250cm9sbGVycz8uZm9yRWFjaCgoY29udHJvbGxlcikgPT5cbiAgICAgICAgY29udHJvbGxlci5ob3N0UHJvcGVydHlVcGRhdGU/LihuYW1lLCB2YWx1ZXMsIG9wdGlvbnMpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIC8vIFdoZW4gaHlkcmF0aW9uIGlzIG5lZWRlZCwgd2Ugd2FpdCB0aGUgaHlkcmF0aW9uIHByb2Nlc3MgdG8gZmluaXNoLCB3aGljaCBpcyBwYXRjaGVkXG4gICAgLy8gaW50byB0aGUgdXBkYXRlIG1ldGhvZCBvZiB0aGUgTGl0RWxlbWVudCBiYXNlIGNsYXNzLlxuICAgIHN1cGVyLnVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAodGhpcy5faHlkcmF0aW9uUmVxdWlyZWQpIHtcbiAgICAgIHRoaXMuX2h5ZHJhdGlvblJlcXVpcmVkID0gZmFsc2U7XG4gICAgICB0aGlzLl9yZXNvbHZlSHlkcmF0aW9uKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCB0b2dnbGVTdGF0ZSh2YWx1ZTogc3RyaW5nLCBmb3JjZT86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoZm9yY2UgfHwgKGZvcmNlICE9PSBmYWxzZSAmJiAhdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmhhcyh2YWx1ZSkpKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZSh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2xvdGNoYW5nZUhhbmRsZXIoZXZlbnQ6IEV2ZW50LCBzbG90OiBIVE1MU2xvdEVsZW1lbnQpOiB2b2lkIHtcbiAgICBjb25zdCByZXNvbHZlZFNsb3QgPSB0aGlzLnNoYWRvd1Jvb3QhLmNvbnRhaW5zKHNsb3QpXG4gICAgICA/IHNsb3RcbiAgICAgIDogZXZlbnRcbiAgICAgICAgICAuY29tcG9zZWRQYXRoKClcbiAgICAgICAgICAuZmluZChcbiAgICAgICAgICAgIChlbCk6IGVsIGlzIEhUTUxTbG90RWxlbWVudCA9PlxuICAgICAgICAgICAgICBlbCBpbnN0YW5jZW9mIEhUTUxTbG90RWxlbWVudCAmJiB0aGlzLnNoYWRvd1Jvb3QhLmNvbnRhaW5zKGVsKSxcbiAgICAgICAgICApO1xuICAgIGlmIChyZXNvbHZlZFNsb3QpIHtcbiAgICAgIHRoaXMuX2hhbmRsZVNsb3RDaGFuZ2VGb3JTbG90dGVkU3RhdGUocmVzb2x2ZWRTbG90KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVTbG90Q2hhbmdlRm9yU2xvdHRlZFN0YXRlKHNsb3Q6IEhUTUxTbG90RWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMuX3VwZGF0ZVNsb3R0ZWRTdGF0ZShzbG90KTtcbiAgICBpZiAoIXNsb3QubmFtZSkge1xuICAgICAgdGhpcy5fb2JzZXJ2ZVRleHROb2Rlc0luU2xvdChzbG90KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVTbG90dGVkU3RhdGUoc2xvdDogSFRNTFNsb3RFbGVtZW50KTogdm9pZCB7XG4gICAgY29uc3Qgc3RhdGVOYW1lID0gc2xvdC5uYW1lID8gYHNsb3R0ZWQtJHtzbG90Lm5hbWV9YCA6ICdzbG90dGVkJztcbiAgICBjb25zdCBoYXNTbG90dGVkQ29udGVudCA9IHRoaXMuX2hhc1Nsb3R0ZWRDb250ZW50KHNsb3QpO1xuICAgIGlmIChoYXNTbG90dGVkQ29udGVudCAmJiAhdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmhhcyhzdGF0ZU5hbWUpKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKHN0YXRlTmFtZSk7XG4gICAgICAvKiogQGludGVybmFsICovXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IFNiYlNsb3R0ZWRDaGFuZ2VFdmVudChzbG90KSk7XG4gICAgfSBlbHNlIGlmICghaGFzU2xvdHRlZENvbnRlbnQgJiYgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmhhcyhzdGF0ZU5hbWUpKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKHN0YXRlTmFtZSk7XG4gICAgICAvKiogQGludGVybmFsICovXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IFNiYlNsb3R0ZWRDaGFuZ2VFdmVudChzbG90KSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb2JzZXJ2ZVRleHROb2Rlc0luU2xvdChzbG90OiBIVE1MU2xvdEVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLl90ZXh0T2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICAvLyBPbmx5IGNyZWF0ZSB0aGUgTXV0YXRpb25PYnNlcnZlciB3aGVuIGl0IGlzIGFjdHVhbGx5IG5lZWRlZCB0byBvcHRpbWl6ZSBwZXJmb3JtYW5jZS5cbiAgICB0aGlzLl90ZXh0T2JzZXJ2ZXIgPz89IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHtcbiAgICAgIGNvbnN0IHNsb3QgPSB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3I8SFRNTFNsb3RFbGVtZW50Pignc2xvdDpub3QoW25hbWVdKScpO1xuICAgICAgaWYgKHNsb3QpIHtcbiAgICAgICAgdGhpcy5fdXBkYXRlU2xvdHRlZFN0YXRlKHNsb3QpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fdGV4dE9ic2VydmVyIS5kaXNjb25uZWN0KCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgLy8gVGV4dCBub2RlcyBjYW4gYmUgZW1wdHkgYW5kIGZpbGxlZCBsYXRlciAob3IgdmljZSB2ZXJzYSkuXG4gICAgLy8gRmlsbGluZyBhbiBleGlzdGluZyBub2RlIGxhdGVyIHdvdWxkIG5vdCB0cmlnZ2VyIGFub3RoZXIgc2xvdGNoYW5nZSBldmVudC5cbiAgICAvLyBUaGVyZWZvcmUsIHdlIG5lZWQgdG8gb2JzZXJ2ZSB0ZXh0IG5vZGVzIGFuZCBjaGVjayBpZiB0aGV5IGJlY29tZSBmaWxsZWQgb3IgZW1wdHkuXG4gICAgLy8gVGhpcyBpcyBvbmx5IG5lZWRlZCBmb3IgdGhlIHVubmFtZWQgc2xvdCBhcyBmb3IgZXZlcnkgb3RoZXIgdGhlcmUgd291bGRcbiAgICAvLyBiZSBhIHRhZyB3aGljaCB0cmlnZ2VycyB0aGUgc2xvdCBjaGFuZ2UgZXZlbnQuXG4gICAgLy8gVGhlIG1haW4gcmVhc29uIGlzIHRoYXQgQW5ndWxhciBjcmVhdGVzIGVtcHR5IHRleHQgbm9kZXMgYW5kIGZpbGxzIHRoZW0gbGF0ZXIuXG4gICAgc2xvdFxuICAgICAgLmFzc2lnbmVkTm9kZXMoKVxuICAgICAgLmZpbHRlcigobikgPT4gbi5ub2RlVHlwZSA9PT0gbi5URVhUX05PREUpXG4gICAgICAuZm9yRWFjaCgobm9kZSkgPT4gdGhpcy5fdGV4dE9ic2VydmVyIS5vYnNlcnZlKG5vZGUsIHsgY2hhcmFjdGVyRGF0YTogdHJ1ZSB9KSk7XG4gIH1cblxuICBwcml2YXRlIF9oYXNTbG90dGVkQ29udGVudChzbG90OiBIVE1MU2xvdEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc2xvdC5uYW1lXG4gICAgICA/IHNsb3RcbiAgICAgICAgICAuYXNzaWduZWRFbGVtZW50cygpXG4gICAgICAgICAgLnNvbWUoKG5vZGUpID0+ICEobm9kZSBpbnN0YW5jZW9mIEhUTUxTbG90RWxlbWVudCkgfHwgdGhpcy5faGFzU2xvdHRlZENvbnRlbnQobm9kZSkpXG4gICAgICA6IHNsb3QuYXNzaWduZWROb2RlcygpLnNvbWUoKG5vZGUpID0+IHtcbiAgICAgICAgICByZXR1cm4gbm9kZSBpbnN0YW5jZW9mIEhUTUxTbG90RWxlbWVudFxuICAgICAgICAgICAgPyB0aGlzLl9oYXNTbG90dGVkQ29udGVudChub2RlKVxuICAgICAgICAgICAgOiBub2RlLm5vZGVUeXBlICE9PSBub2RlLlRFWFRfTk9ERSB8fCAhIW5vZGUudGV4dENvbnRlbnQ/LnRyaW0oKTtcbiAgICAgICAgfSk7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRFdmVudE1hcCB7XG4gICAgc2xvdHRlZGNoYW5nZTogU2JiU2xvdHRlZENoYW5nZUV2ZW50O1xuICB9XG4gIGludGVyZmFjZSBTaGFkb3dSb290RXZlbnRNYXAge1xuICAgIHNsb3R0ZWRjaGFuZ2U6IFNiYlNsb3R0ZWRDaGFuZ2VFdmVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7OztBQ21CQSxJQUFNLHlCQUNKLFlBQVksQ0FBQyxJQUFJLFNBQVMsMkJBQTJCLElBQ2pELE1BQU0sdUJBQ0ksSUFBVztDQUtuQixZQUEyQixPQUFpQjtFQUMxQyxNQUFLO0VBRG9CLEtBQUEsUUFBQTtFQUZuQixLQUFBLFdBQVc7RUFJakIsS0FBSyxNQUFNLGNBQWMsSUFBSTtFQUM3QixJQUFJLENBQUMsVUFHSCxRQUFRLFFBQU8sRUFBRyxXQUFXLEtBQUssYUFBWSxDQUFFO0NBRXBEO0NBRWdCLElBQUksT0FBYTtFQUMvQixJQUFJLEtBQUssVUFDUCxLQUFLLGFBQWEsT0FBTyxJQUFJO0VBRS9CLE9BQU8sTUFBTSxJQUFJLEtBQUs7Q0FDeEI7Q0FFZ0IsT0FBTyxPQUFhO0VBQ2xDLEtBQUssYUFBYSxPQUFPLEtBQUs7RUFDOUIsT0FBTyxNQUFNLE9BQU8sS0FBSztDQUMzQjtDQUVnQixRQUFLO0VBQ25CLEtBQUssU0FBUyxVQUFVLEtBQUssT0FBTyxLQUFLLENBQUM7Q0FDNUM7Q0FFTyxnQkFBYTtFQUNsQixLQUFLLGFBQVk7Q0FDbkI7Q0FFUSxhQUFhLE9BQWUsU0FBZ0I7RUFDbEQsS0FBSyxNQUFNLGdCQUFnQixVQUFVLFNBQVMsT0FBTztDQUN2RDtDQUVRLGVBQVk7RUFDbEIsSUFBSSxLQUFLLFVBQ1A7RUFFRixLQUFLLFdBQVc7RUFDaEIsS0FBSyxTQUFTLFVBQVUsS0FBSyxhQUFhLE9BQU8sSUFBSSxDQUFDO0NBQ3hEO0lBRUY7QUFFTixJQUFJLENBQUMsVUFBVTtDQUViLElBQUksU0FBUztDQUNiLE1BQU0sZUFBZSxXQUNuQixPQUFPLFlBQVksU0FDbEIsa0JBQWtCLFVBQ2YsZ0JBQ007RUFDSixNQUFNLElBQUksTUFBTSw4REFBOEQ7Q0FDaEYsR0FBRTtDQUNSLE1BQU0sa0JBQXdDO0VBQUUsWUFBWTtFQUFNLGlCQUFpQixD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
394
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxlbWVudC1CUzI4YmE3dy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9iYXNlLWVsZW1lbnRzL2VsZW1lbnQuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvY29yZS9iYXNlLWVsZW1lbnRzL2VsZW1lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vc3R5bGVzL21peGlucy9oZWxwZXJzJztcblxuQGluY2x1ZGUgaGVscGVycy5ib3gtc2l6aW5nO1xuIiwiaW1wb3J0IHtcbiAgdHlwZSBDU1NSZXN1bHRHcm91cCxcbiAgdHlwZSBDU1NSZXN1bHRPck5hdGl2ZSxcbiAgaXNTZXJ2ZXIsXG4gIExpdEVsZW1lbnQsXG4gIHR5cGUgUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgdHlwZSBQcm9wZXJ0eVZhbHVlcyxcbiAgdHlwZSBSZWFjdGl2ZUNvbnRyb2xsZXIsXG4gIHVuc2FmZUNTUyxcbn0gZnJvbSAnbGl0JztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZWxlbWVudC5zY3NzP2lubGluZSc7XG5cbi8vIE1vc3Qgb2Ygb3VyIHRhcmdldCBicm93c2VycyBzdXBwb3J0IHRoZSA6c3RhdGUoKSBwc2V1ZG8gY2xhc3MsIGJ1dCBub3QgYWxsIG9mIHRoZW0uXG4vLyBXZSBwYXRjaCB0aGUgc3RhdGVzIHByb3BlcnR5IG9mIHRoZSBlbGVtZW50IGludGVybmFscyB0byB1c2UgYXR0cmlidXRlcyBpbnN0ZWFkLFxuLy8gaWYgOnN0YXRlKCkgaXMgbm90IHN1cHBvcnRlZC5cbi8vIE5vdGUgdGhhdCBmb3IgU1NSLCB0aGUgc3RhdGVzIHByb3BlcnR5IGlzIGEgc2ltcGxlIFNldCwgaW1wbGVtZW50ZWQgaW4gTGl0IFNTUi5cbnR5cGUgQ3VzdG9tU3RhdGVTZXRJbnRlcmZhY2UgPSBDdXN0b21TdGF0ZVNldDtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbmNvbnN0IEN1c3RvbVN0YXRlU2V0UG9seWZpbGw6IChuZXcgKGhvc3Q6IExpdEVsZW1lbnQpID0+IEN1c3RvbVN0YXRlU2V0SW50ZXJmYWNlKSB8IG51bGwgPVxuICBpc1NlcnZlciB8fCAhQ1NTLnN1cHBvcnRzKCdzZWxlY3Rvcig6c3RhdGUobG9hZGluZykpJylcbiAgICA/IGNsYXNzIEN1c3RvbVN0YXRlU2V0XG4gICAgICAgIGV4dGVuZHMgU2V0PHN0cmluZz5cbiAgICAgICAgaW1wbGVtZW50cyBDdXN0b21TdGF0ZVNldEludGVyZmFjZSwgUmVhY3RpdmVDb250cm9sbGVyXG4gICAgICB7XG4gICAgICAgIHByaXZhdGUgX2FwcGxpZWQgPSBpc1NlcnZlcjtcblxuICAgICAgICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSBfaG9zdDogTGl0RWxlbWVudCkge1xuICAgICAgICAgIHN1cGVyKCk7XG4gICAgICAgICAgdGhpcy5faG9zdC5hZGRDb250cm9sbGVyKHRoaXMpO1xuICAgICAgICAgIGlmICghaXNTZXJ2ZXIpIHtcbiAgICAgICAgICAgIC8vIFdlIHdhbnQgdG8gYXBwbHkgdGhlIGF0dHJpYnV0ZXMgYXMgZWFybHkgYXMgcG9zc2libGUgd2hpY2ggY2FuXG4gICAgICAgICAgICAvLyBlaXRoZXIgYmUgdmlhIHRoaXMgUHJvbWlzZS5yZXNvbHZlKCkgb3IgdGhlIGNvbm5lY3RlZENhbGxiYWNrKCkuXG4gICAgICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHRoaXMuX2FwcGx5U3RhdGVzKCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSBhZGQoc3RhdGU6IHN0cmluZyk6IHRoaXMge1xuICAgICAgICAgIGlmICh0aGlzLl9hcHBsaWVkKSB7XG4gICAgICAgICAgICB0aGlzLl90b2dnbGVTdGF0ZShzdGF0ZSwgdHJ1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBzdXBlci5hZGQoc3RhdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIG92ZXJyaWRlIGRlbGV0ZShzdGF0ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgICAgdGhpcy5fdG9nZ2xlU3RhdGUoc3RhdGUsIGZhbHNlKTtcbiAgICAgICAgICByZXR1cm4gc3VwZXIuZGVsZXRlKHN0YXRlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHB1YmxpYyBvdmVycmlkZSBjbGVhcigpOiB2b2lkIHtcbiAgICAgICAgICB0aGlzLmZvckVhY2goKHN0YXRlKSA9PiB0aGlzLmRlbGV0ZShzdGF0ZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIGhvc3RDb25uZWN0ZWQoKTogdm9pZCB7XG4gICAgICAgICAgdGhpcy5fYXBwbHlTdGF0ZXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHByaXZhdGUgX3RvZ2dsZVN0YXRlKHN0YXRlOiBzdHJpbmcsIGVuYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgICB0aGlzLl9ob3N0LnRvZ2dsZUF0dHJpYnV0ZShgc3RhdGUtLSR7c3RhdGV9YCwgZW5hYmxlZCk7XG4gICAgICAgIH1cblxuICAgICAgICBwcml2YXRlIF9hcHBseVN0YXRlcygpOiB2b2lkIHtcbiAgICAgICAgICBpZiAodGhpcy5fYXBwbGllZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9hcHBsaWVkID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLmZvckVhY2goKHN0YXRlKSA9PiB0aGlzLl90b2dnbGVTdGF0ZShzdGF0ZSwgdHJ1ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgOiBudWxsO1xuXG5pZiAoIWlzU2VydmVyKSB7XG4gIC8vIFRoaXMgaXMgYSBwb2x5ZmlsbCBmb3IgdGhlIGFyaWEgZWxlbWVudHMgcHJvcGVydGllcyBvbiBFbGVtZW50SW50ZXJuYWxzIGFuZCBFbGVtZW50LlxuICBsZXQgbmV4dElkID0gMDtcbiAgY29uc3QgcmVzb2x2ZUhvc3QgPSAob3JpZ2luOiBFbGVtZW50SW50ZXJuYWxzIHwgRWxlbWVudCk6IEVsZW1lbnQgPT5cbiAgICBvcmlnaW4uc2hhZG93Um9vdD8uaG9zdCA/P1xuICAgIChvcmlnaW4gaW5zdGFuY2VvZiBFbGVtZW50XG4gICAgICA/IG9yaWdpblxuICAgICAgOiAoKCkgPT4ge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIHJlc29sdmUgcmVsYXRlZCBlbGVtZW50ISBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4uJyk7XG4gICAgICAgIH0pKCkpO1xuICBjb25zdCBvYnNlcnZlck9wdGlvbnM6IE11dGF0aW9uT2JzZXJ2ZXJJbml0ID0geyBhdHRyaWJ1dGVzOiB0cnVlLCBhdHRyaWJ1dGVGaWx0ZXI6IFsnaWQnXSB9O1xuICBjb25zdCBhc3NpZ25FbGVtZW50ID0gKFxuICAgIGhvc3Q6IEVsZW1lbnQsXG4gICAgYXR0cmlidXRlOiBzdHJpbmcsXG4gICAgZWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEVsZW1lbnQ+LFxuICApOiB2b2lkID0+IHtcbiAgICAvLyBJbiBjYXNlIGJvdGggRWxlbWVudCBhbmQgRWxlbWVudEludGVybmFscyBwcm9wZXJ0aWVzIGFyZSBzZXQsXG4gICAgLy8gdGhlIGVsZW1lbnQgcmVmZXJlbmNlIGZyb20gRWxlbWVudCBoYXMgcHJpb3JpdHkuXG4gICAgY29uc3QgYWN0aXZlRWxlbWVudCA9IGVsZW1lbnRzW0VsZW1lbnQubmFtZV0gPz8gZWxlbWVudHNbRWxlbWVudEludGVybmFscy5uYW1lXTtcbiAgICBob3N0LnNldEF0dHJpYnV0ZShhdHRyaWJ1dGUsIChhY3RpdmVFbGVtZW50LmlkIHx8PSBgYXJpYS1yZWYtJHtuZXh0SWQrK31gKSk7XG4gIH07XG4gIGNvbnN0IGFzc2lnbkVsZW1lbnRzID0gKFxuICAgIGhvc3Q6IEVsZW1lbnQsXG4gICAgYXR0cmlidXRlOiBzdHJpbmcsXG4gICAgZWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEVsZW1lbnRbXT4sXG4gICk6IHZvaWQgPT4ge1xuICAgIC8vIEluIGNhc2UgYm90aCBFbGVtZW50IGFuZCBFbGVtZW50SW50ZXJuYWxzIHByb3BlcnRpZXMgYXJlIHNldCxcbiAgICAvLyB3ZSBjb21iaW5lIHRoZSBlbGVtZW50IHJlZmVyZW5jZXMuXG4gICAgaG9zdC5zZXRBdHRyaWJ1dGUoXG4gICAgICBhdHRyaWJ1dGUsXG4gICAgICBPYmplY3QudmFsdWVzKGVsZW1lbnRzKVxuICAgICAgICAucmVkdWNlKChjdXJyZW50LCBuZXh0KSA9PiBjdXJyZW50LmNvbmNhdChuZXh0KSlcbiAgICAgICAgLmZpbHRlcigodiwgaSwgYSkgPT4gYS5pbmRleE9mKHYpID09PSBpKVxuICAgICAgICAubWFwKChlKSA9PiBlLmlkIHx8IChlLmlkID0gYGFyaWEtcmVmLSR7bmV4dElkKyt9YCkpXG4gICAgICAgIC5qb2luKCcgJyksXG4gICAgKTtcbiAgfTtcblxuICBmb3IgKGNvbnN0IHR5cGUgb2YgW0VsZW1lbnRJbnRlcm5hbHMsIEVsZW1lbnRdKSB7XG4gICAgY29uc3QgcHJvdG90eXBlID0gdHlwZS5wcm90b3R5cGU7XG4gICAgaWYgKCEoJ2FyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCcgaW4gcHJvdG90eXBlKSkge1xuICAgICAgY29uc3QgYXR0cmlidXRlID0gJ2FyaWEtYWN0aXZlZGVzY2VuZGFudCc7XG4gICAgICBjb25zdCBzdG9yYWdlID0gbmV3IFdlYWtNYXA8XG4gICAgICAgIEVsZW1lbnQsXG4gICAgICAgIHsgZWxlbWVudHM6IFJlY29yZDxzdHJpbmcsIEVsZW1lbnQ+OyBvYnNlcnZlcjogTXV0YXRpb25PYnNlcnZlciB9XG4gICAgICA+KCk7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkocHJvdG90eXBlLCAnYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50Jywge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIGdldCh0aGlzOiBFbGVtZW50SW50ZXJuYWxzIHwgRWxlbWVudCk6IEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgICBjb25zdCBob3N0ID0gcmVzb2x2ZUhvc3QodGhpcyk7XG4gICAgICAgICAgY29uc3QgaWQgPSBob3N0LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGUpPy5zcGxpdCgvXFxzKy8pWzBdID8/IG51bGw7XG4gICAgICAgICAgcmV0dXJuIGlkXG4gICAgICAgICAgICA/ICgoaG9zdC5nZXRSb290Tm9kZSgpIGFzIERvY3VtZW50IHwgU2hhZG93Um9vdCkuZ2V0RWxlbWVudEJ5SWQ/LihpZCkgPz8gbnVsbClcbiAgICAgICAgICAgIDogbnVsbDtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0KHRoaXM6IEVsZW1lbnRJbnRlcm5hbHMgfCBFbGVtZW50LCB2YWx1ZTogRWxlbWVudCB8IG51bGwpIHtcbiAgICAgICAgICBpZiAodmFsdWUgIT09IG51bGwgJiYgISh2YWx1ZSBpbnN0YW5jZW9mIEVsZW1lbnQpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICAgICAgICBgRmFpbGVkIHRvIHNldCB0aGUgJ2FyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCcgcHJvcGVydHkgb24gJyR7dHlwZS5uYW1lfSc6IEZhaWxlZCB0byBjb252ZXJ0IHZhbHVlIHRvICdFbGVtZW50Jy5gLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBob3N0ID0gcmVzb2x2ZUhvc3QodGhpcyk7XG4gICAgICAgICAgY29uc3QgZW50cnkgPSBzdG9yYWdlLmdldChob3N0KTtcbiAgICAgICAgICBlbnRyeT8ub2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgICBpZiAodmFsdWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgICAgICBkZWxldGUgZW50cnkuZWxlbWVudHNbdHlwZS5uYW1lXTtcbiAgICAgICAgICAgICAgaWYgKCFPYmplY3Qua2V5cyhlbnRyeSkubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgc3RvcmFnZS5kZWxldGUoaG9zdCk7XG4gICAgICAgICAgICAgICAgaG9zdC5yZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBlbnRyeS5vYnNlcnZlci5vYnNlcnZlKE9iamVjdC52YWx1ZXMoZW50cnkuZWxlbWVudHMpWzBdLCBvYnNlcnZlck9wdGlvbnMpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmICghZW50cnkpIHtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzOiBSZWNvcmQ8c3RyaW5nLCBFbGVtZW50PiA9IHsgW3R5cGUubmFtZV06IHZhbHVlIH07XG4gICAgICAgICAgICBhc3NpZ25FbGVtZW50KGhvc3QsIGF0dHJpYnV0ZSwgZWxlbWVudHMpO1xuICAgICAgICAgICAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiBhc3NpZ25FbGVtZW50KGhvc3QsIGF0dHJpYnV0ZSwgZWxlbWVudHMpKTtcbiAgICAgICAgICAgIG9ic2VydmVyLm9ic2VydmUodmFsdWUsIG9ic2VydmVyT3B0aW9ucyk7XG4gICAgICAgICAgICBzdG9yYWdlLnNldChob3N0LCB7IGVsZW1lbnRzLCBvYnNlcnZlciB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZW50cnkuZWxlbWVudHNbdHlwZS5uYW1lXSA9IHZhbHVlO1xuICAgICAgICAgICAgYXNzaWduRWxlbWVudChob3N0LCBhdHRyaWJ1dGUsIGVudHJ5LmVsZW1lbnRzKTtcbiAgICAgICAgICAgIE9iamVjdC52YWx1ZXMoZW50cnkuZWxlbWVudHMpLmZvckVhY2goKGUpID0+XG4gICAgICAgICAgICAgIGVudHJ5Lm9ic2VydmVyLm9ic2VydmUoZSwgb2JzZXJ2ZXJPcHRpb25zKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBbXG4gICAgICAnYXJpYUNvbnRyb2xzRWxlbWVudHMnLFxuICAgICAgJ2FyaWFEZXNjcmliZWRCeUVsZW1lbnRzJyxcbiAgICAgICdhcmlhRGV0YWlsc0VsZW1lbnRzJyxcbiAgICAgICdhcmlhRXJyb3JNZXNzYWdlRWxlbWVudHMnLFxuICAgICAgJ2FyaWFMYWJlbGxlZEJ5RWxlbWVudHMnLFxuICAgICAgJ2FyaWFPd25zRWxlbWVudHMnLFxuICAgIF0pIHtcbiAgICAgIGlmICghKHByb3BlcnR5IGluIHByb3RvdHlwZSkpIHtcbiAgICAgICAgY29uc3Qgc3RvcmFnZSA9IG5ldyBXZWFrTWFwPFxuICAgICAgICAgIEVsZW1lbnQsXG4gICAgICAgICAgeyBlbGVtZW50czogUmVjb3JkPHN0cmluZywgRWxlbWVudFtdPjsgb2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXIgfVxuICAgICAgICA+KCk7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IGBhcmlhLSR7cHJvcGVydHkuc2xpY2UoNCwgLTgpLnRvTG93ZXJDYXNlKCl9YDtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHByb3RvdHlwZSwgcHJvcGVydHksIHtcbiAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICBnZXQodGhpczogRWxlbWVudEludGVybmFscyB8IEVsZW1lbnQpOiByZWFkb25seSBFbGVtZW50W10gfCBudWxsIHtcbiAgICAgICAgICAgIGNvbnN0IGhvc3QgPSByZXNvbHZlSG9zdCh0aGlzKTtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzID0gaG9zdFxuICAgICAgICAgICAgICAuZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZSlcbiAgICAgICAgICAgICAgPy5zcGxpdCgvXFxzKy8pXG4gICAgICAgICAgICAgIC5maWx0ZXIoKHYsIGksIGEpID0+IGEuaW5kZXhPZih2KSA9PT0gaSlcbiAgICAgICAgICAgICAgLm1hcCgoaWQpID0+IChob3N0LmdldFJvb3ROb2RlKCkgYXMgRG9jdW1lbnQgfCBTaGFkb3dSb290KS5nZXRFbGVtZW50QnlJZD8uKGlkKSlcbiAgICAgICAgICAgICAgLmZpbHRlcigoZSkgPT4gZSBpbnN0YW5jZW9mIEVsZW1lbnQpO1xuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnRzPy5sZW5ndGggPyBPYmplY3QuZnJlZXplKGVsZW1lbnRzKSA6IG51bGw7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXQodGhpczogRWxlbWVudEludGVybmFscyB8IEVsZW1lbnQsIHZhbHVlOiBFbGVtZW50W10pIHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgdmFsdWUgIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgKCFBcnJheS5pc0FycmF5KHZhbHVlKSB8fCB2YWx1ZS5zb21lKChlbGVtZW50KSA9PiAhKGVsZW1lbnQgaW5zdGFuY2VvZiBFbGVtZW50KSkpXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgICAgICAgICBgRmFpbGVkIHRvIHNldCB0aGUgJyR7cHJvcGVydHl9JyBwcm9wZXJ0eSBvbiAnJHt0eXBlLm5hbWV9JzogRmFpbGVkIHRvIGNvbnZlcnQgdmFsdWUgdG8gJ0VsZW1lbnQnLmAsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGhvc3QgPSByZXNvbHZlSG9zdCh0aGlzKTtcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWU/LmZpbHRlcigodiwgaSwgYSkgPT4gYS5pbmRleE9mKHYpID09PSBpKSA/PyBudWxsO1xuICAgICAgICAgICAgY29uc3QgZW50cnkgPSBzdG9yYWdlLmdldChob3N0KTtcbiAgICAgICAgICAgIGVudHJ5Py5vYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBlbnRyeS5lbGVtZW50c1t0eXBlLm5hbWVdO1xuICAgICAgICAgICAgICAgIGlmICghT2JqZWN0LmtleXMoZW50cnkuZWxlbWVudHMpLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgc3RvcmFnZS5kZWxldGUoaG9zdCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIE9iamVjdC52YWx1ZXMoZW50cnkuZWxlbWVudHMpXG4gICAgICAgICAgICAgICAgICAgIC5yZWR1Y2UoKGN1cnJlbnQsIG5leHQpID0+IGN1cnJlbnQuY29uY2F0KG5leHQpKVxuICAgICAgICAgICAgICAgICAgICAuZm9yRWFjaCgoZSkgPT4gZW50cnkub2JzZXJ2ZXIub2JzZXJ2ZShlLCBvYnNlcnZlck9wdGlvbnMpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoIWVudHJ5KSB7XG4gICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRzOiBSZWNvcmQ8c3RyaW5nLCBFbGVtZW50W10+ID0geyBbdHlwZS5uYW1lXTogdmFsdWUgfTtcbiAgICAgICAgICAgICAgYXNzaWduRWxlbWVudHMoaG9zdCwgYXR0cmlidXRlLCBlbGVtZW50cyk7XG4gICAgICAgICAgICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKCkgPT5cbiAgICAgICAgICAgICAgICBhc3NpZ25FbGVtZW50cyhob3N0LCBhdHRyaWJ1dGUsIGVsZW1lbnRzKSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgdmFsdWUuZm9yRWFjaCgoZWxlbWVudCkgPT4gb2JzZXJ2ZXIub2JzZXJ2ZShlbGVtZW50LCBvYnNlcnZlck9wdGlvbnMpKTtcbiAgICAgICAgICAgICAgc3RvcmFnZS5zZXQoaG9zdCwgeyBlbGVtZW50cywgb2JzZXJ2ZXIgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBlbnRyeS5lbGVtZW50c1t0eXBlLm5hbWVdID0gdmFsdWU7XG4gICAgICAgICAgICAgIGFzc2lnbkVsZW1lbnRzKGhvc3QsIGF0dHJpYnV0ZSwgZW50cnkuZWxlbWVudHMpO1xuICAgICAgICAgICAgICBPYmplY3QudmFsdWVzKGVudHJ5LmVsZW1lbnRzKVxuICAgICAgICAgICAgICAgIC5yZWR1Y2UoKGN1cnJlbnQsIG5leHQpID0+IGN1cnJlbnQuY29uY2F0KG5leHQpKVxuICAgICAgICAgICAgICAgIC5mb3JFYWNoKChlKSA9PiBlbnRyeS5vYnNlcnZlci5vYnNlcnZlKGUsIG9ic2VydmVyT3B0aW9ucykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5jb25zdCBhdHRhY2hlZEVsZW1lbnRJbnRlcm5hbHMgPSBuZXcgV2Vha01hcDxFbGVtZW50LCBFbGVtZW50SW50ZXJuYWxzPigpO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNiYlN0YXRlQ29udHJvbGxlciB7XG4gIGFkZCh2YWx1ZTogc3RyaW5nKTogdGhpcztcbiAgZGVsZXRlKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuO1xuICBoYXModmFsdWU6IHN0cmluZyk6IGJvb2xlYW47XG4gIHRvZ2dsZSh2YWx1ZTogc3RyaW5nLCBmb3JjZT86IGJvb2xlYW4pOiB2b2lkO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBzdGF0ZSBjb250cm9sbGVyIGZvciB0aGUgZ2l2ZW4gZWxlbWVudC5cbiAqIE5PVCBJTlRFTkRFRCBUTyBCRSBVU0VEIEJZIENPTlNVTUVSUyFcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gybVzdGF0ZUNvbnRyb2xsZXIoZWxlbWVudDogRWxlbWVudCk6IFNiYlN0YXRlQ29udHJvbGxlcjtcbmV4cG9ydCBmdW5jdGlvbiDJtXN0YXRlQ29udHJvbGxlcihlbGVtZW50OiBFbGVtZW50IHwgdW5kZWZpbmVkIHwgbnVsbCk6IFNiYlN0YXRlQ29udHJvbGxlciB8IG51bGw7XG5leHBvcnQgZnVuY3Rpb24gybVzdGF0ZUNvbnRyb2xsZXIoZWxlbWVudDogRWxlbWVudCB8IHVuZGVmaW5lZCB8IG51bGwpOiBTYmJTdGF0ZUNvbnRyb2xsZXIgfCBudWxsIHtcbiAgaWYgKCFlbGVtZW50KSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgY29uc3Qgc3RhdGVzID0gYXR0YWNoZWRFbGVtZW50SW50ZXJuYWxzLmdldChlbGVtZW50KT8uc3RhdGVzO1xuICBjb25zdCB0b2dnbGU6IFNiYlN0YXRlQ29udHJvbGxlclsndG9nZ2xlJ10gPSBmdW5jdGlvbiAodGhpczogU2JiU3RhdGVDb250cm9sbGVyLCB2YWx1ZSwgZm9yY2UpIHtcbiAgICBpZiAoZm9yY2UgfHwgKGZvcmNlICE9PSBmYWxzZSAmJiAhdGhpcy5oYXModmFsdWUpKSkge1xuICAgICAgdGhpcy5hZGQodmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRlbGV0ZSh2YWx1ZSk7XG4gICAgfVxuICB9O1xuICBpZiAoc3RhdGVzKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGFkZCh2YWx1ZSkge1xuICAgICAgICBzdGF0ZXMuYWRkKHZhbHVlKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9LFxuICAgICAgZGVsZXRlOiAodmFsdWUpID0+IHN0YXRlcy5kZWxldGUodmFsdWUpLFxuICAgICAgaGFzOiAodmFsdWUpID0+IHN0YXRlcy5oYXModmFsdWUpLFxuICAgICAgdG9nZ2xlLFxuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgLy8gSWYgbm8gRWxlbWVudEludGVybmFscyBpcyBhdHRhY2hlZCwgd2UgZmFsbCBiYWNrIHRvIHVzaW5nIGF0dHJpYnV0ZXMuIEUuZy4gZm9yIHRyaWdnZXJzLlxuICAgIHJldHVybiB7XG4gICAgICBhZGQodmFsdWUpIHtcbiAgICAgICAgZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoYHN0YXRlLS0ke3ZhbHVlfWAsIHRydWUpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH0sXG4gICAgICBkZWxldGU6ICh2YWx1ZSkgPT4gZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUoYHN0YXRlLS0ke3ZhbHVlfWAsIGZhbHNlKSxcbiAgICAgIGhhczogKHZhbHVlKSA9PiBlbGVtZW50Lmhhc0F0dHJpYnV0ZShgc3RhdGUtLSR7dmFsdWV9YCksXG4gICAgICB0b2dnbGUsXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgU2JiU2xvdHRlZENoYW5nZUV2ZW50IGV4dGVuZHMgRXZlbnQge1xuICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHNsb3Q6IEhUTUxTbG90RWxlbWVudCkge1xuICAgIHN1cGVyKCdzbG90dGVkY2hhbmdlJywgeyBjb21wb3NlZDogdHJ1ZSB9KTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNiYlByb3BlcnR5VmFsdWVzIHtcbiAgb2xkVmFsdWU/OiB1bmtub3duO1xuICB2YWx1ZT86IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2JiUmVhY3RpdmVDb250cm9sbGVyIGV4dGVuZHMgUmVhY3RpdmVDb250cm9sbGVyIHtcbiAgaG9zdFByb3BlcnR5VXBkYXRlPyhcbiAgICBuYW1lOiBQcm9wZXJ0eUtleSxcbiAgICB2YWx1ZXM/OiBTYmJQcm9wZXJ0eVZhbHVlcyxcbiAgICBvcHRpb25zPzogUHJvcGVydHlEZWNsYXJhdGlvbixcbiAgKTogdm9pZDtcbn1cblxuLyoqXG4gKiBBcHBlbmRzIHRoZSBnaXZlbiBlbGVtZW50cyB0byB0aGUgZ2l2ZW4gYXJpYSB2YWx1ZSBhbmQgcmV0dXJucyB0aGVcbiAqIGNvbWJpbmVkIHZhbHVlIGFzIGEgbmV3IGFycmF5IG9yIG51bGwsIGlmIGJvdGggdmFsdWVzIHdlcmUgZW1wdHkuXG4gKi9cbmV4cG9ydCBjb25zdCBhcHBlbmRBcmlhRWxlbWVudHMgPSAoXG4gIGFyaWFWYWx1ZTogcmVhZG9ubHkgRWxlbWVudFtdIHwgbnVsbCxcbiAgLi4ubmV3RWxlbWVudHM6IChFbGVtZW50IHwgbnVsbClbXVxuKTogRWxlbWVudFtdIHwgbnVsbCA9PiB7XG4gIGNvbnN0IGVsZW1lbnRzID0gbmV3RWxlbWVudHMuZmlsdGVyKCh2KTogdiBpcyBFbGVtZW50ID0+ICEhdik7XG4gIHJldHVybiBhcmlhVmFsdWU/Lmxlbmd0aCA/IGFyaWFWYWx1ZS5jb25jYXQoZWxlbWVudHMpIDogbmV3RWxlbWVudHMubGVuZ3RoID8gZWxlbWVudHMgOiBudWxsO1xufTtcblxuLyoqXG4gKiBSZW1vdmVzIHRoZSBnaXZlbiBlbGVtZW50cyBmcm9tIHRoZSBnaXZlbiBhcmlhIHZhbHVlIGFuZCByZXR1cm5zXG4gKiB0aGUgcmVtYWluaW5nIGVsZW1lbnRzIGFzIGEgbmV3IGFycmF5IG9yIG51bGwsIGlmIHRoZSByZXN1bHQgaXMgZW1wdHkuXG4gKi9cbmV4cG9ydCBjb25zdCByZW1vdmVBcmlhRWxlbWVudHMgPSAoXG4gIGFyaWFWYWx1ZTogcmVhZG9ubHkgRWxlbWVudFtdIHwgbnVsbCxcbiAgLi4ucmVtb3ZhYmxlRWxlbWVudHM6IChFbGVtZW50IHwgbnVsbClbXVxuKTogRWxlbWVudFtdIHwgbnVsbCA9PiB7XG4gIHJlbW92YWJsZUVsZW1lbnRzID0gcmVtb3ZhYmxlRWxlbWVudHMuZmlsdGVyKCh2KSA9PiAhIXYpO1xuICBjb25zdCBlbGVtZW50cyA9IGFyaWFWYWx1ZT8uZmlsdGVyKCh2KSA9PiAhcmVtb3ZhYmxlRWxlbWVudHMuaW5jbHVkZXModikpID8/IG51bGw7XG4gIHJldHVybiBlbGVtZW50cz8ubGVuZ3RoID8gZWxlbWVudHMgOiBudWxsO1xufTtcblxuZXhwb3J0IHR5cGUgU2JiRWxlbWVudFR5cGUgPSB0eXBlb2YgU2JiRWxlbWVudDtcblxuZXhwb3J0IGludGVyZmFjZSBTYmJFbGVtZW50Q29uc3RydWN0b3Ige1xuICBlbGVtZW50RGVwZW5kZW5jaWVzPzogU2JiRWxlbWVudFR5cGVbXTtcbiAgcm9sZT86IEVsZW1lbnRJbnRlcm5hbHNbJ3JvbGUnXTtcbn1cblxuLyoqXG4gKiBBIGJhc2UgY2xhc3MgZm9yIGFsbCBTQkIgZWxlbWVudHMuXG4gKiBJbmNsdWRlcyBhdHRhY2hpbmcgRWxlbWVudEludGVybmFscywgaGFuZGxpbmcgaHlkcmF0aW9uLCBhbmQgbWFuYWdpbmcgc3RhdGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJFbGVtZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgWydfJHNiYkVsZW1lbnQkJ10gPSB0cnVlO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBzdGF0aWMgZWxlbWVudERlcGVuZGVuY2llcz86IFNiYkVsZW1lbnRUeXBlW107XG4gIHB1YmxpYyBzdGF0aWMgcm9sZT86IEVsZW1lbnRJbnRlcm5hbHNbJ3JvbGUnXTtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3Vuc2FmZUNTUyhzdHlsZSldO1xuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGludGVybmFsczogRWxlbWVudEludGVybmFscyA9IHRoaXMuYXR0YWNoSW50ZXJuYWxzKCk7XG5cbiAgcHJpdmF0ZSBfY29udHJvbGxlcnM/OiBTZXQ8U2JiUmVhY3RpdmVDb250cm9sbGVyPjtcbiAgcHJpdmF0ZSBfaHlkcmF0aW9uUmVxdWlyZWQ6IGJvb2xlYW47XG4gIHByaXZhdGUgX2h5ZHJhdGlvbkNvbXBsZXRlID0gbmV3IFByb21pc2U8Ym9vbGVhbj4oXG4gICAgKHJlc29sdmUpID0+ICh0aGlzLl9yZXNvbHZlSHlkcmF0aW9uID0gcmVzb2x2ZSksXG4gICk7XG4gIHByaXZhdGUgX3Jlc29sdmVIeWRyYXRpb24hOiAoaHlkcmF0aW9uUmVxdWlyZWQ6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIHByaXZhdGUgX3RleHRPYnNlcnZlcj86IE11dGF0aW9uT2JzZXJ2ZXI7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZWxlbWVudCBoYXMgY29tcGxldGVkIGh5ZHJhdGlvbi5cbiAgICogVGhlIFByb21pc2UgdmFsdWUgaXMgYSBib29sZWFuIHRoYXQgaXMgYHRydWVgIGlmIHRoZSBlbGVtZW50IHJlcXVpcmVkIGh5ZHJhdGlvblxuICAgKiBhbmQgYGZhbHNlYCBpZiBub3QuXG4gICAqXG4gICAqIEByZXR1cm4gQSBwcm9taXNlIG9mIGEgYm9vbGVhbiB0aGF0IHJlc29sdmVzIHRvIHRydWUgb25jZSB0aGUgaHlkcmF0aW9uIGNvbXBsZXRlZC5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgZ2V0IGh5ZHJhdGlvbkNvbXBsZXRlKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9oeWRyYXRpb25Db21wbGV0ZTtcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHdoZXRoZXIgaHlkcmF0aW9uIGlzIHJlcXVpcmVkIGFuZCBub3QgY29tcGxldGVkLiAqL1xuICBwcm90ZWN0ZWQgZ2V0IGh5ZHJhdGlvblJlcXVpcmVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9oeWRyYXRpb25SZXF1aXJlZDtcbiAgfVxuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGF0dGFjaGVkRWxlbWVudEludGVybmFscy5zZXQodGhpcywgdGhpcy5pbnRlcm5hbHMpO1xuICAgIGlmIChDdXN0b21TdGF0ZVNldFBvbHlmaWxsKSB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcy5pbnRlcm5hbHMsICdzdGF0ZXMnLCB7XG4gICAgICAgIHZhbHVlOiBuZXcgQ3VzdG9tU3RhdGVTZXRQb2x5ZmlsbCh0aGlzKSxcbiAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBXZSB1c2UgdGhlIEN1c3RvbVN0YXRlU2V0IHBvbHlmaWxsIGluIFNTUiwgd2hpY2ggcmVuZGVycyB0aGUgc3RhdGUgYXMgYXR0cmlidXRlc1xuICAgICAgLy8gd2hpY2ggY2FuIGJlIHRyYW5zZmVycmVkIHRvIGNsaWVudCBzaWRlLCB3aGVyZSB3ZSBjYW4gdGhlbiBjb252ZXJ0IFtzdGF0ZS0tKl1cbiAgICAgIC8vIGF0dHJpYnV0ZXMgdG8gaW50ZXJuYWwgc3RhdGUuXG4gICAgICBmb3IgKGNvbnN0IG5hbWUgb2YgdGhpcy5nZXRBdHRyaWJ1dGVOYW1lcygpLmZpbHRlcigobikgPT4gbi5zdGFydHNXaXRoKCdzdGF0ZS0tJykpKSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQobmFtZS5zbGljZSg3KSk7XG4gICAgICAgIHRoaXMucmVtb3ZlQXR0cmlidXRlKG5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCByb2xlID0gKHRoaXMuY29uc3RydWN0b3IgYXMgU2JiRWxlbWVudENvbnN0cnVjdG9yKS5yb2xlO1xuICAgIGlmIChyb2xlKSB7XG4gICAgICB0aGlzLmludGVybmFscy5yb2xlID0gcm9sZTtcbiAgICB9XG5cbiAgICAvLyBDaGVjayB3aGV0aGVyIGh5ZHJhdGlvbiBpcyBuZWVkZWQgYnkgY2hlY2tpbmcgd2hldGhlciB0aGUgc2hhZG93IHJvb3RcbiAgICAvLyBpcyBhdmFpbGFibGUgZHVyaW5nIGNvbnN0cnVjdGlvbi91cGdyYWRlIHBoYXNlLlxuICAgIHRoaXMuX2h5ZHJhdGlvblJlcXVpcmVkID0gISF0aGlzLnNoYWRvd1Jvb3Q7XG4gICAgaWYgKCF0aGlzLl9oeWRyYXRpb25SZXF1aXJlZCkge1xuICAgICAgdGhpcy5fcmVzb2x2ZUh5ZHJhdGlvbihmYWxzZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIER1cmluZyBoeWRyYXRpb24gcGhhc2UsIHdlIHdhbnQgdG8gc3VwcHJlc3Mgc2xvdGNoYW5nZSBldmVudHMgYXMgdGhleVxuICAgICAgLy8gY2FuIGNhdXNlIHJlbmRlciBkaWZmZXJlbmNlcywgd2hpY2ggd291bGQgYnJlYWsgaHlkcmF0aW9uLiBBZnRlclxuICAgICAgLy8gaHlkcmF0aW9uIGlzIGNvbXBsZXRlLCB3ZSBkaXNwYXRjaCBhIG1hbnVhbCBzbG90Y2hhbmdlIGV2ZW50LCBpZiB0aGVyZVxuICAgICAgLy8gYXJlIGVsZW1lbnRzIGFzc2lnbmVkIHRvIGEgc2xvdC5cbiAgICAgIGNvbnN0IHN1cHByZXNzU2xvdGNoYW5nZUV2ZW50ID0gKGV2ZW50OiBFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAodGhpcy5faHlkcmF0aW9uUmVxdWlyZWQpIHtcbiAgICAgICAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIGNvbnN0IGV2ZW50T3B0aW9uczogRXZlbnRMaXN0ZW5lck9wdGlvbnMgPSB7IGNhcHR1cmU6IHRydWUgfTtcbiAgICAgIGNvbnN0IHNsb3RzID0gdGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yQWxsKCdzbG90Jyk7XG4gICAgICBpZiAoc2xvdHM/Lmxlbmd0aCkge1xuICAgICAgICBzbG90cy5mb3JFYWNoKChzbG90KSA9PlxuICAgICAgICAgIHNsb3QuYWRkRXZlbnRMaXN0ZW5lcignc2xvdGNoYW5nZScsIHN1cHByZXNzU2xvdGNoYW5nZUV2ZW50LCBldmVudE9wdGlvbnMpLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmh5ZHJhdGlvbkNvbXBsZXRlLnRoZW4oKCkgPT5cbiAgICAgICAgICBzbG90cy5mb3JFYWNoKChzbG90KSA9PiB7XG4gICAgICAgICAgICBzbG90LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Nsb3RjaGFuZ2UnLCBzdXBwcmVzc1Nsb3RjaGFuZ2VFdmVudCwgZXZlbnRPcHRpb25zKTtcbiAgICAgICAgICAgIGlmIChzbG90LmFzc2lnbmVkTm9kZXMoKS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgLyoqIEBpbnRlcm5hbCAqL1xuICAgICAgICAgICAgICBzbG90LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdzbG90Y2hhbmdlJywgeyBidWJibGVzOiB0cnVlIH0pKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogUmVnaXN0ZXIgdGhlIGN1c3RvbSBlbGVtZW50IGluIHRoZSBnbG9iYWwgQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5LiAqL1xuICBwdWJsaWMgc3RhdGljIGRlZmluZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZWxlbWVudE5hbWUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRoZSBzdGF0aWMgcHJvcGVydHkgXCJlbGVtZW50TmFtZVwiIGlzIG5vdCBkZWZpbmVkIG9uICR7dGhpcy5uYW1lfS4gUGxlYXNlIGRlZmluZSBpdCB0byByZWdpc3RlciB0aGUgY3VzdG9tIGVsZW1lbnQuYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgZWxlbWVudENsYXNzID0gY3VzdG9tRWxlbWVudHMuZ2V0KHRoaXMuZWxlbWVudE5hbWUpO1xuICAgIGlmICghZWxlbWVudENsYXNzKSB7XG4gICAgICBjdXN0b21FbGVtZW50cy5kZWZpbmUodGhpcy5lbGVtZW50TmFtZSwgdGhpcyBhcyB1bmtub3duIGFzIEN1c3RvbUVsZW1lbnRDb25zdHJ1Y3Rvcik7XG5cbiAgICAgIGNvbnN0IGVsZW1lbnREZXBlbmRlbmNpZXM6IFNiYkVsZW1lbnRUeXBlW10gPSBbXTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdGhpcy1hbGlhc1xuICAgICAgbGV0IGN0b3I6IFNiYkVsZW1lbnRUeXBlID0gdGhpcztcbiAgICAgIHdoaWxlIChjdG9yWydfJHNiYkVsZW1lbnQkJ10pIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY3Rvci5lbGVtZW50RGVwZW5kZW5jaWVzKSkge1xuICAgICAgICAgIGVsZW1lbnREZXBlbmRlbmNpZXMucHVzaCguLi5jdG9yLmVsZW1lbnREZXBlbmRlbmNpZXMpO1xuICAgICAgICB9XG4gICAgICAgIGN0b3IgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoY3Rvcik7XG4gICAgICB9XG4gICAgICBuZXcgU2V0KGVsZW1lbnREZXBlbmRlbmNpZXMpLmZvckVhY2goKGRlcGVuZGVuY3kpID0+IGRlcGVuZGVuY3kuZGVmaW5lKCkpO1xuICAgIH0gZWxzZSBpZiAoaW1wb3J0Lm1ldGEuZW52LkRFViAmJiBlbGVtZW50Q2xhc3MgIT09IHRoaXMpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYFRoZSBjdXN0b20gZWxlbWVudCB3aXRoIG5hbWUgXCIke3RoaXMuZWxlbWVudE5hbWV9XCIgaXMgYWxyZWFkeSBkZWZpbmVkLiBTa2lwcGluZy5gLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ29sbGVjdHMgYHN0eWxlc2AgZnJvbSBldmVyeSBjbGFzcyBpbiB0aGUgcHJvdG90eXBlIGNoYWluICh1c2luZyBgT2JqZWN0Lmhhc093bmApXG4gICAqIGFuZCBtZXJnZXMgdGhlbSBpbiB0b3AtZG93biBvcmRlci4gVGhpcyBtZWFucyBlYWNoIGNsYXNzL21peGluIG9ubHkgbmVlZHMgdG8gZGVjbGFyZVxuICAgKiBpdHMgKipvd24qKiBzdHlsZXMg4oCUIHRoZXJlIGlzIG5vIG5lZWQgdG8gcmVmZXJlbmNlIGBzdXBlci5zdHlsZXNgLlxuICAgKlxuICAgKiBMaXQncyBkZWZhdWx0IGJlaGF2aW91ciBhbHJlYWR5IHdhbGtzIHRoZSBjaGFpbiwgYnV0IGZhaWxzIGZvciBtaXhpbnMgd2hlcmVcbiAgICogYHN1cGVyLnN0eWxlc2AgcmVzb2x2ZXMgdG8gdGhlIHdyb25nIGNsYXNzLiBUaGlzIG92ZXJyaWRlIGZpeGVzIHRoYXQuXG4gICAqL1xuICBwcm90ZWN0ZWQgc3RhdGljIG92ZXJyaWRlIGZpbmFsaXplU3R5bGVzKF9zdHlsZXM6IENTU1Jlc3VsdEdyb3VwKTogQ1NTUmVzdWx0T3JOYXRpdmVbXSB7XG4gICAgY29uc3QgY29sbGVjdGVkOiBDU1NSZXN1bHRHcm91cFtdID0gW107XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby10aGlzLWFsaWFzXG4gICAgbGV0IGN0b3I6IHR5cGVvZiBTYmJFbGVtZW50IHwgbnVsbCA9IHRoaXM7XG4gICAgd2hpbGUgKGN0b3IgJiYgY3RvciAhPT0gTGl0RWxlbWVudCkge1xuICAgICAgaWYgKE9iamVjdC5oYXNPd24oY3RvciwgJ3N0eWxlcycpICYmIGN0b3Iuc3R5bGVzKSB7XG4gICAgICAgIGNvbGxlY3RlZC51bnNoaWZ0KGN0b3Iuc3R5bGVzKTtcbiAgICAgIH1cbiAgICAgIGN0b3IgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoY3RvcikgYXMgdHlwZW9mIFNiYkVsZW1lbnQgfCBudWxsO1xuICAgIH1cbiAgICAvLyBDYWxsIExpdEVsZW1lbnQuZmluYWxpemVTdHlsZXMgd2hpY2ggaGFuZGxlcyBkZWR1cCAmIGFkb3B0aW9uXG4gICAgcmV0dXJuIHN1cGVyLmZpbmFsaXplU3R5bGVzKGNvbGxlY3RlZCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY3JlYXRlUmVuZGVyUm9vdCgpOiBIVE1MRWxlbWVudCB8IERvY3VtZW50RnJhZ21lbnQge1xuICAgIGNvbnN0IHJvb3QgPSBzdXBlci5jcmVhdGVSZW5kZXJSb290KCk7XG4gICAgdGhpcy5zaGFkb3dSb290Py5hZGRFdmVudExpc3RlbmVyKCdzbG90Y2hhbmdlJywgKGUpID0+XG4gICAgICB0aGlzLl9zbG90Y2hhbmdlSGFuZGxlcihlLCBlLnRhcmdldCBhcyBIVE1MU2xvdEVsZW1lbnQpLFxuICAgICk7XG4gICAgdGhpcy5zaGFkb3dSb290Py5hZGRFdmVudExpc3RlbmVyKCdzbG90dGVkY2hhbmdlJywgKGUpID0+IHRoaXMuX3Nsb3RjaGFuZ2VIYW5kbGVyKGUsIGUuc2xvdCksIHtcbiAgICAgIGNhcHR1cmU6IHRydWUsXG4gICAgfSk7XG4gICAgdGhpcy5zaGFkb3dSb290XG4gICAgICA/LnF1ZXJ5U2VsZWN0b3JBbGw/Lignc2xvdCcpXG4gICAgICAuZm9yRWFjaCgoc2xvdCkgPT4gdGhpcy5faGFuZGxlU2xvdENoYW5nZUZvclNsb3R0ZWRTdGF0ZShzbG90KSk7XG5cbiAgICByZXR1cm4gcm9vdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBgUmVhY3RpdmVDb250cm9sbGVyYCB0byBwYXJ0aWNpcGF0ZSBpbiB0aGUgZWxlbWVudCdzIHJlYWN0aXZlXG4gICAqIHVwZGF0ZSBjeWNsZS4gVGhlIGVsZW1lbnQgYXV0b21hdGljYWxseSBjYWxscyBpbnRvIGFueSByZWdpc3RlcmVkXG4gICAqIGNvbnRyb2xsZXJzIGR1cmluZyBpdHMgbGlmZWN5Y2xlIGNhbGxiYWNrcy5cbiAgICpcbiAgICogSWYgdGhlIGVsZW1lbnQgaXMgY29ubmVjdGVkIHdoZW4gYGFkZENvbnRyb2xsZXIoKWAgaXMgY2FsbGVkLCB0aGVcbiAgICogY29udHJvbGxlcidzIGBob3N0Q29ubmVjdGVkKClgIGNhbGxiYWNrIHdpbGwgYmUgaW1tZWRpYXRlbHkgY2FsbGVkLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGFkZENvbnRyb2xsZXIoY29udHJvbGxlcjogU2JiUmVhY3RpdmVDb250cm9sbGVyKTogdm9pZCB7XG4gICAgc3VwZXIuYWRkQ29udHJvbGxlcihjb250cm9sbGVyKTtcbiAgICAodGhpcy5fY29udHJvbGxlcnMgPz89IG5ldyBTZXQoKSkuYWRkKGNvbnRyb2xsZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgYSBgUmVhY3RpdmVDb250cm9sbGVyYCBmcm9tIHRoZSBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHJlbW92ZUNvbnRyb2xsZXIoY29udHJvbGxlcjogU2JiUmVhY3RpdmVDb250cm9sbGVyKTogdm9pZCB7XG4gICAgc3VwZXIucmVtb3ZlQ29udHJvbGxlcihjb250cm9sbGVyKTtcbiAgICB0aGlzLl9jb250cm9sbGVycz8uZGVsZXRlKGNvbnRyb2xsZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcXVlc3RzIGFuIHVwZGF0ZSB3aGljaCBpcyBwcm9jZXNzZWQgYXN5bmNocm9ub3VzbHkuIFRoaXMgc2hvdWxkIGJlIGNhbGxlZFxuICAgKiB3aGVuIGFuIGVsZW1lbnQgc2hvdWxkIHVwZGF0ZSBiYXNlZCBvbiBzb21lIHN0YXRlIG5vdCB0cmlnZ2VyZWQgYnkgc2V0dGluZ1xuICAgKiBhIHJlYWN0aXZlIHByb3BlcnR5LiBJbiB0aGlzIGNhc2UsIHBhc3Mgbm8gYXJndW1lbnRzLiBJdCBzaG91bGQgYWxzbyBiZVxuICAgKiBjYWxsZWQgd2hlbiBtYW51YWxseSBpbXBsZW1lbnRpbmcgYSBwcm9wZXJ0eSBzZXR0ZXIuIEluIHRoaXMgY2FzZSwgcGFzcyB0aGVcbiAgICogcHJvcGVydHkgYG5hbWVgIGFuZCBgb2xkVmFsdWVgIHRvIGVuc3VyZSB0aGF0IGFueSBjb25maWd1cmVkIHByb3BlcnR5XG4gICAqIG9wdGlvbnMgYXJlIGhvbm9yZWQuXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lIG5hbWUgb2YgcmVxdWVzdGluZyBwcm9wZXJ0eVxuICAgKiBAcGFyYW0gb2xkVmFsdWUgb2xkIHZhbHVlIG9mIHJlcXVlc3RpbmcgcHJvcGVydHlcbiAgICogQHBhcmFtIG9wdGlvbnMgcHJvcGVydHkgb3B0aW9ucyB0byB1c2UgaW5zdGVhZCBvZiB0aGUgcHJldmlvdXNseVxuICAgKiAgICAgY29uZmlndXJlZCBvcHRpb25zXG4gICAqIEBwYXJhbSB1c2VOZXdWYWx1ZSBpZiB0cnVlLCB0aGUgbmV3VmFsdWUgYXJndW1lbnQgaXMgdXNlZCBpbnN0ZWFkIG9mXG4gICAqICAgICByZWFkaW5nIHRoZSBwcm9wZXJ0eSB2YWx1ZS4gVGhpcyBpcyBpbXBvcnRhbnQgdG8gdXNlIGlmIHRoZSByZWFjdGl2ZVxuICAgKiAgICAgcHJvcGVydHkgaXMgYSBzdGFuZGFyZCBwcml2YXRlIGFjY2Vzc29yLCBhcyBvcHBvc2VkIHRvIGEgcGxhaW5cbiAgICogICAgIHByb3BlcnR5LCBzaW5jZSBwcml2YXRlIG1lbWJlcnMgY2FuJ3QgYmUgZHluYW1pY2FsbHkgcmVhZCBieSBuYW1lLlxuICAgKiBAcGFyYW0gbmV3VmFsdWUgdGhlIG5ldyB2YWx1ZSBvZiB0aGUgcHJvcGVydHkuIFRoaXMgaXMgb25seSB1c2VkIGlmXG4gICAqICAgICBgdXNlTmV3VmFsdWVgIGlzIHRydWUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVxdWVzdFVwZGF0ZShcbiAgICBuYW1lPzogUHJvcGVydHlLZXksXG4gICAgb2xkVmFsdWU/OiB1bmtub3duLFxuICAgIG9wdGlvbnM/OiBQcm9wZXJ0eURlY2xhcmF0aW9uLFxuICAgIHVzZU5ld1ZhbHVlPzogYm9vbGVhbixcbiAgICBuZXdWYWx1ZT86IHVua25vd24sXG4gICk6IHZvaWQge1xuICAgIHN1cGVyLnJlcXVlc3RVcGRhdGUobmFtZSwgb2xkVmFsdWUsIG9wdGlvbnMsIHVzZU5ld1ZhbHVlLCBuZXdWYWx1ZSk7XG4gICAgaWYgKG5hbWUpIHtcbiAgICAgIGNvbnN0IHZhbHVlczogU2JiUHJvcGVydHlWYWx1ZXMgPSB7XG4gICAgICAgIG9sZFZhbHVlLFxuICAgICAgICB2YWx1ZTogdXNlTmV3VmFsdWUgPyBuZXdWYWx1ZSA6IHRoaXNbbmFtZSBhcyBrZXlvZiB0aGlzXSxcbiAgICAgIH07XG4gICAgICB0aGlzLl9jb250cm9sbGVycz8uZm9yRWFjaCgoY29udHJvbGxlcikgPT5cbiAgICAgICAgY29udHJvbGxlci5ob3N0UHJvcGVydHlVcGRhdGU/LihuYW1lLCB2YWx1ZXMsIG9wdGlvbnMpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgdXBkYXRlKGNoYW5nZWRQcm9wZXJ0aWVzOiBQcm9wZXJ0eVZhbHVlczx0aGlzPik6IHZvaWQge1xuICAgIC8vIFdoZW4gaHlkcmF0aW9uIGlzIG5lZWRlZCwgd2Ugd2FpdCB0aGUgaHlkcmF0aW9uIHByb2Nlc3MgdG8gZmluaXNoLCB3aGljaCBpcyBwYXRjaGVkXG4gICAgLy8gaW50byB0aGUgdXBkYXRlIG1ldGhvZCBvZiB0aGUgTGl0RWxlbWVudCBiYXNlIGNsYXNzLlxuICAgIHN1cGVyLnVwZGF0ZShjaGFuZ2VkUHJvcGVydGllcyk7XG5cbiAgICBpZiAodGhpcy5faHlkcmF0aW9uUmVxdWlyZWQpIHtcbiAgICAgIHRoaXMuX2h5ZHJhdGlvblJlcXVpcmVkID0gZmFsc2U7XG4gICAgICB0aGlzLl9yZXNvbHZlSHlkcmF0aW9uKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCB0b2dnbGVTdGF0ZSh2YWx1ZTogc3RyaW5nLCBmb3JjZT86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoZm9yY2UgfHwgKGZvcmNlICE9PSBmYWxzZSAmJiAhdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmhhcyh2YWx1ZSkpKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZSh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2xvdGNoYW5nZUhhbmRsZXIoZXZlbnQ6IEV2ZW50LCBzbG90OiBIVE1MU2xvdEVsZW1lbnQpOiB2b2lkIHtcbiAgICBjb25zdCByZXNvbHZlZFNsb3QgPSB0aGlzLnNoYWRvd1Jvb3QhLmNvbnRhaW5zKHNsb3QpXG4gICAgICA/IHNsb3RcbiAgICAgIDogZXZlbnRcbiAgICAgICAgICAuY29tcG9zZWRQYXRoKClcbiAgICAgICAgICAuZmluZChcbiAgICAgICAgICAgIChlbCk6IGVsIGlzIEhUTUxTbG90RWxlbWVudCA9PlxuICAgICAgICAgICAgICBlbCBpbnN0YW5jZW9mIEhUTUxTbG90RWxlbWVudCAmJiB0aGlzLnNoYWRvd1Jvb3QhLmNvbnRhaW5zKGVsKSxcbiAgICAgICAgICApO1xuICAgIGlmIChyZXNvbHZlZFNsb3QpIHtcbiAgICAgIHRoaXMuX2hhbmRsZVNsb3RDaGFuZ2VGb3JTbG90dGVkU3RhdGUocmVzb2x2ZWRTbG90KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVTbG90Q2hhbmdlRm9yU2xvdHRlZFN0YXRlKHNsb3Q6IEhUTUxTbG90RWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMuX3VwZGF0ZVNsb3R0ZWRTdGF0ZShzbG90KTtcbiAgICBpZiAoIXNsb3QubmFtZSkge1xuICAgICAgdGhpcy5fb2JzZXJ2ZVRleHROb2Rlc0luU2xvdChzbG90KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVTbG90dGVkU3RhdGUoc2xvdDogSFRNTFNsb3RFbGVtZW50KTogdm9pZCB7XG4gICAgY29uc3Qgc3RhdGVOYW1lID0gc2xvdC5uYW1lID8gYHNsb3R0ZWQtJHtzbG90Lm5hbWV9YCA6ICdzbG90dGVkJztcbiAgICBjb25zdCBoYXNTbG90dGVkQ29udGVudCA9IHRoaXMuX2hhc1Nsb3R0ZWRDb250ZW50KHNsb3QpO1xuICAgIGlmIChoYXNTbG90dGVkQ29udGVudCAmJiAhdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmhhcyhzdGF0ZU5hbWUpKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuYWRkKHN0YXRlTmFtZSk7XG4gICAgICAvKiogQGludGVybmFsICovXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IFNiYlNsb3R0ZWRDaGFuZ2VFdmVudChzbG90KSk7XG4gICAgfSBlbHNlIGlmICghaGFzU2xvdHRlZENvbnRlbnQgJiYgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmhhcyhzdGF0ZU5hbWUpKSB7XG4gICAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKHN0YXRlTmFtZSk7XG4gICAgICAvKiogQGludGVybmFsICovXG4gICAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IFNiYlNsb3R0ZWRDaGFuZ2VFdmVudChzbG90KSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb2JzZXJ2ZVRleHROb2Rlc0luU2xvdChzbG90OiBIVE1MU2xvdEVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLl90ZXh0T2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKTtcbiAgICAvLyBPbmx5IGNyZWF0ZSB0aGUgTXV0YXRpb25PYnNlcnZlciB3aGVuIGl0IGlzIGFjdHVhbGx5IG5lZWRlZCB0byBvcHRpbWl6ZSBwZXJmb3JtYW5jZS5cbiAgICB0aGlzLl90ZXh0T2JzZXJ2ZXIgPz89IG5ldyBNdXRhdGlvbk9ic2VydmVyKCgpID0+IHtcbiAgICAgIGNvbnN0IHNsb3QgPSB0aGlzLnNoYWRvd1Jvb3QhLnF1ZXJ5U2VsZWN0b3I8SFRNTFNsb3RFbGVtZW50Pignc2xvdDpub3QoW25hbWVdKScpO1xuICAgICAgaWYgKHNsb3QpIHtcbiAgICAgICAgdGhpcy5fdXBkYXRlU2xvdHRlZFN0YXRlKHNsb3QpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fdGV4dE9ic2VydmVyIS5kaXNjb25uZWN0KCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgLy8gVGV4dCBub2RlcyBjYW4gYmUgZW1wdHkgYW5kIGZpbGxlZCBsYXRlciAob3IgdmljZSB2ZXJzYSkuXG4gICAgLy8gRmlsbGluZyBhbiBleGlzdGluZyBub2RlIGxhdGVyIHdvdWxkIG5vdCB0cmlnZ2VyIGFub3RoZXIgc2xvdGNoYW5nZSBldmVudC5cbiAgICAvLyBUaGVyZWZvcmUsIHdlIG5lZWQgdG8gb2JzZXJ2ZSB0ZXh0IG5vZGVzIGFuZCBjaGVjayBpZiB0aGV5IGJlY29tZSBmaWxsZWQgb3IgZW1wdHkuXG4gICAgLy8gVGhpcyBpcyBvbmx5IG5lZWRlZCBmb3IgdGhlIHVubmFtZWQgc2xvdCBhcyBmb3IgZXZlcnkgb3RoZXIgdGhlcmUgd291bGRcbiAgICAvLyBiZSBhIHRhZyB3aGljaCB0cmlnZ2VycyB0aGUgc2xvdCBjaGFuZ2UgZXZlbnQuXG4gICAgLy8gVGhlIG1haW4gcmVhc29uIGlzIHRoYXQgQW5ndWxhciBjcmVhdGVzIGVtcHR5IHRleHQgbm9kZXMgYW5kIGZpbGxzIHRoZW0gbGF0ZXIuXG4gICAgc2xvdFxuICAgICAgLmFzc2lnbmVkTm9kZXMoKVxuICAgICAgLmZpbHRlcigobikgPT4gbi5ub2RlVHlwZSA9PT0gbi5URVhUX05PREUpXG4gICAgICAuZm9yRWFjaCgobm9kZSkgPT4gdGhpcy5fdGV4dE9ic2VydmVyIS5vYnNlcnZlKG5vZGUsIHsgY2hhcmFjdGVyRGF0YTogdHJ1ZSB9KSk7XG4gIH1cblxuICBwcml2YXRlIF9oYXNTbG90dGVkQ29udGVudChzbG90OiBIVE1MU2xvdEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc2xvdC5uYW1lXG4gICAgICA/IHNsb3RcbiAgICAgICAgICAuYXNzaWduZWRFbGVtZW50cygpXG4gICAgICAgICAgLnNvbWUoKG5vZGUpID0+ICEobm9kZSBpbnN0YW5jZW9mIEhUTUxTbG90RWxlbWVudCkgfHwgdGhpcy5faGFzU2xvdHRlZENvbnRlbnQobm9kZSkpXG4gICAgICA6IHNsb3QuYXNzaWduZWROb2RlcygpLnNvbWUoKG5vZGUpID0+IHtcbiAgICAgICAgICByZXR1cm4gbm9kZSBpbnN0YW5jZW9mIEhUTUxTbG90RWxlbWVudFxuICAgICAgICAgICAgPyB0aGlzLl9oYXNTbG90dGVkQ29udGVudChub2RlKVxuICAgICAgICAgICAgOiBub2RlLm5vZGVUeXBlICE9PSBub2RlLlRFWFRfTk9ERSB8fCAhIW5vZGUudGV4dENvbnRlbnQ/LnRyaW0oKTtcbiAgICAgICAgfSk7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRFdmVudE1hcCB7XG4gICAgc2xvdHRlZGNoYW5nZTogU2JiU2xvdHRlZENoYW5nZUV2ZW50O1xuICB9XG4gIGludGVyZmFjZSBTaGFkb3dSb290RXZlbnRNYXAge1xuICAgIHNsb3R0ZWRjaGFuZ2U6IFNiYlNsb3R0ZWRDaGFuZ2VFdmVudDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7OztBQ21CQSxJQUFNLHlCQUNKLFlBQVksQ0FBQyxJQUFJLFNBQVMsMkJBQTJCLElBQ2pELE1BQU0sdUJBQ0ksSUFBVztDQUtuQixZQUEyQixPQUFpQjtFQUMxQyxNQUFLO0VBRG9CLEtBQUEsUUFBQTtFQUZuQixLQUFBLFdBQVc7RUFJakIsS0FBSyxNQUFNLGNBQWMsSUFBSTtFQUM3QixJQUFJLENBQUMsVUFHSCxRQUFRLFFBQU8sRUFBRyxXQUFXLEtBQUssYUFBWSxDQUFFO0NBRXBEO0NBRWdCLElBQUksT0FBYTtFQUMvQixJQUFJLEtBQUssVUFDUCxLQUFLLGFBQWEsT0FBTyxJQUFJO0VBRS9CLE9BQU8sTUFBTSxJQUFJLEtBQUs7Q0FDeEI7Q0FFZ0IsT0FBTyxPQUFhO0VBQ2xDLEtBQUssYUFBYSxPQUFPLEtBQUs7RUFDOUIsT0FBTyxNQUFNLE9BQU8sS0FBSztDQUMzQjtDQUVnQixRQUFLO0VBQ25CLEtBQUssU0FBUyxVQUFVLEtBQUssT0FBTyxLQUFLLENBQUM7Q0FDNUM7Q0FFTyxnQkFBYTtFQUNsQixLQUFLLGFBQVk7Q0FDbkI7Q0FFUSxhQUFhLE9BQWUsU0FBZ0I7RUFDbEQsS0FBSyxNQUFNLGdCQUFnQixVQUFVLFNBQVMsT0FBTztDQUN2RDtDQUVRLGVBQVk7RUFDbEIsSUFBSSxLQUFLLFVBQ1A7RUFFRixLQUFLLFdBQVc7RUFDaEIsS0FBSyxTQUFTLFVBQVUsS0FBSyxhQUFhLE9BQU8sSUFBSSxDQUFDO0NBQ3hEO0lBRUY7QUFFTixJQUFJLENBQUMsVUFBVTtDQUViLElBQUksU0FBUztDQUNiLE1BQU0sZUFBZSxXQUNuQixPQUFPLFlBQVksU0FDbEIsa0JBQWtCLFVBQ2YsZ0JBQ007RUFDSixNQUFNLElBQUksTUFBTSw4REFBOEQ7Q0FDaEYsR0FBRTtDQUNSLE1BQU0sa0JBQXdDO0VBQUUsWUFBWTtFQUFNLGlCQUFpQixD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
@@ -50,4 +50,4 @@ var SbbErrorElement = class extends SbbNegativeMixin(SbbElement) {
50
50
  //#endregion
51
51
  export { SbbErrorElement as t };
52
52
 
53
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LVdDa2l3TTdfLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9mb3JtLWZpZWxkL2Vycm9yL2Vycm9yLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Zvcm0tZmllbGQvZXJyb3IvZXJyb3IuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1fc2JiLWVycm9yLWhlaWdodDogY2FsYyh2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KSAqIDFlbSk7XG5cbiAgLy8gT3ZlcnJpZGVzIHNiYiBpY29uXG4gIC0tc2JiLWljb24tc3ZnLXdpZHRoOiB2YXIoLS1zYmItZXJyb3ItaWNvbi1zaXplKTtcbiAgLS1zYmItaWNvbi1zdmctaGVpZ2h0OiB2YXIoLS1zYmItZXJyb3ItaWNvbi1zaXplKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgY29sb3I6IHZhcigtLXNiYi1lcnJvci1jb2xvcik7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLV9zYmItZXJyb3ItaGVpZ2h0KTtcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItZXJyb3ItZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG5cbiAgQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICAtLXNiYi1lcnJvci1jb2xvcjogTGlua1RleHQgIWltcG9ydGFudDtcbiAgfVxufVxuXG46aG9zdChbbmVnYXRpdmVdKSB7XG4gIC0tc2JiLWVycm9yLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItcmVkODUpO1xufVxuXG4uZXJyb3JfX2ljb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IHZhcigtLV9zYmItZXJyb3ItaGVpZ2h0KTtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KTtcbn1cblxuLmVycm9yLWNvbnRlbnQge1xuICAvLyBGaXggZm9yIGxpbmUtaGVpZ2h0IHRha2luZyBtb3JlIHRoYW4gcmVzZXJ2ZWQgc3BhY2VcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG59XG5cbi5lcnJvcl9faWNvbi1zdmcge1xuICBzdHJva2U6IGN1cnJlbnRjb2xvcjtcbiAgaGVpZ2h0OiB2YXIoLS1fc2JiLWVycm9yLWhlaWdodCk7XG59XG4iLCJpbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCBodG1sLCB0eXBlIFRlbXBsYXRlUmVzdWx0LCB1bnNhZmVDU1MgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyBTYmJFbGVtZW50LCBTYmJOZWdhdGl2ZU1peGluIH0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2Vycm9yLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhbiBlcnJvciBtZXNzYWdlIGluIHRoZSBgc2JiLWZvcm0tZmllbGRgLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoaXMgc2xvdCB0byBkaXNwbGF5IHRoZSBlcnJvciBtZXNzYWdlLlxuICogQHNsb3QgaWNvbiAtIFVzZSB0aGlzIHNsb3QgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgZXJyb3IgaWNvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYkVycm9yRWxlbWVudCBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oU2JiRWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLWVycm9yJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3Vuc2FmZUNTUyhzdHlsZSldO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIGNvbnN0IGZvcm1GaWVsZCA9IHRoaXMuY2xvc2VzdD8uKCdzYmItZm9ybS1maWVsZCcpO1xuICAgIGlmIChmb3JtRmllbGQpIHtcbiAgICAgIHRoaXMubmVnYXRpdmUgPSBmb3JtRmllbGQuaGFzQXR0cmlidXRlKCduZWdhdGl2ZScpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvcl9faWNvblwiPlxuICAgICAgICA8c2xvdCBuYW1lPVwiaWNvblwiPlxuICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgIGNsYXNzPVwiZXJyb3JfX2ljb24tc3ZnXCJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICB3aWR0aD1cIjE0XCJcbiAgICAgICAgICAgIGhlaWdodD1cIjE0XCJcbiAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTQgMTRcIlxuICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGxpbmUgeDE9XCI3XCIgeTE9XCIzXCIgeDI9XCI3XCIgeTI9XCI4LjVcIiAvPlxuICAgICAgICAgICAgPGxpbmUgeDE9XCI3XCIgeTE9XCIxMFwiIHgyPVwiN1wiIHkyPVwiMTFcIiAvPlxuICAgICAgICAgICAgPGNpcmNsZSBjeD1cIjdcIiBjeT1cIjdcIiByPVwiNi41XCIgLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9zbG90PlxuICAgICAgPC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1jb250ZW50XCI+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZXJyb3InOiBTYmJFcnJvckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FDWUEsSUFBYSxrQkFBYixjQUFxQyxpQkFBaUIsVUFBVSxFQUFDOztFQUMvQixLQUFBLGNBQXNCO0NBQVk7O0VBQzNDLEtBQUEsU0FBeUIsQ0FBQyxVQUFVLGFBQUssQ0FBQztDQUFFO0NBRW5ELG9CQUFpQjtFQUMvQixNQUFNLGtCQUFpQjtFQUN2QixNQUFNLFlBQVksS0FBSyxVQUFVLGdCQUFnQjtFQUNqRCxJQUFJLFdBQ0YsS0FBSyxXQUFXLFVBQVUsYUFBYSxVQUFVO0NBRXJEO0NBRW1CLFNBQU07RUFDdkIsT0FBTyxJQUFJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBc0JiIn0=
53
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuY29tcG9uZW50LUJwN3p0dlFCLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9mb3JtLWZpZWxkL2Vycm9yL2Vycm9yLnNjc3M/aW5saW5lIiwiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2Zvcm0tZmllbGQvZXJyb3IvZXJyb3IuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbjpob3N0IHtcbiAgLS1fc2JiLWVycm9yLWhlaWdodDogY2FsYyh2YXIoLS1zYmItdHlwby1saW5lLWhlaWdodC10ZXh0KSAqIDFlbSk7XG5cbiAgLy8gT3ZlcnJpZGVzIHNiYiBpY29uXG4gIC0tc2JiLWljb24tc3ZnLXdpZHRoOiB2YXIoLS1zYmItZXJyb3ItaWNvbi1zaXplKTtcbiAgLS1zYmItaWNvbi1zdmctaGVpZ2h0OiB2YXIoLS1zYmItZXJyb3ItaWNvbi1zaXplKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgY29sb3I6IHZhcigtLXNiYi1lcnJvci1jb2xvcik7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLV9zYmItZXJyb3ItaGVpZ2h0KTtcbiAgZm9udC1zaXplOiB2YXIoLS1zYmItZXJyb3ItZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xuICBsZXR0ZXItc3BhY2luZzogdmFyKC0tc2JiLXR5cG8tbGV0dGVyLXNwYWNpbmctdGV4dCk7XG5cbiAgQG1lZGlhIChmb3JjZWQtY29sb3JzOiBhY3RpdmUpIHtcbiAgICAtLXNiYi1lcnJvci1jb2xvcjogTGlua1RleHQgIWltcG9ydGFudDtcbiAgfVxufVxuXG46aG9zdChbbmVnYXRpdmVdKSB7XG4gIC0tc2JiLWVycm9yLWNvbG9yOiB2YXIoLS1zYmItY29sb3ItcmVkODUpO1xufVxuXG4uZXJyb3JfX2ljb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IHZhcigtLV9zYmItZXJyb3ItaGVpZ2h0KTtcbiAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLXNiYi1zcGFjaW5nLWZpeGVkLTF4KTtcbn1cblxuLmVycm9yLWNvbnRlbnQge1xuICAvLyBGaXggZm9yIGxpbmUtaGVpZ2h0IHRha2luZyBtb3JlIHRoYW4gcmVzZXJ2ZWQgc3BhY2VcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXNiYi10eXBvLWxpbmUtaGVpZ2h0LXRleHQpO1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG59XG5cbi5lcnJvcl9faWNvbi1zdmcge1xuICBzdHJva2U6IGN1cnJlbnRjb2xvcjtcbiAgaGVpZ2h0OiB2YXIoLS1fc2JiLWVycm9yLWhlaWdodCk7XG59XG4iLCJpbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCBodG1sLCB0eXBlIFRlbXBsYXRlUmVzdWx0LCB1bnNhZmVDU1MgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyBTYmJFbGVtZW50LCBTYmJOZWdhdGl2ZU1peGluIH0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2Vycm9yLnNjc3M/aW5saW5lJztcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhbiBlcnJvciBtZXNzYWdlIGluIHRoZSBgc2JiLWZvcm0tZmllbGRgLlxuICpcbiAqIEBzbG90IC0gVXNlIHRoaXMgc2xvdCB0byBkaXNwbGF5IHRoZSBlcnJvciBtZXNzYWdlLlxuICogQHNsb3QgaWNvbiAtIFVzZSB0aGlzIHNsb3QgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgZXJyb3IgaWNvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIFNiYkVycm9yRWxlbWVudCBleHRlbmRzIFNiYk5lZ2F0aXZlTWl4aW4oU2JiRWxlbWVudCkge1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IGVsZW1lbnROYW1lOiBzdHJpbmcgPSAnc2JiLWVycm9yJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3Vuc2FmZUNTUyhzdHlsZSldO1xuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIGNvbnN0IGZvcm1GaWVsZCA9IHRoaXMuY2xvc2VzdD8uKCdzYmItZm9ybS1maWVsZCcpO1xuICAgIGlmIChmb3JtRmllbGQpIHtcbiAgICAgIHRoaXMubmVnYXRpdmUgPSBmb3JtRmllbGQuaGFzQXR0cmlidXRlKCduZWdhdGl2ZScpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXIoKTogVGVtcGxhdGVSZXN1bHQge1xuICAgIHJldHVybiBodG1sYFxuICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvcl9faWNvblwiPlxuICAgICAgICA8c2xvdCBuYW1lPVwiaWNvblwiPlxuICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgIGNsYXNzPVwiZXJyb3JfX2ljb24tc3ZnXCJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICB3aWR0aD1cIjE0XCJcbiAgICAgICAgICAgIGhlaWdodD1cIjE0XCJcbiAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTQgMTRcIlxuICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGxpbmUgeDE9XCI3XCIgeTE9XCIzXCIgeDI9XCI3XCIgeTI9XCI4LjVcIiAvPlxuICAgICAgICAgICAgPGxpbmUgeDE9XCI3XCIgeTE9XCIxMFwiIHgyPVwiN1wiIHkyPVwiMTFcIiAvPlxuICAgICAgICAgICAgPGNpcmNsZSBjeD1cIjdcIiBjeT1cIjdcIiByPVwiNi41XCIgLz5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9zbG90PlxuICAgICAgPC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1jb250ZW50XCI+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZXJyb3InOiBTYmJFcnJvckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FDWUEsSUFBYSxrQkFBYixjQUFxQyxpQkFBaUIsVUFBVSxFQUFDOztFQUMvQixLQUFBLGNBQXNCO0NBQVk7O0VBQzNDLEtBQUEsU0FBeUIsQ0FBQyxVQUFVLGFBQUssQ0FBQztDQUFFO0NBRW5ELG9CQUFpQjtFQUMvQixNQUFNLGtCQUFpQjtFQUN2QixNQUFNLFlBQVksS0FBSyxVQUFVLGdCQUFnQjtFQUNqRCxJQUFJLFdBQ0YsS0FBSyxXQUFXLFVBQVUsYUFBYSxVQUFVO0NBRXJEO0NBRW1CLFNBQU07RUFDdkIsT0FBTyxJQUFJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBc0JiIn0=
@@ -1,2 +1,2 @@
1
- import { t as SbbExpansionPanelElement } from "../../expansion-panel.component-DcFrWkIt.js";
1
+ import { t as SbbExpansionPanelElement } from "../../expansion-panel.component-BnbRiLrk.js";
2
2
  export { SbbExpansionPanelElement };
@@ -1,2 +1,2 @@
1
- import { t as SbbExpansionPanelContentElement } from "../../expansion-panel-content.component-Bs0pYNJO.js";
1
+ import { t as SbbExpansionPanelContentElement } from "../../expansion-panel-content.component-CKhGtjji.js";
2
2
  export { SbbExpansionPanelContentElement };
@@ -1,2 +1,2 @@
1
- import { t as SbbExpansionPanelHeaderElement } from "../../expansion-panel-header.component-gg5A_7Pz.js";
1
+ import { t as SbbExpansionPanelHeaderElement } from "../../expansion-panel-header.component-Do3pLbzs.js";
2
2
  export { SbbExpansionPanelHeaderElement };
@@ -39,4 +39,4 @@ var SbbExpansionPanelContentElement = class extends SbbElement {
39
39
  //#endregion
40
40
  export { SbbExpansionPanelContentElement as t };
41
41
 
42
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQuY29tcG9uZW50LUJzMHBZTkpPLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9leHBhbnNpb24tcGFuZWwvZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQvZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZXhwYW5zaW9uLXBhbmVsL2V4cGFuc2lvbi1wYW5lbC1jb250ZW50L2V4cGFuc2lvbi1wYW5lbC1jb250ZW50LmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1jb250ZW50LXBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoXG4gICAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQtcGFkZGluZy1pbmxpbmVcbiAgKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1ibG9jay1lbmQ6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtY29udGVudC1wYWRkaW5nLWJsb2NrLWVuZCk7XG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQtcGFkZGluZy1pbmxpbmUtc3RhcnQpXG4gICAgdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1jb250ZW50LXBhZGRpbmctaW5saW5lKTtcbn1cblxuOmhvc3QoOnN0YXRlKHNpemUtcykpIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQtcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtY29udGVudC1wYWRkaW5nLWlubGluZS1zKTtcbn1cblxuOmhvc3QoOnN0YXRlKHNpemUtbCkpIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQtcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtY29udGVudC1wYWRkaW5nLWlubGluZS1sKTtcbn1cblxuOmhvc3QoOm5vdCg6c3RhdGUoc2l6ZS1zKSwgOnN0YXRlKHNpemUtbCkpKSB7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1jb250ZW50LXBhZGRpbmctaW5saW5lOiB2YXIoXG4gICAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQtcGFkZGluZy1pbmxpbmUtZGVmYXVsdFxuICApO1xufVxuXG46aG9zdCg6c3RhdGUoaWNvbi1zcGFjZSkpIHtcbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIC8vIFRoZSBzcGFjZSB0YWtlbiBieSB0aGUgaWNvbiBpbiB0aGUgc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgbXVzdCBiZSBjb25zaWRlcmVkIGhlcmUgdG8gY29ycmVjdGx5IGNhbGN1bGF0ZSB0aGUgcGFkZGluZyB2YWx1ZTtcbiAgICAvLyB0aGlzIGlzIHRoZSBzdW0gb2YgdGhlIGRlZmF1bHQgcGFkZGluZywgcGx1cyB0aGUgaWNvbiBzcGFjZSBwbHVzIHRoZSBnYXAgYmV0d2VlbiB0aGUgaWNvbiBhbmQgdGhlIGhlYWRlciB0aXRsZS5cbiAgICAtLXNiYi1leHBhbnNpb24tcGFuZWwtY29udGVudC1wYWRkaW5nLWlubGluZS1zdGFydDogY2FsYyhcbiAgICAgIHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtY29udGVudC1wYWRkaW5nLWlubGluZSkgKyB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWljb24tc2l6ZSkgK1xuICAgICAgICB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLXRpdGxlLWdhcClcbiAgICApO1xuICB9XG59XG5cbjo6c2xvdHRlZCg6aXMocCwgc2JiLXRpdGxlKTpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XG59XG4iLCJpbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCBodG1sLCB0eXBlIFRlbXBsYXRlUmVzdWx0LCB1bnNhZmVDU1MgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyBTYmJFbGVtZW50LCBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYkV4cGFuc2lvblBhbmVsRWxlbWVudCB9IGZyb20gJy4uL2V4cGFuc2lvbi1wYW5lbC9leHBhbnNpb24tcGFuZWwuY29tcG9uZW50LnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIEl0IGNhbiBiZSB1c2VkIGFzIGEgY29udGFpbmVyIGZvciB0aGUgY29udGVudCBvZiB0aGUgYHNiYi1leHBhbnNpb24tcGFuZWxgIGNvbXBvbmVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBgc2JiLWV4cGFuc2lvbi1wYW5lbGAuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJFeHBhbnNpb25QYW5lbENvbnRlbnRFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAncmVnaW9uJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3Vuc2FmZUNTUyhzdHlsZSldO1xuXG4gIHByaXZhdGUgX3ByZXZpb3VzU2l6ZTogU2JiRXhwYW5zaW9uUGFuZWxFbGVtZW50WydzaXplJ10gPSBudWxsO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyKHRoaXMsICgpID0+IHRoaXMuY2xvc2VzdCgnc2JiLWV4cGFuc2lvbi1wYW5lbCcpLCB7XG4gICAgICAgIHNpemU6IChzKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuX3ByZXZpb3VzU2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZShgc2l6ZS0ke3RoaXMuX3ByZXZpb3VzU2l6ZX1gKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5fcHJldmlvdXNTaXplID0gcy5zaXplO1xuICAgICAgICAgIGlmICh0aGlzLl9wcmV2aW91c1NpemUpIHtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoYHNpemUtJHt0aGlzLl9wcmV2aW91c1NpemV9YCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuc2xvdCB8fD0gJ2NvbnRlbnQnO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgPHNsb3Q+PC9zbG90PmA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1leHBhbnNpb24tcGFuZWwtY29udGVudCc6IFNiYkV4cGFuc2lvblBhbmVsQ29udGVudEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUNZQSxJQUFhLGtDQUFiLGNBQXFELFdBQVU7O0VBQzdCLEtBQUEsY0FBc0I7Q0FBOEI7O0VBQ3BELEtBQUEsT0FBTztDQUFTOztFQUN6QixLQUFBLFNBQXlCLENBQUMsVUFBVSwrQkFBSyxDQUFDO0NBQUU7Q0FJbkUsY0FBQTtFQUNFLE1BQUs7RUFIQyxLQUFBLGdCQUFrRDtFQUl4RCxLQUFLLGNBQ0gsSUFBSSw2QkFBNkIsWUFBWSxLQUFLLFFBQVEscUJBQXFCLEdBQUcsRUFDaEYsT0FBTyxNQUFLO0dBQ1YsSUFBSSxLQUFLLGVBQ1AsS0FBSyxVQUFVLE9BQU8sT0FBTyxRQUFRLEtBQUssZUFBZTtHQUUzRCxLQUFLLGdCQUFnQixFQUFFO0dBQ3ZCLElBQUksS0FBSyxlQUNQLEtBQUssVUFBVSxPQUFPLElBQUksUUFBUSxLQUFLLGVBQWU7RUFFMUQsRUFBQSxDQUNELENBQUM7Q0FFTjtDQUVnQixvQkFBaUI7RUFDL0IsTUFBTSxrQkFBaUI7RUFDdkIsS0FBSyxTQUFTO0NBQ2hCO0NBRW1CLFNBQU07RUFDdkIsT0FBTyxJQUFJO0NBQ2IifQ==
42
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQuY29tcG9uZW50LUNLaEd0amppLmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50cy9leHBhbnNpb24tcGFuZWwvZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQvZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZXhwYW5zaW9uLXBhbmVsL2V4cGFuc2lvbi1wYW5lbC1jb250ZW50L2V4cGFuc2lvbi1wYW5lbC1jb250ZW50LmNvbXBvbmVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJAdXNlICcuLi8uLi9jb3JlL3N0eWxlcycgYXMgc2JiO1xuXG46aG9zdCB7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1jb250ZW50LXBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoXG4gICAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQtcGFkZGluZy1pbmxpbmVcbiAgKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1ibG9jay1lbmQ6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtY29udGVudC1wYWRkaW5nLWJsb2NrLWVuZCk7XG4gIHBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQtcGFkZGluZy1pbmxpbmUtc3RhcnQpXG4gICAgdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1jb250ZW50LXBhZGRpbmctaW5saW5lKTtcbn1cblxuOmhvc3QoOnN0YXRlKHNpemUtcykpIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQtcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtY29udGVudC1wYWRkaW5nLWlubGluZS1zKTtcbn1cblxuOmhvc3QoOnN0YXRlKHNpemUtbCkpIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQtcGFkZGluZy1pbmxpbmU6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtY29udGVudC1wYWRkaW5nLWlubGluZS1sKTtcbn1cblxuOmhvc3QoOm5vdCg6c3RhdGUoc2l6ZS1zKSwgOnN0YXRlKHNpemUtbCkpKSB7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1jb250ZW50LXBhZGRpbmctaW5saW5lOiB2YXIoXG4gICAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQtcGFkZGluZy1pbmxpbmUtZGVmYXVsdFxuICApO1xufVxuXG46aG9zdCg6c3RhdGUoaWNvbi1zcGFjZSkpIHtcbiAgQGluY2x1ZGUgc2JiLm1xKCRmcm9tOiBzbWFsbCkge1xuICAgIC8vIFRoZSBzcGFjZSB0YWtlbiBieSB0aGUgaWNvbiBpbiB0aGUgc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIgbXVzdCBiZSBjb25zaWRlcmVkIGhlcmUgdG8gY29ycmVjdGx5IGNhbGN1bGF0ZSB0aGUgcGFkZGluZyB2YWx1ZTtcbiAgICAvLyB0aGlzIGlzIHRoZSBzdW0gb2YgdGhlIGRlZmF1bHQgcGFkZGluZywgcGx1cyB0aGUgaWNvbiBzcGFjZSBwbHVzIHRoZSBnYXAgYmV0d2VlbiB0aGUgaWNvbiBhbmQgdGhlIGhlYWRlciB0aXRsZS5cbiAgICAtLXNiYi1leHBhbnNpb24tcGFuZWwtY29udGVudC1wYWRkaW5nLWlubGluZS1zdGFydDogY2FsYyhcbiAgICAgIHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtY29udGVudC1wYWRkaW5nLWlubGluZSkgKyB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWljb24tc2l6ZSkgK1xuICAgICAgICB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLXRpdGxlLWdhcClcbiAgICApO1xuICB9XG59XG5cbjo6c2xvdHRlZCg6aXMocCwgc2JiLXRpdGxlKTpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XG59XG4iLCJpbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCBodG1sLCB0eXBlIFRlbXBsYXRlUmVzdWx0LCB1bnNhZmVDU1MgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQgeyBTYmJFbGVtZW50LCBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyIH0gZnJvbSAnLi4vLi4vY29yZS50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYkV4cGFuc2lvblBhbmVsRWxlbWVudCB9IGZyb20gJy4uL2V4cGFuc2lvbi1wYW5lbC9leHBhbnNpb24tcGFuZWwuY29tcG9uZW50LnRzJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJy4vZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIEl0IGNhbiBiZSB1c2VkIGFzIGEgY29udGFpbmVyIGZvciB0aGUgY29udGVudCBvZiB0aGUgYHNiYi1leHBhbnNpb24tcGFuZWxgIGNvbXBvbmVudC5cbiAqXG4gKiBAc2xvdCAtIFVzZSB0aGUgdW5uYW1lZCBzbG90IHRvIGFkZCBjb250ZW50IHRvIHRoZSBgc2JiLWV4cGFuc2lvbi1wYW5lbGAuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJFeHBhbnNpb25QYW5lbENvbnRlbnRFbGVtZW50IGV4dGVuZHMgU2JiRWxlbWVudCB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnQnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHJlYWRvbmx5IHJvbGUgPSAncmVnaW9uJztcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSBzdHlsZXM6IENTU1Jlc3VsdEdyb3VwID0gW3Vuc2FmZUNTUyhzdHlsZSldO1xuXG4gIHByaXZhdGUgX3ByZXZpb3VzU2l6ZTogU2JiRXhwYW5zaW9uUGFuZWxFbGVtZW50WydzaXplJ10gPSBudWxsO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyKHRoaXMsICgpID0+IHRoaXMuY2xvc2VzdCgnc2JiLWV4cGFuc2lvbi1wYW5lbCcpLCB7XG4gICAgICAgIHNpemU6IChzKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuX3ByZXZpb3VzU2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZShgc2l6ZS0ke3RoaXMuX3ByZXZpb3VzU2l6ZX1gKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5fcHJldmlvdXNTaXplID0gcy5zaXplO1xuICAgICAgICAgIGlmICh0aGlzLl9wcmV2aW91c1NpemUpIHtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoYHNpemUtJHt0aGlzLl9wcmV2aW91c1NpemV9YCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuc2xvdCB8fD0gJ2NvbnRlbnQnO1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgPHNsb3Q+PC9zbG90PmA7XG4gIH1cbn1cblxuZGVjbGFyZSBnbG9iYWwge1xuICBpbnRlcmZhY2UgSFRNTEVsZW1lbnRUYWdOYW1lTWFwIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uXG4gICAgJ3NiYi1leHBhbnNpb24tcGFuZWwtY29udGVudCc6IFNiYkV4cGFuc2lvblBhbmVsQ29udGVudEVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUNZQSxJQUFhLGtDQUFiLGNBQXFELFdBQVU7O0VBQzdCLEtBQUEsY0FBc0I7Q0FBOEI7O0VBQ3BELEtBQUEsT0FBTztDQUFTOztFQUN6QixLQUFBLFNBQXlCLENBQUMsVUFBVSwrQkFBSyxDQUFDO0NBQUU7Q0FJbkUsY0FBQTtFQUNFLE1BQUs7RUFIQyxLQUFBLGdCQUFrRDtFQUl4RCxLQUFLLGNBQ0gsSUFBSSw2QkFBNkIsWUFBWSxLQUFLLFFBQVEscUJBQXFCLEdBQUcsRUFDaEYsT0FBTyxNQUFLO0dBQ1YsSUFBSSxLQUFLLGVBQ1AsS0FBSyxVQUFVLE9BQU8sT0FBTyxRQUFRLEtBQUssZUFBZTtHQUUzRCxLQUFLLGdCQUFnQixFQUFFO0dBQ3ZCLElBQUksS0FBSyxlQUNQLEtBQUssVUFBVSxPQUFPLElBQUksUUFBUSxLQUFLLGVBQWU7RUFFMUQsRUFBQSxDQUNELENBQUM7Q0FFTjtDQUVnQixvQkFBaUI7RUFDL0IsTUFBTSxrQkFBaUI7RUFDdkIsS0FBSyxTQUFTO0NBQ2hCO0NBRW1CLFNBQU07RUFDdkIsT0FBTyxJQUFJO0NBQ2IifQ==
@@ -80,4 +80,4 @@ var SbbExpansionPanelHeaderElement = class extends SbbDisabledTabIndexActionMixi
80
80
  //#endregion
81
81
  export { SbbExpansionPanelHeaderElement as t };
82
82
 
83
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5zaW9uLXBhbmVsLWhlYWRlci5jb21wb25lbnQtZ2c1QV83UHouanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2V4cGFuc2lvbi1wYW5lbC9leHBhbnNpb24tcGFuZWwtaGVhZGVyL2V4cGFuc2lvbi1wYW5lbC1oZWFkZXIuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZXhwYW5zaW9uLXBhbmVsL2V4cGFuc2lvbi1wYW5lbC1oZWFkZXIvZXhwYW5zaW9uLXBhbmVsLWhlYWRlci5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuOmhvc3QoOnN0YXRlKHNpemUtcykpIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1nYXA6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWdhcC1zKTtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWJsb2NrLXMpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWlubGluZS1zKTtcbn1cblxuOmhvc3QoOnN0YXRlKHNpemUtbCkpIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1nYXA6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWdhcC1sKTtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWJsb2NrLWwpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWlubGluZS1sKTtcbn1cblxuOmhvc3QoOm5vdCg6c3RhdGUoc2l6ZS1zKSwgOnN0YXRlKHNpemUtbCkpKSB7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZ2FwOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1nYXAtZGVmYXVsdCk7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItcGFkZGluZy1ibG9jazogdmFyKFxuICAgIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItcGFkZGluZy1ibG9jay1kZWZhdWx0XG4gICk7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItcGFkZGluZy1pbmxpbmU6IHZhcihcbiAgICAtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXBhZGRpbmctaW5saW5lLWRlZmF1bHRcbiAgKTtcbn1cblxuOmhvc3QoOmlzKDpkaXNhYmxlZCwgW2Rpc2FibGVkLWludGVyYWN0aXZlXSkpIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1jdXJzb3I6IHZhcigtLXNiYi1jdXJzb3ItZGVmYXVsdCk7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGV4dC1jb2xvcjogbGlnaHQtZGFyayhcbiAgICB2YXIoLS1zYmItY29sb3ItZ3Jhbml0ZSksXG4gICAgdmFyKC0tc2JiLWNvbG9yLXN0b3JtKVxuICApO1xuXG4gIEBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci10ZXh0LWNvbG9yOiBHcmF5VGV4dDtcbiAgfVxufVxuXG46aG9zdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBAaW5jbHVkZSBzYmIuZm9jdXMtb3V0bGluZTtcblxuICBvdXRsaW5lLW9mZnNldDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMXgpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWp1c3RpZnktY29udGVudCk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZ2FwKTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXBhZGRpbmctYmxvY2spXG4gICAgdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItcGFkZGluZy1pbmxpbmUpO1xuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgY3Vyc29yOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1jdXJzb3IpO1xuICBjb2xvcjogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGV4dC1jb2xvcik7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLXNiYi10eXBvLWxldHRlci1zcGFjaW5nLXRleHQpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtdGV4dCk7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcl9fdGl0bGUsXG4uc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJfX3RvZ2dsZSxcbi5zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcl9faWNvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcl9faWNvbiB7XG4gIHdpZHRoOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWljb24tc2l6ZSk7XG5cbiAgLS1zYmItaWNvbi1zdmctd2lkdGg6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtaWNvbi1zaXplKTtcbiAgLS1zYmItaWNvbi1zdmctaGVpZ2h0OiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWljb24tc2l6ZSk7XG5cbiAgOmhvc3QoOm5vdCg6c3RhdGUoc2xvdHRlZC1pY29uKSwgOnN0YXRlKGhhcy1pY29uLW5hbWUpKSkgJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJfX3RpdGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLXRpdGxlLWdhcCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLy8gQWxpZ24gd2l0aCB0b2dnbGUgaWNvblxuICBtaW4taGVpZ2h0OiB2YXIoLS1zYmItc2l6ZS1pY29uLXVpLW1lZGl1bSk7XG59XG5cbi5zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcl9fdG9nZ2xlLWljb24ge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLCB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KSk7XG5cbiAgOmhvc3QoW2FyaWEtZXhwYW5kZWRdOm5vdChbYXJpYS1leHBhbmRlZD0nZmFsc2UnXSkpICYge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICB9XG59XG4iLCJpbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCBodG1sLCBub3RoaW5nLCB0eXBlIFRlbXBsYXRlUmVzdWx0LCB1bnNhZmVDU1MgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQge1xuICBTYmJCdXR0b25CYXNlRWxlbWVudCxcbiAgU2JiRGlzYWJsZWRUYWJJbmRleEFjdGlvbk1peGluLFxuICBTYmJNZWRpYU1hdGNoZXJDb250cm9sbGVyLFxuICBTYmJNZWRpYVF1ZXJ5SG92ZXIsXG4gIFNiYlByb3BlcnR5V2F0Y2hlckNvbnRyb2xsZXIsXG4gIMm1c3RhdGVDb250cm9sbGVyLFxufSBmcm9tICcuLi8uLi9jb3JlLnRzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi8uLi9pY29uLnB1cmUudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJFeHBhbnNpb25QYW5lbEVsZW1lbnQgfSBmcm9tICcuLi9leHBhbnNpb24tcGFuZWwvZXhwYW5zaW9uLXBhbmVsLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2V4cGFuc2lvbi1wYW5lbC1oZWFkZXIuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIEl0IGFjdHMgYXMgYSBuYXRpdmUgYHN1bW1hcnlgIHRhZyBmb3IgdGhlIGBzYmItZXhwYW5zaW9uLXBhbmVsYCBjb21wb25lbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgYHNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyYC5cbiAqIEBzbG90IGljb24gLSBTbG90IHVzZWQgdG8gcmVuZGVyIHRoZSBgc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJgIGljb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJFeHBhbnNpb25QYW5lbEhlYWRlckVsZW1lbnQgZXh0ZW5kcyBTYmJEaXNhYmxlZFRhYkluZGV4QWN0aW9uTWl4aW4oXG4gIFNiYkljb25OYW1lTWl4aW4oU2JiQnV0dG9uQmFzZUVsZW1lbnQpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFt1bnNhZmVDU1Moc3R5bGUpXTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgdG9nZ2xlZXhwYW5kZWQ6ICd0b2dnbGVleHBhbmRlZCcsXG4gIH0gYXMgY29uc3Q7XG5cbiAgcHJpdmF0ZSBfbWVkaWFNYXRjaGVyID0gbmV3IFNiYk1lZGlhTWF0Y2hlckNvbnRyb2xsZXIodGhpcywge1xuICAgIFtTYmJNZWRpYVF1ZXJ5SG92ZXJdOiAobSkgPT4gKHRoaXMuX2lzSG92ZXIgPSBtKSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSBfaXNIb3ZlcjogYm9vbGVhbiA9IHRoaXMuX21lZGlhTWF0Y2hlci5tYXRjaGVzKFNiYk1lZGlhUXVlcnlIb3ZlcikgPz8gZmFsc2U7XG4gIHByaXZhdGUgX3ByZXZpb3VzU2l6ZTogU2JiRXhwYW5zaW9uUGFuZWxFbGVtZW50WydzaXplJ10gPSBudWxsO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsICgpID0+IHRoaXMuX2VtaXRFeHBhbmRlZEV2ZW50KCkpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdtb3VzZWVudGVyJywgKCkgPT4gdGhpcy5fb25Nb3VzZU1vdmVtZW50KHRydWUpKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignbW91c2VsZWF2ZScsICgpID0+IHRoaXMuX29uTW91c2VNb3ZlbWVudChmYWxzZSkpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdzbG90dGVkY2hhbmdlJywgKCkgPT4gdGhpcy5fc2V0SWNvblN0YXRlKCkpO1xuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyKHRoaXMsICgpID0+IHRoaXMuY2xvc2VzdCgnc2JiLWV4cGFuc2lvbi1wYW5lbCcpLCB7XG4gICAgICAgIHNpemU6IChzKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuX3ByZXZpb3VzU2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZShgc2l6ZS0ke3RoaXMuX3ByZXZpb3VzU2l6ZX1gKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5fcHJldmlvdXNTaXplID0gcy5zaXplO1xuICAgICAgICAgIGlmICh0aGlzLl9wcmV2aW91c1NpemUpIHtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoYHNpemUtJHt0aGlzLl9wcmV2aW91c1NpemV9YCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuc2xvdCB8fD0gJ2hlYWRlcic7XG4gIH1cblxuICBwcml2YXRlIF9lbWl0RXhwYW5kZWRFdmVudCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIC8qKiBOb3RpZmllcyB0aGF0IHRoZSBgc2JiLWV4cGFuc2lvbi1wYW5lbGAgaXMgYWJvdXQgdG8gZXhwYW5kL3Nocmluay4gKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3RvZ2dsZWV4cGFuZGVkJywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25Nb3VzZU1vdmVtZW50KHRvZ2dsZURhdGFBdHRyaWJ1dGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCBwYXJlbnQ6IFNiYkV4cGFuc2lvblBhbmVsRWxlbWVudCA9IHRoaXMuY2xvc2VzdCgnc2JiLWV4cGFuc2lvbi1wYW5lbCcpITtcbiAgICAvLyBUaGUgYHNiYi5ob3Zlci1tcWAgbG9naWMgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIHNjc3MsIGJ1dCBpdCBtdXN0IGJlIHJlcGxpY2F0ZWQgdG8gaGF2ZSB0aGUgY29ycmVjdCBiZWhhdmlvciBvbiBtb2JpbGUuXG4gICAgLy8gVE9ETzogd2l0aCBtb3JlIHN1cHBvcnQgZm9yIGxpZ2h0IERPTSBzdHlsZXMgc2V0IGZyb20gYSBjb21wb2VudCAocm9vdG5vZGUpLCB3ZSBzaG91bGQgbW92ZSB0aGlzIGludG8gc2NzcyB3aXRoIDpoYXMoOmhvdmVyKSBzZWxlY3Rvci5cbiAgICBpZiAoIXRvZ2dsZURhdGFBdHRyaWJ1dGUgfHwgKHBhcmVudCAmJiB0aGlzLl9pc0hvdmVyKSkge1xuICAgICAgybVzdGF0ZUNvbnRyb2xsZXIocGFyZW50KS50b2dnbGUoJ3RvZ2dsZS1ob3ZlcicsIHRvZ2dsZURhdGFBdHRyaWJ1dGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgOnN0YXRlKGljb24pIGlzIHVzZWQgYnkgdGhlICdzYmItZXhwYW5zaW9uLXBhbmVsJy5cbiAgICogSXQgbmVlZHMgdG8gYmUgc2V0IGJlZm9yZSB0aGUgQHNsb3RjaGFuZ2UgZXZlbnQgYnViYmxlcyB0byB0aGUgJ2V4cGFuc2lvbi1wYW5lbCdcbiAgICogYnV0IGFmdGVyIHRoZSAnU2JiU2xvdFN0YXRlQ29udHJvbGxlcicgaGFzIHJ1bi5cbiAgICovXG4gIHByaXZhdGUgX3NldEljb25TdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCdpY29uJywgISEodGhpcy5pY29uTmFtZSB8fCB0aGlzLm1hdGNoZXM/LignOnN0YXRlKGljb24pJykpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgdGhpcy5fc2V0SWNvblN0YXRlKCk7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c3BhbiBjbGFzcz1cInNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyX190aXRsZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyX19pY29uXCI+ICR7dGhpcy5yZW5kZXJJY29uU2xvdCgpfSA8L3NwYW4+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICAgICR7IXRoaXMuZGlzYWJsZWRcbiAgICAgICAgPyBodG1sYDxzcGFuIGNsYXNzPVwic2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJfX3RvZ2dsZVwiPlxuICAgICAgICAgICAgPHNiYi1pY29uXG4gICAgICAgICAgICAgIG5hbWU9XCJjaGV2cm9uLXNtYWxsLWRvd24tbWVkaXVtXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcl9fdG9nZ2xlLWljb25cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9zYmItaWNvbj5cbiAgICAgICAgICA8L3NwYW4+YFxuICAgICAgICA6IG5vdGhpbmd9XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXInOiBTYmJFeHBhbnNpb25QYW5lbEhlYWRlckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQ3FCQSxJQUFhLGlDQUFiLGNBQW9ELCtCQUNsRCxpQkFBaUIsb0JBQW9CLENBQUMsRUFDdkM7O0VBQ2lDLEtBQUEsY0FBc0I7Q0FBNkI7O0VBQzVELEtBQUEsU0FBeUIsQ0FBQyxVQUFVLDhCQUFLLENBQUM7Q0FBRTs7RUFDNUMsS0FBQSxTQUFTLEVBQzlCLGdCQUFnQixpQkFBQTtDQUNQO0NBU1gsY0FBQTtFQUNFLE1BQUs7RUFSQyxLQUFBLGdCQUFnQixJQUFJLDBCQUEwQixNQUFNLEdBQ3pELHNCQUFzQixNQUFPLEtBQUssV0FBVyxFQUFBLENBQy9DO0VBRU8sS0FBQSxXQUFvQixLQUFLLGNBQWMsUUFBUSxrQkFBa0IsS0FBSztFQUN0RSxLQUFBLGdCQUFrRDtFQUl4RCxLQUFLLG1CQUFtQixlQUFlLEtBQUssbUJBQWtCLENBQUU7RUFDaEUsS0FBSyxtQkFBbUIsb0JBQW9CLEtBQUssaUJBQWlCLElBQUksQ0FBQztFQUN2RSxLQUFLLG1CQUFtQixvQkFBb0IsS0FBSyxpQkFBaUIsS0FBSyxDQUFDO0VBQ3hFLEtBQUssbUJBQW1CLHVCQUF1QixLQUFLLGNBQWEsQ0FBRTtFQUNuRSxLQUFLLGNBQ0gsSUFBSSw2QkFBNkIsWUFBWSxLQUFLLFFBQVEscUJBQXFCLEdBQUcsRUFDaEYsT0FBTyxNQUFLO0dBQ1YsSUFBSSxLQUFLLGVBQ1AsS0FBSyxVQUFVLE9BQU8sT0FBTyxRQUFRLEtBQUssZUFBZTtHQUUzRCxLQUFLLGdCQUFnQixFQUFFO0dBQ3ZCLElBQUksS0FBSyxlQUNQLEtBQUssVUFBVSxPQUFPLElBQUksUUFBUSxLQUFLLGVBQWU7RUFFMUQsRUFBQSxDQUNELENBQUM7Q0FFTjtDQUVnQixvQkFBaUI7RUFDL0IsTUFBTSxrQkFBaUI7RUFDdkIsS0FBSyxTQUFTO0NBQ2hCO0NBRVEscUJBQWtCO0VBQ3hCLElBQUksQ0FBQyxLQUFLOztFQUVSLEtBQUssY0FBYyxJQUFJLE1BQU0sa0JBQWtCO0dBQUUsU0FBUztHQUFNLFVBQVU7RUFBSSxDQUFFLENBQUM7Q0FFckY7Q0FFUSxpQkFBaUIscUJBQTRCO0VBQ25ELE1BQU0sU0FBbUMsS0FBSyxRQUFRLHFCQUFxQjtFQUczRSxJQUFJLENBQUMsdUJBQXdCLFVBQVUsS0FBSyxVQUMxQyxpQkFBaUIsTUFBTSxFQUFFLE9BQU8sZ0JBQWdCLG1CQUFtQjtDQUV2RTs7Ozs7O0NBT1EsZ0JBQWE7RUFDbkIsS0FBSyxZQUFZLFFBQVEsQ0FBQyxFQUFFLEtBQUssWUFBWSxLQUFLLFVBQVUsaUNBQWMsRUFBRTtDQUM5RTtDQUVtQixpQkFBYztFQUMvQixLQUFLLGNBQWE7RUFDbEIsT0FBTyxJQUFJOzswREFFMkMsS0FBSyxlQUFjLEVBQUU7OztRQUd2RSxDQUFDLEtBQUssV0FDSixJQUFJOzs7Ozs7cUJBT0osUUFBQTs7Q0FFUiJ9
83
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5zaW9uLXBhbmVsLWhlYWRlci5jb21wb25lbnQtRG8zcExienMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2VsZW1lbnRzL2V4cGFuc2lvbi1wYW5lbC9leHBhbnNpb24tcGFuZWwtaGVhZGVyL2V4cGFuc2lvbi1wYW5lbC1oZWFkZXIuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZXhwYW5zaW9uLXBhbmVsL2V4cGFuc2lvbi1wYW5lbC1oZWFkZXIvZXhwYW5zaW9uLXBhbmVsLWhlYWRlci5jb21wb25lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiQHVzZSAnLi4vLi4vY29yZS9zdHlsZXMnIGFzIHNiYjtcblxuOmhvc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuOmhvc3QoOnN0YXRlKHNpemUtcykpIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1nYXA6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWdhcC1zKTtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWJsb2NrLXMpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWlubGluZS1zKTtcbn1cblxuOmhvc3QoOnN0YXRlKHNpemUtbCkpIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1nYXA6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWdhcC1sKTtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWJsb2NrOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWJsb2NrLWwpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXBhZGRpbmctaW5saW5lOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1wYWRkaW5nLWlubGluZS1sKTtcbn1cblxuOmhvc3QoOm5vdCg6c3RhdGUoc2l6ZS1zKSwgOnN0YXRlKHNpemUtbCkpKSB7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZ2FwOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1nYXAtZGVmYXVsdCk7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItcGFkZGluZy1ibG9jazogdmFyKFxuICAgIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItcGFkZGluZy1ibG9jay1kZWZhdWx0XG4gICk7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItcGFkZGluZy1pbmxpbmU6IHZhcihcbiAgICAtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXBhZGRpbmctaW5saW5lLWRlZmF1bHRcbiAgKTtcbn1cblxuOmhvc3QoOmlzKDpkaXNhYmxlZCwgW2Rpc2FibGVkLWludGVyYWN0aXZlXSkpIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1jdXJzb3I6IHZhcigtLXNiYi1jdXJzb3ItZGVmYXVsdCk7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGV4dC1jb2xvcjogbGlnaHQtZGFyayhcbiAgICB2YXIoLS1zYmItY29sb3ItZ3Jhbml0ZSksXG4gICAgdmFyKC0tc2JiLWNvbG9yLXN0b3JtKVxuICApO1xuXG4gIEBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci10ZXh0LWNvbG9yOiBHcmF5VGV4dDtcbiAgfVxufVxuXG46aG9zdCg6Zm9jdXMtdmlzaWJsZSkge1xuICBAaW5jbHVkZSBzYmIuZm9jdXMtb3V0bGluZTtcblxuICBvdXRsaW5lLW9mZnNldDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMXgpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1yYWRpdXMpO1xufVxuXG4uc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWp1c3RpZnktY29udGVudCk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZ2FwKTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXBhZGRpbmctYmxvY2spXG4gICAgdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItcGFkZGluZy1pbmxpbmUpO1xuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgY3Vyc29yOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1jdXJzb3IpO1xuICBjb2xvcjogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGV4dC1jb2xvcik7XG4gIGZvbnQtc2l6ZTogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZm9udC1zaXplKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLXNiYi10eXBvLWxldHRlci1zcGFjaW5nLXRleHQpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tc2JiLXR5cG8tbGluZS1oZWlnaHQtdGV4dCk7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcl9fdGl0bGUsXG4uc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJfX3RvZ2dsZSxcbi5zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcl9faWNvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcl9faWNvbiB7XG4gIHdpZHRoOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWljb24tc2l6ZSk7XG5cbiAgLS1zYmItaWNvbi1zdmctd2lkdGg6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtaWNvbi1zaXplKTtcbiAgLS1zYmItaWNvbi1zdmctaGVpZ2h0OiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWljb24tc2l6ZSk7XG5cbiAgOmhvc3QoOm5vdCg6c3RhdGUoc2xvdHRlZC1pY29uKSwgOnN0YXRlKGhhcy1pY29uLW5hbWUpKSkgJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJfX3RpdGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLXRpdGxlLWdhcCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLy8gQWxpZ24gd2l0aCB0b2dnbGUgaWNvblxuICBtaW4taGVpZ2h0OiB2YXIoLS1zYmItc2l6ZS1pY29uLXVpLW1lZGl1bSk7XG59XG5cbi5zYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcl9fdG9nZ2xlLWljb24ge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tc2JiLWRpc2FibGUtYW5pbWF0aW9uLWR1cmF0aW9uLCB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KSk7XG5cbiAgOmhvc3QoW2FyaWEtZXhwYW5kZWRdOm5vdChbYXJpYS1leHBhbmRlZD0nZmFsc2UnXSkpICYge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICB9XG59XG4iLCJpbXBvcnQgeyB0eXBlIENTU1Jlc3VsdEdyb3VwLCBodG1sLCBub3RoaW5nLCB0eXBlIFRlbXBsYXRlUmVzdWx0LCB1bnNhZmVDU1MgfSBmcm9tICdsaXQnO1xuXG5pbXBvcnQge1xuICBTYmJCdXR0b25CYXNlRWxlbWVudCxcbiAgU2JiRGlzYWJsZWRUYWJJbmRleEFjdGlvbk1peGluLFxuICBTYmJNZWRpYU1hdGNoZXJDb250cm9sbGVyLFxuICBTYmJNZWRpYVF1ZXJ5SG92ZXIsXG4gIFNiYlByb3BlcnR5V2F0Y2hlckNvbnRyb2xsZXIsXG4gIMm1c3RhdGVDb250cm9sbGVyLFxufSBmcm9tICcuLi8uLi9jb3JlLnRzJztcbmltcG9ydCB7IFNiYkljb25OYW1lTWl4aW4gfSBmcm9tICcuLi8uLi9pY29uLnB1cmUudHMnO1xuaW1wb3J0IHR5cGUgeyBTYmJFeHBhbnNpb25QYW5lbEVsZW1lbnQgfSBmcm9tICcuLi9leHBhbnNpb24tcGFuZWwvZXhwYW5zaW9uLXBhbmVsLmNvbXBvbmVudC50cyc7XG5cbmltcG9ydCBzdHlsZSBmcm9tICcuL2V4cGFuc2lvbi1wYW5lbC1oZWFkZXIuc2Nzcz9pbmxpbmUnO1xuXG4vKipcbiAqIEl0IGFjdHMgYXMgYSBuYXRpdmUgYHN1bW1hcnlgIHRhZyBmb3IgdGhlIGBzYmItZXhwYW5zaW9uLXBhbmVsYCBjb21wb25lbnQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgY29udGVudCB0byB0aGUgYHNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyYC5cbiAqIEBzbG90IGljb24gLSBTbG90IHVzZWQgdG8gcmVuZGVyIHRoZSBgc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJgIGljb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJFeHBhbnNpb25QYW5lbEhlYWRlckVsZW1lbnQgZXh0ZW5kcyBTYmJEaXNhYmxlZFRhYkluZGV4QWN0aW9uTWl4aW4oXG4gIFNiYkljb25OYW1lTWl4aW4oU2JiQnV0dG9uQmFzZUVsZW1lbnQpLFxuKSB7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgcmVhZG9ubHkgZWxlbWVudE5hbWU6IHN0cmluZyA9ICdzYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcic7XG4gIHB1YmxpYyBzdGF0aWMgb3ZlcnJpZGUgc3R5bGVzOiBDU1NSZXN1bHRHcm91cCA9IFt1bnNhZmVDU1Moc3R5bGUpXTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBldmVudHMgPSB7XG4gICAgdG9nZ2xlZXhwYW5kZWQ6ICd0b2dnbGVleHBhbmRlZCcsXG4gIH0gYXMgY29uc3Q7XG5cbiAgcHJpdmF0ZSBfbWVkaWFNYXRjaGVyID0gbmV3IFNiYk1lZGlhTWF0Y2hlckNvbnRyb2xsZXIodGhpcywge1xuICAgIFtTYmJNZWRpYVF1ZXJ5SG92ZXJdOiAobSkgPT4gKHRoaXMuX2lzSG92ZXIgPSBtKSxcbiAgfSk7XG5cbiAgcHJpdmF0ZSBfaXNIb3ZlcjogYm9vbGVhbiA9IHRoaXMuX21lZGlhTWF0Y2hlci5tYXRjaGVzKFNiYk1lZGlhUXVlcnlIb3ZlcikgPz8gZmFsc2U7XG4gIHByaXZhdGUgX3ByZXZpb3VzU2l6ZTogU2JiRXhwYW5zaW9uUGFuZWxFbGVtZW50WydzaXplJ10gPSBudWxsO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdjbGljaycsICgpID0+IHRoaXMuX2VtaXRFeHBhbmRlZEV2ZW50KCkpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdtb3VzZWVudGVyJywgKCkgPT4gdGhpcy5fb25Nb3VzZU1vdmVtZW50KHRydWUpKTtcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LignbW91c2VsZWF2ZScsICgpID0+IHRoaXMuX29uTW91c2VNb3ZlbWVudChmYWxzZSkpO1xuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcj8uKCdzbG90dGVkY2hhbmdlJywgKCkgPT4gdGhpcy5fc2V0SWNvblN0YXRlKCkpO1xuICAgIHRoaXMuYWRkQ29udHJvbGxlcihcbiAgICAgIG5ldyBTYmJQcm9wZXJ0eVdhdGNoZXJDb250cm9sbGVyKHRoaXMsICgpID0+IHRoaXMuY2xvc2VzdCgnc2JiLWV4cGFuc2lvbi1wYW5lbCcpLCB7XG4gICAgICAgIHNpemU6IChzKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuX3ByZXZpb3VzU2l6ZSkge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZShgc2l6ZS0ke3RoaXMuX3ByZXZpb3VzU2l6ZX1gKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5fcHJldmlvdXNTaXplID0gcy5zaXplO1xuICAgICAgICAgIGlmICh0aGlzLl9wcmV2aW91c1NpemUpIHtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoYHNpemUtJHt0aGlzLl9wcmV2aW91c1NpemV9YCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMuc2xvdCB8fD0gJ2hlYWRlcic7XG4gIH1cblxuICBwcml2YXRlIF9lbWl0RXhwYW5kZWRFdmVudCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIC8qKiBOb3RpZmllcyB0aGF0IHRoZSBgc2JiLWV4cGFuc2lvbi1wYW5lbGAgaXMgYWJvdXQgdG8gZXhwYW5kL3Nocmluay4gKi9cbiAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3RvZ2dsZWV4cGFuZGVkJywgeyBidWJibGVzOiB0cnVlLCBjb21wb3NlZDogdHJ1ZSB9KSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb25Nb3VzZU1vdmVtZW50KHRvZ2dsZURhdGFBdHRyaWJ1dGU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBjb25zdCBwYXJlbnQ6IFNiYkV4cGFuc2lvblBhbmVsRWxlbWVudCA9IHRoaXMuY2xvc2VzdCgnc2JiLWV4cGFuc2lvbi1wYW5lbCcpITtcbiAgICAvLyBUaGUgYHNiYi5ob3Zlci1tcWAgbG9naWMgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIHNjc3MsIGJ1dCBpdCBtdXN0IGJlIHJlcGxpY2F0ZWQgdG8gaGF2ZSB0aGUgY29ycmVjdCBiZWhhdmlvciBvbiBtb2JpbGUuXG4gICAgLy8gVE9ETzogd2l0aCBtb3JlIHN1cHBvcnQgZm9yIGxpZ2h0IERPTSBzdHlsZXMgc2V0IGZyb20gYSBjb21wb2VudCAocm9vdG5vZGUpLCB3ZSBzaG91bGQgbW92ZSB0aGlzIGludG8gc2NzcyB3aXRoIDpoYXMoOmhvdmVyKSBzZWxlY3Rvci5cbiAgICBpZiAoIXRvZ2dsZURhdGFBdHRyaWJ1dGUgfHwgKHBhcmVudCAmJiB0aGlzLl9pc0hvdmVyKSkge1xuICAgICAgybVzdGF0ZUNvbnRyb2xsZXIocGFyZW50KS50b2dnbGUoJ3RvZ2dsZS1ob3ZlcicsIHRvZ2dsZURhdGFBdHRyaWJ1dGUpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgOnN0YXRlKGljb24pIGlzIHVzZWQgYnkgdGhlICdzYmItZXhwYW5zaW9uLXBhbmVsJy5cbiAgICogSXQgbmVlZHMgdG8gYmUgc2V0IGJlZm9yZSB0aGUgQHNsb3RjaGFuZ2UgZXZlbnQgYnViYmxlcyB0byB0aGUgJ2V4cGFuc2lvbi1wYW5lbCdcbiAgICogYnV0IGFmdGVyIHRoZSAnU2JiU2xvdFN0YXRlQ29udHJvbGxlcicgaGFzIHJ1bi5cbiAgICovXG4gIHByaXZhdGUgX3NldEljb25TdGF0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZVN0YXRlKCdpY29uJywgISEodGhpcy5pY29uTmFtZSB8fCB0aGlzLm1hdGNoZXM/LignOnN0YXRlKGljb24pJykpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSByZW5kZXJUZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgdGhpcy5fc2V0SWNvblN0YXRlKCk7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8c3BhbiBjbGFzcz1cInNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyX190aXRsZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1leHBhbnNpb24tcGFuZWwtaGVhZGVyX19pY29uXCI+ICR7dGhpcy5yZW5kZXJJY29uU2xvdCgpfSA8L3NwYW4+XG4gICAgICAgIDxzbG90Pjwvc2xvdD5cbiAgICAgIDwvc3Bhbj5cbiAgICAgICR7IXRoaXMuZGlzYWJsZWRcbiAgICAgICAgPyBodG1sYDxzcGFuIGNsYXNzPVwic2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJfX3RvZ2dsZVwiPlxuICAgICAgICAgICAgPHNiYi1pY29uXG4gICAgICAgICAgICAgIG5hbWU9XCJjaGV2cm9uLXNtYWxsLWRvd24tbWVkaXVtXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJzYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlcl9fdG9nZ2xlLWljb25cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC9zYmItaWNvbj5cbiAgICAgICAgICA8L3NwYW4+YFxuICAgICAgICA6IG5vdGhpbmd9XG4gICAgYDtcbiAgfVxufVxuXG5kZWNsYXJlIGdsb2JhbCB7XG4gIGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgICAnc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXInOiBTYmJFeHBhbnNpb25QYW5lbEhlYWRlckVsZW1lbnQ7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQ3FCQSxJQUFhLGlDQUFiLGNBQW9ELCtCQUNsRCxpQkFBaUIsb0JBQW9CLENBQUMsRUFDdkM7O0VBQ2lDLEtBQUEsY0FBc0I7Q0FBNkI7O0VBQzVELEtBQUEsU0FBeUIsQ0FBQyxVQUFVLDhCQUFLLENBQUM7Q0FBRTs7RUFDNUMsS0FBQSxTQUFTLEVBQzlCLGdCQUFnQixpQkFBQTtDQUNQO0NBU1gsY0FBQTtFQUNFLE1BQUs7RUFSQyxLQUFBLGdCQUFnQixJQUFJLDBCQUEwQixNQUFNLEdBQ3pELHNCQUFzQixNQUFPLEtBQUssV0FBVyxFQUFBLENBQy9DO0VBRU8sS0FBQSxXQUFvQixLQUFLLGNBQWMsUUFBUSxrQkFBa0IsS0FBSztFQUN0RSxLQUFBLGdCQUFrRDtFQUl4RCxLQUFLLG1CQUFtQixlQUFlLEtBQUssbUJBQWtCLENBQUU7RUFDaEUsS0FBSyxtQkFBbUIsb0JBQW9CLEtBQUssaUJBQWlCLElBQUksQ0FBQztFQUN2RSxLQUFLLG1CQUFtQixvQkFBb0IsS0FBSyxpQkFBaUIsS0FBSyxDQUFDO0VBQ3hFLEtBQUssbUJBQW1CLHVCQUF1QixLQUFLLGNBQWEsQ0FBRTtFQUNuRSxLQUFLLGNBQ0gsSUFBSSw2QkFBNkIsWUFBWSxLQUFLLFFBQVEscUJBQXFCLEdBQUcsRUFDaEYsT0FBTyxNQUFLO0dBQ1YsSUFBSSxLQUFLLGVBQ1AsS0FBSyxVQUFVLE9BQU8sT0FBTyxRQUFRLEtBQUssZUFBZTtHQUUzRCxLQUFLLGdCQUFnQixFQUFFO0dBQ3ZCLElBQUksS0FBSyxlQUNQLEtBQUssVUFBVSxPQUFPLElBQUksUUFBUSxLQUFLLGVBQWU7RUFFMUQsRUFBQSxDQUNELENBQUM7Q0FFTjtDQUVnQixvQkFBaUI7RUFDL0IsTUFBTSxrQkFBaUI7RUFDdkIsS0FBSyxTQUFTO0NBQ2hCO0NBRVEscUJBQWtCO0VBQ3hCLElBQUksQ0FBQyxLQUFLOztFQUVSLEtBQUssY0FBYyxJQUFJLE1BQU0sa0JBQWtCO0dBQUUsU0FBUztHQUFNLFVBQVU7RUFBSSxDQUFFLENBQUM7Q0FFckY7Q0FFUSxpQkFBaUIscUJBQTRCO0VBQ25ELE1BQU0sU0FBbUMsS0FBSyxRQUFRLHFCQUFxQjtFQUczRSxJQUFJLENBQUMsdUJBQXdCLFVBQVUsS0FBSyxVQUMxQyxpQkFBaUIsTUFBTSxFQUFFLE9BQU8sZ0JBQWdCLG1CQUFtQjtDQUV2RTs7Ozs7O0NBT1EsZ0JBQWE7RUFDbkIsS0FBSyxZQUFZLFFBQVEsQ0FBQyxFQUFFLEtBQUssWUFBWSxLQUFLLFVBQVUsaUNBQWMsRUFBRTtDQUM5RTtDQUVtQixpQkFBYztFQUMvQixLQUFLLGNBQWE7RUFDbEIsT0FBTyxJQUFJOzswREFFMkMsS0FBSyxlQUFjLEVBQUU7OztRQUd2RSxDQUFDLEtBQUssV0FDSixJQUFJOzs7Ozs7cUJBT0osUUFBQTs7Q0FFUiJ9
@@ -317,4 +317,4 @@ var SbbExpansionPanelElement = (() => {
317
317
  //#endregion
318
318
  export { SbbExpansionPanelElement as t };
319
319
 
320
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5zaW9uLXBhbmVsLmNvbXBvbmVudC1EY0ZyV2tJdC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZXhwYW5zaW9uLXBhbmVsL2V4cGFuc2lvbi1wYW5lbC9leHBhbnNpb24tcGFuZWwuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZXhwYW5zaW9uLXBhbmVsL2V4cGFuc2lvbi1wYW5lbC9leHBhbnNpb24tcGFuZWwuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbi8vIE9wZW4vQ2xvc2UgYW5pbWF0aW9uIHZhcnNcbiRvcGVuLWFuaW0tcm93cy1mcm9tOiAwZnI7XG4kb3Blbi1hbmltLXJvd3MtdG86IDFmcjtcbiRvcGVuLWFuaW0tb3BhY2l0eS1mcm9tOiAwO1xuJG9wZW4tYW5pbS1vcGFjaXR5LXRvOiAxO1xuXG46aG9zdCB7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLWNvbG9yOiB2YXIoLS1zYmItYm9yZGVyLWNvbG9yLTQtaW52ZXJ0ZWQpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLXdpZHRoOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KTtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1ibG9jay1zdGFydC1jb2xvcjogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItY29sb3IpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLWJsb2NrLXN0YXJ0LXdpZHRoOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci13aWR0aCk7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1zdGFydC1lbmQtcmFkaXVzOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1yYWRpdXMpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtc3RhcnQtc3RhcnQtcmFkaXVzOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1yYWRpdXMpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtZW5kLWVuZC1yYWRpdXM6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLXJhZGl1cyk7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1lbmQtc3RhcnQtcmFkaXVzOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1yYWRpdXMpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJhY2tncm91bmQtY29sb3IpO1xuICBib3JkZXI6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1ibG9jay1zdGFydC1jb2xvcjogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItYmxvY2stc3RhcnQtY29sb3IpO1xuICBib3JkZXItYmxvY2stc3RhcnQtd2lkdGg6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLWJsb2NrLXN0YXJ0LXdpZHRoKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1zdGFydC1zdGFydC1yYWRpdXMpXG4gICAgdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1zdGFydC1lbmQtcmFkaXVzKSB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWVuZC1lbmQtcmFkaXVzKVxuICAgIHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtZW5kLXN0YXJ0LXJhZGl1cyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG59XG5cbjpob3N0KFtzaXplPSdzJ10pIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLXRpdGxlLWdhcDogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC10aXRsZS1nYXAtcyk7XG59XG5cbjpob3N0KFtzaXplPSdsJ10pIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLXRpdGxlLWdhcDogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC10aXRsZS1nYXAtbCk7XG59XG5cbjpob3N0KDpub3QoW3NpemVdKSkge1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtdGl0bGUtZ2FwOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLXRpdGxlLWdhcC1kZWZhdWx0KTtcbn1cblxuOmhvc3QoW2Rpc2FibGVkXSkge1xuICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItY29sb3I6IEdyYXlUZXh0O1xuICAgIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItYmxvY2stc3RhcnQtY29sb3I6IEdyYXlUZXh0O1xuICB9XG59XG5cbjpob3N0KFtleHBhbmRlZF0pIHtcbiAgLS1fc2JiLWV4cGFuc2lvbi1wYW5lbC1kaXNwbGF5LWV4cGFuZGVkOiBncmlkO1xufVxuXG46aG9zdCg6c3RhdGUoYWNjb3JkaW9uKTpzdGF0ZShhY2NvcmRpb24tZmlyc3QpKSB7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1zdGFydC1lbmQtcmFkaXVzOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1yYWRpdXMpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtc3RhcnQtc3RhcnQtcmFkaXVzOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1yYWRpdXMpO1xufVxuXG46aG9zdCg6c3RhdGUoYWNjb3JkaW9uKTpub3QoOnN0YXRlKGFjY29yZGlvbi1maXJzdCkpKSB7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItYmxvY2stc3RhcnQtd2lkdGg6IDA7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItYmxvY2stc3RhcnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtc3RhcnQtZW5kLXJhZGl1czogMDtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLXN0YXJ0LXN0YXJ0LXJhZGl1czogMDtcbn1cblxuOmhvc3QoOnN0YXRlKGFjY29yZGlvbik6c3RhdGUoYWNjb3JkaW9uLWxhc3QpKSB7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1lbmQtZW5kLXJhZGl1czogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItcmFkaXVzKTtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWVuZC1zdGFydC1yYWRpdXM6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLXJhZGl1cyk7XG59XG5cbjpob3N0KDpzdGF0ZShhY2NvcmRpb24pOm5vdCg6c3RhdGUoYWNjb3JkaW9uLWxhc3QpKSkge1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtZW5kLWVuZC1yYWRpdXM6IDA7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1lbmQtc3RhcnQtcmFkaXVzOiAwO1xufVxuXG46aG9zdChbY29sb3I9J3doaXRlJ10pIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTEpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtYmFja2dyb3VuZC1jb2xvci1ob3ZlcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMyk7XG59XG5cbjpob3N0KFtjb2xvcj0nbWlsayddKSB7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0zKTtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJhY2tncm91bmQtY29sb3ItaG92ZXI6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTEpO1xufVxuXG46aG9zdChbYm9yZGVybGVzc10pIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci13aWR0aDogMDtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItYmxvY2stc3RhcnQtd2lkdGg6IDA7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItYmxvY2stc3RhcnQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gIEBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci13aWR0aDogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0xeCk7XG4gICAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1ibG9jay1zdGFydC13aWR0aDogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItd2lkdGgpO1xuICB9XG59XG5cbjpob3N0KFtib3JkZXJsZXNzXTpzdGF0ZShhY2NvcmRpb24pOm5vdCg6c3RhdGUoYWNjb3JkaW9uLWZpcnN0KSkpIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1ibG9jay1zdGFydC13aWR0aDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMXgpO1xuXG4gIEBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1ibG9jay1zdGFydC13aWR0aDogMDtcbiAgfVxufVxuXG46aG9zdCg6bm90KFtkaXNhYmxlZF0pOnN0YXRlKHRvZ2dsZS1ob3ZlcikpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyKTtcblxuICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItY29sb3I6IEhpZ2hsaWdodDtcbiAgICAtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLWJsb2NrLXN0YXJ0LWNvbG9yOiBIaWdobGlnaHQ7XG4gIH1cbn1cblxuLnNiYi1leHBhbnNpb24tcGFuZWxfX2hlYWRlciB7XG4gIG1hcmdpbjogMDtcbn1cblxuLnNiYi1leHBhbnNpb24tcGFuZWxfX2NvbnRlbnQtd3JhcHBlciB7XG4gIGRpc3BsYXk6IHZhcigtLV9zYmItZXhwYW5zaW9uLXBhbmVsLWRpc3BsYXktZXhwYW5kZWQsIG5vbmUpO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6ICN7JG9wZW4tYW5pbS1yb3dzLWZyb219O1xuICBvcGFjaXR5OiAjeyRvcGVuLWFuaW0tb3BhY2l0eS1mcm9tfTtcblxuICA6aG9zdCg6c3RhdGUoc3RhdGUtb3BlbmVkKSkgJiB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAjeyRvcGVuLWFuaW0tcm93cy10b307XG4gICAgb3BhY2l0eTogI3skb3Blbi1hbmltLW9wYWNpdHktdG99O1xuICB9XG5cbiAgOmhvc3QoOnN0YXRlKHN0YXRlLW9wZW5pbmcpKSAmIHtcbiAgICBhbmltYXRpb24tbmFtZTogb3Blbiwgb3Blbi1vcGFjaXR5O1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1hbmltYXRpb24tZHVyYXRpb24pO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi1hbmltYXRpb24tZWFzaW5nKTtcbiAgICBhbmltYXRpb24tZGVsYXk6IDBzLCB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gIH1cblxuICA6aG9zdCg6c3RhdGUoc3RhdGUtY2xvc2luZykpICYge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBjbG9zZTtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG4gIH1cbn1cblxuLnNiYi1leHBhbnNpb24tcGFuZWxfX2NvbnRlbnQge1xuICAvLyBFbmFibGVzIG92ZXJmbG93IGZvciBjb250ZW50XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuQGtleWZyYW1lcyBvcGVuIHtcbiAgZnJvbSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAjeyRvcGVuLWFuaW0tcm93cy1mcm9tfTtcbiAgfVxuXG4gIHRvIHtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6ICN7JG9wZW4tYW5pbS1yb3dzLXRvfTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG9wZW4tb3BhY2l0eSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6ICN7JG9wZW4tYW5pbS1vcGFjaXR5LWZyb219O1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6ICN7JG9wZW4tYW5pbS1vcGFjaXR5LXRvfTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNsb3NlIHtcbiAgZnJvbSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAjeyRvcGVuLWFuaW0tcm93cy10b307XG4gICAgb3BhY2l0eTogI3skb3Blbi1hbmltLW9wYWNpdHktdG99O1xuICB9XG5cbiAgdG8ge1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogI3skb3Blbi1hbmltLXJvd3MtZnJvbX07XG4gICAgb3BhY2l0eTogI3skb3Blbi1hbmltLW9wYWNpdHktZnJvbX07XG4gIH1cbn1cbiIsImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGh0bWwsIG5vdGhpbmcsIHR5cGUgVGVtcGxhdGVSZXN1bHQsIHVuc2FmZUNTUyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHtcbiAgZm9yY2VUeXBlLFxuICBpc1plcm9BbmltYXRpb25EdXJhdGlvbixcbiAgU2JiRWxlbWVudCxcbiAgdHlwZSBTYmJIZWFkaW5nTGV2ZWwsXG4gIHR5cGUgU2JiT3BlbmVkQ2xvc2VkU3RhdGUsXG4gIMm1c3RhdGVDb250cm9sbGVyLFxufSBmcm9tICcuLi8uLi9jb3JlLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiRXhwYW5zaW9uUGFuZWxDb250ZW50RWxlbWVudCB9IGZyb20gJy4uL2V4cGFuc2lvbi1wYW5lbC1jb250ZW50L2V4cGFuc2lvbi1wYW5lbC1jb250ZW50LmNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYkV4cGFuc2lvblBhbmVsSGVhZGVyRWxlbWVudCB9IGZyb20gJy4uL2V4cGFuc2lvbi1wYW5lbC1oZWFkZXIvZXhwYW5zaW9uLXBhbmVsLWhlYWRlci5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9leHBhbnNpb24tcGFuZWwuc2Nzcz9pbmxpbmUnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhbiBleHBhbmRhYmxlIHN1bW1hcnktZGV0YWlscyB3aWRnZXQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYSBgc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJgIGFuZCBhIGBzYmItZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRgIGVsZW1lbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJFeHBhbnNpb25QYW5lbEVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1leHBhbnNpb24tcGFuZWwnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbdW5zYWZlQ1NTKHN0eWxlKV07XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIGJlZm9yZW9wZW46ICdiZWZvcmVvcGVuJyxcbiAgICBvcGVuOiAnb3BlbicsXG4gICAgYmVmb3JlY2xvc2U6ICdiZWZvcmVjbG9zZScsXG4gICAgY2xvc2U6ICdjbG9zZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqIEhlYWRpbmcgbGV2ZWw7IGlmIHVuc2V0LCBhIGBkaXZgIHdpbGwgYmUgcmVuZGVyZWQuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3RpdGxlLWxldmVsJyB9KSBwdWJsaWMgYWNjZXNzb3IgdGl0bGVMZXZlbDogU2JiSGVhZGluZ0xldmVsIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBwYW5lbC4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3IgY29sb3I6ICd3aGl0ZScgfCAnbWlsaycgPSAnd2hpdGUnO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBwYW5lbCBpcyBleHBhbmRlZC4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgc2V0IGV4cGFuZGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZXhwYW5kZWQgPSB2YWx1ZTtcbiAgICB0aGlzLl9vbkV4cGFuZGVkQ2hhbmdlKCk7XG4gIH1cbiAgcHVibGljIGdldCBleHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZXhwYW5kZWQ7XG4gIH1cbiAgcHJpdmF0ZSBfZXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogV2hldGhlciB0aGUgcGFuZWwgaXMgZGlzYWJsZWQsIHNvIGl0cyBleHBhbmRlZCBzdGF0ZSBjYW4ndCBiZSBjaGFuZ2VkLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xuICAgIHRoaXMuX3VwZGF0ZURpc2FibGVkT25IZWFkZXIodGhpcy5fZGlzYWJsZWQpO1xuICB9XG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICB9XG4gIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHBhbmVsIGhhcyBubyBib3JkZXIuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBib3JkZXJsZXNzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFNpemUgdmFyaWFudCwgZWl0aGVyIHMgKGxlYW4gdGhlbWUgZGVmYXVsdCkgb3IgbCAoc3RhbmRhcmQgdGhlbWUgZGVmYXVsdCkuXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAncycgfCAnbCcgfCBudWxsID0gbnVsbDtcblxuICAvKiogVGhlIHN0YXRlIG9mIHRoZSBjb21wb25lbnQuICovXG4gIHByaXZhdGUgc2V0IF9zdGF0ZShzdGF0ZTogU2JiT3BlbmVkQ2xvc2VkU3RhdGUpIHtcbiAgICBpZiAodGhpcy5fc3RhdGVJbnRlcm5hbCkge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZShgc3RhdGUtJHt0aGlzLl9zdGF0ZUludGVybmFsfWApO1xuICAgIH1cbiAgICB0aGlzLl9zdGF0ZUludGVybmFsID0gc3RhdGU7XG4gICAgaWYgKHRoaXMuX3N0YXRlSW50ZXJuYWwpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoYHN0YXRlLSR7dGhpcy5fc3RhdGVJbnRlcm5hbH1gKTtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBnZXQgX3N0YXRlKCk6IFNiYk9wZW5lZENsb3NlZFN0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGVJbnRlcm5hbDtcbiAgfVxuICBwcml2YXRlIF9zdGF0ZUludGVybmFsITogU2JiT3BlbmVkQ2xvc2VkU3RhdGU7XG5cbiAgcHJpdmF0ZSBfcHJvZ3Jlc3NpdmVJZCA9IGAtJHsrK25leHRJZH1gO1xuICBwcml2YXRlIF9oZWFkZXJSZWY/OiBTYmJFeHBhbnNpb25QYW5lbEhlYWRlckVsZW1lbnQ7XG4gIHByaXZhdGUgX2NvbnRlbnRSZWY/OiBTYmJFeHBhbnNpb25QYW5lbENvbnRlbnRFbGVtZW50O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5fc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LigndG9nZ2xlZXhwYW5kZWQnLCAoZXY6IEV2ZW50KSA9PiB7XG4gICAgICBpZiAoZXYudGFyZ2V0ID09PSB0aGlzLl9oZWFkZXJSZWYpIHtcbiAgICAgICAgdGhpcy5fdG9nZ2xlRXhwYW5kZWQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMudG9nZ2xlU3RhdGUoJ2FjY29yZGlvbicsICEhdGhpcy5jbG9zZXN0Py4oJ3NiYi1hY2NvcmRpb24nKSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdhY2NvcmRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX3RvZ2dsZUV4cGFuZGVkKCk6IHZvaWQge1xuICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcbiAgfVxuXG4gIHByaXZhdGUgX29uRXhwYW5kZWRDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5faGVhZGVyUmVmPy5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCBTdHJpbmcodGhpcy5leHBhbmRlZCkpO1xuICAgIHRoaXMuX2NvbnRlbnRSZWY/LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCBTdHJpbmcoIXRoaXMuZXhwYW5kZWQpKTtcblxuICAgIGlmICh0aGlzLmV4cGFuZGVkKSB7XG4gICAgICB0aGlzLl9vcGVuKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9zdGF0ZSA9PT0gJ29wZW5lZCcpIHtcbiAgICAgIHRoaXMuX2Nsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb3BlbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0ZSA9ICdvcGVuaW5nJztcbiAgICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItZXhwYW5zaW9uLXBhbmVsYCBzdGFydHMgdGhlIG9wZW5pbmcgdHJhbnNpdGlvbi4gKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdiZWZvcmVvcGVuJykpO1xuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYG9wZW5lZGAgc3RhdGUuXG4gICAgaWYgKCF0aGlzLmhhc1VwZGF0ZWQgfHwgdGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2Nsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlID0gJ2Nsb3NpbmcnO1xuICAgIC8qKiBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1leHBhbnNpb24tcGFuZWxgIGJlZ2lucyB0aGUgY2xvc2luZyB0cmFuc2l0aW9uLiAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2JlZm9yZWNsb3NlJykpO1xuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYGNsb3NlZGAgc3RhdGUuXG4gICAgaWYgKHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLWV4cGFuc2lvbi1wYW5lbC1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgPSAnb3BlbmVkJztcbiAgICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItZXhwYW5zaW9uLXBhbmVsYCBpcyBvcGVuZWQuICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnb3BlbicpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgPSAnY2xvc2VkJztcbiAgICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItZXhwYW5zaW9uLXBhbmVsYCBpcyBjbG9zZWQuICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2xvc2UnKSk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVEaXNhYmxlZE9uSGVhZGVyKG5ld0Rpc2FibGVkVmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5faGVhZGVyUmVmKSB7XG4gICAgICB0aGlzLl9oZWFkZXJSZWYuZGlzYWJsZWQgPSBuZXdEaXNhYmxlZFZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVNsb3RjaGFuZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgY2hpbGRyZW4gPSBBcnJheS5mcm9tKHRoaXMuY2hpbGRyZW4gPz8gW10pO1xuICAgIGNvbnN0IGhlYWRlciA9IGNoaWxkcmVuLmZpbmQoXG4gICAgICAoZSk6IGUgaXMgU2JiRXhwYW5zaW9uUGFuZWxIZWFkZXJFbGVtZW50ID0+IGUubG9jYWxOYW1lID09PSAnc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXInLFxuICAgICk7XG4gICAgY29uc3QgY29udGVudCA9IGNoaWxkcmVuLmZpbmQoXG4gICAgICAoZSk6IGUgaXMgU2JiRXhwYW5zaW9uUGFuZWxDb250ZW50RWxlbWVudCA9PiBlLmxvY2FsTmFtZSA9PT0gJ3NiYi1leHBhbnNpb24tcGFuZWwtY29udGVudCcsXG4gICAgKTtcbiAgICBpZiAodGhpcy5faGVhZGVyUmVmID09PSBoZWFkZXIgJiYgdGhpcy5fY29udGVudFJlZiA9PT0gY29udGVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoaGVhZGVyICYmIHRoaXMuX2hlYWRlclJlZiAhPT0gaGVhZGVyKSB7XG4gICAgICBoZWFkZXIuaWQgfHw9IGBzYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlciR7dGhpcy5fcHJvZ3Jlc3NpdmVJZH1gO1xuICAgICAgaGVhZGVyLnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsIFN0cmluZyh0aGlzLmV4cGFuZGVkKSk7XG4gICAgICBoZWFkZXIudG9nZ2xlQXR0cmlidXRlKCdkaXNhYmxlZCcsIHRoaXMuZGlzYWJsZWQpO1xuICAgIH1cbiAgICBpZiAoY29udGVudCAmJiB0aGlzLl9jb250ZW50UmVmICE9PSBjb250ZW50KSB7XG4gICAgICBjb250ZW50LmlkIHx8PSBgc2JiLWV4cGFuc2lvbi1wYW5lbC1jb250ZW50JHt0aGlzLl9wcm9ncmVzc2l2ZUlkfWA7XG4gICAgICBjb250ZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCBTdHJpbmcoIXRoaXMuZXhwYW5kZWQpKTtcbiAgICB9XG5cbiAgICB0aGlzLl9oZWFkZXJSZWYgPSBoZWFkZXI7XG4gICAgdGhpcy5fY29udGVudFJlZiA9IGNvbnRlbnQ7XG4gICAgaWYgKHRoaXMuX2hlYWRlclJlZiAmJiB0aGlzLl9jb250ZW50UmVmKSB7XG4gICAgICB0aGlzLl9oZWFkZXJSZWYuc2V0QXR0cmlidXRlKCdhcmlhLWNvbnRyb2xzJywgdGhpcy5fY29udGVudFJlZi5pZCk7XG4gICAgICB0aGlzLl9jb250ZW50UmVmLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbGxlZGJ5JywgdGhpcy5faGVhZGVyUmVmLmlkKTtcbiAgICAgIMm1c3RhdGVDb250cm9sbGVyKHRoaXMuX2NvbnRlbnRSZWYpLnRvZ2dsZShcbiAgICAgICAgJ2ljb24tc3BhY2UnLFxuICAgICAgICDJtXN0YXRlQ29udHJvbGxlcih0aGlzLl9oZWFkZXJSZWYpLmhhcygnaWNvbicpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vbkFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4tb3BhY2l0eScgJiYgdGhpcy5fc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLl9zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2XG4gICAgICAgIHJvbGU9JHt0aGlzLnRpdGxlTGV2ZWwgPyAnaGVhZGluZycgOiBub3RoaW5nfVxuICAgICAgICBhcmlhLWxldmVsPSR7dGhpcy50aXRsZUxldmVsIHx8IG5vdGhpbmd9XG4gICAgICAgIGNsYXNzPVwic2JiLWV4cGFuc2lvbi1wYW5lbF9faGVhZGVyXCJcbiAgICAgID5cbiAgICAgICAgPHNsb3QgbmFtZT1cImhlYWRlclwiIEBzbG90Y2hhbmdlPSR7dGhpcy5faGFuZGxlU2xvdGNoYW5nZX0+PC9zbG90PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItZXhwYW5zaW9uLXBhbmVsX19jb250ZW50LXdyYXBwZXJcIiBAYW5pbWF0aW9uZW5kPSR7dGhpcy5fb25BbmltYXRpb25FbmR9PlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1leHBhbnNpb24tcGFuZWxfX2NvbnRlbnRcIj5cbiAgICAgICAgICA8c2xvdCBuYW1lPVwiY29udGVudFwiIEBzbG90Y2hhbmdlPSR7dGhpcy5faGFuZGxlU2xvdGNoYW5nZX0+PC9zbG90PlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZXhwYW5zaW9uLXBhbmVsJzogU2JiRXhwYW5zaW9uUGFuZWxFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FDZ0JBLElBQUksU0FBUzs7Ozs7O0lBT0Esa0NBQXdCO21CQUFTOzs7Ozs7Ozs7Ozs7Ozs7O2NBQWpDLGlDQUFpQyxZQUFVOzs7NkJBV3JELFNBQVMsRUFB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
320
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5zaW9uLXBhbmVsLmNvbXBvbmVudC1CbmJSaUxyay5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZXhwYW5zaW9uLXBhbmVsL2V4cGFuc2lvbi1wYW5lbC9leHBhbnNpb24tcGFuZWwuc2Nzcz9pbmxpbmUiLCIuLi8uLi8uLi9zcmMvZWxlbWVudHMvZXhwYW5zaW9uLXBhbmVsL2V4cGFuc2lvbi1wYW5lbC9leHBhbnNpb24tcGFuZWwuY29tcG9uZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIkB1c2UgJy4uLy4uL2NvcmUvc3R5bGVzJyBhcyBzYmI7XG5cbi8vIE9wZW4vQ2xvc2UgYW5pbWF0aW9uIHZhcnNcbiRvcGVuLWFuaW0tcm93cy1mcm9tOiAwZnI7XG4kb3Blbi1hbmltLXJvd3MtdG86IDFmcjtcbiRvcGVuLWFuaW0tb3BhY2l0eS1mcm9tOiAwO1xuJG9wZW4tYW5pbS1vcGFjaXR5LXRvOiAxO1xuXG46aG9zdCB7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1hbmltYXRpb24tZHVyYXRpb246IHZhcihcbiAgICAtLXNiYi1kaXNhYmxlLWFuaW1hdGlvbi1kdXJhdGlvbixcbiAgICB2YXIoLS1zYmItYW5pbWF0aW9uLWR1cmF0aW9uLTR4KVxuICApO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLWNvbG9yOiB2YXIoLS1zYmItYm9yZGVyLWNvbG9yLTQtaW52ZXJ0ZWQpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLXdpZHRoOiB2YXIoLS1zYmItYm9yZGVyLXdpZHRoLTF4KTtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1ibG9jay1zdGFydC1jb2xvcjogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItY29sb3IpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLWJsb2NrLXN0YXJ0LXdpZHRoOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci13aWR0aCk7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1zdGFydC1lbmQtcmFkaXVzOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1yYWRpdXMpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtc3RhcnQtc3RhcnQtcmFkaXVzOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1yYWRpdXMpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtZW5kLWVuZC1yYWRpdXM6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLXJhZGl1cyk7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1lbmQtc3RhcnQtcmFkaXVzOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1yYWRpdXMpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJhY2tncm91bmQtY29sb3IpO1xuICBib3JkZXI6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1ibG9jay1zdGFydC1jb2xvcjogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItYmxvY2stc3RhcnQtY29sb3IpO1xuICBib3JkZXItYmxvY2stc3RhcnQtd2lkdGg6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLWJsb2NrLXN0YXJ0LXdpZHRoKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1zdGFydC1zdGFydC1yYWRpdXMpXG4gICAgdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1zdGFydC1lbmQtcmFkaXVzKSB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWVuZC1lbmQtcmFkaXVzKVxuICAgIHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtZW5kLXN0YXJ0LXJhZGl1cyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG59XG5cbjpob3N0KFtzaXplPSdzJ10pIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLXRpdGxlLWdhcDogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC10aXRsZS1nYXAtcyk7XG59XG5cbjpob3N0KFtzaXplPSdsJ10pIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLXRpdGxlLWdhcDogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC10aXRsZS1nYXAtbCk7XG59XG5cbjpob3N0KDpub3QoW3NpemVdKSkge1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtdGl0bGUtZ2FwOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLXRpdGxlLWdhcC1kZWZhdWx0KTtcbn1cblxuOmhvc3QoW2Rpc2FibGVkXSkge1xuICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItY29sb3I6IEdyYXlUZXh0O1xuICAgIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItYmxvY2stc3RhcnQtY29sb3I6IEdyYXlUZXh0O1xuICB9XG59XG5cbjpob3N0KFtleHBhbmRlZF0pIHtcbiAgLS1fc2JiLWV4cGFuc2lvbi1wYW5lbC1kaXNwbGF5LWV4cGFuZGVkOiBncmlkO1xufVxuXG46aG9zdCg6c3RhdGUoYWNjb3JkaW9uKTpzdGF0ZShhY2NvcmRpb24tZmlyc3QpKSB7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1zdGFydC1lbmQtcmFkaXVzOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1yYWRpdXMpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtc3RhcnQtc3RhcnQtcmFkaXVzOiB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1yYWRpdXMpO1xufVxuXG46aG9zdCg6c3RhdGUoYWNjb3JkaW9uKTpub3QoOnN0YXRlKGFjY29yZGlvbi1maXJzdCkpKSB7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItYmxvY2stc3RhcnQtd2lkdGg6IDA7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItYmxvY2stc3RhcnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtc3RhcnQtZW5kLXJhZGl1czogMDtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLXN0YXJ0LXN0YXJ0LXJhZGl1czogMDtcbn1cblxuOmhvc3QoOnN0YXRlKGFjY29yZGlvbik6c3RhdGUoYWNjb3JkaW9uLWxhc3QpKSB7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1lbmQtZW5kLXJhZGl1czogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItcmFkaXVzKTtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWVuZC1zdGFydC1yYWRpdXM6IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLXJhZGl1cyk7XG59XG5cbjpob3N0KDpzdGF0ZShhY2NvcmRpb24pOm5vdCg6c3RhdGUoYWNjb3JkaW9uLWxhc3QpKSkge1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtZW5kLWVuZC1yYWRpdXM6IDA7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1lbmQtc3RhcnQtcmFkaXVzOiAwO1xufVxuXG46aG9zdChbY29sb3I9J3doaXRlJ10pIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTEpO1xuICAtLXNiYi1leHBhbnNpb24tcGFuZWwtYmFja2dyb3VuZC1jb2xvci1ob3ZlcjogdmFyKC0tc2JiLWJhY2tncm91bmQtY29sb3ItMyk7XG59XG5cbjpob3N0KFtjb2xvcj0nbWlsayddKSB7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zYmItYmFja2dyb3VuZC1jb2xvci0zKTtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJhY2tncm91bmQtY29sb3ItaG92ZXI6IHZhcigtLXNiYi1iYWNrZ3JvdW5kLWNvbG9yLTEpO1xufVxuXG46aG9zdChbYm9yZGVybGVzc10pIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci13aWR0aDogMDtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItYmxvY2stc3RhcnQtd2lkdGg6IDA7XG4gIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItYmxvY2stc3RhcnQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gIEBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci13aWR0aDogdmFyKC0tc2JiLWJvcmRlci13aWR0aC0xeCk7XG4gICAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1ibG9jay1zdGFydC13aWR0aDogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItd2lkdGgpO1xuICB9XG59XG5cbjpob3N0KFtib3JkZXJsZXNzXTpzdGF0ZShhY2NvcmRpb24pOm5vdCg6c3RhdGUoYWNjb3JkaW9uLWZpcnN0KSkpIHtcbiAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1ibG9jay1zdGFydC13aWR0aDogdmFyKC0tc2JiLXNwYWNpbmctZml4ZWQtMXgpO1xuXG4gIEBtZWRpYSAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgLS1zYmItZXhwYW5zaW9uLXBhbmVsLWJvcmRlci1ibG9jay1zdGFydC13aWR0aDogMDtcbiAgfVxufVxuXG46aG9zdCg6bm90KFtkaXNhYmxlZF0pOnN0YXRlKHRvZ2dsZS1ob3ZlcikpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyKTtcblxuICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgIC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1ib3JkZXItY29sb3I6IEhpZ2hsaWdodDtcbiAgICAtLXNiYi1leHBhbnNpb24tcGFuZWwtYm9yZGVyLWJsb2NrLXN0YXJ0LWNvbG9yOiBIaWdobGlnaHQ7XG4gIH1cbn1cblxuLnNiYi1leHBhbnNpb24tcGFuZWxfX2hlYWRlciB7XG4gIG1hcmdpbjogMDtcbn1cblxuLnNiYi1leHBhbnNpb24tcGFuZWxfX2NvbnRlbnQtd3JhcHBlciB7XG4gIGRpc3BsYXk6IHZhcigtLV9zYmItZXhwYW5zaW9uLXBhbmVsLWRpc3BsYXktZXhwYW5kZWQsIG5vbmUpO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6ICN7JG9wZW4tYW5pbS1yb3dzLWZyb219O1xuICBvcGFjaXR5OiAjeyRvcGVuLWFuaW0tb3BhY2l0eS1mcm9tfTtcblxuICA6aG9zdCg6c3RhdGUoc3RhdGUtb3BlbmVkKSkgJiB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAjeyRvcGVuLWFuaW0tcm93cy10b307XG4gICAgb3BhY2l0eTogI3skb3Blbi1hbmltLW9wYWNpdHktdG99O1xuICB9XG5cbiAgOmhvc3QoOnN0YXRlKHN0YXRlLW9wZW5pbmcpKSAmIHtcbiAgICBhbmltYXRpb24tbmFtZTogb3Blbiwgb3Blbi1vcGFjaXR5O1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tc2JiLWV4cGFuc2lvbi1wYW5lbC1hbmltYXRpb24tZHVyYXRpb24pO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLXNiYi1hbmltYXRpb24tZWFzaW5nKTtcbiAgICBhbmltYXRpb24tZGVsYXk6IDBzLCB2YXIoLS1zYmItZXhwYW5zaW9uLXBhbmVsLWFuaW1hdGlvbi1kdXJhdGlvbik7XG4gIH1cblxuICA6aG9zdCg6c3RhdGUoc3RhdGUtY2xvc2luZykpICYge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBjbG9zZTtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLXNiYi1leHBhbnNpb24tcGFuZWwtYW5pbWF0aW9uLWR1cmF0aW9uKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zYmItYW5pbWF0aW9uLWVhc2luZyk7XG4gIH1cbn1cblxuLnNiYi1leHBhbnNpb24tcGFuZWxfX2NvbnRlbnQge1xuICAvLyBFbmFibGVzIG92ZXJmbG93IGZvciBjb250ZW50XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIG1pbi13aWR0aDogMDtcbn1cblxuQGtleWZyYW1lcyBvcGVuIHtcbiAgZnJvbSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAjeyRvcGVuLWFuaW0tcm93cy1mcm9tfTtcbiAgfVxuXG4gIHRvIHtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6ICN7JG9wZW4tYW5pbS1yb3dzLXRvfTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG9wZW4tb3BhY2l0eSB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6ICN7JG9wZW4tYW5pbS1vcGFjaXR5LWZyb219O1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6ICN7JG9wZW4tYW5pbS1vcGFjaXR5LXRvfTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGNsb3NlIHtcbiAgZnJvbSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAjeyRvcGVuLWFuaW0tcm93cy10b307XG4gICAgb3BhY2l0eTogI3skb3Blbi1hbmltLW9wYWNpdHktdG99O1xuICB9XG5cbiAgdG8ge1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogI3skb3Blbi1hbmltLXJvd3MtZnJvbX07XG4gICAgb3BhY2l0eTogI3skb3Blbi1hbmltLW9wYWNpdHktZnJvbX07XG4gIH1cbn1cbiIsImltcG9ydCB7IHR5cGUgQ1NTUmVzdWx0R3JvdXAsIGh0bWwsIG5vdGhpbmcsIHR5cGUgVGVtcGxhdGVSZXN1bHQsIHVuc2FmZUNTUyB9IGZyb20gJ2xpdCc7XG5pbXBvcnQgeyBwcm9wZXJ0eSB9IGZyb20gJ2xpdC9kZWNvcmF0b3JzLmpzJztcblxuaW1wb3J0IHtcbiAgZm9yY2VUeXBlLFxuICBpc1plcm9BbmltYXRpb25EdXJhdGlvbixcbiAgU2JiRWxlbWVudCxcbiAgdHlwZSBTYmJIZWFkaW5nTGV2ZWwsXG4gIHR5cGUgU2JiT3BlbmVkQ2xvc2VkU3RhdGUsXG4gIMm1c3RhdGVDb250cm9sbGVyLFxufSBmcm9tICcuLi8uLi9jb3JlLnRzJztcbmltcG9ydCB0eXBlIHsgU2JiRXhwYW5zaW9uUGFuZWxDb250ZW50RWxlbWVudCB9IGZyb20gJy4uL2V4cGFuc2lvbi1wYW5lbC1jb250ZW50L2V4cGFuc2lvbi1wYW5lbC1jb250ZW50LmNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7IFNiYkV4cGFuc2lvblBhbmVsSGVhZGVyRWxlbWVudCB9IGZyb20gJy4uL2V4cGFuc2lvbi1wYW5lbC1oZWFkZXIvZXhwYW5zaW9uLXBhbmVsLWhlYWRlci5jb21wb25lbnQudHMnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnLi9leHBhbnNpb24tcGFuZWwuc2Nzcz9pbmxpbmUnO1xuXG5sZXQgbmV4dElkID0gMDtcblxuLyoqXG4gKiBJdCBkaXNwbGF5cyBhbiBleHBhbmRhYmxlIHN1bW1hcnktZGV0YWlscyB3aWRnZXQuXG4gKlxuICogQHNsb3QgLSBVc2UgdGhlIHVubmFtZWQgc2xvdCB0byBhZGQgYSBgc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXJgIGFuZCBhIGBzYmItZXhwYW5zaW9uLXBhbmVsLWNvbnRlbnRgIGVsZW1lbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBTYmJFeHBhbnNpb25QYW5lbEVsZW1lbnQgZXh0ZW5kcyBTYmJFbGVtZW50IHtcbiAgcHVibGljIHN0YXRpYyBvdmVycmlkZSByZWFkb25seSBlbGVtZW50TmFtZTogc3RyaW5nID0gJ3NiYi1leHBhbnNpb24tcGFuZWwnO1xuICBwdWJsaWMgc3RhdGljIG92ZXJyaWRlIHN0eWxlczogQ1NTUmVzdWx0R3JvdXAgPSBbdW5zYWZlQ1NTKHN0eWxlKV07XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgZXZlbnRzID0ge1xuICAgIGJlZm9yZW9wZW46ICdiZWZvcmVvcGVuJyxcbiAgICBvcGVuOiAnb3BlbicsXG4gICAgYmVmb3JlY2xvc2U6ICdiZWZvcmVjbG9zZScsXG4gICAgY2xvc2U6ICdjbG9zZScsXG4gIH0gYXMgY29uc3Q7XG5cbiAgLyoqIEhlYWRpbmcgbGV2ZWw7IGlmIHVuc2V0LCBhIGBkaXZgIHdpbGwgYmUgcmVuZGVyZWQuICovXG4gIEBwcm9wZXJ0eSh7IGF0dHJpYnV0ZTogJ3RpdGxlLWxldmVsJyB9KSBwdWJsaWMgYWNjZXNzb3IgdGl0bGVMZXZlbDogU2JiSGVhZGluZ0xldmVsIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqIFRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBwYW5lbC4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSB9KSBwdWJsaWMgYWNjZXNzb3IgY29sb3I6ICd3aGl0ZScgfCAnbWlsaycgPSAnd2hpdGUnO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSBwYW5lbCBpcyBleHBhbmRlZC4gKi9cbiAgQHByb3BlcnR5KHsgcmVmbGVjdDogdHJ1ZSwgdHlwZTogQm9vbGVhbiB9KVxuICBwdWJsaWMgc2V0IGV4cGFuZGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZXhwYW5kZWQgPSB2YWx1ZTtcbiAgICB0aGlzLl9vbkV4cGFuZGVkQ2hhbmdlKCk7XG4gIH1cbiAgcHVibGljIGdldCBleHBhbmRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZXhwYW5kZWQ7XG4gIH1cbiAgcHJpdmF0ZSBfZXhwYW5kZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogV2hldGhlciB0aGUgcGFuZWwgaXMgZGlzYWJsZWQsIHNvIGl0cyBleHBhbmRlZCBzdGF0ZSBjYW4ndCBiZSBjaGFuZ2VkLiAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9kaXNhYmxlZCA9IHZhbHVlO1xuICAgIHRoaXMuX3VwZGF0ZURpc2FibGVkT25IZWFkZXIodGhpcy5fZGlzYWJsZWQpO1xuICB9XG4gIHB1YmxpYyBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkO1xuICB9XG4gIHByaXZhdGUgX2Rpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFdoZXRoZXIgdGhlIHBhbmVsIGhhcyBubyBib3JkZXIuICovXG4gIEBmb3JjZVR5cGUoKVxuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlLCB0eXBlOiBCb29sZWFuIH0pXG4gIHB1YmxpYyBhY2Nlc3NvciBib3JkZXJsZXNzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFNpemUgdmFyaWFudCwgZWl0aGVyIHMgKGxlYW4gdGhlbWUgZGVmYXVsdCkgb3IgbCAoc3RhbmRhcmQgdGhlbWUgZGVmYXVsdCkuXG4gICAqL1xuICBAcHJvcGVydHkoeyByZWZsZWN0OiB0cnVlIH0pIHB1YmxpYyBhY2Nlc3NvciBzaXplOiAncycgfCAnbCcgfCBudWxsID0gbnVsbDtcblxuICAvKiogVGhlIHN0YXRlIG9mIHRoZSBjb21wb25lbnQuICovXG4gIHByaXZhdGUgc2V0IF9zdGF0ZShzdGF0ZTogU2JiT3BlbmVkQ2xvc2VkU3RhdGUpIHtcbiAgICBpZiAodGhpcy5fc3RhdGVJbnRlcm5hbCkge1xuICAgICAgdGhpcy5pbnRlcm5hbHMuc3RhdGVzLmRlbGV0ZShgc3RhdGUtJHt0aGlzLl9zdGF0ZUludGVybmFsfWApO1xuICAgIH1cbiAgICB0aGlzLl9zdGF0ZUludGVybmFsID0gc3RhdGU7XG4gICAgaWYgKHRoaXMuX3N0YXRlSW50ZXJuYWwpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxzLnN0YXRlcy5hZGQoYHN0YXRlLSR7dGhpcy5fc3RhdGVJbnRlcm5hbH1gKTtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBnZXQgX3N0YXRlKCk6IFNiYk9wZW5lZENsb3NlZFN0YXRlIHtcbiAgICByZXR1cm4gdGhpcy5fc3RhdGVJbnRlcm5hbDtcbiAgfVxuICBwcml2YXRlIF9zdGF0ZUludGVybmFsITogU2JiT3BlbmVkQ2xvc2VkU3RhdGU7XG5cbiAgcHJpdmF0ZSBfcHJvZ3Jlc3NpdmVJZCA9IGAtJHsrK25leHRJZH1gO1xuICBwcml2YXRlIF9oZWFkZXJSZWY/OiBTYmJFeHBhbnNpb25QYW5lbEhlYWRlckVsZW1lbnQ7XG4gIHByaXZhdGUgX2NvbnRlbnRSZWY/OiBTYmJFeHBhbnNpb25QYW5lbENvbnRlbnRFbGVtZW50O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgdGhpcy5fc3RhdGUgPSAnY2xvc2VkJztcbiAgICB0aGlzLmFkZEV2ZW50TGlzdGVuZXI/LigndG9nZ2xlZXhwYW5kZWQnLCAoZXY6IEV2ZW50KSA9PiB7XG4gICAgICBpZiAoZXYudGFyZ2V0ID09PSB0aGlzLl9oZWFkZXJSZWYpIHtcbiAgICAgICAgdGhpcy5fdG9nZ2xlRXhwYW5kZWQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBjb25uZWN0ZWRDYWxsYmFjaygpOiB2b2lkIHtcbiAgICBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpO1xuICAgIHRoaXMudG9nZ2xlU3RhdGUoJ2FjY29yZGlvbicsICEhdGhpcy5jbG9zZXN0Py4oJ3NiYi1hY2NvcmRpb24nKSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZGlzY29ubmVjdGVkQ2FsbGJhY2soKTogdm9pZCB7XG4gICAgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKTtcbiAgICB0aGlzLmludGVybmFscy5zdGF0ZXMuZGVsZXRlKCdhY2NvcmRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX3RvZ2dsZUV4cGFuZGVkKCk6IHZvaWQge1xuICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcbiAgfVxuXG4gIHByaXZhdGUgX29uRXhwYW5kZWRDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5faGVhZGVyUmVmPy5zZXRBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCBTdHJpbmcodGhpcy5leHBhbmRlZCkpO1xuICAgIHRoaXMuX2NvbnRlbnRSZWY/LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCBTdHJpbmcoIXRoaXMuZXhwYW5kZWQpKTtcblxuICAgIGlmICh0aGlzLmV4cGFuZGVkKSB7XG4gICAgICB0aGlzLl9vcGVuKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9zdGF0ZSA9PT0gJ29wZW5lZCcpIHtcbiAgICAgIHRoaXMuX2Nsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfb3BlbigpOiB2b2lkIHtcbiAgICB0aGlzLl9zdGF0ZSA9ICdvcGVuaW5nJztcbiAgICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItZXhwYW5zaW9uLXBhbmVsYCBzdGFydHMgdGhlIG9wZW5pbmcgdHJhbnNpdGlvbi4gKi9cbiAgICB0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdiZWZvcmVvcGVuJykpO1xuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYG9wZW5lZGAgc3RhdGUuXG4gICAgaWYgKCF0aGlzLmhhc1VwZGF0ZWQgfHwgdGhpcy5faXNaZXJvQW5pbWF0aW9uRHVyYXRpb24oKSkge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2Nsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuX3N0YXRlID0gJ2Nsb3NpbmcnO1xuICAgIC8qKiBFbWl0cyB3aGVuZXZlciB0aGUgYHNiYi1leHBhbnNpb24tcGFuZWxgIGJlZ2lucyB0aGUgY2xvc2luZyB0cmFuc2l0aW9uLiAqL1xuICAgIHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ2JlZm9yZWNsb3NlJykpO1xuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBkdXJhdGlvbiBpcyB6ZXJvLCB0aGUgYW5pbWF0aW9uZW5kIGV2ZW50IGlzIG5vdCBhbHdheXMgZmlyZWQgcmVsaWFibHkuXG4gICAgLy8gSW4gdGhpcyBjYXNlIHdlIGRpcmVjdGx5IHNldCB0aGUgYGNsb3NlZGAgc3RhdGUuXG4gICAgaWYgKHRoaXMuX2lzWmVyb0FuaW1hdGlvbkR1cmF0aW9uKCkpIHtcbiAgICAgIHRoaXMuX2hhbmRsZUNsb3NpbmcoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9pc1plcm9BbmltYXRpb25EdXJhdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNaZXJvQW5pbWF0aW9uRHVyYXRpb24odGhpcywgJy0tc2JiLWV4cGFuc2lvbi1wYW5lbC1hbmltYXRpb24tZHVyYXRpb24nKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZU9wZW5pbmcoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgPSAnb3BlbmVkJztcbiAgICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItZXhwYW5zaW9uLXBhbmVsYCBpcyBvcGVuZWQuICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnb3BlbicpKTtcbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZUNsb3NpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5fc3RhdGUgPSAnY2xvc2VkJztcbiAgICAvKiogRW1pdHMgd2hlbmV2ZXIgdGhlIGBzYmItZXhwYW5zaW9uLXBhbmVsYCBpcyBjbG9zZWQuICovXG4gICAgdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2xvc2UnKSk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVEaXNhYmxlZE9uSGVhZGVyKG5ld0Rpc2FibGVkVmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5faGVhZGVyUmVmKSB7XG4gICAgICB0aGlzLl9oZWFkZXJSZWYuZGlzYWJsZWQgPSBuZXdEaXNhYmxlZFZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2hhbmRsZVNsb3RjaGFuZ2UoKTogdm9pZCB7XG4gICAgY29uc3QgY2hpbGRyZW4gPSBBcnJheS5mcm9tKHRoaXMuY2hpbGRyZW4gPz8gW10pO1xuICAgIGNvbnN0IGhlYWRlciA9IGNoaWxkcmVuLmZpbmQoXG4gICAgICAoZSk6IGUgaXMgU2JiRXhwYW5zaW9uUGFuZWxIZWFkZXJFbGVtZW50ID0+IGUubG9jYWxOYW1lID09PSAnc2JiLWV4cGFuc2lvbi1wYW5lbC1oZWFkZXInLFxuICAgICk7XG4gICAgY29uc3QgY29udGVudCA9IGNoaWxkcmVuLmZpbmQoXG4gICAgICAoZSk6IGUgaXMgU2JiRXhwYW5zaW9uUGFuZWxDb250ZW50RWxlbWVudCA9PiBlLmxvY2FsTmFtZSA9PT0gJ3NiYi1leHBhbnNpb24tcGFuZWwtY29udGVudCcsXG4gICAgKTtcbiAgICBpZiAodGhpcy5faGVhZGVyUmVmID09PSBoZWFkZXIgJiYgdGhpcy5fY29udGVudFJlZiA9PT0gY29udGVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoaGVhZGVyICYmIHRoaXMuX2hlYWRlclJlZiAhPT0gaGVhZGVyKSB7XG4gICAgICBoZWFkZXIuaWQgfHw9IGBzYmItZXhwYW5zaW9uLXBhbmVsLWhlYWRlciR7dGhpcy5fcHJvZ3Jlc3NpdmVJZH1gO1xuICAgICAgaGVhZGVyLnNldEF0dHJpYnV0ZSgnYXJpYS1leHBhbmRlZCcsIFN0cmluZyh0aGlzLmV4cGFuZGVkKSk7XG4gICAgICBoZWFkZXIudG9nZ2xlQXR0cmlidXRlKCdkaXNhYmxlZCcsIHRoaXMuZGlzYWJsZWQpO1xuICAgIH1cbiAgICBpZiAoY29udGVudCAmJiB0aGlzLl9jb250ZW50UmVmICE9PSBjb250ZW50KSB7XG4gICAgICBjb250ZW50LmlkIHx8PSBgc2JiLWV4cGFuc2lvbi1wYW5lbC1jb250ZW50JHt0aGlzLl9wcm9ncmVzc2l2ZUlkfWA7XG4gICAgICBjb250ZW50LnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCBTdHJpbmcoIXRoaXMuZXhwYW5kZWQpKTtcbiAgICB9XG5cbiAgICB0aGlzLl9oZWFkZXJSZWYgPSBoZWFkZXI7XG4gICAgdGhpcy5fY29udGVudFJlZiA9IGNvbnRlbnQ7XG4gICAgaWYgKHRoaXMuX2hlYWRlclJlZiAmJiB0aGlzLl9jb250ZW50UmVmKSB7XG4gICAgICB0aGlzLl9oZWFkZXJSZWYuc2V0QXR0cmlidXRlKCdhcmlhLWNvbnRyb2xzJywgdGhpcy5fY29udGVudFJlZi5pZCk7XG4gICAgICB0aGlzLl9jb250ZW50UmVmLnNldEF0dHJpYnV0ZSgnYXJpYS1sYWJlbGxlZGJ5JywgdGhpcy5faGVhZGVyUmVmLmlkKTtcbiAgICAgIMm1c3RhdGVDb250cm9sbGVyKHRoaXMuX2NvbnRlbnRSZWYpLnRvZ2dsZShcbiAgICAgICAgJ2ljb24tc3BhY2UnLFxuICAgICAgICDJtXN0YXRlQ29udHJvbGxlcih0aGlzLl9oZWFkZXJSZWYpLmhhcygnaWNvbicpLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9vbkFuaW1hdGlvbkVuZChldmVudDogQW5pbWF0aW9uRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ29wZW4tb3BhY2l0eScgJiYgdGhpcy5fc3RhdGUgPT09ICdvcGVuaW5nJykge1xuICAgICAgdGhpcy5faGFuZGxlT3BlbmluZygpO1xuICAgIH0gZWxzZSBpZiAoZXZlbnQuYW5pbWF0aW9uTmFtZSA9PT0gJ2Nsb3NlJyAmJiB0aGlzLl9zdGF0ZSA9PT0gJ2Nsb3NpbmcnKSB7XG4gICAgICB0aGlzLl9oYW5kbGVDbG9zaW5nKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIHJlbmRlcigpOiBUZW1wbGF0ZVJlc3VsdCB7XG4gICAgcmV0dXJuIGh0bWxgXG4gICAgICA8ZGl2XG4gICAgICAgIHJvbGU9JHt0aGlzLnRpdGxlTGV2ZWwgPyAnaGVhZGluZycgOiBub3RoaW5nfVxuICAgICAgICBhcmlhLWxldmVsPSR7dGhpcy50aXRsZUxldmVsIHx8IG5vdGhpbmd9XG4gICAgICAgIGNsYXNzPVwic2JiLWV4cGFuc2lvbi1wYW5lbF9faGVhZGVyXCJcbiAgICAgID5cbiAgICAgICAgPHNsb3QgbmFtZT1cImhlYWRlclwiIEBzbG90Y2hhbmdlPSR7dGhpcy5faGFuZGxlU2xvdGNoYW5nZX0+PC9zbG90PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJzYmItZXhwYW5zaW9uLXBhbmVsX19jb250ZW50LXdyYXBwZXJcIiBAYW5pbWF0aW9uZW5kPSR7dGhpcy5fb25BbmltYXRpb25FbmR9PlxuICAgICAgICA8c3BhbiBjbGFzcz1cInNiYi1leHBhbnNpb24tcGFuZWxfX2NvbnRlbnRcIj5cbiAgICAgICAgICA8c2xvdCBuYW1lPVwiY29udGVudFwiIEBzbG90Y2hhbmdlPSR7dGhpcy5faGFuZGxlU2xvdGNoYW5nZX0+PC9zbG90PlxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICBgO1xuICB9XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuICAgICdzYmItZXhwYW5zaW9uLXBhbmVsJzogU2JiRXhwYW5zaW9uUGFuZWxFbGVtZW50O1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FDZ0JBLElBQUksU0FBUzs7Ozs7O0lBT0Esa0NBQXdCO21CQUFTOzs7Ozs7Ozs7Ozs7Ozs7O2NBQWpDLGlDQUFpQyxZQUFVOzs7NkJBV3JELFNBQVMsRUFBRSxXQUFXLGNBQWEsQ0FBRSxDQUFDO3dCQUd0QyxTQUFTLEVBQUUsU0FBUyxLQUFJLENBQUUsQ0FBQzsrQkFHM0IsU0FBUztJQUFFLFNBQVM7SUFBTSxNQUFNO0dBQU8sQ0FBRSxDQUFDOytCQVcxQyxTQUFTO0lBQUUsU0FBUztJQUFNLE1BQU07R0FBTyxDQUFFLENBQUM7NkJBVzFDLFVBQVMsR0FDVCxTQUFTO0lBQUUsU0FBUztJQUFNLE1BQU07R0FBTyxDQUFFLENBQUM7dUJBTTFDLFNBQVMsRUFBRSxTQUFTLEtBQUksQ0FBRSxDQUFDO0dBbkNZLGFBQUEsTUFBQSxNQUFBLHdCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsZ0JBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBVSxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQVYsYUFBVTtLQUFBO0lBQUE7SUFBQSxVQUFBO0dBQUEsR0FBQSwwQkFBQSw2QkFBQTtHQUdyQyxhQUFBLE1BQUEsTUFBQSxtQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLFdBQUE7S0FBQSxNQUFBLFFBQUEsSUFBZ0I7S0FBSyxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQUwsUUFBSztLQUFBO0lBQUE7SUFBQSxVQUFBO0dBQUEsR0FBQSxxQkFBQSx3QkFBQTtHQUlsRCxhQUFBLE1BQUEsTUFBQSwwQkFBQTtJQUFBLE1BQUE7SUFBQSxNQUFBO0lBQUEsUUFBQTtJQUFBLFNBQUE7SUFBQSxRQUFBO0tBQUEsTUFBQSxRQUFBLGNBQUE7S0FBQSxNQUFBLEtBQUEsVUFBQTtNQUFBLElBQVcsV0FBUTtLQUFBO0lBQUE7SUFBQSxVQUFBO0dBQUEsR0FBQSxNQUFBLDBCQUFBO0dBV25CLGFBQUEsTUFBQSxNQUFBLDBCQUFBO0lBQUEsTUFBQTtJQUFBLE1BQUE7SUFBQSxRQUFBO0lBQUEsU0FBQTtJQUFBLFFBQUE7S0FBQSxNQUFBLFFBQUEsY0FBQTtLQUFBLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBVyxXQUFRO0tBQUE7SUFBQTtJQUFBLFVBQUE7R0FBQSxHQUFBLE1BQUEsMEJBQUE7R0FZbkIsYUFBQSxNQUFBLE1BQUEsd0JBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxnQkFBQTtLQUFBLE1BQUEsUUFBQSxJQUFnQjtLQUFVLE1BQUEsS0FBQSxVQUFBO01BQUEsSUFBVixhQUFVO0tBQUE7SUFBQTtJQUFBLFVBQUE7R0FBQSxHQUFBLDBCQUFBLDZCQUFBO0dBS0csYUFBQSxNQUFBLE1BQUEsa0JBQUE7SUFBQSxNQUFBO0lBQUEsTUFBQTtJQUFBLFFBQUE7SUFBQSxTQUFBO0lBQUEsUUFBQTtLQUFBLE1BQUEsUUFBQSxVQUFBO0tBQUEsTUFBQSxRQUFBLElBQWdCO0tBQUksTUFBQSxLQUFBLFVBQUE7TUFBQSxJQUFKLE9BQUk7S0FBQTtJQUFBO0lBQUEsVUFBQTtHQUFBLEdBQUEsb0JBQUEsdUJBQUE7Ozs7Ozs7OztHQTdDakIsS0FBQSxjQUFzQjtFQUFzQjs7R0FDckQsS0FBQSxTQUF5QixDQUFDLFVBQVUsdUJBQUssQ0FBQztFQUFFOztHQUM1QyxLQUFBLFNBQVM7SUFDOUIsWUFBWTtJQUNaLE1BQU07SUFDTixhQUFhO0lBQ2IsT0FBTzs7RUFDRTtFQUc2Qjs7RUFBQSxJQUFnQixhQUFVO0dBQUEsT0FBQSxLQUFBO0VBQUE7RUFBMUIsSUFBZ0IsV0FBVSxPQUFBO0dBQUEsS0FBQSwrQkFBQTtFQUFBO0VBR3JDOztFQUFBLElBQWdCLFFBQUs7R0FBQSxPQUFBLEtBQUE7RUFBQTtFQUFyQixJQUFnQixNQUFLLE9BQUE7R0FBQSxLQUFBLDBCQUFBO0VBQUE7O0VBSWxELElBQVcsU0FBUyxPQUFjO0dBQ2hDLEtBQUssWUFBWTtHQUNqQixLQUFLLGtCQUFpQjtFQUN4QjtFQUNBLElBQVcsV0FBUTtHQUNqQixPQUFPLEtBQUs7RUFDZDs7RUFLQSxJQUFXLFNBQVMsT0FBYztHQUNoQyxLQUFLLFlBQVk7R0FDakIsS0FBSyx3QkFBd0IsS0FBSyxTQUFTO0VBQzdDO0VBQ0EsSUFBVyxXQUFRO0dBQ2pCLE9BQU8sS0FBSztFQUNkO0VBTUE7O0VBQUEsSUFBZ0IsYUFBVTtHQUFBLE9BQUEsS0FBQTtFQUFBO0VBQTFCLElBQWdCLFdBQVUsT0FBQTtHQUFBLEtBQUEsK0JBQUE7RUFBQTtFQUtHOzs7O0VBQUEsSUFBZ0IsT0FBSTtHQUFBLE9BQUEsS0FBQTtFQUFBO0VBQXBCLElBQWdCLEtBQUksT0FBQTtHQUFBLEtBQUEseUJBQUE7RUFBQTs7RUFHakQsSUFBWSxPQUFPLE9BQTJCO0dBQzVDLElBQUksS0FBSyxnQkFDUCxLQUFLLFVBQVUsT0FBTyxPQUFPLFNBQVMsS0FBSyxnQkFBZ0I7R0FFN0QsS0FBSyxpQkFBaUI7R0FDdEIsSUFBSSxLQUFLLGdCQUNQLEtBQUssVUFBVSxPQUFPLElBQUksU0FBUyxLQUFLLGdCQUFnQjtFQUU1RDtFQUNBLElBQVksU0FBTTtHQUNoQixPQUFPLEtBQUs7RUFDZDtFQU9BLGNBQUE7R0FDRSxNQUFLO0dBekRpRCxLQUFBLGdDQVg3QyxrQkFBQSxNQUFBLDBCQUFBLEdBQXdCLGtCQUFBLE1BQUEsMEJBVzBELElBQUk7R0FHcEQsS0FBQSwyQkFBQSxrQkFBQSxNQUFBLDZCQUFBLEdBQUEsa0JBQUEsTUFBQSxxQkFBMEIsT0FBTztHQVd0RSxLQUFBLGFBQVMsa0JBQUEsTUFBQSx3QkFBQSxHQUFZO0dBV3JCLEtBQUEsWUFBcUI7R0FLYixLQUFBLCtCQUFBLGtCQUFBLE1BQUEsMEJBQXNCLEtBQUs7R0FLRSxLQUFBLDBCQUFBLGtCQUFBLE1BQUEsNkJBQUEsR0FBQSxrQkFBQSxNQUFBLG9CQUF5QixJQUFJO0dBZWxFLEtBQUEsaUJBQWMsa0JBQUEsTUFBQSx1QkFBQTtHQUVkLEtBQUEsaUJBQWlCLElBQUksRUFBRTtHQU83QixLQUFLLFNBQVM7R0FDZCxLQUFLLG1CQUFtQixtQkFBbUIsT0FBYTtJQUN0RCxJQUFJLEdBQUcsV0FBVyxLQUFLLFlBQ3JCLEtBQUssZ0JBQWU7R0FFeEIsQ0FBQztFQUNIO0VBRWdCLG9CQUFpQjtHQUMvQixNQUFNLGtCQUFpQjtHQUN2QixLQUFLLFlBQVksYUFBYSxDQUFDLENBQUMsS0FBSyxVQUFVLGVBQWUsQ0FBQztFQUNqRTtFQUVnQix1QkFBb0I7R0FDbEMsTUFBTSxxQkFBb0I7R0FDMUIsS0FBSyxVQUFVLE9BQU8sT0FBTyxXQUFXO0VBQzFDO0VBRVEsa0JBQWU7R0FDckIsS0FBSyxXQUFXLENBQUMsS0FBSztFQUN4QjtFQUVRLG9CQUFpQjtHQUN2QixLQUFLLFlBQVksYUFBYSxpQkFBaUIsT0FBTyxLQUFLLFFBQVEsQ0FBQztHQUNwRSxLQUFLLGFBQWEsYUFBYSxlQUFlLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQztHQUVwRSxJQUFJLEtBQUssVUFDUCxLQUFLLE1BQUs7UUFDTCxJQUFJLEtBQUssV0FBVyxVQUN6QixLQUFLLE9BQU07RUFFZjtFQUVRLFFBQUs7R0FDWCxLQUFLLFNBQVM7O0dBRWQsS0FBSyxjQUFjLElBQUksTUFBTSxZQUFZLENBQUM7R0FJMUMsSUFBSSxDQUFDLEtBQUssY0FBYyxLQUFLLHlCQUF3QixHQUNuRCxLQUFLLGVBQWM7RUFFdkI7RUFFUSxTQUFNO0dBQ1osS0FBSyxTQUFTOztHQUVkLEtBQUssY0FBYyxJQUFJLE1BQU0sYUFBYSxDQUFDO0dBSTNDLElBQUksS0FBSyx5QkFBd0IsR0FDL0IsS0FBSyxlQUFjO0VBRXZCO0VBRVEsMkJBQXdCO0dBQzlCLE9BQU8sd0JBQXdCLE1BQU0sMENBQTBDO0VBQ2pGO0VBRVEsaUJBQWM7R0FDcEIsS0FBSyxTQUFTOztHQUVkLEtBQUssY0FBYyxJQUFJLE1BQU0sTUFBTSxDQUFDO0VBQ3RDO0VBRVEsaUJBQWM7R0FDcEIsS0FBSyxTQUFTOztHQUVkLEtBQUssY0FBYyxJQUFJLE1BQU0sT0FBTyxDQUFDO0VBQ3ZDO0VBRVEsd0JBQXdCLGtCQUF5QjtHQUN2RCxJQUFJLEtBQUssWUFDUCxLQUFLLFdBQVcsV0FBVztFQUUvQjtFQUVRLG9CQUFpQjtHQUN2QixNQUFNLFdBQVcsTUFBTSxLQUFLLEtBQUssWUFBWSxDQUFBLENBQUU7R0FDL0MsTUFBTSxTQUFTLFNBQVMsTUFDckIsTUFBMkMsRUFBRSxjQUFjLDRCQUE0QjtHQUUxRixNQUFNLFVBQVUsU0FBUyxNQUN0QixNQUE0QyxFQUFFLGNBQWMsNkJBQTZCO0dBRTVGLElBQUksS0FBSyxlQUFlLFVBQVUsS0FBSyxnQkFBZ0IsU0FDckQ7R0FFRixJQUFJLFVBQVUsS0FBSyxlQUFlLFFBQVE7SUFDeEMsT0FBTyxPQUFPLDZCQUE2QixLQUFLO0lBQ2hELE9BQU8sYUFBYSxpQkFBaUIsT0FBTyxLQUFLLFFBQVEsQ0FBQztJQUMxRCxPQUFPLGdCQUFnQixZQUFZLEtBQUssUUFBUTtHQUNsRDtHQUNBLElBQUksV0FBVyxLQUFLLGdCQUFnQixTQUFTO0lBQzNDLFFBQVEsT0FBTyw4QkFBOEIsS0FBSztJQUNsRCxRQUFRLGFBQWEsZUFBZSxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUM7R0FDNUQ7R0FFQSxLQUFLLGFBQWE7R0FDbEIsS0FBSyxjQUFjO0dBQ25CLElBQUksS0FBSyxjQUFjLEtBQUssYUFBYTtJQUN2QyxLQUFLLFdBQVcsYUFBYSxpQkFBaUIsS0FBSyxZQUFZLEVBQUU7SUFDakUsS0FBSyxZQUFZLGFBQWEsbUJBQW1CLEtBQUssV0FBVyxFQUFFO0lBQ25FLGlCQUFpQixLQUFLLFdBQVcsRUFBRSxPQUNqQyxjQUNBLGlCQUFpQixLQUFLLFVBQVUsRUFBRSxJQUFJLE1BQU0sQ0FBQztHQUVqRDtFQUNGO0VBRVEsZ0JBQWdCLE9BQXFCO0dBQzNDLElBQUksTUFBTSxrQkFBa0Isa0JBQWtCLEtBQUssV0FBVyxXQUM1RCxLQUFLLGVBQWM7UUFDZCxJQUFJLE1BQU0sa0JBQWtCLFdBQVcsS0FBSyxXQUFXLFdBQzVELEtBQUssZUFBYztFQUV2QjtFQUVtQixTQUFNO0dBQ3ZCLE9BQU8sSUFBSTs7ZUFFQSxLQUFLLGFBQWEsWUFBWSxRQUFBO3FCQUN4QixLQUFLLGNBQWMsUUFBQTs7OzBDQUdFLEtBQUssa0JBQWlCOzs7d0VBR1EsS0FBSyxnQkFBZTs7NkNBRS9DLEtBQUssa0JBQWlCOzs7O0VBSWpFIn0=
@@ -1,6 +1,6 @@
1
- import { t as SbbExpansionPanelContentElement } from "./expansion-panel-content.component-Bs0pYNJO.js";
2
- import { t as SbbExpansionPanelHeaderElement } from "./expansion-panel-header.component-gg5A_7Pz.js";
3
- import { t as SbbExpansionPanelElement } from "./expansion-panel.component-DcFrWkIt.js";
1
+ import { t as SbbExpansionPanelContentElement } from "./expansion-panel-content.component-CKhGtjji.js";
2
+ import { t as SbbExpansionPanelHeaderElement } from "./expansion-panel-header.component-Do3pLbzs.js";
3
+ import { t as SbbExpansionPanelElement } from "./expansion-panel.component-BnbRiLrk.js";
4
4
  import "./expansion-panel.pure.js";
5
5
  //#region src/elements/expansion-panel.ts
6
6
  /** @entrypoint */
@@ -1,4 +1,4 @@
1
- import { t as SbbExpansionPanelContentElement } from "./expansion-panel-content.component-Bs0pYNJO.js";
2
- import { t as SbbExpansionPanelHeaderElement } from "./expansion-panel-header.component-gg5A_7Pz.js";
3
- import { t as SbbExpansionPanelElement } from "./expansion-panel.component-DcFrWkIt.js";
1
+ import { t as SbbExpansionPanelContentElement } from "./expansion-panel-content.component-CKhGtjji.js";
2
+ import { t as SbbExpansionPanelHeaderElement } from "./expansion-panel-header.component-Do3pLbzs.js";
3
+ import { t as SbbExpansionPanelElement } from "./expansion-panel.component-BnbRiLrk.js";
4
4
  export { SbbExpansionPanelContentElement, SbbExpansionPanelElement, SbbExpansionPanelHeaderElement };
@@ -1,2 +1,2 @@
1
- import { n as SbbFileSelectorCommonElementMixin, t as SbbFileChangeEvent } from "../../file-selector-common-Dd0S0qE3.js";
1
+ import { n as SbbFileSelectorCommonElementMixin, t as SbbFileChangeEvent } from "../../file-selector-common-CCvgN1G2.js";
2
2
  export { SbbFileChangeEvent, SbbFileSelectorCommonElementMixin };
@@ -1,2 +1,2 @@
1
- import { t as SbbFileSelectorDropzoneElement } from "../../file-selector-dropzone.component-DWLdqMmI.js";
1
+ import { t as SbbFileSelectorDropzoneElement } from "../../file-selector-dropzone.component-BeqSG2IM.js";
2
2
  export { SbbFileSelectorDropzoneElement };